croco-html 2.42.0 → 2.45.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.
package/README.md CHANGED
@@ -10,13 +10,53 @@ npm publish
10
10
  "assets": [
11
11
  "shared/sprites"
12
12
  ]
13
- 4. в контейнер-проект в angular.json нужно добавить внутрь "assets" следующий код:
13
+ 4. в контейнер-проект в angular.json нужно добавить внутрь
14
+ "projects"."YourProjectApp"."architect"."build"."options"."assets" следующий код:
14
15
  {
15
16
  "glob": "**/*",
16
17
  "input": "node_modules/croco-html/lib/assets/sprites/",
17
18
  "output": "/assets/sprites/"
18
19
  }
19
- ps: нужно быть предельно внимательным к прописываемым путям!
20
+ ps: нужно быть предельно внимательным к прописываемым путям!
21
+
22
+ Например так
23
+ {
24
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
25
+ "version": 1,
26
+ "newProjectRoot": "projects",
27
+ "projects": {
28
+ "GenericApp": {
29
+ "root": "",
30
+ "sourceRoot": "src",
31
+ "projectType": "application",
32
+ "prefix": "app",
33
+ "schematics": {},
34
+ "architect": {
35
+ "build": {
36
+ "builder": "@angular-devkit/build-angular:browser",
37
+ "options": {
38
+ "allowedCommonJsDependencies": ["bezier-easing"],
39
+ "progress": false,
40
+ "outputPath": "dist",
41
+ "index": "src/index.html",
42
+ "main": "src/main.ts",
43
+ "polyfills": "src/polyfills.ts",
44
+ "tsConfig": "src/tsconfig.app.json",
45
+ "assets": [
46
+ "src/assets",
47
+ "src/manifest.webmanifest",
48
+ {
49
+ "glob": "**/*",
50
+ "input": "node_modules/croco-html/lib/assets/sprites/",
51
+ "output": "/assets/sprites/"
52
+ }
53
+ ],
54
+ }
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
20
60
 
21
61
 
22
62
 
@@ -60,7 +60,7 @@ export class MainEditorComponent {
60
60
  this.visualEditor.recalculateBodyTags();
61
61
  }
62
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MainEditorComponent, deps: [{ token: i1.ClipboardService }, { token: i2.MatSnackBar }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: MainEditorComponent, isStandalone: true, selector: "croco-html-main-editor", inputs: { showMarkUp: "showMarkUp", useHtmlRaw: "useHtmlRaw", html: "html" }, outputs: { html: "html", onHtmlChanged: "onHtmlChanged" }, viewQueries: [{ propertyName: "visualEditor", first: true, predicate: ["visualEditor"], descendants: true, static: true }], ngImport: i0, template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\" viewBox=\"0 0 32 30\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M31.8081 14.1889C28.797 8.31109 22.8303 4.33331 16.0026 4.33331C9.17479 4.33331 3.20813 8.31109 0.197015 14.1889C0.0700503 14.4404 0.00390625 14.7182 0.00390625 15C0.00390625 15.2817 0.0700503 15.5596 0.197015 15.8111C3.20813 21.6889 9.17479 25.6666 16.0026 25.6666C22.8303 25.6666 28.797 21.6889 31.8081 15.8111C31.9351 15.5596 32.0012 15.2817 32.0012 15C32.0012 14.7182 31.9351 14.4404 31.8081 14.1889ZM16.0026 23C14.4203 23 12.8736 22.5308 11.558 21.6517C10.2424 20.7727 9.21704 19.5233 8.61154 18.0614C8.00603 16.5996 7.84761 14.9911 8.15629 13.4393C8.46497 11.8874 9.2269 10.4619 10.3457 9.34313C11.4645 8.22431 12.89 7.46238 14.4418 7.1537C15.9937 6.84502 17.6022 7.00344 19.064 7.60894C20.5258 8.21444 21.7753 9.23982 22.6543 10.5554C23.5334 11.871 24.0026 13.4177 24.0026 15C24.0033 16.0508 23.7969 17.0914 23.3951 18.0623C22.9933 19.0332 22.4041 19.9154 21.6611 20.6585C20.918 21.4015 20.0358 21.9907 19.0649 22.3925C18.094 22.7943 17.0534 23.0007 16.0026 23ZM16.0026 9.66665C15.5267 9.67352 15.0539 9.74453 14.597 9.87776C14.9689 10.3904 15.1459 11.0188 15.096 11.6502C15.0461 12.2815 14.7726 12.8744 14.3248 13.3222C13.877 13.7701 13.2841 14.0435 12.6528 14.0934C12.0214 14.1433 11.393 13.9664 10.8803 13.5944C10.5886 14.6689 10.6413 15.8079 11.0308 16.8509C11.4203 17.8939 12.1271 18.7885 13.0518 19.4088C13.9764 20.029 15.0723 20.3436 16.1851 20.3084C17.2979 20.2732 18.3717 19.8898 19.2552 19.2123C20.1388 18.5348 20.7876 17.5973 21.1103 16.5317C21.4331 15.4661 21.4135 14.3261 21.0544 13.2722C20.6953 12.2183 20.0147 11.3036 19.1085 10.6568C18.2022 10.01 17.116 9.6637 16.0026 9.66665Z\"/>\n <rect width=\"32\" height=\"28.4444\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: VisualEditorComponent, selector: "croco-visual-editor", inputs: ["showMarkUp", "useHtmlRaw", "html"], outputs: ["html", "onHtmlChanged", "rendered"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: HtmlViewComponent, selector: "croco-html-view", inputs: ["html"] }, { kind: "pipe", type: SpriteIconPathPipe, name: "spriteIconPath" }] }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: MainEditorComponent, isStandalone: true, selector: "croco-html-main-editor", inputs: { showMarkUp: "showMarkUp", useHtmlRaw: "useHtmlRaw", html: "html" }, outputs: { html: "html", onHtmlChanged: "onHtmlChanged" }, viewQueries: [{ propertyName: "visualEditor", first: true, predicate: ["visualEditor"], descendants: true, static: true }], ngImport: i0, template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\">\n <use [attr.xlink:href]=\"'viewer-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: VisualEditorComponent, selector: "croco-visual-editor", inputs: ["showMarkUp", "useHtmlRaw", "html"], outputs: ["html", "onHtmlChanged", "rendered"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i5.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i5.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: HtmlViewComponent, selector: "croco-html-view", inputs: ["html"] }, { kind: "pipe", type: SpriteIconPathPipe, name: "spriteIconPath" }] }); }
64
64
  }
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MainEditorComponent, decorators: [{
66
66
  type: Component,
@@ -79,7 +79,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
79
79
  MatIcon,
80
80
  NgTemplateOutlet,
81
81
  SpriteIconPathPipe
82
- ], template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\" viewBox=\"0 0 32 30\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M31.8081 14.1889C28.797 8.31109 22.8303 4.33331 16.0026 4.33331C9.17479 4.33331 3.20813 8.31109 0.197015 14.1889C0.0700503 14.4404 0.00390625 14.7182 0.00390625 15C0.00390625 15.2817 0.0700503 15.5596 0.197015 15.8111C3.20813 21.6889 9.17479 25.6666 16.0026 25.6666C22.8303 25.6666 28.797 21.6889 31.8081 15.8111C31.9351 15.5596 32.0012 15.2817 32.0012 15C32.0012 14.7182 31.9351 14.4404 31.8081 14.1889ZM16.0026 23C14.4203 23 12.8736 22.5308 11.558 21.6517C10.2424 20.7727 9.21704 19.5233 8.61154 18.0614C8.00603 16.5996 7.84761 14.9911 8.15629 13.4393C8.46497 11.8874 9.2269 10.4619 10.3457 9.34313C11.4645 8.22431 12.89 7.46238 14.4418 7.1537C15.9937 6.84502 17.6022 7.00344 19.064 7.60894C20.5258 8.21444 21.7753 9.23982 22.6543 10.5554C23.5334 11.871 24.0026 13.4177 24.0026 15C24.0033 16.0508 23.7969 17.0914 23.3951 18.0623C22.9933 19.0332 22.4041 19.9154 21.6611 20.6585C20.918 21.4015 20.0358 21.9907 19.0649 22.3925C18.094 22.7943 17.0534 23.0007 16.0026 23ZM16.0026 9.66665C15.5267 9.67352 15.0539 9.74453 14.597 9.87776C14.9689 10.3904 15.1459 11.0188 15.096 11.6502C15.0461 12.2815 14.7726 12.8744 14.3248 13.3222C13.877 13.7701 13.2841 14.0435 12.6528 14.0934C12.0214 14.1433 11.393 13.9664 10.8803 13.5944C10.5886 14.6689 10.6413 15.8079 11.0308 16.8509C11.4203 17.8939 12.1271 18.7885 13.0518 19.4088C13.9764 20.029 15.0723 20.3436 16.1851 20.3084C17.2979 20.2732 18.3717 19.8898 19.2552 19.2123C20.1388 18.5348 20.7876 17.5973 21.1103 16.5317C21.4331 15.4661 21.4135 14.3261 21.0544 13.2722C20.6953 12.2183 20.0147 11.3036 19.1085 10.6568C18.2022 10.01 17.116 9.6637 16.0026 9.66665Z\"/>\n <rect width=\"32\" height=\"28.4444\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
82
+ ], template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\">\n <use [attr.xlink:href]=\"'viewer-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
83
83
  }], ctorParameters: () => [{ type: i1.ClipboardService }, { type: i2.MatSnackBar }, { type: i0.ChangeDetectorRef }], propDecorators: { visualEditor: [{
84
84
  type: ViewChild,
85
85
  args: ["visualEditor", { static: true }]
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
94
94
  }], onHtmlChanged: [{
95
95
  type: Output
96
96
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL21haW4tZWRpdG9yL21haW4tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9tYWluLWVkaXRvci9tYWluLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlELFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakosT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMs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WixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQ2xpcGJvYXJkU2VydmljZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xuaW1wb3J0IHsgVmlzdWFsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlzdWFsLWVkaXRvci92aXN1YWwtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBYbWxUYWdWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4veG1sLXRhZ3MveG1sLXRhZy12aWV3L3htbC10YWctdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2RrVGV4dGFyZWFBdXRvc2l6ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgSHRtbFZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vaHRtbC12aWV3L2h0bWwtdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtTcHJpdGVJY29uUGF0aFBpcGV9IGZyb20gXCIuLi8uLi8uLi9waXBlcy9zcHJpdGUtaWNvbi1wYXRoLnBpcGVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjcm9jby1odG1sLW1haW4tZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21haW4tZWRpdG9yLmNvbXBvbmVudC5jc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBWaXN1YWxFZGl0b3JDb21wb25lbnQsXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdExhYmVsLFxuICAgIE1hdElucHV0LFxuICAgIENka1RleHRhcmVhQXV0b3NpemUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgWG1sVGFnVmlld0NvbXBvbmVudCxcbiAgICBIdG1sVmlld0NvbXBvbmVudCxcbiAgICBNYXRJY29uLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgU3ByaXRlSWNvblBhdGhQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFpbkVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgdmlzdWFsRWRpdG9yUmVuZGVyZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFwidmlzdWFsRWRpdG9yXCIsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHZpc3VhbEVkaXRvcjogVmlzdWFsRWRpdG9yQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHNob3dNYXJrVXAgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHVzZUh0bWxSYXcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBAT3V0cHV0KClcbiAgaHRtbDogc3RyaW5nID0gXCJcIjtcblxuICBAT3V0cHV0KClcbiAgb25IdG1sQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NsaXBib2FyZFNlcnZpY2U6IENsaXBib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgX2NkcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX2NkcmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHZpc3VhbEVkaXRvclJlbmRlcmVkSGFuZGxlcigpe1xuICAgIHRoaXMudmlzdWFsRWRpdG9yUmVuZGVyZWQgPSB0cnVlO1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG5cbiAgb25IdG1sQ2hhbmdlZEhhbmRsZXIoaHRtbDogc3RyaW5nKSB7XG4gICAgdGhpcy5odG1sID0gaHRtbDtcbiAgICB0aGlzLm9uSHRtbENoYW5nZWQuZW1pdChodG1sKTtcbiAgfVxuXG4gIHRleHRBcmVhTW9kZWxDaGFuZ2VkSGFuZGxlcigpe1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICAgIHRoaXMub25IdG1sQ2hhbmdlZEhhbmRsZXIodGhpcy5odG1sKTtcbiAgfVxuXG4gIHJlY2FsY3VsYXRlQm9keVRhZ3MoKSB7XG4gICAgdGhpcy52aXN1YWxFZGl0b3IuaHRtbCA9IHRoaXMuaHRtbDtcbiAgICB0aGlzLnZpc3VhbEVkaXRvci5yZWNhbGN1bGF0ZUJvZHlUYWdzKCk7XG4gICAgdGhpcy5fY2RyZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjb3B5TWFya1VwKCkge1xuICAgIHRoaXMuX3NuYWNrQmFyLm9wZW4oXCLQoNCw0LfQvNC10YLQutCwINGB0LrQvtC/0LjRgNC+0LLQsNC90LAg0LIg0LHRg9GE0LXRgCDQvtCx0LzQtdC90LBcIiwgXCLQl9Cw0LrRgNGL0YLRjFwiLCB7IGR1cmF0aW9uOiAxNTAwIH0pO1xuICAgIHRoaXMuX2NsaXBib2FyZFNlcnZpY2UuY29weSh0aGlzLmh0bWwpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy52aXN1YWxFZGl0b3IucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG59XG4iLCI8bWF0LXRhYi1ncm91cCBtYXQtc3RyZXRjaC10YWJzPVwiZmFsc2VcIiBtYXQtYWxpZ24tdGFicz1cInN0YXJ0XCI+XG4gIDxtYXQtdGFiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgPHN2ZyBjbGFzcz1cImN1c3RvbS1pY29uXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI2XCI+XG4gICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCIndmlzdWFsLWVkaXRvci10YWInIHwgc3ByaXRlSWNvblBhdGhcIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAyMHB4O1wiPjwvZGl2PlxuXG4gICAgPGNyb2NvLXZpc3VhbC1lZGl0b3IgI3Zpc3VhbEVkaXRvclxuICAgICAgW3VzZUh0bWxSYXddPVwidXNlSHRtbFJhd1wiXG4gICAgICBbaHRtbF09XCJodG1sXCJcbiAgICAgIChvbkh0bWxDaGFuZ2VkKT1cIm9uSHRtbENoYW5nZWRIYW5kbGVyKCRldmVudClcIlxuICAgICAgKHJlbmRlcmVkKT1cInZpc3VhbEVkaXRvclJlbmRlcmVkSGFuZGxlcigpXCI+XG4gICAgPC9jcm9jby12aXN1YWwtZWRpdG9yPlxuXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMjBweDtcIj48L2Rpdj5cblxuICA8L21hdC10YWI+XG5cbiAgPG1hdC10YWI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICA8c3ZnIGNsYXNzPVwiY3VzdG9tLWljb25cIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjZcIj5cbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cIidzb3VyY2UtY29kZS10YWInIHwgc3ByaXRlSWNvblBhdGhcIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIEBpZiAodmlzdWFsRWRpdG9yUmVuZGVyZWQpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD7QmNGB0YXQvtC00L3Ri9C5INC60L7QtDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBjZGtUZXh0YXJlYUF1dG9zaXplICNhdXRvc2l6ZT1cImNka1RleHRhcmVhQXV0b3NpemVcIlxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cItCY0YHRhdC+0LTQvdGL0Lkg0LrQvtC0XCIgWyhuZ01vZGVsKV09XCJodG1sXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0ZXh0QXJlYU1vZGVsQ2hhbmdlZEhhbmRsZXIoKVwiPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjb3B5TWFya1VwKClcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICDQmtC+0L/QuNGA0L7QstCw0YLRjCDRgNCw0LfQvNC10YLQutGDXG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICA8c3ZnIGNsYXNzPVwiY3VzdG9tLWljb25cIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMyIDMwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMzEuODA4MSAxNC4xODg5QzI4Ljc5NyA4LjMxMTA5IDIyLjgzMDMgNC4zMzMzMSAxNi4wMDI2IDQuMzMzMzFDOS4xNzQ3OSA0LjMzMzMxIDMuMjA4MTMgOC4zMTEwOSAwLjE5NzAxNSAxNC4xODg5QzAuMDcwMDUwMyAxNC40NDA0IDAuMDAzOTA2MjUgMTQuNzE4MiAwLjAwMzkwNjI1IDE1QzAuMDAzOTA2MjUgMTUuMjgxNyAwLjA3MDA1MDMgMTUuNTU5NiAwLjE5NzAxNSAxNS44MTExQzMuMjA4MTMgMjEuNjg4OSA5LjE3NDc5IDI1LjY2NjYgMTYuMDAyNiAyNS42NjY2QzIyLjgzMDMgMjUuNjY2NiAyOC43OTcgMjEuNjg4OSAzMS44MDgxIDE1LjgxMTFDMzEuOTM1MSAxNS41NTk2IDMyLjAwMTIgMTUuMjgxNyAzMi4wMDEyIDE1QzMyLjAwMTIgMTQuNzE4MiAzMS45MzUxIDE0LjQ0MDQgMzEuODA4MSAxNC4xODg5Wk0xNi4wMDI2IDIzQzE0LjQyMDMgMjMgMTIuODczNiAyMi41MzA4IDExLjU1OCAyMS42NTE3QzEwLjI0MjQgMjAuNzcyNyA5LjIxNzA0IDE5LjUyMzMgOC42MTE1NCAxOC4wNjE0QzguMDA2MDMgMTYuNTk5NiA3Ljg0NzYxIDE0Ljk5MTEgOC4xNTYyOSAxMy40MzkzQzguNDY0OTcgMTEuODg3NCA5LjIyNjkgMTAuNDYxOSAxMC4zNDU3IDkuMzQzMTNDMTEuNDY0NSA4LjIyNDMxIDEyLjg5IDcuNDYyMzggMTQuNDQxOCA3LjE1MzdDMTUuOTkzNyA2Ljg0NTAyIDE3LjYwMjIgNy4wMDM0NCAxOS4wNjQgNy42MDg5NEMyMC41MjU4IDguMjE0NDQgMjEuNzc1MyA5LjIzOTgyIDIyLjY1NDMgMTAuNTU1NEMyMy41MzM0IDExLjg3MSAyNC4wMDI2IDEzLjQxNzcgMjQuMDAyNiAxNUMyNC4wMDMzIDE2LjA1MDggMjMuNzk2OSAxNy4wOTE0IDIzLjM5NTEgMTguMDYyM0MyMi45OTMzIDE5LjAzMzIgMjIuNDA0MSAxOS45MTU0IDIxLjY2MTEgMjAuNjU4NUMyMC45MTggMjEuNDAxNSAyMC4wMzU4IDIxLjk5MDcgMTkuMDY0OSAyMi4zOTI1QzE4LjA5NCAyMi43OTQzIDE3LjA1MzQgMjMuMDAwNyAxNi4wMDI2IDIzWk0xNi4wMDI2IDkuNjY2NjVDMTUuNTI2NyA5LjY3MzUyIDE1LjA1MzkgOS43NDQ1MyAxNC41OTcgOS44Nzc3NkMxNC45Njg5IDEwLjM5MDQgMTUuMTQ1OSAxMS4wMTg4IDE1LjA5NiAxMS42NTAyQzE1LjA0NjEgMTIuMjgxNSAxNC43NzI2IDEyLjg3NDQgMTQuMzI0OCAxMy4zMjIyQzEzLjg3NyAxMy43NzAxIDEzLjI4NDEgMTQuMDQzNSAxMi42NTI4IDE0LjA5MzRDMTIuMDIxNCAxNC4xNDMzIDExLjM5MyAxMy45NjY0IDEwLjg4MDMgMTMuNTk0NEMxMC41ODg2IDE0LjY2ODkgMTAuNjQxMyAxNS44MDc5IDExLjAzMDggMTYuODUwOUMxMS40MjAzIDE3Ljg5MzkgMTIuMTI3MSAxOC43ODg1IDEzLjA1MTggMTkuNDA4OEMxMy45NzY0IDIwLjAyOSAxNS4wNzIzIDIwLjM0MzYgMTYuMTg1MSAyMC4zMDg0QzE3LjI5NzkgMjAuMjczMiAxOC4zNzE3IDE5Ljg4OTggMTkuMjU1MiAxOS4yMTIzQzIwLjEzODggMTguNTM0OCAyMC43ODc2IDE3LjU5NzMgMjEuMTEwMyAxNi41MzE3QzIxLjQzMzEgMTUuNDY2MSAyMS40MTM1IDE0LjMyNjEgMjEuMDU0NCAxMy4yNzIyQzIwLjY5NTMgMTIuMjE4MyAyMC4wMTQ3IDExLjMwMzYgMTkuMTA4NSAxMC42NTY4QzE4LjIwMjIgMTAuMDEgMTcuMTE2IDkuNjYzNyAxNi4wMDI2IDkuNjY2NjVaXCIvPlxuICAgICAgICA8cmVjdCB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjguNDQ0NFwiIGZpbGw9XCJub25lXCIvPlxuICAgICAgPC9zdmc+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gICAgPG1hdC1jYXJkIHN0eWxlPVwicGFkZGluZzogMnB4O1wiIGNsYXNzPVwibWF0LWNhcmRcIj5cbiAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8Y3JvY28taHRtbC12aWV3IFtodG1sXT1cImh0bWxcIj5cbiAgICAgICAgPC9jcm9jby1odG1sLXZpZXc+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbiAgPC9tYXQtdGFiPlxuPC9tYXQtdGFiLWdyb3VwPlxuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2NvbXBvbmVudHMvZWRpdG9yL21haW4tZWRpdG9yL21haW4tZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nyb2NvLWh0bWwvc3JjL2xpYi9jb21wb25lbnRzL2VkaXRvci9tYWluLWVkaXRvci9tYWluLWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlELFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakosT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMs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WixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQ2xpcGJvYXJkU2VydmljZSB9IGZyb20gJ25neC1jbGlwYm9hcmQnO1xuaW1wb3J0IHsgVmlzdWFsRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vdmlzdWFsLWVkaXRvci92aXN1YWwtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBYbWxUYWdWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4veG1sLXRhZ3MveG1sLXRhZy12aWV3L3htbC10YWctdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgTWF0QnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2RrVGV4dGFyZWFBdXRvc2l6ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBNYXRMYWJlbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgSHRtbFZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vaHRtbC12aWV3L2h0bWwtdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7TWF0SWNvbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2ljb25cIjtcbmltcG9ydCB7TmdUZW1wbGF0ZU91dGxldH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHtTcHJpdGVJY29uUGF0aFBpcGV9IGZyb20gXCIuLi8uLi8uLi9waXBlcy9zcHJpdGUtaWNvbi1wYXRoLnBpcGVcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjcm9jby1odG1sLW1haW4tZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL21haW4tZWRpdG9yLmNvbXBvbmVudC5jc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTWF0VGFic01vZHVsZSxcbiAgICBWaXN1YWxFZGl0b3JDb21wb25lbnQsXG4gICAgTWF0Rm9ybUZpZWxkLFxuICAgIE1hdExhYmVsLFxuICAgIE1hdElucHV0LFxuICAgIENka1RleHRhcmVhQXV0b3NpemUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0QnV0dG9uLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgWG1sVGFnVmlld0NvbXBvbmVudCxcbiAgICBIdG1sVmlld0NvbXBvbmVudCxcbiAgICBNYXRJY29uLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgU3ByaXRlSWNvblBhdGhQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFpbkVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgdmlzdWFsRWRpdG9yUmVuZGVyZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKFwidmlzdWFsRWRpdG9yXCIsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHZpc3VhbEVkaXRvcjogVmlzdWFsRWRpdG9yQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpXG4gIHNob3dNYXJrVXAgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHVzZUh0bWxSYXcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBAT3V0cHV0KClcbiAgaHRtbDogc3RyaW5nID0gXCJcIjtcblxuICBAT3V0cHV0KClcbiAgb25IdG1sQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NsaXBib2FyZFNlcnZpY2U6IENsaXBib2FyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIHByaXZhdGUgX2NkcmVmOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX2NkcmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHZpc3VhbEVkaXRvclJlbmRlcmVkSGFuZGxlcigpe1xuICAgIHRoaXMudmlzdWFsRWRpdG9yUmVuZGVyZWQgPSB0cnVlO1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG5cbiAgb25IdG1sQ2hhbmdlZEhhbmRsZXIoaHRtbDogc3RyaW5nKSB7XG4gICAgdGhpcy5odG1sID0gaHRtbDtcbiAgICB0aGlzLm9uSHRtbENoYW5nZWQuZW1pdChodG1sKTtcbiAgfVxuXG4gIHRleHRBcmVhTW9kZWxDaGFuZ2VkSGFuZGxlcigpe1xuICAgIHRoaXMucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICAgIHRoaXMub25IdG1sQ2hhbmdlZEhhbmRsZXIodGhpcy5odG1sKTtcbiAgfVxuXG4gIHJlY2FsY3VsYXRlQm9keVRhZ3MoKSB7XG4gICAgdGhpcy52aXN1YWxFZGl0b3IuaHRtbCA9IHRoaXMuaHRtbDtcbiAgICB0aGlzLnZpc3VhbEVkaXRvci5yZWNhbGN1bGF0ZUJvZHlUYWdzKCk7XG4gICAgdGhpcy5fY2RyZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBjb3B5TWFya1VwKCkge1xuICAgIHRoaXMuX3NuYWNrQmFyLm9wZW4oXCLQoNCw0LfQvNC10YLQutCwINGB0LrQvtC/0LjRgNC+0LLQsNC90LAg0LIg0LHRg9GE0LXRgCDQvtCx0LzQtdC90LBcIiwgXCLQl9Cw0LrRgNGL0YLRjFwiLCB7IGR1cmF0aW9uOiAxNTAwIH0pO1xuICAgIHRoaXMuX2NsaXBib2FyZFNlcnZpY2UuY29weSh0aGlzLmh0bWwpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy52aXN1YWxFZGl0b3IucmVjYWxjdWxhdGVCb2R5VGFncygpO1xuICB9XG59XG4iLCI8bWF0LXRhYi1ncm91cCBtYXQtc3RyZXRjaC10YWJzPVwiZmFsc2VcIiBtYXQtYWxpZ24tdGFicz1cInN0YXJ0XCI+XG4gIDxtYXQtdGFiPlxuICAgIDxuZy10ZW1wbGF0ZSBtYXQtdGFiLWxhYmVsPlxuICAgICAgPHN2ZyBjbGFzcz1cImN1c3RvbS1pY29uXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI2XCI+XG4gICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCIndmlzdWFsLWVkaXRvci10YWInIHwgc3ByaXRlSWNvblBhdGhcIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAyMHB4O1wiPjwvZGl2PlxuXG4gICAgPGNyb2NvLXZpc3VhbC1lZGl0b3IgI3Zpc3VhbEVkaXRvclxuICAgICAgW3VzZUh0bWxSYXddPVwidXNlSHRtbFJhd1wiXG4gICAgICBbaHRtbF09XCJodG1sXCJcbiAgICAgIChvbkh0bWxDaGFuZ2VkKT1cIm9uSHRtbENoYW5nZWRIYW5kbGVyKCRldmVudClcIlxuICAgICAgKHJlbmRlcmVkKT1cInZpc3VhbEVkaXRvclJlbmRlcmVkSGFuZGxlcigpXCI+XG4gICAgPC9jcm9jby12aXN1YWwtZWRpdG9yPlxuXG4gICAgPGRpdiBzdHlsZT1cImhlaWdodDogMjBweDtcIj48L2Rpdj5cblxuICA8L21hdC10YWI+XG5cbiAgPG1hdC10YWI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICA8c3ZnIGNsYXNzPVwiY3VzdG9tLWljb25cIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjZcIj5cbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cIidzb3VyY2UtY29kZS10YWInIHwgc3ByaXRlSWNvblBhdGhcIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8ZGl2IHN0eWxlPVwiaGVpZ2h0OiAxMHB4O1wiPjwvZGl2PlxuICAgIEBpZiAodmlzdWFsRWRpdG9yUmVuZGVyZWQpIHtcbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInctMTAwXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD7QmNGB0YXQvtC00L3Ri9C5INC60L7QtDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBjZGtUZXh0YXJlYUF1dG9zaXplICNhdXRvc2l6ZT1cImNka1RleHRhcmVhQXV0b3NpemVcIlxuICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiMVwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cItCY0YHRhdC+0LTQvdGL0Lkg0LrQvtC0XCIgWyhuZ01vZGVsKV09XCJodG1sXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0ZXh0QXJlYU1vZGVsQ2hhbmdlZEhhbmRsZXIoKVwiPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjb3B5TWFya1VwKClcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICDQmtC+0L/QuNGA0L7QstCw0YLRjCDRgNCw0LfQvNC10YLQutGDXG4gICAgPC9idXR0b24+XG4gIDwvbWF0LXRhYj5cbiAgPG1hdC10YWI+XG4gICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICA8c3ZnIGNsYXNzPVwiY3VzdG9tLWljb25cIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzBcIj5cbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cIid2aWV3ZXItdGFiJyB8IHNwcml0ZUljb25QYXRoXCI+PC91c2U+XG4gICAgICA8L3N2Zz5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG5cbiAgICA8bWF0LWNhcmQgc3R5bGU9XCJwYWRkaW5nOiAycHg7XCIgY2xhc3M9XCJtYXQtY2FyZFwiPlxuICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgICAgIDxjcm9jby1odG1sLXZpZXcgW2h0bWxdPVwiaHRtbFwiPlxuICAgICAgICA8L2Nyb2NvLWh0bWwtdmlldz5cbiAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cbiAgICA8L21hdC1jYXJkPlxuICA8L21hdC10YWI+XG48L21hdC10YWItZ3JvdXA+XG4iXX0=
@@ -61,4 +61,4 @@ export class AngularMaterialTableMethods {
61
61
  };
62
62
  }
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLE9BQWlCLEVBQUUsSUFBb0I7UUFFdEUsSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO1FBRXhCLEtBQUssSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTNCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUVkLEtBQUssSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3BFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0RCxDQUFDO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBRUQsT0FBTztZQUNILGdCQUFnQixFQUFFLE9BQU87WUFDekIsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBb0I7UUFDcEMsSUFBRyxTQUFTLENBQUMsTUFBTSxLQUFLLElBQUksRUFBQyxDQUFDO1lBQzFCLE9BQU87Z0JBQ0gsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLE9BQU8sRUFBRSxzQ0FBc0M7YUFDbEQsQ0FBQztRQUNOLENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxJQUFJLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEQsT0FBTztnQkFDSCxXQUFXLEVBQUUsS0FBSztnQkFDbEIsT0FBTyxFQUFFLHlFQUF5RTthQUNyRixDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU87WUFDSCxXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ04sQ0FBQztJQUNELE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxTQUFvQixFQUFFLGVBQXdCLElBQUk7UUFFbkYsSUFBRyxZQUFZLEVBQUMsQ0FBQztZQUNiLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV0RCxJQUFHLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFDLENBQUM7Z0JBQ2hDLE9BQU8sa0JBQWtCLENBQUM7WUFDOUIsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLElBQUksR0FBbUIsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMxQyxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwQixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDeEMsT0FBTztvQkFDSCxXQUFXLEVBQUUsS0FBSztvQkFDbEIsT0FBTyxFQUFFLHlDQUF5QzswQkFDNUMsNkdBQTZHOzBCQUM3RyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxtQkFBbUIsT0FBTyxDQUFDLE1BQU0sR0FBRztpQkFDbEgsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTztZQUNILFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQXBpUmVzcG9uc2UsIFRhYmxlRGF0YSwgVGFibGVSb3dEYXRhIH0gZnJvbSAnLi9UYWJsZU1ldGhvZHMnO1xuaW1wb3J0IHtBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGF9IGZyb20gXCIuLi9tb2RlbHMvbW9kZWxzXCI7XG5cblxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJNYXRlcmlhbFRhYmxlTWV0aG9kcyB7XG4gICAgc3RhdGljIGdldEFuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YShjb2x1bW5zOiBzdHJpbmdbXSwgcm93czogVGFibGVSb3dEYXRhW10pOiBBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGEge1xuXG4gICAgICAgIGxldCBkYXRhOiBvYmplY3RbXSA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCByb3dzLmxlbmd0aDsgcm93SW5kZXgrKykge1xuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tyb3dJbmRleF07XG5cbiAgICAgICAgICAgIHZhciBlbGVtID0ge307XG5cbiAgICAgICAgICAgIGZvciAobGV0IGNvbHVtbkluZGV4ID0gMDsgY29sdW1uSW5kZXggPCBjb2x1bW5zLmxlbmd0aDsgY29sdW1uSW5kZXgrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IGNvbHVtbnNbY29sdW1uSW5kZXhdO1xuXG4gICAgICAgICAgICAgICAgZWxlbVtjb2x1bW5dID0gcm93LmNvbHVtbnNbY29sdW1uSW5kZXhdLmRhdGEudGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGF0YS5wdXNoKGVsZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRpc3BsYXllZENvbHVtbnM6IGNvbHVtbnMsXG4gICAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBjaGVja0hlYWRlcnModGFibGVEYXRhOiBUYWJsZURhdGEpOiBCYXNlQXBpUmVzcG9uc2Uge1xuICAgICAgICBpZih0YWJsZURhdGEuaGVhZGVyID09PSBudWxsKXtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwi0J3QtdC+0LHRhdC+0LTQuNC80L4g0YPQutCw0LfQsNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6INGC0LDQsdC70LjRhtGLXCJcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY29sdW1uczogc3RyaW5nW10gPSB0YWJsZURhdGEuaGVhZGVyLmNvbHVtbnM7XG5cbiAgICAgICAgdmFyIHVuaXF1ZURpc2xheWVkQ29sdW1ucyA9IGNvbHVtbnMuZmlsdGVyKCh2LCBpLCBhKSA9PiBhLmluZGV4T2YodikgPT09IGkpO1xuXG4gICAgICAgIGlmICh1bmlxdWVEaXNsYXllZENvbHVtbnMubGVuZ3RoICE9PSBjb2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpc1N1Y2NlZWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCLQntGI0LjQsdC60LAg0L/RgNC4INC+0LHRgNCw0LHQvtGC0LrQtSDRgNCw0LfQvNC10YLQutC4INGC0LDQsdC70LjRhtGLLiDQntCx0L3QsNGA0YPQttC10L3RiyDQtNGD0LHQu9C40LrQsNGC0Ysg0LfQsNCz0L7Qu9C+0LLQutC+0LIuXCJcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiBcIk9rXCJcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhdGljIGNoZWNrQW5ndWxhck1hdGVyaWFsVGFibGVEYXRhKHRhYmxlRGF0YTogVGFibGVEYXRhLCBjaGVja0hlYWRlcnM6IGJvb2xlYW4gPSB0cnVlKTogQmFzZUFwaVJlc3BvbnNlIHtcblxuICAgICAgICBpZihjaGVja0hlYWRlcnMpe1xuICAgICAgICAgICAgdmFyIGNoZWNrSGVhZGVyc1Jlc3VsdCA9IHRoaXMuY2hlY2tIZWFkZXJzKHRhYmxlRGF0YSk7XG5cbiAgICAgICAgICAgIGlmKCFjaGVja0hlYWRlcnNSZXN1bHQuaXNTdWNjZWVkZWQpe1xuICAgICAgICAgICAgICAgIHJldHVybiBjaGVja0hlYWRlcnNSZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcm93czogVGFibGVSb3dEYXRhW10gPSB0YWJsZURhdGEucm93cztcbiAgICAgICAgbGV0IGNvbHVtbnM6IHN0cmluZ1tdID0gdGFibGVEYXRhLmhlYWRlci5jb2x1bW5zO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm93cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgcm93ID0gcm93c1tpXTtcblxuICAgICAgICAgICAgaWYgKHJvdy5jb2x1bW5zLmxlbmd0aCAhPT0gY29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBpc1N1Y2NlZWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGDQntGI0LjQsdC60LAg0L/RgNC4INC+0LHRgNCw0LHQvtGC0LrQtSDRgNCw0LfQvNC10YLQutC4INGC0LDQsdC70LjRhtGLLiBgXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQmtC+0LvQuNGH0LXRgdGC0LLQviDQutC+0LvQvtC90L7QuiDQsiDQutCw0LbQtNC+0Lkg0YHRgtGA0L7QutC1INGC0LDQsdC70LjRhtGLINC00L7Qu9C20L3QviDRgdC+0L7RgtCy0LXRgdGC0LLQvtCy0LDRgtGMINC60L7Qu9C40YfQtdGB0YLQstGDINC60L7Qu9C+0L3QvtC6INGD0LrQsNC30LDQvdC90YvRhSDQsiDQt9Cw0LPQvtC70L7QstC60LUuIGBcbiAgICAgICAgICAgICAgICAgICAgICAgICsgYNCSINGB0YLRgNC+0LrQtSDRgtCw0LHQu9C40YbRiyDihJYke2kgKyAxfSDQutC+0LvQuNGH0LXRgdGC0LLQviDQutC+0LvQvtC90L7QuiA9ICR7cm93LmNvbHVtbnMubGVuZ3RofSwg0LAg0LTQvtC70LbQvdC+INCx0YvRgtGMICR7Y29sdW1ucy5sZW5ndGh9LmBcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlzU3VjY2VlZGVkOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywyQkFBMkI7SUFDcEMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLE9BQWlCLEVBQUUsSUFBb0I7UUFFdEUsSUFBSSxJQUFJLEdBQWEsRUFBRSxDQUFDO1FBRXhCLEtBQUssSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTNCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUVkLEtBQUssSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3BFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFFcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0RCxDQUFDO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDO1FBRUQsT0FBTztZQUNILGdCQUFnQixFQUFFLE9BQU87WUFDekIsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBb0I7UUFDcEMsSUFBRyxTQUFTLENBQUMsTUFBTSxLQUFLLElBQUksRUFBQyxDQUFDO1lBQzFCLE9BQU87Z0JBQ0gsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLE9BQU8sRUFBRSxzQ0FBc0M7YUFDbEQsQ0FBQztRQUNOLENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxJQUFJLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEQsT0FBTztnQkFDSCxXQUFXLEVBQUUsS0FBSztnQkFDbEIsT0FBTyxFQUFFLHlFQUF5RTthQUNyRixDQUFDO1FBQ04sQ0FBQztRQUVELE9BQU87WUFDSCxXQUFXLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSTtTQUNoQixDQUFDO0lBQ04sQ0FBQztJQUNELE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxTQUFvQixFQUFFLGVBQXdCLElBQUk7UUFFbkYsSUFBRyxZQUFZLEVBQUMsQ0FBQztZQUNiLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV0RCxJQUFHLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFDLENBQUM7Z0JBQ2hDLE9BQU8sa0JBQWtCLENBQUM7WUFDOUIsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLElBQUksR0FBbUIsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMxQyxJQUFJLE9BQU8sR0FBYSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUVqRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwQixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDeEMsT0FBTztvQkFDSCxXQUFXLEVBQUUsS0FBSztvQkFDbEIsT0FBTyxFQUFFLHlDQUF5QzswQkFDNUMsNkdBQTZHOzBCQUM3RyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxtQkFBbUIsT0FBTyxDQUFDLE1BQU0sR0FBRztpQkFDbEgsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTztZQUNILFdBQVcsRUFBRSxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YSwgQmFzZUFwaVJlc3BvbnNlLCBUYWJsZURhdGEsIFRhYmxlUm93RGF0YX0gZnJvbSAnLi9UYWJsZU1ldGhvZHMnO1xuXG5cbmV4cG9ydCBjbGFzcyBBbmd1bGFyTWF0ZXJpYWxUYWJsZU1ldGhvZHMge1xuICAgIHN0YXRpYyBnZXRBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGEoY29sdW1uczogc3RyaW5nW10sIHJvd3M6IFRhYmxlUm93RGF0YVtdKTogQW5ndWxhck1hdGVyaWFsVGFibGVEYXRhIHtcblxuICAgICAgICBsZXQgZGF0YTogb2JqZWN0W10gPSBbXTtcblxuICAgICAgICBmb3IgKGxldCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgcm93cy5sZW5ndGg7IHJvd0luZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHJvd3Nbcm93SW5kZXhdO1xuXG4gICAgICAgICAgICB2YXIgZWxlbSA9IHt9O1xuXG4gICAgICAgICAgICBmb3IgKGxldCBjb2x1bW5JbmRleCA9IDA7IGNvbHVtbkluZGV4IDwgY29sdW1ucy5sZW5ndGg7IGNvbHVtbkluZGV4KyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW4gPSBjb2x1bW5zW2NvbHVtbkluZGV4XTtcblxuICAgICAgICAgICAgICAgIGVsZW1bY29sdW1uXSA9IHJvdy5jb2x1bW5zW2NvbHVtbkluZGV4XS5kYXRhLnRleHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRhdGEucHVzaChlbGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkaXNwbGF5ZWRDb2x1bW5zOiBjb2x1bW5zLFxuICAgICAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY2hlY2tIZWFkZXJzKHRhYmxlRGF0YTogVGFibGVEYXRhKTogQmFzZUFwaVJlc3BvbnNlIHtcbiAgICAgICAgaWYodGFibGVEYXRhLmhlYWRlciA9PT0gbnVsbCl7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlzU3VjY2VlZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBcItCd0LXQvtCx0YXQvtC00LjQvNC+INGD0LrQsNC30LDRgtGMINC30LDQs9C+0LvQvtCy0L7QuiDRgtCw0LHQu9C40YbRi1wiXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGNvbHVtbnM6IHN0cmluZ1tdID0gdGFibGVEYXRhLmhlYWRlci5jb2x1bW5zO1xuXG4gICAgICAgIHZhciB1bmlxdWVEaXNsYXllZENvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKTtcblxuICAgICAgICBpZiAodW5pcXVlRGlzbGF5ZWRDb2x1bW5zLmxlbmd0aCAhPT0gY29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwi0J7RiNC40LHQutCwINC/0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0YDQsNC30LzQtdGC0LrQuCDRgtCw0LHQu9C40YbRiy4g0J7QsdC90LDRgNGD0LbQtdC90Ysg0LTRg9Cx0LvQuNC60LDRgtGLINC30LDQs9C+0LvQvtCy0LrQvtCyLlwiXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlzU3VjY2VlZGVkOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogXCJPa1wiXG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXRpYyBjaGVja0FuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YSh0YWJsZURhdGE6IFRhYmxlRGF0YSwgY2hlY2tIZWFkZXJzOiBib29sZWFuID0gdHJ1ZSk6IEJhc2VBcGlSZXNwb25zZSB7XG5cbiAgICAgICAgaWYoY2hlY2tIZWFkZXJzKXtcbiAgICAgICAgICAgIHZhciBjaGVja0hlYWRlcnNSZXN1bHQgPSB0aGlzLmNoZWNrSGVhZGVycyh0YWJsZURhdGEpO1xuXG4gICAgICAgICAgICBpZighY2hlY2tIZWFkZXJzUmVzdWx0LmlzU3VjY2VlZGVkKXtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2hlY2tIZWFkZXJzUmVzdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJvd3M6IFRhYmxlUm93RGF0YVtdID0gdGFibGVEYXRhLnJvd3M7XG4gICAgICAgIGxldCBjb2x1bW5zOiBzdHJpbmdbXSA9IHRhYmxlRGF0YS5oZWFkZXIuY29sdW1ucztcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaV07XG5cbiAgICAgICAgICAgIGlmIChyb3cuY29sdW1ucy5sZW5ndGggIT09IGNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBg0J7RiNC40LHQutCwINC/0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0YDQsNC30LzQtdGC0LrQuCDRgtCw0LHQu9C40YbRiy4gYFxuICAgICAgICAgICAgICAgICAgICAgICAgKyBg0JrQvtC70LjRh9C10YHRgtCy0L4g0LrQvtC70L7QvdC+0Log0LIg0LrQsNC20LTQvtC5INGB0YLRgNC+0LrQtSDRgtCw0LHQu9C40YbRiyDQtNC+0LvQttC90L4g0YHQvtC+0YLQstC10YHRgtCy0L7QstCw0YLRjCDQutC+0LvQuNGH0LXRgdGC0LLRgyDQutC+0LvQvtC90L7QuiDRg9C60LDQt9Cw0L3QvdGL0YUg0LIg0LfQsNCz0L7Qu9C+0LLQutC1LiBgXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQkiDRgdGC0YDQvtC60LUg0YLQsNCx0LvQuNGG0Ysg4oSWJHtpICsgMX0g0LrQvtC70LjRh9C10YHRgtCy0L4g0LrQvtC70L7QvdC+0LogPSAke3Jvdy5jb2x1bW5zLmxlbmd0aH0sINCwINC00L7Qu9C20L3QviDQsdGL0YLRjCAke2NvbHVtbnMubGVuZ3RofS5gXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiT2tcIlxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -105,4 +105,4 @@ export class TableMethods {
105
105
  return rows;
106
106
  }
107
107
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBbUN4RCxNQUFNLE9BQU8sVUFBVTthQUNILHVCQUFrQixHQUFHLHVCQUF1QixDQUFDO2FBQzdDLFVBQUssR0FBRyxPQUFPLENBQUM7YUFDaEIsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQzs7QUFHeEQsTUFBTSxPQUFPLFlBQVk7SUFFckIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQTBCLEVBQUUsT0FBeUI7UUFDNUUsSUFBSSxTQUFTLEdBQWU7WUFDeEIsTUFBTSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3hDLElBQUksRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7U0FDckQsQ0FBQztRQUVGLElBQUksTUFBTSxHQUFHO1lBQ1QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLO1lBQ3RCLElBQUksRUFBRSxTQUFTO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7WUFDNUMsYUFBYSxFQUFFLEVBQUU7U0FDcEIsQ0FBQTtRQUVELElBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUMsQ0FBQztZQUN6QixPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDO1FBQ0QsTUFBTSxDQUFDLGFBQWEsR0FBRyxxQkFB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JvY29IdG1sT3B0aW9ucyB9IGZyb20gJy4uL29wdGlvbnMnO1xuaW1wb3J0IHsgQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzIH0gZnJvbSAnLi9Bbmd1bGFyTWF0ZXJpYWxUYWJsZU1ldGhvZHMnO1xuaW1wb3J0IHsgQm9vdHN0cmFwVGFibGVNZXRob2RzIH0gZnJvbSAnLi9Cb290c3RyYXBUYWJsZU1ldGhvZHMnO1xuaW1wb3J0IHsgSHRtbEV4dHJhY3Rpb25NZXRob2RzIH0gZnJvbSAnLi9IdG1sRXh0cmFjdGlvbk1ldGhvZHMnO1xuaW1wb3J0IHsgSW50ZXJmYWNlQmxvY2sgfSBmcm9tIFwiLi9JbnRlcmZhY2VCbG9ja1wiO1xuaW1wb3J0IHsgVGV4dFNpbXBsZU1ldGhvZHMgfSBmcm9tICcuL1RleHRTaW1wbGVNZXRob2RzJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQXBpUmVzcG9uc2Uge1xuICAgIGlzU3VjY2VlZGVkOiBib29sZWFuO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUhlYWRlckRhdGF7XG4gICAgdHlwZTogXCJ0YWJsZS1oZWFkZXJcIjtcbiAgICBjb2x1bW5zOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJvd0NvbHVtbkRhdGEge1xuICAgIHR5cGU6IFwidGFibGUtcm93LWNvbHVtbi1kYXRhXCI7XG4gICAgZGF0YToge1xuICAgICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICAgIGNoaWxkcmVuOiBJbnRlcmZhY2VCbG9ja1tdO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJvd0RhdGEge1xuICAgIHR5cGU6IFwidGFibGUtcm93LWNvbHVtblwiO1xuICAgIGNvbHVtbnM6IFRhYmxlUm93Q29sdW1uRGF0YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRGF0YXtcbiAgICBoZWFkZXI6IFRhYmxlSGVhZGVyRGF0YSxcbiAgICByb3dzOiBUYWJsZVJvd0RhdGFbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlVGFnRGF0YXtcbiAgICB0eXBlOiBcInRhYmxlXCI7XG4gICAgZGF0YTogVGFibGVEYXRhO1xufVxuXG5leHBvcnQgY2xhc3MgVGFibGVUeXBlcyB7XG4gICAgc3RhdGljIHJlYWRvbmx5IFRhYmxlUm93Q29sdW1uRGF0YSA9IFwidGFibGUtcm93LWNvbHVtbi1kYXRhXCI7XG4gICAgc3RhdGljIHJlYWRvbmx5IFRhYmxlID0gXCJ0YWJsZVwiO1xuICAgIHN0YXRpYyByZWFkb25seSBUYWJsZVJvd0NvbHVtbiA9IFwidGFibGUtcm93LWNvbHVtblwiO1xufVxuXG5leHBvcnQgY2xhc3MgVGFibGVNZXRob2RzIHtcblxuICAgIHN0YXRpYyBnZXRUYWJsZUZyb21IdG1sVGFnKHRhYmxlVGFnOiBIVE1MVGFibGVFbGVtZW50LCBvcHRpb25zOiBDcm9jb0h0bWxPcHRpb25zKSB7XG4gICAgICAgIGxldCB0YWJsZURhdGEgOiBUYWJsZURhdGEgPSB7XG4gICAgICAgICAgICBoZWFkZXI6IFRhYmxlTWV0aG9kcy5nZXRIZWFkZXIodGFibGVUYWcpLFxuICAgICAgICAgICAgcm93czogVGFibGVNZXRob2RzLmdldFRhYmxlUm93cyh0YWJsZVRhZywgb3B0aW9ucylcbiAgICAgICAgfTtcblxuICAgICAgICB2YXIgcmVzdWx0ID0ge1xuICAgICAgICAgICAgdHlwZTogVGFibGVUeXBlcy5UYWJsZSxcbiAgICAgICAgICAgIGRhdGE6IHRhYmxlRGF0YSxcbiAgICAgICAgICAgIHZhbGlkYXRpb25SZXN1bHQ6IHRoaXMuY2hlY2tUYWJsZSh0YWJsZURhdGEpLFxuICAgICAgICAgICAgYm9vdHN0cmFwSHRtbDogXCJcIlxuICAgICAgICB9XG5cbiAgICAgICAgaWYoIXJlc3VsdC52YWxpZGF0aW9uUmVzdWx0KXtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0LmJvb3RzdHJhcEh0bWwgPSBCb290c3RyYXBUYWJsZU1ldGhvZHMuQnVpbGRUYWJsZShyZXN1bHQuZGF0YSk7XG5cbiAgICAgICAgdmFyIGFuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YUNoZWNrID0gQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzLmNoZWNrQW5ndWxhck1hdGVyaWFsVGFibGVEYXRhKHRhYmxlRGF0YSk7XG5cbiAgICAgICAgaWYgKCFhbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGFDaGVjay5pc1N1Y2NlZWRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICAgICAgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhQ2hlY2tcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhQ2hlY2ssXG4gICAgICAgICAgICBodG1sOiB0YWJsZVRhZy5vdXRlckhUTUwsXG4gICAgICAgICAgICBhbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGE6IEFuZ3VsYXJNYXRlcmlhbFRhYmxlTWV0aG9kcy5nZXRBbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGEodGFibGVEYXRhLmhlYWRlci5jb2x1bW5zLCB0YWJsZURhdGEucm93cyksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGNoZWNrVGFibGUodGFibGVEYXRhOiBUYWJsZURhdGEpIDogQmFzZUFwaVJlc3BvbnNle1xuXG4gICAgICAgIGxldCByb3dzID0gdGFibGVEYXRhLnJvd3M7XG5cbiAgICAgICAgbGV0IHByZXZSb3dDb3VudCA9IC0xO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IHJvd3NbaV07XG5cbiAgICAgICAgICAgIGlmIChyb3cuY29sdW1ucy5sZW5ndGggIT09IHByZXZSb3dDb3VudCAmJiBwcmV2Um93Q291bnQgIT0gLTEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBpc1N1Y2NlZWRlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGDQntGI0LjQsdC60LAg0L/RgNC4INC+0LHRgNCw0LHQvtGC0LrQtSDRgNCw0LfQvNC10YLQutC4INGC0LDQsdC70LjRhtGLLiBgXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQmtC+0LvQuNGH0LXRgdGC0LLQviDQutC+0LvQvtC90L7QuiDQsiDQutCw0LbQtNC+0Lkg0YHRgtGA0L7QutC1INGC0LDQsdC70LjRhtGLINC00L7Qu9C20L3QviDRgdC+0L7RgtCy0LXRgdGC0LLQvtCy0LDRgtGMINC00YDRg9CzINC00YDRg9Cz0YMuIGBcbiAgICAgICAgICAgICAgICAgICAgICAgICsgYNCSINGB0YLRgNC+0LrQtSDRgtCw0LHQu9C40YbRiyDihJYke2kgKyAxfSDQutC+0LvQuNGH0LXRgdGC0LLQviDQutC+0LvQvtC90L7QuiA9ICR7cm93LmNvbHVtbnMubGVuZ3RofSwg0LAg0LIg0YHRgtGA0L7QutC1INCy0YvRiNC1ICR7cHJldlJvd0NvdW50fS5gXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZXZSb3dDb3VudCA9IHJvdy5jb2x1bW5zLmxlbmd0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpc1N1Y2NlZWRlZDogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiT2tcIlxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBzdGF0aWMgZ2V0SGVhZGVyKHRhYmxlVGFnOiBIVE1MVGFibGVFbGVtZW50KSA6IFRhYmxlSGVhZGVyRGF0YSB7XG4gICAgICAgIGxldCBoZWFkZXIgPSB0YWJsZVRhZy50SGVhZDtcblxuICAgICAgICBpZihoZWFkZXIgPT09IG51bGwpe1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdHIgPSBoZWFkZXIuY2hpbGRyZW4uaXRlbSgwKTtcblxuICAgICAgICBsZXQgaGVhZGVyQ29sdW1uczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHRyLmNoaWxkcmVuLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICBjb25zdCBqRWxlbWVudCA9IHRyLmNoaWxkcmVuLml0ZW0oaikgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGhlYWRlckNvbHVtbnMucHVzaChqRWxlbWVudC5pbm5lckhUTUwpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IFwidGFibGUtaGVhZGVyXCIsXG4gICAgICAgICAgICBjb2x1bW5zOiBoZWFkZXJDb2x1bW5zXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGdldFRhYmxlUm93cyh0YWJsZVRhZzogSFRNTFRhYmxlRWxlbWVudCwgb3B0aW9uczogQ3JvY29IdG1sT3B0aW9ucyk6IEFycmF5PFRhYmxlUm93RGF0YT4ge1xuICAgICAgICBsZXQgdEJvZHkgPSB0YWJsZVRhZy50Qm9kaWVzLml0ZW0oMCk7XG5cbiAgICAgICAgbGV0IHJvd3M6IFRhYmxlUm93RGF0YVtdID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0Qm9keS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaUVsZW1lbnQgPSB0Qm9keS5jaGlsZHJlbi5pdGVtKGkpO1xuXG4gICAgICAgICAgICBsZXQgcm93Q29sdW1uczogVGFibGVSb3dDb2x1bW5EYXRhW10gPSBbXTtcblxuICAgICAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpRWxlbWVudC5jaGlsZHJlbi5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGpFbGVtZW50ID0gaUVsZW1lbnQuY2hpbGRyZW4uaXRlbShqKSBhcyBIVE1MRWxlbWVudDtcblxuICAgICAgICAgICAgICAgIGxldCBjaGlsZHJlbiA9IEh0bWxFeHRyYWN0aW9uTWV0aG9kcy50cmFuc2Zvcm1IdG1sRWxlbWVudFRvQmxvY2tzKGpFbGVtZW50LCBvcHRpb25zKTtcblxuICAgICAgICAgICAgICAgIGlmKGNoaWxkcmVuLmxlbmd0aCA9PT0gMCl7XG4gICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0VGFnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInBcIik7XG4gICAgICAgICAgICAgICAgICAgIHRleHRUYWcuaW5uZXJIVE1MID0gakVsZW1lbnQuaW5uZXJIVE1MO1xuXG4gICAgICAgICAgICAgICAgICAgIHZhciB0ZXh0RWxlbSA9IFRleHRTaW1wbGVNZXRob2RzLkV4dHJhY3RUZXh0VGFnKHRleHRUYWcpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2godGV4dEVsZW0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHZhciByZXN1bHQ6VGFibGVSb3dDb2x1bW5EYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBUYWJsZVR5cGVzLlRhYmxlUm93Q29sdW1uRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogakVsZW1lbnQuaW5uZXJIVE1MLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByb3dDb2x1bW5zLnB1c2gocmVzdWx0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcm93cy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBUYWJsZVR5cGVzLlRhYmxlUm93Q29sdW1uLFxuICAgICAgICAgICAgICAgIGNvbHVtbnM6IHJvd0NvbHVtbnNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgfVxufVxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNZXRob2RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL2V4dGVuc2lvbnMvVGFibGVNZXRob2RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBbUN4RCxNQUFNLE9BQU8sVUFBVTthQUNILHVCQUFrQixHQUFHLHVCQUF1QixDQUFDO2FBQzdDLFVBQUssR0FBRyxPQUFPLENBQUM7YUFDaEIsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQzs7QUFReEQsTUFBTSxPQUFPLFlBQVk7SUFFckIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQTBCLEVBQUUsT0FBeUI7UUFDNUUsSUFBSSxTQUFTLEdBQWU7WUFDeEIsTUFBTSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3hDLElBQUksRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7U0FDckQsQ0FBQztRQUVGLElBQUksTUFBTSxHQUFHO1lBQ1QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLO1lBQ3RCLElBQUksRUFBRSxTQUFTO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7WUFDNUMsYUFBYSxFQUFFLEVBQUU7U0FDcEIsQ0FBQTtRQUVELElBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUMsQ0FBQztZQUN6QixPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDO1FBQ0QsTUFBTSxDQUFDLGFBQWEsR0FBRyxxQkFB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JvY29IdG1sT3B0aW9ucyB9IGZyb20gJy4uL29wdGlvbnMnO1xuaW1wb3J0IHsgQW5ndWxhck1hdGVyaWFsVGFibGVNZXRob2RzIH0gZnJvbSAnLi9Bbmd1bGFyTWF0ZXJpYWxUYWJsZU1ldGhvZHMnO1xuaW1wb3J0IHsgQm9vdHN0cmFwVGFibGVNZXRob2RzIH0gZnJvbSAnLi9Cb290c3RyYXBUYWJsZU1ldGhvZHMnO1xuaW1wb3J0IHsgSHRtbEV4dHJhY3Rpb25NZXRob2RzIH0gZnJvbSAnLi9IdG1sRXh0cmFjdGlvbk1ldGhvZHMnO1xuaW1wb3J0IHsgSW50ZXJmYWNlQmxvY2sgfSBmcm9tIFwiLi9JbnRlcmZhY2VCbG9ja1wiO1xuaW1wb3J0IHsgVGV4dFNpbXBsZU1ldGhvZHMgfSBmcm9tICcuL1RleHRTaW1wbGVNZXRob2RzJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlQXBpUmVzcG9uc2Uge1xuICAgIGlzU3VjY2VlZGVkOiBib29sZWFuO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUhlYWRlckRhdGF7XG4gICAgdHlwZTogXCJ0YWJsZS1oZWFkZXJcIjtcbiAgICBjb2x1bW5zOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJvd0NvbHVtbkRhdGEge1xuICAgIHR5cGU6IFwidGFibGUtcm93LWNvbHVtbi1kYXRhXCI7XG4gICAgZGF0YToge1xuICAgICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICAgIGNoaWxkcmVuOiBJbnRlcmZhY2VCbG9ja1tdO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJvd0RhdGEge1xuICAgIHR5cGU6IFwidGFibGUtcm93LWNvbHVtblwiO1xuICAgIGNvbHVtbnM6IFRhYmxlUm93Q29sdW1uRGF0YVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRGF0YXtcbiAgICBoZWFkZXI6IFRhYmxlSGVhZGVyRGF0YSxcbiAgICByb3dzOiBUYWJsZVJvd0RhdGFbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlVGFnRGF0YXtcbiAgICB0eXBlOiBcInRhYmxlXCI7XG4gICAgZGF0YTogVGFibGVEYXRhO1xufVxuXG5leHBvcnQgY2xhc3MgVGFibGVUeXBlcyB7XG4gICAgc3RhdGljIHJlYWRvbmx5IFRhYmxlUm93Q29sdW1uRGF0YSA9IFwidGFibGUtcm93LWNvbHVtbi1kYXRhXCI7XG4gICAgc3RhdGljIHJlYWRvbmx5IFRhYmxlID0gXCJ0YWJsZVwiO1xuICAgIHN0YXRpYyByZWFkb25seSBUYWJsZVJvd0NvbHVtbiA9IFwidGFibGUtcm93LWNvbHVtblwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YSB7XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xuICBkYXRhOiBvYmplY3RbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxlTWV0aG9kcyB7XG5cbiAgICBzdGF0aWMgZ2V0VGFibGVGcm9tSHRtbFRhZyh0YWJsZVRhZzogSFRNTFRhYmxlRWxlbWVudCwgb3B0aW9uczogQ3JvY29IdG1sT3B0aW9ucykge1xuICAgICAgICBsZXQgdGFibGVEYXRhIDogVGFibGVEYXRhID0ge1xuICAgICAgICAgICAgaGVhZGVyOiBUYWJsZU1ldGhvZHMuZ2V0SGVhZGVyKHRhYmxlVGFnKSxcbiAgICAgICAgICAgIHJvd3M6IFRhYmxlTWV0aG9kcy5nZXRUYWJsZVJvd3ModGFibGVUYWcsIG9wdGlvbnMpXG4gICAgICAgIH07XG5cbiAgICAgICAgdmFyIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHR5cGU6IFRhYmxlVHlwZXMuVGFibGUsXG4gICAgICAgICAgICBkYXRhOiB0YWJsZURhdGEsXG4gICAgICAgICAgICB2YWxpZGF0aW9uUmVzdWx0OiB0aGlzLmNoZWNrVGFibGUodGFibGVEYXRhKSxcbiAgICAgICAgICAgIGJvb3RzdHJhcEh0bWw6IFwiXCJcbiAgICAgICAgfVxuXG4gICAgICAgIGlmKCFyZXN1bHQudmFsaWRhdGlvblJlc3VsdCl7XG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdC5ib290c3RyYXBIdG1sID0gQm9vdHN0cmFwVGFibGVNZXRob2RzLkJ1aWxkVGFibGUocmVzdWx0LmRhdGEpO1xuXG4gICAgICAgIHZhciBhbmd1bGFyTWF0ZXJpYWxUYWJsZURhdGFDaGVjayA9IEFuZ3VsYXJNYXRlcmlhbFRhYmxlTWV0aG9kcy5jaGVja0FuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YSh0YWJsZURhdGEpO1xuXG4gICAgICAgIGlmICghYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhQ2hlY2suaXNTdWNjZWVkZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgICAgIGFuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YUNoZWNrXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIGFuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YUNoZWNrLFxuICAgICAgICAgICAgaHRtbDogdGFibGVUYWcub3V0ZXJIVE1MLFxuICAgICAgICAgICAgYW5ndWxhck1hdGVyaWFsVGFibGVEYXRhOiBBbmd1bGFyTWF0ZXJpYWxUYWJsZU1ldGhvZHMuZ2V0QW5ndWxhck1hdGVyaWFsVGFibGVEYXRhKHRhYmxlRGF0YS5oZWFkZXIuY29sdW1ucywgdGFibGVEYXRhLnJvd3MpLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBjaGVja1RhYmxlKHRhYmxlRGF0YTogVGFibGVEYXRhKSA6IEJhc2VBcGlSZXNwb25zZXtcblxuICAgICAgICBsZXQgcm93cyA9IHRhYmxlRGF0YS5yb3dzO1xuXG4gICAgICAgIGxldCBwcmV2Um93Q291bnQgPSAtMTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCByb3cgPSByb3dzW2ldO1xuXG4gICAgICAgICAgICBpZiAocm93LmNvbHVtbnMubGVuZ3RoICE9PSBwcmV2Um93Q291bnQgJiYgcHJldlJvd0NvdW50ICE9IC0xKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBg0J7RiNC40LHQutCwINC/0YDQuCDQvtCx0YDQsNCx0L7RgtC60LUg0YDQsNC30LzQtdGC0LrQuCDRgtCw0LHQu9C40YbRiy4gYFxuICAgICAgICAgICAgICAgICAgICAgICAgKyBg0JrQvtC70LjRh9C10YHRgtCy0L4g0LrQvtC70L7QvdC+0Log0LIg0LrQsNC20LTQvtC5INGB0YLRgNC+0LrQtSDRgtCw0LHQu9C40YbRiyDQtNC+0LvQttC90L4g0YHQvtC+0YLQstC10YHRgtCy0L7QstCw0YLRjCDQtNGA0YPQsyDQtNGA0YPQs9GDLiBgXG4gICAgICAgICAgICAgICAgICAgICAgICArIGDQkiDRgdGC0YDQvtC60LUg0YLQsNCx0LvQuNGG0Ysg4oSWJHtpICsgMX0g0LrQvtC70LjRh9C10YHRgtCy0L4g0LrQvtC70L7QvdC+0LogPSAke3Jvdy5jb2x1bW5zLmxlbmd0aH0sINCwINCyINGB0YLRgNC+0LrQtSDQstGL0YjQtSAke3ByZXZSb3dDb3VudH0uYFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmV2Um93Q291bnQgPSByb3cuY29sdW1ucy5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXNTdWNjZWVkZWQ6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiBcIk9rXCJcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgc3RhdGljIGdldEhlYWRlcih0YWJsZVRhZzogSFRNTFRhYmxlRWxlbWVudCkgOiBUYWJsZUhlYWRlckRhdGEge1xuICAgICAgICBsZXQgaGVhZGVyID0gdGFibGVUYWcudEhlYWQ7XG5cbiAgICAgICAgaWYoaGVhZGVyID09PSBudWxsKXtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHRyID0gaGVhZGVyLmNoaWxkcmVuLml0ZW0oMCk7XG5cbiAgICAgICAgbGV0IGhlYWRlckNvbHVtbnM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCB0ci5jaGlsZHJlbi5sZW5ndGg7IGorKykge1xuICAgICAgICAgICAgY29uc3QgakVsZW1lbnQgPSB0ci5jaGlsZHJlbi5pdGVtKGopIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgICAgICBoZWFkZXJDb2x1bW5zLnB1c2goakVsZW1lbnQuaW5uZXJIVE1MKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBcInRhYmxlLWhlYWRlclwiLFxuICAgICAgICAgICAgY29sdW1uczogaGVhZGVyQ29sdW1uc1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXRUYWJsZVJvd3ModGFibGVUYWc6IEhUTUxUYWJsZUVsZW1lbnQsIG9wdGlvbnM6IENyb2NvSHRtbE9wdGlvbnMpOiBBcnJheTxUYWJsZVJvd0RhdGE+IHtcbiAgICAgICAgbGV0IHRCb2R5ID0gdGFibGVUYWcudEJvZGllcy5pdGVtKDApO1xuXG4gICAgICAgIGxldCByb3dzOiBUYWJsZVJvd0RhdGFbXSA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdEJvZHkuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGlFbGVtZW50ID0gdEJvZHkuY2hpbGRyZW4uaXRlbShpKTtcblxuICAgICAgICAgICAgbGV0IHJvd0NvbHVtbnM6IFRhYmxlUm93Q29sdW1uRGF0YVtdID0gW107XG5cbiAgICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCBqRWxlbWVudCA9IGlFbGVtZW50LmNoaWxkcmVuLml0ZW0oaikgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgICAgICBsZXQgY2hpbGRyZW4gPSBIdG1sRXh0cmFjdGlvbk1ldGhvZHMudHJhbnNmb3JtSHRtbEVsZW1lbnRUb0Jsb2NrcyhqRWxlbWVudCwgb3B0aW9ucyk7XG5cbiAgICAgICAgICAgICAgICBpZihjaGlsZHJlbi5sZW5ndGggPT09IDApe1xuICAgICAgICAgICAgICAgICAgICB2YXIgdGV4dFRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJwXCIpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0VGFnLmlubmVySFRNTCA9IGpFbGVtZW50LmlubmVySFRNTDtcblxuICAgICAgICAgICAgICAgICAgICB2YXIgdGV4dEVsZW0gPSBUZXh0U2ltcGxlTWV0aG9kcy5FeHRyYWN0VGV4dFRhZyh0ZXh0VGFnKTtcblxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKHRleHRFbGVtKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB2YXIgcmVzdWx0OlRhYmxlUm93Q29sdW1uRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogVGFibGVUeXBlcy5UYWJsZVJvd0NvbHVtbkRhdGEsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGpFbGVtZW50LmlubmVySFRNTCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcm93Q29sdW1ucy5wdXNoKHJlc3VsdCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJvd3MucHVzaCh7XG4gICAgICAgICAgICAgICAgdHlwZTogVGFibGVUeXBlcy5UYWJsZVJvd0NvbHVtbixcbiAgICAgICAgICAgICAgICBjb2x1bW5zOiByb3dDb2x1bW5zXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByb3dzO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL21vZGVscy9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGFnSXRlbSB7XG4gIHRhZzogc3RyaW5nO1xuICBkaXNwbGF5VmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdG1sQm9keVRhZyB7XG4gIHRhZ0Rlc2NyaXB0aW9uOiBUYWdJdGVtO1xuICBpbm5lckh0bWw6IHN0cmluZztcbiAgYXR0cmlidXRlczogT2JqZWN0O1xuICBwcmVzZW50T3JFZGl0OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFuZ3VsYXJNYXRlcmlhbFRhYmxlRGF0YSB7XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xuICBkYXRhOiBvYmplY3RbXTtcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL21vZGVscy9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGFnSXRlbSB7XG4gIHRhZzogc3RyaW5nO1xuICBkaXNwbGF5VmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdG1sQm9keVRhZyB7XG4gIHRhZ0Rlc2NyaXB0aW9uOiBUYWdJdGVtO1xuICBpbm5lckh0bWw6IHN0cmluZztcbiAgYXR0cmlidXRlczogT2JqZWN0O1xuICBwcmVzZW50T3JFZGl0OiBib29sZWFuO1xufVxuIl19
@@ -3,7 +3,7 @@ import { spritesHash } from "../../sprites-hash";
3
3
  import * as i0 from "@angular/core";
4
4
  export class SpriteIconPathPipe {
5
5
  transform(id) {
6
- return `assets/sprites/symbol/croco-html-svg-sprite-${spritesHash.symbol}.svg#${id}`;
6
+ return `assets/lib-sprites/symbol/croco-html-svg-sprite-${spritesHash.symbol}.svg#${id}`;
7
7
  }
8
8
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SpriteIconPathPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
9
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SpriteIconPathPipe, isStandalone: true, name: "spriteIconPath" }); }
@@ -15,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
15
15
  standalone: true,
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlLWljb24tcGF0aC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL3BpcGVzL3Nwcml0ZS1pY29uLXBhdGgucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBTy9DLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxDQUFDLEVBQWlCO1FBQ3pCLE9BQU8sK0NBQStDLFdBQVcsQ0FBQyxNQUFNLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDdkYsQ0FBQzs4R0FIVSxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge3Nwcml0ZXNIYXNofSBmcm9tIFwiLi4vLi4vc3ByaXRlcy1oYXNoXCI7XG5pbXBvcnQge1Nwcml0ZUlkc1R5cGV9IGZyb20gXCIuLi8uLi9zcHJpdGVzLWlkcy50eXBlXCI7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3Nwcml0ZUljb25QYXRoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU3ByaXRlSWNvblBhdGhQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShpZDogU3ByaXRlSWRzVHlwZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBhc3NldHMvc3ByaXRlcy9zeW1ib2wvY3JvY28taHRtbC1zdmctc3ByaXRlLSR7c3ByaXRlc0hhc2guc3ltYm9sfS5zdmcjJHtpZH1gO1xuICB9XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByaXRlLWljb24tcGF0aC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JvY28taHRtbC9zcmMvbGliL3BpcGVzL3Nwcml0ZS1pY29uLXBhdGgucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7O0FBTy9DLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsU0FBUyxDQUFDLEVBQWlCO1FBQ3pCLE9BQU8sbURBQW1ELFdBQVcsQ0FBQyxNQUFNLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDM0YsQ0FBQzs4R0FIVSxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge3Nwcml0ZXNIYXNofSBmcm9tIFwiLi4vLi4vc3ByaXRlcy1oYXNoXCI7XG5pbXBvcnQge1Nwcml0ZUlkc1R5cGV9IGZyb20gXCIuLi8uLi9zcHJpdGVzLWlkcy50eXBlXCI7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3Nwcml0ZUljb25QYXRoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU3ByaXRlSWNvblBhdGhQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShpZDogU3ByaXRlSWRzVHlwZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBhc3NldHMvbGliLXNwcml0ZXMvc3ltYm9sL2Nyb2NvLWh0bWwtc3ZnLXNwcml0ZS0ke3Nwcml0ZXNIYXNoLnN5bWJvbH0uc3ZnIyR7aWR9YDtcbiAgfVxufVxuIl19
@@ -2252,7 +2252,7 @@ const spritesHash = { symbol: "8c6e4c57" };
2252
2252
 
2253
2253
  class SpriteIconPathPipe {
2254
2254
  transform(id) {
2255
- return `assets/sprites/symbol/croco-html-svg-sprite-${spritesHash.symbol}.svg#${id}`;
2255
+ return `assets/lib-sprites/symbol/croco-html-svg-sprite-${spritesHash.symbol}.svg#${id}`;
2256
2256
  }
2257
2257
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SpriteIconPathPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2258
2258
  static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SpriteIconPathPipe, isStandalone: true, name: "spriteIconPath" }); }
@@ -2307,7 +2307,7 @@ class MainEditorComponent {
2307
2307
  this.visualEditor.recalculateBodyTags();
2308
2308
  }
2309
2309
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MainEditorComponent, deps: [{ token: i1$5.ClipboardService }, { token: i2$3.MatSnackBar }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2310
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: MainEditorComponent, isStandalone: true, selector: "croco-html-main-editor", inputs: { showMarkUp: "showMarkUp", useHtmlRaw: "useHtmlRaw", html: "html" }, outputs: { html: "html", onHtmlChanged: "onHtmlChanged" }, viewQueries: [{ propertyName: "visualEditor", first: true, predicate: ["visualEditor"], descendants: true, static: true }], ngImport: i0, template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\" viewBox=\"0 0 32 30\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M31.8081 14.1889C28.797 8.31109 22.8303 4.33331 16.0026 4.33331C9.17479 4.33331 3.20813 8.31109 0.197015 14.1889C0.0700503 14.4404 0.00390625 14.7182 0.00390625 15C0.00390625 15.2817 0.0700503 15.5596 0.197015 15.8111C3.20813 21.6889 9.17479 25.6666 16.0026 25.6666C22.8303 25.6666 28.797 21.6889 31.8081 15.8111C31.9351 15.5596 32.0012 15.2817 32.0012 15C32.0012 14.7182 31.9351 14.4404 31.8081 14.1889ZM16.0026 23C14.4203 23 12.8736 22.5308 11.558 21.6517C10.2424 20.7727 9.21704 19.5233 8.61154 18.0614C8.00603 16.5996 7.84761 14.9911 8.15629 13.4393C8.46497 11.8874 9.2269 10.4619 10.3457 9.34313C11.4645 8.22431 12.89 7.46238 14.4418 7.1537C15.9937 6.84502 17.6022 7.00344 19.064 7.60894C20.5258 8.21444 21.7753 9.23982 22.6543 10.5554C23.5334 11.871 24.0026 13.4177 24.0026 15C24.0033 16.0508 23.7969 17.0914 23.3951 18.0623C22.9933 19.0332 22.4041 19.9154 21.6611 20.6585C20.918 21.4015 20.0358 21.9907 19.0649 22.3925C18.094 22.7943 17.0534 23.0007 16.0026 23ZM16.0026 9.66665C15.5267 9.67352 15.0539 9.74453 14.597 9.87776C14.9689 10.3904 15.1459 11.0188 15.096 11.6502C15.0461 12.2815 14.7726 12.8744 14.3248 13.3222C13.877 13.7701 13.2841 14.0435 12.6528 14.0934C12.0214 14.1433 11.393 13.9664 10.8803 13.5944C10.5886 14.6689 10.6413 15.8079 11.0308 16.8509C11.4203 17.8939 12.1271 18.7885 13.0518 19.4088C13.9764 20.029 15.0723 20.3436 16.1851 20.3084C17.2979 20.2732 18.3717 19.8898 19.2552 19.2123C20.1388 18.5348 20.7876 17.5973 21.1103 16.5317C21.4331 15.4661 21.4135 14.3261 21.0544 13.2722C20.6953 12.2183 20.0147 11.3036 19.1085 10.6568C18.2022 10.01 17.116 9.6637 16.0026 9.66665Z\"/>\n <rect width=\"32\" height=\"28.4444\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: VisualEditorComponent, selector: "croco-visual-editor", inputs: ["showMarkUp", "useHtmlRaw", "html"], outputs: ["html", "onHtmlChanged", "rendered"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i1$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1$2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: HtmlViewComponent, selector: "croco-html-view", inputs: ["html"] }, { kind: "pipe", type: SpriteIconPathPipe, name: "spriteIconPath" }] }); }
2310
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.4", type: MainEditorComponent, isStandalone: true, selector: "croco-html-main-editor", inputs: { showMarkUp: "showMarkUp", useHtmlRaw: "useHtmlRaw", html: "html" }, outputs: { html: "html", onHtmlChanged: "onHtmlChanged" }, viewQueries: [{ propertyName: "visualEditor", first: true, predicate: ["visualEditor"], descendants: true, static: true }], ngImport: i0, template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\">\n <use [attr.xlink:href]=\"'viewer-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i3.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i3.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i3.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: VisualEditorComponent, selector: "croco-visual-editor", inputs: ["showMarkUp", "useHtmlRaw", "html"], outputs: ["html", "onHtmlChanged", "rendered"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i1$2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1$2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: HtmlViewComponent, selector: "croco-html-view", inputs: ["html"] }, { kind: "pipe", type: SpriteIconPathPipe, name: "spriteIconPath" }] }); }
2311
2311
  }
2312
2312
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: MainEditorComponent, decorators: [{
2313
2313
  type: Component,
@@ -2326,7 +2326,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
2326
2326
  MatIcon,
2327
2327
  NgTemplateOutlet,
2328
2328
  SpriteIconPathPipe
2329
- ], template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\" viewBox=\"0 0 32 30\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M31.8081 14.1889C28.797 8.31109 22.8303 4.33331 16.0026 4.33331C9.17479 4.33331 3.20813 8.31109 0.197015 14.1889C0.0700503 14.4404 0.00390625 14.7182 0.00390625 15C0.00390625 15.2817 0.0700503 15.5596 0.197015 15.8111C3.20813 21.6889 9.17479 25.6666 16.0026 25.6666C22.8303 25.6666 28.797 21.6889 31.8081 15.8111C31.9351 15.5596 32.0012 15.2817 32.0012 15C32.0012 14.7182 31.9351 14.4404 31.8081 14.1889ZM16.0026 23C14.4203 23 12.8736 22.5308 11.558 21.6517C10.2424 20.7727 9.21704 19.5233 8.61154 18.0614C8.00603 16.5996 7.84761 14.9911 8.15629 13.4393C8.46497 11.8874 9.2269 10.4619 10.3457 9.34313C11.4645 8.22431 12.89 7.46238 14.4418 7.1537C15.9937 6.84502 17.6022 7.00344 19.064 7.60894C20.5258 8.21444 21.7753 9.23982 22.6543 10.5554C23.5334 11.871 24.0026 13.4177 24.0026 15C24.0033 16.0508 23.7969 17.0914 23.3951 18.0623C22.9933 19.0332 22.4041 19.9154 21.6611 20.6585C20.918 21.4015 20.0358 21.9907 19.0649 22.3925C18.094 22.7943 17.0534 23.0007 16.0026 23ZM16.0026 9.66665C15.5267 9.67352 15.0539 9.74453 14.597 9.87776C14.9689 10.3904 15.1459 11.0188 15.096 11.6502C15.0461 12.2815 14.7726 12.8744 14.3248 13.3222C13.877 13.7701 13.2841 14.0435 12.6528 14.0934C12.0214 14.1433 11.393 13.9664 10.8803 13.5944C10.5886 14.6689 10.6413 15.8079 11.0308 16.8509C11.4203 17.8939 12.1271 18.7885 13.0518 19.4088C13.9764 20.029 15.0723 20.3436 16.1851 20.3084C17.2979 20.2732 18.3717 19.8898 19.2552 19.2123C20.1388 18.5348 20.7876 17.5973 21.1103 16.5317C21.4331 15.4661 21.4135 14.3261 21.0544 13.2722C20.6953 12.2183 20.0147 11.3036 19.1085 10.6568C18.2022 10.01 17.116 9.6637 16.0026 9.66665Z\"/>\n <rect width=\"32\" height=\"28.4444\" fill=\"none\"/>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
2329
+ ], template: "<mat-tab-group mat-stretch-tabs=\"false\" mat-align-tabs=\"start\">\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'visual-editor-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 20px;\"></div>\n\n <croco-visual-editor #visualEditor\n [useHtmlRaw]=\"useHtmlRaw\"\n [html]=\"html\"\n (onHtmlChanged)=\"onHtmlChangedHandler($event)\"\n (rendered)=\"visualEditorRenderedHandler()\">\n </croco-visual-editor>\n\n <div style=\"height: 20px;\"></div>\n\n </mat-tab>\n\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"26\">\n <use [attr.xlink:href]=\"'source-code-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n <div style=\"height: 10px;\"></div>\n @if (visualEditorRendered) {\n <div>\n <mat-form-field class=\"w-100\">\n <mat-label>\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434</mat-label>\n <textarea matInput cdkTextareaAutosize #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n placeholder=\"\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043A\u043E\u0434\" [(ngModel)]=\"html\"\n (ngModelChange)=\"textAreaModelChangedHandler()\"></textarea>\n </mat-form-field>\n </div>\n }\n\n <button (click)=\"copyMarkUp()\"\n mat-raised-button color=\"primary\">\n \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0442\u043A\u0443\n </button>\n </mat-tab>\n <mat-tab>\n <ng-template mat-tab-label>\n <svg class=\"custom-icon\" width=\"32\" height=\"30\">\n <use [attr.xlink:href]=\"'viewer-tab' | spriteIconPath\"></use>\n </svg>\n </ng-template>\n\n\n <mat-card style=\"padding: 2px;\" class=\"mat-card\">\n <mat-card-content>\n <croco-html-view [html]=\"html\">\n </croco-html-view>\n </mat-card-content>\n </mat-card>\n </mat-tab>\n</mat-tab-group>\n", styles: [":host ::ng-deep .mdc-tab.mat-mdc-tab{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab .custom-icon{fill:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover{background-color:#f7f7fa}:host ::ng-deep .mdc-tab.mat-mdc-tab:hover .custom-icon{fill:#747ebf}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active{background-color:#323e8b}:host ::ng-deep .mdc-tab.mat-mdc-tab.mdc-tab--active svg.custom-icon{fill:#fff}:host ::ng-deep div.mat-mdc-tab-labels{justify-content:center}.example-list{width:500px;max-width:100%;border:solid 1px #ccc;min-height:60px;display:block;background:#fff;border-radius:4px;overflow:hidden}.example-box{padding:20px 10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;cursor:move;background:#fff;font-size:14px}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
2330
2330
  }], ctorParameters: () => [{ type: i1$5.ClipboardService }, { type: i2$3.MatSnackBar }, { type: i0.ChangeDetectorRef }], propDecorators: { visualEditor: [{
2331
2331
  type: ViewChild,
2332
2332
  args: ["visualEditor", { static: true }]