@rangertechnologies/ngnxt 2.1.244 → 2.1.246

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm2022/environments/version.mjs +2 -2
  2. package/esm2022/lib/components/button/nxt-button.component.mjs +5 -15
  3. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +11 -1
  4. package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +8 -1
  5. package/esm2022/lib/components/datatable/datatable.component.mjs +53 -45
  6. package/esm2022/lib/components/list-view-filter/list-view-filter.component.mjs +9 -18
  7. package/esm2022/lib/components/nxt-input/nxt-input.component.mjs +28 -18
  8. package/esm2022/lib/components/pagination/pagination.component.mjs +10 -6
  9. package/esm2022/lib/components/search-box/search-box.component.mjs +40 -27
  10. package/esm2022/lib/pages/builder/properties/common-fields.constants.mjs +6 -5
  11. package/esm2022/lib/pages/builder/properties/properties.component.mjs +33 -39
  12. package/esm2022/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.mjs +13 -8
  13. package/esm2022/lib/pipe/button-styles.pipe.mjs +26 -0
  14. package/esm2022/lib/pipe/custom-translate.pipe.mjs +10 -7
  15. package/esm2022/lib/pipe/get-value.pipe.mjs +2 -1
  16. package/esm2022/lib/pipe/question-by-row.pipe.mjs +51 -0
  17. package/esm2022/lib/pipe/search-filter/search-filter.pipe.mjs +2 -1
  18. package/esm2022/lib/services/form-builder.service.mjs +5 -1
  19. package/fesm2022/rangertechnologies-ngnxt.mjs +292 -179
  20. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  21. package/lib/components/button/nxt-button.component.d.ts +0 -3
  22. package/lib/components/datatable/datatable.component.d.ts +1 -2
  23. package/lib/components/list-view-filter/list-view-filter.component.d.ts +2 -5
  24. package/lib/components/nxt-input/nxt-input.component.d.ts +7 -4
  25. package/lib/components/pagination/pagination.component.d.ts +3 -2
  26. package/lib/pages/builder/properties/common-fields.constants.d.ts +29 -0
  27. package/lib/pages/builder/properties/properties.component.d.ts +32 -4
  28. package/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.d.ts +3 -2
  29. package/lib/pipe/button-styles.pipe.d.ts +9 -0
  30. package/lib/pipe/custom-translate.pipe.d.ts +1 -0
  31. package/lib/pipe/question-by-row.pipe.d.ts +9 -0
  32. package/package.json +1 -1
  33. package/rangertechnologies-ngnxt-2.1.246.tgz +0 -0
  34. package/rangertechnologies-ngnxt-2.1.244.tgz +0 -0
@@ -9,7 +9,7 @@ export const VERSION = {
9
9
  "semver": null,
10
10
  "suffix": "78a817f6-dirty",
11
11
  "semverString": null,
12
- "version": "2.1.244"
12
+ "version": "2.1.246"
13
13
  };
14
14
  /* tslint:enable */
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2Vudmlyb25tZW50cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUMzRSxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixNQUFNLEVBQUUsVUFBVTtJQUNsQixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixjQUFjLEVBQUUsSUFBSTtJQUNwQixTQUFTLEVBQUUsU0FBUztDQUN2QixDQUFDO0FBQ0YsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSU1QT1JUQU5UOiBUSElTIEZJTEUgSVMgQVVUTyBHRU5FUkFURUQhIERPIE5PVCBNQU5VQUxMWSBFRElUIE9SIENIRUNLSU4hXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSB7XG4gICAgXCJkaXJ0eVwiOiB0cnVlLFxuICAgIFwicmF3XCI6IFwiNzhhODE3ZjYtZGlydHlcIixcbiAgICBcImhhc2hcIjogXCI3OGE4MTdmNlwiLFxuICAgIFwiZGlzdGFuY2VcIjogbnVsbCxcbiAgICBcInRhZ1wiOiBudWxsLFxuICAgIFwic2VtdmVyXCI6IG51bGwsXG4gICAgXCJzdWZmaXhcIjogXCI3OGE4MTdmNi1kaXJ0eVwiLFxuICAgIFwic2VtdmVyU3RyaW5nXCI6IG51bGwsXG4gICAgXCJ2ZXJzaW9uXCI6IFwiMi4xLjI0NFwiXG59O1xuLyogdHNsaW50OmVuYWJsZSAqL1xuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2Vudmlyb25tZW50cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUMzRSxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixNQUFNLEVBQUUsVUFBVTtJQUNsQixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsSUFBSTtJQUNYLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixjQUFjLEVBQUUsSUFBSTtJQUNwQixTQUFTLEVBQUUsU0FBUztDQUN2QixDQUFDO0FBQ0YsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSU1QT1JUQU5UOiBUSElTIEZJTEUgSVMgQVVUTyBHRU5FUkFURUQhIERPIE5PVCBNQU5VQUxMWSBFRElUIE9SIENIRUNLSU4hXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSB7XG4gICAgXCJkaXJ0eVwiOiB0cnVlLFxuICAgIFwicmF3XCI6IFwiNzhhODE3ZjYtZGlydHlcIixcbiAgICBcImhhc2hcIjogXCI3OGE4MTdmNlwiLFxuICAgIFwiZGlzdGFuY2VcIjogbnVsbCxcbiAgICBcInRhZ1wiOiBudWxsLFxuICAgIFwic2VtdmVyXCI6IG51bGwsXG4gICAgXCJzdWZmaXhcIjogXCI3OGE4MTdmNi1kaXJ0eVwiLFxuICAgIFwic2VtdmVyU3RyaW5nXCI6IG51bGwsXG4gICAgXCJ2ZXJzaW9uXCI6IFwiMi4xLjI0NlwiXG59O1xuLyogdHNsaW50OmVuYWJsZSAqL1xuIl19
@@ -1,6 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
3
3
  import { NxtCustomTranslatePipe } from '../../pipe/custom-translate.pipe';
4
+ import { ButtonStylesPipe } from '../../pipe/button-styles.pipe';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "../../services/translation.service";
6
7
  import * as i2 from "@angular/common";
@@ -79,19 +80,8 @@ export class NxtButtonComponent {
79
80
  }
80
81
  }
81
82
  }
82
- //SKS24JAN25 Function to get styles for dropdown and group buttons based on the provided configuration.
83
- getButtonStyles(config) {
84
- return {
85
- 'button-custom-bg': config.btnBgColor || '',
86
- 'button-custom-border': config.btnBorder || '',
87
- 'button-custom-color': config.btnTextColor || '',
88
- 'button-custom-height': config.btnHeight || '',
89
- 'button-custom-width': config.btnWidth || '',
90
- 'button-hover-bg': config.btnHoverBgColor || '',
91
- 'button-hover-text-color': config.btnHoverTextColor || ''
92
- };
93
- }
94
83
  buttonClicked($event) {
84
+ console.log("button changes");
95
85
  this.buttonClickEmit.emit($event);
96
86
  if (this.isDropdownOpen) {
97
87
  this.isDropdownOpen = false;
@@ -107,11 +97,11 @@ export class NxtButtonComponent {
107
97
  }
108
98
  }
109
99
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NxtButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NxtButtonComponent, isStandalone: true, selector: "nxt-button", inputs: { buttonValue: "buttonValue", buttonType: "buttonType", type: "type", buttonDisable: "buttonDisable", btnBgColor: "btnBgColor", btnBorder: "btnBorder", btnTextColor: "btnTextColor", btnHeight: "btnHeight", btnWidth: "btnWidth", btnIconLeftSrc: "btnIconLeftSrc", btnIconRightSrc: "btnIconRightSrc", btnHoverBgColor: "btnHoverBgColor", btnHoverTextColor: "btnHoverTextColor", btnId: "btnId", dataDismiss: "dataDismiss", buttonBorder: "buttonBorder", modalToTrigger: "modalToTrigger", isImageSvg: "isImageSvg", tabIndex: "tabIndex", buttonConfig: "buttonConfig", mode: "mode", languageCode: "languageCode" }, outputs: { buttonClickEmit: "buttonClickEmit" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, usesOnChanges: true, ngImport: i0, template: "<!-- SKS24JAN25 group button -->\n<div *ngIf=\"type === 'group'\" class=\"btn-group\" role=\"group\" aria-label=\"Button Group\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"getButtonStyles(btn)\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"custom-tooltip\" \n style=\"background-color:{{btn.tooltipBcColor}};\n color:{{btn.tooltipColor}};\n font-size:{{btn.tooltipFSize}}\">\n {{ btn.tooltipPath || btn.tooltip | nxtCustomTranslate : btn.tooltip }}\n <div class=\"tooltip-pointer\" style=\"background-color:{{btn.tooltipBcColor}};\"></div>\n </span>\n </button>\n</div>\n \n<!-- SKS24JAN25 single button -->\n<button type=\"button\" *ngIf=\"type !== 'group' && type !== 'dropdown'\" class=\"btn btn-primary fc-button {{buttonType}}\" [tabindex]=\"tabIndex\"\n [attr.data-bs-toggle]=\"modalToTrigger != '' ? 'modal' : ''\"\n [attr.data-bs-target]=\"modalToTrigger != '' ? '#'+modalToTrigger : ''\"\n style=\"button-custom-bg: {{btnBgColor}};button-custom-border: {{btnBorder}};button-custom-color: {{btnTextColor}};button-custom-height: {{btnHeight}};button-custom-width: {{btnWidth}};button-hover-bg: {{btnHoverBgColor}};button-hover-text-color: {{btnHoverTextColor}};\"\n [disabled]=\"buttonDisable\" [attr.data-bs-dismiss]='dataDismiss' (click)=\"buttonClicked($event)\"\n [attr.id]=\"btnId != 'default' ? btnId : null\">\n <img *ngIf=\"btnIconLeftSrc != '' && isImageSvg\" src=\"{{btnIconLeftSrc}}\"\n class=\"fc-btn-icon left-icon\">\n <img *ngIf=\"btnIconLeftSrc != '' && !isImageSvg\" src=\"{{btnIconLeftSrc}}\" class=\"fc-btn-icon left-icon\">\n <span class=\"fc-btn-text\">{{buttonValue}}</span>\n <img *ngIf=\"btnIconRightSrc != '' && isImageSvg\" src=\"{{btnIconRightSrc}}\"\n class=\"fc-btn-icon right-icon\">\n <img *ngIf=\"btnIconRightSrc != '' && !isImageSvg\" src=\"{{btnIconRightSrc}}\" class=\"fc-btn-icon right-icon\">\n</button>\n\n<!-- SKS24JAN25 dropdown button -->\n<div *ngIf=\"type === 'dropdown'\" class=\"dropdown\">\n <svg class=\"clickable-img\" (click)=\"toggleDropdown()\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.3\" y=\"0.3\" width=\"39.4\" height=\"39.4\" rx=\"11.7\" fill=\"#FAFBFD\" stroke=\"#D5D5D5\" stroke-width=\"0.6\"/>\n <path d=\"M19.9999 25.6667C23.6818 25.6667 26.6666 22.6819 26.6666 19C26.6666 15.3181 23.6818 12.3334 19.9999 12.3334C16.318 12.3334 13.3333 15.3181 13.3333 19C13.3333 22.6819 16.318 25.6667 19.9999 25.6667Z\" fill=\"#292D32\" stroke=\"#292D32\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M17.6467 18.16L20.0001 20.5067L22.3534 18.16\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg> \n <div class=\"dropdown-menu\" *ngIf=\"isDropdownOpen\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"getButtonStyles(btn)\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"fc-btn-text\" style=\"padding-left: 12px;\">{{btn.name}}</span>\n </button>\n </div>\n</div>\n", styles: [".fc-button,.fc-button:hover,.fc-button:active,.fc-button:focus{outline:none;border:none;box-shadow:none}.fc-button{padding:6.5px}.fc-button:active{transform:scale(1.02)}.text-only{background:transparent;color:var(--fc-primary-color);border:none;outline:none}.grey-text{color:var(--fc-text-color)}.blue-text{color:var(--fc-primary-color)}.grey-border{color:#272525;background:transparent;border:2px solid #dddddd}.grey-border:hover{color:#272525;background:#6a2aff0a;border:2px solid #6a2aff59}.grey-border:active,.grey-border:focus{background-color:#386bf6;border:2px solid #3268ff;color:#fff}.blue-border,.blue-border:hover,.blue-border:active,.blue-border:focus{border:1px solid var(--fc-primary-color)}.bg-transparent{background-color:transparent}.custom-btn{background-color:var(button-custom-bg);border-color:var(button-custom-border);color:var(button-custom-color);height:var(button-custom-height);width:var(button-custom-width)}.custom-btn:hover,.custom-btn:active,.custom-btn:focus{border-color:var(button-custom-border);background-color:var(button-hover-bg);color:var(button-hover-text-color)}.fc-btn-text{display:inline-flex;vertical-align:middle;font-size:14px;font-weight:400;padding-left:5px;padding-right:5px}.right-icon{margin-left:5px}.left-icon{margin-right:5px}.fc-button.side-save-component,.fc-button.side-cancel-component{border:1px solid transparent}.fc-button.side-save-component:focus,.fc-button.side-cancel-component:focus{box-shadow:0 0 0 .25rem #0d6efd40;border:1px solid #86b7fe}.btn-group{background-color:#fdfeff;border:1px solid #dddddd;border-radius:7px}.btn-icon{background-color:#fdfeff;border:1px solid #dddddd}.custom-tooltip{visibility:visible;position:absolute;background-color:#0773ff;color:#fff;text-align:center;padding:5px 10px;border-radius:4px;font-size:12px;white-space:nowrap;bottom:100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s;z-index:10;margin-bottom:10px}.tooltip-pointer{position:absolute;width:0;height:0;bottom:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #0773ff}.tooltip-container:hover .custom-tooltip{visibility:visible;opacity:1}.clickable-img{position:relative;cursor:pointer;height:41px;transition:transform .3s ease,box-shadow .3s ease;border:2px solid #dddddd;border-radius:13px}.clickable-img:hover{transform:scale(.95);border:2px solid rgb(31,105,255);border-radius:14px}.dropdown{position:relative;display:inline-block}.dropdown-menu{right:0;top:45px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 8px #0000001a;left:unset}.dropdown .dropdown-menu{display:block}.dropdown-menu .btn{display:block;padding:10px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer}.dropdown-menu .btn:hover{background-color:#f1f1f1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: NxtCustomTranslatePipe, name: "nxtCustomTranslate" }] });
100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NxtButtonComponent, isStandalone: true, selector: "nxt-button", inputs: { buttonValue: "buttonValue", buttonType: "buttonType", type: "type", buttonDisable: "buttonDisable", btnBgColor: "btnBgColor", btnBorder: "btnBorder", btnTextColor: "btnTextColor", btnHeight: "btnHeight", btnWidth: "btnWidth", btnIconLeftSrc: "btnIconLeftSrc", btnIconRightSrc: "btnIconRightSrc", btnHoverBgColor: "btnHoverBgColor", btnHoverTextColor: "btnHoverTextColor", btnId: "btnId", dataDismiss: "dataDismiss", buttonBorder: "buttonBorder", modalToTrigger: "modalToTrigger", isImageSvg: "isImageSvg", tabIndex: "tabIndex", buttonConfig: "buttonConfig", mode: "mode", languageCode: "languageCode" }, outputs: { buttonClickEmit: "buttonClickEmit" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, usesOnChanges: true, ngImport: i0, template: "<!-- SKS24JAN25 group button -->\n<div *ngIf=\"type === 'group'\" class=\"btn-group\" role=\"group\" aria-label=\"Button Group\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"btn | buttonStyles\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"custom-tooltip\" \n style=\"background-color:{{btn.tooltipBcColor}};\n color:{{btn.tooltipColor}};\n font-size:{{btn.tooltipFSize}}\">\n {{ btn.tooltipPath || btn.tooltip | nxtCustomTranslate : btn.tooltip }}\n <div class=\"tooltip-pointer\" style=\"background-color:{{btn.tooltipBcColor}};\"></div>\n </span>\n </button>\n</div>\n \n<!-- SKS24JAN25 single button -->\n<button type=\"button\" *ngIf=\"type !== 'group' && type !== 'dropdown'\" class=\"btn btn-primary fc-button {{buttonType}}\" [tabindex]=\"tabIndex\"\n [attr.data-bs-toggle]=\"modalToTrigger != '' ? 'modal' : ''\"\n [attr.data-bs-target]=\"modalToTrigger != '' ? '#'+modalToTrigger : ''\"\n style=\"button-custom-bg: {{btnBgColor}};button-custom-border: {{btnBorder}};button-custom-color: {{btnTextColor}};button-custom-height: {{btnHeight}};button-custom-width: {{btnWidth}};button-hover-bg: {{btnHoverBgColor}};button-hover-text-color: {{btnHoverTextColor}};\"\n [disabled]=\"buttonDisable\" [attr.data-bs-dismiss]='dataDismiss' (click)=\"buttonClicked($event)\"\n [attr.id]=\"btnId != 'default' ? btnId : null\">\n <img *ngIf=\"btnIconLeftSrc != '' && isImageSvg\" src=\"{{btnIconLeftSrc}}\"\n class=\"fc-btn-icon left-icon\">\n <img *ngIf=\"btnIconLeftSrc != '' && !isImageSvg\" src=\"{{btnIconLeftSrc}}\" class=\"fc-btn-icon left-icon\">\n <span class=\"fc-btn-text\">{{buttonValue}}</span>\n <img *ngIf=\"btnIconRightSrc != '' && isImageSvg\" src=\"{{btnIconRightSrc}}\"\n class=\"fc-btn-icon right-icon\">\n <img *ngIf=\"btnIconRightSrc != '' && !isImageSvg\" src=\"{{btnIconRightSrc}}\" class=\"fc-btn-icon right-icon\">\n</button>\n\n<!-- SKS24JAN25 dropdown button -->\n<div *ngIf=\"type === 'dropdown'\" class=\"dropdown\">\n <svg class=\"clickable-img\" (click)=\"toggleDropdown()\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.3\" y=\"0.3\" width=\"39.4\" height=\"39.4\" rx=\"11.7\" fill=\"#FAFBFD\" stroke=\"#D5D5D5\" stroke-width=\"0.6\"/>\n <path d=\"M19.9999 25.6667C23.6818 25.6667 26.6666 22.6819 26.6666 19C26.6666 15.3181 23.6818 12.3334 19.9999 12.3334C16.318 12.3334 13.3333 15.3181 13.3333 19C13.3333 22.6819 16.318 25.6667 19.9999 25.6667Z\" fill=\"#292D32\" stroke=\"#292D32\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M17.6467 18.16L20.0001 20.5067L22.3534 18.16\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg> \n <div class=\"dropdown-menu\" *ngIf=\"isDropdownOpen\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"btn | buttonStyles\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"fc-btn-text\" style=\"padding-left: 12px;\">{{btn.name}}</span>\n </button>\n </div>\n</div>\n", styles: [".fc-button,.fc-button:hover,.fc-button:active,.fc-button:focus{outline:none;border:none;box-shadow:none}.fc-button{padding:6.5px}.fc-button:active{transform:scale(1.02)}.text-only{background:transparent;color:var(--fc-primary-color);border:none;outline:none}.grey-text{color:var(--fc-text-color)}.blue-text{color:var(--fc-primary-color)}.grey-border{color:#272525;background:transparent;border:2px solid #dddddd}.grey-border:hover{color:#272525;background:#6a2aff0a;border:2px solid #6a2aff59}.grey-border:active,.grey-border:focus{background-color:#386bf6;border:2px solid #3268ff;color:#fff}.blue-border,.blue-border:hover,.blue-border:active,.blue-border:focus{border:1px solid var(--fc-primary-color)}.bg-transparent{background-color:transparent}.custom-btn{background-color:var(button-custom-bg);border-color:var(button-custom-border);color:var(button-custom-color);height:var(button-custom-height);width:var(button-custom-width)}.custom-btn:hover,.custom-btn:active,.custom-btn:focus{border-color:var(button-custom-border);background-color:var(button-hover-bg);color:var(button-hover-text-color)}.fc-btn-text{display:inline-flex;vertical-align:middle;font-size:14px;font-weight:400;padding-left:5px;padding-right:5px}.right-icon{margin-left:5px}.left-icon{margin-right:5px}.fc-button.side-save-component,.fc-button.side-cancel-component{border:1px solid transparent}.fc-button.side-save-component:focus,.fc-button.side-cancel-component:focus{box-shadow:0 0 0 .25rem #0d6efd40;border:1px solid #86b7fe}.btn-group{background-color:#fdfeff;border:1px solid #dddddd;border-radius:7px}.btn-icon{background-color:#fdfeff;border:1px solid #dddddd}.custom-tooltip{visibility:visible;position:absolute;background-color:#0773ff;color:#fff;text-align:center;padding:5px 10px;border-radius:4px;font-size:12px;white-space:nowrap;bottom:100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s;z-index:10;margin-bottom:10px}.tooltip-pointer{position:absolute;width:0;height:0;bottom:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #0773ff}.tooltip-container:hover .custom-tooltip{visibility:visible;opacity:1}.clickable-img{position:relative;cursor:pointer;height:41px;transition:transform .3s ease,box-shadow .3s ease;border:2px solid #dddddd;border-radius:13px}.clickable-img:hover{transform:scale(.95);border:2px solid rgb(31,105,255);border-radius:14px}.dropdown{position:relative;display:inline-block}.dropdown-menu{right:0;top:45px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 8px #0000001a;left:unset}.dropdown .dropdown-menu{display:block}.dropdown-menu .btn{display:block;padding:10px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer}.dropdown-menu .btn:hover{background-color:#f1f1f1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: NxtCustomTranslatePipe, name: "nxtCustomTranslate" }, { kind: "pipe", type: ButtonStylesPipe, name: "buttonStyles" }] });
111
101
  }
112
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NxtButtonComponent, decorators: [{
113
103
  type: Component,
114
- args: [{ selector: 'nxt-button', standalone: true, imports: [CommonModule, NxtCustomTranslatePipe], template: "<!-- SKS24JAN25 group button -->\n<div *ngIf=\"type === 'group'\" class=\"btn-group\" role=\"group\" aria-label=\"Button Group\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"getButtonStyles(btn)\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"custom-tooltip\" \n style=\"background-color:{{btn.tooltipBcColor}};\n color:{{btn.tooltipColor}};\n font-size:{{btn.tooltipFSize}}\">\n {{ btn.tooltipPath || btn.tooltip | nxtCustomTranslate : btn.tooltip }}\n <div class=\"tooltip-pointer\" style=\"background-color:{{btn.tooltipBcColor}};\"></div>\n </span>\n </button>\n</div>\n \n<!-- SKS24JAN25 single button -->\n<button type=\"button\" *ngIf=\"type !== 'group' && type !== 'dropdown'\" class=\"btn btn-primary fc-button {{buttonType}}\" [tabindex]=\"tabIndex\"\n [attr.data-bs-toggle]=\"modalToTrigger != '' ? 'modal' : ''\"\n [attr.data-bs-target]=\"modalToTrigger != '' ? '#'+modalToTrigger : ''\"\n style=\"button-custom-bg: {{btnBgColor}};button-custom-border: {{btnBorder}};button-custom-color: {{btnTextColor}};button-custom-height: {{btnHeight}};button-custom-width: {{btnWidth}};button-hover-bg: {{btnHoverBgColor}};button-hover-text-color: {{btnHoverTextColor}};\"\n [disabled]=\"buttonDisable\" [attr.data-bs-dismiss]='dataDismiss' (click)=\"buttonClicked($event)\"\n [attr.id]=\"btnId != 'default' ? btnId : null\">\n <img *ngIf=\"btnIconLeftSrc != '' && isImageSvg\" src=\"{{btnIconLeftSrc}}\"\n class=\"fc-btn-icon left-icon\">\n <img *ngIf=\"btnIconLeftSrc != '' && !isImageSvg\" src=\"{{btnIconLeftSrc}}\" class=\"fc-btn-icon left-icon\">\n <span class=\"fc-btn-text\">{{buttonValue}}</span>\n <img *ngIf=\"btnIconRightSrc != '' && isImageSvg\" src=\"{{btnIconRightSrc}}\"\n class=\"fc-btn-icon right-icon\">\n <img *ngIf=\"btnIconRightSrc != '' && !isImageSvg\" src=\"{{btnIconRightSrc}}\" class=\"fc-btn-icon right-icon\">\n</button>\n\n<!-- SKS24JAN25 dropdown button -->\n<div *ngIf=\"type === 'dropdown'\" class=\"dropdown\">\n <svg class=\"clickable-img\" (click)=\"toggleDropdown()\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.3\" y=\"0.3\" width=\"39.4\" height=\"39.4\" rx=\"11.7\" fill=\"#FAFBFD\" stroke=\"#D5D5D5\" stroke-width=\"0.6\"/>\n <path d=\"M19.9999 25.6667C23.6818 25.6667 26.6666 22.6819 26.6666 19C26.6666 15.3181 23.6818 12.3334 19.9999 12.3334C16.318 12.3334 13.3333 15.3181 13.3333 19C13.3333 22.6819 16.318 25.6667 19.9999 25.6667Z\" fill=\"#292D32\" stroke=\"#292D32\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M17.6467 18.16L20.0001 20.5067L22.3534 18.16\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg> \n <div class=\"dropdown-menu\" *ngIf=\"isDropdownOpen\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"getButtonStyles(btn)\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"fc-btn-text\" style=\"padding-left: 12px;\">{{btn.name}}</span>\n </button>\n </div>\n</div>\n", styles: [".fc-button,.fc-button:hover,.fc-button:active,.fc-button:focus{outline:none;border:none;box-shadow:none}.fc-button{padding:6.5px}.fc-button:active{transform:scale(1.02)}.text-only{background:transparent;color:var(--fc-primary-color);border:none;outline:none}.grey-text{color:var(--fc-text-color)}.blue-text{color:var(--fc-primary-color)}.grey-border{color:#272525;background:transparent;border:2px solid #dddddd}.grey-border:hover{color:#272525;background:#6a2aff0a;border:2px solid #6a2aff59}.grey-border:active,.grey-border:focus{background-color:#386bf6;border:2px solid #3268ff;color:#fff}.blue-border,.blue-border:hover,.blue-border:active,.blue-border:focus{border:1px solid var(--fc-primary-color)}.bg-transparent{background-color:transparent}.custom-btn{background-color:var(button-custom-bg);border-color:var(button-custom-border);color:var(button-custom-color);height:var(button-custom-height);width:var(button-custom-width)}.custom-btn:hover,.custom-btn:active,.custom-btn:focus{border-color:var(button-custom-border);background-color:var(button-hover-bg);color:var(button-hover-text-color)}.fc-btn-text{display:inline-flex;vertical-align:middle;font-size:14px;font-weight:400;padding-left:5px;padding-right:5px}.right-icon{margin-left:5px}.left-icon{margin-right:5px}.fc-button.side-save-component,.fc-button.side-cancel-component{border:1px solid transparent}.fc-button.side-save-component:focus,.fc-button.side-cancel-component:focus{box-shadow:0 0 0 .25rem #0d6efd40;border:1px solid #86b7fe}.btn-group{background-color:#fdfeff;border:1px solid #dddddd;border-radius:7px}.btn-icon{background-color:#fdfeff;border:1px solid #dddddd}.custom-tooltip{visibility:visible;position:absolute;background-color:#0773ff;color:#fff;text-align:center;padding:5px 10px;border-radius:4px;font-size:12px;white-space:nowrap;bottom:100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s;z-index:10;margin-bottom:10px}.tooltip-pointer{position:absolute;width:0;height:0;bottom:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #0773ff}.tooltip-container:hover .custom-tooltip{visibility:visible;opacity:1}.clickable-img{position:relative;cursor:pointer;height:41px;transition:transform .3s ease,box-shadow .3s ease;border:2px solid #dddddd;border-radius:13px}.clickable-img:hover{transform:scale(.95);border:2px solid rgb(31,105,255);border-radius:14px}.dropdown{position:relative;display:inline-block}.dropdown-menu{right:0;top:45px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 8px #0000001a;left:unset}.dropdown .dropdown-menu{display:block}.dropdown-menu .btn{display:block;padding:10px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer}.dropdown-menu .btn:hover{background-color:#f1f1f1}\n"] }]
104
+ args: [{ selector: 'nxt-button', standalone: true, imports: [CommonModule, NxtCustomTranslatePipe, ButtonStylesPipe], template: "<!-- SKS24JAN25 group button -->\n<div *ngIf=\"type === 'group'\" class=\"btn-group\" role=\"group\" aria-label=\"Button Group\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"btn | buttonStyles\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"custom-tooltip\" \n style=\"background-color:{{btn.tooltipBcColor}};\n color:{{btn.tooltipColor}};\n font-size:{{btn.tooltipFSize}}\">\n {{ btn.tooltipPath || btn.tooltip | nxtCustomTranslate : btn.tooltip }}\n <div class=\"tooltip-pointer\" style=\"background-color:{{btn.tooltipBcColor}};\"></div>\n </span>\n </button>\n</div>\n \n<!-- SKS24JAN25 single button -->\n<button type=\"button\" *ngIf=\"type !== 'group' && type !== 'dropdown'\" class=\"btn btn-primary fc-button {{buttonType}}\" [tabindex]=\"tabIndex\"\n [attr.data-bs-toggle]=\"modalToTrigger != '' ? 'modal' : ''\"\n [attr.data-bs-target]=\"modalToTrigger != '' ? '#'+modalToTrigger : ''\"\n style=\"button-custom-bg: {{btnBgColor}};button-custom-border: {{btnBorder}};button-custom-color: {{btnTextColor}};button-custom-height: {{btnHeight}};button-custom-width: {{btnWidth}};button-hover-bg: {{btnHoverBgColor}};button-hover-text-color: {{btnHoverTextColor}};\"\n [disabled]=\"buttonDisable\" [attr.data-bs-dismiss]='dataDismiss' (click)=\"buttonClicked($event)\"\n [attr.id]=\"btnId != 'default' ? btnId : null\">\n <img *ngIf=\"btnIconLeftSrc != '' && isImageSvg\" src=\"{{btnIconLeftSrc}}\"\n class=\"fc-btn-icon left-icon\">\n <img *ngIf=\"btnIconLeftSrc != '' && !isImageSvg\" src=\"{{btnIconLeftSrc}}\" class=\"fc-btn-icon left-icon\">\n <span class=\"fc-btn-text\">{{buttonValue}}</span>\n <img *ngIf=\"btnIconRightSrc != '' && isImageSvg\" src=\"{{btnIconRightSrc}}\"\n class=\"fc-btn-icon right-icon\">\n <img *ngIf=\"btnIconRightSrc != '' && !isImageSvg\" src=\"{{btnIconRightSrc}}\" class=\"fc-btn-icon right-icon\">\n</button>\n\n<!-- SKS24JAN25 dropdown button -->\n<div *ngIf=\"type === 'dropdown'\" class=\"dropdown\">\n <svg class=\"clickable-img\" (click)=\"toggleDropdown()\" width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.3\" y=\"0.3\" width=\"39.4\" height=\"39.4\" rx=\"11.7\" fill=\"#FAFBFD\" stroke=\"#D5D5D5\" stroke-width=\"0.6\"/>\n <path d=\"M19.9999 25.6667C23.6818 25.6667 26.6666 22.6819 26.6666 19C26.6666 15.3181 23.6818 12.3334 19.9999 12.3334C16.318 12.3334 13.3333 15.3181 13.3333 19C13.3333 22.6819 16.318 25.6667 19.9999 25.6667Z\" fill=\"#292D32\" stroke=\"#292D32\" stroke-width=\"1.5\" stroke-miterlimit=\"10\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M17.6467 18.16L20.0001 20.5067L22.3534 18.16\" stroke=\"white\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg> \n <div class=\"dropdown-menu\" *ngIf=\"isDropdownOpen\">\n <button *ngFor=\"let btn of buttonConfig.buttons\"\n type=\"button\"\n class=\"btn btn-icon {{btn.buttonType}} tooltip-container\"\n [attr.tabindex]=\"btn.tabIndex\"\n [attr.data-bs-toggle]=\"btn.modalToTrigger ? 'modal' : null\"\n [attr.data-bs-target]=\"btn.modalToTrigger ? '#' + btn.modalToTrigger : null\"\n [ngStyle]=\"btn | buttonStyles\"\n [disabled]=\"btn.buttonDisable\"\n [attr.data-bs-dismiss]=\"btn.dataDismiss\"\n (click)=\"buttonClicked(btn)\"\n [attr.id]=\"btn.btnId !== 'default' ? btn.btnId : null\">\n <img *ngIf=\"btn.isImageSvg\" [src]=\"btn.iconSrc\">\n <span class=\"fc-btn-text\" style=\"padding-left: 12px;\">{{btn.name}}</span>\n </button>\n </div>\n</div>\n", styles: [".fc-button,.fc-button:hover,.fc-button:active,.fc-button:focus{outline:none;border:none;box-shadow:none}.fc-button{padding:6.5px}.fc-button:active{transform:scale(1.02)}.text-only{background:transparent;color:var(--fc-primary-color);border:none;outline:none}.grey-text{color:var(--fc-text-color)}.blue-text{color:var(--fc-primary-color)}.grey-border{color:#272525;background:transparent;border:2px solid #dddddd}.grey-border:hover{color:#272525;background:#6a2aff0a;border:2px solid #6a2aff59}.grey-border:active,.grey-border:focus{background-color:#386bf6;border:2px solid #3268ff;color:#fff}.blue-border,.blue-border:hover,.blue-border:active,.blue-border:focus{border:1px solid var(--fc-primary-color)}.bg-transparent{background-color:transparent}.custom-btn{background-color:var(button-custom-bg);border-color:var(button-custom-border);color:var(button-custom-color);height:var(button-custom-height);width:var(button-custom-width)}.custom-btn:hover,.custom-btn:active,.custom-btn:focus{border-color:var(button-custom-border);background-color:var(button-hover-bg);color:var(button-hover-text-color)}.fc-btn-text{display:inline-flex;vertical-align:middle;font-size:14px;font-weight:400;padding-left:5px;padding-right:5px}.right-icon{margin-left:5px}.left-icon{margin-right:5px}.fc-button.side-save-component,.fc-button.side-cancel-component{border:1px solid transparent}.fc-button.side-save-component:focus,.fc-button.side-cancel-component:focus{box-shadow:0 0 0 .25rem #0d6efd40;border:1px solid #86b7fe}.btn-group{background-color:#fdfeff;border:1px solid #dddddd;border-radius:7px}.btn-icon{background-color:#fdfeff;border:1px solid #dddddd}.custom-tooltip{visibility:visible;position:absolute;background-color:#0773ff;color:#fff;text-align:center;padding:5px 10px;border-radius:4px;font-size:12px;white-space:nowrap;bottom:100%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .2s;z-index:10;margin-bottom:10px}.tooltip-pointer{position:absolute;width:0;height:0;bottom:-5px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #0773ff}.tooltip-container:hover .custom-tooltip{visibility:visible;opacity:1}.clickable-img{position:relative;cursor:pointer;height:41px;transition:transform .3s ease,box-shadow .3s ease;border:2px solid #dddddd;border-radius:13px}.clickable-img:hover{transform:scale(.95);border:2px solid rgb(31,105,255);border-radius:14px}.dropdown{position:relative;display:inline-block}.dropdown-menu{right:0;top:45px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 4px 8px #0000001a;left:unset}.dropdown .dropdown-menu{display:block}.dropdown-menu .btn{display:block;padding:10px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer}.dropdown-menu .btn:hover{background-color:#f1f1f1}\n"] }]
115
105
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslationService }, { type: i0.ElementRef }], propDecorators: { buttonValue: [{
116
106
  type: Input
117
107
  }], buttonType: [{
@@ -162,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
162
152
  type: HostListener,
163
153
  args: ['document:click', ['$event']]
164
154
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vbnh0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vbnh0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQVMxRSxNQUFNLE9BQU8sa0JBQWtCO0lBaURUO0lBQWtDO0lBQWdEO0lBL0M3RixXQUFXLEdBQVcsRUFBRSxDQUFDLENBQUMseUJBQXlCO0lBQ25ELFVBQVUsR0FBVyxTQUFTLENBQUMsQ0FBQywrT0FBK087SUFDL1EsSUFBSSxHQUFXLFFBQVEsQ0FBQyxDQUFDLG9FQUFvRTtJQUM3RixhQUFhLEdBQVksS0FBSyxDQUFDLENBQUMsNERBQTREO0lBQzVGLFVBQVUsR0FBVyxFQUFFLENBQUMsQ0FBQyxrRUFBa0U7SUFDM0YsU0FBUyxHQUFXLEVBQUUsQ0FBQyxDQUFDLDhEQUE4RDtJQUN0RixZQUFZLEdBQVcsRUFBRSxDQUFDLENBQUMsNERBQTREO0lBQ3ZGLFNBQVMsR0FBVyxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7SUFDaEYsUUFBUSxHQUFXLEVBQUUsQ0FBQyxDQUFDLHVEQUF1RDtJQUM5RSxjQUFjLEdBQVcsRUFBRSxDQUFDLENBQUMseUVBQXlFO0lBQ3RHLGVBQWUsR0FBVyxFQUFFLENBQUMsQ0FBQyww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QUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQTZFUCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnh0Q3VzdG9tVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGUvY3VzdG9tLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnh0LWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE54dEN1c3RvbVRyYW5zbGF0ZVBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vbnh0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL254dC1idXR0b24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIE54dEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gXG4gIEBJbnB1dCgpIGJ1dHRvblZhbHVlOiBzdHJpbmcgPSAnJzsgLy9TS1MyNEpBTjI1IGJ1dHRvbiB0ZXh0IFxuICBASW5wdXQoKSBidXR0b25UeXBlOiBzdHJpbmcgPSAncHJpbWFyeSc7IC8vU0tTMjRKQU4yNSBJZiB0aGUgYnV0dG9uIHR5cGUgaXMgJ3RleHQtb25seScsIGl0IHNob3VsZCBkaXNwbGF5IG9ubHkgdGhlIHRleHQgd2l0aG91dCBhIGJvcmRlciBvciBvdXRsaW5lLiBGb3IgJ2dyZXktdGV4dCcsIHRoZSBidXR0b24gc2hvdWxkIGhhdmUgYSBib3JkZXIgYW5kIGEgYmFja2dyb3VuZCBjb2xvciwgYnV0IHRoZSB0ZXh0IGNvbG9yIHNob3VsZCBiZSBncmF5LCBzaW1pbGFyIHRvICdibHVlLXRleHQnXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICdidXR0b24nOyAvL1NLUzI0SkFOMjUgVGhlIGJ1dHRvbiB0eXBlcyBhcmUgXCJidXR0b24sXCIgXCJncm91cCxcIiBhbmQgXCJkcm9wZG93bi5cIlxuICBASW5wdXQoKSBidXR0b25EaXNhYmxlOiBib29sZWFuID0gZmFsc2U7IC8vU0tTMjRKQU4yNSB1c2UgdGhpcyBpbnB1dCB0byBkaXNhYmxlIGEgYnV0dG9uIHdoZW4gbmVlZGVkLlxuICBASW5wdXQoKSBidG5CZ0NvbG9yOiBzdHJpbmcgPSAnJzsgLy8gVXNlIHRoaXMgaW5wdXQgdG8gc2V0IGEgY3VzdG9tIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBidXR0b24uXG4gIEBJbnB1dCgpIGJ0bkJvcmRlcjogc3RyaW5nID0gJyc7IC8vIFVzZSB0aGlzIGlucHV0IHRvIHNldCBhIGN1c3RvbSBib3JkZXIgc3R5bGUgZm9yIHRoZSBidXR0b24uXG4gIEBJbnB1dCgpIGJ0blRleHRDb2xvcjogc3RyaW5nID0gJyc7IC8vIFVzZSB0aGlzIGlucHV0IHRvIHNldCBhIGN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aGUgYnV0dG9uLlxuICBASW5wdXQoKSBidG5IZWlnaHQ6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgYSBjdXN0b20gaGVpZ2h0IGZvciB0aGUgYnV0dG9uLlxuICBASW5wdXQoKSBidG5XaWR0aDogc3RyaW5nID0gJyc7IC8vIFVzZSB0aGlzIGlucHV0IHRvIHNldCBhIGN1c3RvbSB3aWR0aCBmb3IgdGhlIGJ1dHRvbi5cbiAgQElucHV0KCkgYnRuSWNvbkxlZnRTcmM6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgdGhlIHNvdXJjZSBvZiB0aGUgbGVmdC1zaWRlIGljb24gZm9yIHRoZSBidXR0b24uXG4gIEBJbnB1dCgpIGJ0bkljb25SaWdodFNyYzogc3RyaW5nID0gJyc7IC8vIFVzZSB0aGlzIGlucHV0IHRvIHNldCB0aGUgc291cmNlIG9mIHRoZSByaWdodC1zaWRlIGljb24gZm9yIHRoZSBidXR0b24uXG4gIEBJbnB1dCgpIGJ0bkhvdmVyQmdDb2xvcjogc3RyaW5nID0gJyc7IC8vIFVzZSB0aGlzIGlucHV0IHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLlxuICBASW5wdXQoKSBidG5Ib3ZlclRleHRDb2xvcjogc3RyaW5nID0gJyc7IC8vIFVzZSB0aGlzIGlucHV0IHRvIHNldCB0aGUgdGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLlxuICBASW5wdXQoKSBidG5JZDogc3RyaW5nID0gJ2RlZmF1bHQnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgYSBjdXN0b20gSUQgZm9yIHRoZSBidXR0b24uIERlZmF1bHQgaXMgJ2RlZmF1bHQnLlxuICBASW5wdXQoKSBkYXRhRGlzbWlzczogc3RyaW5nID0gJyc7IC8vIFVzZSB0aGlzIGlucHV0IHRvIHNwZWNpZnkgdGhlIGRpc21pc3MgYWN0aW9uIGZvciB0aGUgYnV0dG9uIChlLmcuLCAnbW9kYWwnIHRvIGNsb3NlIGEgbW9kYWwpLlxuICBASW5wdXQoKSBidXR0b25Cb3JkZXI6IHN0cmluZyA9ICcwcHgnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgdGhlIGJvcmRlciBzaXplIG9mIHRoZSBidXR0b24uIERlZmF1bHQgaXMgJzBweCcgZm9yIG5vIGJvcmRlci5cbiAgQElucHV0KCkgbW9kYWxUb1RyaWdnZXI6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzcGVjaWZ5IHRoZSBJRCBvciB0YXJnZXQgb2YgdGhlIG1vZGFsIHRvIGJlIHRyaWdnZXJlZC5cbiAgQElucHV0KCkgaXNJbWFnZVN2ZzogYm9vbGVhbiA9IGZhbHNlOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBkZXRlcm1pbmUgaWYgdGhlIGltYWdlIGlzIGFuIFNWRy4gRGVmYXVsdCBpcyBmYWxzZSAobm9uLVNWRykuXG4gIEBJbnB1dCgpIHRhYkluZGV4OiBhbnkgPSAnJzsvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgdGhlIHRhYiBpbmRleCBmb3IgdGhlIGVsZW1lbnQsIGNvbnRyb2xsaW5nIHRoZSBmb2N1cyBvcmRlci5cbiAgQElucHV0KCkgYnV0dG9uQ29uZmlnOiBhbnkgPSAnJzsgLy8gVXNlIHRoaXMgaW5wdXQgdG8gcGFzcyBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciB0aGUgZ3JvdXAgYW5kIGRyb3Bkb3duIGJ1dHRvbnMgKGUuZy4sIHN0eWxlcywgYWN0aW9ucykuXG4gIEBJbnB1dCgpIG1vZGU6ICd2aWV3JyB8ICdlZGl0JyB8ICdwcmludCcgPSAnZWRpdCc7IC8vIE5ldyBtb2RlIGlucHV0XG4gIEBJbnB1dCgpIGxhbmd1YWdlQ29kZTogYW55IDtcbiAgXG4gIEBPdXRwdXQoKSBidXR0b25DbGlja0VtaXQ6RXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaWNvblNyYzogYW55ID0gJyc7IC8vIEVuc3VyZSBpdCdzIGFsd2F5cyBhIHN0cmluZ1xuICBpc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuXG4gIFxuXG4gIC8vIFNLUzI0SkFOMjUgZHJvcGRvd24gYnV0dG9uIGNvbmZpZ1xuXG4gIC8vIGRyb3Bkb3duQnV0dG9uID0ge1xuICAvLyAgIGJ0bkJnQ29sb3I6ICcjMDA3YmZmJyxcbiAgLy8gICBidG5Cb3JkZXI6ICcxcHggc29saWQgIzAwNTZiMycsXG4gIC8vICAgYnRuVGV4dENvbG9yOiAnI2ZmZmZmZicsXG4gIC8vICAgYnRuSGVpZ2h0OiAnNDBweCcsXG4gIC8vICAgYnRuV2lkdGg6ICcxNTBweCcsXG4gIC8vICAgYnRuSG92ZXJCZ0NvbG9yOiAnIzAwNTZiMycsXG4gIC8vICAgYnRuSG92ZXJUZXh0Q29sb3I6ICcjZmZmZmZmJyxcbiAgLy8gICBsYWJlbDogJ0Ryb3Bkb3duJyxcbiAgLy8gICBpY29uU3JjOiAnJyxcbiAgLy8gICBpdGVtczogW1xuICAvLyAgICAgeyBsYWJlbDogJ0FjdGlvbiAxJyxpY29uU3JjOiAnJywgaG92ZXI6IGZhbHNlIH0sXG4gIC8vICAgICB7IGxhYmVsOiAnQWN0aW9uIDInLGljb25TcmM6ICcnLCBob3ZlcjogZmFsc2UgfSxcbiAgLy8gICAgIHsgbGFiZWw6ICdBY3Rpb24gMycsaWNvblNyYzogJycsIGhvdmVyOiBmYWxzZSB9XG4gIC8vICAgXVxuICAvLyB9O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBTS1MxNEpVTDI1IEluaXRpYWxpemUgbGFuZ3VhZ2Ugc2V0dGluZ3Mgb24gY29tcG9uZW50IGxvYWRcbiAgICAvLyBTS1MxNEpVTDI1IEdldCB0aGUgc2F2ZWQgbGFuZ3VhZ2UgZnJvbSBsb2NhbFN0b3JhZ2UgKGlmIGFueSlcbiAgICBsZXQgbGFuZyA9IHRoaXMubGFuZ3VhZ2VDb2RlIHx8IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmdldExhbmd1YWdlKCkgfHwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmd1YWdlJykgfHwgJ2VuJztcbiAgICAvLyBTS1MxNEpVTDI1IElmIGxhbmd1YWdlQ29kZSBpcyBhbHJlYWR5IHNldCAoZS5nLiwgZnJvbSBpbnB1dCBvciBjb25maWcpLCBhcHBseSBpdFxuICAgIGlmIChsYW5nKSB7XG4gICAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5zZXRMYW5ndWFnZSh0aGlzLmxhbmd1YWdlQ29kZSk7XG4gICAgICB0aGlzLmxhbmd1YWdlQ29kZSA9IGxhbmc7XG4gICAgfVxuICAgIC8vIFNLUzE0SlVMMjUgU3Vic2NyaWJlIHRvIHRyYW5zbGF0aW9uIGxvYWQgZXZlbnQgdG8gdHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uLFxuICAgIC8vU0tTMTRKVUwyNSBlbnN1cmluZyB0aGF0IHRyYW5zbGF0aW9ucyB1c2luZyBwaXBlcyBnZXQgdXBkYXRlZCBwcm9wZXJseVxuICAgIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0aW9uc0xvYWRlZCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvL1NLUzE0SlVMMjUgRm9yY2UgcGlwZSByZS1ldmFsdWF0aW9uIGFmdGVyIGxhbmd1YWdlIGNoYW5nZVxuICAgIH0pO1xuICB9XG4gIFxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgLy8gU0tTMTRKVUwyNSBDaGVjayBpZiB0aGVyZSdzIGEgY2hhbmdlIGluIHRoZSBpbnB1dCBwcm9wZXJ0eSAnbGFuZ3VhZ2VDb2RlJ1xuICAgIGlmIChjaGFuZ2VzWydsYW5ndWFnZUNvZGUnXSkge1xuICAgICAgLy8gU0tTMTRKVUwyNSBJZiBuZXcgbGFuZ3VhZ2VDb2RlIGlzIHNldCwgdXBkYXRlIHRoZSB0cmFuc2xhdGlvbiBzZXJ2aWNlXG4gICAgICBpZiAodGhpcy5sYW5ndWFnZUNvZGUpIHtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblNlcnZpY2Uuc2V0TGFuZ3VhZ2UodGhpcy5sYW5ndWFnZUNvZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSAgXG4gIC8vU0tTMjRKQU4yNSBGdW5jdGlvbiB0byBnZXQgc3R5bGVzIGZvciBkcm9wZG93biBhbmQgZ3JvdXAgYnV0dG9ucyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgY29uZmlndXJhdGlvbi5cbiAgZ2V0QnV0dG9uU3R5bGVzKGNvbmZpZzogYW55KTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdidXR0b24tY3VzdG9tLWJnJzogY29uZmlnLmJ0bkJnQ29sb3IgfHwgJycsXG4gICAgICAnYnV0dG9uLWN1c3RvbS1ib3JkZXInOiBjb25maWcuYnRuQm9yZGVyIHx8ICcnLFxuICAgICAgJ2J1dHRvbi1jdXN0b20tY29sb3InOiBjb25maWcuYnRuVGV4dENvbG9yIHx8ICcnLFxuICAgICAgJ2J1dHRvbi1jdXN0b20taGVpZ2h0JzogY29uZmlnLmJ0bkhlaWdodCB8fCAnJyxcbiAgICAgICdidXR0b24tY3VzdG9tLXdpZHRoJzogY29uZmlnLmJ0bldpZHRoIHx8ICcnLFxuICAgICAgJ2J1dHRvbi1ob3Zlci1iZyc6IGNvbmZpZy5idG5Ib3ZlckJnQ29sb3IgfHwgJycsXG4gICAgICAnYnV0dG9uLWhvdmVyLXRleHQtY29sb3InOiBjb25maWcuYnRuSG92ZXJUZXh0Q29sb3IgfHwgJydcbiAgICB9O1xuICB9XG4gIFxuXG4gIGJ1dHRvbkNsaWNrZWQoJGV2ZW50OmFueSl7XG4gICAgdGhpcy5idXR0b25DbGlja0VtaXQuZW1pdCgkZXZlbnQpO1xuICAgIGlmKHRoaXMuaXNEcm9wZG93bk9wZW4pe1xuICAgICAgdGhpcy5pc0Ryb3Bkb3duT3Blbj1mYWxzZVxuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZURyb3Bkb3duKCkge1xuICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSAhdGhpcy5pc0Ryb3Bkb3duT3BlbjtcbiAgfVxuLy9TS1MyNEpBTjI1IExpc3RlbmVyIGZvciBjbGlja3Mgb3V0c2lkZSB0aGUgZHJvcGRvd24gYnV0dG9uIHRvIGNsb3NlIG9yIG1hbmFnZSBpdHMgc3RhdGUuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc0Ryb3Bkb3duT3BlbiAmJiAhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxuICAgICkge1xuICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIiwiPCEtLSBTS1MyNEpBTjI1IGdyb3VwIGJ1dHRvbiAtLT5cbjxkaXYgKm5nSWY9XCJ0eXBlID09PSAnZ3JvdXAnXCIgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiQnV0dG9uIEdyb3VwXCI+XG4gICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgYnRuIG9mIGJ1dHRvbkNvbmZpZy5idXR0b25zXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWljb24ge3tidG4uYnV0dG9uVHlwZX19IHRvb2x0aXAtY29udGFpbmVyXCJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImJ0bi50YWJJbmRleFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJzLXRvZ2dsZV09XCJidG4ubW9kYWxUb1RyaWdnZXIgPyAnbW9kYWwnIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJzLXRhcmdldF09XCJidG4ubW9kYWxUb1RyaWdnZXIgPyAnIycgKyBidG4ubW9kYWxUb1RyaWdnZXIgOiBudWxsXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldEJ1dHRvblN0eWxlcyhidG4pXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJidG4uYnV0dG9uRGlzYWJsZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJzLWRpc21pc3NdPVwiYnRuLmRhdGFEaXNtaXNzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJidXR0b25DbGlja2VkKGJ0bilcIlxuICAgICAgICAgICAgW2F0dHIuaWRdPVwiYnRuLmJ0bklkICE9PSAnZGVmYXVsdCcgPyBidG4uYnRuSWQgOiBudWxsXCI+XG4gICAgICAgIDxpbWcgKm5nSWY9XCJidG4uaXNJbWFnZVN2Z1wiIFtzcmNdPVwiYnRuLmljb25TcmNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjdXN0b20tdG9vbHRpcFwiIFxuICAgICAgICAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOnt7YnRuLnRvb2x0aXBCY0NvbG9yfX07XG4gICAgICAgICAgICBjb2xvcjp7e2J0bi50b29sdGlwQ29sb3J9fTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTp7e2J0bi50b29sdGlwRlNpemV9fVwiPlxuICAgICAgICAgICAge3sgYnRuLnRvb2x0aXBQYXRoIHx8IGJ0bi50b29sdGlwIHwgbnh0Q3VzdG9tVHJhbnNsYXRlIDogYnRuLnRvb2x0aXAgfX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLXBvaW50ZXJcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6e3tidG4udG9vbHRpcEJjQ29sb3J9fTtcIj48L2Rpdj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4gIFxuPCEtLSBTS1MyNEpBTjI1IHNpbmdsZSBidXR0b24gLS0+XG48YnV0dG9uIHR5cGU9XCJidXR0b25cIiAgKm5nSWY9XCJ0eXBlICE9PSAnZ3JvdXAnICYmIHR5cGUgIT09ICdkcm9wZG93bidcIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBmYy1idXR0b24ge3tidXR0b25UeXBlfX1cIiBbdGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgIFthdHRyLmRhdGEtYnMtdG9nZ2xlXT1cIm1vZGFsVG9UcmlnZ2VyICE9ICcnID8gJ21vZGFsJyA6ICcnXCJcbiAgICBbYXR0ci5kYXRhLWJzLXRhcmdldF09XCJtb2RhbFRvVHJpZ2dlciAhPSAnJyA/ICcjJyttb2RhbFRvVHJpZ2dlciA6ICcnXCJcbiAgICBzdHlsZT1cImJ1dHRvbi1jdXN0b20tYmc6IHt7YnRuQmdDb2xvcn19O2J1dHRvbi1jdXN0b20tYm9yZGVyOiB7e2J0bkJvcmRlcn19O2J1dHRvbi1jdXN0b20tY29sb3I6IHt7YnRuVGV4dENvbG9yfX07YnV0dG9uLWN1c3RvbS1oZWlnaHQ6IHt7YnRuSGVpZ2h0fX07YnV0dG9uLWN1c3RvbS13aWR0aDoge3tidG5XaWR0aH19O2J1dHRvbi1ob3Zlci1iZzoge3tidG5Ib3ZlckJnQ29sb3J9fTtidXR0b24taG92ZXItdGV4dC1jb2xvcjoge3tidG5Ib3ZlclRleHRDb2xvcn19O1wiXG4gICAgW2Rpc2FibGVkXT1cImJ1dHRvbkRpc2FibGVcIiBbYXR0ci5kYXRhLWJzLWRpc21pc3NdPSdkYXRhRGlzbWlzcycgKGNsaWNrKT1cImJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiXG4gICAgW2F0dHIuaWRdPVwiYnRuSWQgIT0gJ2RlZmF1bHQnID8gYnRuSWQgOiBudWxsXCI+XG4gICAgPGltZyAqbmdJZj1cImJ0bkljb25MZWZ0U3JjICE9ICcnICYmIGlzSW1hZ2VTdmdcIiBzcmM9XCJ7e2J0bkljb25MZWZ0U3JjfX1cIlxuICAgICAgICBjbGFzcz1cImZjLWJ0bi1pY29uIGxlZnQtaWNvblwiPlxuICAgIDxpbWcgKm5nSWY9XCJidG5JY29uTGVmdFNyYyAhPSAnJyAmJiAhaXNJbWFnZVN2Z1wiIHNyYz1cInt7YnRuSWNvbkxlZnRTcmN9fVwiIGNsYXNzPVwiZmMtYnRuLWljb24gbGVmdC1pY29uXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmYy1idG4tdGV4dFwiPnt7YnV0dG9uVmFsdWV9fTwvc3Bhbj5cbiAgICA8aW1nICpuZ0lmPVwiYnRuSWNvblJpZ2h0U3JjICE9ICcnICYmIGlzSW1hZ2VTdmdcIiBzcmM9XCJ7e2J0bkljb25SaWdodFNyY319XCJcbiAgICAgICAgY2xhc3M9XCJmYy1idG4taWNvbiByaWdodC1pY29uXCI+XG4gICAgPGltZyAqbmdJZj1cImJ0bkljb25SaWdodFNyYyAhPSAnJyAmJiAhaXNJbWFnZVN2Z1wiIHNyYz1cInt7YnRuSWNvblJpZ2h0U3JjfX1cIiBjbGFzcz1cImZjLWJ0bi1pY29uIHJpZ2h0LWljb25cIj5cbjwvYnV0dG9uPlxuXG48IS0tIFNLUzI0SkFOMjUgZHJvcGRvd24gYnV0dG9uIC0tPlxuPGRpdiAqbmdJZj1cInR5cGUgPT09ICdkcm9wZG93bidcIiBjbGFzcz1cImRyb3Bkb3duXCI+XG4gICAgPHN2ZyBjbGFzcz1cImNsaWNrYWJsZS1pbWdcIiAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd24oKVwiICB3aWR0aD1cIjQwXCIgaGVpZ2h0PVwiNDBcIiB2aWV3Qm94PVwiMCAwIDQwIDQwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxyZWN0IHg9XCIwLjNcIiB5PVwiMC4zXCIgd2lkdGg9XCIzOS40XCIgaGVpZ2h0PVwiMzkuNFwiIHJ4PVwiMTEuN1wiIGZpbGw9XCIjRkFGQkZEXCIgc3Ryb2tlPVwiI0Q1RDVENVwiIHN0cm9rZS13aWR0aD1cIjAuNlwiLz5cbiAgICAgICAgPHBhdGggZD1cIk0xOS45OTk5IDI1LjY2NjdDMjMuNjgxOCAyNS42NjY3IDI2LjY2NjYgMjIuNjgxOSAyNi42NjY2IDE5QzI2LjY2NjYgMTUuMzE4MSAyMy42ODE4IDEyLjMzMzQgMTkuOTk5OSAxMi4zMzM0QzE2LjMxOCAxMi4zMzM0IDEzLjMzMzMgMTUuMzE4MSAxMy4zMzMzIDE5QzEzLjMzMzMgMjIuNjgxOSAxNi4zMTggMjUuNjY2NyAxOS45OTk5IDI1LjY2NjdaXCIgZmlsbD1cIiMyOTJEMzJcIiBzdHJva2U9XCIjMjkyRDMyXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLW1pdGVybGltaXQ9XCIxMFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgICAgPHBhdGggZD1cIk0xNy42NDY3IDE4LjE2TDIwLjAwMDEgMjAuNTA2N0wyMi4zNTM0IDE4LjE2XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgPC9zdmc+ICBcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiICAqbmdJZj1cImlzRHJvcGRvd25PcGVuXCI+XG4gICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGJ0biBvZiBidXR0b25Db25maWcuYnV0dG9uc1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1pY29uIHt7YnRuLmJ1dHRvblR5cGV9fSB0b29sdGlwLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJidG4udGFiSW5kZXhcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1icy10b2dnbGVdPVwiYnRuLm1vZGFsVG9UcmlnZ2VyID8gJ21vZGFsJyA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1icy10YXJnZXRdPVwiYnRuLm1vZGFsVG9UcmlnZ2VyID8gJyMnICsgYnRuLm1vZGFsVG9UcmlnZ2VyIDogbnVsbFwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJnZXRCdXR0b25TdHlsZXMoYnRuKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnRuLmJ1dHRvbkRpc2FibGVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1icy1kaXNtaXNzXT1cImJ0bi5kYXRhRGlzbWlzc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2tlZChidG4pXCJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cImJ0bi5idG5JZCAhPT0gJ2RlZmF1bHQnID8gYnRuLmJ0bklkIDogbnVsbFwiPlxuICAgICAgICAgICAgPGltZyAqbmdJZj1cImJ0bi5pc0ltYWdlU3ZnXCIgW3NyY109XCJidG4uaWNvblNyY1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYy1idG4tdGV4dFwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxMnB4O1wiPnt7YnRuLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vbnh0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vbnh0LWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFxQixTQUFTLEVBQWMsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQVFqRSxNQUFNLE9BQU8sa0JBQWtCO0lBaURUO0lBQWtDO0lBQWdEO0lBL0M3RixXQUFXLEdBQVcsRUFBRSxDQUFDLENBQUMseUJBQXlCO0lBQ25ELFVBQVUsR0FBVyxTQUFTLENBQUMsQ0FBQywrT0FBK087SUFDL1EsSUFBSSxHQUFXLFFBQVEsQ0FBQyxDQUFDLG9FQUFvRTtJQUM3RixhQUFhLEdBQVksS0FBSyxDQUFDLENBQUMsNERBQTREO0lBQzVGLFVBQVUsR0FBVyxFQUFFLENBQUMsQ0FBQyxrRUFBa0U7SUFDM0YsU0FBUyxHQUFXLEVBQUUsQ0FBQyxDQUFDLDhEQUE4RDtJQUN0RixZQUFZLEdBQVcsRUFBRSxDQUFDLENBQUMsNERBQTREO0lBQ3ZGLFNBQVMsR0FBVyxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7SUFDaEYsUUFBUSxHQUFXLEVBQUUsQ0FBQyxDQUFDLHVEQUF1RDtJQUM5RSxjQUFjLEdBQVcsRUFBRSxDQUFD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SztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFSSxlQUFlO3NCQUF4QixNQUFNO2dCQWdFUCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnh0Q3VzdG9tVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGUvY3VzdG9tLXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQnV0dG9uU3R5bGVzUGlwZSB9IGZyb20gJy4uLy4uL3BpcGUvYnV0dG9uLXN0eWxlcy5waXBlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ254dC1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOeHRDdXN0b21UcmFuc2xhdGVQaXBlLCBCdXR0b25TdHlsZXNQaXBlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL254dC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ueHQtYnV0dG9uLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOeHRCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuIFxuICBASW5wdXQoKSBidXR0b25WYWx1ZTogc3RyaW5nID0gJyc7IC8vU0tTMjRKQU4yNSBidXR0b24gdGV4dCBcbiAgQElucHV0KCkgYnV0dG9uVHlwZTogc3RyaW5nID0gJ3ByaW1hcnknOyAvL1NLUzI0SkFOMjUgSWYgdGhlIGJ1dHRvbiB0eXBlIGlzICd0ZXh0LW9ubHknLCBpdCBzaG91bGQgZGlzcGxheSBvbmx5IHRoZSB0ZXh0IHdpdGhvdXQgYSBib3JkZXIgb3Igb3V0bGluZS4gRm9yICdncmV5LXRleHQnLCB0aGUgYnV0dG9uIHNob3VsZCBoYXZlIGEgYm9yZGVyIGFuZCBhIGJhY2tncm91bmQgY29sb3IsIGJ1dCB0aGUgdGV4dCBjb2xvciBzaG91bGQgYmUgZ3JheSwgc2ltaWxhciB0byAnYmx1ZS10ZXh0J1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgPSAnYnV0dG9uJzsgLy9TS1MyNEpBTjI1IFRoZSBidXR0b24gdHlwZXMgYXJlIFwiYnV0dG9uLFwiIFwiZ3JvdXAsXCIgYW5kIFwiZHJvcGRvd24uXCJcbiAgQElucHV0KCkgYnV0dG9uRGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlOyAvL1NLUzI0SkFOMjUgdXNlIHRoaXMgaW5wdXQgdG8gZGlzYWJsZSBhIGJ1dHRvbiB3aGVuIG5lZWRlZC5cbiAgQElucHV0KCkgYnRuQmdDb2xvcjogc3RyaW5nID0gJyc7IC8vIFVzZSB0aGlzIGlucHV0IHRvIHNldCBhIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgYnV0dG9uLlxuICBASW5wdXQoKSBidG5Cb3JkZXI6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgYSBjdXN0b20gYm9yZGVyIHN0eWxlIGZvciB0aGUgYnV0dG9uLlxuICBASW5wdXQoKSBidG5UZXh0Q29sb3I6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgYSBjdXN0b20gdGV4dCBjb2xvciBmb3IgdGhlIGJ1dHRvbi5cbiAgQElucHV0KCkgYnRuSGVpZ2h0OiBzdHJpbmcgPSAnJzsgLy8gVXNlIHRoaXMgaW5wdXQgdG8gc2V0IGEgY3VzdG9tIGhlaWdodCBmb3IgdGhlIGJ1dHRvbi5cbiAgQElucHV0KCkgYnRuV2lkdGg6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgYSBjdXN0b20gd2lkdGggZm9yIHRoZSBidXR0b24uXG4gIEBJbnB1dCgpIGJ0bkljb25MZWZ0U3JjOiBzdHJpbmcgPSAnJzsgLy8gVXNlIHRoaXMgaW5wdXQgdG8gc2V0IHRoZSBzb3VyY2Ugb2YgdGhlIGxlZnQtc2lkZSBpY29uIGZvciB0aGUgYnV0dG9uLlxuICBASW5wdXQoKSBidG5JY29uUmlnaHRTcmM6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgdGhlIHNvdXJjZSBvZiB0aGUgcmlnaHQtc2lkZSBpY29uIGZvciB0aGUgYnV0dG9uLlxuICBASW5wdXQoKSBidG5Ib3ZlckJnQ29sb3I6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci5cbiAgQElucHV0KCkgYnRuSG92ZXJUZXh0Q29sb3I6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzZXQgdGhlIHRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci5cbiAgQElucHV0KCkgYnRuSWQ6IHN0cmluZyA9ICdkZWZhdWx0JzsgLy8gVXNlIHRoaXMgaW5wdXQgdG8gc2V0IGEgY3VzdG9tIElEIGZvciB0aGUgYnV0dG9uLiBEZWZhdWx0IGlzICdkZWZhdWx0Jy5cbiAgQElucHV0KCkgZGF0YURpc21pc3M6IHN0cmluZyA9ICcnOyAvLyBVc2UgdGhpcyBpbnB1dCB0byBzcGVjaWZ5IHRoZSBkaXNtaXNzIGFjdGlvbiBmb3IgdGhlIGJ1dHRvbiAoZS5nLiwgJ21vZGFsJyB0byBjbG9zZSBhIG1vZGFsKS5cbiAgQElucHV0KCkgYnV0dG9uQm9yZGVyOiBzdHJpbmcgPSAnMHB4JzsgLy8gVXNlIHRoaXMgaW5wdXQgdG8gc2V0IHRoZSBib3JkZXIgc2l6ZSBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0IGlzICcwcHgnIGZvciBubyBib3JkZXIuXG4gIEBJbnB1dCgpIG1vZGFsVG9UcmlnZ2VyOiBzdHJpbmcgPSAnJzsgLy8gVXNlIHRoaXMgaW5wdXQgdG8gc3BlY2lmeSB0aGUgSUQgb3IgdGFyZ2V0IG9mIHRoZSBtb2RhbCB0byBiZSB0cmlnZ2VyZWQuXG4gIEBJbnB1dCgpIGlzSW1hZ2VTdmc6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVXNlIHRoaXMgaW5wdXQgdG8gZGV0ZXJtaW5lIGlmIHRoZSBpbWFnZSBpcyBhbiBTVkcuIERlZmF1bHQgaXMgZmFsc2UgKG5vbi1TVkcpLlxuICBASW5wdXQoKSB0YWJJbmRleDogYW55ID0gJyc7Ly8gVXNlIHRoaXMgaW5wdXQgdG8gc2V0IHRoZSB0YWIgaW5kZXggZm9yIHRoZSBlbGVtZW50LCBjb250cm9sbGluZyB0aGUgZm9jdXMgb3JkZXIuXG4gIEBJbnB1dCgpIGJ1dHRvbkNvbmZpZzogYW55ID0gJyc7IC8vIFVzZSB0aGlzIGlucHV0IHRvIHBhc3MgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgdGhlIGdyb3VwIGFuZCBkcm9wZG93biBidXR0b25zIChlLmcuLCBzdHlsZXMsIGFjdGlvbnMpLlxuICBASW5wdXQoKSBtb2RlOiAndmlldycgfCAnZWRpdCcgfCAncHJpbnQnID0gJ2VkaXQnOyAvLyBOZXcgbW9kZSBpbnB1dFxuICBASW5wdXQoKSBsYW5ndWFnZUNvZGU6IGFueSA7XG4gIFxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tFbWl0OkV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIGljb25TcmM6IGFueSA9ICcnOyAvLyBFbnN1cmUgaXQncyBhbHdheXMgYSBzdHJpbmdcbiAgaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcblxuICBcblxuICAvLyBTS1MyNEpBTjI1IGRyb3Bkb3duIGJ1dHRvbiBjb25maWdcblxuICAvLyBkcm9wZG93bkJ1dHRvbiA9IHtcbiAgLy8gICBidG5CZ0NvbG9yOiAnIzAwN2JmZicsXG4gIC8vICAgYnRuQm9yZGVyOiAnMXB4IHNvbGlkICMwMDU2YjMnLFxuICAvLyAgIGJ0blRleHRDb2xvcjogJyNmZmZmZmYnLFxuICAvLyAgIGJ0bkhlaWdodDogJzQwcHgnLFxuICAvLyAgIGJ0bldpZHRoOiAnMTUwcHgnLFxuICAvLyAgIGJ0bkhvdmVyQmdDb2xvcjogJyMwMDU2YjMnLFxuICAvLyAgIGJ0bkhvdmVyVGV4dENvbG9yOiAnI2ZmZmZmZicsXG4gIC8vICAgbGFiZWw6ICdEcm9wZG93bicsXG4gIC8vICAgaWNvblNyYzogJycsXG4gIC8vICAgaXRlbXM6IFtcbiAgLy8gICAgIHsgbGFiZWw6ICdBY3Rpb24gMScsaWNvblNyYzogJycsIGhvdmVyOiBmYWxzZSB9LFxuICAvLyAgICAgeyBsYWJlbDogJ0FjdGlvbiAyJyxpY29uU3JjOiAnJywgaG92ZXI6IGZhbHNlIH0sXG4gIC8vICAgICB7IGxhYmVsOiAnQWN0aW9uIDMnLGljb25TcmM6ICcnLCBob3ZlcjogZmFsc2UgfVxuICAvLyAgIF1cbiAgLy8gfTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gU0tTMTRKVUwyNSBJbml0aWFsaXplIGxhbmd1YWdlIHNldHRpbmdzIG9uIGNvbXBvbmVudCBsb2FkXG4gICAgLy8gU0tTMTRKVUwyNSBHZXQgdGhlIHNhdmVkIGxhbmd1YWdlIGZyb20gbG9jYWxTdG9yYWdlIChpZiBhbnkpXG4gICAgbGV0IGxhbmcgPSB0aGlzLmxhbmd1YWdlQ29kZSB8fCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5nZXRMYW5ndWFnZSgpIHx8IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpIHx8ICdlbic7XG4gICAgLy8gU0tTMTRKVUwyNSBJZiBsYW5ndWFnZUNvZGUgaXMgYWxyZWFkeSBzZXQgKGUuZy4sIGZyb20gaW5wdXQgb3IgY29uZmlnKSwgYXBwbHkgaXRcbiAgICBpZiAobGFuZykge1xuICAgICAgdGhpcy50cmFuc2xhdGlvblNlcnZpY2Uuc2V0TGFuZ3VhZ2UodGhpcy5sYW5ndWFnZUNvZGUpO1xuICAgICAgdGhpcy5sYW5ndWFnZUNvZGUgPSBsYW5nO1xuICAgIH1cbiAgICAvLyBTS1MxNEpVTDI1IFN1YnNjcmliZSB0byB0cmFuc2xhdGlvbiBsb2FkIGV2ZW50IHRvIHRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbixcbiAgICAvL1NLUzE0SlVMMjUgZW5zdXJpbmcgdGhhdCB0cmFuc2xhdGlvbnMgdXNpbmcgcGlwZXMgZ2V0IHVwZGF0ZWQgcHJvcGVybHlcbiAgICB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGlvbnNMb2FkZWQkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTsgLy9TS1MxNEpVTDI1IEZvcmNlIHBpcGUgcmUtZXZhbHVhdGlvbiBhZnRlciBsYW5ndWFnZSBjaGFuZ2VcbiAgICB9KTtcbiAgfVxuICBcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIC8vIFNLUzE0SlVMMjUgQ2hlY2sgaWYgdGhlcmUncyBhIGNoYW5nZSBpbiB0aGUgaW5wdXQgcHJvcGVydHkgJ2xhbmd1YWdlQ29kZSdcbiAgICBpZiAoY2hhbmdlc1snbGFuZ3VhZ2VDb2RlJ10pIHtcbiAgICAgIC8vIFNLUzE0SlVMMjUgSWYgbmV3IGxhbmd1YWdlQ29kZSBpcyBzZXQsIHVwZGF0ZSB0aGUgdHJhbnNsYXRpb24gc2VydmljZVxuICAgICAgaWYgKHRoaXMubGFuZ3VhZ2VDb2RlKSB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnNldExhbmd1YWdlKHRoaXMubGFuZ3VhZ2VDb2RlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gIFxuXG4gIGJ1dHRvbkNsaWNrZWQoJGV2ZW50OmFueSl7Y29uc29sZS5sb2coXCJidXR0b24gY2hhbmdlc1wiKVxuICAgIHRoaXMuYnV0dG9uQ2xpY2tFbWl0LmVtaXQoJGV2ZW50KTtcbiAgICBpZih0aGlzLmlzRHJvcGRvd25PcGVuKXtcbiAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW49ZmFsc2VcbiAgICB9XG4gIH1cblxuICB0b2dnbGVEcm9wZG93bigpIHtcbiAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gIXRoaXMuaXNEcm9wZG93bk9wZW47XG4gIH1cbi8vU0tTMjRKQU4yNSBMaXN0ZW5lciBmb3IgY2xpY2tzIG91dHNpZGUgdGhlIGRyb3Bkb3duIGJ1dHRvbiB0byBjbG9zZSBvciBtYW5hZ2UgaXRzIHN0YXRlLlxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuaXNEcm9wZG93bk9wZW4gJiYgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIjwhLS0gU0tTMjRKQU4yNSBncm91cCBidXR0b24gLS0+XG48ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ2dyb3VwJ1wiIGNsYXNzPVwiYnRuLWdyb3VwXCIgcm9sZT1cImdyb3VwXCIgYXJpYS1sYWJlbD1cIkJ1dHRvbiBHcm91cFwiPlxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGJ0biBvZiBidXR0b25Db25maWcuYnV0dG9uc1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1pY29uIHt7YnRuLmJ1dHRvblR5cGV9fSB0b29sdGlwLWNvbnRhaW5lclwiXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJidG4udGFiSW5kZXhcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1icy10b2dnbGVdPVwiYnRuLm1vZGFsVG9UcmlnZ2VyID8gJ21vZGFsJyA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1icy10YXJnZXRdPVwiYnRuLm1vZGFsVG9UcmlnZ2VyID8gJyMnICsgYnRuLm1vZGFsVG9UcmlnZ2VyIDogbnVsbFwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJidG4gfCBidXR0b25TdHlsZXNcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImJ0bi5idXR0b25EaXNhYmxlXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtYnMtZGlzbWlzc109XCJidG4uZGF0YURpc21pc3NcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrZWQoYnRuKVwiXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJidG4uYnRuSWQgIT09ICdkZWZhdWx0JyA/IGJ0bi5idG5JZCA6IG51bGxcIj5cbiAgICAgICAgPGltZyAqbmdJZj1cImJ0bi5pc0ltYWdlU3ZnXCIgW3NyY109XCJidG4uaWNvblNyY1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImN1c3RvbS10b29sdGlwXCIgXG4gICAgICAgICAgICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6e3tidG4udG9vbHRpcEJjQ29sb3J9fTtcbiAgICAgICAgICAgIGNvbG9yOnt7YnRuLnRvb2x0aXBDb2xvcn19O1xuICAgICAgICAgICAgZm9udC1zaXplOnt7YnRuLnRvb2x0aXBGU2l6ZX19XCI+XG4gICAgICAgICAgICB7eyBidG4udG9vbHRpcFBhdGggfHwgYnRuLnRvb2x0aXAgfCBueHRDdXN0b21UcmFuc2xhdGUgOiBidG4udG9vbHRpcCB9fVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtcG9pbnRlclwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjp7e2J0bi50b29sdGlwQmNDb2xvcn19O1wiPjwvZGl2PlxuICAgICAgICA8L3NwYW4+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cbiAgXG48IS0tIFNLUzI0SkFOMjUgc2luZ2xlIGJ1dHRvbiAtLT5cbjxidXR0b24gdHlwZT1cImJ1dHRvblwiICAqbmdJZj1cInR5cGUgIT09ICdncm91cCcgJiYgdHlwZSAhPT0gJ2Ryb3Bkb3duJ1wiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGZjLWJ1dHRvbiB7e2J1dHRvblR5cGV9fVwiIFt0YWJpbmRleF09XCJ0YWJJbmRleFwiXG4gICAgW2F0dHIuZGF0YS1icy10b2dnbGVdPVwibW9kYWxUb1RyaWdnZXIgIT0gJycgPyAnbW9kYWwnIDogJydcIlxuICAgIFthdHRyLmRhdGEtYnMtdGFyZ2V0XT1cIm1vZGFsVG9UcmlnZ2VyICE9ICcnID8gJyMnK21vZGFsVG9UcmlnZ2VyIDogJydcIlxuICAgIHN0eWxlPVwiYnV0dG9uLWN1c3RvbS1iZzoge3tidG5CZ0NvbG9yfX07YnV0dG9uLWN1c3RvbS1ib3JkZXI6IHt7YnRuQm9yZGVyfX07YnV0dG9uLWN1c3RvbS1jb2xvcjoge3tidG5UZXh0Q29sb3J9fTtidXR0b24tY3VzdG9tLWhlaWdodDoge3tidG5IZWlnaHR9fTtidXR0b24tY3VzdG9tLXdpZHRoOiB7e2J0bldpZHRofX07YnV0dG9uLWhvdmVyLWJnOiB7e2J0bkhvdmVyQmdDb2xvcn19O2J1dHRvbi1ob3Zlci10ZXh0LWNvbG9yOiB7e2J0bkhvdmVyVGV4dENvbG9yfX07XCJcbiAgICBbZGlzYWJsZWRdPVwiYnV0dG9uRGlzYWJsZVwiIFthdHRyLmRhdGEtYnMtZGlzbWlzc109J2RhdGFEaXNtaXNzJyAoY2xpY2spPVwiYnV0dG9uQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICBbYXR0ci5pZF09XCJidG5JZCAhPSAnZGVmYXVsdCcgPyBidG5JZCA6IG51bGxcIj5cbiAgICA8aW1nICpuZ0lmPVwiYnRuSWNvbkxlZnRTcmMgIT0gJycgJiYgaXNJbWFnZVN2Z1wiIHNyYz1cInt7YnRuSWNvbkxlZnRTcmN9fVwiXG4gICAgICAgIGNsYXNzPVwiZmMtYnRuLWljb24gbGVmdC1pY29uXCI+XG4gICAgPGltZyAqbmdJZj1cImJ0bkljb25MZWZ0U3JjICE9ICcnICYmICFpc0ltYWdlU3ZnXCIgc3JjPVwie3tidG5JY29uTGVmdFNyY319XCIgY2xhc3M9XCJmYy1idG4taWNvbiBsZWZ0LWljb25cIj5cbiAgICA8c3BhbiBjbGFzcz1cImZjLWJ0bi10ZXh0XCI+e3tidXR0b25WYWx1ZX19PC9zcGFuPlxuICAgIDxpbWcgKm5nSWY9XCJidG5JY29uUmlnaHRTcmMgIT0gJycgJiYgaXNJbWFnZVN2Z1wiIHNyYz1cInt7YnRuSWNvblJpZ2h0U3JjfX1cIlxuICAgICAgICBjbGFzcz1cImZjLWJ0bi1pY29uIHJpZ2h0LWljb25cIj5cbiAgICA8aW1nICpuZ0lmPVwiYnRuSWNvblJpZ2h0U3JjICE9ICcnICYmICFpc0ltYWdlU3ZnXCIgc3JjPVwie3tidG5JY29uUmlnaHRTcmN9fVwiIGNsYXNzPVwiZmMtYnRuLWljb24gcmlnaHQtaWNvblwiPlxuPC9idXR0b24+XG5cbjwhLS0gU0tTMjRKQU4yNSBkcm9wZG93biBidXR0b24gLS0+XG48ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ2Ryb3Bkb3duJ1wiIGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgICA8c3ZnIGNsYXNzPVwiY2xpY2thYmxlLWltZ1wiIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCIgIHdpZHRoPVwiNDBcIiBoZWlnaHQ9XCI0MFwiIHZpZXdCb3g9XCIwIDAgNDAgNDBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPHJlY3QgeD1cIjAuM1wiIHk9XCIwLjNcIiB3aWR0aD1cIjM5LjRcIiBoZWlnaHQ9XCIzOS40XCIgcng9XCIxMS43XCIgZmlsbD1cIiNGQUZCRkRcIiBzdHJva2U9XCIjRDVENUQ1XCIgc3Ryb2tlLXdpZHRoPVwiMC42XCIvPlxuICAgICAgICA8cGF0aCBkPVwiTTE5Ljk5OTkgMjUuNjY2N0MyMy42ODE4IDI1LjY2NjcgMjYuNjY2NiAyMi42ODE5IDI2LjY2NjYgMTlDMjYuNjY2NiAxNS4zMTgxIDIzLjY4MTggMTIuMzMzNCAxOS45OTk5IDEyLjMzMzRDMTYuMzE4IDEyLjMzMzQgMTMuMzMzMyAxNS4zMTgxIDEzLjMzMzMgMTlDMTMuMzMzMyAyMi42ODE5IDE2LjMxOCAyNS42NjY3IDE5Ljk5OTkgMjUuNjY2N1pcIiBmaWxsPVwiIzI5MkQzMlwiIHN0cm9rZT1cIiMyOTJEMzJcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxuICAgICAgICA8cGF0aCBkPVwiTTE3LjY0NjcgMTguMTZMMjAuMDAwMSAyMC41MDY3TDIyLjM1MzQgMTguMTZcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICA8L3N2Zz4gIFxuICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1tZW51XCIgICpuZ0lmPVwiaXNEcm9wZG93bk9wZW5cIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgYnRuIG9mIGJ1dHRvbkNvbmZpZy5idXR0b25zXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWljb24ge3tidG4uYnV0dG9uVHlwZX19IHRvb2x0aXAtY29udGFpbmVyXCJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImJ0bi50YWJJbmRleFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJzLXRvZ2dsZV09XCJidG4ubW9kYWxUb1RyaWdnZXIgPyAnbW9kYWwnIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLWJzLXRhcmdldF09XCJidG4ubW9kYWxUb1RyaWdnZXIgPyAnIycgKyBidG4ubW9kYWxUb1RyaWdnZXIgOiBudWxsXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cImJ0biB8IGJ1dHRvblN0eWxlc1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiYnRuLmJ1dHRvbkRpc2FibGVcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1icy1kaXNtaXNzXT1cImJ0bi5kYXRhRGlzbWlzc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2tlZChidG4pXCJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cImJ0bi5idG5JZCAhPT0gJ2RlZmF1bHQnID8gYnRuLmJ0bklkIDogbnVsbFwiPlxuICAgICAgICAgICAgPGltZyAqbmdJZj1cImJ0bi5pc0ltYWdlU3ZnXCIgW3NyY109XCJidG4uaWNvblNyY1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmYy1idG4tdGV4dFwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAxMnB4O1wiPnt7YnRuLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -34,6 +34,7 @@ export class CustomDropdownComponent {
34
34
  this.changeService = changeService;
35
35
  this.dataService = dataService;
36
36
  this.i18nService = i18nService;
37
+ console.log("drop changes");
37
38
  this.changeService.submitValidate$.subscribe((data) => {
38
39
  // to get the error message's field id's
39
40
  this.invalidFieldIds.push(data);
@@ -47,13 +48,16 @@ export class CustomDropdownComponent {
47
48
  apiObj = {};
48
49
  showOptions = false;
49
50
  ngOnInit() {
51
+ console.log("drop changes");
50
52
  }
51
53
  ngOnChanges(changes) {
54
+ console.log("drop changes");
52
55
  if (changes['mode']) {
53
56
  this.mode = changes['mode'].currentValue;
54
57
  }
55
58
  }
56
59
  getOptions() {
60
+ console.log("drop changes");
57
61
  this.showOptions = true;
58
62
  //VD 07Aug24 - isDependentField change
59
63
  // VD 25Oct24 - changes
@@ -176,6 +180,7 @@ export class CustomDropdownComponent {
176
180
  }
177
181
  // VD 22May24 - used common service file
178
182
  selectChange(event) {
183
+ console.log("drop changes");
179
184
  let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');
180
185
  change.fromQuestionId = this.id;
181
186
  change.valueObj = event ? event[this.labelField] ? event[this.labelField] : event?.value : '';
@@ -189,15 +194,18 @@ export class CustomDropdownComponent {
189
194
  this.showOptions = false;
190
195
  }
191
196
  toggle() {
197
+ console.log("drop changes");
192
198
  this.showOptions = !this.showOptions;
193
199
  }
194
200
  onDocumentClick(event) {
201
+ console.log("drop changes");
195
202
  const target = event.target;
196
203
  if (this.dropdownWrapper && !this.dropdownWrapper.nativeElement.contains(target)) {
197
204
  this.showOptions = false;
198
205
  }
199
206
  }
200
207
  clearSelection() {
208
+ console.log("drop changes");
201
209
  this.selectedValue = '';
202
210
  this.valueChange.emit({ question: this.question, value: {
203
211
  fromQuestionId: this.id,
@@ -208,10 +216,12 @@ export class CustomDropdownComponent {
208
216
  this.invalidFieldIds = [];
209
217
  }
210
218
  removeCharacters(questionText) {
219
+ console.log("drop changes");
211
220
  let updatedText = questionText?.replace(/<[^>]*>/g, '');
212
221
  return updatedText;
213
222
  }
214
223
  inputValue(event, ques) {
224
+ console.log("drop changes");
215
225
  if (ques.singleFieldChange) {
216
226
  let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');
217
227
  change.fromQuestionId = this.id;
@@ -268,4 +278,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
268
278
  type: HostListener,
269
279
  args: ['document:click', ['$event']]
270
280
  }] } });
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWRyb3Bkb3duL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFZLFlBQVksRUFBYyxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRzdJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU0xRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7O0FBVzVELE1BQU0sT0FBTyx1QkFBdUI7SUFzQnhCO0lBQ0E7SUFDRDtJQXZCQSxPQUFPLEdBQVUsRUFBRSxDQUFDO0lBQ3BCLFdBQVcsQ0FBUztJQUNwQixPQUFPLENBQVM7SUFDaEIsYUFBYSxDQUFTO0lBQ3RCLFdBQVcsQ0FBVTtJQUNyQixFQUFFLENBQVM7SUFDWCxRQUFRLEdBQVksS0FBSyxDQUFDLENBQUMsK0JBQStCO0lBQzFELFlBQVksQ0FBUztJQUNyQixLQUFLLENBQU07SUFDWCxXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLFFBQVEsQ0FBTTtJQUNkLGNBQWMsQ0FBUztJQUN2QixLQUFLLENBQVMsQ0FBSSxzQ0FBc0M7SUFDeEQsSUFBSSxHQUE4QixNQUFNLENBQUMs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Q0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUV1QixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkE0SzlCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBUElNZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hcGltZXRhJztcbmltcG9ydCB7IENoYW5nZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbi8vIFZEIDIzSkFOMjQgdXNlZCBzZXJ2aWNlIGZpbGUgZm9yIGNhbGxvdXRcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE54dElucHV0IH0gZnJvbSAnLi4vbnh0LWlucHV0L254dC1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLWRyb3Bkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE54dElucHV0XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgb3B0aW9uczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgYXBpTWV0YTogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByb2dyZXNzQmFyOiBib29sZWFuO1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlOyAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcjogYW55O1xuICBASW5wdXQoKSBmcm9tU2hlbmdlbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBxdWVzdGlvbjogYW55O1xuICBASW5wdXQoKSByZWZlcmVuY2VGaWVsZDogc3RyaW5nO1xuICBASW5wdXQoKSB0b2tlbjogc3RyaW5nOyAgICAvLyBWRCAxOUpBTjI0IC0gZ2V0dGluZyB0b2tlbiBhcyBpbnB1dFxuICBASW5wdXQoKSBtb2RlOiAndmlldycgfCAnZWRpdCcgfCAncHJpbnQnID0gJ2VkaXQnOyAvLyBTS1MxMUpVTjI1IE5ldyBtb2RlIGlucHV0XG4gIEBJbnB1dCgpIGZyb206IGFueVxuICAgIFxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25XcmFwcGVyJykgZHJvcGRvd25XcmFwcGVyOiBFbGVtZW50UmVmO1xuICBpbnZhbGlkRmllbGRJZHM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmNoYW5nZVNlcnZpY2Uuc3VibWl0VmFsaWRhdGUkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgLy8gdG8gZ2V0IHRoZSBlcnJvciBtZXNzYWdlJ3MgZmllbGQgaWQnc1xuICAgICAgdGhpcy5pbnZhbGlkRmllbGRJZHMucHVzaChkYXRhKTtcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGxhYmVsRmllbGQ6IHN0cmluZztcbiAgcHVibGljIHZhbHVlRmllbGQ6IHN0cmluZztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIC8vcHVibGljIGFwaU9iajpBUElNZXRhO1xuICBwdWJsaWMgdW5pcXVlS2V5OiBzdHJpbmc7XG4gIGFwaU9iajogYW55ID0ge307XG4gIHNob3dPcHRpb25zID0gZmFsc2U7XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICB9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1snbW9kZSddKSB7XG4gICAgICB0aGlzLm1vZGUgPSBjaGFuZ2VzWydtb2RlJ10uY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuICBnZXRPcHRpb25zKCkge1xuICAgIHRoaXMuc2hvd09wdGlvbnMgPSB0cnVlO1xuICAgIC8vVkQgMDdBdWcyNCAtIGlzRGVwZW5kZW50RmllbGQgY2hhbmdlXG4gICAgLy8gVkQgMjVPY3QyNCAtIGNoYW5nZXNcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlciA/IHRoaXMucGxhY2Vob2xkZXIgOiAnLS0tU2VsZWN0IG9wdGlvbi0tLSc7XG4gICAgaWYgKHRoaXMuYXBpTWV0YSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gTVNNLTI3TUFSMjUgRW5zdXJlIHF1ZXMuc3ViVGV4dCBpcyBhbHdheXMgYW4gb2JqZWN0IGJ5IHBhcnNpbmcgaXQgaWYgaXQncyBhIHN0cmluZ1xuICAgICAgICB0aGlzLmFwaU9iaiA9IHR5cGVvZiB0aGlzLmFwaU1ldGEgPT09ICdvYmplY3QnID8gdGhpcy5hcGlNZXRhIDogSlNPTi5wYXJzZSh0aGlzLmFwaU1ldGEpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIGFwaU9iaiBhbmQgYXBpT2JqLmZpZWxkIGFyZSBkZWZpbmVkXG4gICAgICAgIGlmICh0aGlzLmFwaU9iaiAmJiB0aGlzLmFwaU9iai5maWVsZCkge1xuICAgICAgICAgIHRoaXMuc2hvd09wdGlvbnMgPSB0cnVlO1xuICAgICAgICAgIHRoaXMubGFiZWxGaWVsZCA9IHRoaXMuYXBpT2JqLmZpZWxkO1xuICAgICAgICAgIHRoaXMudW5pcXVlS2V5ID0gdGhpcy5hcGlPYmoudW5pcXVlS2V5O1xuICAgICAgICAgIGNvbnN0IGNhY2hlZE9wdGlvbnMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnVuaXF1ZUtleSk7XG4gICAgICAgICAgaWYgKGNhY2hlZE9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IEpTT04ucGFyc2UoY2FjaGVkT3B0aW9ucyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5hcGlPYmouaXNEZXBlbmRlbnRGaWVsZCkge1xuICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVkQgMDlTZXAyNC0gc2V0dXAgdGhlIHF1ZXJ5IHBhcmFtIGZvciBhcGkgY2FsbCAvLyBNUiAwOEpBTjI0IERlcGVuZGVudEZpZWxkIEFQSSBGaXggbW92ZWQgYmVsb3cgbG9naWMgZnJvbSBhYm92ZSBpZiBjb25kaXRpb25cbiAgICAgICAgICAgIGxldCBmdWxsRW5kUG9pbnQ7XG4gICAgICAgICAgICBpZiAodGhpcy5hcGlPYmouZW5kcG9pbnQpIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYXBpT2JqLnF1ZXJ5VmFsdWVSZWZlcmVuY2UgJiYgdGhpcy5hcGlPYmoucXVlcnlGaWVsZCkge1xuICAgICAgICAgICAgICAgIC8vIHByb2Nlc3MgdGhlIGVuZCBwb2ludCB3aXRoIHF1ZXJ5IHBhcmFtXG4gICAgICAgICAgICAgICAgbGV0IHF1ZXJ5UmVmZXJlbmNlcyA9IHRoaXMuYXBpT2JqLnF1ZXJ5VmFsdWVSZWZlcmVuY2Uuc3BsaXQoJywnKTtcbiAgICAgICAgICAgICAgICBsZXQgcXVlcnlGaWVsZHMgPSB0aGlzLmFwaU9iai5xdWVyeUZpZWxkLnNwbGl0KCcsJyk7ICAgIC8vIE1SIDA4SkFOMjQgc2ltaWxhciB0byBhYm92ZSB2YWx1ZXJlZmVyZW5jZSBnZXQgbGlzdCBvZiBRVUVSWSBGaWVsZHNcbiAgICAgICAgICAgICAgICBsZXQgcXVlcnlWYWx1ZXMgPSB0aGlzLmFwaU9iai5xdWVyeVZhbHVlLnNwbGl0KCcsJyk7ICAgIC8vIE1SIDA4SkFOMjQgc2ltaWxhciB0byBhYm92ZSB2YWx1ZXJlZmVyZW5jZSBnZXQgbGlzdCBvZiBRVUVSWSBWYWx1ZXMgKERlZmF1bHQpXG4gICAgICAgICAgICAgICAgbGV0IHF1ZXJ5UGFyYW1zID0gW107XG4gICAgICAgICAgICAgICAgbGV0IHFJbmRleCA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNUiAwOEpBTjI0IFF1ZXJ5IEluZGV4XG4gICAgICAgICAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIHF1ZXJ5UmVmZXJlbmNlcyBhbmQgZmluZCB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50IGluIHJlZmVyZW5jZURhdGFcbiAgICAgICAgICAgICAgICBxdWVyeVJlZmVyZW5jZXMuZm9yRWFjaChyZWZlcmVuY2UgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gRmluZCB0aGUgZWxlbWVudCBpbiByZWZlcmVuY2VEYXRhIHRoYXQgbWF0Y2hlcyB0aGUgY3VycmVudCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICAgIC8vIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzXG4gICAgICAgICAgICAgICAgICBsZXQgbWF0Y2hpbmdFbGVtZW50ID0gdGhpcy5xdWVzdGlvbj8ucmVmZXJlbmNlUXVlcnlEYXRhLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnJlZmVyZW5jZUZpZWxkID09PSByZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgLy8gSWYgYSBtYXRjaGluZyBlbGVtZW50IGlzIGZvdW5kLCBnZXQgaXRzIGlucHV0IHZhbHVlIGFuZCBjcmVhdGUgYSBxdWVyeSBwYXJhbWV0ZXJcbiAgICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UgJiYgbWF0Y2hpbmdFbGVtZW50KSB7ICAgLy8gTVIgMDhKQU4yNCBpZiByZWZlcmVuY2UgZXhpc3QgJiBtYXRjaGluZyBlbGVtZW50IGZvdW5kXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYCR7cXVlcnlGaWVsZHNbcUluZGV4XX09JHttYXRjaGluZ0VsZW1lbnQuaW5wdXR9YCk7ICAgIC8vIE1SIDA4SkFOMjQgcmVtb3ZlZCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAgIC8vIE1SIDA4SkFOMjQgaW5jbHVkZWQgb3B0aW9uIGZvciBtdWx0aXBsZSBxdWVyeSBwYXJhbXMgYW5kIGRlZmF1bHQgdmFsdWUgaW4gY2FzZSBvZiByZWZlcmVuY2UgaXMgbm90IGZvdW5kXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYCR7cXVlcnlGaWVsZHNbcUluZGV4XX09JHtxdWVyeVZhbHVlc1txSW5kZXhdfWApO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBxSW5kZXgrKztcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBmdWxsRW5kUG9pbnQgPSB0aGlzLmFwaU9iai5lbmRwb2ludCArICc/JyArIHF1ZXJ5UGFyYW1zLmpvaW4oJyYnKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBpZiBubyBxdWVyeSBwYXJhbSBnZXQgdGhlIGFjdHVhbCBlbmRQb2ludFxuICAgICAgICAgICAgICAgIGZ1bGxFbmRQb2ludCA9IHRoaXMuYXBpT2JqLmVuZHBvaW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gVkQgMTlKQU4yNCAtIGFkZGVkIG9uZSBtb3JlIHBhcmFtIGZvciBhdXRoZW50aWNhdGlvblxuICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmFwaVJlc3BvbnNlKGZ1bGxFbmRQb2ludCk/LnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBIQSAxOC1KQU4tMjQgQXNzaWduZWQgYXBpcmVzcG9uc2UgZGlyZWN0bHkgaWYgd2UgaGF2ZSB0aGUgcmVzcG9uc2UgaW4gYXJyYXkgYWxzb1xuICAgICAgICAgICAgICAgIC8vIFZEIDE5SkFOMjQgLSBpZiByZXNwb25zZSBoYXMga2V5IHdpdGggdmFsdWUod2hpY2ggaXMgYXJyYXkpXG4gICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hcGlPYmoudmFyaWFibGUpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFZEIDIxTWF5MjQgLSBoYW5kbGluZyBtdWx0aXBsZSBjaGlsZCBvYmplY3RzXG4gICAgICAgICAgICAgICAgICAvLyBWRCAyMk1heTI0IC0gdXNlZCBjb21tb24gc2VydmljZSBmaWxlXG4gICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGFwaVJlc3BvbnNlLCB0aGlzLmFwaU9iai52YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgLy8gSEEgMTlKQU4yNCBUbyBhdm9pZCB1bmRlZmluZWQgZXJyb3IgaW4gY29uc29sZVxuICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNwb25zZXM/Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXNwID0gcmVzcG9uc2VzW2ldO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2gocmVzcCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSByZXN1bHRzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAvLyBWRCAxOUpBTjI0IC0gaWYgcmVzcG9uc2UgaGFzIHZhbHVlKHdoaWNoIGlzIGFycmF5KSBvbmx5XG4gICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSBhcGlSZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gVkQgMjVPY3QyNCAtIFN0b3JlIGZldGNoZWQgb3B0aW9ucyBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudW5pcXVlS2V5KSB7XG4gICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnVuaXF1ZUtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBWRCBOT1YyMyAtIGhhbmRsZSB0aGUgZGVwZW5kZW50IHVwZGF0ZSBmb3IgZHJvcGRvd25cbiAgICAgICAgICAgIC8vIFZEIDA5U2VwMjQtIHB1c2ggdGhlIGRlcGVuZGVudCBmaWVsZCB2YWx1ZXMgZm9yIGRyb3Bkb3duXG4gICAgICAgICAgICBsZXQgc291cmNlSWQgPSB0aGlzLmFwaU9iai5zb3VyY2VRdWVzdGlvbklkO1xuICAgICAgICAgICAgaWYgKHNvdXJjZUlkICYmIHRoaXMuYXBpT2JqLnZhcmlhYmxlIHx8IHRoaXMuYXBpT2JqLnZhbHVlRmllbGQpIHtcbiAgICAgICAgICAgICAgLy8gU3Vic2NyaWJlIGZvciB0aGUgY2hhbmdlc1xuICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY2hhbmdlU2VydmljZS5jaGFuZ2VBbm5vdW5jZWQkLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChjaGFuZ2VWYWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoYW5nZVZhbHVlLnZhbHVlT2JqICE9IHVuZGVmaW5lZCAmJiBjaGFuZ2VWYWx1ZS5mcm9tUXVlc3Rpb25JZCA9PSB0aGlzLmFwaU9iai5zb3VyY2VRdWVzdGlvbklkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGNoYW5nZVZhbHVlLnZhbHVlT2JqW3RoaXMuYXBpT2JqLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgIC8vICBsZXQgdmFsdWUgPXt9O1xuICAgICAgICAgICAgICAgICAgICAgIC8vICB2YWx1ZVsnbmFtZSddID0gdGhpcy5zZWxlY3RlZFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgIGxldCByZXNwb25zZXM7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXBpT2JqLnZhcmlhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGNoYW5nZVZhbHVlLnZhbHVlT2JqLCB0aGlzLmFwaU9iai52YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNwb25zZXM/Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXNwID0gcmVzcG9uc2VzW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2gocmVzcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSByZXN1bHRzO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSBjaGFuZ2VWYWx1ZS52YWx1ZU9iajtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgLy8gVkQgMjVPY3QyNCAtIFN0b3JlIGZldGNoZWQgb3B0aW9ucyBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudW5pcXVlS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnVuaXF1ZUtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zKSk7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlU2VydmljZS5jb25maXJtQ2hhbmdlKHRoaXMuYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgYXBpTWV0YTonLCBlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIFZEIDIyTWF5MjQgLSB1c2VkIGNvbW1vbiBzZXJ2aWNlIGZpbGVcblxuICBzZWxlY3RDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIGxldCBjaGFuZ2UgPSBuZXcgQ2hhbmdlV3JhcHBlcigpOyAvLyBDaGFuZ2VXcmFwcGVyID0gSlNPTi5wYXJzZSgne30nKTtcbiAgICBjaGFuZ2UuZnJvbVF1ZXN0aW9uSWQgPSB0aGlzLmlkO1xuICAgIGNoYW5nZS52YWx1ZU9iaiA9IGV2ZW50ID8gZXZlbnRbdGhpcy5sYWJlbEZpZWxkXSA/IGV2ZW50W3RoaXMubGFiZWxGaWVsZF0gOiBldmVudD8udmFsdWUgOiAnJztcbiAgICBjaGFuZ2UucmVmZXJlbmNlRmllbGQgPSB0aGlzLnJlZmVyZW5jZUZpZWxkO1xuICAgIGNoYW5nZS5zZWxlY3RlZE9iaiA9IGV2ZW50ID8gZXZlbnRbdGhpcy5sYWJlbEZpZWxkXSA/IGV2ZW50W3RoaXMubGFiZWxGaWVsZF0gOiBldmVudD8udmFsdWUgOiAnJztcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoe3F1ZXN0aW9uIDogdGhpcy5xdWVzdGlvbiwgdmFsdWU6IGNoYW5nZX0pO1xuICAgIC8vIG9uY2UgZ290IHZhbHVlIGluIGRyb3Bkb3duIHJlbW92ZSB0aGUgZXJyb3IgdmFsaWRhdGlvblxuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5pbnZhbGlkRmllbGRJZHMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5zaG93T3B0aW9ucyA9IGZhbHNlO1xuICB9XG50b2dnbGUoKXtcbiAgdGhpcy5zaG93T3B0aW9ucyA9ICF0aGlzLnNob3dPcHRpb25zO1xufVxuXG5ASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG5vbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICBpZiAodGhpcy5kcm9wZG93bldyYXBwZXIgJiYgIXRoaXMuZHJvcGRvd25XcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgIHRoaXMuc2hvd09wdGlvbnMgPSBmYWxzZTtcbiAgfVxufVxuXG5cbiAgY2xlYXJTZWxlY3Rpb24oKSB7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gJyc7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHtxdWVzdGlvbiA6IHRoaXMucXVlc3Rpb24sIHZhbHVlOiB7XG4gICAgICBmcm9tUXVlc3Rpb25JZDogdGhpcy5pZCxcbiAgICAgIHZhbHVlT2JqOiAnJyxcbiAgICAgIHJlZmVyZW5jZUZpZWxkOiB0aGlzLnJlZmVyZW5jZUZpZWxkLFxuICAgICAgc2VsZWN0ZWRPYmo6ICcnXG4gICAgfX0pO1xuICAgIHRoaXMuaW52YWxpZEZpZWxkSWRzID0gW107XG4gIH1cbiAgcmVtb3ZlQ2hhcmFjdGVycyhxdWVzdGlvblRleHQ6c3RyaW5nKXtcbiAgICBsZXQgdXBkYXRlZFRleHQgPSBxdWVzdGlvblRleHQ/LnJlcGxhY2UoLzxbXj5dKj4vZywgJycpO1xuICAgIHJldHVybiB1cGRhdGVkVGV4dDtcbiAgfVxuICBpbnB1dFZhbHVlKGV2ZW50LHF1ZXMpe1xuICAgIGlmKHF1ZXMuc2luZ2xlRmllbGRDaGFuZ2Upe1xuICAgICAgbGV0IGNoYW5nZSA9IG5ldyBDaGFuZ2VXcmFwcGVyKCk7IC8vIENoYW5nZVdyYXBwZXIgPSBKU09OLnBhcnNlKCd7fScpO1xuICAgICAgY2hhbmdlLmZyb21RdWVzdGlvbklkID0gdGhpcy5pZDtcbiAgICAgIGNoYW5nZS52YWx1ZU9iaiA9IGV2ZW50O1xuICAgICAgY2hhbmdlLnJlZmVyZW5jZUZpZWxkID0gdGhpcy5yZWZlcmVuY2VGaWVsZDtcbiAgICAgIGNoYW5nZS5zZWxlY3RlZE9iaiA9IGV2ZW50O1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHtxdWVzdGlvbiA6IHF1ZXMsIHZhbHVlOiBjaGFuZ2V9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgI2Ryb3Bkb3duV3JhcHBlciBjbGFzcz1cImRyb3Bkb3duLWNsb3NlXCI+XG4gIDxueHQtaW5wdXQgXG4gIFt0eXBlXT1cIidkcm9wZG93bidcIlxuICBbbW9kZV09XCJtb2RlXCJcbiAgW2Zyb21dPVwiZnJvbVwiXG4gIFt2YWx1ZV09XCJzZWxlY3RlZFZhbHVlXCJcbiAgKG9uRm9jdXMpPVwiZ2V0T3B0aW9ucygpXCJcbiAgW2xhYmVsRm9udF09XCJxdWVzdGlvbi5mb250XCJcbiAgW2xhYmVsXT1cInJlbW92ZUNoYXJhY3RlcnMocXVlc3Rpb24/LnF1ZXN0aW9uVGV4dClcIlxuICBbbGFiZWxDb2xvcl09XCJxdWVzdGlvbi5mb250Q29sb3JcIlxuICBbbGFiZWxTaXplXT1cInF1ZXN0aW9uLmZvbnRTaXplXCJcbiAgW2lucHV0VmFsdWVTaXplXT1cInF1ZXN0aW9uLmZvbnRTaXplXCJcbiAgW2xhYmVsV2VpZ2h0XT1cInF1ZXN0aW9uLmZvbnRXZWlnaHRcIlxuICBbaW5wdXRXZWlnaHRdPVwicXVlc3Rpb24uZm9udFdlaWdodFwiXG4gIFtzaG93TGFiZWxdPVwicXVlc3Rpb24uc3R5bGU/LnNob3dMYWJlbFwiXG4gIGlucHV0Qm9yZGVyPVwibm9uZVwiIHN2Z0hlaWdodD1cIjIwcHhcIiBzdmdXaWR0aD1cIjIwcHhcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbcmVxdWlyZWRdPVwicXVlc3Rpb24uaXNPcHRpb25hbFwiIGlucHV0QmdDb2xvcj1cIiNGQUZBRkFcIlxuICBbaW5wdXRJZF09XCJxdWVzdGlvbi50cmFja2luZ0lkXCJcbiAgW2Vycm9yTWVzc2FnZXNdPVwieyByZXF1aXJlZDogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnIH1cIlxuICBbaW5wdXRJY29uTGVmdFNyY109XCJxdWVzdGlvbi5pY29uTGVmdFNyY1wiXG4gICh0b2dnbGVFbWl0KT1cInRvZ2dsZSgpXCJcbiAgKGNsZWFySW5wdXRFbWl0KT1cImNsZWFyU2VsZWN0aW9uKClcIlxuICBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIlxuICAoaW5wdXRWYWx1ZSk9XCJpbnB1dFZhbHVlKCRldmVudC52YWx1ZSwkZXZlbnQucXVlc3Rpb24pXCJcbiAgPlxuPC9ueHQtaW5wdXQ+XG5cbiAgPCEtLSBTS1MxMUpVTjI1IERyb3Bkb3duIGxpc3QgLS0+XG4gIDx1bCBjbGFzcz1cIm54dC1kcm9wZG93bi1tZW51XCIgKm5nSWY9XCJzaG93T3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDBcIj5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uc1wiIChtb3VzZWRvd24pPVwic2VsZWN0Q2hhbmdlKGl0ZW0pXCI+XG4gICAgICB7eyBhcGlPYmogJiYgIWFwaU9iai5pc0RlcGVuZGVudEZpZWxkICYmIGl0ZW1bbGFiZWxGaWVsZF0gPyBpdGVtW2xhYmVsRmllbGRdIDogaXRlbT8udmFsdWUgfX1cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9kaXY+XG48c3BhbiAqbmdJZj1cImVycm9yIHx8IGludmFsaWRGaWVsZElkcy5pbmNsdWRlcyhpZClcIiBjbGFzcz1cImVycm9yLW1zZ1wiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cbiJdfQ==
281
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLWRyb3Bkb3duL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFZLFlBQVksRUFBYyxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRzdJLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU0xRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7O0FBVzVELE1BQU0sT0FBTyx1QkFBdUI7SUFzQnhCO0lBQ0E7SUFDRDtJQXZCQSxPQUFPLEdBQVUsRUFBRSxDQUFDO0lBQ3BCLFdBQVcsQ0FBUztJQUNwQixPQUFPLENBQVM7SUFDaEIsYUFBYSxDQUFTO0lBQ3RCLFdBQVcsQ0FBVTtJQUNyQixFQUFFLENBQVM7SUFDWCxRQUFRLEdBQVksS0FBSyxDQUFDLENBQUMsK0JBQStCO0lBQzFELFlBQVksQ0FBUztJQUNyQixLQUFLLENBQU07SUFDWCxXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLFFBQVEsQ0FBTTtJQUNkLGNBQWMsQ0FBUztJQUN2QixLQUFLLENBQVMsQ0FBSSxzQ0FBc0M7SUFDeEQsSUFBSSxHQUE4QixNQUFNLENBQUMs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Q0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUM1QyxNQUFNLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7d0dBOU5VLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLGlxQkN0QnBDLG01Q0FvQ0EscWdCRG5CSSxZQUFZLCtQQUFFLFdBQVcsK0JBQUUsUUFBUTs7NEZBSzFCLHVCQUF1QjtrQkFUbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQO3dCQUNQLFlBQVksRUFBRSxXQUFXLEVBQUUsUUFBUTtxQkFDcEM7c0lBS1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUV1QixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkE0SzlCLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBUElNZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hcGltZXRhJztcbmltcG9ydCB7IENoYW5nZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG4vLyBIQSAxOURFQzIzIGltcG9ydGVkIHRyYW5zbGF0aW9uIHNlcnZpY2VcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcbi8vIFZEIDIzSkFOMjQgdXNlZCBzZXJ2aWNlIGZpbGUgZm9yIGNhbGxvdXRcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE54dElucHV0IH0gZnJvbSAnLi4vbnh0LWlucHV0L254dC1pbnB1dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY3VzdG9tLWRyb3Bkb3duJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIE54dElucHV0XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgb3B0aW9uczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgYXBpTWV0YTogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByb2dyZXNzQmFyOiBib29sZWFuO1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlOyAvLyBWRCAxMkp1bjI0IC0gcmVhZG9ubHkgY2hhbmdlXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvcjogYW55O1xuICBASW5wdXQoKSBmcm9tU2hlbmdlbDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBxdWVzdGlvbjogYW55O1xuICBASW5wdXQoKSByZWZlcmVuY2VGaWVsZDogc3RyaW5nO1xuICBASW5wdXQoKSB0b2tlbjogc3RyaW5nOyAgICAvLyBWRCAxOUpBTjI0IC0gZ2V0dGluZyB0b2tlbiBhcyBpbnB1dFxuICBASW5wdXQoKSBtb2RlOiAndmlldycgfCAnZWRpdCcgfCAncHJpbnQnID0gJ2VkaXQnOyAvLyBTS1MxMUpVTjI1IE5ldyBtb2RlIGlucHV0XG4gIEBJbnB1dCgpIGZyb206IGFueVxuICAgIFxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZHJvcGRvd25XcmFwcGVyJykgZHJvcGRvd25XcmFwcGVyOiBFbGVtZW50UmVmO1xuICBpbnZhbGlkRmllbGRJZHM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLFxuICApIHsgY29uc29sZS5sb2coXCJkcm9wIGNoYW5nZXNcIilcbiAgICB0aGlzLmNoYW5nZVNlcnZpY2Uuc3VibWl0VmFsaWRhdGUkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgLy8gdG8gZ2V0IHRoZSBlcnJvciBtZXNzYWdlJ3MgZmllbGQgaWQnc1xuICAgICAgdGhpcy5pbnZhbGlkRmllbGRJZHMucHVzaChkYXRhKTtcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIGxhYmVsRmllbGQ6IHN0cmluZztcbiAgcHVibGljIHZhbHVlRmllbGQ6IHN0cmluZztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIC8vcHVibGljIGFwaU9iajpBUElNZXRhO1xuICBwdWJsaWMgdW5pcXVlS2V5OiBzdHJpbmc7XG4gIGFwaU9iajogYW55ID0ge307XG4gIHNob3dPcHRpb25zID0gZmFsc2U7XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtjb25zb2xlLmxvZyhcImRyb3AgY2hhbmdlc1wiKVxuXG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge2NvbnNvbGUubG9nKFwiZHJvcCBjaGFuZ2VzXCIpXG4gICAgaWYgKGNoYW5nZXNbJ21vZGUnXSkge1xuICAgICAgdGhpcy5tb2RlID0gY2hhbmdlc1snbW9kZSddLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cbiAgZ2V0T3B0aW9ucygpIHtjb25zb2xlLmxvZyhcImRyb3AgY2hhbmdlc1wiKVxuICAgIHRoaXMuc2hvd09wdGlvbnMgPSB0cnVlO1xuICAgIC8vVkQgMDdBdWcyNCAtIGlzRGVwZW5kZW50RmllbGQgY2hhbmdlXG4gICAgLy8gVkQgMjVPY3QyNCAtIGNoYW5nZXNcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlciA/IHRoaXMucGxhY2Vob2xkZXIgOiAnLS0tU2VsZWN0IG9wdGlvbi0tLSc7XG4gICAgaWYgKHRoaXMuYXBpTWV0YSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gTVNNLTI3TUFSMjUgRW5zdXJlIHF1ZXMuc3ViVGV4dCBpcyBhbHdheXMgYW4gb2JqZWN0IGJ5IHBhcnNpbmcgaXQgaWYgaXQncyBhIHN0cmluZ1xuICAgICAgICB0aGlzLmFwaU9iaiA9IHR5cGVvZiB0aGlzLmFwaU1ldGEgPT09ICdvYmplY3QnID8gdGhpcy5hcGlNZXRhIDogSlNPTi5wYXJzZSh0aGlzLmFwaU1ldGEpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIGFwaU9iaiBhbmQgYXBpT2JqLmZpZWxkIGFyZSBkZWZpbmVkXG4gICAgICAgIGlmICh0aGlzLmFwaU9iaiAmJiB0aGlzLmFwaU9iai5maWVsZCkge1xuICAgICAgICAgIHRoaXMuc2hvd09wdGlvbnMgPSB0cnVlO1xuICAgICAgICAgIHRoaXMubGFiZWxGaWVsZCA9IHRoaXMuYXBpT2JqLmZpZWxkO1xuICAgICAgICAgIHRoaXMudW5pcXVlS2V5ID0gdGhpcy5hcGlPYmoudW5pcXVlS2V5O1xuICAgICAgICAgIGNvbnN0IGNhY2hlZE9wdGlvbnMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnVuaXF1ZUtleSk7XG4gICAgICAgICAgaWYgKGNhY2hlZE9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IEpTT04ucGFyc2UoY2FjaGVkT3B0aW9ucyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5hcGlPYmouaXNEZXBlbmRlbnRGaWVsZCkge1xuICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBbXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVkQgMDlTZXAyNC0gc2V0dXAgdGhlIHF1ZXJ5IHBhcmFtIGZvciBhcGkgY2FsbCAvLyBNUiAwOEpBTjI0IERlcGVuZGVudEZpZWxkIEFQSSBGaXggbW92ZWQgYmVsb3cgbG9naWMgZnJvbSBhYm92ZSBpZiBjb25kaXRpb25cbiAgICAgICAgICAgIGxldCBmdWxsRW5kUG9pbnQ7XG4gICAgICAgICAgICBpZiAodGhpcy5hcGlPYmouZW5kcG9pbnQpIHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYXBpT2JqLnF1ZXJ5VmFsdWVSZWZlcmVuY2UgJiYgdGhpcy5hcGlPYmoucXVlcnlGaWVsZCkge1xuICAgICAgICAgICAgICAgIC8vIHByb2Nlc3MgdGhlIGVuZCBwb2ludCB3aXRoIHF1ZXJ5IHBhcmFtXG4gICAgICAgICAgICAgICAgbGV0IHF1ZXJ5UmVmZXJlbmNlcyA9IHRoaXMuYXBpT2JqLnF1ZXJ5VmFsdWVSZWZlcmVuY2Uuc3BsaXQoJywnKTtcbiAgICAgICAgICAgICAgICBsZXQgcXVlcnlGaWVsZHMgPSB0aGlzLmFwaU9iai5xdWVyeUZpZWxkLnNwbGl0KCcsJyk7ICAgIC8vIE1SIDA4SkFOMjQgc2ltaWxhciB0byBhYm92ZSB2YWx1ZXJlZmVyZW5jZSBnZXQgbGlzdCBvZiBRVUVSWSBGaWVsZHNcbiAgICAgICAgICAgICAgICBsZXQgcXVlcnlWYWx1ZXMgPSB0aGlzLmFwaU9iai5xdWVyeVZhbHVlLnNwbGl0KCcsJyk7ICAgIC8vIE1SIDA4SkFOMjQgc2ltaWxhciB0byBhYm92ZSB2YWx1ZXJlZmVyZW5jZSBnZXQgbGlzdCBvZiBRVUVSWSBWYWx1ZXMgKERlZmF1bHQpXG4gICAgICAgICAgICAgICAgbGV0IHF1ZXJ5UGFyYW1zID0gW107XG4gICAgICAgICAgICAgICAgbGV0IHFJbmRleCA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNUiAwOEpBTjI0IFF1ZXJ5IEluZGV4XG4gICAgICAgICAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIHF1ZXJ5UmVmZXJlbmNlcyBhbmQgZmluZCB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50IGluIHJlZmVyZW5jZURhdGFcbiAgICAgICAgICAgICAgICBxdWVyeVJlZmVyZW5jZXMuZm9yRWFjaChyZWZlcmVuY2UgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gRmluZCB0aGUgZWxlbWVudCBpbiByZWZlcmVuY2VEYXRhIHRoYXQgbWF0Y2hlcyB0aGUgY3VycmVudCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICAgIC8vIFJTIDA5REVDMjQgQ2hhbmdlZCBrZXlzXG4gICAgICAgICAgICAgICAgICBsZXQgbWF0Y2hpbmdFbGVtZW50ID0gdGhpcy5xdWVzdGlvbj8ucmVmZXJlbmNlUXVlcnlEYXRhLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LnJlZmVyZW5jZUZpZWxkID09PSByZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgLy8gSWYgYSBtYXRjaGluZyBlbGVtZW50IGlzIGZvdW5kLCBnZXQgaXRzIGlucHV0IHZhbHVlIGFuZCBjcmVhdGUgYSBxdWVyeSBwYXJhbWV0ZXJcbiAgICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UgJiYgbWF0Y2hpbmdFbGVtZW50KSB7ICAgLy8gTVIgMDhKQU4yNCBpZiByZWZlcmVuY2UgZXhpc3QgJiBtYXRjaGluZyBlbGVtZW50IGZvdW5kXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYCR7cXVlcnlGaWVsZHNbcUluZGV4XX09JHttYXRjaGluZ0VsZW1lbnQuaW5wdXR9YCk7ICAgIC8vIE1SIDA4SkFOMjQgcmVtb3ZlZCByZWZlcmVuY2VcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAgIC8vIE1SIDA4SkFOMjQgaW5jbHVkZWQgb3B0aW9uIGZvciBtdWx0aXBsZSBxdWVyeSBwYXJhbXMgYW5kIGRlZmF1bHQgdmFsdWUgaW4gY2FzZSBvZiByZWZlcmVuY2UgaXMgbm90IGZvdW5kXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLnB1c2goYCR7cXVlcnlGaWVsZHNbcUluZGV4XX09JHtxdWVyeVZhbHVlc1txSW5kZXhdfWApO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBxSW5kZXgrKztcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBmdWxsRW5kUG9pbnQgPSB0aGlzLmFwaU9iai5lbmRwb2ludCArICc/JyArIHF1ZXJ5UGFyYW1zLmpvaW4oJyYnKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBpZiBubyBxdWVyeSBwYXJhbSBnZXQgdGhlIGFjdHVhbCBlbmRQb2ludFxuICAgICAgICAgICAgICAgIGZ1bGxFbmRQb2ludCA9IHRoaXMuYXBpT2JqLmVuZHBvaW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gVkQgMTlKQU4yNCAtIGFkZGVkIG9uZSBtb3JlIHBhcmFtIGZvciBhdXRoZW50aWNhdGlvblxuICAgICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLmFwaVJlc3BvbnNlKGZ1bGxFbmRQb2ludCk/LnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBIQSAxOC1KQU4tMjQgQXNzaWduZWQgYXBpcmVzcG9uc2UgZGlyZWN0bHkgaWYgd2UgaGF2ZSB0aGUgcmVzcG9uc2UgaW4gYXJyYXkgYWxzb1xuICAgICAgICAgICAgICAgIC8vIFZEIDE5SkFOMjQgLSBpZiByZXNwb25zZSBoYXMga2V5IHdpdGggdmFsdWUod2hpY2ggaXMgYXJyYXkpXG4gICAgICAgICAgICAgICAgbGV0IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5hcGlPYmoudmFyaWFibGUpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFZEIDIxTWF5MjQgLSBoYW5kbGluZyBtdWx0aXBsZSBjaGlsZCBvYmplY3RzXG4gICAgICAgICAgICAgICAgICAvLyBWRCAyMk1heTI0IC0gdXNlZCBjb21tb24gc2VydmljZSBmaWxlXG4gICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGFwaVJlc3BvbnNlLCB0aGlzLmFwaU9iai52YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgLy8gSEEgMTlKQU4yNCBUbyBhdm9pZCB1bmRlZmluZWQgZXJyb3IgaW4gY29uc29sZVxuICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNwb25zZXM/Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciByZXNwID0gcmVzcG9uc2VzW2ldO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2gocmVzcCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSByZXN1bHRzO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAvLyBWRCAxOUpBTjI0IC0gaWYgcmVzcG9uc2UgaGFzIHZhbHVlKHdoaWNoIGlzIGFycmF5KSBvbmx5XG4gICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSBhcGlSZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gVkQgMjVPY3QyNCAtIFN0b3JlIGZldGNoZWQgb3B0aW9ucyBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudW5pcXVlS2V5KSB7XG4gICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnVuaXF1ZUtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBWRCBOT1YyMyAtIGhhbmRsZSB0aGUgZGVwZW5kZW50IHVwZGF0ZSBmb3IgZHJvcGRvd25cbiAgICAgICAgICAgIC8vIFZEIDA5U2VwMjQtIHB1c2ggdGhlIGRlcGVuZGVudCBmaWVsZCB2YWx1ZXMgZm9yIGRyb3Bkb3duXG4gICAgICAgICAgICBsZXQgc291cmNlSWQgPSB0aGlzLmFwaU9iai5zb3VyY2VRdWVzdGlvbklkO1xuICAgICAgICAgICAgaWYgKHNvdXJjZUlkICYmIHRoaXMuYXBpT2JqLnZhcmlhYmxlIHx8IHRoaXMuYXBpT2JqLnZhbHVlRmllbGQpIHtcbiAgICAgICAgICAgICAgLy8gU3Vic2NyaWJlIGZvciB0aGUgY2hhbmdlc1xuICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY2hhbmdlU2VydmljZS5jaGFuZ2VBbm5vdW5jZWQkLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChjaGFuZ2VWYWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNoYW5nZVZhbHVlLnZhbHVlT2JqICE9IHVuZGVmaW5lZCAmJiBjaGFuZ2VWYWx1ZS5mcm9tUXVlc3Rpb25JZCA9PSB0aGlzLmFwaU9iai5zb3VyY2VRdWVzdGlvbklkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGNoYW5nZVZhbHVlLnZhbHVlT2JqW3RoaXMuYXBpT2JqLnZhbHVlRmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgIC8vICBsZXQgdmFsdWUgPXt9O1xuICAgICAgICAgICAgICAgICAgICAgIC8vICB2YWx1ZVsnbmFtZSddID0gdGhpcy5zZWxlY3RlZFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgIGxldCByZXNwb25zZXM7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuYXBpT2JqLnZhcmlhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGNoYW5nZVZhbHVlLnZhbHVlT2JqLCB0aGlzLmFwaU9iai52YXJpYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNwb25zZXM/Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXNwID0gcmVzcG9uc2VzW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzLnB1c2gocmVzcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSByZXN1bHRzO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZXMgPSBjaGFuZ2VWYWx1ZS52YWx1ZU9iajtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3BvbnNlcztcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgLy8gVkQgMjVPY3QyNCAtIFN0b3JlIGZldGNoZWQgb3B0aW9ucyBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudW5pcXVlS2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnVuaXF1ZUtleSwgSlNPTi5zdHJpbmdpZnkodGhpcy5vcHRpb25zKSk7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlU2VydmljZS5jb25maXJtQ2hhbmdlKHRoaXMuYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgYXBpTWV0YTonLCBlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIFZEIDIyTWF5MjQgLSB1c2VkIGNvbW1vbiBzZXJ2aWNlIGZpbGVcblxuICBzZWxlY3RDaGFuZ2UoZXZlbnQ6IGFueSkge2NvbnNvbGUubG9nKFwiZHJvcCBjaGFuZ2VzXCIpXG4gICAgbGV0IGNoYW5nZSA9IG5ldyBDaGFuZ2VXcmFwcGVyKCk7IC8vIENoYW5nZVdyYXBwZXIgPSBKU09OLnBhcnNlKCd7fScpO1xuICAgIGNoYW5nZS5mcm9tUXVlc3Rpb25JZCA9IHRoaXMuaWQ7XG4gICAgY2hhbmdlLnZhbHVlT2JqID0gZXZlbnQgPyBldmVudFt0aGlzLmxhYmVsRmllbGRdID8gZXZlbnRbdGhpcy5sYWJlbEZpZWxkXSA6IGV2ZW50Py52YWx1ZSA6ICcnO1xuICAgIGNoYW5nZS5yZWZlcmVuY2VGaWVsZCA9IHRoaXMucmVmZXJlbmNlRmllbGQ7XG4gICAgY2hhbmdlLnNlbGVjdGVkT2JqID0gZXZlbnQgPyBldmVudFt0aGlzLmxhYmVsRmllbGRdID8gZXZlbnRbdGhpcy5sYWJlbEZpZWxkXSA6IGV2ZW50Py52YWx1ZSA6ICcnO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh7cXVlc3Rpb24gOiB0aGlzLnF1ZXN0aW9uLCB2YWx1ZTogY2hhbmdlfSk7XG4gICAgLy8gb25jZSBnb3QgdmFsdWUgaW4gZHJvcGRvd24gcmVtb3ZlIHRoZSBlcnJvciB2YWxpZGF0aW9uXG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLmludmFsaWRGaWVsZElkcyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLnNob3dPcHRpb25zID0gZmFsc2U7XG4gIH1cbnRvZ2dsZSgpe2NvbnNvbGUubG9nKFwiZHJvcCBjaGFuZ2VzXCIpXG4gIHRoaXMuc2hvd09wdGlvbnMgPSAhdGhpcy5zaG93T3B0aW9ucztcbn1cblxuQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxub25Eb2N1bWVudENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7Y29uc29sZS5sb2coXCJkcm9wIGNoYW5nZXNcIilcbiAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICBpZiAodGhpcy5kcm9wZG93bldyYXBwZXIgJiYgIXRoaXMuZHJvcGRvd25XcmFwcGVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgIHRoaXMuc2hvd09wdGlvbnMgPSBmYWxzZTtcbiAgfVxufVxuXG5cbiAgY2xlYXJTZWxlY3Rpb24oKSB7Y29uc29sZS5sb2coXCJkcm9wIGNoYW5nZXNcIilcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSAnJztcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoe3F1ZXN0aW9uIDogdGhpcy5xdWVzdGlvbiwgdmFsdWU6IHtcbiAgICAgIGZyb21RdWVzdGlvbklkOiB0aGlzLmlkLFxuICAgICAgdmFsdWVPYmo6ICcnLFxuICAgICAgcmVmZXJlbmNlRmllbGQ6IHRoaXMucmVmZXJlbmNlRmllbGQsXG4gICAgICBzZWxlY3RlZE9iajogJydcbiAgICB9fSk7XG4gICAgdGhpcy5pbnZhbGlkRmllbGRJZHMgPSBbXTtcbiAgfVxuICByZW1vdmVDaGFyYWN0ZXJzKHF1ZXN0aW9uVGV4dDpzdHJpbmcpe2NvbnNvbGUubG9nKFwiZHJvcCBjaGFuZ2VzXCIpXG4gICAgbGV0IHVwZGF0ZWRUZXh0ID0gcXVlc3Rpb25UZXh0Py5yZXBsYWNlKC88W14+XSo+L2csICcnKTtcbiAgICByZXR1cm4gdXBkYXRlZFRleHQ7XG4gIH1cbiAgaW5wdXRWYWx1ZShldmVudCxxdWVzKXtjb25zb2xlLmxvZyhcImRyb3AgY2hhbmdlc1wiKVxuICAgIGlmKHF1ZXMuc2luZ2xlRmllbGRDaGFuZ2Upe1xuICAgICAgbGV0IGNoYW5nZSA9IG5ldyBDaGFuZ2VXcmFwcGVyKCk7IC8vIENoYW5nZVdyYXBwZXIgPSBKU09OLnBhcnNlKCd7fScpO1xuICAgICAgY2hhbmdlLmZyb21RdWVzdGlvbklkID0gdGhpcy5pZDtcbiAgICAgIGNoYW5nZS52YWx1ZU9iaiA9IGV2ZW50O1xuICAgICAgY2hhbmdlLnJlZmVyZW5jZUZpZWxkID0gdGhpcy5yZWZlcmVuY2VGaWVsZDtcbiAgICAgIGNoYW5nZS5zZWxlY3RlZE9iaiA9IGV2ZW50O1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHtxdWVzdGlvbiA6IHF1ZXMsIHZhbHVlOiBjaGFuZ2V9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgI2Ryb3Bkb3duV3JhcHBlciBjbGFzcz1cImRyb3Bkb3duLWNsb3NlXCI+XG4gIDxueHQtaW5wdXQgXG4gIFt0eXBlXT1cIidkcm9wZG93bidcIlxuICBbbW9kZV09XCJtb2RlXCJcbiAgW2Zyb21dPVwiZnJvbVwiXG4gIFt2YWx1ZV09XCJzZWxlY3RlZFZhbHVlXCJcbiAgKG9uRm9jdXMpPVwiZ2V0T3B0aW9ucygpXCJcbiAgW2xhYmVsRm9udF09XCJxdWVzdGlvbi5mb250XCJcbiAgW2xhYmVsXT1cInJlbW92ZUNoYXJhY3RlcnMocXVlc3Rpb24/LnF1ZXN0aW9uVGV4dClcIlxuICBbbGFiZWxDb2xvcl09XCJxdWVzdGlvbi5mb250Q29sb3JcIlxuICBbbGFiZWxTaXplXT1cInF1ZXN0aW9uLmZvbnRTaXplXCJcbiAgW2lucHV0VmFsdWVTaXplXT1cInF1ZXN0aW9uLmZvbnRTaXplXCJcbiAgW2xhYmVsV2VpZ2h0XT1cInF1ZXN0aW9uLmZvbnRXZWlnaHRcIlxuICBbaW5wdXRXZWlnaHRdPVwicXVlc3Rpb24uZm9udFdlaWdodFwiXG4gIFtzaG93TGFiZWxdPVwicXVlc3Rpb24uc3R5bGU/LnNob3dMYWJlbFwiXG4gIGlucHV0Qm9yZGVyPVwibm9uZVwiIHN2Z0hlaWdodD1cIjIwcHhcIiBzdmdXaWR0aD1cIjIwcHhcIlxuICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICBbcmVxdWlyZWRdPVwicXVlc3Rpb24uaXNPcHRpb25hbFwiIGlucHV0QmdDb2xvcj1cIiNGQUZBRkFcIlxuICBbaW5wdXRJZF09XCJxdWVzdGlvbi50cmFja2luZ0lkXCJcbiAgW2Vycm9yTWVzc2FnZXNdPVwieyByZXF1aXJlZDogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnIH1cIlxuICBbaW5wdXRJY29uTGVmdFNyY109XCJxdWVzdGlvbi5pY29uTGVmdFNyY1wiXG4gICh0b2dnbGVFbWl0KT1cInRvZ2dsZSgpXCJcbiAgKGNsZWFySW5wdXRFbWl0KT1cImNsZWFyU2VsZWN0aW9uKClcIlxuICBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIlxuICAoaW5wdXRWYWx1ZSk9XCJpbnB1dFZhbHVlKCRldmVudC52YWx1ZSwkZXZlbnQucXVlc3Rpb24pXCJcbiAgPlxuPC9ueHQtaW5wdXQ+XG5cbiAgPCEtLSBTS1MxMUpVTjI1IERyb3Bkb3duIGxpc3QgLS0+XG4gIDx1bCBjbGFzcz1cIm54dC1kcm9wZG93bi1tZW51XCIgKm5nSWY9XCJzaG93T3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDBcIj5cbiAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uc1wiIChtb3VzZWRvd24pPVwic2VsZWN0Q2hhbmdlKGl0ZW0pXCI+XG4gICAgICB7eyBhcGlPYmogJiYgIWFwaU9iai5pc0RlcGVuZGVudEZpZWxkICYmIGl0ZW1bbGFiZWxGaWVsZF0gPyBpdGVtW2xhYmVsRmllbGRdIDogaXRlbT8udmFsdWUgfX1cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9kaXY+XG48c3BhbiAqbmdJZj1cImVycm9yIHx8IGludmFsaWRGaWVsZElkcy5pbmNsdWRlcyhpZClcIiBjbGFzcz1cImVycm9yLW1zZ1wiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cbiJdfQ==
@@ -36,12 +36,14 @@ export class CustomRadioComponent {
36
36
  this.changeService = changeService;
37
37
  this.dataService = dataService;
38
38
  this.i18nService = i18nService;
39
+ console.log("radio changes");
39
40
  this.changeService.submitValidate$.subscribe((data) => {
40
41
  this.invalidFieldIds.push(data);
41
42
  });
42
43
  }
43
44
  viewEdit = false;
44
45
  ngOnInit() {
46
+ console.log("radio changes");
45
47
  // VD 31NOV24 null check
46
48
  if (this.apiMeta) {
47
49
  this.apiMeta = typeof this.apiMeta === 'object' ? this.apiMeta : JSON.parse(this.apiMeta);
@@ -80,11 +82,13 @@ export class CustomRadioComponent {
80
82
  }
81
83
  }
82
84
  ngOnChanges(changes) {
85
+ console.log("radio changes");
83
86
  if (changes['mode']) {
84
87
  this.viewEdit = false;
85
88
  }
86
89
  }
87
90
  radioChange(event) {
91
+ console.log("radio changes");
88
92
  let change = new ChangeWrapper();
89
93
  change.fromQuestionId = this.id;
90
94
  change.valueObj = event.target?.id ? event.target?.id : '';
@@ -100,16 +104,19 @@ export class CustomRadioComponent {
100
104
  }
101
105
  }
102
106
  viewEditClick(ques) {
107
+ console.log("radio changes");
103
108
  this.originalValue = ques.input; // SKS11JUN25 Store the original value
104
109
  this.viewEdit = true; // Enter view edit mode
105
110
  this.mode = 'edit';
106
111
  }
107
112
  discardChanges() {
113
+ console.log("radio changes");
108
114
  this.viewEdit = false; // Exit view edit mode
109
115
  this.mode = 'view'; // Switch back to view mode
110
116
  this.selectedValue = this.originalValue; // SKS11JUN25 Restore the original value
111
117
  }
112
118
  saveChanges() {
119
+ console.log("radio changes");
113
120
  let ques = this.question;
114
121
  ques['singleFieldChange'] = true;
115
122
  this.valueChange.emit({ question: ques, value: this.value }); // Emit the updated value
@@ -153,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
153
160
  }], valueChange: [{
154
161
  type: Output
155
162
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1yYWRpby9jdXN0b20tcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXJhZGlvL2N1c3RvbS1yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFNMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFXL0MsTUFBTSxPQUFPLG9CQUFvQjtJQTJCckI7SUFDQTtJQUNEO0lBM0JBLE9BQU8sR0FBVSxFQUFFLENBQUM7SUFDcEIsUUFBUSxHQUFRLEVBQUUsQ0FBQTtJQUNsQixPQUFPLENBQVM7SUFDaEIsYUFBYSxDQUFTO0lBQ3RCLFdBQVcsQ0FBVTtJQUNyQixFQUFFLENBQVM7SUFDWCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFlBQVksQ0FBUztJQUNyQixLQUFLLENBQU07SUFDWCxXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLGNBQWMsQ0FBUztJQUN2QixLQUFLLENBQVM7SUFDZCxJQUFJLEdBQThCLE1BQU0sQ0FBQyxDQUFDLGlCQUFpQjtJQUMxRCxXQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkUsZUFBZSxHQUFhLEVBQUUsQ0FBQztJQUV4QixVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBQzFCLFlBQVksQ0FBZTtJQUMzQixhQUFhLENBQU0sQ0FBQyxzRUFBc0U7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QUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VXcmFwcGVyIH0gZnJvbSAnLi4vLi4vbW9kZWwvY2hhbmdlV3JhcHBlcic7XG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBUElNZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9hcGltZXRhJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jdXN0b20tcmFkaW8nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXJhZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXJhZGlvLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21SYWRpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb3B0aW9uczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgcXVlc3Rpb246IGFueSA9IHt9XG4gIEBJbnB1dCgpIGFwaU1ldGE6IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKSBwcm9ncmVzc0JhcjogYm9vbGVhbjtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgcmVhZE9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yOiBhbnk7XG4gIEBJbnB1dCgpIGZyb21TaGVuZ2VsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlZmVyZW5jZUZpZWxkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRva2VuOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1vZGU6ICd2aWV3JyB8ICdlZGl0JyB8ICdwcmludCcgPSAnZWRpdCc7IC8vIE5ldyBtb2RlIGlucHV0XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaW52YWxpZEZpZWxkSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBsYWJlbEZpZWxkOiBzdHJpbmc7XG4gIHB1YmxpYyB2YWx1ZUZpZWxkOiBzdHJpbmc7XG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBvcmlnaW5hbFZhbHVlOiBhbnk7IC8vIFNLUzExSlVOMjUgVG8gc3RvcmUgdGhlIG9yaWdpbmFsIHZhbHVlIHdoZW4gZW50ZXJpbmcgdmlldyBlZGl0IG1vZGVcbiAgaXNTYXZlSG92ZXJlZCA9IGZhbHNlO1xuICBpc0Rpc2NhcmRIb3ZlcmVkID0gZmFsc2U7XG4gIHZhbHVlOiBDaGFuZ2VXcmFwcGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlU2VydmljZTogQ2hhbmdlU2VydmljZSxcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcbiAgICBwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY2hhbmdlU2VydmljZS5zdWJtaXRWYWxpZGF0ZSQuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmludmFsaWRGaWVsZElkcy5wdXNoKGRhdGEpO1xuICAgIH0pO1xuICB9XG4gIHZpZXdFZGl0OiBib29sZWFuID0gZmFsc2UgXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gVkQgMzFOT1YyNCBudWxsIGNoZWNrXG4gICAgaWYgKHRoaXMuYXBpTWV0YSkge1xuICAgICAgdGhpcy5hcGlNZXRhID0gdHlwZW9mIHRoaXMuYXBpTWV0YSA9PT0gJ29iamVjdCcgPyB0aGlzLmFwaU1ldGEgOiBKU09OLnBhcnNlKHRoaXMuYXBpTWV0YSk7XG4gICAgICBsZXQgYXBpT2JqOiBhbnkgPSB0aGlzLmFwaU1ldGE7XG4gICAgICB0aGlzLmxhYmVsRmllbGQgPSBhcGlPYmouZmllbGQ7XG5cbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuYXBpUmVzcG9uc2UoYXBpT2JqLmVuZHBvaW50KT8uc3Vic2NyaWJlKChhcGlSZXNwb25zZSkgPT4ge1xuICAgICAgICBsZXQgcmVzcG9uc2VzO1xuICAgICAgICBpZiAoYXBpT2JqLnZhcmlhYmxlKSB7XG4gICAgICAgICAgcmVzcG9uc2VzID0gdGhpcy5kYXRhU2VydmljZS5nZXRWYWx1ZShhcGlSZXNwb25zZSwgYXBpT2JqLnZhcmlhYmxlKTtcbiAgICAgICAgICBsZXQgcmVzdWx0cyA9IFtdO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzcG9uc2VzPy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdmFyIHJlc3AgPSByZXNwb25zZXNbaV07XG4gICAgICAgICAgICByZXN1bHRzLnB1c2gocmVzcCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHJlc3VsdHM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2VzID0gYXBpUmVzcG9uc2U7XG4gICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzcG9uc2VzO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbGV0IHNvdXJjZUlkID0gYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQ7XG4gICAgICBpZiAoc291cmNlSWQpIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNoYW5nZVNlcnZpY2UuY2hhbmdlQW5ub3VuY2VkJC5zdWJzY3JpYmUoXG4gICAgICAgICAgKGNoYW5nZVZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlVmFsdWUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGlmIChjaGFuZ2VWYWx1ZS52YWx1ZU9iaiAhPSB1bmRlZmluZWQgJiYgY2hhbmdlVmFsdWUuZnJvbVF1ZXN0aW9uSWQgPT0gYXBpT2JqLnNvdXJjZVF1ZXN0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBjaGFuZ2VWYWx1ZS52YWx1ZU9ialthcGlPYmoudmFsdWVGaWVsZF07XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlID0ge307XG4gICAgICAgICAgICAgICAgdmFsdWVbJ25hbWUnXSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLnJhZGlvQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB0aGlzLmNoYW5nZVNlcnZpY2UuY29uZmlybUNoYW5nZShhcGlPYmouc291cmNlUXVlc3Rpb25JZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxubmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydtb2RlJ10pIHtcbiAgICAgIHRoaXMudmlld0VkaXQgPSBmYWxzZVxuICAgIH1cbiAgfVxuICByYWRpb0NoYW5nZShldmVudDogYW55KSB7XG4gICAgbGV0IGNoYW5nZSA9IG5ldyBDaGFuZ2VXcmFwcGVyKCk7XG4gICAgY2hhbmdlLmZyb21RdWVzdGlvbklkID0gdGhpcy5pZDtcbiAgICBjaGFuZ2UudmFsdWVPYmogPSBldmVudC50YXJnZXQ/LmlkID8gZXZlbnQudGFyZ2V0Py5pZCA6ICcnO1xuICAgIGNoYW5nZS5yZWZlcmVuY2VGaWVsZCA9IHRoaXMucmVmZXJlbmNlRmllbGQ7XG4gICAgY2hhbmdlLnNlbGVjdGVkT2JqID0gZXZlbnQgPyBldmVudFt0aGlzLmxhYmVsRmllbGRdIDogJyc7XG4gICAgLy8gU0tTMTFKVU4yNSBPbmx5IGVtaXQgdGhlIHZhbHVlIGlmIG5vdCBpbiB2aWV3IGVkaXQgbW9kZVxuICAgIGlmICghdGhpcy52aWV3RWRpdCkge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHtxdWVzdGlvbiA6IHRoaXMucXVlc3Rpb24sIHZhbHVlOiBjaGFuZ2V9KTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IGNoYW5nZVxuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5pbnZhbGlkRmllbGRJZHMgPSBbXTtcbiAgICB9XG4gIH1cbiAgdmlld0VkaXRDbGljayhxdWVzOiBhbnkpIHtcbiAgICB0aGlzLm9yaWdpbmFsVmFsdWUgPSBxdWVzLmlucHV0OyAvLyBTS1MxMUpVTjI1IFN0b3JlIHRoZSBvcmlnaW5hbCB2YWx1ZVxuICAgIHRoaXMudmlld0VkaXQgPSB0cnVlOyAvLyBFbnRlciB2aWV3IGVkaXQgbW9kZVxuICAgIHRoaXMubW9kZSA9ICdlZGl0JztcbiAgfVxuICBkaXNjYXJkQ2hhbmdlcygpIHtcbiAgICB0aGlzLnZpZXdFZGl0ID0gZmFsc2U7IC8vIEV4aXQgdmlldyBlZGl0IG1vZGVcbiAgICB0aGlzLm1vZGUgPSAndmlldyc7IC8vIFN3aXRjaCBiYWNrIHRvIHZpZXcgbW9kZVxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMub3JpZ2luYWxWYWx1ZTsgLy8gU0tTMTFKVU4yNSBSZXN0b3JlIHRoZSBvcmlnaW5hbCB2YWx1ZVxuICB9XG4gIHNhdmVDaGFuZ2VzKCkge1xuICAgIGxldCBxdWVzID0gdGhpcy5xdWVzdGlvblxuICAgIHF1ZXNbJ3NpbmdsZUZpZWxkQ2hhbmdlJ10gPSB0cnVlXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHtxdWVzdGlvbiA6IHF1ZXMsIHZhbHVlOiB0aGlzLnZhbHVlfSk7IC8vIEVtaXQgdGhlIHVwZGF0ZWQgdmFsdWVcbiAgICB0aGlzLnZpZXdFZGl0ID0gZmFsc2U7IC8vIFNLUzExSlVOMjUgRXhpdCB2aWV3IGVkaXQgbW9kZVxuICAgIHRoaXMubW9kZSA9ICd2aWV3JzsgLy8gU3dpdGNoIGJhY2sgdG8gdmlldyBtb2RlXG4gIH1cbn1cbiIsIjwhLS0gQVAyNk1BUjI1ICBNYXJrIGFzIGNoZWNrZWQgaWYgaXQgbWF0Y2hlcyB0aGUgc2VsZWN0ZWQgdmFsdWUgLS0+XG48ZGl2IGNsYXNzPVwiIGhvdmVyLXdyYXBwZXIgY3VzdG9tLXJhZGlvLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZsZXgtd3JhcDogd3JhcDsgcGFkZGluZy1sZWZ0OiA1cHg7IHBhZGRpbmctcmlnaHQ6IDVweDsgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTsgYm9yZGVyLXJhZGl1czogNXB4O1wiPlxuICAgIEBpZihtb2RlID09PSAnZWRpdCcpe1xuICAgIDxkaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiXG4gICAgICAgIFtjbGFzc109XCJpbnZhbGlkRmllbGRJZHMuaW5jbHVkZXMoaWQpIHx8IGVycm9yID8gJ2N1c3RvbS1yYWRpby1vcHRpb24gaW52YWxpZCcgOiAnY3VzdG9tLXJhZGlvLW9wdGlvbidcIj5cblxuICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgW2lkXT1cImFwaU1ldGEgPyBvcHRpb25bbGFiZWxGaWVsZF0gPz8gb3B0aW9uLnZhbHVlIDogb3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCIoc2VsZWN0ZWRWYWx1ZSA/PyAnJykgPT0gb3B0aW9uLnZhbHVlXCIgW25hbWVdPVwiaWRcIiBbdmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJyYWRpb0NoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwibnh0LXJhZGlvLWxhYmVsXCIgW2Zvcl09XCJhcGlNZXRhID8gb3B0aW9uW2xhYmVsRmllbGRdID8/IG9wdGlvbi52YWx1ZSA6IG9wdGlvbi52YWx1ZVwiPlxuICAgICAgICAgIHt7IGFwaU1ldGEgPyBvcHRpb25bbGFiZWxGaWVsZF0gPz8gb3B0aW9uLnZhbHVlIDogb3B0aW9uLnZhbHVlIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gICAgPGRpdiAqbmdJZj1cInZpZXdFZGl0XCIgY2xhc3M9XCJmbGV4XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBtYXJnaW4tbGVmdDogYXV0bztcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ2aWV3RWRpdCAmJiBvcmlnaW5hbFZhbHVlICE9PSB2YWx1ZVwiIChtb3VzZWVudGVyKT1cImlzU2F2ZUhvdmVyZWQgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwiaXNTYXZlSG92ZXJlZCA9IGZhbHNlXCJcbiAgICAgICAgICBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDVweDtcIj5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWlzU2F2ZUhvdmVyZWRcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk01Ljk1MDIgMC41QzguOTYwMDYgMC41MDAxMDYgMTEuNDAwNCAyLjk0MDMxIDExLjQwMDQgNS45NTAyQzExLjQwMDMgOC45NTk5OSA4Ljk1OTk5IDExLjQwMDMgNS45NTAyIDExLjQwMDRDMi45NDAzMSAxMS40MDA0IDAuNTAwMTA2IDguOTYwMDYgMC41IDUuOTUwMkMwLjUgMi45NDAyNCAyLjk0MDI0IDAuNSA1Ljk1MDIgMC41WlwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cIiM4MzdGOEVcIiAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk04Ljg4MTExIDMuODQ1ODNDOC44MzI2OSAzLjc5NzIgOC43NzUxMyAzLjc1ODYgOC43MTE3NiAzLjczMjI3QzguNjQ4MzggMy43MDU5NCA4LjU4MDQzIDMuNjkyMzggOC41MTE4IDMuNjkyMzhDOC40NDMxNyAzLjY5MjM4IDguMzc1MjEgMy43MDU5NCA4LjMxMTg0IDMuNzMyMjdDOC4yNDg0NiAzLjc1ODYgOC4xOTA5MSAzLjc5NzIgOC4xNDI0OSAzLjg0NTgzTDQuODI2OSA3LjE2MzQ3TDMuMzUyNTMgNS42ODkxQzMuMzA0MDMgNS42NDA2IDMuMjQ2NDYgNS42MDIxMyAzLjE4MzA5IDUuNTc1ODhDMy4xMTk3MiA1LjU0OTY0IDMuMDUxODEgNS41MzYxMyAyLjk4MzIyIDUuNTM2MTNDMi45MTQ2MyA1LjUzNjEzIDIuODQ2NzIgNS41NDk2NCAyLjc4MzM1IDUuNTc1ODhDMi43MTk5OSA1LjYwMjEzIDIuNjYyNDEgNS42NDA2IDIuNjEzOTEgNS42ODkxQzIuNTY1NDEgNS43Mzc2IDIuNTI2OTQgNS43OTUxOCAyLjUwMDY5IDUuODU4NTRDMi40NzQ0NSA1LjkyMTkxIDIuNDYwOTQgNS45ODk4MiAyLjQ2MDk0IDYuMDU4NDFDMi40NjA5NCA2LjEyNyAyLjQ3NDQ1IDYuMTk0OTEgMi41MDA2OSA2LjI1ODI4QzIuNTI2OTQgNi4zMjE2NSAyLjU2NTQxIDYuMzc5MjIgMi42MTM5MSA2LjQyNzcyTDQuNDU2NzcgOC4yNzA1OEM0LjUwNTE5IDguMzE5MjIgNC41NjI3NCA4LjM1NzgxIDQuNjI2MTIgOC4zODQxNEM0LjY4OTUgOC40MTA0NyA0Ljc1NzQ1IDguNDI0MDMgNC44MjYwOCA4LjQyNDAzQzQuODk0NzEgOC40MjQwMyA0Ljk2MjY2IDguNDEwNDcgNS4wMjYwNCA4LjM4NDE0QzUuMDg5NDIgOC4zNTc4MSA1LjE0Njk3IDguMzE5MjIgNS4xOTUzOSA4LjI3MDU4TDguODgxMTEgNC41ODQ0NUM4LjkyOTc0IDQuNTM2MDMgOC45NjgzNCA0LjQ3ODQ4IDguOTk0NjcgNC40MTUxQzkuMDIxIDQuMzUxNzMgOS4wMzQ1NiA0LjI4Mzc3IDkuMDM0NTYgNC4yMTUxNEM5LjAzNDU2IDQuMTQ2NTEgOS4wMjEgNC4wNzg1NiA4Ljk5NDY3IDQuMDE1MThDOC45NjgzNCAzLjk1MTggOC45Mjk3NCAzLjg5NDI1IDguODgxMTEgMy44NDU4M1pcIlxuICAgICAgICAgICAgICBmaWxsPVwiIzgzN0Y4RVwiIC8+XG4gICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXNTYXZlSG92ZXJlZFwiIChjbGljayk9XCJzYXZlQ2hhbmdlcygpXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGQ9XCJNNS45NSAxMi44MDA0QzkuMjM2MDkgMTIuODAwNCAxMS45IDEwLjEzNjUgMTEuOSA2Ljg1MDM5QzExLjkgMy41NjQzIDkuMjM2MDkgMC45MDAzOTEgNS45NSAwLjkwMDM5MUMyLjY2MzkxIDAuOTAwMzkxIDAgMy41NjQzIDAgNi44NTAzOUMwIDEwLjEzNjUgMi42NjM5MSAxMi44MDA0IDUuOTUgMTIuODAwNFpcIlxuICAgICAgICAgICAgICBmaWxsPVwiIzI1OTU2NlwiIC8+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTguODgxMTEgNC43NDYyMkM4LjgzMjY5IDQuNjk3NTkgOC43NzUxMyA0LjY1ODk5IDguNzExNzYgNC42MzI2NkM4LjY0ODM4IDQuNjA2MzMgOC41ODA0MyA0LjU5Mjc3IDguNTExOCA0LjU5Mjc3QzguNDQzMTcgNC41OTI3NyA4LjM3NTIxIDQuNjA2MzMgOC4zMTE4NCA0LjYzMjY2QzguMjQ4NDYgNC42NTg5OSA4LjE5MDkxIDQuNjk3NTkgOC4xNDI0OSA0Ljc0NjIyTDQuODI2OSA4LjA2Mzg2TDMuMzUyNTMgNi41ODk0OUMzLjMwNDAzIDYuNTQwOTkgMy4yNDY0NiA2LjUwMjUyIDMuMTgzMDkgNi40NzYyN0MzLjExOTcyIDYuNDUwMDMgMy4wNTE4MSA2LjQzNjUyIDIuOTgzMjIgNi40MzY1MkMyLjkxNDYzIDYuNDM2NTIgMi44NDY3MiA2LjQ1MDAzIDIuNzgzMzUgNi40NzYyN0MyLjcxOTk5IDYuNTAyNTIgMi42NjI0MSA2LjU0MDk5IDIuNjEzOTEgNi41ODk0OUMyLjU2NTQxIDYuNjM3OTkgMi41MjY5NCA2LjY5NTU3IDIuNTAwNjkgNi43NTg5M0MyLjQ3NDQ1IDYuODIyMyAyLjQ2MDk0IDYuODkwMjIgMi40NjA5NCA2Ljk1ODhDMi40NjA5NCA3LjAyNzM5IDIuNDc0NDUgNy4wOTUzMSAyLjUwMDY5IDcuMTU4NjdDMi41MjY5NCA3LjIyMjA0IDIuNTY1NDEgNy4yNzk2MSAyLjYxMzkxIDcuMzI4MTFMNC40NTY3NyA5LjE3MDk3QzQuNTA1MTkgOS4yMTk2MSA0LjU2Mjc0IDkuMjU4MiA0LjYyNjEyIDkuMjg0NTNDNC42ODk1IDkuMzEwODYgNC43NTc0NSA5LjMyNDQyIDQuODI2MDggOS4zMjQ0MkM0Ljg5NDcxIDkuMzI0NDIgNC45NjI2NiA5LjMxMDg2IDUuMDI2MDQgOS4yODQ1M0M1LjA4OTQyIDkuMjU4MiA1LjE0Njk3IDkuMjE5NjEgNS4xOTUzOSA5LjE3MDk3TDguODgxMTEgNS40ODQ4NEM4LjkyOTc0IDUuNDM2NDIgOC45NjgzNCA1LjM3ODg3IDguOTk0NjcgNS4zMTU0OUM5LjAyMSA1LjI1MjEyIDkuMDM0NTYgNS4xODQxNiA5LjAzNDU2IDUuMTE1NTNDOS4wMzQ1NiA1LjA0NjkgOS4wMjEgNC45Nzg5NSA4Ljk5NDY3IDQuOTE1NTdDOC45NjgzNCA0Ljg1MjIgOC45Mjk3NCA0Ljc5NDY1IDguODgxMTEgNC43NDYyMlpcIlxuICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInZpZXdFZGl0ICYmIG9yaWdpbmFsVmFsdWUgIT09IHZhbHVlXCIgKG1vdXNlZW50ZXIpPVwiaXNEaXNjYXJkSG92ZXJlZCA9IHRydWVcIiAobW91c2VsZWF2ZSk9XCJpc0Rpc2NhcmRIb3ZlcmVkID0gZmFsc2VcIj5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWlzRGlzY2FyZEhvdmVyZWRcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk03LjA1NTU1IDQuMDA4ODNMNS45NCA1LjEyNDM4TDQuODI0NDUgNC4wMDg4M0M0LjU3ODYxIDMuNzYyOTkgNC4xODE5MSAzLjc2Mjk5IDMuOTM2MDcgNC4wMDg4M0MzLjY5MDIzIDQuMjU0NjcgMy42OTAyMyA0LjY1MTM3IDMuOTM2MDcgNC44OTcyMUw1LjA1MTYyIDYuMDEyNzZMMy45MzYwNyA3LjEyODMxQzMuNjkwMjMgNy4zNzQxNSAzLjY5MDIzIDcuNzcwODUgMy45MzYwNyA4LjAxNjY5QzQuMTgxOTEgOC4yNjI1MyA0LjU3ODYxIDguMjYyNTMgNC44MjQ0NSA4LjAxNjY5TDUuOTQgNi45MDExNEw3LjA1NTU1IDguMDE2NjlDNy4zMDEzOSA4LjI2MjUzIDcuNjk4MDkgOC4yNjI1MyA3Ljk0MzkzIDguMDE2NjlDOC4xODk3NyA3Ljc3MDg1IDguMTg5NzcgNy4zNzQxNSA3Ljk0MzkzIDcuMTI4MzFMNi44MjgzOCA2LjAxMjc2TDcuOTQzOTMgNC44OTcyMUM4LjE4OTc3IDQuNjUxMzcgOC4xODk3NyA0LjI1NDY3IDcuOTQzOTMgNC4wMDg4M0M3LjY5ODA5IDMuNzcyODUgNy4zMDAyMSAzLjc3Mjg1IDcuMDU1NTUgNC4wMDg4M1pNNS45NCAwLjA4MjAzMTJDMi43MDAxNyAwLjA4MjAzMTIgMC4wODA4NTk0IDIuNzAxMzQgMC4wODA4NTk0IDUuOTQxMThDMC4wODA4NTk0IDkuMTgxMDEgMi43MDAxNyAxMS44MDAzIDUuOTQgMTEuODAwM0M5LjE3OTgzIDExLjgwMDMgMTEuNzk5MSA5LjE4MTAxIDExLjc5OTEgNS45NDExOEMxMS43OTkxIDIuNzAxMzQgOS4xNzk4MyAwLjA4MjAzMTIgNS45NCAwLjA4MjAzMTJaTTUuOTQgMTAuNjM2N0MzLjM1NDI2IDEwLjYzNjcgMS4yNDQyMiA4LjUyNjY3IDEuMjQ0MjIgNS45NDExOEMxLjI0NDIyIDMuMzU1NTMgMy4zNTQyNiAxLjI0NTQ5IDUuOTQgMS4yNDU0OUM4LjUyNTU4IDEuMjQ1NDkgMTAuNjM1NiAzLjM1NTUzIDEwLjYzNTYgNS45NDExOEMxMC42MzU2IDguNTI2NjcgOC41MjU1OCAxMC42MzY3IDUuOTQgMTAuNjM2N1pcIlxuICAgICAgICAgICAgICBmaWxsPVwiI0IwQURBQlwiIC8+XG4gICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXNEaXNjYXJkSG92ZXJlZFwiIChjbGljayk9XCJkaXNjYXJkQ2hhbmdlcygpXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxMiAxM1wiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGQ9XCJNNy4wNTU1NSA0Ljk3NDcxTDUuOTQgNi4wOTAyNkw0LjgyNDQ1IDQuOTc0NzFDNC41Nzg2MSA0LjcyODg3IDQuMTgxOTEgNC43Mjg4NyAzLjkzNjA3IDQuOTc0NzFDMy42OTAyMyA1LjIyMDU1IDMuNjkwMjMgNS42MTcyNSAzLjkzNjA3IDUuODYzMDlMNS4wNTE2MiA2Ljk3ODY0TDMuOTM2MDcgOC4wOTQxOUMzLjY5MDIzIDguMzQwMDMgMy42OTAyMyA4LjczNjczIDMuOTM2MDcgOC45ODI1N0M0LjE4MTkxIDkuMjI4NDEgNC41Nzg2MSA5LjIyODQxIDQuODI0NDUgOC45ODI1N0w1Ljk0IDcuODY3MDJMNy4wNTU1NSA4Ljk4MjU3QzcuMzAxMzkgOS4yMjg0MSA3LjY5ODA5IDkuMjI4NDEgNy45NDM5MyA4Ljk4MjU3QzguMTg5NzcgOC43MzY3MyA4LjE4OTc3IDguMzQwMDMgNy45NDM5MyA4LjA5NDE5TDYuODI4MzggNi45Nzg2NEw3Ljk0MzkzIDUuODYzMDlDOC4xODk3NyA1LjYxNzI1IDguMTg5NzcgNS4yMjA1NSA3Ljk0MzkzIDQuOTc0NzFDNy42OTgwOSA0LjczODczIDcuMzAwMjEgNC43Mzg3MyA3LjA1NTU1IDQuOTc0NzFaTTUuOTQgMS4wNjA2MkMyLjcwMDE3IDEuMDYwNjIgMC4wODA4NTk0IDMuNjc5OTMgMC4wODA4NTk0IDYuOTE5NzdDMC4wODA4NTk0IDEwLjE1OTYgMi43MDAxNyAxMi43Nzg5IDUuOTQgMTIuNzc4OUM5LjE3OTgzIDEyLjc3ODkgMTEuNzk5MSAxMC4xNTk2IDExLjc5OTEgNi45MTk3N0MxMS43OTkxIDMuNjc5OTMgOS4xNzk4MyAxLjA2MDYyIDUuOTQgMS4wNjA2MlpNNS45NCAxMS42MTUzQzMuMzU0MjYgMTEuNjE1MyAxLjI0NDIyIDkuNTA1MjUgMS4yNDQyMiA2LjkxOTc3QzEuMjQ0MjIgNC4zMzQxMiAzLjM1NDI2IDIuMjI0MDggNS45NCAyLjIyNDA4QzguNTI1NTggMi4yMjQwOCAxMC42MzU2IDQuMzM0MTIgMTAuNjM1NiA2LjkxOTc3QzEwLjYzNTYgOS41MDUyNSA4LjUyNTU4IDExLjYxNTMgNS45NCAxMS42MTUzWlwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjRkYzNjM2XCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBAaWYobW9kZSAhPT0gJ2VkaXQnKSB7XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGNvbnRlbnQtc3BhY2UtYmV0d2VlblwiPlxuICAgIDxkaXY+e3tzZWxlY3RlZFZhbHVlIHx8ICctJ319PC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxzdmcgKm5nSWY9XCIhcXVlc3Rpb24uaXNSZWFkT25seSAmJiAhdmlld0VkaXQgXCIgY2xhc3M9XCJlZGl0LWljb25cIiAoY2xpY2spPVwidmlld0VkaXRDbGljayhxdWVzdGlvbilcIiB3aWR0aD1cIjEzXCJcbiAgICAgICAgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDEzIDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBkPVwiTTEuOTk5ODcgOS4wMDE3TDQuMzk2MDIgMTEuMzk3OUM0LjUwMzcxIDExLjUwNTUgNC42NjUyNSAxMS41MDU1IDQuNzcyOTQgMTEuMzk3OUwxMC43NDk5IDUuMzk0MDFDMTAuODU3NiA1LjI4NjMxIDEwLjg1NzYgNS4xMjQ3NyAxMC43NDk5IDUuMDE3MDhMOC4zODA2NCAyLjY0Nzg1QzguMjcyOTQgMi41NDAxNiA4LjExMTQxIDIuNTQwMTYgOC4wMDM3MSAyLjY0Nzg1TDEuOTk5ODcgOC42NTE3QzEuODkyMTcgOC43NTkzOSAxLjg5MjE3IDguOTIwOTMgMS45OTk4NyA5LjAwMTdaTTkuMTYxNCAxLjU0NDAxQzkuMDUzNzEgMS42NTE3IDkuMDUzNzEgMS44MTMyNCA5LjE2MTQgMS45MjA5M0wxMS41MzA2IDQuMjkwMTZDMTEuNjM4MyA0LjM5Nzg1IDExLjc5OTkgNC4zOTc4NSAxMS45MDc2IDQuMjkwMTZMMTIuNTgwNiAzLjYxNzA4QzEzLjAxMTQgMy4yMTMyNCAxMy4wMTE0IDIuNTY3MDggMTIuNTgwNiAyLjEzNjMxTDExLjMxNTMgMC44NzA5MjhDMTAuODg0NSAwLjQ0MDE1OSAxMC4yMTE0IDAuNDQwMTU5IDkuNzgwNjMgMC44NzA5MjhMOS4xNjE0IDEuNTQ0MDFaTTAuMDA3NTU4NjIgMTIuOTg2M0MtMC4wNDYyODc1IDEzLjI1NTUgMC4xOTYwMiAxMy40OTc5IDAuNDY1MjUxIDEzLjQ0NEwzLjM5OTg3IDEyLjc0NEMzLjUwNzU2IDEyLjcxNzEgMy41ODgzMyAxMi42NjMyIDMuNjQyMTcgMTIuNjA5NEwzLjY5NjAyIDEyLjU1NTVDMy43NDk4NyAxMi41MDE3IDMuNzc2NzkgMTIuMzEzMiAzLjY2OTEgMTIuMjA1NUwxLjI0NjAyIDkuNzgyNDdDMS4xMzgzMyA5LjY3NDc4IDAuOTQ5ODY2IDkuNzAxNyAwLjg5NjAyIDkuNzU1NTRMMC44NDIxNzQgOS44MDkzOUMwLjc2MTQwNSA5Ljg5MDE2IDAuNzM0NDgyIDkuOTcwOTMgMC43MDc1NTkgMTAuMDUxN0wwLjAwNzU1ODYyIDEyLjk4NjNaXCJcbiAgICAgICAgICBmaWxsPVwiI0IwQURBQlwiIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIH1cbiAgPHNwYW4gKm5nSWY9XCJlcnJvciB8fCBpbnZhbGlkRmllbGRJZHMuaW5jbHVkZXMoaWQpXCIgY2xhc3M9XCJlcnJvci1tc2dcIj5cbiAgICB7eyBlcnJvck1lc3NhZ2UgPz8gJ0ludmFsaWQgc2VsZWN0aW9uJyB9fVxuICA8L3NwYW4+XG48L2Rpdj4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9jb21wb25lbnRzL2N1c3RvbS1yYWRpby9jdXN0b20tcmFkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXJhZGlvL2N1c3RvbS1yYWRpby5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFNMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFXL0MsTUFBTSxPQUFPLG9CQUFvQjtJQTJCckI7SUFDQTtJQUNEO0lBM0JBLE9BQU8sR0FBVSxFQUFFLENBQUM7SUFDcEIsUUFBUSxHQUFRLEVBQUUsQ0FBQTtJQUNsQixPQUFPLENBQVM7SUFDaEIsYUFBYSxDQUFTO0lBQ3RCLFdBQVcsQ0FBVTtJQUNyQixFQUFFLENBQVM7SUFDWCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLFlBQVksQ0FBUztJQUNyQixLQUFLLENBQU07SUFDWCxXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLGNBQWMsQ0FBUztJQUN2QixLQUFLLENBQVM7SUFDZCxJQUFJLEdBQThCLE1BQU0sQ0FBQyxDQUFDLGlCQUFpQjtJQUMxRCxXQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFDbkUsZUFBZSxHQUFhLEVBQUUsQ0FBQztJQUV4QixVQUFVLENBQVM7SUFDbkIsVUFBVSxDQUFTO0lBQzFCLFlBQVksQ0FBZTtJQUMzQixhQUFhLENBQU0sQ0FBQyxzRUFBc0U7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R0F6SFUsb0JBQW9COzRGQUFwQixvQkFBb0IsMGJDbEJqQyw2eVFBMEVNLHNZRDdERixZQUFZOzs0RkFLSCxvQkFBb0I7a0JBVGhDLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3FCQUNiO3NJQU1RLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYW5nZVdyYXBwZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9jaGFuZ2VXcmFwcGVyJztcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFQSU1ldGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FwaW1ldGEnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1yYWRpbycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tcmFkaW8uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbVJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBvcHRpb25zOiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBxdWVzdGlvbjogYW55ID0ge31cbiAgQElucHV0KCkgYXBpTWV0YTogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHByb2dyZXNzQmFyOiBib29sZWFuO1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSByZWFkT25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgQElucHV0KCkgZXJyb3I6IGFueTtcbiAgQElucHV0KCkgZnJvbVNoZW5nZWw6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcmVmZXJlbmNlRmllbGQ6IHN0cmluZztcbiAgQElucHV0KCkgdG9rZW46IHN0cmluZztcbiAgQElucHV0KCkgbW9kZTogJ3ZpZXcnIHwgJ2VkaXQnIHwgJ3ByaW50JyA9ICdlZGl0JzsgLy8gTmV3IG1vZGUgaW5wdXRcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBpbnZhbGlkRmllbGRJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgcHVibGljIGxhYmVsRmllbGQ6IHN0cmluZztcbiAgcHVibGljIHZhbHVlRmllbGQ6IHN0cmluZztcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIG9yaWdpbmFsVmFsdWU6IGFueTsgLy8gU0tTMTFKVU4yNSBUbyBzdG9yZSB0aGUgb3JpZ2luYWwgdmFsdWUgd2hlbiBlbnRlcmluZyB2aWV3IGVkaXQgbW9kZVxuICBpc1NhdmVIb3ZlcmVkID0gZmFsc2U7XG4gIGlzRGlzY2FyZEhvdmVyZWQgPSBmYWxzZTtcbiAgdmFsdWU6IENoYW5nZVdyYXBwZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VTZXJ2aWNlOiBDaGFuZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxuICAgIHB1YmxpYyBpMThuU2VydmljZTogSTE4blNlcnZpY2VcbiAgKSB7XG4gICAgY29uc29sZS5sb2coXCJyYWRpbyBjaGFuZ2VzXCIpXG4gICAgdGhpcy5jaGFuZ2VTZXJ2aWNlLnN1Ym1pdFZhbGlkYXRlJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaW52YWxpZEZpZWxkSWRzLnB1c2goZGF0YSk7XG4gICAgfSk7XG4gIH1cbiAgdmlld0VkaXQ6IGJvb2xlYW4gPSBmYWxzZSBcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcInJhZGlvIGNoYW5nZXNcIilcbiAgICAvLyBWRCAzMU5PVjI0IG51bGwgY2hlY2tcbiAgICBpZiAodGhpcy5hcGlNZXRhKSB7XG4gICAgICB0aGlzLmFwaU1ldGEgPSB0eXBlb2YgdGhpcy5hcGlNZXRhID09PSAnb2JqZWN0JyA/IHRoaXMuYXBpTWV0YSA6IEpTT04ucGFyc2UodGhpcy5hcGlNZXRhKTtcbiAgICAgIGxldCBhcGlPYmo6IGFueSA9IHRoaXMuYXBpTWV0YTtcbiAgICAgIHRoaXMubGFiZWxGaWVsZCA9IGFwaU9iai5maWVsZDtcblxuICAgICAgdGhpcy5kYXRhU2VydmljZS5hcGlSZXNwb25zZShhcGlPYmouZW5kcG9pbnQpPy5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGxldCByZXNwb25zZXM7XG4gICAgICAgIGlmIChhcGlPYmoudmFyaWFibGUpIHtcbiAgICAgICAgICByZXNwb25zZXMgPSB0aGlzLmRhdGFTZXJ2aWNlLmdldFZhbHVlKGFwaVJlc3BvbnNlLCBhcGlPYmoudmFyaWFibGUpO1xuICAgICAgICAgIGxldCByZXN1bHRzID0gW107XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXNwb25zZXM/Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgcmVzcCA9IHJlc3BvbnNlc1tpXTtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaChyZXNwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5vcHRpb25zID0gcmVzdWx0cztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNwb25zZXMgPSBhcGlSZXNwb25zZTtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMgPSByZXNwb25zZXM7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBsZXQgc291cmNlSWQgPSBhcGlPYmouc291cmNlUXVlc3Rpb25JZDtcbiAgICAgIGlmIChzb3VyY2VJZCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY2hhbmdlU2VydmljZS5jaGFuZ2VBbm5vdW5jZWQkLnN1YnNjcmliZShcbiAgICAgICAgICAoY2hhbmdlVmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VWYWx1ZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgaWYgKGNoYW5nZVZhbHVlLnZhbHVlT2JqICE9IHVuZGVmaW5lZCAmJiBjaGFuZ2VWYWx1ZS5mcm9tUXVlc3Rpb25JZCA9PSBhcGlPYmouc291cmNlUXVlc3Rpb25JZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGNoYW5nZVZhbHVlLnZhbHVlT2JqW2FwaU9iai52YWx1ZUZpZWxkXTtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB7fTtcbiAgICAgICAgICAgICAgICB2YWx1ZVsnbmFtZSddID0gdGhpcy5zZWxlY3RlZFZhbHVlO1xuICAgICAgICAgICAgICAgIHRoaXMucmFkaW9DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuY2hhbmdlU2VydmljZS5jb25maXJtQ2hhbmdlKGFwaU9iai5zb3VyY2VRdWVzdGlvbklkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5uZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gIGNvbnNvbGUubG9nKFwicmFkaW8gY2hhbmdlc1wiKVxuICAgIGlmIChjaGFuZ2VzWydtb2RlJ10pIHtcbiAgICAgIHRoaXMudmlld0VkaXQgPSBmYWxzZVxuICAgIH1cbiAgfVxuICByYWRpb0NoYW5nZShldmVudDogYW55KSB7XG4gICAgY29uc29sZS5sb2coXCJyYWRpbyBjaGFuZ2VzXCIpXG4gICAgbGV0IGNoYW5nZSA9IG5ldyBDaGFuZ2VXcmFwcGVyKCk7XG4gICAgY2hhbmdlLmZyb21RdWVzdGlvbklkID0gdGhpcy5pZDtcbiAgICBjaGFuZ2UudmFsdWVPYmogPSBldmVudC50YXJnZXQ/LmlkID8gZXZlbnQudGFyZ2V0Py5pZCA6ICcnO1xuICAgIGNoYW5nZS5yZWZlcmVuY2VGaWVsZCA9IHRoaXMucmVmZXJlbmNlRmllbGQ7XG4gICAgY2hhbmdlLnNlbGVjdGVkT2JqID0gZXZlbnQgPyBldmVudFt0aGlzLmxhYmVsRmllbGRdIDogJyc7XG4gICAgLy8gU0tTMTFKVU4yNSBPbmx5IGVtaXQgdGhlIHZhbHVlIGlmIG5vdCBpbiB2aWV3IGVkaXQgbW9kZVxuICAgIGlmICghdGhpcy52aWV3RWRpdCkge1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHtxdWVzdGlvbiA6IHRoaXMucXVlc3Rpb24sIHZhbHVlOiBjaGFuZ2V9KTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IGNoYW5nZVxuICAgIGlmIChldmVudCkge1xuICAgICAgdGhpcy5pbnZhbGlkRmllbGRJZHMgPSBbXTtcbiAgICB9XG4gIH1cbiAgdmlld0VkaXRDbGljayhxdWVzOiBhbnkpIHtcbiAgICBjb25zb2xlLmxvZyhcInJhZGlvIGNoYW5nZXNcIilcbiAgICB0aGlzLm9yaWdpbmFsVmFsdWUgPSBxdWVzLmlucHV0OyAvLyBTS1MxMUpVTjI1IFN0b3JlIHRoZSBvcmlnaW5hbCB2YWx1ZVxuICAgIHRoaXMudmlld0VkaXQgPSB0cnVlOyAvLyBFbnRlciB2aWV3IGVkaXQgbW9kZVxuICAgIHRoaXMubW9kZSA9ICdlZGl0JztcbiAgfVxuICBkaXNjYXJkQ2hhbmdlcygpIHtcbiAgICBjb25zb2xlLmxvZyhcInJhZGlvIGNoYW5nZXNcIilcbiAgICB0aGlzLnZpZXdFZGl0ID0gZmFsc2U7IC8vIEV4aXQgdmlldyBlZGl0IG1vZGVcbiAgICB0aGlzLm1vZGUgPSAndmlldyc7IC8vIFN3aXRjaCBiYWNrIHRvIHZpZXcgbW9kZVxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMub3JpZ2luYWxWYWx1ZTsgLy8gU0tTMTFKVU4yNSBSZXN0b3JlIHRoZSBvcmlnaW5hbCB2YWx1ZVxuICB9XG4gIHNhdmVDaGFuZ2VzKCkge1xuICAgIGNvbnNvbGUubG9nKFwicmFkaW8gY2hhbmdlc1wiKVxuICAgIGxldCBxdWVzID0gdGhpcy5xdWVzdGlvblxuICAgIHF1ZXNbJ3NpbmdsZUZpZWxkQ2hhbmdlJ10gPSB0cnVlXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHtxdWVzdGlvbiA6IHF1ZXMsIHZhbHVlOiB0aGlzLnZhbHVlfSk7IC8vIEVtaXQgdGhlIHVwZGF0ZWQgdmFsdWVcbiAgICB0aGlzLnZpZXdFZGl0ID0gZmFsc2U7IC8vIFNLUzExSlVOMjUgRXhpdCB2aWV3IGVkaXQgbW9kZVxuICAgIHRoaXMubW9kZSA9ICd2aWV3JzsgLy8gU3dpdGNoIGJhY2sgdG8gdmlldyBtb2RlXG4gIH1cbn1cbiIsIjwhLS0gQVAyNk1BUjI1ICBNYXJrIGFzIGNoZWNrZWQgaWYgaXQgbWF0Y2hlcyB0aGUgc2VsZWN0ZWQgdmFsdWUgLS0+XG48ZGl2IGNsYXNzPVwiIGhvdmVyLXdyYXBwZXIgY3VzdG9tLXJhZGlvLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGZsZXgtd3JhcDogd3JhcDsgcGFkZGluZy1sZWZ0OiA1cHg7IHBhZGRpbmctcmlnaHQ6IDVweDsgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkFGQTsgYm9yZGVyLXJhZGl1czogNXB4O1wiPlxuICAgIEBpZihtb2RlID09PSAnZWRpdCcpe1xuICAgIDxkaXY+XG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiXG4gICAgICAgIFtjbGFzc109XCJpbnZhbGlkRmllbGRJZHMuaW5jbHVkZXMoaWQpIHx8IGVycm9yID8gJ2N1c3RvbS1yYWRpby1vcHRpb24gaW52YWxpZCcgOiAnY3VzdG9tLXJhZGlvLW9wdGlvbidcIj5cblxuICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgW2lkXT1cImFwaU1ldGEgPyBvcHRpb25bbGFiZWxGaWVsZF0gPz8gb3B0aW9uLnZhbHVlIDogb3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICBbY2hlY2tlZF09XCIoc2VsZWN0ZWRWYWx1ZSA/PyAnJykgPT0gb3B0aW9uLnZhbHVlXCIgW25hbWVdPVwiaWRcIiBbdmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJyYWRpb0NoYW5nZSgkZXZlbnQpXCIgLz5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwibnh0LXJhZGlvLWxhYmVsXCIgW2Zvcl09XCJhcGlNZXRhID8gb3B0aW9uW2xhYmVsRmllbGRdID8/IG9wdGlvbi52YWx1ZSA6IG9wdGlvbi52YWx1ZVwiPlxuICAgICAgICAgIHt7IGFwaU1ldGEgPyBvcHRpb25bbGFiZWxGaWVsZF0gPz8gb3B0aW9uLnZhbHVlIDogb3B0aW9uLnZhbHVlIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gICAgPGRpdiAqbmdJZj1cInZpZXdFZGl0XCIgY2xhc3M9XCJmbGV4XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBtYXJnaW4tbGVmdDogYXV0bztcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJ2aWV3RWRpdCAmJiBvcmlnaW5hbFZhbHVlICE9PSB2YWx1ZVwiIChtb3VzZWVudGVyKT1cImlzU2F2ZUhvdmVyZWQgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwiaXNTYXZlSG92ZXJlZCA9IGZhbHNlXCJcbiAgICAgICAgICBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDVweDtcIj5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWlzU2F2ZUhvdmVyZWRcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk01Ljk1MDIgMC41QzguOTYwMDYgMC41MDAxMDYgMTEuNDAwNCAyLjk0MDMxIDExLjQwMDQgNS45NTAyQzExLjQwMDMgOC45NTk5OSA4Ljk1OTk5IDExLjQwMDMgNS45NTAyIDExLjQwMDRDMi45NDAzMSAxMS40MDA0IDAuNTAwMTA2IDguOTYwMDYgMC41IDUuOTUwMkMwLjUgMi45NDAyNCAyLjk0MDI0IDAuNSA1Ljk1MDIgMC41WlwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cIiM4MzdGOEVcIiAvPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk04Ljg4MTExIDMuODQ1ODNDOC44MzI2OSAzLjc5NzIgOC43NzUxMyAzLjc1ODYgOC43MTE3NiAzLjczMjI3QzguNjQ4MzggMy43MDU5NCA4LjU4MDQzIDMuNjkyMzggOC41MTE4IDMuNjkyMzhDOC40NDMxNyAzLjY5MjM4IDguMzc1MjEgMy43MDU5NCA4LjMxMTg0IDMuNzMyMjdDOC4yNDg0NiAzLjc1ODYgOC4xOTA5MSAzLjc5NzIgOC4xNDI0OSAzLjg0NTgzTDQuODI2OSA3LjE2MzQ3TDMuMzUyNTMgNS42ODkxQzMuMzA0MDMgNS42NDA2IDMuMjQ2NDYgNS42MDIxMyAzLjE4MzA5IDUuNTc1ODhDMy4xMTk3MiA1LjU0OTY0IDMuMDUxODEgNS41MzYxMyAyLjk4MzIyIDUuNTM2MTNDMi45MTQ2MyA1LjUzNjEzIDIuODQ2NzIgNS41NDk2NCAyLjc4MzM1IDUuNTc1ODhDMi43MTk5OSA1LjYwMjEzIDIuNjYyNDEgNS42NDA2IDIuNjEzOTEgNS42ODkxQzIuNTY1NDEgNS43Mzc2IDIuNTI2OTQgNS43OTUxOCAyLjUwMDY5IDUuODU4NTRDMi40NzQ0NSA1LjkyMTkxIDIuNDYwOTQgNS45ODk4MiAyLjQ2MDk0IDYuMDU4NDFDMi40NjA5NCA2LjEyNyAyLjQ3NDQ1IDYuMTk0OTEgMi41MDA2OSA2LjI1ODI4QzIuNTI2OTQgNi4zMjE2NSAyLjU2NTQxIDYuMzc5MjIgMi42MTM5MSA2LjQyNzcyTDQuNDU2NzcgOC4yNzA1OEM0LjUwNTE5IDguMzE5MjIgNC41NjI3NCA4LjM1NzgxIDQuNjI2MTIgOC4zODQxNEM0LjY4OTUgOC40MTA0NyA0Ljc1NzQ1IDguNDI0MDMgNC44MjYwOCA4LjQyNDAzQzQuODk0NzEgOC40MjQwMyA0Ljk2MjY2IDguNDEwNDcgNS4wMjYwNCA4LjM4NDE0QzUuMDg5NDIgOC4zNTc4MSA1LjE0Njk3IDguMzE5MjIgNS4xOTUzOSA4LjI3MDU4TDguODgxMTEgNC41ODQ0NUM4LjkyOTc0IDQuNTM2MDMgOC45NjgzNCA0LjQ3ODQ4IDguOTk0NjcgNC40MTUxQzkuMDIxIDQuMzUxNzMgOS4wMzQ1NiA0LjI4Mzc3IDkuMDM0NTYgNC4yMTUxNEM5LjAzNDU2IDQuMTQ2NTEgOS4wMjEgNC4wNzg1NiA4Ljk5NDY3IDQuMDE1MThDOC45NjgzNCAzLjk1MTggOC45Mjk3NCAzLjg5NDI1IDguODgxMTEgMy44NDU4M1pcIlxuICAgICAgICAgICAgICBmaWxsPVwiIzgzN0Y4RVwiIC8+XG4gICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXNTYXZlSG92ZXJlZFwiIChjbGljayk9XCJzYXZlQ2hhbmdlcygpXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxMiAxM1wiIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGQ9XCJNNS45NSAxMi44MDA0QzkuMjM2MDkgMTIuODAwNCAxMS45IDEwLjEzNjUgMTEuOSA2Ljg1MDM5QzExLjkgMy41NjQzIDkuMjM2MDkgMC45MDAzOTEgNS45NSAwLjkwMDM5MUMyLjY2MzkxIDAuOTAwMzkxIDAgMy41NjQzIDAgNi44NTAzOUMwIDEwLjEzNjUgMi42NjM5MSAxMi44MDA0IDUuOTUgMTIuODAwNFpcIlxuICAgICAgICAgICAgICBmaWxsPVwiIzI1OTU2NlwiIC8+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBkPVwiTTguODgxMTEgNC43NDYyMkM4LjgzMjY5IDQuNjk3NTkgOC43NzUxMyA0LjY1ODk5IDguNzExNzYgNC42MzI2NkM4LjY0ODM4IDQuNjA2MzMgOC41ODA0MyA0LjU5Mjc3IDguNTExOCA0LjU5Mjc3QzguNDQzMTcgNC41OTI3NyA4LjM3NTIxIDQuNjA2MzMgOC4zMTE4NCA0LjYzMjY2QzguMjQ4NDYgNC42NTg5OSA4LjE5MDkxIDQuNjk3NTkgOC4xNDI0OSA0Ljc0NjIyTDQuODI2OSA4LjA2Mzg2TDMuMzUyNTMgNi41ODk0OUMzLjMwNDAzIDYuNTQwOTkgMy4yNDY0NiA2LjUwMjUyIDMuMTgzMDkgNi40NzYyN0MzLjExOTcyIDYuNDUwMDMgMy4wNTE4MSA2LjQzNjUyIDIuOTgzMjIgNi40MzY1MkMyLjkxNDYzIDYuNDM2NTIgMi44NDY3MiA2LjQ1MDAzIDIuNzgzMzUgNi40NzYyN0MyLjcxOTk5IDYuNTAyNTIgMi42NjI0MSA2LjU0MDk5IDIuNjEzOTEgNi41ODk0OUMyLjU2NTQxIDYuNjM3OTkgMi41MjY5NCA2LjY5NTU3IDIuNTAwNjkgNi43NTg5M0MyLjQ3NDQ1IDYuODIyMyAyLjQ2MDk0IDYuODkwMjIgMi40NjA5NCA2Ljk1ODhDMi40NjA5NCA3LjAyNzM5IDIuNDc0NDUgNy4wOTUzMSAyLjUwMDY5IDcuMTU4NjdDMi41MjY5NCA3LjIyMjA0IDIuNTY1NDEgNy4yNzk2MSAyLjYxMzkxIDcuMzI4MTFMNC40NTY3NyA5LjE3MDk3QzQuNTA1MTkgOS4yMTk2MSA0LjU2Mjc0IDkuMjU4MiA0LjYyNjEyIDkuMjg0NTNDNC42ODk1IDkuMzEwODYgNC43NTc0NSA5LjMyNDQyIDQuODI2MDggOS4zMjQ0MkM0Ljg5NDcxIDkuMzI0NDIgNC45NjI2NiA5LjMxMDg2IDUuMDI2MDQgOS4yODQ1M0M1LjA4OTQyIDkuMjU4MiA1LjE0Njk3IDkuMjE5NjEgNS4xOTUzOSA5LjE3MDk3TDguODgxMTEgNS40ODQ4NEM4LjkyOTc0IDUuNDM2NDIgOC45NjgzNCA1LjM3ODg3IDguOTk0NjcgNS4zMTU0OUM5LjAyMSA1LjI1MjEyIDkuMDM0NTYgNS4xODQxNiA5LjAzNDU2IDUuMTE1NTNDOS4wMzQ1NiA1LjA0NjkgOS4wMjEgNC45Nzg5NSA4Ljk5NDY3IDQuOTE1NTdDOC45NjgzNCA0Ljg1MjIgOC45Mjk3NCA0Ljc5NDY1IDguODgxMTEgNC43NDYyMlpcIlxuICAgICAgICAgICAgICBmaWxsPVwid2hpdGVcIiAvPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInZpZXdFZGl0ICYmIG9yaWdpbmFsVmFsdWUgIT09IHZhbHVlXCIgKG1vdXNlZW50ZXIpPVwiaXNEaXNjYXJkSG92ZXJlZCA9IHRydWVcIiAobW91c2VsZWF2ZSk9XCJpc0Rpc2NhcmRIb3ZlcmVkID0gZmFsc2VcIj5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiIWlzRGlzY2FyZEhvdmVyZWRcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgZD1cIk03LjA1NTU1IDQuMDA4ODNMNS45NCA1LjEyNDM4TDQuODI0NDUgNC4wMDg4M0M0LjU3ODYxIDMuNzYyOTkgNC4xODE5MSAzLjc2Mjk5IDMuOTM2MDcgNC4wMDg4M0MzLjY5MDIzIDQuMjU0NjcgMy42OTAyMyA0LjY1MTM3IDMuOTM2MDcgNC44OTcyMUw1LjA1MTYyIDYuMDEyNzZMMy45MzYwNyA3LjEyODMxQzMuNjkwMjMgNy4zNzQxNSAzLjY5MDIzIDcuNzcwODUgMy45MzYwNyA4LjAxNjY5QzQuMTgxOTEgOC4yNjI1MyA0LjU3ODYxIDguMjYyNTMgNC44MjQ0NSA4LjAxNjY5TDUuOTQgNi45MDExNEw3LjA1NTU1IDguMDE2NjlDNy4zMDEzOSA4LjI2MjUzIDcuNjk4MDkgOC4yNjI1MyA3Ljk0MzkzIDguMDE2NjlDOC4xODk3NyA3Ljc3MDg1IDguMTg5NzcgNy4zNzQxNSA3Ljk0MzkzIDcuMTI4MzFMNi44MjgzOCA2LjAxMjc2TDcuOTQzOTMgNC44OTcyMUM4LjE4OTc3IDQuNjUxMzcgOC4xODk3NyA0LjI1NDY3IDcuOTQzOTMgNC4wMDg4M0M3LjY5ODA5IDMuNzcyODUgNy4zMDAyMSAzLjc3Mjg1IDcuMDU1NTUgNC4wMDg4M1pNNS45NCAwLjA4MjAzMTJDMi43MDAxNyAwLjA4MjAzMTIgMC4wODA4NTk0IDIuNzAxMzQgMC4wODA4NTk0IDUuOTQxMThDMC4wODA4NTk0IDkuMTgxMDEgMi43MDAxNyAxMS44MDAzIDUuOTQgMTEuODAwM0M5LjE3OTgzIDExLjgwMDMgMTEuNzk5MSA5LjE4MTAxIDExLjc5OTEgNS45NDExOEMxMS43OTkxIDIuNzAxMzQgOS4xNzk4MyAwLjA4MjAzMTIgNS45NCAwLjA4MjAzMTJaTTUuOTQgMTAuNjM2N0MzLjM1NDI2IDEwLjYzNjcgMS4yNDQyMiA4LjUyNjY3IDEuMjQ0MjIgNS45NDExOEMxLjI0NDIyIDMuMzU1NTMgMy4zNTQyNiAxLjI0NTQ5IDUuOTQgMS4yNDU0OUM4LjUyNTU4IDEuMjQ1NDkgMTAuNjM1NiAzLjM1NTUzIDEwLjYzNTYgNS45NDExOEMxMC42MzU2IDguNTI2NjcgOC41MjU1OCAxMC42MzY3IDUuOTQgMTAuNjM2N1pcIlxuICAgICAgICAgICAgICBmaWxsPVwiI0IwQURBQlwiIC8+XG4gICAgICAgICAgPC9zdmc+XG5cbiAgICAgICAgICA8c3ZnICpuZ0lmPVwiaXNEaXNjYXJkSG92ZXJlZFwiIChjbGljayk9XCJkaXNjYXJkQ2hhbmdlcygpXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxMiAxM1wiXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGQ9XCJNNy4wNTU1NSA0Ljk3NDcxTDUuOTQgNi4wOTAyNkw0LjgyNDQ1IDQuOTc0NzFDNC41Nzg2MSA0LjcyODg3IDQuMTgxOTEgNC43Mjg4NyAzLjkzNjA3IDQuOTc0NzFDMy42OTAyMyA1LjIyMDU1IDMuNjkwMjMgNS42MTcyNSAzLjkzNjA3IDUuODYzMDlMNS4wNTE2MiA2Ljk3ODY0TDMuOTM2MDcgOC4wOTQxOUMzLjY5MDIzIDguMzQwMDMgMy42OTAyMyA4LjczNjczIDMuOTM2MDcgOC45ODI1N0M0LjE4MTkxIDkuMjI4NDEgNC41Nzg2MSA5LjIyODQxIDQuODI0NDUgOC45ODI1N0w1Ljk0IDcuODY3MDJMNy4wNTU1NSA4Ljk4MjU3QzcuMzAxMzkgOS4yMjg0MSA3LjY5ODA5IDkuMjI4NDEgNy45NDM5MyA4Ljk4MjU3QzguMTg5NzcgOC43MzY3MyA4LjE4OTc3IDguMzQwMDMgNy45NDM5MyA4LjA5NDE5TDYuODI4MzggNi45Nzg2NEw3Ljk0MzkzIDUuODYzMDlDOC4xODk3NyA1LjYxNzI1IDguMTg5NzcgNS4yMjA1NSA3Ljk0MzkzIDQuOTc0NzFDNy42OTgwOSA0LjczODczIDcuMzAwMjEgNC43Mzg3MyA3LjA1NTU1IDQuOTc0NzFaTTUuOTQgMS4wNjA2MkMyLjcwMDE3IDEuMDYwNjIgMC4wODA4NTk0IDMuNjc5OTMgMC4wODA4NTk0IDYuOTE5NzdDMC4wODA4NTk0IDEwLjE1OTYgMi43MDAxNyAxMi43Nzg5IDUuOTQgMTIuNzc4OUM5LjE3OTgzIDEyLjc3ODkgMTEuNzk5MSAxMC4xNTk2IDExLjc5OTEgNi45MTk3N0MxMS43OTkxIDMuNjc5OTMgOS4xNzk4MyAxLjA2MDYyIDUuOTQgMS4wNjA2MlpNNS45NCAxMS42MTUzQzMuMzU0MjYgMTEuNjE1MyAxLjI0NDIyIDkuNTA1MjUgMS4yNDQyMiA2LjkxOTc3QzEuMjQ0MjIgNC4zMzQxMiAzLjM1NDI2IDIuMjI0MDggNS45NCAyLjIyNDA4QzguNTI1NTggMi4yMjQwOCAxMC42MzU2IDQuMzM0MTIgMTAuNjM1NiA2LjkxOTc3QzEwLjYzNTYgOS41MDUyNSA4LjUyNTU4IDExLjYxNTMgNS45NCAxMS42MTUzWlwiXG4gICAgICAgICAgICAgIGZpbGw9XCIjRkYzNjM2XCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICBAaWYobW9kZSAhPT0gJ2VkaXQnKSB7XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGNvbnRlbnQtc3BhY2UtYmV0d2VlblwiPlxuICAgIDxkaXY+e3tzZWxlY3RlZFZhbHVlIHx8ICctJ319PC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxzdmcgKm5nSWY9XCIhcXVlc3Rpb24uaXNSZWFkT25seSAmJiAhdmlld0VkaXQgXCIgY2xhc3M9XCJlZGl0LWljb25cIiAoY2xpY2spPVwidmlld0VkaXRDbGljayhxdWVzdGlvbilcIiB3aWR0aD1cIjEzXCJcbiAgICAgICAgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDEzIDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBkPVwiTTEuOTk5ODcgOS4wMDE3TDQuMzk2MDIgMTEuMzk3OUM0LjUwMzcxIDExLjUwNTUgNC42NjUyNSAxMS41MDU1IDQuNzcyOTQgMTEuMzk3OUwxMC43NDk5IDUuMzk0MDFDMTAuODU3NiA1LjI4NjMxIDEwLjg1NzYgNS4xMjQ3NyAxMC43NDk5IDUuMDE3MDhMOC4zODA2NCAyLjY0Nzg1QzguMjcyOTQgMi41NDAxNiA4LjExMTQxIDIuNTQwMTYgOC4wMDM3MSAyLjY0Nzg1TDEuOTk5ODcgOC42NTE3QzEuODkyMTcgOC43NTkzOSAxLjg5MjE3IDguOTIwOTMgMS45OTk4NyA5LjAwMTdaTTkuMTYxNCAxLjU0NDAxQzkuMDUzNzEgMS42NTE3IDkuMDUzNzEgMS44MTMyNCA5LjE2MTQgMS45MjA5M0wxMS41MzA2IDQuMjkwMTZDMTEuNjM4MyA0LjM5Nzg1IDExLjc5OTkgNC4zOTc4NSAxMS45MDc2IDQuMjkwMTZMMTIuNTgwNiAzLjYxNzA4QzEzLjAxMTQgMy4yMTMyNCAxMy4wMTE0IDIuNTY3MDggMTIuNTgwNiAyLjEzNjMxTDExLjMxNTMgMC44NzA5MjhDMTAuODg0NSAwLjQ0MDE1OSAxMC4yMTE0IDAuNDQwMTU5IDkuNzgwNjMgMC44NzA5MjhMOS4xNjE0IDEuNTQ0MDFaTTAuMDA3NTU4NjIgMTIuOTg2M0MtMC4wNDYyODc1IDEzLjI1NTUgMC4xOTYwMiAxMy40OTc5IDAuNDY1MjUxIDEzLjQ0NEwzLjM5OTg3IDEyLjc0NEMzLjUwNzU2IDEyLjcxNzEgMy41ODgzMyAxMi42NjMyIDMuNjQyMTcgMTIuNjA5NEwzLjY5NjAyIDEyLjU1NTVDMy43NDk4NyAxMi41MDE3IDMuNzc2NzkgMTIuMzEzMiAzLjY2OTEgMTIuMjA1NUwxLjI0NjAyIDkuNzgyNDdDMS4xMzgzMyA5LjY3NDc4IDAuOTQ5ODY2IDkuNzAxNyAwLjg5NjAyIDkuNzU1NTRMMC44NDIxNzQgOS44MDkzOUMwLjc2MTQwNSA5Ljg5MDE2IDAuNzM0NDgyIDkuOTcwOTMgMC43MDc1NTkgMTAuMDUxN0wwLjAwNzU1ODYyIDEyLjk4NjNaXCJcbiAgICAgICAgICBmaWxsPVwiI0IwQURBQlwiIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIH1cbiAgPHNwYW4gKm5nSWY9XCJlcnJvciB8fCBpbnZhbGlkRmllbGRJZHMuaW5jbHVkZXMoaWQpXCIgY2xhc3M9XCJlcnJvci1tc2dcIj5cbiAgICB7eyBlcnJvck1lc3NhZ2UgPz8gJ0ludmFsaWQgc2VsZWN0aW9uJyB9fVxuICA8L3NwYW4+XG48L2Rpdj4iXX0=