@xalia/agent 0.6.7 → 0.6.9

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 (65) hide show
  1. package/.env.development +1 -0
  2. package/dist/agent/src/agent/agent.js +100 -77
  3. package/dist/agent/src/agent/agentUtils.js +21 -16
  4. package/dist/agent/src/agent/compressingContextManager.js +10 -14
  5. package/dist/agent/src/agent/context.js +101 -127
  6. package/dist/agent/src/agent/contextWithWorkspace.js +133 -0
  7. package/dist/agent/src/agent/imageGenLLM.js +0 -6
  8. package/dist/agent/src/agent/imageGenerator.js +2 -10
  9. package/dist/agent/src/agent/openAILLMStreaming.js +5 -2
  10. package/dist/agent/src/agent/sudoMcpServerManager.js +21 -9
  11. package/dist/agent/src/chat/client/chatClient.js +35 -2
  12. package/dist/agent/src/chat/client/connection.js +6 -1
  13. package/dist/agent/src/chat/client/sessionClient.js +0 -7
  14. package/dist/agent/src/chat/data/dbSessionMessages.js +11 -0
  15. package/dist/agent/src/chat/protocol/messages.js +4 -0
  16. package/dist/agent/src/chat/server/chatContextManager.js +149 -139
  17. package/dist/agent/src/chat/server/imageGeneratorTools.js +19 -8
  18. package/dist/agent/src/chat/server/openAIRouterLLM.js +114 -0
  19. package/dist/agent/src/chat/server/openSession.js +57 -58
  20. package/dist/agent/src/chat/server/server.js +6 -2
  21. package/dist/agent/src/chat/server/sessionRegistry.js +65 -6
  22. package/dist/agent/src/chat/server/sessionRegistry.test.js +1 -1
  23. package/dist/agent/src/chat/server/tools.js +52 -17
  24. package/dist/agent/src/test/chatContextManager.test.js +31 -29
  25. package/dist/agent/src/test/clientServerConnection.test.js +1 -2
  26. package/dist/agent/src/test/compressingContextManager.test.js +22 -36
  27. package/dist/agent/src/test/context.test.js +55 -17
  28. package/dist/agent/src/test/contextTestTools.js +87 -0
  29. package/dist/agent/src/tool/chatMain.js +22 -8
  30. package/package.json +1 -1
  31. package/scripts/test_chat +3 -0
  32. package/src/agent/agent.ts +170 -125
  33. package/src/agent/agentUtils.ts +31 -20
  34. package/src/agent/compressingContextManager.ts +13 -44
  35. package/src/agent/context.ts +165 -159
  36. package/src/agent/contextWithWorkspace.ts +162 -0
  37. package/src/agent/imageGenLLM.ts +0 -8
  38. package/src/agent/imageGenerator.ts +3 -18
  39. package/src/agent/openAILLMStreaming.ts +20 -3
  40. package/src/agent/sudoMcpServerManager.ts +41 -20
  41. package/src/chat/client/chatClient.ts +47 -3
  42. package/src/chat/client/connection.ts +11 -1
  43. package/src/chat/client/sessionClient.ts +0 -8
  44. package/src/chat/data/dataModels.ts +6 -0
  45. package/src/chat/data/dbSessionMessages.ts +34 -0
  46. package/src/chat/protocol/messages.ts +35 -8
  47. package/src/chat/server/chatContextManager.ts +210 -197
  48. package/src/chat/server/connectionManager.ts +1 -1
  49. package/src/chat/server/imageGeneratorTools.ts +31 -18
  50. package/src/chat/server/openAIRouterLLM.ts +171 -0
  51. package/src/chat/server/openSession.ts +87 -100
  52. package/src/chat/server/server.ts +6 -2
  53. package/src/chat/server/sessionFileManager.ts +5 -5
  54. package/src/chat/server/sessionRegistry.test.ts +0 -1
  55. package/src/chat/server/sessionRegistry.ts +100 -4
  56. package/src/chat/server/tools.ts +73 -35
  57. package/src/test/agent.test.ts +8 -7
  58. package/src/test/chatContextManager.test.ts +42 -37
  59. package/src/test/clientServerConnection.test.ts +0 -2
  60. package/src/test/compressingContextManager.test.ts +29 -34
  61. package/src/test/context.test.ts +59 -15
  62. package/src/test/contextTestTools.ts +95 -0
  63. package/src/tool/chatMain.ts +26 -12
  64. package/test_data/dummyllm_script_image_gen.json +13 -23
  65. package/test_data/dummyllm_script_image_gen_fe.json +29 -0
@@ -4,50 +4,45 @@ import {
4
4
  CompressingContextManager,
5
5
  createCheckpointMessage,
6
6
  } from "../agent/compressingContextManager";
7
- import { MessageParam } from "../agent/llm";
8
-
9
- const MESSAGES: MessageParam[] = [
10
- { role: "user", content: "msg200" },
11
- { role: "assistant", content: "msg300" },
12
- { role: "user", content: "msg400" },
13
- {
14
- role: "assistant",
15
- content: "msg500",
16
- tool_calls: [
17
- {
18
- id: "tool_call_0",
19
- type: "function",
20
- function: { name: "tool1", arguments: "" },
21
- },
22
- ],
23
- },
24
- {
25
- role: "tool",
26
- content: "msg501",
27
- tool_call_id: "tool_call_0",
28
- },
29
- { role: "assistant", content: "msg502" },
30
- ];
7
+ import { ILLM, MessageParam, UserMessageParam } from "../agent/llm";
8
+ import { MESSAGES, basicContextTest } from "./contextTestTools";
9
+ import { createLLM } from "../agent/agentUtils";
10
+ import { IPlatform } from "../agent/iplatform";
31
11
 
32
12
  describe("Compression context", () => {
33
- it("context compression", async function () {
13
+ it("context compression (basic)", async function () {
34
14
  const ccm = new CompressingContextManager(
35
15
  "sys_prompt",
36
16
  [],
37
- "", // llmUrl
38
- "repeat", // llmModel
39
- "" // llmApiKey
17
+ () => undefined as unknown as Promise<ILLM> // getLLM
18
+ );
19
+ await basicContextTest(ccm);
20
+ });
21
+
22
+ it("context compression", async function () {
23
+ const llm = await createLLM(
24
+ "",
25
+ "",
26
+ "repeat",
27
+ false,
28
+ undefined as unknown as IPlatform
29
+ );
30
+ const ccm = new CompressingContextManager("sys_prompt", [], () =>
31
+ Promise.resolve(llm)
40
32
  );
41
33
 
42
34
  // Add first 2 messages
43
- ccm.addMessages(MESSAGES.slice(0, 2));
44
- ccm.commit();
35
+ let tx = await ccm.startTx([MESSAGES[0] as UserMessageParam]);
36
+ tx.addMessage(MESSAGES[1]);
37
+ await ccm.commit(tx);
45
38
 
46
39
  // Start the compression
47
40
  const compressionP = ccm.compress();
48
41
 
49
42
  // Add more messages and update system prompt
50
- ccm.addMessages(MESSAGES.slice(2));
43
+ tx = await ccm.startTx([MESSAGES[2] as UserMessageParam]);
44
+ tx.addMessages(MESSAGES.slice(3));
45
+ await ccm.commit(tx);
51
46
  ccm.setAgentPrompt("New system prompt");
52
47
 
53
48
  // Wait for compression to complete, then get the new context
@@ -74,9 +69,9 @@ describe("Compression context", () => {
74
69
  expect(summary).eql(expectSummary);
75
70
  expect(context).eql(expectContext);
76
71
 
77
- // Pending messages shoudl still be intact
72
+ // // Pending messages should still be intact
78
73
 
79
- const pending = ccm.getPending();
80
- expect(pending).eql(MESSAGES.slice(2));
74
+ // const pending = ccm.getPending();
75
+ // expect(pending).eql(MESSAGES.slice(2));
81
76
  });
82
77
  });
@@ -1,10 +1,12 @@
1
1
  import { expect } from "vitest";
2
2
  import { strict as assert } from "assert";
3
3
 
4
- import { ContextManagerWithWorkspace } from "../agent/context";
4
+ import { ContextManagerWithWorkspace } from "../agent/contextWithWorkspace";
5
5
  import { createUserMessage } from "../agent/agent";
6
- import { MessageParam } from "../agent/llm";
6
+ import { MessageParam, UserMessageParam } from "../agent/llm";
7
7
  import { SystemPromptProvider } from "../agent/promptProvider";
8
+ import { ContextManager } from "../agent/context";
9
+ import { basicContextTest } from "./contextTestTools";
8
10
 
9
11
  describe("ContextManagerWithWorkspace", () => {
10
12
  const msgs: MessageParam[] = [
@@ -14,34 +16,61 @@ describe("ContextManagerWithWorkspace", () => {
14
16
  { role: "assistant", content: "message D" },
15
17
  ];
16
18
 
17
- it("should correctly manage messages", function () {
19
+ it("context (basic)", async function () {
20
+ const cm = new ContextManager("sys_prompt", []);
21
+ await basicContextTest(cm);
22
+ });
23
+
24
+ it("context with workspace (basic)", async function () {
25
+ const cm = new ContextManagerWithWorkspace("sys_prompt", []);
26
+ await basicContextTest(cm);
27
+ });
28
+
29
+ it("should correctly manage messages", async function () {
18
30
  const cm = new ContextManagerWithWorkspace("sys_msg", msgs.slice(0, 2));
19
31
 
20
- // set workspace and add new messages
32
+ // set workspace and add new user and assistant messages
21
33
  cm.setWorkspace({ role: "user", content: "workspace1" });
22
- cm.addMessages(msgs.slice(2));
23
34
 
24
- // context with workspace
25
- const ctx1 = cm.getLLMContext();
26
- expect(ctx1).eql([
35
+ const ctxTx1 = await cm.startTx([msgs[2] as UserMessageParam]);
36
+ ctxTx1.addMessage(msgs[3]);
37
+
38
+ // context writer. workspace should be before first assistant message
39
+ expect(ctxTx1.getLLMContext()).eql([
27
40
  { role: "system", content: "sys_msg" },
28
- ...msgs,
41
+ ...msgs.slice(0, 3),
42
+ { role: "user", content: "workspace1" },
43
+ ...msgs.slice(3),
44
+ ]);
45
+
46
+ // original cm unchanged
47
+ expect(cm.getLLMContext()).eql([
48
+ { role: "system", content: "sys_msg" },
49
+ ...msgs.slice(0, 2),
29
50
  { role: "user", content: "workspace1" },
30
51
  ]);
31
52
 
32
- // context with new message and workspace
53
+ // Commit
54
+ await cm.commit(ctxTx1);
55
+
56
+ // write new messages
33
57
  const lastMsg: MessageParam = {
34
58
  role: "user",
35
59
  content: "hello",
36
60
  };
37
- cm.addMessage(lastMsg);
38
- const ctx2 = cm.getLLMContext();
39
- expect(ctx2).eql([
61
+ const ctxTx2 = await cm.startTx([lastMsg]);
62
+ expect(ctxTx2.getLLMContext()).eql([
40
63
  { role: "system", content: "sys_msg" },
41
64
  ...msgs,
42
65
  lastMsg,
43
66
  { role: "user", content: "workspace1" },
44
67
  ]);
68
+ expect(cm.getLLMContext()).eql([
69
+ { role: "system", content: "sys_msg" },
70
+ ...msgs,
71
+ { role: "user", content: "workspace1" },
72
+ ]);
73
+ await cm.commit(ctxTx2);
45
74
 
46
75
  // context without workspace
47
76
  cm.setWorkspace(undefined);
@@ -72,7 +101,7 @@ describe("ContextManagerWithWorkspace", () => {
72
101
  expect(llmContext[0].content).eql("global\nagent_prompt\nFRAG1");
73
102
  });
74
103
 
75
- it("handles rich workspace messages", function () {
104
+ it("handles rich workspace messages", async function () {
76
105
  const cm = new ContextManagerWithWorkspace("sys_msg", msgs.slice(0, 2));
77
106
 
78
107
  expect(cm.getLLMContext()).eql([
@@ -97,7 +126,22 @@ describe("ContextManagerWithWorkspace", () => {
97
126
  wsMsg,
98
127
  ]);
99
128
 
100
- cm.addMessages(msgs.slice(2));
129
+ const ctxTx = await cm.startTx([msgs[2] as UserMessageParam]);
130
+ expect(ctxTx.getLLMContext()).eql([
131
+ { role: "system", content: "sys_msg" },
132
+ ...msgs.slice(0, 3),
133
+ wsMsg,
134
+ ]);
135
+ ctxTx.addMessage(msgs[3]);
136
+ expect(ctxTx.getLLMContext()).eql([
137
+ { role: "system", content: "sys_msg" },
138
+ ...msgs.slice(0, 3),
139
+ wsMsg,
140
+ msgs[3],
141
+ ]);
142
+ expect(ctxTx.newMessages()).eql(msgs.slice(2, 4));
143
+
144
+ await cm.commit(ctxTx);
101
145
 
102
146
  // context with workspace
103
147
  const ctx1 = cm.getLLMContext();
@@ -0,0 +1,95 @@
1
+ import { expect } from "vitest";
2
+
3
+ import { IContextManager } from "../agent/context";
4
+ import { MessageParam, UserMessageParam } from "../agent/llm";
5
+
6
+ export const MESSAGES: MessageParam[] = [
7
+ { role: "user", content: "msg200" },
8
+ { role: "assistant", content: "msg300" },
9
+ { role: "user", content: "msg400" },
10
+ {
11
+ role: "assistant",
12
+ content: "msg500",
13
+ tool_calls: [
14
+ {
15
+ id: "tool_call_0",
16
+ type: "function",
17
+ function: { name: "tool1", arguments: "" },
18
+ },
19
+ ],
20
+ },
21
+ {
22
+ role: "tool",
23
+ content: "msg501",
24
+ tool_call_id: "tool_call_0",
25
+ },
26
+ { role: "assistant", content: "msg502" },
27
+ ];
28
+
29
+ export async function basicContextTest(cm: IContextManager) {
30
+ expect(cm.getAgentPrompt()).eql("sys_prompt");
31
+
32
+ // Add first 2 messages
33
+ let tx = await cm.startTx([MESSAGES[0] as UserMessageParam]);
34
+ tx.addMessage(MESSAGES[1]);
35
+ expect(tx.getLLMContext()).eql([
36
+ {
37
+ role: "system",
38
+ content: "sys_prompt",
39
+ },
40
+ MESSAGES[0],
41
+ MESSAGES[1],
42
+ ]);
43
+ await cm.commit(tx);
44
+
45
+ // Add more messages
46
+ tx = await cm.startTx([MESSAGES[2] as UserMessageParam]);
47
+ expect(tx.getLLMContext()).eql([
48
+ {
49
+ role: "system",
50
+ content: "sys_prompt",
51
+ },
52
+ MESSAGES[0],
53
+ MESSAGES[1],
54
+ MESSAGES[2],
55
+ ]);
56
+ tx.addMessages(MESSAGES.slice(3));
57
+ expect(tx.getLLMContext()).eql([
58
+ {
59
+ role: "system",
60
+ content: "sys_prompt",
61
+ },
62
+ MESSAGES[0],
63
+ MESSAGES[1],
64
+ MESSAGES[2],
65
+ MESSAGES[3],
66
+ MESSAGES[4],
67
+ MESSAGES[5],
68
+ ]);
69
+ await cm.commit(tx);
70
+
71
+ // Update system prompt
72
+ cm.setAgentPrompt("New system prompt");
73
+
74
+ // Wait for compression to complete, then get the new context
75
+ const context = cm.getLLMContext();
76
+
77
+ // Expect
78
+ // - callback happened
79
+ // - new context is as expected
80
+
81
+ const expectContext: MessageParam[] = [
82
+ {
83
+ role: "system",
84
+ content: "New system prompt",
85
+ },
86
+ MESSAGES[0], // 400
87
+ MESSAGES[1], // 500
88
+ MESSAGES[2], // 400
89
+ MESSAGES[3], // 500
90
+ MESSAGES[4], // 501
91
+ MESSAGES[5], // 502
92
+ ];
93
+
94
+ expect(context).eql(expectContext);
95
+ }
@@ -121,7 +121,6 @@ const server = command({
121
121
  }),
122
122
  supabaseUrl: options.supabaseUrl,
123
123
  supabaseKey: options.supabaseKey,
124
- llmUrl: options.llmUrl,
125
124
  xmcpUrl: options.xmcpUrl,
126
125
  pidFile: options.pidFile,
127
126
  },
@@ -130,7 +129,6 @@ const server = command({
130
129
  port,
131
130
  supabaseUrl,
132
131
  supabaseKey,
133
- llmUrl,
134
132
  xmcpUrl,
135
133
  pidFile,
136
134
  }): Promise<void> => {
@@ -138,7 +136,7 @@ const server = command({
138
136
  fs.writeFileSync(pidFile, process.pid.toString());
139
137
  }
140
138
 
141
- void runServer(port, supabaseUrl, supabaseKey, llmUrl, xmcpUrl);
139
+ void runServer(port, supabaseUrl, supabaseKey, xmcpUrl);
142
140
  },
143
141
  });
144
142
 
@@ -224,7 +222,9 @@ const client = command({
224
222
  ${chalk.yellow("/get-file <name>")} Get file contents
225
223
  ${chalk.yellow("/share-session <file>")} Share and write access token
226
224
  ${chalk.yellow("/pause-agent <0|1>")} Pause (or unpause) the agent
227
- ${chalk.yellow("/add-mcp-server-url <server-name> <url>")} Add MCP server
225
+ ${chalk.yellow("/add-custom-mcp-server <server-name> <url>")} Add MCP server
226
+ ${chalk.yellow("/remove-custom-mcp-server <server-name>")} Remove MCP server
227
+ ${chalk.yellow("/list-custom-mcp-servers")} list custom mcp servers
228
228
  ${chalk.yellow("/get-resource <server-name> <uri>")} get MCP server resource
229
229
  `;
230
230
 
@@ -302,8 +302,14 @@ const client = command({
302
302
  case "pause-agent":
303
303
  pauseAgent(sessionClient, cmds[1]);
304
304
  break;
305
- case "add-mcp-server-url":
306
- addMcpServerFromUrl(sessionClient, cmds[1], cmds[2]);
305
+ case "add-custom-mcp-server":
306
+ addCustomMcpServer(client, cmds[1], cmds[2]);
307
+ break;
308
+ case "remove-custom-mcp-server":
309
+ removeCustomMcpServer(client, cmds[1]);
310
+ break;
311
+ case "list-custom-mcp-servers":
312
+ listCustomMcpServers(client);
307
313
  break;
308
314
  case "get-resource":
309
315
  await getResource(sessionClient, cmds[1], cmds[2]);
@@ -392,12 +398,20 @@ function pauseAgent(sessionClient: SessionClient, pause: string) {
392
398
  sessionClient.setAgentPaused(!!parseInt(pause));
393
399
  }
394
400
 
395
- function addMcpServerFromUrl(
396
- sessionClient: SessionClient,
397
- name: string,
398
- url: string
399
- ) {
400
- sessionClient.addMcpServerFromUrl(name, url);
401
+ function addCustomMcpServer(chatClient: ChatClient, name: string, url: string) {
402
+ chatClient.addCustomMcpServer(name, "Temporary description", url);
403
+ }
404
+
405
+ function removeCustomMcpServer(chatClient: ChatClient, name: string) {
406
+ chatClient.removeCustomMcpServer(name);
407
+ }
408
+
409
+ function listCustomMcpServers(chatClient: ChatClient) {
410
+ const customMcpServers: Record<string, string> =
411
+ chatClient.getCustomMcpServers();
412
+ console.log(
413
+ `Custom mcp serevrs:\n${JSON.stringify(customMcpServers, undefined, 2)}`
414
+ );
401
415
  }
402
416
 
403
417
  async function getResource(
@@ -1,29 +1,19 @@
1
1
  [
2
2
  {
3
3
  "notes": "Test for image generating Agents",
4
- "index": 0,
5
- "message": {
6
- "role": "assistant",
7
- "content": "I'll add a generated image to the session.",
8
- "tool_calls": [
9
- {
10
- "id": "file_frog.png",
11
- "type": "function",
12
- "function": {
13
- "name": "put_file_content",
14
- "arguments": "{\"name\":\"frog.png\",\"summary\":\"Image of a frog\",\"data_url\":\"data:image/png;base64,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\"}"
15
- }
16
- }
17
- ]
4
+ "finish_reason":"stop",
5
+ "index":0,
6
+ "message":{
7
+ "content":"",
8
+ "role":"assistant",
9
+ "images":[{
10
+ "type":"image_url",
11
+ "image_url":{
12
+ "url":"data:image/png;base64,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"
13
+ },
14
+ "index":0
15
+ }]
18
16
  },
19
- "finish_reason": "tool_calls"
20
- },
21
- {
22
- "index": 0,
23
- "message": {
24
- "role": "assistant",
25
- "content": "I've added the image to the session."
26
- },
27
- "finish_reason": "stop"
17
+ "native_finish_reason":"STOP"
28
18
  }
29
19
  ]
@@ -0,0 +1,29 @@
1
+ [
2
+ {
3
+ "notes": "Test for image generating Agents",
4
+ "index": 0,
5
+ "message": {
6
+ "role": "assistant",
7
+ "content": "I'll add a generated image to the session.",
8
+ "tool_calls": [
9
+ {
10
+ "id": "file_frog.png",
11
+ "type": "function",
12
+ "function": {
13
+ "name": "put_file_content",
14
+ "arguments": "{\"name\":\"frog.png\",\"summary\":\"Image of a frog\",\"data_url\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABOCAYAAADM6VOKAAAMPmlDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkEAIEEBASuhNEKkBpITQQu8INkISIJQQA0HFXhYVXLuogA1dFVHsgNgRO4tgw75YUFHWxYJdeZMCuu4r3zvfN/f+958z/zlz7twyANBOcsXiXFQDgDxRoSQuJIAxJiWVQeoBCMAADRgCEy6vQMyKiYkA0AbPf7d3N6A3tKsOMq1/9v9X0+QLCngAIDEQp/MLeHkQHwQAr+KJJYUAEGW8+eRCsQzDBrQlMEGIF8pwpgJXyXC6Au+V+yTEsSFuAUBFjcuVZAKg3g55RhEvE2qo90HsJOILRQDQGBD75uXl8yFOg9gG+oghlukz03/QyfybZvqQJpebOYQVc5GbSqCwQJzLnfp/luN/W16udDCGFWxqWZLQONmcYd1u5uSHy7AaxL2i9KhoiLUg/iDky/0hRilZ0tBEhT9qyCtgw5oBXYid+NzAcIgNIQ4W5UZFKPn0DGEwB2K4QtApwkJOAsR6EC8UFATFK302SfLjlLHQ+gwJm6Xkz3Ml8riyWPelOYkspf7rLAFHqY+pF2clJENMgdiiSJgUBbE6xI4FOfHhSp/RxVnsqEEfiTROlr8FxHECUUiAQh8rypAExyn9S/MKBueLbcoScqKUeH9hVkKooj5YC48rzx/OBWsXiFiJgzqCgjERg3PhCwKDFHPHnglEifFKnQ/iwoA4xVicIs6NUfrjZoLcEBlvBrFrQVG8ciyeVAgXpEIfzxAXxiQo8sSLs7lhMYp88GUgArBBIGAAKWzpIB9kA2Fbb0MvvFL0BAMukIBMIAAOSmZwRLK8RwSP8aAY/AmRABQMjQuQ9wpAEeS/DrGKowPIkPcWyUfkgCcQ54FwkAuvpfJRoqFoSeAxZIT/iM6FjQfzzYVN1v/v+UH2O8OCTISSkQ5GZNAGPYlBxEBiKDGYaIsb4L64Nx4Bj/6wOeNM3HNwHt/9CU8IHYSHhOuELsKticK5kp+yjARdUD9YWYv0H2uBW0FNNzwA94HqUBnXxQ2AA+4K47BwPxjZDbJsZd6yqjB+0v7bDH64G0o/shMZJQ8j+5Ntfh6pbqfuNqQiq/WP9VHkmj5Ub/ZQz8/x2T9Unw/P4T97YguxA9g57BR2ATuKNQAGdgJrxFqxYzI8tLoey1fXYLQ4eT45UEf4j3iDd1ZWyQKnWqcepy+KvkLBFNk7GrDzxVMlwsysQgYLfhEEDI6I5ziC4ezk7AaA7PuieH29iZV/NxDd1u/cvD8A8DkxMDBw5DsXdgKAfR7w8T/8nbNhwk+HKgDnD/OkkiIFh8sOBPiWoMEnTR8YA3NgA+fjDNyBN/AHQSAMRIMEkAImwOyz4DqXgMlgOpgDSkAZWAZWgwqwEWwBO8BusB80gKPgFDgLLoF2cB3cgaunG7wAfeAd+IwgCAmhInREHzFBLBF7xBlhIr5IEBKBxCEpSBqSiYgQKTIdmYeUISuQCmQzUoPsQw4jp5ALSAdyC3mA9CCvkU8ohqqh2qgRaoWORJkoCw1HE9DxaCY6CS1G56NL0LVoNboLrUdPoZfQ62gX+gLtxwCmiulippgDxsTYWDSWimVgEmwmVoqVY9VYHdYE7/NVrAvrxT7iRJyOM3AHuIJD8USch0/CZ+KL8Qp8B16Pt+BX8Qd4H/6NQCUYEuwJXgQOYQwhkzCZUEIoJ2wjHCKcgc9SN+EdkUjUJVoTPeCzmELMJk4jLiauJ+4hniR2EB8R+0kkkj7JnuRDiiZxSYWkEtI60i7SCdIVUjfpg4qqiomKs0qwSqqKSGWuSrnKTpXjKldUnqp8JmuQLcle5GgynzyVvJS8ldxEvkzuJn+maFKsKT6UBEo2ZQ5lLaWOcoZyl/JGVVXVTNVTNVZVqDpbda3qXtXzqg9UP6ppqdmpsdXGqUnVlqhtVzupdkvtDZVKtaL6U1OphdQl1Brqaep96gd1urqjOkedrz5LvVK9Xv2K+ksamWZJY9Em0Ipp5bQDtMu0Xg2yhpUGW4OrMVOjUuOwRqdGvyZdc5RmtGae5mLNnZoXNJ9pkbSstIK0+FrztbZondZ6RMfo5nQ2nUefR99KP0Pv1iZqW2tztLO1y7R3a7dp9+lo6bjqJOlM0anUOabTpYvpWulydHN1l+ru172h+2mY0TDWMMGwRcPqhl0Z9l5vuJ6/nkCvVG+P3nW9T/oM/SD9HP3l+g369wxwAzuDWIPJBhsMzhj0Dtce7j2cN7x0+P7htw1RQzvDOMNphlsMWw37jYyNQozERuuMThv1Gusa+xtnG68yPm7cY0I38TURmqwyOWHynKHDYDFyGWsZLYw+U0PTUFOp6WbTNtPPZtZmiWZzzfaY3TOnmDPNM8xXmTeb91mYWERaTLeotbhtSbZkWmZZrrE8Z/neytoq2WqBVYPVM2s9a451sXWt9V0bqo2fzSSbaptrtkRbpm2O7XrbdjvUzs0uy67S7rI9au9uL7Rfb98xgjDCc4RoRPWITgc1B5ZDkUOtwwNHXccIx7mODY4vR1qMTB25fOS5kd+c3JxynbY63RmlNSps1NxRTaNeO9s585wrna+5UF2CXWa5NLq8crV3FbhucL3pRneLdFvg1uz21d3DXeJe597jYeGR5lHl0cnUZsYwFzPPexI8AzxneR71/Ojl7lXotd/rL28H7xzvnd7PRluPFozeOvqRj5kP12ezT5cvwzfNd5Nvl5+pH9ev2u+hv7k/33+b/1OWLSubtYv1MsApQBJwKOA924s9g30yEAsMCSwNbAvSCkoMqgi6H2wWnBlcG9wX4hYyLeRkKCE0PHR5aCfHiMPj1HD6wjzCZoS1hKuFx4dXhD+MsIuQRDRFopFhkSsj70ZZRomiGqJBNCd6ZfS9GOuYSTFHYomxMbGVsU/iRsVNjzsXT4+fGL8z/l1CQMLShDuJNonSxOYkWtK4pJqk98mBySuSu8aMHDNjzKUUgxRhSmMqKTUpdVtq/9igsavHdo9zG1cy7sZ46/FTxl+YYDAhd8KxibSJ3IkH0ghpyWk7075wo7nV3P50TnpVeh+PzVvDe8H356/i9wh8BCsETzN8MlZkPMv0yVyZ2ZPll1We1StkCyuEr7JDszdmv8+JztmeM5CbnLsnTyUvLe+wSEuUI2rJN86fkt8htheXiLsmeU1aPalPEi7ZVoAUjC9oLNSGP/KtUhvpL9IHRb5FlUUfJidNPjBFc4poSutUu6mLpj4tDi7+bRo+jTetebrp9DnTH8xgzdg8E5mZPrN5lvms+bO6Z4fM3jGHMidnzu9zneaumPt2XvK8pvlG82fPf/RLyC+1JeolkpLOBd4LNi7EFwoXti1yWbRu0bdSfunFMqey8rIvi3mLL/466te1vw4syVjSttR96YZlxGWiZTeW+y3fsUJzRfGKRysjV9avYqwqXfV29cTVF8pdyzeuoayRrulaG7G2cZ3FumXrvlRkVVyvDKjcU2VYtajq/Xr++isb/DfUbTTaWLbx0ybhppubQzbXV1tVl28hbina8mRr0tZzvzF/q9lmsK1s29ftou1dO+J2tNR41NTsNNy5tBatldb27Bq3q3134O7GOoe6zXt095TtBXule5/vS9t3Y3/4/uYDzAN1By0PVh2iHyqtR+qn1vc1ZDV0NaY0dhwOO9zc5N106Ijjke1HTY9WHtM5tvQ45fj84wMnik/0nxSf7D2VeepR88TmO6fHnL7WEtvSdib8zPmzwWdPn2OdO3He5/zRC14XDl9kXmy45H6pvtWt9dDvbr8fanNvq7/scbmx3bO9qWN0x/ErfldOXQ28evYa59ql61HXO24k3rjZOa6z6yb/5rNbubde3S66/fnO7LuEu6X3NO6V3ze8X/2H7R97uty7jj0IfND6MP7hnUe8Ry8eFzz+0j3/CfVJ+VOTpzXPnJ8d7QnuaX8+9nn3C/GLz70lf2r+WfXS5uXBv/z/au0b09f9SvJq4PXiN/pvtr91fdvcH9N//13eu8/vSz/of9jxkfnx3KfkT08/T/5C+rL2q+3Xpm/h3+4O5A0MiLkSrvxXAIMNzcgA4PV2AKgpANDh/owyVrH/kxui2LPKEfhPWLFHlJs7AHXw/z22F/7ddAKwdyvcfkF92jgAYqgAJHgC1MVlqA3u1eT7SpkR4T5gU+jX9Lx08G9Msef8Ie+fz0Cm6gp+Pv8LZcF8VOFl4lEAAACWZVhJZk1NACoAAAAIAAUBEgADAAAAAQABAAABGgAFAAAAAQAAAEoBGwAFAAAAAQAAAFIBKAADAAAAAQACAACHaQAEAAAAAQAAAFoAAAAAAAAAkAAAAAEAAACQAAAAAQADkoYABwAAABIAAACEoAIABAAAAAEAAABooAMABAAAAAEAAABOAAAAAEFTQ0lJAAAAU2NyZWVuc2hvdDLJFmAAAAAJcEhZcwAAFiUAABYlAUlSJPAAAALXaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj40MTg8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlmOlVzZXJDb21tZW50PgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzEyPC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MTQ0PC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4xNDQ8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgoRyRG+AAAvYUlEQVR4Ae2dCZBl11nf//e+fenX7/W+9+wzGs2MJGvzWCBkcGSLYBSwMcQFhBCWFCSESiBhKSchRULsVEFISEKKYilsTMoxMsg22JY3ybZkWdY20mg0a3fP9DK9L2/f7s3vO2/GkkEuW/JMu6viO3r91nvvOd/6/5Zz5LVarVDfPnYsBfwdO7JvD8xR4NsM2uGC8G0GfZtBO5wCO3x40R0+vms4vFDhy+CQ53nX8NrX71L/XzAoCAP5nq9oJOIoGcKpoNVW6AfyhJXfwczydgbMRro7pINgJtnXVrojMKbWqOvC0vOKhFXlsodUKPQqyn3CoCUvMB5d23teK536lmtQELYV8SKyf3a0FSgIW0i8Eey1Y5gALTGim9ZMLV7Unz/z+4pFfkv5k0dVeOiojv7AG5Q4ervGjh6TUgkFzaYifuSKoLih7Ig/r50C3+zwzSHwiETjqmtL85WndaF4Qpv1EoSMQ9wIjGp/zbuYmeo8jKFXHy99Zoyxx9NTz+qn/mKX1poPaFfmnyv53qQOfvT9euqn/pneceedevDdv6Ly5Vl5sbjawde+39ccyHX+4lujQRBUJq2+r8Wpk3ruk/9H05c/oMIbJ5TcdUTZxn26a/weJWBeGxMUBB0DaH7ErJ9phkn717SE/LyGRnx56in9ziO/qLHcuA5P/KAii00dOTypgbcf1VOXi3rir07rbb/xu/rf1bp+4l2/pWg2r3ajwdCMLJ17Xmf6f93Lf0sY5EVjqpZLWvzQB7XyX/6JDhYzGp/K6szEmqJ/ltfJ/AN65LEP6B37f17juT3KJHPyffMXUitoqN5sqNoowYS6qs2ayrw2bgVBRCU0sNJc14W1E/rQs7+uXHxc+8beLC+aVLFWUnpkWPV8VKcWWhqL1TXLmf/mPb+vW+/5Xt1631uFOPDJzmCOcW97GWR+AelsVipa+N136y9//Tf1vkOH9YtvGtL3jmSU/MSH9cX/tkdH3v1j+mLzj/U/LrxOk5Gf0O7kbepJjqrWbmmjsqZya12tyKparbLq1TjTSCueaCmRvaBWtVvrG1mtVE5oov8mVbcCbWytqre3B40taevyipJqqjKzrtmzpzW2Z1KzF2Y09ewTuvVNfw9GJnCETafhRqBv9bF9DDKfg4kKMVFLD39MT8CcX77t9drVFej3sns0NpzX8Xt9jf7GBzX3j75Ht9/xNvkXU9qqz+mjs3+iqFnF1qQyiYKGMn3qSveqBSGz8YIGujKqBiUtl5e0tlXWVjGn8maolWJJXjyhy0tnFM2gZUFdyfNndNeLoe7pC/UZQEgvYzItalU3AAp1fFFS5voMouyEY/sYhN/wIh4SvaGlj/ypHs4y/TMXNbArrfriqh6KlHUzJifPx5978qQO3PpD2ht7o06XP6lk+/UQLqU239cwbxcXNpRJ9aoWS6jeekSJckqtWhQzGJMyTSX6ysrE2xpQt8peQ9F4VBvFdQWpqD57S1bj/72ke360oOiN0rMnSzrKPScnR6VkBuYQM+0Y9my3iWPiYb2p6vwZncshG9W2Lp44p8s8bnnjgGr7+vABcUUSlzTVfFxz9VlVomuKpUK12xWgd6h0zNdQYVCxfEGVXEKt0p1qepdAbD4mL1Cx1Nbl5YoUD5ROwKQQxnVF1TZgwfmrBxP6rC7pRzZSev/ufr3j5En99F3SoSO3YgKJjIiXgJY7QXncGLYVZpvrjcY9FXb1aX+mJRV99ac6tLi1L63klrSgLm32rGi5/WWtBTNqeCWl0AD+UyHDcyqmdZU1VXxGS/WTaibjSkZ6lYuF6ooj+2QHYjAnYwyLenibkNeeUiDBcKWhsd6knv/pAX3uI5sabkh/MSYdf8e7lD5yZ0dvDCnuoGP7RgN3wiBQmO5S36336gePQIXJfj1Xle4/1qN7u9NaWqjrGaKic/gK8C6obFNe2wf2hsRGeAX8kMU81WDLoZvEZkthraGEN6Fs6zD+aFyjfXntnsgrm0mqqz8pLx8HJLTUqAaq1wNFMWETbx7QQ780pr/5xEl53/sDGr3/xxVnXO06Pgjov5OO7dNlzAv/KYbfiN7293XkC+/SA9/Z0h+VB/XrExn5S2099ciaPjkW6q7JnFYrNZjQdvCatJkCTFSl1paH4sUzMUUxdYmwRwledyXiGvCGVQ43lQzSynmLynSta6naVAmC15llvUwwS/Bbh1m5dqgb3ljQiweHFUYn9fqutNMei8t22rHNubgOktsobmjugd/T4KMf1zIQWDVf5x5c0PsPxzX2noPKjwDFi2gRTAkxU20YUwEc+JYdSBOgpiJK1PuVj3ZrMJFUTy2mPCYtgr8JPVJHfg3WxrRYXCGDsKgaMdB0uay1alGVYkNxzFhvKq5EIqM7R35Gbz7yNjSUc1FRb4eZuO3TIBf84ahDX/Pl0/pz74TuTN2o1uf/QCdV0PQv7dHht08q31VWsVwhHkFD8CkBwGyZtol0ahSnjxa2ozrgj2oiOaCcnwN+t5SMRxRPJgEXFtCGahG8gq81ngnVLK+qgVxsxYtaSi5rOYF/a6BdXk31sJd0EbDaUk5kJpqkenYKvL6qyduqQZaiaeNfPnby9/X56Q+B1/ZqfWVT/eNx9Yzjn9orKmGWSFtqi+euFE4/lVG8nddB/Ex/JKUBv4/sABAZ2J3MdMGQqIv+QwwiHgbGAAYCAk1Lq5F98PFZrryA/2s0YqoVF7W4Nq1LxTXNAe1b8V69ZffbdHTyJjVbTVeWuEqcnfC8jRpkwZ9P4LmlxeoMkDipdLyqfft7cTBFrS/OqISZifhpAsaY+uKYr2iPxhpR9Xm96u2eoEzQr2SyW020kGqOqvijdoPgF4aC3WAw8o9mBC2mRRAbwBQ/gmbhW3xMID9R1+C4sv3j6lla1MjighYBHhuVdTUJUiMkaQPTIgRppxzbxCBsDOyxea9XZrVZm1OGiP3C4ifUXRtXX+8kxBsm/KirgNMeIvfWH/iaCIeUzw6oq29IfoyaTjuhYiMB7S1fBirkeqFnzMAvgST8aOc+diPTJg8NwlbCTMvTcY6d14xwrUCFkTF15YeUWlojqM3DwDiaZgW8nXVsE4OuTBr6FatbWql/WZHkjdp7w5vVnR7A1KXVhc9Ik4FOFyNoT06DSHl3/yjEzKjZbqsGHG8FVs4zrvCfEROHHoFxxghjjT3aaJFVSy3zbTWhRpPakqEzD43iO4wYwXJDkUoDbUxpaKCf2Iy0BuDCXWAHaY9RbZsY1JFLI2DEx99k7iJVM6BYO6ZMEZhcisKijKIQbHhgRP2DIyLzCUPqauKLgsASogaBTXMwVxDcYipyR45RgVVF+cbqOe5jYw7UbhPzwEd+h++Dyc0G712diQ+Dqsr1svKFCXXnxuAPjLVQgJ/vpGObGHRlysw+nxmkcPYGxauhEpt1RVGNZG+30oPDGuwZIaZJQXRPLaS8iSYEwDjzXYZ+Hfm4hj3bb1xQ2bFzvDe1sh8ZRwAKxiJ+a6wyrgWYNysreaA8K13Ml1Y1U53V9/QdUhKo3qAOZKXxnXZsL4MgYneyj2z0BCispnQe7SHiz2VyisfSEDVGtI/GtFo4bfNZNjw8CBoDQIewpjEQH25ZfGRmzogfQnmfz83POEYZe+w7U4co8JkYqo6W+QTJ6B/3qOELt6gPldWT6u7wxKLoHXhsK4OMeOl4mpgmR55tXcNUOrPA5QaErZZI7TRqoGSGROLNlMHwmRE/JAnq4WuM4h1/Y2oEA7hey9IMvA7pY3DMgnlte2+fG1ightREOwK0Iw4kr5a2aCCpqJtqbXffPtoR0pxnPzVu7rxjexkEJWKUBAYyY3riwsfUKEe0GyQV9bKgKOIYfA4ZHHQFyIzmmN+IWGYZJtlryyTwhdHdHaYlEeCzmbsQrQvNB/GdfX6V3OarYpGYUpQStshanH3xlDKFLkWIsQqJfq7ljKCxfudxhxFBju07zHcY8Ya7xnV87C3qwfZ7YRyEHKhNtiCGNlmgaSYOunJg2px0dyTcOm9CGGWa4w4cvgEG3xjTtMjI3gOvzT/BRXtEMHEeydZqeZ1Ya9ZlJyJ+QucWqlpYB1xwLWPNzjRw28wgRwgoYc54sv8QTEmqCuze3FyljrOmGr7Bim5GdOvq4Y/jgzWN0L/nmGMMahsDYaodZjbNjPFjp00BaR7TCWeyzNQRsDZrRW0uXdDapRfI65UUwsyFi4CES6sq0zDiAMgO5dA2a1CHoEaLOCZntejp3MXLBDh1rcyd1frqZVWqNdAbhRrr5oEZTYhvTIgYFTnMhJm4W6xjTGrjn0wrLQfXpNjmfA/qZ9ew7EAdKN3gc2vvSuf7nQDU6YloFJc0d/G8q7S6C1/VSvdm5/y57gwywGuH0dVuZg2JBnOT0ZQyEI3iAwlUstNoTL24pUp5y2mLaYXRrAWTDAK3eITkyoxxLkjlS3vvoSEeJq4Jk41RRK6ABE7ktSmgh8nzib2iZLRzvYNKU3fywgZFvLxmLq+Sl1t2AmC+6OpYbbw75bguDOpAXWMKZoeJW5zfRKprELuGxJeB0ifPX9QTz0+pJ5dxxE9me8hKJx08cAiN37tgFGIbOHDOH9PlgADXMY6b1ng4Kdc3B+xzQIPPiIZ5zdTgkPm1CMzxTSAyZK+jZC16Errx6IQ241164eI82QbiMe5hge0Vedop/Ll+mQTzAS20YKm8qJmNok4s1LRIr0DYKmlj7bKenbmgY3SURg+9gQxCAmSN5MM8w3BBoymqCvgU/BGEC9E45/Rx+M4/4ZOcesGlAHDhezEYCEjgc9MaJyA8m69rWqoHZqUyGSqrJTXIuVF1J2+xqmP9vj588jkd3rdfdx68UQm6S82smgbyE8dg9/wtZNd1KzdYv/Vi+aIem31ASxs5feJMU9OXyDQDdUdIfd082qsDuYhu3rPbJTPJqikKQLCqpgGEeAzYbX3bwGw/ATKDSNYYYoyyzhuLf0IDBwAGO8itOuk3BhqRDX7bB23LalM+r1YrKsKsEtqbwCRGI21Nr67pD549rRIdpf/0zu/SPQePabxvUCkCWtOkkPs7c2k34L1ZhA7n7IPtOa4fg4j65zbP6S/P/YrS9QMqre5Vu5JTlVJ2HQnNZUPt6Y1oV2+/o65B5XSGbAIMCSlJozS85oGp83gY4S02svcB5swY5yA0nwUAghDGuYy1o5uR0jIN/KU2VCWtU6d3odmgN8ESsvk8ydqYlqjsPvz8tJ4otrWMxra4x/ftPajbJykeDoxpNN9LYJ3oVFuB/5brc0zaHt64u1zXQDWK6am20JpwTWFjSM3NtkrFVa1sbGkGp777niOKhaC2MhVQjjYZ50gMs8bDnqG90yL+AjDM1FndB5CBhkXjcQc42hDdfJCZQctgW1rIQIQlUK2v2yFCfFAigy9KtmRNRC0ExNI9CZ539ffrcnlT+VKgdZj3ocXTes/zF/X9u7p0/6Fx7e/Jqyed0RAtyD3JXsbTgfRuwNvw5/oxyPlq7L2fxfzMYvTHdepp+gPmpzU3Pa0bbrqR0kNNS6sL+AN8COrSABJb6TpKh02sCUsssWkmDrRnCdMAzTI/o5ilcDrIzZjncnWmcWaWkPIOLEeDaMGick65CJCCeWuS4vHRQAMpXgIh4JwUvd7ZrZpq61sawMcNU94YK/tKl8gLVlY0Q2n+o+c/q1Ey8O84/HMa7B4G+tcRhutHupfz/brdBVpBUrQhSKBFJ9TTdVgpGghPnTitY8eP6Nd+9V3qKfTpYw89oP/70O/ovuPv1K7xUQKkBHm3jiZEoGAkyhDRDMccVAq/DwMsoWpmEAobPDZIDuS2e5qPSnANM3kta6Pie5SKFJLB85aWySa0rOyA+SvWK1reKCmKRg80PJVB8ZubS0rUPPKDe7XSX6B6e5kgek7P1v9Mt6x+pwbzdAIxM4Pk22HuzJNetyMKCouJPunmMhTaUDbX1Befek679h1QV3e3W6WQyvVoau5JnZ89qeX1JZy6rXjr5N4sFjKJj0YCxWlGjNFE4hvTrDkRRkXRDOs2NV8UA4HFeU4ALiyTEJJ45WvHCC7hNMsyFalsLwnSuGbPnda/+/fv0S/9x/9JC/GcUvsKKuS6NZmMKocAhGh2zCtrdWtWS+usYNqcogNpEbNJ94OhRou5tuG4Lhpk0kUCBgISvVNe8GoroLKK+gYHdfiOu3XyxWf00FOfURl09cxzT5PAhH/6knKYtgSrC6J9vWgBdSBrCMEvWDuImTHzPZ2Vd0YZsghQ3sCEfUctm1I4WesWvorPTLPst0Q3DskZODBtgrRaAuY/M3VeBw716u27u/Twi1/idxTuIqOaDMrqTkRUxcdFrcoKyIgEMM3bp6fmPqaBnj26dfg2JQh+W24l4HWV8WsfB3VU34JI0v74gxYTjkcHEfcGtR9PA/0ZTZ+/oI+fOkkHR04XWA6SoWD6mScv67aDF9Rf6MYPoXm5nDvfwWaAQOjqD50sBPrgrm8x6VVTY6CAAAqGWm7N+rutO9+EhN/giAJ6EQLGVKmvaXZhUZuVS3rnW0Z0ca6mRz9e1h2rn9ZH5sd0/HBGNwwWKEewKLPRVjeZ771DY1jebm3VpvSBC/9S57f+oe6beKf6cwP4I+sE4lbo7fU4rtlVjVB2RPnn4fCXy5f1+KWPa6XMwl1vkkVWFSXTUXWPFFRaa+GLFvXC01uaO7FJK5Q0MZBQvidCraitcnnNJVEDUjIhj3a7RrhDM6Klc5Boa6uy10CFjjkkJrIg10CC+SB+AENAhmioi5XsHM5vkNG+ePGczs08o5sO9ekMwfN/ff8FjQ5HtbZKY/j8Y1qYel7l4iY+i9pVoktdWUCB5rVWXMZ30SjW/Qa90PiE/vj0uzW/NUcKyVJL14M1nWt+0yauMzYkFfPTxD7PVE5rbuuczq99SWfmT2DvMRF025g2ZXIpGkF6VF2ua/PjD+lyawj0tKCJXFbfd/ONMAVQwYTTaTQAP+NDWIt57DDAEOJvWsQ89tqyAwZ5bUWDq6yaqcO2+X6y48dgoJnAlsFtYxSr7tqtVQ0O+fqRt9+qJ546p1/9T8/pTd/RDROlTz1WVDYbYTHXZd28axcpqIT6LDWUwdwth9rc2iIVBbSnV3x/7i49Ov+H+qNnpJ+86Zc1Qk3revXUfdMaZNodxbKvVlf0iYU/0ePlB7Xmn6c4tqX1sw1trhQxMVaTsWATJvVkFekZVlcwq8YmxTOWglRYtphJJ7RrZERbpIWs2dAnW9ApwpkzBpEZSoM5nYIeYsHrdqMKU8hU07BtvsbHZ/jk5mgRcUwzuN1Z7xMqDly3bLdpWqWU05PPLejXfnaffvjNezXNGM0c9nYl8Svi+y1ASYpzUuryUxrMHMLEmTaHKq4uKlFp63WZ+7VR+rKeOP9p1zkUxV9eD+DwTTPI+gPOb57Vh2Z/U8vhSeKICcWCPldKOP/Eosor5N/4TcgSuQjxS26goNjIgJJhhYaRippbdSQQomwtsbirjCZCIdBbG4ZY3cdeWxOiEd0zP4M2BM0qj0bnPcx0MBuTFuJ/rHRhzLIGRDN51u/m0dIVjeXU3T2oxctVffHR53X/3Ud0aE+/PvLIRZ0/6+ngcFzNOidwrC8vavbSoubWNwieIyokhxXLMDZK8fWFFcUurbF0pUv7/RtoDqLfu17smFZ39rX989oZxFwsDphfv6SPXng3Nf+y+vw9qmxsah3HX5taUfHEnJpULa2fsIHE05BGOy8rSkn5d2XH1Auya4C6/BrwuLmpBh2eCXxIFJtjaMuDEV5tU34DCW+WYEoF/rA4CyZZasjFPjwbJ4xJgeXdOMcxiWs45833BiBamEvLzw339+qG/ZOqN5J65HOMjwTq8UNpjfXHKGt0oHO9uqp2aYW0FMU9NGO4i2bK2C3u2lWmsTlbVHxuWX0b68wh57Iebl+Ga8sbd7XX7IMMylp0v1FewBxtaKh9q4INTBpaMD21qLXn5hSeqqjFgt60RZcRCOhVaOEdVH8fa0z7B4ktZik7E81DzB6QFk2/Kq+tKs+irHgaBiA+VrCzjLbnYHcnsx1aUpXmEkdONAjHhXkhcDRtMr+FL7SV5Ja7Mw8ecSUJYieYnyQG2goxyatljY50ayDHygmWpizRArZyoojvsXgKP8e9g1Zc1VqTFX6exgp7uBbaUgJRMsd6a0P9+16nXaOv4/fkEJmD0eNaH6+ZQbhsfEqokcJe7Zk/rurCMoNmdfVSRWsvLKt4dpnV1EjuRhPNQIuiaAVZgUw67YBAnJ7pXUPd7GVQV29fTHG0yye49JtJ1ZFMz3JlqRSpGu5EhB+SkbBygPkzg9ymvbZmyErgvsEoAxCmLWYOeXbmkO8tEjKGBYb6+DyX7ULDEBZK3+XNNYfAEghHia6igwMsSu6OKg9fo1y3jRDYksywVdX0xnPMGF8HhF88+Zi8yVs0+p13kHgdwAdbwOwiLu5nR+fvtWDWa2aQWWtDZj3pPlDYEZ2Z+nOVygUtn5lTZOqsBttL6j5K43oZf8LqtjZhSbW1Qlwyqu5sXL09LPFN9HCVcyRLfTpIK4qx30E6UmA1d1WNEi1YmDSfbVqsrhMlxgnpRPWiFPgilgszrcS/oE1gSF5bkhRTZwOz1AFjs/fAjY5G2XcABA9mWq4hk0hodKBP05srOPuSJvf06cCxA5Da08bCk2QiNtGeCpfpRrCSLP2vkytskDDNqbSe1OwXHuJzFpodn9WBI2/QeP8uF2R3xgCHEY5rcbxGBpk5sZQLZWr+tdpI/OVL7OSxrPiZU2R1tlhpyhIS0E5jBsllVVs7zyYTtXVlozXtHcgqURrCv+zRv/jH+1TavAzR19WobahVTCOnXcBzGGPdoLTo2lJ6qIEZg0EwymKdAITl2foh4wWaTN4ANXOKxNgclyAuWoD2GNGMXIay7Js4cDmNGS1xp/5utJTrhIVJQoBh0FpCzX372E+BsdO7YL0PESB3OpsilkODvIR6CaarU2fUfOS9qs+/V2fnfkhrx96i4V13qK97Ukm/izEiHJi9zvHamfWqGWRGwwpqDWz9WnFey5c+p5UvvxfGzChBVF6Yrgpfr5r1uM2D3EbwITAI26QWhM0k2xrvlc4+V8Y89unO3fu0RMdNe+kEPofrYuai5Q5Q8GCKJdR8mBJQYrWlJGEEe2ew3UZujpDUkK2qo7XaHWZ63dITfJeN1ZUpTHssFoJh9sPQqqx8lgR6W9tvvVyl88d8y5ayXd2sqMgrzJUIRKss7wfEcE6ccWCwKdmX1N8TsHjMAxXuVwGtzp56Bug9pdX1x7Q4fqf6+u/QUJdpFGaDMZp/eq0a9Q0wiAnzn3V0IksEZDWyu/MgmSdUPvmg2mc/rMIG8cumryqrtruQ8kisbavg1ewj3QPoirHErQnU9qLk1eJliEYnKY652GJN0MolFdfXFFTIIo/mQHdZ1c2nsMouIOiJ0+JLzQKMQcTOshEuAJHRLutARbtQEa7bmYZHEhNWoFX4IXyR6Y0tT3E+yLTJKrGYqTZZbJSO5GvClcEXzm0q1Y2Ws961ymcl7hlrATcJB2p1vBAliHx2VNMg1paXV6Y7ouxN3UrhVxNoaLKZUGqRKi1hRnl5RmuDp1UbP06TymHOm2SVOv3mjMkU2/KBr+Z4ZQbZlewwOwpCMktea5RV26TBYvUFtRYeV+bUp4gHgL7eAdXZLKJFr3WTbs2wC4njqmki7kbSln+Anti7oI4faqaKbCaBJOZZUsJzsIT9X2Aym/gSWoKnKYdH0Zrh4WHMlhXnzCzZhGCQITMrMRjnwe3W7OhFgNtsWOGRzLRinQWpNlYrK5gmmfkzI2MIzwJWVxOydi2u2eT9CvefeWJK3lq3vF4EguwFtQ72/1mR19ev+AjVX+KtkI4Vv5UgBVRSgWCbRX8qsG1AnLWyTBmAE7B4mX0ZuHZ3hXBh+nEA36qqPV/SbPYG5cfuVnfPBFpoiUEzuTazq4epvtGbxxWyM/grB5bk6surz5ZO8biQSR/qohYBZGP5nBoXvyR/4/PKeqtiMbVCQpMWSxBb1uzOIt84qpxlHwMLRstsUNGCMSGO22JNrB3rRNEbnH61CROI2NMFVjeU0hq6YZdq1F9wwaoDYRdmVhzxu3sLygIQmDMZAHZLhHERmGELUWgn4NpcGG1yCK6OdloZgvKG1YGMSYbRbb4BjHMVV4hsaSFbMWHxzdz0OczsKbQmr+4xs6RtNCFKljqJ1vbhp3wVyQPGgJARj66gIA+xLM0EIsXM9g2zNJPm/zg3sTWySebqE0d5rAhMshDNu3xa8dUZLXif0ezUk2zSca+yQ4eUyLGRIMJo7c2ODwiTDdRK/QZ0XKerY6LjwN9lkHE4WL6kBpIdkktrzn2OyOyTpFhw1Blr8IBEdRASk/fpvomy90COLHGMRGgKibL2qArfV8xMJWwIvEbK1ppWZoZx7JmTzbTVReSenE+owD4G5fgQIAHnjOlpsOpgnexpaWWZ/XgyoC3MnE0eoYkQ21gvgoEE2znENmaKAnutQJdwpXK+s9+ifRHTfG4PyRyDWty/hnnbJBG6unLZZQtSLHspjFMKZ7W31ZMSIZtmoCWpMkOHDjPNLaqvRbJKlEBYbJxN9sNg4ioUId/HZ12Mhxkik2gx98LXerZVAIKKUScuxwQjKJtzn1bswkcVHzoijR5Ru4uFaU2jI8nf6rwimUlFRo8roJrsEadFWerp255BXPeKBhm3OnFFc/pp1f/6X6u9/LBYLiq/8B1S73dzs3WFVnIEyRhCCUnF0/3hiBVjWxczQckaEsrEktRTMumWKjSBtEIIQNCZxgSE9L1hKxREq0qx44eVtwdAfM10SpWhfWoQxNbJy7VYMxQ0yzCBzDbmrWrQGH63yaU166RfkAK8CbJk94eYdOFYjGWliTiMilpPA0wyITKBsRdtrlFHoGo8zMT1DOzCB5GUZdlLjBUOCfJ68bW64pQluiiHR8m9kQtRjS00A79Opw/Zhu57tLb5PIErjScsm3GO1phjKQvzlQhraEvKsQSooqLsDTSC1qoY1TLotNCeUm7zReT7jDO/5gpc9opEuoJJ/MJBaE4Y0b9PseM/qtjksSsMspkwU8ir5uzzaJAx515OAI4RWHpWYobbIQywIlhIj5MrOeNHPPYbYISKWJ0fExSD7W0rL/cdUDu3H0VmjSjOPR08hVZRcvAYQIA0FmBcd1vZClJDicHPsqkSjjhBvGEpoQ55EQLKFvHSMhKVViU1CFtoJsHh2ng7MYcN/urDUNtLh2laFKbxY/ecwr9YEdDAhPm40OpGPHetzyi/yLy30OIiTfyjjGGoRynASAI0EadvL4a5azamGRc6mcdEscuJrcprIZh2Ux8zF5LtCNFUpJQx2piwLDBpjEA4SzxovRVBKq1o/h34uFvkd+/BrHUpvDyt9vRDnHuB9yeh7/e7GdlMrmiQERWtmL2g4MW/xmH2yE8uye+7A58ZU2v+UZjEzbmRW69DvBJJY0pI2YRsyxKSL5Pfi5pbDwJxSqxL8V13E5wOYb+pPKJxkfYcBTtL2edwvAG1/awyw+TkZjF7hRwSSWeprTfFfsQieGH8VbS8ovTGRcUqCEh0RZWuYyoN3QCBO5G76b0RH4WwJ3d0UBJzcVPkwyuoqdNYgukxuwHj7F/L+rowQ7n6ReUKU2rl9qExiOnIbQjXbkVI6YRx9pYjq2GrL3x/w5lUL0FfAjuZCPQZwTRCHMwRSToC6JA9g8zE4q6wOJyHTxL0KGAlbJuUILSlL4fkDx6XN3ojDTI5eQdxGTffp6C0wHWYVWZEXm4YAXAh+JWJ4TzDyqL84Qn5uV8lgieQpF22cfZBiGVemdVpDubijMdeL7//AFI/zHfY0TqB5vRjCudWCCBx3GhYkv3c/N4xQpKW5jdPaJ08XLo5QDkBcMGKgglWt/Vj+trtpFIkLBO1z3MeczQdwWRQHIC2TBzU1vS2YBCaUxjgmgwcArgyt9kIiO2YY89GdsswwByMDa+NDby3Z/scbbKqahummfRbOsh6vyN9I4Cde2BWExNpY89pc3mZwNnqRwOu5yHaAgSxs0klnIV4RwBJA9L0J92GtF6Oa/WPsavWGP6IVFKSOMoEg66gAOTbXsWfQyNUBotAt9Az/4Fgfk2pQWgIvcxPe6x09/t28ZrRm+k2TWUOHQ0yrpk67j2u2O47kRZQCGat9eJnFZz7U3nJ70D90AxMXvTAjys6cRef5WEgeSomb0jKiw1S3/l5mLibO1DzSWX5PqOp0kM67y9p4GJTY6vPyzfERadoIQbAYIFwHT+U4P4Z7mlWIYoW+djzKBF9CwxbLexDm4cV4DhjOYSHwNKSpY745q0dY5iV+QFm0WEIQzAmuNlCKHthpg6JjG2sKMIWMT59Etai1ciPYz3woaSsWmQMoJjCNRLAU5/SjSNA6+qy5ujXC5N0pGZHMHXEggiuB9z2sB7txjIxGivFx39a/gQWB8ftY8ZMiFzNqr6p1uwJTNjDQH00ZG0a4Tig1plPqRzQe3H8Hyg2jlUA6AB9bcRMyUyCiRmvX75vtnHMiGSBX3vprCof+U0F8/QO4OgVPKH46/+t4ofvg2BIiUX1TKxtsYd54uqatPii66u279uFXTq79EWd2TqpNyT2K/rY/yI90pGKTAG5SEIIFBPHBFMhK+jLRmRbwFhxD8yr+sTdqo/cBVOIyEntWG3GGhQdjILqZq3s6EyI8668txedRhL71i5qv2VrmUvPKfnwTyqsYkLQXpGlZuMyHDsOn/m04wPoL4EtpibS2lSdzqMXenq0sXtS6a482weQ9S6d022JY7o9GFHk0hMI86KiQ8eVuOn70aK93BcLYpCZ2zozyyRD281xC4Eg1xgsnVL9qQ+qfQHLBA9DgFj00C8oddcvKDq8FyEy/9phkF2ho0E2Dw40i7mY6kOc05+GSX+KIyeBWHpSkX0/p9iRtwrvDjLCHxFzBDDIkRxT4UVZypgh0WkpFaqQleIMmxl9ULfUX6eec4+oskiVkj15Ykmk2KQU6noW2BpVnQbyjJ23QbgCH2goxsKuaD+5vq4BLCzLJC0xyqRMyp0k4S86mmKaw/k2dnvwE3twta8cAYIU7RuTd/gXFC4/y+cwCDpY9dZsfXuLGKc8g4ni/miBB+WamOHE+BvJMrBUcvXLOkxn6V3dI4QTY4zpTmdtLD7zs4OAqm6GBV1s/Gimu7sbADdJsVEGQmstzMHAfnmDR9Q8ebuC1TOdeeC/Auph9vOr2mMDt/dfxSCboH1sxa34vrupIr63Y8vZfjLauwezBnOQjrbFRHa6EcMk35AVEanFSBYlt6luzl14WLup5Q9BjPrKaSbRzxZhDJzUS4gkGv710BwbUIAWufya7WRlcZsxim3FvAX2c1uZAvWMKBw5pmAYE2Lai7MK2be0bcGr4VRjmI3dZuQQQ8eGd8bIXwgXxRdGNpZAn/wehjg7jym1f4FBY3tFXYd0up2gcH2evYDIAnSNq5SuqheBOpgcZIb9JFl3uX3vvDTBaxKThvk002rXfOlgPEZOJ8L2GlLbMMmMxwwc4J9dYwu/8GlOCVkK47C3m4Q7kW/MF/+dAx9gUW7/pNQ3yuXt5hxwnzfMvxMMwhle890WfdeguAC01zAwQSGrfemTGjr3h0DLcVw92eg8EmaRv00C5ljK3w5L/3NJ+GvBJT4uQdk6jYoTY0Ui+DALfDcWiMrZ2G/2aX7zQXkkMn3vknTgJxTc/mPcF8LCFLclDNLfGSzXtomauQFl+caUBeo5j/4o99rNZzjr5Cx+tcDYMW/AfowC1+EcM0kgMCqGWD0owQ7DBSR8HHMXZWuA9TWyJ7155QAtMfZ0sObMr2aMTejlx1Vidz5zRUWE0ksVuL4xzhxL597u/k5JXjr/FRiE9DkbyI2RF5I1CBxxjZk1UvRO+sgzBWyP7JVhxuLfYDLnkbhl/NUMha5LEGRIiSTMSUFcko2Qn2uRdbY9dWCwtYW6TYtw8uZSQgJBr39CEaqWIeDDp84ikyiSjP7GBTWffQDGXgTBjaBpX8ShgiIHsffmu7gunGPMNlF7ONa41IlPnSc89bjCqacZ2xcwv2ggsZe/97sV9twkb+Mce52RN9tcBBIjlFZDMolB0HyC2JDxpdjfu5JagaHktsKb5GeG2UKGaB/GdEwa9zS5+Go+vEThV3hlIt9RNhMIznV/jE1XfU/nJLvkV4GEV7gWHzFhrmZxUnuZvuYvvJ9g9vPyKqf47iIqewc2toJEVBUd/G67JBMGWCQxS2lSGLbhG1nnsLWEtK4yeTISNIqEFQibRvppuvDy+xW//cex48QXcZw2hLHajS3MgqpsRzWjYOVsx98kYCCMbLGxbATgAAbGWgK7bZI2R1COnd+mxhR8+NcUXHxQYTeMMZMaR3iO/Zx8i9FYUum1imxHQ5IUGNw6+T5OHuQaaBspKfA25KKmhWma31vT4L4xwoIfUsM/CmYiTZVmt0e3CYaR0W78KjjEr7/R4xU06KtPveq0LNfUvvApNaffhbO9Ax/Qj1SjWW2KdDf8rCLjN2N+MGWYk7DMuk+rdhKUWtHMOj49NiEPybWFdHa2Zh5R68LjEG0QO0zzOoGcR+YhgDkGCC1WsbK2mzbpHm/0ZvkjXN/CAQMYMISrO3Nr2mMSaYf5P1fz4TdRGk1a/oPyQGAewWbYxESO/CtFdn8XWkijmAXdHpudU7xqbz3KtaxEAbNtTnWYQxgQxFvKUAofPYPmV0l47getjd4FYMGScN+XmHJ9mGNz+roMcs6U+xvSSRy7XzEi+fbScxAKosdhCDWPyMBuTANkwnlbPBX6JAXNH1gQiL/pEI6eNHJpfrtEAY/81vL7CHYnGAKpn9nPyb/8w0TUaKNlEMgom6EyzbBnLoSmmIe1B5rgaIP5RbrNtDn74mwGv3bROqeQ24vdTxEQH+b+byrUdDwyGyYEFsZ6rDIXMVHtU/9ZXvEDBOf3oqWrgBn8YIKgsvA9WAdj/aPqau0ny0LoHHtAtf6jyuaPu9yeaxSxMV3H4+szyAhkkJh0vucBJSfvUGziFj4zhmCmoJatevOJXTo+gI8cURk1GerQzrOXfOYngZPWQXUZac5PYkaYXAiE3Tql5jN/odheNAVC2rUdI64YdutrM012ENo922vMmnsYdYxJxkh7yTXxJYFtdZnfi1+bMJHpfIXAePiXwOI8gsLmMx9WOPUBeZNvVfvyHHOgvjRygyL9P0V4sZeaDqWWVcuNlbCko4pSP6o9+9vaOPIr6ib7bILnMhTu6tfnz9dlUIe8RgKIQBzivCgEs8OtwjYcxlfGHDte/rfzqXldO/gGiW8TMcd3HaJR5E/gOzk8EpFejGh891HqMPgeftcGuncUw12Y18Qapja8davoHGNMja4eV5hjbx0DbTSwBUSG4tuHXMOIyTO+xWS+9cJjaj7+y4pO3ksguYoJxkf23KzYjT+rBCGFxWcem2w0L9ykcOZ9CoffCpOI8878FYugqf/c99tKDBzCRFtK6uVjsftdu+PrMuirb2WEMKLxsOPKU+fN1b9XfnP17dUfGcWRuCirBLzbfga0+ya12fAVrArfCULzxAUgI7so7HHE5I+7B+86L/EtjshXvn8leOu+N79ERGtZB9eOi3Y5nwbDXNxm+cOFKRdz0YtMgI3gJEgIj7xZUSqfRKJ8RwmbADV5xztZGb4ME84AhCjo0QXbN3ycUgL5NmP+K9LgK5P/pl98Ayju1dzjZdryNUfemZXR3g7nn5ipdcA4N2Kff+WFYw3E6fzYoTp31jfwBzkx/2Xlb3vG7rl7mSW0eKMJSKl+5l7SNHfTtdMLemTZy96fVKT3mDvHTJdlKXzMbWApmuoS5xEOsIbJZzMoSz0ZILneJu4aM8gIYQ8j6BUOXCGP+5g/VxnjfsdPO6bRccV9d/VsVxbgGu4qVy/FVV/tYVf4CoM42XXYICOGSoMaaLOxheUFcLADpPVF2P/TzqJWs6huDgYrERC3SJlPTLwMmfrA+auCY7+8Xsc1ZtDfHqZJsFGjwzZ7YaB4ew8jqR1/+76IggXNV5lvWWLLob0kQZ3T7K9JjWNN56WZ0ZdOtO+u3/EqfdCrH4jlqcxXdKT41Z//zZ3hKHvlEvb6KjfsI17byglHfV47mr/8e/vNlcN93GHw1/jF1V9e8+f/B3oRxIHfvRpKAAAAAElFTkSuQmCC\"}"
15
+ }
16
+ }
17
+ ]
18
+ },
19
+ "finish_reason": "tool_calls"
20
+ },
21
+ {
22
+ "index": 0,
23
+ "message": {
24
+ "role": "assistant",
25
+ "content": "I've added the image to the session."
26
+ },
27
+ "finish_reason": "stop"
28
+ }
29
+ ]