@lowcodeunit/applications-flow-common 1.34.60-social-ui-bug-fixes → 1.34.61-lets-get-social-ish

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/esm2020/lcu.api.mjs +5 -4
  2. package/esm2020/lib/applications-flow.module.mjs +42 -26
  3. package/esm2020/lib/controls/devops-source-control-form/devops-source-control-form.component.mjs +3 -3
  4. package/esm2020/lib/controls/dfs-modifiers-form/dfs-modifiers-form.component.mjs +277 -0
  5. package/esm2020/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.mjs +10 -3
  6. package/esm2020/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.mjs +3 -3
  7. package/esm2020/lib/dialogs/dfs-modifiers-dialog/dfs-modifiers-dialog.component.mjs +109 -0
  8. package/esm2020/lib/dialogs/feed-header-dialog/feed-header-dialog.component.mjs +280 -0
  9. package/esm2020/lib/dialogs/source-control-dialog/source-control-dialog.component.mjs +10 -3
  10. package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +2 -2
  11. package/esm2020/lib/elements/feed-header/feed-header.component.mjs +131 -0
  12. package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +2 -2
  13. package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +3 -2
  14. package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +3 -3
  15. package/esm2020/lib/elements/projects/controls/tabs/domains/domains.component.mjs +2 -2
  16. package/esm2020/lib/elements/skeleton-feed-card/skeleton-feed-card.component.mjs +2 -2
  17. package/esm2020/lib/models/user-feed.model.mjs +3 -1
  18. package/esm2020/lib/services/applications-flow.service.mjs +16 -6
  19. package/esm2020/lib/services/eac.service.mjs +28 -5
  20. package/esm2020/lib/services/project.service.mjs +50 -3
  21. package/esm2020/lib/state/applications-flow.state.mjs +1 -1
  22. package/fesm2015/lowcodeunit-applications-flow-common.mjs +2405 -1698
  23. package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +1 -1
  24. package/fesm2020/lowcodeunit-applications-flow-common.mjs +2415 -1729
  25. package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +1 -1
  26. package/lcu.api.d.ts +4 -3
  27. package/lib/applications-flow.module.d.ts +21 -18
  28. package/lib/controls/dfs-modifiers-form/dfs-modifiers-form.component.d.ts +62 -0
  29. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +2 -0
  30. package/lib/dialogs/dfs-modifiers-dialog/dfs-modifiers-dialog.component.d.ts +41 -0
  31. package/lib/dialogs/feed-header-dialog/feed-header-dialog.component.d.ts +71 -0
  32. package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +1 -0
  33. package/lib/elements/{gh-control/gh-control.component.d.ts → feed-header/feed-header.component.d.ts} +9 -7
  34. package/lib/models/user-feed.model.d.ts +17 -0
  35. package/lib/services/applications-flow.service.d.ts +4 -1
  36. package/lib/services/eac.service.d.ts +7 -4
  37. package/lib/services/project.service.d.ts +5 -3
  38. package/lib/state/applications-flow.state.d.ts +2 -1
  39. package/package.json +1 -1
  40. package/esm2020/lib/elements/flow-tool/flow-tool.component.mjs +0 -75
  41. package/esm2020/lib/elements/gh-control/gh-control.component.mjs +0 -107
  42. package/lib/elements/flow-tool/flow-tool.component.d.ts +0 -28
@@ -1,107 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { NewApplicationDialogComponent } from '../../dialogs/new-application-dialog/new-application-dialog.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/eac.service";
5
- import * as i2 from "@angular/material/dialog";
6
- import * as i3 from "@angular/material/card";
7
- import * as i4 from "@angular/material/icon";
8
- import * as i5 from "@angular/material/form-field";
9
- import * as i6 from "@angular/material/button";
10
- import * as i7 from "@angular/material/menu";
11
- import * as i8 from "skeleton-elements/angular";
12
- import * as i9 from "@angular/common";
13
- import * as i10 from "@angular/flex-layout/flex";
14
- import * as i11 from "@angular/material/input";
15
- import * as i12 from "@angular/forms";
16
- export class GhControlComponent {
17
- constructor(eacSvc, dialog) {
18
- this.eacSvc = eacSvc;
19
- this.dialog = dialog;
20
- this.InputLabel = "Create Pull Request";
21
- this.SkeletonEffect = "wave";
22
- this.selectedBtn = "pr-btn";
23
- }
24
- get ActiveEnvironmentLookup() {
25
- // TODO: Eventually support multiple environments
26
- const envLookups = Object.keys(this.State?.EaC?.Environments || {});
27
- return envLookups[0];
28
- }
29
- get State() {
30
- return this.eacSvc.State;
31
- }
32
- ngOnInit() {
33
- }
34
- ngAfterViewInit() {
35
- this.addSelectBtn();
36
- }
37
- CreateFeatureBranch() {
38
- this.removeSelectedBtn();
39
- this.InputLabel = "Create Feature Branch";
40
- this.selectedBtn = "fb-btn";
41
- this.addSelectBtn();
42
- console.log("create feature branch selected");
43
- }
44
- OpenIssue() {
45
- this.removeSelectedBtn();
46
- this.InputLabel = "Open Issue";
47
- this.selectedBtn = "oi-btn";
48
- this.addSelectBtn();
49
- console.log("open issue selected");
50
- }
51
- CreatePullRequest() {
52
- this.removeSelectedBtn();
53
- this.InputLabel = "Create Pull Request";
54
- this.selectedBtn = "pr-btn";
55
- this.addSelectBtn();
56
- console.log("create pull request selected");
57
- }
58
- CreateNewApp() {
59
- const dialogRef = this.dialog.open(NewApplicationDialogComponent, {
60
- width: '600px',
61
- data: {
62
- environmentLookup: this.ActiveEnvironmentLookup,
63
- },
64
- });
65
- dialogRef.afterClosed().subscribe((result) => {
66
- // console.log('The dialog was closed');
67
- // console.log("result:", result)
68
- });
69
- }
70
- RouteToPath(path) {
71
- window.location.href = path;
72
- }
73
- Submit() {
74
- console.log("submitting: ", this.value);
75
- switch (this.selectedBtn) {
76
- case "pr-btn":
77
- //Pull request
78
- console.log("creating pull request: ", this.value);
79
- break;
80
- case "oi-btn":
81
- //Open Issue
82
- console.log("Open issue: ", this.value);
83
- break;
84
- case "fb-btn":
85
- //Feature Branch
86
- console.log("creating feature branch: ", this.value);
87
- break;
88
- default:
89
- console.log("hmm");
90
- break;
91
- }
92
- }
93
- //HELPERS
94
- addSelectBtn() {
95
- // (<HTMLElement>document.getElementById(this.selectedBtn)).classList.add('selected');
96
- }
97
- removeSelectedBtn() {
98
- // (<HTMLElement>document.getElementById(this.selectedBtn)).classList.remove('selected');
99
- }
100
- }
101
- GhControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: GhControlComponent, deps: [{ token: i1.EaCService }, { token: i2.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
102
- GhControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: GhControlComponent, selector: "lcu-gh-control", ngImport: i0, template: "<mat-card class=\"social-card\" *ngIf=\"false\">\n <ng-container *ngIf=\"!State?.Loading\">\n <div class=\"gh-card-container\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-icon fxFlex=\"15%\" class=\"gh-icon\">error_outline</mat-icon>\n <div fxFlex=\"70%\" class=\"gh-card-main-content\">\n <mat-form-field appearance=\"fill\" class=\"gh-input\">\n <mat-label>{{ InputLabel }}</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"value\" />\n <!-- <button *ngIf=\"value\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"value=''\">\n <mat-icon>close</mat-icon>\n </button> -->\n </mat-form-field>\n </div>\n\n <button\n fxFlex=\"15%\"\n mat-button\n (click)=\"Submit()\"\n id=\"submit-btn\"\n color=\"primary\"\n >\n Submit\n </button>\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <button mat-button (click)=\"CreatePullRequest()\" id=\"pr-btn\">\n Pull Request\n </button>\n <button mat-button (click)=\"OpenIssue()\" id=\"oi-btn\">Open Issue</button>\n <button mat-button (click)=\"CreateFeatureBranch()\" id=\"fb-btn\">\n Feature Branch\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"menu\">\n <mat-icon>more_horiz</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button class=\"gh-menu-action\" mat-menu-item (click)=\"CreateNewApp()\">\n Create New App\n </button>\n\n <button\n class=\"gh-menu-action\"\n mat-menu-item\n (click)=\"RouteToPath('/dashboard/create-project')\"\n >\n Create Project\n </button>\n </mat-menu>\n </mat-card-actions>\n </ng-container>\n\n <!-- SKELETON -->\n <ng-container *ngIf=\"State?.Loading\">\n <div id=\"gh-card-skeleton\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <skeleton-avatar\n class=\"gh-icon\"\n [showIcon]=\"false\"\n [effect]=\"SkeletonEffect\"\n ></skeleton-avatar>\n\n <div fxFlex=\"70%\" class=\"gh-card-main-content\">\n <skeleton-block\n height=\"60px\"\n [effect]=\"SkeletonEffect\"\n ></skeleton-block>\n </div>\n\n <div\n skeleton-text\n fxFlex=\"15%\"\n [effect]=\"SkeletonEffect\"\n style=\"margin: 0px 10px\"\n >\n Submit\n </div>\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Pull Request</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">Open Issue</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">Feature Branch</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">\n <mat-icon>more_horiz</mat-icon>\n </div>\n </div>\n </ng-container>\n</mat-card>\n", styles: [":host ::ng-deep .social-card{margin:20px;padding:15px 5px}:host ::ng-deep mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}:host ::ng-deep .main-slot-container{padding:10px}:host ::ng-deep .slot-header{align-items:center}:host ::ng-deep .slot-content{width:100%}:host ::ng-deep .slot-name{font-size:13px;font-weight:600}:host ::ng-deep .slot-description{font-size:12px;margin-right:10px}:host ::ng-deep .slot-action-anchor{font-size:10px;text-decoration:none;color:#000}:host ::ng-deep .action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.gh-icon{width:60px;height:60px;font-size:60px;text-align:center}.gh-input{width:90%}.selected{border:1px solid green}.gh-input ::ng-deep .mat-form-field-flex{border:1px solid;border-radius:30px!important}.gh-input ::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}.gh-input ::ng-deep .mat-form-field-underline{display:none}\n"], components: [{ type: i3.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i8.SkeletonAvatarComponent, selector: "skeleton-avatar", inputs: ["size", "color", "showIcon", "iconColor", "borderRadius", "effect"] }, { type: i8.SkeletonBlockComponent, selector: "skeleton-block", inputs: ["width", "height", "effect", "borderRadius"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i5.MatLabel, selector: "mat-label" }, { type: i11.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"] }, { type: i12.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i12.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i12.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i8.SkeletonTextDirective, selector: "[skeleton-text]", inputs: ["effect"] }] });
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: GhControlComponent, decorators: [{
104
- type: Component,
105
- args: [{ selector: 'lcu-gh-control', template: "<mat-card class=\"social-card\" *ngIf=\"false\">\n <ng-container *ngIf=\"!State?.Loading\">\n <div class=\"gh-card-container\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-icon fxFlex=\"15%\" class=\"gh-icon\">error_outline</mat-icon>\n <div fxFlex=\"70%\" class=\"gh-card-main-content\">\n <mat-form-field appearance=\"fill\" class=\"gh-input\">\n <mat-label>{{ InputLabel }}</mat-label>\n <input matInput type=\"text\" [(ngModel)]=\"value\" />\n <!-- <button *ngIf=\"value\" matSuffix mat-icon-button aria-label=\"Clear\" (click)=\"value=''\">\n <mat-icon>close</mat-icon>\n </button> -->\n </mat-form-field>\n </div>\n\n <button\n fxFlex=\"15%\"\n mat-button\n (click)=\"Submit()\"\n id=\"submit-btn\"\n color=\"primary\"\n >\n Submit\n </button>\n </div>\n\n <mat-card-actions fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <button mat-button (click)=\"CreatePullRequest()\" id=\"pr-btn\">\n Pull Request\n </button>\n <button mat-button (click)=\"OpenIssue()\" id=\"oi-btn\">Open Issue</button>\n <button mat-button (click)=\"CreateFeatureBranch()\" id=\"fb-btn\">\n Feature Branch\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" aria-label=\"menu\">\n <mat-icon>more_horiz</mat-icon>\n </button>\n <mat-menu #menu=\"matMenu\">\n <button class=\"gh-menu-action\" mat-menu-item (click)=\"CreateNewApp()\">\n Create New App\n </button>\n\n <button\n class=\"gh-menu-action\"\n mat-menu-item\n (click)=\"RouteToPath('/dashboard/create-project')\"\n >\n Create Project\n </button>\n </mat-menu>\n </mat-card-actions>\n </ng-container>\n\n <!-- SKELETON -->\n <ng-container *ngIf=\"State?.Loading\">\n <div id=\"gh-card-skeleton\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <skeleton-avatar\n class=\"gh-icon\"\n [showIcon]=\"false\"\n [effect]=\"SkeletonEffect\"\n ></skeleton-avatar>\n\n <div fxFlex=\"70%\" class=\"gh-card-main-content\">\n <skeleton-block\n height=\"60px\"\n [effect]=\"SkeletonEffect\"\n ></skeleton-block>\n </div>\n\n <div\n skeleton-text\n fxFlex=\"15%\"\n [effect]=\"SkeletonEffect\"\n style=\"margin: 0px 10px\"\n >\n Submit\n </div>\n </div>\n\n <div fxLayout=\"row\" fxLayoutAlign=\"space-around center\">\n <div skeleton-text [effect]=\"SkeletonEffect\">Pull Request</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">Open Issue</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">Feature Branch</div>\n <div skeleton-text [effect]=\"SkeletonEffect\">\n <mat-icon>more_horiz</mat-icon>\n </div>\n </div>\n </ng-container>\n</mat-card>\n", styles: [":host ::ng-deep .social-card{margin:20px;padding:15px 5px}:host ::ng-deep mat-card-actions{margin-bottom:-1px!important;margin-left:0!important;margin-right:-.5px!important}:host ::ng-deep .main-slot-container{padding:10px}:host ::ng-deep .slot-header{align-items:center}:host ::ng-deep .slot-content{width:100%}:host ::ng-deep .slot-name{font-size:13px;font-weight:600}:host ::ng-deep .slot-description{font-size:12px;margin-right:10px}:host ::ng-deep .slot-action-anchor{font-size:10px;text-decoration:none;color:#000}:host ::ng-deep .action-icon{height:25px;width:25px;font-size:25px;cursor:pointer}.gh-icon{width:60px;height:60px;font-size:60px;text-align:center}.gh-input{width:90%}.selected{border:1px solid green}.gh-input ::ng-deep .mat-form-field-flex{border:1px solid;border-radius:30px!important}.gh-input ::ng-deep .mat-form-field-wrapper{padding-bottom:0!important}.gh-input ::ng-deep .mat-form-field-underline{display:none}\n"] }]
106
- }], ctorParameters: function () { return [{ type: i1.EaCService }, { type: i2.MatDialog }]; } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2gtY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9lbGVtZW50cy9naC1jb250cm9sL2doLWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tbW9uL3NyYy9saWIvZWxlbWVudHMvZ2gtY29udHJvbC9naC1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBU3RILE1BQU0sT0FBTyxrQkFBa0I7SUFxQjdCLFlBQ2MsTUFBa0IsRUFDbEIsTUFBaUI7UUFEakIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBRTdCLElBQUksQ0FBQyxVQUFVLEdBQUcscUJBQXFCLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFFOUIsQ0FBQztJQTNCRCxJQUFXLHVCQUF1QjtRQUNoQyxtREFBbUQ7UUFDbkQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7UUFFcEUsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQW9CTSxRQUFRO0lBRWYsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBRWhELENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUVyQyxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcscUJBQXFCLENBQUM7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUU5QyxDQUFDO0lBRU0sWUFBWTtRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsRUFBRTtZQUNoRSxLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRTtnQkFDSixpQkFBaUIsRUFBRSxJQUFJLENBQUMsdUJBQXVCO2FBQ2hEO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNDLHdDQUF3QztZQUN4QyxpQ0FBaUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLElBQVk7UUFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFHTSxNQUFNO1FBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBQztZQUN2QixLQUFLLFFBQVE7Z0JBQ1gsY0FBYztnQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbkQsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxZQUFZO2dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxnQkFBZ0I7Z0JBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyRCxNQUFNO1lBQ1I7Z0JBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFFbEIsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELFNBQVM7SUFFQyxZQUFZO1FBQ3BCLHNGQUFzRjtJQUN4RixDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLHlGQUF5RjtJQUMzRixDQUFDOzsrR0FuSFUsa0JBQWtCO21HQUFsQixrQkFBa0Isc0RDWC9CLCs3RkF3RkE7MkZEN0VhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE5ld0FwcGxpY2F0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGlhbG9ncy9uZXctYXBwbGljYXRpb24tZGlhbG9nL25ldy1hcHBsaWNhdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEVhQ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1naC1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2doLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naC1jb250cm9sLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR2hDb250cm9sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgZ2V0IEFjdGl2ZUVudmlyb25tZW50TG9va3VwKCk6IHN0cmluZyB7XG4gICAgLy8gIFRPRE86ICBFdmVudHVhbGx5IHN1cHBvcnQgbXVsdGlwbGUgZW52aXJvbm1lbnRzXG4gICAgY29uc3QgZW52TG9va3VwcyA9IE9iamVjdC5rZXlzKHRoaXMuU3RhdGU/LkVhQz8uRW52aXJvbm1lbnRzIHx8IHt9KTtcblxuICAgIHJldHVybiBlbnZMb29rdXBzWzBdO1xuICB9XG5cbiAgcHVibGljIGdldCBTdGF0ZSgpOiBBcHBsaWNhdGlvbnNGbG93U3RhdGV7XG4gICAgcmV0dXJuIHRoaXMuZWFjU3ZjLlN0YXRlO1xuICB9XG5cbiAgcHVibGljIElucHV0TGFiZWw6IHN0cmluZztcblxuICBwdWJsaWMgU2tlbGV0b25FZmZlY3Q6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRCdG46IHN0cmluZztcblxuICBwdWJsaWMgdmFsdWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvciggXG4gICAgICBwcm90ZWN0ZWQgZWFjU3ZjOiBFYUNTZXJ2aWNlLFxuICAgICAgcHJvdGVjdGVkIGRpYWxvZzogTWF0RGlhbG9nKSB7IFxuXG4gICAgdGhpcy5JbnB1dExhYmVsID0gXCJDcmVhdGUgUHVsbCBSZXF1ZXN0XCI7XG4gICAgdGhpcy5Ta2VsZXRvbkVmZmVjdCA9IFwid2F2ZVwiO1xuICAgIHRoaXMuc2VsZWN0ZWRCdG4gPSBcInByLWJ0blwiO1xuXG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgXG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCl7XG4gICAgdGhpcy5hZGRTZWxlY3RCdG4oKTtcbiAgfVxuXG4gIHB1YmxpYyBDcmVhdGVGZWF0dXJlQnJhbmNoKCl7XG4gICAgdGhpcy5yZW1vdmVTZWxlY3RlZEJ0bigpO1xuICAgIHRoaXMuSW5wdXRMYWJlbCA9IFwiQ3JlYXRlIEZlYXR1cmUgQnJhbmNoXCI7XG4gICAgdGhpcy5zZWxlY3RlZEJ0biA9IFwiZmItYnRuXCI7XG4gICAgdGhpcy5hZGRTZWxlY3RCdG4oKTtcbiAgICBjb25zb2xlLmxvZyhcImNyZWF0ZSBmZWF0dXJlIGJyYW5jaCBzZWxlY3RlZFwiKTtcblxuICB9XG5cbiAgcHVibGljIE9wZW5Jc3N1ZSgpe1xuICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRCdG4oKTtcbiAgICB0aGlzLklucHV0TGFiZWwgPSBcIk9wZW4gSXNzdWVcIjtcbiAgICB0aGlzLnNlbGVjdGVkQnRuID0gXCJvaS1idG5cIjtcbiAgICB0aGlzLmFkZFNlbGVjdEJ0bigpO1xuICAgIGNvbnNvbGUubG9nKFwib3BlbiBpc3N1ZSBzZWxlY3RlZFwiKTtcblxuICB9XG5cbiAgcHVibGljIENyZWF0ZVB1bGxSZXF1ZXN0KCl7XG4gICAgdGhpcy5yZW1vdmVTZWxlY3RlZEJ0bigpO1xuICAgIHRoaXMuSW5wdXRMYWJlbCA9IFwiQ3JlYXRlIFB1bGwgUmVxdWVzdFwiO1xuICAgIHRoaXMuc2VsZWN0ZWRCdG4gPSBcInByLWJ0blwiO1xuICAgIHRoaXMuYWRkU2VsZWN0QnRuKCk7XG4gICAgY29uc29sZS5sb2coXCJjcmVhdGUgcHVsbCByZXF1ZXN0IHNlbGVjdGVkXCIpO1xuXG4gIH1cblxuICBwdWJsaWMgQ3JlYXRlTmV3QXBwKCl7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihOZXdBcHBsaWNhdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc2MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGVudmlyb25tZW50TG9va3VwOiB0aGlzLkFjdGl2ZUVudmlyb25tZW50TG9va3VwLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnVGhlIGRpYWxvZyB3YXMgY2xvc2VkJyk7XG4gICAgICAvLyBjb25zb2xlLmxvZyhcInJlc3VsdDpcIiwgcmVzdWx0KVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIFJvdXRlVG9QYXRoKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcGF0aDtcbiAgfVxuXG5cbiAgcHVibGljIFN1Ym1pdCgpe1xuICAgIGNvbnNvbGUubG9nKFwic3VibWl0dGluZzogXCIsIHRoaXMudmFsdWUpO1xuICAgIHN3aXRjaCAodGhpcy5zZWxlY3RlZEJ0bil7XG4gICAgICBjYXNlIFwicHItYnRuXCI6XG4gICAgICAgIC8vUHVsbCByZXF1ZXN0XG4gICAgICAgIGNvbnNvbGUubG9nKFwiY3JlYXRpbmcgcHVsbCByZXF1ZXN0OiBcIiwgdGhpcy52YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm9pLWJ0blwiOlxuICAgICAgICAvL09wZW4gSXNzdWVcbiAgICAgICAgY29uc29sZS5sb2coXCJPcGVuIGlzc3VlOiBcIiwgdGhpcy52YWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImZiLWJ0blwiOlxuICAgICAgICAvL0ZlYXR1cmUgQnJhbmNoXG4gICAgICAgIGNvbnNvbGUubG9nKFwiY3JlYXRpbmcgZmVhdHVyZSBicmFuY2g6IFwiLCB0aGlzLnZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLmxvZyhcImhtbVwiKVxuXG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vSEVMUEVSU1xuXG4gIHByb3RlY3RlZCBhZGRTZWxlY3RCdG4oKXsgICAgXG4gICAgLy8gKDxIVE1MRWxlbWVudD5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLnNlbGVjdGVkQnRuKSkuY2xhc3NMaXN0LmFkZCgnc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW1vdmVTZWxlY3RlZEJ0bigpe1xuICAgIC8vICg8SFRNTEVsZW1lbnQ+ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5zZWxlY3RlZEJ0bikpLmNsYXNzTGlzdC5yZW1vdmUoJ3NlbGVjdGVkJyk7XG4gIH1cblxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwic29jaWFsLWNhcmRcIiAqbmdJZj1cImZhbHNlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhU3RhdGU/LkxvYWRpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZ2gtY2FyZC1jb250YWluZXJcIiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCI+XG4gICAgICA8bWF0LWljb24gZnhGbGV4PVwiMTUlXCIgY2xhc3M9XCJnaC1pY29uXCI+ZXJyb3Jfb3V0bGluZTwvbWF0LWljb24+XG4gICAgICA8ZGl2IGZ4RmxleD1cIjcwJVwiIGNsYXNzPVwiZ2gtY2FyZC1tYWluLWNvbnRlbnRcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJnaC1pbnB1dFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+e3sgSW5wdXRMYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAvPlxuICAgICAgICAgIDwhLS0gPGJ1dHRvbiAqbmdJZj1cInZhbHVlXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQ2xlYXJcIiAoY2xpY2spPVwidmFsdWU9JydcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+IC0tPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxidXR0b25cbiAgICAgICAgZnhGbGV4PVwiMTUlXCJcbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAoY2xpY2spPVwiU3VibWl0KClcIlxuICAgICAgICBpZD1cInN1Ym1pdC1idG5cIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgPlxuICAgICAgICBTdWJtaXRcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPG1hdC1jYXJkLWFjdGlvbnMgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3BhY2UtYXJvdW5kIGNlbnRlclwiPlxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJDcmVhdGVQdWxsUmVxdWVzdCgpXCIgaWQ9XCJwci1idG5cIj5cbiAgICAgICAgUHVsbCBSZXF1ZXN0XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiT3Blbklzc3VlKClcIiBpZD1cIm9pLWJ0blwiPk9wZW4gSXNzdWU8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiQ3JlYXRlRmVhdHVyZUJyYW5jaCgpXCIgaWQ9XCJmYi1idG5cIj5cbiAgICAgICAgRmVhdHVyZSBCcmFuY2hcbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBhcmlhLWxhYmVsPVwibWVudVwiPlxuICAgICAgICA8bWF0LWljb24+bW9yZV9ob3JpejwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImdoLW1lbnUtYWN0aW9uXCIgbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiQ3JlYXRlTmV3QXBwKClcIj5cbiAgICAgICAgICBDcmVhdGUgTmV3IEFwcFxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJnaC1tZW51LWFjdGlvblwiXG4gICAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICAgIChjbGljayk9XCJSb3V0ZVRvUGF0aCgnL2Rhc2hib2FyZC9jcmVhdGUtcHJvamVjdCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIENyZWF0ZSBQcm9qZWN0XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9tYXQtbWVudT5cbiAgICA8L21hdC1jYXJkLWFjdGlvbnM+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gU0tFTEVUT04gLS0+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJTdGF0ZT8uTG9hZGluZ1wiPlxuICAgIDxkaXYgaWQ9XCJnaC1jYXJkLXNrZWxldG9uXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgPHNrZWxldG9uLWF2YXRhclxuICAgICAgICBjbGFzcz1cImdoLWljb25cIlxuICAgICAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuICAgICAgICBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCJcbiAgICAgID48L3NrZWxldG9uLWF2YXRhcj5cblxuICAgICAgPGRpdiBmeEZsZXg9XCI3MCVcIiBjbGFzcz1cImdoLWNhcmQtbWFpbi1jb250ZW50XCI+XG4gICAgICAgIDxza2VsZXRvbi1ibG9ja1xuICAgICAgICAgIGhlaWdodD1cIjYwcHhcIlxuICAgICAgICAgIFtlZmZlY3RdPVwiU2tlbGV0b25FZmZlY3RcIlxuICAgICAgICA+PC9za2VsZXRvbi1ibG9jaz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIHNrZWxldG9uLXRleHRcbiAgICAgICAgZnhGbGV4PVwiMTUlXCJcbiAgICAgICAgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiXG4gICAgICAgIHN0eWxlPVwibWFyZ2luOiAwcHggMTBweFwiXG4gICAgICA+XG4gICAgICAgIFN1Ym1pdFxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWFyb3VuZCBjZW50ZXJcIj5cbiAgICAgIDxkaXYgc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCI+UHVsbCBSZXF1ZXN0PC9kaXY+XG4gICAgICA8ZGl2IHNrZWxldG9uLXRleHQgW2VmZmVjdF09XCJTa2VsZXRvbkVmZmVjdFwiPk9wZW4gSXNzdWU8L2Rpdj5cbiAgICAgIDxkaXYgc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCI+RmVhdHVyZSBCcmFuY2g8L2Rpdj5cbiAgICAgIDxkaXYgc2tlbGV0b24tdGV4dCBbZWZmZWN0XT1cIlNrZWxldG9uRWZmZWN0XCI+XG4gICAgICAgIDxtYXQtaWNvbj5tb3JlX2hvcml6PC9tYXQtaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWNhcmQ+XG4iXX0=
@@ -1,28 +0,0 @@
1
- import { Injector, OnInit } from '@angular/core';
2
- import { ApplicationsFlowState } from '../../state/applications-flow.state';
3
- import { ApplicationsFlowService } from '../../services/applications-flow.service';
4
- import { ProjectService } from '../../services/project.service';
5
- import * as i0 from "@angular/core";
6
- export declare class FlowToolComponent implements OnInit {
7
- protected injector: Injector;
8
- protected appsFlowSvc: ApplicationsFlowService;
9
- protected projectService: ProjectService;
10
- State: ApplicationsFlowState;
11
- KrakynData: any;
12
- SideMenuItems: any;
13
- Title: string;
14
- TabMenuItems: Array<{
15
- Label: string;
16
- Target: string;
17
- Class?: string;
18
- }>;
19
- constructor(injector: Injector, appsFlowSvc: ApplicationsFlowService, projectService: ProjectService);
20
- ngOnInit(): void;
21
- /**
22
- * Import tool data
23
- */
24
- protected importData(): void;
25
- protected handleStateChange(): Promise<void>;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<FlowToolComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<FlowToolComponent, "lcu-flow-tool", never, {}, {}, never, never>;
28
- }