@net7/components 4.0.1 → 4.2.0

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 (62) hide show
  1. package/esm2020/lib/components/advanced-autocomplete/advanced-autocomplete.mjs +4 -4
  2. package/esm2020/lib/components/alert/alert.mjs +4 -4
  3. package/esm2020/lib/components/anchor-wrapper/anchor-wrapper.mjs +4 -4
  4. package/esm2020/lib/components/avatar/avatar.mjs +4 -4
  5. package/esm2020/lib/components/breadcrumbs/breadcrumbs.mjs +4 -4
  6. package/esm2020/lib/components/bubble-chart/bubble-chart.mjs +4 -4
  7. package/esm2020/lib/components/button/button.mjs +4 -4
  8. package/esm2020/lib/components/carousel/carousel.mjs +4 -4
  9. package/esm2020/lib/components/chart/chart.mjs +4 -4
  10. package/esm2020/lib/components/content-placeholder/content-placeholder.mjs +4 -4
  11. package/esm2020/lib/components/data-widget/data-widget.mjs +4 -4
  12. package/esm2020/lib/components/datepicker/datepicker.mjs +4 -4
  13. package/esm2020/lib/components/facet/facet.mjs +4 -4
  14. package/esm2020/lib/components/facet-header/facet-header.mjs +4 -4
  15. package/esm2020/lib/components/facet-year-range/facet-year-range.mjs +4 -4
  16. package/esm2020/lib/components/file-selector/file-selector.mjs +39 -0
  17. package/esm2020/lib/components/file-selector/file-selector.mock.mjs +5 -0
  18. package/esm2020/lib/components/footer/footer.mjs +4 -4
  19. package/esm2020/lib/components/header/header.mjs +4 -4
  20. package/esm2020/lib/components/hero/hero.mjs +4 -4
  21. package/esm2020/lib/components/histogram-range/histogram-range.mjs +4 -4
  22. package/esm2020/lib/components/icon/icon.mjs +4 -4
  23. package/esm2020/lib/components/image-viewer/image-viewer.mjs +4 -4
  24. package/esm2020/lib/components/image-viewer-tools/image-viewer-tools.mjs +4 -4
  25. package/esm2020/lib/components/inner-title/inner-title.mjs +4 -4
  26. package/esm2020/lib/components/input-checkbox/input-checkbox.mjs +4 -4
  27. package/esm2020/lib/components/input-link/input-link.mjs +4 -4
  28. package/esm2020/lib/components/input-select/input-select.mjs +4 -4
  29. package/esm2020/lib/components/input-text/input-text.mjs +15 -5
  30. package/esm2020/lib/components/input-textarea/input-textarea.mjs +4 -4
  31. package/esm2020/lib/components/item-preview/item-preview.mjs +4 -4
  32. package/esm2020/lib/components/loader/loader.mjs +4 -4
  33. package/esm2020/lib/components/map/map.mjs +4 -4
  34. package/esm2020/lib/components/metadata-viewer/metadata-viewer.mjs +4 -4
  35. package/esm2020/lib/components/nav/nav.mjs +4 -4
  36. package/esm2020/lib/components/pagination/pagination.mjs +4 -4
  37. package/esm2020/lib/components/progress-line/progress-line.mjs +4 -4
  38. package/esm2020/lib/components/sidebar-header/sidebar-header.mjs +4 -4
  39. package/esm2020/lib/components/signup/signup.mjs +4 -4
  40. package/esm2020/lib/components/simple-autocomplete/simple-autocomplete.mjs +4 -4
  41. package/esm2020/lib/components/table/table.mjs +4 -4
  42. package/esm2020/lib/components/tag/tag.mjs +4 -4
  43. package/esm2020/lib/components/text-viewer/text-viewer.mjs +5 -5
  44. package/esm2020/lib/components/timeline/timeline.mjs +4 -4
  45. package/esm2020/lib/components/toast/toast.mjs +4 -4
  46. package/esm2020/lib/components/tooltip-content/tooltip-content.mjs +4 -4
  47. package/esm2020/lib/components/tree/tree.mjs +4 -4
  48. package/esm2020/lib/components/wizard/wizard.mjs +4 -4
  49. package/esm2020/lib/dv-components-lib.module.mjs +9 -5
  50. package/esm2020/public-api.mjs +3 -1
  51. package/fesm2015/net7-components.mjs +197 -145
  52. package/fesm2015/net7-components.mjs.map +1 -1
  53. package/fesm2020/net7-components.mjs +197 -145
  54. package/fesm2020/net7-components.mjs.map +1 -1
  55. package/lib/components/file-selector/file-selector.d.ts +29 -0
  56. package/lib/components/file-selector/file-selector.mock.d.ts +2 -0
  57. package/lib/components/input-text/input-text.d.ts +2 -0
  58. package/lib/components/text-viewer/text-viewer.d.ts +1 -0
  59. package/lib/dv-components-lib.module.d.ts +35 -34
  60. package/package.json +1 -1
  61. package/public-api.d.ts +2 -0
  62. package/src/lib/styles/components/_file-selector.scss +29 -0
@@ -0,0 +1,39 @@
1
+ //---------------------------
2
+ // FILE-SELECTOR.ts
3
+ //---------------------------
4
+ import { Component, Input } from '@angular/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ export class FileSelectorComponent {
8
+ onFileSelected(eventTarget) {
9
+ if (!this.emit)
10
+ return;
11
+ const input = eventTarget;
12
+ const iterableFiles = Array.from(input.files);
13
+ Promise
14
+ .all(iterableFiles.map((file) => this.toBase64(file)))
15
+ .then((base64list) => {
16
+ this.emit('change', { target: eventTarget, files: input.files, base64: base64list });
17
+ });
18
+ }
19
+ /** Obtain base64 string for upload and storage */
20
+ toBase64(file) {
21
+ return new Promise((resolve, reject) => {
22
+ const reader = new FileReader();
23
+ reader.onerror = (err) => reject(err);
24
+ reader.onload = () => resolve(reader.result);
25
+ reader.readAsDataURL(file);
26
+ });
27
+ }
28
+ }
29
+ FileSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ FileSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FileSelectorComponent, selector: "n7-file-selector", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<ng-container *ngIf=\"data\">\n <!-- HIDDEN NATIVE INPUT ELEMENT -->\n <input type=\"file\"\n class=\"file-input\"\n [accept]=\"data.accept\"\n [multiple]=\"data.multiple\"\n (change)=\"onFileSelected($event.target)\"\n [ngStyle]=\"{'display': 'none'}\"\n #fileUpload>\n \n <!-- CAPTURES THE CLICKS ON THE INNER CONTENT -->\n <div class=\"n7-file-selector\"\n (click)=\"fileUpload.click()\">\n <ng-content>\n <!-- UI ELEMENTS FOR IMAGE UPLOAD -->\n </ng-content>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileSelectorComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'n7-file-selector', template: "<ng-container *ngIf=\"data\">\n <!-- HIDDEN NATIVE INPUT ELEMENT -->\n <input type=\"file\"\n class=\"file-input\"\n [accept]=\"data.accept\"\n [multiple]=\"data.multiple\"\n (change)=\"onFileSelected($event.target)\"\n [ngStyle]=\"{'display': 'none'}\"\n #fileUpload>\n \n <!-- CAPTURES THE CLICKS ON THE INNER CONTENT -->\n <div class=\"n7-file-selector\"\n (click)=\"fileUpload.click()\">\n <ng-content>\n <!-- UI ELEMENTS FOR IMAGE UPLOAD -->\n </ng-content>\n </div>\n</ng-container>\n" }]
34
+ }], propDecorators: { data: [{
35
+ type: Input
36
+ }], emit: [{
37
+ type: Input
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R2LWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXNlbGVjdG9yL2ZpbGUtc2VsZWN0b3IudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1zZWxlY3Rvci9maWxlLXNlbGVjdG9yLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkJBQTZCO0FBQzdCLG1CQUFtQjtBQUNuQiw2QkFBNkI7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQTJCakQsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxjQUFjLENBQUMsV0FBVztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLE1BQU0sS0FBSyxHQUFxQixXQUFXLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsT0FBTzthQUNKLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDckQsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxRQUFRLENBQUMsSUFBVTtRQUNqQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3QyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBeEJVLHFCQUFxQjtzR0FBckIscUJBQXFCLGdHQy9CbEMsMmxCQWtCQTsyRkRhYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usa0JBQWtCOzhCQUluQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZJTEUtU0VMRUNUT1IudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEZpbGVTZWxlY3RvckNvbXBvbmVudCdzIFwiZGF0YVwiXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVNlbGVjdG9yRGF0YSB7XG4gIC8qKlxuICAgKiBBY2NlcHRlZCBmaWxlIHR5cGVzXG4gICAqIEBleGFtcGxlICcuanBnLC5wbmcnICdpbWFnZS8qJ1xuICAgKi9cbiAgYWNjZXB0Pzogc3RyaW5nO1xuICAvKiogQWxsb3cgc2VsZWN0aW9uIG9mIG11bHRpcGxlIGZpbGVzICovXG4gIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgLyoqIEFkZGl0aW9uYWwgY2xhc3NlcyBmb3IgdGhlIHdyYXBwaW5nIGVsZW1lbnQgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlU2VsZWN0b3JQYXlsb2FkIHtcbiAgdGFyZ2V0OiBIVE1MSW5wdXRFbGVtZW50LFxuICBmaWxlczogRmlsZUxpc3QsXG4gIGJhc2U2NDogQXJyYXk8c3RyaW5nIHwgQXJyYXlCdWZmZXI+XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ243LWZpbGUtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1zZWxlY3Rvci5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWxlU2VsZWN0b3JDb21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBGaWxlU2VsZWN0b3JEYXRhO1xuXG4gIEBJbnB1dCgpIGVtaXQ6ICh0eXBlOiBzdHJpbmcsIHBheWxvYWQ6IEZpbGVTZWxlY3RvclBheWxvYWQpID0+IHZvaWQ7XG5cbiAgb25GaWxlU2VsZWN0ZWQoZXZlbnRUYXJnZXQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuICAgIGNvbnN0IGlucHV0OiBIVE1MSW5wdXRFbGVtZW50ID0gZXZlbnRUYXJnZXQ7XG4gICAgY29uc3QgaXRlcmFibGVGaWxlcyA9IEFycmF5LmZyb20oaW5wdXQuZmlsZXMpO1xuICAgIFByb21pc2VcbiAgICAgIC5hbGwoaXRlcmFibGVGaWxlcy5tYXAoKGZpbGUpID0+IHRoaXMudG9CYXNlNjQoZmlsZSkpKVxuICAgICAgLnRoZW4oKGJhc2U2NGxpc3QpID0+IHtcbiAgICAgICAgdGhpcy5lbWl0KCdjaGFuZ2UnLCB7IHRhcmdldDogZXZlbnRUYXJnZXQsIGZpbGVzOiBpbnB1dC5maWxlcywgYmFzZTY0OiBiYXNlNjRsaXN0IH0pO1xuICAgICAgfSk7XG4gIH1cblxuICAvKiogT2J0YWluIGJhc2U2NCBzdHJpbmcgZm9yIHVwbG9hZCBhbmQgc3RvcmFnZSAqL1xuICB0b0Jhc2U2NChmaWxlOiBGaWxlKTogUHJvbWlzZTxGaWxlUmVhZGVyWydyZXN1bHQnXT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoZXJyKSA9PiByZWplY3QoZXJyKTtcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlci5yZXN1bHQpO1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhXCI+XG4gICAgPCEtLSBISURERU4gTkFUSVZFIElOUFVUIEVMRU1FTlQgLS0+XG4gICAgPGlucHV0IHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgY2xhc3M9XCJmaWxlLWlucHV0XCJcbiAgICAgICAgICAgW2FjY2VwdF09XCJkYXRhLmFjY2VwdFwiXG4gICAgICAgICAgIFttdWx0aXBsZV09XCJkYXRhLm11bHRpcGxlXCJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQudGFyZ2V0KVwiXG4gICAgICAgICAgIFtuZ1N0eWxlXT1cInsnZGlzcGxheSc6ICdub25lJ31cIlxuICAgICAgICAgICAjZmlsZVVwbG9hZD5cbiAgICBcbiAgICA8IS0tIENBUFRVUkVTIFRIRSBDTElDS1MgT04gVEhFIElOTkVSIENPTlRFTlQgLS0+XG4gICAgPGRpdiBjbGFzcz1cIm43LWZpbGUtc2VsZWN0b3JcIlxuICAgICAgICAgKGNsaWNrKT1cImZpbGVVcGxvYWQuY2xpY2soKVwiPlxuICAgICAgICA8bmctY29udGVudD5cbiAgICAgICAgICAgIDwhLS0gVUkgRUxFTUVOVFMgRk9SIElNQUdFIFVQTE9BRCAtLT5cbiAgICAgICAgPC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export const FILE_SELECTOR_MOCK = {
2
+ accept: 'image/*',
3
+ classes: 'file-selector-wrapper'
4
+ };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zZWxlY3Rvci5tb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtc2VsZWN0b3IvZmlsZS1zZWxlY3Rvci5tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFxQjtJQUNsRCxNQUFNLEVBQUUsU0FBUztJQUNqQixPQUFPLEVBQUUsdUJBQXVCO0NBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWxlU2VsZWN0b3JEYXRhIH0gZnJvbSAnLi9maWxlLXNlbGVjdG9yJztcblxuZXhwb3J0IGNvbnN0IEZJTEVfU0VMRUNUT1JfTU9DSzogRmlsZVNlbGVjdG9yRGF0YSA9IHtcbiAgYWNjZXB0OiAnaW1hZ2UvKicsXG4gIGNsYXNzZXM6ICdmaWxlLXNlbGVjdG9yLXdyYXBwZXInXG59O1xuIl19
@@ -13,9 +13,9 @@ export class FooterComponent {
13
13
  this.emit('click', payload);
14
14
  }
15
15
  }
16
- FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FooterComponent, selector: "n7-footer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\"\n class=\"n7-footer {{data.classes || ''}}\">\n <div class=\"n7-footer__content\">\n <!-- Loop footer content columns -->\n <div class=\"n7-footer__column {{column.classes || ''}}\"\n *ngFor=\"let column of data.columns\">\n <ng-container *ngTemplateOutlet=\"footerColumn; context:{$implicit: column}\"></ng-container>\n </div>\n </div>\n</div>\n\n<!-- Template: Columns -->\n<ng-template #footerColumn let-column>\n <!-- Custom order for content (sections) -->\n <ng-container *ngFor=\"let section of column.sections\">\n <ng-container [ngSwitch]=\"section.type\">\n <ng-container *ngSwitchCase=\"'text'\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'title'\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'links'\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'selects'\">\n <ng-container *ngTemplateOutlet=\"selects; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'images'\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Legacy configuration without sections -->\n <ng-container *ngIf=\"column.title\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.text\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.links\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.images\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Content Sections -->\n<!-- TITLE -->\n<ng-template #title let-section>\n <h2 *ngIf=\"section.title\"\n class=\"n7-footer__column-title\">\n {{ section.title }}\n </h2>\n</ng-template>\n<!-- TEXT -->\n<ng-template #text let-section>\n <p *ngIf=\"section.text\"\n class=\"n7-footer__column-text\"\n [innerHTML]=\"section.text\"></p>\n</ng-template>\n<!-- IMAGES -->\n<ng-template #images let-section>\n <div *ngIf=\"section.images\"\n class=\"n7-footer__column-images\">\n <n7-anchor-wrapper *ngFor=\"let image of section.images\"\n [classes]=\"image.classes || ''\"\n [data]=\"image.anchor\"\n (clicked)=\"onClick($event)\">\n <img [src]=\"image.url\"\n [attr.alt]=\"image.alttext\" />\n </n7-anchor-wrapper>\n </div>\n</ng-template>\n<!-- SELECTS -->\n<ng-template #selects let-section>\n <div *ngIf=\"section.selects\"\n class=\"n7-footer__column-selects\">\n <n7-input-select *ngFor=\"let selectData of section.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\">\n </n7-input-select>\n </div>\n</ng-template>\n<!-- LINKS -->\n<ng-template #links let-section>\n <div *ngIf=\"section.links\"\n class=\"n7-footer__column-nav\">\n <ul class=\"n7-footer__column-nav-list\">\n <li *ngFor=\"let link of section.links\"\n class=\"n7-footer__column-nav-item {{link.classes || ''}}\">\n <n7-anchor-wrapper [classes]=\"'n7-footer__column-nav-link'\"\n [data]=\"link.anchor\"\n (clicked)=\"onClick($event)\">\n {{ link.text }}\n </n7-anchor-wrapper>\n </li>\n </ul>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i3.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }] });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FooterComponent, decorators: [{
16
+ FooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
+ FooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FooterComponent, selector: "n7-footer", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<div *ngIf=\"data\"\n class=\"n7-footer {{data.classes || ''}}\">\n <div class=\"n7-footer__content\">\n <!-- Loop footer content columns -->\n <div class=\"n7-footer__column {{column.classes || ''}}\"\n *ngFor=\"let column of data.columns\">\n <ng-container *ngTemplateOutlet=\"footerColumn; context:{$implicit: column}\"></ng-container>\n </div>\n </div>\n</div>\n\n<!-- Template: Columns -->\n<ng-template #footerColumn let-column>\n <!-- Custom order for content (sections) -->\n <ng-container *ngFor=\"let section of column.sections\">\n <ng-container [ngSwitch]=\"section.type\">\n <ng-container *ngSwitchCase=\"'text'\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'title'\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'links'\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'selects'\">\n <ng-container *ngTemplateOutlet=\"selects; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'images'\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Legacy configuration without sections -->\n <ng-container *ngIf=\"column.title\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.text\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.links\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.images\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Content Sections -->\n<!-- TITLE -->\n<ng-template #title let-section>\n <h2 *ngIf=\"section.title\"\n class=\"n7-footer__column-title\">\n {{ section.title }}\n </h2>\n</ng-template>\n<!-- TEXT -->\n<ng-template #text let-section>\n <p *ngIf=\"section.text\"\n class=\"n7-footer__column-text\"\n [innerHTML]=\"section.text\"></p>\n</ng-template>\n<!-- IMAGES -->\n<ng-template #images let-section>\n <div *ngIf=\"section.images\"\n class=\"n7-footer__column-images\">\n <n7-anchor-wrapper *ngFor=\"let image of section.images\"\n [classes]=\"image.classes || ''\"\n [data]=\"image.anchor\"\n (clicked)=\"onClick($event)\">\n <img [src]=\"image.url\"\n [attr.alt]=\"image.alttext\" />\n </n7-anchor-wrapper>\n </div>\n</ng-template>\n<!-- SELECTS -->\n<ng-template #selects let-section>\n <div *ngIf=\"section.selects\"\n class=\"n7-footer__column-selects\">\n <n7-input-select *ngFor=\"let selectData of section.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\">\n </n7-input-select>\n </div>\n</ng-template>\n<!-- LINKS -->\n<ng-template #links let-section>\n <div *ngIf=\"section.links\"\n class=\"n7-footer__column-nav\">\n <ul class=\"n7-footer__column-nav-list\">\n <li *ngFor=\"let link of section.links\"\n class=\"n7-footer__column-nav-item {{link.classes || ''}}\">\n <n7-anchor-wrapper [classes]=\"'n7-footer__column-nav-link'\"\n [data]=\"link.anchor\"\n (clicked)=\"onClick($event)\">\n {{ link.text }}\n </n7-anchor-wrapper>\n </li>\n </ul>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i3.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FooterComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'n7-footer', template: "<div *ngIf=\"data\"\n class=\"n7-footer {{data.classes || ''}}\">\n <div class=\"n7-footer__content\">\n <!-- Loop footer content columns -->\n <div class=\"n7-footer__column {{column.classes || ''}}\"\n *ngFor=\"let column of data.columns\">\n <ng-container *ngTemplateOutlet=\"footerColumn; context:{$implicit: column}\"></ng-container>\n </div>\n </div>\n</div>\n\n<!-- Template: Columns -->\n<ng-template #footerColumn let-column>\n <!-- Custom order for content (sections) -->\n <ng-container *ngFor=\"let section of column.sections\">\n <ng-container [ngSwitch]=\"section.type\">\n <ng-container *ngSwitchCase=\"'text'\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'title'\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'links'\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'selects'\">\n <ng-container *ngTemplateOutlet=\"selects; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'images'\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: section}\">\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchDefault>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <!-- Legacy configuration without sections -->\n <ng-container *ngIf=\"column.title\">\n <ng-container *ngTemplateOutlet=\"title; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.text\">\n <ng-container *ngTemplateOutlet=\"text; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.links\">\n <ng-container *ngTemplateOutlet=\"links; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"column.images\">\n <ng-container *ngTemplateOutlet=\"images; context:{$implicit: column}\">\n </ng-container>\n </ng-container>\n</ng-template>\n\n<!-- Content Sections -->\n<!-- TITLE -->\n<ng-template #title let-section>\n <h2 *ngIf=\"section.title\"\n class=\"n7-footer__column-title\">\n {{ section.title }}\n </h2>\n</ng-template>\n<!-- TEXT -->\n<ng-template #text let-section>\n <p *ngIf=\"section.text\"\n class=\"n7-footer__column-text\"\n [innerHTML]=\"section.text\"></p>\n</ng-template>\n<!-- IMAGES -->\n<ng-template #images let-section>\n <div *ngIf=\"section.images\"\n class=\"n7-footer__column-images\">\n <n7-anchor-wrapper *ngFor=\"let image of section.images\"\n [classes]=\"image.classes || ''\"\n [data]=\"image.anchor\"\n (clicked)=\"onClick($event)\">\n <img [src]=\"image.url\"\n [attr.alt]=\"image.alttext\" />\n </n7-anchor-wrapper>\n </div>\n</ng-template>\n<!-- SELECTS -->\n<ng-template #selects let-section>\n <div *ngIf=\"section.selects\"\n class=\"n7-footer__column-selects\">\n <n7-input-select *ngFor=\"let selectData of section.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\">\n </n7-input-select>\n </div>\n</ng-template>\n<!-- LINKS -->\n<ng-template #links let-section>\n <div *ngIf=\"section.links\"\n class=\"n7-footer__column-nav\">\n <ul class=\"n7-footer__column-nav-list\">\n <li *ngFor=\"let link of section.links\"\n class=\"n7-footer__column-nav-item {{link.classes || ''}}\">\n <n7-anchor-wrapper [classes]=\"'n7-footer__column-nav-link'\"\n [data]=\"link.anchor\"\n (clicked)=\"onClick($event)\">\n {{ link.text }}\n </n7-anchor-wrapper>\n </li>\n </ul>\n </div>\n</ng-template>\n" }]
21
21
  }], propDecorators: { data: [{
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
23
23
  }], emit: [{
24
24
  type: Input
25
25
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3QixZQUFZO0FBQ1osNkJBQTZCO0FBRTdCLE9BQU8sRUFDTCxTQUFTLEVBQUUsS0FBSyxFQUNqQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFnS3ZCLE1BQU0sT0FBTyxlQUFlO0lBSzFCLE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDOzs2R0FSVSxlQUFlO2lHQUFmLGVBQWUseUZDdEs1QixpNElBaUhBOzRGRHFEYSxlQUFlO2tCQUozQixTQUFTOytCQUNFLFdBQVc7OEJBSVosSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT09URVIudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCwgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dFNlbGVjdERhdGEgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3QvaW5wdXQtc2VsZWN0JztcbmltcG9ydCB7IEFuY2hvciB9IGZyb20gJy4uLy4uL3NoYXJlZC1pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVhY2ggbGluayBpbiBmb290ZXIgbWVudXNcbiAqXG4gKiBAcHJvcGVydHkgdGV4dCAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgYW5jaG9yIChtYW5kYXRvcnkpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyTGluayB7XG4gIC8qKlxuICAgKiBpbWFnZSB1cmxcbiAgICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mbyB1c2VmdWwgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEZvb3RlclRpdGxlID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgRm9vdGVyVGV4dCA9IHN0cmluZztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVhY2ggaW1hZ2UgaW4gdGhlIGZvb3RlciAodXN1YWxseSBsb2dvcylcbiAqXG4gKiBAcHJvcGVydHkgdXJsIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBhbHR0ZXh0IChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBhbmNob3IgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBfbWV0YSAob3B0aW9uYWwpXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlckltYWdlIHtcbiAgLyoqXG4gICAqIGltYWdlIHVybFxuICAgKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBpbWFnZSBhbHQgdGV4dFxuICAgKi9cbiAgYWx0dGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mbyB1c2VmdWwgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyVGl0bGVJdGVtIHtcbiAgdHlwZTogJ3RpdGxlJztcbiAgdGl0bGU6IEZvb3RlclRpdGxlO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJJbWFnZXNJdGVtIHtcbiAgdHlwZTogJ2ltYWdlcyc7XG4gIGltYWdlczogRm9vdGVySW1hZ2VbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyU2VsZWN0c0l0ZW0ge1xuICB0eXBlOiAnc2VsZWN0cyc7XG4gIHNlbGVjdHM6IElucHV0U2VsZWN0RGF0YVtdXG59XG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlclRleHRJdGVtIHtcbiAgdHlwZTogJ3RleHQnO1xuICB0ZXh0OiBGb290ZXJUZXh0O1xufVxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJMaW5rc0l0ZW0ge1xuICB0eXBlOiAnbGlua3MnO1xuICBsaW5rczogRm9vdGVyTGlua1tdO1xufVxuXG5leHBvcnQgdHlwZSBGb290ZXJJdGVtID1cbiAgRm9vdGVyVGl0bGVJdGVtXG4gIHwgRm9vdGVySW1hZ2VzSXRlbVxuICB8IEZvb3RlclNlbGVjdHNJdGVtXG4gIHwgRm9vdGVyVGV4dEl0ZW1cbiAgfCBGb290ZXJMaW5rc0l0ZW1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGEgc2luZ2xlIEZvb3RlciBjb2x1bW4gdGhhdCBjYW4gZGlzcGxheSB0aXRsZSwgaW1hZ2VzLCB0ZXh0IGFuZCBhIG5hdiBsaXN0XG4gKlxuICogQHByb3BlcnR5IHRpdGxlIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBpbWFnZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGxpbmtzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBfbWV0YSAob3B0aW9uYWwpXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlckNvbHVtbiB7XG4gIC8qKlxuICAgKiBjb2x1bW4ncyB0aXRsZVxuICAgKi9cbiAgdGl0bGU/OiBGb290ZXJUaXRsZTtcbiAgLyoqXG4gICAqIGNvbHVtbidzIGltYWdlc1xuICAgKi9cbiAgaW1hZ2VzPzogRm9vdGVySW1hZ2VbXTtcbiAgLyoqXG4gICAqIEhUTUxTZWxlY3Qgd2l0aCBzb21lIG9wdGlvbnNcbiAgICovXG4gIHNlbGVjdHM/OiBJbnB1dFNlbGVjdERhdGFbXTtcbiAgLyoqXG4gICAqIGNvbHVtbidzIHRleHRcbiAgICovXG4gIHRleHQ/OiBGb290ZXJUZXh0O1xuICAvKipcbiAgICogY29sdW1uJ3MgbmF2XG4gICAqL1xuICBsaW5rcz86IEZvb3RlckxpbmtbXTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICAvKipcbiAgICogYWRkaXRpb25hbCBpbmZvIHVzZWZ1bCBmb3IgdGhlIGNvbXBvbmVudCdzIGxvZ2ljXG4gICAqL1xuICBfbWV0YT86IGFueTtcbiAgLyoqXG4gICAqIGN1c3RvbSBvcmRlciBmb3IgZm9vdGVyIGNvbHVtbiBjb250ZW50XG4gICAqL1xuICBzZWN0aW9ucz86IEZvb3Rlckl0ZW1bXTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEZvb3RlckNvbXBvbmVudHMncyBcIkRhdGFcIlxuICpcbiAqIEBwcm9wZXJ0eSBjb2x1bW5zIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyRGF0YSB7XG4gIC8qKlxuICAgKiBlYWNoIGl0ZW0gcmVuZGVycyBhIGNvbHVtbiBvZiB0aGUgZm9vdGVyXG4gICAqL1xuICBjb2x1bW5zOiBGb290ZXJDb2x1bW5bXTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduNy1mb290ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9vdGVyLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvb3RlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGE6IEZvb3RlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiXG4gICAgIGNsYXNzPVwibjctZm9vdGVyIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctZm9vdGVyX19jb250ZW50XCI+XG4gICAgICAgIDwhLS0gTG9vcCBmb290ZXIgY29udGVudCBjb2x1bW5zIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4ge3tjb2x1bW4uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGRhdGEuY29sdW1uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlckNvbHVtbjsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGU6IENvbHVtbnMgLS0+XG48bmctdGVtcGxhdGUgI2Zvb3RlckNvbHVtbiBsZXQtY29sdW1uPlxuICAgIDwhLS0gQ3VzdG9tIG9yZGVyIGZvciBjb250ZW50IChzZWN0aW9ucykgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBjb2x1bW4uc2VjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VjdGlvbi50eXBlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dDsgY29udGV4dDp7JGltcGxpY2l0OiBzZWN0aW9ufVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGl0bGUnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlOyBjb250ZXh0OnskaW1wbGljaXQ6IHNlY3Rpb259XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsaW5rcydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua3M7IGNvbnRleHQ6eyRpbXBsaWNpdDogc2VjdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdHMnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdHM7IGNvbnRleHQ6eyRpbXBsaWNpdDogc2VjdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlcydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW1hZ2VzOyBjb250ZXh0OnskaW1wbGljaXQ6IHNlY3Rpb259XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gTGVnYWN5IGNvbmZpZ3VyYXRpb24gd2l0aG91dCBzZWN0aW9ucyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRpdGxlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZTsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udGV4dFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dDsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4ubGlua3NcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtzOyBjb250ZXh0OnskaW1wbGljaXQ6IGNvbHVtbn1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5pbWFnZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlczsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDb250ZW50IFNlY3Rpb25zIC0tPlxuPCEtLSBUSVRMRSAtLT5cbjxuZy10ZW1wbGF0ZSAjdGl0bGUgbGV0LXNlY3Rpb24+XG4gICAgPGgyICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiXG4gICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tdGl0bGVcIj5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgIDwvaDI+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBURVhUIC0tPlxuPG5nLXRlbXBsYXRlICN0ZXh0IGxldC1zZWN0aW9uPlxuICAgIDxwICpuZ0lmPVwic2VjdGlvbi50ZXh0XCJcbiAgICAgICBjbGFzcz1cIm43LWZvb3Rlcl9fY29sdW1uLXRleHRcIlxuICAgICAgIFtpbm5lckhUTUxdPVwic2VjdGlvbi50ZXh0XCI+PC9wPlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gSU1BR0VTIC0tPlxuPG5nLXRlbXBsYXRlICNpbWFnZXMgbGV0LXNlY3Rpb24+XG4gICAgPGRpdiAqbmdJZj1cInNlY3Rpb24uaW1hZ2VzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4taW1hZ2VzXCI+XG4gICAgICAgIDxuNy1hbmNob3Itd3JhcHBlciAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2Ygc2VjdGlvbi5pbWFnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiaW1hZ2UuY2xhc3NlcyB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpbWFnZS5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2UudXJsXCJcbiAgICAgICAgICAgICAgICAgW2F0dHIuYWx0XT1cImltYWdlLmFsdHRleHRcIiAvPlxuICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gU0VMRUNUUyAtLT5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0cyBsZXQtc2VjdGlvbj5cbiAgICA8ZGl2ICpuZ0lmPVwic2VjdGlvbi5zZWxlY3RzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tc2VsZWN0c1wiPlxuICAgICAgICA8bjctaW5wdXQtc2VsZWN0ICpuZ0Zvcj1cImxldCBzZWxlY3REYXRhIG9mIHNlY3Rpb24uc2VsZWN0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwic2VsZWN0RGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwidGhpcy5lbWl0XCI+XG4gICAgICAgIDwvbjctaW5wdXQtc2VsZWN0PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gTElOS1MgLS0+XG48bmctdGVtcGxhdGUgI2xpbmtzIGxldC1zZWN0aW9uPlxuICAgIDxkaXYgKm5nSWY9XCJzZWN0aW9uLmxpbmtzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tbmF2XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm43LWZvb3Rlcl9fY29sdW1uLW5hdi1saXN0XCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGxpbmsgb2Ygc2VjdGlvbi5saW5rc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1mb290ZXJfX2NvbHVtbi1uYXYtaXRlbSB7e2xpbmsuY2xhc3NlcyB8fCAnJ319XCI+XG4gICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFtjbGFzc2VzXT1cIiduNy1mb290ZXJfX2NvbHVtbi1uYXYtbGluaydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsaW5rLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBsaW5rLnRleHQgfX1cbiAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QjtBQUM3QixZQUFZO0FBQ1osNkJBQTZCO0FBRTdCLE9BQU8sRUFDTCxTQUFTLEVBQUUsS0FBSyxFQUNqQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFnS3ZCLE1BQU0sT0FBTyxlQUFlO0lBSzFCLE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDOzs0R0FSVSxlQUFlO2dHQUFmLGVBQWUseUZDdEs1QixpNElBaUhBOzJGRHFEYSxlQUFlO2tCQUozQixTQUFTOytCQUNFLFdBQVc7OEJBSVosSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT09URVIudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCwgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dFNlbGVjdERhdGEgfSBmcm9tICcuLi9pbnB1dC1zZWxlY3QvaW5wdXQtc2VsZWN0JztcbmltcG9ydCB7IEFuY2hvciB9IGZyb20gJy4uLy4uL3NoYXJlZC1pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVhY2ggbGluayBpbiBmb290ZXIgbWVudXNcbiAqXG4gKiBAcHJvcGVydHkgdGV4dCAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgYW5jaG9yIChtYW5kYXRvcnkpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyTGluayB7XG4gIC8qKlxuICAgKiBpbWFnZSB1cmxcbiAgICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mbyB1c2VmdWwgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEZvb3RlclRpdGxlID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgRm9vdGVyVGV4dCA9IHN0cmluZztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGVhY2ggaW1hZ2UgaW4gdGhlIGZvb3RlciAodXN1YWxseSBsb2dvcylcbiAqXG4gKiBAcHJvcGVydHkgdXJsIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBhbHR0ZXh0IChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBhbmNob3IgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IF9tZXRhIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBfbWV0YSAob3B0aW9uYWwpXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlckltYWdlIHtcbiAgLyoqXG4gICAqIGltYWdlIHVybFxuICAgKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBpbWFnZSBhbHQgdGV4dFxuICAgKi9cbiAgYWx0dGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mbyB1c2VmdWwgZm9yIHRoZSBjb21wb25lbnQncyBsb2dpY1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyVGl0bGVJdGVtIHtcbiAgdHlwZTogJ3RpdGxlJztcbiAgdGl0bGU6IEZvb3RlclRpdGxlO1xufVxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJJbWFnZXNJdGVtIHtcbiAgdHlwZTogJ2ltYWdlcyc7XG4gIGltYWdlczogRm9vdGVySW1hZ2VbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyU2VsZWN0c0l0ZW0ge1xuICB0eXBlOiAnc2VsZWN0cyc7XG4gIHNlbGVjdHM6IElucHV0U2VsZWN0RGF0YVtdXG59XG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlclRleHRJdGVtIHtcbiAgdHlwZTogJ3RleHQnO1xuICB0ZXh0OiBGb290ZXJUZXh0O1xufVxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJMaW5rc0l0ZW0ge1xuICB0eXBlOiAnbGlua3MnO1xuICBsaW5rczogRm9vdGVyTGlua1tdO1xufVxuXG5leHBvcnQgdHlwZSBGb290ZXJJdGVtID1cbiAgRm9vdGVyVGl0bGVJdGVtXG4gIHwgRm9vdGVySW1hZ2VzSXRlbVxuICB8IEZvb3RlclNlbGVjdHNJdGVtXG4gIHwgRm9vdGVyVGV4dEl0ZW1cbiAgfCBGb290ZXJMaW5rc0l0ZW1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGEgc2luZ2xlIEZvb3RlciBjb2x1bW4gdGhhdCBjYW4gZGlzcGxheSB0aXRsZSwgaW1hZ2VzLCB0ZXh0IGFuZCBhIG5hdiBsaXN0XG4gKlxuICogQHByb3BlcnR5IHRpdGxlIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBpbWFnZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGxpbmtzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBfbWV0YSAob3B0aW9uYWwpXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlckNvbHVtbiB7XG4gIC8qKlxuICAgKiBjb2x1bW4ncyB0aXRsZVxuICAgKi9cbiAgdGl0bGU/OiBGb290ZXJUaXRsZTtcbiAgLyoqXG4gICAqIGNvbHVtbidzIGltYWdlc1xuICAgKi9cbiAgaW1hZ2VzPzogRm9vdGVySW1hZ2VbXTtcbiAgLyoqXG4gICAqIEhUTUxTZWxlY3Qgd2l0aCBzb21lIG9wdGlvbnNcbiAgICovXG4gIHNlbGVjdHM/OiBJbnB1dFNlbGVjdERhdGFbXTtcbiAgLyoqXG4gICAqIGNvbHVtbidzIHRleHRcbiAgICovXG4gIHRleHQ/OiBGb290ZXJUZXh0O1xuICAvKipcbiAgICogY29sdW1uJ3MgbmF2XG4gICAqL1xuICBsaW5rcz86IEZvb3RlckxpbmtbXTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xuICAvKipcbiAgICogYWRkaXRpb25hbCBpbmZvIHVzZWZ1bCBmb3IgdGhlIGNvbXBvbmVudCdzIGxvZ2ljXG4gICAqL1xuICBfbWV0YT86IGFueTtcbiAgLyoqXG4gICAqIGN1c3RvbSBvcmRlciBmb3IgZm9vdGVyIGNvbHVtbiBjb250ZW50XG4gICAqL1xuICBzZWN0aW9ucz86IEZvb3Rlckl0ZW1bXTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEZvb3RlckNvbXBvbmVudHMncyBcIkRhdGFcIlxuICpcbiAqIEBwcm9wZXJ0eSBjb2x1bW5zIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBjbGFzc2VzIChvcHRpb25hbClcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyRGF0YSB7XG4gIC8qKlxuICAgKiBlYWNoIGl0ZW0gcmVuZGVycyBhIGNvbHVtbiBvZiB0aGUgZm9vdGVyXG4gICAqL1xuICBjb2x1bW5zOiBGb290ZXJDb2x1bW5bXTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduNy1mb290ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9vdGVyLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvb3RlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGRhdGE6IEZvb3RlckRhdGE7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZCkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpO1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGF0YVwiXG4gICAgIGNsYXNzPVwibjctZm9vdGVyIHt7ZGF0YS5jbGFzc2VzIHx8ICcnfX1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctZm9vdGVyX19jb250ZW50XCI+XG4gICAgICAgIDwhLS0gTG9vcCBmb290ZXIgY29udGVudCBjb2x1bW5zIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4ge3tjb2x1bW4uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGRhdGEuY29sdW1uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlckNvbHVtbjsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGU6IENvbHVtbnMgLS0+XG48bmctdGVtcGxhdGUgI2Zvb3RlckNvbHVtbiBsZXQtY29sdW1uPlxuICAgIDwhLS0gQ3VzdG9tIG9yZGVyIGZvciBjb250ZW50IChzZWN0aW9ucykgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBjb2x1bW4uc2VjdGlvbnNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic2VjdGlvbi50eXBlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dDsgY29udGV4dDp7JGltcGxpY2l0OiBzZWN0aW9ufVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIndGl0bGUnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRpdGxlOyBjb250ZXh0OnskaW1wbGljaXQ6IHNlY3Rpb259XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidsaW5rcydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua3M7IGNvbnRleHQ6eyRpbXBsaWNpdDogc2VjdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdHMnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdHM7IGNvbnRleHQ6eyRpbXBsaWNpdDogc2VjdGlvbn1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlcydcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW1hZ2VzOyBjb250ZXh0OnskaW1wbGljaXQ6IHNlY3Rpb259XCI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gTGVnYWN5IGNvbmZpZ3VyYXRpb24gd2l0aG91dCBzZWN0aW9ucyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnRpdGxlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aXRsZTsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udGV4dFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGV4dDsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4ubGlua3NcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtzOyBjb250ZXh0OnskaW1wbGljaXQ6IGNvbHVtbn1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5pbWFnZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImltYWdlczsgY29udGV4dDp7JGltcGxpY2l0OiBjb2x1bW59XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDb250ZW50IFNlY3Rpb25zIC0tPlxuPCEtLSBUSVRMRSAtLT5cbjxuZy10ZW1wbGF0ZSAjdGl0bGUgbGV0LXNlY3Rpb24+XG4gICAgPGgyICpuZ0lmPVwic2VjdGlvbi50aXRsZVwiXG4gICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tdGl0bGVcIj5cbiAgICAgICAge3sgc2VjdGlvbi50aXRsZSB9fVxuICAgIDwvaDI+XG48L25nLXRlbXBsYXRlPlxuPCEtLSBURVhUIC0tPlxuPG5nLXRlbXBsYXRlICN0ZXh0IGxldC1zZWN0aW9uPlxuICAgIDxwICpuZ0lmPVwic2VjdGlvbi50ZXh0XCJcbiAgICAgICBjbGFzcz1cIm43LWZvb3Rlcl9fY29sdW1uLXRleHRcIlxuICAgICAgIFtpbm5lckhUTUxdPVwic2VjdGlvbi50ZXh0XCI+PC9wPlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gSU1BR0VTIC0tPlxuPG5nLXRlbXBsYXRlICNpbWFnZXMgbGV0LXNlY3Rpb24+XG4gICAgPGRpdiAqbmdJZj1cInNlY3Rpb24uaW1hZ2VzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4taW1hZ2VzXCI+XG4gICAgICAgIDxuNy1hbmNob3Itd3JhcHBlciAqbmdGb3I9XCJsZXQgaW1hZ2Ugb2Ygc2VjdGlvbi5pbWFnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiaW1hZ2UuY2xhc3NlcyB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpbWFnZS5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiaW1hZ2UudXJsXCJcbiAgICAgICAgICAgICAgICAgW2F0dHIuYWx0XT1cImltYWdlLmFsdHRleHRcIiAvPlxuICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gU0VMRUNUUyAtLT5cbjxuZy10ZW1wbGF0ZSAjc2VsZWN0cyBsZXQtc2VjdGlvbj5cbiAgICA8ZGl2ICpuZ0lmPVwic2VjdGlvbi5zZWxlY3RzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tc2VsZWN0c1wiPlxuICAgICAgICA8bjctaW5wdXQtc2VsZWN0ICpuZ0Zvcj1cImxldCBzZWxlY3REYXRhIG9mIHNlY3Rpb24uc2VsZWN0c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwic2VsZWN0RGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2VtaXRdPVwidGhpcy5lbWl0XCI+XG4gICAgICAgIDwvbjctaW5wdXQtc2VsZWN0PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjwhLS0gTElOS1MgLS0+XG48bmctdGVtcGxhdGUgI2xpbmtzIGxldC1zZWN0aW9uPlxuICAgIDxkaXYgKm5nSWY9XCJzZWN0aW9uLmxpbmtzXCJcbiAgICAgICAgIGNsYXNzPVwibjctZm9vdGVyX19jb2x1bW4tbmF2XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm43LWZvb3Rlcl9fY29sdW1uLW5hdi1saXN0XCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGxpbmsgb2Ygc2VjdGlvbi5saW5rc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuNy1mb290ZXJfX2NvbHVtbi1uYXYtaXRlbSB7e2xpbmsuY2xhc3NlcyB8fCAnJ319XCI+XG4gICAgICAgICAgICAgICAgPG43LWFuY2hvci13cmFwcGVyIFtjbGFzc2VzXT1cIiduNy1mb290ZXJfX2NvbHVtbi1uYXYtbGluaydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJsaW5rLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBsaW5rLnRleHQgfX1cbiAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -40,9 +40,9 @@ export class HeaderComponent {
40
40
  this.emit('keyup', { payload, keyCode, value });
41
41
  }
42
42
  }
43
- HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: HeaderComponent, selector: "n7-header", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<header *ngIf=\"data\" class=\"n7-header {{data.classes || ''}}\">\n <div class=\"n7-header__content\">\n <!-- Logo and title -->\n <div class=\"n7-header__logo-title {{data.logo.classes || ''}}\">\n <n7-anchor-wrapper\n [classes]=\"'n7-header__logo-link'\"\n [data]=\"data.logo.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <img\n class=\"n7-header__logo\"\n *ngIf=\"data.logo.image\"\n [src]=\"data.logo.image\"\n alt=\"{{ data.logo.title }}\"\n />\n <div class=\"n7-header__title-subtitle\">\n <h1 class=\"n7-header__title\">{{ data.logo.title }}</h1>\n <h2 class=\"n7-header__subtitle\" *ngIf=\"data.logo.subtitle\">\n {{ data.logo.subtitle }}\n </h2>\n </div>\n </n7-anchor-wrapper>\n </div>\n\n <!-- Main menu -->\n <nav class=\"n7-header__nav {{data.nav.classes || ''}}\" *ngIf=\"data.nav\">\n <div class=\"n7-header__nav-content\">\n <ul class=\"n7-header__nav-list\">\n <li\n class=\"n7-header__nav-item {{item.classes || ''}}\"\n *ngFor=\"let item of data.nav.items\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__nav-link'\"\n [data]=\"item.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__nav-icon {{item.icon}}\"\n *ngIf=\"item.icon\"\n ></span>\n <span class=\"n7-header__nav-label\" *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </n7-anchor-wrapper>\n <!-- Sublevel -->\n <ul class=\"n7-header__subnav-list\" *ngIf=\"item.subnav\">\n <li\n class=\"n7-header__subnav-item {{subitem.classes || ''}}\"\n *ngFor=\"let subitem of item.subnav\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__subnav-link'\"\n [data]=\"subitem.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__subnav-icon {{subitem.icon}}\"\n *ngIf=\"subitem.icon\"\n ></span>\n <span class=\"n7-header__subnav-label\" *ngIf=\"subitem.text\">\n {{ subitem.text }}\n </span>\n </n7-anchor-wrapper>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n </nav>\n\n <!-- Mobile menu toggle -->\n <div class=\"n7-header__mobile-menu-toggle\">\n <span\n class=\"n7-header__mobile-menu-icon n7-icon-menu\"\n (click)=\"onClick(data.menuToggle.open.payload)\"\n ></span>\n </div>\n\n <!-- Mobile menu close -->\n <span\n class=\"n7-header__mobile-menu-close n7-icon-close\"\n (click)=\"onClick(data.menuToggle.close.payload)\"\n ></span>\n\n <!-- Tools: search, notifications, use profile or login/signup -->\n <div class=\"n7-header__tools\">\n <div\n class=\"n7-header__search {{data.search.classes || ''}}\"\n *ngIf=\"data.search\"\n >\n <input\n class=\"n7-header__search-input\"\n type=\"search\"\n name=\"search\"\n placeholder=\"{{ data.search.hint || ''}}\"\n (keyup)=\"onKeyUp(data.search.payload, $event.keyCode, $event.target.value)\"\n />\n <button\n class=\"n7-header__search-btn\"\n type=\"submit\"\n (click)=\"onClick(data.search.payload)\"\n >\n <span class=\"n7-header__search-btn-label\"> Search </span>\n </button>\n </div>\n\n <div class=\"n7-header__actions\" *ngIf=\"data.actions\">\n <n7-anchor-wrapper\n *ngFor=\"let action of data.actions\"\n [classes]=\"'n7-header__action' + (action.classes || '')\"\n [data]=\"action.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"n7-header__action-icon {{ action.icon }}\"></span>\n <span\n *ngIf=\"action.badge\"\n class=\"n7-header__action-badge {{ action.badge.text ? 'has-text' : '' }}\"\n >\n {{ action.badge.text }}\n </span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__buttons\" *ngIf=\"data.buttons\">\n <n7-anchor-wrapper\n *ngFor=\"let button of data.buttons\"\n [classes]=\"button.classes\"\n [data]=\"button.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"\" *ngIf=\"button.text\"> {{ button.text }} </span>\n <span class=\"{{button.icon}}\" *ngIf=\"button.icon\"></span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__selects\" *ngIf=\"data.selects\">\n <n7-input-select\n *ngFor=\"let selectData of data.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\"\n >\n </n7-input-select>\n </div>\n\n <div\n class=\"n7-header__user {{data.user.classes || ''}}\"\n *ngIf=\"data.user\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__user-content'\"\n [data]=\"data.user.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <n7-avatar [data]=\"data.user\" [emit]=\"this.emit\"></n7-avatar>\n <p class=\"n7-header__user-name\" *ngIf=\"data.user.name\">\n <span class=\"n7-header__user-name-label\">\n {{ data.user.name }}\n </span>\n </p>\n </n7-anchor-wrapper>\n </div>\n </div>\n </div>\n</header>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i3.AvatarComponent, selector: "n7-avatar", inputs: ["data", "emit"] }, { kind: "component", type: i4.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }] });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HeaderComponent, decorators: [{
43
+ HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HeaderComponent, selector: "n7-header", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<header *ngIf=\"data\" class=\"n7-header {{data.classes || ''}}\">\n <div class=\"n7-header__content\">\n <!-- Logo and title -->\n <div class=\"n7-header__logo-title {{data.logo.classes || ''}}\">\n <n7-anchor-wrapper\n [classes]=\"'n7-header__logo-link'\"\n [data]=\"data.logo.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <img\n class=\"n7-header__logo\"\n *ngIf=\"data.logo.image\"\n [src]=\"data.logo.image\"\n alt=\"{{ data.logo.title }}\"\n />\n <div class=\"n7-header__title-subtitle\">\n <h1 class=\"n7-header__title\">{{ data.logo.title }}</h1>\n <h2 class=\"n7-header__subtitle\" *ngIf=\"data.logo.subtitle\">\n {{ data.logo.subtitle }}\n </h2>\n </div>\n </n7-anchor-wrapper>\n </div>\n\n <!-- Main menu -->\n <nav class=\"n7-header__nav {{data.nav.classes || ''}}\" *ngIf=\"data.nav\">\n <div class=\"n7-header__nav-content\">\n <ul class=\"n7-header__nav-list\">\n <li\n class=\"n7-header__nav-item {{item.classes || ''}}\"\n *ngFor=\"let item of data.nav.items\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__nav-link'\"\n [data]=\"item.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__nav-icon {{item.icon}}\"\n *ngIf=\"item.icon\"\n ></span>\n <span class=\"n7-header__nav-label\" *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </n7-anchor-wrapper>\n <!-- Sublevel -->\n <ul class=\"n7-header__subnav-list\" *ngIf=\"item.subnav\">\n <li\n class=\"n7-header__subnav-item {{subitem.classes || ''}}\"\n *ngFor=\"let subitem of item.subnav\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__subnav-link'\"\n [data]=\"subitem.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__subnav-icon {{subitem.icon}}\"\n *ngIf=\"subitem.icon\"\n ></span>\n <span class=\"n7-header__subnav-label\" *ngIf=\"subitem.text\">\n {{ subitem.text }}\n </span>\n </n7-anchor-wrapper>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n </nav>\n\n <!-- Mobile menu toggle -->\n <div class=\"n7-header__mobile-menu-toggle\">\n <span\n class=\"n7-header__mobile-menu-icon n7-icon-menu\"\n (click)=\"onClick(data.menuToggle.open.payload)\"\n ></span>\n </div>\n\n <!-- Mobile menu close -->\n <span\n class=\"n7-header__mobile-menu-close n7-icon-close\"\n (click)=\"onClick(data.menuToggle.close.payload)\"\n ></span>\n\n <!-- Tools: search, notifications, use profile or login/signup -->\n <div class=\"n7-header__tools\">\n <div\n class=\"n7-header__search {{data.search.classes || ''}}\"\n *ngIf=\"data.search\"\n >\n <input\n class=\"n7-header__search-input\"\n type=\"search\"\n name=\"search\"\n placeholder=\"{{ data.search.hint || ''}}\"\n (keyup)=\"onKeyUp(data.search.payload, $event.keyCode, $event.target.value)\"\n />\n <button\n class=\"n7-header__search-btn\"\n type=\"submit\"\n (click)=\"onClick(data.search.payload)\"\n >\n <span class=\"n7-header__search-btn-label\"> Search </span>\n </button>\n </div>\n\n <div class=\"n7-header__actions\" *ngIf=\"data.actions\">\n <n7-anchor-wrapper\n *ngFor=\"let action of data.actions\"\n [classes]=\"'n7-header__action' + (action.classes || '')\"\n [data]=\"action.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"n7-header__action-icon {{ action.icon }}\"></span>\n <span\n *ngIf=\"action.badge\"\n class=\"n7-header__action-badge {{ action.badge.text ? 'has-text' : '' }}\"\n >\n {{ action.badge.text }}\n </span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__buttons\" *ngIf=\"data.buttons\">\n <n7-anchor-wrapper\n *ngFor=\"let button of data.buttons\"\n [classes]=\"button.classes\"\n [data]=\"button.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"\" *ngIf=\"button.text\"> {{ button.text }} </span>\n <span class=\"{{button.icon}}\" *ngIf=\"button.icon\"></span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__selects\" *ngIf=\"data.selects\">\n <n7-input-select\n *ngFor=\"let selectData of data.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\"\n >\n </n7-input-select>\n </div>\n\n <div\n class=\"n7-header__user {{data.user.classes || ''}}\"\n *ngIf=\"data.user\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__user-content'\"\n [data]=\"data.user.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <n7-avatar [data]=\"data.user\" [emit]=\"this.emit\"></n7-avatar>\n <p class=\"n7-header__user-name\" *ngIf=\"data.user.name\">\n <span class=\"n7-header__user-name-label\">\n {{ data.user.name }}\n </span>\n </p>\n </n7-anchor-wrapper>\n </div>\n </div>\n </div>\n</header>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }, { kind: "component", type: i3.AvatarComponent, selector: "n7-avatar", inputs: ["data", "emit"] }, { kind: "component", type: i4.InputSelectComponent, selector: "n7-input-select", inputs: ["data", "emit"] }] });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeaderComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'n7-header', template: "<header *ngIf=\"data\" class=\"n7-header {{data.classes || ''}}\">\n <div class=\"n7-header__content\">\n <!-- Logo and title -->\n <div class=\"n7-header__logo-title {{data.logo.classes || ''}}\">\n <n7-anchor-wrapper\n [classes]=\"'n7-header__logo-link'\"\n [data]=\"data.logo.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <img\n class=\"n7-header__logo\"\n *ngIf=\"data.logo.image\"\n [src]=\"data.logo.image\"\n alt=\"{{ data.logo.title }}\"\n />\n <div class=\"n7-header__title-subtitle\">\n <h1 class=\"n7-header__title\">{{ data.logo.title }}</h1>\n <h2 class=\"n7-header__subtitle\" *ngIf=\"data.logo.subtitle\">\n {{ data.logo.subtitle }}\n </h2>\n </div>\n </n7-anchor-wrapper>\n </div>\n\n <!-- Main menu -->\n <nav class=\"n7-header__nav {{data.nav.classes || ''}}\" *ngIf=\"data.nav\">\n <div class=\"n7-header__nav-content\">\n <ul class=\"n7-header__nav-list\">\n <li\n class=\"n7-header__nav-item {{item.classes || ''}}\"\n *ngFor=\"let item of data.nav.items\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__nav-link'\"\n [data]=\"item.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__nav-icon {{item.icon}}\"\n *ngIf=\"item.icon\"\n ></span>\n <span class=\"n7-header__nav-label\" *ngIf=\"item.text\">\n {{ item.text }}\n </span>\n </n7-anchor-wrapper>\n <!-- Sublevel -->\n <ul class=\"n7-header__subnav-list\" *ngIf=\"item.subnav\">\n <li\n class=\"n7-header__subnav-item {{subitem.classes || ''}}\"\n *ngFor=\"let subitem of item.subnav\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__subnav-link'\"\n [data]=\"subitem.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span\n class=\"n7-header__subnav-icon {{subitem.icon}}\"\n *ngIf=\"subitem.icon\"\n ></span>\n <span class=\"n7-header__subnav-label\" *ngIf=\"subitem.text\">\n {{ subitem.text }}\n </span>\n </n7-anchor-wrapper>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n </nav>\n\n <!-- Mobile menu toggle -->\n <div class=\"n7-header__mobile-menu-toggle\">\n <span\n class=\"n7-header__mobile-menu-icon n7-icon-menu\"\n (click)=\"onClick(data.menuToggle.open.payload)\"\n ></span>\n </div>\n\n <!-- Mobile menu close -->\n <span\n class=\"n7-header__mobile-menu-close n7-icon-close\"\n (click)=\"onClick(data.menuToggle.close.payload)\"\n ></span>\n\n <!-- Tools: search, notifications, use profile or login/signup -->\n <div class=\"n7-header__tools\">\n <div\n class=\"n7-header__search {{data.search.classes || ''}}\"\n *ngIf=\"data.search\"\n >\n <input\n class=\"n7-header__search-input\"\n type=\"search\"\n name=\"search\"\n placeholder=\"{{ data.search.hint || ''}}\"\n (keyup)=\"onKeyUp(data.search.payload, $event.keyCode, $event.target.value)\"\n />\n <button\n class=\"n7-header__search-btn\"\n type=\"submit\"\n (click)=\"onClick(data.search.payload)\"\n >\n <span class=\"n7-header__search-btn-label\"> Search </span>\n </button>\n </div>\n\n <div class=\"n7-header__actions\" *ngIf=\"data.actions\">\n <n7-anchor-wrapper\n *ngFor=\"let action of data.actions\"\n [classes]=\"'n7-header__action' + (action.classes || '')\"\n [data]=\"action.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"n7-header__action-icon {{ action.icon }}\"></span>\n <span\n *ngIf=\"action.badge\"\n class=\"n7-header__action-badge {{ action.badge.text ? 'has-text' : '' }}\"\n >\n {{ action.badge.text }}\n </span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__buttons\" *ngIf=\"data.buttons\">\n <n7-anchor-wrapper\n *ngFor=\"let button of data.buttons\"\n [classes]=\"button.classes\"\n [data]=\"button.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <span class=\"\" *ngIf=\"button.text\"> {{ button.text }} </span>\n <span class=\"{{button.icon}}\" *ngIf=\"button.icon\"></span>\n </n7-anchor-wrapper>\n </div>\n\n <div class=\"n7-header__selects\" *ngIf=\"data.selects\">\n <n7-input-select\n *ngFor=\"let selectData of data.selects\"\n [data]=\"selectData\"\n [emit]=\"this.emit\"\n >\n </n7-input-select>\n </div>\n\n <div\n class=\"n7-header__user {{data.user.classes || ''}}\"\n *ngIf=\"data.user\"\n >\n <n7-anchor-wrapper\n [classes]=\"'n7-header__user-content'\"\n [data]=\"data.user.anchor\"\n (clicked)=\"onClick($event)\"\n >\n <n7-avatar [data]=\"data.user\" [emit]=\"this.emit\"></n7-avatar>\n <p class=\"n7-header__user-name\" *ngIf=\"data.user.name\">\n <span class=\"n7-header__user-name-label\">\n {{ data.user.name }}\n </span>\n </p>\n </n7-anchor-wrapper>\n </div>\n </div>\n </div>\n</header>\n" }]
48
48
  }], propDecorators: { data: [{
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
50
50
  }], emit: [{
51
51
  type: Input
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFtUWpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFrQjFCLE9BQU8sQ0FBQyxPQUFZO1FBQ2xCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7NkdBM0JVLGVBQWU7aUdBQWYsZUFBZSx5RkM5UjVCLDZwTEFxS0E7NEZEeUhhLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsV0FBVzs4QkFpQlosSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0U2VsZWN0RGF0YSB9IGZyb20gJy4uL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QnO1xuaW1wb3J0IHsgQW5jaG9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXZhdGFyRGF0YSB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJEYXRhIGV4dGVuZHMgQXZhdGFyRGF0YSB7XG4gIC8qKlxuICAgKiB1c2VyJ3MgcHJvZmlsZSBuYW1lXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogZXh0ZXJuYWwgdXJsXG4gICAqL1xuICBhbmNob3I/OiBBbmNob3I7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBzaW5nbGUgYnV0dG9uXG4gKlxuICogQHByb3BlcnR5IHRleHQgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgaWNvbiAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkl0ZW0ge1xuICAvKipcbiAgICogdGV4dFxuICAgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKipcbiAgICogYW5jaG9yXG4gICAqL1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGljb24gY2xhc3NcbiAgICovXG4gIGljb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBhIHNpbmdsZSBhY3Rpb24gaXRlbVxuICpcbiAqIEBwcm9wZXJ0eSBpY29uIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBiYWRnZSAob3B0aW9uYWwpXG4gKiAtIHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkl0ZW0ge1xuICAvKipcbiAgICogb3B0aW9uYWwgYmFkZ2Ugd2l0aCwgb3B0aW9uYWxseSwgaXRzIHRleHRcbiAgICovXG4gIGJhZGdlPzoge1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gIH07XG4gIC8qKlxuICAgKiBpY29uIGNsYXNzXG4gICAqL1xuICBpY29uOiBzdHJpbmc7XG4gIGFuY2hvcjogQW5jaG9yO1xuICAvKipcbiAgICogYWRkaXRpb25hbCBodG1sIGNsYXNzZXNcbiAgICovXG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBzaW5nbGUgbmF2YmFyIGl0ZW1cbiAqXG4gKiBub3RlOiBhIHNpbmdsZSBuYXYncyBpdGVtIGNhbiBiZSBhIHRleHQgKHcvIGFuY2hvcikgT1IgYSBkcm9wZG93blxuICpcbiAqIEBwcm9wZXJ0eSBpY29uIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBzdWJuYXYgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdmJhckl0ZW0ge1xuICAvKipcbiAgICogdGV4dCBvZiBhIHNpbmdsZSBpdGVtIG9mIHRoZSBuYXZiYXIgKHRleHQgYW5kIHBheWxvYWQgYXJlIGNvbm5lY3RlZClcbiAgICovXG4gIHRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBpY29uIGZvciBhIHNpbmdsZSBpdGVtIG9mIHRoZSBuYXZiYXIgKGFzc29jaWF0ZWQgdG8gXCJ0ZXh0XCIpXG4gICAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKipcbiAgICogc2Vjb25kIGxldmVsIG5hdmlnYXRpb25cbiAgICovXG4gIHN1Ym5hdj86IE5hdmJhckl0ZW1bXTtcbiAgYW5jaG9yOiBBbmNob3I7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBIZWFkZXJDb21wb25lbnQncyBcImRhdGFcIlxuICpcbiAqIEBwcm9wZXJ0eSBsb2dvIChyZXF1aXJlZClcbiAqIC0gdGl0bGUgKHJlcXVpcmVkKVxuICogLSBpbWFnZSAob3B0aW9uYWwpXG4gKiAtIHN1YnRpdGxlIChvcHRpb25hbClcbiAqIC0gY2xhc3NlcyAob3B0aW9uYWwpXG4gKiAtIHBheWxvYWQgKG9wdGlvbmFsKVxuICogLSBhbmNob3IgKG9wdGlvbmFsKVxuICogQHByb3BydHkgbWVudVRvZ2dsZSAocmVxdWlyZWQpXG4gKiAtIG9wZW4gKHJlcXVpcmVkKVxuICogLSAtIHBheWxvYWQgKHJlcXVpcmVkKVxuICogLSBjbG9zZW4gKHJlcXVpcmVkKVxuICogLSAtIHBheWxvYWQgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGFjdGlvbnMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IG5hdiAob3B0aW9uYWwpXG4gKiAtIGl0ZW1zIChyZXF1aXJlZClcbiAqIC0gaXNCZWxvdyAob3B0aW9uYWwpXG4gKiAtIGNsYXNzZXMgKG9wdGlvbmFsKVxuICogLSBwYXlsb2FkIChvcHRpb25hbClcbiAqIC0gYW5jaG9yIChvcHRpb25hbClcbiAqIC0gX21ldGEgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHNlYXJjaCAob3B0aW9uYWwpXG4gKiAtIGhpbnQgKG9wdGlvbmFsKVxuICogLSBjbGFzc2VzIChvcHRpb25hbClcbiAqIC0gcGF5bG9hZCAob3B0aW9uYWwpXG4gKiAtIF9tZXRhIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSB1c2VyIChvcHRpb25hbClcbiAqIC0gaW1hZ2UgKG9wdGlvbmFsKVxuICogLSBuYW1lIChvcHRpb25hbClcbiAqIC0gY2xhc3NlcyAob3B0aW9uYWwpXG4gKiAtIHBheWxvYWQgKG9wdGlvbmFsKVxuICogLSBhbmNob3IgKG9wdGlvbmFsKVxuICogLSBfbWV0YSAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlckRhdGEge1xuICAvKipcbiAgICogbG9nbyBhbmQgdGl0bGUgYXJlYSBwYXJhbWV0ZXJzXG4gICAqL1xuICBsb2dvOiB7XG4gICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xuICAgIHBheWxvYWQ/OiBhbnk7XG4gICAgYW5jaG9yOiBBbmNob3I7XG4gIH07XG4gIC8qKlxuICAgKiBuYXYncyBwYXJhbWV0ZXJzXG4gICAqL1xuICBuYXY/OiB7XG4gICAgLyoqXG4gICAgICogbGlzdCBvZiB0aGUgaXRlbXMgaW4gdGhlIG5hdmJhclxuICAgICAqL1xuICAgIGl0ZW1zOiBOYXZiYXJJdGVtW107XG4gICAgLyoqXG4gICAgICogZmxhZyBmb3IgZGlzcGxheSB0aGUgbmF2YmFyIHVuZGVyIHRoZSBoZWFkZXIgKGluc3RlYWQgb2YgSU4gdGhlIGhlYWRlcilcbiAgICAgKi9cbiAgICBpc0JlbG93PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgICAqL1xuICAgIGNsYXNzZXM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogYWN0aW9uIGNsaWNrJ3MgcGF5bG9hZFxuICAgICAqL1xuICAgIHBheWxvYWQ/OiBhbnk7XG4gICAgLyoqXG4gICAgICogYWRkaXRpb25hbCBpbmZvXG4gICAgICovXG4gICAgX21ldGE/OiBhbnk7XG4gIH07XG4gIC8qKlxuICAgKiBzZWFyY2ggcGFyYW1ldGVyc1xuICAgKi9cbiAgc2VhcmNoPzoge1xuICAgIC8qKlxuICAgICAqIGhpbnQgKHRleHQgc2hvd2VkIGluIHRoZSBpbnB1dCBib3ggdW50aWwgc29tZXRoaW5nIGlzIHdyaXRlZCBpbiB0aGVyZSlcbiAgICAgKi9cbiAgICBoaW50Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAgICovXG4gICAgY2xhc3Nlcz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICAgICovXG4gICAgcGF5bG9hZD86IGFueTtcbiAgICAvKipcbiAgICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICAgKi9cbiAgICBfbWV0YT86IGFueTtcbiAgfTtcbiAgLyoqXG4gICAqIGFjdGlvbiBpdGVtc1xuICAgKi9cbiAgYWN0aW9ucz86IEFjdGlvbkl0ZW1bXTtcbiAgLyoqXG4gICAqIGJ1dHRvbnMgaXRlbXNcbiAgICovXG4gIGJ1dHRvbnM/OiBCdXR0b25JdGVtW107XG4gIC8qKlxuICAgKiBTZWxlY3QgZWxlbWVudHMgd2l0aCBzb21lIG9wdGlvbnNcbiAgICogdXNlZnVsIGZvciB0aGUgaGVhZGVyJ3MgbGFuZ3VhZ2Ugc2VsZWN0b3JcbiAgICovXG4gIHNlbGVjdHM/OiBJbnB1dFNlbGVjdERhdGFbXTtcbiAgLyoqXG4gICAqIHVzZXIgcGFyYW1ldGVyc1xuICAgKi9cbiAgdXNlcj86IFVzZXJEYXRhO1xuICAvKipcbiAgICogbWVudSB0b2dnbGUgZm9yIG1vYmlsZVxuICAgKi9cbiAgbWVudVRvZ2dsZToge1xuICAgIG9wZW46IHtcbiAgICAgIHBheWxvYWQ6IGFueTtcbiAgICB9O1xuICAgIGNsb3NlOiB7XG4gICAgICBwYXlsb2FkOiBhbnk7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICAvKipcbiAgICogYWN0aW9uIGNsaWNrJ3MgcGF5bG9hZFxuICAgKi9cbiAgcGF5bG9hZD86IGFueTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSGVhZGVyQ29tcG9uZW50IDxuNy1oZWFkZXI+XG4gKlxuICogQHN0cnVjdHVyZVxuICogID4+ICBjcG0gPSBpdCBoYXMgQ2xhc3NlcywgUGF5bG9hZCwgTWV0YWRhdGEgIDw8XG4gKiAgPj4gIC1wLSA9IGl0IGhhcyBvbmx5IFBheWxvYWQgICAgICAgICAgICAgICAgPDxcbiAqICA+PiAgKy0tID0gc3ViLW1lbWJlciAgICAgICAgICAgICAgICAgICAgICAgICA8PFxuICogID4+ICArLS0tPiA9IGFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8XG4gKlxuICogIGRhdGEgKGNwbSlcbiAqICAgICstLSBhY3Rpb25zXG4gKiAgICAgICAgICArLS0tPiBhY3Rpb24gKGNwbSlcbiAqICAgICAgICAgICAgICAgICAgKy0tIGJhZGdlXG4gKiAgICArLS0gbG9nbyAoY3AtKVxuICogICAgKy0tIG1lbnVUb2dnbGVcbiAqICAgICAgICAgICstLSBvcGVuICgtcC0pXG4gKiAgICAgICAgICArLS0gY2xvc2UgKC1wLSlcbiAqICAgICstLSBuYXYgKGNwbSlcbiAqICAgICAgICAgICstLS0+IGl0ZW1zXG4gKiAgICArLS0gc2VhcmNoIChjcG0pXG4gKiAgICArLS0gdXNlciAoY3BtKVxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQge1xuICAvKlxuICAgID4+ICAgIGNwbSA9IGl0IGhhcyBDbGFzc2VzLCBQYXlsb2FkLCBNZXRhZGF0YSAgIDw8XG4gICAgPj4gICAgLXAtID0gaXQgaGFzIG9ubHkgUGF5bG9hZCAgICAgICAgICAgICAgICAgPDxcblxuICAgIGRhdGEgKGNwbSlcbiAgICAgICstLS0tIHBhcmFtcyAoY3BtKVxuICAgICAgKy0tLS0gbmF2IChjcG0pXG4gICAgICAgICAgICAgICAgKy0tLS0gaXRlbXMgKGNwbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0gZHJvcGRvd25EYXRhIChjcG0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tIGxpc3QgKC1wLSlcbiAgICAgICstLS0tIHNlYXJjaCAoY3BtKVxuICAgICAgKy0tLS0gdXNlciAoY3BtKVxuICAqL1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZDogYW55KSB7XG4gICAgLy8gY29uc29sZS5sb2codHlwZSwgcGF5bG9hZCk7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ2NsaWNrJywgcGF5bG9hZCk7XG4gIH1cblxuICBvbktleVVwKHBheWxvYWQsIGtleUNvZGUsIHZhbHVlKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ2tleXVwJywgeyBwYXlsb2FkLCBrZXlDb2RlLCB2YWx1ZSB9KTtcbiAgfVxufVxuIiwiPGhlYWRlciAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhlYWRlciB7e2RhdGEuY2xhc3NlcyB8fCAnJ319XCI+XG4gIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2NvbnRlbnRcIj5cbiAgICA8IS0tIExvZ28gYW5kIHRpdGxlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2xvZ28tdGl0bGUge3tkYXRhLmxvZ28uY2xhc3NlcyB8fCAnJ319XCI+XG4gICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fbG9nby1saW5rJ1wiXG4gICAgICAgIFtkYXRhXT1cImRhdGEubG9nby5hbmNob3JcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgY2xhc3M9XCJuNy1oZWFkZXJfX2xvZ29cIlxuICAgICAgICAgICpuZ0lmPVwiZGF0YS5sb2dvLmltYWdlXCJcbiAgICAgICAgICBbc3JjXT1cImRhdGEubG9nby5pbWFnZVwiXG4gICAgICAgICAgYWx0PVwie3sgZGF0YS5sb2dvLnRpdGxlIH19XCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWhlYWRlcl9fdGl0bGUtc3VidGl0bGVcIj5cbiAgICAgICAgICA8aDEgY2xhc3M9XCJuNy1oZWFkZXJfX3RpdGxlXCI+e3sgZGF0YS5sb2dvLnRpdGxlIH19PC9oMT5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJuNy1oZWFkZXJfX3N1YnRpdGxlXCIgKm5nSWY9XCJkYXRhLmxvZ28uc3VidGl0bGVcIj5cbiAgICAgICAgICAgIHt7IGRhdGEubG9nby5zdWJ0aXRsZSB9fVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gTWFpbiBtZW51IC0tPlxuICAgIDxuYXYgY2xhc3M9XCJuNy1oZWFkZXJfX25hdiB7e2RhdGEubmF2LmNsYXNzZXMgfHwgJyd9fVwiICpuZ0lmPVwiZGF0YS5uYXZcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX25hdi1jb250ZW50XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm43LWhlYWRlcl9fbmF2LWxpc3RcIj5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19uYXYtaXRlbSB7e2l0ZW0uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEubmF2Lml0ZW1zXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fbmF2LWxpbmsnXCJcbiAgICAgICAgICAgICAgW2RhdGFdPVwiaXRlbS5hbmNob3JcIlxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19uYXYtaWNvbiB7e2l0ZW0uaWNvbn19XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19uYXYtbGFiZWxcIiAqbmdJZj1cIml0ZW0udGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0udGV4dCB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgPCEtLSBTdWJsZXZlbCAtLT5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cIm43LWhlYWRlcl9fc3VibmF2LWxpc3RcIiAqbmdJZj1cIml0ZW0uc3VibmF2XCI+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtaXRlbSB7e3N1Yml0ZW0uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViaXRlbSBvZiBpdGVtLnN1Ym5hdlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cIiduNy1oZWFkZXJfX3N1Ym5hdi1saW5rJ1wiXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJzdWJpdGVtLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtaWNvbiB7e3N1Yml0ZW0uaWNvbn19XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdWJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtbGFiZWxcIiAqbmdJZj1cInN1Yml0ZW0udGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdWJpdGVtLnRleHQgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uYXY+XG5cbiAgICA8IS0tIE1vYmlsZSBtZW51IHRvZ2dsZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX19tb2JpbGUtbWVudS10b2dnbGVcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19tb2JpbGUtbWVudS1pY29uIG43LWljb24tbWVudVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEubWVudVRvZ2dsZS5vcGVuLnBheWxvYWQpXCJcbiAgICAgID48L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIE1vYmlsZSBtZW51IGNsb3NlIC0tPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cIm43LWhlYWRlcl9fbW9iaWxlLW1lbnUtY2xvc2UgbjctaWNvbi1jbG9zZVwiXG4gICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLm1lbnVUb2dnbGUuY2xvc2UucGF5bG9hZClcIlxuICAgID48L3NwYW4+XG5cbiAgICA8IS0tIFRvb2xzOiBzZWFyY2gsIG5vdGlmaWNhdGlvbnMsIHVzZSBwcm9maWxlIG9yIGxvZ2luL3NpZ251cCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX190b29sc1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm43LWhlYWRlcl9fc2VhcmNoIHt7ZGF0YS5zZWFyY2guY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgKm5nSWY9XCJkYXRhLnNlYXJjaFwiXG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zZWFyY2gtaW5wdXRcIlxuICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgIG5hbWU9XCJzZWFyY2hcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZGF0YS5zZWFyY2guaGludCB8fCAnJ319XCJcbiAgICAgICAgICAoa2V5dXApPVwib25LZXlVcChkYXRhLnNlYXJjaC5wYXlsb2FkLCAkZXZlbnQua2V5Q29kZSwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAvPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJuNy1oZWFkZXJfX3NlYXJjaC1idG5cIlxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEuc2VhcmNoLnBheWxvYWQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19zZWFyY2gtYnRuLWxhYmVsXCI+IFNlYXJjaCA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2FjdGlvbnNcIiAqbmdJZj1cImRhdGEuYWN0aW9uc1wiPlxuICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGRhdGEuYWN0aW9uc1wiXG4gICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fYWN0aW9uJyArIChhY3Rpb24uY2xhc3NlcyB8fCAnJylcIlxuICAgICAgICAgIFtkYXRhXT1cImFjdGlvbi5hbmNob3JcIlxuICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWhlYWRlcl9fYWN0aW9uLWljb24ge3sgYWN0aW9uLmljb24gfX1cIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLmJhZGdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19hY3Rpb24tYmFkZ2Uge3sgYWN0aW9uLmJhZGdlLnRleHQgPyAnaGFzLXRleHQnIDogJycgfX1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGFjdGlvbi5iYWRnZS50ZXh0IH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2J1dHRvbnNcIiAqbmdJZj1cImRhdGEuYnV0dG9uc1wiPlxuICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRhdGEuYnV0dG9uc1wiXG4gICAgICAgICAgW2NsYXNzZXNdPVwiYnV0dG9uLmNsYXNzZXNcIlxuICAgICAgICAgIFtkYXRhXT1cImJ1dHRvbi5hbmNob3JcIlxuICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIlwiICpuZ0lmPVwiYnV0dG9uLnRleHRcIj4ge3sgYnV0dG9uLnRleHQgfX0gPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3tidXR0b24uaWNvbn19XCIgKm5nSWY9XCJidXR0b24uaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX19zZWxlY3RzXCIgKm5nSWY9XCJkYXRhLnNlbGVjdHNcIj5cbiAgICAgICAgPG43LWlucHV0LXNlbGVjdFxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWxlY3REYXRhIG9mIGRhdGEuc2VsZWN0c1wiXG4gICAgICAgICAgW2RhdGFdPVwic2VsZWN0RGF0YVwiXG4gICAgICAgICAgW2VtaXRdPVwidGhpcy5lbWl0XCJcbiAgICAgICAgPlxuICAgICAgICA8L243LWlucHV0LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibjctaGVhZGVyX191c2VyIHt7ZGF0YS51c2VyLmNsYXNzZXMgfHwgJyd9fVwiXG4gICAgICAgICpuZ0lmPVwiZGF0YS51c2VyXCJcbiAgICAgID5cbiAgICAgICAgPG43LWFuY2hvci13cmFwcGVyXG4gICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fdXNlci1jb250ZW50J1wiXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YS51c2VyLmFuY2hvclwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8bjctYXZhdGFyIFtkYXRhXT1cImRhdGEudXNlclwiIFtlbWl0XT1cInRoaXMuZW1pdFwiPjwvbjctYXZhdGFyPlxuICAgICAgICA8cCBjbGFzcz1cIm43LWhlYWRlcl9fdXNlci1uYW1lXCIgKm5nSWY9XCJkYXRhLnVzZXIubmFtZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1oZWFkZXJfX3VzZXItbmFtZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGRhdGEudXNlci5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvaGVhZGVyPlxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHYtY29tcG9uZW50cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFtUWpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFrQjFCLE9BQU8sQ0FBQyxPQUFZO1FBQ2xCLDhCQUE4QjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7NEdBM0JVLGVBQWU7Z0dBQWYsZUFBZSx5RkM5UjVCLDZwTEFxS0E7MkZEeUhhLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0UsV0FBVzs4QkFpQlosSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0U2VsZWN0RGF0YSB9IGZyb20gJy4uL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QnO1xuaW1wb3J0IHsgQW5jaG9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkLWludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXZhdGFyRGF0YSB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJEYXRhIGV4dGVuZHMgQXZhdGFyRGF0YSB7XG4gIC8qKlxuICAgKiB1c2VyJ3MgcHJvZmlsZSBuYW1lXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogZXh0ZXJuYWwgdXJsXG4gICAqL1xuICBhbmNob3I/OiBBbmNob3I7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBzaW5nbGUgYnV0dG9uXG4gKlxuICogQHByb3BlcnR5IHRleHQgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgaWNvbiAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1dHRvbkl0ZW0ge1xuICAvKipcbiAgICogdGV4dFxuICAgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKipcbiAgICogYW5jaG9yXG4gICAqL1xuICBhbmNob3I6IEFuY2hvcjtcbiAgLyoqXG4gICAqIGljb24gY2xhc3NcbiAgICovXG4gIGljb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBhIHNpbmdsZSBhY3Rpb24gaXRlbVxuICpcbiAqIEBwcm9wZXJ0eSBpY29uIChyZXF1aXJlZClcbiAqIEBwcm9wZXJ0eSBiYWRnZSAob3B0aW9uYWwpXG4gKiAtIHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkl0ZW0ge1xuICAvKipcbiAgICogb3B0aW9uYWwgYmFkZ2Ugd2l0aCwgb3B0aW9uYWxseSwgaXRzIHRleHRcbiAgICovXG4gIGJhZGdlPzoge1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gIH07XG4gIC8qKlxuICAgKiBpY29uIGNsYXNzXG4gICAqL1xuICBpY29uOiBzdHJpbmc7XG4gIGFuY2hvcjogQW5jaG9yO1xuICAvKipcbiAgICogYWRkaXRpb25hbCBodG1sIGNsYXNzZXNcbiAgICovXG4gIGNsYXNzZXM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICovXG4gIF9tZXRhPzogYW55O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBzaW5nbGUgbmF2YmFyIGl0ZW1cbiAqXG4gKiBub3RlOiBhIHNpbmdsZSBuYXYncyBpdGVtIGNhbiBiZSBhIHRleHQgKHcvIGFuY2hvcikgT1IgYSBkcm9wZG93blxuICpcbiAqIEBwcm9wZXJ0eSBpY29uIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSBzdWJuYXYgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGNsYXNzZXMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGFuY2hvciAocmVxdWlyZWQpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hdmJhckl0ZW0ge1xuICAvKipcbiAgICogdGV4dCBvZiBhIHNpbmdsZSBpdGVtIG9mIHRoZSBuYXZiYXIgKHRleHQgYW5kIHBheWxvYWQgYXJlIGNvbm5lY3RlZClcbiAgICovXG4gIHRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBpY29uIGZvciBhIHNpbmdsZSBpdGVtIG9mIHRoZSBuYXZiYXIgKGFzc29jaWF0ZWQgdG8gXCJ0ZXh0XCIpXG4gICAqL1xuICBpY29uPzogc3RyaW5nO1xuICAvKipcbiAgICogc2Vjb25kIGxldmVsIG5hdmlnYXRpb25cbiAgICovXG4gIHN1Ym5hdj86IE5hdmJhckl0ZW1bXTtcbiAgYW5jaG9yOiBBbmNob3I7XG4gIC8qKlxuICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgKi9cbiAgY2xhc3Nlcz86IHN0cmluZztcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBIZWFkZXJDb21wb25lbnQncyBcImRhdGFcIlxuICpcbiAqIEBwcm9wZXJ0eSBsb2dvIChyZXF1aXJlZClcbiAqIC0gdGl0bGUgKHJlcXVpcmVkKVxuICogLSBpbWFnZSAob3B0aW9uYWwpXG4gKiAtIHN1YnRpdGxlIChvcHRpb25hbClcbiAqIC0gY2xhc3NlcyAob3B0aW9uYWwpXG4gKiAtIHBheWxvYWQgKG9wdGlvbmFsKVxuICogLSBhbmNob3IgKG9wdGlvbmFsKVxuICogQHByb3BydHkgbWVudVRvZ2dsZSAocmVxdWlyZWQpXG4gKiAtIG9wZW4gKHJlcXVpcmVkKVxuICogLSAtIHBheWxvYWQgKHJlcXVpcmVkKVxuICogLSBjbG9zZW4gKHJlcXVpcmVkKVxuICogLSAtIHBheWxvYWQgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IGFjdGlvbnMgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IG5hdiAob3B0aW9uYWwpXG4gKiAtIGl0ZW1zIChyZXF1aXJlZClcbiAqIC0gaXNCZWxvdyAob3B0aW9uYWwpXG4gKiAtIGNsYXNzZXMgKG9wdGlvbmFsKVxuICogLSBwYXlsb2FkIChvcHRpb25hbClcbiAqIC0gYW5jaG9yIChvcHRpb25hbClcbiAqIC0gX21ldGEgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IHNlYXJjaCAob3B0aW9uYWwpXG4gKiAtIGhpbnQgKG9wdGlvbmFsKVxuICogLSBjbGFzc2VzIChvcHRpb25hbClcbiAqIC0gcGF5bG9hZCAob3B0aW9uYWwpXG4gKiAtIF9tZXRhIChvcHRpb25hbClcbiAqIEBwcm9wZXJ0eSB1c2VyIChvcHRpb25hbClcbiAqIC0gaW1hZ2UgKG9wdGlvbmFsKVxuICogLSBuYW1lIChvcHRpb25hbClcbiAqIC0gY2xhc3NlcyAob3B0aW9uYWwpXG4gKiAtIHBheWxvYWQgKG9wdGlvbmFsKVxuICogLSBhbmNob3IgKG9wdGlvbmFsKVxuICogLSBfbWV0YSAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlckRhdGEge1xuICAvKipcbiAgICogbG9nbyBhbmQgdGl0bGUgYXJlYSBwYXJhbWV0ZXJzXG4gICAqL1xuICBsb2dvOiB7XG4gICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xuICAgIHBheWxvYWQ/OiBhbnk7XG4gICAgYW5jaG9yOiBBbmNob3I7XG4gIH07XG4gIC8qKlxuICAgKiBuYXYncyBwYXJhbWV0ZXJzXG4gICAqL1xuICBuYXY/OiB7XG4gICAgLyoqXG4gICAgICogbGlzdCBvZiB0aGUgaXRlbXMgaW4gdGhlIG5hdmJhclxuICAgICAqL1xuICAgIGl0ZW1zOiBOYXZiYXJJdGVtW107XG4gICAgLyoqXG4gICAgICogZmxhZyBmb3IgZGlzcGxheSB0aGUgbmF2YmFyIHVuZGVyIHRoZSBoZWFkZXIgKGluc3RlYWQgb2YgSU4gdGhlIGhlYWRlcilcbiAgICAgKi9cbiAgICBpc0JlbG93PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAgICAqL1xuICAgIGNsYXNzZXM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogYWN0aW9uIGNsaWNrJ3MgcGF5bG9hZFxuICAgICAqL1xuICAgIHBheWxvYWQ/OiBhbnk7XG4gICAgLyoqXG4gICAgICogYWRkaXRpb25hbCBpbmZvXG4gICAgICovXG4gICAgX21ldGE/OiBhbnk7XG4gIH07XG4gIC8qKlxuICAgKiBzZWFyY2ggcGFyYW1ldGVyc1xuICAgKi9cbiAgc2VhcmNoPzoge1xuICAgIC8qKlxuICAgICAqIGhpbnQgKHRleHQgc2hvd2VkIGluIHRoZSBpbnB1dCBib3ggdW50aWwgc29tZXRoaW5nIGlzIHdyaXRlZCBpbiB0aGVyZSlcbiAgICAgKi9cbiAgICBoaW50Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAgICovXG4gICAgY2xhc3Nlcz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICAgICovXG4gICAgcGF5bG9hZD86IGFueTtcbiAgICAvKipcbiAgICAgKiBhZGRpdGlvbmFsIGluZm9cbiAgICAgKi9cbiAgICBfbWV0YT86IGFueTtcbiAgfTtcbiAgLyoqXG4gICAqIGFjdGlvbiBpdGVtc1xuICAgKi9cbiAgYWN0aW9ucz86IEFjdGlvbkl0ZW1bXTtcbiAgLyoqXG4gICAqIGJ1dHRvbnMgaXRlbXNcbiAgICovXG4gIGJ1dHRvbnM/OiBCdXR0b25JdGVtW107XG4gIC8qKlxuICAgKiBTZWxlY3QgZWxlbWVudHMgd2l0aCBzb21lIG9wdGlvbnNcbiAgICogdXNlZnVsIGZvciB0aGUgaGVhZGVyJ3MgbGFuZ3VhZ2Ugc2VsZWN0b3JcbiAgICovXG4gIHNlbGVjdHM/OiBJbnB1dFNlbGVjdERhdGFbXTtcbiAgLyoqXG4gICAqIHVzZXIgcGFyYW1ldGVyc1xuICAgKi9cbiAgdXNlcj86IFVzZXJEYXRhO1xuICAvKipcbiAgICogbWVudSB0b2dnbGUgZm9yIG1vYmlsZVxuICAgKi9cbiAgbWVudVRvZ2dsZToge1xuICAgIG9wZW46IHtcbiAgICAgIHBheWxvYWQ6IGFueTtcbiAgICB9O1xuICAgIGNsb3NlOiB7XG4gICAgICBwYXlsb2FkOiBhbnk7XG4gICAgfTtcbiAgfTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaHRtbCBjbGFzc2VzXG4gICAqL1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICAvKipcbiAgICogYWN0aW9uIGNsaWNrJ3MgcGF5bG9hZFxuICAgKi9cbiAgcGF5bG9hZD86IGFueTtcbiAgLyoqXG4gICAqIGFkZGl0aW9uYWwgaW5mb1xuICAgKi9cbiAgX21ldGE/OiBhbnk7XG59XG5cbi8qKlxuICogSGVhZGVyQ29tcG9uZW50IDxuNy1oZWFkZXI+XG4gKlxuICogQHN0cnVjdHVyZVxuICogID4+ICBjcG0gPSBpdCBoYXMgQ2xhc3NlcywgUGF5bG9hZCwgTWV0YWRhdGEgIDw8XG4gKiAgPj4gIC1wLSA9IGl0IGhhcyBvbmx5IFBheWxvYWQgICAgICAgICAgICAgICAgPDxcbiAqICA+PiAgKy0tID0gc3ViLW1lbWJlciAgICAgICAgICAgICAgICAgICAgICAgICA8PFxuICogID4+ICArLS0tPiA9IGFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8XG4gKlxuICogIGRhdGEgKGNwbSlcbiAqICAgICstLSBhY3Rpb25zXG4gKiAgICAgICAgICArLS0tPiBhY3Rpb24gKGNwbSlcbiAqICAgICAgICAgICAgICAgICAgKy0tIGJhZGdlXG4gKiAgICArLS0gbG9nbyAoY3AtKVxuICogICAgKy0tIG1lbnVUb2dnbGVcbiAqICAgICAgICAgICstLSBvcGVuICgtcC0pXG4gKiAgICAgICAgICArLS0gY2xvc2UgKC1wLSlcbiAqICAgICstLSBuYXYgKGNwbSlcbiAqICAgICAgICAgICstLS0+IGl0ZW1zXG4gKiAgICArLS0gc2VhcmNoIChjcG0pXG4gKiAgICArLS0gdXNlciAoY3BtKVxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQge1xuICAvKlxuICAgID4+ICAgIGNwbSA9IGl0IGhhcyBDbGFzc2VzLCBQYXlsb2FkLCBNZXRhZGF0YSAgIDw8XG4gICAgPj4gICAgLXAtID0gaXQgaGFzIG9ubHkgUGF5bG9hZCAgICAgICAgICAgICAgICAgPDxcblxuICAgIGRhdGEgKGNwbSlcbiAgICAgICstLS0tIHBhcmFtcyAoY3BtKVxuICAgICAgKy0tLS0gbmF2IChjcG0pXG4gICAgICAgICAgICAgICAgKy0tLS0gaXRlbXMgKGNwbSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0gZHJvcGRvd25EYXRhIChjcG0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tIGxpc3QgKC1wLSlcbiAgICAgICstLS0tIHNlYXJjaCAoY3BtKVxuICAgICAgKy0tLS0gdXNlciAoY3BtKVxuICAqL1xuICBASW5wdXQoKSBkYXRhOiBhbnk7XG5cbiAgQElucHV0KCkgZW1pdDogYW55O1xuXG4gIG9uQ2xpY2socGF5bG9hZDogYW55KSB7XG4gICAgLy8gY29uc29sZS5sb2codHlwZSwgcGF5bG9hZCk7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ2NsaWNrJywgcGF5bG9hZCk7XG4gIH1cblxuICBvbktleVVwKHBheWxvYWQsIGtleUNvZGUsIHZhbHVlKSB7XG4gICAgaWYgKCF0aGlzLmVtaXQpIHJldHVybjtcbiAgICB0aGlzLmVtaXQoJ2tleXVwJywgeyBwYXlsb2FkLCBrZXlDb2RlLCB2YWx1ZSB9KTtcbiAgfVxufVxuIiwiPGhlYWRlciAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhlYWRlciB7e2RhdGEuY2xhc3NlcyB8fCAnJ319XCI+XG4gIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2NvbnRlbnRcIj5cbiAgICA8IS0tIExvZ28gYW5kIHRpdGxlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2xvZ28tdGl0bGUge3tkYXRhLmxvZ28uY2xhc3NlcyB8fCAnJ319XCI+XG4gICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fbG9nby1saW5rJ1wiXG4gICAgICAgIFtkYXRhXT1cImRhdGEubG9nby5hbmNob3JcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgY2xhc3M9XCJuNy1oZWFkZXJfX2xvZ29cIlxuICAgICAgICAgICpuZ0lmPVwiZGF0YS5sb2dvLmltYWdlXCJcbiAgICAgICAgICBbc3JjXT1cImRhdGEubG9nby5pbWFnZVwiXG4gICAgICAgICAgYWx0PVwie3sgZGF0YS5sb2dvLnRpdGxlIH19XCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWhlYWRlcl9fdGl0bGUtc3VidGl0bGVcIj5cbiAgICAgICAgICA8aDEgY2xhc3M9XCJuNy1oZWFkZXJfX3RpdGxlXCI+e3sgZGF0YS5sb2dvLnRpdGxlIH19PC9oMT5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJuNy1oZWFkZXJfX3N1YnRpdGxlXCIgKm5nSWY9XCJkYXRhLmxvZ28uc3VidGl0bGVcIj5cbiAgICAgICAgICAgIHt7IGRhdGEubG9nby5zdWJ0aXRsZSB9fVxuICAgICAgICAgIDwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gTWFpbiBtZW51IC0tPlxuICAgIDxuYXYgY2xhc3M9XCJuNy1oZWFkZXJfX25hdiB7e2RhdGEubmF2LmNsYXNzZXMgfHwgJyd9fVwiICpuZ0lmPVwiZGF0YS5uYXZcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX25hdi1jb250ZW50XCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm43LWhlYWRlcl9fbmF2LWxpc3RcIj5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19uYXYtaXRlbSB7e2l0ZW0uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEubmF2Lml0ZW1zXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fbmF2LWxpbmsnXCJcbiAgICAgICAgICAgICAgW2RhdGFdPVwiaXRlbS5hbmNob3JcIlxuICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19uYXYtaWNvbiB7e2l0ZW0uaWNvbn19XCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19uYXYtbGFiZWxcIiAqbmdJZj1cIml0ZW0udGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0udGV4dCB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgPCEtLSBTdWJsZXZlbCAtLT5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cIm43LWhlYWRlcl9fc3VibmF2LWxpc3RcIiAqbmdJZj1cIml0ZW0uc3VibmF2XCI+XG4gICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtaXRlbSB7e3N1Yml0ZW0uY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViaXRlbSBvZiBpdGVtLnN1Ym5hdlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cIiduNy1oZWFkZXJfX3N1Ym5hdi1saW5rJ1wiXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJzdWJpdGVtLmFuY2hvclwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtaWNvbiB7e3N1Yml0ZW0uaWNvbn19XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdWJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19zdWJuYXYtbGFiZWxcIiAqbmdJZj1cInN1Yml0ZW0udGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBzdWJpdGVtLnRleHQgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uYXY+XG5cbiAgICA8IS0tIE1vYmlsZSBtZW51IHRvZ2dsZSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX19tb2JpbGUtbWVudS10b2dnbGVcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19tb2JpbGUtbWVudS1pY29uIG43LWljb24tbWVudVwiXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEubWVudVRvZ2dsZS5vcGVuLnBheWxvYWQpXCJcbiAgICAgID48L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIE1vYmlsZSBtZW51IGNsb3NlIC0tPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cIm43LWhlYWRlcl9fbW9iaWxlLW1lbnUtY2xvc2UgbjctaWNvbi1jbG9zZVwiXG4gICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLm1lbnVUb2dnbGUuY2xvc2UucGF5bG9hZClcIlxuICAgID48L3NwYW4+XG5cbiAgICA8IS0tIFRvb2xzOiBzZWFyY2gsIG5vdGlmaWNhdGlvbnMsIHVzZSBwcm9maWxlIG9yIGxvZ2luL3NpZ251cCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX190b29sc1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm43LWhlYWRlcl9fc2VhcmNoIHt7ZGF0YS5zZWFyY2guY2xhc3NlcyB8fCAnJ319XCJcbiAgICAgICAgKm5nSWY9XCJkYXRhLnNlYXJjaFwiXG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19zZWFyY2gtaW5wdXRcIlxuICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxuICAgICAgICAgIG5hbWU9XCJzZWFyY2hcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZGF0YS5zZWFyY2guaGludCB8fCAnJ319XCJcbiAgICAgICAgICAoa2V5dXApPVwib25LZXlVcChkYXRhLnNlYXJjaC5wYXlsb2FkLCAkZXZlbnQua2V5Q29kZSwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAvPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJuNy1oZWFkZXJfX3NlYXJjaC1idG5cIlxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGRhdGEuc2VhcmNoLnBheWxvYWQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibjctaGVhZGVyX19zZWFyY2gtYnRuLWxhYmVsXCI+IFNlYXJjaCA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2FjdGlvbnNcIiAqbmdJZj1cImRhdGEuYWN0aW9uc1wiPlxuICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGRhdGEuYWN0aW9uc1wiXG4gICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fYWN0aW9uJyArIChhY3Rpb24uY2xhc3NlcyB8fCAnJylcIlxuICAgICAgICAgIFtkYXRhXT1cImFjdGlvbi5hbmNob3JcIlxuICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWhlYWRlcl9fYWN0aW9uLWljb24ge3sgYWN0aW9uLmljb24gfX1cIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLmJhZGdlXCJcbiAgICAgICAgICAgIGNsYXNzPVwibjctaGVhZGVyX19hY3Rpb24tYmFkZ2Uge3sgYWN0aW9uLmJhZGdlLnRleHQgPyAnaGFzLXRleHQnIDogJycgfX1cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGFjdGlvbi5iYWRnZS50ZXh0IH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L243LWFuY2hvci13cmFwcGVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZWFkZXJfX2J1dHRvbnNcIiAqbmdJZj1cImRhdGEuYnV0dG9uc1wiPlxuICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGRhdGEuYnV0dG9uc1wiXG4gICAgICAgICAgW2NsYXNzZXNdPVwiYnV0dG9uLmNsYXNzZXNcIlxuICAgICAgICAgIFtkYXRhXT1cImJ1dHRvbi5hbmNob3JcIlxuICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIlwiICpuZ0lmPVwiYnV0dG9uLnRleHRcIj4ge3sgYnV0dG9uLnRleHQgfX0gPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwie3tidXR0b24uaWNvbn19XCIgKm5nSWY9XCJidXR0b24uaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibjctaGVhZGVyX19zZWxlY3RzXCIgKm5nSWY9XCJkYXRhLnNlbGVjdHNcIj5cbiAgICAgICAgPG43LWlucHV0LXNlbGVjdFxuICAgICAgICAgICpuZ0Zvcj1cImxldCBzZWxlY3REYXRhIG9mIGRhdGEuc2VsZWN0c1wiXG4gICAgICAgICAgW2RhdGFdPVwic2VsZWN0RGF0YVwiXG4gICAgICAgICAgW2VtaXRdPVwidGhpcy5lbWl0XCJcbiAgICAgICAgPlxuICAgICAgICA8L243LWlucHV0LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibjctaGVhZGVyX191c2VyIHt7ZGF0YS51c2VyLmNsYXNzZXMgfHwgJyd9fVwiXG4gICAgICAgICpuZ0lmPVwiZGF0YS51c2VyXCJcbiAgICAgID5cbiAgICAgICAgPG43LWFuY2hvci13cmFwcGVyXG4gICAgICAgICAgW2NsYXNzZXNdPVwiJ243LWhlYWRlcl9fdXNlci1jb250ZW50J1wiXG4gICAgICAgICAgW2RhdGFdPVwiZGF0YS51c2VyLmFuY2hvclwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwib25DbGljaygkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8bjctYXZhdGFyIFtkYXRhXT1cImRhdGEudXNlclwiIFtlbWl0XT1cInRoaXMuZW1pdFwiPjwvbjctYXZhdGFyPlxuICAgICAgICA8cCBjbGFzcz1cIm43LWhlYWRlcl9fdXNlci1uYW1lXCIgKm5nSWY9XCJkYXRhLnVzZXIubmFtZVwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuNy1oZWFkZXJfX3VzZXItbmFtZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7IGRhdGEudXNlci5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPC9uNy1hbmNob3Itd3JhcHBlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvaGVhZGVyPlxuIl19
@@ -28,9 +28,9 @@ export class HeroComponent {
28
28
  this.emit('enter', { inputPayload: payload, value });
29
29
  }
30
30
  }
31
- HeroComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HeroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- HeroComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: HeroComponent, selector: "n7-hero", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<section *ngIf=\"data\" class=\"n7-hero {{data.classes || ''}}\" \n [ngClass]=\"{ \n 'has-image' : !!data.image, \n 'has-background-image': !!data.backgroundImage \n }\"\n [ngStyle]=\"{ \n 'background-image': getBackgroundImageCssValue(data.backgroundImage)\n }\">\n <div class=\"n7-hero__content\">\n \n <div class=\"n7-hero__text-wrapper\">\n <p class=\"n7-hero__pre-title\" *ngIf=\"data.preTitle\" [innerHTML]=\"data.preTitle\"></p>\n <h2 class=\"n7-hero__title\" [innerHTML]=\"data.title\"></h2>\n <div class=\"n7-hero__text\" *ngIf=\"data.text\" [innerHTML]=\"data.text\"></div>\n <div class=\"n7-hero__input-wrapper\" *ngIf=\"data.input || data.button\">\n <input type=\"text\" \n class=\"n7-hero__input\" \n placeholder=\"{{data.input.placeholder || ''}}\" \n *ngIf=\"data.input\" \n (input)=\"onInputChange(data.input.payload, $event.target.value)\" \n (keyup.enter)=\"onInputEnter(data.input.payload, $event.target.value)\">\n <span class=\"n7-hero__input-icon {{data.input.icon || ''}}\" \n *ngIf=\"data.input && data.input.icon\" \n (click)=\"onClick(data.input.payload)\"></span>\n <ng-container *ngIf=\"data.button\">\n <n7-anchor-wrapper [classes]=\"'n7-hero__btn n7-btn n7-btn-cta n7-btn-l'\"\n [data]=\"data.button.anchor\"\n (clicked)=\"onClick($event)\">\n {{data.button.text}}\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n \n <div class=\"n7-hero__image-wrapper\" *ngIf=\"data.image\">\n <img class=\"n7-hero__image\" src=\"{{data.image}}\" alt=\"\">\n </div>\n\n </div>\n</section>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: HeroComponent, decorators: [{
31
+ HeroComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeroComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
+ HeroComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HeroComponent, selector: "n7-hero", inputs: { data: "data", emit: "emit" }, ngImport: i0, template: "<section *ngIf=\"data\" class=\"n7-hero {{data.classes || ''}}\" \n [ngClass]=\"{ \n 'has-image' : !!data.image, \n 'has-background-image': !!data.backgroundImage \n }\"\n [ngStyle]=\"{ \n 'background-image': getBackgroundImageCssValue(data.backgroundImage)\n }\">\n <div class=\"n7-hero__content\">\n \n <div class=\"n7-hero__text-wrapper\">\n <p class=\"n7-hero__pre-title\" *ngIf=\"data.preTitle\" [innerHTML]=\"data.preTitle\"></p>\n <h2 class=\"n7-hero__title\" [innerHTML]=\"data.title\"></h2>\n <div class=\"n7-hero__text\" *ngIf=\"data.text\" [innerHTML]=\"data.text\"></div>\n <div class=\"n7-hero__input-wrapper\" *ngIf=\"data.input || data.button\">\n <input type=\"text\" \n class=\"n7-hero__input\" \n placeholder=\"{{data.input.placeholder || ''}}\" \n *ngIf=\"data.input\" \n (input)=\"onInputChange(data.input.payload, $event.target.value)\" \n (keyup.enter)=\"onInputEnter(data.input.payload, $event.target.value)\">\n <span class=\"n7-hero__input-icon {{data.input.icon || ''}}\" \n *ngIf=\"data.input && data.input.icon\" \n (click)=\"onClick(data.input.payload)\"></span>\n <ng-container *ngIf=\"data.button\">\n <n7-anchor-wrapper [classes]=\"'n7-hero__btn n7-btn n7-btn-cta n7-btn-l'\"\n [data]=\"data.button.anchor\"\n (clicked)=\"onClick($event)\">\n {{data.button.text}}\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n \n <div class=\"n7-hero__image-wrapper\" *ngIf=\"data.image\">\n <img class=\"n7-hero__image\" src=\"{{data.image}}\" alt=\"\">\n </div>\n\n </div>\n</section>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.AnchorWrapperComponent, selector: "n7-anchor-wrapper", inputs: ["data", "classes"], outputs: ["clicked"] }] });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HeroComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'n7-hero', template: "<section *ngIf=\"data\" class=\"n7-hero {{data.classes || ''}}\" \n [ngClass]=\"{ \n 'has-image' : !!data.image, \n 'has-background-image': !!data.backgroundImage \n }\"\n [ngStyle]=\"{ \n 'background-image': getBackgroundImageCssValue(data.backgroundImage)\n }\">\n <div class=\"n7-hero__content\">\n \n <div class=\"n7-hero__text-wrapper\">\n <p class=\"n7-hero__pre-title\" *ngIf=\"data.preTitle\" [innerHTML]=\"data.preTitle\"></p>\n <h2 class=\"n7-hero__title\" [innerHTML]=\"data.title\"></h2>\n <div class=\"n7-hero__text\" *ngIf=\"data.text\" [innerHTML]=\"data.text\"></div>\n <div class=\"n7-hero__input-wrapper\" *ngIf=\"data.input || data.button\">\n <input type=\"text\" \n class=\"n7-hero__input\" \n placeholder=\"{{data.input.placeholder || ''}}\" \n *ngIf=\"data.input\" \n (input)=\"onInputChange(data.input.payload, $event.target.value)\" \n (keyup.enter)=\"onInputEnter(data.input.payload, $event.target.value)\">\n <span class=\"n7-hero__input-icon {{data.input.icon || ''}}\" \n *ngIf=\"data.input && data.input.icon\" \n (click)=\"onClick(data.input.payload)\"></span>\n <ng-container *ngIf=\"data.button\">\n <n7-anchor-wrapper [classes]=\"'n7-hero__btn n7-btn n7-btn-cta n7-btn-l'\"\n [data]=\"data.button.anchor\"\n (clicked)=\"onClick($event)\">\n {{data.button.text}}\n </n7-anchor-wrapper>\n </ng-container>\n </div>\n </div>\n \n <div class=\"n7-hero__image-wrapper\" *ngIf=\"data.image\">\n <img class=\"n7-hero__image\" src=\"{{data.image}}\" alt=\"\">\n </div>\n\n </div>\n</section>" }]
36
36
  }], propDecorators: { data: [{
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
38
38
  }], emit: [{
39
39
  type: Input
40
40
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVyby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R2LWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZXJvL2hlcm8udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVyby9oZXJvLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkJBQTZCO0FBQzdCLFVBQVU7QUFDViw2QkFBNkI7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUEyRWpELE1BQU0sT0FBTyxhQUFhO0lBS3hCLDBCQUEwQixDQUFDLGVBQWU7UUFDeEMsSUFBSSxlQUFlLEVBQUU7WUFDbkIsT0FBTyxPQUFPLGVBQWUsR0FBRyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OzJHQTVCVSxhQUFhOytGQUFiLGFBQWEsdUZDL0UxQix3N0RBdUNVOzRGRHdDRyxhQUFhO2tCQUp6QixTQUFTOytCQUNFLFNBQVM7OEJBSVYsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIRVJPLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmNob3IgfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBIZXJvQ29tcG9uZW50J3MgXCJkYXRhXCJcbiAqXG4gKiBAcHJvcGVydHkgdGl0bGUgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGlucHV0IChvcHRpb25hbClcbiAqIC0gcGxhY2Vob2xkZXIgKG9wdGlvbmFsKVxuICogLSBpY29uIChvcHRpb25hbClcbiAqIC0gcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgYnV0dG9uIChvcHRpb25hbClcbiAqIC0gdGV4dCAob3B0aW9uYWwpXG4gKiAtIGFuY2hvciAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgaW1hZ2UgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGJhY2tncm91bmRJbWFnZSAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlcm9EYXRhIHtcbiAgLyoqXG4gICAqIG1haW4gdGV4dCBkaXNwbGF5ZWQgaW4gdGhlIGhlcm8gc2VjdGlvblxuICAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKipcbiAgICogb3B0aW9uYWwgdGV4dCBkaXNwbGF5ZWQgYWJvdmUgdGhlIHRpdGxlXG4gICAqL1xuICBwcmVUaXRsZT86IHN0cmluZztcbiAgLyoqXG4gICogYWRkaXRpb25hbCB0ZXh0IHVuZGVyIHRoZSB0aXRsZVxuICAqL1xuICB0ZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgKiBpbnB1dCBmaWVsZCAodXN1YWxseSBmb3Igc2VhcmNoKSBhbmQgaXQncyBwYXJhbWV0ZXJzXG4gICovXG4gIGlucHV0Pzoge1xuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIHBheWxvYWQ6IGFueTtcbiAgfTtcbiAgLyoqXG4gICogY2FsbCB0byBhY3Rpb24gYnV0dG9uIGFuZCBpdCdzIHBhcmFtZXRlcnNcbiAgKi9cbiAgYnV0dG9uPzoge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBhbmNob3I/OiBBbmNob3I7XG4gIH07XG4gIC8qKlxuICAgKiBpbWFnZSBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBoZXJvXG4gICAqL1xuICBpbWFnZT86IHN0cmluZztcbiAgLyoqXG4gICogYmFja2dyb3VuZCBpbWFnZSB0aGF0IGNvdmVycyB0aGUgZnVsbCBiYWNrZ3JvdW5kIGFyZWEgb2YgdGhlIGhlcm9cbiAgKi9cbiAgYmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xuICAvKipcbiAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAqL1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICAvKipcbiAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICovXG4gIHBheWxvYWQ/OiBhbnk7XG4gIC8qKlxuICAqIGFkZGl0aW9uYWwgaW5mb1xuICAqL1xuICBfbWV0YT86IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGVybycsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZXJvLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhlcm9Db21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBIZXJvRGF0YTtcblxuICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgZ2V0QmFja2dyb3VuZEltYWdlQ3NzVmFsdWUoYmFja2dyb3VuZEltYWdlKSB7XG4gICAgaWYgKGJhY2tncm91bmRJbWFnZSkge1xuICAgICAgcmV0dXJuIGB1cmwoJHtiYWNrZ3JvdW5kSW1hZ2V9KWA7XG4gICAgfVxuICAgIHJldHVybiAnbm9uZSc7XG4gIH1cblxuICBvbkNsaWNrKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuXG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZShwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2NoYW5nZScsIHsgaW5wdXRQYXlsb2FkOiBwYXlsb2FkLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uSW5wdXRFbnRlcihwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2VudGVyJywgeyBpbnB1dFBheWxvYWQ6IHBheWxvYWQsIHZhbHVlIH0pO1xuICB9XG59XG4iLCI8c2VjdGlvbiAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhlcm8ge3tkYXRhLmNsYXNzZXMgfHwgJyd9fVwiIFxuICAgIFtuZ0NsYXNzXT1cInsgXG4gICAgICAgICdoYXMtaW1hZ2UnIDogISFkYXRhLmltYWdlLCBcbiAgICAgICAgJ2hhcy1iYWNrZ3JvdW5kLWltYWdlJzogISFkYXRhLmJhY2tncm91bmRJbWFnZSBcbiAgICB9XCJcbiAgICBbbmdTdHlsZV09XCJ7IFxuICAgICAgICAnYmFja2dyb3VuZC1pbWFnZSc6IGdldEJhY2tncm91bmRJbWFnZUNzc1ZhbHVlKGRhdGEuYmFja2dyb3VuZEltYWdlKVxuICAgIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19fY29udGVudFwiPlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWhlcm9fX3RleHQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJuNy1oZXJvX19wcmUtdGl0bGVcIiAqbmdJZj1cImRhdGEucHJlVGl0bGVcIiBbaW5uZXJIVE1MXT1cImRhdGEucHJlVGl0bGVcIj48L3A+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJuNy1oZXJvX190aXRsZVwiIFtpbm5lckhUTUxdPVwiZGF0YS50aXRsZVwiPjwvaDI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19fdGV4dFwiICpuZ0lmPVwiZGF0YS50ZXh0XCIgW2lubmVySFRNTF09XCJkYXRhLnRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZXJvX19pbnB1dC13cmFwcGVyXCIgKm5nSWY9XCJkYXRhLmlucHV0IHx8IGRhdGEuYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVyb19faW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e2RhdGEuaW5wdXQucGxhY2Vob2xkZXIgfHwgJyd9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuaW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoZGF0YS5pbnB1dC5wYXlsb2FkLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25JbnB1dEVudGVyKGRhdGEuaW5wdXQucGF5bG9hZCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWhlcm9fX2lucHV0LWljb24ge3tkYXRhLmlucHV0Lmljb24gfHwgJyd9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5pbnB1dCAmJiBkYXRhLmlucHV0Lmljb25cIiBcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLmlucHV0LnBheWxvYWQpXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXIgW2NsYXNzZXNdPVwiJ243LWhlcm9fX2J0biBuNy1idG4gbjctYnRuLWN0YSBuNy1idG4tbCdcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhLmJ1dHRvbi5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YS5idXR0b24udGV4dH19XG4gICAgICAgICAgICAgICAgICAgIDwvbjctYW5jaG9yLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19faW1hZ2Utd3JhcHBlclwiICpuZ0lmPVwiZGF0YS5pbWFnZVwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm43LWhlcm9fX2ltYWdlXCIgc3JjPVwie3tkYXRhLmltYWdlfX1cIiBhbHQ9XCJcIj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVyby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R2LWNvbXBvbmVudHMtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZXJvL2hlcm8udHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdi1jb21wb25lbnRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaGVyby9oZXJvLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkJBQTZCO0FBQzdCLFVBQVU7QUFDViw2QkFBNkI7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUEyRWpELE1BQU0sT0FBTyxhQUFhO0lBS3hCLDBCQUEwQixDQUFDLGVBQWU7UUFDeEMsSUFBSSxlQUFlLEVBQUU7WUFDbkIsT0FBTyxPQUFPLGVBQWUsR0FBRyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFPO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTztRQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQU8sRUFBRSxLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OzBHQTVCVSxhQUFhOzhGQUFiLGFBQWEsdUZDL0UxQix3N0RBdUNVOzJGRHdDRyxhQUFhO2tCQUp6QixTQUFTOytCQUNFLFNBQVM7OEJBSVYsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIRVJPLnRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbmNob3IgfSBmcm9tICcuLi8uLi9zaGFyZWQtaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBIZXJvQ29tcG9uZW50J3MgXCJkYXRhXCJcbiAqXG4gKiBAcHJvcGVydHkgdGl0bGUgKHJlcXVpcmVkKVxuICogQHByb3BlcnR5IHRleHQgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGlucHV0IChvcHRpb25hbClcbiAqIC0gcGxhY2Vob2xkZXIgKG9wdGlvbmFsKVxuICogLSBpY29uIChvcHRpb25hbClcbiAqIC0gcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgYnV0dG9uIChvcHRpb25hbClcbiAqIC0gdGV4dCAob3B0aW9uYWwpXG4gKiAtIGFuY2hvciAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgaW1hZ2UgKG9wdGlvbmFsKVxuICogQHByb3BlcnR5IGJhY2tncm91bmRJbWFnZSAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgY2xhc3NlcyAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgcGF5bG9hZCAob3B0aW9uYWwpXG4gKiBAcHJvcGVydHkgX21ldGEgKG9wdGlvbmFsKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlcm9EYXRhIHtcbiAgLyoqXG4gICAqIG1haW4gdGV4dCBkaXNwbGF5ZWQgaW4gdGhlIGhlcm8gc2VjdGlvblxuICAqL1xuICB0aXRsZTogc3RyaW5nO1xuICAvKipcbiAgICogb3B0aW9uYWwgdGV4dCBkaXNwbGF5ZWQgYWJvdmUgdGhlIHRpdGxlXG4gICAqL1xuICBwcmVUaXRsZT86IHN0cmluZztcbiAgLyoqXG4gICogYWRkaXRpb25hbCB0ZXh0IHVuZGVyIHRoZSB0aXRsZVxuICAqL1xuICB0ZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgKiBpbnB1dCBmaWVsZCAodXN1YWxseSBmb3Igc2VhcmNoKSBhbmQgaXQncyBwYXJhbWV0ZXJzXG4gICovXG4gIGlucHV0Pzoge1xuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgaWNvbjogc3RyaW5nO1xuICAgIHBheWxvYWQ6IGFueTtcbiAgfTtcbiAgLyoqXG4gICogY2FsbCB0byBhY3Rpb24gYnV0dG9uIGFuZCBpdCdzIHBhcmFtZXRlcnNcbiAgKi9cbiAgYnV0dG9uPzoge1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBhbmNob3I/OiBBbmNob3I7XG4gIH07XG4gIC8qKlxuICAgKiBpbWFnZSBkaXNwbGF5ZWQgaW5zaWRlIHRoZSBoZXJvXG4gICAqL1xuICBpbWFnZT86IHN0cmluZztcbiAgLyoqXG4gICogYmFja2dyb3VuZCBpbWFnZSB0aGF0IGNvdmVycyB0aGUgZnVsbCBiYWNrZ3JvdW5kIGFyZWEgb2YgdGhlIGhlcm9cbiAgKi9cbiAgYmFja2dyb3VuZEltYWdlPzogc3RyaW5nO1xuICAvKipcbiAgKiBhZGRpdGlvbmFsIGh0bWwgY2xhc3Nlc1xuICAqL1xuICBjbGFzc2VzPzogc3RyaW5nO1xuICAvKipcbiAgKiBhY3Rpb24gY2xpY2sncyBwYXlsb2FkXG4gICovXG4gIHBheWxvYWQ/OiBhbnk7XG4gIC8qKlxuICAqIGFkZGl0aW9uYWwgaW5mb1xuICAqL1xuICBfbWV0YT86IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbjctaGVybycsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZXJvLmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhlcm9Db21wb25lbnQge1xuICBASW5wdXQoKSBkYXRhOiBIZXJvRGF0YTtcblxuICBASW5wdXQoKSBlbWl0OiBhbnk7XG5cbiAgZ2V0QmFja2dyb3VuZEltYWdlQ3NzVmFsdWUoYmFja2dyb3VuZEltYWdlKSB7XG4gICAgaWYgKGJhY2tncm91bmRJbWFnZSkge1xuICAgICAgcmV0dXJuIGB1cmwoJHtiYWNrZ3JvdW5kSW1hZ2V9KWA7XG4gICAgfVxuICAgIHJldHVybiAnbm9uZSc7XG4gIH1cblxuICBvbkNsaWNrKHBheWxvYWQpIHtcbiAgICBpZiAoIXRoaXMuZW1pdCkgcmV0dXJuO1xuXG4gICAgdGhpcy5lbWl0KCdjbGljaycsIHBheWxvYWQpO1xuICB9XG5cbiAgb25JbnB1dENoYW5nZShwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2NoYW5nZScsIHsgaW5wdXRQYXlsb2FkOiBwYXlsb2FkLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIG9uSW5wdXRFbnRlcihwYXlsb2FkLCB2YWx1ZSkge1xuICAgIGlmICghdGhpcy5lbWl0KSByZXR1cm47XG5cbiAgICB0aGlzLmVtaXQoJ2VudGVyJywgeyBpbnB1dFBheWxvYWQ6IHBheWxvYWQsIHZhbHVlIH0pO1xuICB9XG59XG4iLCI8c2VjdGlvbiAqbmdJZj1cImRhdGFcIiBjbGFzcz1cIm43LWhlcm8ge3tkYXRhLmNsYXNzZXMgfHwgJyd9fVwiIFxuICAgIFtuZ0NsYXNzXT1cInsgXG4gICAgICAgICdoYXMtaW1hZ2UnIDogISFkYXRhLmltYWdlLCBcbiAgICAgICAgJ2hhcy1iYWNrZ3JvdW5kLWltYWdlJzogISFkYXRhLmJhY2tncm91bmRJbWFnZSBcbiAgICB9XCJcbiAgICBbbmdTdHlsZV09XCJ7IFxuICAgICAgICAnYmFja2dyb3VuZC1pbWFnZSc6IGdldEJhY2tncm91bmRJbWFnZUNzc1ZhbHVlKGRhdGEuYmFja2dyb3VuZEltYWdlKVxuICAgIH1cIj5cbiAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19fY29udGVudFwiPlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz1cIm43LWhlcm9fX3RleHQtd3JhcHBlclwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJuNy1oZXJvX19wcmUtdGl0bGVcIiAqbmdJZj1cImRhdGEucHJlVGl0bGVcIiBbaW5uZXJIVE1MXT1cImRhdGEucHJlVGl0bGVcIj48L3A+XG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJuNy1oZXJvX190aXRsZVwiIFtpbm5lckhUTUxdPVwiZGF0YS50aXRsZVwiPjwvaDI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19fdGV4dFwiICpuZ0lmPVwiZGF0YS50ZXh0XCIgW2lubmVySFRNTF09XCJkYXRhLnRleHRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuNy1oZXJvX19pbnB1dC13cmFwcGVyXCIgKm5nSWY9XCJkYXRhLmlucHV0IHx8IGRhdGEuYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibjctaGVyb19faW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e2RhdGEuaW5wdXQucGxhY2Vob2xkZXIgfHwgJyd9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGEuaW5wdXRcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoZGF0YS5pbnB1dC5wYXlsb2FkLCAkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIFxuICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25JbnB1dEVudGVyKGRhdGEuaW5wdXQucGF5bG9hZCwgJGV2ZW50LnRhcmdldC52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm43LWhlcm9fX2lucHV0LWljb24ge3tkYXRhLmlucHV0Lmljb24gfHwgJyd9fVwiIFxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS5pbnB1dCAmJiBkYXRhLmlucHV0Lmljb25cIiBcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhkYXRhLmlucHV0LnBheWxvYWQpXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhLmJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bjctYW5jaG9yLXdyYXBwZXIgW2NsYXNzZXNdPVwiJ243LWhlcm9fX2J0biBuNy1idG4gbjctYnRuLWN0YSBuNy1idG4tbCdcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJkYXRhLmJ1dHRvbi5hbmNob3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ZGF0YS5idXR0b24udGV4dH19XG4gICAgICAgICAgICAgICAgICAgIDwvbjctYW5jaG9yLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPVwibjctaGVyb19faW1hZ2Utd3JhcHBlclwiICpuZ0lmPVwiZGF0YS5pbWFnZVwiPlxuICAgICAgICAgICAgPGltZyBjbGFzcz1cIm43LWhlcm9fX2ltYWdlXCIgc3JjPVwie3tkYXRhLmltYWdlfX1cIiBhbHQ9XCJcIj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj4iXX0=