@sunbird-cb/toc 0.0.4-mauritius → 0.0.5-mauritius

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.
@@ -5,18 +5,20 @@ import { jsPDF } from 'jspdf';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@sunbird-cb/utils-v2";
7
7
  import * as i2 from "@angular/material/legacy-dialog";
8
- import * as i3 from "@angular/material/legacy-button";
9
- import * as i4 from "@angular/material/legacy-card";
10
- import * as i5 from "@angular/material/divider";
11
- import * as i6 from "@angular/material/icon";
12
- import * as i7 from "@angular/material/legacy-menu";
13
- import * as i8 from "@ngx-translate/core";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@angular/material/legacy-button";
10
+ import * as i5 from "@angular/material/legacy-card";
11
+ import * as i6 from "@angular/material/divider";
12
+ import * as i7 from "@angular/material/icon";
13
+ import * as i8 from "@angular/material/legacy-menu";
14
+ import * as i9 from "@ngx-translate/core";
14
15
  export class CertificateDialogComponent {
15
- constructor(events, dialogRef, data, environment) {
16
+ constructor(events, dialogRef, data, environment, domainConfService) {
16
17
  this.events = events;
17
18
  this.dialogRef = dialogRef;
18
19
  this.data = data;
19
20
  this.environment = environment;
21
+ this.domainConfService = domainConfService;
20
22
  this.navUrl = '';
21
23
  }
22
24
  ngOnInit() {
@@ -205,17 +207,17 @@ export class CertificateDialogComponent {
205
207
  type: WsEvents.EnumInteractSubTypes.CERTIFICATE,
206
208
  });
207
209
  }
208
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CertificateDialogComponent, deps: [{ token: i1.EventService }, { token: i2.MatLegacyDialogRef }, { token: MAT_DIALOG_DATA }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Component }); }
209
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CertificateDialogComponent, selector: "ws-widget-certificate-dialog", host: { classAttribute: "certificate-inner-dialog-panel" }, ngImport: i0, template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex flex-row-reverse gap-4\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a mat-button [matMenuTriggerFor]=\"shareMenu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <mat-menu #shareMenu=\"matMenu\">\n <button mat-menu-item (click)='shareOnLinkedIn()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z\"/>\n </svg>\n </mat-icon>\n <span>LinkedIn</span>\n </button>\n <button mat-menu-item (click)='shareOnFacebook()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z\"/>\n </svg>\n </mat-icon>\n <span>Facebook</span>\n </button>\n <button mat-menu-item (click)='shareOnTwitter()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.70,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z\"/>\n </svg>\n </mat-icon>\n <span>Twitter</span>\n </button>\n <button mat-menu-item (click)='shareOnWhatsApp()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z\"/>\n </svg>\n </mat-icon>\n <span>WhatsApp</span>\n </button>\n <button mat-menu-item (click)='shareViaEmail()'>\n <mat-icon>email</mat-icon>\n <span>Email</span>\n </button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)='copyCertificateLink()'>\n <mat-icon>content_copy</mat-icon>\n <span>Copy Link</span>\n </button>\n </mat-menu>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n", styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}@media only screen and (max-width: 1279px){.certificate-banner-image{width:100%;height:auto;flex:1}}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:#0009;font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}::ng-deep .close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important}::ng-deep .close-icon{transition:1s ease-in-out;color:#fff!important}::ng-deep .close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;position:absolute;top:19px;right:18px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width: 1279px){.certificate-banner-image svg{width:auto;height:auto;flex:1}}.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.close-button{position:absolute!important;top:19px!important;right:18px!important}@media screen and (max-width: 1200px){.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 8px;border-radius:4px;overflow:visible}.gap-4{grid-gap:0rem;gap:0rem}}\n"], dependencies: [{ kind: "component", type: i3.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatLegacyAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i4.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i4.MatLegacyCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2.MatLegacyDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i7.MatLegacyMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i7.MatLegacyMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.MatLegacyMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i1.PipeSafeSanitizerPipe, name: "pipeSafeSanitizer" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CertificateDialogComponent, deps: [{ token: i1.EventService }, { token: i2.MatLegacyDialogRef }, { token: MAT_DIALOG_DATA }, { token: 'environment' }, { token: i1.DomainConfService }], target: i0.ɵɵFactoryTarget.Component }); }
211
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CertificateDialogComponent, selector: "ws-widget-certificate-dialog", host: { classAttribute: "certificate-inner-dialog-panel" }, ngImport: i0, template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex flex-row-reverse gap-4\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a *ngIf=\"(domainConfService?.isFeatureByPageEnabled('toc','shareToc'))\" mat-button [matMenuTriggerFor]=\"shareMenu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <mat-menu #shareMenu=\"matMenu\">\n <button mat-menu-item (click)='shareOnLinkedIn()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z\"/>\n </svg>\n </mat-icon>\n <span>LinkedIn</span>\n </button>\n <button mat-menu-item (click)='shareOnFacebook()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z\"/>\n </svg>\n </mat-icon>\n <span>Facebook</span>\n </button>\n <button mat-menu-item (click)='shareOnTwitter()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.70,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z\"/>\n </svg>\n </mat-icon>\n <span>Twitter</span>\n </button>\n <button mat-menu-item (click)='shareOnWhatsApp()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z\"/>\n </svg>\n </mat-icon>\n <span>WhatsApp</span>\n </button>\n <button mat-menu-item (click)='shareViaEmail()'>\n <mat-icon>email</mat-icon>\n <span>Email</span>\n </button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)='copyCertificateLink()'>\n <mat-icon>content_copy</mat-icon>\n <span>Copy Link</span>\n </button>\n </mat-menu>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n", styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}@media only screen and (max-width: 1279px){.certificate-banner-image{width:100%;height:auto;flex:1}}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:#0009;font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}::ng-deep .close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important}::ng-deep .close-icon{transition:1s ease-in-out;color:#fff!important}::ng-deep .close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;position:absolute;top:19px;right:18px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width: 1279px){.certificate-banner-image svg{width:auto;height:auto;flex:1}}.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.close-button{position:absolute!important;top:19px!important;right:18px!important}@media screen and (max-width: 1200px){.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 8px;border-radius:4px;overflow:visible}.gap-4{grid-gap:0rem;gap:0rem}}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatLegacyAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i5.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i5.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i5.MatLegacyCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2.MatLegacyDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: i8.MatLegacyMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i8.MatLegacyMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatLegacyMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: i1.PipeSafeSanitizerPipe, name: "pipeSafeSanitizer" }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }] }); }
210
212
  }
211
213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CertificateDialogComponent, decorators: [{
212
214
  type: Component,
213
- args: [{ selector: 'ws-widget-certificate-dialog', host: { class: 'certificate-inner-dialog-panel' }, template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex flex-row-reverse gap-4\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a mat-button [matMenuTriggerFor]=\"shareMenu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <mat-menu #shareMenu=\"matMenu\">\n <button mat-menu-item (click)='shareOnLinkedIn()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z\"/>\n </svg>\n </mat-icon>\n <span>LinkedIn</span>\n </button>\n <button mat-menu-item (click)='shareOnFacebook()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z\"/>\n </svg>\n </mat-icon>\n <span>Facebook</span>\n </button>\n <button mat-menu-item (click)='shareOnTwitter()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.70,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z\"/>\n </svg>\n </mat-icon>\n <span>Twitter</span>\n </button>\n <button mat-menu-item (click)='shareOnWhatsApp()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z\"/>\n </svg>\n </mat-icon>\n <span>WhatsApp</span>\n </button>\n <button mat-menu-item (click)='shareViaEmail()'>\n <mat-icon>email</mat-icon>\n <span>Email</span>\n </button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)='copyCertificateLink()'>\n <mat-icon>content_copy</mat-icon>\n <span>Copy Link</span>\n </button>\n </mat-menu>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n", styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}@media only screen and (max-width: 1279px){.certificate-banner-image{width:100%;height:auto;flex:1}}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:#0009;font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}::ng-deep .close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important}::ng-deep .close-icon{transition:1s ease-in-out;color:#fff!important}::ng-deep .close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;position:absolute;top:19px;right:18px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width: 1279px){.certificate-banner-image svg{width:auto;height:auto;flex:1}}.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.close-button{position:absolute!important;top:19px!important;right:18px!important}@media screen and (max-width: 1200px){.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 8px;border-radius:4px;overflow:visible}.gap-4{grid-gap:0rem;gap:0rem}}\n"] }]
215
+ args: [{ selector: 'ws-widget-certificate-dialog', host: { class: 'certificate-inner-dialog-panel' }, template: "<mat-card class=\"no-shadow certificate-img-box\">\n <button mat-icon-button class=\"close-button\" [mat-dialog-close]=\"true\">\n <mat-icon class=\"close-icon\" color=\"warn\">close</mat-icon>\n </button>\n <!-- <mat-card-title>\n\n </mat-card-title> -->\n <mat-card-content class=\"certificate-img-content\">\n <img #certificate [src]=\"url| pipeSafeSanitizer: 'url'\" alt=\"Certificate\" role=\"image\" class=\"certificate-banner-image\">\n </mat-card-content>\n <mat-card-actions class=\"flex flex-row-reverse gap-4\">\n <!-- <ws-widget-svg-to-pdf></ws-widget-svg-to-pdf> -->\n <a *ngIf=\"(domainConfService?.isFeatureByPageEnabled('toc','shareToc'))\" mat-button [matMenuTriggerFor]=\"shareMenu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">share</mat-icon>\n Share\n </a>\n <mat-menu #shareMenu=\"matMenu\">\n <button mat-menu-item (click)='shareOnLinkedIn()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z\"/>\n </svg>\n </mat-icon>\n <span>LinkedIn</span>\n </button>\n <button mat-menu-item (click)='shareOnFacebook()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z\"/>\n </svg>\n </mat-icon>\n <span>Facebook</span>\n </button>\n <button mat-menu-item (click)='shareOnTwitter()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.70,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z\"/>\n </svg>\n </mat-icon>\n <span>Twitter</span>\n </button>\n <button mat-menu-item (click)='shareOnWhatsApp()'>\n <mat-icon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n <path fill=\"currentColor\" d=\"M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z\"/>\n </svg>\n </mat-icon>\n <span>WhatsApp</span>\n </button>\n <button mat-menu-item (click)='shareViaEmail()'>\n <mat-icon>email</mat-icon>\n <span>Email</span>\n </button>\n <mat-divider></mat-divider>\n <button mat-menu-item (click)='copyCertificateLink()'>\n <mat-icon>content_copy</mat-icon>\n <span>Copy Link</span>\n </button>\n </mat-menu>\n <a mat-button [matMenuTriggerFor]=\"menu\" class=\"ws-mat-accent-border-active mat-accent btn-custom\" (click)=\"raiseIntreactTelemetry()\">\n <mat-icon class=\"mat-icon material-icons-outlined download_icon margin-right-xs\">cloud_download</mat-icon>\n {{'certificatedialog.download' | translate}}\n </a>\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)='downloadCertPdf()'>\n <mat-icon>picture_as_pdf</mat-icon>\n <span>{{'certificatedialog.pdf' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCertPng()'>\n <mat-icon>photo</mat-icon>\n <span>{{'certificatedialog.png' | translate}}</span>\n </button>\n <button mat-menu-item (click)='downloadCert()'>\n <mat-icon>photo_size_select_actual</mat-icon>\n <span>{{'certificatedialog.svg' | translate}}</span>\n </button>\n </mat-menu>\n </mat-card-actions>\n</mat-card>\n", styles: [".no-shadow{box-shadow:none!important}.certificate-banner-image{height:30rem;display:flex;width:auto;margin:0 auto}@media only screen and (max-width: 1279px){.certificate-banner-image{width:100%;height:auto;flex:1}}.certificate-img-box{max-height:35rem;overflow-y:auto;overflow-x:hidden}.certificate-img-content{overflow:hidden}a.download_btn{background-color:#f0f0f0;border-radius:4px;float:right;height:40px;padding:0 16px;text-align:center;line-height:40px;text-decoration:none;color:#0009;font-size:14px;font-weight:600;margin-top:16px;margin-right:0}.download_icon{font-size:16px;vertical-align:text-top}::ng-deep .close-button{float:right;top:-16px;right:-12px;height:30px;width:30px;line-height:30px;background:#000!important;color:#fff!important}::ng-deep .close-icon{transition:1s ease-in-out;color:#fff!important}::ng-deep .close-icon:hover{transform:rotate(180deg)}::ng-deep .icon-outside .close-button{float:right;position:absolute;top:19px;right:18px}::ng-deep .icon-outside .mat-dialog-container{overflow:unset}::ng-deep .cdk-overlay-pane{max-height:96%!important;overflow-y:auto!important}.certificate-banner-image svg{width:500;height:500}@media only screen and (max-width: 1279px){.certificate-banner-image svg{width:auto;height:auto;flex:1}}.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.close-button{position:absolute!important;top:19px!important;right:18px!important}@media screen and (max-width: 1200px){.btn-custom{box-sizing:border-box;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;outline:0;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 8px;border-radius:4px;overflow:visible}.gap-4{grid-gap:0rem;gap:0rem}}\n"] }]
214
216
  }], ctorParameters: function () { return [{ type: i1.EventService }, { type: i2.MatLegacyDialogRef }, { type: undefined, decorators: [{
215
217
  type: Inject,
216
218
  args: [MAT_DIALOG_DATA]
217
219
  }] }, { type: undefined, decorators: [{
218
220
  type: Inject,
219
221
  args: ['environment']
220
- }] }]; } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9fY29tbW9uL2NlcnRpZmljYXRlLWRpYWxvZy9jZXJ0aWZpY2F0ZS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL19jb2xsZWN0aW9uL19jb21tb24vY2VydGlmaWNhdGUtZGlhbG9nL2NlcnRpZmljYXRlLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUN6RCxPQUFPLEVBQXNDLHNCQUFzQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQy9ILE9BQU8sRUFBZ0IsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQTs7Ozs7Ozs7OztBQVU3QixNQUFNLE9BQU8sMEJBQTBCO0lBR3JDLFlBQ1UsTUFBb0IsRUFDckIsU0FBbUQsRUFDMUIsSUFBUyxFQUNWLFdBQWdCO1FBSHZDLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBMEM7UUFDMUIsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNWLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBTGpELFdBQU0sR0FBRyxFQUFFLENBQUE7SUFRWCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUE7UUFFeEIsMkZBQTJGO1FBQzNGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFB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bnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1hdExlZ2FjeURpYWxvZ1JlZiBhcyBNYXREaWFsb2dSZWYsIE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZydcbmltcG9ydCB7IEV2ZW50U2VydmljZSwgV3NFdmVudHMgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcbmltcG9ydCB7IGpzUERGIH0gZnJvbSAnanNwZGYnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dzLXdpZGdldC1jZXJ0aWZpY2F0ZS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuICAgaG9zdDogeyBjbGFzczogJ2NlcnRpZmljYXRlLWlubmVyLWRpYWxvZy1wYW5lbCcgfSxcbiAgIC8qIHRzbGludDplbmFibGUgKi9cbn0pXG5leHBvcnQgY2xhc3MgQ2VydGlmaWNhdGVEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICB1cmwhOiBzdHJpbmdcbiAgbmF2VXJsID0gJydcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBldmVudHM6IEV2ZW50U2VydmljZSxcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q2VydGlmaWNhdGVEaWFsb2dDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVybCA9IHRoaXMuZGF0YS5jZXRcbiAgICBcbiAgICAvLyBEZXRlcm1pbmUgdGhlIGNlcnRpZmljYXRlIFVSTCBiYXNlZCBvbiB3aGV0aGVyIGl0J3MgYW4gYWNoaWV2ZW1lbnQvbWlsZXN0b25lIGNlcnRpZmljYXRlXG4gICAgY29uc3QgY2VydERvd25sb2FkVXJsID0gdGhpcy5kYXRhPy5pc0FjaGlldmVtZW50IFxuICAgICAgPyBgJHt0aGlzLmVudmlyb25tZW50LmNvbnRlbnRIb3N0fS9hcGlzL3B1YmxpYy92OC9taWxlc3RvbmUvY2VydC9kb3dubG9hZC8ke3RoaXMuZGF0YS5jZXJ0SWR9YFxuICAgICAgOiBgJHt0aGlzLmVudmlyb25tZW50LmNvbnRlbnRIb3N0fS9hcGlzL3B1YmxpYy92OC9jZXJ0L2Rvd25sb2FkLyR7dGhpcy5kYXRhLmNlcnRJZH1gXG4gICAgXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgIHRoaXMubmF2VXJsID0gYGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaGFyaW5nL3NoYXJlLW9mZnNpdGUvP3VybD0ke2VuY29kZVVSSUNvbXBvbmVudChjZXJ0RG93bmxvYWRVcmwpfWBcbiAgfVxuXG4gIGRvd25sb2FkQ2VydCgpIHtcbiAgICB0aGlzLnJhaXNlSW50cmVhY3RUZWxlbWV0cnkoJ3N2ZycpXG4gICAgY29uc3QgYTogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgYS5ocmVmID0gdGhpcy5kYXRhLmNldFxuICAgIGEuZG93bmxvYWQgPSAnQ2VydGlmaWNhdGUnXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKVxuICAgIGEuc3R5bGUgPSAnZGlzcGxheTogbm9uZSdcbiAgICBhLmNsaWNrKClcbiAgICBhLnJlbW92ZSgpXG4gIH1cblxuICBkb3dubG9hZENlcnRQbmcoKSB7XG4gICAgdGhpcy5yYWlzZUludHJlYWN0VGVsZW1ldHJ5KCdwbmcnKVxuICAgIGNvbnN0IHVyaURhdGEgPSB0aGlzLmRhdGEuY2V0XG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKClcbiAgICBpbWcuc3JjID0gdXJpRGF0YVxuICAgIGltZy53aWR0aCA9IDE4MjBcbiAgICBpbWcuaGVpZ2h0ID0gMTAwMFxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgIFtjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHRdID0gW2ltZy53aWR0aCwgaW1nLmhlaWdodF1cbiAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpXG4gICAgICBpZiAoY3R4KSB7XG4gICAgICAgIC8vIGN0eC5pbWFnZVNtb290aGluZ0VuYWJsZWQgPSB0cnVlXG4gICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwLCBpbWcud2lkdGgsIGltZy5oZWlnaHQpXG4gICAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcbiAgICAgICAgY29uc3QgcXVhbGl0eSA9IDEuMCAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEL2ltYWdlU21vb3RoaW5nUXVhbGl0eVxuICAgICAgICBhLmhyZWYgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9wbmcnLCBxdWFsaXR5KVxuICAgICAgICBhLmRvd25sb2FkID0gJ0NlcnRpZmljYXRlJ1xuICAgICAgICBhLmFwcGVuZChjYW52YXMpXG4gICAgICAgIGEuY2xpY2soKVxuICAgICAgICBhLnJlbW92ZSgpXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGFzeW5jIGRvd25sb2FkQ2VydFBkZigpIHtcbiAgICB0aGlzLnJhaXNlSW50cmVhY3RUZWxlbWV0cnkoJ3BkZicpXG4gICAgY29uc3QgdXJpRGF0YSA9IHRoaXMuZGF0YS5jZXRcbiAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKVxuICAgIGltZy5zcmMgPSB1cmlEYXRhXG4gICAgaW1nLndpZHRoID0gMTgyMFxuICAgIGltZy5oZWlnaHQgPSAxMDAwXG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgW2NhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodF0gPSBbaW1nLndpZHRoLCBpbWcuaGVpZ2h0XVxuICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJylcbiAgICAgIGlmIChjdHgpIHtcbiAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIGltZy53aWR0aCwgaW1nLmhlaWdodClcbiAgICAgICAgY29uc3QgcXVhbGl0eSA9IDEuMCAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEL2ltYWdlU21vb3RoaW5nUXVhbGl0eVxuICAgICAgICBjb25zdCBkYXRhSW1nID0gY2FudmFzLnRvRGF0YVVSTCgnYXBwbGljYXRpb24vcGRmJywgcXVhbGl0eSlcbiAgICAgICAgY29uc3QgcGRmID0gbmV3IGpzUERGKCdsYW5kc2NhcGUnLCAncHgnLCAnYTQnKVxuXG4gICAgICAgIC8vIGFkZCB0aGUgaW1hZ2UgdG8gdGhlIFBERlxuICAgICAgICBwZGYuYWRkSW1hZ2UoZGF0YUltZywgMTAsIDIwLCA2MDAsIDM1MClcblxuICAgICAgICAvLyBkb3dubG9hZCB0aGUgUERGXG4gICAgICAgIHBkZi5zYXZlKCdDZXJ0aWZpY2F0ZS5wZGYnKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldENlcnRpZmljYXRlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YT8uaXNBY2hpZXZlbWVudCBcbiAgICAgID8gYCR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50SG9zdH0vYXBpcy9wdWJsaWMvdjgvbWlsZXN0b25lL2NlcnQvZG93bmxvYWQvJHt0aGlzLmRhdGEuY2VydElkfWBcbiAgICAgIDogYCR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50SG9zdH0vYXBpcy9wdWJsaWMvdjgvY2VydC9kb3dubG9hZC8ke3RoaXMuZGF0YS5jZXJ0SWR9YFxuICB9XG5cbiAgc2hhcmVDZXJ0KCkge1xuICAgIHRoaXMucmFpc2VTaGFyZUludHJlYWN0VGVsZW1ldHJ5KCdzaGFyZScpXG4gICAgcmV0dXJuIHdpbmRvdy5vcGVuKHRoaXMubmF2VXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIHNoYXJlT25MaW5rZWRJbigpIHtcbiAgICB0aGlzLnJhaXNlU2hhcmVJbnRyZWFjdFRlbGVtZXRyeSgnc2hhcmUnLCAnbGlua2VkaW4nKVxuICAgIGNvbnN0IGNlcnREb3dubG9hZFVybCA9IHRoaXMuZ2V0Q2VydGlmaWNhdGVVcmwoKVxuICAgIFxuICAgIFxuICAgIC8vIExpbmtlZEluJ3MgY3VycmVudCBzaGFyaW5nIGVuZHBvaW50XG4gICAgLy8gTm90ZTogTGlua2VkSW4gcmVxdWlyZXMgdGhlIFVSTCB0byBiZSBwdWJsaWNseSBhY2Nlc3NpYmxlXG4gICAgY29uc3QgbGlua2VkSW5VcmwgPSBgaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8/dXJsPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGNlcnREb3dubG9hZFVybCl9YFxuICAgIFxuICAgIFxuICAgIC8vIE9wZW4gTGlua2VkSW4gc2hhcmUgZGlhbG9nXG4gICAgY29uc3QgcG9wdXAgPSB3aW5kb3cub3BlbihsaW5rZWRJblVybCwgJ19ibGFuaycsICd3aWR0aD02MDAsaGVpZ2h0PTYwMCx0b29sYmFyPTAsbWVudWJhcj0wLGxvY2F0aW9uPTAsc3RhdHVzPTEsc2Nyb2xsYmFycz0xLHJlc2l6YWJsZT0xJylcbiAgICBcbiAgICAvLyBDaGVjayBpZiBwb3B1cCB3YXMgYmxvY2tlZFxuICAgIGlmICghcG9wdXAgfHwgcG9wdXAuY2xvc2VkIHx8IHR5cGVvZiBwb3B1cC5jbG9zZWQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAvLyBGYWxsYmFjazogdHJ5IG9wZW5pbmcgaW4gc2FtZSB0YWJcbiAgICAgIHdpbmRvdy5vcGVuKGxpbmtlZEluVXJsLCAnX2JsYW5rJylcbiAgICB9XG4gIH1cblxuICBzaGFyZU9uRmFjZWJvb2soKSB7XG4gICAgdGhpcy5yYWlzZVNoYXJlSW50cmVhY3RUZWxlbWV0cnkoJ3NoYXJlJywgJ2ZhY2Vib29rJylcbiAgICBjb25zdCBjZXJ0RG93bmxvYWRVcmwgPSB0aGlzLmdldENlcnRpZmljYXRlVXJsKClcbiAgICBjb25zdCBmYWNlYm9va1VybCA9IGBodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA/dT0ke2VuY29kZVVSSUNvbXBvbmVudChjZXJ0RG93bmxvYWRVcmwpfWBcbiAgICB3aW5kb3cub3BlbihmYWNlYm9va1VybCwgJ19ibGFuaycsICd3aWR0aD02MDAsaGVpZ2h0PTYwMCcpXG4gIH1cblxuICBzaGFyZU9uVHdpdHRlcigpIHtcbiAgICB0aGlzLnJhaXNlU2hhcmVJbnRyZWFjdFRlbGVtZXRyeSgnc2hhcmUnLCAndHdpdHRlcicpXG4gICAgY29uc3QgY2VydERvd25sb2FkVXJsID0gdGhpcy5nZXRDZXJ0aWZpY2F0ZVVybCgpXG4gICAgY29uc3QgdGV4dCA9IHRoaXMuZGF0YT8uaXNBY2hpZXZlbWVudCBcbiAgICAgID8gJ0kgaGF2ZSBhY2hpZXZlZCBhIG1pbGVzdG9uZSEgQ2hlY2sgb3V0IG15IGNlcnRpZmljYXRlLidcbiAgICAgIDogJ0kgaGF2ZSBjb21wbGV0ZWQgYSBjb3Vyc2UhIENoZWNrIG91dCBteSBjZXJ0aWZpY2F0ZS4nXG4gICAgY29uc3QgdHdpdHRlclVybCA9IGBodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldD91cmw9JHtlbmNvZGVVUklDb21wb25lbnQoY2VydERvd25sb2FkVXJsKX0mdGV4dD0ke2VuY29kZVVSSUNvbXBvbmVudCh0ZXh0KX1gXG4gICAgd2luZG93Lm9wZW4odHdpdHRlclVybCwgJ19ibGFuaycsICd3aWR0aD02MDAsaGVpZ2h0PTYwMCcpXG4gIH1cblxuICBzaGFyZU9uV2hhdHNBcHAoKSB7XG4gICAgdGhpcy5yYWlzZVNoYXJlSW50cmVhY3RUZWxlbWV0cnkoJ3NoYXJlJywgJ3doYXRzYXBwJylcbiAgICBjb25zdCBjZXJ0RG93bmxvYWRVcmwgPSB0aGlzLmdldENlcnRpZmljYXRlVXJsKClcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5kYXRhPy5pc0FjaGlldmVtZW50IFxuICAgICAgPyAnSSBoYXZlIGFjaGlldmVkIGEgbWlsZXN0b25lISBDaGVjayBvdXQgbXkgY2VydGlmaWNhdGU6ICdcbiAgICAgIDogYEkgaGF2ZSBjb21wbGV0ZWQgYSBjb3Vyc2UhIENoZWNrIG91dCBteSBjZXJ0aWZpY2F0ZTogYFxuICAgIGNvbnN0IHdoYXRzYXBwVXJsID0gYGh0dHBzOi8vYXBpLndoYXRzYXBwLmNvbS9zZW5kP3RleHQ9JHtlbmNvZGVVUklDb21wb25lbnQodGV4dCArIGNlcnREb3dubG9hZFVybCl9YFxuICAgIHdpbmRvdy5vcGVuKHdoYXRzYXBwVXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIHNoYXJlVmlhRW1haWwoKSB7XG4gICAgdGhpcy5yYWlzZVNoYXJlSW50cmVhY3RUZWxlbWV0cnkoJ3NoYXJlJywgJ2VtYWlsJylcbiAgICBjb25zdCBjZXJ0RG93bmxvYWRVcmwgPSB0aGlzLmdldENlcnRpZmljYXRlVXJsKClcbiAgICBjb25zdCBzdWJqZWN0ID0gdGhpcy5kYXRhPy5pc0FjaGlldmVtZW50IFxuICAgICAgPyAnTWlsZXN0b25lIEFjaGlldmVtZW50IENlcnRpZmljYXRlJ1xuICAgICAgOiAnQ291cnNlIENvbXBsZXRpb24gQ2VydGlmaWNhdGUnXG4gICAgY29uc3QgYm9keSA9IHRoaXMuZGF0YT8uaXNBY2hpZXZlbWVudCBcbiAgICAgID8gYEkgaGF2ZSBhY2hpZXZlZCBhIG1pbGVzdG9uZSEgWW91IGNhbiB2aWV3IG15IGNlcnRpZmljYXRlIGhlcmU6ICR7Y2VydERvd25sb2FkVXJsfWBcbiAgICAgIDogYEkgaGF2ZSBjb21wbGV0ZWQgYSBjb3Vyc2UhIFlvdSBjYW4gdmlldyBteSBjZXJ0aWZpY2F0ZSBoZXJlOiAke2NlcnREb3dubG9hZFVybH1gXG4gICAgY29uc3QgbWFpbHRvVXJsID0gYG1haWx0bzo/c3ViamVjdD0ke2VuY29kZVVSSUNvbXBvbmVudChzdWJqZWN0KX0mYm9keT0ke2VuY29kZVVSSUNvbXBvbmVudChib2R5KX1gXG4gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBtYWlsdG9VcmxcbiAgfVxuXG4gIGNvcHlDZXJ0aWZpY2F0ZUxpbmsoKSB7XG4gICAgdGhpcy5yYWlzZVNoYXJlSW50cmVhY3RUZWxlbWV0cnkoJ3NoYXJlJywgJ2NvcHknKVxuICAgIGNvbnN0IGNlcnREb3dubG9hZFVybCA9IHRoaXMuZ2V0Q2VydGlmaWNhdGVVcmwoKVxuICAgIFxuICAgIGlmIChuYXZpZ2F0b3IuY2xpcGJvYXJkICYmIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjZXJ0RG93bmxvYWRVcmwpLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnQ2VydGlmaWNhdGUgbGluayBjb3BpZWQgdG8gY2xpcGJvYXJkJylcbiAgICAgICAgLy8gWW91IGNhbiBhZGQgYSBzbmFja2JhciBub3RpZmljYXRpb24gaGVyZSBpZiBuZWVkZWRcbiAgICAgIH0pLmNhdGNoKGVyciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBjb3B5IGNlcnRpZmljYXRlIGxpbms6JywgZXJyKVxuICAgICAgICB0aGlzLmZhbGxiYWNrQ29weVRleHRUb0NsaXBib2FyZChjZXJ0RG93bmxvYWRVcmwpXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZhbGxiYWNrQ29weVRleHRUb0NsaXBib2FyZChjZXJ0RG93bmxvYWRVcmwpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmYWxsYmFja0NvcHlUZXh0VG9DbGlwYm9hcmQodGV4dDogc3RyaW5nKSB7XG4gICAgY29uc3QgdGV4dEFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpXG4gICAgdGV4dEFyZWEudmFsdWUgPSB0ZXh0XG4gICAgdGV4dEFyZWEuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnXG4gICAgdGV4dEFyZWEuc3R5bGUudG9wID0gJzAnXG4gICAgdGV4dEFyZWEuc3R5bGUubGVmdCA9ICcwJ1xuICAgIHRleHRBcmVhLnN0eWxlLndpZHRoID0gJzJlbSdcbiAgICB0ZXh0QXJlYS5zdHlsZS5oZWlnaHQgPSAnMmVtJ1xuICAgIHRleHRBcmVhLnN0eWxlLnBhZGRpbmcgPSAnMCdcbiAgICB0ZXh0QXJlYS5zdHlsZS5ib3JkZXIgPSAnbm9uZSdcbiAgICB0ZXh0QXJlYS5zdHlsZS5vdXRsaW5lID0gJ25vbmUnXG4gICAgdGV4dEFyZWEuc3R5bGUuYm94U2hhZG93ID0gJ25vbmUnXG4gICAgdGV4dEFyZWEuc3R5bGUuYmFja2dyb3VuZCA9ICd0cmFuc3BhcmVudCdcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRBcmVhKVxuICAgIHRleHRBcmVhLmZvY3VzKClcbiAgICB0ZXh0QXJlYS5zZWxlY3QoKVxuICAgIHRyeSB7XG4gICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpXG4gICAgICBjb25zb2xlLmxvZygnQ2VydGlmaWNhdGUgbGluayBjb3BpZWQgdG8gY2xpcGJvYXJkIChmYWxsYmFjayknKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFsbGJhY2s6IEZhaWxlZCB0byBjb3B5JywgZXJyKVxuICAgIH1cbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRBcmVhKVxuICB9XG5cbiAgcmFpc2VTaGFyZUludHJlYWN0VGVsZW1ldHJ5KHR5cGU/OiBzdHJpbmcsIGFjdGlvbj86IHN0cmluZykge1xuICAgIHRoaXMuZXZlbnRzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFR5cGVzLkNMSUNLLFxuICAgICAgICBpZDogYCR7dHlwZX0tJHtXc0V2ZW50cy5FbnVtSW50ZXJhY3RTdWJUeXBlcy5DRVJUSUZJQ0FURX1gLFxuICAgICAgICBzdWJUeXBlOiAgYWN0aW9uID8gYWN0aW9uIDogJycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpZDogdGhpcy5kYXRhLmNlcnRJZCwgICAvLyBpZCBvZiB0aGUgY2VydGlmaWNhdGVcbiAgICAgICAgdHlwZTogV3NFdmVudHMuRW51bUludGVyYWN0U3ViVHlwZXMuQ0VSVElGSUNBVEUsXG4gICAgICB9XG4gICAgKVxuICB9XG5cbiAgcmFpc2VJbnRyZWFjdFRlbGVtZXRyeShhY3Rpb24/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmV2ZW50cy5yYWlzZUludGVyYWN0VGVsZW1ldHJ5KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXc0V2ZW50cy5FbnVtSW50ZXJhY3RUeXBlcy5DTElDSyxcbiAgICAgICAgaWQ6ICdkb3dubG9hZC1jZXJ0aWZpY2F0ZScsXG4gICAgICAgIHN1YlR5cGU6IGFjdGlvbiA/IGFjdGlvbiA6ICcnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YS5jZXJ0SWQsICAgLy8gaWQgb2YgdGhlIGNlcnRpZmljYXRlXG4gICAgICAgIHR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFN1YlR5cGVzLkNFUlRJRklDQVRFLFxuICAgICAgfVxuICAgIClcbiAgfVxuXG59XG4iLCI8bWF0LWNhcmQgY2xhc3M9XCJuby1zaGFkb3cgY2VydGlmaWNhdGUtaW1nLWJveFwiPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCIgW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjbG9zZS1pY29uXCIgY29sb3I9XCJ3YXJuXCI+Y2xvc2U8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDwhLS0gPG1hdC1jYXJkLXRpdGxlPlxuXG4gICAgPC9tYXQtY2FyZC10aXRsZT4gLS0+XG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJjZXJ0aWZpY2F0ZS1pbWctY29udGVudFwiPlxuICAgICAgICA8aW1nICNjZXJ0aWZpY2F0ZSBbc3JjXT1cInVybHwgcGlwZVNhZmVTYW5pdGl6ZXI6ICd1cmwnXCIgYWx0PVwiQ2VydGlmaWNhdGVcIiByb2xlPVwiaW1hZ2VcIiBjbGFzcz1cImNlcnRpZmljYXRlLWJhbm5lci1pbWFnZVwiPlxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8bWF0LWNhcmQtYWN0aW9ucyBjbGFzcz1cImZsZXggZmxleC1yb3ctcmV2ZXJzZSBnYXAtNFwiPlxuICAgICAgICA8IS0tIDx3cy13aWRnZXQtc3ZnLXRvLXBkZj48L3dzLXdpZGdldC1zdmctdG8tcGRmPiAtLT5cbiAgICAgICAgPGEgbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwic2hhcmVNZW51XCIgY2xhc3M9XCJ3cy1tYXQtYWNjZW50LWJvcmRlci1hY3RpdmUgbWF0LWFjY2VudCBidG4tY3VzdG9tXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbiBtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBkb3dubG9hZF9pY29uIG1hcmdpbi1yaWdodC14c1wiPnNoYXJlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIFNoYXJlXG4gICAgICAgIDwvYT5cbiAgICAgICAgPG1hdC1tZW51ICNzaGFyZU1lbnU9XCJtYXRNZW51XCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT0nc2hhcmVPbkxpbmtlZEluKCknPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNMTkgM2EyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNG0tLjUgMTUuNXYtNS4zYTMuMjYgMy4yNiAwIDAgMC0zLjI2LTMuMjZjLS44NSAwLTEuODQuNTItMi4zMiAxLjN2LTEuMTFoLTIuNzl2OC4zN2gyLjc5di00LjkzYzAtLjc3LjYyLTEuNCAxLjM5LTEuNGExLjQgMS40IDAgMCAxIDEuNCAxLjR2NC45M2gyLjc5TTYuODggOC41NmExLjY4IDEuNjggMCAwIDAgMS42OC0xLjY4YzAtLjkzLS43NS0xLjY5LTEuNjgtMS42OWExLjY5IDEuNjkgMCAwIDAtMS42OSAxLjY5YzAgLjkzLjc2IDEuNjggMS42OSAxLjY4bTEuMzkgOS45NHYtOC4zN0g1LjV2OC4zN2gyLjc3elwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5MaW5rZWRJbjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9J3NoYXJlT25GYWNlYm9vaygpJz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTEyIDIuMDRDNi41IDIuMDQgMiA2LjUzIDIgMTIuMDZDMiAxNy4wNiA1LjY2IDIxLjIxIDEwLjQ0IDIxLjk2VjE0Ljk2SDcuOVYxMi4wNkgxMC40NFY5Ljg1QzEwLjQ0IDcuMzQgMTEuOTMgNS45NiAxNC4yMiA1Ljk2QzE1LjMxIDUuOTYgMTYuNDUgNi4xNSAxNi40NSA2LjE1VjguNjJIMTUuMTlDMTMuOTUgOC42MiAxMy41NiA5LjM5IDEzLjU2IDEwLjE4VjEyLjA2SDE2LjM0TDE1Ljg5IDE0Ljk2SDEzLjU2VjIxLjk2QTEwIDEwIDAgMCAwIDIyIDEyLjA2QzIyIDYuNTMgMTcuNSAyLjA0IDEyIDIuMDRaXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPkZhY2Vib29rPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT0nc2hhcmVPblR3aXR0ZXIoKSc+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk0yMi40Niw2QzIxLjY5LDYuMzUgMjAuODYsNi41OCAyMCw2LjY5QzIwLjg4LDYuMTYgMjEuNTYsNS4zMiAyMS44OCw0LjMxQzIxLjA1LDQuODEgMjAuMTMsNS4xNiAxOS4xNiw1LjM2QzE4LjM3LDQuNSAxNy4yNiw0IDE2LDRDMTMuNjUsNCAxMS43Myw1LjkyIDExLjczLDguMjlDMTEuNzMsOC42MyAxMS43Nyw4Ljk2IDExLjg0LDkuMjdDOC4yOCw5LjA5IDUuMTEsNy4zOCAzLDQuNzlDMi42Myw1LjQyIDIuNDIsNi4xNiAyLjQyLDYuOTRDMi40Miw4LjQzIDMuMTcsOS43NSA0LjMzLDEwLjVDMy42MiwxMC41IDIuOTYsMTAuMyAyLjM4LDEwQzIuMzgsMTAgMi4zOCwxMCAyLjM4LDEwLjAzQzIuMzgsMTIuMTEgMy44NiwxMy44NSA1LjgyLDE0LjI0QzUuNDYsMTQuMzQgNS4wOCwxNC4zOSA0LjY5LDE0LjM5QzQuNDIsMTQuMzkgNC4xNSwxNC4zNiAzLjg5LDE0LjMxQzQuNDMsMTYgNiwxNy4yNiA3Ljg5LDE3LjI5QzYuNDMsMTguNDUgNC41OCwxOS4xMyAyLjU2LDE5LjEzQzIuMjIsMTkuMTMgMS44OCwxOS4xMSAxLjU0LDE5LjA3QzMuNDQsMjAuMjkgNS43MCwyMSA4LjEyLDIxQzE2LDIxIDIwLjMzLDE0LjQ2IDIwLjMzLDguNzlDMjAuMzMsOC42IDIwLjMzLDguNDIgMjAuMzIsOC4yM0MyMS4xNiw3LjYzIDIxLjg4LDYuODcgMjIuNDYsNlpcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+VHdpdHRlcjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9J3NoYXJlT25XaGF0c0FwcCgpJz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTEyLjA0IDJDNi41OCAyIDIuMTMgNi40NSAyLjEzIDExLjkxQzIuMTMgMTMuNjYgMi41OSAxNS4zNiAzLjQ1IDE2Ljg2TDIuMDUgMjJMNy4zIDIwLjYyQzguNzUgMjEuNDEgMTAuMzggMjEuODMgMTIuMDQgMjEuODNDMTcuNSAyMS44MyAyMS45NSAxNy4zOCAyMS45NSAxMS45MkMyMS45NSA5LjI3IDIwLjkyIDYuNzggMTkuMDUgNC45MUMxNy4xOCAzLjAzIDE0LjY5IDIgMTIuMDQgMk0xMi4wNSAzLjY3QzE0LjI1IDMuNjcgMTYuMzEgNC41MyAxNy44NyA2LjA5QzE5LjQyIDcuNjUgMjAuMjggOS43MiAyMC4yOCAxMS45MkMyMC4yOCAxNi40NiAxNi41OCAyMC4xNSAxMi4wNCAyMC4xNUMxMC41NiAyMC4xNSA5LjExIDE5Ljc2IDcuODUgMTlMNy41NSAxOC44M0w0LjQzIDE5LjY1TDUuMjYgMTYuNjFMNS4wNiAxNi4yOUM0LjI0IDE1IDMuOCAxMy40NyAzLjggMTEuOTFDMy44MSA3LjM3IDcuNSAzLjY3IDEyLjA1IDMuNjdNOC41MyA3LjMzQzguMzcgNy4zMyA4LjEgNy4zOSA3Ljg3IDcuNjRDNy42NSA3Ljg5IDcgOC41IDcgOS43MUM3IDEwLjkzIDcuODkgMTIuMSA4IDEyLjI3QzguMTQgMTIuNDQgOS43NiAxNC45NCAxMi4yNSAxNkMxMi44NCAxNi4yNyAxMy4zIDE2LjQyIDEzLjY2IDE2LjUzQzE0LjI1IDE2LjcyIDE0Ljc5IDE2LjY5IDE1LjIyIDE2LjYzQzE1LjcgMTYuNTYgMTYuNjggMTYuMDMgMTYuODkgMTUuNDVDMTcuMSAxNC44NyAxNy4xIDE0LjM4IDE3LjA0IDE0LjI3QzE2Ljk3IDE0LjE3IDE2LjgxIDE0LjExIDE2LjU2IDE0QzE2LjMxIDEzLjg2IDE1LjA5IDEzLjI2IDE0Ljg3IDEzLjE4QzE0LjY0IDEzLjEgMTQuNSAxMy4wNiAxNC4zMSAxMy4zQzE0LjE1IDEzLjU1IDEzLjY3IDE0LjExIDEzLjUzIDE0LjI3QzEzLjM4IDE0LjQ0IDEzLjI0IDE0LjQ2IDEzIDE0LjM0QzEyLjc0IDE0LjIxIDExLjk0IDEzLjk1IDExIDEzLjExQzEwLjI2IDEyLjQ1IDkuNzcgMTEuNjQgOS42MiAxMS4zOUM5LjUgMTEuMTUgOS42MSAxMSA5LjczIDEwLjg5QzkuODQgMTAuNzggMTAgMTAuNiAxMC4xIDEwLjQ1QzEwLjIzIDEwLjMxIDEwLjI3IDEwLjIgMTAuMzUgMTAuMDRDMTAuNDMgOS44NyAxMC4zOSA5LjczIDEwLjMzIDkuNjFDMTAuMjcgOS41IDkuNzcgOC4yNiA5LjU2IDcuNzdDOS4zNiA3LjI5IDkuMTYgNy4zNSA5IDcuMzRDOC44NiA3LjM0IDguNyA3LjMzIDguNTMgNy4zM1pcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+V2hhdHNBcHA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPSdzaGFyZVZpYUVtYWlsKCknPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lbWFpbDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+RW1haWw8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9J2NvcHlDZXJ0aWZpY2F0ZUxpbmsoKSc+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmNvbnRlbnRfY29weTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+Q29weSBMaW5rPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LW1lbnU+XG4gICAgICAgIDxhIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cIndzLW1hdC1hY2NlbnQtYm9yZGVyLWFjdGl2ZSBtYXQtYWNjZW50IGJ0bi1jdXN0b21cIiAoY2xpY2spPVwicmFpc2VJbnRyZWFjdFRlbGVtZXRyeSgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbiBtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBkb3dubG9hZF9pY29uIG1hcmdpbi1yaWdodC14c1wiPmNsb3VkX2Rvd25sb2FkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIHt7J2NlcnRpZmljYXRlZGlhbG9nLmRvd25sb2FkJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgIDwvYT5cbiAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9J2Rvd25sb2FkQ2VydFBkZigpJz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cGljdHVyZV9hc19wZGY8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7J2NlcnRpZmljYXRlZGlhbG9nLnBkZicgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9J2Rvd25sb2FkQ2VydFBuZygpJz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cGhvdG88L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7J2NlcnRpZmljYXRlZGlhbG9nLnBuZycgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9J2Rvd25sb2FkQ2VydCgpJz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+cGhvdG9fc2l6ZV9zZWxlY3RfYWN0dWFsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eydjZXJ0aWZpY2F0ZWRpYWxvZy5zdmcnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtbWVudT5cbiAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG48L21hdC1jYXJkPlxuIl19
222
+ }] }, { type: i1.DomainConfService }]; } });
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9fY29tbW9uL2NlcnRpZmljYXRlLWRpYWxvZy9jZXJ0aWZpY2F0ZS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL19jb2xsZWN0aW9uL19jb21tb24vY2VydGlmaWNhdGUtZGlhbG9nL2NlcnRpZmljYXRlLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUN6RCxPQUFPLEVBQXNDLHNCQUFzQixJQUFJLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQy9ILE9BQU8sRUFBbUMsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDaEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQTs7Ozs7Ozs7Ozs7QUFVN0IsTUFBTSxPQUFPLDBCQUEwQjtJQUdyQyxZQUNVLE1BQW9CLEVBQ3JCLFNBQW1ELEVBQzFCLElBQVMsRUFDVixXQUFnQixFQUN4QyxpQkFBb0M7UUFKbkMsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUEwQztRQUMxQixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ1YsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQU43QyxXQUFNLEdBQUcsRUFBRSxDQUFBO0lBU1gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFBO1FBRXhCLDJGQUEyRjtRQUMzRixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWE7WUFDOUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLDJDQUEyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM5RixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsaUNBQWlDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7UUFFdEYsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsdURBQXVELGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUE7SUFDNUcsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbEMsTUFBTSxDQUFDLEdBQVEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMxQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFBO1FBQ3RCLENBQUMsQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFBO1FBQzFCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzVCLENBQUMsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFBO1FBQ3pCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNULENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNaLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFBO1FBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7UUFDdkIsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUE7UUFDakIsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7UUFDaEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFDakIsR0FBRyxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDaEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDdkQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNuQyxJQUFJLEdBQUcsRUFBRTtnQkFDUCxtQ0FBbUM7Z0JBQ25DLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQy9DLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ3JDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQSxDQUFDLGtHQUFrRztnQkFDdEgsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQTtnQkFDL0MsQ0FBQyxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUE7Z0JBQzFCLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ2hCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtnQkFDVCxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7YUFDWDtRQUNILENBQUMsQ0FBQTtJQUNILENBQUM7SUFDRCxLQUFLLENBQUMsZUFBZTtRQUNuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUE7UUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtRQUN2QixHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQTtRQUNqQixHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtRQUNoQixHQUFHLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtRQUNqQixHQUFHLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtZQUNoQixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUN2RCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ25DLElBQUksR0FBRyxFQUFFO2dCQUNQLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQy9DLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQSxDQUFDLGtHQUFrRztnQkFDdEgsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQTtnQkFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkFFOUMsMkJBQTJCO2dCQUMzQixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtnQkFFdkMsbUJBQW1CO2dCQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7YUFDNUI7UUFDSCxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWE7WUFDN0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLDJDQUEyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM5RixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsaUNBQWlDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDeEYsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDekMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQ3JELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBR2hELHNDQUFzQztRQUN0Qyw0REFBNEQ7UUFDNUQsTUFBTSxXQUFXLEdBQUcsdURBQXVELGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUE7UUFHaEgsNkJBQTZCO1FBQzdCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSx1RkFBdUYsQ0FBQyxDQUFBO1FBRXpJLDZCQUE2QjtRQUM3QixJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUNqRSxvQ0FBb0M7WUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUE7U0FDbkM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDckQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDaEQsTUFBTSxXQUFXLEdBQUcsZ0RBQWdELGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUE7UUFDekcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBQ3BELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQ2hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYTtZQUNuQyxDQUFDLENBQUMsd0RBQXdEO1lBQzFELENBQUMsQ0FBQyxzREFBc0QsQ0FBQTtRQUMxRCxNQUFNLFVBQVUsR0FBRyx3Q0FBd0Msa0JBQWtCLENBQUMsZUFBZSxDQUFDLFNBQVMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUNqSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDckQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhO1lBQ25DLENBQUMsQ0FBQyx5REFBeUQ7WUFDM0QsQ0FBQyxDQUFDLHVEQUF1RCxDQUFBO1FBQzNELE1BQU0sV0FBVyxHQUFHLHNDQUFzQyxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQTtRQUN0RyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDbEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFDaEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhO1lBQ3RDLENBQUMsQ0FBQyxtQ0FBbUM7WUFDckMsQ0FBQyxDQUFDLCtCQUErQixDQUFBO1FBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYTtZQUNuQyxDQUFDLENBQUMsa0VBQWtFLGVBQWUsRUFBRTtZQUNyRixDQUFDLENBQUMsZ0VBQWdFLGVBQWUsRUFBRSxDQUFBO1FBQ3JGLE1BQU0sU0FBUyxHQUFHLG1CQUFtQixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBO1FBQ25HLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDakQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFFaEQsSUFBSSxTQUFTLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ3hELFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3ZELE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtnQkFDbkQscURBQXFEO1lBQ3ZELENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDYixPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO2dCQUN0RCxJQUFJLENBQUMsMkJBQTJCLENBQUMsZUFBZSxDQUFDLENBQUE7WUFDbkQsQ0FBQyxDQUFDLENBQUE7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxDQUFBO1NBQ2xEO0lBQ0gsQ0FBQztJQUVPLDJCQUEyQixDQUFDLElBQVk7UUFDOUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUNuRCxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQTtRQUNyQixRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFDakMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1FBQ3hCLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQTtRQUN6QixRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDNUIsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO1FBQzdCLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQTtRQUM1QixRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDOUIsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFBO1FBQy9CLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQTtRQUNqQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUE7UUFDekMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDbkMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ2hCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNqQixJQUFJO1lBQ0YsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLGlEQUFpRCxDQUFDLENBQUE7U0FDL0Q7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxDQUFDLENBQUE7U0FDL0M7UUFDRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsMkJBQTJCLENBQUMsSUFBYSxFQUFFLE1BQWU7UUFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FDaEM7WUFDRSxJQUFJLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7WUFDdEMsRUFBRSxFQUFFLEdBQUcsSUFBSSxJQUFJLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUU7WUFDMUQsT0FBTyxFQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQy9CLEVBQ0Q7WUFDRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ3BCLElBQUksRUFBRSxRQUFRLENBQUMsb0JBQW9CLENBQUMsV0FBVztTQUNoRCxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBZTtRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUNoQztZQUNFLElBQUksRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSztZQUN0QyxFQUFFLEVBQUUsc0JBQXNCO1lBQzFCLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUM5QixFQUNEO1lBQ0UsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUNwQixJQUFJLEVBQUUsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFdBQVc7U0FDaEQsQ0FDRixDQUFBO0lBQ0gsQ0FBQzsrR0FqT1UsMEJBQTBCLGdGQU0zQixlQUFlLGFBQ2YsYUFBYTttR0FQWiwwQkFBMEIsZ0lDYnZDLHMxTUErRUE7OzRGRGxFYSwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0UsOEJBQThCLFFBSWpDLEVBQUUsS0FBSyxFQUFFLGdDQUFnQyxFQUFFOzswQkFTL0MsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmLCBNQVRfTEVHQUNZX0RJQUxPR19EQVRBIGFzIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnXG5pbXBvcnQgeyBEb21haW5Db25mU2VydmljZSwgRXZlbnRTZXJ2aWNlLCBXc0V2ZW50cyB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJ1xuaW1wb3J0IHsganNQREYgfSBmcm9tICdqc3BkZidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3Mtd2lkZ2V0LWNlcnRpZmljYXRlLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jZXJ0aWZpY2F0ZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jZXJ0aWZpY2F0ZS1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgIC8qIHRzbGludDpkaXNhYmxlICovXG4gICBob3N0OiB7IGNsYXNzOiAnY2VydGlmaWNhdGUtaW5uZXItZGlhbG9nLXBhbmVsJyB9LFxuICAgLyogdHNsaW50OmVuYWJsZSAqL1xufSlcbmV4cG9ydCBjbGFzcyBDZXJ0aWZpY2F0ZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHVybCE6IHN0cmluZ1xuICBuYXZVcmwgPSAnJ1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGV2ZW50czogRXZlbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDZXJ0aWZpY2F0ZURpYWxvZ0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksXG4gICAgcHVibGljIGRvbWFpbkNvbmZTZXJ2aWNlOiBEb21haW5Db25mU2VydmljZVxuICApIHtcblxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cmwgPSB0aGlzLmRhdGEuY2V0XG4gICAgXG4gICAgLy8gRGV0ZXJtaW5lIHRoZSBjZXJ0aWZpY2F0ZSBVUkwgYmFzZWQgb24gd2hldGhlciBpdCdzIGFuIGFjaGlldmVtZW50L21pbGVzdG9uZSBjZXJ0aWZpY2F0ZVxuICAgIGNvbnN0IGNlcnREb3dubG9hZFVybCA9IHRoaXMuZGF0YT8uaXNBY2hpZXZlbWVudCBcbiAgICAgID8gYCR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50SG9zdH0vYXBpcy9wdWJsaWMvdjgvbWlsZXN0b25lL2NlcnQvZG93bmxvYWQvJHt0aGlzLmRhdGEuY2VydElkfWBcbiAgICAgIDogYCR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50SG9zdH0vYXBpcy9wdWJsaWMvdjgvY2VydC9kb3dubG9hZC8ke3RoaXMuZGF0YS5jZXJ0SWR9YFxuICAgIFxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcbiAgICB0aGlzLm5hdlVybCA9IGBodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2hhcmluZy9zaGFyZS1vZmZzaXRlLz91cmw9JHtlbmNvZGVVUklDb21wb25lbnQoY2VydERvd25sb2FkVXJsKX1gXG4gIH1cblxuICBkb3dubG9hZENlcnQoKSB7XG4gICAgdGhpcy5yYWlzZUludHJlYWN0VGVsZW1ldHJ5KCdzdmcnKVxuICAgIGNvbnN0IGE6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgIGEuaHJlZiA9IHRoaXMuZGF0YS5jZXRcbiAgICBhLmRvd25sb2FkID0gJ0NlcnRpZmljYXRlJ1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSlcbiAgICBhLnN0eWxlID0gJ2Rpc3BsYXk6IG5vbmUnXG4gICAgYS5jbGljaygpXG4gICAgYS5yZW1vdmUoKVxuICB9XG5cbiAgZG93bmxvYWRDZXJ0UG5nKCkge1xuICAgIHRoaXMucmFpc2VJbnRyZWFjdFRlbGVtZXRyeSgncG5nJylcbiAgICBjb25zdCB1cmlEYXRhID0gdGhpcy5kYXRhLmNldFxuICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpXG4gICAgaW1nLnNyYyA9IHVyaURhdGFcbiAgICBpbWcud2lkdGggPSAxODIwXG4gICAgaW1nLmhlaWdodCA9IDEwMDBcbiAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICBbY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0XSA9IFtpbWcud2lkdGgsIGltZy5oZWlnaHRdXG4gICAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKVxuICAgICAgaWYgKGN0eCkge1xuICAgICAgICAvLyBjdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gdHJ1ZVxuICAgICAgICBjdHguZHJhd0ltYWdlKGltZywgMCwgMCwgaW1nLndpZHRoLCBpbWcuaGVpZ2h0KVxuICAgICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgICAgIGNvbnN0IHF1YWxpdHkgPSAxLjAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC9pbWFnZVNtb290aGluZ1F1YWxpdHlcbiAgICAgICAgYS5ocmVmID0gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJywgcXVhbGl0eSlcbiAgICAgICAgYS5kb3dubG9hZCA9ICdDZXJ0aWZpY2F0ZSdcbiAgICAgICAgYS5hcHBlbmQoY2FudmFzKVxuICAgICAgICBhLmNsaWNrKClcbiAgICAgICAgYS5yZW1vdmUoKVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBhc3luYyBkb3dubG9hZENlcnRQZGYoKSB7XG4gICAgdGhpcy5yYWlzZUludHJlYWN0VGVsZW1ldHJ5KCdwZGYnKVxuICAgIGNvbnN0IHVyaURhdGEgPSB0aGlzLmRhdGEuY2V0XG4gICAgY29uc3QgaW1nID0gbmV3IEltYWdlKClcbiAgICBpbWcuc3JjID0gdXJpRGF0YVxuICAgIGltZy53aWR0aCA9IDE4MjBcbiAgICBpbWcuaGVpZ2h0ID0gMTAwMFxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgIFtjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHRdID0gW2ltZy53aWR0aCwgaW1nLmhlaWdodF1cbiAgICAgIGNvbnN0IGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpXG4gICAgICBpZiAoY3R4KSB7XG4gICAgICAgIGN0eC5kcmF3SW1hZ2UoaW1nLCAwLCAwLCBpbWcud2lkdGgsIGltZy5oZWlnaHQpXG4gICAgICAgIGNvbnN0IHF1YWxpdHkgPSAxLjAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC9pbWFnZVNtb290aGluZ1F1YWxpdHlcbiAgICAgICAgY29uc3QgZGF0YUltZyA9IGNhbnZhcy50b0RhdGFVUkwoJ2FwcGxpY2F0aW9uL3BkZicsIHF1YWxpdHkpXG4gICAgICAgIGNvbnN0IHBkZiA9IG5ldyBqc1BERignbGFuZHNjYXBlJywgJ3B4JywgJ2E0JylcblxuICAgICAgICAvLyBhZGQgdGhlIGltYWdlIHRvIHRoZSBQREZcbiAgICAgICAgcGRmLmFkZEltYWdlKGRhdGFJbWcsIDEwLCAyMCwgNjAwLCAzNTApXG5cbiAgICAgICAgLy8gZG93bmxvYWQgdGhlIFBERlxuICAgICAgICBwZGYuc2F2ZSgnQ2VydGlmaWNhdGUucGRmJylcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRDZXJ0aWZpY2F0ZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRhdGE/LmlzQWNoaWV2ZW1lbnQgXG4gICAgICA/IGAke3RoaXMuZW52aXJvbm1lbnQuY29udGVudEhvc3R9L2FwaXMvcHVibGljL3Y4L21pbGVzdG9uZS9jZXJ0L2Rvd25sb2FkLyR7dGhpcy5kYXRhLmNlcnRJZH1gXG4gICAgICA6IGAke3RoaXMuZW52aXJvbm1lbnQuY29udGVudEhvc3R9L2FwaXMvcHVibGljL3Y4L2NlcnQvZG93bmxvYWQvJHt0aGlzLmRhdGEuY2VydElkfWBcbiAgfVxuXG4gIHNoYXJlQ2VydCgpIHtcbiAgICB0aGlzLnJhaXNlU2hhcmVJbnRyZWFjdFRlbGVtZXRyeSgnc2hhcmUnKVxuICAgIHJldHVybiB3aW5kb3cub3Blbih0aGlzLm5hdlVybCwgJ19ibGFuaycpXG4gIH1cblxuICBzaGFyZU9uTGlua2VkSW4oKSB7XG4gICAgdGhpcy5yYWlzZVNoYXJlSW50cmVhY3RUZWxlbWV0cnkoJ3NoYXJlJywgJ2xpbmtlZGluJylcbiAgICBjb25zdCBjZXJ0RG93bmxvYWRVcmwgPSB0aGlzLmdldENlcnRpZmljYXRlVXJsKClcbiAgICBcbiAgICBcbiAgICAvLyBMaW5rZWRJbidzIGN1cnJlbnQgc2hhcmluZyBlbmRwb2ludFxuICAgIC8vIE5vdGU6IExpbmtlZEluIHJlcXVpcmVzIHRoZSBVUkwgdG8gYmUgcHVibGljbHkgYWNjZXNzaWJsZVxuICAgIGNvbnN0IGxpbmtlZEluVXJsID0gYGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaGFyaW5nL3NoYXJlLW9mZnNpdGUvP3VybD0ke2VuY29kZVVSSUNvbXBvbmVudChjZXJ0RG93bmxvYWRVcmwpfWBcbiAgICBcbiAgICBcbiAgICAvLyBPcGVuIExpbmtlZEluIHNoYXJlIGRpYWxvZ1xuICAgIGNvbnN0IHBvcHVwID0gd2luZG93Lm9wZW4obGlua2VkSW5VcmwsICdfYmxhbmsnLCAnd2lkdGg9NjAwLGhlaWdodD02MDAsdG9vbGJhcj0wLG1lbnViYXI9MCxsb2NhdGlvbj0wLHN0YXR1cz0xLHNjcm9sbGJhcnM9MSxyZXNpemFibGU9MScpXG4gICAgXG4gICAgLy8gQ2hlY2sgaWYgcG9wdXAgd2FzIGJsb2NrZWRcbiAgICBpZiAoIXBvcHVwIHx8IHBvcHVwLmNsb3NlZCB8fCB0eXBlb2YgcG9wdXAuY2xvc2VkID09PSAndW5kZWZpbmVkJykge1xuICAgICAgLy8gRmFsbGJhY2s6IHRyeSBvcGVuaW5nIGluIHNhbWUgdGFiXG4gICAgICB3aW5kb3cub3BlbihsaW5rZWRJblVybCwgJ19ibGFuaycpXG4gICAgfVxuICB9XG5cbiAgc2hhcmVPbkZhY2Vib29rKCkge1xuICAgIHRoaXMucmFpc2VTaGFyZUludHJlYWN0VGVsZW1ldHJ5KCdzaGFyZScsICdmYWNlYm9vaycpXG4gICAgY29uc3QgY2VydERvd25sb2FkVXJsID0gdGhpcy5nZXRDZXJ0aWZpY2F0ZVVybCgpXG4gICAgY29uc3QgZmFjZWJvb2tVcmwgPSBgaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3NoYXJlci9zaGFyZXIucGhwP3U9JHtlbmNvZGVVUklDb21wb25lbnQoY2VydERvd25sb2FkVXJsKX1gXG4gICAgd2luZG93Lm9wZW4oZmFjZWJvb2tVcmwsICdfYmxhbmsnLCAnd2lkdGg9NjAwLGhlaWdodD02MDAnKVxuICB9XG5cbiAgc2hhcmVPblR3aXR0ZXIoKSB7XG4gICAgdGhpcy5yYWlzZVNoYXJlSW50cmVhY3RUZWxlbWV0cnkoJ3NoYXJlJywgJ3R3aXR0ZXInKVxuICAgIGNvbnN0IGNlcnREb3dubG9hZFVybCA9IHRoaXMuZ2V0Q2VydGlmaWNhdGVVcmwoKVxuICAgIGNvbnN0IHRleHQgPSB0aGlzLmRhdGE/LmlzQWNoaWV2ZW1lbnQgXG4gICAgICA/ICdJIGhhdmUgYWNoaWV2ZWQgYSBtaWxlc3RvbmUhIENoZWNrIG91dCBteSBjZXJ0aWZpY2F0ZS4nXG4gICAgICA6ICdJIGhhdmUgY29tcGxldGVkIGEgY291cnNlISBDaGVjayBvdXQgbXkgY2VydGlmaWNhdGUuJ1xuICAgIGNvbnN0IHR3aXR0ZXJVcmwgPSBgaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGNlcnREb3dubG9hZFVybCl9JnRleHQ9JHtlbmNvZGVVUklDb21wb25lbnQodGV4dCl9YFxuICAgIHdpbmRvdy5vcGVuKHR3aXR0ZXJVcmwsICdfYmxhbmsnLCAnd2lkdGg9NjAwLGhlaWdodD02MDAnKVxuICB9XG5cbiAgc2hhcmVPbldoYXRzQXBwKCkge1xuICAgIHRoaXMucmFpc2VTaGFyZUludHJlYWN0VGVsZW1ldHJ5KCdzaGFyZScsICd3aGF0c2FwcCcpXG4gICAgY29uc3QgY2VydERvd25sb2FkVXJsID0gdGhpcy5nZXRDZXJ0aWZpY2F0ZVVybCgpXG4gICAgY29uc3QgdGV4dCA9IHRoaXMuZGF0YT8uaXNBY2hpZXZlbWVudCBcbiAgICAgID8gJ0kgaGF2ZSBhY2hpZXZlZCBhIG1pbGVzdG9uZSEgQ2hlY2sgb3V0IG15IGNlcnRpZmljYXRlOiAnXG4gICAgICA6IGBJIGhhdmUgY29tcGxldGVkIGEgY291cnNlISBDaGVjayBvdXQgbXkgY2VydGlmaWNhdGU6IGBcbiAgICBjb25zdCB3aGF0c2FwcFVybCA9IGBodHRwczovL2FwaS53aGF0c2FwcC5jb20vc2VuZD90ZXh0PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHRleHQgKyBjZXJ0RG93bmxvYWRVcmwpfWBcbiAgICB3aW5kb3cub3Blbih3aGF0c2FwcFVybCwgJ19ibGFuaycpXG4gIH1cblxuICBzaGFyZVZpYUVtYWlsKCkge1xuICAgIHRoaXMucmFpc2VTaGFyZUludHJlYWN0VGVsZW1ldHJ5KCdzaGFyZScsICdlbWFpbCcpXG4gICAgY29uc3QgY2VydERvd25sb2FkVXJsID0gdGhpcy5nZXRDZXJ0aWZpY2F0ZVVybCgpXG4gICAgY29uc3Qgc3ViamVjdCA9IHRoaXMuZGF0YT8uaXNBY2hpZXZlbWVudCBcbiAgICAgID8gJ01pbGVzdG9uZSBBY2hpZXZlbWVudCBDZXJ0aWZpY2F0ZSdcbiAgICAgIDogJ0NvdXJzZSBDb21wbGV0aW9uIENlcnRpZmljYXRlJ1xuICAgIGNvbnN0IGJvZHkgPSB0aGlzLmRhdGE/LmlzQWNoaWV2ZW1lbnQgXG4gICAgICA/IGBJIGhhdmUgYWNoaWV2ZWQgYSBtaWxlc3RvbmUhIFlvdSBjYW4gdmlldyBteSBjZXJ0aWZpY2F0ZSBoZXJlOiAke2NlcnREb3dubG9hZFVybH1gXG4gICAgICA6IGBJIGhhdmUgY29tcGxldGVkIGEgY291cnNlISBZb3UgY2FuIHZpZXcgbXkgY2VydGlmaWNhdGUgaGVyZTogJHtjZXJ0RG93bmxvYWRVcmx9YFxuICAgIGNvbnN0IG1haWx0b1VybCA9IGBtYWlsdG86P3N1YmplY3Q9JHtlbmNvZGVVUklDb21wb25lbnQoc3ViamVjdCl9JmJvZHk9JHtlbmNvZGVVUklDb21wb25lbnQoYm9keSl9YFxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbWFpbHRvVXJsXG4gIH1cblxuICBjb3B5Q2VydGlmaWNhdGVMaW5rKCkge1xuICAgIHRoaXMucmFpc2VTaGFyZUludHJlYWN0VGVsZW1ldHJ5KCdzaGFyZScsICdjb3B5JylcbiAgICBjb25zdCBjZXJ0RG93bmxvYWRVcmwgPSB0aGlzLmdldENlcnRpZmljYXRlVXJsKClcbiAgICBcbiAgICBpZiAobmF2aWdhdG9yLmNsaXBib2FyZCAmJiBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCkge1xuICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY2VydERvd25sb2FkVXJsKS50aGVuKCgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ0NlcnRpZmljYXRlIGxpbmsgY29waWVkIHRvIGNsaXBib2FyZCcpXG4gICAgICAgIC8vIFlvdSBjYW4gYWRkIGEgc25hY2tiYXIgbm90aWZpY2F0aW9uIGhlcmUgaWYgbmVlZGVkXG4gICAgICB9KS5jYXRjaChlcnIgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gY29weSBjZXJ0aWZpY2F0ZSBsaW5rOicsIGVycilcbiAgICAgICAgdGhpcy5mYWxsYmFja0NvcHlUZXh0VG9DbGlwYm9hcmQoY2VydERvd25sb2FkVXJsKVxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mYWxsYmFja0NvcHlUZXh0VG9DbGlwYm9hcmQoY2VydERvd25sb2FkVXJsKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmFsbGJhY2tDb3B5VGV4dFRvQ2xpcGJvYXJkKHRleHQ6IHN0cmluZykge1xuICAgIGNvbnN0IHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKVxuICAgIHRleHRBcmVhLnZhbHVlID0gdGV4dFxuICAgIHRleHRBcmVhLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJ1xuICAgIHRleHRBcmVhLnN0eWxlLnRvcCA9ICcwJ1xuICAgIHRleHRBcmVhLnN0eWxlLmxlZnQgPSAnMCdcbiAgICB0ZXh0QXJlYS5zdHlsZS53aWR0aCA9ICcyZW0nXG4gICAgdGV4dEFyZWEuc3R5bGUuaGVpZ2h0ID0gJzJlbSdcbiAgICB0ZXh0QXJlYS5zdHlsZS5wYWRkaW5nID0gJzAnXG4gICAgdGV4dEFyZWEuc3R5bGUuYm9yZGVyID0gJ25vbmUnXG4gICAgdGV4dEFyZWEuc3R5bGUub3V0bGluZSA9ICdub25lJ1xuICAgIHRleHRBcmVhLnN0eWxlLmJveFNoYWRvdyA9ICdub25lJ1xuICAgIHRleHRBcmVhLnN0eWxlLmJhY2tncm91bmQgPSAndHJhbnNwYXJlbnQnXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0QXJlYSlcbiAgICB0ZXh0QXJlYS5mb2N1cygpXG4gICAgdGV4dEFyZWEuc2VsZWN0KClcbiAgICB0cnkge1xuICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKVxuICAgICAgY29uc29sZS5sb2coJ0NlcnRpZmljYXRlIGxpbmsgY29waWVkIHRvIGNsaXBib2FyZCAoZmFsbGJhY2spJylcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhbGxiYWNrOiBGYWlsZWQgdG8gY29weScsIGVycilcbiAgICB9XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXh0QXJlYSlcbiAgfVxuXG4gIHJhaXNlU2hhcmVJbnRyZWFjdFRlbGVtZXRyeSh0eXBlPzogc3RyaW5nLCBhY3Rpb24/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmV2ZW50cy5yYWlzZUludGVyYWN0VGVsZW1ldHJ5KFxuICAgICAge1xuICAgICAgICB0eXBlOiBXc0V2ZW50cy5FbnVtSW50ZXJhY3RUeXBlcy5DTElDSyxcbiAgICAgICAgaWQ6IGAke3R5cGV9LSR7V3NFdmVudHMuRW51bUludGVyYWN0U3ViVHlwZXMuQ0VSVElGSUNBVEV9YCxcbiAgICAgICAgc3ViVHlwZTogIGFjdGlvbiA/IGFjdGlvbiA6ICcnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6IHRoaXMuZGF0YS5jZXJ0SWQsICAgLy8gaWQgb2YgdGhlIGNlcnRpZmljYXRlXG4gICAgICAgIHR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFN1YlR5cGVzLkNFUlRJRklDQVRFLFxuICAgICAgfVxuICAgIClcbiAgfVxuXG4gIHJhaXNlSW50cmVhY3RUZWxlbWV0cnkoYWN0aW9uPzogc3RyaW5nKSB7XG4gICAgdGhpcy5ldmVudHMucmFpc2VJbnRlcmFjdFRlbGVtZXRyeShcbiAgICAgIHtcbiAgICAgICAgdHlwZTogV3NFdmVudHMuRW51bUludGVyYWN0VHlwZXMuQ0xJQ0ssXG4gICAgICAgIGlkOiAnZG93bmxvYWQtY2VydGlmaWNhdGUnLFxuICAgICAgICBzdWJUeXBlOiBhY3Rpb24gPyBhY3Rpb24gOiAnJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiB0aGlzLmRhdGEuY2VydElkLCAgIC8vIGlkIG9mIHRoZSBjZXJ0aWZpY2F0ZVxuICAgICAgICB0eXBlOiBXc0V2ZW50cy5FbnVtSW50ZXJhY3RTdWJUeXBlcy5DRVJUSUZJQ0FURSxcbiAgICAgIH1cbiAgICApXG4gIH1cblxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwibm8tc2hhZG93IGNlcnRpZmljYXRlLWltZy1ib3hcIj5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIFttYXQtZGlhbG9nLWNsb3NlXT1cInRydWVcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY2xvc2UtaWNvblwiIGNvbG9yPVwid2FyblwiPmNsb3NlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8IS0tIDxtYXQtY2FyZC10aXRsZT5cblxuICAgIDwvbWF0LWNhcmQtdGl0bGU+IC0tPlxuICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiY2VydGlmaWNhdGUtaW1nLWNvbnRlbnRcIj5cbiAgICAgICAgPGltZyAjY2VydGlmaWNhdGUgW3NyY109XCJ1cmx8IHBpcGVTYWZlU2FuaXRpemVyOiAndXJsJ1wiIGFsdD1cIkNlcnRpZmljYXRlXCIgcm9sZT1cImltYWdlXCIgY2xhc3M9XCJjZXJ0aWZpY2F0ZS1iYW5uZXItaW1hZ2VcIj5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPG1hdC1jYXJkLWFjdGlvbnMgY2xhc3M9XCJmbGV4IGZsZXgtcm93LXJldmVyc2UgZ2FwLTRcIj5cbiAgICAgICAgPCEtLSA8d3Mtd2lkZ2V0LXN2Zy10by1wZGY+PC93cy13aWRnZXQtc3ZnLXRvLXBkZj4gLS0+XG4gICAgICAgIDxhICpuZ0lmPVwiKGRvbWFpbkNvbmZTZXJ2aWNlPy5pc0ZlYXR1cmVCeVBhZ2VFbmFibGVkKCd0b2MnLCdzaGFyZVRvYycpKVwiIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cInNoYXJlTWVudVwiIGNsYXNzPVwid3MtbWF0LWFjY2VudC1ib3JkZXItYWN0aXZlIG1hdC1hY2NlbnQgYnRuLWN1c3RvbVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24gbWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgZG93bmxvYWRfaWNvbiBtYXJnaW4tcmlnaHQteHNcIj5zaGFyZTwvbWF0LWljb24+XG4gICAgICAgICAgICBTaGFyZVxuICAgICAgICA8L2E+XG4gICAgICAgIDxtYXQtbWVudSAjc2hhcmVNZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9J3NoYXJlT25MaW5rZWRJbigpJz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTE5IDNhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRtLS41IDE1LjV2LTUuM2EzLjI2IDMuMjYgMCAwIDAtMy4yNi0zLjI2Yy0uODUgMC0xLjg0LjUyLTIuMzIgMS4zdi0xLjExaC0yLjc5djguMzdoMi43OXYtNC45M2MwLS43Ny42Mi0xLjQgMS4zOS0xLjRhMS40IDEuNCAwIDAgMSAxLjQgMS40djQuOTNoMi43OU02Ljg4IDguNTZhMS42OCAxLjY4IDAgMCAwIDEuNjgtMS42OGMwLS45My0uNzUtMS42OS0xLjY4LTEuNjlhMS42OSAxLjY5IDAgMCAwLTEuNjkgMS42OWMwIC45My43NiAxLjY4IDEuNjkgMS42OG0xLjM5IDkuOTR2LTguMzdINS41djguMzdoMi43N3pcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+TGlua2VkSW48L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPSdzaGFyZU9uRmFjZWJvb2soKSc+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk0xMiAyLjA0QzYuNSAyLjA0IDIgNi41MyAyIDEyLjA2QzIgMTcuMDYgNS42NiAyMS4yMSAxMC40NCAyMS45NlYxNC45Nkg3LjlWMTIuMDZIMTAuNDRWOS44NUMxMC40NCA3LjM0IDExLjkzIDUuOTYgMTQuMjIgNS45NkMxNS4zMSA1Ljk2IDE2LjQ1IDYuMTUgMTYuNDUgNi4xNVY4LjYySDE1LjE5QzEzLjk1IDguNjIgMTMuNTYgOS4zOSAxMy41NiAxMC4xOFYxMi4wNkgxNi4zNEwxNS44OSAxNC45NkgxMy41NlYyMS45NkExMCAxMCAwIDAgMCAyMiAxMi4wNkMyMiA2LjUzIDE3LjUgMi4wNCAxMiAyLjA0WlwiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj5GYWNlYm9vazwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9J3NoYXJlT25Ud2l0dGVyKCknPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNMjIuNDYsNkMyMS42OSw2LjM1IDIwLjg2LDYuNTggMjAsNi42OUMyMC44OCw2LjE2IDIxLjU2LDUuMzIgMjEuODgsNC4zMUMyMS4wNSw0LjgxIDIwLjEzLDUuMTYgMTkuMTYsNS4zNkMxOC4zNyw0LjUgMTcuMjYsNCAxNiw0QzEzLjY1LDQgMTEuNzMsNS45MiAxMS43Myw4LjI5QzExLjczLDguNjMgMTEuNzcsOC45NiAxMS44NCw5LjI3QzguMjgsOS4wOSA1LjExLDcuMzggMyw0Ljc5QzIuNjMsNS40MiAyLjQyLDYuMTYgMi40Miw2Ljk0QzIuNDIsOC40MyAzLjE3LDkuNzUgNC4zMywxMC41QzMuNjIsMTAuNSAyLjk2LDEwLjMgMi4zOCwxMEMyLjM4LDEwIDIuMzgsMTAgMi4zOCwxMC4wM0MyLjM4LDEyLjExIDMuODYsMTMuODUgNS44MiwxNC4yNEM1LjQ2LDE0LjM0IDUuMDgsMTQuMzkgNC42OSwxNC4zOUM0LjQyLDE0LjM5IDQuMTUsMTQuMzYgMy44OSwxNC4zMUM0LjQzLDE2IDYsMTcuMjYgNy44OSwxNy4yOUM2LjQzLDE4LjQ1IDQuNTgsMTkuMTMgMi41NiwxOS4xM0MyLjIyLDE5LjEzIDEuODgsMTkuMTEgMS41NCwxOS4wN0MzLjQ0LDIwLjI5IDUuNzAsMjEgOC4xMiwyMUMxNiwyMSAyMC4zMywxNC40NiAyMC4zMyw4Ljc5QzIwLjMzLDguNiAyMC4zMyw4LjQyIDIwLjMyLDguMjNDMjEuMTYsNy42MyAyMS44OCw2Ljg3IDIyLjQ2LDZaXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPlR3aXR0ZXI8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPSdzaGFyZU9uV2hhdHNBcHAoKSc+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk0xMi4wNCAyQzYuNTggMiAyLjEzIDYuNDUgMi4xMyAxMS45MUMyLjEzIDEzLjY2IDIuNTkgMTUuMzYgMy40NSAxNi44NkwyLjA1IDIyTDcuMyAyMC42MkM4Ljc1IDIxLjQxIDEwLjM4IDIxLjgzIDEyLjA0IDIxLjgzQzE3LjUgMjEuODMgMjEuOTUgMTcuMzggMjEuOTUgMTEuOTJDMjEuOTUgOS4yNyAyMC45MiA2Ljc4IDE5LjA1IDQuOTFDMTcuMTggMy4wMyAxNC42OSAyIDEyLjA0IDJNMTIuMDUgMy42N0MxNC4yNSAzLjY3IDE2LjMxIDQuNTMgMTcuODcgNi4wOUMxOS40MiA3LjY1IDIwLjI4IDkuNzIgMjAuMjggMTEuOTJDMjAuMjggMTYuNDYgMTYuNTggMjAuMTUgMTIuMDQgMjAuMTVDMTAuNTYgMjAuMTUgOS4xMSAxOS43NiA3Ljg1IDE5TDcuNTUgMTguODNMNC40MyAxOS42NUw1LjI2IDE2LjYxTDUuMDYgMTYuMjlDNC4yNCAxNSAzLjggMTMuNDcgMy44IDExLjkxQzMuODEgNy4zNyA3LjUgMy42NyAxMi4wNSAzLjY3TTguNTMgNy4zM0M4LjM3IDcuMzMgOC4xIDcuMzkgNy44NyA3LjY0QzcuNjUgNy44OSA3IDguNSA3IDkuNzFDNyAxMC45MyA3Ljg5IDEyLjEgOCAxMi4yN0M4LjE0IDEyLjQ0IDkuNzYgMTQuOTQgMTIuMjUgMTZDMTIuODQgMTYuMjcgMTMuMyAxNi40MiAxMy42NiAxNi41M0MxNC4yNSAxNi43MiAxNC43OSAxNi42OSAxNS4yMiAxNi42M0MxNS43IDE2LjU2IDE2LjY4IDE2LjAzIDE2Ljg5IDE1LjQ1QzE3LjEgMTQuODcgMTcuMSAxNC4zOCAxNy4wNCAxNC4yN0MxNi45NyAxNC4xNyAxNi44MSAxNC4xMSAxNi41NiAxNEMxNi4zMSAxMy44NiAxNS4wOSAxMy4yNiAxNC44NyAxMy4xOEMxNC42NCAxMy4xIDE0LjUgMTMuMDYgMTQuMzEgMTMuM0MxNC4xNSAxMy41NSAxMy42NyAxNC4xMSAxMy41MyAxNC4yN0MxMy4zOCAxNC40NCAxMy4yNCAxNC40NiAxMyAxNC4zNEMxMi43NCAxNC4yMSAxMS45NCAxMy45NSAxMSAxMy4xMUMxMC4yNiAxMi40NSA5Ljc3IDExLjY0IDkuNjIgMTEuMzlDOS41IDExLjE1IDkuNjEgMTEgOS43MyAxMC44OUM5Ljg0IDEwLjc4IDEwIDEwLjYgMTAuMSAxMC40NUMxMC4yMyAxMC4zMSAxMC4yNyAxMC4yIDEwLjM1IDEwLjA0QzEwLjQzIDkuODcgMTAuMzkgOS43MyAxMC4zMyA5LjYxQzEwLjI3IDkuNSA5Ljc3IDguMjYgOS41NiA3Ljc3QzkuMzYgNy4yOSA5LjE2IDcuMzUgOSA3LjM0QzguODYgNy4zNCA4LjcgNy4zMyA4LjUzIDcuMzNaXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPldoYXRzQXBwPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT0nc2hhcmVWaWFFbWFpbCgpJz5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+ZW1haWw8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPkVtYWlsPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPSdjb3B5Q2VydGlmaWNhdGVMaW5rKCknPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jb250ZW50X2NvcHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPkNvcHkgTGluazwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1tZW51PlxuICAgICAgICA8YSBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJ3cy1tYXQtYWNjZW50LWJvcmRlci1hY3RpdmUgbWF0LWFjY2VudCBidG4tY3VzdG9tXCIgKGNsaWNrKT1cInJhaXNlSW50cmVhY3RUZWxlbWV0cnkoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24gbWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgZG93bmxvYWRfaWNvbiBtYXJnaW4tcmlnaHQteHNcIj5jbG91ZF9kb3dubG9hZDwvbWF0LWljb24+XG4gICAgICAgICAgICB7eydjZXJ0aWZpY2F0ZWRpYWxvZy5kb3dubG9hZCcgfCB0cmFuc2xhdGV9fVxuICAgICAgICA8L2E+XG4gICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPSdkb3dubG9hZENlcnRQZGYoKSc+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnBpY3R1cmVfYXNfcGRmPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eydjZXJ0aWZpY2F0ZWRpYWxvZy5wZGYnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPSdkb3dubG9hZENlcnRQbmcoKSc+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnBob3RvPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eydjZXJ0aWZpY2F0ZWRpYWxvZy5wbmcnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPSdkb3dubG9hZENlcnQoKSc+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnBob3RvX3NpemVfc2VsZWN0X2FjdHVhbDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4+e3snY2VydGlmaWNhdGVkaWFsb2cuc3ZnJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LW1lbnU+XG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuPC9tYXQtY2FyZD5cbiJdfQ==