@feltdb/core 0.8.8 → 0.9.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.
- package/dist/authority-scope.d.ts +14 -0
- package/dist/authority-scope.d.ts.map +1 -0
- package/dist/authority-scope.js +34 -0
- package/dist/create/package-versions.js +1 -1
- package/dist/create/server-source/crates/feltdb/src/lib.rs +343 -1
- package/dist/create/server-source/crates/feltdb/src/state_model.rs +15 -2
- package/dist/create/server-source/crates/feltdb-server/src/control_plane.rs +845 -0
- package/dist/create/server-source/crates/feltdb-server/src/lib.rs +1 -0
- package/dist/create/server-source/crates/feltdb-server/src/main.rs +1346 -2
- package/dist/create/server-source/crates/feltdb-server/src/principals.rs +37 -0
- package/dist/db.d.ts +10 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +46 -4
- package/dist/error-codes.d.ts +7 -1
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +20 -4
- package/dist/file-db.d.ts.map +1 -1
- package/dist/file-db.js +5 -1
- package/dist/index-core.d.ts +1 -0
- package/dist/index-core.d.ts.map +1 -1
- package/dist/index-core.js +1 -0
- package/dist/operation-admission.d.ts +5 -0
- package/dist/operation-admission.d.ts.map +1 -1
- package/dist/operation-admission.js +0 -7
- package/dist/studio/app.d.ts.map +1 -1
- package/dist/studio/components/index.js +2 -2
- package/dist/studio/{components-Duq2xQWt.js → components-CehkcX_k.js} +2355 -2355
- package/dist/studio/control-plane/Agents.d.ts +6 -0
- package/dist/studio/control-plane/Agents.d.ts.map +1 -0
- package/dist/studio/control-plane/Data.d.ts +10 -0
- package/dist/studio/control-plane/Data.d.ts.map +1 -0
- package/dist/studio/control-plane/Instance.d.ts +7 -0
- package/dist/studio/control-plane/Instance.d.ts.map +1 -0
- package/dist/studio/control-plane/Operations.d.ts +6 -0
- package/dist/studio/control-plane/Operations.d.ts.map +1 -0
- package/dist/studio/control-plane/Overview.d.ts +4 -0
- package/dist/studio/control-plane/Overview.d.ts.map +1 -0
- package/dist/studio/control-plane/Schema.d.ts +4 -0
- package/dist/studio/control-plane/Schema.d.ts.map +1 -0
- package/dist/studio/control-plane/State.d.ts +4 -0
- package/dist/studio/control-plane/State.d.ts.map +1 -0
- package/dist/studio/control-plane/context.d.ts +42 -0
- package/dist/studio/control-plane/context.d.ts.map +1 -0
- package/dist/studio/control-plane/index.d.ts +18 -0
- package/dist/studio/control-plane/index.d.ts.map +1 -0
- package/dist/studio/control-plane/index.js +2 -0
- package/dist/studio/control-plane/primitives.d.ts +70 -0
- package/dist/studio/control-plane/primitives.d.ts.map +1 -0
- package/dist/studio/control-plane-D6TT2fCQ.js +3064 -0
- package/dist/studio/index.d.ts +2 -0
- package/dist/studio/index.d.ts.map +1 -1
- package/dist/studio/index.js +326 -323
- package/dist/studio/studio.css +1 -1
- package/dist/studio/utils/control-plane-api.d.ts +442 -0
- package/dist/studio/utils/control-plane-api.d.ts.map +1 -0
- package/dist/studio/utils/control-plane-api.js +204 -0
- package/dist/studio/utils/index.d.ts +1 -0
- package/dist/studio/utils/index.d.ts.map +1 -1
- package/dist/studio/utils/index.js +13 -12
- package/dist/studio-app/assets/{feltdb_wasm-C1VhI-U5.js → feltdb_wasm-DksXDnLa.js} +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-Yy4QRHJT.wasm +0 -0
- package/dist/studio-app/assets/{index-Cd_NPw14.css → index-BrsF-kWL.css} +1 -1
- package/dist/studio-app/assets/index-CjELc-ul.js +30 -0
- package/dist/studio-app/index.html +2 -2
- package/dist/wasm/feltdb_wasm_bg.wasm +0 -0
- package/package.json +1 -1
- package/dist/studio-app/assets/feltdb_wasm_bg-C8HXbAXb.wasm +0 -0
- package/dist/studio-app/assets/index-ByHX4xDq.js +0 -29
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Agents.d.ts","sourceRoot":"","sources":["../../src/control-plane/Agents.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AA+RxC,wBAAgB,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE;IAAE,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,qBA4DlG;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export declare function DataBrowser({ focus, onFocusHandled }: {
|
|
3
|
+
focus?: {
|
|
4
|
+
collection: string;
|
|
5
|
+
id: string;
|
|
6
|
+
};
|
|
7
|
+
onFocusHandled?: () => void;
|
|
8
|
+
}): React.JSX.Element;
|
|
9
|
+
export default DataBrowser;
|
|
10
|
+
//# sourceMappingURL=Data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../src/control-plane/Data.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AA6PjD,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,qBA2NjI;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export declare function Replication(): React.JSX.Element;
|
|
3
|
+
export declare function Applications(): React.JSX.Element;
|
|
4
|
+
export declare function Monitoring(): React.JSX.Element;
|
|
5
|
+
export declare function Settings(): React.JSX.Element;
|
|
6
|
+
export declare function Developer(): React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=Instance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Instance.d.ts","sourceRoot":"","sources":["../../src/control-plane/Instance.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,WAAW,sBAuD1B;AAED,wBAAgB,YAAY,sBAyC3B;AAED,wBAAgB,UAAU,sBAmCzB;AAED,wBAAgB,QAAQ,sBA0EvB;AAED,wBAAgB,SAAS,sBA2CxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/control-plane/Operations.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAuN3D,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE;IAAE,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,qBAmC7G;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Overview.d.ts","sourceRoot":"","sources":["../../src/control-plane/Overview.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,gBAAgB,sBA0H/B;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/control-plane/Schema.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAC;AAMjD,wBAAgB,cAAc,sBAiK7B;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../src/control-plane/State.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAoOxC,wBAAgB,cAAc,sBAiI7B;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CapabilitySet, ControlPlaneApi, ControlPlaneOptions } from '../utils/control-plane-api';
|
|
3
|
+
export interface ControlPlaneContextValue {
|
|
4
|
+
api: ControlPlaneApi;
|
|
5
|
+
capabilities: CapabilitySet;
|
|
6
|
+
loading: boolean;
|
|
7
|
+
error: string;
|
|
8
|
+
applicationId: string;
|
|
9
|
+
environment: string;
|
|
10
|
+
/**
|
|
11
|
+
* Where this instance is, and the credential for it.
|
|
12
|
+
*
|
|
13
|
+
* Carried here so a screen that needs a second public client — the data
|
|
14
|
+
* browser uses the Service API's inspection routes — can construct one
|
|
15
|
+
* without reaching inside `ControlPlaneApi` for its configuration.
|
|
16
|
+
*/
|
|
17
|
+
baseUrl: string;
|
|
18
|
+
token: string;
|
|
19
|
+
reload: () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare function ControlPlaneProvider({ options, children }: {
|
|
22
|
+
options: ControlPlaneOptions;
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
}): React.JSX.Element;
|
|
25
|
+
export declare function useControlPlane(): ControlPlaneContextValue;
|
|
26
|
+
/**
|
|
27
|
+
* One asynchronous control-plane read, with its own loading and error state.
|
|
28
|
+
*
|
|
29
|
+
* Deliberately returns `undefined` rather than a placeholder while loading, so
|
|
30
|
+
* a screen cannot accidentally render invented zeroes as measurements.
|
|
31
|
+
*/
|
|
32
|
+
export declare function useControlPlaneResource<T>(load: (api: ControlPlaneApi) => Promise<T>, dependencies: unknown[], options?: {
|
|
33
|
+
enabled?: boolean;
|
|
34
|
+
refreshMs?: number;
|
|
35
|
+
subject?: string;
|
|
36
|
+
}): {
|
|
37
|
+
value: T | undefined;
|
|
38
|
+
loading: boolean;
|
|
39
|
+
error: string;
|
|
40
|
+
refresh: () => void;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/control-plane/context.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAkE,MAAM,OAAO,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,eAAe,EAA4B,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEhI,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,eAAe,CAAC;IACrB,YAAY,EAAE,aAAa,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAID,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA8BtH;AAED,wBAAgB,eAAe,IAAI,wBAAwB,CAI1D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,IAAI,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,EAC1C,YAAY,EAAE,OAAO,EAAE,EACvB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACxE;IAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CA0BhF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FeltDB Studio's control plane.
|
|
3
|
+
*
|
|
4
|
+
* One rule holds the whole surface together: every screen here reads and writes
|
|
5
|
+
* through public FeltDB routes, and renders an explicit unavailable state for
|
|
6
|
+
* anything the connected instance does not declare it can do.
|
|
7
|
+
*/
|
|
8
|
+
export { ControlPlaneProvider, useControlPlane, useControlPlaneResource } from './context';
|
|
9
|
+
export type { ControlPlaneContextValue } from './context';
|
|
10
|
+
export * from './primitives';
|
|
11
|
+
export { InstanceOverview } from './Overview';
|
|
12
|
+
export { DataBrowser } from './Data';
|
|
13
|
+
export { SchemaExplorer } from './Schema';
|
|
14
|
+
export { Agents } from './Agents';
|
|
15
|
+
export { StateWorkbench } from './State';
|
|
16
|
+
export { OperationsConsole } from './Operations';
|
|
17
|
+
export { Replication, Applications, Monitoring, Settings, Developer } from './Instance';
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/control-plane/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAC3F,YAAY,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { C as e, D as t, E as n, O as r, S as i, T as a, _ as o, a as s, b as c, c as l, d as u, f as d, g as f, h as p, i as m, l as h, m as g, n as _, o as v, p as y, r as b, s as x, t as S, u as C, v as w, w as T, x as E, y as D } from "../control-plane-D6TT2fCQ.js";
|
|
2
|
+
export { l as Agents, S as Applications, d as Capable, n as ControlPlaneProvider, C as DataBrowser, _ as Developer, y as Empty, g as Failure, p as Identity, u as InstanceOverview, f as Json, o as Loading, b as Monitoring, v as OperationsConsole, w as Page, D as PartialNotice, c as Path, m as Replication, h as SchemaExplorer, s as Settings, E as Stat, x as StateWorkbench, i as StatusPill, e as Tabs, T as Timestamp, a as Unavailable, t as useControlPlane, r as useControlPlaneResource };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CapabilityStatus, StatePath } from '../utils/control-plane-api';
|
|
3
|
+
export declare function StatusPill({ status }: {
|
|
4
|
+
status: CapabilityStatus | string;
|
|
5
|
+
}): React.JSX.Element;
|
|
6
|
+
/** A capability this instance cannot perform, shown as such. */
|
|
7
|
+
export declare function Unavailable({ capability, title }: {
|
|
8
|
+
capability: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
/**
|
|
12
|
+
* Renders a screen only when the instance declares the capability behind it.
|
|
13
|
+
*
|
|
14
|
+
* `requireFull` is for controls that need more than partial support — a bulk
|
|
15
|
+
* action, say, where "works for some inputs" is not enough to draw a button.
|
|
16
|
+
*/
|
|
17
|
+
export declare function Capable({ capability, requireFull, children }: {
|
|
18
|
+
capability: string;
|
|
19
|
+
requireFull?: boolean;
|
|
20
|
+
children: React.ReactNode;
|
|
21
|
+
}): React.JSX.Element;
|
|
22
|
+
/** A capability's own caveat, shown above a screen that works with limits. */
|
|
23
|
+
export declare function PartialNotice({ capability }: {
|
|
24
|
+
capability: string;
|
|
25
|
+
}): React.JSX.Element | null;
|
|
26
|
+
export declare function Loading({ what }: {
|
|
27
|
+
what: string;
|
|
28
|
+
}): React.JSX.Element;
|
|
29
|
+
export declare function Failure({ message, onRetry }: {
|
|
30
|
+
message: string;
|
|
31
|
+
onRetry?: () => void;
|
|
32
|
+
}): React.JSX.Element | null;
|
|
33
|
+
export declare function Empty({ children }: {
|
|
34
|
+
children: React.ReactNode;
|
|
35
|
+
}): React.JSX.Element;
|
|
36
|
+
/** A labelled figure. Renders an em dash rather than inventing a zero. */
|
|
37
|
+
export declare function Stat({ label, value, hint }: {
|
|
38
|
+
label: string;
|
|
39
|
+
value: unknown;
|
|
40
|
+
hint?: string;
|
|
41
|
+
}): React.JSX.Element;
|
|
42
|
+
export declare function Json({ value }: {
|
|
43
|
+
value: unknown;
|
|
44
|
+
}): React.JSX.Element;
|
|
45
|
+
export declare function Path({ path }: {
|
|
46
|
+
path: StatePath;
|
|
47
|
+
}): React.JSX.Element;
|
|
48
|
+
export declare function Timestamp({ ms }: {
|
|
49
|
+
ms?: number | null;
|
|
50
|
+
}): React.JSX.Element;
|
|
51
|
+
/** Shortens an identity for a table cell without hiding that it was shortened. */
|
|
52
|
+
export declare function Identity({ value, length }: {
|
|
53
|
+
value?: string | null;
|
|
54
|
+
length?: number;
|
|
55
|
+
}): React.JSX.Element;
|
|
56
|
+
export declare function Tabs<T extends string>({ tabs, active, onSelect }: {
|
|
57
|
+
tabs: Array<{
|
|
58
|
+
id: T;
|
|
59
|
+
label: string;
|
|
60
|
+
}>;
|
|
61
|
+
active: T;
|
|
62
|
+
onSelect: (id: T) => void;
|
|
63
|
+
}): React.JSX.Element;
|
|
64
|
+
export declare function Page({ eyebrow, title, description, children }: {
|
|
65
|
+
eyebrow: string;
|
|
66
|
+
title: string;
|
|
67
|
+
description?: string;
|
|
68
|
+
children: React.ReactNode;
|
|
69
|
+
}): React.JSX.Element;
|
|
70
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/control-plane/primitives.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAmB,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEpG,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAA;CAAE,qBAE3E;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,qBAUxF;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAKtI;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,4BAInE;AAED,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,qBAEjD;AAED,wBAAgB,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,4BAQtF;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAEhE;AAED,0EAA0E;AAC1E,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,qBAQ5F;AAED,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,qBAEjD;AAED,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,qBAEjD;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,qBAIvD;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAW,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,qBAG1F;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;IAAE,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC;IAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAA;CAAE,qBAUjJ;AAED,wBAAgB,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAWlJ"}
|