@mcp-use/client 0.0.0-bootstrap.0 → 2.0.0-beta.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 (121) hide show
  1. package/README.md +127 -4
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/auth/browser.d.ts +149 -0
  4. package/dist/auth/browser.d.ts.map +1 -0
  5. package/dist/auth/callback.d.ts +9 -0
  6. package/dist/auth/callback.d.ts.map +1 -0
  7. package/dist/auth/flow.d.ts +23 -0
  8. package/dist/auth/flow.d.ts.map +1 -0
  9. package/dist/auth/node.d.ts +100 -0
  10. package/dist/auth/node.d.ts.map +1 -0
  11. package/dist/auth/popup.d.ts +67 -0
  12. package/dist/auth/popup.d.ts.map +1 -0
  13. package/dist/auth/session-store.d.ts +114 -0
  14. package/dist/auth/session-store.d.ts.map +1 -0
  15. package/dist/auth/storage-file.d.ts +18 -0
  16. package/dist/auth/storage-file.d.ts.map +1 -0
  17. package/dist/auth/storage.d.ts +25 -0
  18. package/dist/auth/storage.d.ts.map +1 -0
  19. package/dist/auth/url.d.ts +17 -0
  20. package/dist/auth/url.d.ts.map +1 -0
  21. package/dist/code-mode/connector.d.ts +27 -0
  22. package/dist/code-mode/connector.d.ts.map +1 -0
  23. package/dist/code-mode/executor-e2b.d.ts +46 -0
  24. package/dist/code-mode/executor-e2b.d.ts.map +1 -0
  25. package/dist/code-mode/executor-vm.d.ts +39 -0
  26. package/dist/code-mode/executor-vm.d.ts.map +1 -0
  27. package/dist/code-mode/executor.d.ts +66 -0
  28. package/dist/code-mode/executor.d.ts.map +1 -0
  29. package/dist/core/base.d.ts +418 -0
  30. package/dist/core/base.d.ts.map +1 -0
  31. package/dist/core/browser.d.ts +20 -0
  32. package/dist/core/browser.d.ts.map +1 -0
  33. package/dist/core/config.d.ts +149 -0
  34. package/dist/core/config.d.ts.map +1 -0
  35. package/dist/core/node.d.ts +441 -0
  36. package/dist/core/node.d.ts.map +1 -0
  37. package/dist/core/session.d.ts +683 -0
  38. package/dist/core/session.d.ts.map +1 -0
  39. package/dist/index-browser.d.ts +25 -0
  40. package/dist/index-browser.d.ts.map +1 -0
  41. package/dist/index-browser.js +4150 -0
  42. package/dist/index-browser.js.map +1 -0
  43. package/dist/index.d.ts +23 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +5598 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/react/McpClientProvider.d.ts +242 -0
  48. package/dist/react/McpClientProvider.d.ts.map +1 -0
  49. package/dist/react/index.d.ts +33 -0
  50. package/dist/react/index.d.ts.map +1 -0
  51. package/dist/react/index.js +7922 -0
  52. package/dist/react/index.js.map +1 -0
  53. package/dist/react/rpc-logger.d.ts +42 -0
  54. package/dist/react/rpc-logger.d.ts.map +1 -0
  55. package/dist/react/storage.d.ts +51 -0
  56. package/dist/react/storage.d.ts.map +1 -0
  57. package/dist/react/types.d.ts +596 -0
  58. package/dist/react/types.d.ts.map +1 -0
  59. package/dist/react/useMcp-helpers.d.ts +99 -0
  60. package/dist/react/useMcp-helpers.d.ts.map +1 -0
  61. package/dist/react/useMcp-operations.d.ts +156 -0
  62. package/dist/react/useMcp-operations.d.ts.map +1 -0
  63. package/dist/react/useMcp.d.ts +48 -0
  64. package/dist/react/useMcp.d.ts.map +1 -0
  65. package/dist/react/useMcpServerQueues.d.ts +376 -0
  66. package/dist/react/useMcpServerQueues.d.ts.map +1 -0
  67. package/dist/react/view/ViewRenderer.d.ts +12 -0
  68. package/dist/react/view/ViewRenderer.d.ts.map +1 -0
  69. package/dist/react/view/ext-apps-bridge.d.ts +3 -0
  70. package/dist/react/view/ext-apps-bridge.d.ts.map +1 -0
  71. package/dist/react/view/parse-custom-props.d.ts +2 -0
  72. package/dist/react/view/parse-custom-props.d.ts.map +1 -0
  73. package/dist/react/view/resolve-view-resource.d.ts +12 -0
  74. package/dist/react/view/resolve-view-resource.d.ts.map +1 -0
  75. package/dist/react/view/sandbox-blob-url.d.ts +25 -0
  76. package/dist/react/view/sandbox-blob-url.d.ts.map +1 -0
  77. package/dist/react/view/types.d.ts +97 -0
  78. package/dist/react/view/types.d.ts.map +1 -0
  79. package/dist/react/view/use-display-mode.d.ts +18 -0
  80. package/dist/react/view/use-display-mode.d.ts.map +1 -0
  81. package/dist/react/view/view-detection.d.ts +4 -0
  82. package/dist/react/view/view-detection.d.ts.map +1 -0
  83. package/dist/telemetry/client-telemetry.d.ts +13 -0
  84. package/dist/telemetry/client-telemetry.d.ts.map +1 -0
  85. package/dist/telemetry/configure-browser.d.ts +2 -0
  86. package/dist/telemetry/configure-browser.d.ts.map +1 -0
  87. package/dist/telemetry/configure-node.d.ts +2 -0
  88. package/dist/telemetry/configure-node.d.ts.map +1 -0
  89. package/dist/telemetry/connector-telemetry.d.ts +8 -0
  90. package/dist/telemetry/connector-telemetry.d.ts.map +1 -0
  91. package/dist/telemetry/events.d.ts +91 -0
  92. package/dist/telemetry/events.d.ts.map +1 -0
  93. package/dist/telemetry/index.d.ts +3 -0
  94. package/dist/telemetry/index.d.ts.map +1 -0
  95. package/dist/telemetry/tel-fetch.d.ts +25 -0
  96. package/dist/telemetry/tel-fetch.d.ts.map +1 -0
  97. package/dist/telemetry/telemetry-browser.d.ts +6 -0
  98. package/dist/telemetry/telemetry-browser.d.ts.map +1 -0
  99. package/dist/telemetry/telemetry-node.d.ts +8 -0
  100. package/dist/telemetry/telemetry-node.d.ts.map +1 -0
  101. package/dist/telemetry/telemetry.d.ts +79 -0
  102. package/dist/telemetry/telemetry.d.ts.map +1 -0
  103. package/dist/transport/base.d.ts +505 -0
  104. package/dist/transport/base.d.ts.map +1 -0
  105. package/dist/transport/connection-manager.d.ts +55 -0
  106. package/dist/transport/connection-manager.d.ts.map +1 -0
  107. package/dist/transport/http.d.ts +74 -0
  108. package/dist/transport/http.d.ts.map +1 -0
  109. package/dist/transport/stdio.d.ts +48 -0
  110. package/dist/transport/stdio.d.ts.map +1 -0
  111. package/dist/utils/elicitation.d.ts +52 -0
  112. package/dist/utils/elicitation.d.ts.map +1 -0
  113. package/dist/utils/favicon.d.ts +6 -0
  114. package/dist/utils/favicon.d.ts.map +1 -0
  115. package/dist/utils/json-schema-validator.d.ts +13 -0
  116. package/dist/utils/json-schema-validator.d.ts.map +1 -0
  117. package/dist/utils/logging.d.ts +32 -0
  118. package/dist/utils/logging.d.ts.map +1 -0
  119. package/dist/utils/version.d.ts +3 -0
  120. package/dist/utils/version.d.ts.map +1 -0
  121. package/package.json +77 -8
@@ -0,0 +1,99 @@
1
+ import { BrowserOAuthClientProvider } from "../auth/browser.js";
2
+ import type { OAuthClientInformation } from "@modelcontextprotocol/client";
3
+ import type { MCPServerInfo } from "../core/session.js";
4
+ export declare const USE_MCP_SERVER_NAME = "inspector-server";
5
+ /** Asserts that a condition is true, throwing an error if not. */
6
+ export declare function assert(condition: unknown, message: string): asserts condition;
7
+ type ServerInfoWithIcon = MCPServerInfo & {
8
+ icon?: string;
9
+ };
10
+ type AddLog = (level: "debug" | "info" | "warn" | "error", message: string, ...args: unknown[]) => void;
11
+ /** Resolve a server-provided icon, then fall back to domain favicon discovery. */
12
+ export declare function loadServerIcon(params: {
13
+ serverInfo: MCPServerInfo;
14
+ url?: string;
15
+ isMounted: () => boolean;
16
+ setServerInfo: (update: (previous?: ServerInfoWithIcon) => ServerInfoWithIcon | undefined) => void;
17
+ addLog: AddLog;
18
+ }): Promise<string | null>;
19
+ /** Human-readable reason when MCP operations run before the client is usable. */
20
+ export declare function formatMcpNotReadyReason(state: string, hasClient: boolean): string;
21
+ type OAuthClientConfig = {
22
+ name?: string;
23
+ version?: string;
24
+ uri?: string;
25
+ logo_uri?: string;
26
+ };
27
+ export declare function deriveOAuthClientConfigFromClientInfo(clientInfo: {
28
+ name: string;
29
+ title?: string;
30
+ version: string;
31
+ description?: string;
32
+ icons?: Array<{
33
+ src: string;
34
+ mimeType?: string;
35
+ sizes?: string[];
36
+ }>;
37
+ websiteUrl?: string;
38
+ }): OAuthClientConfig;
39
+ export declare function isOAuthDiscoveryFailure(error: Error | unknown): boolean;
40
+ /**
41
+ * Derive the companion OAuth proxy endpoint from an MCP proxy endpoint.
42
+ *
43
+ * The Inspector proxy convention is `/proxy` for MCP traffic and `/oauth` for
44
+ * OAuth metadata/token requests. An explicit OAuth URL always takes priority.
45
+ */
46
+ export declare function deriveOAuthProxyUrl(gatewayUrl: string | undefined, explicitOAuthProxyUrl: string | undefined): string | undefined;
47
+ export declare function createBrowserOAuthProvider(params: {
48
+ effectiveOAuthUrl: string;
49
+ storageKeyPrefix: string;
50
+ oauthClientConfig: OAuthClientConfig;
51
+ callbackUrl: string;
52
+ preventAutoAuth: boolean;
53
+ useRedirectFlow: boolean;
54
+ /** MCP proxy URL used to derive the companion OAuth proxy when needed. */
55
+ gatewayUrl?: string;
56
+ /**
57
+ * Explicit OAuth proxy base URL. Takes precedence over the URL derived from
58
+ * `gatewayUrl`. Lets consumers proxy OAuth traffic (CORS bypass) while
59
+ * keeping MCP traffic direct.
60
+ */
61
+ oauthProxyUrl?: string;
62
+ onPopupWindow?: (url: string, features: string, window: globalThis.Window | null) => void;
63
+ /**
64
+ * Whether the provider should route OAuth requests through the derived
65
+ * OAuth proxy (to bypass CORS). The provider exposes this via its scoped
66
+ * `getProxyFetch()` — it never patches the global `fetch`.
67
+ */
68
+ proxyOAuthRequests: boolean;
69
+ staticClientInfo?: OAuthClientInformation;
70
+ clientMetadataUrl?: string;
71
+ scope?: string;
72
+ }): {
73
+ provider: BrowserOAuthClientProvider;
74
+ oauthProxyUrl?: string;
75
+ };
76
+ type LogLevel = "debug" | "info" | "warn" | "error";
77
+ export declare function startConnectionHealthMonitoring(params: {
78
+ gatewayUrl?: string;
79
+ url?: string;
80
+ allHeaders?: Record<string, string>;
81
+ getAuthHeaders?: () => Promise<Record<string, string>>;
82
+ isMountedRef: {
83
+ current: boolean;
84
+ };
85
+ stateRef: {
86
+ current: string;
87
+ };
88
+ autoReconnectRef: {
89
+ current: boolean | number | Record<string, unknown>;
90
+ };
91
+ setState: (state: "discovering") => void;
92
+ addLog: (level: LogLevel, message: string, ...args: unknown[]) => void;
93
+ connect: () => void;
94
+ defaultReconnectDelay: number;
95
+ healthCheckIntervalMs?: number;
96
+ healthCheckTimeoutMs?: number;
97
+ }): () => void;
98
+ export {};
99
+ //# sourceMappingURL=useMcp-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMcp-helpers.d.ts","sourceRoot":"","sources":["../../src/react/useMcp-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ import type { CompleteRequestParams, CompleteResult, Prompt, Resource, ResourceTemplateType as ResourceTemplate, Tool } from "@modelcontextprotocol/client";
2
+ import { type Dispatch, type RefObject, type SetStateAction } from "react";
3
+ import type { MCPConnection } from "../core/session.js";
4
+ import type { UseMcpResult } from "./types.js";
5
+ type AddLog = (level: UseMcpResult["log"][number]["level"], message: string, ...args: unknown[]) => void;
6
+ type Params = {
7
+ stateRef: RefObject<UseMcpResult["state"]>;
8
+ connectionRef: RefObject<MCPConnection | null>;
9
+ hasClient: () => boolean;
10
+ isMounted: () => boolean;
11
+ setTools: Dispatch<SetStateAction<Tool[]>>;
12
+ setResources: Dispatch<SetStateAction<Resource[]>>;
13
+ setResourceTemplates: Dispatch<SetStateAction<ResourceTemplate[]>>;
14
+ setPrompts: Dispatch<SetStateAction<Prompt[]>>;
15
+ addLog: AddLog;
16
+ };
17
+ export declare function useMcpOperations(params: Params): {
18
+ callTool: (name: string, args?: Record<string, unknown>, options?: {
19
+ timeout?: number;
20
+ maxTotalTimeout?: number;
21
+ resetTimeoutOnProgress?: boolean;
22
+ signal?: AbortSignal;
23
+ }) => Promise<any>;
24
+ listResources: () => Promise<void>;
25
+ readResource: (uri: string) => Promise<{
26
+ [x: string]: unknown;
27
+ contents: ({
28
+ uri: string;
29
+ text: string;
30
+ mimeType?: string | undefined;
31
+ _meta?: {
32
+ [x: string]: unknown;
33
+ } | undefined;
34
+ } | {
35
+ uri: string;
36
+ blob: string;
37
+ mimeType?: string | undefined;
38
+ _meta?: {
39
+ [x: string]: unknown;
40
+ } | undefined;
41
+ })[];
42
+ _meta?: {
43
+ [x: string]: unknown;
44
+ progressToken?: string | number | undefined;
45
+ "io.modelcontextprotocol/related-task"?: {
46
+ taskId: string;
47
+ } | undefined;
48
+ } | undefined;
49
+ }>;
50
+ listPrompts: () => Promise<void>;
51
+ refreshTools: () => Promise<void>;
52
+ refreshResources: () => Promise<void>;
53
+ refreshPrompts: () => Promise<void>;
54
+ refreshResourceTemplates: () => Promise<void>;
55
+ refreshAll: () => Promise<undefined>;
56
+ getPrompt: (name: string, args?: Record<string, unknown>) => Promise<{
57
+ [x: string]: unknown;
58
+ messages: {
59
+ role: "user" | "assistant";
60
+ content: {
61
+ type: "text";
62
+ text: string;
63
+ annotations?: {
64
+ audience?: ("user" | "assistant")[] | undefined;
65
+ priority?: number | undefined;
66
+ lastModified?: string | undefined;
67
+ } | undefined;
68
+ _meta?: {
69
+ [x: string]: unknown;
70
+ } | undefined;
71
+ } | {
72
+ type: "image";
73
+ data: string;
74
+ mimeType: string;
75
+ annotations?: {
76
+ audience?: ("user" | "assistant")[] | undefined;
77
+ priority?: number | undefined;
78
+ lastModified?: string | undefined;
79
+ } | undefined;
80
+ _meta?: {
81
+ [x: string]: unknown;
82
+ } | undefined;
83
+ } | {
84
+ type: "audio";
85
+ data: string;
86
+ mimeType: string;
87
+ annotations?: {
88
+ audience?: ("user" | "assistant")[] | undefined;
89
+ priority?: number | undefined;
90
+ lastModified?: string | undefined;
91
+ } | undefined;
92
+ _meta?: {
93
+ [x: string]: unknown;
94
+ } | undefined;
95
+ } | {
96
+ uri: string;
97
+ name: string;
98
+ type: "resource_link";
99
+ description?: string | undefined;
100
+ mimeType?: string | undefined;
101
+ size?: number | undefined;
102
+ annotations?: {
103
+ audience?: ("user" | "assistant")[] | undefined;
104
+ priority?: number | undefined;
105
+ lastModified?: string | undefined;
106
+ } | undefined;
107
+ _meta?: {
108
+ [x: string]: unknown;
109
+ } | undefined;
110
+ icons?: {
111
+ src: string;
112
+ mimeType?: string | undefined;
113
+ sizes?: string[] | undefined;
114
+ theme?: "light" | "dark" | undefined;
115
+ }[] | undefined;
116
+ title?: string | undefined;
117
+ } | {
118
+ type: "resource";
119
+ resource: {
120
+ uri: string;
121
+ text: string;
122
+ mimeType?: string | undefined;
123
+ _meta?: {
124
+ [x: string]: unknown;
125
+ } | undefined;
126
+ } | {
127
+ uri: string;
128
+ blob: string;
129
+ mimeType?: string | undefined;
130
+ _meta?: {
131
+ [x: string]: unknown;
132
+ } | undefined;
133
+ };
134
+ annotations?: {
135
+ audience?: ("user" | "assistant")[] | undefined;
136
+ priority?: number | undefined;
137
+ lastModified?: string | undefined;
138
+ } | undefined;
139
+ _meta?: {
140
+ [x: string]: unknown;
141
+ } | undefined;
142
+ };
143
+ }[];
144
+ _meta?: {
145
+ [x: string]: unknown;
146
+ progressToken?: string | number | undefined;
147
+ "io.modelcontextprotocol/related-task"?: {
148
+ taskId: string;
149
+ } | undefined;
150
+ } | undefined;
151
+ description?: string | undefined;
152
+ }>;
153
+ complete: (request: CompleteRequestParams) => Promise<CompleteResult>;
154
+ };
155
+ export {};
156
+ //# sourceMappingURL=useMcp-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMcp-operations.d.ts","sourceRoot":"","sources":["../../src/react/useMcp-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,MAAM,EACN,QAAQ,EACR,oBAAoB,IAAI,gBAAgB,EACxC,IAAI,EACL,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,MAAM,GAAG,CACZ,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAC3C,OAAO,EAAE,MAAM,EACf,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,IAAI,CAAC;AAEV,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,aAAa,EAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC/C,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3C,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACnD,oBAAoB,EAAE,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IACnE,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAmBF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM;;eAsJwsW,CAAC;uBAA6G,CAAC;8BAA+H,CAAC;cAAsE,CAAC;;;wBA7G7hX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAkFL,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAQnC,qBAAqB,KAAG,OAAO,CAAC,cAAc,CAAC;EAkBlE"}
@@ -0,0 +1,48 @@
1
+ import type { UseMcpOptions, UseMcpResult } from "./types.js";
2
+ type UseMcpInternalOptions = UseMcpOptions & {
3
+ _initialServerInfo?: {
4
+ name?: string;
5
+ version?: string;
6
+ title?: string;
7
+ websiteUrl?: string;
8
+ icons?: Array<{
9
+ src: string;
10
+ mimeType?: string;
11
+ }>;
12
+ icon?: string;
13
+ };
14
+ };
15
+ /**
16
+ * React hook for connecting to and interacting with MCP servers
17
+ *
18
+ * Provides a complete interface for MCP server connections including:
19
+ * - Automatic connection management with reconnection
20
+ * - OAuth authentication with automatic token refresh
21
+ * - Tool, resource, and prompt access
22
+ * - AI chat functionality with conversation memory
23
+ * - Streamable HTTP transport
24
+ *
25
+ * @param options - Configuration options for the MCP connection
26
+ * @returns MCP connection state and methods
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const mcp = useMcp({
31
+ * url: 'http://localhost:3000/mcp',
32
+ * headers: { Authorization: 'Bearer YOUR_API_KEY' }
33
+ * })
34
+ *
35
+ * // Wait for connection
36
+ * useEffect(() => {
37
+ * if (mcp.state === 'ready') {
38
+ * console.log('Connected!', mcp.tools)
39
+ * }
40
+ * }, [mcp.state])
41
+ *
42
+ * // Call a tool
43
+ * const result = await mcp.callTool('send-email', { to: 'user@example.com' })
44
+ * ```
45
+ */
46
+ export declare function useMcp(options: UseMcpInternalOptions): UseMcpResult;
47
+ export {};
48
+ //# sourceMappingURL=useMcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMcp.d.ts","sourceRoot":"","sources":["../../src/react/useMcp.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAmC9D,KAAK,qBAAqB,GAAG,aAAa,GAAG;IAC3C,kBAAkB,CAAC,EAAE;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClD,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,YAAY,CA01DnE"}