integrate-sdk 0.7.2 → 0.7.3
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/adapters/auto-routes.js +2 -2
- package/dist/adapters/base-handler.js +2 -2
- package/dist/adapters/nextjs.js +2 -2
- package/dist/adapters/node.js +2 -2
- package/dist/adapters/solid-start.js +2 -2
- package/dist/adapters/svelte-kit.js +2 -2
- package/dist/index.js +26 -19
- package/dist/oauth.js +2 -2
- package/dist/server.js +26 -19
- package/dist/src/server.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -138,7 +138,7 @@ class OAuthHandler {
|
|
|
138
138
|
return data;
|
|
139
139
|
}
|
|
140
140
|
async handleToolCall(request, authHeader) {
|
|
141
|
-
const url =
|
|
141
|
+
const url = this.serverUrl;
|
|
142
142
|
const headers = this.getHeaders({
|
|
143
143
|
"Content-Type": "application/json"
|
|
144
144
|
});
|
|
@@ -154,7 +154,7 @@ class OAuthHandler {
|
|
|
154
154
|
arguments: request.arguments || {}
|
|
155
155
|
}
|
|
156
156
|
};
|
|
157
|
-
const response = await fetch(url
|
|
157
|
+
const response = await fetch(url, {
|
|
158
158
|
method: "POST",
|
|
159
159
|
headers,
|
|
160
160
|
body: JSON.stringify(jsonRpcRequest)
|
|
@@ -138,7 +138,7 @@ class OAuthHandler {
|
|
|
138
138
|
return data;
|
|
139
139
|
}
|
|
140
140
|
async handleToolCall(request, authHeader) {
|
|
141
|
-
const url =
|
|
141
|
+
const url = this.serverUrl;
|
|
142
142
|
const headers = this.getHeaders({
|
|
143
143
|
"Content-Type": "application/json"
|
|
144
144
|
});
|
|
@@ -154,7 +154,7 @@ class OAuthHandler {
|
|
|
154
154
|
arguments: request.arguments || {}
|
|
155
155
|
}
|
|
156
156
|
};
|
|
157
|
-
const response = await fetch(url
|
|
157
|
+
const response = await fetch(url, {
|
|
158
158
|
method: "POST",
|
|
159
159
|
headers,
|
|
160
160
|
body: JSON.stringify(jsonRpcRequest)
|
package/dist/adapters/nextjs.js
CHANGED
|
@@ -138,7 +138,7 @@ class OAuthHandler {
|
|
|
138
138
|
return data;
|
|
139
139
|
}
|
|
140
140
|
async handleToolCall(request, authHeader) {
|
|
141
|
-
const url =
|
|
141
|
+
const url = this.serverUrl;
|
|
142
142
|
const headers = this.getHeaders({
|
|
143
143
|
"Content-Type": "application/json"
|
|
144
144
|
});
|
|
@@ -154,7 +154,7 @@ class OAuthHandler {
|
|
|
154
154
|
arguments: request.arguments || {}
|
|
155
155
|
}
|
|
156
156
|
};
|
|
157
|
-
const response = await fetch(url
|
|
157
|
+
const response = await fetch(url, {
|
|
158
158
|
method: "POST",
|
|
159
159
|
headers,
|
|
160
160
|
body: JSON.stringify(jsonRpcRequest)
|
package/dist/adapters/node.js
CHANGED
|
@@ -138,7 +138,7 @@ class OAuthHandler {
|
|
|
138
138
|
return data;
|
|
139
139
|
}
|
|
140
140
|
async handleToolCall(request, authHeader) {
|
|
141
|
-
const url =
|
|
141
|
+
const url = this.serverUrl;
|
|
142
142
|
const headers = this.getHeaders({
|
|
143
143
|
"Content-Type": "application/json"
|
|
144
144
|
});
|
|
@@ -154,7 +154,7 @@ class OAuthHandler {
|
|
|
154
154
|
arguments: request.arguments || {}
|
|
155
155
|
}
|
|
156
156
|
};
|
|
157
|
-
const response = await fetch(url
|
|
157
|
+
const response = await fetch(url, {
|
|
158
158
|
method: "POST",
|
|
159
159
|
headers,
|
|
160
160
|
body: JSON.stringify(jsonRpcRequest)
|
|
@@ -138,7 +138,7 @@ class OAuthHandler {
|
|
|
138
138
|
return data;
|
|
139
139
|
}
|
|
140
140
|
async handleToolCall(request, authHeader) {
|
|
141
|
-
const url =
|
|
141
|
+
const url = this.serverUrl;
|
|
142
142
|
const headers = this.getHeaders({
|
|
143
143
|
"Content-Type": "application/json"
|
|
144
144
|
});
|
|
@@ -154,7 +154,7 @@ class OAuthHandler {
|
|
|
154
154
|
arguments: request.arguments || {}
|
|
155
155
|
}
|
|
156
156
|
};
|
|
157
|
-
const response = await fetch(url
|
|
157
|
+
const response = await fetch(url, {
|
|
158
158
|
method: "POST",
|
|
159
159
|
headers,
|
|
160
160
|
body: JSON.stringify(jsonRpcRequest)
|
|
@@ -138,7 +138,7 @@ class OAuthHandler {
|
|
|
138
138
|
return data;
|
|
139
139
|
}
|
|
140
140
|
async handleToolCall(request, authHeader) {
|
|
141
|
-
const url =
|
|
141
|
+
const url = this.serverUrl;
|
|
142
142
|
const headers = this.getHeaders({
|
|
143
143
|
"Content-Type": "application/json"
|
|
144
144
|
});
|
|
@@ -154,7 +154,7 @@ class OAuthHandler {
|
|
|
154
154
|
arguments: request.arguments || {}
|
|
155
155
|
}
|
|
156
156
|
};
|
|
157
|
-
const response = await fetch(url
|
|
157
|
+
const response = await fetch(url, {
|
|
158
158
|
method: "POST",
|
|
159
159
|
headers,
|
|
160
160
|
body: JSON.stringify(jsonRpcRequest)
|
package/dist/index.js
CHANGED
|
@@ -377,7 +377,7 @@ class OAuthHandler {
|
|
|
377
377
|
return data;
|
|
378
378
|
}
|
|
379
379
|
async handleToolCall(request, authHeader) {
|
|
380
|
-
const url =
|
|
380
|
+
const url = this.serverUrl;
|
|
381
381
|
const headers = this.getHeaders({
|
|
382
382
|
"Content-Type": "application/json"
|
|
383
383
|
});
|
|
@@ -393,7 +393,7 @@ class OAuthHandler {
|
|
|
393
393
|
arguments: request.arguments || {}
|
|
394
394
|
}
|
|
395
395
|
};
|
|
396
|
-
const response = await fetch(url
|
|
396
|
+
const response = await fetch(url, {
|
|
397
397
|
method: "POST",
|
|
398
398
|
headers,
|
|
399
399
|
body: JSON.stringify(jsonRpcRequest)
|
|
@@ -2282,7 +2282,11 @@ function createMCPServer(config) {
|
|
|
2282
2282
|
if (segments.length === 2 && segments[0] === "oauth") {
|
|
2283
2283
|
action = segments[1];
|
|
2284
2284
|
} else if (segments.length === 1) {
|
|
2285
|
-
|
|
2285
|
+
if (segments[0] === "mcp") {
|
|
2286
|
+
action = "mcp";
|
|
2287
|
+
} else {
|
|
2288
|
+
action = segments[0];
|
|
2289
|
+
}
|
|
2286
2290
|
} else if (segments.length > 0) {
|
|
2287
2291
|
action = segments[segments.length - 1];
|
|
2288
2292
|
}
|
|
@@ -2299,26 +2303,29 @@ function createMCPServer(config) {
|
|
|
2299
2303
|
action = "callback";
|
|
2300
2304
|
}
|
|
2301
2305
|
}
|
|
2306
|
+
if (action === "mcp" && method === "POST") {
|
|
2307
|
+
try {
|
|
2308
|
+
const body = await request.json();
|
|
2309
|
+
const authHeader = request.headers.get("authorization");
|
|
2310
|
+
const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => exports_base_handler);
|
|
2311
|
+
const oauthHandler = new OAuthHandler2({
|
|
2312
|
+
providers,
|
|
2313
|
+
serverUrl: config.serverUrl,
|
|
2314
|
+
apiKey: config.apiKey
|
|
2315
|
+
});
|
|
2316
|
+
const result = await oauthHandler.handleToolCall(body, authHeader);
|
|
2317
|
+
return Response.json(result);
|
|
2318
|
+
} catch (error) {
|
|
2319
|
+
console.error("[MCP Tool Call] Error:", error);
|
|
2320
|
+
return Response.json({ error: error.message || "Failed to execute tool call" }, { status: error.statusCode || 500 });
|
|
2321
|
+
}
|
|
2322
|
+
}
|
|
2302
2323
|
if (segments.length > 0) {
|
|
2303
2324
|
if (segments.length === 2 && segments[0] !== "oauth") {
|
|
2304
2325
|
return Response.json({ error: `Invalid route: /${segments.join("/")}` }, { status: 404 });
|
|
2305
2326
|
}
|
|
2306
|
-
if (segments.length === 1 && segments[0] === "mcp"
|
|
2307
|
-
|
|
2308
|
-
const body = await request.json();
|
|
2309
|
-
const authHeader = request.headers.get("authorization");
|
|
2310
|
-
const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => exports_base_handler);
|
|
2311
|
-
const oauthHandler = new OAuthHandler2({
|
|
2312
|
-
providers,
|
|
2313
|
-
serverUrl: config.serverUrl,
|
|
2314
|
-
apiKey: config.apiKey
|
|
2315
|
-
});
|
|
2316
|
-
const result = await oauthHandler.handleToolCall(body, authHeader);
|
|
2317
|
-
return Response.json(result);
|
|
2318
|
-
} catch (error) {
|
|
2319
|
-
console.error("[MCP Tool Call] Error:", error);
|
|
2320
|
-
return Response.json({ error: error.message || "Failed to execute tool call" }, { status: error.statusCode || 500 });
|
|
2321
|
-
}
|
|
2327
|
+
if (segments.length === 1 && segments[0] === "mcp") {
|
|
2328
|
+
return Response.json({ error: `Method ${method} not allowed for /mcp route. Use POST.` }, { status: 405 });
|
|
2322
2329
|
}
|
|
2323
2330
|
}
|
|
2324
2331
|
if (method === "GET" && action === "callback") {
|
package/dist/oauth.js
CHANGED
|
@@ -143,7 +143,7 @@ class OAuthHandler {
|
|
|
143
143
|
return data;
|
|
144
144
|
}
|
|
145
145
|
async handleToolCall(request, authHeader) {
|
|
146
|
-
const url =
|
|
146
|
+
const url = this.serverUrl;
|
|
147
147
|
const headers = this.getHeaders({
|
|
148
148
|
"Content-Type": "application/json"
|
|
149
149
|
});
|
|
@@ -159,7 +159,7 @@ class OAuthHandler {
|
|
|
159
159
|
arguments: request.arguments || {}
|
|
160
160
|
}
|
|
161
161
|
};
|
|
162
|
-
const response = await fetch(url
|
|
162
|
+
const response = await fetch(url, {
|
|
163
163
|
method: "POST",
|
|
164
164
|
headers,
|
|
165
165
|
body: JSON.stringify(jsonRpcRequest)
|
package/dist/server.js
CHANGED
|
@@ -377,7 +377,7 @@ class OAuthHandler {
|
|
|
377
377
|
return data;
|
|
378
378
|
}
|
|
379
379
|
async handleToolCall(request, authHeader) {
|
|
380
|
-
const url =
|
|
380
|
+
const url = this.serverUrl;
|
|
381
381
|
const headers = this.getHeaders({
|
|
382
382
|
"Content-Type": "application/json"
|
|
383
383
|
});
|
|
@@ -393,7 +393,7 @@ class OAuthHandler {
|
|
|
393
393
|
arguments: request.arguments || {}
|
|
394
394
|
}
|
|
395
395
|
};
|
|
396
|
-
const response = await fetch(url
|
|
396
|
+
const response = await fetch(url, {
|
|
397
397
|
method: "POST",
|
|
398
398
|
headers,
|
|
399
399
|
body: JSON.stringify(jsonRpcRequest)
|
|
@@ -2108,7 +2108,11 @@ function createMCPServer(config) {
|
|
|
2108
2108
|
if (segments.length === 2 && segments[0] === "oauth") {
|
|
2109
2109
|
action = segments[1];
|
|
2110
2110
|
} else if (segments.length === 1) {
|
|
2111
|
-
|
|
2111
|
+
if (segments[0] === "mcp") {
|
|
2112
|
+
action = "mcp";
|
|
2113
|
+
} else {
|
|
2114
|
+
action = segments[0];
|
|
2115
|
+
}
|
|
2112
2116
|
} else if (segments.length > 0) {
|
|
2113
2117
|
action = segments[segments.length - 1];
|
|
2114
2118
|
}
|
|
@@ -2125,26 +2129,29 @@ function createMCPServer(config) {
|
|
|
2125
2129
|
action = "callback";
|
|
2126
2130
|
}
|
|
2127
2131
|
}
|
|
2132
|
+
if (action === "mcp" && method === "POST") {
|
|
2133
|
+
try {
|
|
2134
|
+
const body = await request.json();
|
|
2135
|
+
const authHeader = request.headers.get("authorization");
|
|
2136
|
+
const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => exports_base_handler);
|
|
2137
|
+
const oauthHandler = new OAuthHandler2({
|
|
2138
|
+
providers,
|
|
2139
|
+
serverUrl: config.serverUrl,
|
|
2140
|
+
apiKey: config.apiKey
|
|
2141
|
+
});
|
|
2142
|
+
const result = await oauthHandler.handleToolCall(body, authHeader);
|
|
2143
|
+
return Response.json(result);
|
|
2144
|
+
} catch (error) {
|
|
2145
|
+
console.error("[MCP Tool Call] Error:", error);
|
|
2146
|
+
return Response.json({ error: error.message || "Failed to execute tool call" }, { status: error.statusCode || 500 });
|
|
2147
|
+
}
|
|
2148
|
+
}
|
|
2128
2149
|
if (segments.length > 0) {
|
|
2129
2150
|
if (segments.length === 2 && segments[0] !== "oauth") {
|
|
2130
2151
|
return Response.json({ error: `Invalid route: /${segments.join("/")}` }, { status: 404 });
|
|
2131
2152
|
}
|
|
2132
|
-
if (segments.length === 1 && segments[0] === "mcp"
|
|
2133
|
-
|
|
2134
|
-
const body = await request.json();
|
|
2135
|
-
const authHeader = request.headers.get("authorization");
|
|
2136
|
-
const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => exports_base_handler);
|
|
2137
|
-
const oauthHandler = new OAuthHandler2({
|
|
2138
|
-
providers,
|
|
2139
|
-
serverUrl: config.serverUrl,
|
|
2140
|
-
apiKey: config.apiKey
|
|
2141
|
-
});
|
|
2142
|
-
const result = await oauthHandler.handleToolCall(body, authHeader);
|
|
2143
|
-
return Response.json(result);
|
|
2144
|
-
} catch (error) {
|
|
2145
|
-
console.error("[MCP Tool Call] Error:", error);
|
|
2146
|
-
return Response.json({ error: error.message || "Failed to execute tool call" }, { status: error.statusCode || 500 });
|
|
2147
|
-
}
|
|
2153
|
+
if (segments.length === 1 && segments[0] === "mcp") {
|
|
2154
|
+
return Response.json({ error: `Method ${method} not allowed for /mcp route. Use POST.` }, { status: 405 });
|
|
2148
2155
|
}
|
|
2149
2156
|
}
|
|
2150
2157
|
if (method === "GET" && action === "callback") {
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA8CpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,EACnE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA8CpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,EACnE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;IAwR/B,2DAA2D;;IAG3D,4DAA4D;;;;;;;;IAG5D,2DAA2D;;;;;;;;IAG3D,oEAAoE;uBAlM3D,OAAO,YACN;QAAE,MAAM,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,KAClE,OAAO,CAAC,QAAQ,CAAC;EAmMrB;AAYD,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE9E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,GACf,KAAK,GAAG,EACR,SAAS;IAAE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,iBAYtE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,GAAG,GACd,KAAK,GAAG,EACR,SAAS;IAAE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,iBAYtE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,kFAAkF;IAClF,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,mDAAmD;IACnD,MAAM,CAAC,EAAE;QACP,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;YACxB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;gBAMQ,GAAG,WACC;QAAE,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,EAAE,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,GAAG,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE;eAwB9D,GAAG,WACC;QAAE,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,EAAE,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,GAAG,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE;EAoBtE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EACzH,OAAO,CAAC,EAAE;IACR,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,IAKa,KAAK;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,uBAuE7E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EACzH,OAAO,CAAC,EAAE;IACR,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;iBAI6B;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,QAAQ,CAAC;kBAAxC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,QAAQ,CAAC;mBAAxC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,QAAQ,CAAC;iBAAxC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,QAAQ,CAAC;oBAAxC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAAG,OAAO,CAAC,QAAQ,CAAC;EAWvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,KAAK,OAAO,CAAC,QAAQ,CAAC,EACzH,OAAO,CAAC,EAAE;IACR,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,IAIa,OAAO,GAAG,KAAG,OAAO,CAAC,QAAQ,CAAC,CAK7C"}
|