@sumaris-net/ngx-components 18.0.7 → 18.0.9

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.
package/doc/changelog.md CHANGED
@@ -936,4 +936,15 @@ enh: Environment: add useHash property to configure Angular router to use hash U
936
936
  - fix(logout) Logout should be done AFTER home redirection, because of cache clearing - see issue #5
937
937
 
938
938
  # 18.0.7
939
- fix(hotkeys) Fix default platform control key ('meta' on iOS)
939
+ - fix(hotkeys) Fix default platform control key ('meta' on iOS)
940
+
941
+ # 18.0.8
942
+ - fix(hotkeys) Avoid to open many help modal
943
+ - fix(hotkeys) Skip open help modal, if nothing to display
944
+ - fix(form-buttons-bar) Fix shortcuts for iOS
945
+ - fix(modal-toolbar) Fix shortcut for iOS
946
+
947
+ # 18.0.9
948
+ - fix(mat-latlong-field) Mark control as dirty, when text control changed
949
+ - fix(about) Fix missing markdown module, to display config description
950
+ - enh(about) Allow to override the "report an issue" link, using a config option `sumaris.reportIssue.url`
@@ -11,6 +11,7 @@ import * as i4 from "@angular/common";
11
11
  import * as i5 from "ngx-markdown";
12
12
  import * as i6 from "@angular/material/icon";
13
13
  import * as i7 from "../../shared/pipes/arrays.pipe";
14
+ import * as i8 from "../../shared/pipes/string.pipes";
14
15
  export const APP_ABOUT_DEVELOPERS = new InjectionToken('aboutDevelopers');
15
16
  export const APP_ABOUT_PARTNERS = new InjectionToken('aboutPartners');
16
17
  export class AboutModal {
@@ -23,8 +24,8 @@ export class AboutModal {
23
24
  name;
24
25
  version;
25
26
  sourceUrl;
26
- reportIssueUrl;
27
27
  config$;
28
+ reportIssueUrl;
28
29
  forumUrl;
29
30
  helpUrl;
30
31
  _subscription = new Subscription();
@@ -58,13 +59,14 @@ export class AboutModal {
58
59
  setConfig(config) {
59
60
  this.forumUrl = config?.getProperty(CORE_CONFIG_OPTIONS.FORUM_URL) || this.environment.forumUrl;
60
61
  this.helpUrl = config?.getProperty(CORE_CONFIG_OPTIONS.HELP_URL) || this.environment.helpUrl;
62
+ this.reportIssueUrl = config?.getProperty(CORE_CONFIG_OPTIONS.REPORT_ISSUE_URL) || this.environment.reportIssueUrl;
61
63
  }
62
64
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AboutModal, deps: [{ token: i1.TranslateService }, { token: i2.ModalController }, { token: i3.ConfigService }, { token: ENVIRONMENT, optional: true }, { token: APP_ABOUT_DEVELOPERS, optional: true }, { token: APP_ABOUT_PARTNERS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: AboutModal, selector: "app-about-modal", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"light\">\n <ion-title>\n {{ 'ABOUT.TITLE' | translate }}\n </ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"close()\" visible-xs visible-sm visible-mobile>\n {{ 'COMMON.BTN_CLOSE' | translate }}\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <ion-list lines=\"none\">\n <!-- Peer info -->\n <ion-item *ngIf=\"config$ | async; let config\">\n <span slot=\"start\">&nbsp;</span>\n <ion-label class=\"ion-text-wrap\">\n <h2>\n <b>{{ config.label }}</b>\n -\n <span [innerHTML]=\"config.name\"></span>\n </h2>\n <p *ngIf=\"config.description\">\n <markdown [data]=\"config.description\" emoji></markdown>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Version info -->\n <ion-item>\n <span slot=\"start\">&nbsp;</span>\n <ion-label class=\"ion-text-wrap\">\n <h2>\n <small *ngIf=\"name\">{{ 'ABOUT.POWERED_BY' | translate }}</small>\n {{ name }}\n <span *ngIf=\"version\" [innerHTML]=\"'ABOUT.VERSION' | translate: { version: version }\"></span>\n </h2>\n <p [innerHTML]=\"'ABOUT.LICENSE' | translate\"></p>\n </ion-label>\n </ion-item>\n\n <!-- Help -->\n <ion-item *ngIf=\"forumUrl || helpUrl\">\n <mat-icon slot=\"start\">help_outline</mat-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.HELP' | translate }}\n </p>\n <p>\n <ion-button fill=\"solid\" color=\"accent\" href=\"{{ helpUrl }}\" target=\"help\" size=\"default\">\n <mat-icon slot=\"start\">description</mat-icon>\n <ion-text translate>ABOUT.USER_MANUAL</ion-text>\n </ion-button>\n <ion-button fill=\"solid\" color=\"secondary\" href=\"{{ forumUrl }}\" target=\"forum\" size=\"default\">\n <ion-icon slot=\"start\" name=\"chatbubbles\"></ion-icon>\n <ion-text translate>ABOUT.FORUM</ion-text>\n </ion-button>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Report issue -->\n <ion-item *ngIf=\"reportIssueUrl\">\n <ion-icon slot=\"start\" name=\"bug\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.REPORT_ISSUE' | translate }}\n </p>\n <p>\n <a color=\"primary\" href=\"{{ reportIssueUrl }}\" target=\"_system\" translate>ABOUT.BTN_REPORT_ISSUE</a>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Source code -->\n <ion-item *ngIf=\"sourceUrl\">\n <ion-icon slot=\"start\" name=\"code\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.SOURCE_CODE' | translate }}\n </p>\n <p>\n <a color=\"primary\" href=\"{{ sourceUrl }}\" target=\"_system\">{{ sourceUrl }}</a>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Developers -->\n <ion-item *ngIf=\"developers | isNotEmptyArray\">\n <ion-icon slot=\"start\" name=\"people\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.DEVELOPED_BY' | translate }}\n </p>\n <ion-list lines=\"none\">\n <ion-item *ngFor=\"let item of developers\" class=\"ion-no-padding\">\n <ion-label>\n <p>\n <a color=\"primary\" href=\"{{ item.siteUrl }}\" target=\"_system\">{{ item.name || item.label }}</a>\n </p>\n </ion-label>\n <ion-img slot=\"end\" [src]=\"item.logo\" />\n </ion-item>\n </ion-list>\n </ion-label>\n </ion-item>\n\n <!-- Partners -->\n <ion-item class=\"item-partners\" *ngIf=\"partners | isNotEmptyArray\">\n <ion-icon slot=\"start\" name=\"megaphone\" color=\"dark\"></ion-icon>\n <ion-text>\n <p>{{ 'ABOUT.PARTNERS' | translate }}</p>\n <p>\n <a *ngFor=\"let item of partners\" href=\"{{ item.siteUrl }}\" class=\"partners\" target=\"_system\">\n <img *ngIf=\"item.logo; else partnerName\" [src]=\"item.logo\" [alt]=\"item.label\" />\n <ng-template #partnerName>\n <ion-text>{{ item.label }}</ion-text>\n </ng-template>\n </a>\n </p>\n </ion-text>\n </ion-item>\n </ion-list>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", styles: [".item-partners ion-text{height:auto}.item-partners ion-text p:last-child{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:space-between}.item-partners ion-text p:last-child a{padding:2px}.item-partners ion-text p:last-child a img{text-align:center;display:inline-block;max-height:40px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.NotEmptyArrayPipe, name: "isNotEmptyArray" }] });
65
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: AboutModal, selector: "app-about-modal", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"light\">\n <ion-title>\n {{ 'ABOUT.TITLE' | translate }}\n </ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"close()\" visible-xs visible-sm visible-mobile>\n {{ 'COMMON.BTN_CLOSE' | translate }}\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <ion-list lines=\"none\">\n <!-- Peer info -->\n @if (config$ | async; as config) {\n <ion-item>\n <span slot=\"start\">&nbsp;</span>\n <ion-label class=\"ion-text-wrap\">\n <h2>\n <b>{{ config.label | capitalize }}</b>\n @if (config.name) {\n -\n <span [innerHTML]=\"config.name\"></span>\n }\n </h2>\n\n @if (config.description) {\n <p>\n <markdown [data]=\"config.description\" emoji></markdown>\n </p>\n }\n </ion-label>\n </ion-item>\n }\n\n <!-- Version info -->\n <ion-item>\n <span slot=\"start\">&nbsp;</span>\n <ion-label class=\"ion-text-wrap\">\n <h2>\n <small *ngIf=\"name\">{{ 'ABOUT.POWERED_BY' | translate }}</small>\n {{ name }}\n <span *ngIf=\"version\" [innerHTML]=\"'ABOUT.VERSION' | translate: { version: version }\"></span>\n </h2>\n <p [innerHTML]=\"'ABOUT.LICENSE' | translate\"></p>\n </ion-label>\n </ion-item>\n\n <!-- Help -->\n <ion-item *ngIf=\"forumUrl || helpUrl\">\n <mat-icon slot=\"start\">help_outline</mat-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.HELP' | translate }}\n </p>\n <p>\n <ion-button fill=\"solid\" color=\"accent\" href=\"{{ helpUrl }}\" target=\"help\" size=\"default\">\n <mat-icon slot=\"start\">description</mat-icon>\n <ion-text translate>ABOUT.USER_MANUAL</ion-text>\n </ion-button>\n <ion-button fill=\"solid\" color=\"secondary\" href=\"{{ forumUrl }}\" target=\"forum\" size=\"default\">\n <ion-icon slot=\"start\" name=\"chatbubbles\"></ion-icon>\n <ion-text translate>ABOUT.FORUM</ion-text>\n </ion-button>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Report issue -->\n <ion-item *ngIf=\"reportIssueUrl\">\n <ion-icon slot=\"start\" name=\"bug\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.REPORT_ISSUE' | translate }}\n </p>\n <p>\n <a color=\"primary\" href=\"{{ reportIssueUrl }}\" target=\"_system\" translate>ABOUT.BTN_REPORT_ISSUE</a>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Source code -->\n <ion-item *ngIf=\"sourceUrl\">\n <ion-icon slot=\"start\" name=\"code\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.SOURCE_CODE' | translate }}\n </p>\n <p>\n <a color=\"primary\" href=\"{{ sourceUrl }}\" target=\"_system\">{{ sourceUrl }}</a>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Developers -->\n <ion-item *ngIf=\"developers | isNotEmptyArray\">\n <ion-icon slot=\"start\" name=\"people\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.DEVELOPED_BY' | translate }}\n </p>\n <ion-list lines=\"none\">\n <ion-item *ngFor=\"let item of developers\" class=\"ion-no-padding\">\n <ion-label>\n <p>\n <a color=\"primary\" href=\"{{ item.siteUrl }}\" target=\"_system\">{{ item.name || item.label }}</a>\n </p>\n </ion-label>\n <ion-img slot=\"end\" [src]=\"item.logo\" />\n </ion-item>\n </ion-list>\n </ion-label>\n </ion-item>\n\n <!-- Partners -->\n <ion-item class=\"item-partners\" *ngIf=\"partners | isNotEmptyArray\">\n <ion-icon slot=\"start\" name=\"megaphone\" color=\"dark\"></ion-icon>\n <ion-text>\n <p>{{ 'ABOUT.PARTNERS' | translate }}</p>\n <p>\n <a *ngFor=\"let item of partners\" href=\"{{ item.siteUrl }}\" class=\"partners\" target=\"_system\">\n <img *ngIf=\"item.logo; else partnerName\" [src]=\"item.logo\" [alt]=\"item.label\" />\n <ng-template #partnerName>\n <ion-text>{{ item.label }}</ion-text>\n </ng-template>\n </a>\n </p>\n </ion-text>\n </ion-item>\n </ion-list>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", styles: [".item-partners ion-text{height:auto}.item-partners ion-text p:last-child{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:space-between}.item-partners ion-text p:last-child a{padding:2px}.item-partners ion-text p:last-child a img{text-align:center;display:inline-block;max-height:40px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonImg, selector: "ion-img", inputs: ["alt", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i2.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i2.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.NotEmptyArrayPipe, name: "isNotEmptyArray" }, { kind: "pipe", type: i8.CapitalizePipe, name: "capitalize" }] });
64
66
  }
65
67
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AboutModal, decorators: [{
66
68
  type: Component,
67
- args: [{ selector: 'app-about-modal', template: "<ion-header>\n <ion-toolbar color=\"light\">\n <ion-title>\n {{ 'ABOUT.TITLE' | translate }}\n </ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"close()\" visible-xs visible-sm visible-mobile>\n {{ 'COMMON.BTN_CLOSE' | translate }}\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <ion-list lines=\"none\">\n <!-- Peer info -->\n <ion-item *ngIf=\"config$ | async; let config\">\n <span slot=\"start\">&nbsp;</span>\n <ion-label class=\"ion-text-wrap\">\n <h2>\n <b>{{ config.label }}</b>\n -\n <span [innerHTML]=\"config.name\"></span>\n </h2>\n <p *ngIf=\"config.description\">\n <markdown [data]=\"config.description\" emoji></markdown>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Version info -->\n <ion-item>\n <span slot=\"start\">&nbsp;</span>\n <ion-label class=\"ion-text-wrap\">\n <h2>\n <small *ngIf=\"name\">{{ 'ABOUT.POWERED_BY' | translate }}</small>\n {{ name }}\n <span *ngIf=\"version\" [innerHTML]=\"'ABOUT.VERSION' | translate: { version: version }\"></span>\n </h2>\n <p [innerHTML]=\"'ABOUT.LICENSE' | translate\"></p>\n </ion-label>\n </ion-item>\n\n <!-- Help -->\n <ion-item *ngIf=\"forumUrl || helpUrl\">\n <mat-icon slot=\"start\">help_outline</mat-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.HELP' | translate }}\n </p>\n <p>\n <ion-button fill=\"solid\" color=\"accent\" href=\"{{ helpUrl }}\" target=\"help\" size=\"default\">\n <mat-icon slot=\"start\">description</mat-icon>\n <ion-text translate>ABOUT.USER_MANUAL</ion-text>\n </ion-button>\n <ion-button fill=\"solid\" color=\"secondary\" href=\"{{ forumUrl }}\" target=\"forum\" size=\"default\">\n <ion-icon slot=\"start\" name=\"chatbubbles\"></ion-icon>\n <ion-text translate>ABOUT.FORUM</ion-text>\n </ion-button>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Report issue -->\n <ion-item *ngIf=\"reportIssueUrl\">\n <ion-icon slot=\"start\" name=\"bug\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.REPORT_ISSUE' | translate }}\n </p>\n <p>\n <a color=\"primary\" href=\"{{ reportIssueUrl }}\" target=\"_system\" translate>ABOUT.BTN_REPORT_ISSUE</a>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Source code -->\n <ion-item *ngIf=\"sourceUrl\">\n <ion-icon slot=\"start\" name=\"code\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.SOURCE_CODE' | translate }}\n </p>\n <p>\n <a color=\"primary\" href=\"{{ sourceUrl }}\" target=\"_system\">{{ sourceUrl }}</a>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Developers -->\n <ion-item *ngIf=\"developers | isNotEmptyArray\">\n <ion-icon slot=\"start\" name=\"people\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.DEVELOPED_BY' | translate }}\n </p>\n <ion-list lines=\"none\">\n <ion-item *ngFor=\"let item of developers\" class=\"ion-no-padding\">\n <ion-label>\n <p>\n <a color=\"primary\" href=\"{{ item.siteUrl }}\" target=\"_system\">{{ item.name || item.label }}</a>\n </p>\n </ion-label>\n <ion-img slot=\"end\" [src]=\"item.logo\" />\n </ion-item>\n </ion-list>\n </ion-label>\n </ion-item>\n\n <!-- Partners -->\n <ion-item class=\"item-partners\" *ngIf=\"partners | isNotEmptyArray\">\n <ion-icon slot=\"start\" name=\"megaphone\" color=\"dark\"></ion-icon>\n <ion-text>\n <p>{{ 'ABOUT.PARTNERS' | translate }}</p>\n <p>\n <a *ngFor=\"let item of partners\" href=\"{{ item.siteUrl }}\" class=\"partners\" target=\"_system\">\n <img *ngIf=\"item.logo; else partnerName\" [src]=\"item.logo\" [alt]=\"item.label\" />\n <ng-template #partnerName>\n <ion-text>{{ item.label }}</ion-text>\n </ng-template>\n </a>\n </p>\n </ion-text>\n </ion-item>\n </ion-list>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", styles: [".item-partners ion-text{height:auto}.item-partners ion-text p:last-child{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:space-between}.item-partners ion-text p:last-child a{padding:2px}.item-partners ion-text p:last-child a img{text-align:center;display:inline-block;max-height:40px!important}\n"] }]
69
+ args: [{ selector: 'app-about-modal', template: "<ion-header>\n <ion-toolbar color=\"light\">\n <ion-title>\n {{ 'ABOUT.TITLE' | translate }}\n </ion-title>\n\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"close()\" visible-xs visible-sm visible-mobile>\n {{ 'COMMON.BTN_CLOSE' | translate }}\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content class=\"ion-padding\">\n <ion-list lines=\"none\">\n <!-- Peer info -->\n @if (config$ | async; as config) {\n <ion-item>\n <span slot=\"start\">&nbsp;</span>\n <ion-label class=\"ion-text-wrap\">\n <h2>\n <b>{{ config.label | capitalize }}</b>\n @if (config.name) {\n -\n <span [innerHTML]=\"config.name\"></span>\n }\n </h2>\n\n @if (config.description) {\n <p>\n <markdown [data]=\"config.description\" emoji></markdown>\n </p>\n }\n </ion-label>\n </ion-item>\n }\n\n <!-- Version info -->\n <ion-item>\n <span slot=\"start\">&nbsp;</span>\n <ion-label class=\"ion-text-wrap\">\n <h2>\n <small *ngIf=\"name\">{{ 'ABOUT.POWERED_BY' | translate }}</small>\n {{ name }}\n <span *ngIf=\"version\" [innerHTML]=\"'ABOUT.VERSION' | translate: { version: version }\"></span>\n </h2>\n <p [innerHTML]=\"'ABOUT.LICENSE' | translate\"></p>\n </ion-label>\n </ion-item>\n\n <!-- Help -->\n <ion-item *ngIf=\"forumUrl || helpUrl\">\n <mat-icon slot=\"start\">help_outline</mat-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.HELP' | translate }}\n </p>\n <p>\n <ion-button fill=\"solid\" color=\"accent\" href=\"{{ helpUrl }}\" target=\"help\" size=\"default\">\n <mat-icon slot=\"start\">description</mat-icon>\n <ion-text translate>ABOUT.USER_MANUAL</ion-text>\n </ion-button>\n <ion-button fill=\"solid\" color=\"secondary\" href=\"{{ forumUrl }}\" target=\"forum\" size=\"default\">\n <ion-icon slot=\"start\" name=\"chatbubbles\"></ion-icon>\n <ion-text translate>ABOUT.FORUM</ion-text>\n </ion-button>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Report issue -->\n <ion-item *ngIf=\"reportIssueUrl\">\n <ion-icon slot=\"start\" name=\"bug\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.REPORT_ISSUE' | translate }}\n </p>\n <p>\n <a color=\"primary\" href=\"{{ reportIssueUrl }}\" target=\"_system\" translate>ABOUT.BTN_REPORT_ISSUE</a>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Source code -->\n <ion-item *ngIf=\"sourceUrl\">\n <ion-icon slot=\"start\" name=\"code\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.SOURCE_CODE' | translate }}\n </p>\n <p>\n <a color=\"primary\" href=\"{{ sourceUrl }}\" target=\"_system\">{{ sourceUrl }}</a>\n </p>\n </ion-label>\n </ion-item>\n\n <!-- Developers -->\n <ion-item *ngIf=\"developers | isNotEmptyArray\">\n <ion-icon slot=\"start\" name=\"people\" color=\"dark\"></ion-icon>\n <ion-label>\n <p>\n {{ 'ABOUT.DEVELOPED_BY' | translate }}\n </p>\n <ion-list lines=\"none\">\n <ion-item *ngFor=\"let item of developers\" class=\"ion-no-padding\">\n <ion-label>\n <p>\n <a color=\"primary\" href=\"{{ item.siteUrl }}\" target=\"_system\">{{ item.name || item.label }}</a>\n </p>\n </ion-label>\n <ion-img slot=\"end\" [src]=\"item.logo\" />\n </ion-item>\n </ion-list>\n </ion-label>\n </ion-item>\n\n <!-- Partners -->\n <ion-item class=\"item-partners\" *ngIf=\"partners | isNotEmptyArray\">\n <ion-icon slot=\"start\" name=\"megaphone\" color=\"dark\"></ion-icon>\n <ion-text>\n <p>{{ 'ABOUT.PARTNERS' | translate }}</p>\n <p>\n <a *ngFor=\"let item of partners\" href=\"{{ item.siteUrl }}\" class=\"partners\" target=\"_system\">\n <img *ngIf=\"item.logo; else partnerName\" [src]=\"item.logo\" [alt]=\"item.label\" />\n <ng-template #partnerName>\n <ion-text>{{ item.label }}</ion-text>\n </ng-template>\n </a>\n </p>\n </ion-text>\n </ion-item>\n </ion-list>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <ion-toolbar>\n <ion-row class=\"ion-no-padding\" nowrap>\n <ion-col></ion-col>\n <ion-col size=\"auto\">\n <ion-button fill=\"solid\" color=\"tertiary\" (click)=\"close()\">{{ 'COMMON.BTN_CLOSE' | translate }}</ion-button>\n </ion-col>\n </ion-row>\n </ion-toolbar>\n</ion-footer>\n", styles: [".item-partners ion-text{height:auto}.item-partners ion-text p:last-child{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:space-between}.item-partners ion-text p:last-child a{padding:2px}.item-partners ion-text p:last-child a img{text-align:center;display:inline-block;max-height:40px!important}\n"] }]
68
70
  }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.ModalController }, { type: i3.ConfigService }, { type: undefined, decorators: [{
69
71
  type: Optional
70
72
  }, {
@@ -81,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
81
83
  type: Inject,
82
84
  args: [APP_ABOUT_PARTNERS]
83
85
  }] }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWJvdXQvYWJvdXQubW9kYWwudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWJvdXQvYWJvdXQubW9kYWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUsvRCxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7QUFFckUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQXdCLGlCQUFpQixDQUFDLENBQUM7QUFDakcsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQXdCLGVBQWUsQ0FBQyxDQUFDO0FBTzdGLE1BQU0sT0FBTyxVQUFVO0lBWVQ7SUFDQTtJQUNBO0lBQ2lDO0lBQ007SUFDRjtJQWhCeEMsSUFBSSxDQUFTO0lBQ2IsT0FBTyxDQUFTO0lBQ2hCLFNBQVMsQ0FBUztJQUNsQixjQUFjLENBQVM7SUFDdkIsT0FBTyxDQUE0QjtJQUM1QyxRQUFRLENBQVM7SUFDakIsT0FBTyxDQUFTO0lBRUMsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFcEQsWUFDWSxTQUEyQixFQUMzQixlQUFnQyxFQUNoQyxhQUE0QixFQUNLLFdBQVcsRUFDTCxVQUFpQyxFQUNuQyxRQUErQjtRQUxwRSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDSyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQUNMLGVBQVUsR0FBVixVQUFVLENBQXVCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQXVCO1FBRTlFLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDN0Isa0RBQWtEO1lBQ2xELElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDeEcsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN0RCxJQUFJLENBQUMsY0FBYyxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFFcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELCtCQUErQjtJQUVyQixTQUFTLENBQUMsTUFBc0I7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLEVBQUUsV0FBVyxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ2hHLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxFQUFFLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztJQUMvRixDQUFDO3VHQS9DVSxVQUFVLDhHQWVDLFdBQVcsNkJBQ1gsb0JBQW9CLDZCQUNwQixrQkFBa0I7MkZBakI3QixVQUFVLHVEQ25CdkIsK25KQTBJQTs7MkZEdkhhLFVBQVU7a0JBTHRCLFNBQVM7K0JBQ0UsaUJBQWlCOzswQkFtQnhCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsV0FBVzs7MEJBQzlCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0JBQW9COzswQkFDdkMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7IGNhcGl0YWxpemVGaXJzdExldHRlciB9IGZyb20gJy4uLy4uL3NoYXJlZC9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRGVwYXJ0bWVudCB9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL2RlcGFydG1lbnQubW9kZWwnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDT1JFX0NPTkZJR19PUFRJT05TIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnL2NvcmUuY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IEFQUF9BQk9VVF9ERVZFTE9QRVJTID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8RGVwYXJ0bWVudD5bXT4oJ2Fib3V0RGV2ZWxvcGVycycpO1xuZXhwb3J0IGNvbnN0IEFQUF9BQk9VVF9QQVJUTkVSUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQYXJ0aWFsPERlcGFydG1lbnQ+W10+KCdhYm91dFBhcnRuZXJzJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1hYm91dC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hYm91dC5tb2RhbC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWJvdXQubW9kYWwuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBYm91dE1vZGFsIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZVVybDogc3RyaW5nO1xuICByZWFkb25seSByZXBvcnRJc3N1ZVVybDogc3RyaW5nO1xuICByZWFkb25seSBjb25maWckOiBPYnNlcnZhYmxlPENvbmZpZ3VyYXRpb24+O1xuICBmb3J1bVVybDogc3RyaW5nO1xuICBoZWxwVXJsOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIG1vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRU5WSVJPTk1FTlQpIHByb3RlY3RlZCBlbnZpcm9ubWVudCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9BQk9VVF9ERVZFTE9QRVJTKSBwdWJsaWMgZGV2ZWxvcGVyczogUGFydGlhbDxEZXBhcnRtZW50PltdLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBQX0FCT1VUX1BBUlRORVJTKSBwdWJsaWMgcGFydG5lcnM6IFBhcnRpYWw8RGVwYXJ0bWVudD5bXVxuICApIHtcbiAgICB0aGlzLm5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudCgnQVBQX05BTUUnKTtcbiAgICBpZiAodGhpcy5uYW1lID09PSAnQVBQX05BTUUnKSB7XG4gICAgICAvLyBOb3QgdHJhbnNsYXRlZDogdXNlIG5hbWUgZnJvbSB0aGUgZW52aXJvbm5lbWVudFxuICAgICAgdGhpcy5uYW1lID0gKGVudmlyb25tZW50ICYmIGVudmlyb25tZW50Lm5hbWUgJiYgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGVudmlyb25tZW50Lm5hbWUpKSB8fCB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMudmVyc2lvbiA9IGVudmlyb25tZW50ICYmIGVudmlyb25tZW50LnZlcnNpb247XG4gICAgdGhpcy5zb3VyY2VVcmwgPSBlbnZpcm9ubWVudCAmJiBlbnZpcm9ubWVudC5zb3VyY2VVcmw7XG4gICAgdGhpcy5yZXBvcnRJc3N1ZVVybCA9IGVudmlyb25tZW50ICYmIGVudmlyb25tZW50LnJlcG9ydElzc3VlVXJsO1xuICAgIHRoaXMuZm9ydW1VcmwgPSBlbnZpcm9ubWVudCAmJiBlbnZpcm9ubWVudC5mb3J1bVVybDtcbiAgICB0aGlzLmhlbHBVcmwgPSBlbnZpcm9ubWVudCAmJiBlbnZpcm9ubWVudC5oZWxwVXJsO1xuICAgIHRoaXMuY29uZmlnJCA9IGNvbmZpZ1NlcnZpY2UuY29uZmlnO1xuXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmNvbmZpZyQuc3Vic2NyaWJlKChjb25maWcpID0+IHRoaXMuc2V0Q29uZmlnKGNvbmZpZykpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgYXN5bmMgY2xvc2UoKSB7XG4gICAgYXdhaXQgdGhpcy5tb2RhbENvbnRyb2xsZXIuZGlzbWlzcygpO1xuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIGZ1bmN0aW9ucyAtLSAqL1xuXG4gIHByb3RlY3RlZCBzZXRDb25maWcoY29uZmlnPzogQ29uZmlndXJhdGlvbikge1xuICAgIHRoaXMuZm9ydW1VcmwgPSBjb25maWc/LmdldFByb3BlcnR5KENPUkVfQ09ORklHX09QVElPTlMuRk9SVU1fVVJMKSB8fCB0aGlzLmVudmlyb25tZW50LmZvcnVtVXJsO1xuICAgIHRoaXMuaGVscFVybCA9IGNvbmZpZz8uZ2V0UHJvcGVydHkoQ09SRV9DT05GSUdfT1BUSU9OUy5IRUxQX1VSTCkgfHwgdGhpcy5lbnZpcm9ubWVudC5oZWxwVXJsO1xuICB9XG59XG4iLCI8aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyIGNvbG9yPVwibGlnaHRcIj5cbiAgICA8aW9uLXRpdGxlPlxuICAgICAge3sgJ0FCT1VULlRJVExFJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvaW9uLXRpdGxlPlxuXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJjbG9zZSgpXCIgdmlzaWJsZS14cyB2aXNpYmxlLXNtIHZpc2libGUtbW9iaWxlPlxuICAgICAgICB7eyAnQ09NTU9OLkJUTl9DTE9TRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuICA8L2lvbi10b29sYmFyPlxuPC9pb24taGVhZGVyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICA8aW9uLWxpc3QgbGluZXM9XCJub25lXCI+XG4gICAgPCEtLSBQZWVyIGluZm8gLS0+XG4gICAgPGlvbi1pdGVtICpuZ0lmPVwiY29uZmlnJCB8IGFzeW5jOyBsZXQgY29uZmlnXCI+XG4gICAgICA8c3BhbiBzbG90PVwic3RhcnRcIj4mbmJzcDs8L3NwYW4+XG4gICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiaW9uLXRleHQtd3JhcFwiPlxuICAgICAgICA8aDI+XG4gICAgICAgICAgPGI+e3sgY29uZmlnLmxhYmVsIH19PC9iPlxuICAgICAgICAgIC1cbiAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImNvbmZpZy5uYW1lXCI+PC9zcGFuPlxuICAgICAgICA8L2gyPlxuICAgICAgICA8cCAqbmdJZj1cImNvbmZpZy5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDxtYXJrZG93biBbZGF0YV09XCJjb25maWcuZGVzY3JpcHRpb25cIiBlbW9qaT48L21hcmtkb3duPlxuICAgICAgICA8L3A+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuXG4gICAgPCEtLSBWZXJzaW9uIGluZm8gLS0+XG4gICAgPGlvbi1pdGVtPlxuICAgICAgPHNwYW4gc2xvdD1cInN0YXJ0XCI+Jm5ic3A7PC9zcGFuPlxuICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXBcIj5cbiAgICAgICAgPGgyPlxuICAgICAgICAgIDxzbWFsbCAqbmdJZj1cIm5hbWVcIj57eyAnQUJPVVQuUE9XRVJFRF9CWScgfCB0cmFuc2xhdGUgfX08L3NtYWxsPlxuICAgICAgICAgIHt7IG5hbWUgfX1cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInZlcnNpb25cIiBbaW5uZXJIVE1MXT1cIidBQk9VVC5WRVJTSU9OJyB8IHRyYW5zbGF0ZTogeyB2ZXJzaW9uOiB2ZXJzaW9uIH1cIj48L3NwYW4+XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ0FCT1VULkxJQ0VOU0UnIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gSGVscCAtLT5cbiAgICA8aW9uLWl0ZW0gKm5nSWY9XCJmb3J1bVVybCB8fCBoZWxwVXJsXCI+XG4gICAgICA8bWF0LWljb24gc2xvdD1cInN0YXJ0XCI+aGVscF9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgIDxwPlxuICAgICAgICAgIHt7ICdBQk9VVC5IRUxQJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJzb2xpZFwiIGNvbG9yPVwiYWNjZW50XCIgaHJlZj1cInt7IGhlbHBVcmwgfX1cIiB0YXJnZXQ9XCJoZWxwXCIgc2l6ZT1cImRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBzbG90PVwic3RhcnRcIj5kZXNjcmlwdGlvbjwvbWF0LWljb24+XG4gICAgICAgICAgICA8aW9uLXRleHQgdHJhbnNsYXRlPkFCT1VULlVTRVJfTUFOVUFMPC9pb24tdGV4dD5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBocmVmPVwie3sgZm9ydW1VcmwgfX1cIiB0YXJnZXQ9XCJmb3J1bVwiIHNpemU9XCJkZWZhdWx0XCI+XG4gICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImNoYXRidWJibGVzXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxpb24tdGV4dCB0cmFuc2xhdGU+QUJPVVQuRk9SVU08L2lvbi10ZXh0PlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gUmVwb3J0IGlzc3VlIC0tPlxuICAgIDxpb24taXRlbSAqbmdJZj1cInJlcG9ydElzc3VlVXJsXCI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImJ1Z1wiIGNvbG9yPVwiZGFya1wiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLWxhYmVsPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7eyAnQUJPVVQuUkVQT1JUX0lTU1VFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxhIGNvbG9yPVwicHJpbWFyeVwiIGhyZWY9XCJ7eyByZXBvcnRJc3N1ZVVybCB9fVwiIHRhcmdldD1cIl9zeXN0ZW1cIiB0cmFuc2xhdGU+QUJPVVQuQlROX1JFUE9SVF9JU1NVRTwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gU291cmNlIGNvZGUgLS0+XG4gICAgPGlvbi1pdGVtICpuZ0lmPVwic291cmNlVXJsXCI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImNvZGVcIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgPHA+XG4gICAgICAgICAge3sgJ0FCT1VULlNPVVJDRV9DT0RFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxhIGNvbG9yPVwicHJpbWFyeVwiIGhyZWY9XCJ7eyBzb3VyY2VVcmwgfX1cIiB0YXJnZXQ9XCJfc3lzdGVtXCI+e3sgc291cmNlVXJsIH19PC9hPlxuICAgICAgICA8L3A+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuXG4gICAgPCEtLSBEZXZlbG9wZXJzIC0tPlxuICAgIDxpb24taXRlbSAqbmdJZj1cImRldmVsb3BlcnMgfCBpc05vdEVtcHR5QXJyYXlcIj5cbiAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwicGVvcGxlXCIgY29sb3I9XCJkYXJrXCI+PC9pb24taWNvbj5cbiAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgIDxwPlxuICAgICAgICAgIHt7ICdBQk9VVC5ERVZFTE9QRURfQlknIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGlvbi1saXN0IGxpbmVzPVwibm9uZVwiPlxuICAgICAgICAgIDxpb24taXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkZXZlbG9wZXJzXCIgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgPGEgY29sb3I9XCJwcmltYXJ5XCIgaHJlZj1cInt7IGl0ZW0uc2l0ZVVybCB9fVwiIHRhcmdldD1cIl9zeXN0ZW1cIj57eyBpdGVtLm5hbWUgfHwgaXRlbS5sYWJlbCB9fTwvYT5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICA8aW9uLWltZyBzbG90PVwiZW5kXCIgW3NyY109XCJpdGVtLmxvZ29cIiAvPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIDwvaW9uLWxpc3Q+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuXG4gICAgPCEtLSBQYXJ0bmVycyAtLT5cbiAgICA8aW9uLWl0ZW0gY2xhc3M9XCJpdGVtLXBhcnRuZXJzXCIgKm5nSWY9XCJwYXJ0bmVycyB8IGlzTm90RW1wdHlBcnJheVwiPlxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJtZWdhcGhvbmVcIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgPGlvbi10ZXh0PlxuICAgICAgICA8cD57eyAnQUJPVVQuUEFSVE5FUlMnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8YSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwYXJ0bmVyc1wiIGhyZWY9XCJ7eyBpdGVtLnNpdGVVcmwgfX1cIiBjbGFzcz1cInBhcnRuZXJzXCIgdGFyZ2V0PVwiX3N5c3RlbVwiPlxuICAgICAgICAgICAgPGltZyAqbmdJZj1cIml0ZW0ubG9nbzsgZWxzZSBwYXJ0bmVyTmFtZVwiIFtzcmNdPVwiaXRlbS5sb2dvXCIgW2FsdF09XCJpdGVtLmxhYmVsXCIgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcGFydG5lck5hbWU+XG4gICAgICAgICAgICAgIDxpb24tdGV4dD57eyBpdGVtLmxhYmVsIH19PC9pb24tdGV4dD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L3A+XG4gICAgICA8L2lvbi10ZXh0PlxuICAgIDwvaW9uLWl0ZW0+XG4gIDwvaW9uLWxpc3Q+XG48L2lvbi1jb250ZW50PlxuXG48aW9uLWZvb3RlciBoaWRkZW4teHMgaGlkZGVuLXNtIGhpZGRlbi1tb2JpbGU+XG4gIDxpb24tdG9vbGJhcj5cbiAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCIgbm93cmFwPlxuICAgICAgPGlvbi1jb2w+PC9pb24tY29sPlxuICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+e3sgJ0NPTU1PTi5CVE5fQ0xPU0UnIHwgdHJhbnNsYXRlIH19PC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQubW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWJvdXQvYWJvdXQubW9kYWwudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvYWJvdXQvYWJvdXQubW9kYWwuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUsvRCxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0FBRXJFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUF3QixpQkFBaUIsQ0FBQyxDQUFDO0FBQ2pHLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUF3QixlQUFlLENBQUMsQ0FBQztBQU83RixNQUFNLE9BQU8sVUFBVTtJQVlUO0lBQ0E7SUFDQTtJQUNpQztJQUNNO0lBQ0Y7SUFoQnhDLElBQUksQ0FBUztJQUNiLE9BQU8sQ0FBUztJQUNoQixTQUFTLENBQVM7SUFDbEIsT0FBTyxDQUE0QjtJQUM1QyxjQUFjLENBQVM7SUFDdkIsUUFBUSxDQUFTO0lBQ2pCLE9BQU8sQ0FBUztJQUVDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXBELFlBQ1ksU0FBMkIsRUFDM0IsZUFBZ0MsRUFDaEMsYUFBNEIsRUFDSyxXQUFXLEVBQ0wsVUFBaUMsRUFDbkMsUUFBK0I7UUFMcEUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ0ssZ0JBQVcsR0FBWCxXQUFXLENBQUE7UUFDTCxlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUF1QjtRQUU5RSxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzdCLGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxJQUFJLElBQUkscUJBQXFCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDO1FBQ3hHLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDdEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxXQUFXLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBRXBDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCwrQkFBK0I7SUFFckIsU0FBUyxDQUFDLE1BQXNCO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxFQUFFLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNoRyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sRUFBRSxXQUFXLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDN0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLEVBQUUsV0FBVyxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7SUFDckgsQ0FBQzt1R0FoRFUsVUFBVSw4R0FlQyxXQUFXLDZCQUNYLG9CQUFvQiw2QkFDcEIsa0JBQWtCOzJGQWpCN0IsVUFBVSx1RENuQnZCLGl3SkFpSkE7OzJGRDlIYSxVQUFVO2tCQUx0QixTQUFTOytCQUNFLGlCQUFpQjs7MEJBbUJ4QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUM5QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQ3ZDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdGlvblRva2VuLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBFTlZJUk9OTUVOVCB9IGZyb20gJy4uLy4uLy4uL2Vudmlyb25tZW50cy9lbnZpcm9ubWVudC5jbGFzcyc7XG5pbXBvcnQgeyBjYXBpdGFsaXplRmlyc3RMZXR0ZXIgfSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcbmltcG9ydCB7IERlcGFydG1lbnQgfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9kZXBhcnRtZW50Lm1vZGVsJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ09SRV9DT05GSUdfT1BUSU9OUyB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy9jb3JlLmNvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCBBUFBfQUJPVVRfREVWRUxPUEVSUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQYXJ0aWFsPERlcGFydG1lbnQ+W10+KCdhYm91dERldmVsb3BlcnMnKTtcbmV4cG9ydCBjb25zdCBBUFBfQUJPVVRfUEFSVE5FUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFydGlhbDxEZXBhcnRtZW50PltdPignYWJvdXRQYXJ0bmVycycpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYWJvdXQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWJvdXQubW9kYWwuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Fib3V0Lm1vZGFsLnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQWJvdXRNb2RhbCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuICByZWFkb25seSBzb3VyY2VVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgY29uZmlnJDogT2JzZXJ2YWJsZTxDb25maWd1cmF0aW9uPjtcbiAgcmVwb3J0SXNzdWVVcmw6IHN0cmluZztcbiAgZm9ydW1Vcmw6IHN0cmluZztcbiAgaGVscFVybDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBtb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcixcbiAgICBwcm90ZWN0ZWQgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEVOVklST05NRU5UKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfQUJPVVRfREVWRUxPUEVSUykgcHVibGljIGRldmVsb3BlcnM6IFBhcnRpYWw8RGVwYXJ0bWVudD5bXSxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9BQk9VVF9QQVJUTkVSUykgcHVibGljIHBhcnRuZXJzOiBQYXJ0aWFsPERlcGFydG1lbnQ+W11cbiAgKSB7XG4gICAgdGhpcy5uYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoJ0FQUF9OQU1FJyk7XG4gICAgaWYgKHRoaXMubmFtZSA9PT0gJ0FQUF9OQU1FJykge1xuICAgICAgLy8gTm90IHRyYW5zbGF0ZWQ6IHVzZSBuYW1lIGZyb20gdGhlIGVudmlyb25uZW1lbnRcbiAgICAgIHRoaXMubmFtZSA9IChlbnZpcm9ubWVudCAmJiBlbnZpcm9ubWVudC5uYW1lICYmIGNhcGl0YWxpemVGaXJzdExldHRlcihlbnZpcm9ubWVudC5uYW1lKSkgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnZlcnNpb24gPSBlbnZpcm9ubWVudCAmJiBlbnZpcm9ubWVudC52ZXJzaW9uO1xuICAgIHRoaXMuc291cmNlVXJsID0gZW52aXJvbm1lbnQgJiYgZW52aXJvbm1lbnQuc291cmNlVXJsO1xuICAgIHRoaXMucmVwb3J0SXNzdWVVcmwgPSBlbnZpcm9ubWVudCAmJiBlbnZpcm9ubWVudC5yZXBvcnRJc3N1ZVVybDtcbiAgICB0aGlzLmZvcnVtVXJsID0gZW52aXJvbm1lbnQgJiYgZW52aXJvbm1lbnQuZm9ydW1Vcmw7XG4gICAgdGhpcy5oZWxwVXJsID0gZW52aXJvbm1lbnQgJiYgZW52aXJvbm1lbnQuaGVscFVybDtcbiAgICB0aGlzLmNvbmZpZyQgPSBjb25maWdTZXJ2aWNlLmNvbmZpZztcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQodGhpcy5jb25maWckLnN1YnNjcmliZSgoY29uZmlnKSA9PiB0aGlzLnNldENvbmZpZyhjb25maWcpKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGFzeW5jIGNsb3NlKCkge1xuICAgIGF3YWl0IHRoaXMubW9kYWxDb250cm9sbGVyLmRpc21pc3MoKTtcbiAgfVxuXG4gIC8qIC0tIHByb3RlY3RlZCBmdW5jdGlvbnMgLS0gKi9cblxuICBwcm90ZWN0ZWQgc2V0Q29uZmlnKGNvbmZpZz86IENvbmZpZ3VyYXRpb24pIHtcbiAgICB0aGlzLmZvcnVtVXJsID0gY29uZmlnPy5nZXRQcm9wZXJ0eShDT1JFX0NPTkZJR19PUFRJT05TLkZPUlVNX1VSTCkgfHwgdGhpcy5lbnZpcm9ubWVudC5mb3J1bVVybDtcbiAgICB0aGlzLmhlbHBVcmwgPSBjb25maWc/LmdldFByb3BlcnR5KENPUkVfQ09ORklHX09QVElPTlMuSEVMUF9VUkwpIHx8IHRoaXMuZW52aXJvbm1lbnQuaGVscFVybDtcbiAgICB0aGlzLnJlcG9ydElzc3VlVXJsID0gY29uZmlnPy5nZXRQcm9wZXJ0eShDT1JFX0NPTkZJR19PUFRJT05TLlJFUE9SVF9JU1NVRV9VUkwpIHx8IHRoaXMuZW52aXJvbm1lbnQucmVwb3J0SXNzdWVVcmw7XG4gIH1cbn1cbiIsIjxpb24taGVhZGVyPlxuICA8aW9uLXRvb2xiYXIgY29sb3I9XCJsaWdodFwiPlxuICAgIDxpb24tdGl0bGU+XG4gICAgICB7eyAnQUJPVVQuVElUTEUnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9pb24tdGl0bGU+XG5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cImNsb3NlKClcIiB2aXNpYmxlLXhzIHZpc2libGUtc20gdmlzaWJsZS1tb2JpbGU+XG4gICAgICAgIHt7ICdDT01NT04uQlROX0NMT1NFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG5cbjxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gIDxpb24tbGlzdCBsaW5lcz1cIm5vbmVcIj5cbiAgICA8IS0tIFBlZXIgaW5mbyAtLT5cbiAgICBAaWYgKGNvbmZpZyQgfCBhc3luYzsgYXMgY29uZmlnKSB7XG4gICAgICA8aW9uLWl0ZW0+XG4gICAgICAgIDxzcGFuIHNsb3Q9XCJzdGFydFwiPiZuYnNwOzwvc3Bhbj5cbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXBcIj5cbiAgICAgICAgICA8aDI+XG4gICAgICAgICAgICA8Yj57eyBjb25maWcubGFiZWwgfCBjYXBpdGFsaXplIH19PC9iPlxuICAgICAgICAgICAgQGlmIChjb25maWcubmFtZSkge1xuICAgICAgICAgICAgICAtXG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiY29uZmlnLm5hbWVcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9oMj5cblxuICAgICAgICAgIEBpZiAoY29uZmlnLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPG1hcmtkb3duIFtkYXRhXT1cImNvbmZpZy5kZXNjcmlwdGlvblwiIGVtb2ppPjwvbWFya2Rvd24+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgfVxuICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgIDwvaW9uLWl0ZW0+XG4gICAgfVxuXG4gICAgPCEtLSBWZXJzaW9uIGluZm8gLS0+XG4gICAgPGlvbi1pdGVtPlxuICAgICAgPHNwYW4gc2xvdD1cInN0YXJ0XCI+Jm5ic3A7PC9zcGFuPlxuICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cImlvbi10ZXh0LXdyYXBcIj5cbiAgICAgICAgPGgyPlxuICAgICAgICAgIDxzbWFsbCAqbmdJZj1cIm5hbWVcIj57eyAnQUJPVVQuUE9XRVJFRF9CWScgfCB0cmFuc2xhdGUgfX08L3NtYWxsPlxuICAgICAgICAgIHt7IG5hbWUgfX1cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInZlcnNpb25cIiBbaW5uZXJIVE1MXT1cIidBQk9VVC5WRVJTSU9OJyB8IHRyYW5zbGF0ZTogeyB2ZXJzaW9uOiB2ZXJzaW9uIH1cIj48L3NwYW4+XG4gICAgICAgIDwvaDI+XG4gICAgICAgIDxwIFtpbm5lckhUTUxdPVwiJ0FCT1VULkxJQ0VOU0UnIHwgdHJhbnNsYXRlXCI+PC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gSGVscCAtLT5cbiAgICA8aW9uLWl0ZW0gKm5nSWY9XCJmb3J1bVVybCB8fCBoZWxwVXJsXCI+XG4gICAgICA8bWF0LWljb24gc2xvdD1cInN0YXJ0XCI+aGVscF9vdXRsaW5lPC9tYXQtaWNvbj5cbiAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgIDxwPlxuICAgICAgICAgIHt7ICdBQk9VVC5IRUxQJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJzb2xpZFwiIGNvbG9yPVwiYWNjZW50XCIgaHJlZj1cInt7IGhlbHBVcmwgfX1cIiB0YXJnZXQ9XCJoZWxwXCIgc2l6ZT1cImRlZmF1bHRcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBzbG90PVwic3RhcnRcIj5kZXNjcmlwdGlvbjwvbWF0LWljb24+XG4gICAgICAgICAgICA8aW9uLXRleHQgdHJhbnNsYXRlPkFCT1VULlVTRVJfTUFOVUFMPC9pb24tdGV4dD5cbiAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJzZWNvbmRhcnlcIiBocmVmPVwie3sgZm9ydW1VcmwgfX1cIiB0YXJnZXQ9XCJmb3J1bVwiIHNpemU9XCJkZWZhdWx0XCI+XG4gICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImNoYXRidWJibGVzXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxpb24tdGV4dCB0cmFuc2xhdGU+QUJPVVQuRk9SVU08L2lvbi10ZXh0PlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gUmVwb3J0IGlzc3VlIC0tPlxuICAgIDxpb24taXRlbSAqbmdJZj1cInJlcG9ydElzc3VlVXJsXCI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImJ1Z1wiIGNvbG9yPVwiZGFya1wiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLWxhYmVsPlxuICAgICAgICA8cD5cbiAgICAgICAgICB7eyAnQUJPVVQuUkVQT1JUX0lTU1VFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxhIGNvbG9yPVwicHJpbWFyeVwiIGhyZWY9XCJ7eyByZXBvcnRJc3N1ZVVybCB9fVwiIHRhcmdldD1cIl9zeXN0ZW1cIiB0cmFuc2xhdGU+QUJPVVQuQlROX1JFUE9SVF9JU1NVRTwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9pb24tbGFiZWw+XG4gICAgPC9pb24taXRlbT5cblxuICAgIDwhLS0gU291cmNlIGNvZGUgLS0+XG4gICAgPGlvbi1pdGVtICpuZ0lmPVwic291cmNlVXJsXCI+XG4gICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImNvZGVcIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgPHA+XG4gICAgICAgICAge3sgJ0FCT1VULlNPVVJDRV9DT0RFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxwPlxuICAgICAgICAgIDxhIGNvbG9yPVwicHJpbWFyeVwiIGhyZWY9XCJ7eyBzb3VyY2VVcmwgfX1cIiB0YXJnZXQ9XCJfc3lzdGVtXCI+e3sgc291cmNlVXJsIH19PC9hPlxuICAgICAgICA8L3A+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuXG4gICAgPCEtLSBEZXZlbG9wZXJzIC0tPlxuICAgIDxpb24taXRlbSAqbmdJZj1cImRldmVsb3BlcnMgfCBpc05vdEVtcHR5QXJyYXlcIj5cbiAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwicGVvcGxlXCIgY29sb3I9XCJkYXJrXCI+PC9pb24taWNvbj5cbiAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgIDxwPlxuICAgICAgICAgIHt7ICdBQk9VVC5ERVZFTE9QRURfQlknIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGlvbi1saXN0IGxpbmVzPVwibm9uZVwiPlxuICAgICAgICAgIDxpb24taXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkZXZlbG9wZXJzXCIgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgPGEgY29sb3I9XCJwcmltYXJ5XCIgaHJlZj1cInt7IGl0ZW0uc2l0ZVVybCB9fVwiIHRhcmdldD1cIl9zeXN0ZW1cIj57eyBpdGVtLm5hbWUgfHwgaXRlbS5sYWJlbCB9fTwvYT5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICA8aW9uLWltZyBzbG90PVwiZW5kXCIgW3NyY109XCJpdGVtLmxvZ29cIiAvPlxuICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIDwvaW9uLWxpc3Q+XG4gICAgICA8L2lvbi1sYWJlbD5cbiAgICA8L2lvbi1pdGVtPlxuXG4gICAgPCEtLSBQYXJ0bmVycyAtLT5cbiAgICA8aW9uLWl0ZW0gY2xhc3M9XCJpdGVtLXBhcnRuZXJzXCIgKm5nSWY9XCJwYXJ0bmVycyB8IGlzTm90RW1wdHlBcnJheVwiPlxuICAgICAgPGlvbi1pY29uIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJtZWdhcGhvbmVcIiBjb2xvcj1cImRhcmtcIj48L2lvbi1pY29uPlxuICAgICAgPGlvbi10ZXh0PlxuICAgICAgICA8cD57eyAnQUJPVVQuUEFSVE5FUlMnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICA8YSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwYXJ0bmVyc1wiIGhyZWY9XCJ7eyBpdGVtLnNpdGVVcmwgfX1cIiBjbGFzcz1cInBhcnRuZXJzXCIgdGFyZ2V0PVwiX3N5c3RlbVwiPlxuICAgICAgICAgICAgPGltZyAqbmdJZj1cIml0ZW0ubG9nbzsgZWxzZSBwYXJ0bmVyTmFtZVwiIFtzcmNdPVwiaXRlbS5sb2dvXCIgW2FsdF09XCJpdGVtLmxhYmVsXCIgLz5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcGFydG5lck5hbWU+XG4gICAgICAgICAgICAgIDxpb24tdGV4dD57eyBpdGVtLmxhYmVsIH19PC9pb24tdGV4dD5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L3A+XG4gICAgICA8L2lvbi10ZXh0PlxuICAgIDwvaW9uLWl0ZW0+XG4gIDwvaW9uLWxpc3Q+XG48L2lvbi1jb250ZW50PlxuXG48aW9uLWZvb3RlciBoaWRkZW4teHMgaGlkZGVuLXNtIGhpZGRlbi1tb2JpbGU+XG4gIDxpb24tdG9vbGJhcj5cbiAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCIgbm93cmFwPlxuICAgICAgPGlvbi1jb2w+PC9pb24tY29sPlxuICAgICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIj5cbiAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+e3sgJ0NPTU1PTi5CVE5fQ0xPU0UnIHwgdHJhbnNsYXRlIH19PC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
@@ -3,19 +3,20 @@ import { SharedModule } from '../../shared/shared.module';
3
3
  import { IonicModule } from '@ionic/angular';
4
4
  import { AboutModal } from './about.modal';
5
5
  import { TranslateModule } from '@ngx-translate/core';
6
+ import { MarkdownModule } from 'ngx-markdown';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@ngx-translate/core";
8
9
  export class AppAboutModalModule {
9
10
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppAboutModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AppAboutModalModule, declarations: [AboutModal], imports: [SharedModule, IonicModule, i1.TranslateModule], exports: [TranslateModule, AboutModal] });
11
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppAboutModalModule, imports: [SharedModule, IonicModule, TranslateModule.forChild(), TranslateModule] });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AppAboutModalModule, declarations: [AboutModal], imports: [SharedModule, IonicModule, i1.TranslateModule, MarkdownModule], exports: [TranslateModule, AboutModal] });
12
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppAboutModalModule, imports: [SharedModule, IonicModule, TranslateModule.forChild(), MarkdownModule, TranslateModule] });
12
13
  }
13
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AppAboutModalModule, decorators: [{
14
15
  type: NgModule,
15
16
  args: [{
16
- imports: [SharedModule, IonicModule, TranslateModule.forChild()],
17
+ imports: [SharedModule, IonicModule, TranslateModule.forChild(), MarkdownModule],
17
18
  declarations: [AboutModal],
18
19
  exports: [TranslateModule, AboutModal],
19
20
  }]
20
21
  }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Fib3V0L2Fib3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVF0RCxNQUFNLE9BQU8sbUJBQW1CO3VHQUFuQixtQkFBbUI7d0dBQW5CLG1CQUFtQixpQkFIZixVQUFVLGFBRmYsWUFBWSxFQUFFLFdBQVcsaUNBR3pCLGVBQWUsRUFBRSxVQUFVO3dHQUUxQixtQkFBbUIsWUFMcEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBR3JELGVBQWU7OzJGQUVkLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFFaEUsWUFBWSxFQUFFLENBQUMsVUFBVSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFib3V0TW9kYWwgfSBmcm9tICcuL2Fib3V0Lm1vZGFsJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBJb25pY01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCldLFxuXG4gIGRlY2xhcmF0aW9uczogW0Fib3V0TW9kYWxdLFxuICBleHBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlLCBBYm91dE1vZGFsXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwQWJvdXRNb2RhbE1vZHVsZSB7fVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Fib3V0L2Fib3V0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBUTlDLE1BQU0sT0FBTyxtQkFBbUI7dUdBQW5CLG1CQUFtQjt3R0FBbkIsbUJBQW1CLGlCQUhmLFVBQVUsYUFGZixZQUFZLEVBQUUsV0FBVyxzQkFBOEIsY0FBYyxhQUdyRSxlQUFlLEVBQUUsVUFBVTt3R0FFMUIsbUJBQW1CLFlBTHBCLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLGNBQWMsRUFHckUsZUFBZTs7MkZBRWQsbUJBQW1CO2tCQU4vQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLGNBQWMsQ0FBQztvQkFFaEYsWUFBWSxFQUFFLENBQUMsVUFBVSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEFib3V0TW9kYWwgfSBmcm9tICcuL2Fib3V0Lm1vZGFsJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWFya2Rvd25Nb2R1bGUgfSBmcm9tICduZ3gtbWFya2Rvd24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBJb25pY01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksIE1hcmtkb3duTW9kdWxlXSxcblxuICBkZWNsYXJhdGlvbnM6IFtBYm91dE1vZGFsXSxcbiAgZXhwb3J0czogW1RyYW5zbGF0ZU1vZHVsZSwgQWJvdXRNb2RhbF0sXG59KVxuZXhwb3J0IGNsYXNzIEFwcEFib3V0TW9kYWxNb2R1bGUge31cbiJdfQ==
@@ -36,12 +36,12 @@ export class FormButtonsBarComponent {
36
36
  this.menu = menu;
37
37
  // Ctrl+S
38
38
  this._subscription.add(hotkeys
39
- .addShortcut({ keys: 'control.s', description: 'COMMON.BTN_SAVE' })
39
+ .addShortcut({ keys: `${hotkeys.defaultControlKey}.s`, description: 'COMMON.BTN_SAVE' })
40
40
  .pipe(filter((_) => !this.disabled))
41
41
  .subscribe((event) => this.onSave.emit(event)));
42
42
  // Ctrl+Z
43
43
  this._subscription.add(hotkeys
44
- .addShortcut({ keys: 'control.z', description: 'COMMON.BTN_RESET' })
44
+ .addShortcut({ keys: `${hotkeys.defaultControlKey}.z`, description: 'COMMON.BTN_RESET' })
45
45
  .pipe(filter((_) => !this.disabled && !this.disabledCancel))
46
46
  .subscribe((event) => this.onCancel.emit(event)));
47
47
  // Escape
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
105
105
  }], onSaveAndNext: [{
106
106
  type: Output
107
107
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idXR0b25zLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvZm9ybS9idXR0b25zL2Zvcm0tYnV0dG9ucy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vYnV0dG9ucy9mb3JtLWJ1dHRvbnMtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFJdEQsTUFBTSxPQUFnQixtQkFBbUI7Q0FLeEM7QUFRRCxNQUFNLE9BQU8sdUJBQXVCO0lBNEJ0QjtJQTNCSixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVsQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixTQUFTLENBQVM7SUFFbEIsZUFBZSxHQUFxQixRQUFRLENBQUM7SUFFN0MsUUFBUSxHQUFHLGtCQUFrQixDQUFDO0lBQzlCLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQUNoQyxRQUFRLEdBQUcsaUJBQWlCLENBQUM7SUFFN0IsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUVmLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxJQUFJLFlBQVks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QWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhvdGtleXMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvaG90a2V5cy9ob3RrZXlzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbWVudS9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJlZGVmaW5lZENvbG9ycyB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1CdXR0b25zQmFyVG9rZW4ge1xuICBhYnN0cmFjdCBvbkNhbmNlbDogRXZlbnRFbWl0dGVyPEV2ZW50PjtcbiAgYWJzdHJhY3Qgb25TYXZlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+O1xuICBhYnN0cmFjdCBvbk5leHQ6IEV2ZW50RW1pdHRlcjxFdmVudD47XG4gIGFic3RyYWN0IG9uQmFjazogRXZlbnRFbWl0dGVyPEV2ZW50Pjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZvcm0tYnV0dG9ucy1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1idXR0b25zLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tYnV0dG9ucy1iYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGb3JtQnV0dG9uc0JhclRva2VuLCB1c2VFeGlzdGluZzogRm9ybUJ1dHRvbnNCYXJDb21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1CdXR0b25zQmFyQ29tcG9uZW50IGltcGxlbWVudHMgRm9ybUJ1dHRvbnNCYXJUb2tlbiwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkQ2FuY2VsID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkRXNjYXBlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNsYXNzTGlzdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHNhdmVCdXR0b25Db2xvcjogUHJlZGVmaW5lZENvbG9ycyA9ICdkYW5nZXInO1xuXG4gIEBJbnB1dCgpIGJhY2tUZXh0ID0gJ0NPTU1PTi5CVE5fQ0xPU0UnO1xuICBASW5wdXQoKSBjYW5jZWxUZXh0ID0gJ0NPTU1PTi5CVE5fUkVTRVQnO1xuICBASW5wdXQoKSBuZXh0VGV4dCA9ICdDT01NT04uQlROX05FWFQnO1xuXG4gIEBJbnB1dCgpIHNob3dCYWNrID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0NhbmNlbCA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dOZXh0ID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1NhdmUgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKSBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uQmFjayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblNhdmVBbmRDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblNhdmVBbmROZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBob3RrZXlzOiBIb3RrZXlzLFxuICAgIHByb3RlY3RlZCBtZW51OiBNZW51U2VydmljZVxuICApIHtcbiAgICAvLyBDdHJsK1NcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgaG90a2V5c1xuICAgICAgICAuYWRkU2hvcnRjdXQoeyBrZXlzOiAnY29udHJvbC5zJywgZGVzY3JpcHRpb246ICdDT01NT04uQlROX1NBVkUnIH0pXG4gICAgICAgIC5waXBlKGZpbHRlcigoXykgPT4gIXRoaXMuZGlzYWJsZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vblNhdmUuZW1pdChldmVudCkpXG4gICAgKTtcblxuICAgIC8vIEN0cmwrWlxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBob3RrZXlzXG4gICAgICAgIC5hZGRTaG9ydGN1dCh7IGtleXM6ICdjb250cm9sLnonLCBkZXNjcmlwdGlvbjogJ0NPTU1PTi5CVE5fUkVTRVQnIH0pXG4gICAgICAgIC5waXBlKGZpbHRlcigoXykgPT4gIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMuZGlzYWJsZWRDYW5jZWwpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vbkNhbmNlbC5lbWl0KGV2ZW50KSlcbiAgICApO1xuXG4gICAgLy8gRXNjYXBlXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIGhvdGtleXNcbiAgICAgICAgLmFkZFNob3J0Y3V0KHsga2V5czogJ2VzY2FwZScsIGRlc2NyaXB0aW9uOiAnQ09NTU9OLkJUTl9DTE9TRScsIHByZXZlbnREZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSwgLy8gQWxsb3cgb3RoZXIgY29tcG9uZW50cyB0byBtYW5hZ2UgdGhlIGV2ZW50XG4gICAgICAgICAgZmlsdGVyKChlKSA9PiB0aGlzLnNob3dCYWNrICYmICFlLmRlZmF1bHRQcmV2ZW50ZWQgJiYgIXRoaXMuZGlzYWJsZWRFc2NhcGUpXG4gICAgICAgICAgLy90YXAoKCkgPT4gY29uc29sZS5kZWJ1ZygnW2Zvcm0tYnV0dG9ucy1iYXJdIEVtaXQgYmFjayBldmVudCAoa2V5ZG93bi5lc2NhcGUpJykpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMub25CYWNrLmVtaXQoZXZlbnQpKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uQ2FuY2VsLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vblNhdmUuY29tcGxldGUoKTtcbiAgICB0aGlzLm9uTmV4dC5jb21wbGV0ZSgpO1xuICAgIHRoaXMub25CYWNrLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vblNhdmVBbmROZXh0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vblNhdmVBbmRDbG9zZS5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8aW9uLXRvb2xiYXIgW2NsYXNzXT1cImNsYXNzTGlzdFwiPlxuICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCIgbm93cmFwPlxuICAgIDwhLS0gc2hvdyBtZW51IGJ1dHRvbiAtLT5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiIGNsYXNzPVwiaGlkZGVuLXhzIGhpZGRlbi1zbVwiPlxuICAgICAgPGlvbi1tZW51LXRvZ2dsZT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5CVE5fU0hPV19NRU5VJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlU3BsaXRQYW5lV2hlbigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXQtaWNvbj48c3Bhbj4mI3hiYjs8L3NwYW4+PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2lvbi1tZW51LXRvZ2dsZT5cbiAgICA8L2lvbi1jb2w+XG5cbiAgICA8aW9uLWNvbCBjbGFzcz1cImFwcC1mb3JtLWJ1dHRvbnMtYmFyLWNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2lvbi1jb2w+XG5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiIGNsYXNzPVwiYXBwLWZvcm0tYnV0dG9ucy1iYXItYnV0dG9uc1wiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9ZW5kXVwiPjwvbmctY29udGVudD5cblxuICAgICAgPCEtLSBiYWNrIC0tPlxuICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgY29sb3I9XCJkYXJrXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQmFjay5lbWl0KCRldmVudClcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25CYWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICpuZ0lmPVwic2hvd0JhY2sgJiYgb25CYWNrLm9ic2VydmVkXCJcbiAgICAgICAgY2xhc3M9XCJiYWNrXCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1sYWJlbD57eyBiYWNrVGV4dCB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8IS0tIGNhbmNlbCAtLT5cbiAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgIGNvbG9yPVwiZGFya1wiXG4gICAgICAgICpuZ0lmPVwic2hvd0NhbmNlbFwiXG4gICAgICAgIChjbGljayk9XCJvbkNhbmNlbC5lbWl0KCRldmVudClcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25DYW5jZWwuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkQ2FuY2VsXCJcbiAgICAgICAgY2xhc3M9XCJjYW5jZWxcIlxuICAgICAgPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cInJlZnJlc2hcIj48L2lvbi1pY29uPlxuICAgICAgICA8aW9uLWxhYmVsPnt7IGNhbmNlbFRleHQgfCB0cmFuc2xhdGUgfX08L2lvbi1sYWJlbD5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgPCEtLSBuZXh0IC0tPlxuICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgZmlsbD1cInNvbGlkXCJcbiAgICAgICAgKm5nSWY9XCJzaG93TmV4dCAmJiBvbk5leHQub2JzZXJ2ZWRcIlxuICAgICAgICAoY2xpY2spPVwib25OZXh0LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJvbk5leHQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJuZXh0XCJcbiAgICAgID5cbiAgICAgICAgPGlvbi1sYWJlbD57eyBuZXh0VGV4dCB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJhcnJvdy1mb3J3YXJkXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgPCEtLSBzYXZlIC0tPlxuICAgICAgQGlmIChzaG93U2F2ZSAmJiBvblNhdmUub2JzZXJ2ZWQpIHtcbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBbZmlsbF09XCJkaXNhYmxlZCA/ICdjbGVhcicgOiAnc29saWQnXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TYXZlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cIm9uU2F2ZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgIFtjb2xvcl09XCJzYXZlQnV0dG9uQ29sb3JcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgW3RpdGxlXT1cIidDT01NT04uQlROX1NBVkVfV0lUSF9TSE9SVENVVF9IRUxQJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJzYXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpb24tbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidDT01NT04uQlROX1NBVkVfV0lUSF9TSE9SVENVVCcgfCB0cmFuc2xhdGVcIj48L3NwYW4+XG4gICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIH1cblxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9YWZ0ZXJTYXZlXVwiPjwvbmctY29udGVudD5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cbjwvaW9uLXRvb2xiYXI+XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idXR0b25zLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvZm9ybS9idXR0b25zL2Zvcm0tYnV0dG9ucy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vYnV0dG9ucy9mb3JtLWJ1dHRvbnMtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFJdEQsTUFBTSxPQUFnQixtQkFBbUI7Q0FLeEM7QUFRRCxNQUFNLE9BQU8sdUJBQXVCO0lBNEJ0QjtJQTNCSixhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVsQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUN2QixTQUFTLENBQVM7SUFFbEIsZUFBZSxHQUFxQixRQUFRLENBQUM7SUFFN0MsUUFBUSxHQUFHLGtCQUFrQixDQUFDO0lBQzlCLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQUNoQyxRQUFRLEdBQUcsaUJBQWlCLENBQUM7SUFFN0IsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUVmLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxJQUFJLFlBQVks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QixFQUFFLENBQUM7c0dBSzFFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSG90a2V5cyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9ob3RrZXlzL2hvdGtleXMuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi9tZW51L21lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBQcmVkZWZpbmVkQ29sb3JzIH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybUJ1dHRvbnNCYXJUb2tlbiB7XG4gIGFic3RyYWN0IG9uQ2FuY2VsOiBFdmVudEVtaXR0ZXI8RXZlbnQ+O1xuICBhYnN0cmFjdCBvblNhdmU6IEV2ZW50RW1pdHRlcjxFdmVudD47XG4gIGFic3RyYWN0IG9uTmV4dDogRXZlbnRFbWl0dGVyPEV2ZW50PjtcbiAgYWJzdHJhY3Qgb25CYWNrOiBFdmVudEVtaXR0ZXI8RXZlbnQ+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybS1idXR0b25zLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWJ1dHRvbnMtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1idXR0b25zLWJhci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZvcm1CdXR0b25zQmFyVG9rZW4sIHVzZUV4aXN0aW5nOiBGb3JtQnV0dG9uc0JhckNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUJ1dHRvbnNCYXJDb21wb25lbnQgaW1wbGVtZW50cyBGb3JtQnV0dG9uc0JhclRva2VuLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWRDYW5jZWwgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWRFc2NhcGUgPSBmYWxzZTtcbiAgQElucHV0KCkgY2xhc3NMaXN0OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2F2ZUJ1dHRvbkNvbG9yOiBQcmVkZWZpbmVkQ29sb3JzID0gJ2Rhbmdlcic7XG5cbiAgQElucHV0KCkgYmFja1RleHQgPSAnQ09NTU9OLkJUTl9DTE9TRSc7XG4gIEBJbnB1dCgpIGNhbmNlbFRleHQgPSAnQ09NTU9OLkJUTl9SRVNFVCc7XG4gIEBJbnB1dCgpIG5leHRUZXh0ID0gJ0NPTU1PTi5CVE5fTkVYVCc7XG5cbiAgQElucHV0KCkgc2hvd0JhY2sgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93Q2FuY2VsID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd05leHQgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93U2F2ZSA9IHRydWU7XG5cbiAgQE91dHB1dCgpIG9uQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbk5leHQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25CYWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uU2F2ZUFuZENsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uU2F2ZUFuZE5leHQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGhvdGtleXM6IEhvdGtleXMsXG4gICAgcHJvdGVjdGVkIG1lbnU6IE1lbnVTZXJ2aWNlXG4gICkge1xuICAgIC8vIEN0cmwrU1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBob3RrZXlzXG4gICAgICAgIC5hZGRTaG9ydGN1dCh7IGtleXM6IGAke2hvdGtleXMuZGVmYXVsdENvbnRyb2xLZXl9LnNgLCBkZXNjcmlwdGlvbjogJ0NPTU1PTi5CVE5fU0FWRScgfSlcbiAgICAgICAgLnBpcGUoZmlsdGVyKChfKSA9PiAhdGhpcy5kaXNhYmxlZCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB0aGlzLm9uU2F2ZS5lbWl0KGV2ZW50KSlcbiAgICApO1xuXG4gICAgLy8gQ3RybCtaXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIGhvdGtleXNcbiAgICAgICAgLmFkZFNob3J0Y3V0KHsga2V5czogYCR7aG90a2V5cy5kZWZhdWx0Q29udHJvbEtleX0uemAsIGRlc2NyaXB0aW9uOiAnQ09NTU9OLkJUTl9SRVNFVCcgfSlcbiAgICAgICAgLnBpcGUoZmlsdGVyKChfKSA9PiAhdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5kaXNhYmxlZENhbmNlbCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB0aGlzLm9uQ2FuY2VsLmVtaXQoZXZlbnQpKVxuICAgICk7XG5cbiAgICAvLyBFc2NhcGVcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgaG90a2V5c1xuICAgICAgICAuYWRkU2hvcnRjdXQoeyBrZXlzOiAnZXNjYXBlJywgZGVzY3JpcHRpb246ICdDT01NT04uQlROX0NMT1NFJywgcHJldmVudERlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGRlYm91bmNlVGltZSgxMDApLCAvLyBBbGxvdyBvdGhlciBjb21wb25lbnRzIHRvIG1hbmFnZSB0aGUgZXZlbnRcbiAgICAgICAgICBmaWx0ZXIoKGUpID0+IHRoaXMuc2hvd0JhY2sgJiYgIWUuZGVmYXVsdFByZXZlbnRlZCAmJiAhdGhpcy5kaXNhYmxlZEVzY2FwZSlcbiAgICAgICAgICAvL3RhcCgoKSA9PiBjb25zb2xlLmRlYnVnKCdbZm9ybS1idXR0b25zLWJhcl0gRW1pdCBiYWNrIGV2ZW50IChrZXlkb3duLmVzY2FwZSknKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vbkJhY2suZW1pdChldmVudCkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25DYW5jZWwuY29tcGxldGUoKTtcbiAgICB0aGlzLm9uU2F2ZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMub25OZXh0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vbkJhY2suY29tcGxldGUoKTtcbiAgICB0aGlzLm9uU2F2ZUFuZE5leHQuY29tcGxldGUoKTtcbiAgICB0aGlzLm9uU2F2ZUFuZENsb3NlLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxpb24tdG9vbGJhciBbY2xhc3NdPVwiY2xhc3NMaXN0XCI+XG4gIDxpb24tcm93IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIiBub3dyYXA+XG4gICAgPCEtLSBzaG93IG1lbnUgYnV0dG9uIC0tPlxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCIgY2xhc3M9XCJoaWRkZW4teHMgaGlkZGVuLXNtXCI+XG4gICAgICA8aW9uLW1lbnUtdG9nZ2xlPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9TSE9XX01FTlUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwibWVudS50b2dnbGVTcGxpdFBhbmVXaGVuKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPG1hdC1pY29uPjxzcGFuPiYjeGJiOzwvc3Bhbj48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvaW9uLW1lbnUtdG9nZ2xlPlxuICAgIDwvaW9uLWNvbD5cblxuICAgIDxpb24tY29sIGNsYXNzPVwiYXBwLWZvcm0tYnV0dG9ucy1iYXItY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvaW9uLWNvbD5cblxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCIgY2xhc3M9XCJhcHAtZm9ybS1idXR0b25zLWJhci1idXR0b25zXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1lbmRdXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICA8IS0tIGJhY2sgLS0+XG4gICAgICA8aW9uLWJ1dHRvblxuICAgICAgICBmaWxsPVwiY2xlYXJcIlxuICAgICAgICBjb2xvcj1cImRhcmtcIlxuICAgICAgICAoY2xpY2spPVwib25CYWNrLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJvbkJhY2suZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKm5nSWY9XCJzaG93QmFjayAmJiBvbkJhY2sub2JzZXJ2ZWRcIlxuICAgICAgICBjbGFzcz1cImJhY2tcIlxuICAgICAgPlxuICAgICAgICA8aW9uLWxhYmVsPnt7IGJhY2tUZXh0IHwgdHJhbnNsYXRlIH19PC9pb24tbGFiZWw+XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDwhLS0gY2FuY2VsIC0tPlxuICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgY29sb3I9XCJkYXJrXCJcbiAgICAgICAgKm5nSWY9XCJzaG93Q2FuY2VsXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChrZXl1cC5lbnRlcik9XCJvbkNhbmNlbC5lbWl0KCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRDYW5jZWxcIlxuICAgICAgICBjbGFzcz1cImNhbmNlbFwiXG4gICAgICA+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwicmVmcmVzaFwiPjwvaW9uLWljb24+XG4gICAgICAgIDxpb24tbGFiZWw+e3sgY2FuY2VsVGV4dCB8IHRyYW5zbGF0ZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8IS0tIG5leHQgLS0+XG4gICAgICA8aW9uLWJ1dHRvblxuICAgICAgICBmaWxsPVwic29saWRcIlxuICAgICAgICAqbmdJZj1cInNob3dOZXh0ICYmIG9uTmV4dC5vYnNlcnZlZFwiXG4gICAgICAgIChjbGljayk9XCJvbk5leHQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cIm9uTmV4dC5lbWl0KCRldmVudClcIlxuICAgICAgICBjbGFzcz1cIm5leHRcIlxuICAgICAgPlxuICAgICAgICA8aW9uLWxhYmVsPnt7IG5leHRUZXh0IHwgdHJhbnNsYXRlIH19PC9pb24tbGFiZWw+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiZW5kXCIgbmFtZT1cImFycm93LWZvcndhcmRcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8IS0tIHNhdmUgLS0+XG4gICAgICBAaWYgKHNob3dTYXZlICYmIG9uU2F2ZS5vYnNlcnZlZCkge1xuICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgIFtmaWxsXT1cImRpc2FibGVkID8gJ2NsZWFyJyA6ICdzb2xpZCdcIlxuICAgICAgICAgIChjbGljayk9XCJvblNhdmUuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25TYXZlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgW2NvbG9yXT1cInNhdmVCdXR0b25Db2xvclwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5CVE5fU0FWRV9XSVRIX1NIT1JUQ1VUX0hFTFAnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICBjbGFzcz1cInNhdmVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiJ0NPTU1PTi5CVE5fU0FWRV9XSVRIX1NIT1JUQ1VUJyB8IHRyYW5zbGF0ZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgfVxuXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1hZnRlclNhdmVdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvaW9uLWNvbD5cbiAgPC9pb24tcm93PlxuPC9pb24tdG9vbGJhcj5cbiJdfQ==
@@ -130,6 +130,11 @@ export const CORE_CONFIG_OPTIONS = Object.freeze({
130
130
  label: 'CONFIGURATION.OPTIONS.FORUM_URL',
131
131
  type: 'string',
132
132
  },
133
+ REPORT_ISSUE_URL: {
134
+ key: 'sumaris.reportIssue.url',
135
+ label: 'CONFIGURATION.OPTIONS.REPORT_ISSUE_URL',
136
+ type: 'string',
137
+ },
133
138
  LOGO_LARGE: {
134
139
  key: 'sumaris.logo.large',
135
140
  label: 'CONFIGURATION.OPTIONS.HOME.LOGO_LARGE',
@@ -230,4 +235,4 @@ export const CORE_CONFIG_OPTIONS = Object.freeze({
230
235
  isTransient: true,
231
236
  },
232
237
  });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvY29uZmlnL2NvcmUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd0RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9DLElBQUksRUFBdUI7UUFDekIsR0FBRyxFQUFFLGNBQWM7UUFDbkIsS0FBSyxFQUFFLDRCQUE0QjtRQUNuQyxJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0QsT0FBTyxFQUF1QjtRQUM1QixHQUFHLEVBQUUsaUJBQWlCO1FBQ3RCLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsSUFBSSxFQUFFLFFBQVE7S0FDZjtJQUNELGNBQWMsRUFBdUI7UUFDbkMsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixLQUFLLEVBQUUsc0NBQXNDO1FBQzdDLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLFdBQVc7S0FDcEI7SUFDRCx1QkFBdUIsRUFBdUI7UUFDNUMsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxLQUFLLEVBQUUsOENBQThDO1FBQ3JELElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFO1lBQ047Z0JBQ0UsR0FBRyxFQUFFLFFBQVE7Z0JBQ2IsS0FBSyxFQUFFLG9DQUFvQzthQUM1QztZQUNEO2dCQUNFLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxrQ0FBa0M7YUFDMUM7WUFDRDtnQkFDRSxHQUFHLEVBQUUsSUFBSTtnQkFDVCxLQUFLLEVBQUUsZ0NBQWdDO2FBQ3hDO1NBQ0Y7S0FDRjtJQUNEOztPQUVHO0lBQ0gsYUFBYTtJQUNiLCtCQUErQixFQUF1QjtRQUNwRCxHQUFHLEVBQUUsc0NBQXNDO1FBQzNDLEtBQUssRUFBRSxxREFBcUQ7UUFDNUQs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LElBQUksRUFBRSxPQUFPO0tBQ2Q7SUFDRCxvQ0FBb0MsRUFBdUI7UUFDekQsR0FBRyxFQUFFLDRDQUE0QztRQUNqRCxLQUFLLEVBQUUsNERBQTREO1FBQ25FLElBQUksRUFBRSxPQUFPO0tBQ2Q7SUFDRCxtQkFBbUIsRUFBdUI7UUFDeEMsR0FBRyxFQUFFLDZCQUE2QjtRQUNsQyxLQUFLLEVBQUUsMkNBQTJDO1FBQ2xELElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRCxXQUFXLEVBQXVCO1FBQ2hDLEdBQUcsRUFBRSxpQ0FBaUM7UUFDdEMsS0FBSyxFQUFFLG1DQUFtQztRQUMxQyxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJLEVBQUUsZ0NBQWdDO0tBQ3BEO0lBQ0QsOEJBQThCLEVBQXVCO1FBQ25ELEdBQUcsRUFBRSxzQ0FBc0M7UUFDM0MsS0FBSyxFQUFFLHFEQUFxRDtRQUM1RCxJQUFJLEVBQUUsU0FBUztRQUNmLFlBQVksRUFBRSxJQUFJO0tBQ25CO0lBQ0QsZ0JBQWdCLEVBQXVCO1FBQ3JDLEdBQUcsRUFBRSwwQkFBMEI7UUFDL0IsS0FBSyxFQUFFLHdDQUF3QztRQUMvQyxJQUFJLEVBQUUsU0FBUztRQUNmLFlBQVksRUFBRSxLQUFLO1FBQ25CLFdBQVcsRUFBRSxJQUFJO0tBQ2xCO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogcmVuYW1lIHRvIENPTkZJR19PUFRJT05TX01BUFxuLy8gdGhlbiBkZWNsYXJlIGEgdHlwZSBsaWtlIHRoaXMgOlxuLy8gPiBleHBvcnQgZGVjbGFyZSB0eXBlIENvbmZpZ09wdGlvbnMgPSBrZXkgb2YgQ09ORklHX09QVElPTlNfTUFQXG5pbXBvcnQgeyBGb3JtRmllbGREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0vZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQVBQX0xPQ0FMRVMgfSBmcm9tICcuLi9tb2RlbC9zZXR0aW5ncy5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoVG9rZW5UeXBlIH0gZnJvbSAnLi4vbmV0d29yay50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBDT1JFX0NPTkZJR19PUFRJT05TID0gT2JqZWN0LmZyZWV6ZSh7XG4gIExPR086IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmxvZ28nLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkxPR08nLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9LFxuICBGQVZJQ09OOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5mYXZpY29uJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5GQVZJQ09OJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSxcbiAgREVGQVVMVF9MT0NBTEU6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmRlZmF1bHRMb2NhbGUnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkRFRkFVTFRfTE9DQUxFJyxcbiAgICB0eXBlOiAnZW51bScsXG4gICAgdmFsdWVzOiBBUFBfTE9DQUxFUyxcbiAgfSxcbiAgREVGQVVMVF9MQVRfTE9OR19GT1JNQVQ6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmRlZmF1bHRMYXRMb25nRm9ybWF0JyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5ERUZBVUxUX0xBVExPTkdfRk9STUFUJyxcbiAgICB0eXBlOiAnZW51bScsXG4gICAgdmFsdWVzOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ0RETU1TUycsXG4gICAgICAgIHZhbHVlOiAnQ09NTU9OLkxBVF9MT05HLkRETU1TU19QTEFDRUhPTERFUicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdERE1NJyxcbiAgICAgICAgdmFsdWU6ICdDT01NT04uTEFUX0xPTkcuRERNTV9QTEFDRUhPTERFUicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdERCcsXG4gICAgICAgIHZhbHVlOiAnQ09NTU9OLkxBVF9MT05HLkREX1BMQUNFSE9MREVSJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgQUNDT1VOVF9MQVRfTE9OR19GT1JNQVRfRU5BQkxFYCBpbnN0ZWFkXG4gICAqL1xuICAvL0BkZXByZWNhdGVkXG4gIERFRkFVTFRfTEFUX0xPTkdfRk9STUFUX0VOQUJMRUQ6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmRlZmF1bHRMYXRMb25nRm9ybWF0LmVuYWJsZWQnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkVOQUJMRV9ERUZBVUxUX0xBVExPTkdfRk9STUFUJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLCAvLyBJbXBvcnRhbnQsIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbiBhZnRlciBkZXByZWNhdGlvblxuICB9LFxuICBSRUdJU1RSQVRJT05fRU5BQkxFOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5yZWdpc3RyYXRpb24uZW5hYmxlJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IT01FLkVOQUJMRV9SRUdJU1RSQVRJT04nLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gIH0sXG4gIEFVVEhfVE9LRU5fVFlQRTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuYXV0aC50b2tlbi50eXBlJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEVfUExBQ0VIT0xERVInLFxuICAgIHR5cGU6ICdlbnVtJyxcbiAgICB2YWx1ZXM6IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiA8QXV0aFRva2VuVHlwZT4ndG9rZW4nLFxuICAgICAgICB2YWx1ZTogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEUuVE9LRU4nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiA8QXV0aFRva2VuVHlwZT4nYmFzaWMnLFxuICAgICAgICB2YWx1ZTogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEUuQkFTSUMnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiA8QXV0aFRva2VuVHlwZT4nYmFzaWMtYW5kLXRva2VuJyxcbiAgICAgICAgdmFsdWU6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQVVUSF9UT0tFTl9UWVBFLkJBU0lDX0FORF9UT0tFTicsXG4gICAgICB9LFxuICAgIF0sXG4gICAgZGVmYXVsdFZhbHVlOiA8QXV0aFRva2VuVHlwZT4ndG9rZW4nLFxuICB9LFxuICBBVVRIX1JFU0VUX1BBU1NXT1JEX0VOQUJMRTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuYXV0aC5yZXNldC5lbmFibGUnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkhPTUUuQ0hBTkdFX1BBU1NXT1JEJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICB9LFxuICBBVVRIX0FQSV9UT0tFTl9FTkFCTEVEOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5hdXRoLmFwaS50b2tlbi5lbmFibGVkJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5FTkFCTEVfQVVUSF9BUElfVE9LRU5TJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBpc1RyYW5zaWVudDogdHJ1ZSxcbiAgfSxcbiAgQVVUSF9BUElfVE9LRU5fU0NPUEVfRU5BQkxFRDogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuYXV0aC5hcGkudG9rZW4uc2NvcGUuZW5hYmxlZCcsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuRU5BQkxFX0FVVEhfQVBJX1RPS0VOU19TQ09QRScsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgaXNUcmFuc2llbnQ6IHRydWUsXG4gIH0sXG4gIERFRkFVTFRfQVVUSF9BUElfVE9LRU5fU0NPUEU6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmF1dGguYXBpLnRva2VuLnNjb3BlLmRlZmF1bHQnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkRFRkFVTFRfQVVUSF9BUElfVE9LRU5fU0NPUEUnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGRlZmF1bHRWYWx1ZTogJ3JlYWRfYXBpJyxcbiAgICBpc1RyYW5zaWVudDogdHJ1ZSxcbiAgfSxcbiAgR1JBVkFUQVJfRU5BQkxFOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5ncmF2YXRhci5lbmFibGUnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkVOQUJMRV9HUkFWQVRBUicsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gIH0sXG4gIEdSQVZBVEFSX1VSTDogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuZ3JhdmF0YXIudXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5HUkFWQVRBUl9VUkwnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGRlZmF1bHRWYWx1ZTogJ2h0dHBzOi8vd3d3LmdyYXZhdGFyLmNvbS9hdmF0YXIve21kNX0nLFxuICB9LFxuICBURVNUSU5HOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy50ZXN0aW5nLmVuYWJsZScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuVEVTVElORycsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICB9LFxuICBBUFBfTUlOX1ZFUlNJT046IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmFwcC52ZXJzaW9uLm1pbicsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQVBQX01JTl9WRVJTSU9OJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSxcbiAgSEVMUF9VUkw6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmhlbHAudXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IRUxQX1VSTCcsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gIH0sXG4gIEZPUlVNX1VSTDogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuZm9ydW0udXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5GT1JVTV9VUkwnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9LFxuICBMT0dPX0xBUkdFOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5sb2dvLmxhcmdlJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IT01FLkxPR09fTEFSR0UnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9LFxuICBNRU5VX0lURU1TOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5tZW51Lml0ZW1zJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5NRU5VLklURU1TJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAvLyAtLSBGT1IgREVWXG4gICAgLyosZGVmYXVsdFZhbHVlOiBKU09OLnN0cmluZ2lmeShbXG4gICAgICAgIHt0aXRsZTogXCJJdGVtICMxXCIsIHBhdGg6IFwiL3NldHRpbmdzXCIsIGljb246IFwicGVvcGxlXCIsIGFmdGVyOiBcIk1FTlUuSE9NRVwifSxcbiAgICAgICAge3RpdGxlOiBcIkl0ZW0gIzJcIiwgcGF0aDogXCIvc2V0dGluZ3NcIiwgaWNvbjogXCJwZW9wbGVcIiwgYmVmb3JlOiBcIk1FTlUuTE9HT1VUXCJ9XG4gICAgXSkqL1xuICB9LFxuICBIT01FX1BBUlRORVJTX0RFUEFSVE1FTlRTOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5wYXJ0bmVyLmRlcGFydG1lbnRzJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IT01FLlBBUlRORVJfREVQQVJUTUVOVFMnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9LFxuICBIT01FX0JBQ0tHUk9VTkRfSU1BR0U6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmJhY2tncm91bmQuaW1hZ2VzJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IT01FLkJBQ0tHUk9VTkRfSU1BR0VTJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSxcbiAgQ09MT1JfUFJJTUFSWTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3IucHJpbWFyeScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQ09MT1JTLlBSSU1BUlknLFxuICAgIHR5cGU6ICdjb2xvcicsXG4gIH0sXG4gIENPTE9SX1NFQ09OREFSWTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3Iuc2Vjb25kYXJ5JyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5DT0xPUlMuU0VDT05EQVJZJyxcbiAgICB0eXBlOiAnY29sb3InLFxuICB9LFxuICBDT0xPUl9URVJUSUFSWTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3IudGVydGlhcnknLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkNPTE9SUy5URVJUSUFSWScsXG4gICAgdHlwZTogJ2NvbG9yJyxcbiAgfSxcbiAgQ09MT1JfU1VDQ0VTUzogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3Iuc3VjY2VzcycsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQ09MT1JTLlNVQ0NFU1MnLFxuICAgIHR5cGU6ICdjb2xvcicsXG4gIH0sXG4gIENPTE9SX1dBUk5JTkc6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmNvbG9yLndhcm5pbmcnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkNPTE9SUy5XQVJOSU5HJyxcbiAgICB0eXBlOiAnY29sb3InLFxuICB9LFxuICBDT0xPUl9BQ0NFTlQ6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmNvbG9yLmFjY2VudCcsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQ09MT1JTLkFDQ0VOVCcsXG4gICAgdHlwZTogJ2NvbG9yJyxcbiAgfSxcbiAgQ09MT1JfREFOR0VSOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5jb2xvci5kYW5nZXInLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkNPTE9SUy5EQU5HRVInLFxuICAgIHR5cGU6ICdjb2xvcicsXG4gIH0sXG4gIEZPUk1fRklFTERfQkFDS0dST1VORF9DT0xPUjogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMudGhlbWUuZmllbGRCYWNrZ3JvdW5kQ29sb3InLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkZPUk1fRklFTERfQkFDS0dST1VORF9DT0xPUicsXG4gICAgdHlwZTogJ2NvbG9yJyxcbiAgfSxcbiAgRk9STV9GSUVMRF9GT0NVU19CQUNLR1JPVU5EX0NPTE9SOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy50aGVtZS5maWVsZEZvY3VzQmFja2dyb3VuZENvbG9yJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5GT1JNX0ZJRUxEX0ZPQ1VTX0JBQ0tHUk9VTkRfQ09MT1InLFxuICAgIHR5cGU6ICdjb2xvcicsXG4gIH0sXG4gIEZPUk1fRklFTERfRElTQUJMRURfQkFDS0dST1VORF9DT0xPUjogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMudGhlbWUuZmllbGREaXNhYmxlZEJhY2tncm91bmRDb2xvcicsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuRk9STV9GSUVMRF9ESVNBQkxFRF9CQUNLR1JPVU5EX0NPTE9SJyxcbiAgICB0eXBlOiAnY29sb3InLFxuICB9LFxuICBBTkRST0lEX0lOU1RBTExfVVJMOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5hbmRyb2lkLmluc3RhbGwudXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BTkRST0lEX0lOU1RBTExfVVJMJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSxcbiAgREJfVElNRVpPTkU6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLnBlcnNpc3RlbmNlLmRiLnRpbWV6b25lJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5EQl9USU1FWk9ORScsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgaXNUcmFuc2llbnQ6IHRydWUsIC8vIE9ubHkgb24gc2VydmVyLCBjYW5ub3QgYmUgc2V0XG4gIH0sXG4gIEFDQ09VTlRfTEFUX0xPTkdfRk9STUFUX0VOQUJMRTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuYWNjb3VudC5sYXRMb25nRm9ybWF0LmVuYWJsZScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQUNDT1VOVC5FTkFCTEVfTEFUTE9OR19GT1JNQVQnLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gIH0sXG4gIEFDQ09VTlRfUkVBRE9OTFk6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmFjY291bnQucmVhZE9ubHknLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkFDQ09VTlQuUkVBRE9OTFknLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGlzVHJhbnNpZW50OiB0cnVlLFxuICB9LFxufSk7XG4iXX0=
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvc2VydmljZXMvY29uZmlnL2NvcmUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd0RCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9DLElBQUksRUFBdUI7UUFDekIsR0FBRyxFQUFFLGNBQWM7UUFDbkIsS0FBSyxFQUFFLDRCQUE0QjtRQUNuQyxJQUFJLEVBQUUsUUFBUTtLQUNmO0lBQ0QsT0FBTyxFQUF1QjtRQUM1QixHQUFHLEVBQUUsaUJBQWlCO1FBQ3RCLEtBQUssRUFBRSwrQkFBK0I7UUFDdEMsSUFBSSxFQUFFLFFBQVE7S0FDZjtJQUNELGNBQWMsRUFBdUI7UUFDbkMsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixLQUFLLEVBQUUsc0NBQXNDO1FBQzdDLElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFLFdBQVc7S0FDcEI7SUFDRCx1QkFBdUIsRUFBdUI7UUFDNUMsR0FBRyxFQUFFLDhCQUE4QjtRQUNuQyxLQUFLLEVBQUUsOENBQThDO1FBQ3JELElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTSxFQUFFO1lBQ047Z0JBQ0UsR0FBRyxFQUFFLFFBQVE7Z0JBQ2IsS0FBSyxFQUFFLG9DQUFvQzthQUM1QztZQUNEO2dCQUNFLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxrQ0FBa0M7YUFDMUM7WUFDRDtnQkFDRSxHQUFHLEVBQUUsSUFBSTtnQkFDVCxLQUFLLEVBQUUsZ0NBQWdDO2FBQ3hDO1NBQ0Y7S0FDRjtJQUNEOztPQUVHO0lBQ0gsYUFBYTtJQUNiLCtCQUErQixFQUF1QjtRQUNwRCxHQUFHLEVBQUUsc0NBQXNDO1FBQzNDLEtBQUssRUFBRSxxREFBcUQ7UUFDNUQs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LElBQUksRUFBRSxPQUFPO0tBQ2Q7SUFDRCxpQ0FBaUMsRUFBdUI7UUFDdEQsR0FBRyxFQUFFLHlDQUF5QztRQUM5QyxLQUFLLEVBQUUseURBQXlEO1FBQ2hFLElBQUksRUFBRSxPQUFPO0tBQ2Q7SUFDRCxvQ0FBb0MsRUFBdUI7UUFDekQsR0FBRyxFQUFFLDRDQUE0QztRQUNqRCxLQUFLLEVBQUUsNERBQTREO1FBQ25FLElBQUksRUFBRSxPQUFPO0tBQ2Q7SUFDRCxtQkFBbUIsRUFBdUI7UUFDeEMsR0FBRyxFQUFFLDZCQUE2QjtRQUNsQyxLQUFLLEVBQUUsMkNBQTJDO1FBQ2xELElBQUksRUFBRSxRQUFRO0tBQ2Y7SUFDRCxXQUFXLEVBQXVCO1FBQ2hDLEdBQUcsRUFBRSxpQ0FBaUM7UUFDdEMsS0FBSyxFQUFFLG1DQUFtQztRQUMxQyxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSxJQUFJLEVBQUUsZ0NBQWdDO0tBQ3BEO0lBQ0QsOEJBQThCLEVBQXVCO1FBQ25ELEdBQUcsRUFBRSxzQ0FBc0M7UUFDM0MsS0FBSyxFQUFFLHFEQUFxRDtRQUM1RCxJQUFJLEVBQUUsU0FBUztRQUNmLFlBQVksRUFBRSxJQUFJO0tBQ25CO0lBQ0QsZ0JBQWdCLEVBQXVCO1FBQ3JDLEdBQUcsRUFBRSwwQkFBMEI7UUFDL0IsS0FBSyxFQUFFLHdDQUF3QztRQUMvQyxJQUFJLEVBQUUsU0FBUztRQUNmLFlBQVksRUFBRSxLQUFLO1FBQ25CLFdBQVcsRUFBRSxJQUFJO0tBQ2xCO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogcmVuYW1lIHRvIENPTkZJR19PUFRJT05TX01BUFxuLy8gdGhlbiBkZWNsYXJlIGEgdHlwZSBsaWtlIHRoaXMgOlxuLy8gPiBleHBvcnQgZGVjbGFyZSB0eXBlIENvbmZpZ09wdGlvbnMgPSBrZXkgb2YgQ09ORklHX09QVElPTlNfTUFQXG5pbXBvcnQgeyBGb3JtRmllbGREZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm0vZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQVBQX0xPQ0FMRVMgfSBmcm9tICcuLi9tb2RlbC9zZXR0aW5ncy5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoVG9rZW5UeXBlIH0gZnJvbSAnLi4vbmV0d29yay50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBDT1JFX0NPTkZJR19PUFRJT05TID0gT2JqZWN0LmZyZWV6ZSh7XG4gIExPR086IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmxvZ28nLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkxPR08nLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9LFxuICBGQVZJQ09OOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5mYXZpY29uJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5GQVZJQ09OJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSxcbiAgREVGQVVMVF9MT0NBTEU6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmRlZmF1bHRMb2NhbGUnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkRFRkFVTFRfTE9DQUxFJyxcbiAgICB0eXBlOiAnZW51bScsXG4gICAgdmFsdWVzOiBBUFBfTE9DQUxFUyxcbiAgfSxcbiAgREVGQVVMVF9MQVRfTE9OR19GT1JNQVQ6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmRlZmF1bHRMYXRMb25nRm9ybWF0JyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5ERUZBVUxUX0xBVExPTkdfRk9STUFUJyxcbiAgICB0eXBlOiAnZW51bScsXG4gICAgdmFsdWVzOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ0RETU1TUycsXG4gICAgICAgIHZhbHVlOiAnQ09NTU9OLkxBVF9MT05HLkRETU1TU19QTEFDRUhPTERFUicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdERE1NJyxcbiAgICAgICAgdmFsdWU6ICdDT01NT04uTEFUX0xPTkcuRERNTV9QTEFDRUhPTERFUicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICdERCcsXG4gICAgICAgIHZhbHVlOiAnQ09NTU9OLkxBVF9MT05HLkREX1BMQUNFSE9MREVSJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgQUNDT1VOVF9MQVRfTE9OR19GT1JNQVRfRU5BQkxFYCBpbnN0ZWFkXG4gICAqL1xuICAvL0BkZXByZWNhdGVkXG4gIERFRkFVTFRfTEFUX0xPTkdfRk9STUFUX0VOQUJMRUQ6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmRlZmF1bHRMYXRMb25nRm9ybWF0LmVuYWJsZWQnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkVOQUJMRV9ERUZBVUxUX0xBVExPTkdfRk9STUFUJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLCAvLyBJbXBvcnRhbnQsIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbiBhZnRlciBkZXByZWNhdGlvblxuICB9LFxuICBSRUdJU1RSQVRJT05fRU5BQkxFOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5yZWdpc3RyYXRpb24uZW5hYmxlJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IT01FLkVOQUJMRV9SRUdJU1RSQVRJT04nLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gIH0sXG4gIEFVVEhfVE9LRU5fVFlQRTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuYXV0aC50b2tlbi50eXBlJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEVfUExBQ0VIT0xERVInLFxuICAgIHR5cGU6ICdlbnVtJyxcbiAgICB2YWx1ZXM6IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiA8QXV0aFRva2VuVHlwZT4ndG9rZW4nLFxuICAgICAgICB2YWx1ZTogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEUuVE9LRU4nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiA8QXV0aFRva2VuVHlwZT4nYmFzaWMnLFxuICAgICAgICB2YWx1ZTogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BVVRIX1RPS0VOX1RZUEUuQkFTSUMnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiA8QXV0aFRva2VuVHlwZT4nYmFzaWMtYW5kLXRva2VuJyxcbiAgICAgICAgdmFsdWU6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQVVUSF9UT0tFTl9UWVBFLkJBU0lDX0FORF9UT0tFTicsXG4gICAgICB9LFxuICAgIF0sXG4gICAgZGVmYXVsdFZhbHVlOiA8QXV0aFRva2VuVHlwZT4ndG9rZW4nLFxuICB9LFxuICBBVVRIX1JFU0VUX1BBU1NXT1JEX0VOQUJMRTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuYXV0aC5yZXNldC5lbmFibGUnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkhPTUUuQ0hBTkdFX1BBU1NXT1JEJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICB9LFxuICBBVVRIX0FQSV9UT0tFTl9FTkFCTEVEOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5hdXRoLmFwaS50b2tlbi5lbmFibGVkJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5FTkFCTEVfQVVUSF9BUElfVE9LRU5TJyxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBpc1RyYW5zaWVudDogdHJ1ZSxcbiAgfSxcbiAgQVVUSF9BUElfVE9LRU5fU0NPUEVfRU5BQkxFRDogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuYXV0aC5hcGkudG9rZW4uc2NvcGUuZW5hYmxlZCcsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuRU5BQkxFX0FVVEhfQVBJX1RPS0VOU19TQ09QRScsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgaXNUcmFuc2llbnQ6IHRydWUsXG4gIH0sXG4gIERFRkFVTFRfQVVUSF9BUElfVE9LRU5fU0NPUEU6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmF1dGguYXBpLnRva2VuLnNjb3BlLmRlZmF1bHQnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkRFRkFVTFRfQVVUSF9BUElfVE9LRU5fU0NPUEUnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGRlZmF1bHRWYWx1ZTogJ3JlYWRfYXBpJyxcbiAgICBpc1RyYW5zaWVudDogdHJ1ZSxcbiAgfSxcbiAgR1JBVkFUQVJfRU5BQkxFOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5ncmF2YXRhci5lbmFibGUnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkVOQUJMRV9HUkFWQVRBUicsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gIH0sXG4gIEdSQVZBVEFSX1VSTDogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuZ3JhdmF0YXIudXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5HUkFWQVRBUl9VUkwnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIGRlZmF1bHRWYWx1ZTogJ2h0dHBzOi8vd3d3LmdyYXZhdGFyLmNvbS9hdmF0YXIve21kNX0nLFxuICB9LFxuICBURVNUSU5HOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy50ZXN0aW5nLmVuYWJsZScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuVEVTVElORycsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICB9LFxuICBBUFBfTUlOX1ZFUlNJT046IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmFwcC52ZXJzaW9uLm1pbicsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQVBQX01JTl9WRVJTSU9OJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSxcbiAgSEVMUF9VUkw6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmhlbHAudXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IRUxQX1VSTCcsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gIH0sXG4gIEZPUlVNX1VSTDogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuZm9ydW0udXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5GT1JVTV9VUkwnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9LFxuICBSRVBPUlRfSVNTVUVfVVJMOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5yZXBvcnRJc3N1ZS51cmwnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLlJFUE9SVF9JU1NVRV9VUkwnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9LFxuICBMT0dPX0xBUkdFOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5sb2dvLmxhcmdlJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IT01FLkxPR09fTEFSR0UnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9LFxuICBNRU5VX0lURU1TOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5tZW51Lml0ZW1zJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5NRU5VLklURU1TJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAvLyAtLSBGT1IgREVWXG4gICAgLyosZGVmYXVsdFZhbHVlOiBKU09OLnN0cmluZ2lmeShbXG4gICAgICAgIHt0aXRsZTogXCJJdGVtICMxXCIsIHBhdGg6IFwiL3NldHRpbmdzXCIsIGljb246IFwicGVvcGxlXCIsIGFmdGVyOiBcIk1FTlUuSE9NRVwifSxcbiAgICAgICAge3RpdGxlOiBcIkl0ZW0gIzJcIiwgcGF0aDogXCIvc2V0dGluZ3NcIiwgaWNvbjogXCJwZW9wbGVcIiwgYmVmb3JlOiBcIk1FTlUuTE9HT1VUXCJ9XG4gICAgXSkqL1xuICB9LFxuICBIT01FX1BBUlRORVJTX0RFUEFSVE1FTlRTOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5wYXJ0bmVyLmRlcGFydG1lbnRzJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IT01FLlBBUlRORVJfREVQQVJUTUVOVFMnLFxuICAgIHR5cGU6ICdzdHJpbmcnLFxuICB9LFxuICBIT01FX0JBQ0tHUk9VTkRfSU1BR0U6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmJhY2tncm91bmQuaW1hZ2VzJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5IT01FLkJBQ0tHUk9VTkRfSU1BR0VTJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSxcbiAgQ09MT1JfUFJJTUFSWTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3IucHJpbWFyeScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQ09MT1JTLlBSSU1BUlknLFxuICAgIHR5cGU6ICdjb2xvcicsXG4gIH0sXG4gIENPTE9SX1NFQ09OREFSWTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3Iuc2Vjb25kYXJ5JyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5DT0xPUlMuU0VDT05EQVJZJyxcbiAgICB0eXBlOiAnY29sb3InLFxuICB9LFxuICBDT0xPUl9URVJUSUFSWTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3IudGVydGlhcnknLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkNPTE9SUy5URVJUSUFSWScsXG4gICAgdHlwZTogJ2NvbG9yJyxcbiAgfSxcbiAgQ09MT1JfU1VDQ0VTUzogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuY29sb3Iuc3VjY2VzcycsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQ09MT1JTLlNVQ0NFU1MnLFxuICAgIHR5cGU6ICdjb2xvcicsXG4gIH0sXG4gIENPTE9SX1dBUk5JTkc6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmNvbG9yLndhcm5pbmcnLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkNPTE9SUy5XQVJOSU5HJyxcbiAgICB0eXBlOiAnY29sb3InLFxuICB9LFxuICBDT0xPUl9BQ0NFTlQ6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmNvbG9yLmFjY2VudCcsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQ09MT1JTLkFDQ0VOVCcsXG4gICAgdHlwZTogJ2NvbG9yJyxcbiAgfSxcbiAgQ09MT1JfREFOR0VSOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5jb2xvci5kYW5nZXInLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkNPTE9SUy5EQU5HRVInLFxuICAgIHR5cGU6ICdjb2xvcicsXG4gIH0sXG4gIEZPUk1fRklFTERfQkFDS0dST1VORF9DT0xPUjogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMudGhlbWUuZmllbGRCYWNrZ3JvdW5kQ29sb3InLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkZPUk1fRklFTERfQkFDS0dST1VORF9DT0xPUicsXG4gICAgdHlwZTogJ2NvbG9yJyxcbiAgfSxcbiAgRk9STV9GSUVMRF9GT0NVU19CQUNLR1JPVU5EX0NPTE9SOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy50aGVtZS5maWVsZEZvY3VzQmFja2dyb3VuZENvbG9yJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5GT1JNX0ZJRUxEX0ZPQ1VTX0JBQ0tHUk9VTkRfQ09MT1InLFxuICAgIHR5cGU6ICdjb2xvcicsXG4gIH0sXG4gIEZPUk1fRklFTERfRElTQUJMRURfQkFDS0dST1VORF9DT0xPUjogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMudGhlbWUuZmllbGREaXNhYmxlZEJhY2tncm91bmRDb2xvcicsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuRk9STV9GSUVMRF9ESVNBQkxFRF9CQUNLR1JPVU5EX0NPTE9SJyxcbiAgICB0eXBlOiAnY29sb3InLFxuICB9LFxuICBBTkRST0lEX0lOU1RBTExfVVJMOiA8Rm9ybUZpZWxkRGVmaW5pdGlvbj57XG4gICAga2V5OiAnc3VtYXJpcy5hbmRyb2lkLmluc3RhbGwudXJsJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5BTkRST0lEX0lOU1RBTExfVVJMJyxcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgfSxcbiAgREJfVElNRVpPTkU6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLnBlcnNpc3RlbmNlLmRiLnRpbWV6b25lJyxcbiAgICBsYWJlbDogJ0NPTkZJR1VSQVRJT04uT1BUSU9OUy5EQl9USU1FWk9ORScsXG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgaXNUcmFuc2llbnQ6IHRydWUsIC8vIE9ubHkgb24gc2VydmVyLCBjYW5ub3QgYmUgc2V0XG4gIH0sXG4gIEFDQ09VTlRfTEFUX0xPTkdfRk9STUFUX0VOQUJMRTogPEZvcm1GaWVsZERlZmluaXRpb24+e1xuICAgIGtleTogJ3N1bWFyaXMuYWNjb3VudC5sYXRMb25nRm9ybWF0LmVuYWJsZScsXG4gICAgbGFiZWw6ICdDT05GSUdVUkFUSU9OLk9QVElPTlMuQUNDT1VOVC5FTkFCTEVfTEFUTE9OR19GT1JNQVQnLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gIH0sXG4gIEFDQ09VTlRfUkVBRE9OTFk6IDxGb3JtRmllbGREZWZpbml0aW9uPntcbiAgICBrZXk6ICdzdW1hcmlzLmFjY291bnQucmVhZE9ubHknLFxuICAgIGxhYmVsOiAnQ09ORklHVVJBVElPTi5PUFRJT05TLkFDQ09VTlQuUkVBRE9OTFknLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGlzVHJhbnNpZW50OiB0cnVlLFxuICB9LFxufSk7XG4iXX0=
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
20
20
  type: Inject,
21
21
  args: [MAT_DIALOG_DATA]
22
22
  }] }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5cy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9kaWFsb2cvaG90a2V5cy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9kaWFsb2cvaG90a2V5cy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBTTNELE1BQU0sT0FBTyxzQkFBc0I7SUFHYztJQUYvQyxPQUFPLENBQVE7SUFFZixZQUErQyxJQUFJO1FBQUosU0FBSSxHQUFKLElBQUksQ0FBQTtRQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7dUdBTFUsc0JBQXNCLGtCQUdiLGVBQWU7MkZBSHhCLHNCQUFzQixvRENQbkMsa1BBV0E7OzJGREphLHNCQUFzQjtrQkFKbEMsU0FBUzs7OzBCQU9LLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2hvdGtleXMtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG90a2V5cy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSG90a2V5c0RpYWxvZ0NvbXBvbmVudCB7XG4gIGhvdGtleXM6IGFueVtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgZGF0YSkge1xuICAgIHRoaXMuaG90a2V5cyA9IEFycmF5LmZyb20odGhpcy5kYXRhKTtcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwiaW9uLXBhZGRpbmdcIj5cbiAgPHRib2R5PlxuICAgIDx0ciAqbmdGb3I9XCJsZXQga2V5cyBvZiBob3RrZXlzXCI+XG4gICAgICA8dGQ+e3sga2V5c1sxXSB8IHRyYW5zbGF0ZSB9fTwvdGQ+XG5cbiAgICAgIDx0ZCBjbGFzcz1cInRleHQtcmlnaHRcIj5cbiAgICAgICAgPGtiZD57eyBrZXlzWzBdIH19PC9rYmQ+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5cy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9kaWFsb2cvaG90a2V5cy1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9kaWFsb2cvaG90a2V5cy1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7O0FBTTNELE1BQU0sT0FBTyxzQkFBc0I7SUFHYztJQUYvQyxPQUFPLENBQVE7SUFFZixZQUErQyxJQUFTO1FBQVQsU0FBSSxHQUFKLElBQUksQ0FBSztRQUN0RCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7dUdBTFUsc0JBQXNCLGtCQUdiLGVBQWU7MkZBSHhCLHNCQUFzQixvRENQbkMsa1BBV0E7OzJGREphLHNCQUFzQjtrQkFKbEMsU0FBUzs7OzBCQU9LLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2hvdGtleXMtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG90a2V5cy1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSG90a2V5c0RpYWxvZ0NvbXBvbmVudCB7XG4gIGhvdGtleXM6IGFueVtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcm90ZWN0ZWQgZGF0YTogYW55KSB7XG4gICAgdGhpcy5ob3RrZXlzID0gQXJyYXkuZnJvbSh0aGlzLmRhdGEpO1xuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJpb24tcGFkZGluZ1wiPlxuICA8dGJvZHk+XG4gICAgPHRyICpuZ0Zvcj1cImxldCBrZXlzIG9mIGhvdGtleXNcIj5cbiAgICAgIDx0ZD57eyBrZXlzWzFdIHwgdHJhbnNsYXRlIH19PC90ZD5cblxuICAgICAgPHRkIGNsYXNzPVwidGV4dC1yaWdodFwiPlxuICAgICAgICA8a2JkPnt7IGtleXNbMF0gfX08L2tiZD5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Inject, inject, Injectable, InjectionToken, Optional } from '@angular/core';
2
- import { Observable } from 'rxjs';
2
+ import { delay, Observable } from 'rxjs';
3
3
  import { DOCUMENT } from '@angular/common';
4
4
  import { HotkeysDialogComponent } from './dialog/hotkeys-dialog.component';
5
5
  import { isNotNilOrBlank } from '../functions';
@@ -15,6 +15,7 @@ export class Hotkeys {
15
15
  modalController;
16
16
  popoverController;
17
17
  _debug = false;
18
+ _id = 0;
18
19
  _hotkeys = new Map();
19
20
  _document = inject(DOCUMENT);
20
21
  _defaults = {
@@ -22,9 +23,13 @@ export class Hotkeys {
22
23
  preventDefault: true,
23
24
  };
24
25
  _dialogRef;
26
+ _dialogIsOpened = false;
25
27
  _config;
26
28
  defaultControlKey;
27
29
  defaultControlKeyName;
30
+ get isHelpModalOpened() {
31
+ return !!this._dialogRef;
32
+ }
28
33
  constructor(platform, eventManager, dialog, modalController, popoverController, config) {
29
34
  this.eventManager = eventManager;
30
35
  this.dialog = dialog;
@@ -37,9 +42,9 @@ export class Hotkeys {
37
42
  };
38
43
  // Add shortcut to open help modal
39
44
  if (this._config.enableHelpModal) {
40
- this.addShortcut({ keys: this._config.openHelpModalShortcut }).subscribe(() => this.openHelpModal());
41
45
  if (this._debug)
42
46
  console.debug(`[hotkeys] Starting hotkeys service... Press ${this._config.openHelpModalShortcut} to get help modal.`);
47
+ this.addShortcut({ keys: this._config.openHelpModalShortcut }).subscribe(() => this.toggleHelpModal());
43
48
  }
44
49
  const isIOS = platform.is('ios');
45
50
  this.defaultControlKey = isIOS ? 'meta' : 'control';
@@ -49,11 +54,14 @@ export class Hotkeys {
49
54
  }
50
55
  addShortcut(options) {
51
56
  const merged = { ...this._defaults, ...options };
57
+ if (!merged.keys)
58
+ throw new Error("Missing 'keys' or 'description' attribute");
52
59
  const event = `keydown.${merged.keys}`;
60
+ const id = this._id++;
61
+ this._hotkeys.set(id, merged);
53
62
  if (isNotNilOrBlank(merged.description)) {
54
63
  if (this._debug)
55
64
  console.debug(`[hotkeys] Add shortcut {${options.keys}}: ${merged.description}`);
56
- this._hotkeys.set(merged.keys, merged.description);
57
65
  }
58
66
  else {
59
67
  if (this._debug)
@@ -79,27 +87,48 @@ export class Hotkeys {
79
87
  const dispose = this.eventManager.addEventListener(merged.element, event, handler);
80
88
  return () => {
81
89
  dispose();
82
- this._hotkeys.delete(merged.keys);
90
+ this._hotkeys.delete(id);
83
91
  };
84
92
  });
85
93
  }
86
- openHelpModal() {
87
- if (this._dialogRef) {
88
- this._dialogRef.close(true);
89
- return;
94
+ toggleHelpModal() {
95
+ if (this.isHelpModalOpened) {
96
+ this.closeHelpModal();
97
+ }
98
+ else {
99
+ this.openHelpModal();
90
100
  }
101
+ }
102
+ openHelpModal() {
103
+ if (this.isHelpModalOpened)
104
+ return; // Skip if already opened
105
+ // Get keys with a not blank description
106
+ const hotkeys = Array.from(this._hotkeys.values()).reduce((map, item) => {
107
+ if (isNotNilOrBlank(item?.description)) {
108
+ map.set(item.keys, item.description);
109
+ }
110
+ return map;
111
+ }, new Map());
112
+ if (hotkeys.size === 0)
113
+ return; // Nothing to display
91
114
  this._dialogRef = this.dialog.open(HotkeysDialogComponent, {
92
115
  width: '500px',
93
- data: this._hotkeys,
116
+ data: hotkeys,
94
117
  });
95
118
  this._dialogRef
96
119
  .afterClosed()
97
- .pipe(first())
120
+ .pipe(first(),
121
+ // Avoid too many call (e.g. in Safari)
122
+ delay(250))
98
123
  .subscribe(() => {
99
124
  // Forget the dialog ref
100
125
  this._dialogRef = null;
126
+ console.debug('[hotkeys] Closing help modal');
101
127
  });
102
128
  }
129
+ closeHelpModal() {
130
+ this._dialogRef?.close(true);
131
+ }
103
132
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: Hotkeys, deps: [{ token: i1.Platform }, { token: i2.EventManager }, { token: i3.MatDialog }, { token: i1.ModalController }, { token: i1.PopoverController }, { token: APP_HOTKEYS_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
104
133
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: Hotkeys, providedIn: 'root' });
105
134
  }
@@ -114,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
114
143
  type: Inject,
115
144
  args: [APP_HOTKEYS_CONFIG]
116
145
  }] }] });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9ob3RrZXlzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUcvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBc0J2QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsZUFBZSxDQUFDLENBQUM7QUFLOUYsTUFBTSxPQUFPLE9BQU87SUFnQlI7SUFDQTtJQUNBO0lBQ0E7SUFsQkYsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsU0FBUyxHQUFxQjtRQUNwQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVM7UUFDdkIsY0FBYyxFQUFFLElBQUk7S0FDckIsQ0FBQztJQUNNLFVBQVUsQ0FBb0I7SUFDOUIsT0FBTyxDQUF5QjtJQUUvQixpQkFBaUIsQ0FBUztJQUMxQixxQkFBcUIsQ0FBUztJQUV2QyxZQUNFLFFBQWtCLEVBQ1YsWUFBMEIsRUFDMUIsTUFBaUIsRUFDakIsZUFBZ0MsRUFDaEMsaUJBQW9DLEVBQ0osTUFBK0I7UUFKL0QsaUJBQVksR0FB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LE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnRNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIb3RrZXlzRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2cvaG90a2V5cy1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IGlzTm90TmlsT3JCbGFuayB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIsIFBsYXRmb3JtLCBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbnRlcmZhY2UgT3B0aW9ucyB7XG4gIGVsZW1lbnQ6IGFueTtcbiAgZWxlbWVudE5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAga2V5czogc3RyaW5nO1xuICBwcmV2ZW50RGVmYXVsdDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIb3RLZXlzQ29uZmlnIHtcbiAgLyoqXG4gICAqIFNob3J0Y3V0IHRvIG9wZW4gdGhlIGhvdGtleXMgaGVscCBtb2RhbFxuICAgKi9cbiAgb3BlbkhlbHBNb2RhbFNob3J0Y3V0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSB0aGUgaG90a2V5cyBoZWxwIG1vZGFsXG4gICAqL1xuICBlbmFibGVIZWxwTW9kYWw6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBBUFBfSE9US0VZU19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFydGlhbDxIb3RLZXlzQ29uZmlnPj4oJ0hvdEtleXNDb25maWcnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEhvdGtleXMge1xuICBwcml2YXRlIF9kZWJ1ZyA9IGZhbHNlO1xuICBwcml2YXRlIF9ob3RrZXlzID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgX2RlZmF1bHRzOiBQYXJ0aWFsPE9wdGlvbnM+ID0ge1xuICAgIGVsZW1lbnQ6IHRoaXMuX2RvY3VtZW50LFxuICAgIHByZXZlbnREZWZhdWx0OiB0cnVlLFxuICB9O1xuICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+O1xuICBwcml2YXRlIF9jb25maWc6IFBhcnRpYWw8SG90S2V5c0NvbmZpZz47XG5cbiAgcmVhZG9ubHkgZGVmYXVsdENvbnRyb2xLZXk6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVmYXVsdENvbnRyb2xLZXlOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgIHByaXZhdGUgZXZlbnRNYW5hZ2VyOiBFdmVudE1hbmFnZXIsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIG1vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyLFxuICAgIHByaXZhdGUgcG9wb3ZlckNvbnRyb2xsZXI6IFBvcG92ZXJDb250cm9sbGVyLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBQX0hPVEtFWVNfQ09ORklHKSBjb25maWc/OiBQYXJ0aWFsPEhvdEtleXNDb25maWc+XG4gICkge1xuICAgIHRoaXMuX2NvbmZpZyA9IHtcbiAgICAgIGVuYWJsZUhlbHBNb2RhbDogdHJ1ZSxcbiAgICAgIG9wZW5IZWxwTW9kYWxTaG9ydGN1dDogJ0YxJyxcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9O1xuXG4gICAgLy8gQWRkIHNob3J0Y3V0IHRvIG9wZW4gaGVscCBtb2RhbFxuICAgIGlmICh0aGlzLl9jb25maWcuZW5hYmxlSGVscE1vZGFsKSB7XG4gICAgICB0aGlzLmFkZFNob3J0Y3V0KHsga2V5czogdGhpcy5fY29uZmlnLm9wZW5IZWxwTW9kYWxTaG9ydGN1dCB9KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vcGVuSGVscE1vZGFsKCkpO1xuICAgICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbaG90a2V5c10gU3RhcnRpbmcgaG90a2V5cyBzZXJ2aWNlLi4uIFByZXNzICR7dGhpcy5fY29uZmlnLm9wZW5IZWxwTW9kYWxTaG9ydGN1dH0gdG8gZ2V0IGhlbHAgbW9kYWwuYCk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNJT1MgPSBwbGF0Zm9ybS5pcygnaW9zJyk7XG4gICAgdGhpcy5kZWZhdWx0Q29udHJvbEtleSA9IGlzSU9TID8gJ21ldGEnIDogJ2NvbnRyb2wnO1xuICAgIHRoaXMuZGVmYXVsdENvbnRyb2xLZXlOYW1lID0gaXNJT1MgPyAn4oyYJyA6ICdDdHJsJztcblxuICAgIC8vIEZvciBERVYgb25seVxuICAgIC8vdGhpcy5fZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgfVxuXG4gIGFkZFNob3J0Y3V0KG9wdGlvbnM6IFBhcnRpYWw8T3B0aW9ucz4pOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+IHtcbiAgICBjb25zdCBtZXJnZWQgPSB7IC4uLnRoaXMuX2RlZmF1bHRzLCAuLi5vcHRpb25zIH07XG4gICAgY29uc3QgZXZlbnQgPSBga2V5ZG93bi4ke21lcmdlZC5rZXlzfWA7XG5cbiAgICBpZiAoaXNOb3ROaWxPckJsYW5rKG1lcmdlZC5kZXNjcmlwdGlvbikpIHtcbiAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW2hvdGtleXNdIEFkZCBzaG9ydGN1dCB7JHtvcHRpb25zLmtleXN9fTogJHttZXJnZWQuZGVzY3JpcHRpb259YCk7XG4gICAgICB0aGlzLl9ob3RrZXlzLnNldChtZXJnZWQua2V5cywgbWVyZ2VkLmRlc2NyaXB0aW9uKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX2RlYnVnKSBjb25zb2xlLmRlYnVnKGBbaG90a2V5c10gQWRkIHNob3J0Y3V0IHske29wdGlvbnMua2V5c319YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlciA9IGFzeW5jIChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIC8vIEdldCB0b3AgY29tcG9uZW50IGZyb20gTW9kYWxDb250cm9sbGVyXG4gICAgICAgIGNvbnN0IHRvcCA9IChhd2FpdCB0aGlzLm1vZGFsQ29udHJvbGxlci5nZXRUb3AoKSkgfHwgKGF3YWl0IHRoaXMucG9wb3ZlckNvbnRyb2xsZXIuZ2V0VG9wKCkpO1xuICAgICAgICAvLyBJZiBtb2RhbCBwcmVzZW50LCBjaGVjayBpdHMgY29tcG9uZW50IG5hbWUgYWdhaW5zdCBob3RrZXkgZWxlbWVudCBuYW1lIChmaXggIzE4MSlcbiAgICAgICAgaWYgKHRvcCAmJiB0b3AuY29tcG9uZW50WyduYW1lJ10gIT09IG1lcmdlZC5lbGVtZW50TmFtZSkge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50ICYmIGUucmVwZWF0KSByZXR1cm47IC8vIHNraXAgd2hlbiByZXBlYXRlZFxuICAgICAgICBpZiAobWVyZ2VkLnByZXZlbnREZWZhdWx0KSBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW2hvdGtleXNdIFNob3J0Y3V0IHske29wdGlvbnMua2V5c319IGRldGVjdGVkLi4uYCk7XG4gICAgICAgIG9ic2VydmVyLm5leHQoZSk7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBkaXNwb3NlID0gdGhpcy5ldmVudE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihtZXJnZWQuZWxlbWVudCwgZXZlbnQsIGhhbmRsZXIpO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBkaXNwb3NlKCk7XG4gICAgICAgIHRoaXMuX2hvdGtleXMuZGVsZXRlKG1lcmdlZC5rZXlzKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICBvcGVuSGVscE1vZGFsKCkge1xuICAgIGlmICh0aGlzLl9kaWFsb2dSZWYpIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihIb3RrZXlzRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzUwMHB4JyxcbiAgICAgIGRhdGE6IHRoaXMuX2hvdGtleXMsXG4gICAgfSk7XG4gICAgdGhpcy5fZGlhbG9nUmVmXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvLyBGb3JnZXQgdGhlIGRpYWxvZyByZWZcbiAgICAgICAgdGhpcy5fZGlhbG9nUmVmID0gbnVsbDtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvaG90a2V5cy9ob3RrZXlzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5HLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBc0J2QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsZUFBZSxDQUFDLENBQUM7QUFLOUYsTUFBTSxPQUFPLE9BQU87SUFzQlI7SUFDQTtJQUNBO0lBQ0E7SUF4QkYsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLEdBQUcsR0FBVyxDQUFDLENBQUM7SUFDaEIsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0lBQ3RDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsU0FBUyxHQUFxQjtRQUNwQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVM7UUFDdkIsY0FBYyxFQUFFLElBQUk7S0FDckIsQ0FBQztJQUNNLFVBQVUsQ0FBb0I7SUFDOUIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUN4QixPQUFPLENBQXlCO0lBRS9CLGlCQUFpQixDQUFTO0lBQzFCLHFCQUFxQixDQUFTO0lBRXZDLElBQUksaUJBQWlCO1FBQ25CLE9B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ZXIsIEluamVjdCwgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgZGVsYXksIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEhvdGtleXNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy9ob3RrZXlzLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNOaWxPckJsYW5rLCBpc05vdE5pbE9yQmxhbmsgfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBQbGF0Zm9ybSwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW50ZXJmYWNlIE9wdGlvbnMge1xuICBlbGVtZW50OiBhbnk7XG4gIGVsZW1lbnROYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGtleXM6IHN0cmluZztcbiAgcHJldmVudERlZmF1bHQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG90S2V5c0NvbmZpZyB7XG4gIC8qKlxuICAgKiBTaG9ydGN1dCB0byBvcGVuIHRoZSBob3RrZXlzIGhlbHAgbW9kYWxcbiAgICovXG4gIG9wZW5IZWxwTW9kYWxTaG9ydGN1dDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgdGhlIGhvdGtleXMgaGVscCBtb2RhbFxuICAgKi9cbiAgZW5hYmxlSGVscE1vZGFsOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgQVBQX0hPVEtFWVNfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPFBhcnRpYWw8SG90S2V5c0NvbmZpZz4+KCdIb3RLZXlzQ29uZmlnJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBIb3RrZXlzIHtcbiAgcHJpdmF0ZSBfZGVidWcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaWQ6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgX2hvdGtleXMgPSBuZXcgTWFwPG51bWJlciwgT3B0aW9ucz4oKTtcbiAgcHJpdmF0ZSBfZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIF9kZWZhdWx0czogUGFydGlhbDxPcHRpb25zPiA9IHtcbiAgICBlbGVtZW50OiB0aGlzLl9kb2N1bWVudCxcbiAgICBwcmV2ZW50RGVmYXVsdDogdHJ1ZSxcbiAgfTtcbiAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PjtcbiAgcHJpdmF0ZSBfZGlhbG9nSXNPcGVuZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY29uZmlnOiBQYXJ0aWFsPEhvdEtleXNDb25maWc+O1xuXG4gIHJlYWRvbmx5IGRlZmF1bHRDb250cm9sS2V5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlZmF1bHRDb250cm9sS2V5TmFtZTogc3RyaW5nO1xuXG4gIGdldCBpc0hlbHBNb2RhbE9wZW5lZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9kaWFsb2dSZWY7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgcHJpdmF0ZSBldmVudE1hbmFnZXI6IEV2ZW50TWFuYWdlcixcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgbW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgcHJpdmF0ZSBwb3BvdmVyQ29udHJvbGxlcjogUG9wb3ZlckNvbnRyb2xsZXIsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfSE9US0VZU19DT05GSUcpIGNvbmZpZz86IFBhcnRpYWw8SG90S2V5c0NvbmZpZz5cbiAgKSB7XG4gICAgdGhpcy5fY29uZmlnID0ge1xuICAgICAgZW5hYmxlSGVscE1vZGFsOiB0cnVlLFxuICAgICAgb3BlbkhlbHBNb2RhbFNob3J0Y3V0OiAnRjEnLFxuICAgICAgLi4uY29uZmlnLFxuICAgIH07XG5cbiAgICAvLyBBZGQgc2hvcnRjdXQgdG8gb3BlbiBoZWxwIG1vZGFsXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5lbmFibGVIZWxwTW9kYWwpIHtcbiAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW2hvdGtleXNdIFN0YXJ0aW5nIGhvdGtleXMgc2VydmljZS4uLiBQcmVzcyAke3RoaXMuX2NvbmZpZy5vcGVuSGVscE1vZGFsU2hvcnRjdXR9IHRvIGdldCBoZWxwIG1vZGFsLmApO1xuXG4gICAgICB0aGlzLmFkZFNob3J0Y3V0KHsga2V5czogdGhpcy5fY29uZmlnLm9wZW5IZWxwTW9kYWxTaG9ydGN1dCB9KS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGVIZWxwTW9kYWwoKSk7XG4gICAgfVxuXG4gICAgY29uc3QgaXNJT1MgPSBwbGF0Zm9ybS5pcygnaW9zJyk7XG4gICAgdGhpcy5kZWZhdWx0Q29udHJvbEtleSA9IGlzSU9TID8gJ21ldGEnIDogJ2NvbnRyb2wnO1xuICAgIHRoaXMuZGVmYXVsdENvbnRyb2xLZXlOYW1lID0gaXNJT1MgPyAn4oyYJyA6ICdDdHJsJztcblxuICAgIC8vIEZvciBERVYgb25seVxuICAgIC8vdGhpcy5fZGVidWcgPSAhZW52aXJvbm1lbnQucHJvZHVjdGlvbjtcbiAgfVxuXG4gIGFkZFNob3J0Y3V0KG9wdGlvbnM6IFBhcnRpYWw8T3B0aW9ucz4pOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+IHtcbiAgICBjb25zdCBtZXJnZWQgPSA8T3B0aW9ucz57IC4uLnRoaXMuX2RlZmF1bHRzLCAuLi5vcHRpb25zIH07XG4gICAgaWYgKCFtZXJnZWQua2V5cykgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyAna2V5cycgb3IgJ2Rlc2NyaXB0aW9uJyBhdHRyaWJ1dGVcIik7XG4gICAgY29uc3QgZXZlbnQgPSBga2V5ZG93bi4ke21lcmdlZC5rZXlzfWA7XG4gICAgY29uc3QgaWQgPSB0aGlzLl9pZCsrO1xuXG4gICAgdGhpcy5faG90a2V5cy5zZXQoaWQsIG1lcmdlZCk7XG5cbiAgICBpZiAoaXNOb3ROaWxPckJsYW5rKG1lcmdlZC5kZXNjcmlwdGlvbikpIHtcbiAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW2hvdGtleXNdIEFkZCBzaG9ydGN1dCB7JHtvcHRpb25zLmtleXN9fTogJHttZXJnZWQuZGVzY3JpcHRpb259YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLl9kZWJ1ZykgY29uc29sZS5kZWJ1ZyhgW2hvdGtleXNdIEFkZCBzaG9ydGN1dCB7JHtvcHRpb25zLmtleXN9fWApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXIpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZXIgPSBhc3luYyAoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICAvLyBHZXQgdG9wIGNvbXBvbmVudCBmcm9tIE1vZGFsQ29udHJvbGxlclxuICAgICAgICBjb25zdCB0b3AgPSAoYXdhaXQgdGhpcy5tb2RhbENvbnRyb2xsZXIuZ2V0VG9wKCkpIHx8IChhd2FpdCB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmdldFRvcCgpKTtcbiAgICAgICAgLy8gSWYgbW9kYWwgcHJlc2VudCwgY2hlY2sgaXRzIGNvbXBvbmVudCBuYW1lIGFnYWluc3QgaG90a2V5IGVsZW1lbnQgbmFtZSAoZml4ICMxODEpXG4gICAgICAgIGlmICh0b3AgJiYgdG9wLmNvbXBvbmVudFsnbmFtZSddICE9PSBtZXJnZWQuZWxlbWVudE5hbWUpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCAmJiBlLnJlcGVhdCkgcmV0dXJuOyAvLyBza2lwIHdoZW4gcmVwZWF0ZWRcbiAgICAgICAgaWYgKG1lcmdlZC5wcmV2ZW50RGVmYXVsdCkgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGhpcy5fZGVidWcpIGNvbnNvbGUuZGVidWcoYFtob3RrZXlzXSBTaG9ydGN1dCB7JHtvcHRpb25zLmtleXN9fSBkZXRlY3RlZC4uLmApO1xuICAgICAgICBvYnNlcnZlci5uZXh0KGUpO1xuICAgICAgfTtcblxuICAgICAgY29uc3QgZGlzcG9zZSA9IHRoaXMuZXZlbnRNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIobWVyZ2VkLmVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyKTtcblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZGlzcG9zZSgpO1xuICAgICAgICB0aGlzLl9ob3RrZXlzLmRlbGV0ZShpZCk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgdG9nZ2xlSGVscE1vZGFsKCkge1xuICAgIGlmICh0aGlzLmlzSGVscE1vZGFsT3BlbmVkKSB7XG4gICAgICB0aGlzLmNsb3NlSGVscE1vZGFsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3BlbkhlbHBNb2RhbCgpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5IZWxwTW9kYWwoKSB7XG4gICAgaWYgKHRoaXMuaXNIZWxwTW9kYWxPcGVuZWQpIHJldHVybjsgLy8gU2tpcCBpZiBhbHJlYWR5IG9wZW5lZFxuXG4gICAgLy8gR2V0IGtleXMgd2l0aCBhIG5vdCBibGFuayBkZXNjcmlwdGlvblxuICAgIGNvbnN0IGhvdGtleXMgPSBBcnJheS5mcm9tKHRoaXMuX2hvdGtleXMudmFsdWVzKCkpLnJlZHVjZSgobWFwLCBpdGVtOiBPcHRpb25zKSA9PiB7XG4gICAgICBpZiAoaXNOb3ROaWxPckJsYW5rKGl0ZW0/LmRlc2NyaXB0aW9uKSkge1xuICAgICAgICBtYXAuc2V0KGl0ZW0ua2V5cywgaXRlbS5kZXNjcmlwdGlvbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWFwO1xuICAgIH0sIG5ldyBNYXAoKSk7XG5cbiAgICBpZiAoaG90a2V5cy5zaXplID09PSAwKSByZXR1cm47IC8vIE5vdGhpbmcgdG8gZGlzcGxheVxuXG4gICAgdGhpcy5fZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihIb3RrZXlzRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICB3aWR0aDogJzUwMHB4JyxcbiAgICAgIGRhdGE6IGhvdGtleXMsXG4gICAgfSk7XG4gICAgdGhpcy5fZGlhbG9nUmVmXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIC8vIEF2b2lkIHRvbyBtYW55IGNhbGwgKGUuZy4gaW4gU2FmYXJpKVxuICAgICAgICBkZWxheSgyNTApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gRm9yZ2V0IHRoZSBkaWFsb2cgcmVmXG4gICAgICAgIHRoaXMuX2RpYWxvZ1JlZiA9IG51bGw7XG4gICAgICAgIGNvbnNvbGUuZGVidWcoJ1tob3RrZXlzXSBDbG9zaW5nIGhlbHAgbW9kYWwnKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgY2xvc2VIZWxwTW9kYWwoKSB7XG4gICAgdGhpcy5fZGlhbG9nUmVmPy5jbG9zZSh0cnVlKTtcbiAgfVxufVxuIl19