@unipin/angular-applet 18.4.5 → 18.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/esm2022/lib/components/approval/detail/approval-detail.component.mjs +3 -3
  2. package/esm2022/lib/components/approval/form/approval-form.component.mjs +3 -3
  3. package/esm2022/lib/components/approval/list/approval-list.component.mjs +3 -3
  4. package/esm2022/lib/components/approval/services/approval.service.mjs +3 -3
  5. package/esm2022/lib/components/audit/detail/audit-detail.component.mjs +11 -11
  6. package/esm2022/lib/components/audit/list/audit-list.component.mjs +3 -3
  7. package/esm2022/lib/components/audit/service/audit.service.mjs +3 -3
  8. package/esm2022/lib/components/buttons/group/btn-group.component.mjs +5 -8
  9. package/esm2022/lib/components/buttons/loading/btn-loading.component.mjs +6 -9
  10. package/esm2022/lib/components/containers/applet-container/applet-container.component.mjs +3 -3
  11. package/esm2022/lib/components/containers/colum-header-container/column-header-container.component.mjs +6 -7
  12. package/esm2022/lib/components/containers/column-container/column-container.component.mjs +7 -11
  13. package/esm2022/lib/components/containers/column-container/directives/lazy-route.directive.mjs +3 -3
  14. package/esm2022/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.mjs +6 -12
  15. package/esm2022/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.mjs +5 -12
  16. package/esm2022/lib/components/containers/modal-container/modal-container.component.mjs +4 -4
  17. package/esm2022/lib/components/filter/filter.component.mjs +7 -9
  18. package/esm2022/lib/components/forms/country-input/form-country-input.component.mjs +8 -11
  19. package/esm2022/lib/components/forms/currency-input/form-currency-input.component.mjs +8 -11
  20. package/esm2022/lib/components/forms/date/form-date.component.mjs +9 -10
  21. package/esm2022/lib/components/forms/image-picker/directives/drag-n-drop.directive.mjs +3 -3
  22. package/esm2022/lib/components/forms/image-picker/form-image-picker.component.mjs +11 -12
  23. package/esm2022/lib/components/forms/input/form-input.component.mjs +7 -9
  24. package/esm2022/lib/components/forms/number/form-number.component.mjs +10 -9
  25. package/esm2022/lib/components/forms/number/pipes/locale-number.pipe.mjs +3 -3
  26. package/esm2022/lib/components/forms/password/form-password.component.mjs +7 -10
  27. package/esm2022/lib/components/forms/searchable-select/form-searchable-select.component.mjs +10 -11
  28. package/esm2022/lib/components/forms/select/form-select.component.mjs +8 -11
  29. package/esm2022/lib/components/forms/textarea/form-textarea.component.mjs +7 -9
  30. package/esm2022/lib/components/grids/grid-pagination/grid-pagination.component.mjs +3 -3
  31. package/esm2022/lib/components/grids/grid-snapshot/grid-snapshot.component.mjs +3 -3
  32. package/esm2022/lib/components/grids/services/grid.service.mjs +3 -3
  33. package/esm2022/lib/components/infinite-scroll/directive/infinite-scroll.directive.mjs +5 -5
  34. package/esm2022/lib/components/infinite-scroll/infinite-scroll.component.mjs +6 -9
  35. package/esm2022/lib/components/tabs/tab-content/tab-content.component.mjs +3 -3
  36. package/esm2022/lib/components/tabs/tab-group/tab-group.component.mjs +3 -3
  37. package/esm2022/lib/components/tabs/tabs.component.module.mjs +4 -4
  38. package/esm2022/lib/interceptors/header/header.interceptor.mjs +3 -3
  39. package/esm2022/lib/interceptors/refresh-token/refresh-token.interceptor.mjs +3 -3
  40. package/esm2022/lib/modules/micro-frontend/utils/mf-bootstrap.util.mjs +27 -83
  41. package/esm2022/lib/modules/permission/directive/permission.directive.mjs +5 -4
  42. package/esm2022/lib/modules/permission/guards/permission.guard.mjs +3 -7
  43. package/esm2022/lib/modules/permission/pages/401/unauthorized.page.mjs +3 -3
  44. package/esm2022/lib/modules/permission/pages/loading/loading.page.mjs +3 -3
  45. package/esm2022/lib/modules/permission/permission.module.mjs +6 -6
  46. package/esm2022/lib/modules/permission/services/permission.service.mjs +3 -3
  47. package/esm2022/lib/resolvers/auth/auth.resolver.mjs +3 -3
  48. package/esm2022/lib/services/auth/auth.service.mjs +3 -3
  49. package/esm2022/lib/services/country/country.service.mjs +3 -3
  50. package/esm2022/lib/services/currency/currency.service.mjs +3 -3
  51. package/esm2022/lib/services/profile/profile.service.mjs +3 -3
  52. package/fesm2022/unipin-angular-applet.mjs +233 -304
  53. package/fesm2022/unipin-angular-applet.mjs.map +1 -1
  54. package/lib/modules/micro-frontend/utils/mf-bootstrap.util.d.ts +4 -19
  55. package/lib/modules/permission/directive/permission.directive.d.ts +1 -1
  56. package/lib/modules/permission/permission.module.d.ts +1 -1
  57. package/package.json +1 -1
@@ -58,10 +58,10 @@ export class ApprovalDetailComponent {
58
58
  setChildGuid(guids) {
59
59
  this.formComponent?.setGuid(guids, this.approvalGroupGuid, this.isApprove);
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ApprovalDetailComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.4", type: ApprovalDetailComponent, isStandalone: true, selector: "up-approval-detail", host: { classAttribute: "d-block h-100" }, viewQueries: [{ propertyName: "formComponent", first: true, predicate: ApprovalFormComponent, descendants: true }], ngImport: i0, template: "<up-column-header-container header=\"Approval Detail\" prevUrl=\"/approval\" class=\"bg-white\">\n @if (!formComponent?.isLoading) {\n <up-btn-group id=\"approval-detail-button\" [config]=\"btnConfig\" button />\n }\n @else {\n <ion-skeleton-text class=\"m-0 sk-btn\" button />\n }\n\n <up-tab-group class=\"h-100\" (onChange)=\"changeTab($event)\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n <up-approval-form />\n </up-tab-content>\n </up-tab-group>\n</up-column-header-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "ngmodule", type: TabsComponentModule }, { kind: "component", type: i3.TabGroupComponent, selector: "up-tab-group", outputs: ["onChange"] }, { kind: "component", type: i4.TabContentComponent, selector: "up-tab-content", inputs: ["header"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: ColumnHeaderContainerComponent, selector: "up-column-header-container", inputs: ["header", "prevUrl"] }, { kind: "component", type: ApprovalFormComponent, selector: "up-approval-form", inputs: ["isLoading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalDetailComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ApprovalDetailComponent, isStandalone: true, selector: "up-approval-detail", host: { classAttribute: "d-block h-100" }, viewQueries: [{ propertyName: "formComponent", first: true, predicate: ApprovalFormComponent, descendants: true }], ngImport: i0, template: "<up-column-header-container header=\"Approval Detail\" prevUrl=\"/approval\" class=\"bg-white\">\n @if (!formComponent?.isLoading) {\n <up-btn-group id=\"approval-detail-button\" [config]=\"btnConfig\" button />\n }\n @else {\n <ion-skeleton-text class=\"m-0 sk-btn\" button />\n }\n\n <up-tab-group class=\"h-100\" (onChange)=\"changeTab($event)\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n <up-approval-form />\n </up-tab-content>\n </up-tab-group>\n</up-column-header-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "ngmodule", type: TabsComponentModule }, { kind: "component", type: i3.TabGroupComponent, selector: "up-tab-group", outputs: ["onChange"] }, { kind: "component", type: i4.TabContentComponent, selector: "up-tab-content", inputs: ["header"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: ColumnHeaderContainerComponent, selector: "up-column-header-container", inputs: ["header", "prevUrl"] }, { kind: "component", type: ApprovalFormComponent, selector: "up-approval-form", inputs: ["isLoading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ApprovalDetailComponent, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalDetailComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{ standalone: true, selector: 'up-approval-detail', changeDetection: ChangeDetectionStrategy.OnPush, host: {
67
67
  class: 'd-block h-100'
@@ -108,10 +108,10 @@ export class ApprovalFormComponent {
108
108
  this.ch.markForCheck();
109
109
  }
110
110
  async showAlert(header, message, buttons = ['OK'], inputs = []) { (await this.alertCtrl.create({ header, message, buttons, inputs })).present(); }
111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ApprovalFormComponent, deps: [{ token: i1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.ApprovalService }, { token: i3.GridService }, { token: i4.AlertController }, { token: i5.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.4", type: ApprovalFormComponent, isStandalone: true, selector: "up-approval-form", inputs: { isLoading: "isLoading" }, host: { classAttribute: "px-4 pb-4 d-block" }, ngImport: i0, template: "@if (isLoading) {\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n </div>\n </div>\n \n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n <ion-skeleton-text class=\"m-0 sk-input\" />\n}\n@else {\n @for (d of data; track $index) {\n @if (data.length > 1) {\n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"document\" />\n <h5 class=\"m-0\">Approval {{ $index + 1 }}</h5>\n </div>\n }\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Entity\" [disabled]=\"true\" [value]=\"d.entity\" />\n <up-input class=\"mb-4\" label=\"Remark\" [disabled]=\"true\" [value]=\"d.remark\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Created At\" [disabled]=\"true\" [value]=\"d.createdAt | date:'dd MMM yyyy HH:mm'\" />\n <up-input class=\"mb-4\" label=\"Status\" [disabled]=\"true\" [value]=\"d.status\" />\n </div>\n </div>\n\n <up-textarea label=\"JSON\" [disabled]=\"true\" [value]=\"d.data | json\" />\n <up-textarea class=\"mt-4\" label=\"Reason\" [disabled]=\"true\" [value]=\"d.reason\" *ngIf=\"d.status !== 'PENDING'\" />\n }\n}\n", styles: [""], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: FormInputComponent, selector: "up-input", inputs: ["label", "value", "required", "disabled"], outputs: ["onInput"] }, { kind: "component", type: FormTextareaComponent, selector: "up-textarea", inputs: ["value", "required", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalFormComponent, deps: [{ token: i1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.ApprovalService }, { token: i3.GridService }, { token: i4.AlertController }, { token: i5.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ApprovalFormComponent, isStandalone: true, selector: "up-approval-form", inputs: { isLoading: "isLoading" }, host: { classAttribute: "px-4 pb-4 d-block" }, ngImport: i0, template: "@if (isLoading) {\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n </div>\n </div>\n \n <ion-skeleton-text class=\"m-0 mb-4 sk-input\" />\n <ion-skeleton-text class=\"m-0 sk-input\" />\n}\n@else {\n @for (d of data; track $index) {\n @if (data.length > 1) {\n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"document\" />\n <h5 class=\"m-0\">Approval {{ $index + 1 }}</h5>\n </div>\n }\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Entity\" [disabled]=\"true\" [value]=\"d.entity\" />\n <up-input class=\"mb-4\" label=\"Remark\" [disabled]=\"true\" [value]=\"d.remark\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Created At\" [disabled]=\"true\" [value]=\"d.createdAt | date:'dd MMM yyyy HH:mm'\" />\n <up-input class=\"mb-4\" label=\"Status\" [disabled]=\"true\" [value]=\"d.status\" />\n </div>\n </div>\n\n <up-textarea label=\"JSON\" [disabled]=\"true\" [value]=\"d.data | json\" />\n <up-textarea class=\"mt-4\" label=\"Reason\" [disabled]=\"true\" [value]=\"d.reason\" *ngIf=\"d.status !== 'PENDING'\" />\n }\n}\n", styles: [""], dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: JsonPipe, name: "json" }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: FormInputComponent, selector: "up-input", inputs: ["label", "value", "required", "disabled"], outputs: ["onInput"] }, { kind: "component", type: FormTextareaComponent, selector: "up-textarea", inputs: ["value", "required", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
113
113
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ApprovalFormComponent, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalFormComponent, decorators: [{
115
115
  type: Component,
116
116
  args: [{ standalone: true, selector: 'up-approval-form', changeDetection: ChangeDetectionStrategy.OnPush, host: {
117
117
  class: 'px-4 pb-4 d-block'
@@ -94,10 +94,10 @@ export class ApprovalListComponent {
94
94
  }
95
95
  });
96
96
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ApprovalListComponent, deps: [{ token: 'ENTITIES' }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ApprovalService }, { token: i3.AlertController }], target: i0.ɵɵFactoryTarget.Component }); }
98
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ApprovalListComponent, isStandalone: true, selector: "up-approval-list", host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">Approval</h3>\n\n <up-btn-group id=\"approval-list\" [config]=\"btnConfig\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\">\n <up-filter placeholder=\"Type to search\" id=\"filter-approval-list\" [config]=\"filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"gridConfig\" id=\"grid-approval-list\" rowSelection=\"multiple\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" (onSelectionChanged)=\"selectApprovals()\" />\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalListComponent, deps: [{ token: 'ENTITIES' }, { token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ApprovalService }, { token: i3.AlertController }], target: i0.ɵɵFactoryTarget.Component }); }
98
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: ApprovalListComponent, isStandalone: true, selector: "up-approval-list", host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">Approval</h3>\n\n <up-btn-group id=\"approval-list\" [config]=\"btnConfig\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\">\n <up-filter placeholder=\"Type to search\" id=\"filter-approval-list\" [config]=\"filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"gridConfig\" id=\"grid-approval-list\" rowSelection=\"multiple\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" (onSelectionChanged)=\"selectApprovals()\" />\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ApprovalListComponent, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalListComponent, decorators: [{
101
101
  type: Component,
102
102
  args: [{ standalone: true, selector: 'up-approval-list', host: {
103
103
  class: 'd-flex flex-column h-100 w-100'
@@ -34,10 +34,10 @@ export class ApprovalService {
34
34
  `
35
35
  });
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ApprovalService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ApprovalService, providedIn: 'root' }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalService, providedIn: 'root' }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ApprovalService, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ApprovalService, decorators: [{
41
41
  type: Injectable,
42
42
  args: [{
43
43
  providedIn: 'root'
@@ -1,5 +1,5 @@
1
1
  import { Component } from '@angular/core';
2
- import { CommonModule, formatDate } from '@angular/common';
2
+ import { formatDate } from '@angular/common';
3
3
  import { FormControl, ReactiveFormsModule } from '@angular/forms';
4
4
  import { IonicModule } from '@ionic/angular';
5
5
  import { FormInputComponent } from '../../forms/input/form-input.component';
@@ -11,9 +11,8 @@ import * as i1 from "@angular/forms";
11
11
  import * as i2 from "../service/audit.service";
12
12
  import * as i3 from "@angular/router";
13
13
  import * as i4 from "@ionic/angular";
14
- import * as i5 from "@angular/common";
15
- import * as i6 from "../../tabs/tab-group/tab-group.component";
16
- import * as i7 from "../../tabs/tab-content/tab-content.component";
14
+ import * as i5 from "../../tabs/tab-group/tab-group.component";
15
+ import * as i6 from "../../tabs/tab-content/tab-content.component";
17
16
  export class AuditDetailComponent {
18
17
  constructor(fb, service, route, navCtrl) {
19
18
  this.fb = fb;
@@ -42,7 +41,9 @@ export class AuditDetailComponent {
42
41
  this.isLoading = true;
43
42
  this.guid = '';
44
43
  }
45
- ngOnDestroy() { this.sub?.unsubscribe(); }
44
+ ngOnDestroy() {
45
+ this.sub?.unsubscribe();
46
+ }
46
47
  setGridApi({ api }) {
47
48
  this.gridApi = api;
48
49
  this.getData();
@@ -106,19 +107,18 @@ export class AuditDetailComponent {
106
107
  }));
107
108
  this.gridApi.setGridOption('rowData', changedData);
108
109
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AuditDetailComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AuditService }, { token: i3.ActivatedRoute }, { token: i4.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
110
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AuditDetailComponent, isStandalone: true, selector: "up-audit-detail", ngImport: i0, template: "<up-tab-group class=\"h-100\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n <form [formGroup]=\"form\" class=\"px-4 pb-4\" *ngIf=\"!isLoading; else loading\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n\n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n\n <ng-template #loading>\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" *ngFor=\"let i of [0,1,2,3,4,5,6]\" />\n </ng-template> \n </up-tab-content>\n\n <up-tab-content header=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n", styles: ["ion-icon{font-size:24px;margin-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }, { kind: "ngmodule", type: TabsComponentModule }, { kind: "component", type: i6.TabGroupComponent, selector: "up-tab-group", outputs: ["onChange"] }, { kind: "component", type: i7.TabContentComponent, selector: "up-tab-content", inputs: ["header"] }, { kind: "component", type: FormInputComponent, selector: "up-input", inputs: ["label", "value", "required", "disabled"], outputs: ["onInput"] }, { kind: "component", type: FormTextareaComponent, selector: "up-textarea", inputs: ["value", "required", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditDetailComponent, deps: [{ token: i1.FormBuilder }, { token: i2.AuditService }, { token: i3.ActivatedRoute }, { token: i4.NavController }], target: i0.ɵɵFactoryTarget.Component }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: AuditDetailComponent, isStandalone: true, selector: "up-audit-detail", ngImport: i0, template: "<up-tab-group class=\"h-100\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n @if (isLoading) {\n @for(i of [0,1,2,3,4,5,6]; track $index) {\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" />\n }\n } @else {\n <form [formGroup]=\"form\" class=\"px-4 pb-4\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n \n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n } \n </up-tab-content>\n\n <up-tab-content header=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n", styles: ["ion-icon{font-size:24px;margin-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonSkeletonText, selector: "ion-skeleton-text", inputs: ["animated"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }, { kind: "ngmodule", type: TabsComponentModule }, { kind: "component", type: i5.TabGroupComponent, selector: "up-tab-group", outputs: ["onChange"] }, { kind: "component", type: i6.TabContentComponent, selector: "up-tab-content", inputs: ["header"] }, { kind: "component", type: FormInputComponent, selector: "up-input", inputs: ["label", "value", "required", "disabled"], outputs: ["onInput"] }, { kind: "component", type: FormTextareaComponent, selector: "up-textarea", inputs: ["value", "required", "disabled"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
111
112
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AuditDetailComponent, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditDetailComponent, decorators: [{
113
114
  type: Component,
114
115
  args: [{ standalone: true, selector: 'up-audit-detail', imports: [
115
- CommonModule,
116
116
  IonicModule,
117
117
  GridPaginationComponent,
118
118
  TabsComponentModule,
119
119
  FormInputComponent,
120
120
  FormTextareaComponent,
121
121
  ReactiveFormsModule
122
- ], template: "<up-tab-group class=\"h-100\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n <form [formGroup]=\"form\" class=\"px-4 pb-4\" *ngIf=\"!isLoading; else loading\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n\n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n\n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n\n <ng-template #loading>\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" *ngFor=\"let i of [0,1,2,3,4,5,6]\" />\n </ng-template> \n </up-tab-content>\n\n <up-tab-content header=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n", styles: ["ion-icon{font-size:24px;margin-right:5px}\n"] }]
122
+ ], template: "<up-tab-group class=\"h-100\">\n <up-tab-content header=\"Detail\" fragment=\"detail\">\n @if (isLoading) {\n @for(i of [0,1,2,3,4,5,6]; track $index) {\n <ion-skeleton-text class=\"sk-input mx-4 mb-4\" />\n }\n } @else {\n <form [formGroup]=\"form\" class=\"px-4 pb-4\">\n <div class=\"d-flex align-items-center gap-2 pb-3\">\n <ion-icon name=\"information-circle\" />\n <h5 class=\"m-0\">Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-lg-4\" label=\"Action\" formControlName=\"action\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Source IP\" formControlName=\"sourceIp\" />\n </div>\n </div>\n \n <up-input class=\"mb-4\" label=\"User Name\" formControlName=\"userName\" />\n <up-textarea class=\"mb-4\" label=\"Description\" formControlName=\"description\" />\n \n <div class=\"d-flex align-items-center gap-2 pb-3 pt-2\">\n <ion-icon name=\"laptop\" />\n <h5 class=\"m-0\">System Information</h5>\n </div>\n \n <div class=\"d-flex flex-column flex-lg-row gap-4\">\n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"Action Date\" formControlName=\"createdAt\" />\n <up-input class=\"mb-lg-4\" label=\"Source Platform\" formControlName=\"sourcePlatform\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <up-input class=\"mb-4\" label=\"MS Source\" formControlName=\"msSource\" />\n <up-input class=\"mb-4\" label=\"Function\" formControlName=\"function\" />\n </div>\n </div>\n </form>\n } \n </up-tab-content>\n\n <up-tab-content header=\"Attributes\" fragment=\"attributes\">\n <up-pagination-grid id=\"grid-audit-detail\" rowModelType=\"clientSide\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" />\n </up-tab-content>\n</up-tab-group>\n", styles: ["ion-icon{font-size:24px;margin-right:5px}\n"] }]
123
123
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.AuditService }, { type: i3.ActivatedRoute }, { type: i4.NavController }] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC9kZXRhaWwvYXVkaXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC9kZXRhaWwvYXVkaXQtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzRCxPQUFPLEVBQWUsV0FBVyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUYsT0FBTyxFQUFFLFdBQVcsRUFBaUIsTUFBTSxnQkFBZ0IsQ0FBQztBQU01RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7O0FBaUJ2RSxNQUFNLE9BQU8sb0JBQW9CO0lBNEIvQixZQUNxQixFQUFlLEVBQ2YsT0FBcUIsRUFDckIsS0FBcUIsRUFDckIsT0FBc0I7UUFIdEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFDckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsWUFBTyxHQUFQLE9BQU8sQ0FBZTtRQTlCM0IsZUFBVSxHQUFlO1lBQ3ZDLGNBQWMs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QUcsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2QixTQUFTLEVBQUUsR0FBRztZQUNkLE9BQU8sRUFBRSxPQUFPLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDaEQsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7OEdBM0dVLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDJFQy9CakMsMnpFQWdEQSxvR0QxQkksWUFBWSwrUEFDWixXQUFXLDBTQUNYLHVCQUF1QixpTUFDdkIsbUJBQW1CLHdPQUNuQixrQkFBa0IsK0hBQ2xCLHFCQUFxQixrR0FDckIsbUJBQW1COzsyRkFHVixvQkFBb0I7a0JBZmhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGlCQUFpQixXQUdsQjt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQixtQkFBbUI7cUJBQ3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUsIE5hdkNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBHcmlkQXBpLCBHcmlkUmVhZHlFdmVudCB9IGZyb20gJ0BhZy1ncmlkLWNvbW11bml0eS9jb3JlJztcbmltcG9ydCB7IEF1ZGl0VHJhaWwgfSBmcm9tICcuLy4uLy4uLy4uLy4uL2dyYXBocWwvZ2VuZXJhdGVkJztcbmltcG9ydCB7IEF1ZGl0RGV0YWlsRm9ybSB9IGZyb20gJy4uL3R5cGVzL2F1ZGl0LWRldGFpbC1mb3JtLnR5cGUnO1xuaW1wb3J0IHsgR3JpZENvbmZpZyB9IGZyb20gJy4uLy4uL2dyaWRzL2ludGVyZmFjZXMvZ3JpZC1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEF1ZGl0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvYXVkaXQuc2VydmljZSc7XG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9mb3Jtcy9pbnB1dC9mb3JtLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuLi8uLi9mb3Jtcy90ZXh0YXJlYS9mb3JtLXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHcmlkUGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2dyaWRzL2dyaWQtcGFnaW5hdGlvbi9ncmlkLXBhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFRhYnNDb21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi90YWJzL3RhYnMuY29tcG9uZW50Lm1vZHVsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VwLWF1ZGl0LWRldGFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdWRpdC1kZXRhaWwuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25pY01vZHVsZSxcbiAgICBHcmlkUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBUYWJzQ29tcG9uZW50TW9kdWxlLFxuICAgIEZvcm1JbnB1dENvbXBvbmVudCxcbiAgICBGb3JtVGV4dGFyZWFDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1ZGl0RGV0YWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgZ3JpZENvbmZpZzogR3JpZENvbmZpZyA9IHtcbiAgICB1c2VUb3RhbFJlY29yZDogZmFsc2UsXG4gICAgY29sRGVmczogW1xuICAgICAgeyBoZWFkZXJOYW1lOiAnQXR0cmlidXRlIE5hbWUnLCBmaWVsZDogJ2F0dHJpYnV0ZScsIHNvcnQ6ICdhc2MnIH0sXG4gICAgICB7IGhlYWRlck5hbWU6ICdPbGQgVmFsdWUnLCBmaWVsZDogJ29sZERhdGEnIH0sXG4gICAgICB7IGhlYWRlck5hbWU6ICdOZXcgVmFsdWUnLCBmaWVsZDogJ25ld0RhdGEnIH1cbiAgICBdXG4gIH07XG4gIHB1YmxpYyByZWFkb25seSBmb3JtOiBGb3JtR3JvdXA8QXVkaXREZXRhaWxGb3JtPiA9IHRoaXMuZmIuZ3JvdXA8QXVkaXREZXRhaWxGb3JtPih7XG4gICAgZ3VpZDogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgYWN0aW9uOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgdXNlck5hbWU6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIHNvdXJjZUlwOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICBjcmVhdGVkQXQ6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIG1zU291cmNlOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICBzb3VyY2VQbGF0Zm9ybTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgZnVuY3Rpb246IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICB9KTtcbiAgcHVibGljIGRhdGEhOiBBdWRpdFRyYWlsO1xuICBwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgcHJvdGVjdGVkIGd1aWQ6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgZ3JpZEFwaSE6IEdyaWRBcGk7XG4gIHByb3RlY3RlZCBzdWI/OiBTdWJzY3JpcHRpb247XG4gIFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2U6IEF1ZGl0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBuYXZDdHJsOiBOYXZDb250cm9sbGVyXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWR7IHRoaXMuc3ViPy51bnN1YnNjcmliZSgpOyB9XG5cbiAgcHVibGljIHNldEdyaWRBcGkoeyBhcGkgfTogR3JpZFJlYWR5RXZlbnQpOiB2b2lke1xuICAgIHRoaXMuZ3JpZEFwaSA9IGFwaTtcbiAgICB0aGlzLmdldERhdGEoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0lzb0RhdGVTdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFue1xuICAgIGNvbnN0IHJlZ2V4ID0gL15cXGR7NH0tXFxkezJ9LVxcZHsyfVRcXGR7Mn06XFxkezJ9OlxcZHsyfShcXC5cXGR7MSw5fSk/WiQvO1xuICAgIHJldHVybiByZWdleC50ZXN0KHN0cik7XG4gIH1cblxuICBwdWJsaWMgZm9ybWF0RGF0YSh2YWx1ZTogYW55KTogYW55e1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIHZhbHVlO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgIGlmICh0aGlzLmlzSXNvRGF0ZVN0cmluZyh2YWx1ZSkpIHJldHVybiBmb3JtYXREYXRlKHZhbHVlLCAnZGQgTU1NIHl5eXkgSEg6bW0nLCAnZW4tVVMnKTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0YSgpOiB2b2lke1xuICAgIGNvbnN0IG5ld0d1aWQgPSB0aGlzLnJvdXRlLmNoaWxkcmVuWzBdLnNuYXBzaG90LnBhcmFtc1snYXVkaXQnXTtcbiAgICBpZiAoIW5ld0d1aWQgfHwgdGhpcy5ndWlkID09PSBuZXdHdWlkKSByZXR1cm47XG5cbiAgICB0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmdyaWRBcGk/LnNob3dMb2FkaW5nT3ZlcmxheSgpO1xuXG4gICAgdGhpcy5ndWlkID0gbmV3R3VpZDtcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5zdWIgPSB0aGlzLnNlcnZpY2UucXVlcnkoeyBndWlkOiB0aGlzLmd1aWQgfSwgJ2RhdGEgdGFncyB7IHRhZ0tleSB0YWdWYWx1ZSB9Jykuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh7IGRhdGE6IHsgYXVkaXRNc0F1ZGl0VHJhaWw6IGRhdGEgfX0pID0+IHtcbiAgICAgICAgdGhpcy5ncmlkQXBpPy5oaWRlT3ZlcmxheSgpO1xuXG4gICAgICAgIGlmIChkYXRhLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRoaXMubmF2Q3RybC5iYWNrKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBndWlkLCBhY3Rpb24sIGRlc2NyaXB0aW9uLCBmdW5jdGlvbjogZnVuYywgbXNTb3VyY2UsIHNvdXJjZUlwLCBjcmVhdGVkQXQgfSA9IGRhdGFbMF07XG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBndWlkLFxuICAgICAgICAgIGZ1bmN0aW9uOiBmdW5jLCBcbiAgICAgICAgICBtc1NvdXJjZSwgc291cmNlSXAsXG4gICAgICAgICAgYWN0aW9uLCBkZXNjcmlwdGlvbixcbiAgICAgICAgICB1c2VyTmFtZTogZGF0YVswXS51c2VyPy5uYW1lLFxuICAgICAgICAgIHNvdXJjZVBsYXRmb3JtOiBkYXRhWzBdLnVzZXI/LnNvdXJjZVBsYXRmb3JtLFxuICAgICAgICAgIGNyZWF0ZWRBdDogZm9ybWF0RGF0ZShjcmVhdGVkQXQsICdkZCBNTU0geXl5eSBISDptbScsICdlbi1VUycpLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmdldENoYW5nZWREYXRhKGRhdGFbMF0uZGF0YSk7XG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHRoaXMubmF2Q3RybC5iYWNrKClcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDaGFuZ2VkRGF0YSh7IG9sZERhdGEsIG5ld0RhdGEgfTogYW55KTogdm9pZHtcbiAgICBpZiAoIW5ld0RhdGEgfHwgQXJyYXkuaXNBcnJheShKU09OLnBhcnNlKG5ld0RhdGEpKSkge1xuICAgICAgdGhpcy5ncmlkQXBpLnNldEdyaWRPcHRpb24oJ3Jvd0RhdGEnLCBbXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb2JqTmV3RGF0YSA9IEpTT04ucGFyc2UobmV3RGF0YSk7XG4gICAgY29uc3QgY2hhbmdlZERhdGEgPSBPYmplY3QuZW50cmllcyhvbGREYXRhPyBKU09OLnBhcnNlKG9sZERhdGEpIDogSlNPTi5wYXJzZShuZXdEYXRhKSlcbiAgICAgIC5maWx0ZXIoKFtrZXksIG9sZFZhbF0pID0+IEpTT04uc3RyaW5naWZ5KG9sZERhdGE/IG9sZFZhbCA6IG51bGwpICE9PSBKU09OLnN0cmluZ2lmeShvYmpOZXdEYXRhW2tleV0pICYmICFrZXkubWF0Y2goL3VwZGF0ZXxjcmVhdGVkLykpXG4gICAgICAubWFwKChba2V5LCBvbGRWYWxdKSA9PiAoe1xuICAgICAgICBhdHRyaWJ1dGU6IGtleSxcbiAgICAgICAgb2xkRGF0YTogb2xkRGF0YT8gdGhpcy5mb3JtYXREYXRhKG9sZFZhbCkgOiBudWxsLFxuICAgICAgICBuZXdEYXRhOiB0aGlzLmZvcm1hdERhdGEob2JqTmV3RGF0YVtrZXldKVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5ncmlkQXBpLnNldEdyaWRPcHRpb24oJ3Jvd0RhdGEnLCBjaGFuZ2VkRGF0YSk7XG4gIH1cbn1cbiIsIjx1cC10YWItZ3JvdXAgY2xhc3M9XCJoLTEwMFwiPlxuICAgIDx1cC10YWItY29udGVudCBoZWFkZXI9XCJEZXRhaWxcIiBmcmFnbWVudD1cImRldGFpbFwiPlxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cInB4LTQgcGItNFwiICpuZ0lmPVwiIWlzTG9hZGluZzsgZWxzZSBsb2FkaW5nXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHBiLTNcIj5cbiAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiaW5mb3JtYXRpb24tY2lyY2xlXCIgLz5cbiAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm0tMFwiPkluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWxnLXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHVwLWlucHV0IGNsYXNzPVwibWItbGctNFwiIGxhYmVsPVwiQWN0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWN0aW9uXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dXAtaW5wdXQgY2xhc3M9XCJtYi00XCIgbGFiZWw9XCJTb3VyY2UgSVBcIiBmb3JtQ29udHJvbE5hbWU9XCJzb3VyY2VJcFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICA8dXAtaW5wdXQgY2xhc3M9XCJtYi00XCIgbGFiZWw9XCJVc2VyIE5hbWVcIiBmb3JtQ29udHJvbE5hbWU9XCJ1c2VyTmFtZVwiIC8+XG4gICAgICAgICAgICAgIDx1cC10ZXh0YXJlYSBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIkRlc2NyaXB0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiAvPlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yIHBiLTMgcHQtMlwiPlxuICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsYXB0b3BcIiAvPlxuICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibS0wXCI+U3lzdGVtIEluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWxnLXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHVwLWlucHV0IGNsYXNzPVwibWItNFwiIGxhYmVsPVwiQWN0aW9uIERhdGVcIiBmb3JtQ29udHJvbE5hbWU9XCJjcmVhdGVkQXRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLWxnLTRcIiBsYWJlbD1cIlNvdXJjZSBQbGF0Zm9ybVwiIGZvcm1Db250cm9sTmFtZT1cInNvdXJjZVBsYXRmb3JtXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dXAtaW5wdXQgY2xhc3M9XCJtYi00XCIgbGFiZWw9XCJNUyBTb3VyY2VcIiBmb3JtQ29udHJvbE5hbWU9XCJtc1NvdXJjZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPHVwLWlucHV0IGNsYXNzPVwibWItNFwiIGxhYmVsPVwiRnVuY3Rpb25cIiBmb3JtQ29udHJvbE5hbWU9XCJmdW5jdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICAgICAgICAgIDxpb24tc2tlbGV0b24tdGV4dCBjbGFzcz1cInNrLWlucHV0IG14LTQgbWItNFwiICpuZ0Zvcj1cImxldCBpIG9mIFswLDEsMiwzLDQsNSw2XVwiIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+ICAgICAgICBcbiAgICA8L3VwLXRhYi1jb250ZW50PlxuXG4gICAgPHVwLXRhYi1jb250ZW50IGhlYWRlcj1cIkF0dHJpYnV0ZXNcIiBmcmFnbWVudD1cImF0dHJpYnV0ZXNcIj5cbiAgICAgICAgPHVwLXBhZ2luYXRpb24tZ3JpZCBpZD1cImdyaWQtYXVkaXQtZGV0YWlsXCIgcm93TW9kZWxUeXBlPVwiY2xpZW50U2lkZVwiIFtjb25maWddPVwiZ3JpZENvbmZpZ1wiIChvbkdyaWRSZWFkeSk9XCJzZXRHcmlkQXBpKCRldmVudClcIiAvPlxuICAgIDwvdXAtdGFiLWNvbnRlbnQ+XG48L3VwLXRhYi1ncm91cD5cbiJdfQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtZGV0YWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC9kZXRhaWwvYXVkaXQtZGV0YWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC9kZXRhaWwvYXVkaXQtZGV0YWlsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBZSxXQUFXLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsV0FBVyxFQUFpQixNQUFNLGdCQUFnQixDQUFDO0FBTTVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7OztBQWdCdkUsTUFBTSxPQUFPLG9CQUFvQjtJQTJCL0IsWUFDcUIsRUFBZSxFQUNmLE9BQXFCLEVBQ3JCLEtBQXFCLEVBQ3JCLE9BQXNCO1FBSHRCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQWU7UUE3QjNCLGVBQVUsR0FBZTtZQUN2QyxjQUFjLEVBQUUsS0FBSztZQUNyQixPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFO2dCQUNqRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtnQkFDN0MsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7YUFDOUM7U0FDRixDQUFDO1FBQ2MsU0FBSSxHQUErQixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBa0I7WUFDaEYsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDckQsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDdkQsV0FBVyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDNUQsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDekQsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDekQsU0FBUyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDMUQsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDekQsY0FBYyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7WUFDL0QsUUFBUSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7U0FDMUQsQ0FBQyxDQUFDO1FBRUksY0FBUyxHQUFZLElBQUksQ0FBQztRQUN2QixTQUFJLEdBQVcsRUFBRSxDQUFDO0lBU3hCLENBQUM7SUFFRSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxFQUFFLEdBQUcsRUFBa0I7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxlQUFlLENBQUMsR0FBVztRQUNoQyxNQUFNLEtBQUssR0FBRyxvREFBb0QsQ0FBQztRQUNuRSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFVO1FBQzFCLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNqQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4RixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxPQUFPO1FBQ1osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztZQUFFLE9BQU87UUFFOUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUM7UUFFbkMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsK0JBQStCLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDNUYsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsRUFBQyxFQUFFLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUM7Z0JBRTVCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDcEIsT0FBTztnQkFDVCxDQUFDO2dCQUVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3RixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztvQkFDbkIsSUFBSTtvQkFDSixRQUFRLEVBQUUsSUFBSTtvQkFDZCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsTUFBTSxFQUFFLFdBQVc7b0JBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUk7b0JBQzVCLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLGNBQWM7b0JBQzVDLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE9BQU8sQ0FBQztpQkFDL0QsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxjQUFjLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFPO1FBQ2hELElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ25GLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3JJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLFNBQVMsRUFBRSxHQUFHO1lBQ2QsT0FBTyxFQUFFLE9BQU8sQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUNoRCxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDMUMsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0E1R1Usb0JBQW9CO2tHQUFwQixvQkFBb0IsMkVDOUJqQyxtNEVBa0RBLG9HRDVCSSxXQUFXLDBTQUNYLHVCQUF1QixpTUFDdkIsbUJBQW1CLHdPQUNuQixrQkFBa0IsK0hBQ2xCLHFCQUFxQixrR0FDckIsbUJBQW1COzsyRkFHVixvQkFBb0I7a0JBZGhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGlCQUFpQixXQUdsQjt3QkFDUCxXQUFXO3dCQUNYLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRBcGksIEdyaWRSZWFkeUV2ZW50IH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgQXVkaXRUcmFpbCB9IGZyb20gJy4vLi4vLi4vLi4vLi4vZ3JhcGhxbC9nZW5lcmF0ZWQnO1xuaW1wb3J0IHsgQXVkaXREZXRhaWxGb3JtIH0gZnJvbSAnLi4vdHlwZXMvYXVkaXQtZGV0YWlsLWZvcm0udHlwZSc7XG5pbXBvcnQgeyBHcmlkQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ3JpZHMvaW50ZXJmYWNlcy9ncmlkLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXVkaXRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9hdWRpdC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm1zL2lucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1UZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Zvcm1zL3RleHRhcmVhL2Zvcm0tdGV4dGFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZ3JpZHMvZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFic0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uL3RhYnMvdGFicy5jb21wb25lbnQubW9kdWxlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtYXVkaXQtZGV0YWlsJyxcbiAgc3R5bGVVcmw6ICcuL2F1ZGl0LWRldGFpbC5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1kZXRhaWwuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgR3JpZFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgVGFic0NvbXBvbmVudE1vZHVsZSxcbiAgICBGb3JtSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybVRleHRhcmVhQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBdWRpdERldGFpbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGdyaWRDb25maWc6IEdyaWRDb25maWcgPSB7XG4gICAgdXNlVG90YWxSZWNvcmQ6IGZhbHNlLFxuICAgIGNvbERlZnM6IFtcbiAgICAgIHsgaGVhZGVyTmFtZTogJ0F0dHJpYnV0ZSBOYW1lJywgZmllbGQ6ICdhdHRyaWJ1dGUnLCBzb3J0OiAnYXNjJyB9LFxuICAgICAgeyBoZWFkZXJOYW1lOiAnT2xkIFZhbHVlJywgZmllbGQ6ICdvbGREYXRhJyB9LFxuICAgICAgeyBoZWFkZXJOYW1lOiAnTmV3IFZhbHVlJywgZmllbGQ6ICduZXdEYXRhJyB9XG4gICAgXVxuICB9O1xuICBwdWJsaWMgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwPEF1ZGl0RGV0YWlsRm9ybT4gPSB0aGlzLmZiLmdyb3VwPEF1ZGl0RGV0YWlsRm9ybT4oe1xuICAgIGd1aWQ6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIGFjdGlvbjogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIHVzZXJOYW1lOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICBzb3VyY2VJcDogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgY3JlYXRlZEF0OiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgICBtc1NvdXJjZTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSksXG4gICAgc291cmNlUGxhdGZvcm06IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBudWxsLCBkaXNhYmxlZDogdHJ1ZX0pLFxuICAgIGZ1bmN0aW9uOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9KSxcbiAgfSk7XG4gIHB1YmxpYyBkYXRhITogQXVkaXRUcmFpbDtcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XG4gIHByb3RlY3RlZCBndWlkOiBzdHJpbmcgPSAnJztcbiAgcHJvdGVjdGVkIGdyaWRBcGkhOiBHcmlkQXBpO1xuICBwcm90ZWN0ZWQgc3ViPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2U6IEF1ZGl0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBuYXZDdHJsOiBOYXZDb250cm9sbGVyXG4gICkgeyB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWR7XG4gICAgdGhpcy5zdWI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0R3JpZEFwaSh7IGFwaSB9OiBHcmlkUmVhZHlFdmVudCk6IHZvaWR7XG4gICAgdGhpcy5ncmlkQXBpID0gYXBpO1xuICAgIHRoaXMuZ2V0RGF0YSgpO1xuICB9XG5cbiAgcHVibGljIGlzSXNvRGF0ZVN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW57XG4gICAgY29uc3QgcmVnZXggPSAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9KFxcLlxcZHsxLDl9KT9aJC87XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3Qoc3RyKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXREYXRhKHZhbHVlOiBhbnkpOiBhbnl7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gdmFsdWU7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgaWYgKHRoaXMuaXNJc29EYXRlU3RyaW5nKHZhbHVlKSkgcmV0dXJuIGZvcm1hdERhdGUodmFsdWUsICdkZCBNTU0geXl5eSBISDptbScsICdlbi1VUycpO1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREYXRhKCk6IHZvaWR7XG4gICAgY29uc3QgbmV3R3VpZCA9IHRoaXMucm91dGUuY2hpbGRyZW5bMF0uc25hcHNob3QucGFyYW1zWydhdWRpdCddO1xuICAgIGlmICghbmV3R3VpZCB8fCB0aGlzLmd1aWQgPT09IG5ld0d1aWQpIHJldHVybjtcblxuICAgIHRoaXMuc3ViPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZ3JpZEFwaT8uc2hvd0xvYWRpbmdPdmVybGF5KCk7XG5cbiAgICB0aGlzLmd1aWQgPSBuZXdHdWlkO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuc2VydmljZS5xdWVyeSh7IGd1aWQ6IHRoaXMuZ3VpZCB9LCAnZGF0YSB0YWdzIHsgdGFnS2V5IHRhZ1ZhbHVlIH0nKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHsgZGF0YTogeyBhdWRpdE1zQXVkaXRUcmFpbDogZGF0YSB9fSkgPT4ge1xuICAgICAgICB0aGlzLmdyaWRBcGk/LmhpZGVPdmVybGF5KCk7XG5cbiAgICAgICAgaWYgKGRhdGEubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgdGhpcy5uYXZDdHJsLmJhY2soKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGd1aWQsIGFjdGlvbiwgZGVzY3JpcHRpb24sIGZ1bmN0aW9uOiBmdW5jLCBtc1NvdXJjZSwgc291cmNlSXAsIGNyZWF0ZWRBdCB9ID0gZGF0YVswXTtcbiAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIGd1aWQsXG4gICAgICAgICAgZnVuY3Rpb246IGZ1bmMsIFxuICAgICAgICAgIG1zU291cmNlLCBzb3VyY2VJcCxcbiAgICAgICAgICBhY3Rpb24sIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIHVzZXJOYW1lOiBkYXRhWzBdLnVzZXI/Lm5hbWUsXG4gICAgICAgICAgc291cmNlUGxhdGZvcm06IGRhdGFbMF0udXNlcj8uc291cmNlUGxhdGZvcm0sXG4gICAgICAgICAgY3JlYXRlZEF0OiBmb3JtYXREYXRlKGNyZWF0ZWRBdCwgJ2RkIE1NTSB5eXl5IEhIOm1tJywgJ2VuLVVTJyksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZ2V0Q2hhbmdlZERhdGEoZGF0YVswXS5kYXRhKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5uYXZDdHJsLmJhY2soKVxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENoYW5nZWREYXRhKHsgb2xkRGF0YSwgbmV3RGF0YSB9OiBhbnkpOiB2b2lke1xuICAgIGlmICghbmV3RGF0YSB8fCBBcnJheS5pc0FycmF5KEpTT04ucGFyc2UobmV3RGF0YSkpKSB7XG4gICAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbigncm93RGF0YScsIFtdKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvYmpOZXdEYXRhID0gSlNPTi5wYXJzZShuZXdEYXRhKTtcbiAgICBjb25zdCBjaGFuZ2VkRGF0YSA9IE9iamVjdC5lbnRyaWVzKG9sZERhdGE/IEpTT04ucGFyc2Uob2xkRGF0YSkgOiBKU09OLnBhcnNlKG5ld0RhdGEpKVxuICAgICAgLmZpbHRlcigoW2tleSwgb2xkVmFsXSkgPT4gSlNPTi5zdHJpbmdpZnkob2xkRGF0YT8gb2xkVmFsIDogbnVsbCkgIT09IEpTT04uc3RyaW5naWZ5KG9iak5ld0RhdGFba2V5XSkgJiYgIWtleS5tYXRjaCgvdXBkYXRlfGNyZWF0ZWQvKSlcbiAgICAgIC5tYXAoKFtrZXksIG9sZFZhbF0pID0+ICh7XG4gICAgICAgIGF0dHJpYnV0ZToga2V5LFxuICAgICAgICBvbGREYXRhOiBvbGREYXRhPyB0aGlzLmZvcm1hdERhdGEob2xkVmFsKSA6IG51bGwsXG4gICAgICAgIG5ld0RhdGE6IHRoaXMuZm9ybWF0RGF0YShvYmpOZXdEYXRhW2tleV0pXG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmdyaWRBcGkuc2V0R3JpZE9wdGlvbigncm93RGF0YScsIGNoYW5nZWREYXRhKTtcbiAgfVxufVxuIiwiPHVwLXRhYi1ncm91cCBjbGFzcz1cImgtMTAwXCI+XG4gICAgPHVwLXRhYi1jb250ZW50IGhlYWRlcj1cIkRldGFpbFwiIGZyYWdtZW50PVwiZGV0YWlsXCI+XG4gICAgICAgIEBpZiAoaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICBAZm9yKGkgb2YgWzAsMSwyLDMsNCw1LDZdOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8aW9uLXNrZWxldG9uLXRleHQgY2xhc3M9XCJzay1pbnB1dCBteC00IG1iLTRcIiAvPlxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwicHgtNCBwYi00XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcGItM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImluZm9ybWF0aW9uLWNpcmNsZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cIm0tMFwiPkluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWxnLXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLWxnLTRcIiBsYWJlbD1cIkFjdGlvblwiIGZvcm1Db250cm9sTmFtZT1cImFjdGlvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dXAtaW5wdXQgY2xhc3M9XCJtYi00XCIgbGFiZWw9XCJTb3VyY2UgSVBcIiBmb3JtQ29udHJvbE5hbWU9XCJzb3VyY2VJcFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIlVzZXIgTmFtZVwiIGZvcm1Db250cm9sTmFtZT1cInVzZXJOYW1lXCIgLz5cbiAgICAgICAgICAgICAgICA8dXAtdGV4dGFyZWEgY2xhc3M9XCJtYi00XCIgbGFiZWw9XCJEZXNjcmlwdGlvblwiIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCIgLz5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTIgcGItMyBwdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibGFwdG9wXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibS0wXCI+U3lzdGVtIEluZm9ybWF0aW9uPC9oNT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWxnLXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIkFjdGlvbiBEYXRlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY3JlYXRlZEF0XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLWxnLTRcIiBsYWJlbD1cIlNvdXJjZSBQbGF0Zm9ybVwiIGZvcm1Db250cm9sTmFtZT1cInNvdXJjZVBsYXRmb3JtXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIk1TIFNvdXJjZVwiIGZvcm1Db250cm9sTmFtZT1cIm1zU291cmNlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1cC1pbnB1dCBjbGFzcz1cIm1iLTRcIiBsYWJlbD1cIkZ1bmN0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwiZnVuY3Rpb25cIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgfSAgIFxuICAgIDwvdXAtdGFiLWNvbnRlbnQ+XG5cbiAgICA8dXAtdGFiLWNvbnRlbnQgaGVhZGVyPVwiQXR0cmlidXRlc1wiIGZyYWdtZW50PVwiYXR0cmlidXRlc1wiPlxuICAgICAgICA8dXAtcGFnaW5hdGlvbi1ncmlkIGlkPVwiZ3JpZC1hdWRpdC1kZXRhaWxcIiByb3dNb2RlbFR5cGU9XCJjbGllbnRTaWRlXCIgW2NvbmZpZ109XCJncmlkQ29uZmlnXCIgKG9uR3JpZFJlYWR5KT1cInNldEdyaWRBcGkoJGV2ZW50KVwiIC8+XG4gICAgPC91cC10YWItY29udGVudD5cbjwvdXAtdGFiLWdyb3VwPlxuIl19
@@ -52,10 +52,10 @@ export class AuditListComponent {
52
52
  this.criteria.tagValues = [guid];
53
53
  this.gridComponent.reset();
54
54
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AuditListComponent, deps: [{ token: 'id', attribute: true }, { token: 'mainUrl', attribute: true }, { token: i1.Router }, { token: i2.AuditService }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: AuditListComponent, isStandalone: true, selector: "up-audit-list", inputs: { relatedEntities: "relatedEntities", tagKeys: "tagKeys" }, host: { classAttribute: "d-flex flex-column h-100" }, viewQueries: [{ propertyName: "gridComponent", first: true, predicate: GridPaginationComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex justify-content-end px-4 pb-4 flex-shrink-0\">\n <up-filter class=\"w-100\" id=\"audit-filter\" placeholder=\"Type to search\" [config]=\"filterConfig\" (onSearch)=\"search($event);\" />\n</div>\n \n<up-pagination-grid id=\"grid-audit\" class=\"flex-grow-1\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"rowClicked($event)\" />\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditListComponent, deps: [{ token: 'id', attribute: true }, { token: 'mainUrl', attribute: true }, { token: i1.Router }, { token: i2.AuditService }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: AuditListComponent, isStandalone: true, selector: "up-audit-list", inputs: { relatedEntities: "relatedEntities", tagKeys: "tagKeys" }, host: { classAttribute: "d-flex flex-column h-100" }, viewQueries: [{ propertyName: "gridComponent", first: true, predicate: GridPaginationComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex justify-content-end px-4 pb-4 flex-shrink-0\">\n <up-filter class=\"w-100\" id=\"audit-filter\" placeholder=\"Type to search\" [config]=\"filterConfig\" (onSearch)=\"search($event);\" />\n</div>\n \n<up-pagination-grid id=\"grid-audit\" class=\"flex-grow-1\" [config]=\"gridConfig\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"rowClicked($event)\" />\n", styles: [""], dependencies: [{ kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AuditListComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditListComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ standalone: true, selector: 'up-audit-list', host: {
61
61
  class: 'd-flex flex-column h-100'
@@ -37,10 +37,10 @@ export class AuditService {
37
37
  `
38
38
  });
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AuditService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AuditService, providedIn: 'root' }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditService, providedIn: 'root' }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AuditService, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AuditService, decorators: [{
44
44
  type: Injectable,
45
45
  args: [{
46
46
  providedIn: 'root'
@@ -1,10 +1,8 @@
1
1
  import { Attribute, Component, HostBinding, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
2
  import { IonicModule } from '@ionic/angular';
4
3
  import { ButtonLoadingComponent } from '../loading/btn-loading.component';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@ionic/angular";
7
- import * as i2 from "@angular/common";
8
6
  export class ButtonGroupComponent {
9
7
  constructor(id, popoverCtrl) {
10
8
  this.id = id;
@@ -25,16 +23,15 @@ export class ButtonGroupComponent {
25
23
  this.activeIndex = i;
26
24
  this.popoverCtrl.dismiss();
27
25
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: 'id', attribute: true }, { token: i1.PopoverController }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ButtonGroupComponent, isStandalone: true, selector: "up-btn-group", inputs: { config: "config" }, host: { properties: { "class.d-none": "this.isHidden" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ng-container *ngIf=\"config.length > 1\" >\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n \n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" *ngFor=\"let c of config; let i = index\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n <ion-icon name=\"checkmark\" *ngIf=\"i === activeIndex\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n <div class=\"f12 pt-1\" *ngIf=\"c.description\">\n {{ c.description }}\n </div>\n </div>\n </div>\n </ng-template>\n </ion-popover>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonLoadingComponent, selector: "up-btn-loading", inputs: ["disabled", "form", "type", "fill", "color"], outputs: ["onClick"] }] }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: 'id', attribute: true }, { token: i1.PopoverController }], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ButtonGroupComponent, isStandalone: true, selector: "up-btn-group", inputs: { config: "config" }, host: { properties: { "class.d-none": "this.isHidden" } }, usesOnChanges: true, ngImport: i0, template: "@if (config.length > 0) {\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n @if (config[activeIndex].icon) {\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" />\n }\n\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n @if (config.length > 1) {\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n \n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n @for (c of config; let i = $index; track $index) {\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" (click)=\"change(i);\">\n \n <div class=\"icon flex-shrink-0\">\n @if (i === activeIndex) {\n <ion-icon name=\"checkmark\" />\n }\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n \n @if (c.description) {\n <div class=\"f12 pt-1\">\n {{ c.description }}\n </div>\n }\n </div>\n </div>\n }\n </ion-popover>\n }\n}\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "component", type: ButtonLoadingComponent, selector: "up-btn-loading", inputs: ["disabled", "form", "type", "fill", "color"], outputs: ["onClick"] }] }); }
30
28
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ButtonGroupComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ButtonGroupComponent, decorators: [{
32
30
  type: Component,
33
31
  args: [{ standalone: true, selector: 'up-btn-group', imports: [
34
32
  IonicModule,
35
- CommonModule,
36
33
  ButtonLoadingComponent
37
- ], template: "<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ng-container *ngIf=\"config.length > 1\" >\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n \n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" *ngFor=\"let c of config; let i = index\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n <ion-icon name=\"checkmark\" *ngIf=\"i === activeIndex\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n <div class=\"f12 pt-1\" *ngIf=\"c.description\">\n {{ c.description }}\n </div>\n </div>\n </div>\n </ng-template>\n </ion-popover>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"] }]
34
+ ], template: "@if (config.length > 0) {\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n @if (config[activeIndex].icon) {\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" />\n }\n\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n @if (config.length > 1) {\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n \n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n @for (c of config; let i = $index; track $index) {\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" (click)=\"change(i);\">\n \n <div class=\"icon flex-shrink-0\">\n @if (i === activeIndex) {\n <ion-icon name=\"checkmark\" />\n }\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n \n @if (c.description) {\n <div class=\"f12 pt-1\">\n {{ c.description }}\n </div>\n }\n </div>\n </div>\n }\n </ion-popover>\n }\n}\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"] }]
38
35
  }], ctorParameters: () => [{ type: undefined, decorators: [{
39
36
  type: Attribute,
40
37
  args: ['id']
@@ -45,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
45
42
  type: HostBinding,
46
43
  args: ['class.d-none']
47
44
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b25zL2dyb3VwL2J0bi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9ucy9ncm91cC9idG4tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFhMUUsTUFBTSxPQUFPLG9CQUFvQjtJQWtCL0IsWUFNMEIsRUFBVSxFQUNmLFdBQThCO1FBRHpCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFoQlosYUFBUSxHQUFZLEtBQUssQ0FBQztRQU8xRCxnQkFBVyxHQUFXLENBQUMsQ0FBQztJQVUzQixDQUFDO0lBRUUsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFRTSxRQUFRLENBQUMsQ0FBeUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFRTSxNQUFNLENBQUMsQ0FBUztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBdERVLG9CQUFvQixrQkF3QmxCLElBQUk7a0dBeEJOLG9CQUFvQixzTENqQmpDLG1pREE2QkEsNFhEakJJLFdBQVcsd2dCQUNYLFlBQVksZ1FBQ1osc0JBQXNCOzsyRkFHYixvQkFBb0I7a0JBWGhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsV0FHZjt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osc0JBQXNCO3FCQUN2Qjs7MEJBMEJFLFNBQVM7MkJBQUMsSUFBSTt5RUFoQmlCLE1BQU07c0JBQXZDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNjLFFBQVE7c0JBQTlDLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9idG4tZ3JvdXAtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9idG4tbG9hZGluZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1idG4tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnRuLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnRuLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBJb25pY01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnV0dG9uTG9hZGluZ0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkdyb3VwQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBjdXN0b21pemluZyBidXR0b24gZ3JvdXAgcHJvcGVydGllcy4gVGhpc1xuICAgKiBvYmplY3QgZGVmaW5lZCBieSBCdXR0b25Hcm91cENvbmZpZyBpbnRlcmZhY2UgYWxsb3dzIHNwZWNpZnlpbmcgYnV0dG9uIHN1Y2ggYXMgaWNvbixcbiAgICogY29sb3IsIGRlc2NyaXB0aW9uLCBkaXNhYmxlZCwgZm9ybSwgbGFiZWwsIGFuZCB0eXBlXG4gICAqIEB0eXBlIHtCdXR0b25Hcm91cENvbmZpZ1tdfVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGNvbmZpZyE6IEJ1dHRvbkdyb3VwQ29uZmlnW107XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZC1ub25lJykgcHJvdGVjdGVkIGlzSGlkZGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgZmxhZyB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gY29udHJvbCBzaG93ZWQgYnV0dG9uLiBXaGVuIHNldCBhIG5ldyB2YWx1ZSwgY3VycmVudCBidXR0b25cbiAgICogaXMgaGlkZGVuIGFuZCBhbmQgYSBuZXcgYnV0dG9uIGlzIHNob3duLiBEZWZhdWx0IHZhbHVlIGlzIDAuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQW4gaWRlbnRpZmllciB0aGF0IHVzZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgYW4gSFRNTCBlbGVtZW50IHN1Y2ggYXMgYSBpb24tYnV0dG9uIGFuZFxuICAgICAqIGEgaW9uLXBvcG92ZXIuXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBAQXR0cmlidXRlKCdpZCcpIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBwb3BvdmVyQ3RybDogUG9wb3ZlckNvbnRyb2xsZXJcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWR7XG4gICAgaWYgKGNoYW5nZXNbJ2NvbmZpZyddKSB7XG4gICAgICB0aGlzLmlzSGlkZGVuID0gdGhpcy5jb25maWcubGVuZ3RoIDw9IDA7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gMDtcbiAgICB9IFxuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRoYXQgZXhlY3V0ZXMgYW5vdGhlciBtZXRob2QgaW5zaWRlIGFjdGl2ZSBidXR0b24gZGVmaW5lZCB3aXRoaW4gQnV0dG9uR3JvdXBDb25maWdcbiAgICogaW50ZXJmYWNlIGFmdGVyIGEgYnV0dG9uIGlzIGNsaWNrZWQuIEl0IHJlY2VpdmVzIGEgQnV0dG9uTG9hZGluZ0NvbXBvbmVudCBhcyBhIHBhcmFtZXRlclxuICAgKiBhbGxvd2luZyBtb2RpZmljYXRpb24gb2YgdGhlIGFjdGl2ZSBidXR0b24uXG4gICAqIEBwYXJhbSB7QnV0dG9uTG9hZGluZ0NvbXBvbmVudH0gYiAtIENvbnRhaW4gdmFsdWVzIGZyb20gY3VycmVudCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgY2xpY2tCdG4oYjogQnV0dG9uTG9hZGluZ0NvbXBvbmVudCk6IHZvaWR7XG4gICAgdGhpcy5jb25maWdbdGhpcy5hY3RpdmVJbmRleF0ub25DbGljayhiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0aGF0IGNoYW5nZSB2YXJpYWJsZSBhY3RpdmVJbmRleCB2YWx1ZSB0byBjdXJyZW50IGluZGV4IG9mIHRoZSBhY3RpdmUgYnV0dG9uIGFuZCBkaXNtaXNzXG4gICAqIHBvcG92ZXIuIEl0IHJlY2VpdmVzIGEgbnVtYmVyIHZhcmlhYmxlIGFzIGEgcGFyYW1ldGVyIGFuZCB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlciB3aWxsIGJlIHNldFxuICAgKiB0byB2YXJpYWJsZSBhY3RpdmVJbmRleC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGkgLSBOZXcgaW5kZXggb2YgdGhlIGFjdGl2ZSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlKGk6IG51bWJlcik6IHZvaWR7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IGk7XG4gICAgdGhpcy5wb3BvdmVyQ3RybC5kaXNtaXNzKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubGVuZ3RoID4gMFwiPlxuICAgIDx1cC1idG4tbG9hZGluZyBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgW2NsYXNzLm11bHRpXT1cImNvbmZpZy5sZW5ndGggPiAxXCIgW3R5cGVdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS50eXBlXCIgW2Rpc2FibGVkXT1cImNvbmZpZ1thY3RpdmVJbmRleF0uZGlzYWJsZWRcIiBbZm9ybV09XCJjb25maWdbYWN0aXZlSW5kZXhdLmZvcm1cIiBbY29sb3JdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS5jb2xvclwiIChvbkNsaWNrKT1cImNsaWNrQnRuKCRldmVudCk7XCI+XG4gICAgICAgIDxpb24taWNvbiBjbGFzcz1cIm1lLTJcIiBuYW1lPVwie3sgY29uZmlnW2FjdGl2ZUluZGV4XS5pY29uIH19XCIgKm5nSWY9XCJjb25maWdbYWN0aXZlSW5kZXhdLmljb25cIiAvPlxuICAgICAgICB7eyBjb25maWdbYWN0aXZlSW5kZXhdLmxhYmVsIH19XG4gICAgPC91cC1idG4tbG9hZGluZz5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubGVuZ3RoID4gMVwiID5cbiAgICAgICAgPGlvbi1idXR0b24gY2xhc3M9XCJmbGV4LXNocmluay0wXCIgaWQ9XCJidG4te3sgaWQgfX1cIiBbY29sb3JdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS5jb2xvclwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjYXJldC1kb3duLW91dGxpbmVcIiAvPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgXG4gICAgICAgIDxpb24tcG9wb3ZlciB0cmlnZ2VyPVwiYnRuLXt7IGlkIH19XCIgdHJpZ2dlckFjdGlvbj1cImNsaWNrXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHgtMiBweS0zIGN1cnNvci1wb2ludGVyIGJvcmRlci1ib3R0b20gZC1mbGV4IGdhcC0yXCIgKm5nRm9yPVwibGV0IGMgb2YgY29uZmlnOyBsZXQgaSA9IGluZGV4XCIgKGNsaWNrKT1cImNoYW5nZShpKTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24gZmxleC1zaHJpbmstMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmtcIiAqbmdJZj1cImkgPT09IGFjdGl2ZUluZGV4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LW1lZGl1bVwiPnt7IGMubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmMTIgcHQtMVwiICpuZ0lmPVwiYy5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGMuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvaW9uLXBvcG92ZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b25zL2dyb3VwL2J0bi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9ucy9ncm91cC9idG4tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBWTFFLE1BQU0sT0FBTyxvQkFBb0I7SUFrQi9CLFlBTTBCLEVBQVUsRUFDZixXQUE4QjtRQUR6QixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBaEJaLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFPMUQsZ0JBQVcsR0FBVyxDQUFDLENBQUM7SUFVM0IsQ0FBQztJQUVFLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBUU0sUUFBUSxDQUFDLENBQXlCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBUU0sTUFBTSxDQUFDLENBQVM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQXREVSxvQkFBb0Isa0JBd0JsQixJQUFJO2tHQXhCTixvQkFBb0Isc0xDZmpDLDBwREFzQ0EsNFhEM0JJLFdBQVcseWdCQUNYLHNCQUFzQjs7MkZBR2Isb0JBQW9CO2tCQVZoQyxTQUFTO2lDQUNJLElBQUksWUFDTixjQUFjLFdBR2Y7d0JBQ1AsV0FBVzt3QkFDWCxzQkFBc0I7cUJBQ3ZCOzswQkEwQkUsU0FBUzsyQkFBQyxJQUFJO3lFQWhCaUIsTUFBTTtzQkFBdkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2MsUUFBUTtzQkFBOUMsV0FBVzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlLCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUsIFBvcG92ZXJDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQnV0dG9uR3JvdXBDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvYnRuLWdyb3VwLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQnV0dG9uTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRpbmcvYnRuLWxvYWRpbmcuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtYnRuLWdyb3VwJyxcbiAgc3R5bGVVcmw6ICcuL2J0bi1ncm91cC5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9idG4tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgQnV0dG9uTG9hZGluZ0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkdyb3VwQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBjdXN0b21pemluZyBidXR0b24gZ3JvdXAgcHJvcGVydGllcy4gVGhpc1xuICAgKiBvYmplY3QgZGVmaW5lZCBieSBCdXR0b25Hcm91cENvbmZpZyBpbnRlcmZhY2UgYWxsb3dzIHNwZWNpZnlpbmcgYnV0dG9uIHN1Y2ggYXMgaWNvbixcbiAgICogY29sb3IsIGRlc2NyaXB0aW9uLCBkaXNhYmxlZCwgZm9ybSwgbGFiZWwsIGFuZCB0eXBlXG4gICAqIEB0eXBlIHtCdXR0b25Hcm91cENvbmZpZ1tdfVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGNvbmZpZyE6IEJ1dHRvbkdyb3VwQ29uZmlnW107XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZC1ub25lJykgcHJvdGVjdGVkIGlzSGlkZGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgZmxhZyB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gY29udHJvbCBzaG93ZWQgYnV0dG9uLiBXaGVuIHNldCBhIG5ldyB2YWx1ZSwgY3VycmVudCBidXR0b25cbiAgICogaXMgaGlkZGVuIGFuZCBhbmQgYSBuZXcgYnV0dG9uIGlzIHNob3duLiBEZWZhdWx0IHZhbHVlIGlzIDAuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQW4gaWRlbnRpZmllciB0aGF0IHVzZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgYW4gSFRNTCBlbGVtZW50IHN1Y2ggYXMgYSBpb24tYnV0dG9uIGFuZFxuICAgICAqIGEgaW9uLXBvcG92ZXIuXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBAQXR0cmlidXRlKCdpZCcpIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBwb3BvdmVyQ3RybDogUG9wb3ZlckNvbnRyb2xsZXJcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWR7XG4gICAgaWYgKGNoYW5nZXNbJ2NvbmZpZyddKSB7XG4gICAgICB0aGlzLmlzSGlkZGVuID0gdGhpcy5jb25maWcubGVuZ3RoIDw9IDA7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gMDtcbiAgICB9IFxuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRoYXQgZXhlY3V0ZXMgYW5vdGhlciBtZXRob2QgaW5zaWRlIGFjdGl2ZSBidXR0b24gZGVmaW5lZCB3aXRoaW4gQnV0dG9uR3JvdXBDb25maWdcbiAgICogaW50ZXJmYWNlIGFmdGVyIGEgYnV0dG9uIGlzIGNsaWNrZWQuIEl0IHJlY2VpdmVzIGEgQnV0dG9uTG9hZGluZ0NvbXBvbmVudCBhcyBhIHBhcmFtZXRlclxuICAgKiBhbGxvd2luZyBtb2RpZmljYXRpb24gb2YgdGhlIGFjdGl2ZSBidXR0b24uXG4gICAqIEBwYXJhbSB7QnV0dG9uTG9hZGluZ0NvbXBvbmVudH0gYiAtIENvbnRhaW4gdmFsdWVzIGZyb20gY3VycmVudCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgY2xpY2tCdG4oYjogQnV0dG9uTG9hZGluZ0NvbXBvbmVudCk6IHZvaWR7XG4gICAgdGhpcy5jb25maWdbdGhpcy5hY3RpdmVJbmRleF0ub25DbGljayhiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0aGF0IGNoYW5nZSB2YXJpYWJsZSBhY3RpdmVJbmRleCB2YWx1ZSB0byBjdXJyZW50IGluZGV4IG9mIHRoZSBhY3RpdmUgYnV0dG9uIGFuZCBkaXNtaXNzXG4gICAqIHBvcG92ZXIuIEl0IHJlY2VpdmVzIGEgbnVtYmVyIHZhcmlhYmxlIGFzIGEgcGFyYW1ldGVyIGFuZCB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlciB3aWxsIGJlIHNldFxuICAgKiB0byB2YXJpYWJsZSBhY3RpdmVJbmRleC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGkgLSBOZXcgaW5kZXggb2YgdGhlIGFjdGl2ZSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlKGk6IG51bWJlcik6IHZvaWR7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IGk7XG4gICAgdGhpcy5wb3BvdmVyQ3RybC5kaXNtaXNzKCk7XG4gIH1cbn1cbiIsIkBpZiAoY29uZmlnLmxlbmd0aCA+IDApIHtcbiAgICA8dXAtYnRuLWxvYWRpbmcgY2xhc3M9XCJmbGV4LWdyb3ctMVwiIFtjbGFzcy5tdWx0aV09XCJjb25maWcubGVuZ3RoID4gMVwiIFt0eXBlXT1cImNvbmZpZ1thY3RpdmVJbmRleF0udHlwZVwiIFtkaXNhYmxlZF09XCJjb25maWdbYWN0aXZlSW5kZXhdLmRpc2FibGVkXCIgW2Zvcm1dPVwiY29uZmlnW2FjdGl2ZUluZGV4XS5mb3JtXCIgW2NvbG9yXT1cImNvbmZpZ1thY3RpdmVJbmRleF0uY29sb3JcIiAob25DbGljayk9XCJjbGlja0J0bigkZXZlbnQpO1wiPlxuICAgICAgICBAaWYgKGNvbmZpZ1thY3RpdmVJbmRleF0uaWNvbikge1xuICAgICAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwibWUtMlwiIG5hbWU9XCJ7eyBjb25maWdbYWN0aXZlSW5kZXhdLmljb24gfX1cIiAvPlxuICAgICAgICB9XG5cbiAgICAgICAge3sgY29uZmlnW2FjdGl2ZUluZGV4XS5sYWJlbCB9fVxuICAgIDwvdXAtYnRuLWxvYWRpbmc+XG5cbiAgICBAaWYgKGNvbmZpZy5sZW5ndGggPiAxKSB7XG4gICAgICAgIDxpb24tYnV0dG9uIGNsYXNzPVwiZmxleC1zaHJpbmstMFwiIGlkPVwiYnRuLXt7IGlkIH19XCIgW2NvbG9yXT1cImNvbmZpZ1thY3RpdmVJbmRleF0uY29sb3JcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2FyZXQtZG93bi1vdXRsaW5lXCIgLz5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgIFxuICAgICAgICA8aW9uLXBvcG92ZXIgdHJpZ2dlcj1cImJ0bi17eyBpZCB9fVwiIHRyaWdnZXJBY3Rpb249XCJjbGlja1wiPlxuICAgICAgICAgICAgQGZvciAoYyBvZiBjb25maWc7IGxldCBpID0gJGluZGV4OyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbSBweC0yIHB5LTMgY3Vyc29yLXBvaW50ZXIgYm9yZGVyLWJvdHRvbSBkLWZsZXggZ2FwLTJcIiAoY2xpY2spPVwiY2hhbmdlKGkpO1wiPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24gZmxleC1zaHJpbmstMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChpID09PSBhY3RpdmVJbmRleCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hlY2ttYXJrXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnctbWVkaXVtXCI+e3sgYy5sYWJlbCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChjLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImYxMiBwdC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGMuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvaW9uLXBvcG92ZXI+XG4gICAgfVxufVxuIl19
@@ -1,9 +1,7 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
2
  import { IonButton, IonicModule } from '@ionic/angular';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@ionic/angular";
6
- import * as i2 from "@angular/common";
7
5
  export class ButtonLoadingComponent {
8
6
  constructor(ch) {
9
7
  this.ch = ch;
@@ -23,15 +21,14 @@ export class ButtonLoadingComponent {
23
21
  this.btn.disabled = !this.btn.disabled;
24
22
  this.ch.markForCheck();
25
23
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ButtonLoadingComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ButtonLoadingComponent, isStandalone: true, selector: "up-btn-loading", inputs: { disabled: "disabled", form: "form", type: "type", fill: "fill", color: "color" }, outputs: { onClick: "onClick" }, viewQueries: [{ propertyName: "btn", first: true, predicate: IonButton, descendants: true }], ngImport: i0, template: "<ion-button type=\"{{ type }}\" fill=\"{{ fill }}\" color=\"{{ color }}\" expand=\"block\" mode=\"md\" [disabled]=\"disabled\" [form]=\"form\" (click)=\"clickBtn()\">\n <ion-spinner *ngIf=\"isLoading;else showIcon\" />\n \n <ng-template #showIcon>\n <ng-content select=\"ion-icon\" />\n </ng-template>\n\n <ng-content />\n</ion-button>\n", styles: ["ion-spinner{width:14px;height:14px;margin-right:8px}circle{stroke-width:8}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ButtonLoadingComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: ButtonLoadingComponent, isStandalone: true, selector: "up-btn-loading", inputs: { disabled: "disabled", form: "form", type: "type", fill: "fill", color: "color" }, outputs: { onClick: "onClick" }, viewQueries: [{ propertyName: "btn", first: true, predicate: IonButton, descendants: true }], ngImport: i0, template: "<ion-button type=\"{{ type }}\" fill=\"{{ fill }}\" color=\"{{ color }}\" expand=\"block\" mode=\"md\" [disabled]=\"disabled\" [form]=\"form\" (click)=\"clickBtn()\">\n @if (isLoading) {\n <ion-spinner />\n } @else {\n <ng-content select=\"ion-icon\" />\n }\n \n <ng-content />\n</ion-button>\n", styles: ["ion-spinner{width:14px;height:14px;margin-right:8px}circle{stroke-width:8}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
26
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ButtonLoadingComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ButtonLoadingComponent, decorators: [{
30
28
  type: Component,
31
29
  args: [{ standalone: true, selector: 'up-btn-loading', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
32
- IonicModule,
33
- CommonModule
34
- ], template: "<ion-button type=\"{{ type }}\" fill=\"{{ fill }}\" color=\"{{ color }}\" expand=\"block\" mode=\"md\" [disabled]=\"disabled\" [form]=\"form\" (click)=\"clickBtn()\">\n <ion-spinner *ngIf=\"isLoading;else showIcon\" />\n \n <ng-template #showIcon>\n <ng-content select=\"ion-icon\" />\n </ng-template>\n\n <ng-content />\n</ion-button>\n", styles: ["ion-spinner{width:14px;height:14px;margin-right:8px}circle{stroke-width:8}\n"] }]
30
+ IonicModule
31
+ ], template: "<ion-button type=\"{{ type }}\" fill=\"{{ fill }}\" color=\"{{ color }}\" expand=\"block\" mode=\"md\" [disabled]=\"disabled\" [form]=\"form\" (click)=\"clickBtn()\">\n @if (isLoading) {\n <ion-spinner />\n } @else {\n <ng-content select=\"ion-icon\" />\n }\n \n <ng-content />\n</ion-button>\n", styles: ["ion-spinner{width:14px;height:14px;margin-right:8px}circle{stroke-width:8}\n"] }]
35
32
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { disabled: [{
36
33
  type: Input
37
34
  }], form: [{
@@ -48,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
48
45
  type: ViewChild,
49
46
  args: [IonButton]
50
47
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLWxvYWRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbnMvbG9hZGluZy9idG4tbG9hZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9ucy9sb2FkaW5nL2J0bi1sb2FkaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQWF4RCxNQUFNLE9BQU8sc0JBQXNCO0lBbURqQyxZQUNxQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQTVDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVkxQixTQUFJLEdBQW1DLFFBQVEsQ0FBQztRQU1oRCxTQUFJLEdBQThDLE9BQU8sQ0FBQztRQU0xRCxVQUFLLEdBQW9ILFNBQVMsQ0FBQztRQVFsSSxZQUFPLEdBQXlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFTN0UsY0FBUyxHQUFZLEtBQUssQ0FBQztJQUk5QixDQUFDO0lBS0UsUUFBUTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBTU0sYUFBYTtRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBRXZDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQzs4R0F4RVUsc0JBQXNCO2tHQUF0QixzQkFBc0IsNE9BeUN0QixTQUFTLGdEQ3hEdEIseVdBU0EscUlERUksV0FBVyxvWkFDWCxZQUFZOzsyRkFHSCxzQkFBc0I7a0JBWGxDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTtxQkFDYjtzRkFVZSxRQUFRO3NCQUF2QixLQUFLO2dCQU1VLElBQUk7c0JBQW5CLEtBQUs7Z0JBTVUsSUFBSTtzQkFBbkIsS0FBSztnQkFNVSxJQUFJO3NCQUFuQixLQUFLO2dCQU1VLEtBQUs7c0JBQXBCLEtBQUs7Z0JBUVcsT0FBTztzQkFBdkIsTUFBTTtnQkFDeUIsR0FBRztzQkFBbEMsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW9uQnV0dG9uLCBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtYnRuLWxvYWRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnRuLWxvYWRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idG4tbG9hZGluZy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIElvbmljTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkxvYWRpbmdDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBBbiBpbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gY29udHJvbCBzaG93ZWQgYnV0dG9uLiBXaGVuIHNldCB0aGUgdmFsdWUgdG8gdHJ1ZSwgdGhlIGJ1dHRvblxuICAgKiB3aWxsIGJlIGRpc2FibGVkIGFuZCBjYW5ub3QgYmUgcHJlc3NlZC4gV2hlbiBzZXQgdGhlIHZhbHVlIHRvIGZhbHNlLCB0aGUgYnV0dG9uIHdpbGwgYmUgZW5hYmxlZFxuICAgKiBhbmQgY2FuIGJlIHByZXNzZWQuIERlZmF1bHQgdmFsdWUgaXMgZmFsc2UuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFuIGlucHV0IHZhcmlhYmxlIHRoYXQgdXNlZCB0byBzZXQgZm9ybSBvZiBpb24tYnV0dG9uLlxuICAgKiBAdHlwZSB7SFRNTEZvcm1FbGVtZW50IHwgc3RyaW5nIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGZvcm06IEhUTUxGb3JtRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIHNldCB0eXBlIG9mIGlvbi1idXR0b24uIERlZmF1bHQgdmFsdWUgaXMgJ2J1dHRvbicuXG4gICAqIEB0eXBlIHsnYnV0dG9uJyB8ICdyZXNldCcgfCAnc3VibWl0J31cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlPzogJ2J1dHRvbicgfCAncmVzZXQnIHwgJ3N1Ym1pdCcgPSAnYnV0dG9uJztcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIHNldCBmaWxsIG9mIGlvbi1idXR0b24uIERlZmF1bHQgdmFsdWUgaXMgJ3NvbGlkJy5cbiAgICogQHR5cGUgeydjbGVhcicgfCAnZGVmYXVsdCcgfCAnb3V0bGluZScgfCAnc29saWQnfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGZpbGw6ICdjbGVhcicgfCAnZGVmYXVsdCcgfCAnb3V0bGluZScgfCAnc29saWQnID0gJ3NvbGlkJztcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIHNldCBjb2xvciBvZiBpb24tYnV0dG9uLiBEZWZhdWx0IHZhbHVlIGlzICdwcmltYXJ5Jy5cbiAgICogQHR5cGUgeydkYW5nZXInIHwgJ2RhcmsnIHwgJ2xpZ2h0JyB8ICdtZWRpdW0nIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAndGVydGlhcnknIHwgJ3dhcm5pbmcnIHwgc3RyaW5nfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGNvbG9yPzogJ2RhbmdlcicgfCAnZGFyaycgfCAnbGlnaHQnIHwgJ21lZGl1bScgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICd0ZXJ0aWFyeScgfCAnd2FybmluZycgfCBzdHJpbmcgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIEFuIG91dHB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gZW1pdHMgZXZlbnQgb2YgdHlwZSBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IHdoZW4gY2xpY2tlZC4gVGhpc1xuICAgKiBvdXRwdXQgdmFyaWFibGUsIHdoZW4gc3Vic2NyaWJlZCB0bywgZW1pdHMgZXZlbnRzIGNvbnRhaW5pbmcgaW5zdGFuY2VzIG9mIEJ1dHRvbkxvYWRpbmdDb21wb25lbnRcbiAgICogb3IgaXRzIHN1YmNsYXNzLlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPEJ1dHRvbkxvYWRpbmdDb21wb25lbnQ+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8QnV0dG9uTG9hZGluZ0NvbXBvbmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoSW9uQnV0dG9uKSBwcm90ZWN0ZWQgYnRuITogSW9uQnV0dG9uO1xuXG4gIC8qKlxuICAgKiBBIGZsYWcgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGNvbnRyb2wgc2hvd2VkIGJ1dHRvbi4gV2hlbiBzZXQgdGhlIHZhbHVlIHRvIHRydWUsIHRoZSBidXR0b25cbiAgICogd2lsbCByZXBsYWNlZCB0byBpb24tc3Bpbm5lciBmb3IgbWFya2luZyB0aGUgYXBwbGljYXRpb24gc3RpbGwgbG9hZGluZy4gV2hlbiBzZXQgdGhlIHZhbHVlXG4gICAqIHRvIGZhbHNlLCBpdCB3aWxsIHNob3duIHRoZSBidXR0b24uIERlZmF1bHQgdmFsdWUgaXMgZmFsc2UuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKi9cbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBjaDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkgeyB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRoYXQgZW1pdCBvbkNsaWNrIHZhcmlhYmxlIGFuZCBjYWxsIHRvZ2dsZUxvYWRpbmcgZnVuY3Rpb24gYWZ0ZXIgYSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIHB1YmxpYyBjbGlja0J0bigpOiB2b2lke1xuICAgIHRoaXMub25DbGljay5lbWl0KHRoaXMpO1xuICAgIHRoaXMudG9nZ2xlTG9hZGluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHdoZW4gaXQncyBjYWxsZWQsIGl0J2xsIG1ha2UgZWl0aGVyIHRoZSBidXR0b24gaXMgaW4gbG9hZGluZyBzdGF0ZSBvciBpbiBub3JtYWwgc3RhdGUuXG4gICAqIElmIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBpcyBub3JtYWwgc3RhdGUsIHRoZSBidXR0b24gd2lsbCBiZSBpbiBsb2FkaW5nIHN0YXRlIGFuZCB2aWNlIHZlcnNhLlxuICAgKi9cbiAgcHVibGljIHRvZ2dsZUxvYWRpbmcoKTogdm9pZHtcbiAgICB0aGlzLmlzTG9hZGluZyA9ICF0aGlzLmlzTG9hZGluZztcbiAgICB0aGlzLmJ0bi5kaXNhYmxlZCA9ICF0aGlzLmJ0bi5kaXNhYmxlZDtcblxuICAgIHRoaXMuY2gubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxpb24tYnV0dG9uIHR5cGU9XCJ7eyB0eXBlIH19XCIgZmlsbD1cInt7IGZpbGwgfX1cIiBjb2xvcj1cInt7IGNvbG9yIH19XCIgZXhwYW5kPVwiYmxvY2tcIiBtb2RlPVwibWRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbZm9ybV09XCJmb3JtXCIgKGNsaWNrKT1cImNsaWNrQnRuKClcIj5cbiAgICA8aW9uLXNwaW5uZXIgKm5nSWY9XCJpc0xvYWRpbmc7ZWxzZSBzaG93SWNvblwiIC8+XG4gICAgXG4gICAgPG5nLXRlbXBsYXRlICNzaG93SWNvbj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW9uLWljb25cIiAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctY29udGVudCAvPlxuPC9pb24tYnV0dG9uPlxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLWxvYWRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2J1dHRvbnMvbG9hZGluZy9idG4tbG9hZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9ucy9sb2FkaW5nL2J0bi1sb2FkaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFZeEQsTUFBTSxPQUFPLHNCQUFzQjtJQW1EakMsWUFDcUIsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUE1QzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFZMUIsU0FBSSxHQUFtQyxRQUFRLENBQUM7UUFNaEQsU0FBSSxHQUE4QyxPQUFPLENBQUM7UUFNMUQsVUFBSyxHQUFvSCxTQUFTLENBQUM7UUFRbEksWUFBTyxHQUF5QyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBUzdFLGNBQVMsR0FBWSxLQUFLLENBQUM7SUFJOUIsQ0FBQztJQUtFLFFBQVE7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQU1NLGFBQWE7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUV2QyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBeEVVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDRPQXlDdEIsU0FBUyxnREN0RHRCLHFVQVNBLHFJRENJLFdBQVc7OzJGQUdGLHNCQUFzQjtrQkFWbEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsV0FBVztxQkFDWjtzRkFVZSxRQUFRO3NCQUF2QixLQUFLO2dCQU1VLElBQUk7c0JBQW5CLEtBQUs7Z0JBTVUsSUFBSTtzQkFBbkIsS0FBSztnQkFNVSxJQUFJO3NCQUFuQixLQUFLO2dCQU1VLEtBQUs7c0JBQXBCLEtBQUs7Z0JBUVcsT0FBTztzQkFBdkIsTUFBTTtnQkFDeUIsR0FBRztzQkFBbEMsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1idG4tbG9hZGluZycsXG4gIHN0eWxlVXJsOiAnLi9idG4tbG9hZGluZy5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9idG4tbG9hZGluZy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgSW9uaWNNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGNvbnRyb2wgc2hvd2VkIGJ1dHRvbi4gV2hlbiBzZXQgdGhlIHZhbHVlIHRvIHRydWUsIHRoZSBidXR0b25cbiAgICogd2lsbCBiZSBkaXNhYmxlZCBhbmQgY2Fubm90IGJlIHByZXNzZWQuIFdoZW4gc2V0IHRoZSB2YWx1ZSB0byBmYWxzZSwgdGhlIGJ1dHRvbiB3aWxsIGJlIGVuYWJsZWRcbiAgICogYW5kIGNhbiBiZSBwcmVzc2VkLiBEZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBbiBpbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gc2V0IGZvcm0gb2YgaW9uLWJ1dHRvbi5cbiAgICogQHR5cGUge0hUTUxGb3JtRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZH1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtOiBIVE1MRm9ybUVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEFuIGlucHV0IHZhcmlhYmxlIHRoYXQgdXNlZCB0byBzZXQgdHlwZSBvZiBpb24tYnV0dG9uLiBEZWZhdWx0IHZhbHVlIGlzICdidXR0b24nLlxuICAgKiBAdHlwZSB7J2J1dHRvbicgfCAncmVzZXQnIHwgJ3N1Ym1pdCd9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZT86ICdidXR0b24nIHwgJ3Jlc2V0JyB8ICdzdWJtaXQnID0gJ2J1dHRvbic7XG5cbiAgLyoqXG4gICAqIEFuIGlucHV0IHZhcmlhYmxlIHRoYXQgdXNlZCB0byBzZXQgZmlsbCBvZiBpb24tYnV0dG9uLiBEZWZhdWx0IHZhbHVlIGlzICdzb2xpZCcuXG4gICAqIEB0eXBlIHsnY2xlYXInIHwgJ2RlZmF1bHQnIHwgJ291dGxpbmUnIHwgJ3NvbGlkJ31cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWxsOiAnY2xlYXInIHwgJ2RlZmF1bHQnIHwgJ291dGxpbmUnIHwgJ3NvbGlkJyA9ICdzb2xpZCc7XG5cbiAgLyoqXG4gICAqIEFuIGlucHV0IHZhcmlhYmxlIHRoYXQgdXNlZCB0byBzZXQgY29sb3Igb2YgaW9uLWJ1dHRvbi4gRGVmYXVsdCB2YWx1ZSBpcyAncHJpbWFyeScuXG4gICAqIEB0eXBlIHsnZGFuZ2VyJyB8ICdkYXJrJyB8ICdsaWdodCcgfCAnbWVkaXVtJyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ3N1Y2Nlc3MnIHwgJ3RlcnRpYXJ5JyB8ICd3YXJuaW5nJyB8IHN0cmluZ31cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBjb2xvcj86ICdkYW5nZXInIHwgJ2RhcmsnIHwgJ2xpZ2h0JyB8ICdtZWRpdW0nIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnc3VjY2VzcycgfCAndGVydGlhcnknIHwgJ3dhcm5pbmcnIHwgc3RyaW5nID0gJ3ByaW1hcnknO1xuXG4gIC8qKlxuICAgKiBBbiBvdXRwdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGVtaXRzIGV2ZW50IG9mIHR5cGUgQnV0dG9uTG9hZGluZ0NvbXBvbmVudCB3aGVuIGNsaWNrZWQuIFRoaXNcbiAgICogb3V0cHV0IHZhcmlhYmxlLCB3aGVuIHN1YnNjcmliZWQgdG8sIGVtaXRzIGV2ZW50cyBjb250YWluaW5nIGluc3RhbmNlcyBvZiBCdXR0b25Mb2FkaW5nQ29tcG9uZW50XG4gICAqIG9yIGl0cyBzdWJjbGFzcy5cbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxCdXR0b25Mb2FkaW5nQ29tcG9uZW50Pn1cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25DbGljazogRXZlbnRFbWl0dGVyPEJ1dHRvbkxvYWRpbmdDb21wb25lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAVmlld0NoaWxkKElvbkJ1dHRvbikgcHJvdGVjdGVkIGJ0biE6IElvbkJ1dHRvbjtcblxuICAvKipcbiAgICogQSBmbGFnIHZhcmlhYmxlIHRoYXQgdXNlZCB0byBjb250cm9sIHNob3dlZCBidXR0b24uIFdoZW4gc2V0IHRoZSB2YWx1ZSB0byB0cnVlLCB0aGUgYnV0dG9uXG4gICAqIHdpbGwgcmVwbGFjZWQgdG8gaW9uLXNwaW5uZXIgZm9yIG1hcmtpbmcgdGhlIGFwcGxpY2F0aW9uIHN0aWxsIGxvYWRpbmcuIFdoZW4gc2V0IHRoZSB2YWx1ZVxuICAgKiB0byBmYWxzZSwgaXQgd2lsbCBzaG93biB0aGUgYnV0dG9uLiBEZWZhdWx0IHZhbHVlIGlzIGZhbHNlLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICovXG4gIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2g6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHsgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0aGF0IGVtaXQgb25DbGljayB2YXJpYWJsZSBhbmQgY2FsbCB0b2dnbGVMb2FkaW5nIGZ1bmN0aW9uIGFmdGVyIGEgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBwdWJsaWMgY2xpY2tCdG4oKTogdm9pZHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh0aGlzKTtcbiAgICB0aGlzLnRvZ2dsZUxvYWRpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB3aGVuIGl0J3MgY2FsbGVkLCBpdCdsbCBtYWtlIGVpdGhlciB0aGUgYnV0dG9uIGlzIGluIGxvYWRpbmcgc3RhdGUgb3IgaW4gbm9ybWFsIHN0YXRlLlxuICAgKiBJZiB0aGUgY3VycmVudCBjb25kaXRpb24gaXMgbm9ybWFsIHN0YXRlLCB0aGUgYnV0dG9uIHdpbGwgYmUgaW4gbG9hZGluZyBzdGF0ZSBhbmQgdmljZSB2ZXJzYS5cbiAgICovXG4gIHB1YmxpYyB0b2dnbGVMb2FkaW5nKCk6IHZvaWR7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSAhdGhpcy5pc0xvYWRpbmc7XG4gICAgdGhpcy5idG4uZGlzYWJsZWQgPSAhdGhpcy5idG4uZGlzYWJsZWQ7XG5cbiAgICB0aGlzLmNoLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8aW9uLWJ1dHRvbiB0eXBlPVwie3sgdHlwZSB9fVwiIGZpbGw9XCJ7eyBmaWxsIH19XCIgY29sb3I9XCJ7eyBjb2xvciB9fVwiIGV4cGFuZD1cImJsb2NrXCIgbW9kZT1cIm1kXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW2Zvcm1dPVwiZm9ybVwiIChjbGljayk9XCJjbGlja0J0bigpXCI+XG4gICAgQGlmIChpc0xvYWRpbmcpIHtcbiAgICAgICAgPGlvbi1zcGlubmVyIC8+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImlvbi1pY29uXCIgLz5cbiAgICB9XG4gICAgXG4gICAgPG5nLWNvbnRlbnQgLz5cbjwvaW9uLWJ1dHRvbj5cbiJdfQ==
@@ -35,10 +35,10 @@ export class AppletContainerComponent {
35
35
  selectMenu() {
36
36
  dispatchEvent(new CustomEvent('menuEvent', { detail: { isActive: false } }));
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppletContainerComponent, deps: [{ token: 'APPLET_CONFIG' }, { token: i0.ChangeDetectorRef }, { token: i1.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.4", type: AppletContainerComponent, isStandalone: true, selector: "up-applet-container", host: { classAttribute: "d-flex h-100 w-100" }, ngImport: i0, template: "<div class=\"sidenav flex-shrink-0 h-100 py-4 d-flex flex-column\" [class.collapsed]=\"isCollapsed\" [class.show]=\"isMenuActive\">\n <div class=\"logo-container px-3 pb-3 border-bottom flex-shrink-0 position-relative d-flex align-items-center gap-3 d-none d-md-flex\">\n <img alt=\"Applet Icon\" width=\"44px\" height=\"44px\" class=\"rounded\" [src]=\"config.icon\" />\n\n <div class=\"info w-75 pe-2\">\n <div class=\"name fw-medium text-truncate\">{{ config.name }}</div>\n \n <div class=\"tenant pt-1 fw-medium\">\n v{{ config.version }}\n </div>\n </div>\n\n <button class=\"btn-close cursor-pointer position-absolute border-0 rounded-circle d-none d-md-block\" (click)=\"toggleSidenav()\">\n <ion-icon name=\"chevron-forward\" class=\"mt-1\" />\n </button>\n </div>\n\n <div class=\"flex-grow-1 px-3 pt-3 overflow-y-auto d-none d-md-block\" (click)=\"selectMenu()\">\n @for (c of config.containers; track $index) {\n <a class=\"nav align-items-center text-decoration-none gap-2 rounded mb-1 {{ isHidden[$index]? 'd-none' : 'd-flex' }}\" routerLinkActive=\"fw-medium\" title=\"{{ c.label }}\" [routerLink]=\"c.path\">\n <ion-icon name=\"{{ c.icon }}\" />\n <div class=\"text-truncate\">{{ c.label }}</div>\n </a>\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"flex-shrink-0 px-3 pt-3 border-top d-none d-md-block\" (click)=\"selectMenu()\">\n <a class=\"nav d-flex align-items-center text-decoration-none gap-2 rounded\" title=\"Setting\" routerLink=\"setting\" routerLinkActive=\"fw-medium\">\n <ion-icon name=\"settings\" />\n <div class=\"text-truncate\">Setting</div>\n </a>\n </div>\n }\n</div>\n\n<div class=\"flex-grow-1 w-100 overflow-y-auto\">\n <ng-content />\n</div>\n", styles: [".info{display:none}.name{font-size:16px}.tenant{color:#757575}.sidenav{width:73px;background:#f8f9fb;transition:all .2s ease;border-right:1px solid #D1D1D1}.sidenav.collapsed{width:250px}.sidenav.collapsed .btn-close{transform:rotate(180deg)}.sidenav.collapsed .nav div,.sidenav.collapsed .info{display:block}.sidenav.show{width:250px}.sidenav.show .logo-container{display:flex!important}.sidenav.show div:not(.logo-container),.sidenav.show img,.sidenav.show .info{display:block!important}.btn-close{width:35px;height:35px;bottom:23px;right:-17px;z-index:999;transition:all .3s ease;background-color:#f8f9fb;box-shadow:0 0 .15rem #616161}.btn-close ion-icon{color:#616161;font-size:16px}@media (max-width: 768px){.btn-close{right:-18px}.btn-close ion-icon{position:absolute;right:9px;bottom:10px}}.nav{padding:12px;color:#616161;transition:all .3s ease}.nav.fw-medium,.nav:hover{background-color:#fef3ee;color:#ed6b26!important}.nav ion-icon{font-size:20px}.nav div{display:none;font-size:16px}@media (max-width: 767px){.sidenav{width:0;z-index:2;position:absolute!important}}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i2.RouterLinkWithHrefDelegate, selector: "a[routerLink],area[routerLink]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AppletContainerComponent, deps: [{ token: 'APPLET_CONFIG' }, { token: i0.ChangeDetectorRef }, { token: i1.PermissionService }], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: AppletContainerComponent, isStandalone: true, selector: "up-applet-container", host: { classAttribute: "d-flex h-100 w-100" }, ngImport: i0, template: "<div class=\"sidenav flex-shrink-0 h-100 py-4 d-flex flex-column\" [class.collapsed]=\"isCollapsed\" [class.show]=\"isMenuActive\">\n <div class=\"logo-container px-3 pb-3 border-bottom flex-shrink-0 position-relative d-flex align-items-center gap-3 d-none d-md-flex\">\n <img alt=\"Applet Icon\" width=\"44px\" height=\"44px\" class=\"rounded\" [src]=\"config.icon\" />\n\n <div class=\"info w-75 pe-2\">\n <div class=\"name fw-medium text-truncate\">{{ config.name }}</div>\n \n <div class=\"tenant pt-1 fw-medium\">\n v{{ config.version }}\n </div>\n </div>\n\n <button class=\"btn-close cursor-pointer position-absolute border-0 rounded-circle d-none d-md-block\" (click)=\"toggleSidenav()\">\n <ion-icon name=\"chevron-forward\" class=\"mt-1\" />\n </button>\n </div>\n\n <div class=\"flex-grow-1 px-3 pt-3 overflow-y-auto d-none d-md-block\" (click)=\"selectMenu()\">\n @for (c of config.containers; track $index) {\n <a class=\"nav align-items-center text-decoration-none gap-2 rounded mb-1 {{ isHidden[$index]? 'd-none' : 'd-flex' }}\" routerLinkActive=\"fw-medium\" title=\"{{ c.label }}\" [routerLink]=\"c.path\">\n <ion-icon name=\"{{ c.icon }}\" />\n <div class=\"text-truncate\">{{ c.label }}</div>\n </a>\n }\n </div>\n\n @if (config.enabledSetting) {\n <div class=\"flex-shrink-0 px-3 pt-3 border-top d-none d-md-block\" (click)=\"selectMenu()\">\n <a class=\"nav d-flex align-items-center text-decoration-none gap-2 rounded\" title=\"Setting\" routerLink=\"setting\" routerLinkActive=\"fw-medium\">\n <ion-icon name=\"settings\" />\n <div class=\"text-truncate\">Setting</div>\n </a>\n </div>\n }\n</div>\n\n<div class=\"flex-grow-1 w-100 overflow-y-auto\">\n <ng-content />\n</div>\n", styles: [".info{display:none}.name{font-size:16px}.tenant{color:#757575}.sidenav{width:73px;background:#f8f9fb;transition:all .2s ease;border-right:1px solid #D1D1D1}.sidenav.collapsed{width:250px}.sidenav.collapsed .btn-close{transform:rotate(180deg)}.sidenav.collapsed .nav div,.sidenav.collapsed .info{display:block}.sidenav.show{width:250px}.sidenav.show .logo-container{display:flex!important}.sidenav.show div:not(.logo-container),.sidenav.show img,.sidenav.show .info{display:block!important}.btn-close{width:35px;height:35px;bottom:23px;right:-17px;z-index:999;transition:all .3s ease;background-color:#f8f9fb;box-shadow:0 0 .15rem #616161}.btn-close ion-icon{color:#616161;font-size:16px}@media (max-width: 768px){.btn-close{right:-18px}.btn-close ion-icon{position:absolute;right:9px;bottom:10px}}.nav{padding:12px;color:#616161;transition:all .3s ease}.nav.fw-medium,.nav:hover{background-color:#fef3ee;color:#ed6b26!important}.nav ion-icon{font-size:20px}.nav div{display:none;font-size:16px}@media (max-width: 767px){.sidenav{width:0;z-index:2;position:absolute!important}}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i2.RouterLinkWithHrefDelegate, selector: "a[routerLink],area[routerLink]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: AppletContainerComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AppletContainerComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ standalone: true, selector: 'up-applet-container', changeDetection: ChangeDetectionStrategy.OnPush, host: {
44
44
  class: 'd-flex h-100 w-100'
@@ -1,24 +1,23 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { RouterModule } from '@angular/router';
3
2
  import { IonicModule } from '@ionic/angular';
3
+ import { RouterLink } from '@angular/router';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@ionic/angular";
6
- import * as i2 from "@angular/router";
7
6
  export class ColumnHeaderContainerComponent {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ColumnHeaderContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ColumnHeaderContainerComponent, isStandalone: true, selector: "up-column-header-container", inputs: { header: "header", prevUrl: "prevUrl" }, host: { classAttribute: "d-flex flex-column h-100" }, ngImport: i0, template: "<div class=\"d-flex justify-content-between align-items-center border-bottom py-1 ps-1 pe-4 flex-shrink-0\">\n\t<div class=\"flex-grow-1 d-flex align-items-center pe-3\">\n\t\t<ion-buttons class=\"flex-shrink-0\">\n\t\t\t<ion-button routerLink=\"{{ prevUrl }}\">\n\t\t\t\t<ion-icon slot=\"icon-only\" name=\"close\" />\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\n\t\t<div class=\"f20 fw-medium flex-grow-1 text-truncate\">{{ header }}</div>\n\t</div>\n\n\t<ng-content select=\"[button]\" />\n</div>\n\n<div class=\"p-1 flex-grow-1 overflow-auto\">\n\t<ng-content/>\n</div>\n", styles: ["ion-buttons{z-index:0}.flex-grow-1{min-width:0}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ColumnHeaderContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: ColumnHeaderContainerComponent, isStandalone: true, selector: "up-column-header-container", inputs: { header: "header", prevUrl: "prevUrl" }, host: { classAttribute: "d-flex flex-column h-100" }, ngImport: i0, template: "<div class=\"d-flex justify-content-between align-items-center border-bottom py-1 ps-1 pe-4 flex-shrink-0\">\n\t<div class=\"flex-grow-1 d-flex align-items-center pe-3\">\n\t\t<ion-buttons class=\"flex-shrink-0\">\n\t\t\t<ion-button routerLink=\"{{ prevUrl }}\">\n\t\t\t\t<ion-icon slot=\"icon-only\" name=\"close\" />\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\n\t\t<div class=\"f20 fw-medium flex-grow-1 text-truncate\">{{ header }}</div>\n\t</div>\n\n\t<ng-content select=\"[button]\" />\n</div>\n\n<div class=\"p-1 flex-grow-1 overflow-auto\">\n\t<ng-content/>\n</div>\n", styles: ["ion-buttons{z-index:0}.flex-grow-1{min-width:0}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "directive", type: i1.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
9
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ColumnHeaderContainerComponent, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ColumnHeaderContainerComponent, decorators: [{
12
11
  type: Component,
13
12
  args: [{ standalone: true, selector: 'up-column-header-container', changeDetection: ChangeDetectionStrategy.OnPush, host: {
14
13
  class: 'd-flex flex-column h-100'
15
14
  }, imports: [
16
15
  IonicModule,
17
- RouterModule
16
+ RouterLink
18
17
  ], template: "<div class=\"d-flex justify-content-between align-items-center border-bottom py-1 ps-1 pe-4 flex-shrink-0\">\n\t<div class=\"flex-grow-1 d-flex align-items-center pe-3\">\n\t\t<ion-buttons class=\"flex-shrink-0\">\n\t\t\t<ion-button routerLink=\"{{ prevUrl }}\">\n\t\t\t\t<ion-icon slot=\"icon-only\" name=\"close\" />\n\t\t\t</ion-button>\n\t\t</ion-buttons>\n\n\t\t<div class=\"f20 fw-medium flex-grow-1 text-truncate\">{{ header }}</div>\n\t</div>\n\n\t<ng-content select=\"[button]\" />\n</div>\n\n<div class=\"p-1 flex-grow-1 overflow-auto\">\n\t<ng-content/>\n</div>\n", styles: ["ion-buttons{z-index:0}.flex-grow-1{min-width:0}\n"] }]
19
18
  }], propDecorators: { header: [{
20
19
  type: Input
21
20
  }], prevUrl: [{
22
21
  type: Input
23
22
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWhlYWRlci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvY29sdW0taGVhZGVyLWNvbnRhaW5lci9jb2x1bW4taGVhZGVyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvY29udGFpbmVycy9jb2x1bS1oZWFkZXItY29udGFpbmVyL2NvbHVtbi1oZWFkZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFnQjdDLE1BQU0sT0FBTyw4QkFBOEI7OEdBQTlCLDhCQUE4QjtrR0FBOUIsOEJBQThCLDhMQ2xCM0MsZ2tCQWlCQSwwR0RISSxXQUFXLDZuQkFDWCxZQUFZOzsyRkFHSCw4QkFBOEI7a0JBZDFDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDRCQUE0QixtQkFHckIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsMEJBQTBCO3FCQUNsQyxXQUNRO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTtxQkFDYjs4QkFRZSxNQUFNO3NCQUFyQixLQUFLO2dCQU1VLE9BQU87c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1jb2x1bW4taGVhZGVyLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4taGVhZGVyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbHVtbi1oZWFkZXItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IFxuICAgIGNsYXNzOiAnZC1mbGV4IGZsZXgtY29sdW1uIGgtMTAwJyBcbiAgfSxcbiAgaW1wb3J0czogWyBcbiAgICBJb25pY01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5IZWFkZXJDb250YWluZXJDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBBbiBpbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gc2V0IGhlYWRlciB0ZXh0LlxuICAgKkB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBpbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gc2V0IHByZXZVcmwuXG4gICAqQHR5cGUge3N0cmluZ31cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBwcmV2VXJsITogc3RyaW5nO1xufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgYm9yZGVyLWJvdHRvbSBweS0xIHBzLTEgcGUtNCBmbGV4LXNocmluay0wXCI+XG5cdDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBlLTNcIj5cblx0XHQ8aW9uLWJ1dHRvbnMgY2xhc3M9XCJmbGV4LXNocmluay0wXCI+XG5cdFx0XHQ8aW9uLWJ1dHRvbiByb3V0ZXJMaW5rPVwie3sgcHJldlVybCB9fVwiPlxuXHRcdFx0XHQ8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjbG9zZVwiIC8+XG5cdFx0XHQ8L2lvbi1idXR0b24+XG5cdFx0PC9pb24tYnV0dG9ucz5cblxuXHRcdDxkaXYgY2xhc3M9XCJmMjAgZnctbWVkaXVtIGZsZXgtZ3Jvdy0xIHRleHQtdHJ1bmNhdGVcIj57eyBoZWFkZXIgfX08L2Rpdj5cblx0PC9kaXY+XG5cblx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2J1dHRvbl1cIiAvPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJwLTEgZmxleC1ncm93LTEgb3ZlcmZsb3ctYXV0b1wiPlxuXHQ8bmctY29udGVudC8+XG48L2Rpdj5cbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWhlYWRlci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvY29sdW0taGVhZGVyLWNvbnRhaW5lci9jb2x1bW4taGVhZGVyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvY29udGFpbmVycy9jb2x1bS1oZWFkZXItY29udGFpbmVyL2NvbHVtbi1oZWFkZXItY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQWdCN0MsTUFBTSxPQUFPLDhCQUE4Qjs4R0FBOUIsOEJBQThCO2tHQUE5Qiw4QkFBOEIsOExDbEIzQyxna0JBaUJBLDBHREhJLFdBQVcsOG5CQUNYLFVBQVU7OzJGQUdELDhCQUE4QjtrQkFkMUMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSwwQkFBMEI7cUJBQ2xDLFdBQ1E7d0JBQ1AsV0FBVzt3QkFDWCxVQUFVO3FCQUNYOzhCQVFlLE1BQU07c0JBQXJCLEtBQUs7Z0JBTVUsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1jb2x1bW4taGVhZGVyLWNvbnRhaW5lcicsXG4gIHN0eWxlVXJsOiAnLi9jb2x1bW4taGVhZGVyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4taGVhZGVyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7IFxuICAgIGNsYXNzOiAnZC1mbGV4IGZsZXgtY29sdW1uIGgtMTAwJyBcbiAgfSxcbiAgaW1wb3J0czogWyBcbiAgICBJb25pY01vZHVsZSxcbiAgICBSb3V0ZXJMaW5rXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uSGVhZGVyQ29udGFpbmVyQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIHNldCBoZWFkZXIgdGV4dC5cbiAgICpAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGhlYWRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIHNldCBwcmV2VXJsLlxuICAgKkB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgcHJldlVybCE6IHN0cmluZztcbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIGJvcmRlci1ib3R0b20gcHktMSBwcy0xIHBlLTQgZmxleC1zaHJpbmstMFwiPlxuXHQ8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwZS0zXCI+XG5cdFx0PGlvbi1idXR0b25zIGNsYXNzPVwiZmxleC1zaHJpbmstMFwiPlxuXHRcdFx0PGlvbi1idXR0b24gcm91dGVyTGluaz1cInt7IHByZXZVcmwgfX1cIj5cblx0XHRcdFx0PGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2VcIiAvPlxuXHRcdFx0PC9pb24tYnV0dG9uPlxuXHRcdDwvaW9uLWJ1dHRvbnM+XG5cblx0XHQ8ZGl2IGNsYXNzPVwiZjIwIGZ3LW1lZGl1bSBmbGV4LWdyb3ctMSB0ZXh0LXRydW5jYXRlXCI+e3sgaGVhZGVyIH19PC9kaXY+XG5cdDwvZGl2PlxuXG5cdDxuZy1jb250ZW50IHNlbGVjdD1cIltidXR0b25dXCIgLz5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwicC0xIGZsZXgtZ3Jvdy0xIG92ZXJmbG93LWF1dG9cIj5cblx0PG5nLWNvbnRlbnQvPlxuPC9kaXY+XG4iXX0=