@memberjunction/ng-dashboards 5.1.0 → 5.3.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 (61) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +12 -12
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  4. package/dist/AI/components/agents/agent-editor.component.d.ts +4 -4
  5. package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
  6. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  7. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +3 -3
  8. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -1
  9. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  10. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  11. package/dist/AI/components/models/model-management.component.d.ts +5 -5
  12. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  13. package/dist/AI/components/models/model-management.component.js +1 -1
  14. package/dist/AI/components/models/model-management.component.js.map +1 -1
  15. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts +7 -7
  16. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
  17. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  18. package/dist/AI/components/prompts/prompt-management.component.d.ts +4 -4
  19. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  20. package/dist/AI/components/prompts/prompt-management.component.js +1 -1
  21. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  22. package/dist/AI/components/prompts/prompt-version-control.component.d.ts +6 -6
  23. package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
  24. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  25. package/dist/AI/components/system/system-configuration.component.d.ts +4 -4
  26. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  27. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  28. package/dist/AI/services/ai-instrumentation.service.js.map +1 -1
  29. package/dist/Actions/components/explorer/action-card.component.d.ts +5 -5
  30. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
  31. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  32. package/dist/Actions/components/explorer/action-explorer.component.d.ts +6 -6
  33. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  34. package/dist/Actions/components/explorer/action-explorer.component.js +1 -1
  35. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  36. package/dist/Actions/components/explorer/action-list-item.component.d.ts +5 -5
  37. package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -1
  38. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
  39. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts +2 -2
  40. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -1
  41. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
  42. package/dist/ComponentStudio/services/component-studio-state.service.d.ts +3 -3
  43. package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -1
  44. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -1
  45. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +4 -0
  46. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
  47. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +16 -0
  48. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
  49. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts +4 -4
  50. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +1 -1
  51. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
  52. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +2 -2
  53. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  54. package/dist/DataExplorer/data-explorer-dashboard.component.js +1 -0
  55. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  56. package/dist/QueryBrowser/query-browser-resource.component.d.ts +22 -2
  57. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  58. package/dist/QueryBrowser/query-browser-resource.component.js +146 -62
  59. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  60. package/dist/Testing/services/testing-instrumentation.service.js.map +1 -1
  61. package/package.json +38 -38
@@ -4,6 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var QueryBrowserResourceComponent_1;
7
8
  import { Component, ChangeDetectionStrategy } from '@angular/core';
8
9
  import { NavigationEnd } from '@angular/router';
9
10
  import { Subject } from 'rxjs';
@@ -11,6 +12,7 @@ import { takeUntil, filter } from 'rxjs/operators';
11
12
  import { RegisterClass } from '@memberjunction/global';
12
13
  import { BaseResourceComponent } from '@memberjunction/ng-shared';
13
14
  import { Metadata, QueryCategoryInfo, CompositeKey } from '@memberjunction/core';
15
+ import { UserInfoEngine } from '@memberjunction/core-entities';
14
16
  import * as i0 from "@angular/core";
15
17
  import * as i1 from "@memberjunction/ng-shared";
16
18
  import * as i2 from "@angular/router";
@@ -20,26 +22,26 @@ import * as i5 from "@memberjunction/ng-query-viewer";
20
22
  const _c0 = a0 => ({ node: a0 });
21
23
  function QueryBrowserResourceComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
22
24
  const _r2 = i0.ɵɵgetCurrentView();
23
- i0.ɵɵelementStart(0, "button", 26);
25
+ i0.ɵɵelementStart(0, "button", 28);
24
26
  i0.ɵɵlistener("click", function QueryBrowserResourceComponent_Conditional_20_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clearSearch()); });
25
- i0.ɵɵelement(1, "i", 27);
27
+ i0.ɵɵelement(1, "i", 29);
26
28
  i0.ɵɵelementEnd();
27
29
  } }
28
30
  function QueryBrowserResourceComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
29
31
  i0.ɵɵelementStart(0, "div", 20);
30
- i0.ɵɵelement(1, "mj-loading", 28);
32
+ i0.ɵɵelement(1, "mj-loading", 30);
31
33
  i0.ɵɵelementEnd();
32
34
  } }
33
35
  function QueryBrowserResourceComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
34
36
  i0.ɵɵelementStart(0, "div", 21);
35
- i0.ɵɵelement(1, "i", 29);
37
+ i0.ɵɵelement(1, "i", 31);
36
38
  i0.ɵɵelementStart(2, "p");
37
39
  i0.ɵɵtext(3, "No queries available");
38
40
  i0.ɵɵelementEnd()();
39
41
  } }
40
42
  function QueryBrowserResourceComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
41
43
  i0.ɵɵelementStart(0, "div", 21);
42
- i0.ɵɵelement(1, "i", 30);
44
+ i0.ɵɵelement(1, "i", 32);
43
45
  i0.ɵɵelementStart(2, "p");
44
46
  i0.ɵɵtext(3);
45
47
  i0.ɵɵelementEnd()();
@@ -52,11 +54,11 @@ function QueryBrowserResourceComponent_Conditional_25_For_2_ng_container_0_Templ
52
54
  i0.ɵɵelementContainer(0);
53
55
  } }
54
56
  function QueryBrowserResourceComponent_Conditional_25_For_2_Template(rf, ctx) { if (rf & 1) {
55
- i0.ɵɵtemplate(0, QueryBrowserResourceComponent_Conditional_25_For_2_ng_container_0_Template, 1, 0, "ng-container", 31);
57
+ i0.ɵɵtemplate(0, QueryBrowserResourceComponent_Conditional_25_For_2_ng_container_0_Template, 1, 0, "ng-container", 33);
56
58
  } if (rf & 2) {
57
59
  const node_r4 = ctx.$implicit;
58
60
  i0.ɵɵnextContext(2);
59
- const categoryNode_r5 = i0.ɵɵreference(30);
61
+ const categoryNode_r5 = i0.ɵɵreference(32);
60
62
  i0.ɵɵproperty("ngTemplateOutlet", categoryNode_r5)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, node_r4));
61
63
  } }
62
64
  function QueryBrowserResourceComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
@@ -68,27 +70,27 @@ function QueryBrowserResourceComponent_Conditional_25_Template(rf, ctx) { if (rf
68
70
  i0.ɵɵadvance();
69
71
  i0.ɵɵrepeater(ctx_r2.categoryTree);
70
72
  } }
71
- function QueryBrowserResourceComponent_Conditional_27_Template(rf, ctx) { if (rf & 1) {
72
- i0.ɵɵelementStart(0, "div", 24);
73
- i0.ɵɵelement(1, "i", 32);
74
- i0.ɵɵelementStart(2, "p", 33);
73
+ function QueryBrowserResourceComponent_Conditional_29_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵelementStart(0, "div", 26);
75
+ i0.ɵɵelement(1, "i", 34);
76
+ i0.ɵɵelementStart(2, "p", 35);
75
77
  i0.ɵɵtext(3, "Select a query from the list");
76
78
  i0.ɵɵelementEnd();
77
- i0.ɵɵelementStart(4, "p", 34);
79
+ i0.ɵɵelementStart(4, "p", 36);
78
80
  i0.ɵɵtext(5, "Click on a query to view and run it");
79
81
  i0.ɵɵelementEnd()();
80
82
  } }
81
- function QueryBrowserResourceComponent_Conditional_28_Template(rf, ctx) { if (rf & 1) {
83
+ function QueryBrowserResourceComponent_Conditional_30_Template(rf, ctx) { if (rf & 1) {
82
84
  const _r6 = i0.ɵɵgetCurrentView();
83
- i0.ɵɵelementStart(0, "mj-query-viewer", 35);
84
- i0.ɵɵlistener("EntityLinkClick", function QueryBrowserResourceComponent_Conditional_28_Template_mj_query_viewer_EntityLinkClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onEntityLinkClick($event)); })("RowDoubleClick", function QueryBrowserResourceComponent_Conditional_28_Template_mj_query_viewer_RowDoubleClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onRowDoubleClick($event)); })("OpenQueryRecord", function QueryBrowserResourceComponent_Conditional_28_Template_mj_query_viewer_OpenQueryRecord_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onOpenQueryRecord($event)); });
85
+ i0.ɵɵelementStart(0, "mj-query-viewer", 37);
86
+ i0.ɵɵlistener("EntityLinkClick", function QueryBrowserResourceComponent_Conditional_30_Template_mj_query_viewer_EntityLinkClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onEntityLinkClick($event)); })("RowDoubleClick", function QueryBrowserResourceComponent_Conditional_30_Template_mj_query_viewer_RowDoubleClick_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onRowDoubleClick($event)); })("OpenQueryRecord", function QueryBrowserResourceComponent_Conditional_30_Template_mj_query_viewer_OpenQueryRecord_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onOpenQueryRecord($event)); });
85
87
  i0.ɵɵelementEnd();
86
88
  } if (rf & 2) {
87
89
  const ctx_r2 = i0.ɵɵnextContext();
88
90
  i0.ɵɵproperty("QueryId", ctx_r2.selectedQuery.ID)("AutoRun", true)("SelectionMode", "multiple");
89
91
  } }
90
- function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_8_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
91
- i0.ɵɵelementStart(0, "span", 49);
92
+ function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_8_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
93
+ i0.ɵɵelementStart(0, "span", 51);
92
94
  i0.ɵɵtext(1);
93
95
  i0.ɵɵelementEnd();
94
96
  } if (rf & 2) {
@@ -96,20 +98,20 @@ function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_
96
98
  i0.ɵɵadvance();
97
99
  i0.ɵɵtextInterpolate(query_r10.Description);
98
100
  } }
99
- function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_8_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
100
- i0.ɵɵelement(0, "i", 50);
101
+ function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_8_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
102
+ i0.ɵɵelement(0, "i", 52);
101
103
  } }
102
- function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
104
+ function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
103
105
  const _r9 = i0.ɵɵgetCurrentView();
104
- i0.ɵɵelementStart(0, "div", 45);
105
- i0.ɵɵlistener("click", function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_8_For_2_Template_div_click_0_listener($event) { const query_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.selectQuery(query_r10, $event)); });
106
- i0.ɵɵelement(1, "i", 46);
107
- i0.ɵɵelementStart(2, "div", 47)(3, "span", 48);
106
+ i0.ɵɵelementStart(0, "div", 47);
107
+ i0.ɵɵlistener("click", function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_8_For_2_Template_div_click_0_listener($event) { const query_r10 = i0.ɵɵrestoreView(_r9).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.selectQuery(query_r10, $event)); });
108
+ i0.ɵɵelement(1, "i", 48);
109
+ i0.ɵɵelementStart(2, "div", 49)(3, "span", 50);
108
110
  i0.ɵɵtext(4);
109
111
  i0.ɵɵelementEnd();
110
- i0.ɵɵconditionalCreate(5, QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_8_For_2_Conditional_5_Template, 2, 1, "span", 49);
112
+ i0.ɵɵconditionalCreate(5, QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_8_For_2_Conditional_5_Template, 2, 1, "span", 51);
111
113
  i0.ɵɵelementEnd();
112
- i0.ɵɵconditionalCreate(6, QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_8_For_2_Conditional_6_Template, 1, 0, "i", 50);
114
+ i0.ɵɵconditionalCreate(6, QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_8_For_2_Conditional_6_Template, 1, 0, "i", 52);
113
115
  i0.ɵɵelementEnd();
114
116
  } if (rf & 2) {
115
117
  const query_r10 = ctx.$implicit;
@@ -122,45 +124,45 @@ function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_
122
124
  i0.ɵɵadvance();
123
125
  i0.ɵɵconditional(query_r10.UsesTemplate ? 6 : -1);
124
126
  } }
125
- function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
126
- i0.ɵɵelementStart(0, "div", 43);
127
- i0.ɵɵrepeaterCreate(1, QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_8_For_2_Template, 7, 7, "div", 44, i0.ɵɵcomponentInstance().trackByQuery, true);
127
+ function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
128
+ i0.ɵɵelementStart(0, "div", 45);
129
+ i0.ɵɵrepeaterCreate(1, QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_8_For_2_Template, 7, 7, "div", 46, i0.ɵɵcomponentInstance().trackByQuery, true);
128
130
  i0.ɵɵelementEnd();
129
131
  } if (rf & 2) {
130
132
  const node_r8 = i0.ɵɵnextContext(2).node;
131
133
  i0.ɵɵadvance();
132
134
  i0.ɵɵrepeater(node_r8.queries);
133
135
  } }
134
- function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_9_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
136
+ function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_9_For_1_ng_container_0_Template(rf, ctx) { if (rf & 1) {
135
137
  i0.ɵɵelementContainer(0);
136
138
  } }
137
- function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_9_For_1_Template(rf, ctx) { if (rf & 1) {
138
- i0.ɵɵtemplate(0, QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_9_For_1_ng_container_0_Template, 1, 0, "ng-container", 31);
139
+ function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_9_For_1_Template(rf, ctx) { if (rf & 1) {
140
+ i0.ɵɵtemplate(0, QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_9_For_1_ng_container_0_Template, 1, 0, "ng-container", 33);
139
141
  } if (rf & 2) {
140
142
  const child_r11 = ctx.$implicit;
141
143
  i0.ɵɵnextContext(4);
142
- const categoryNode_r5 = i0.ɵɵreference(30);
144
+ const categoryNode_r5 = i0.ɵɵreference(32);
143
145
  i0.ɵɵproperty("ngTemplateOutlet", categoryNode_r5)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c0, child_r11));
144
146
  } }
145
- function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
146
- i0.ɵɵrepeaterCreate(0, QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_9_For_1_Template, 1, 4, "ng-container", null, i0.ɵɵcomponentInstance().trackByCategory, true);
147
+ function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
148
+ i0.ɵɵrepeaterCreate(0, QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_9_For_1_Template, 1, 4, "ng-container", null, i0.ɵɵcomponentInstance().trackByCategory, true);
147
149
  } if (rf & 2) {
148
150
  const node_r8 = i0.ɵɵnextContext(2).node;
149
151
  i0.ɵɵrepeater(node_r8.children);
150
152
  } }
151
- function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Template(rf, ctx) { if (rf & 1) {
153
+ function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Template(rf, ctx) { if (rf & 1) {
152
154
  const _r7 = i0.ɵɵgetCurrentView();
153
- i0.ɵɵelementStart(0, "div", 37)(1, "div", 38);
154
- i0.ɵɵlistener("click", function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r7); const node_r8 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleExpand(node_r8)); });
155
- i0.ɵɵelement(2, "i", 39)(3, "i", 40);
156
- i0.ɵɵelementStart(4, "span", 41);
155
+ i0.ɵɵelementStart(0, "div", 39)(1, "div", 40);
156
+ i0.ɵɵlistener("click", function QueryBrowserResourceComponent_ng_template_31_Conditional_0_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r7); const node_r8 = i0.ɵɵnextContext().node; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleExpand(node_r8)); });
157
+ i0.ɵɵelement(2, "i", 41)(3, "i", 42);
158
+ i0.ɵɵelementStart(4, "span", 43);
157
159
  i0.ɵɵtext(5);
158
160
  i0.ɵɵelementEnd();
159
- i0.ɵɵelementStart(6, "span", 42);
161
+ i0.ɵɵelementStart(6, "span", 44);
160
162
  i0.ɵɵtext(7);
161
163
  i0.ɵɵelementEnd()();
162
- i0.ɵɵconditionalCreate(8, QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_8_Template, 3, 0, "div", 43);
163
- i0.ɵɵconditionalCreate(9, QueryBrowserResourceComponent_ng_template_29_Conditional_0_Conditional_9_Template, 2, 0);
164
+ i0.ɵɵconditionalCreate(8, QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_8_Template, 3, 0, "div", 45);
165
+ i0.ɵɵconditionalCreate(9, QueryBrowserResourceComponent_ng_template_31_Conditional_0_Conditional_9_Template, 2, 0);
164
166
  i0.ɵɵelementEnd();
165
167
  } if (rf & 2) {
166
168
  const node_r8 = i0.ɵɵnextContext().node;
@@ -180,8 +182,8 @@ function QueryBrowserResourceComponent_ng_template_29_Conditional_0_Template(rf,
180
182
  i0.ɵɵadvance();
181
183
  i0.ɵɵconditional(node_r8.expanded ? 9 : -1);
182
184
  } }
183
- function QueryBrowserResourceComponent_ng_template_29_Template(rf, ctx) { if (rf & 1) {
184
- i0.ɵɵconditionalCreate(0, QueryBrowserResourceComponent_ng_template_29_Conditional_0_Template, 10, 14, "div", 36);
185
+ function QueryBrowserResourceComponent_ng_template_31_Template(rf, ctx) { if (rf & 1) {
186
+ i0.ɵɵconditionalCreate(0, QueryBrowserResourceComponent_ng_template_31_Conditional_0_Template, 10, 14, "div", 38);
185
187
  } if (rf & 2) {
186
188
  const node_r8 = ctx.node;
187
189
  const ctx_r2 = i0.ɵɵnextContext();
@@ -196,9 +198,16 @@ function QueryBrowserResourceComponent_ng_template_29_Template(rf, ctx) { if (rf
196
198
  * - Entity linking for clickable record IDs
197
199
  */
198
200
  let QueryBrowserResourceComponent = class QueryBrowserResourceComponent extends BaseResourceComponent {
201
+ static { QueryBrowserResourceComponent_1 = this; }
199
202
  cdr;
200
203
  navigationService;
201
204
  router;
205
+ elementRef;
206
+ zone;
207
+ static SETTINGS_KEY = 'QueryBrowser/panelWidth';
208
+ static DEFAULT_PANEL_WIDTH = 320;
209
+ static MIN_PANEL_WIDTH = 200;
210
+ static MAX_PANEL_WIDTH = 600;
202
211
  isLoading = true;
203
212
  categories = [];
204
213
  categoryTree = [];
@@ -206,18 +215,26 @@ let QueryBrowserResourceComponent = class QueryBrowserResourceComponent extends
206
215
  filteredQueries = [];
207
216
  selectedQuery = null;
208
217
  searchText = '';
218
+ PanelWidth = QueryBrowserResourceComponent_1.DEFAULT_PANEL_WIDTH;
219
+ IsResizing = false;
209
220
  metadata = new Metadata();
210
221
  destroy$ = new Subject();
211
222
  dataLoaded = false;
212
223
  skipUrlUpdate = true; // Skip URL updates during initialization
213
224
  lastNavigatedUrl = ''; // Track URL to avoid reacting to our own navigation
214
- constructor(cdr, navigationService, router) {
225
+ // Bound event handlers for resize (need references for removeEventListener)
226
+ boundOnResizeMove = this.onResizeMove.bind(this);
227
+ boundOnResizeEnd = this.onResizeEnd.bind(this);
228
+ constructor(cdr, navigationService, router, elementRef, zone) {
215
229
  super();
216
230
  this.cdr = cdr;
217
231
  this.navigationService = navigationService;
218
232
  this.router = router;
233
+ this.elementRef = elementRef;
234
+ this.zone = zone;
219
235
  }
220
236
  ngOnInit() {
237
+ this.loadSavedPanelWidth();
221
238
  this.loadData();
222
239
  // Subscribe to router NavigationEnd events for back/forward button support
223
240
  this.router.events
@@ -232,6 +249,11 @@ let QueryBrowserResourceComponent = class QueryBrowserResourceComponent extends
232
249
  ngOnDestroy() {
233
250
  this.destroy$.next();
234
251
  this.destroy$.complete();
252
+ // Ensure any pending debounced settings are flushed
253
+ UserInfoEngine.Instance.FlushPendingSettings();
254
+ // Remove resize listeners if active
255
+ document.removeEventListener('mousemove', this.boundOnResizeMove);
256
+ document.removeEventListener('mouseup', this.boundOnResizeEnd);
235
257
  }
236
258
  async GetResourceDisplayName(data) {
237
259
  return 'Queries';
@@ -242,11 +264,15 @@ let QueryBrowserResourceComponent = class QueryBrowserResourceComponent extends
242
264
  // ========================================
243
265
  // Data Loading
244
266
  // ========================================
245
- async loadData() {
267
+ async loadData(forceRefresh = false) {
246
268
  try {
247
269
  this.isLoading = true;
248
270
  this.cdr.markForCheck();
249
- // Load from metadata (already cached)
271
+ // Force re-fetch from server when explicitly refreshing
272
+ if (forceRefresh) {
273
+ await this.metadata.Refresh();
274
+ }
275
+ // Load from metadata
250
276
  this.categories = this.metadata.QueryCategories || [];
251
277
  this.queries = (this.metadata.Queries || []).filter(q => q.Status === 'Approved' && q.UserCanRun(this.metadata.CurrentUser));
252
278
  this.filteredQueries = [...this.queries];
@@ -449,7 +475,7 @@ let QueryBrowserResourceComponent = class QueryBrowserResourceComponent extends
449
475
  }
450
476
  refresh() {
451
477
  this.selectedQuery = null;
452
- this.loadData();
478
+ this.loadData(true);
453
479
  }
454
480
  trackByCategory(index, node) {
455
481
  return node.category.ID;
@@ -579,8 +605,57 @@ let QueryBrowserResourceComponent = class QueryBrowserResourceComponent extends
579
605
  }
580
606
  return false;
581
607
  }
582
- static ɵfac = function QueryBrowserResourceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryBrowserResourceComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.NavigationService), i0.ɵɵdirectiveInject(i2.Router)); };
583
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryBrowserResourceComponent, selectors: [["mj-query-browser-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 31, vars: 9, consts: [["categoryNode", ""], [1, "query-browser-container"], [1, "query-tree-panel"], [1, "tree-header"], [1, "header-title"], [1, "fa-solid", "fa-database"], [1, "query-count"], [1, "header-actions"], ["title", "Expand all", 1, "icon-btn", 3, "click"], [1, "fa-solid", "fa-folder-open"], ["title", "Collapse all", 1, "icon-btn", 3, "click"], [1, "fa-solid", "fa-folder"], ["title", "Refresh", 1, "icon-btn", 3, "click"], [1, "fa-solid", "fa-refresh"], [1, "tree-search"], [1, "search-input-wrapper"], [1, "fa-solid", "fa-search", "search-icon"], ["type", "text", "placeholder", "Search queries...", 1, "search-input", 3, "input", "value"], [1, "clear-btn"], [1, "tree-content"], [1, "loading-state"], [1, "empty-state"], [1, "category-tree"], [1, "query-viewer-panel"], [1, "no-selection"], [3, "QueryId", "AutoRun", "SelectionMode"], [1, "clear-btn", 3, "click"], [1, "fa-solid", "fa-times"], ["text", "Loading queries..."], [1, "fa-solid", "fa-database", "empty-icon"], [1, "fa-solid", "fa-search", "empty-icon"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "fa-solid", "fa-hand-pointer", "no-selection-icon"], [1, "no-selection-message"], [1, "no-selection-hint"], [3, "EntityLinkClick", "RowDoubleClick", "OpenQueryRecord", "QueryId", "AutoRun", "SelectionMode"], [1, "category-item", 3, "expanded", "padding-left"], [1, "category-item"], [1, "category-header", 3, "click"], [1, "fa-solid", "expand-icon"], [1, "fa-solid", "fa-folder", "category-icon"], [1, "category-name"], [1, "category-count"], [1, "category-queries"], [1, "query-item", 3, "selected", "hidden"], [1, "query-item", 3, "click"], [1, "fa-solid", "fa-file-code", "query-icon"], [1, "query-info"], [1, "query-name"], [1, "query-description"], ["title", "Has parameters", 1, "fa-solid", "fa-sliders", "param-icon"]], template: function QueryBrowserResourceComponent_Template(rf, ctx) { if (rf & 1) {
608
+ // ========================================
609
+ // Panel Resize
610
+ // ========================================
611
+ /**
612
+ * Load saved panel width from user settings
613
+ */
614
+ loadSavedPanelWidth() {
615
+ const saved = UserInfoEngine.Instance.GetSetting(QueryBrowserResourceComponent_1.SETTINGS_KEY);
616
+ if (saved) {
617
+ const width = parseInt(saved, 10);
618
+ if (!isNaN(width) && width >= QueryBrowserResourceComponent_1.MIN_PANEL_WIDTH && width <= QueryBrowserResourceComponent_1.MAX_PANEL_WIDTH) {
619
+ this.PanelWidth = width;
620
+ }
621
+ }
622
+ }
623
+ /**
624
+ * Start resizing the left panel via drag handle
625
+ */
626
+ onResizeStart(event) {
627
+ event.preventDefault();
628
+ this.IsResizing = true;
629
+ this.cdr.markForCheck();
630
+ // Run outside Angular zone for performance during mousemove
631
+ this.zone.runOutsideAngular(() => {
632
+ document.addEventListener('mousemove', this.boundOnResizeMove);
633
+ document.addEventListener('mouseup', this.boundOnResizeEnd);
634
+ });
635
+ }
636
+ onResizeMove(event) {
637
+ if (!this.IsResizing)
638
+ return;
639
+ const containerRect = this.elementRef.nativeElement.querySelector('.query-browser-container')?.getBoundingClientRect();
640
+ if (!containerRect)
641
+ return;
642
+ const newWidth = event.clientX - containerRect.left;
643
+ const clamped = Math.max(QueryBrowserResourceComponent_1.MIN_PANEL_WIDTH, Math.min(QueryBrowserResourceComponent_1.MAX_PANEL_WIDTH, newWidth));
644
+ this.PanelWidth = clamped;
645
+ this.zone.run(() => this.cdr.markForCheck());
646
+ }
647
+ onResizeEnd() {
648
+ if (!this.IsResizing)
649
+ return;
650
+ this.IsResizing = false;
651
+ document.removeEventListener('mousemove', this.boundOnResizeMove);
652
+ document.removeEventListener('mouseup', this.boundOnResizeEnd);
653
+ // Persist width with debouncing
654
+ UserInfoEngine.Instance.SetSettingDebounced(QueryBrowserResourceComponent_1.SETTINGS_KEY, this.PanelWidth.toString());
655
+ this.zone.run(() => this.cdr.markForCheck());
656
+ }
657
+ static ɵfac = function QueryBrowserResourceComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || QueryBrowserResourceComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.NavigationService), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
658
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: QueryBrowserResourceComponent, selectors: [["mj-query-browser-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 33, vars: 15, consts: [["categoryNode", ""], [1, "query-browser-container"], [1, "query-tree-panel"], [1, "tree-header"], [1, "header-title"], [1, "fa-solid", "fa-database"], [1, "query-count"], [1, "header-actions"], ["title", "Expand all", 1, "icon-btn", 3, "click"], [1, "fa-solid", "fa-folder-open"], ["title", "Collapse all", 1, "icon-btn", 3, "click"], [1, "fa-solid", "fa-folder"], ["title", "Refresh", 1, "icon-btn", 3, "click"], [1, "fa-solid", "fa-refresh"], [1, "tree-search"], [1, "search-input-wrapper"], [1, "fa-solid", "fa-search", "search-icon"], ["type", "text", "placeholder", "Search queries...", 1, "search-input", 3, "input", "value"], [1, "clear-btn"], [1, "tree-content"], [1, "loading-state"], [1, "empty-state"], [1, "category-tree"], [1, "resize-handle", 3, "mousedown"], [1, "resize-handle-grip"], [1, "query-viewer-panel"], [1, "no-selection"], [3, "QueryId", "AutoRun", "SelectionMode"], [1, "clear-btn", 3, "click"], [1, "fa-solid", "fa-times"], ["text", "Loading queries..."], [1, "fa-solid", "fa-database", "empty-icon"], [1, "fa-solid", "fa-search", "empty-icon"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "fa-solid", "fa-hand-pointer", "no-selection-icon"], [1, "no-selection-message"], [1, "no-selection-hint"], [3, "EntityLinkClick", "RowDoubleClick", "OpenQueryRecord", "QueryId", "AutoRun", "SelectionMode"], [1, "category-item", 3, "expanded", "padding-left"], [1, "category-item"], [1, "category-header", 3, "click"], [1, "fa-solid", "expand-icon"], [1, "fa-solid", "fa-folder", "category-icon"], [1, "category-name"], [1, "category-count"], [1, "category-queries"], [1, "query-item", 3, "selected", "hidden"], [1, "query-item", 3, "click"], [1, "fa-solid", "fa-file-code", "query-icon"], [1, "query-info"], [1, "query-name"], [1, "query-description"], ["title", "Has parameters", 1, "fa-solid", "fa-sliders", "param-icon"]], template: function QueryBrowserResourceComponent_Template(rf, ctx) { if (rf & 1) {
584
659
  const _r1 = i0.ɵɵgetCurrentView();
585
660
  i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3)(3, "div", 4);
586
661
  i0.ɵɵelement(4, "i", 5);
@@ -616,12 +691,19 @@ let QueryBrowserResourceComponent = class QueryBrowserResourceComponent extends
616
691
  i0.ɵɵconditionalCreate(25, QueryBrowserResourceComponent_Conditional_25_Template, 3, 0, "div", 22);
617
692
  i0.ɵɵelementEnd()();
618
693
  i0.ɵɵelementStart(26, "div", 23);
619
- i0.ɵɵconditionalCreate(27, QueryBrowserResourceComponent_Conditional_27_Template, 6, 0, "div", 24);
620
- i0.ɵɵconditionalCreate(28, QueryBrowserResourceComponent_Conditional_28_Template, 1, 3, "mj-query-viewer", 25);
694
+ i0.ɵɵlistener("mousedown", function QueryBrowserResourceComponent_Template_div_mousedown_26_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onResizeStart($event)); });
695
+ i0.ɵɵelement(27, "div", 24);
696
+ i0.ɵɵelementEnd();
697
+ i0.ɵɵelementStart(28, "div", 25);
698
+ i0.ɵɵconditionalCreate(29, QueryBrowserResourceComponent_Conditional_29_Template, 6, 0, "div", 26);
699
+ i0.ɵɵconditionalCreate(30, QueryBrowserResourceComponent_Conditional_30_Template, 1, 3, "mj-query-viewer", 27);
621
700
  i0.ɵɵelementEnd()();
622
- i0.ɵɵtemplate(29, QueryBrowserResourceComponent_ng_template_29_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
701
+ i0.ɵɵtemplate(31, QueryBrowserResourceComponent_ng_template_31_Template, 1, 1, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
623
702
  } if (rf & 2) {
624
- i0.ɵɵadvance(8);
703
+ i0.ɵɵclassProp("resizing", ctx.IsResizing);
704
+ i0.ɵɵadvance();
705
+ i0.ɵɵstyleProp("width", ctx.PanelWidth, "px");
706
+ i0.ɵɵadvance(7);
625
707
  i0.ɵɵtextInterpolate1("(", ctx.getTotalQueryCount(), ")");
626
708
  i0.ɵɵadvance(11);
627
709
  i0.ɵɵproperty("value", ctx.searchText);
@@ -635,19 +717,21 @@ let QueryBrowserResourceComponent = class QueryBrowserResourceComponent extends
635
717
  i0.ɵɵconditional(!ctx.isLoading && ctx.searchText && ctx.filteredQueries.length === 0 ? 24 : -1);
636
718
  i0.ɵɵadvance();
637
719
  i0.ɵɵconditional(!ctx.isLoading && ctx.queries.length > 0 ? 25 : -1);
638
- i0.ɵɵadvance(2);
639
- i0.ɵɵconditional(!ctx.selectedQuery ? 27 : -1);
640
720
  i0.ɵɵadvance();
641
- i0.ɵɵconditional(ctx.selectedQuery ? 28 : -1);
642
- } }, dependencies: [i3.NgTemplateOutlet, i4.LoadingComponent, i5.QueryViewerComponent], styles: ["\n\n\n[_nghost-%COMP%] {\n display: block;\n height: 100%;\n}\n\n.query-browser-container[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n background: #f5f5f5;\n}\n\n\n\n.query-tree-panel[_ngcontent-%COMP%] {\n width: 320px;\n min-width: 280px;\n max-width: 400px;\n background: #fff;\n border-right: 1px solid #e0e0e0;\n display: flex;\n flex-direction: column;\n}\n\n\n\n.tree-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background: linear-gradient(135deg, #5c6bc0 0%, #3949ab 100%);\n color: #fff;\n}\n\n.header-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.header-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.query-count[_ngcontent-%COMP%] {\n font-weight: 400;\n opacity: 0.8;\n font-size: 13px;\n}\n\n.header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.icon-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.icon-btn[_ngcontent-%COMP%]:hover {\n background: rgba(255, 255, 255, 0.25);\n}\n\n\n\n.tree-search[_ngcontent-%COMP%] {\n padding: 12px;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.search-input-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n width: 100%;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: #fff;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n\n.search-input-wrapper[_ngcontent-%COMP%]:focus-within {\n border-color: #5c6bc0;\n box-shadow: 0 0 0 3px rgba(92, 107, 192, 0.15);\n}\n\n.search-icon[_ngcontent-%COMP%] {\n color: #888;\n margin-left: 10px;\n font-size: 14px;\n}\n\n.search-input[_ngcontent-%COMP%] {\n flex: 1;\n border: none;\n outline: none;\n padding: 8px 10px;\n font-size: 14px;\n background: transparent;\n}\n\n.search-input[_ngcontent-%COMP%]::placeholder {\n color: #999;\n}\n\n.clear-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #888;\n cursor: pointer;\n margin-right: 4px;\n border-radius: 4px;\n}\n\n.clear-btn[_ngcontent-%COMP%]:hover {\n color: #333;\n background: #f0f0f0;\n}\n\n\n\n.tree-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n}\n\n\n\n.loading-state[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 36px;\n color: #ccc;\n margin-bottom: 12px;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n color: #666;\n font-size: 14px;\n}\n\n\n\n.category-tree[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n\n.category-item[_ngcontent-%COMP%] {\n margin-bottom: 2px;\n}\n\n.category-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n transition: background 0.15s ease;\n}\n\n.category-header[_ngcontent-%COMP%]:hover {\n background: #f0f0f0;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n color: #888;\n width: 12px;\n text-align: center;\n}\n\n.category-icon[_ngcontent-%COMP%] {\n color: #f9a825;\n font-size: 14px;\n}\n\n.category-name[_ngcontent-%COMP%] {\n flex: 1;\n font-weight: 500;\n color: #333;\n font-size: 13px;\n}\n\n.category-count[_ngcontent-%COMP%] {\n color: #888;\n font-size: 12px;\n}\n\n\n\n.category-queries[_ngcontent-%COMP%] {\n margin-left: 28px;\n}\n\n.query-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s ease;\n margin: 2px 0;\n}\n\n.query-item[_ngcontent-%COMP%]:hover {\n background: #f0f7ff;\n}\n\n.query-item.selected[_ngcontent-%COMP%] {\n background: #e3f2fd;\n border-left: 3px solid #2196f3;\n margin-left: -3px;\n}\n\n.query-item.hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n.query-icon[_ngcontent-%COMP%] {\n color: #5c6bc0;\n font-size: 14px;\n margin-top: 2px;\n}\n\n.query-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.query-name[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.query-description[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #888;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.param-icon[_ngcontent-%COMP%] {\n color: #f9a825;\n font-size: 12px;\n margin-top: 2px;\n}\n\n.query-details-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n background: transparent;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n opacity: 0;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.query-item[_ngcontent-%COMP%]:hover .query-details-btn[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.query-details-btn[_ngcontent-%COMP%]:hover {\n background: rgba(92, 107, 192, 0.15);\n color: #5c6bc0;\n}\n\n\n\n.query-viewer-panel[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n\n\n.no-selection[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px;\n}\n\n.no-selection-icon[_ngcontent-%COMP%] {\n font-size: 64px;\n color: #ddd;\n margin-bottom: 20px;\n}\n\n.no-selection-message[_ngcontent-%COMP%] {\n font-size: 18px;\n color: #666;\n margin: 0 0 8px 0;\n}\n\n.no-selection-hint[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #999;\n margin: 0;\n}\n\n\n\nmj-query-viewer[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n}\n\n\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 6px;\n}\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: #f1f1f1;\n}\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: #ccc;\n border-radius: 3px;\n}\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: #aaa;\n}\n\n\n\n@media (max-width: 768px) {\n .query-browser-container[_ngcontent-%COMP%] {\n flex-direction: column;\n }\n\n .query-tree-panel[_ngcontent-%COMP%] {\n width: 100%;\n max-width: none;\n height: 40%;\n border-right: none;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .query-viewer-panel[_ngcontent-%COMP%] {\n height: 60%;\n }\n}"], changeDetection: 0 });
721
+ i0.ɵɵclassProp("active", ctx.IsResizing);
722
+ i0.ɵɵadvance(3);
723
+ i0.ɵɵconditional(!ctx.selectedQuery ? 29 : -1);
724
+ i0.ɵɵadvance();
725
+ i0.ɵɵconditional(ctx.selectedQuery ? 30 : -1);
726
+ } }, dependencies: [i3.NgTemplateOutlet, i4.LoadingComponent, i5.QueryViewerComponent], styles: ["\n\n\n[_nghost-%COMP%] {\n display: block;\n height: 100%;\n}\n\n.query-browser-container[_ngcontent-%COMP%] {\n display: flex;\n height: 100%;\n background: #f5f5f5;\n}\n\n\n\n.query-tree-panel[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background: #fff;\n border-right: 1px solid #e0e0e0;\n display: flex;\n flex-direction: column;\n \n\n}\n\n\n\n.tree-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background: linear-gradient(135deg, #5c6bc0 0%, #3949ab 100%);\n color: #fff;\n}\n\n.header-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.header-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.query-count[_ngcontent-%COMP%] {\n font-weight: 400;\n opacity: 0.8;\n font-size: 13px;\n}\n\n.header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.icon-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.icon-btn[_ngcontent-%COMP%]:hover {\n background: rgba(255, 255, 255, 0.25);\n}\n\n\n\n.tree-search[_ngcontent-%COMP%] {\n padding: 12px;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.search-input-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n width: 100%;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: #fff;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n\n.search-input-wrapper[_ngcontent-%COMP%]:focus-within {\n border-color: #5c6bc0;\n box-shadow: 0 0 0 3px rgba(92, 107, 192, 0.15);\n}\n\n.search-icon[_ngcontent-%COMP%] {\n color: #888;\n margin-left: 10px;\n font-size: 14px;\n}\n\n.search-input[_ngcontent-%COMP%] {\n flex: 1;\n border: none;\n outline: none;\n padding: 8px 10px;\n font-size: 14px;\n background: transparent;\n}\n\n.search-input[_ngcontent-%COMP%]::placeholder {\n color: #999;\n}\n\n.clear-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #888;\n cursor: pointer;\n margin-right: 4px;\n border-radius: 4px;\n}\n\n.clear-btn[_ngcontent-%COMP%]:hover {\n color: #333;\n background: #f0f0f0;\n}\n\n\n\n.tree-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n}\n\n\n\n.loading-state[_ngcontent-%COMP%], \n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n}\n\n.empty-icon[_ngcontent-%COMP%] {\n font-size: 36px;\n color: #ccc;\n margin-bottom: 12px;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n color: #666;\n font-size: 14px;\n}\n\n\n\n.category-tree[_ngcontent-%COMP%] {\n padding: 0 4px;\n}\n\n.category-item[_ngcontent-%COMP%] {\n margin-bottom: 2px;\n}\n\n.category-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n transition: background 0.15s ease;\n}\n\n.category-header[_ngcontent-%COMP%]:hover {\n background: #f0f0f0;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n color: #888;\n width: 12px;\n text-align: center;\n}\n\n.category-icon[_ngcontent-%COMP%] {\n color: #f9a825;\n font-size: 14px;\n}\n\n.category-name[_ngcontent-%COMP%] {\n flex: 1;\n font-weight: 500;\n color: #333;\n font-size: 13px;\n}\n\n.category-count[_ngcontent-%COMP%] {\n color: #888;\n font-size: 12px;\n}\n\n\n\n.category-queries[_ngcontent-%COMP%] {\n margin-left: 28px;\n}\n\n.query-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s ease;\n margin: 2px 0;\n}\n\n.query-item[_ngcontent-%COMP%]:hover {\n background: #f0f7ff;\n}\n\n.query-item.selected[_ngcontent-%COMP%] {\n background: #e3f2fd;\n border-left: 3px solid #2196f3;\n margin-left: -3px;\n}\n\n.query-item.hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n.query-icon[_ngcontent-%COMP%] {\n color: #5c6bc0;\n font-size: 14px;\n margin-top: 2px;\n}\n\n.query-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.query-name[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.query-description[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #888;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.param-icon[_ngcontent-%COMP%] {\n color: #f9a825;\n font-size: 12px;\n margin-top: 2px;\n}\n\n.query-details-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n background: transparent;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n opacity: 0;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.query-item[_ngcontent-%COMP%]:hover .query-details-btn[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.query-details-btn[_ngcontent-%COMP%]:hover {\n background: rgba(92, 107, 192, 0.15);\n color: #5c6bc0;\n}\n\n\n\n.resize-handle[_ngcontent-%COMP%] {\n flex-shrink: 0;\n width: 6px;\n cursor: col-resize;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s ease;\n position: relative;\n z-index: 10;\n}\n\n.resize-handle[_ngcontent-%COMP%]:hover, \n.resize-handle.active[_ngcontent-%COMP%] {\n background: rgba(92, 107, 192, 0.15);\n}\n\n.resize-handle-grip[_ngcontent-%COMP%] {\n width: 2px;\n height: 32px;\n border-radius: 1px;\n background: #ccc;\n transition: background 0.15s ease;\n}\n\n.resize-handle[_ngcontent-%COMP%]:hover .resize-handle-grip[_ngcontent-%COMP%], \n.resize-handle.active[_ngcontent-%COMP%] .resize-handle-grip[_ngcontent-%COMP%] {\n background: #5c6bc0;\n}\n\n\n\n.query-browser-container.resizing[_ngcontent-%COMP%] {\n cursor: col-resize;\n user-select: none;\n}\n\n.query-browser-container.resizing[_ngcontent-%COMP%] *[_ngcontent-%COMP%] {\n pointer-events: none;\n}\n\n.query-browser-container.resizing[_ngcontent-%COMP%] .resize-handle[_ngcontent-%COMP%] {\n pointer-events: auto;\n}\n\n\n\n.query-viewer-panel[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n\n\n.no-selection[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px;\n}\n\n.no-selection-icon[_ngcontent-%COMP%] {\n font-size: 64px;\n color: #ddd;\n margin-bottom: 20px;\n}\n\n.no-selection-message[_ngcontent-%COMP%] {\n font-size: 18px;\n color: #666;\n margin: 0 0 8px 0;\n}\n\n.no-selection-hint[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #999;\n margin: 0;\n}\n\n\n\nmj-query-viewer[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n}\n\n\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 6px;\n}\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: #f1f1f1;\n}\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: #ccc;\n border-radius: 3px;\n}\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: #aaa;\n}\n\n\n\n@media (max-width: 768px) {\n .query-browser-container[_ngcontent-%COMP%] {\n flex-direction: column;\n }\n\n .query-tree-panel[_ngcontent-%COMP%] {\n width: 100% !important;\n height: 40%;\n border-right: none;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .resize-handle[_ngcontent-%COMP%] {\n display: none;\n }\n\n .query-viewer-panel[_ngcontent-%COMP%] {\n height: 60%;\n }\n}"], changeDetection: 0 });
643
727
  };
644
- QueryBrowserResourceComponent = __decorate([
728
+ QueryBrowserResourceComponent = QueryBrowserResourceComponent_1 = __decorate([
645
729
  RegisterClass(BaseResourceComponent, 'QueryBrowserResource')
646
730
  ], QueryBrowserResourceComponent);
647
731
  export { QueryBrowserResourceComponent };
648
732
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QueryBrowserResourceComponent, [{
649
733
  type: Component,
650
- args: [{ standalone: false, selector: 'mj-query-browser-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Query Browser Resource -->\n<div class=\"query-browser-container\">\n <!-- Left Panel: Query Tree -->\n <div class=\"query-tree-panel\">\n <!-- Header -->\n <div class=\"tree-header\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-database\"></i>\n <span>Queries</span>\n <span class=\"query-count\">({{ getTotalQueryCount() }})</span>\n </div>\n <div class=\"header-actions\">\n <button class=\"icon-btn\" (click)=\"expandAll()\" title=\"Expand all\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </button>\n <button class=\"icon-btn\" (click)=\"collapseAll()\" title=\"Collapse all\">\n <i class=\"fa-solid fa-folder\"></i>\n </button>\n <button class=\"icon-btn\" (click)=\"refresh()\" title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n </div>\n\n <!-- Search -->\n <div class=\"tree-search\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input type=\"text\"\n class=\"search-input\"\n [value]=\"searchText\"\n placeholder=\"Search queries...\"\n (input)=\"onSearchChange($any($event.target).value)\">\n @if (searchText) {\n <button class=\"clear-btn\" (click)=\"clearSearch()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n\n <!-- Tree Content -->\n <div class=\"tree-content\">\n <!-- Loading -->\n @if (isLoading) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading queries...\"></mj-loading>\n </div>\n }\n\n <!-- Empty -->\n @if (!isLoading && queries.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-database empty-icon\"></i>\n <p>No queries available</p>\n </div>\n }\n\n <!-- No results -->\n @if (!isLoading && searchText && filteredQueries.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-search empty-icon\"></i>\n <p>No queries match \"{{ searchText }}\"</p>\n </div>\n }\n\n <!-- Category Tree -->\n @if (!isLoading && queries.length > 0) {\n <div class=\"category-tree\">\n @for (node of categoryTree; track trackByCategory($index, node)) {\n <ng-container *ngTemplateOutlet=\"categoryNode; context: { node: node }\"></ng-container>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Right Panel: Query Viewer -->\n <div class=\"query-viewer-panel\">\n <!-- No query selected -->\n @if (!selectedQuery) {\n <div class=\"no-selection\">\n <i class=\"fa-solid fa-hand-pointer no-selection-icon\"></i>\n <p class=\"no-selection-message\">Select a query from the list</p>\n <p class=\"no-selection-hint\">Click on a query to view and run it</p>\n </div>\n }\n\n <!-- Query Viewer -->\n @if (selectedQuery) {\n <mj-query-viewer\n [QueryId]=\"selectedQuery.ID\"\n [AutoRun]=\"true\"\n [SelectionMode]=\"'multiple'\"\n (EntityLinkClick)=\"onEntityLinkClick($event)\"\n (RowDoubleClick)=\"onRowDoubleClick($event)\"\n (OpenQueryRecord)=\"onOpenQueryRecord($event)\">\n </mj-query-viewer>\n }\n </div>\n</div>\n\n<!-- Category Node Template -->\n<ng-template #categoryNode let-node=\"node\">\n @if (hasVisibleContent(node)) {\n <div class=\"category-item\"\n [class.expanded]=\"node.expanded\"\n [style.padding-left.px]=\"node.level * 16 + 8\">\n <div class=\"category-header\" (click)=\"toggleExpand(node)\">\n <i class=\"fa-solid expand-icon\"\n [class.fa-chevron-down]=\"node.expanded\"\n [class.fa-chevron-right]=\"!node.expanded\"></i>\n <i class=\"fa-solid fa-folder category-icon\"\n [class.fa-folder-open]=\"node.expanded\"></i>\n <span class=\"category-name\">{{ node.category.Name }}</span>\n <span class=\"category-count\">({{ getNodeQueryCount(node) }})</span>\n </div>\n <!-- Queries in this category -->\n @if (node.expanded) {\n <div class=\"category-queries\">\n @for (query of node.queries; track trackByQuery($index, query)) {\n <div class=\"query-item\"\n [class.selected]=\"selectedQuery?.ID === query.ID\"\n [class.hidden]=\"!isQueryVisible(query)\"\n (click)=\"selectQuery(query, $event)\">\n <i class=\"fa-solid fa-file-code query-icon\"></i>\n <div class=\"query-info\">\n <span class=\"query-name\">{{ query.Name }}</span>\n @if (query.Description) {\n <span class=\"query-description\">{{ query.Description }}</span>\n }\n </div>\n @if (query.UsesTemplate) {\n <i class=\"fa-solid fa-sliders param-icon\" title=\"Has parameters\"></i>\n }\n </div>\n }\n </div>\n }\n <!-- Child categories -->\n @if (node.expanded) {\n @for (child of node.children; track trackByCategory($index, child)) {\n <ng-container *ngTemplateOutlet=\"categoryNode; context: { node: child }\"></ng-container>\n }\n }\n </div>\n }\n</ng-template>\n", styles: ["/* Query Browser Resource Styles */\n\n:host {\n display: block;\n height: 100%;\n}\n\n.query-browser-container {\n display: flex;\n height: 100%;\n background: #f5f5f5;\n}\n\n/* Left Panel: Query Tree */\n.query-tree-panel {\n width: 320px;\n min-width: 280px;\n max-width: 400px;\n background: #fff;\n border-right: 1px solid #e0e0e0;\n display: flex;\n flex-direction: column;\n}\n\n/* Tree Header */\n.tree-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background: linear-gradient(135deg, #5c6bc0 0%, #3949ab 100%);\n color: #fff;\n}\n\n.header-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.header-title i {\n font-size: 16px;\n}\n\n.query-count {\n font-weight: 400;\n opacity: 0.8;\n font-size: 13px;\n}\n\n.header-actions {\n display: flex;\n gap: 4px;\n}\n\n.icon-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.icon-btn:hover {\n background: rgba(255, 255, 255, 0.25);\n}\n\n/* Tree Search */\n.tree-search {\n padding: 12px;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.search-input-wrapper {\n display: flex;\n align-items: center;\n width: 100%;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: #fff;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n\n.search-input-wrapper:focus-within {\n border-color: #5c6bc0;\n box-shadow: 0 0 0 3px rgba(92, 107, 192, 0.15);\n}\n\n.search-icon {\n color: #888;\n margin-left: 10px;\n font-size: 14px;\n}\n\n.search-input {\n flex: 1;\n border: none;\n outline: none;\n padding: 8px 10px;\n font-size: 14px;\n background: transparent;\n}\n\n.search-input::placeholder {\n color: #999;\n}\n\n.clear-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #888;\n cursor: pointer;\n margin-right: 4px;\n border-radius: 4px;\n}\n\n.clear-btn:hover {\n color: #333;\n background: #f0f0f0;\n}\n\n/* Tree Content */\n.tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n}\n\n/* Loading & Empty States */\n.loading-state,\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 36px;\n color: #ccc;\n margin-bottom: 12px;\n}\n\n.empty-state p {\n margin: 0;\n color: #666;\n font-size: 14px;\n}\n\n/* Category Tree */\n.category-tree {\n padding: 0 4px;\n}\n\n.category-item {\n margin-bottom: 2px;\n}\n\n.category-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n transition: background 0.15s ease;\n}\n\n.category-header:hover {\n background: #f0f0f0;\n}\n\n.expand-icon {\n font-size: 10px;\n color: #888;\n width: 12px;\n text-align: center;\n}\n\n.category-icon {\n color: #f9a825;\n font-size: 14px;\n}\n\n.category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n font-size: 13px;\n}\n\n.category-count {\n color: #888;\n font-size: 12px;\n}\n\n/* Query Items */\n.category-queries {\n margin-left: 28px;\n}\n\n.query-item {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s ease;\n margin: 2px 0;\n}\n\n.query-item:hover {\n background: #f0f7ff;\n}\n\n.query-item.selected {\n background: #e3f2fd;\n border-left: 3px solid #2196f3;\n margin-left: -3px;\n}\n\n.query-item.hidden {\n display: none;\n}\n\n.query-icon {\n color: #5c6bc0;\n font-size: 14px;\n margin-top: 2px;\n}\n\n.query-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.query-name {\n font-size: 13px;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.query-description {\n font-size: 11px;\n color: #888;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.param-icon {\n color: #f9a825;\n font-size: 12px;\n margin-top: 2px;\n}\n\n.query-details-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n background: transparent;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n opacity: 0;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.query-item:hover .query-details-btn {\n opacity: 1;\n}\n\n.query-details-btn:hover {\n background: rgba(92, 107, 192, 0.15);\n color: #5c6bc0;\n}\n\n/* Right Panel: Query Viewer */\n.query-viewer-panel {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n/* No Selection State */\n.no-selection {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px;\n}\n\n.no-selection-icon {\n font-size: 64px;\n color: #ddd;\n margin-bottom: 20px;\n}\n\n.no-selection-message {\n font-size: 18px;\n color: #666;\n margin: 0 0 8px 0;\n}\n\n.no-selection-hint {\n font-size: 14px;\n color: #999;\n margin: 0;\n}\n\n/* Query Viewer fills remaining space */\nmj-query-viewer {\n flex: 1;\n min-height: 0;\n}\n\n/* Scrollbar styling */\n.tree-content::-webkit-scrollbar {\n width: 6px;\n}\n\n.tree-content::-webkit-scrollbar-track {\n background: #f1f1f1;\n}\n\n.tree-content::-webkit-scrollbar-thumb {\n background: #ccc;\n border-radius: 3px;\n}\n\n.tree-content::-webkit-scrollbar-thumb:hover {\n background: #aaa;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n .query-browser-container {\n flex-direction: column;\n }\n\n .query-tree-panel {\n width: 100%;\n max-width: none;\n height: 40%;\n border-right: none;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .query-viewer-panel {\n height: 60%;\n }\n}\n"] }]
651
- }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.NavigationService }, { type: i2.Router }], null); })();
734
+ args: [{ standalone: false, selector: 'mj-query-browser-resource', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Query Browser Resource -->\n<div class=\"query-browser-container\" [class.resizing]=\"IsResizing\">\n <!-- Left Panel: Query Tree -->\n <div class=\"query-tree-panel\" [style.width.px]=\"PanelWidth\">\n <!-- Header -->\n <div class=\"tree-header\">\n <div class=\"header-title\">\n <i class=\"fa-solid fa-database\"></i>\n <span>Queries</span>\n <span class=\"query-count\">({{ getTotalQueryCount() }})</span>\n </div>\n <div class=\"header-actions\">\n <button class=\"icon-btn\" (click)=\"expandAll()\" title=\"Expand all\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </button>\n <button class=\"icon-btn\" (click)=\"collapseAll()\" title=\"Collapse all\">\n <i class=\"fa-solid fa-folder\"></i>\n </button>\n <button class=\"icon-btn\" (click)=\"refresh()\" title=\"Refresh\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n </div>\n </div>\n\n <!-- Search -->\n <div class=\"tree-search\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input type=\"text\"\n class=\"search-input\"\n [value]=\"searchText\"\n placeholder=\"Search queries...\"\n (input)=\"onSearchChange($any($event.target).value)\">\n @if (searchText) {\n <button class=\"clear-btn\" (click)=\"clearSearch()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n\n <!-- Tree Content -->\n <div class=\"tree-content\">\n <!-- Loading -->\n @if (isLoading) {\n <div class=\"loading-state\">\n <mj-loading text=\"Loading queries...\"></mj-loading>\n </div>\n }\n\n <!-- Empty -->\n @if (!isLoading && queries.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-database empty-icon\"></i>\n <p>No queries available</p>\n </div>\n }\n\n <!-- No results -->\n @if (!isLoading && searchText && filteredQueries.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-search empty-icon\"></i>\n <p>No queries match \"{{ searchText }}\"</p>\n </div>\n }\n\n <!-- Category Tree -->\n @if (!isLoading && queries.length > 0) {\n <div class=\"category-tree\">\n @for (node of categoryTree; track trackByCategory($index, node)) {\n <ng-container *ngTemplateOutlet=\"categoryNode; context: { node: node }\"></ng-container>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Resize Handle -->\n <div class=\"resize-handle\"\n [class.active]=\"IsResizing\"\n (mousedown)=\"onResizeStart($event)\">\n <div class=\"resize-handle-grip\"></div>\n </div>\n\n <!-- Right Panel: Query Viewer -->\n <div class=\"query-viewer-panel\">\n <!-- No query selected -->\n @if (!selectedQuery) {\n <div class=\"no-selection\">\n <i class=\"fa-solid fa-hand-pointer no-selection-icon\"></i>\n <p class=\"no-selection-message\">Select a query from the list</p>\n <p class=\"no-selection-hint\">Click on a query to view and run it</p>\n </div>\n }\n\n <!-- Query Viewer -->\n @if (selectedQuery) {\n <mj-query-viewer\n [QueryId]=\"selectedQuery.ID\"\n [AutoRun]=\"true\"\n [SelectionMode]=\"'multiple'\"\n (EntityLinkClick)=\"onEntityLinkClick($event)\"\n (RowDoubleClick)=\"onRowDoubleClick($event)\"\n (OpenQueryRecord)=\"onOpenQueryRecord($event)\">\n </mj-query-viewer>\n }\n </div>\n</div>\n\n<!-- Category Node Template -->\n<ng-template #categoryNode let-node=\"node\">\n @if (hasVisibleContent(node)) {\n <div class=\"category-item\"\n [class.expanded]=\"node.expanded\"\n [style.padding-left.px]=\"node.level * 16 + 8\">\n <div class=\"category-header\" (click)=\"toggleExpand(node)\">\n <i class=\"fa-solid expand-icon\"\n [class.fa-chevron-down]=\"node.expanded\"\n [class.fa-chevron-right]=\"!node.expanded\"></i>\n <i class=\"fa-solid fa-folder category-icon\"\n [class.fa-folder-open]=\"node.expanded\"></i>\n <span class=\"category-name\">{{ node.category.Name }}</span>\n <span class=\"category-count\">({{ getNodeQueryCount(node) }})</span>\n </div>\n <!-- Queries in this category -->\n @if (node.expanded) {\n <div class=\"category-queries\">\n @for (query of node.queries; track trackByQuery($index, query)) {\n <div class=\"query-item\"\n [class.selected]=\"selectedQuery?.ID === query.ID\"\n [class.hidden]=\"!isQueryVisible(query)\"\n (click)=\"selectQuery(query, $event)\">\n <i class=\"fa-solid fa-file-code query-icon\"></i>\n <div class=\"query-info\">\n <span class=\"query-name\">{{ query.Name }}</span>\n @if (query.Description) {\n <span class=\"query-description\">{{ query.Description }}</span>\n }\n </div>\n @if (query.UsesTemplate) {\n <i class=\"fa-solid fa-sliders param-icon\" title=\"Has parameters\"></i>\n }\n </div>\n }\n </div>\n }\n <!-- Child categories -->\n @if (node.expanded) {\n @for (child of node.children; track trackByCategory($index, child)) {\n <ng-container *ngTemplateOutlet=\"categoryNode; context: { node: child }\"></ng-container>\n }\n }\n </div>\n }\n</ng-template>\n", styles: ["/* Query Browser Resource Styles */\n\n:host {\n display: block;\n height: 100%;\n}\n\n.query-browser-container {\n display: flex;\n height: 100%;\n background: #f5f5f5;\n}\n\n/* Left Panel: Query Tree */\n.query-tree-panel {\n flex-shrink: 0;\n background: #fff;\n border-right: 1px solid #e0e0e0;\n display: flex;\n flex-direction: column;\n /* Width controlled by [style.width.px] binding */\n}\n\n/* Tree Header */\n.tree-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 16px;\n background: linear-gradient(135deg, #5c6bc0 0%, #3949ab 100%);\n color: #fff;\n}\n\n.header-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.header-title i {\n font-size: 16px;\n}\n\n.query-count {\n font-weight: 400;\n opacity: 0.8;\n font-size: 13px;\n}\n\n.header-actions {\n display: flex;\n gap: 4px;\n}\n\n.icon-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.icon-btn:hover {\n background: rgba(255, 255, 255, 0.25);\n}\n\n/* Tree Search */\n.tree-search {\n padding: 12px;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.search-input-wrapper {\n display: flex;\n align-items: center;\n width: 100%;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: #fff;\n transition: border-color 0.15s ease, box-shadow 0.15s ease;\n}\n\n.search-input-wrapper:focus-within {\n border-color: #5c6bc0;\n box-shadow: 0 0 0 3px rgba(92, 107, 192, 0.15);\n}\n\n.search-icon {\n color: #888;\n margin-left: 10px;\n font-size: 14px;\n}\n\n.search-input {\n flex: 1;\n border: none;\n outline: none;\n padding: 8px 10px;\n font-size: 14px;\n background: transparent;\n}\n\n.search-input::placeholder {\n color: #999;\n}\n\n.clear-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: #888;\n cursor: pointer;\n margin-right: 4px;\n border-radius: 4px;\n}\n\n.clear-btn:hover {\n color: #333;\n background: #f0f0f0;\n}\n\n/* Tree Content */\n.tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px 0;\n}\n\n/* Loading & Empty States */\n.loading-state,\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n}\n\n.empty-icon {\n font-size: 36px;\n color: #ccc;\n margin-bottom: 12px;\n}\n\n.empty-state p {\n margin: 0;\n color: #666;\n font-size: 14px;\n}\n\n/* Category Tree */\n.category-tree {\n padding: 0 4px;\n}\n\n.category-item {\n margin-bottom: 2px;\n}\n\n.category-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n transition: background 0.15s ease;\n}\n\n.category-header:hover {\n background: #f0f0f0;\n}\n\n.expand-icon {\n font-size: 10px;\n color: #888;\n width: 12px;\n text-align: center;\n}\n\n.category-icon {\n color: #f9a825;\n font-size: 14px;\n}\n\n.category-name {\n flex: 1;\n font-weight: 500;\n color: #333;\n font-size: 13px;\n}\n\n.category-count {\n color: #888;\n font-size: 12px;\n}\n\n/* Query Items */\n.category-queries {\n margin-left: 28px;\n}\n\n.query-item {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.15s ease;\n margin: 2px 0;\n}\n\n.query-item:hover {\n background: #f0f7ff;\n}\n\n.query-item.selected {\n background: #e3f2fd;\n border-left: 3px solid #2196f3;\n margin-left: -3px;\n}\n\n.query-item.hidden {\n display: none;\n}\n\n.query-icon {\n color: #5c6bc0;\n font-size: 14px;\n margin-top: 2px;\n}\n\n.query-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.query-name {\n font-size: 13px;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.query-description {\n font-size: 11px;\n color: #888;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.param-icon {\n color: #f9a825;\n font-size: 12px;\n margin-top: 2px;\n}\n\n.query-details-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n background: transparent;\n color: #999;\n cursor: pointer;\n border-radius: 4px;\n opacity: 0;\n transition: all 0.15s ease;\n flex-shrink: 0;\n}\n\n.query-item:hover .query-details-btn {\n opacity: 1;\n}\n\n.query-details-btn:hover {\n background: rgba(92, 107, 192, 0.15);\n color: #5c6bc0;\n}\n\n/* Resize Handle */\n.resize-handle {\n flex-shrink: 0;\n width: 6px;\n cursor: col-resize;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s ease;\n position: relative;\n z-index: 10;\n}\n\n.resize-handle:hover,\n.resize-handle.active {\n background: rgba(92, 107, 192, 0.15);\n}\n\n.resize-handle-grip {\n width: 2px;\n height: 32px;\n border-radius: 1px;\n background: #ccc;\n transition: background 0.15s ease;\n}\n\n.resize-handle:hover .resize-handle-grip,\n.resize-handle.active .resize-handle-grip {\n background: #5c6bc0;\n}\n\n/* Prevent text selection and set cursor during resize */\n.query-browser-container.resizing {\n cursor: col-resize;\n user-select: none;\n}\n\n.query-browser-container.resizing * {\n pointer-events: none;\n}\n\n.query-browser-container.resizing .resize-handle {\n pointer-events: auto;\n}\n\n/* Right Panel: Query Viewer */\n.query-viewer-panel {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n}\n\n/* No Selection State */\n.no-selection {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n padding: 40px;\n}\n\n.no-selection-icon {\n font-size: 64px;\n color: #ddd;\n margin-bottom: 20px;\n}\n\n.no-selection-message {\n font-size: 18px;\n color: #666;\n margin: 0 0 8px 0;\n}\n\n.no-selection-hint {\n font-size: 14px;\n color: #999;\n margin: 0;\n}\n\n/* Query Viewer fills remaining space */\nmj-query-viewer {\n flex: 1;\n min-height: 0;\n}\n\n/* Scrollbar styling */\n.tree-content::-webkit-scrollbar {\n width: 6px;\n}\n\n.tree-content::-webkit-scrollbar-track {\n background: #f1f1f1;\n}\n\n.tree-content::-webkit-scrollbar-thumb {\n background: #ccc;\n border-radius: 3px;\n}\n\n.tree-content::-webkit-scrollbar-thumb:hover {\n background: #aaa;\n}\n\n/* Responsive */\n@media (max-width: 768px) {\n .query-browser-container {\n flex-direction: column;\n }\n\n .query-tree-panel {\n width: 100% !important;\n height: 40%;\n border-right: none;\n border-bottom: 1px solid #e0e0e0;\n }\n\n .resize-handle {\n display: none;\n }\n\n .query-viewer-panel {\n height: 60%;\n }\n}\n"] }]
735
+ }], () => [{ type: i0.ChangeDetectorRef }, { type: i1.NavigationService }, { type: i2.Router }, { type: i0.ElementRef }, { type: i0.NgZone }], null); })();
652
736
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryBrowserResourceComponent, { className: "QueryBrowserResourceComponent", filePath: "src/QueryBrowser/query-browser-resource.component.ts", lineNumber: 40 }); })();
653
737
  //# sourceMappingURL=query-browser-resource.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-browser-resource.component.js","sourceRoot":"","sources":["../../src/QueryBrowser/query-browser-resource.component.ts","../../src/QueryBrowser/query-browser-resource.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-browser-resource.component.js","sourceRoot":"","sources":["../../src/QueryBrowser/query-browser-resource.component.ts","../../src/QueryBrowser/query-browser-resource.component.html"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,SAAS,EAAwC,uBAAuB,EAAsB,MAAM,eAAe,CAAC;AAC7H,OAAO,EAAU,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAa,iBAAiB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAgB,cAAc,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;IC2BnE,kCAAkD;IAAxB,kMAAS,oBAAa,KAAC;IAC/C,wBAAiC;IACnC,iBAAS;;;IASX,+BAA2B;IACzB,iCAAmD;IACrD,iBAAM;;;IAKN,+BAAyB;IACvB,wBAA+C;IAC/C,yBAAG;IAAA,oCAAoB;IACzB,AADyB,iBAAI,EACvB;;;IAKN,+BAAyB;IACvB,wBAA6C;IAC7C,yBAAG;IAAA,YAAmC;IACxC,AADwC,iBAAI,EACtC;;;IADD,eAAmC;IAAnC,qEAAmC;;;IAQpC,wBAAuF;;;IAAvF,sHAAwE;;;;;IAAzB,AAAhC,kDAAgC,gEAAuB;;;IAF1E,+BAA2B;IACzB,+JAEC;IACH,iBAAM;;;IAHJ,cAEC;IAFD,kCAEC;;;IAiBL,+BAA0B;IACxB,wBAA0D;IAC1D,6BAAgC;IAAA,4CAA4B;IAAA,iBAAI;IAChE,6BAA6B;IAAA,mDAAmC;IAClE,AADkE,iBAAI,EAChE;;;;IAKN,2CAMgD;IAA9C,AADA,AADA,qOAAmB,gCAAyB,KAAC,sNAC3B,+BAAwB,KAAC,wNACxB,gCAAyB,KAAC;IAC/C,iBAAkB;;;IAJhB,AADA,AADA,iDAA4B,iBACZ,6BACY;;;IAoClB,gCAAgC;IAAA,YAAuB;IAAA,iBAAO;;;IAA9B,cAAuB;IAAvB,2CAAuB;;;IAIzD,wBAAqE;;;;IAZzE,+BAGuC;IAArC,oQAAS,qCAA0B,KAAC;IACpC,wBAAgD;IAE9C,AADF,+BAAwB,eACG;IAAA,YAAgB;IAAA,iBAAO;IAChD,kJAAyB;IAG3B,iBAAM;IACN,+IAA0B;IAG5B,iBAAM;;;;IAZJ,AADA,4GAAiD,6CACV;IAIZ,eAAgB;IAAhB,oCAAgB;IACzC,cAEC;IAFD,gDAEC;IAEH,cAEC;IAFD,iDAEC;;;IAfP,+BAA8B;IAC5B,6KAgBC;IACH,iBAAM;;;IAjBJ,cAgBC;IAhBD,8BAgBC;;;IAMD,wBAAwF;;;IAAxF,kJAAyE;;;;;IAA1B,AAAhC,kDAAgC,kEAAwB;;;IADzE,2LAEC;;;IAFD,+BAEC;;;;IAnCH,AAHF,+BAEgD,cACY;IAA7B,sPAAS,4BAAkB,KAAC;IAIvD,AAHA,wBAE8C,YAEH;IAC3C,gCAA4B;IAAA,YAAwB;IAAA,iBAAO;IAC3D,gCAA6B;IAAA,YAA+B;IAC9D,AAD8D,iBAAO,EAC/D;IAEN,6HAAqB;IAsBrB,kHAAqB;IAKvB,iBAAM;;;;IAtCJ,4DAA6C;IAD7C,4CAAgC;IAI5B,eAAuC;IACzC,AADE,mDAAuC,uCACA;IAEzC,cAAsC;IAAtC,kDAAsC;IACV,eAAwB;IAAxB,2CAAwB;IACvB,eAA+B;IAA/B,kEAA+B;IAG9D,cAoBC;IApBD,2CAoBC;IAED,cAIC;IAJD,2CAIC;;;IAxCL,iHAA+B;;;;IAA/B,4DA0CC;;ADlIH;;;;;;;GAOG;AASI,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,qBAAqB;;IA2BxD;IACA;IACA;IACA;IACA;IA9BJ,MAAM,CAAU,YAAY,GAAG,yBAAyB,CAAC;IACzD,MAAM,CAAU,mBAAmB,GAAG,GAAG,CAAC;IAC1C,MAAM,CAAU,eAAe,GAAG,GAAG,CAAC;IACtC,MAAM,CAAU,eAAe,GAAG,GAAG,CAAC;IAEvC,SAAS,GAAG,IAAI,CAAC;IACjB,UAAU,GAAwB,EAAE,CAAC;IACrC,YAAY,GAAmB,EAAE,CAAC;IAClC,OAAO,GAAgB,EAAE,CAAC;IAC1B,eAAe,GAAgB,EAAE,CAAC;IAClC,aAAa,GAAqB,IAAI,CAAC;IACvC,UAAU,GAAG,EAAE,CAAC;IAChB,UAAU,GAAG,+BAA6B,CAAC,mBAAmB,CAAC;IAC/D,UAAU,GAAG,KAAK,CAAC;IAElB,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAC1B,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;IAC/B,UAAU,GAAG,KAAK,CAAC;IACnB,aAAa,GAAG,IAAI,CAAC,CAAC,yCAAyC;IAC/D,gBAAgB,GAAG,EAAE,CAAC,CAAC,oDAAoD;IAEnF,4EAA4E;IACpE,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvD,YACY,GAAsB,EACtB,iBAAoC,EACpC,MAAc,EACd,UAAsB,EACtB,IAAY;QAEpB,KAAK,EAAE,CAAC;QANA,QAAG,GAAH,GAAG,CAAmB;QACtB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAY;QACtB,SAAI,GAAJ,IAAI,CAAQ;IAGxB,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,2EAA2E;QAC3E,IAAI,CAAC,MAAM,CAAC,MAAM;aACb,IAAI,CACD,MAAM,CAAC,CAAC,KAAK,EAA0B,EAAE,CAAC,KAAK,YAAY,aAAa,CAAC,EACzE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAC3B;aACA,SAAS,CAAC,KAAK,CAAC,EAAE;YACf,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,GAAG,CAAC;YACxD,IAAI,UAAU,KAAK,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1D,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;IAED,WAAW;QACP,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,oDAAoD;QACpD,cAAc,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QAC/C,oCAAoC;QACpC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAkB;QAC3C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QACzC,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAED,2CAA2C;IAC3C,eAAe;IACf,2CAA2C;IAEnC,KAAK,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK;QACvC,IAAI,CAAC;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAExB,wDAAwD;YACxD,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;YAED,qBAAqB;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CACrE,CAAC;YAEF,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,kEAAkE;YAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChE,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;YAED,0CAA0C;YAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;IACL,CAAC;IAEO,iBAAiB;QACrB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;QAEpD,kCAAkC;QAClC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjF,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE;gBACzB,QAAQ;gBACR,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,CAAC;aACX,CAAC,CAAC;QACP,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,GAAmB,EAAE,CAAC;QACjC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAE,CAAC;YAC3C,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAClD,IAAI,MAAM,EAAE,CAAC;oBACT,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;oBAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,qBAAqB,GAAG,IAAI,iBAAiB,CAAC;gBAChD,EAAE,EAAE,mBAAmB;gBACvB,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,4BAA4B;aAC5C,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC;gBACP,QAAQ,EAAE,qBAAqB;gBAC/B,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,oBAAoB;gBAC7B,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,CAAC;aACX,CAAC,CAAC;QACP,CAAC;QAED,4BAA4B;QAC5B,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAQ,EAAE;YAC9C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1D,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC,CAAC;QACF,SAAS,CAAC,KAAK,CAAC,CAAC;QAEjB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,2CAA2C;IAC3C,SAAS;IACT,2CAA2C;IAEpC,cAAc,CAAC,KAAa;QAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC1C,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClD,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAClD,CAAC;QACN,CAAC;QAED,uCAAuC;QACvC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,SAAS,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,WAAW;QACd,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,2CAA2C;IAC3C,kBAAkB;IAClB,2CAA2C;IAEpC,YAAY,CAAC,IAAkB,EAAE,KAAa;QACjD,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,SAAS;QACZ,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAQ,EAAE;YAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,WAAW;QACd,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAQ,EAAE;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,WAAW,CAAC,KAAgB,EAAE,KAAa;QAC9C,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAEM,cAAc,CAAC,KAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IAEM,iBAAiB,CAAC,IAAkB;QACvC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAElC,8CAA8C;QAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,qDAAqD;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,2CAA2C;IAC3C,sBAAsB;IACtB,2CAA2C;IAEpC,iBAAiB,CAAC,KAAgC;QACrD,kDAAkD;QAClD,mFAAmF;QACnF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC5E,CAAC;IAEM,gBAAgB,CAAC,KAAyB;QAC7C,4CAA4C;IAChD,CAAC;IAEM,iBAAiB,CAAC,KAA6C;QAClE,wDAAwD;QACxD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IAEM,gBAAgB,CAAC,KAAgB,EAAE,KAAY;QAClD,wEAAwE;QACxE,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,+BAA+B;QAC/B,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IAED,2CAA2C;IAC3C,YAAY;IACZ,2CAA2C;IAEpC,kBAAkB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAEM,iBAAiB,CAAC,IAAkB;QACvC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEM,eAAe,CAAC,KAAa,EAAE,IAAkB;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC5B,CAAC;IAEM,YAAY,CAAC,KAAa,EAAE,KAAgB;QAC/C,OAAO,KAAK,CAAC,EAAE,CAAC;IACpB,CAAC;IAED,2CAA2C;IAC3C,eAAe;IACf,2CAA2C;IAE3C;;;OAGG;IACK,aAAa;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,OAAO,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC;IAED;;;OAGG;IACK,SAAS;QACb,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAE/B,MAAM,WAAW,GAAkC,EAAE,CAAC;QAEtD,2CAA2C;QAC3C,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC;YACzB,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACnD,CAAC;aAAM,CAAC;YACJ,WAAW,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;QAClC,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,GAAW;QACpC,kEAAkE;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAElC,6EAA6E;QAC7E,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,iDAAiD;QAC7D,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE9C,iDAAiD;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,QAAQ,EAAE,OAAO,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChE,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,mCAAmC;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,yBAAyB;QACzB,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAE5B,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,GAAW;QAClC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,OAAO,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,KAAgB;QAC3C,IAAI,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO;QAE9B,MAAM,cAAc,GAAG,CAAC,KAAqB,EAAE,gBAAwB,EAAW,EAAE;YAChF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC;oBACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,IAAI,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;oBACxE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QAEF,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,+BAA+B,CAAC,KAAqB,EAAE,gBAAwB;QACnF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACpG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,2CAA2C;IAC3C,eAAe;IACf,2CAA2C;IAE3C;;OAEG;IACK,mBAAmB;QACvB,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,+BAA6B,CAAC,YAAY,CAAC,CAAC;QAC7F,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,+BAA6B,CAAC,eAAe,IAAI,KAAK,IAAI,+BAA6B,CAAC,eAAe,EAAE,CAAC;gBACpI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,KAAiB;QAClC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAExB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE;YAC7B,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC/D,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,YAAY,CAAC,KAAiB;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE,qBAAqB,EAAE,CAAC;QACvH,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACpB,+BAA6B,CAAC,eAAe,EAC7C,IAAI,CAAC,GAAG,CAAC,+BAA6B,CAAC,eAAe,EAAE,QAAQ,CAAC,CACpE,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE/D,gCAAgC;QAChC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CACvC,+BAA6B,CAAC,YAAY,EAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAC7B,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IACjD,CAAC;uHAnhBQ,6BAA6B;6DAA7B,6BAA6B;;YCjCpC,AADF,AAFF,AAFF,8BAAmE,aAEL,aAEjC,aACG;YACxB,uBAAoC;YACpC,4BAAM;YAAA,uBAAO;YAAA,iBAAO;YACpB,+BAA0B;YAAA,YAA4B;YACxD,AADwD,iBAAO,EACzD;YAEJ,AADF,8BAA4B,iBACwC;YAAzC,iJAAS,eAAW,KAAC;YAC5C,wBAAuC;YACzC,iBAAS;YACT,mCAAsE;YAA7C,iJAAS,iBAAa,KAAC;YAC9C,yBAAkC;YACpC,iBAAS;YACT,mCAA6D;YAApC,iJAAS,aAAS,KAAC;YAC1C,yBAAmC;YAGzC,AADE,AADE,iBAAS,EACL,EACF;YAIJ,AADF,gCAAyB,eACW;YAChC,yBAA8C;YAC9C,kCAIsD;YAApD,sJAAS,uCAAyC,KAAC;YAJrD,iBAIsD;YACtD,qGAAkB;YAMtB,AADE,iBAAM,EACF;YAGN,gCAA0B;YAExB,kGAAiB;YAOjB,kGAA0C;YAQ1C,kGAAgE;YAQhE,kGAAwC;YAQ5C,AADE,iBAAM,EACF;YAGN,gCAEsC;YAApC,4JAAa,yBAAqB,KAAC;YACnC,2BAAsC;YACxC,iBAAM;YAGN,gCAAgC;YAE9B,kGAAsB;YAStB,8GAAqB;YAWzB,AADE,iBAAM,EACF;YAGN,iIAA2C;;YA7GN,0CAA6B;YAElC,cAA6B;YAA7B,6CAA6B;YAM3B,eAA4B;YAA5B,yDAA4B;YAqBpD,gBAAoB;YAApB,sCAAoB;YAGtB,cAIC;YAJD,0CAIC;YAOH,eAIC;YAJD,yCAIC;YAGD,cAKC;YALD,sEAKC;YAGD,cAKC;YALD,gGAKC;YAGD,cAMC;YAND,oEAMC;YAMH,cAA2B;YAA3B,wCAA2B;YAQ3B,eAMC;YAND,8CAMC;YAGD,cASC;YATD,6CASC;;;ADlEQ,6BAA6B;IARzC,aAAa,CAAC,qBAAqB,EAAE,sBAAsB,CAAC;GAQhD,6BAA6B,CAohBzC;;iFAphBY,6BAA6B;cAPzC,SAAS;6BACI,KAAK,YACL,2BAA2B,mBAGpB,uBAAuB,CAAC,MAAM;;kFAEtC,6BAA6B"}