@finos/legend-lego 2.0.148 → 2.0.150

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.
@@ -0,0 +1,411 @@
1
+ /**
2
+ * Copyright (c) 2025-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import {} from '@finos/legend-art';
17
+ import { CORE_PURE_PATH, ELEMENT_PATH_DELIMITER } from '@finos/legend-graph';
18
+ import { ActionState, filterByType, FuzzySearchAdvancedConfigState, FuzzySearchEngine, guaranteeNonNullable, } from '@finos/legend-shared';
19
+ import { action, computed, makeObservable, observable } from 'mobx';
20
+ import { AssociationDocumentationEntry, ClassDocumentationEntry, EnumerationDocumentationEntry, ModelDocumentationEntry, } from './ModelDocumentationAnalysis.js';
21
+ export var ModelsDocumentationFilterTreeNodeCheckType;
22
+ (function (ModelsDocumentationFilterTreeNodeCheckType) {
23
+ ModelsDocumentationFilterTreeNodeCheckType[ModelsDocumentationFilterTreeNodeCheckType["CHECKED"] = 0] = "CHECKED";
24
+ ModelsDocumentationFilterTreeNodeCheckType[ModelsDocumentationFilterTreeNodeCheckType["UNCHECKED"] = 1] = "UNCHECKED";
25
+ ModelsDocumentationFilterTreeNodeCheckType[ModelsDocumentationFilterTreeNodeCheckType["PARTIALLY_CHECKED"] = 2] = "PARTIALLY_CHECKED";
26
+ })(ModelsDocumentationFilterTreeNodeCheckType || (ModelsDocumentationFilterTreeNodeCheckType = {}));
27
+ export class ModelsDocumentationFilterTreeNodeData {
28
+ id;
29
+ label;
30
+ parentNode;
31
+ isOpen = false;
32
+ childrenIds = [];
33
+ childrenNodes = [];
34
+ // By default all nodes are checked
35
+ checkType = ModelsDocumentationFilterTreeNodeCheckType.CHECKED;
36
+ constructor(id, label, parentNode) {
37
+ makeObservable(this, {
38
+ isOpen: observable,
39
+ checkType: observable,
40
+ setIsOpen: action,
41
+ setCheckType: action,
42
+ });
43
+ this.id = id;
44
+ this.label = label;
45
+ this.parentNode = parentNode;
46
+ }
47
+ setIsOpen(val) {
48
+ this.isOpen = val;
49
+ }
50
+ setCheckType(val) {
51
+ this.checkType = val;
52
+ }
53
+ }
54
+ export class ModelsDocumentationFilterTreeRootNodeData extends ModelsDocumentationFilterTreeNodeData {
55
+ }
56
+ export class ModelsDocumentationFilterTreePackageNodeData extends ModelsDocumentationFilterTreeNodeData {
57
+ packagePath;
58
+ constructor(id, label, parentNode, packagePath) {
59
+ super(id, label, parentNode);
60
+ this.packagePath = packagePath;
61
+ }
62
+ }
63
+ export class ModelsDocumentationFilterTreeElementNodeData extends ModelsDocumentationFilterTreeNodeData {
64
+ elementPath;
65
+ typePath;
66
+ constructor(id, label, parentNode, elementPath, typePath) {
67
+ super(id, label, parentNode);
68
+ this.elementPath = elementPath;
69
+ this.typePath = typePath;
70
+ }
71
+ }
72
+ export class ModelsDocumentationFilterTreeTypeNodeData extends ModelsDocumentationFilterTreeNodeData {
73
+ typePath;
74
+ constructor(id, label, parentNode, typePath) {
75
+ super(id, label, parentNode);
76
+ this.typePath = typePath;
77
+ }
78
+ }
79
+ export const trickleDownUncheckNodeChildren = (node) => {
80
+ node.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.UNCHECKED);
81
+ node.childrenNodes.forEach((childNode) => trickleDownUncheckNodeChildren(childNode));
82
+ };
83
+ export const trickleUpUncheckNode = (node) => {
84
+ const parentNode = node.parentNode;
85
+ if (!parentNode) {
86
+ return;
87
+ }
88
+ if (parentNode.childrenNodes.some((childNode) => childNode.checkType ===
89
+ ModelsDocumentationFilterTreeNodeCheckType.CHECKED)) {
90
+ parentNode.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.PARTIALLY_CHECKED);
91
+ }
92
+ else {
93
+ parentNode.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.UNCHECKED);
94
+ }
95
+ trickleUpUncheckNode(parentNode);
96
+ };
97
+ export const uncheckFilterTreeNode = (node) => {
98
+ trickleDownUncheckNodeChildren(node);
99
+ trickleUpUncheckNode(node);
100
+ };
101
+ export const trickleDownCheckNode = (node) => {
102
+ node.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.CHECKED);
103
+ node.childrenNodes.forEach((childNode) => trickleDownCheckNode(childNode));
104
+ };
105
+ export const trickleUpCheckNode = (node) => {
106
+ const parentNode = node.parentNode;
107
+ if (!parentNode) {
108
+ return;
109
+ }
110
+ if (parentNode.childrenNodes.every((childNode) => childNode.checkType ===
111
+ ModelsDocumentationFilterTreeNodeCheckType.CHECKED)) {
112
+ parentNode.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.CHECKED);
113
+ }
114
+ else {
115
+ parentNode.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.PARTIALLY_CHECKED);
116
+ }
117
+ trickleUpCheckNode(parentNode);
118
+ };
119
+ export const checkFilterTreeNode = (node) => {
120
+ trickleDownCheckNode(node);
121
+ trickleUpCheckNode(node);
122
+ };
123
+ export const uncheckAllFilterTree = (treeData) => {
124
+ treeData.nodes.forEach((node) => node.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.UNCHECKED));
125
+ };
126
+ export const buildTypeFilterTreeData = () => {
127
+ const rootIds = [];
128
+ const nodes = new Map();
129
+ // all node
130
+ const allNode = new ModelsDocumentationFilterTreeRootNodeData('all', 'All Types', undefined);
131
+ rootIds.push(allNode.id);
132
+ allNode.setIsOpen(true); // open the root node by default
133
+ nodes.set(allNode.id, allNode);
134
+ // type nodes
135
+ const classNode = new ModelsDocumentationFilterTreeTypeNodeData('class', 'Class', allNode, CORE_PURE_PATH.CLASS);
136
+ allNode.childrenIds.push(classNode.id);
137
+ nodes.set(classNode.id, classNode);
138
+ const enumerationNode = new ModelsDocumentationFilterTreeTypeNodeData('enumeration', 'Enumeration', allNode, CORE_PURE_PATH.ENUMERATION);
139
+ allNode.childrenIds.push(enumerationNode.id);
140
+ nodes.set(enumerationNode.id, enumerationNode);
141
+ const associationNode = new ModelsDocumentationFilterTreeTypeNodeData('association', 'Association', allNode, CORE_PURE_PATH.ASSOCIATION);
142
+ allNode.childrenIds.push(associationNode.id);
143
+ nodes.set(associationNode.id, associationNode);
144
+ allNode.childrenNodes = [classNode, enumerationNode, associationNode];
145
+ return {
146
+ rootIds,
147
+ nodes,
148
+ };
149
+ };
150
+ export const buildPackageFilterTreeData = (modelDocEntries) => {
151
+ const rootIds = [];
152
+ const nodes = new Map();
153
+ // all node
154
+ const allNode = new ModelsDocumentationFilterTreeRootNodeData('all', 'All Packages', undefined);
155
+ rootIds.push(allNode.id);
156
+ allNode.setIsOpen(true); // open the root node by default
157
+ nodes.set(allNode.id, allNode);
158
+ modelDocEntries.forEach((entry) => {
159
+ const path = entry.path;
160
+ const chunks = path.split(ELEMENT_PATH_DELIMITER);
161
+ let currentParentNode = allNode;
162
+ for (let i = 0; i < chunks.length; i++) {
163
+ const chunk = guaranteeNonNullable(chunks[i]);
164
+ const elementPath = `${currentParentNode === allNode
165
+ ? ''
166
+ : `${currentParentNode.id}${ELEMENT_PATH_DELIMITER}`}${chunk}`;
167
+ const nodeId = elementPath;
168
+ let node = nodes.get(nodeId);
169
+ if (!node) {
170
+ if (i === chunks.length - 1) {
171
+ node = new ModelsDocumentationFilterTreeElementNodeData(nodeId, chunk, currentParentNode, elementPath, entry instanceof ClassDocumentationEntry
172
+ ? CORE_PURE_PATH.CLASS
173
+ : entry instanceof EnumerationDocumentationEntry
174
+ ? CORE_PURE_PATH.ENUMERATION
175
+ : entry instanceof AssociationDocumentationEntry
176
+ ? CORE_PURE_PATH.ASSOCIATION
177
+ : undefined);
178
+ }
179
+ else {
180
+ node = new ModelsDocumentationFilterTreePackageNodeData(nodeId, chunk, currentParentNode, elementPath);
181
+ }
182
+ nodes.set(nodeId, node);
183
+ currentParentNode.childrenIds.push(nodeId);
184
+ currentParentNode.childrenNodes.push(node);
185
+ }
186
+ currentParentNode = node;
187
+ }
188
+ });
189
+ return {
190
+ rootIds,
191
+ nodes,
192
+ };
193
+ };
194
+ export class ViewerModelsDocumentationState {
195
+ showHumanizedForm = true;
196
+ searchInput;
197
+ searchEngine;
198
+ searchConfigurationState;
199
+ searchState = ActionState.create();
200
+ elementDocs;
201
+ searchText;
202
+ searchResults = [];
203
+ showSearchConfigurationMenu = false;
204
+ packageFilterTreeData;
205
+ constructor(elementDocs) {
206
+ makeObservable(this, {
207
+ showHumanizedForm: observable,
208
+ searchText: observable,
209
+ // NOTE: we use `observable.struct` for these to avoid unnecessary re-rendering of the grid
210
+ searchResults: observable.struct,
211
+ filterTypes: observable.struct,
212
+ filterPaths: observable.struct,
213
+ showSearchConfigurationMenu: observable,
214
+ showFilterPanel: observable,
215
+ typeFilterTreeData: observable.ref,
216
+ packageFilterTreeData: observable.ref,
217
+ filteredSearchResults: computed,
218
+ isTypeFilterCustomized: computed,
219
+ isPackageFilterCustomized: computed,
220
+ isFilterCustomized: computed,
221
+ setShowHumanizedForm: action,
222
+ setSearchText: action,
223
+ resetSearch: action,
224
+ search: action,
225
+ setShowSearchConfigurationMenu: action,
226
+ setShowFilterPanel: action,
227
+ resetPackageFilterTreeData: action,
228
+ resetTypeFilterTreeData: action,
229
+ updateTypeFilter: action,
230
+ updatePackageFilter: action,
231
+ resetTypeFilter: action,
232
+ resetPackageFilter: action,
233
+ resetAllFilters: action,
234
+ });
235
+ this.searchConfigurationState = new FuzzySearchAdvancedConfigState(() => this.search());
236
+ this.elementDocs = elementDocs;
237
+ this.searchText = '';
238
+ this.typeFilterTreeData = buildTypeFilterTreeData();
239
+ this.updateTypeFilter();
240
+ this.packageFilterTreeData = buildPackageFilterTreeData(this.elementDocs
241
+ .map((entry) => entry.entry)
242
+ .filter(filterByType(ModelDocumentationEntry)));
243
+ this.searchResults = elementDocs;
244
+ this.updatePackageFilter();
245
+ this.searchEngine = new FuzzySearchEngine(elementDocs, {
246
+ includeScore: true,
247
+ // NOTE: we must not sort/change the order in the grid since
248
+ // we want to ensure the element row is on top
249
+ shouldSort: false,
250
+ // Ignore location when computing the search score
251
+ // See https://fusejs.io/concepts/scoring-theory.html
252
+ ignoreLocation: true,
253
+ // This specifies the point the search gives up
254
+ // `0.0` means exact match where `1.0` would match anything
255
+ // We set a relatively low threshold to filter out irrelevant results
256
+ threshold: 0.2,
257
+ keys: [
258
+ {
259
+ name: 'text',
260
+ weight: 3,
261
+ },
262
+ {
263
+ name: 'humanizedText',
264
+ weight: 3,
265
+ },
266
+ {
267
+ name: 'elementEntry.name',
268
+ weight: 3,
269
+ },
270
+ {
271
+ name: 'elementEntry.humanizedName',
272
+ weight: 3,
273
+ },
274
+ {
275
+ name: 'entry.name',
276
+ weight: 2,
277
+ },
278
+ {
279
+ name: 'entry.humanizedName',
280
+ weight: 2,
281
+ },
282
+ {
283
+ name: 'documentation',
284
+ weight: 4,
285
+ },
286
+ ],
287
+ // extended search allows for exact word match through single quote
288
+ // See https://fusejs.io/examples.html#extended-search
289
+ useExtendedSearch: true,
290
+ });
291
+ }
292
+ get isFilterCustomized() {
293
+ return this.isTypeFilterCustomized || this.isPackageFilterCustomized;
294
+ }
295
+ get isPackageFilterCustomized() {
296
+ return Array.from(this.packageFilterTreeData.nodes.values()).some((node) => node.checkType === ModelsDocumentationFilterTreeNodeCheckType.UNCHECKED);
297
+ }
298
+ get filteredSearchResults() {
299
+ return this.searchResults
300
+ .filter((result) => (this.filterTypes.includes(CORE_PURE_PATH.CLASS) &&
301
+ result.elementEntry instanceof ClassDocumentationEntry) ||
302
+ (this.filterTypes.includes(CORE_PURE_PATH.ENUMERATION) &&
303
+ result.elementEntry instanceof EnumerationDocumentationEntry) ||
304
+ (this.filterTypes.includes(CORE_PURE_PATH.ASSOCIATION) &&
305
+ result.elementEntry instanceof AssociationDocumentationEntry))
306
+ .filter((result) => this.filterPaths.includes(result.elementEntry.path));
307
+ }
308
+ get isTypeFilterCustomized() {
309
+ return Array.from(this.typeFilterTreeData.nodes.values()).some((node) => node.checkType === ModelsDocumentationFilterTreeNodeCheckType.UNCHECKED);
310
+ }
311
+ resetAllFilters() {
312
+ this.resetTypeFilter();
313
+ this.resetPackageFilter();
314
+ }
315
+ resetSearch() {
316
+ this.searchText = '';
317
+ this.searchResults = this.elementDocs;
318
+ this.searchState.complete();
319
+ }
320
+ search() {
321
+ if (!this.searchText) {
322
+ this.searchResults = this.elementDocs;
323
+ return;
324
+ }
325
+ this.searchState.inProgress();
326
+ this.searchResults = this.performSearch(this.searchConfigurationState.generateSearchText(this.searchText));
327
+ this.searchState.complete();
328
+ }
329
+ showFilterPanel = true;
330
+ typeFilterTreeData;
331
+ filterTypes = [];
332
+ filterPaths = [];
333
+ resetPackageFilterTreeData() {
334
+ this.packageFilterTreeData = { ...this.packageFilterTreeData };
335
+ }
336
+ hasClassDocumentation(classPath) {
337
+ return this.elementDocs.some((entry) => entry.elementEntry.path === classPath);
338
+ }
339
+ viewClassDocumentation(classPath) {
340
+ if (this.hasClassDocumentation(classPath)) {
341
+ const classNode = this.packageFilterTreeData.nodes.get(classPath);
342
+ if (classNode) {
343
+ uncheckAllFilterTree(this.packageFilterTreeData);
344
+ trickleDownCheckNode(classNode);
345
+ trickleUpCheckNode(classNode);
346
+ classNode.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.CHECKED);
347
+ this.resetSearch();
348
+ this.updatePackageFilter();
349
+ }
350
+ }
351
+ }
352
+ updatePackageFilter() {
353
+ const elementPaths = [];
354
+ this.packageFilterTreeData.nodes.forEach((node) => {
355
+ if (node instanceof ModelsDocumentationFilterTreeElementNodeData &&
356
+ node.checkType === ModelsDocumentationFilterTreeNodeCheckType.CHECKED) {
357
+ elementPaths.push(node.elementPath);
358
+ }
359
+ });
360
+ this.filterPaths = elementPaths.toSorted((a, b) => a.localeCompare(b));
361
+ }
362
+ resetPackageFilter() {
363
+ this.packageFilterTreeData.nodes.forEach((node) => node.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.CHECKED));
364
+ this.updatePackageFilter();
365
+ this.resetPackageFilterTreeData();
366
+ }
367
+ performSearch(searchText) {
368
+ return Array.from(this.searchEngine.search(searchText).values()).map((result) => result.item);
369
+ }
370
+ setShowHumanizedForm(val) {
371
+ this.showHumanizedForm = val;
372
+ }
373
+ setSearchText(val) {
374
+ this.searchText = val;
375
+ }
376
+ setShowSearchConfigurationMenu(val) {
377
+ this.showSearchConfigurationMenu = val;
378
+ }
379
+ setShowFilterPanel(val) {
380
+ this.showFilterPanel = val;
381
+ }
382
+ resetTypeFilterTreeData() {
383
+ this.typeFilterTreeData = { ...this.typeFilterTreeData };
384
+ }
385
+ updateTypeFilter() {
386
+ const types = [];
387
+ this.typeFilterTreeData.nodes.forEach((node) => {
388
+ if (node instanceof ModelsDocumentationFilterTreeTypeNodeData &&
389
+ node.checkType === ModelsDocumentationFilterTreeNodeCheckType.CHECKED) {
390
+ types.push(node.typePath);
391
+ }
392
+ });
393
+ // NOTE: sort to avoid unnecessary re-computation of filtered search results
394
+ this.filterTypes = types.toSorted((a, b) => a.localeCompare(b));
395
+ }
396
+ resetTypeFilter() {
397
+ this.typeFilterTreeData.nodes.forEach((node) => node.setCheckType(ModelsDocumentationFilterTreeNodeCheckType.CHECKED));
398
+ this.updateTypeFilter();
399
+ this.resetTypeFilterTreeData();
400
+ }
401
+ setSearchInput(el) {
402
+ this.searchInput = el;
403
+ }
404
+ focusSearchInput() {
405
+ this.searchInput?.focus();
406
+ }
407
+ selectSearchInput() {
408
+ this.searchInput?.select();
409
+ }
410
+ }
411
+ //# sourceMappingURL=ModelDocumentationState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelDocumentationState.js","sourceRoot":"","sources":["../../src/model-documentation/ModelDocumentationState.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright (c) 2025-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { type NormalizedDocumentationEntry } from './ModelDocumentationAnalysis.js';
17
+ import { type DataGridCellRendererParams } from '../data-grid/DataGrid.js';
18
+ import { type GenericLegendApplicationStore } from '@finos/legend-application';
19
+ import { type ModelsDocumentationFilterTreeNodeData, type ViewerModelsDocumentationState } from './ModelDocumentationState.js';
20
+ export declare const getMilestoningLabel: (val: string | undefined) => string | undefined;
21
+ export declare const ElementContentCellRenderer: ((params: DataGridCellRendererParams<NormalizedDocumentationEntry> & {
22
+ modelsDocumentationState: ViewerModelsDocumentationState;
23
+ }) => import("react/jsx-runtime").JSX.Element | null) & {
24
+ displayName: string;
25
+ };
26
+ export declare const SubElementDocContentCellRenderer: ((params: DataGridCellRendererParams<NormalizedDocumentationEntry> & {
27
+ modelsDocumentationState: ViewerModelsDocumentationState;
28
+ }) => import("react/jsx-runtime").JSX.Element | null) & {
29
+ displayName: string;
30
+ };
31
+ export declare const ElementDocumentationCellRenderer: (params: DataGridCellRendererParams<NormalizedDocumentationEntry> & {}) => React.ReactNode;
32
+ export declare const ModelsDocumentationGridPanel: ((props: {
33
+ modelsDocumentationState: ViewerModelsDocumentationState;
34
+ applicationStore: GenericLegendApplicationStore;
35
+ }) => import("react/jsx-runtime").JSX.Element) & {
36
+ displayName: string;
37
+ };
38
+ export declare const getFilterTreeNodeIcon: (node: ModelsDocumentationFilterTreeNodeData) => React.ReactNode | undefined;
39
+ export declare const ModelsDocumentation: ((props: {
40
+ modelsDocumentationState: ViewerModelsDocumentationState;
41
+ applicationStore: GenericLegendApplicationStore;
42
+ }) => import("react/jsx-runtime").JSX.Element) & {
43
+ displayName: string;
44
+ };
45
+ //# sourceMappingURL=ModelDocumentationViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelDocumentationViewer.d.ts","sourceRoot":"","sources":["../../src/model-documentation/ModelDocumentationViewer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmCH,OAAO,EACL,KAAK,4BAA4B,EAOlC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,KAAK,qCAAqC,EAC1C,KAAK,8BAA8B,EASpC,MAAM,8BAA8B,CAAC;AAItC,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,GAAG,SAAS,KACtB,MAAM,GAAG,SAWX,CAAC;AA8IF,eAAO,MAAM,0BAA0B,YAE3B,0BAA0B,CAAC,4BAA4B,CAAC,GAAG;IACjE,wBAAwB,EAAE,8BAA8B,CAAC;CAC1D;;CA2JJ,CAAC;AAEF,eAAO,MAAM,gCAAgC,YAEjC,0BAA0B,CAAC,4BAA4B,CAAC,GAAG;IACjE,wBAAwB,EAAE,8BAA8B,CAAC;CAC1D;;CAyHJ,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,QAAQ,0BAA0B,CAAC,4BAA4B,CAAC,GAAG,EAAE,KACpE,KAAK,CAAC,SAYR,CAAC;AAEF,eAAO,MAAM,4BAA4B,WAC/B;IACN,wBAAwB,EAAE,8BAA8B,CAAC;IACzD,gBAAgB,EAAE,6BAA6B,CAAC;CACjD;;CAsEF,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,MAAM,qCAAqC,KAC1C,KAAK,CAAC,SAAS,GAAG,SAoDpB,CAAC;AAoYF,eAAO,MAAM,mBAAmB,WACtB;IACN,wBAAwB,EAAE,8BAA8B,CAAC;IACzD,gBAAgB,EAAE,6BAA6B,CAAC;CACjD;;CAyEF,CAAC"}