@babylonjs/inspector 8.29.0-preview → 8.29.1-preview
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{captureService-wvKpBv07.js → captureService-4uUJw84S.js} +4 -2
- package/lib/{captureService-wvKpBv07.js.map → captureService-4uUJw84S.js.map} +1 -1
- package/lib/{creationToolsService-CISLGWl-.js → creationToolsService-CX79OLiq.js} +5 -2
- package/lib/creationToolsService-CX79OLiq.js.map +1 -0
- package/lib/{exportService-n5-mIhJj.js → exportService-CzzSbQnD.js} +4 -2
- package/lib/{exportService-n5-mIhJj.js.map → exportService-CzzSbQnD.js.map} +1 -1
- package/lib/{importService-B-XgHjs9.js → importService-BJFsjp8c.js} +4 -2
- package/lib/{importService-B-XgHjs9.js.map → importService-BJFsjp8c.js.map} +1 -1
- package/lib/{index-Bt4ndVv5.js → index-B29Ify1o.js} +141 -47
- package/lib/index-B29Ify1o.js.map +1 -0
- package/lib/index.d.ts +39 -5
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/package.json +5 -4
- package/lib/creationToolsService-CISLGWl-.js.map +0 -1
- package/lib/index-Bt4ndVv5.js.map +0 -1
package/lib/index.d.ts
CHANGED
|
@@ -759,6 +759,11 @@ type SidePane = Readonly<{
|
|
|
759
759
|
* Can be either "left" or "right".
|
|
760
760
|
*/
|
|
761
761
|
horizontalLocation: "left" | "right";
|
|
762
|
+
/**
|
|
763
|
+
* The vertical location of the side pane.
|
|
764
|
+
* Can be either "top" or "bottom".
|
|
765
|
+
*/
|
|
766
|
+
verticalLocation: "top" | "bottom";
|
|
762
767
|
/**
|
|
763
768
|
* An optional title for the side pane, displayed as a standardized header at the top of the pane.
|
|
764
769
|
*/
|
|
@@ -799,6 +804,7 @@ interface IShellService extends IService<typeof ShellServiceIdentity> {
|
|
|
799
804
|
addCentralContent(content: CentralContent): IDisposable$1;
|
|
800
805
|
}
|
|
801
806
|
type ToolbarMode = "full" | "compact";
|
|
807
|
+
type SidePaneMode = "both" | "right";
|
|
802
808
|
/**
|
|
803
809
|
* Options for configuring the shell service.
|
|
804
810
|
*/
|
|
@@ -826,6 +832,13 @@ type ShellServiceOptions = {
|
|
|
826
832
|
* In "compact" mode, toolbars are displayed at the top and bottom of the left and right side panes.
|
|
827
833
|
*/
|
|
828
834
|
toolbarMode?: ToolbarMode;
|
|
835
|
+
/**
|
|
836
|
+
* The mode of the side panes.
|
|
837
|
+
* Can be either "both" (default) or "right".
|
|
838
|
+
* In "both" mode, side panes can be added to both the left and right sides.
|
|
839
|
+
* In "right" mode, all left panes are moved to the upper right, and all right panes are moved to the lower right.
|
|
840
|
+
*/
|
|
841
|
+
sidePaneMode?: SidePaneMode;
|
|
829
842
|
};
|
|
830
843
|
|
|
831
844
|
declare const PropertiesServiceIdentity: unique symbol;
|
|
@@ -4031,12 +4044,13 @@ declare class VertexBuffer {
|
|
|
4031
4044
|
*/
|
|
4032
4045
|
isUpdatable(): boolean;
|
|
4033
4046
|
/**
|
|
4034
|
-
* Gets
|
|
4035
|
-
*
|
|
4047
|
+
* Gets the raw data from the underlying buffer.
|
|
4048
|
+
* Note: The data may include more than just this vertex buffer's values.
|
|
4049
|
+
* @returns the buffer data as a DataArray, or null.
|
|
4036
4050
|
*/
|
|
4037
4051
|
getData(): Nullable<DataArray>;
|
|
4038
4052
|
/**
|
|
4039
|
-
* Gets
|
|
4053
|
+
* Gets this vertex buffer's data as a float array. Float data is constructed if the vertex buffer data cannot be returned directly.
|
|
4040
4054
|
* @param totalVertices number of vertices in the buffer to take into account
|
|
4041
4055
|
* @param forceCopy defines a boolean indicating that the returned array must be cloned upon returning it
|
|
4042
4056
|
* @returns a float array containing vertex data
|
|
@@ -26075,6 +26089,8 @@ interface ObjectRendererOptions {
|
|
|
26075
26089
|
numPasses?: number;
|
|
26076
26090
|
/** True (default) to not change the aspect ratio of the scene in the RTT */
|
|
26077
26091
|
doNotChangeAspectRatio?: boolean;
|
|
26092
|
+
/** True to enable clustered lights (default: false) */
|
|
26093
|
+
enableClusteredLights?: boolean;
|
|
26078
26094
|
}
|
|
26079
26095
|
/**
|
|
26080
26096
|
* A class that renders objects to the currently bound render target.
|
|
@@ -26413,6 +26429,8 @@ interface RenderTargetTextureOptions {
|
|
|
26413
26429
|
gammaSpace?: boolean;
|
|
26414
26430
|
/** If not provided (default), a new object renderer instance will be created */
|
|
26415
26431
|
existingObjectRenderer?: ObjectRenderer;
|
|
26432
|
+
/** True to enable clustered lights (default: false) */
|
|
26433
|
+
enableClusteredLights?: boolean;
|
|
26416
26434
|
}
|
|
26417
26435
|
/**
|
|
26418
26436
|
* This Helps creating a texture that will be created from a camera in your scene.
|
|
@@ -36621,6 +36639,18 @@ declare class TargetCamera extends Camera {
|
|
|
36621
36639
|
* Speed multiplier for inverse camera panning
|
|
36622
36640
|
*/
|
|
36623
36641
|
inverseRotationSpeed: number;
|
|
36642
|
+
/**
|
|
36643
|
+
* @internal
|
|
36644
|
+
* @experimental
|
|
36645
|
+
* Can be used to change clamping behavior for inertia. Hook into onBeforeRenderObservable to change the value per-frame
|
|
36646
|
+
*/
|
|
36647
|
+
_panningEpsilon: number;
|
|
36648
|
+
/**
|
|
36649
|
+
* @internal
|
|
36650
|
+
* @experimental
|
|
36651
|
+
* Can be used to change clamping behavior for inertia. Hook into onBeforeRenderObservable to change the value per-frame
|
|
36652
|
+
*/
|
|
36653
|
+
_rotationEpsilon: number;
|
|
36624
36654
|
/**
|
|
36625
36655
|
* Define the current target of the camera as an object or a position.
|
|
36626
36656
|
* Please note that locking a target will disable panning.
|
|
@@ -45996,6 +46026,10 @@ declare class FrameGraphTextureManager {
|
|
|
45996
46026
|
* Gets or sets a boolean indicating if debug logs should be shown when applying texture allocation optimization (default: false)
|
|
45997
46027
|
*/
|
|
45998
46028
|
showDebugLogsForTextureAllcationOptimization: boolean;
|
|
46029
|
+
/** If provided (greater than 0), forces the output screen width for percentage-based textures. If not provided (0), engine.getRenderWidth() will be used */
|
|
46030
|
+
forcedOutputScreenWidth: number;
|
|
46031
|
+
/** If provided (greater than 0), forces the output screen height for percentage-based textures. If not provided (0), engine.getRenderHeight() will be used */
|
|
46032
|
+
forcedOutputScreenHeight: number;
|
|
45999
46033
|
/**
|
|
46000
46034
|
* Constructs a new instance of the texture manager
|
|
46001
46035
|
* @param engine The engine to use
|
|
@@ -58249,7 +58283,7 @@ declare class Camera extends Node {
|
|
|
58249
58283
|
/**
|
|
58250
58284
|
* Gets a ray in the forward direction from the camera.
|
|
58251
58285
|
* @param length Defines the length of the ray to create
|
|
58252
|
-
* @param transform Defines the transform to apply to the ray, by default the world matrix is used to create a
|
|
58286
|
+
* @param transform Defines the transform to apply to the ray, by default the world matrix is used to create a world space ray
|
|
58253
58287
|
* @param origin Defines the start point of the ray which defaults to the camera position
|
|
58254
58288
|
* @returns the forward ray
|
|
58255
58289
|
*/
|
|
@@ -58258,7 +58292,7 @@ declare class Camera extends Node {
|
|
|
58258
58292
|
* Gets a ray in the forward direction from the camera.
|
|
58259
58293
|
* @param refRay the ray to (re)use when setting the values
|
|
58260
58294
|
* @param length Defines the length of the ray to create
|
|
58261
|
-
* @param transform Defines the transform to apply to the ray, by default the world
|
|
58295
|
+
* @param transform Defines the transform to apply to the ray, by default the world matrix is used to create a world space ray
|
|
58262
58296
|
* @param origin Defines the start point of the ray which defaults to the camera position
|
|
58263
58297
|
* @returns the forward ray
|
|
58264
58298
|
*/
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Z as Accordion, Y as AccordionSection, h as BoundProperty, _ as Button, B as ButtonLine, aj as CalculatePrecision, $ as Checkbox, C as Collapse, a9 as Color3GradientComponent, aq as Color3GradientList, aa as Color4GradientComponent, ar as Color4GradientList, a0 as ColorPickerPopup, ab as ColorStepGradientComponent, a3 as ComboBox, K as ConstructorFactory, D as DebugServiceIdentity, a4 as DraggableLine, a5 as Dropdown, E as ExtensibleAccordion, a8 as FactorGradientComponent, ap as FactorGradientList, F as FileUploadLine, G as GetPropertyDescriptor, W as HideInspector, ac as InfoLabel, a1 as InputHexField, a2 as InputHsvField, X as Inspector, I as InterceptFunction, J as InterceptProperty, U as IsInspectorVisible, H as IsPropertyReadonly, L as LinkToEntityPropertyLine, ad as List, z as MakeDialogTeachingMoment, M as MakeLazyComponent, A as MakePopoverTeachingMoment, o as MakePropertyHook, y as MakeTeachingMoment, ae as MessageBar, a6 as NumberDropdown, as as Pane, P as PaneContainer, af as PositionedPopover, d as PropertiesServiceIdentity, a as SceneContextIdentity, e as SceneExplorerServiceIdentity, ag as SearchBar, ah as SearchBox, Q as SelectionServiceDefinition, O as SelectionServiceIdentity, R as SettingsContextIdentity, f as SettingsServiceIdentity, S as ShellServiceIdentity, V as ShowInspector, ai as SpinButton, g as StatsServiceIdentity, a7 as StringDropdown, ak as Switch, al as SyncedSliderInput, i as TeachingMoment, an as TextInput, am as Textarea, ao as ToggleButton, T as ToolsServiceIdentity, x as useAngleConverters, w as useAsyncResource, l as useColor3Property, m as useColor4Property, q as useEventfulState, p as useInterceptObservable, r as useObservableCollection, u as useObservableState, s as useOrderedObservableCollection, t as usePollingObservable, j as useProperty, n as useQuaternionProperty, v as useResource, k as useVector3Property } from './index-
|
|
1
|
+
export { Z as Accordion, Y as AccordionSection, h as BoundProperty, _ as Button, B as ButtonLine, aj as CalculatePrecision, $ as Checkbox, C as Collapse, a9 as Color3GradientComponent, aq as Color3GradientList, aa as Color4GradientComponent, ar as Color4GradientList, a0 as ColorPickerPopup, ab as ColorStepGradientComponent, a3 as ComboBox, K as ConstructorFactory, D as DebugServiceIdentity, a4 as DraggableLine, a5 as Dropdown, E as ExtensibleAccordion, a8 as FactorGradientComponent, ap as FactorGradientList, F as FileUploadLine, G as GetPropertyDescriptor, W as HideInspector, ac as InfoLabel, a1 as InputHexField, a2 as InputHsvField, X as Inspector, I as InterceptFunction, J as InterceptProperty, U as IsInspectorVisible, H as IsPropertyReadonly, L as LinkToEntityPropertyLine, ad as List, z as MakeDialogTeachingMoment, M as MakeLazyComponent, A as MakePopoverTeachingMoment, o as MakePropertyHook, y as MakeTeachingMoment, ae as MessageBar, a6 as NumberDropdown, as as Pane, P as PaneContainer, af as PositionedPopover, d as PropertiesServiceIdentity, a as SceneContextIdentity, e as SceneExplorerServiceIdentity, ag as SearchBar, ah as SearchBox, Q as SelectionServiceDefinition, O as SelectionServiceIdentity, R as SettingsContextIdentity, f as SettingsServiceIdentity, S as ShellServiceIdentity, V as ShowInspector, ai as SpinButton, g as StatsServiceIdentity, a7 as StringDropdown, ak as Switch, al as SyncedSliderInput, i as TeachingMoment, an as TextInput, am as Textarea, ao as ToggleButton, T as ToolsServiceIdentity, x as useAngleConverters, w as useAsyncResource, l as useColor3Property, m as useColor4Property, q as useEventfulState, p as useInterceptObservable, r as useObservableCollection, u as useObservableState, s as useOrderedObservableCollection, t as usePollingObservable, j as useProperty, n as useQuaternionProperty, v as useResource, k as useVector3Property } from './index-B29Ify1o.js';
|
|
2
2
|
export { Link } from '@fluentui/react-components';
|
|
3
3
|
import 'react/jsx-runtime';
|
|
4
4
|
import 'react';
|
|
@@ -11,6 +11,7 @@ import '@babylonjs/core/Misc/typeStore.js';
|
|
|
11
11
|
import 'usehooks-ts';
|
|
12
12
|
import '@babylonjs/core/Misc/asyncLock.js';
|
|
13
13
|
import '@babylonjs/core/Misc/deferred.js';
|
|
14
|
+
import '@fluentui-contrib/react-resize-handle';
|
|
14
15
|
import '@fluentui-contrib/react-virtualizer';
|
|
15
16
|
import '@babylonjs/addons/msdfText/fontAsset.js';
|
|
16
17
|
import '@babylonjs/addons/msdfText/textRenderer.js';
|
|
@@ -29,6 +30,7 @@ import '@babylonjs/core/Engines/AbstractEngine/abstractEngine.timeQuery.js';
|
|
|
29
30
|
import '@babylonjs/core/Engines/Extensions/engine.query.js';
|
|
30
31
|
import '@babylonjs/core/Engines/WebGPU/Extensions/engine.query.js';
|
|
31
32
|
import '@babylonjs/core/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js';
|
|
33
|
+
import '@babylonjs/core/Misc/PerformanceViewer/performanceViewerSceneExtension.js';
|
|
32
34
|
import '@babylonjs/core/Misc/pressureObserverWrapper.js';
|
|
33
35
|
import '@babylonjs/core/Engines/abstractEngine.js';
|
|
34
36
|
import '@babylonjs/core/Engines/engineStore.js';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@babylonjs/inspector",
|
|
3
|
-
"version": "8.29.
|
|
3
|
+
"version": "8.29.1-preview",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -20,9 +20,10 @@
|
|
|
20
20
|
"@babylonjs/loaders": "^8.0.0",
|
|
21
21
|
"@babylonjs/materials": "^8.0.0",
|
|
22
22
|
"@babylonjs/serializers": "^8.0.0",
|
|
23
|
-
"@fluentui-contrib/react-
|
|
24
|
-
"@fluentui/react-
|
|
25
|
-
"@fluentui/react-
|
|
23
|
+
"@fluentui-contrib/react-resize-handle": "^0.8.0",
|
|
24
|
+
"@fluentui-contrib/react-virtualizer": "^0.3.0",
|
|
25
|
+
"@fluentui/react-components": "^9.70.0",
|
|
26
|
+
"@fluentui/react-icons": "^2.0.310",
|
|
26
27
|
"react": "^18.2.0",
|
|
27
28
|
"react-dom": "^18.2.0",
|
|
28
29
|
"usehooks-ts": "^3.1.1"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"creationToolsService-CISLGWl-.js","sources":["../../../../../../../../dev/inspector-v2/src/services/creationToolsService.tsx"],"sourcesContent":["import type { ServiceDefinition } from \"../modularity/serviceDefinition\";\r\nimport type { ISceneContext } from \"./sceneContext\";\r\nimport type { IShellService } from \"./shellService\";\r\n\r\nimport { makeStyles, tokens, Accordion, AccordionItem, AccordionHeader, AccordionPanel, Text, Button } from \"@fluentui/react-components\";\r\nimport { ShellServiceIdentity } from \"./shellService\";\r\n\r\nimport { FormNewRegular } from \"@fluentui/react-icons\";\r\nimport { SceneContextIdentity } from \"./sceneContext\";\r\nimport { useObservableState } from \"../hooks/observableHooks\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst useStyles = makeStyles({\r\n section: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n rowGap: tokens.spacingVerticalM,\r\n },\r\n});\r\n\r\n// TODO: This is just a placeholder for a dynamically installed extension that brings in asset creation tools (node materials, etc.).\r\nexport const CreationToolsServiceDefinition: ServiceDefinition<[], [IShellService, ISceneContext]> = {\r\n friendlyName: \"Creation Tools\",\r\n consumes: [ShellServiceIdentity, SceneContextIdentity],\r\n factory: (shellService, sceneContext) => {\r\n const registration = shellService.addSidePane({\r\n key: \"Create\",\r\n title: \"Create\",\r\n icon: FormNewRegular,\r\n horizontalLocation: \"left\",\r\n content: () => {\r\n const classes = useStyles();\r\n\r\n const scene = useObservableState(() => sceneContext.currentScene, sceneContext.currentSceneObservable);\r\n // eslint-disable-next-line no-console\r\n console.log(scene);\r\n\r\n return (\r\n <>\r\n <Accordion collapsible multiple defaultOpenItems={[\"Materials\", \"Interactivity\"]}>\r\n <AccordionItem key=\"Materials\" value=\"Materials\">\r\n <AccordionHeader expandIconPosition=\"end\">\r\n <Text size={500}>Materials</Text>\r\n </AccordionHeader>\r\n <AccordionPanel>\r\n <div className={classes.section}>\r\n <Button>PBR Material</Button>\r\n <Button>Node Material</Button>\r\n </div>\r\n </AccordionPanel>\r\n </AccordionItem>\r\n <AccordionItem key=\"Interactivity\" value=\"Interactivity\">\r\n <AccordionHeader expandIconPosition=\"end\">\r\n <Text size={500}>Interactivity</Text>\r\n </AccordionHeader>\r\n <AccordionPanel>\r\n <div className={classes.section}>\r\n <Button>Flow Graph</Button>\r\n </div>\r\n </AccordionPanel>\r\n </AccordionItem>\r\n </Accordion>\r\n </>\r\n );\r\n },\r\n });\r\n\r\n return {\r\n dispose: () => registration.dispose(),\r\n };\r\n },\r\n};\r\n\r\nexport default {\r\n serviceDefinitions: [CreationToolsServiceDefinition],\r\n} as const;\r\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;AACA,MAAM,SAAS,GAAG,UAAU,CAAC;AACzB,IAAA,OAAO,EAAE;AACL,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,aAAa,EAAE,QAAQ;QACvB,MAAM,EAAE,MAAM,CAAC,gBAAgB;AAClC,KAAA;AACJ,CAAA,CAAC;AAEF;AACa,MAAA,8BAA8B,GAA0D;AACjG,IAAA,YAAY,EAAE,gBAAgB;AAC9B,IAAA,QAAQ,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;AACtD,IAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,KAAI;AACpC,QAAA,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC;AAC1C,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,kBAAkB,EAAE,MAAM;YAC1B,OAAO,EAAE,MAAK;AACV,gBAAA,MAAM,OAAO,GAAG,SAAS,EAAE;AAE3B,gBAAA,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,sBAAsB,CAAC;;AAEtG,gBAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBAElB,QACIA,0BACIC,IAAC,CAAA,SAAS,IAAC,WAAW,EAAA,IAAA,EAAC,QAAQ,EAAA,IAAA,EAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,EAC5E,QAAA,EAAA,CAAAA,IAAA,CAAC,aAAa,EAAiB,EAAA,KAAK,EAAC,WAAW,EAC5C,QAAA,EAAA,CAAAD,GAAA,CAAC,eAAe,EAAC,EAAA,kBAAkB,EAAC,KAAK,EACrC,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAC,EAAA,IAAI,EAAE,GAAG,EAAkB,QAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CACnB,EAClBA,GAAC,CAAA,cAAc,EACX,EAAA,QAAA,EAAAC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,OAAO,CAAC,OAAO,EAC3B,QAAA,EAAA,CAAAD,GAAA,CAAC,MAAM,EAAA,EAAA,QAAA,EAAA,cAAA,EAAA,CAAsB,EAC7BA,GAAC,CAAA,MAAM,EAAuB,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,CAAA,EAAA,CAC5B,EACO,CAAA,CAAA,EAAA,EATF,WAAW,CAUd,EAChBC,IAAC,CAAA,aAAa,EAAqB,EAAA,KAAK,EAAC,eAAe,EAAA,QAAA,EAAA,CACpDD,GAAC,CAAA,eAAe,EAAC,EAAA,kBAAkB,EAAC,KAAK,EAAA,QAAA,EACrCA,GAAC,CAAA,IAAI,EAAC,EAAA,IAAI,EAAE,GAAG,EAAA,QAAA,EAAA,eAAA,EAAA,CAAsB,EACvB,CAAA,EAClBA,GAAC,CAAA,cAAc,cACXA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,OAAO,CAAC,OAAO,YAC3BA,GAAC,CAAA,MAAM,EAAoB,EAAA,QAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CACzB,EACO,CAAA,CAAA,EAAA,EARF,eAAe,CASlB,CAAA,EAAA,CACR,EACb,CAAA;aAEV;AACJ,SAAA,CAAC;QAEF,OAAO;AACH,YAAA,OAAO,EAAE,MAAM,YAAY,CAAC,OAAO,EAAE;SACxC;KACJ;;AAGL,2BAAe;IACX,kBAAkB,EAAE,CAAC,8BAA8B,CAAC;CAC9C;;;;"}
|