From 79cfe49ffd27667cca1c1a99488c318dfe5d75d7 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 13:49:54 -0800 Subject: [PATCH 001/312] Rename old plugins -> features --- .../{plugins => features}/auto-task.tsx | 0 .../{plugins => features}/browser.tsx | 0 .../{plugins => features}/discord.tsx | 0 .../components/features/index.tsx | 47 +++++++++++++++++++ .../{plugins => features}/live-mode.tsx | 0 .../{plugins => features}/media-generator.tsx | 0 .../{plugins => features}/rag-memory.tsx | 0 .../{plugins => features}/rate-limit.tsx | 0 .../{plugins => features}/status-updates.tsx | 0 .../{plugins => features}/store.tsx | 0 .../{plugins => features}/telnyx.tsx | 0 .../components/{plugins => features}/tts.tsx | 0 .../{plugins => features}/twitter-spaces.tsx | 0 .../{plugins => features}/twitter.tsx | 0 .../video-perception.tsx | 0 15 files changed, 47 insertions(+) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/auto-task.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/browser.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/discord.tsx (100%) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/index.tsx rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/live-mode.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/media-generator.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/rag-memory.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/rate-limit.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/status-updates.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/store.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/telnyx.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/tts.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/twitter-spaces.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/twitter.tsx (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => features}/video-perception.tsx (100%) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/auto-task.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/auto-task.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/auto-task.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/auto-task.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/browser.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/browser.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/browser.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/browser.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/discord.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/discord.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/discord.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/discord.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/index.tsx new file mode 100644 index 000000000..eddfb89a9 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/index.tsx @@ -0,0 +1,47 @@ +import React from 'react'; +import { TTS } from './tts'; +import { RateLimit } from './rate-limit'; +import { Discord } from './discord'; +import { Twitter } from './twitter'; +import { Telnyx } from './telnyx'; + +export const features = { + tts: ({voiceEndpoint}) => { + return ( + + ); + }, + rateLimit: ({maxUserMessages, maxUserMessagesTime, message}) => { + return ( + + ); + }, + discord: ({token, channels}) => { + if (token) { + channels = channels && channels.map((c: string) => c.trim()).filter(Boolean); + return ( + + ); + } else { + return null; + } + }, + twitterBot: ({token}) => { + if (token) { + return ( + + ); + } else { + return null; + } + }, + telnyx: ({apiKey, phoneNumber, message, voice}) => { + if (apiKey) { + return ( + + ); + } else { + return null; + } + }, +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/live-mode.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/live-mode.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/live-mode.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/live-mode.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/media-generator.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/media-generator.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/media-generator.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/media-generator.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/rag-memory.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/rag-memory.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/rag-memory.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/rag-memory.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/rate-limit.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/rate-limit.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/rate-limit.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/rate-limit.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/status-updates.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/status-updates.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/status-updates.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/status-updates.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/store.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/store.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/store.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/store.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/telnyx.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/telnyx.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/telnyx.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/telnyx.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/tts.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/tts.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/tts.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/tts.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/twitter-spaces.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/twitter-spaces.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/twitter-spaces.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/twitter-spaces.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/twitter.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/twitter.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/twitter.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/twitter.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/video-perception.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/video-perception.tsx similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/video-perception.tsx rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/features/video-perception.tsx From 076a479cf2af5377a9e82ec1cb796e7c44196cb0 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 13:51:36 -0800 Subject: [PATCH 002/312] Make plugins initialized manually in the agent --- .../react-agents/components/core/agent.tsx | 4 - .../components/util/config-components.tsx | 32 -- .../util/agent-features-renderer.tsx | 318 ------------------ 3 files changed, 354 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/util/config-components.tsx delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/util/agent-features-renderer.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/agent.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/agent.tsx index 16338db17..a3154c4ec 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/agent.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/agent.tsx @@ -15,9 +15,6 @@ import { import { DefaultAgentComponents, } from '../util/default-components'; -import { - ConfigAgentComponents, -} from '../util/config-components'; import { AgentRegistry, } from '../../classes/render-registry'; @@ -117,7 +114,6 @@ export const Agent = forwardRef(({ - {children} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/util/config-components.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/util/config-components.tsx deleted file mode 100644 index c3fd108d7..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/util/config-components.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React, { useRef, useState, useEffect, useMemo, useContext } from 'react'; -import type { - AgentObject, -} from '../../types'; -import { - featureRenderers, -} from '../../util/agent-features-renderer'; - -// defaults - -type ConfigAgentComponentProps = { - config?: AgentObject; -}; - -/** - * Renders the default agent components. - * @returns The JSX elements representing the default agent components. - */ -export const ConfigAgentComponents = (props: ConfigAgentComponentProps) => { - const features = props.config?.features ?? {}; - return ( - <> - {Object.keys(features).map((key) => { - const value = features[key]; - const FeatureRenderer = featureRenderers[key]; - return ( - - ); - })} - - ); -}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/util/agent-features-renderer.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/util/agent-features-renderer.tsx deleted file mode 100644 index e78e27993..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/util/agent-features-renderer.tsx +++ /dev/null @@ -1,318 +0,0 @@ -import React from 'react'; -// import { z } from 'zod'; -// import dedent from 'dedent'; -import { TTS } from '../components/plugins/tts'; -import { RateLimit } from '../components/plugins/rate-limit'; -import { Discord } from '../components/plugins/discord'; -import { Twitter } from '../components/plugins/twitter'; -import { Telnyx } from '../components/plugins/telnyx'; -// import { currencies, intervals } from '../constants.mjs'; - -// export const paymentPropsType = z.object({ -// name: z.string(), -// description: z.string().optional(), -// amount: z.number().int(), -// currency: z.enum(currencies), -// }); -// export const paymentItemType = z.object({ -// type: z.literal('payment'), -// props: paymentPropsType, -// }); -// export const subscriptionPropsType = z.object({ -// name: z.string(), -// description: z.string().optional(), -// amount: z.number().int(), -// currency: z.enum(currencies), -// interval: z.enum(intervals), -// intervalCount: z.number(), -// }); -// export const subscriptionItemType = z.object({ -// type: z.literal('subscription'), -// props: subscriptionPropsType, -// }); -// export const storeItemType = z.union([ -// paymentItemType, -// subscriptionItemType, -// ]); - -// - -/* export const featureSpecs = [ - { - name: 'tts', - description: dedent`\ - Text to speech. - Available voice endpoints: - ` + '\n' - + defaultVoices.map(v => `* ${JSON.stringify(v.name)}: ${v.voiceEndpoint}`).join('\n'), - schema: z.union([ - z.object({ - voiceEndpoint: z.enum(defaultVoices.map(v => v.voiceEndpoint)), - }), - z.null(), - ]), - examples: [{voiceEndpoint: defaultVoices[0].voiceEndpoint},], - imports: () => [ - 'TTS', - ], - components: ({ - voiceEndpoint, - }) => [ - dedent` - - `, - ], - }, - { - name: 'rateLimit', - description: dedent`\ - Agent is publicly available. - The rate limit is \`maxUserMessages\` messages per \`maxUserMessagesTime\` milliseconds. - When the rate limit is exceeded, the agent will respond with the static \`message\`. - If either \`maxUserMessages\` or \`maxUserMessagesTime\` is not provided or zero, the rate limit is disabled. - ` + '\n' - + defaultVoices.map(v => `* ${JSON.stringify(v.name)}: ${v.voiceEndpoint}`).join('\n'), - schema: z.union([ - z.object({ - maxUserMessages: z.number().optional(), - maxUserMessagesTime: z.number().optional(), - message: z.string().optional(), - }), - z.null(), - ]), - examples: [{ maxUserMessages: 5, maxUserMessagesTime: 60000, message: "Whoa there! Take a moment.", }], - imports: () => [ - 'RateLimit', - ], - components: ({ - maxUserMessages, - maxUserMessagesTime, - message, - }) => [ - dedent` - - `, - ], - }, - { - name: 'discord', - description: dedent`\ - Add Discord integration to the agent. Add this feature only when the user explicitly requests it and provides a bot token. - - The user should follow these instructions to set up their bot (you can instruct them to do this): - - Create a bot application at https://discord.com/developers/applications and note the CLIENT_ID (also called "application id") - - Enable Privileged Gateway Intents at https://discord.com/developers/applications/CLIENT_ID/bot - - Add the bot to your server at https://discord.com/oauth2/authorize/?permissions=-2080908480&scope=bot&client_id=CLIENT_ID - - Get the bot token at https://discord.com/developers/applications/CLIENT_ID/bot - The token is required and must be provided. - - \`channels\` is a list of channel names (text or voice) that the agent should join. - `, - schema: z.union([ - z.object({ - token: z.string(), - channels: z.array(z.string()), - }), - z.null(), - ]), - examples: [{ token: 'YOUR_DISCORD_BOT_TOKEN', channels: ['general', 'voice'], }], - imports: (discord) => { - if (discord.token) { - return ['Discord']; - } else { - return []; - } - }, - components: (discord) => { - const channels = formatDiscordBotChannels(discord.channels); - if (discord.token && channels.length > 0) { - return [ - dedent` - - `, - ]; - } else { - return []; - } - }, - }, - { - name: 'twitterBot', - description: dedent`\ - Add a Twitter bot to the agent. - - The API token is required. - `, - schema: z.union([ - z.object({ - token: z.string(), - }), - z.null(), - ]), - examples: [{ token: 'YOUR_TWITTER_BOT_TOKEN', }], - imports: (twitterBot) => { - if (twitterBot.token) { - return ['TwitterBot']; - } else { - return []; - } - }, - components: (twitterBot) => { - if (twitterBot.token) { - return [ - dedent` - - `, - ]; - } else { - return []; - } - }, - }, - { - name: 'telnyx', - description: dedent`\ - Add Telnyx phone call/SMS support to the agent. Add this feature only when the user explicitly requests it and provides an api key. - - Phone number is optional, but if provided must be in +E.164 format (e.g. +14151234567). - `, - schema: z.union([ - z.object({ - apiKey: z.string(), - phoneNumber: z.string().optional(), - message: z.boolean(), - voice: z.boolean(), - }), - z.null(), - ]), - examples: [{ apiKey: 'YOUR_TELNYX_API_KEY', phoneNumber: '+14151234567', message: true, voice: true, }], - imports: (telnyx) => { - if (telnyx.apiKey) { - return ['Telnyx']; - } else { - return []; - } - }, - components: (telnyx) => { - if (telnyx.apiKey) { - return [ - dedent` - - `, - ]; - } else { - return []; - } - }, - }, - { - name: 'storeItems', - description: dedent`\ - List of items that can be purchased from the agent, with associated prices. - \`amount\` in cents (e.g. 100 = $1). - `, - schema: z.union([ - z.array(storeItemType), - z.null(), - ]), - examples: [{type: 'payment', props: { name: 'Art', description: 'An art piece', amount: 499, currency: 'usd',},},], - imports: (storeItems) => { - const isValidStoreItem = (storeItem) => - !!storeItem.props.name && !!storeItem.props.amount && !!storeItem.props.currency; - - const result = []; - if (storeItems.some((storeItem) => storeItem.type === 'payment' && isValidStoreItem(storeItem))) { - result.push('Payment'); - } - if (storeItems.some((storeItem) => storeItem.type === 'subscription' && isValidStoreItem(storeItem))) { - result.push('Subscription'); - } - return result; - }, - components: (storeItems) => { - return storeItems.map((storeItem) => { - if (storeItem.type === 'payment') { - if (!!storeItem.props.name && !!storeItem.props.amount && !!storeItem.props.currency) { - return dedent` - - `; - } else { - return ''; - } - } else if (storeItem.type === 'subscription') { - if (!!storeItem.props.name && !!storeItem.props.amount && !!storeItem.props.currency) { - return dedent` - - `; - } else { - return ''; - } - } else { - throw new Error(`unexpected store item type: ${storeItem.type}`); - } - }); - }, - }, -]; */ -export const featureRenderers = { - tts: ({voiceEndpoint}) => { - return ( - - ); - }, - rateLimit: ({maxUserMessages, maxUserMessagesTime, message}) => { - return ( - - ); - }, - discord: ({token, channels}) => { - if (token) { - channels = channels && channels.map((c: string) => c.trim()).filter(Boolean); - return ( - - ); - } else { - return null; - } - }, - twitterBot: ({token}) => { - if (token) { - return ( - - ); - } else { - return null; - } - }, - telnyx: ({apiKey, phoneNumber, message, voice}) => { - if (apiKey) { - return ( - - ); - } else { - return null; - } - }, -} From 6c543988c3ba6eb1d6a15ed5c5a7eb35e7963cc2 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 13:55:29 -0800 Subject: [PATCH 003/312] Update features + plugins import strategy --- .../react-agents/components/core/features.tsx | 31 ++++++++++++++ .../react-agents/components/core/plugins.tsx | 31 ++++++++++++++ .../packages/react-agents/index.tsx | 41 +++++++++++-------- 3 files changed, 87 insertions(+), 16 deletions(-) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/plugins.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx new file mode 100644 index 000000000..78ba32f07 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import type { + AgentObject, +} from '../../types'; +import { + features, +} from '../features/index'; + +// defaults + +type FeaturesProps = { + config?: AgentObject; +}; + +export const Features = (props: FeaturesProps) => { + const featuresConfig = props.config?.features ?? {}; + return ( + <> + {Object.keys(featuresConfig).map((key) => { + const value = featuresConfig[key]; + const Feature = features[key]; + if (!Feature) { + throw new Error(`Feature not found: ${key}`); + } + return ( + + ); + })} + + ); +}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/plugins.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/plugins.tsx new file mode 100644 index 000000000..e151d8624 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/plugins.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import type { + AgentObject, +} from '../../types'; +import { + plugins, +} from '../plugins/index'; + +// defaults + +type PluginsProps = { + config?: AgentObject; +}; + +export const Plugins = (props: PluginsProps) => { + const pluginsConfig = props.config?.plugins ?? {}; + return ( + <> + {Object.keys(pluginsConfig).map((key) => { + const value = pluginsConfig[key]; + const Plugin = plugins[key]; + if (!Plugin) { + throw new Error(`Plugin not found: ${key}`); + } + return ( + + ); + })} + + ); +}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx index eb2d915e7..3f062d1ca 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx @@ -1,29 +1,38 @@ export * from './components/core/action'; export * from './components/core/agent'; -export * from './components/plugins/browser'; export * from './components/core/chat'; export * from './components/core/conversation'; -export * from './components/util/default-components'; -export * from './components/plugins/discord'; -export * from './components/plugins/live-mode'; -export * from './components/plugins/media-generator'; -export * from './components/plugins/rag-memory'; -export * from './components/util/message-utils'; export * from './components/core/name'; export * from './components/core/perception'; export * from './components/core/personality'; export * from './components/core/prompt'; -export * from './components/plugins/rate-limit'; -export * from './components/plugins/status-updates'; -export * from './components/plugins/store'; -export * from './components/plugins/telnyx'; -export * from './components/plugins/tts'; -export * from './components/plugins/twitter-spaces'; -export * from './components/plugins/twitter'; export * from './components/core/uniform'; -export * from './components/plugins/video-perception'; +export * from './components/core/features'; +export * from './components/core/plugins'; + +// export * from './components/features/browser'; +// export * from './components/features/discord'; +// export * from './components/features/live-mode'; +// export * from './components/features/media-generator'; +// export * from './components/features/rag-memory'; +// export * from './components/features/rate-limit'; +// export * from './components/features/status-updates'; +// export * from './components/features/store'; +// export * from './components/features/telnyx'; +// export * from './components/features/tts'; +// export * from './components/features/twitter-spaces'; +// export * from './components/features/twitter'; +// export * from './components/features/video-perception'; +// export * from './components/features/auto-task'; + +export * from './components/features/index'; + +export * from './components/plugins/index'; + +export * from './components/util/default-components'; +export * from './components/util/message-utils'; + export * from './loops/chat-loop'; export * from './loops/action-loop'; -export * from './components/plugins/auto-task'; export * from './hooks'; From 05590c2d807d8383419d5af18e3ff30453fd9082 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 13:57:03 -0800 Subject: [PATCH 004/312] Add fs proxy stub --- packages/usdk/packages/upstreet-agent/package.json | 2 ++ packages/usdk/packages/upstreet-agent/packages/fs/fs.mjs | 2 ++ .../usdk/packages/upstreet-agent/packages/fs/package.json | 4 ++++ 3 files changed, 8 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/fs/fs.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/fs/package.json diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 86fbef5d1..58e34aa36 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -16,9 +16,11 @@ "dotenv": "^16.4.5", "ethers": "^6.12.0", "format-util": "^1.0.5", + "fs": "file:./packages/fs", "javascript-time-ago": "^2.5.11", "jest": "^29.0.0", "jimp": "^1.6.0", + "memfs": "^4.15.1", "memoize-one": "^6.0.0", "minimatch": "^9.0.4", "openai": "^4.56.0", diff --git a/packages/usdk/packages/upstreet-agent/packages/fs/fs.mjs b/packages/usdk/packages/upstreet-agent/packages/fs/fs.mjs new file mode 100644 index 000000000..f5385398f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/fs/fs.mjs @@ -0,0 +1,2 @@ +export { default } from 'memfs'; +export * from 'memfs'; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/fs/package.json b/packages/usdk/packages/upstreet-agent/packages/fs/package.json new file mode 100644 index 000000000..90f416861 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/fs/package.json @@ -0,0 +1,4 @@ +{ + "name": "fs", + "main": "fs.mjs" +} \ No newline at end of file From 1462c5072608438f94f5832f2769793e98733b26 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 13:57:49 -0800 Subject: [PATCH 005/312] Add missing @fal-ai/client for 3d generation plugin --- packages/usdk/packages/upstreet-agent/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 58e34aa36..2ca4dcff4 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -4,6 +4,7 @@ "dependencies": { "@aws-sdk/util-format-url": "^3.577.0", "@electric-sql/pglite": "^0.2.15", + "@fal-ai/client": "^1.2.1", "@iarna/toml": "^2.2.5", "@supabase/postgrest-js": "^1.17.7", "@supabase/supabase-js": "^2.47.1", From a1413c03e5f497061e9aacef55af8e6db4e4e7d0 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 13:58:13 -0800 Subject: [PATCH 006/312] Add @elizaos/core proxy --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../upstreet-agent/packages/elizaos-core/elizaos-core.ts | 8 ++++++++ .../upstreet-agent/packages/elizaos-core/package.json | 4 ++++ 3 files changed, 13 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core/elizaos-core.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core/package.json diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 2ca4dcff4..f244911ea 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -4,6 +4,7 @@ "dependencies": { "@aws-sdk/util-format-url": "^3.577.0", "@electric-sql/pglite": "^0.2.15", + "@elizaos/core": "file:./packages/elizaos-core", "@fal-ai/client": "^1.2.1", "@iarna/toml": "^2.2.5", "@supabase/postgrest-js": "^1.17.7", diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core/elizaos-core.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core/elizaos-core.ts new file mode 100644 index 000000000..b1593edec --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core/elizaos-core.ts @@ -0,0 +1,8 @@ +export const elizaLogger = console.log; + +export const Action = {}; +export const HandlerCallback = {}; +export const IAgentRuntime = {}; +export const Memory = {}; +export const Plugin = {}; +export const State = {}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core/package.json b/packages/usdk/packages/upstreet-agent/packages/elizaos-core/package.json new file mode 100644 index 000000000..bd7788230 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core/package.json @@ -0,0 +1,4 @@ +{ + "name": "@elizaos/core", + "main": "elizaos-core.ts" +} \ No newline at end of file From 0cab4ae9c4f7bf989106ed35faaef9d33da90b3a Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 13:59:10 -0800 Subject: [PATCH 007/312] Update types --- .../upstreet-agent/packages/react-agents/types/react-agents.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/types/react-agents.d.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/types/react-agents.d.ts index a1851d0a1..d928f9aa6 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/types/react-agents.d.ts +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/types/react-agents.d.ts @@ -37,6 +37,7 @@ export type AgentObjectData = { smallModel?: string; largeModel?: string; features?: string[]; + plugins?: string[]; address?: string; stripeConnectAccountId?: string; }; From 641f78fa24e9d34a7e74131dbdf6a2b85f63ce91 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 13:59:18 -0800 Subject: [PATCH 008/312] Update lock --- pnpm-lock.yaml | 122 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eae781386..c91e41f25 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -939,6 +939,12 @@ importers: '@electric-sql/pglite': specifier: ^0.2.15 version: 0.2.15 + '@elizaos/core': + specifier: file:./packages/elizaos-core + version: link:packages/elizaos-core + '@fal-ai/client': + specifier: ^1.2.1 + version: 1.2.1 '@iarna/toml': specifier: ^2.2.5 version: 2.2.5 @@ -975,6 +981,9 @@ importers: format-util: specifier: ^1.0.5 version: 1.0.5 + fs: + specifier: file:./packages/fs + version: link:packages/fs javascript-time-ago: specifier: ^2.5.11 version: 2.5.11 @@ -984,6 +993,9 @@ importers: jimp: specifier: ^1.6.0 version: 1.6.0 + memfs: + specifier: ^4.15.1 + version: 4.15.1 memoize-one: specifier: ^6.0.0 version: 6.0.0 @@ -1081,6 +1093,10 @@ importers: packages/usdk/packages/upstreet-agent/packages/debouncer: {} + packages/usdk/packages/upstreet-agent/packages/elizaos-core: {} + + packages/usdk/packages/upstreet-agent/packages/fs: {} + packages/usdk/packages/upstreet-agent/packages/path-util: {} packages/usdk/packages/upstreet-agent/packages/playwright-core-lite: {} @@ -2033,6 +2049,9 @@ packages: resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} engines: {node: '>=12'} + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/elizaos-core, type: directory} + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -2819,6 +2838,10 @@ packages: resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@fal-ai/client@1.2.1': + resolution: {integrity: sha512-Z/bztRqOeduuUYl74VPQRDS12vjXGGebROJM7NcJXCmkV4GSZllA68ES1GwY3Q+31puukBoOppC0iBmY6us5MQ==} + engines: {node: '>=18.0.0'} + '@fal-works/esbuild-plugin-global-externals@2.1.2': resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} @@ -3358,6 +3381,24 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jsonjoy.com/base64@1.1.2': + resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/json-pack@1.1.1': + resolution: {integrity: sha512-osjeBqMJ2lb/j/M8NCPjs1ylqWIcTRTycIhVB5pt6LgzgeRSb0YRZ7j9RfA8wIUrsr/medIuhVyonXRZWLyfdw==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + + '@jsonjoy.com/util@1.5.0': + resolution: {integrity: sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} @@ -3398,6 +3439,10 @@ packages: peerDependencies: three: '>= 0.159.0' + '@msgpack/msgpack@3.0.0-beta2': + resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} + engines: {node: '>= 14'} + '@mui/core-downloads-tracker@5.16.11': resolution: {integrity: sha512-2eVDGg9OvIXNRmfDUQyKYH+jNcjdv1JkCH5F2YDgUye5fMX5nxGiYHAUe1BXaXyDMaLSwXC7LRksEKMiIQsFdw==} @@ -8916,6 +8961,9 @@ packages: fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fs@file:packages/usdk/packages/upstreet-agent/packages/fs: + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/fs, type: directory} + fsevents@2.1.3: resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -9369,6 +9417,10 @@ packages: humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + hyperdyperid@1.2.0: + resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} + engines: {node: '>=10.18'} + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -10587,6 +10639,10 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} + memfs@4.15.1: + resolution: {integrity: sha512-ufCzgFwiVnR6R9cCYuvwznJdhdYXEvFl0hpnM4cCtVaVkHuqBR+6fo2sqt1SSMdp+uiHw9GyPZr3OMM5tqjSmQ==} + engines: {node: '>= 4.0.0'} + memoize-one@6.0.0: resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} @@ -12661,6 +12717,9 @@ packages: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} + robot3@0.4.1: + resolution: {integrity: sha512-hzjy826lrxzx8eRgv80idkf8ua1JAepRc9Efdtj03N3KNJuznQCPlyCJ7gnUmDFwZCLQjxy567mQVKmdv2BsXQ==} + robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} @@ -13468,6 +13527,12 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thingies@1.21.0: + resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 + three-mesh-bvh@0.7.8: resolution: {integrity: sha512-BGEZTOIC14U0XIRw3tO4jY7IjP7n7v24nv9JXS1CyeVRWOCkcOMhRnmENUjuV39gktAw4Ofhr0OvIAiTspQrrw==} deprecated: Deprecated due to three.js version incompatibility. Please use v0.8.0, instead. @@ -13549,6 +13614,12 @@ packages: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} + tree-dump@1.0.2: + resolution: {integrity: sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -15632,6 +15703,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core': {} + '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 @@ -16121,6 +16194,12 @@ snapshots: '@eslint/js@9.16.0': {} + '@fal-ai/client@1.2.1': + dependencies: + '@msgpack/msgpack': 3.0.0-beta2 + eventsource-parser: 1.1.2 + robot3: 0.4.1 + '@fal-works/esbuild-plugin-global-externals@2.1.2': {} '@fastify/busboy@2.1.1': {} @@ -16934,6 +17013,22 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@jsonjoy.com/base64@1.1.2(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + + '@jsonjoy.com/json-pack@1.1.1(tslib@2.8.1)': + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + hyperdyperid: 1.2.0 + thingies: 1.21.0(tslib@2.8.1) + tslib: 2.8.1 + + '@jsonjoy.com/util@1.5.0(tslib@2.8.1)': + dependencies: + tslib: 2.8.1 + '@juggle/resize-observer@3.4.0': {} '@mapbox/node-pre-gyp@1.0.11': @@ -17019,6 +17114,8 @@ snapshots: promise-worker-transferable: 1.0.4 three: 0.167.1 + '@msgpack/msgpack@3.0.0-beta2': {} + '@mui/core-downloads-tracker@5.16.11': {} '@mui/material@5.16.11(@emotion/react@11.14.0(@types/react@18.2.48)(react@18.2.0))(@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.2.48)(react@18.2.0))(@types/react@18.2.48)(react@18.2.0))(@types/react@18.2.48)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': @@ -24237,6 +24334,8 @@ snapshots: fs.realpath@1.0.0: {} + fs@file:packages/usdk/packages/upstreet-agent/packages/fs: {} + fsevents@2.1.3: optional: true @@ -24895,6 +24994,8 @@ snapshots: dependencies: ms: 2.1.3 + hyperdyperid@1.2.0: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -26690,6 +26791,13 @@ snapshots: dependencies: fs-monkey: 1.0.6 + memfs@4.15.1: + dependencies: + '@jsonjoy.com/json-pack': 1.1.1(tslib@2.8.1) + '@jsonjoy.com/util': 1.5.0(tslib@2.8.1) + tree-dump: 1.0.2(tslib@2.8.1) + tslib: 2.8.1 + memoize-one@6.0.0: {} memoize@10.0.0: @@ -29139,6 +29247,8 @@ snapshots: sprintf-js: 1.1.3 optional: true + robot3@0.4.1: {} + robust-predicates@3.0.2: {} rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.7.2): @@ -30146,6 +30256,10 @@ snapshots: dependencies: any-promise: 1.3.0 + thingies@1.21.0(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + three-mesh-bvh@0.7.8(three@0.167.1): dependencies: three: 0.167.1 @@ -30233,6 +30347,10 @@ snapshots: dependencies: punycode: 2.3.1 + tree-dump@1.0.2(tslib@2.8.1): + dependencies: + tslib: 2.8.1 + tree-kill@1.2.2: {} trim-lines@3.0.1: {} @@ -30703,6 +30821,8 @@ snapshots: dependencies: '@aws-sdk/util-format-url': 3.709.0 '@electric-sql/pglite': 0.2.15 + '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core + '@fal-ai/client': 1.2.1 '@iarna/toml': 2.2.5 '@supabase/postgrest-js': 1.17.7 '@supabase/supabase-js': 2.47.5 @@ -30715,9 +30835,11 @@ snapshots: dotenv: 16.4.7 ethers: 6.13.4 format-util: 1.0.5 + fs: file:packages/usdk/packages/upstreet-agent/packages/fs javascript-time-ago: 2.5.11 jest: 29.7.0(@types/node@18.19.68)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)) jimp: 1.6.0 + memfs: 4.15.1 memoize-one: 6.0.0 minimatch: 9.0.5 openai: 4.76.1(zod@3.24.1) From 41e24df75a7d5e5f3a2b3db35d6f69df512af5cd Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 13:59:57 -0800 Subject: [PATCH 009/312] Add missing fs resolve --- .../upstreet-agent/packages/react-agents-node/worker.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs index efe7bb13f..de10c43f2 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs @@ -108,6 +108,9 @@ const makeViteServer = async (directory) => { ssr: { external: ['react', 'react-reconciler'], }, + resolve: { + fs: import.meta.resolve('fs').replace('file://', ''), + }, }); }; From a23280a96278af4bcd7901e23256c0e7de2c206c Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 14:00:46 -0800 Subject: [PATCH 010/312] Add node builtin proxy implementation note --- .../upstreet-agent/packages/react-agents-node/worker.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs index de10c43f2..7f6392ccb 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs @@ -109,6 +109,7 @@ const makeViteServer = async (directory) => { external: ['react', 'react-reconciler'], }, resolve: { + // these proxies are necessary for vite to polyfill node builtins fs: import.meta.resolve('fs').replace('file://', ''), }, }); From 814a8569513e1714bf338ef9812e4705c8d5805d Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 14:01:43 -0800 Subject: [PATCH 011/312] Add plugin for testing --- .../components/plugins/core/tsconfig.json | 3 + .../react-agents/components/plugins/index.tsx | 13 ++ .../plugins/plugin-3d-generation/.npmignore | 7 + .../plugin-3d-generation/eslint.config.mjs | 3 + .../plugins/plugin-3d-generation/package.json | 20 ++ .../plugin-3d-generation/src/constants.ts | 4 + .../plugins/plugin-3d-generation/src/index.ts | 198 ++++++++++++++++++ .../plugin-3d-generation/tsconfig.json | 15 ++ .../plugin-3d-generation/tsup.config.ts | 21 ++ 9 files changed, 284 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/core/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/constants.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/core/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/core/tsconfig.json new file mode 100644 index 000000000..5c133cc04 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/core/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../../../../../../tsconfig.json" +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx new file mode 100644 index 000000000..92d98f55a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -0,0 +1,13 @@ +import { ThreeDGenerationPlugin } from './plugin-3d-generation/src/index.ts'; + +// XXX finish this +type IPlugin = {}; + +const pluginWrap = (IPlugin: any) => (props: any) => { + console.log('render plugin', ThreeDGenerationPlugin); + return null; +}; + +export const plugins = { + plugin3dGeneration: pluginWrap(ThreeDGenerationPlugin), +}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/.npmignore new file mode 100644 index 000000000..a9227d220 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/.npmignore @@ -0,0 +1,7 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts +!tsconfig.json \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/package.json new file mode 100644 index 000000000..30b4982c7 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/package.json @@ -0,0 +1,20 @@ +{ + "name": "@elizaos/plugin-3d-generation", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "8.3.5", + "whatwg-url": "7.1.0" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/constants.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/constants.ts new file mode 100644 index 000000000..dbde2ab6e --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/constants.ts @@ -0,0 +1,4 @@ +export const FAL_CONSTANTS = { + API_3D_ENDPOINT: "fal-ai/hyper3d/rodin", + API_KEY_SETTING: "FAL_API_KEY", // The setting name to fetch from runtime +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/index.ts new file mode 100644 index 000000000..67b41c47e --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/index.ts @@ -0,0 +1,198 @@ +import { elizaLogger } from "@elizaos/core"; +import { + Action, + HandlerCallback, + IAgentRuntime, + Memory, + Plugin, + State, +} from "@elizaos/core"; +import { fal } from "@fal-ai/client"; +import { FAL_CONSTANTS } from "./constants"; + +import * as fs from 'fs'; +import { Buffer } from 'buffer'; +import * as path from 'path'; +import * as process from 'process'; + +const generate3D = async (prompt: string, runtime: IAgentRuntime) => { + process.env['FAL_KEY'] = FAL_CONSTANTS.API_KEY_SETTING || runtime.getSetting("FAL_API_KEY"); + + try { + elizaLogger.log("Starting 3D generation with prompt:", prompt); + + const response = await fal.subscribe(FAL_CONSTANTS.API_3D_ENDPOINT, { + input: { + prompt: prompt, + input_image_urls: [], + condition_mode: "concat", // fuse concat + geometry_file_format: "glb", // glb usdz fbx obj stl + material: "PBR", // PBR Shaded + quality: "medium", // extra-low, low, medium, high + tier: "Regular" // Regular, Sketch + }, + logs: true, + onQueueUpdate: (update) => { + if (update.status === "IN_PROGRESS") { + update.logs.map((log) => log.message).forEach(elizaLogger.log); + } + }, + }); + + + elizaLogger.log( + "Generation request successful, received response:", + response + ); + + + return {success: true, + url: response.data.model_mesh.url, + file_name: response.data.model_mesh.file_name}; + + } catch (error) { + elizaLogger.error("3D generation error:", error); + return { + success: false, + error: error.message || "Unknown error occurred", + }; + } +}; + +const ThreeDGeneration: Action = { + name: "GENERATE_3D", + similes: [ + "3D_GENERATION", + "3D_GEN", + "CREATE_3D", + "MAKE_3D", + "TEXT23D", + "TEXT_TO_3D", + "3D_CREATE", + "3D_MAKE", + ], + description: "Generate a 3D object based on a text prompt", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.log("Validating 3D generation action"); + const FalApiKey = runtime.getSetting("FAL_API_KEY"); + elizaLogger.log("FAL_API_KEY present:", !!FalApiKey); + return !!FalApiKey; + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + _state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.log("3D generation request:", message); + + // Clean up the prompt by removing mentions and commands + const ThreeDPrompt = message.content.text + .replace(/<@\d+>/g, "") // Remove mentions + .replace( + /generate 3D|create 3D|make 3D|render 3D/gi, + "" + ) // Remove commands + .trim(); + + if (!ThreeDPrompt || ThreeDPrompt.length < 3) { + callback({ + text: "Could you please provide more details about what kind of 3D object you'd like me to generate? For example: 'Generate a lovely cat'", + }); + return; + } + + elizaLogger.log("3D prompt:", ThreeDPrompt); + + callback({ + text: `I'll generate a 3D object based on your prompt: "${ThreeDPrompt}". This might take a few minutes...`, + }); + + try { + const result = await generate3D(ThreeDPrompt, runtime); + + if (result.success && result.url && result.file_name) { + // Download the 3D file + const response = await fetch(result.url); + const arrayBuffer = await response.arrayBuffer(); + const ThreeDFileName = `content_cache/generated_3d_${result.file_name}`; + + // ensure the directory is existed + const directoryPath = path.dirname(ThreeDFileName); + if (!fs.existsSync(directoryPath)) { + fs.mkdirSync(directoryPath, { recursive: true }); + } + + // Save 3D file + fs.writeFileSync(ThreeDFileName, Buffer.from(arrayBuffer)); + + callback( + { + text: "Here's your generated 3D object!", + attachments: [ + { + id: crypto.randomUUID(), + url: result.url, + title: "Generated 3D", + source: "ThreeDGeneration", + description: ThreeDPrompt, + text: ThreeDPrompt, + }, + ], + }, + [ThreeDFileName] + ); // Add the 3D file to the attachments + } else { + callback({ + text: `3D generation failed: ${result.error}`, + error: true, + }); + } + } catch (error) { + elizaLogger.error(`Failed to generate 3D. Error: ${error}`); + callback({ + text: `3D generation failed: ${error.message}`, + error: true, + }); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { text: "Generate a 3D object of a cat playing piano" }, + }, + { + user: "{{agentName}}", + content: { + text: "I'll create a 3D object of a cat playing piano for you", + action: "GENERATE_3D", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Can you make a 3D object of a anime character Goku?", + }, + }, + { + user: "{{agentName}}", + content: { + text: "I'll generate a 3D object of a anime character Goku for you", + action: "GENERATE_3D", + }, + }, + ], + ], +} as Action; + +export const ThreeDGenerationPlugin: Plugin = { + name: "3DGeneration", + description: "Generate 3D using Hyper 3D", + actions: [ThreeDGeneration], + evaluators: [], + providers: [], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/tsconfig.json new file mode 100644 index 000000000..06a0ab4e6 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "module": "ESNext", + "moduleResolution": "Bundler", + "types": [ + "node" + ] + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/tsup.config.ts new file mode 100644 index 000000000..8c78dce12 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/tsup.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], + external: [ + "dotenv", + "fs", + "path", + "process", + "@reflink/reflink", + "@node-llama-cpp", + "@fal-ai/client", + "https", + "http", + "agentkeepalive", + ], +}); From b5e4af24331ec3a2569297b9f92094b860aa4e24 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 14:05:10 -0800 Subject: [PATCH 012/312] Code cleanup --- .../packages/react-agents/components/core/features.tsx | 2 -- .../packages/react-agents/components/core/plugins.tsx | 2 -- 2 files changed, 4 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx index 78ba32f07..950313edd 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx @@ -6,8 +6,6 @@ import { features, } from '../features/index'; -// defaults - type FeaturesProps = { config?: AgentObject; }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/plugins.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/plugins.tsx index e151d8624..412bf7dfc 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/plugins.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/plugins.tsx @@ -6,8 +6,6 @@ import { plugins, } from '../plugins/index'; -// defaults - type PluginsProps = { config?: AgentObject; }; From 47a2d16f01df62d51adba040e5817b73b46ad355 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 14:06:43 -0800 Subject: [PATCH 013/312] Update proxy package names to be more specific --- .../packages/{elizaos-core => elizaos-core-proxy}/elizaos-core.ts | 0 .../packages/{elizaos-core => elizaos-core-proxy}/package.json | 0 .../usdk/packages/upstreet-agent/packages/{fs => fs-proxy}/fs.mjs | 0 .../upstreet-agent/packages/{fs => fs-proxy}/package.json | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename packages/usdk/packages/upstreet-agent/packages/{elizaos-core => elizaos-core-proxy}/elizaos-core.ts (100%) rename packages/usdk/packages/upstreet-agent/packages/{elizaos-core => elizaos-core-proxy}/package.json (100%) rename packages/usdk/packages/upstreet-agent/packages/{fs => fs-proxy}/fs.mjs (100%) rename packages/usdk/packages/upstreet-agent/packages/{fs => fs-proxy}/package.json (100%) diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core/elizaos-core.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/elizaos-core/elizaos-core.ts rename to packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core/package.json b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/package.json similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/elizaos-core/package.json rename to packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/package.json diff --git a/packages/usdk/packages/upstreet-agent/packages/fs/fs.mjs b/packages/usdk/packages/upstreet-agent/packages/fs-proxy/fs.mjs similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/fs/fs.mjs rename to packages/usdk/packages/upstreet-agent/packages/fs-proxy/fs.mjs diff --git a/packages/usdk/packages/upstreet-agent/packages/fs/package.json b/packages/usdk/packages/upstreet-agent/packages/fs-proxy/package.json similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/fs/package.json rename to packages/usdk/packages/upstreet-agent/packages/fs-proxy/package.json From 5a6f33b5048f6715dfe25d9e07b41d7abace79fb Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 14:07:26 -0800 Subject: [PATCH 014/312] Update package imports and lock --- .../usdk/packages/upstreet-agent/package.json | 4 +-- pnpm-lock.yaml | 28 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index f244911ea..d1a060cb4 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -4,7 +4,7 @@ "dependencies": { "@aws-sdk/util-format-url": "^3.577.0", "@electric-sql/pglite": "^0.2.15", - "@elizaos/core": "file:./packages/elizaos-core", + "@elizaos/core": "file:./packages/elizaos-core-proxy", "@fal-ai/client": "^1.2.1", "@iarna/toml": "^2.2.5", "@supabase/postgrest-js": "^1.17.7", @@ -18,7 +18,7 @@ "dotenv": "^16.4.5", "ethers": "^6.12.0", "format-util": "^1.0.5", - "fs": "file:./packages/fs", + "fs": "file:./packages/fs-proxy", "javascript-time-ago": "^2.5.11", "jest": "^29.0.0", "jimp": "^1.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c91e41f25..ebde425d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -940,8 +940,8 @@ importers: specifier: ^0.2.15 version: 0.2.15 '@elizaos/core': - specifier: file:./packages/elizaos-core - version: link:packages/elizaos-core + specifier: file:./packages/elizaos-core-proxy + version: link:packages/elizaos-core-proxy '@fal-ai/client': specifier: ^1.2.1 version: 1.2.1 @@ -982,8 +982,8 @@ importers: specifier: ^1.0.5 version: 1.0.5 fs: - specifier: file:./packages/fs - version: link:packages/fs + specifier: file:./packages/fs-proxy + version: link:packages/fs-proxy javascript-time-ago: specifier: ^2.5.11 version: 2.5.11 @@ -1093,9 +1093,9 @@ importers: packages/usdk/packages/upstreet-agent/packages/debouncer: {} - packages/usdk/packages/upstreet-agent/packages/elizaos-core: {} + packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy: {} - packages/usdk/packages/upstreet-agent/packages/fs: {} + packages/usdk/packages/upstreet-agent/packages/fs-proxy: {} packages/usdk/packages/upstreet-agent/packages/path-util: {} @@ -2049,8 +2049,8 @@ packages: resolution: {integrity: sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==} engines: {node: '>=12'} - '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core': - resolution: {directory: packages/usdk/packages/upstreet-agent/packages/elizaos-core, type: directory} + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy, type: directory} '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -8961,8 +8961,8 @@ packages: fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fs@file:packages/usdk/packages/upstreet-agent/packages/fs: - resolution: {directory: packages/usdk/packages/upstreet-agent/packages/fs, type: directory} + fs@file:packages/usdk/packages/upstreet-agent/packages/fs-proxy: + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/fs-proxy, type: directory} fsevents@2.1.3: resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==} @@ -15703,7 +15703,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core': {} + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy': {} '@emnapi/runtime@1.3.1': dependencies: @@ -24334,7 +24334,7 @@ snapshots: fs.realpath@1.0.0: {} - fs@file:packages/usdk/packages/upstreet-agent/packages/fs: {} + fs@file:packages/usdk/packages/upstreet-agent/packages/fs-proxy: {} fsevents@2.1.3: optional: true @@ -30821,7 +30821,7 @@ snapshots: dependencies: '@aws-sdk/util-format-url': 3.709.0 '@electric-sql/pglite': 0.2.15 - '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core + '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy '@fal-ai/client': 1.2.1 '@iarna/toml': 2.2.5 '@supabase/postgrest-js': 1.17.7 @@ -30835,7 +30835,7 @@ snapshots: dotenv: 16.4.7 ethers: 6.13.4 format-util: 1.0.5 - fs: file:packages/usdk/packages/upstreet-agent/packages/fs + fs: file:packages/usdk/packages/upstreet-agent/packages/fs-proxy javascript-time-ago: 2.5.11 jest: 29.7.0(@types/node@18.19.68)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)) jimp: 1.6.0 From 922208e8728a39dd5321a1acf8867712c4d06f83 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 17:05:38 -0800 Subject: [PATCH 015/312] Update elizaLogger export --- .../upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts index b1593edec..e8868cba7 100644 --- a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts @@ -1,4 +1,4 @@ -export const elizaLogger = console.log; +export const elizaLogger = console; export const Action = {}; export const HandlerCallback = {}; From eadbfce385107948a6b0decb47d54cdbcfeb90f8 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 17:06:06 -0800 Subject: [PATCH 016/312] Major plugins integration debugging --- .../react-agents/components/plugins/index.tsx | 131 +++++++++++++++++- 1 file changed, 125 insertions(+), 6 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 92d98f55a..5a6735082 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -1,13 +1,132 @@ +import React from 'react'; +import { Action, useEnv } from 'react-agents'; +import { z } from 'zod'; import { ThreeDGenerationPlugin } from './plugin-3d-generation/src/index.ts'; +import util from 'util'; -// XXX finish this -type IPlugin = {}; -const pluginWrap = (IPlugin: any) => (props: any) => { - console.log('render plugin', ThreeDGenerationPlugin); - return null; +function generateZodSchema(obj: any): z.ZodTypeAny { + if (typeof obj === "string") return z.string(); + if (typeof obj === "number") return z.number(); + if (typeof obj === "boolean") return z.boolean(); + if (Array.isArray(obj)) { + return z.array(generateZodSchema(obj[0] || z.any())); + } + if (typeof obj === "object" && obj !== null) { + const shape: Record = {}; + for (const key in obj) { + shape[key] = generateZodSchema(obj[key]); + } + return z.object(shape); + } + return z.any(); +} + +type IActionHandlerAttachment = { + id: string; + url: string; + // title: "Generated 3D", + // source: "ThreeDGeneration", + // description: ThreeDPrompt, + // text: ThreeDPrompt, +}; +type IActionHandlerCallbackArgs = { + text: string; + error?: boolean; + attachments?: IActionHandlerAttachment[], +}; +type IActionHandler = ( + runtime: any, + message: { + content: any; + }, + state: any, + options: any, + callback: (result: IActionHandlerCallbackArgs) => void, +) => void; +type IAction = { + name: string; + // similies?: string[]; + description: string; + examples: any[]; + handler: IActionHandler; +}; +type IPlugin = { + actions: IAction[]; +}; + +const pluginWrap = (plugin: IPlugin) => (props: any) => { + console.log('render plugin', util.inspect(plugin, { + depth: 7, + })); + const env = useEnv(); + return ( + <> + {(plugin.actions ?? []).map((action: any) => { + const examples = action.examples.map(exampleMessages => { + const agentMessages = exampleMessages.filter(message => { + return /agentName/.test(message.user); + }); + if (agentMessages.length > 0) { + const agentMessage = agentMessages[0]; + const { + action, + ...args + } = agentMessage.content; + return args; + } else { + return null; + } + }).filter(Boolean); + console.log('got examples', examples); + if (examples.length > 0) { + const schema = generateZodSchema(examples[0]); + // console.log('got schema', schema); + return ( + { + const { args } = e.data.message; + console.log('got handler', args); + + await new Promise((resolve, reject) => { + const runtime = { + getSetting(key: string) { + return env[key]; + }, + }; + const message = { + content: args, + } + const state = {}; + const options = {}; + const callback = (result: IActionHandlerCallbackArgs) => { + console.log('got callback result', result); + const { + text, + error, + attachments, + } = result; + resolve(null); + }; + console.log('call action handler', action.handler); + action.handler(runtime, message, state, options, callback); + }); + }} + key={action.name} + /> + ); + } else { + return null; + } + }).filter(Boolean)} + + ); }; export const plugins = { - plugin3dGeneration: pluginWrap(ThreeDGenerationPlugin), + '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), }; \ No newline at end of file From 5508bb1a5d1b5a163579cadca980210ed97013d7 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 17:06:42 -0800 Subject: [PATCH 017/312] Patch 3d generation plugin --- .../components/plugins/plugin-3d-generation/src/index.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/index.ts index 67b41c47e..bf1f2fb42 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/index.ts +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/src/index.ts @@ -13,10 +13,11 @@ import { FAL_CONSTANTS } from "./constants"; import * as fs from 'fs'; import { Buffer } from 'buffer'; import * as path from 'path'; -import * as process from 'process'; const generate3D = async (prompt: string, runtime: IAgentRuntime) => { - process.env['FAL_KEY'] = FAL_CONSTANTS.API_KEY_SETTING || runtime.getSetting("FAL_API_KEY"); + fal.config({ + credentials: runtime.getSetting("FAL_API_KEY"), + }); try { elizaLogger.log("Starting 3D generation with prompt:", prompt); From 85801d71a9a09622dda6eda7d8874205508d6996 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 17:08:46 -0800 Subject: [PATCH 018/312] Update features component typeing --- .../packages/react-agents/components/core/features.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx index 950313edd..09a148e96 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/features.tsx @@ -10,7 +10,7 @@ type FeaturesProps = { config?: AgentObject; }; -export const Features = (props: FeaturesProps) => { +export const Features: React.FC = (props: FeaturesProps) => { const featuresConfig = props.config?.features ?? {}; return ( <> From 46f25dff0c3d97acb17e77efc602a4c494557e92 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 19:44:23 -0800 Subject: [PATCH 019/312] Add solana plugin --- .../plugins/plugin-solana/.npmignore | 6 + .../plugins/plugin-solana/eslint.config.mjs | 3 + .../plugins/plugin-solana/package.json | 33 + .../plugins/plugin-solana/src/actions/fomo.ts | 627 +++++++++ .../plugin-solana/src/actions/pumpfun.ts | 513 ++++++++ .../plugins/plugin-solana/src/actions/swap.ts | 401 ++++++ .../plugin-solana/src/actions/swapDao.ts | 152 +++ .../plugin-solana/src/actions/swapUtils.ts | 327 +++++ .../plugin-solana/src/actions/takeOrder.ts | 136 ++ .../plugin-solana/src/actions/transfer.ts | 263 ++++ .../plugins/plugin-solana/src/bignumber.ts | 9 + .../plugins/plugin-solana/src/environment.ts | 76 ++ .../plugin-solana/src/evaluators/trust.ts | 543 ++++++++ .../plugins/plugin-solana/src/index.ts | 36 + .../plugins/plugin-solana/src/keypairUtils.ts | 82 ++ .../plugin-solana/src/providers/orderBook.ts | 45 + .../src/providers/simulationSellingService.ts | 501 ++++++++ .../plugin-solana/src/providers/token.ts | 1124 +++++++++++++++++ .../plugin-solana/src/providers/tokenUtils.ts | 72 ++ .../src/providers/trustScoreProvider.ts | 740 +++++++++++ .../plugin-solana/src/providers/wallet.ts | 391 ++++++ .../plugin-solana/src/tests/token.test.ts | 134 ++ .../plugins/plugin-solana/src/types/token.ts | 302 +++++ .../plugins/plugin-solana/tsconfig.json | 10 + .../plugins/plugin-solana/tsup.config.ts | 29 + 25 files changed, 6555 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/fomo.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/pumpfun.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swap.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swapDao.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swapUtils.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/takeOrder.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/transfer.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/bignumber.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/environment.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/evaluators/trust.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/keypairUtils.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/orderBook.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/simulationSellingService.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/token.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/tokenUtils.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/trustScoreProvider.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/wallet.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/tests/token.test.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/types/token.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/package.json new file mode 100644 index 000000000..6f4fb1c9b --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/package.json @@ -0,0 +1,33 @@ +{ + "name": "@elizaos/plugin-solana", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "@elizaos/plugin-tee": "workspace:*", + "@coral-xyz/anchor": "0.30.1", + "@solana/spl-token": "0.4.9", + "@solana/web3.js": "1.95.8", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "bs58": "6.0.0", + "fomo-sdk-solana": "1.3.2", + "node-cache": "5.1.2", + "pumpdotfun-sdk": "1.3.2", + "tsup": "8.3.5", + "vitest": "2.1.4" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache .", + "test": "vitest run" + }, + "peerDependencies": { + "form-data": "4.0.1", + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/fomo.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/fomo.ts new file mode 100644 index 000000000..aa4777b0e --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/fomo.ts @@ -0,0 +1,627 @@ +import { generateImage } from "@elizaos/core"; +import { + Connection, + Keypair, + PublicKey, + VersionedTransaction, +} from "@solana/web3.js"; +import { Fomo, PurchaseCurrency } from "fomo-sdk-solana"; +import { getAssociatedTokenAddressSync } from "@solana/spl-token"; +import bs58 from "bs58"; +import { + settings, + ActionExample, + Content, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + generateObject, + composeContext, + type Action, +} from "@elizaos/core"; + +import { walletProvider } from "../providers/wallet.ts"; + +interface CreateTokenMetadata { + name: string; + symbol: string; + uri: string; +} + +export interface CreateAndBuyContent extends Content { + tokenMetadata: { + name: string; + symbol: string; + description: string; + image_description: string; + }; + buyAmountSol: string | number; + requiredLiquidity: string | number; +} + +export function isCreateAndBuyContentForFomo( + content: any +): content is CreateAndBuyContent { + console.log("Content for create & buy", content); + return ( + typeof content.tokenMetadata === "object" && + content.tokenMetadata !== null && + typeof content.tokenMetadata.name === "string" && + typeof content.tokenMetadata.symbol === "string" && + typeof content.tokenMetadata.description === "string" && + typeof content.tokenMetadata.image_description === "string" && + (typeof content.buyAmountSol === "string" || + typeof content.buyAmountSol === "number") && + typeof content.requiredLiquidity === "number" + ); +} + +export const createAndBuyToken = async ({ + deployer, + mint, + tokenMetadata, + buyAmountSol, + priorityFee, + requiredLiquidity = 85, + allowOffCurve, + commitment = "finalized", + fomo, + connection, +}: { + deployer: Keypair; + mint: Keypair; + tokenMetadata: CreateTokenMetadata; + buyAmountSol: bigint; + priorityFee: number; + requiredLiquidity: number; + allowOffCurve: boolean; + commitment?: + | "processed" + | "confirmed" + | "finalized" + | "recent" + | "single" + | "singleGossip" + | "root" + | "max"; + fomo: Fomo; + connection: Connection; + slippage: string; +}) => { + const { transaction: versionedTx } = await fomo.createToken( + deployer.publicKey, + tokenMetadata.name, + tokenMetadata.symbol, + tokenMetadata.uri, + priorityFee, + bs58.encode(mint.secretKey), + requiredLiquidity, + Number(buyAmountSol) / 10 ** 9 + ); + + const { blockhash, lastValidBlockHeight } = + await connection.getLatestBlockhash(); + versionedTx.message.recentBlockhash = blockhash; + versionedTx.sign([mint]); + + const serializedTransaction = versionedTx.serialize(); + const serializedTransactionBase64 = Buffer.from( + serializedTransaction + ).toString("base64"); + + const deserializedTx = VersionedTransaction.deserialize( + Buffer.from(serializedTransactionBase64, "base64") + ); + + const txid = await connection.sendTransaction(deserializedTx, { + skipPreflight: false, + maxRetries: 3, + preflightCommitment: "confirmed", + }); + + console.log("Transaction sent:", txid); + + // Confirm transaction using the blockhash + const confirmation = await connection.confirmTransaction( + { + signature: txid, + blockhash: blockhash, + lastValidBlockHeight: lastValidBlockHeight, + }, + commitment + ); + + if (!confirmation.value.err) { + console.log( + "Success:", + `https://fomo.fund/token/${mint.publicKey.toBase58()}` + ); + const ata = getAssociatedTokenAddressSync( + mint.publicKey, + deployer.publicKey, + allowOffCurve + ); + const balance = await connection.getTokenAccountBalance( + ata, + "processed" + ); + const amount = balance.value.uiAmount; + if (amount === null) { + console.log( + `${deployer.publicKey.toBase58()}:`, + "No Account Found" + ); + } else { + console.log(`${deployer.publicKey.toBase58()}:`, amount); + } + + return { + success: true, + ca: mint.publicKey.toBase58(), + creator: deployer.publicKey.toBase58(), + }; + } else { + console.log("Create and Buy failed"); + return { + success: false, + ca: mint.publicKey.toBase58(), + error: confirmation.value.err || "Transaction failed", + }; + } +}; + +export const buyToken = async ({ + fomo, + buyer, + mint, + amount, + priorityFee, + allowOffCurve, + slippage, + connection, + currency = "sol", + commitment = "finalized", +}: { + fomo: Fomo; + buyer: Keypair; + mint: PublicKey; + amount: number; + priorityFee: number; + allowOffCurve: boolean; + slippage: number; + connection: Connection; + currency: PurchaseCurrency; + commitment?: + | "processed" + | "confirmed" + | "finalized" + | "recent" + | "single" + | "singleGossip" + | "root" + | "max"; +}) => { + const buyVersionedTx = await fomo.buyToken( + buyer.publicKey, + mint, + amount, + slippage, + priorityFee, + currency || "sol" + ); + + const { blockhash, lastValidBlockHeight } = + await connection.getLatestBlockhash(); + buyVersionedTx.message.recentBlockhash = blockhash; + + const serializedTransaction = buyVersionedTx.serialize(); + const serializedTransactionBase64 = Buffer.from( + serializedTransaction + ).toString("base64"); + + const deserializedTx = VersionedTransaction.deserialize( + Buffer.from(serializedTransactionBase64, "base64") + ); + + const txid = await connection.sendTransaction(deserializedTx, { + skipPreflight: false, + maxRetries: 3, + preflightCommitment: "confirmed", + }); + + console.log("Transaction sent:", txid); + + // Confirm transaction using the blockhash + const confirmation = await connection.confirmTransaction( + { + signature: txid, + blockhash: blockhash, + lastValidBlockHeight: lastValidBlockHeight, + }, + commitment + ); + + if (!confirmation.value.err) { + console.log("Success:", `https://fomo.fund/token/${mint.toBase58()}`); + const ata = getAssociatedTokenAddressSync( + mint, + buyer.publicKey, + allowOffCurve + ); + const balance = await connection.getTokenAccountBalance( + ata, + "processed" + ); + const amount = balance.value.uiAmount; + if (amount === null) { + console.log(`${buyer.publicKey.toBase58()}:`, "No Account Found"); + } else { + console.log(`${buyer.publicKey.toBase58()}:`, amount); + } + } else { + console.log("Buy failed"); + } +}; + +export const sellToken = async ({ + fomo, + seller, + mint, + amount, + priorityFee, + allowOffCurve, + slippage, + connection, + currency = "token", + commitment = "finalized", +}: { + fomo: Fomo; + seller: Keypair; + mint: PublicKey; + amount: number; + priorityFee: number; + allowOffCurve: boolean; + slippage: number; + connection: Connection; + currency: PurchaseCurrency; + commitment?: + | "processed" + | "confirmed" + | "finalized" + | "recent" + | "single" + | "singleGossip" + | "root" + | "max"; +}) => { + const sellVersionedTx = await fomo.sellToken( + seller.publicKey, + mint, + amount, + slippage, + priorityFee, + currency || "token" + ); + + const { blockhash, lastValidBlockHeight } = + await connection.getLatestBlockhash(); + sellVersionedTx.message.recentBlockhash = blockhash; + + const serializedTransaction = sellVersionedTx.serialize(); + const serializedTransactionBase64 = Buffer.from( + serializedTransaction + ).toString("base64"); + + const deserializedTx = VersionedTransaction.deserialize( + Buffer.from(serializedTransactionBase64, "base64") + ); + + const txid = await connection.sendTransaction(deserializedTx, { + skipPreflight: false, + maxRetries: 3, + preflightCommitment: "confirmed", + }); + + console.log("Transaction sent:", txid); + + // Confirm transaction using the blockhash + const confirmation = await connection.confirmTransaction( + { + signature: txid, + blockhash: blockhash, + lastValidBlockHeight: lastValidBlockHeight, + }, + commitment + ); + + if (!confirmation.value.err) { + console.log("Success:", `https://fomo.fund/token/${mint.toBase58()}`); + const ata = getAssociatedTokenAddressSync( + mint, + seller.publicKey, + allowOffCurve + ); + const balance = await connection.getTokenAccountBalance( + ata, + "processed" + ); + const amount = balance.value.uiAmount; + if (amount === null) { + console.log(`${seller.publicKey.toBase58()}:`, "No Account Found"); + } else { + console.log(`${seller.publicKey.toBase58()}:`, amount); + } + } else { + console.log("Sell failed"); + } +}; + +const promptConfirmation = async (): Promise => { + return true; +}; + +const fomoTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "tokenMetadata": { + "name": "Test Token", + "symbol": "TEST", + "description": "A test token", + "image_description": "create an image of a rabbit" + }, + "buyAmountSol": "0.00069", + "requiredLiquidity": "85" +} +\`\`\` + +{{recentMessages}} + +Given the recent messages, extract or generate (come up with if not included) the following information about the requested token creation: +- Token name +- Token symbol +- Token description +- Token image description +- Amount of SOL to buy + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "CREATE_AND_BUY_TOKEN", + similes: ["CREATE_AND_PURCHASE_TOKEN", "DEPLOY_AND_BUY_TOKEN"], + validate: async (_runtime: IAgentRuntime, _message: Memory) => { + return true; //return isCreateAndBuyContent(runtime, message.content); + }, + description: + "Create a new token and buy a specified amount using SOL. Requires deployer private key, token metadata, buy amount in SOL, priority fee, and allowOffCurve flag.", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + console.log("Starting CREATE_AND_BUY_TOKEN handler..."); + + // Compose state if not provided + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Get wallet info for context + const walletInfo = await walletProvider.get(runtime, message, state); + state.walletInfo = walletInfo; + + // Generate structured content from natural language + const pumpContext = composeContext({ + state, + template: fomoTemplate, + }); + + const content = await generateObject({ + runtime, + context: pumpContext, + modelClass: ModelClass.LARGE, + }); + + // Validate the generated content + if (!isCreateAndBuyContentForFomo(content)) { + console.error("Invalid content for CREATE_AND_BUY_TOKEN action."); + return false; + } + + const { tokenMetadata, buyAmountSol, requiredLiquidity } = content; + /* + // Generate image if tokenMetadata.file is empty or invalid + if (!tokenMetadata.file || tokenMetadata.file.length < 100) { // Basic validation + try { + const imageResult = await generateImage({ + prompt: `logo for ${tokenMetadata.name} (${tokenMetadata.symbol}) token - ${tokenMetadata.description}`, + width: 512, + height: 512, + count: 1 + }, runtime); + + if (imageResult.success && imageResult.data && imageResult.data.length > 0) { + // Remove the "data:image/png;base64," prefix if present + tokenMetadata.file = imageResult.data[0].replace(/^data:image\/[a-z]+;base64,/, ''); + } else { + console.error("Failed to generate image:", imageResult.error); + return false; + } + } catch (error) { + console.error("Error generating image:", error); + return false; + } + } */ + + const imageResult = await generateImage( + { + prompt: `logo for ${tokenMetadata.name} (${tokenMetadata.symbol}) token - ${tokenMetadata.description}`, + width: 256, + height: 256, + count: 1, + }, + runtime + ); + + const imageBuffer = Buffer.from(imageResult.data[0], "base64"); + const formData = new FormData(); + const blob = new Blob([imageBuffer], { type: "image/png" }); + formData.append("file", blob, `${tokenMetadata.name}.png`); + formData.append("name", tokenMetadata.name); + formData.append("symbol", tokenMetadata.symbol); + formData.append("description", tokenMetadata.description); + + // FIXME: does fomo.fund have an ipfs call? + const metadataResponse = await fetch("https://pump.fun/api/ipfs", { + method: "POST", + body: formData, + }); + const metadataResponseJSON = (await metadataResponse.json()) as { + name: string; + symbol: string; + metadataUri: string; + }; + // Add the default decimals and convert file to Blob + const fullTokenMetadata: CreateTokenMetadata = { + name: tokenMetadata.name, + symbol: tokenMetadata.symbol, + uri: metadataResponseJSON.metadataUri, + }; + + // Default priority fee for high network load + const priorityFee = { + unitLimit: 100_000_000, + unitPrice: 100_000, + }; + const slippage = "2000"; + try { + // Get private key from settings and create deployer keypair + const privateKeyString = + runtime.getSetting("SOLANA_PRIVATE_KEY") ?? + runtime.getSetting("WALLET_PRIVATE_KEY"); + const secretKey = bs58.decode(privateKeyString); + const deployerKeypair = Keypair.fromSecretKey(secretKey); + + // Generate new mint keypair + const mintKeypair = Keypair.generate(); + console.log( + `Generated mint address: ${mintKeypair.publicKey.toBase58()}` + ); + + // Setup connection and SDK + const connection = new Connection(settings.RPC_URL!, { + commitment: "confirmed", + confirmTransactionInitialTimeout: 500000, // 120 seconds + wsEndpoint: settings.RPC_URL!.replace("https", "wss"), + }); + + const sdk = new Fomo(connection, "devnet", deployerKeypair); + // const slippage = runtime.getSetting("SLIPPAGE"); + + const createAndBuyConfirmation = await promptConfirmation(); + if (!createAndBuyConfirmation) { + console.log("Create and buy token canceled by user"); + return false; + } + + // Convert SOL to lamports (1 SOL = 1_000_000_000 lamports) + const lamports = Math.floor(Number(buyAmountSol) * 1_000_000_000); + + console.log("Executing create and buy transaction..."); + const result = await createAndBuyToken({ + deployer: deployerKeypair, + mint: mintKeypair, + tokenMetadata: fullTokenMetadata, + buyAmountSol: BigInt(lamports), + priorityFee: priorityFee.unitPrice, + requiredLiquidity: Number(requiredLiquidity), + allowOffCurve: false, + fomo: sdk, + connection, + slippage, + }); + + if (callback) { + if (result.success) { + callback({ + text: `Token ${tokenMetadata.name} (${tokenMetadata.symbol}) created successfully!\nURL: https://fomo.fund/token/${result.ca}\nCreator: ${result.creator}\nView at: https://fomo.fund/token/${result.ca}`, + content: { + tokenInfo: { + symbol: tokenMetadata.symbol, + address: result.ca, + creator: result.creator, + name: tokenMetadata.name, + description: tokenMetadata.description, + timestamp: Date.now(), + }, + }, + }); + } else { + callback({ + text: `Failed to create token: ${result.error}\nAttempted mint address: ${result.ca}`, + content: { + error: result.error, + mintAddress: result.ca, + }, + }); + } + } + //await trustScoreDb.addToken(tokenInfo); + /* + // Update runtime state + await runtime.updateState({ + ...state, + lastCreatedToken: tokenInfo + }); + */ + // Log success message with token view URL + const successMessage = `Token created and purchased successfully! View at: https://fomo.fund/token/${mintKeypair.publicKey.toBase58()}`; + console.log(successMessage); + return result.success; + } catch (error) { + if (callback) { + callback({ + text: `Error during token creation: ${error.message}`, + content: { error: error.message }, + }); + } + return false; + } + }, + + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Create a new token called GLITCHIZA with symbol GLITCHIZA and generate a description about it on fomo.fund. Also come up with a description for it to use for image generation .buy 0.00069 SOL worth.", + }, + }, + { + user: "{{user2}}", + content: { + text: "Token GLITCHIZA (GLITCHIZA) created successfully on fomo.fund!\nURL: https://fomo.fund/token/673247855e8012181f941f84\nCreator: Anonymous\nView at: https://fomo.fund/token/673247855e8012181f941f84", + action: "CREATE_AND_BUY_TOKEN", + content: { + tokenInfo: { + symbol: "GLITCHIZA", + address: + "EugPwuZ8oUMWsYHeBGERWvELfLGFmA1taDtmY8uMeX6r", + creator: + "9jW8FPr6BSSsemWPV22UUCzSqkVdTp6HTyPqeqyuBbCa", + name: "GLITCHIZA", + description: "A GLITCHIZA token", + }, + }, + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/pumpfun.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/pumpfun.ts new file mode 100644 index 000000000..b563139e3 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/pumpfun.ts @@ -0,0 +1,513 @@ +import { AnchorProvider } from "@coral-xyz/anchor"; +import { Wallet } from "@coral-xyz/anchor"; +import { generateImage } from "@elizaos/core"; +import { Connection, Keypair, PublicKey } from "@solana/web3.js"; +import { CreateTokenMetadata, PriorityFee, PumpFunSDK } from "pumpdotfun-sdk"; + +import { getAssociatedTokenAddressSync } from "@solana/spl-token"; +import { + settings, + ActionExample, + Content, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + generateObjectDeprecated, + composeContext, + type Action, +} from "@elizaos/core"; + +import { walletProvider } from "../providers/wallet.ts"; + +export interface CreateAndBuyContent extends Content { + tokenMetadata: { + name: string; + symbol: string; + description: string; + image_description: string; + }; + buyAmountSol: string | number; +} + +export function isCreateAndBuyContent( + runtime: IAgentRuntime, + content: any +): content is CreateAndBuyContent { + console.log("Content for create & buy", content); + return ( + typeof content.tokenMetadata === "object" && + content.tokenMetadata !== null && + typeof content.tokenMetadata.name === "string" && + typeof content.tokenMetadata.symbol === "string" && + typeof content.tokenMetadata.description === "string" && + typeof content.tokenMetadata.image_description === "string" && + (typeof content.buyAmountSol === "string" || + typeof content.buyAmountSol === "number") + ); +} + +export const createAndBuyToken = async ({ + deployer, + mint, + tokenMetadata, + buyAmountSol, + priorityFee, + allowOffCurve, + commitment = "finalized", + sdk, + connection, + slippage, +}: { + deployer: Keypair; + mint: Keypair; + tokenMetadata: CreateTokenMetadata; + buyAmountSol: bigint; + priorityFee: PriorityFee; + allowOffCurve: boolean; + commitment?: + | "processed" + | "confirmed" + | "finalized" + | "recent" + | "single" + | "singleGossip" + | "root" + | "max"; + sdk: PumpFunSDK; + connection: Connection; + slippage: string; +}) => { + const createResults = await sdk.createAndBuy( + deployer, + mint, + tokenMetadata, + buyAmountSol, + BigInt(slippage), + priorityFee, + commitment + ); + + console.log("Create Results: ", createResults); + + if (createResults.success) { + console.log( + "Success:", + `https://pump.fun/${mint.publicKey.toBase58()}` + ); + const ata = getAssociatedTokenAddressSync( + mint.publicKey, + deployer.publicKey, + allowOffCurve + ); + const balance = await connection.getTokenAccountBalance( + ata, + "processed" + ); + const amount = balance.value.uiAmount; + if (amount === null) { + console.log( + `${deployer.publicKey.toBase58()}:`, + "No Account Found" + ); + } else { + console.log(`${deployer.publicKey.toBase58()}:`, amount); + } + + return { + success: true, + ca: mint.publicKey.toBase58(), + creator: deployer.publicKey.toBase58(), + }; + } else { + console.log("Create and Buy failed"); + return { + success: false, + ca: mint.publicKey.toBase58(), + error: createResults.error || "Transaction failed", + }; + } +}; + +export const buyToken = async ({ + sdk, + buyer, + mint, + amount, + priorityFee, + allowOffCurve, + slippage, + connection, +}: { + sdk: PumpFunSDK; + buyer: Keypair; + mint: PublicKey; + amount: bigint; + priorityFee: PriorityFee; + allowOffCurve: boolean; + slippage: string; + connection: Connection; +}) => { + const buyResults = await sdk.buy( + buyer, + mint, + amount, + BigInt(slippage), + priorityFee + ); + if (buyResults.success) { + console.log("Success:", `https://pump.fun/${mint.toBase58()}`); + const ata = getAssociatedTokenAddressSync( + mint, + buyer.publicKey, + allowOffCurve + ); + const balance = await connection.getTokenAccountBalance( + ata, + "processed" + ); + const amount = balance.value.uiAmount; + if (amount === null) { + console.log(`${buyer.publicKey.toBase58()}:`, "No Account Found"); + } else { + console.log(`${buyer.publicKey.toBase58()}:`, amount); + } + } else { + console.log("Buy failed"); + } +}; + +export const sellToken = async ({ + sdk, + seller, + mint, + amount, + priorityFee, + allowOffCurve, + slippage, + connection, +}: { + sdk: PumpFunSDK; + seller: Keypair; + mint: PublicKey; + amount: bigint; + priorityFee: PriorityFee; + allowOffCurve: boolean; + slippage: string; + connection: Connection; +}) => { + const sellResults = await sdk.sell( + seller, + mint, + amount, + BigInt(slippage), + priorityFee + ); + if (sellResults.success) { + console.log("Success:", `https://pump.fun/${mint.toBase58()}`); + const ata = getAssociatedTokenAddressSync( + mint, + seller.publicKey, + allowOffCurve + ); + const balance = await connection.getTokenAccountBalance( + ata, + "processed" + ); + const amount = balance.value.uiAmount; + if (amount === null) { + console.log(`${seller.publicKey.toBase58()}:`, "No Account Found"); + } else { + console.log(`${seller.publicKey.toBase58()}:`, amount); + } + } else { + console.log("Sell failed"); + } +}; + +// previous logic: +// if (typeof window !== "undefined" && typeof window.confirm === "function") { +// return window.confirm( +// "Confirm the creation and purchase of the token?" +// ); +// } +// return true; +const promptConfirmation = async (): Promise => { + return true; +}; + +// Save the base64 data to a file +import * as fs from "fs"; +import * as path from "path"; +import { getWalletKey } from "../keypairUtils.ts"; + +const pumpfunTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "tokenMetadata": { + "name": "Test Token", + "symbol": "TEST", + "description": "A test token", + "image_description": "create an image of a rabbit" + }, + "buyAmountSol": "0.00069" +} +\`\`\` + +{{recentMessages}} + +Given the recent messages, extract or generate (come up with if not included) the following information about the requested token creation: +- Token name +- Token symbol +- Token description +- Token image description +- Amount of SOL to buy + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "CREATE_AND_BUY_TOKEN", + similes: ["CREATE_AND_PURCHASE_TOKEN", "DEPLOY_AND_BUY_TOKEN"], + validate: async (_runtime: IAgentRuntime, _message: Memory) => { + return true; //return isCreateAndBuyContent(runtime, message.content); + }, + description: + "Create a new token and buy a specified amount using SOL. Requires deployer private key, token metadata, buy amount in SOL, priority fee, and allowOffCurve flag.", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + console.log("Starting CREATE_AND_BUY_TOKEN handler..."); + + // Compose state if not provided + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Get wallet info for context + const walletInfo = await walletProvider.get(runtime, message, state); + state.walletInfo = walletInfo; + + // Generate structured content from natural language + const pumpContext = composeContext({ + state, + template: pumpfunTemplate, + }); + + const content = await generateObjectDeprecated({ + runtime, + context: pumpContext, + modelClass: ModelClass.LARGE, + }); + + // Validate the generated content + if (!isCreateAndBuyContent(runtime, content)) { + console.error("Invalid content for CREATE_AND_BUY_TOKEN action."); + return false; + } + + const { tokenMetadata, buyAmountSol } = content; + /* + // Generate image if tokenMetadata.file is empty or invalid + if (!tokenMetadata.file || tokenMetadata.file.length < 100) { // Basic validation + try { + const imageResult = await generateImage({ + prompt: `logo for ${tokenMetadata.name} (${tokenMetadata.symbol}) token - ${tokenMetadata.description}`, + width: 512, + height: 512, + count: 1 + }, runtime); + + if (imageResult.success && imageResult.data && imageResult.data.length > 0) { + // Remove the "data:image/png;base64," prefix if present + tokenMetadata.file = imageResult.data[0].replace(/^data:image\/[a-z]+;base64,/, ''); + } else { + console.error("Failed to generate image:", imageResult.error); + return false; + } + } catch (error) { + console.error("Error generating image:", error); + return false; + } + } */ + + const imageResult = await generateImage( + { + prompt: `logo for ${tokenMetadata.name} (${tokenMetadata.symbol}) token - ${tokenMetadata.description}`, + width: 256, + height: 256, + count: 1, + }, + runtime + ); + + tokenMetadata.image_description = imageResult.data[0].replace( + /^data:image\/[a-z]+;base64,/, + "" + ); + + // Convert base64 string to Blob + const base64Data = tokenMetadata.image_description; + const outputPath = path.join( + process.cwd(), + `generated_image_${Date.now()}.txt` + ); + fs.writeFileSync(outputPath, base64Data); + console.log(`Base64 data saved to: ${outputPath}`); + + const byteCharacters = atob(base64Data); + const byteNumbers = new Array(byteCharacters.length); + for (let i = 0; i < byteCharacters.length; i++) { + byteNumbers[i] = byteCharacters.charCodeAt(i); + } + const byteArray = new Uint8Array(byteNumbers); + const blob = new Blob([byteArray], { type: "image/png" }); + + // Add the default decimals and convert file to Blob + const fullTokenMetadata: CreateTokenMetadata = { + name: tokenMetadata.name, + symbol: tokenMetadata.symbol, + description: tokenMetadata.description, + file: blob, + }; + + // Default priority fee for high network load + const priorityFee = { + unitLimit: 100_000_000, + unitPrice: 100_000, + }; + const slippage = "2000"; + try { + // Get private key from settings and create deployer keypair + const { keypair: deployerKeypair } = await getWalletKey( + runtime, + true + ); + + // Generate new mint keypair + const mintKeypair = Keypair.generate(); + console.log( + `Generated mint address: ${mintKeypair.publicKey.toBase58()}` + ); + + // Setup connection and SDK + const connection = new Connection(settings.RPC_URL!, { + commitment: "confirmed", + confirmTransactionInitialTimeout: 500000, // 120 seconds + wsEndpoint: settings.RPC_URL!.replace("https", "wss"), + }); + + const wallet = new Wallet(deployerKeypair); + const provider = new AnchorProvider(connection, wallet, { + commitment: "finalized", + }); + const sdk = new PumpFunSDK(provider); + // const slippage = runtime.getSetting("SLIPPAGE"); + + const createAndBuyConfirmation = await promptConfirmation(); + if (!createAndBuyConfirmation) { + console.log("Create and buy token canceled by user"); + return false; + } + + // Convert SOL to lamports (1 SOL = 1_000_000_000 lamports) + const lamports = Math.floor(Number(buyAmountSol) * 1_000_000_000); + + console.log("Executing create and buy transaction..."); + const result = await createAndBuyToken({ + deployer: deployerKeypair, + mint: mintKeypair, + tokenMetadata: fullTokenMetadata, + buyAmountSol: BigInt(lamports), + priorityFee, + allowOffCurve: false, + sdk, + connection, + slippage, + }); + + if (callback) { + if (result.success) { + callback({ + text: `Token ${tokenMetadata.name} (${tokenMetadata.symbol}) created successfully!\nContract Address: ${result.ca}\nCreator: ${result.creator}\nView at: https://pump.fun/${result.ca}`, + content: { + tokenInfo: { + symbol: tokenMetadata.symbol, + address: result.ca, + creator: result.creator, + name: tokenMetadata.name, + description: tokenMetadata.description, + timestamp: Date.now(), + }, + }, + }); + } else { + callback({ + text: `Failed to create token: ${result.error}\nAttempted mint address: ${result.ca}`, + content: { + error: result.error, + mintAddress: result.ca, + }, + }); + } + } + //await trustScoreDb.addToken(tokenInfo); + /* + // Update runtime state + await runtime.updateState({ + ...state, + lastCreatedToken: tokenInfo + }); + */ + // Log success message with token view URL + const successMessage = `Token created and purchased successfully! View at: https://pump.fun/${mintKeypair.publicKey.toBase58()}`; + console.log(successMessage); + return result.success; + } catch (error) { + if (callback) { + callback({ + text: `Error during token creation: ${error.message}`, + content: { error: error.message }, + }); + } + return false; + } + }, + + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Create a new token called GLITCHIZA with symbol GLITCHIZA and generate a description about it on pump.fun. Also come up with a description for it to use for image generation .buy 0.00069 SOL worth.", + }, + }, + { + user: "{{user2}}", + content: { + text: "Token GLITCHIZA (GLITCHIZA) created successfully on pump.fun!\nContract Address: 3kD5DN4bbA3nykb1abjS66VF7cYZkKdirX8bZ6ShJjBB\nCreator: 9jW8FPr6BSSsemWPV22UUCzSqkVdTp6HTyPqeqyuBbCa\nView at: https://pump.fun/EugPwuZ8oUMWsYHeBGERWvELfLGFmA1taDtmY8uMeX6r", + action: "CREATE_AND_BUY_TOKEN", + content: { + tokenInfo: { + symbol: "GLITCHIZA", + address: + "EugPwuZ8oUMWsYHeBGERWvELfLGFmA1taDtmY8uMeX6r", + creator: + "9jW8FPr6BSSsemWPV22UUCzSqkVdTp6HTyPqeqyuBbCa", + name: "GLITCHIZA", + description: "A GLITCHIZA token", + }, + }, + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swap.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swap.ts new file mode 100644 index 000000000..aa09f25d7 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swap.ts @@ -0,0 +1,401 @@ +import { + ActionExample, + composeContext, + generateObjectDeprecated, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + settings, + State, + type Action, +} from "@elizaos/core"; +import { Connection, PublicKey, VersionedTransaction } from "@solana/web3.js"; +import BigNumber from "bignumber.js"; +import { getWalletKey } from "../keypairUtils.ts"; +import { walletProvider, WalletProvider } from "../providers/wallet.ts"; +import { getTokenDecimals } from "./swapUtils.ts"; + +async function swapToken( + connection: Connection, + walletPublicKey: PublicKey, + inputTokenCA: string, + outputTokenCA: string, + amount: number +): Promise { + try { + // Get the decimals for the input token + const decimals = + inputTokenCA === settings.SOL_ADDRESS + ? new BigNumber(9) + : new BigNumber( + await getTokenDecimals(connection, inputTokenCA) + ); + + console.log("Decimals:", decimals.toString()); + + // Use BigNumber for adjustedAmount: amount * (10 ** decimals) + const amountBN = new BigNumber(amount); + const adjustedAmount = amountBN.multipliedBy( + new BigNumber(10).pow(decimals) + ); + + console.log("Fetching quote with params:", { + inputMint: inputTokenCA, + outputMint: outputTokenCA, + amount: adjustedAmount, + }); + + const quoteResponse = await fetch( + `https://quote-api.jup.ag/v6/quote?inputMint=${inputTokenCA}&outputMint=${outputTokenCA}&amount=${adjustedAmount}&slippageBps=50` + ); + const quoteData = await quoteResponse.json(); + + if (!quoteData || quoteData.error) { + console.error("Quote error:", quoteData); + throw new Error( + `Failed to get quote: ${quoteData?.error || "Unknown error"}` + ); + } + + console.log("Quote received:", quoteData); + + const swapRequestBody = { + quoteResponse: quoteData, + userPublicKey: walletPublicKey.toString(), + wrapAndUnwrapSol: true, + computeUnitPriceMicroLamports: 2000000, + dynamicComputeUnitLimit: true, + }; + + console.log("Requesting swap with body:", swapRequestBody); + + const swapResponse = await fetch("https://quote-api.jup.ag/v6/swap", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(swapRequestBody), + }); + + const swapData = await swapResponse.json(); + + if (!swapData || !swapData.swapTransaction) { + console.error("Swap error:", swapData); + throw new Error( + `Failed to get swap transaction: ${swapData?.error || "No swap transaction returned"}` + ); + } + + console.log("Swap transaction received"); + return swapData; + } catch (error) { + console.error("Error in swapToken:", error); + throw error; + } +} + +const swapTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "inputTokenSymbol": "SOL", + "outputTokenSymbol": "USDC", + "inputTokenCA": "So11111111111111111111111111111111111111112", + "outputTokenCA": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + "amount": 1.5 +} +\`\`\` + +{{recentMessages}} + +Given the recent messages and wallet information below: + +{{walletInfo}} + +Extract the following information about the requested token swap: +- Input token symbol (the token being sold) +- Output token symbol (the token being bought) +- Input token contract address if provided +- Output token contract address if provided +- Amount to swap + +Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. The result should be a valid JSON object with the following schema: +\`\`\`json +{ + "inputTokenSymbol": string | null, + "outputTokenSymbol": string | null, + "inputTokenCA": string | null, + "outputTokenCA": string | null, + "amount": number | string | null +} +\`\`\``; + +// if we get the token symbol but not the CA, check walet for matching token, and if we have, get the CA for it + +// get all the tokens in the wallet using the wallet provider +async function getTokensInWallet(runtime: IAgentRuntime) { + const { publicKey } = await getWalletKey(runtime, false); + const walletProvider = new WalletProvider( + new Connection("https://api.mainnet-beta.solana.com"), + publicKey + ); + + const walletInfo = await walletProvider.fetchPortfolioValue(runtime); + const items = walletInfo.items; + return items; +} + +// check if the token symbol is in the wallet +async function getTokenFromWallet(runtime: IAgentRuntime, tokenSymbol: string) { + try { + const items = await getTokensInWallet(runtime); + const token = items.find((item) => item.symbol === tokenSymbol); + + if (token) { + return token.address; + } else { + return null; + } + } catch (error) { + console.error("Error checking token in wallet:", error); + return null; + } +} + +// swapToken should took CA, not symbol + +export const executeSwap: Action = { + name: "EXECUTE_SWAP", + similes: ["SWAP_TOKENS", "TOKEN_SWAP", "TRADE_TOKENS", "EXCHANGE_TOKENS"], + validate: async (runtime: IAgentRuntime, message: Memory) => { + // Check if the necessary parameters are provided in the message + console.log("Message:", message); + return true; + }, + description: "Perform a token swap.", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + // composeState + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + const walletInfo = await walletProvider.get(runtime, message, state); + + state.walletInfo = walletInfo; + + const swapContext = composeContext({ + state, + template: swapTemplate, + }); + + const response = await generateObjectDeprecated({ + runtime, + context: swapContext, + modelClass: ModelClass.LARGE, + }); + + console.log("Response:", response); + // const type = response.inputTokenSymbol?.toUpperCase() === "SOL" ? "buy" : "sell"; + + // Add SOL handling logic + if (response.inputTokenSymbol?.toUpperCase() === "SOL") { + response.inputTokenCA = settings.SOL_ADDRESS; + } + if (response.outputTokenSymbol?.toUpperCase() === "SOL") { + response.outputTokenCA = settings.SOL_ADDRESS; + } + + // if both contract addresses are set, lets execute the swap + // TODO: try to resolve CA from symbol based on existing symbol in wallet + if (!response.inputTokenCA && response.inputTokenSymbol) { + console.log( + `Attempting to resolve CA for input token symbol: ${response.inputTokenSymbol}` + ); + response.inputTokenCA = await getTokenFromWallet( + runtime, + response.inputTokenSymbol + ); + if (response.inputTokenCA) { + console.log(`Resolved inputTokenCA: ${response.inputTokenCA}`); + } else { + console.log("No contract addresses provided, skipping swap"); + const responseMsg = { + text: "I need the contract addresses to perform the swap", + }; + callback?.(responseMsg); + return true; + } + } + + if (!response.outputTokenCA && response.outputTokenSymbol) { + console.log( + `Attempting to resolve CA for output token symbol: ${response.outputTokenSymbol}` + ); + response.outputTokenCA = await getTokenFromWallet( + runtime, + response.outputTokenSymbol + ); + if (response.outputTokenCA) { + console.log( + `Resolved outputTokenCA: ${response.outputTokenCA}` + ); + } else { + console.log("No contract addresses provided, skipping swap"); + const responseMsg = { + text: "I need the contract addresses to perform the swap", + }; + callback?.(responseMsg); + return true; + } + } + + if (!response.amount) { + console.log("No amount provided, skipping swap"); + const responseMsg = { + text: "I need the amount to perform the swap", + }; + callback?.(responseMsg); + return true; + } + + // TODO: if response amount is half, all, etc, semantically retrieve amount and return as number + if (!response.amount) { + console.log("Amount is not a number, skipping swap"); + const responseMsg = { + text: "The amount must be a number", + }; + callback?.(responseMsg); + return true; + } + try { + const connection = new Connection( + "https://api.mainnet-beta.solana.com" + ); + const { publicKey: walletPublicKey } = await getWalletKey( + runtime, + false + ); + + // const provider = new WalletProvider(connection, walletPublicKey); + + console.log("Wallet Public Key:", walletPublicKey); + console.log("inputTokenSymbol:", response.inputTokenCA); + console.log("outputTokenSymbol:", response.outputTokenCA); + console.log("amount:", response.amount); + + const swapResult = await swapToken( + connection, + walletPublicKey, + response.inputTokenCA as string, + response.outputTokenCA as string, + response.amount as number + ); + + console.log("Deserializing transaction..."); + const transactionBuf = Buffer.from( + swapResult.swapTransaction, + "base64" + ); + const transaction = + VersionedTransaction.deserialize(transactionBuf); + + console.log("Preparing to sign transaction..."); + + console.log("Creating keypair..."); + const { keypair } = await getWalletKey(runtime, true); + // Verify the public key matches what we expect + if (keypair.publicKey.toBase58() !== walletPublicKey.toBase58()) { + throw new Error( + "Generated public key doesn't match expected public key" + ); + } + + console.log("Signing transaction..."); + transaction.sign([keypair]); + + console.log("Sending transaction..."); + + const latestBlockhash = await connection.getLatestBlockhash(); + + const txid = await connection.sendTransaction(transaction, { + skipPreflight: false, + maxRetries: 3, + preflightCommitment: "confirmed", + }); + + console.log("Transaction sent:", txid); + + // Confirm transaction using the blockhash + const confirmation = await connection.confirmTransaction( + { + signature: txid, + blockhash: latestBlockhash.blockhash, + lastValidBlockHeight: latestBlockhash.lastValidBlockHeight, + }, + "confirmed" + ); + + if (confirmation.value.err) { + throw new Error( + `Transaction failed: ${confirmation.value.err}` + ); + } + + if (confirmation.value.err) { + throw new Error( + `Transaction failed: ${confirmation.value.err}` + ); + } + + console.log("Swap completed successfully!"); + console.log(`Transaction ID: ${txid}`); + + const responseMsg = { + text: `Swap completed successfully! Transaction ID: ${txid}`, + }; + + callback?.(responseMsg); + + return true; + } catch (error) { + console.error("Error during token swap:", error); + return false; + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + inputTokenSymbol: "SOL", + outputTokenSymbol: "USDC", + amount: 0.1, + }, + }, + { + user: "{{user2}}", + content: { + text: "Swapping 0.1 SOL for USDC...", + action: "TOKEN_SWAP", + }, + }, + { + user: "{{user2}}", + content: { + text: "Swap completed successfully! Transaction ID: ...", + }, + }, + ], + // Add more examples as needed + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swapDao.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swapDao.ts new file mode 100644 index 000000000..732d8124f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swapDao.ts @@ -0,0 +1,152 @@ +import { + ActionExample, + IAgentRuntime, + Memory, + type Action, +} from "@elizaos/core"; +import { Connection, Keypair, PublicKey, Transaction } from "@solana/web3.js"; +import { getQuote } from "./swapUtils.ts"; +import { getWalletKey } from "../keypairUtils.ts"; + +async function invokeSwapDao( + connection: Connection, + authority: Keypair, + statePDA: PublicKey, + walletPDA: PublicKey, + instructionData: Buffer +): Promise { + const discriminator = new Uint8Array([ + 25, 143, 207, 190, 174, 228, 130, 107, + ]); + + // Combine discriminator and instructionData into a single Uint8Array + const combinedData = new Uint8Array( + discriminator.length + instructionData.length + ); + combinedData.set(discriminator, 0); + combinedData.set(instructionData, discriminator.length); + + const transaction = new Transaction().add({ + programId: new PublicKey("PROGRAM_ID"), + keys: [ + { pubkey: authority.publicKey, isSigner: true, isWritable: true }, + { pubkey: statePDA, isSigner: false, isWritable: true }, + { pubkey: walletPDA, isSigner: false, isWritable: true }, + ], + data: Buffer.from(combinedData), + }); + + const signature = await connection.sendTransaction(transaction, [ + authority, + ]); + await connection.confirmTransaction(signature); + return signature; +} + +async function promptConfirmation(): Promise { + // confirmation logic here + const confirmSwap = window.confirm("Confirm the token swap?"); + return confirmSwap; +} + +export const executeSwapForDAO: Action = { + name: "EXECUTE_SWAP_DAO", + similes: ["SWAP_TOKENS_DAO", "TOKEN_SWAP_DAO"], + validate: async (runtime: IAgentRuntime, message: Memory) => { + console.log("Message:", message); + return true; + }, + description: "Perform a DAO token swap using execute_invoke.", + handler: async ( + runtime: IAgentRuntime, + message: Memory + ): Promise => { + const { inputToken, outputToken, amount } = message.content; + + try { + const connection = new Connection( + runtime.getSetting("RPC_URL") as string + ); + + const { keypair: authority } = await getWalletKey(runtime, true); + + const daoMint = new PublicKey(runtime.getSetting("DAO_MINT")); // DAO mint address + + // Derive PDAs + const [statePDA] = await PublicKey.findProgramAddress( + [Buffer.from("state"), daoMint.toBuffer()], + authority.publicKey + ); + const [walletPDA] = await PublicKey.findProgramAddress( + [Buffer.from("wallet"), daoMint.toBuffer()], + authority.publicKey + ); + + const quoteData = await getQuote( + connection as Connection, + inputToken as string, + outputToken as string, + amount as number + ); + console.log("Swap Quote:", quoteData); + + const confirmSwap = await promptConfirmation(); + if (!confirmSwap) { + console.log("Swap canceled by user"); + return false; + } + + // Prepare instruction data for swap + const instructionData = Buffer.from( + JSON.stringify({ + quote: quoteData.data, + userPublicKey: authority.publicKey.toString(), + wrapAndUnwrapSol: true, + }) + ); + + const txid = await invokeSwapDao( + connection, + authority, + statePDA, + walletPDA, + instructionData + ); + + console.log("DAO Swap completed successfully!"); + console.log(`Transaction ID: ${txid}`); + + return true; + } catch (error) { + console.error("Error during DAO token swap:", error); + return false; + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + inputTokenSymbol: "SOL", + outputTokenSymbol: "USDC", + inputToken: "So11111111111111111111111111111111111111112", + outputToken: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", + amount: 0.1, + }, + }, + { + user: "{{user2}}", + content: { + text: "Swapping 0.1 SOL for USDC using DAO...", + action: "TOKEN_SWAP_DAO", + }, + }, + { + user: "{{user2}}", + content: { + text: "DAO Swap completed successfully! Transaction ID: ...", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swapUtils.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swapUtils.ts new file mode 100644 index 000000000..aabcd88a8 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/swapUtils.ts @@ -0,0 +1,327 @@ +import { getAssociatedTokenAddress } from "@solana/spl-token"; +import { + BlockhashWithExpiryBlockHeight, + Connection, + Keypair, + PublicKey, + RpcResponseAndContext, + SimulatedTransactionResponse, + TokenAmount, + VersionedTransaction, +} from "@solana/web3.js"; +import { settings } from "@elizaos/core"; + +const solAddress = settings.SOL_ADDRESS; +const SLIPPAGE = settings.SLIPPAGE; +const connection = new Connection( + settings.RPC_URL || "https://api.mainnet-beta.solana.com" +); +const delay = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); + +export async function delayedCall( + method: (...args: any[]) => Promise, + ...args: any[] +): Promise { + await delay(150); + return method(...args); +} + +export async function getTokenDecimals( + connection: Connection, + mintAddress: string +): Promise { + const mintPublicKey = new PublicKey(mintAddress); + const tokenAccountInfo = + await connection.getParsedAccountInfo(mintPublicKey); + + // Check if the data is parsed and contains the expected structure + if ( + tokenAccountInfo.value && + typeof tokenAccountInfo.value.data === "object" && + "parsed" in tokenAccountInfo.value.data + ) { + const parsedInfo = tokenAccountInfo.value.data.parsed?.info; + if (parsedInfo && typeof parsedInfo.decimals === "number") { + return parsedInfo.decimals; + } + } + + throw new Error("Unable to fetch token decimals"); +} + +export async function getQuote( + connection: Connection, + baseToken: string, + outputToken: string, + amount: number +): Promise { + const decimals = await getTokenDecimals(connection, baseToken); + const adjustedAmount = amount * 10 ** decimals; + + const quoteResponse = await fetch( + `https://quote-api.jup.ag/v6/quote?inputMint=${baseToken}&outputMint=${outputToken}&amount=${adjustedAmount}&slippageBps=50` + ); + const swapTransaction = await quoteResponse.json(); + const swapTransactionBuf = Buffer.from(swapTransaction, "base64"); + return new Uint8Array(swapTransactionBuf); +} + +export const executeSwap = async ( + transaction: VersionedTransaction, + type: "buy" | "sell" +) => { + try { + const latestBlockhash: BlockhashWithExpiryBlockHeight = + await delayedCall(connection.getLatestBlockhash.bind(connection)); + const signature = await connection.sendTransaction(transaction, { + skipPreflight: false, + }); + const confirmation = await connection.confirmTransaction( + { + signature, + lastValidBlockHeight: latestBlockhash.lastValidBlockHeight, + blockhash: latestBlockhash.blockhash, + }, + "finalized" + ); + if (confirmation.value.err) { + console.log("Confirmation error", confirmation.value.err); + + throw new Error("Confirmation error"); + } else { + if (type === "buy") { + console.log( + "Buy successful: https://solscan.io/tx/${signature}" + ); + } else { + console.log( + "Sell successful: https://solscan.io/tx/${signature}" + ); + } + } + + return signature; + } catch (error) { + console.log(error); + } +}; + +export const Sell = async (baseMint: PublicKey, wallet: Keypair) => { + try { + const tokenAta = await delayedCall( + getAssociatedTokenAddress, + baseMint, + wallet.publicKey + ); + const tokenBalInfo: RpcResponseAndContext = + await delayedCall( + connection.getTokenAccountBalance.bind(connection), + tokenAta + ); + + if (!tokenBalInfo) { + console.log("Balance incorrect"); + return null; + } + + const tokenBalance = tokenBalInfo.value.amount; + if (tokenBalance === "0") { + console.warn( + `No token balance to sell with wallet ${wallet.publicKey}` + ); + } + + const sellTransaction = await getSwapTxWithWithJupiter( + wallet, + baseMint, + tokenBalance, + "sell" + ); + // simulate the transaction + if (!sellTransaction) { + console.log("Failed to get sell transaction"); + return null; + } + + const simulateResult: RpcResponseAndContext = + await delayedCall( + connection.simulateTransaction.bind(connection), + sellTransaction + ); + if (simulateResult.value.err) { + console.log("Sell Simulation failed", simulateResult.value.err); + return null; + } + + // execute the transaction + return executeSwap(sellTransaction, "sell"); + } catch (error) { + console.log(error); + } +}; + +export const Buy = async (baseMint: PublicKey, wallet: Keypair) => { + try { + const tokenAta = await delayedCall( + getAssociatedTokenAddress, + baseMint, + wallet.publicKey + ); + const tokenBalInfo: RpcResponseAndContext = + await delayedCall( + connection.getTokenAccountBalance.bind(connection), + tokenAta + ); + + if (!tokenBalInfo) { + console.log("Balance incorrect"); + return null; + } + + const tokenBalance = tokenBalInfo.value.amount; + if (tokenBalance === "0") { + console.warn( + `No token balance to sell with wallet ${wallet.publicKey}` + ); + } + + const buyTransaction = await getSwapTxWithWithJupiter( + wallet, + baseMint, + tokenBalance, + "buy" + ); + // simulate the transaction + if (!buyTransaction) { + console.log("Failed to get buy transaction"); + return null; + } + + const simulateResult: RpcResponseAndContext = + await delayedCall( + connection.simulateTransaction.bind(connection), + buyTransaction + ); + if (simulateResult.value.err) { + console.log("Buy Simulation failed", simulateResult.value.err); + return null; + } + + // execute the transaction + return executeSwap(buyTransaction, "buy"); + } catch (error) { + console.log(error); + } +}; + +export const getSwapTxWithWithJupiter = async ( + wallet: Keypair, + baseMint: PublicKey, + amount: string, + type: "buy" | "sell" +) => { + try { + switch (type) { + case "buy": + return fetchBuyTransaction(wallet, baseMint, amount); + case "sell": + return fetchSellTransaction(wallet, baseMint, amount); + default: + return fetchSellTransaction(wallet, baseMint, amount); + } + } catch (error) { + console.log(error); + } +}; + +export const fetchBuyTransaction = async ( + wallet: Keypair, + baseMint: PublicKey, + amount: string +) => { + try { + const quoteResponse = await ( + await fetch( + `https://quote-api.jup.ag/v6/quote?inputMint=${solAddress}&outputMint=${baseMint.toBase58()}&amount=${amount}&slippageBps=${SLIPPAGE}` + ) + ).json(); + const { swapTransaction } = await ( + await fetch("https://quote-api.jup.ag/v6/swap", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + quoteResponse, + userPublicKey: wallet.publicKey.toString(), + wrapAndUnwrapSol: true, + dynamicComputeUnitLimit: true, + prioritizationFeeLamports: 100000, + }), + }) + ).json(); + if (!swapTransaction) { + console.log("Failed to get buy transaction"); + return null; + } + + // deserialize the transaction + const swapTransactionBuf = Buffer.from(swapTransaction, "base64"); + const transaction = + VersionedTransaction.deserialize(swapTransactionBuf); + + // sign the transaction + transaction.sign([wallet]); + return transaction; + } catch (error) { + console.log("Failed to get buy transaction", error); + return null; + } +}; + +export const fetchSellTransaction = async ( + wallet: Keypair, + baseMint: PublicKey, + amount: string +) => { + try { + const quoteResponse = await ( + await fetch( + `https://quote-api.jup.ag/v6/quote?inputMint=${baseMint.toBase58()}&outputMint=${solAddress}&amount=${amount}&slippageBps=${SLIPPAGE}` + ) + ).json(); + + // get serialized transactions for the swap + const { swapTransaction } = await ( + await fetch("https://quote-api.jup.ag/v6/swap", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + quoteResponse, + userPublicKey: wallet.publicKey.toString(), + wrapAndUnwrapSol: true, + dynamicComputeUnitLimit: true, + prioritizationFeeLamports: 52000, + }), + }) + ).json(); + if (!swapTransaction) { + console.log("Failed to get sell transaction"); + return null; + } + + // deserialize the transaction + const swapTransactionBuf = Buffer.from(swapTransaction, "base64"); + const transaction = + VersionedTransaction.deserialize(swapTransactionBuf); + + // sign the transaction + transaction.sign([wallet]); + return transaction; + } catch (error) { + console.log("Failed to get sell transaction", error); + return null; + } +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/takeOrder.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/takeOrder.ts new file mode 100644 index 000000000..99b188b85 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/takeOrder.ts @@ -0,0 +1,136 @@ +import { + Action, + IAgentRuntime, + Memory, + Content, + ModelClass, +} from "@elizaos/core"; +import { composeContext } from "@elizaos/core"; +import { generateText } from "@elizaos/core"; + +interface Order { + userId: string; + ticker: string; + contractAddress: string; + timestamp: string; + buyAmount: number; + price: number; +} + +const take_order: Action = { + name: "TAKE_ORDER", + similes: ["BUY_ORDER", "PLACE_ORDER"], + description: "Records a buy order based on the user's conviction level.", + examples: [], + validate: async (runtime: IAgentRuntime, message: Memory) => { + const text = (message.content as Content).text; + // Check if the message contains a ticker symbol + const tickerRegex = /\b[A-Z]{1,5}\b/g; + return tickerRegex.test(text); + }, + handler: async (runtime: IAgentRuntime, message: Memory) => { + const _text = (message.content as Content).text; + const userId = message.userId; + + const template = ` + +// CLAUDE TODO: Put the usual conversation context here + +Ticker is: {{ticker}} +Contract address is: {{contractAddress}} + +Determine if the user is trying to shill the ticker. if they are, respond with empty conviction, ticker and contractAddress. + +// CLAUDE TODO: output a JSON block with the following fields: +// - reasoning: string +// - conviction: negative, low, medium, high +// - ticker: string (extract from CA so we have context) +// - contractAddress: string +`; + + let ticker, contractAddress; + + // TODO: + + // 1. create state object with runtime.composeState + // 2. compose context with template and state + // 3. get generateText + // 4. validate generateText + + // if ticker or contractAddress are empty, return a message asking for them + if (!ticker || !contractAddress) { + return { + text: "Ticker and CA?", + }; + } + + const state = await runtime.composeState(message); + // TODO: compose context properly + const context = composeContext({ + state: { + ...state, + ticker, + contractAddress, + }, + template, + }); + + const convictionResponse = await generateText({ + runtime, + context: context, + modelClass: ModelClass.LARGE, + }); + + // TODOL parse and validate the JSON + const convictionResponseJson = JSON.parse(convictionResponse); // TODO: replace with validate like other actions + + // get the conviction + const conviction = convictionResponseJson.conviction; + + let buyAmount = 0; + if (conviction === "low") { + buyAmount = 20; + } else if (conviction === "medium") { + buyAmount = 50; + } else if (conviction === "high") { + buyAmount = 100; + } + + // Get the current price of the asset (replace with actual price fetching logic) + const currentPrice = 100; + + const order: Order = { + userId, + ticker: ticker || "", + contractAddress, + timestamp: new Date().toISOString(), + buyAmount, + price: currentPrice, + }; + + // Read the existing order book from the JSON file + const orderBookPath = + runtime.getSetting("orderBookPath") ?? "solana/orderBook.json"; + + const orderBook: Order[] = []; + + const cachedOrderBook = + await runtime.cacheManager.get(orderBookPath); + + if (cachedOrderBook) { + orderBook.push(...cachedOrderBook); + } + + // Add the new order to the order book + orderBook.push(order); + + // Write the updated order book back to the JSON file + await runtime.cacheManager.set(orderBookPath, orderBook); + + return { + text: `Recorded a ${conviction} conviction buy order for ${ticker} (${contractAddress}) with an amount of ${buyAmount} at the price of ${currentPrice}.`, + }; + }, +}; + +export default take_order; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/transfer.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/transfer.ts new file mode 100644 index 000000000..118e2b246 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/actions/transfer.ts @@ -0,0 +1,263 @@ +import { + getAssociatedTokenAddressSync, + createTransferInstruction, +} from "@solana/spl-token"; +import { elizaLogger, settings } from "@elizaos/core"; + +import { + Connection, + PublicKey, + TransactionMessage, + VersionedTransaction, +} from "@solana/web3.js"; + +import { + ActionExample, + Content, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + type Action, +} from "@elizaos/core"; +import { composeContext } from "@elizaos/core"; +import { getWalletKey } from "../keypairUtils"; +import { generateObjectDeprecated } from "@elizaos/core"; + +export interface TransferContent extends Content { + tokenAddress: string; + recipient: string; + amount: string | number; +} + +function isTransferContent( + runtime: IAgentRuntime, + content: any +): content is TransferContent { + console.log("Content for transfer", content); + return ( + typeof content.tokenAddress === "string" && + typeof content.recipient === "string" && + (typeof content.amount === "string" || + typeof content.amount === "number") + ); +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "tokenAddress": "BieefG47jAHCGZBxi2q87RDuHyGZyYC3vAzxpyu8pump", + "recipient": "9jW8FPr6BSSsemWPV22UUCzSqkVdTp6HTyPqeqyuBbCa", + "amount": "1000" +} +\`\`\` + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token transfer: +- Token contract address +- Recipient wallet address +- Amount to transfer + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "SEND_TOKEN", + similes: [ + "TRANSFER_TOKEN", + "TRANSFER_TOKENS", + "SEND_TOKENS", + "SEND_SOL", + "PAY", + ], + validate: async (runtime: IAgentRuntime, message: Memory) => { + console.log("Validating transfer from user:", message.userId); + //add custom validate logic here + /* + const adminIds = runtime.getSetting("ADMIN_USER_IDS")?.split(",") || []; + //console.log("Admin IDs from settings:", adminIds); + + const isAdmin = adminIds.includes(message.userId); + + if (isAdmin) { + //console.log(`Authorized transfer from user: ${message.userId}`); + return true; + } + else + { + //console.log(`Unauthorized transfer attempt from user: ${message.userId}`); + return false; + } + */ + return false; + }, + description: "Transfer tokens from the agent's wallet to another address", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + elizaLogger.log("Starting SEND_TOKEN handler..."); + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content + const content = await generateObjectDeprecated({ + runtime, + context: transferContext, + modelClass: ModelClass.LARGE, + }); + + // Validate transfer content + if (!isTransferContent(runtime, content)) { + console.error("Invalid content for TRANSFER_TOKEN action."); + if (callback) { + callback({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid transfer content" }, + }); + } + return false; + } + + try { + const { keypair: senderKeypair } = await getWalletKey( + runtime, + true + ); + + const connection = new Connection(settings.RPC_URL!); + + const mintPubkey = new PublicKey(content.tokenAddress); + const recipientPubkey = new PublicKey(content.recipient); + + // Get decimals (simplest way) + const mintInfo = await connection.getParsedAccountInfo(mintPubkey); + const decimals = + (mintInfo.value?.data as any)?.parsed?.info?.decimals ?? 9; + + // Adjust amount with decimals + const adjustedAmount = BigInt( + Number(content.amount) * Math.pow(10, decimals) + ); + console.log( + `Transferring: ${content.amount} tokens (${adjustedAmount} base units)` + ); + + // Rest of the existing working code... + const senderATA = getAssociatedTokenAddressSync( + mintPubkey, + senderKeypair.publicKey + ); + const recipientATA = getAssociatedTokenAddressSync( + mintPubkey, + recipientPubkey + ); + + const instructions = []; + + const recipientATAInfo = + await connection.getAccountInfo(recipientATA); + if (!recipientATAInfo) { + const { createAssociatedTokenAccountInstruction } = + await import("@solana/spl-token"); + instructions.push( + createAssociatedTokenAccountInstruction( + senderKeypair.publicKey, + recipientATA, + recipientPubkey, + mintPubkey + ) + ); + } + + instructions.push( + createTransferInstruction( + senderATA, + recipientATA, + senderKeypair.publicKey, + adjustedAmount + ) + ); + + // Create and sign versioned transaction + const messageV0 = new TransactionMessage({ + payerKey: senderKeypair.publicKey, + recentBlockhash: (await connection.getLatestBlockhash()) + .blockhash, + instructions, + }).compileToV0Message(); + + const transaction = new VersionedTransaction(messageV0); + transaction.sign([senderKeypair]); + + // Send transaction + const signature = await connection.sendTransaction(transaction); + + console.log("Transfer successful:", signature); + + if (callback) { + callback({ + text: `Successfully transferred ${content.amount} tokens to ${content.recipient}\nTransaction: ${signature}`, + content: { + success: true, + signature, + amount: content.amount, + recipient: content.recipient, + }, + }); + } + + return true; + } catch (error) { + console.error("Error during token transfer:", error); + if (callback) { + callback({ + text: `Error transferring tokens: ${error.message}`, + content: { error: error.message }, + }); + } + return false; + } + }, + + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Send 69 EZSIS BieefG47jAHCGZBxi2q87RDuHyGZyYC3vAzxpyu8pump to 9jW8FPr6BSSsemWPV22UUCzSqkVdTp6HTyPqeqyuBbCa", + }, + }, + { + user: "{{user2}}", + content: { + text: "I'll send 69 EZSIS tokens now...", + action: "SEND_TOKEN", + }, + }, + { + user: "{{user2}}", + content: { + text: "Successfully sent 69 EZSIS tokens to 9jW8FPr6BSSsemWPV22UUCzSqkVdTp6HTyPqeqyuBbCa\nTransaction: 5KtPn3DXXzHkb7VAVHZGwXJQqww39ASnrf7YkyJoF2qAGEpBEEGvRHLnnTG8ZVwKqNHMqSckWVGnsQAgfH5pbxEb", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/bignumber.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/bignumber.ts new file mode 100644 index 000000000..f320676a0 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/bignumber.ts @@ -0,0 +1,9 @@ +import BigNumber from "bignumber.js"; + +// Re-export BigNumber constructor +export const BN = BigNumber; + +// Helper function to create new BigNumber instances +export function toBN(value: string | number | BigNumber): BigNumber { + return new BigNumber(value); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/environment.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/environment.ts new file mode 100644 index 000000000..e6931091c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/environment.ts @@ -0,0 +1,76 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { z } from "zod"; + +export const solanaEnvSchema = z + .object({ + WALLET_SECRET_SALT: z.string().optional(), + }) + .and( + z.union([ + z.object({ + WALLET_SECRET_KEY: z + .string() + .min(1, "Wallet secret key is required"), + WALLET_PUBLIC_KEY: z + .string() + .min(1, "Wallet public key is required"), + }), + z.object({ + WALLET_SECRET_SALT: z + .string() + .min(1, "Wallet secret salt is required"), + }), + ]) + ) + .and( + z.object({ + SOL_ADDRESS: z.string().min(1, "SOL address is required"), + SLIPPAGE: z.string().min(1, "Slippage is required"), + RPC_URL: z.string().min(1, "RPC URL is required"), + HELIUS_API_KEY: z.string().min(1, "Helius API key is required"), + BIRDEYE_API_KEY: z.string().min(1, "Birdeye API key is required"), + }) + ); + +export type SolanaConfig = z.infer; + +export async function validateSolanaConfig( + runtime: IAgentRuntime +): Promise { + try { + const config = { + WALLET_SECRET_SALT: + runtime.getSetting("WALLET_SECRET_SALT") || + process.env.WALLET_SECRET_SALT, + WALLET_SECRET_KEY: + runtime.getSetting("WALLET_SECRET_KEY") || + process.env.WALLET_SECRET_KEY, + WALLET_PUBLIC_KEY: + runtime.getSetting("SOLANA_PUBLIC_KEY") || + runtime.getSetting("WALLET_PUBLIC_KEY") || + process.env.WALLET_PUBLIC_KEY, + SOL_ADDRESS: + runtime.getSetting("SOL_ADDRESS") || process.env.SOL_ADDRESS, + SLIPPAGE: runtime.getSetting("SLIPPAGE") || process.env.SLIPPAGE, + RPC_URL: runtime.getSetting("RPC_URL") || process.env.RPC_URL, + HELIUS_API_KEY: + runtime.getSetting("HELIUS_API_KEY") || + process.env.HELIUS_API_KEY, + BIRDEYE_API_KEY: + runtime.getSetting("BIRDEYE_API_KEY") || + process.env.BIRDEYE_API_KEY, + }; + + return solanaEnvSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error( + `Solana configuration validation failed:\n${errorMessages}` + ); + } + throw error; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/evaluators/trust.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/evaluators/trust.ts new file mode 100644 index 000000000..2c4f441cf --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/evaluators/trust.ts @@ -0,0 +1,543 @@ +import { + composeContext, + generateObjectArray, + generateTrueOrFalse, + MemoryManager, + booleanFooter, + ActionExample, + Content, + IAgentRuntime, + Memory, + ModelClass, + Evaluator, +} from "@elizaos/core"; +import { TrustScoreManager } from "../providers/trustScoreProvider.ts"; +import { TokenProvider } from "../providers/token.ts"; +import { WalletProvider } from "../providers/wallet.ts"; +import { TrustScoreDatabase } from "@elizaos/plugin-trustdb"; +import { Connection } from "@solana/web3.js"; +import { getWalletKey } from "../keypairUtils.ts"; + +const shouldProcessTemplate = + `# Task: Decide if the recent messages should be processed for token recommendations. + + Look for messages that: + - Mention specific token tickers or contract addresses + - Contain words related to buying, selling, or trading tokens + - Express opinions or convictions about tokens + + Based on the following conversation, should the messages be processed for recommendations? YES or NO + + {{recentMessages}} + + Should the messages be processed for recommendations? ` + booleanFooter; + +export const formatRecommendations = (recommendations: Memory[]) => { + const messageStrings = recommendations + .reverse() + .map((rec: Memory) => `${(rec.content as Content)?.content}`); + const finalMessageStrings = messageStrings.join("\n"); + return finalMessageStrings; +}; + +const recommendationTemplate = `TASK: Extract recommendations to buy or sell memecoins from the conversation as an array of objects in JSON format. + + Memecoins usually have a ticker and a contract address. Additionally, recommenders may make recommendations with some amount of conviction. The amount of conviction in their recommendation can be none, low, medium, or high. Recommenders can make recommendations to buy, not buy, sell and not sell. + +# START OF EXAMPLES +These are an examples of the expected output of this task: +{{evaluationExamples}} +# END OF EXAMPLES + +# INSTRUCTIONS + +Extract any new recommendations from the conversation that are not already present in the list of known recommendations below: +{{recentRecommendations}} + +- Include the recommender's username +- Try not to include already-known recommendations. If you think a recommendation is already known, but you're not sure, respond with alreadyKnown: true. +- Set the conviction to 'none', 'low', 'medium' or 'high' +- Set the recommendation type to 'buy', 'dont_buy', 'sell', or 'dont_sell' +- Include the contract address and/or ticker if available + +Recent Messages: +{{recentMessages}} + +Response should be a JSON object array inside a JSON markdown block. Correct response format: +\`\`\`json +[ + { + "recommender": string, + "ticker": string | null, + "contractAddress": string | null, + "type": enum, + "conviction": enum, + "alreadyKnown": boolean + }, + ... +] +\`\`\``; + +async function handler(runtime: IAgentRuntime, message: Memory) { + console.log("Evaluating for trust"); + const state = await runtime.composeState(message); + + const { agentId, roomId } = state; + + // Check if we should process the messages + const shouldProcessContext = composeContext({ + state, + template: shouldProcessTemplate, + }); + + const shouldProcess = await generateTrueOrFalse({ + context: shouldProcessContext, + modelClass: ModelClass.SMALL, + runtime, + }); + + if (!shouldProcess) { + console.log("Skipping process"); + return []; + } + + console.log("Processing recommendations"); + + // Get recent recommendations + const recommendationsManager = new MemoryManager({ + runtime, + tableName: "recommendations", + }); + + const recentRecommendations = await recommendationsManager.getMemories({ + roomId, + count: 20, + }); + + const context = composeContext({ + state: { + ...state, + recentRecommendations: formatRecommendations(recentRecommendations), + }, + template: recommendationTemplate, + }); + + const recommendations = await generateObjectArray({ + runtime, + context, + modelClass: ModelClass.LARGE, + }); + + console.log("recommendations", recommendations); + + if (!recommendations) { + return []; + } + + // If the recommendation is already known or corrupted, remove it + const filteredRecommendations = recommendations.filter((rec) => { + return ( + !rec.alreadyKnown && + (rec.ticker || rec.contractAddress) && + rec.recommender && + rec.conviction && + rec.recommender.trim() !== "" + ); + }); + + const { publicKey } = await getWalletKey(runtime, false); + + for (const rec of filteredRecommendations) { + // create the wallet provider and token provider + const walletProvider = new WalletProvider( + new Connection( + runtime.getSetting("RPC_URL") || + "https://api.mainnet-beta.solana.com" + ), + publicKey + ); + const tokenProvider = new TokenProvider( + rec.contractAddress, + walletProvider, + runtime.cacheManager + ); + + // TODO: Check to make sure the contract address is valid, it's the right one, etc + + // + if (!rec.contractAddress) { + const tokenAddress = await tokenProvider.getTokenFromWallet( + runtime, + rec.ticker + ); + rec.contractAddress = tokenAddress; + if (!tokenAddress) { + // try to search for the symbol and return the contract address with they highest liquidity and market cap + const result = await tokenProvider.searchDexScreenerData( + rec.ticker + ); + const tokenAddress = result?.baseToken?.address; + rec.contractAddress = tokenAddress; + if (!tokenAddress) { + console.warn("Could not find contract address for token"); + continue; + } + } + } + + // create the trust score manager + + const trustScoreDb = new TrustScoreDatabase(runtime.databaseAdapter.db); + const trustScoreManager = new TrustScoreManager( + runtime, + tokenProvider, + trustScoreDb + ); + + // get actors from the database + const participants = + await runtime.databaseAdapter.getParticipantsForRoom( + message.roomId + ); + + // find the first user Id from a user with the username that we extracted + const user = participants.find(async (actor) => { + const user = await runtime.databaseAdapter.getAccountById(actor); + return ( + user.name.toLowerCase().trim() === + rec.recommender.toLowerCase().trim() + ); + }); + + if (!user) { + console.warn("Could not find user: ", rec.recommender); + continue; + } + + const account = await runtime.databaseAdapter.getAccountById(user); + const userId = account.id; + + const recMemory = { + userId, + agentId, + content: { text: JSON.stringify(rec) }, + roomId, + createdAt: Date.now(), + }; + + await recommendationsManager.createMemory(recMemory, true); + + console.log("recommendationsManager", rec); + + // - from here we just need to make sure code is right + + // buy, dont buy, sell, dont sell + + const buyAmounts = await tokenProvider.calculateBuyAmounts(); + + let buyAmount = buyAmounts[rec.conviction.toLowerCase().trim()]; + if (!buyAmount) { + // handle annoying cases + // for now just put in 10 sol + buyAmount = 10; + } + + // TODO: is this is a buy, sell, dont buy, or dont sell? + const shouldTrade = await tokenProvider.shouldTradeToken(); + + if (!shouldTrade) { + console.warn( + "There might be a problem with the token, not trading" + ); + continue; + } + + switch (rec.type) { + case "buy": + // for now, lets just assume buy only, but we should implement + await trustScoreManager.createTradePerformance( + runtime, + rec.contractAddress, + userId, + { + buy_amount: rec.buyAmount, + is_simulation: true, + } + ); + break; + case "sell": + case "dont_sell": + case "dont_buy": + console.warn("Not implemented"); + break; + } + } + + return filteredRecommendations; +} + +export const trustEvaluator: Evaluator = { + name: "EXTRACT_RECOMMENDATIONS", + similes: [ + "GET_RECOMMENDATIONS", + "EXTRACT_TOKEN_RECS", + "EXTRACT_MEMECOIN_RECS", + ], + alwaysRun: true, + validate: async ( + runtime: IAgentRuntime, + message: Memory + ): Promise => { + if (message.content.text.length < 5) { + return false; + } + + return message.userId !== message.agentId; + }, + description: + "Extract recommendations to buy or sell memecoins/tokens from the conversation, including details like ticker, contract address, conviction level, and recommender username.", + handler, + examples: [ + { + context: `Actors in the scene: +{{user1}}: Experienced DeFi degen. Constantly chasing high yield farms. +{{user2}}: New to DeFi, learning the ropes. + +Recommendations about the actors: +None`, + messages: [ + { + user: "{{user1}}", + content: { + text: "Yo, have you checked out $SOLARUG? Dope new yield aggregator on Solana.", + }, + }, + { + user: "{{user2}}", + content: { + text: "Nah, I'm still trying to wrap my head around how yield farming even works haha. Is it risky?", + }, + }, + { + user: "{{user1}}", + content: { + text: "I mean, there's always risk in DeFi, but the $SOLARUG devs seem legit. Threw a few sol into the FCweoTfJ128jGgNEXgdfTXdEZVk58Bz9trCemr6sXNx9 vault, farming's been smooth so far.", + }, + }, + ] as ActionExample[], + outcome: `\`\`\`json +[ + { + "recommender": "{{user1}}", + "ticker": "SOLARUG", + "contractAddress": "FCweoTfJ128jGgNEXgdfTXdEZVk58Bz9trCemr6sXNx9", + "type": "buy", + "conviction": "medium", + "alreadyKnown": false + } +] +\`\`\``, + }, + + { + context: `Actors in the scene: +{{user1}}: Solana maximalist. Believes Solana will flip Ethereum. +{{user2}}: Multichain proponent. Holds both SOL and ETH. + +Recommendations about the actors: +{{user1}} has previously promoted $COPETOKEN and $SOYLENT.`, + messages: [ + { + user: "{{user1}}", + content: { + text: "If you're not long $SOLVAULT at 7tRzKud6FBVFEhYqZS3CuQ2orLRM21bdisGykL5Sr4Dx, you're missing out. This will be the blackhole of Solana liquidity.", + }, + }, + { + user: "{{user2}}", + content: { + text: "Idk man, feels like there's a new 'vault' or 'reserve' token every week on Sol. What happened to $COPETOKEN and $SOYLENT that you were shilling before?", + }, + }, + { + user: "{{user1}}", + content: { + text: "$COPETOKEN and $SOYLENT had their time, I took profits near the top. But $SOLVAULT is different, it has actual utility. Do what you want, but don't say I didn't warn you when this 50x's and you're left holding your $ETH bags.", + }, + }, + ] as ActionExample[], + outcome: `\`\`\`json +[ + { + "recommender": "{{user1}}", + "ticker": "COPETOKEN", + "contractAddress": null, + "type": "sell", + "conviction": "low", + "alreadyKnown": true + }, + { + "recommender": "{{user1}}", + "ticker": "SOYLENT", + "contractAddress": null, + "type": "sell", + "conviction": "low", + "alreadyKnown": true + }, + { + "recommender": "{{user1}}", + "ticker": "SOLVAULT", + "contractAddress": "7tRzKud6FBVFEhYqZS3CuQ2orLRM21bdisGykL5Sr4Dx", + "type": "buy", + "conviction": "high", + "alreadyKnown": false + } +] +\`\`\``, + }, + + { + context: `Actors in the scene: +{{user1}}: Self-proclaimed Solana alpha caller. Allegedly has insider info. +{{user2}}: Degen gambler. Will ape into any hyped token. + +Recommendations about the actors: +None`, + messages: [ + { + user: "{{user1}}", + content: { + text: "I normally don't do this, but I like you anon, so I'll let you in on some alpha. $ROULETTE at 48vV5y4DRH1Adr1bpvSgFWYCjLLPtHYBqUSwNc2cmCK2 is going to absolutely send it soon. You didn't hear it from me 🤐", + }, + }, + { + user: "{{user2}}", + content: { + text: "Oh shit, insider info from the alpha god himself? Say no more, I'm aping in hard.", + }, + }, + ] as ActionExample[], + outcome: `\`\`\`json +[ + { + "recommender": "{{user1}}", + "ticker": "ROULETTE", + "contractAddress": "48vV5y4DRH1Adr1bpvSgFWYCjLLPtHYBqUSwNc2cmCK2", + "type": "buy", + "conviction": "high", + "alreadyKnown": false + } +] +\`\`\``, + }, + + { + context: `Actors in the scene: +{{user1}}: NFT collector and trader. Bullish on Solana NFTs. +{{user2}}: Only invests based on fundamentals. Sees all NFTs as worthless JPEGs. + +Recommendations about the actors: +None +`, + messages: [ + { + user: "{{user1}}", + content: { + text: "GM. I'm heavily accumulating $PIXELAPE, the token for the Pixel Ape Yacht Club NFT collection. 10x is inevitable.", + }, + }, + { + user: "{{user2}}", + content: { + text: "NFTs are a scam bro. There's no underlying value. You're essentially trading worthless JPEGs.", + }, + }, + { + user: "{{user1}}", + content: { + text: "Fun staying poor 🤡 $PIXELAPE is about to moon and you'll be left behind.", + }, + }, + { + user: "{{user2}}", + content: { + text: "Whatever man, I'm not touching that shit with a ten foot pole. Have fun holding your bags.", + }, + }, + { + user: "{{user1}}", + content: { + text: "Don't need luck where I'm going 😎 Once $PIXELAPE at 3hAKKmR6XyBooQBPezCbUMhrmcyTkt38sRJm2thKytWc takes off, you'll change your tune.", + }, + }, + ], + outcome: `\`\`\`json +[ + { + "recommender": "{{user1}}", + "ticker": "PIXELAPE", + "contractAddress": "3hAKKmR6XyBooQBPezCbUMhrmcyTkt38sRJm2thKytWc", + "type": "buy", + "conviction": "high", + "alreadyKnown": false + } +] +\`\`\``, + }, + + { + context: `Actors in the scene: +{{user1}}: Contrarian investor. Bets against hyped projects. +{{user2}}: Trend follower. Buys tokens that are currently popular. + +Recommendations about the actors: +None`, + messages: [ + { + user: "{{user2}}", + content: { + text: "$SAMOYED is the talk of CT right now. Making serious moves. Might have to get a bag.", + }, + }, + { + user: "{{user1}}", + content: { + text: "Whenever a token is the 'talk of CT', that's my cue to short it. $SAMOYED is going to dump hard, mark my words.", + }, + }, + { + user: "{{user2}}", + content: { + text: "Idk man, the hype seems real this time. 5TQwHyZbedaH4Pcthj1Hxf5GqcigL6qWuB7YEsBtqvhr chart looks bullish af.", + }, + }, + { + user: "{{user1}}", + content: { + text: "Hype is always real until it isn't. I'm taking out a fat short position here. Don't say I didn't warn you when this crashes 90% and you're left holding the flaming bags.", + }, + }, + ], + outcome: `\`\`\`json +[ + { + "recommender": "{{user2}}", + "ticker": "SAMOYED", + "contractAddress": "5TQwHyZbedaH4Pcthj1Hxf5GqcigL6qWuB7YEsBtqvhr", + "type": "buy", + "conviction": "medium", + "alreadyKnown": false + }, + { + "recommender": "{{user1}}", + "ticker": "SAMOYED", + "contractAddress": "5TQwHyZbedaH4Pcthj1Hxf5GqcigL6qWuB7YEsBtqvhr", + "type": "dont_buy", + "conviction": "high", + "alreadyKnown": false + } +] +\`\`\``, + }, + ], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/index.ts new file mode 100644 index 000000000..b207ed260 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/index.ts @@ -0,0 +1,36 @@ +export * from "./providers/token.ts"; +export * from "./providers/wallet.ts"; +export * from "./providers/trustScoreProvider.ts"; +export * from "./evaluators/trust.ts"; + +import { Plugin } from "@elizaos/core"; +import { executeSwap } from "./actions/swap.ts"; +import take_order from "./actions/takeOrder"; +import pumpfun from "./actions/pumpfun.ts"; +import fomo from "./actions/fomo.ts"; +import { executeSwapForDAO } from "./actions/swapDao"; +import transferToken from "./actions/transfer.ts"; +import { walletProvider } from "./providers/wallet.ts"; +import { trustScoreProvider } from "./providers/trustScoreProvider.ts"; +import { trustEvaluator } from "./evaluators/trust.ts"; +import { TokenProvider } from "./providers/token.ts"; +import { WalletProvider } from "./providers/wallet.ts"; + +export { TokenProvider, WalletProvider }; + +export const solanaPlugin: Plugin = { + name: "solana", + description: "Solana Plugin for Eliza", + actions: [ + executeSwap, + pumpfun, + fomo, + transferToken, + executeSwapForDAO, + take_order, + ], + evaluators: [trustEvaluator], + providers: [walletProvider, trustScoreProvider], +}; + +export default solanaPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/keypairUtils.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/keypairUtils.ts new file mode 100644 index 000000000..4aa942ebe --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/keypairUtils.ts @@ -0,0 +1,82 @@ +import { Keypair, PublicKey } from "@solana/web3.js"; +import { DeriveKeyProvider, TEEMode } from "@elizaos/plugin-tee"; +import bs58 from "bs58"; +import { IAgentRuntime } from "@elizaos/core"; + +export interface KeypairResult { + keypair?: Keypair; + publicKey?: PublicKey; +} + +/** + * Gets either a keypair or public key based on TEE mode and runtime settings + * @param runtime The agent runtime + * @param requirePrivateKey Whether to return a full keypair (true) or just public key (false) + * @returns KeypairResult containing either keypair or public key + */ +export async function getWalletKey( + runtime: IAgentRuntime, + requirePrivateKey: boolean = true +): Promise { + const teeMode = runtime.getSetting("TEE_MODE") || TEEMode.OFF; + + if (teeMode !== TEEMode.OFF) { + const walletSecretSalt = runtime.getSetting("WALLET_SECRET_SALT"); + if (!walletSecretSalt) { + throw new Error( + "WALLET_SECRET_SALT required when TEE_MODE is enabled" + ); + } + + const deriveKeyProvider = new DeriveKeyProvider(teeMode); + const deriveKeyResult = await deriveKeyProvider.deriveEd25519Keypair( + "/", + walletSecretSalt, + runtime.agentId + ); + + return requirePrivateKey + ? { keypair: deriveKeyResult.keypair } + : { publicKey: deriveKeyResult.keypair.publicKey }; + } + + // TEE mode is OFF + if (requirePrivateKey) { + const privateKeyString = + runtime.getSetting("SOLANA_PRIVATE_KEY") ?? + runtime.getSetting("WALLET_PRIVATE_KEY"); + + if (!privateKeyString) { + throw new Error("Private key not found in settings"); + } + + try { + // First try base58 + const secretKey = bs58.decode(privateKeyString); + return { keypair: Keypair.fromSecretKey(secretKey) }; + } catch (e) { + console.log("Error decoding base58 private key:", e); + try { + // Then try base64 + console.log("Try decoding base64 instead"); + const secretKey = Uint8Array.from( + Buffer.from(privateKeyString, "base64") + ); + return { keypair: Keypair.fromSecretKey(secretKey) }; + } catch (e2) { + console.error("Error decoding private key: ", e2); + throw new Error("Invalid private key format"); + } + } + } else { + const publicKeyString = + runtime.getSetting("SOLANA_PUBLIC_KEY") ?? + runtime.getSetting("WALLET_PUBLIC_KEY"); + + if (!publicKeyString) { + throw new Error("Public key not found in settings"); + } + + return { publicKey: new PublicKey(publicKeyString) }; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/orderBook.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/orderBook.ts new file mode 100644 index 000000000..ac4577e01 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/orderBook.ts @@ -0,0 +1,45 @@ +import { IAgentRuntime, Memory, Provider, State } from "@elizaos/core"; +interface Order { + userId: string; + ticker: string; + contractAddress: string; + timestamp: string; + buyAmount: number; + price: number; +} + +const orderBookProvider: Provider = { + get: async (runtime: IAgentRuntime, message: Memory, _state?: State) => { + const userId = message.userId; + + // Read the order book from the JSON file + const orderBookPath = + runtime.getSetting("orderBookPath") ?? "solana/orderBook"; + + const orderBook: Order[] = []; + + const cachedOrderBook = + await runtime.cacheManager.get(orderBookPath); + + if (cachedOrderBook) { + orderBook.push(...cachedOrderBook); + } + + // Filter the orders for the current user + const userOrders = orderBook.filter((order) => order.userId === userId); + + let totalProfit = 0; + for (const order of userOrders) { + // Get the current price of the asset (replace with actual price fetching logic) + const currentPrice = 120; + + const priceDifference = currentPrice - order.price; + const orderProfit = priceDifference * order.buyAmount; + totalProfit += orderProfit; + } + + return `The user has made a total profit of $${totalProfit.toFixed(2)} for the agent based on their recorded buy orders.`; + }, +}; + +export { orderBookProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/simulationSellingService.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/simulationSellingService.ts new file mode 100644 index 000000000..670eeb74f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/simulationSellingService.ts @@ -0,0 +1,501 @@ +import { + TrustScoreDatabase, + TokenPerformance, + // TradePerformance, + TokenRecommendation, +} from "@elizaos/plugin-trustdb"; +import { Connection, PublicKey } from "@solana/web3.js"; +// Assuming TokenProvider and IAgentRuntime are available +import { TokenProvider } from "./token.ts"; +// import { settings } from "@elizaos/core"; +import { IAgentRuntime } from "@elizaos/core"; +import { WalletProvider } from "./wallet.ts"; +import * as amqp from "amqplib"; +import { ProcessedTokenData } from "../types/token.ts"; +import { getWalletKey } from "../keypairUtils.ts"; + +interface SellDetails { + sell_amount: number; + sell_recommender_id: string | null; +} + +export class SimulationSellingService { + private trustScoreDb: TrustScoreDatabase; + private walletProvider: WalletProvider; + private connection: Connection; + private baseMint: PublicKey; + private DECAY_RATE = 0.95; + private MAX_DECAY_DAYS = 30; + private backend: string; + private backendToken: string; + private amqpConnection: amqp.Connection; + private amqpChannel: amqp.Channel; + private sonarBe: string; + private sonarBeToken: string; + private runtime: IAgentRuntime; + + private runningProcesses: Set = new Set(); + + constructor(runtime: IAgentRuntime, trustScoreDb: TrustScoreDatabase) { + this.trustScoreDb = trustScoreDb; + + this.connection = new Connection(runtime.getSetting("RPC_URL")); + this.initializeWalletProvider(); + this.baseMint = new PublicKey( + runtime.getSetting("BASE_MINT") || + "So11111111111111111111111111111111111111112" + ); + this.backend = runtime.getSetting("BACKEND_URL"); + this.backendToken = runtime.getSetting("BACKEND_TOKEN"); + this.initializeRabbitMQ(runtime.getSetting("AMQP_URL")); + this.sonarBe = runtime.getSetting("SONAR_BE"); + this.sonarBeToken = runtime.getSetting("SONAR_BE_TOKEN"); + this.runtime = runtime; + } + /** + * Initializes the RabbitMQ connection and starts consuming messages. + * @param amqpUrl The RabbitMQ server URL. + */ + private async initializeRabbitMQ(amqpUrl: string) { + try { + this.amqpConnection = await amqp.connect(amqpUrl); + this.amqpChannel = await this.amqpConnection.createChannel(); + console.log("Connected to RabbitMQ"); + // Start consuming messages + this.consumeMessages(); + } catch (error) { + console.error("Failed to connect to RabbitMQ:", error); + } + } + + /** + * Sets up the consumer for the specified RabbitMQ queue. + */ + private async consumeMessages() { + const queue = "process_eliza_simulation"; + await this.amqpChannel.assertQueue(queue, { durable: true }); + this.amqpChannel.consume( + queue, + (msg) => { + if (msg !== null) { + const content = msg.content.toString(); + this.processMessage(content); + this.amqpChannel.ack(msg); + } + }, + { noAck: false } + ); + console.log(`Listening for messages on queue: ${queue}`); + } + + /** + * Processes incoming messages from RabbitMQ. + * @param message The message content as a string. + */ + private async processMessage(message: string) { + try { + const { tokenAddress, amount, sell_recommender_id } = + JSON.parse(message); + console.log( + `Received message for token ${tokenAddress} to sell ${amount}` + ); + + const decision: SellDecision = { + tokenPerformance: + await this.trustScoreDb.getTokenPerformance(tokenAddress), + amountToSell: amount, + sell_recommender_id: sell_recommender_id, + }; + + // Execute the sell + await this.executeSellDecision(decision); + + // Remove from running processes after completion + this.runningProcesses.delete(tokenAddress); + } catch (error) { + console.error("Error processing message:", error); + } + } + + /** + * Executes a single sell decision. + * @param decision The sell decision containing token performance and amount to sell. + */ + private async executeSellDecision(decision: SellDecision) { + const { tokenPerformance, amountToSell, sell_recommender_id } = + decision; + const tokenAddress = tokenPerformance.tokenAddress; + + try { + console.log( + `Executing sell for token ${tokenPerformance.symbol}: ${amountToSell}` + ); + + // Update the sell details + const sellDetails: SellDetails = { + sell_amount: amountToSell, + sell_recommender_id: sell_recommender_id, // Adjust if necessary + }; + const sellTimeStamp = new Date().toISOString(); + const tokenProvider = new TokenProvider( + tokenAddress, + this.walletProvider, + this.runtime.cacheManager + ); + + // Update sell details in the database + const sellDetailsData = await this.updateSellDetails( + tokenAddress, + sell_recommender_id, + sellTimeStamp, + sellDetails, + true, // isSimulation + tokenProvider + ); + + console.log("Sell order executed successfully", sellDetailsData); + + // check if balance is zero and remove token from running processes + const balance = this.trustScoreDb.getTokenBalance(tokenAddress); + if (balance === 0) { + this.runningProcesses.delete(tokenAddress); + } + // stop the process in the sonar backend + await this.stopProcessInTheSonarBackend(tokenAddress); + } catch (error) { + console.error( + `Error executing sell for token ${tokenAddress}:`, + error + ); + } + } + + /** + * Derives the public key based on the TEE (Trusted Execution Environment) mode and initializes the wallet provider. + * If TEE mode is enabled, derives a keypair using the DeriveKeyProvider with the wallet secret salt and agent ID. + * If TEE mode is disabled, uses the provided Solana public key or wallet public key from settings. + */ + private async initializeWalletProvider(): Promise { + const { publicKey } = await getWalletKey(this.runtime, false); + + this.walletProvider = new WalletProvider(this.connection, publicKey); + } + + public async startService() { + // starting the service + console.log("Starting SellingService..."); + await this.startListeners(); + } + + public async startListeners() { + // scanning recommendations and selling + console.log("Scanning for token performances..."); + const tokenPerformances = + await this.trustScoreDb.getAllTokenPerformancesWithBalance(); + + await this.processTokenPerformances(tokenPerformances); + } + + private processTokenPerformances(tokenPerformances: TokenPerformance[]) { + // To Do: logic when to sell and how much + console.log("Deciding when to sell and how much..."); + const runningProcesses = this.runningProcesses; + // remove running processes from tokenPerformances + tokenPerformances = tokenPerformances.filter( + (tp) => !runningProcesses.has(tp.tokenAddress) + ); + + // start the process in the sonar backend + tokenPerformances.forEach(async (tokenPerformance) => { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const tokenProvider = new TokenProvider( + tokenPerformance.tokenAddress, + this.walletProvider, + this.runtime.cacheManager + ); + // const shouldTrade = await tokenProvider.shouldTradeToken(); + // if (shouldTrade) { + const tokenRecommendations: TokenRecommendation[] = + this.trustScoreDb.getRecommendationsByToken( + tokenPerformance.tokenAddress + ); + const tokenRecommendation: TokenRecommendation = + tokenRecommendations[0]; + const balance = tokenPerformance.balance; + const sell_recommender_id = tokenRecommendation.recommenderId; + const tokenAddress = tokenPerformance.tokenAddress; + const process = await this.startProcessInTheSonarBackend( + tokenAddress, + balance, + true, + sell_recommender_id, + tokenPerformance.initialMarketCap + ); + if (process) { + this.runningProcesses.add(tokenAddress); + } + // } + }); + } + + public processTokenPerformance( + tokenAddress: string, + recommenderId: string + ) { + try { + const runningProcesses = this.runningProcesses; + // check if token is already being processed + if (runningProcesses.has(tokenAddress)) { + console.log(`Token ${tokenAddress} is already being processed`); + return; + } + const tokenPerformance = + this.trustScoreDb.getTokenPerformance(tokenAddress); + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const tokenProvider = new TokenProvider( + tokenPerformance.tokenAddress, + this.walletProvider, + this.runtime.cacheManager + ); + const balance = tokenPerformance.balance; + const sell_recommender_id = recommenderId; + const process = this.startProcessInTheSonarBackend( + tokenAddress, + balance, + true, + sell_recommender_id, + tokenPerformance.initialMarketCap + ); + if (process) { + this.runningProcesses.add(tokenAddress); + } + } catch (error) { + console.error( + `Error getting token performance for token ${tokenAddress}:`, + error + ); + } + } + + private async startProcessInTheSonarBackend( + tokenAddress: string, + balance: number, + isSimulation: boolean, + sell_recommender_id: string, + initial_mc: number + ) { + try { + const message = JSON.stringify({ + tokenAddress, + balance, + isSimulation, + initial_mc, + sell_recommender_id, + }); + const response = await fetch( + `${this.sonarBe}/elizaos-sol/startProcess`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + "x-api-key": `${this.sonarBeToken}`, + }, + body: message, + } + ); + + if (!response.ok) { + console.error( + `Failed to send message to process token ${tokenAddress}` + ); + return; + } + + const result = await response.json(); + console.log("Received response:", result); + console.log(`Sent message to process token ${tokenAddress}`); + + return result; + } catch (error) { + console.error( + `Error sending message to process token ${tokenAddress}:`, + error + ); + return null; + } + } + + private stopProcessInTheSonarBackend(tokenAddress: string) { + try { + return fetch(`${this.sonarBe}/elizaos-sol/stopProcess`, { + method: "POST", + headers: { + "Content-Type": "application/json", + "x-api-key": `${this.sonarBeToken}`, + }, + body: JSON.stringify({ tokenAddress }), + }); + } catch (error) { + console.error( + `Error stopping process for token ${tokenAddress}:`, + error + ); + } + } + + async updateSellDetails( + tokenAddress: string, + recommenderId: string, + sellTimeStamp: string, + sellDetails: SellDetails, + isSimulation: boolean, + tokenProvider: TokenProvider + ) { + const recommender = + await this.trustScoreDb.getOrCreateRecommenderWithTelegramId( + recommenderId + ); + const processedData: ProcessedTokenData = + await tokenProvider.getProcessedTokenData(); + const prices = await this.walletProvider.fetchPrices(null); + const solPrice = prices.solana.usd; + const sellSol = sellDetails.sell_amount / parseFloat(solPrice); + const sell_value_usd = + sellDetails.sell_amount * processedData.tradeData.price; + const trade = await this.trustScoreDb.getLatestTradePerformance( + tokenAddress, + recommender.id, + isSimulation + ); + const buyTimeStamp = trade.buy_timeStamp; + const marketCap = + processedData.dexScreenerData.pairs[0]?.marketCap || 0; + const liquidity = + processedData.dexScreenerData.pairs[0]?.liquidity.usd || 0; + const sell_price = processedData.tradeData.price; + const profit_usd = sell_value_usd - trade.buy_value_usd; + const profit_percent = (profit_usd / trade.buy_value_usd) * 100; + + const market_cap_change = marketCap - trade.buy_market_cap; + const liquidity_change = liquidity - trade.buy_liquidity; + + const isRapidDump = await this.isRapidDump(tokenAddress, tokenProvider); + + const sellDetailsData = { + sell_price: sell_price, + sell_timeStamp: sellTimeStamp, + sell_amount: sellDetails.sell_amount, + received_sol: sellSol, + sell_value_usd: sell_value_usd, + profit_usd: profit_usd, + profit_percent: profit_percent, + sell_market_cap: marketCap, + market_cap_change: market_cap_change, + sell_liquidity: liquidity, + liquidity_change: liquidity_change, + rapidDump: isRapidDump, + sell_recommender_id: sellDetails.sell_recommender_id || null, + }; + this.trustScoreDb.updateTradePerformanceOnSell( + tokenAddress, + recommender.id, + buyTimeStamp, + sellDetailsData, + isSimulation + ); + + // If the trade is a simulation update the balance + const oldBalance = this.trustScoreDb.getTokenBalance(tokenAddress); + const tokenBalance = oldBalance - sellDetails.sell_amount; + this.trustScoreDb.updateTokenBalance(tokenAddress, tokenBalance); + // generate some random hash for simulations + const hash = Math.random().toString(36).substring(7); + const transaction = { + tokenAddress: tokenAddress, + type: "sell" as "buy" | "sell", + transactionHash: hash, + amount: sellDetails.sell_amount, + price: processedData.tradeData.price, + isSimulation: true, + timestamp: new Date().toISOString(), + }; + this.trustScoreDb.addTransaction(transaction); + this.updateTradeInBe( + tokenAddress, + recommender.id, + recommender.telegramId, + sellDetailsData, + tokenBalance + ); + + return sellDetailsData; + } + async isRapidDump( + tokenAddress: string, + tokenProvider: TokenProvider + ): Promise { + const processedData: ProcessedTokenData = + await tokenProvider.getProcessedTokenData(); + console.log(`Fetched processed token data for token: ${tokenAddress}`); + + return processedData.tradeData.trade_24h_change_percent < -50; + } + + async delay(ms: number) { + return new Promise((resolve) => setTimeout(resolve, ms)); + } + + async updateTradeInBe( + tokenAddress: string, + recommenderId: string, + username: string, + data: SellDetails, + balanceLeft: number, + retries = 3, + delayMs = 2000 + ) { + for (let attempt = 1; attempt <= retries; attempt++) { + try { + await fetch( + `${this.backend}/api/updaters/updateTradePerformance`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${this.backendToken}`, + }, + body: JSON.stringify({ + tokenAddress: tokenAddress, + tradeData: data, + recommenderId: recommenderId, + username: username, + isSimulation: true, + balanceLeft: balanceLeft, + }), + } + ); + // If the request is successful, exit the loop + return; + } catch (error) { + console.error( + `Attempt ${attempt} failed: Error creating trade in backend`, + error + ); + if (attempt < retries) { + console.log(`Retrying in ${delayMs} ms...`); + await this.delay(delayMs); // Wait for the specified delay before retrying + } else { + console.error("All attempts failed."); + } + } + } + } +} + +// SellDecision interface +interface SellDecision { + tokenPerformance: TokenPerformance; + amountToSell: number; + sell_recommender_id: string | null; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/token.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/token.ts new file mode 100644 index 000000000..d8e885915 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/token.ts @@ -0,0 +1,1124 @@ +import { ICacheManager, settings } from "@elizaos/core"; +import { IAgentRuntime, Memory, Provider, State } from "@elizaos/core"; +import { + DexScreenerData, + DexScreenerPair, + HolderData, + ProcessedTokenData, + TokenSecurityData, + TokenTradeData, + CalculatedBuyAmounts, + Prices, + TokenCodex, +} from "../types/token.ts"; +import NodeCache from "node-cache"; +import * as path from "path"; +import { toBN } from "../bignumber.ts"; +import { WalletProvider, Item } from "./wallet.ts"; +import { Connection } from "@solana/web3.js"; +import { getWalletKey } from "../keypairUtils.ts"; + +const PROVIDER_CONFIG = { + BIRDEYE_API: "https://public-api.birdeye.so", + MAX_RETRIES: 3, + RETRY_DELAY: 2000, + DEFAULT_RPC: "https://api.mainnet-beta.solana.com", + TOKEN_ADDRESSES: { + SOL: "So11111111111111111111111111111111111111112", + BTC: "qfnqNqs3nCAHjnyCgLRDbBtq4p2MtHZxw8YjSyYhPoL", + ETH: "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs", + Example: "2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh", + }, + TOKEN_SECURITY_ENDPOINT: "/defi/token_security?address=", + TOKEN_TRADE_DATA_ENDPOINT: "/defi/v3/token/trade-data/single?address=", + DEX_SCREENER_API: "https://api.dexscreener.com/latest/dex/tokens/", + MAIN_WALLET: "", +}; + +export class TokenProvider { + private cache: NodeCache; + private cacheKey: string = "solana/tokens"; + private NETWORK_ID = 1399811149; + private GRAPHQL_ENDPOINT = "https://graph.codex.io/graphql"; + + constructor( + // private connection: Connection, + private tokenAddress: string, + private walletProvider: WalletProvider, + private cacheManager: ICacheManager + ) { + this.cache = new NodeCache({ stdTTL: 300 }); // 5 minutes cache + } + + private async readFromCache(key: string): Promise { + const cached = await this.cacheManager.get( + path.join(this.cacheKey, key) + ); + return cached; + } + + private async writeToCache(key: string, data: T): Promise { + await this.cacheManager.set(path.join(this.cacheKey, key), data, { + expires: Date.now() + 5 * 60 * 1000, + }); + } + + private async getCachedData(key: string): Promise { + // Check in-memory cache first + const cachedData = this.cache.get(key); + if (cachedData) { + return cachedData; + } + + // Check file-based cache + const fileCachedData = await this.readFromCache(key); + if (fileCachedData) { + // Populate in-memory cache + this.cache.set(key, fileCachedData); + return fileCachedData; + } + + return null; + } + + private async setCachedData(cacheKey: string, data: T): Promise { + // Set in-memory cache + this.cache.set(cacheKey, data); + + // Write to file-based cache + await this.writeToCache(cacheKey, data); + } + + private async fetchWithRetry( + url: string, + options: RequestInit = {} + ): Promise { + let lastError: Error; + + for (let i = 0; i < PROVIDER_CONFIG.MAX_RETRIES; i++) { + try { + const response = await fetch(url, { + ...options, + headers: { + Accept: "application/json", + "x-chain": "solana", + "X-API-KEY": settings.BIRDEYE_API_KEY || "", + ...options.headers, + }, + }); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error( + `HTTP error! status: ${response.status}, message: ${errorText}` + ); + } + + const data = await response.json(); + return data; + } catch (error) { + console.error(`Attempt ${i + 1} failed:`, error); + lastError = error as Error; + if (i < PROVIDER_CONFIG.MAX_RETRIES - 1) { + const delay = PROVIDER_CONFIG.RETRY_DELAY * Math.pow(2, i); + console.log(`Waiting ${delay}ms before retrying...`); + await new Promise((resolve) => setTimeout(resolve, delay)); + continue; + } + } + } + + console.error( + "All attempts failed. Throwing the last error:", + lastError + ); + throw lastError; + } + + async getTokensInWallet(runtime: IAgentRuntime): Promise { + const walletInfo = + await this.walletProvider.fetchPortfolioValue(runtime); + const items = walletInfo.items; + return items; + } + + // check if the token symbol is in the wallet + async getTokenFromWallet(runtime: IAgentRuntime, tokenSymbol: string) { + try { + const items = await this.getTokensInWallet(runtime); + const token = items.find((item) => item.symbol === tokenSymbol); + + if (token) { + return token.address; + } else { + return null; + } + } catch (error) { + console.error("Error checking token in wallet:", error); + return null; + } + } + + async fetchTokenCodex(): Promise { + try { + const cacheKey = `token_${this.tokenAddress}`; + const cachedData = this.getCachedData(cacheKey); + if (cachedData) { + console.log( + `Returning cached token data for ${this.tokenAddress}.` + ); + return cachedData; + } + const query = ` + query Token($address: String!, $networkId: Int!) { + token(input: { address: $address, networkId: $networkId }) { + id + address + cmcId + decimals + name + symbol + totalSupply + isScam + info { + circulatingSupply + imageThumbUrl + } + explorerData { + blueCheckmark + description + tokenType + } + } + } + `; + + const variables = { + address: this.tokenAddress, + networkId: this.NETWORK_ID, // Replace with your network ID + }; + + const response = await fetch(this.GRAPHQL_ENDPOINT, { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: settings.CODEX_API_KEY, + }, + body: JSON.stringify({ + query, + variables, + }), + }).then((res) => res.json()); + + const token = response.data?.data?.token; + + if (!token) { + throw new Error(`No data returned for token ${tokenAddress}`); + } + + this.setCachedData(cacheKey, token); + + return { + id: token.id, + address: token.address, + cmcId: token.cmcId, + decimals: token.decimals, + name: token.name, + symbol: token.symbol, + totalSupply: token.totalSupply, + circulatingSupply: token.info?.circulatingSupply, + imageThumbUrl: token.info?.imageThumbUrl, + blueCheckmark: token.explorerData?.blueCheckmark, + isScam: token.isScam ? true : false, + }; + } catch (error) { + console.error( + "Error fetching token data from Codex:", + error.message + ); + return {} as TokenCodex; + } + } + + async fetchPrices(): Promise { + try { + const cacheKey = "prices"; + const cachedData = this.getCachedData(cacheKey); + if (cachedData) { + console.log("Returning cached prices."); + return cachedData; + } + const { SOL, BTC, ETH } = PROVIDER_CONFIG.TOKEN_ADDRESSES; + const tokens = [SOL, BTC, ETH]; + const prices: Prices = { + solana: { usd: "0" }, + bitcoin: { usd: "0" }, + ethereum: { usd: "0" }, + }; + + for (const token of tokens) { + const response = await this.fetchWithRetry( + `${PROVIDER_CONFIG.BIRDEYE_API}/defi/price?address=${token}`, + { + headers: { + "x-chain": "solana", + }, + } + ); + + if (response?.data?.value) { + const price = response.data.value.toString(); + prices[ + token === SOL + ? "solana" + : token === BTC + ? "bitcoin" + : "ethereum" + ].usd = price; + } else { + console.warn(`No price data available for token: ${token}`); + } + } + this.setCachedData(cacheKey, prices); + return prices; + } catch (error) { + console.error("Error fetching prices:", error); + throw error; + } + } + async calculateBuyAmounts(): Promise { + const dexScreenerData = await this.fetchDexScreenerData(); + const prices = await this.fetchPrices(); + const solPrice = toBN(prices.solana.usd); + + if (!dexScreenerData || dexScreenerData.pairs.length === 0) { + return { none: 0, low: 0, medium: 0, high: 0 }; + } + + // Get the first pair + const pair = dexScreenerData.pairs[0]; + const { liquidity, marketCap } = pair; + if (!liquidity || !marketCap) { + return { none: 0, low: 0, medium: 0, high: 0 }; + } + + if (liquidity.usd === 0) { + return { none: 0, low: 0, medium: 0, high: 0 }; + } + if (marketCap < 100000) { + return { none: 0, low: 0, medium: 0, high: 0 }; + } + + // impact percentages based on liquidity + const impactPercentages = { + LOW: 0.01, // 1% of liquidity + MEDIUM: 0.05, // 5% of liquidity + HIGH: 0.1, // 10% of liquidity + }; + + // Calculate buy amounts in USD + const lowBuyAmountUSD = liquidity.usd * impactPercentages.LOW; + const mediumBuyAmountUSD = liquidity.usd * impactPercentages.MEDIUM; + const highBuyAmountUSD = liquidity.usd * impactPercentages.HIGH; + + // Convert each buy amount to SOL + const lowBuyAmountSOL = toBN(lowBuyAmountUSD).div(solPrice).toNumber(); + const mediumBuyAmountSOL = toBN(mediumBuyAmountUSD) + .div(solPrice) + .toNumber(); + const highBuyAmountSOL = toBN(highBuyAmountUSD) + .div(solPrice) + .toNumber(); + + return { + none: 0, + low: lowBuyAmountSOL, + medium: mediumBuyAmountSOL, + high: highBuyAmountSOL, + }; + } + + async fetchTokenSecurity(): Promise { + const cacheKey = `tokenSecurity_${this.tokenAddress}`; + const cachedData = this.getCachedData(cacheKey); + if (cachedData) { + console.log( + `Returning cached token security data for ${this.tokenAddress}.` + ); + return cachedData; + } + const url = `${PROVIDER_CONFIG.BIRDEYE_API}${PROVIDER_CONFIG.TOKEN_SECURITY_ENDPOINT}${this.tokenAddress}`; + const data = await this.fetchWithRetry(url); + + if (!data?.success || !data?.data) { + throw new Error("No token security data available"); + } + + const security: TokenSecurityData = { + ownerBalance: data.data.ownerBalance, + creatorBalance: data.data.creatorBalance, + ownerPercentage: data.data.ownerPercentage, + creatorPercentage: data.data.creatorPercentage, + top10HolderBalance: data.data.top10HolderBalance, + top10HolderPercent: data.data.top10HolderPercent, + }; + this.setCachedData(cacheKey, security); + console.log(`Token security data cached for ${this.tokenAddress}.`); + + return security; + } + + async fetchTokenTradeData(): Promise { + const cacheKey = `tokenTradeData_${this.tokenAddress}`; + const cachedData = this.getCachedData(cacheKey); + if (cachedData) { + console.log( + `Returning cached token trade data for ${this.tokenAddress}.` + ); + return cachedData; + } + + const url = `${PROVIDER_CONFIG.BIRDEYE_API}${PROVIDER_CONFIG.TOKEN_TRADE_DATA_ENDPOINT}${this.tokenAddress}`; + const options = { + method: "GET", + headers: { + accept: "application/json", + "X-API-KEY": settings.BIRDEYE_API_KEY || "", + }, + }; + + const data = await fetch(url, options) + .then((res) => res.json()) + .catch((err) => console.error(err)); + + if (!data?.success || !data?.data) { + throw new Error("No token trade data available"); + } + + const tradeData: TokenTradeData = { + address: data.data.address, + holder: data.data.holder, + market: data.data.market, + last_trade_unix_time: data.data.last_trade_unix_time, + last_trade_human_time: data.data.last_trade_human_time, + price: data.data.price, + history_30m_price: data.data.history_30m_price, + price_change_30m_percent: data.data.price_change_30m_percent, + history_1h_price: data.data.history_1h_price, + price_change_1h_percent: data.data.price_change_1h_percent, + history_2h_price: data.data.history_2h_price, + price_change_2h_percent: data.data.price_change_2h_percent, + history_4h_price: data.data.history_4h_price, + price_change_4h_percent: data.data.price_change_4h_percent, + history_6h_price: data.data.history_6h_price, + price_change_6h_percent: data.data.price_change_6h_percent, + history_8h_price: data.data.history_8h_price, + price_change_8h_percent: data.data.price_change_8h_percent, + history_12h_price: data.data.history_12h_price, + price_change_12h_percent: data.data.price_change_12h_percent, + history_24h_price: data.data.history_24h_price, + price_change_24h_percent: data.data.price_change_24h_percent, + unique_wallet_30m: data.data.unique_wallet_30m, + unique_wallet_history_30m: data.data.unique_wallet_history_30m, + unique_wallet_30m_change_percent: + data.data.unique_wallet_30m_change_percent, + unique_wallet_1h: data.data.unique_wallet_1h, + unique_wallet_history_1h: data.data.unique_wallet_history_1h, + unique_wallet_1h_change_percent: + data.data.unique_wallet_1h_change_percent, + unique_wallet_2h: data.data.unique_wallet_2h, + unique_wallet_history_2h: data.data.unique_wallet_history_2h, + unique_wallet_2h_change_percent: + data.data.unique_wallet_2h_change_percent, + unique_wallet_4h: data.data.unique_wallet_4h, + unique_wallet_history_4h: data.data.unique_wallet_history_4h, + unique_wallet_4h_change_percent: + data.data.unique_wallet_4h_change_percent, + unique_wallet_8h: data.data.unique_wallet_8h, + unique_wallet_history_8h: data.data.unique_wallet_history_8h, + unique_wallet_8h_change_percent: + data.data.unique_wallet_8h_change_percent, + unique_wallet_24h: data.data.unique_wallet_24h, + unique_wallet_history_24h: data.data.unique_wallet_history_24h, + unique_wallet_24h_change_percent: + data.data.unique_wallet_24h_change_percent, + trade_30m: data.data.trade_30m, + trade_history_30m: data.data.trade_history_30m, + trade_30m_change_percent: data.data.trade_30m_change_percent, + sell_30m: data.data.sell_30m, + sell_history_30m: data.data.sell_history_30m, + sell_30m_change_percent: data.data.sell_30m_change_percent, + buy_30m: data.data.buy_30m, + buy_history_30m: data.data.buy_history_30m, + buy_30m_change_percent: data.data.buy_30m_change_percent, + volume_30m: data.data.volume_30m, + volume_30m_usd: data.data.volume_30m_usd, + volume_history_30m: data.data.volume_history_30m, + volume_history_30m_usd: data.data.volume_history_30m_usd, + volume_30m_change_percent: data.data.volume_30m_change_percent, + volume_buy_30m: data.data.volume_buy_30m, + volume_buy_30m_usd: data.data.volume_buy_30m_usd, + volume_buy_history_30m: data.data.volume_buy_history_30m, + volume_buy_history_30m_usd: data.data.volume_buy_history_30m_usd, + volume_buy_30m_change_percent: + data.data.volume_buy_30m_change_percent, + volume_sell_30m: data.data.volume_sell_30m, + volume_sell_30m_usd: data.data.volume_sell_30m_usd, + volume_sell_history_30m: data.data.volume_sell_history_30m, + volume_sell_history_30m_usd: data.data.volume_sell_history_30m_usd, + volume_sell_30m_change_percent: + data.data.volume_sell_30m_change_percent, + trade_1h: data.data.trade_1h, + trade_history_1h: data.data.trade_history_1h, + trade_1h_change_percent: data.data.trade_1h_change_percent, + sell_1h: data.data.sell_1h, + sell_history_1h: data.data.sell_history_1h, + sell_1h_change_percent: data.data.sell_1h_change_percent, + buy_1h: data.data.buy_1h, + buy_history_1h: data.data.buy_history_1h, + buy_1h_change_percent: data.data.buy_1h_change_percent, + volume_1h: data.data.volume_1h, + volume_1h_usd: data.data.volume_1h_usd, + volume_history_1h: data.data.volume_history_1h, + volume_history_1h_usd: data.data.volume_history_1h_usd, + volume_1h_change_percent: data.data.volume_1h_change_percent, + volume_buy_1h: data.data.volume_buy_1h, + volume_buy_1h_usd: data.data.volume_buy_1h_usd, + volume_buy_history_1h: data.data.volume_buy_history_1h, + volume_buy_history_1h_usd: data.data.volume_buy_history_1h_usd, + volume_buy_1h_change_percent: + data.data.volume_buy_1h_change_percent, + volume_sell_1h: data.data.volume_sell_1h, + volume_sell_1h_usd: data.data.volume_sell_1h_usd, + volume_sell_history_1h: data.data.volume_sell_history_1h, + volume_sell_history_1h_usd: data.data.volume_sell_history_1h_usd, + volume_sell_1h_change_percent: + data.data.volume_sell_1h_change_percent, + trade_2h: data.data.trade_2h, + trade_history_2h: data.data.trade_history_2h, + trade_2h_change_percent: data.data.trade_2h_change_percent, + sell_2h: data.data.sell_2h, + sell_history_2h: data.data.sell_history_2h, + sell_2h_change_percent: data.data.sell_2h_change_percent, + buy_2h: data.data.buy_2h, + buy_history_2h: data.data.buy_history_2h, + buy_2h_change_percent: data.data.buy_2h_change_percent, + volume_2h: data.data.volume_2h, + volume_2h_usd: data.data.volume_2h_usd, + volume_history_2h: data.data.volume_history_2h, + volume_history_2h_usd: data.data.volume_history_2h_usd, + volume_2h_change_percent: data.data.volume_2h_change_percent, + volume_buy_2h: data.data.volume_buy_2h, + volume_buy_2h_usd: data.data.volume_buy_2h_usd, + volume_buy_history_2h: data.data.volume_buy_history_2h, + volume_buy_history_2h_usd: data.data.volume_buy_history_2h_usd, + volume_buy_2h_change_percent: + data.data.volume_buy_2h_change_percent, + volume_sell_2h: data.data.volume_sell_2h, + volume_sell_2h_usd: data.data.volume_sell_2h_usd, + volume_sell_history_2h: data.data.volume_sell_history_2h, + volume_sell_history_2h_usd: data.data.volume_sell_history_2h_usd, + volume_sell_2h_change_percent: + data.data.volume_sell_2h_change_percent, + trade_4h: data.data.trade_4h, + trade_history_4h: data.data.trade_history_4h, + trade_4h_change_percent: data.data.trade_4h_change_percent, + sell_4h: data.data.sell_4h, + sell_history_4h: data.data.sell_history_4h, + sell_4h_change_percent: data.data.sell_4h_change_percent, + buy_4h: data.data.buy_4h, + buy_history_4h: data.data.buy_history_4h, + buy_4h_change_percent: data.data.buy_4h_change_percent, + volume_4h: data.data.volume_4h, + volume_4h_usd: data.data.volume_4h_usd, + volume_history_4h: data.data.volume_history_4h, + volume_history_4h_usd: data.data.volume_history_4h_usd, + volume_4h_change_percent: data.data.volume_4h_change_percent, + volume_buy_4h: data.data.volume_buy_4h, + volume_buy_4h_usd: data.data.volume_buy_4h_usd, + volume_buy_history_4h: data.data.volume_buy_history_4h, + volume_buy_history_4h_usd: data.data.volume_buy_history_4h_usd, + volume_buy_4h_change_percent: + data.data.volume_buy_4h_change_percent, + volume_sell_4h: data.data.volume_sell_4h, + volume_sell_4h_usd: data.data.volume_sell_4h_usd, + volume_sell_history_4h: data.data.volume_sell_history_4h, + volume_sell_history_4h_usd: data.data.volume_sell_history_4h_usd, + volume_sell_4h_change_percent: + data.data.volume_sell_4h_change_percent, + trade_8h: data.data.trade_8h, + trade_history_8h: data.data.trade_history_8h, + trade_8h_change_percent: data.data.trade_8h_change_percent, + sell_8h: data.data.sell_8h, + sell_history_8h: data.data.sell_history_8h, + sell_8h_change_percent: data.data.sell_8h_change_percent, + buy_8h: data.data.buy_8h, + buy_history_8h: data.data.buy_history_8h, + buy_8h_change_percent: data.data.buy_8h_change_percent, + volume_8h: data.data.volume_8h, + volume_8h_usd: data.data.volume_8h_usd, + volume_history_8h: data.data.volume_history_8h, + volume_history_8h_usd: data.data.volume_history_8h_usd, + volume_8h_change_percent: data.data.volume_8h_change_percent, + volume_buy_8h: data.data.volume_buy_8h, + volume_buy_8h_usd: data.data.volume_buy_8h_usd, + volume_buy_history_8h: data.data.volume_buy_history_8h, + volume_buy_history_8h_usd: data.data.volume_buy_history_8h_usd, + volume_buy_8h_change_percent: + data.data.volume_buy_8h_change_percent, + volume_sell_8h: data.data.volume_sell_8h, + volume_sell_8h_usd: data.data.volume_sell_8h_usd, + volume_sell_history_8h: data.data.volume_sell_history_8h, + volume_sell_history_8h_usd: data.data.volume_sell_history_8h_usd, + volume_sell_8h_change_percent: + data.data.volume_sell_8h_change_percent, + trade_24h: data.data.trade_24h, + trade_history_24h: data.data.trade_history_24h, + trade_24h_change_percent: data.data.trade_24h_change_percent, + sell_24h: data.data.sell_24h, + sell_history_24h: data.data.sell_history_24h, + sell_24h_change_percent: data.data.sell_24h_change_percent, + buy_24h: data.data.buy_24h, + buy_history_24h: data.data.buy_history_24h, + buy_24h_change_percent: data.data.buy_24h_change_percent, + volume_24h: data.data.volume_24h, + volume_24h_usd: data.data.volume_24h_usd, + volume_history_24h: data.data.volume_history_24h, + volume_history_24h_usd: data.data.volume_history_24h_usd, + volume_24h_change_percent: data.data.volume_24h_change_percent, + volume_buy_24h: data.data.volume_buy_24h, + volume_buy_24h_usd: data.data.volume_buy_24h_usd, + volume_buy_history_24h: data.data.volume_buy_history_24h, + volume_buy_history_24h_usd: data.data.volume_buy_history_24h_usd, + volume_buy_24h_change_percent: + data.data.volume_buy_24h_change_percent, + volume_sell_24h: data.data.volume_sell_24h, + volume_sell_24h_usd: data.data.volume_sell_24h_usd, + volume_sell_history_24h: data.data.volume_sell_history_24h, + volume_sell_history_24h_usd: data.data.volume_sell_history_24h_usd, + volume_sell_24h_change_percent: + data.data.volume_sell_24h_change_percent, + }; + this.setCachedData(cacheKey, tradeData); + return tradeData; + } + + async fetchDexScreenerData(): Promise { + const cacheKey = `dexScreenerData_${this.tokenAddress}`; + const cachedData = this.getCachedData(cacheKey); + if (cachedData) { + console.log("Returning cached DexScreener data."); + return cachedData; + } + + const url = `https://api.dexscreener.com/latest/dex/search?q=${this.tokenAddress}`; + try { + console.log( + `Fetching DexScreener data for token: ${this.tokenAddress}` + ); + const data = await fetch(url) + .then((res) => res.json()) + .catch((err) => { + console.error(err); + }); + + if (!data || !data.pairs) { + throw new Error("No DexScreener data available"); + } + + const dexData: DexScreenerData = { + schemaVersion: data.schemaVersion, + pairs: data.pairs, + }; + + // Cache the result + this.setCachedData(cacheKey, dexData); + + return dexData; + } catch (error) { + console.error(`Error fetching DexScreener data:`, error); + return { + schemaVersion: "1.0.0", + pairs: [], + }; + } + } + + async searchDexScreenerData( + symbol: string + ): Promise { + const cacheKey = `dexScreenerData_search_${symbol}`; + const cachedData = await this.getCachedData(cacheKey); + if (cachedData) { + console.log("Returning cached search DexScreener data."); + return this.getHighestLiquidityPair(cachedData); + } + + const url = `https://api.dexscreener.com/latest/dex/search?q=${symbol}`; + try { + console.log(`Fetching DexScreener data for symbol: ${symbol}`); + const data = await fetch(url) + .then((res) => res.json()) + .catch((err) => { + console.error(err); + return null; + }); + + if (!data || !data.pairs || data.pairs.length === 0) { + throw new Error("No DexScreener data available"); + } + + const dexData: DexScreenerData = { + schemaVersion: data.schemaVersion, + pairs: data.pairs, + }; + + // Cache the result + this.setCachedData(cacheKey, dexData); + + // Return the pair with the highest liquidity and market cap + return this.getHighestLiquidityPair(dexData); + } catch (error) { + console.error(`Error fetching DexScreener data:`, error); + return null; + } + } + getHighestLiquidityPair(dexData: DexScreenerData): DexScreenerPair | null { + if (dexData.pairs.length === 0) { + return null; + } + + // Sort pairs by both liquidity and market cap to get the highest one + return dexData.pairs.sort((a, b) => { + const liquidityDiff = b.liquidity.usd - a.liquidity.usd; + if (liquidityDiff !== 0) { + return liquidityDiff; // Higher liquidity comes first + } + return b.marketCap - a.marketCap; // If liquidity is equal, higher market cap comes first + })[0]; + } + + async analyzeHolderDistribution( + tradeData: TokenTradeData + ): Promise { + // Define the time intervals to consider (e.g., 30m, 1h, 2h) + const intervals = [ + { + period: "30m", + change: tradeData.unique_wallet_30m_change_percent, + }, + { period: "1h", change: tradeData.unique_wallet_1h_change_percent }, + { period: "2h", change: tradeData.unique_wallet_2h_change_percent }, + { period: "4h", change: tradeData.unique_wallet_4h_change_percent }, + { period: "8h", change: tradeData.unique_wallet_8h_change_percent }, + { + period: "24h", + change: tradeData.unique_wallet_24h_change_percent, + }, + ]; + + // Calculate the average change percentage + const validChanges = intervals + .map((interval) => interval.change) + .filter( + (change) => change !== null && change !== undefined + ) as number[]; + + if (validChanges.length === 0) { + return "stable"; + } + + const averageChange = + validChanges.reduce((acc, curr) => acc + curr, 0) / + validChanges.length; + + const increaseThreshold = 10; // e.g., average change > 10% + const decreaseThreshold = -10; // e.g., average change < -10% + + if (averageChange > increaseThreshold) { + return "increasing"; + } else if (averageChange < decreaseThreshold) { + return "decreasing"; + } else { + return "stable"; + } + } + + async fetchHolderList(): Promise { + const cacheKey = `holderList_${this.tokenAddress}`; + const cachedData = this.getCachedData(cacheKey); + if (cachedData) { + console.log("Returning cached holder list."); + return cachedData; + } + + const allHoldersMap = new Map(); + let page = 1; + const limit = 1000; + let cursor; + //HELIOUS_API_KEY needs to be added + const url = `https://mainnet.helius-rpc.com/?api-key=${settings.HELIUS_API_KEY || ""}`; + console.log({ url }); + + try { + while (true) { + const params = { + limit: limit, + displayOptions: {}, + mint: this.tokenAddress, + cursor: cursor, + }; + if (cursor != undefined) { + params.cursor = cursor; + } + console.log(`Fetching holders - Page ${page}`); + if (page > 2) { + break; + } + const response = await fetch(url, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: "helius-test", + method: "getTokenAccounts", + params: params, + }), + }); + + const data = await response.json(); + + if ( + !data || + !data.result || + !data.result.token_accounts || + data.result.token_accounts.length === 0 + ) { + console.log( + `No more holders found. Total pages fetched: ${page - 1}` + ); + break; + } + + console.log( + `Processing ${data.result.token_accounts.length} holders from page ${page}` + ); + + data.result.token_accounts.forEach((account: any) => { + const owner = account.owner; + const balance = parseFloat(account.amount); + + if (allHoldersMap.has(owner)) { + allHoldersMap.set( + owner, + allHoldersMap.get(owner)! + balance + ); + } else { + allHoldersMap.set(owner, balance); + } + }); + cursor = data.result.cursor; + page++; + } + + const holders: HolderData[] = Array.from( + allHoldersMap.entries() + ).map(([address, balance]) => ({ + address, + balance: balance.toString(), + })); + + console.log(`Total unique holders fetched: ${holders.length}`); + + // Cache the result + this.setCachedData(cacheKey, holders); + + return holders; + } catch (error) { + console.error("Error fetching holder list from Helius:", error); + throw new Error("Failed to fetch holder list from Helius."); + } + } + + async filterHighValueHolders( + tradeData: TokenTradeData + ): Promise> { + const holdersData = await this.fetchHolderList(); + + const tokenPriceUsd = toBN(tradeData.price); + + const highValueHolders = holdersData + .filter((holder) => { + const balanceUsd = toBN(holder.balance).multipliedBy( + tokenPriceUsd + ); + return balanceUsd.isGreaterThan(5); + }) + .map((holder) => ({ + holderAddress: holder.address, + balanceUsd: toBN(holder.balance) + .multipliedBy(tokenPriceUsd) + .toFixed(2), + })); + + return highValueHolders; + } + + async checkRecentTrades(tradeData: TokenTradeData): Promise { + return toBN(tradeData.volume_24h_usd).isGreaterThan(0); + } + + async countHighSupplyHolders( + securityData: TokenSecurityData + ): Promise { + try { + const ownerBalance = toBN(securityData.ownerBalance); + const totalSupply = ownerBalance.plus(securityData.creatorBalance); + + const highSupplyHolders = await this.fetchHolderList(); + const highSupplyHoldersCount = highSupplyHolders.filter( + (holder) => { + const balance = toBN(holder.balance); + return balance.dividedBy(totalSupply).isGreaterThan(0.02); + } + ).length; + return highSupplyHoldersCount; + } catch (error) { + console.error("Error counting high supply holders:", error); + return 0; + } + } + + async getProcessedTokenData(): Promise { + try { + console.log( + `Fetching security data for token: ${this.tokenAddress}` + ); + const security = await this.fetchTokenSecurity(); + + const tokenCodex = await this.fetchTokenCodex(); + + console.log(`Fetching trade data for token: ${this.tokenAddress}`); + const tradeData = await this.fetchTokenTradeData(); + + console.log( + `Fetching DexScreener data for token: ${this.tokenAddress}` + ); + const dexData = await this.fetchDexScreenerData(); + + console.log( + `Analyzing holder distribution for token: ${this.tokenAddress}` + ); + const holderDistributionTrend = + await this.analyzeHolderDistribution(tradeData); + + console.log( + `Filtering high-value holders for token: ${this.tokenAddress}` + ); + const highValueHolders = + await this.filterHighValueHolders(tradeData); + + console.log( + `Checking recent trades for token: ${this.tokenAddress}` + ); + const recentTrades = await this.checkRecentTrades(tradeData); + + console.log( + `Counting high-supply holders for token: ${this.tokenAddress}` + ); + const highSupplyHoldersCount = + await this.countHighSupplyHolders(security); + + console.log( + `Determining DexScreener listing status for token: ${this.tokenAddress}` + ); + const isDexScreenerListed = dexData.pairs.length > 0; + const isDexScreenerPaid = dexData.pairs.some( + (pair) => pair.boosts && pair.boosts.active > 0 + ); + + const processedData: ProcessedTokenData = { + security, + tradeData, + holderDistributionTrend, + highValueHolders, + recentTrades, + highSupplyHoldersCount, + dexScreenerData: dexData, + isDexScreenerListed, + isDexScreenerPaid, + tokenCodex, + }; + + // console.log("Processed token data:", processedData); + return processedData; + } catch (error) { + console.error("Error processing token data:", error); + throw error; + } + } + + async shouldTradeToken(): Promise { + try { + const tokenData = await this.getProcessedTokenData(); + const { tradeData, security, dexScreenerData } = tokenData; + const { ownerBalance, creatorBalance } = security; + const { liquidity, marketCap } = dexScreenerData.pairs[0]; + const liquidityUsd = toBN(liquidity.usd); + const marketCapUsd = toBN(marketCap); + const totalSupply = toBN(ownerBalance).plus(creatorBalance); + const _ownerPercentage = toBN(ownerBalance).dividedBy(totalSupply); + const _creatorPercentage = + toBN(creatorBalance).dividedBy(totalSupply); + const top10HolderPercent = toBN(tradeData.volume_24h_usd).dividedBy( + totalSupply + ); + const priceChange24hPercent = toBN( + tradeData.price_change_24h_percent + ); + const priceChange12hPercent = toBN( + tradeData.price_change_12h_percent + ); + const uniqueWallet24h = tradeData.unique_wallet_24h; + const volume24hUsd = toBN(tradeData.volume_24h_usd); + const volume24hUsdThreshold = 1000; + const priceChange24hPercentThreshold = 10; + const priceChange12hPercentThreshold = 5; + const top10HolderPercentThreshold = 0.05; + const uniqueWallet24hThreshold = 100; + const isTop10Holder = top10HolderPercent.gte( + top10HolderPercentThreshold + ); + const isVolume24h = volume24hUsd.gte(volume24hUsdThreshold); + const isPriceChange24h = priceChange24hPercent.gte( + priceChange24hPercentThreshold + ); + const isPriceChange12h = priceChange12hPercent.gte( + priceChange12hPercentThreshold + ); + const isUniqueWallet24h = + uniqueWallet24h >= uniqueWallet24hThreshold; + const isLiquidityTooLow = liquidityUsd.lt(1000); + const isMarketCapTooLow = marketCapUsd.lt(100000); + return ( + isTop10Holder || + isVolume24h || + isPriceChange24h || + isPriceChange12h || + isUniqueWallet24h || + isLiquidityTooLow || + isMarketCapTooLow + ); + } catch (error) { + console.error("Error processing token data:", error); + throw error; + } + } + + formatTokenData(data: ProcessedTokenData): string { + let output = `**Token Security and Trade Report**\n`; + output += `Token Address: ${this.tokenAddress}\n\n`; + + // Security Data + output += `**Ownership Distribution:**\n`; + output += `- Owner Balance: ${data.security.ownerBalance}\n`; + output += `- Creator Balance: ${data.security.creatorBalance}\n`; + output += `- Owner Percentage: ${data.security.ownerPercentage}%\n`; + output += `- Creator Percentage: ${data.security.creatorPercentage}%\n`; + output += `- Top 10 Holders Balance: ${data.security.top10HolderBalance}\n`; + output += `- Top 10 Holders Percentage: ${data.security.top10HolderPercent}%\n\n`; + + // Trade Data + output += `**Trade Data:**\n`; + output += `- Holders: ${data.tradeData.holder}\n`; + output += `- Unique Wallets (24h): ${data.tradeData.unique_wallet_24h}\n`; + output += `- Price Change (24h): ${data.tradeData.price_change_24h_percent}%\n`; + output += `- Price Change (12h): ${data.tradeData.price_change_12h_percent}%\n`; + output += `- Volume (24h USD): $${toBN(data.tradeData.volume_24h_usd).toFixed(2)}\n`; + output += `- Current Price: $${toBN(data.tradeData.price).toFixed(2)}\n\n`; + + // Holder Distribution Trend + output += `**Holder Distribution Trend:** ${data.holderDistributionTrend}\n\n`; + + // High-Value Holders + output += `**High-Value Holders (>$5 USD):**\n`; + if (data.highValueHolders.length === 0) { + output += `- No high-value holders found or data not available.\n`; + } else { + data.highValueHolders.forEach((holder) => { + output += `- ${holder.holderAddress}: $${holder.balanceUsd}\n`; + }); + } + output += `\n`; + + // Recent Trades + output += `**Recent Trades (Last 24h):** ${data.recentTrades ? "Yes" : "No"}\n\n`; + + // High-Supply Holders + output += `**Holders with >2% Supply:** ${data.highSupplyHoldersCount}\n\n`; + + // DexScreener Status + output += `**DexScreener Listing:** ${data.isDexScreenerListed ? "Yes" : "No"}\n`; + if (data.isDexScreenerListed) { + output += `- Listing Type: ${data.isDexScreenerPaid ? "Paid" : "Free"}\n`; + output += `- Number of DexPairs: ${data.dexScreenerData.pairs.length}\n\n`; + output += `**DexScreener Pairs:**\n`; + data.dexScreenerData.pairs.forEach((pair, index) => { + output += `\n**Pair ${index + 1}:**\n`; + output += `- DEX: ${pair.dexId}\n`; + output += `- URL: ${pair.url}\n`; + output += `- Price USD: $${toBN(pair.priceUsd).toFixed(6)}\n`; + output += `- Volume (24h USD): $${toBN(pair.volume.h24).toFixed(2)}\n`; + output += `- Boosts Active: ${pair.boosts && pair.boosts.active}\n`; + output += `- Liquidity USD: $${toBN(pair.liquidity.usd).toFixed(2)}\n`; + }); + } + output += `\n`; + + console.log("Formatted token data:", output); + return output; + } + + async getFormattedTokenReport(): Promise { + try { + console.log("Generating formatted token report..."); + const processedData = await this.getProcessedTokenData(); + return this.formatTokenData(processedData); + } catch (error) { + console.error("Error generating token report:", error); + return "Unable to fetch token information. Please try again later."; + } + } +} + +const tokenAddress = PROVIDER_CONFIG.TOKEN_ADDRESSES.Example; + +const connection = new Connection(PROVIDER_CONFIG.DEFAULT_RPC); +const tokenProvider: Provider = { + get: async ( + runtime: IAgentRuntime, + _message: Memory, + _state?: State + ): Promise => { + try { + const { publicKey } = await getWalletKey(runtime, false); + + const walletProvider = new WalletProvider(connection, publicKey); + + const provider = new TokenProvider( + tokenAddress, + walletProvider, + runtime.cacheManager + ); + + return provider.getFormattedTokenReport(); + } catch (error) { + console.error("Error fetching token data:", error); + return "Unable to fetch token information. Please try again later."; + } + }, +}; + +export { tokenProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/tokenUtils.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/tokenUtils.ts new file mode 100644 index 000000000..034dddc29 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/tokenUtils.ts @@ -0,0 +1,72 @@ +import { getAccount, getAssociatedTokenAddress } from "@solana/spl-token"; +import { Connection, PublicKey } from "@solana/web3.js"; + +export async function getTokenPriceInSol(tokenSymbol: string): Promise { + const response = await fetch( + `https://price.jup.ag/v6/price?ids=${tokenSymbol}` + ); + const data = await response.json(); + return data.data[tokenSymbol].price; +} + +async function getTokenBalance( + connection: Connection, + walletPublicKey: PublicKey, + tokenMintAddress: PublicKey +): Promise { + const tokenAccountAddress = await getAssociatedTokenAddress( + tokenMintAddress, + walletPublicKey + ); + + try { + const tokenAccount = await getAccount(connection, tokenAccountAddress); + const tokenAmount = tokenAccount.amount as unknown as number; + return tokenAmount; + } catch (error) { + console.error( + `Error retrieving balance for token: ${tokenMintAddress.toBase58()}`, + error + ); + return 0; + } +} + +async function getTokenBalances( + connection: Connection, + walletPublicKey: PublicKey +): Promise<{ [tokenName: string]: number }> { + const tokenBalances: { [tokenName: string]: number } = {}; + + // Add the token mint addresses you want to retrieve balances for + const tokenMintAddresses = [ + new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"), // USDC + new PublicKey("So11111111111111111111111111111111111111112"), // SOL + // Add more token mint addresses as needed + ]; + + for (const mintAddress of tokenMintAddresses) { + const tokenName = getTokenName(mintAddress); + const balance = await getTokenBalance( + connection, + walletPublicKey, + mintAddress + ); + tokenBalances[tokenName] = balance; + } + + return tokenBalances; +} + +function getTokenName(mintAddress: PublicKey): string { + // Implement a mapping of mint addresses to token names + const tokenNameMap: { [mintAddress: string]: string } = { + EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v: "USDC", + So11111111111111111111111111111111111111112: "SOL", + // Add more token mint addresses and their corresponding names + }; + + return tokenNameMap[mintAddress.toBase58()] || "Unknown Token"; +} + +export { getTokenBalance, getTokenBalances }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/trustScoreProvider.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/trustScoreProvider.ts new file mode 100644 index 000000000..931cd9b44 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/trustScoreProvider.ts @@ -0,0 +1,740 @@ +import { + ProcessedTokenData, + TokenSecurityData, + // TokenTradeData, + // DexScreenerData, + // DexScreenerPair, + // HolderData, +} from "../types/token.ts"; +import { Connection, PublicKey } from "@solana/web3.js"; +import { getAssociatedTokenAddress } from "@solana/spl-token"; +import { TokenProvider } from "./token.ts"; +import { WalletProvider } from "./wallet.ts"; +import { SimulationSellingService } from "./simulationSellingService.ts"; +import { + TrustScoreDatabase, + RecommenderMetrics, + TokenPerformance, + TradePerformance, + TokenRecommendation, +} from "@elizaos/plugin-trustdb"; +import { settings } from "@elizaos/core"; +import { IAgentRuntime, Memory, Provider, State } from "@elizaos/core"; +import { v4 as uuidv4 } from "uuid"; + +const Wallet = settings.MAIN_WALLET_ADDRESS; +interface TradeData { + buy_amount: number; + is_simulation: boolean; +} +interface sellDetails { + sell_amount: number; + sell_recommender_id: string | null; +} +interface _RecommendationGroup { + recommendation: any; + trustScore: number; +} + +interface RecommenderData { + recommenderId: string; + trustScore: number; + riskScore: number; + consistencyScore: number; + recommenderMetrics: RecommenderMetrics; +} + +interface TokenRecommendationSummary { + tokenAddress: string; + averageTrustScore: number; + averageRiskScore: number; + averageConsistencyScore: number; + recommenders: RecommenderData[]; +} +export class TrustScoreManager { + private tokenProvider: TokenProvider; + private trustScoreDb: TrustScoreDatabase; + private simulationSellingService: SimulationSellingService; + private connection: Connection; + private baseMint: PublicKey; + private DECAY_RATE = 0.95; + private MAX_DECAY_DAYS = 30; + private backend; + private backendToken; + constructor( + runtime: IAgentRuntime, + tokenProvider: TokenProvider, + trustScoreDb: TrustScoreDatabase + ) { + this.tokenProvider = tokenProvider; + this.trustScoreDb = trustScoreDb; + this.connection = new Connection(runtime.getSetting("RPC_URL")); + this.baseMint = new PublicKey( + runtime.getSetting("BASE_MINT") || + "So11111111111111111111111111111111111111112" + ); + this.backend = runtime.getSetting("BACKEND_URL"); + this.backendToken = runtime.getSetting("BACKEND_TOKEN"); + this.simulationSellingService = new SimulationSellingService( + runtime, + this.trustScoreDb + ); + } + + //getRecommenederBalance + async getRecommenederBalance(recommenderWallet: string): Promise { + try { + const tokenAta = await getAssociatedTokenAddress( + new PublicKey(recommenderWallet), + this.baseMint + ); + const tokenBalInfo = + await this.connection.getTokenAccountBalance(tokenAta); + const tokenBalance = tokenBalInfo.value.amount; + const balance = parseFloat(tokenBalance); + return balance; + } catch (error) { + console.error("Error fetching balance", error); + return 0; + } + } + + /** + * Generates and saves trust score based on processed token data and user recommendations. + * @param tokenAddress The address of the token to analyze. + * @param recommenderId The UUID of the recommender. + * @returns An object containing TokenPerformance and RecommenderMetrics. + */ + async generateTrustScore( + tokenAddress: string, + recommenderId: string, + recommenderWallet: string + ): Promise<{ + tokenPerformance: TokenPerformance; + recommenderMetrics: RecommenderMetrics; + }> { + const processedData: ProcessedTokenData = + await this.tokenProvider.getProcessedTokenData(); + console.log(`Fetched processed token data for token: ${tokenAddress}`); + + const recommenderMetrics = + await this.trustScoreDb.getRecommenderMetrics(recommenderId); + + const isRapidDump = await this.isRapidDump(tokenAddress); + const sustainedGrowth = await this.sustainedGrowth(tokenAddress); + const suspiciousVolume = await this.suspiciousVolume(tokenAddress); + const balance = await this.getRecommenederBalance(recommenderWallet); + const virtualConfidence = balance / 1000000; // TODO: create formula to calculate virtual confidence based on user balance + const lastActive = recommenderMetrics.lastActiveDate; + const now = new Date(); + const inactiveDays = Math.floor( + (now.getTime() - lastActive.getTime()) / (1000 * 60 * 60 * 24) + ); + const decayFactor = Math.pow( + this.DECAY_RATE, + Math.min(inactiveDays, this.MAX_DECAY_DAYS) + ); + const decayedScore = recommenderMetrics.trustScore * decayFactor; + const validationTrustScore = + this.trustScoreDb.calculateValidationTrust(tokenAddress); + + return { + tokenPerformance: { + tokenAddress: + processedData.dexScreenerData.pairs[0]?.baseToken.address || + "", + priceChange24h: + processedData.tradeData.price_change_24h_percent, + volumeChange24h: processedData.tradeData.volume_24h, + trade_24h_change: + processedData.tradeData.trade_24h_change_percent, + liquidity: + processedData.dexScreenerData.pairs[0]?.liquidity.usd || 0, + liquidityChange24h: 0, + holderChange24h: + processedData.tradeData.unique_wallet_24h_change_percent, + rugPull: false, + isScam: processedData.tokenCodex.isScam, + marketCapChange24h: 0, + sustainedGrowth: sustainedGrowth, + rapidDump: isRapidDump, + suspiciousVolume: suspiciousVolume, + validationTrust: validationTrustScore, + balance: balance, + initialMarketCap: + processedData.dexScreenerData.pairs[0]?.marketCap || 0, + lastUpdated: new Date(), + symbol: "", + }, + recommenderMetrics: { + recommenderId: recommenderId, + trustScore: recommenderMetrics.trustScore, + totalRecommendations: recommenderMetrics.totalRecommendations, + successfulRecs: recommenderMetrics.successfulRecs, + avgTokenPerformance: recommenderMetrics.avgTokenPerformance, + riskScore: recommenderMetrics.riskScore, + consistencyScore: recommenderMetrics.consistencyScore, + virtualConfidence: virtualConfidence, + lastActiveDate: now, + trustDecay: decayedScore, + lastUpdated: new Date(), + }, + }; + } + + async updateRecommenderMetrics( + recommenderId: string, + tokenPerformance: TokenPerformance, + recommenderWallet: string + ): Promise { + const recommenderMetrics = + await this.trustScoreDb.getRecommenderMetrics(recommenderId); + + const totalRecommendations = + recommenderMetrics.totalRecommendations + 1; + const successfulRecs = tokenPerformance.rugPull + ? recommenderMetrics.successfulRecs + : recommenderMetrics.successfulRecs + 1; + const avgTokenPerformance = + (recommenderMetrics.avgTokenPerformance * + recommenderMetrics.totalRecommendations + + tokenPerformance.priceChange24h) / + totalRecommendations; + + const overallTrustScore = this.calculateTrustScore( + tokenPerformance, + recommenderMetrics + ); + const riskScore = this.calculateOverallRiskScore( + tokenPerformance, + recommenderMetrics + ); + const consistencyScore = this.calculateConsistencyScore( + tokenPerformance, + recommenderMetrics + ); + + const balance = await this.getRecommenederBalance(recommenderWallet); + const virtualConfidence = balance / 1000000; // TODO: create formula to calculate virtual confidence based on user balance + const lastActive = recommenderMetrics.lastActiveDate; + const now = new Date(); + const inactiveDays = Math.floor( + (now.getTime() - lastActive.getTime()) / (1000 * 60 * 60 * 24) + ); + const decayFactor = Math.pow( + this.DECAY_RATE, + Math.min(inactiveDays, this.MAX_DECAY_DAYS) + ); + const decayedScore = recommenderMetrics.trustScore * decayFactor; + + const newRecommenderMetrics: RecommenderMetrics = { + recommenderId: recommenderId, + trustScore: overallTrustScore, + totalRecommendations: totalRecommendations, + successfulRecs: successfulRecs, + avgTokenPerformance: avgTokenPerformance, + riskScore: riskScore, + consistencyScore: consistencyScore, + virtualConfidence: virtualConfidence, + lastActiveDate: new Date(), + trustDecay: decayedScore, + lastUpdated: new Date(), + }; + + await this.trustScoreDb.updateRecommenderMetrics(newRecommenderMetrics); + } + + calculateTrustScore( + tokenPerformance: TokenPerformance, + recommenderMetrics: RecommenderMetrics + ): number { + const riskScore = this.calculateRiskScore(tokenPerformance); + const consistencyScore = this.calculateConsistencyScore( + tokenPerformance, + recommenderMetrics + ); + + return (riskScore + consistencyScore) / 2; + } + + calculateOverallRiskScore( + tokenPerformance: TokenPerformance, + recommenderMetrics: RecommenderMetrics + ) { + const riskScore = this.calculateRiskScore(tokenPerformance); + const consistencyScore = this.calculateConsistencyScore( + tokenPerformance, + recommenderMetrics + ); + + return (riskScore + consistencyScore) / 2; + } + + calculateRiskScore(tokenPerformance: TokenPerformance): number { + let riskScore = 0; + if (tokenPerformance.rugPull) { + riskScore += 10; + } + if (tokenPerformance.isScam) { + riskScore += 10; + } + if (tokenPerformance.rapidDump) { + riskScore += 5; + } + if (tokenPerformance.suspiciousVolume) { + riskScore += 5; + } + return riskScore; + } + + calculateConsistencyScore( + tokenPerformance: TokenPerformance, + recommenderMetrics: RecommenderMetrics + ): number { + const avgTokenPerformance = recommenderMetrics.avgTokenPerformance; + const priceChange24h = tokenPerformance.priceChange24h; + + return Math.abs(priceChange24h - avgTokenPerformance); + } + + async suspiciousVolume(tokenAddress: string): Promise { + const processedData: ProcessedTokenData = + await this.tokenProvider.getProcessedTokenData(); + const unique_wallet_24h = processedData.tradeData.unique_wallet_24h; + const volume_24h = processedData.tradeData.volume_24h; + const suspiciousVolume = unique_wallet_24h / volume_24h > 0.5; + console.log(`Fetched processed token data for token: ${tokenAddress}`); + return suspiciousVolume; + } + + async sustainedGrowth(tokenAddress: string): Promise { + const processedData: ProcessedTokenData = + await this.tokenProvider.getProcessedTokenData(); + console.log(`Fetched processed token data for token: ${tokenAddress}`); + + return processedData.tradeData.volume_24h_change_percent > 50; + } + + async isRapidDump(tokenAddress: string): Promise { + const processedData: ProcessedTokenData = + await this.tokenProvider.getProcessedTokenData(); + console.log(`Fetched processed token data for token: ${tokenAddress}`); + + return processedData.tradeData.trade_24h_change_percent < -50; + } + + async checkTrustScore(tokenAddress: string): Promise { + const processedData: ProcessedTokenData = + await this.tokenProvider.getProcessedTokenData(); + console.log(`Fetched processed token data for token: ${tokenAddress}`); + + return { + ownerBalance: processedData.security.ownerBalance, + creatorBalance: processedData.security.creatorBalance, + ownerPercentage: processedData.security.ownerPercentage, + creatorPercentage: processedData.security.creatorPercentage, + top10HolderBalance: processedData.security.top10HolderBalance, + top10HolderPercent: processedData.security.top10HolderPercent, + }; + } + + /** + * Creates a TradePerformance object based on token data and recommender. + * @param tokenAddress The address of the token. + * @param recommenderId The UUID of the recommender. + * @param data ProcessedTokenData. + * @returns TradePerformance object. + */ + async createTradePerformance( + runtime: IAgentRuntime, + tokenAddress: string, + recommenderId: string, + data: TradeData + ): Promise { + const recommender = + await this.trustScoreDb.getOrCreateRecommenderWithTelegramId( + recommenderId + ); + const processedData: ProcessedTokenData = + await this.tokenProvider.getProcessedTokenData(); + const wallet = new WalletProvider( + this.connection, + new PublicKey(Wallet!) + ); + + let tokensBalance = 0; + const prices = await wallet.fetchPrices(runtime); + const solPrice = prices.solana.usd; + const buySol = data.buy_amount / parseFloat(solPrice); + const buy_value_usd = data.buy_amount * processedData.tradeData.price; + const token = await this.tokenProvider.fetchTokenTradeData(); + const tokenCodex = await this.tokenProvider.fetchTokenCodex(); + const tokenPrice = token.price; + tokensBalance = buy_value_usd / tokenPrice; + + const creationData = { + token_address: tokenAddress, + recommender_id: recommender.id, + buy_price: processedData.tradeData.price, + sell_price: 0, + buy_timeStamp: new Date().toISOString(), + sell_timeStamp: "", + buy_amount: data.buy_amount, + sell_amount: 0, + buy_sol: buySol, + received_sol: 0, + buy_value_usd: buy_value_usd, + sell_value_usd: 0, + profit_usd: 0, + profit_percent: 0, + buy_market_cap: + processedData.dexScreenerData.pairs[0]?.marketCap || 0, + sell_market_cap: 0, + market_cap_change: 0, + buy_liquidity: + processedData.dexScreenerData.pairs[0]?.liquidity.usd || 0, + sell_liquidity: 0, + liquidity_change: 0, + last_updated: new Date().toISOString(), + rapidDump: false, + }; + this.trustScoreDb.addTradePerformance(creationData, data.is_simulation); + // generate unique uuid for each TokenRecommendation + const tokenUUId = uuidv4(); + const tokenRecommendation: TokenRecommendation = { + id: tokenUUId, + recommenderId: recommenderId, + tokenAddress: tokenAddress, + timestamp: new Date(), + initialMarketCap: + processedData.dexScreenerData.pairs[0]?.marketCap || 0, + initialLiquidity: + processedData.dexScreenerData.pairs[0]?.liquidity?.usd || 0, + initialPrice: processedData.tradeData.price, + }; + this.trustScoreDb.addTokenRecommendation(tokenRecommendation); + + this.trustScoreDb.upsertTokenPerformance({ + tokenAddress: tokenAddress, + symbol: processedData.tokenCodex.symbol, + priceChange24h: processedData.tradeData.price_change_24h_percent, + volumeChange24h: processedData.tradeData.volume_24h, + trade_24h_change: processedData.tradeData.trade_24h_change_percent, + liquidity: + processedData.dexScreenerData.pairs[0]?.liquidity.usd || 0, + liquidityChange24h: 0, + holderChange24h: + processedData.tradeData.unique_wallet_24h_change_percent, + rugPull: false, + isScam: tokenCodex.isScam, + marketCapChange24h: 0, + sustainedGrowth: false, + rapidDump: false, + suspiciousVolume: false, + validationTrust: 0, + balance: tokensBalance, + initialMarketCap: + processedData.dexScreenerData.pairs[0]?.marketCap || 0, + lastUpdated: new Date(), + }); + + if (data.is_simulation) { + // If the trade is a simulation update the balance + this.trustScoreDb.updateTokenBalance(tokenAddress, tokensBalance); + // generate some random hash for simulations + const hash = Math.random().toString(36).substring(7); + const transaction = { + tokenAddress: tokenAddress, + type: "buy" as "buy" | "sell", + transactionHash: hash, + amount: data.buy_amount, + price: processedData.tradeData.price, + isSimulation: true, + timestamp: new Date().toISOString(), + }; + this.trustScoreDb.addTransaction(transaction); + } + this.simulationSellingService.processTokenPerformance( + tokenAddress, + recommenderId + ); + // api call to update trade performance + this.createTradeInBe(tokenAddress, recommenderId, data); + return creationData; + } + + async delay(ms: number) { + return new Promise((resolve) => setTimeout(resolve, ms)); + } + + async createTradeInBe( + tokenAddress: string, + recommenderId: string, + data: TradeData, + retries = 3, + delayMs = 2000 + ) { + for (let attempt = 1; attempt <= retries; attempt++) { + try { + await fetch( + `${this.backend}/api/updaters/createTradePerformance`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: `Bearer ${this.backendToken}`, + }, + body: JSON.stringify({ + tokenAddress: tokenAddress, + tradeData: data, + recommenderId: recommenderId, + }), + } + ); + // If the request is successful, exit the loop + return; + } catch (error) { + console.error( + `Attempt ${attempt} failed: Error creating trade in backend`, + error + ); + if (attempt < retries) { + console.log(`Retrying in ${delayMs} ms...`); + await this.delay(delayMs); // Wait for the specified delay before retrying + } else { + console.error("All attempts failed."); + } + } + } + } + + /** + * Updates a trade with sell details. + * @param tokenAddress The address of the token. + * @param recommenderId The UUID of the recommender. + * @param buyTimeStamp The timestamp when the buy occurred. + * @param sellDetails An object containing sell-related details. + * @param isSimulation Whether the trade is a simulation. If true, updates in simulation_trade; otherwise, in trade. + * @returns boolean indicating success. + */ + + async updateSellDetails( + runtime: IAgentRuntime, + tokenAddress: string, + recommenderId: string, + sellTimeStamp: string, + sellDetails: sellDetails, + isSimulation: boolean + ) { + const recommender = + await this.trustScoreDb.getOrCreateRecommenderWithTelegramId( + recommenderId + ); + const processedData: ProcessedTokenData = + await this.tokenProvider.getProcessedTokenData(); + const wallet = new WalletProvider( + this.connection, + new PublicKey(Wallet!) + ); + const prices = await wallet.fetchPrices(runtime); + const solPrice = prices.solana.usd; + const sellSol = sellDetails.sell_amount / parseFloat(solPrice); + const sell_value_usd = + sellDetails.sell_amount * processedData.tradeData.price; + const trade = await this.trustScoreDb.getLatestTradePerformance( + tokenAddress, + recommender.id, + isSimulation + ); + const buyTimeStamp = trade.buy_timeStamp; + const marketCap = + processedData.dexScreenerData.pairs[0]?.marketCap || 0; + const liquidity = + processedData.dexScreenerData.pairs[0]?.liquidity.usd || 0; + const sell_price = processedData.tradeData.price; + const profit_usd = sell_value_usd - trade.buy_value_usd; + const profit_percent = (profit_usd / trade.buy_value_usd) * 100; + + const market_cap_change = marketCap - trade.buy_market_cap; + const liquidity_change = liquidity - trade.buy_liquidity; + + const isRapidDump = await this.isRapidDump(tokenAddress); + + const sellDetailsData = { + sell_price: sell_price, + sell_timeStamp: sellTimeStamp, + sell_amount: sellDetails.sell_amount, + received_sol: sellSol, + sell_value_usd: sell_value_usd, + profit_usd: profit_usd, + profit_percent: profit_percent, + sell_market_cap: marketCap, + market_cap_change: market_cap_change, + sell_liquidity: liquidity, + liquidity_change: liquidity_change, + rapidDump: isRapidDump, + sell_recommender_id: sellDetails.sell_recommender_id || null, + }; + this.trustScoreDb.updateTradePerformanceOnSell( + tokenAddress, + recommender.id, + buyTimeStamp, + sellDetailsData, + isSimulation + ); + if (isSimulation) { + // If the trade is a simulation update the balance + const oldBalance = this.trustScoreDb.getTokenBalance(tokenAddress); + const tokenBalance = oldBalance - sellDetails.sell_amount; + this.trustScoreDb.updateTokenBalance(tokenAddress, tokenBalance); + // generate some random hash for simulations + const hash = Math.random().toString(36).substring(7); + const transaction = { + tokenAddress: tokenAddress, + type: "sell" as "buy" | "sell", + transactionHash: hash, + amount: sellDetails.sell_amount, + price: processedData.tradeData.price, + isSimulation: true, + timestamp: new Date().toISOString(), + }; + this.trustScoreDb.addTransaction(transaction); + } + + return sellDetailsData; + } + + // get all recommendations + async getRecommendations( + startDate: Date, + endDate: Date + ): Promise> { + const recommendations = this.trustScoreDb.getRecommendationsByDateRange( + startDate, + endDate + ); + + // Group recommendations by tokenAddress + const groupedRecommendations = recommendations.reduce( + (acc, recommendation) => { + const { tokenAddress } = recommendation; + if (!acc[tokenAddress]) acc[tokenAddress] = []; + acc[tokenAddress].push(recommendation); + return acc; + }, + {} as Record> + ); + + const result = Object.keys(groupedRecommendations).map( + (tokenAddress) => { + const tokenRecommendations = + groupedRecommendations[tokenAddress]; + + // Initialize variables to compute averages + let totalTrustScore = 0; + let totalRiskScore = 0; + let totalConsistencyScore = 0; + const recommenderData = []; + + tokenRecommendations.forEach((recommendation) => { + const tokenPerformance = + this.trustScoreDb.getTokenPerformance( + recommendation.tokenAddress + ); + const recommenderMetrics = + this.trustScoreDb.getRecommenderMetrics( + recommendation.recommenderId + ); + + const trustScore = this.calculateTrustScore( + tokenPerformance, + recommenderMetrics + ); + const consistencyScore = this.calculateConsistencyScore( + tokenPerformance, + recommenderMetrics + ); + const riskScore = this.calculateRiskScore(tokenPerformance); + + // Accumulate scores for averaging + totalTrustScore += trustScore; + totalRiskScore += riskScore; + totalConsistencyScore += consistencyScore; + + recommenderData.push({ + recommenderId: recommendation.recommenderId, + trustScore, + riskScore, + consistencyScore, + recommenderMetrics, + }); + }); + + // Calculate averages for this token + const averageTrustScore = + totalTrustScore / tokenRecommendations.length; + const averageRiskScore = + totalRiskScore / tokenRecommendations.length; + const averageConsistencyScore = + totalConsistencyScore / tokenRecommendations.length; + + return { + tokenAddress, + averageTrustScore, + averageRiskScore, + averageConsistencyScore, + recommenders: recommenderData, + }; + } + ); + + // Sort recommendations by the highest average trust score + result.sort((a, b) => b.averageTrustScore - a.averageTrustScore); + + return result; + } +} + +export const trustScoreProvider: Provider = { + async get( + runtime: IAgentRuntime, + message: Memory, + _state?: State + ): Promise { + try { + const trustScoreDb = new TrustScoreDatabase( + runtime.databaseAdapter.db + ); + + // Get the user ID from the message + const userId = message.userId; + + if (!userId) { + console.error("User ID is missing from the message"); + return ""; + } + + // Get the recommender metrics for the user + const recommenderMetrics = + await trustScoreDb.getRecommenderMetrics(userId); + + if (!recommenderMetrics) { + console.error("No recommender metrics found for user:", userId); + return ""; + } + + // Compute the trust score + const trustScore = recommenderMetrics.trustScore; + + const user = await runtime.databaseAdapter.getAccountById(userId); + + // Format the trust score string + const trustScoreString = `${user.name}'s trust score: ${trustScore.toFixed(2)}`; + + return trustScoreString; + } catch (error) { + console.error("Error in trust score provider:", error.message); + return `Failed to fetch trust score: ${error instanceof Error ? error.message : "Unknown error"}`; + } + }, +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/wallet.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/wallet.ts new file mode 100644 index 000000000..7e3c55580 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/providers/wallet.ts @@ -0,0 +1,391 @@ +import { IAgentRuntime, Memory, Provider, State } from "@elizaos/core"; +import { Connection, PublicKey } from "@solana/web3.js"; +import BigNumber from "bignumber.js"; +import NodeCache from "node-cache"; +import { getWalletKey } from "../keypairUtils"; + +// Provider configuration +const PROVIDER_CONFIG = { + BIRDEYE_API: "https://public-api.birdeye.so", + MAX_RETRIES: 3, + RETRY_DELAY: 2000, + DEFAULT_RPC: "https://api.mainnet-beta.solana.com", + GRAPHQL_ENDPOINT: "https://graph.codex.io/graphql", + TOKEN_ADDRESSES: { + SOL: "So11111111111111111111111111111111111111112", + BTC: "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh", + ETH: "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs", + }, +}; + +export interface Item { + name: string; + address: string; + symbol: string; + decimals: number; + balance: string; + uiAmount: string; + priceUsd: string; + valueUsd: string; + valueSol?: string; +} + +interface WalletPortfolio { + totalUsd: string; + totalSol?: string; + items: Array; +} + +interface _BirdEyePriceData { + data: { + [key: string]: { + price: number; + priceChange24h: number; + }; + }; +} + +interface Prices { + solana: { usd: string }; + bitcoin: { usd: string }; + ethereum: { usd: string }; +} + +export class WalletProvider { + private cache: NodeCache; + + constructor( + private connection: Connection, + private walletPublicKey: PublicKey + ) { + this.cache = new NodeCache({ stdTTL: 300 }); // Cache TTL set to 5 minutes + } + + private async fetchWithRetry( + runtime, + url: string, + options: RequestInit = {} + ): Promise { + let lastError: Error; + + for (let i = 0; i < PROVIDER_CONFIG.MAX_RETRIES; i++) { + try { + const response = await fetch(url, { + ...options, + headers: { + Accept: "application/json", + "x-chain": "solana", + "X-API-KEY": + runtime.getSetting("BIRDEYE_API_KEY", "") || "", + ...options.headers, + }, + }); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error( + `HTTP error! status: ${response.status}, message: ${errorText}` + ); + } + + const data = await response.json(); + return data; + } catch (error) { + console.error(`Attempt ${i + 1} failed:`, error); + lastError = error; + if (i < PROVIDER_CONFIG.MAX_RETRIES - 1) { + const delay = PROVIDER_CONFIG.RETRY_DELAY * Math.pow(2, i); + await new Promise((resolve) => setTimeout(resolve, delay)); + continue; + } + } + } + + console.error( + "All attempts failed. Throwing the last error:", + lastError + ); + throw lastError; + } + + async fetchPortfolioValue(runtime): Promise { + try { + const cacheKey = `portfolio-${this.walletPublicKey.toBase58()}`; + const cachedValue = this.cache.get(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPortfolioValue"); + return cachedValue; + } + console.log("Cache miss for fetchPortfolioValue"); + + const walletData = await this.fetchWithRetry( + runtime, + `${PROVIDER_CONFIG.BIRDEYE_API}/v1/wallet/token_list?wallet=${this.walletPublicKey.toBase58()}` + ); + + if (!walletData?.success || !walletData?.data) { + console.error("No portfolio data available", walletData); + throw new Error("No portfolio data available"); + } + + const data = walletData.data; + const totalUsd = new BigNumber(data.totalUsd.toString()); + const prices = await this.fetchPrices(runtime); + const solPriceInUSD = new BigNumber(prices.solana.usd.toString()); + + const items = data.items.map((item: any) => ({ + ...item, + valueSol: new BigNumber(item.valueUsd || 0) + .div(solPriceInUSD) + .toFixed(6), + name: item.name || "Unknown", + symbol: item.symbol || "Unknown", + priceUsd: item.priceUsd || "0", + valueUsd: item.valueUsd || "0", + })); + + const totalSol = totalUsd.div(solPriceInUSD); + const portfolio = { + totalUsd: totalUsd.toString(), + totalSol: totalSol.toFixed(6), + items: items.sort((a, b) => + new BigNumber(b.valueUsd) + .minus(new BigNumber(a.valueUsd)) + .toNumber() + ), + }; + this.cache.set(cacheKey, portfolio); + return portfolio; + } catch (error) { + console.error("Error fetching portfolio:", error); + throw error; + } + } + + async fetchPortfolioValueCodex(runtime): Promise { + try { + const cacheKey = `portfolio-${this.walletPublicKey.toBase58()}`; + const cachedValue = await this.cache.get(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPortfolioValue"); + return cachedValue; + } + console.log("Cache miss for fetchPortfolioValue"); + + const query = ` + query Balances($walletId: String!, $cursor: String) { + balances(input: { walletId: $walletId, cursor: $cursor }) { + cursor + items { + walletId + tokenId + balance + shiftedBalance + } + } + } + `; + + const variables = { + walletId: `${this.walletPublicKey.toBase58()}:${1399811149}`, + cursor: null, + }; + + const response = await fetch(PROVIDER_CONFIG.GRAPHQL_ENDPOINT, { + method: "POST", + headers: { + "Content-Type": "application/json", + Authorization: + runtime.getSetting("CODEX_API_KEY", "") || "", + }, + body: JSON.stringify({ + query, + variables, + }), + }).then((res) => res.json()); + + const data = response.data?.data?.balances?.items; + + if (!data || data.length === 0) { + console.error("No portfolio data available", data); + throw new Error("No portfolio data available"); + } + + // Fetch token prices + const prices = await this.fetchPrices(runtime); + const solPriceInUSD = new BigNumber(prices.solana.usd.toString()); + + // Reformat items + const items: Item[] = data.map((item: any) => { + return { + name: "Unknown", + address: item.tokenId.split(":")[0], + symbol: item.tokenId.split(":")[0], + decimals: 6, + balance: item.balance, + uiAmount: item.shiftedBalance.toString(), + priceUsd: "", + valueUsd: "", + valueSol: "", + }; + }); + + // Calculate total portfolio value + const totalUsd = items.reduce( + (sum, item) => sum.plus(new BigNumber(item.valueUsd)), + new BigNumber(0) + ); + + const totalSol = totalUsd.div(solPriceInUSD); + + const portfolio: WalletPortfolio = { + totalUsd: totalUsd.toFixed(6), + totalSol: totalSol.toFixed(6), + items: items.sort((a, b) => + new BigNumber(b.valueUsd) + .minus(new BigNumber(a.valueUsd)) + .toNumber() + ), + }; + + // Cache the portfolio for future requests + await this.cache.set(cacheKey, portfolio, 60 * 1000); // Cache for 1 minute + + return portfolio; + } catch (error) { + console.error("Error fetching portfolio:", error); + throw error; + } + } + + async fetchPrices(runtime): Promise { + try { + const cacheKey = "prices"; + const cachedValue = this.cache.get(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPrices"); + return cachedValue; + } + console.log("Cache miss for fetchPrices"); + + const { SOL, BTC, ETH } = PROVIDER_CONFIG.TOKEN_ADDRESSES; + const tokens = [SOL, BTC, ETH]; + const prices: Prices = { + solana: { usd: "0" }, + bitcoin: { usd: "0" }, + ethereum: { usd: "0" }, + }; + + for (const token of tokens) { + const response = await this.fetchWithRetry( + runtime, + `${PROVIDER_CONFIG.BIRDEYE_API}/defi/price?address=${token}`, + { + headers: { + "x-chain": "solana", + }, + } + ); + + if (response?.data?.value) { + const price = response.data.value.toString(); + prices[ + token === SOL + ? "solana" + : token === BTC + ? "bitcoin" + : "ethereum" + ].usd = price; + } else { + console.warn(`No price data available for token: ${token}`); + } + } + + this.cache.set(cacheKey, prices); + return prices; + } catch (error) { + console.error("Error fetching prices:", error); + throw error; + } + } + + formatPortfolio( + runtime, + portfolio: WalletPortfolio, + prices: Prices + ): string { + let output = `${runtime.character.description}\n`; + output += `Wallet Address: ${this.walletPublicKey.toBase58()}\n\n`; + + const totalUsdFormatted = new BigNumber(portfolio.totalUsd).toFixed(2); + const totalSolFormatted = portfolio.totalSol; + + output += `Total Value: $${totalUsdFormatted} (${totalSolFormatted} SOL)\n\n`; + output += "Token Balances:\n"; + + const nonZeroItems = portfolio.items.filter((item) => + new BigNumber(item.uiAmount).isGreaterThan(0) + ); + + if (nonZeroItems.length === 0) { + output += "No tokens found with non-zero balance\n"; + } else { + for (const item of nonZeroItems) { + const valueUsd = new BigNumber(item.valueUsd).toFixed(2); + output += `${item.name} (${item.symbol}): ${new BigNumber( + item.uiAmount + ).toFixed(6)} ($${valueUsd} | ${item.valueSol} SOL)\n`; + } + } + + output += "\nMarket Prices:\n"; + output += `SOL: $${new BigNumber(prices.solana.usd).toFixed(2)}\n`; + output += `BTC: $${new BigNumber(prices.bitcoin.usd).toFixed(2)}\n`; + output += `ETH: $${new BigNumber(prices.ethereum.usd).toFixed(2)}\n`; + + return output; + } + + async getFormattedPortfolio(runtime): Promise { + try { + const [portfolio, prices] = await Promise.all([ + this.fetchPortfolioValue(runtime), + this.fetchPrices(runtime), + ]); + + return this.formatPortfolio(runtime, portfolio, prices); + } catch (error) { + console.error("Error generating portfolio report:", error); + return "Unable to fetch wallet information. Please try again later."; + } + } +} + +const walletProvider: Provider = { + get: async ( + runtime: IAgentRuntime, + _message: Memory, + _state?: State + ): Promise => { + try { + const { publicKey } = await getWalletKey(runtime, false); + + const connection = new Connection( + runtime.getSetting("RPC_URL") || PROVIDER_CONFIG.DEFAULT_RPC + ); + + const provider = new WalletProvider(connection, publicKey); + + return await provider.getFormattedPortfolio(runtime); + } catch (error) { + console.error("Error in wallet provider:", error); + return null; + } + }, +}; + +// Module exports +export { walletProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/tests/token.test.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/tests/token.test.ts new file mode 100644 index 000000000..6b799c1c2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/tests/token.test.ts @@ -0,0 +1,134 @@ +import { describe, it, expect, beforeEach, vi, afterEach } from "vitest"; +import { TokenProvider } from "../providers/token.ts"; + +// Mock NodeCache +vi.mock("node-cache", () => { + return { + default: vi.fn().mockImplementation(() => ({ + set: vi.fn(), + get: vi.fn().mockReturnValue(null), + })), + }; +}); + +// Mock path module +vi.mock("path", async () => { + const actual = await vi.importActual("path"); + return { + ...(actual as any), + join: vi.fn().mockImplementation((...args) => args.join("/")), + }; +}); + +// Mock the WalletProvider +const mockWalletProvider = { + fetchPortfolioValue: vi.fn(), +}; + +// Mock the ICacheManager +const mockCacheManager = { + get: vi.fn().mockResolvedValue(null), + set: vi.fn(), +}; + +// Mock fetch globally +const mockFetch = vi.fn(); +global.fetch = mockFetch; + +describe("TokenProvider", () => { + let tokenProvider: TokenProvider; + const TEST_TOKEN_ADDRESS = "2weMjPLLybRMMva1fM3U31goWWrCpF59CHWNhnCJ9Vyh"; + + beforeEach(() => { + vi.clearAllMocks(); + mockCacheManager.get.mockResolvedValue(null); + + // Create new instance of TokenProvider with mocked dependencies + tokenProvider = new TokenProvider( + TEST_TOKEN_ADDRESS, + mockWalletProvider as any, + mockCacheManager as any + ); + }); + + afterEach(() => { + vi.clearAllTimers(); + }); + + describe("Cache Management", () => { + it("should use cached data when available", async () => { + const mockData = { test: "data" }; + mockCacheManager.get.mockResolvedValueOnce(mockData); + + const result = await (tokenProvider as any).getCachedData( + "test-key" + ); + + expect(result).toEqual(mockData); + expect(mockCacheManager.get).toHaveBeenCalledTimes(1); + }); + + it("should write data to both caches", async () => { + const testData = { test: "data" }; + + await (tokenProvider as any).setCachedData("test-key", testData); + + expect(mockCacheManager.set).toHaveBeenCalledWith( + expect.stringContaining("test-key"), + testData, + expect.any(Object) + ); + }); + }); + + describe("Wallet Integration", () => { + it("should fetch tokens in wallet", async () => { + const mockItems = [ + { symbol: "SOL", address: "address1" }, + { symbol: "BTC", address: "address2" }, + ]; + + mockWalletProvider.fetchPortfolioValue.mockResolvedValueOnce({ + items: mockItems, + }); + + const result = await tokenProvider.getTokensInWallet({} as any); + + expect(result).toEqual(mockItems); + expect( + mockWalletProvider.fetchPortfolioValue + ).toHaveBeenCalledTimes(1); + }); + + it("should find token in wallet by symbol", async () => { + const mockItems = [ + { symbol: "SOL", address: "address1" }, + { symbol: "BTC", address: "address2" }, + ]; + + mockWalletProvider.fetchPortfolioValue.mockResolvedValueOnce({ + items: mockItems, + }); + + const result = await tokenProvider.getTokenFromWallet( + {} as any, + "SOL" + ); + + expect(result).toBe("address1"); + }); + + it("should return null for token not in wallet", async () => { + mockWalletProvider.fetchPortfolioValue.mockResolvedValueOnce({ + items: [], + }); + + const result = await tokenProvider.getTokenFromWallet( + {} as any, + "NONEXISTENT" + ); + + expect(result).toBeNull(); + }); + }); +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/types/token.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/types/token.ts new file mode 100644 index 000000000..1fca4c37c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/src/types/token.ts @@ -0,0 +1,302 @@ +export interface TokenSecurityData { + ownerBalance: string; + creatorBalance: string; + ownerPercentage: number; + creatorPercentage: number; + top10HolderBalance: string; + top10HolderPercent: number; +} + +export interface TokenCodex { + id: string; + address: string; + cmcId: number; + decimals: number; + name: string; + symbol: string; + totalSupply: string; + circulatingSupply: string; + imageThumbUrl: string; + blueCheckmark: boolean; + isScam: boolean; +} + +export interface TokenTradeData { + address: string; + holder: number; + market: number; + last_trade_unix_time: number; + last_trade_human_time: string; + price: number; + history_30m_price: number; + price_change_30m_percent: number; + history_1h_price: number; + price_change_1h_percent: number; + history_2h_price: number; + price_change_2h_percent: number; + history_4h_price: number; + price_change_4h_percent: number; + history_6h_price: number; + price_change_6h_percent: number; + history_8h_price: number; + price_change_8h_percent: number; + history_12h_price: number; + price_change_12h_percent: number; + history_24h_price: number; + price_change_24h_percent: number; + unique_wallet_30m: number; + unique_wallet_history_30m: number; + unique_wallet_30m_change_percent: number; + unique_wallet_1h: number; + unique_wallet_history_1h: number; + unique_wallet_1h_change_percent: number; + unique_wallet_2h: number; + unique_wallet_history_2h: number; + unique_wallet_2h_change_percent: number; + unique_wallet_4h: number; + unique_wallet_history_4h: number; + unique_wallet_4h_change_percent: number; + unique_wallet_8h: number; + unique_wallet_history_8h: number | null; + unique_wallet_8h_change_percent: number | null; + unique_wallet_24h: number; + unique_wallet_history_24h: number | null; + unique_wallet_24h_change_percent: number | null; + trade_30m: number; + trade_history_30m: number; + trade_30m_change_percent: number; + sell_30m: number; + sell_history_30m: number; + sell_30m_change_percent: number; + buy_30m: number; + buy_history_30m: number; + buy_30m_change_percent: number; + volume_30m: number; + volume_30m_usd: number; + volume_history_30m: number; + volume_history_30m_usd: number; + volume_30m_change_percent: number; + volume_buy_30m: number; + volume_buy_30m_usd: number; + volume_buy_history_30m: number; + volume_buy_history_30m_usd: number; + volume_buy_30m_change_percent: number; + volume_sell_30m: number; + volume_sell_30m_usd: number; + volume_sell_history_30m: number; + volume_sell_history_30m_usd: number; + volume_sell_30m_change_percent: number; + trade_1h: number; + trade_history_1h: number; + trade_1h_change_percent: number; + sell_1h: number; + sell_history_1h: number; + sell_1h_change_percent: number; + buy_1h: number; + buy_history_1h: number; + buy_1h_change_percent: number; + volume_1h: number; + volume_1h_usd: number; + volume_history_1h: number; + volume_history_1h_usd: number; + volume_1h_change_percent: number; + volume_buy_1h: number; + volume_buy_1h_usd: number; + volume_buy_history_1h: number; + volume_buy_history_1h_usd: number; + volume_buy_1h_change_percent: number; + volume_sell_1h: number; + volume_sell_1h_usd: number; + volume_sell_history_1h: number; + volume_sell_history_1h_usd: number; + volume_sell_1h_change_percent: number; + trade_2h: number; + trade_history_2h: number; + trade_2h_change_percent: number; + sell_2h: number; + sell_history_2h: number; + sell_2h_change_percent: number; + buy_2h: number; + buy_history_2h: number; + buy_2h_change_percent: number; + volume_2h: number; + volume_2h_usd: number; + volume_history_2h: number; + volume_history_2h_usd: number; + volume_2h_change_percent: number; + volume_buy_2h: number; + volume_buy_2h_usd: number; + volume_buy_history_2h: number; + volume_buy_history_2h_usd: number; + volume_buy_2h_change_percent: number; + volume_sell_2h: number; + volume_sell_2h_usd: number; + volume_sell_history_2h: number; + volume_sell_history_2h_usd: number; + volume_sell_2h_change_percent: number; + trade_4h: number; + trade_history_4h: number; + trade_4h_change_percent: number; + sell_4h: number; + sell_history_4h: number; + sell_4h_change_percent: number; + buy_4h: number; + buy_history_4h: number; + buy_4h_change_percent: number; + volume_4h: number; + volume_4h_usd: number; + volume_history_4h: number; + volume_history_4h_usd: number; + volume_4h_change_percent: number; + volume_buy_4h: number; + volume_buy_4h_usd: number; + volume_buy_history_4h: number; + volume_buy_history_4h_usd: number; + volume_buy_4h_change_percent: number; + volume_sell_4h: number; + volume_sell_4h_usd: number; + volume_sell_history_4h: number; + volume_sell_history_4h_usd: number; + volume_sell_4h_change_percent: number; + trade_8h: number; + trade_history_8h: number | null; + trade_8h_change_percent: number | null; + sell_8h: number; + sell_history_8h: number | null; + sell_8h_change_percent: number | null; + buy_8h: number; + buy_history_8h: number | null; + buy_8h_change_percent: number | null; + volume_8h: number; + volume_8h_usd: number; + volume_history_8h: number; + volume_history_8h_usd: number; + volume_8h_change_percent: number | null; + volume_buy_8h: number; + volume_buy_8h_usd: number; + volume_buy_history_8h: number; + volume_buy_history_8h_usd: number; + volume_buy_8h_change_percent: number | null; + volume_sell_8h: number; + volume_sell_8h_usd: number; + volume_sell_history_8h: number; + volume_sell_history_8h_usd: number; + volume_sell_8h_change_percent: number | null; + trade_24h: number; + trade_history_24h: number; + trade_24h_change_percent: number | null; + sell_24h: number; + sell_history_24h: number; + sell_24h_change_percent: number | null; + buy_24h: number; + buy_history_24h: number; + buy_24h_change_percent: number | null; + volume_24h: number; + volume_24h_usd: number; + volume_history_24h: number; + volume_history_24h_usd: number; + volume_24h_change_percent: number | null; + volume_buy_24h: number; + volume_buy_24h_usd: number; + volume_buy_history_24h: number; + volume_buy_history_24h_usd: number; + volume_buy_24h_change_percent: number | null; + volume_sell_24h: number; + volume_sell_24h_usd: number; + volume_sell_history_24h: number; + volume_sell_history_24h_usd: number; + volume_sell_24h_change_percent: number | null; +} + +export interface HolderData { + address: string; + balance: string; +} + +export interface ProcessedTokenData { + security: TokenSecurityData; + tradeData: TokenTradeData; + holderDistributionTrend: string; // 'increasing' | 'decreasing' | 'stable' + highValueHolders: Array<{ + holderAddress: string; + balanceUsd: string; + }>; + recentTrades: boolean; + highSupplyHoldersCount: number; + dexScreenerData: DexScreenerData; + + isDexScreenerListed: boolean; + isDexScreenerPaid: boolean; + tokenCodex: TokenCodex; +} + +export interface DexScreenerPair { + chainId: string; + dexId: string; + url: string; + pairAddress: string; + baseToken: { + address: string; + name: string; + symbol: string; + }; + quoteToken: { + address: string; + name: string; + symbol: string; + }; + priceNative: string; + priceUsd: string; + txns: { + m5: { buys: number; sells: number }; + h1: { buys: number; sells: number }; + h6: { buys: number; sells: number }; + h24: { buys: number; sells: number }; + }; + volume: { + h24: number; + h6: number; + h1: number; + m5: number; + }; + priceChange: { + m5: number; + h1: number; + h6: number; + h24: number; + }; + liquidity: { + usd: number; + base: number; + quote: number; + }; + fdv: number; + marketCap: number; + pairCreatedAt: number; + info: { + imageUrl: string; + websites: { label: string; url: string }[]; + socials: { type: string; url: string }[]; + }; + boosts: { + active: number; + }; +} + +export interface DexScreenerData { + schemaVersion: string; + pairs: DexScreenerPair[]; +} + +export interface Prices { + solana: { usd: string }; + bitcoin: { usd: string }; + ethereum: { usd: string }; +} + +export interface CalculatedBuyAmounts { + none: 0; + low: number; + medium: number; + high: number; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/tsconfig.json new file mode 100644 index 000000000..73993deaa --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/tsup.config.ts new file mode 100644 index 000000000..dd25475bb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/tsup.config.ts @@ -0,0 +1,29 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + "safe-buffer", + "base-x", + "bs58", + "borsh", + "@solana/buffer-layout", + "stream", + "buffer", + "querystring", + "amqplib", + // Add other modules you want to externalize + ], +}); From 50b30a09658e525b3f47c526eec4c88d69e472ff Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 19:45:57 -0800 Subject: [PATCH 020/312] Add trustdb plugin --- .../plugins/plugin-trustdb/.npmignore | 6 + .../plugins/plugin-trustdb/eslint.config.mjs | 3 + .../plugins/plugin-trustdb/package.json | 27 + .../src/adapters/trustScoreDatabase.ts | 1425 +++++++++++++++++ .../plugins/plugin-trustdb/src/index.ts | 1 + .../plugins/plugin-trustdb/tsconfig.json | 10 + .../plugins/plugin-trustdb/tsup.config.ts | 10 + 7 files changed, 1482 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/src/adapters/trustScoreDatabase.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/package.json new file mode 100644 index 000000000..57e2894cf --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/package.json @@ -0,0 +1,27 @@ +{ + "name": "@elizaos/plugin-trustdb", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "dompurify": "3.2.2", + "tsup": "8.3.5", + "uuid": "11.0.3", + "vitest": "2.1.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run", + "test:watch": "vitest", + "lint": "eslint --fix --cache ." + }, + "devDependencies": { + "@types/dompurify": "3.2.0" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/src/adapters/trustScoreDatabase.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/src/adapters/trustScoreDatabase.ts new file mode 100644 index 000000000..c1ac5eecb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/src/adapters/trustScoreDatabase.ts @@ -0,0 +1,1425 @@ +import { Database } from "better-sqlite3"; +import { v4 as uuidv4 } from "uuid"; + +export interface Recommender { + id: string; // UUID + address: string; + solanaPubkey?: string; + telegramId?: string; + discordId?: string; + twitterId?: string; + ip?: string; +} + +export interface RecommenderMetrics { + recommenderId: string; + trustScore: number; + totalRecommendations: number; + successfulRecs: number; + avgTokenPerformance: number; + riskScore: number; + consistencyScore: number; + virtualConfidence: number; + lastActiveDate: Date; + trustDecay: number; + lastUpdated: Date; +} + +export interface TokenPerformance { + tokenAddress: string; + symbol: string; + priceChange24h: number; + volumeChange24h: number; + trade_24h_change: number; + liquidity: number; + liquidityChange24h: number; + holderChange24h: number; + rugPull: boolean; + isScam: boolean; + marketCapChange24h: number; + sustainedGrowth: boolean; + rapidDump: boolean; + suspiciousVolume: boolean; + validationTrust: number; + balance: number; + initialMarketCap: number; + lastUpdated: Date; +} + +export interface TokenRecommendation { + id: string; // UUID + recommenderId: string; + tokenAddress: string; + timestamp: Date; + initialMarketCap?: number; + initialLiquidity?: number; + initialPrice?: number; +} +export interface RecommenderMetricsHistory { + historyId: string; // UUID + recommenderId: string; + trustScore: number; + totalRecommendations: number; + successfulRecs: number; + avgTokenPerformance: number; + riskScore: number; + consistencyScore: number; + virtualConfidence: number; + trustDecay: number; + recordedAt: Date; +} + +export interface TradePerformance { + token_address: string; + recommender_id: string; + buy_price: number; + sell_price: number; + buy_timeStamp: string; + sell_timeStamp: string; + buy_amount: number; + sell_amount: number; + buy_sol: number; + received_sol: number; + buy_value_usd: number; + sell_value_usd: number; + profit_usd: number; + profit_percent: number; + buy_market_cap: number; + sell_market_cap: number; + market_cap_change: number; + buy_liquidity: number; + sell_liquidity: number; + liquidity_change: number; + last_updated: string; + rapidDump: boolean; +} + +interface RecommenderMetricsRow { + recommender_id: string; + trust_score: number; + total_recommendations: number; + successful_recs: number; + avg_token_performance: number; + risk_score: number; + consistency_score: number; + virtual_confidence: number; + last_active_date: Date; + trust_decay: number; + last_updated: string; +} + +interface TokenPerformanceRow { + token_address: string; + symbol: string; + price_change_24h: number; + volume_change_24h: number; + trade_24h_change: number; + liquidity: number; + liquidity_change_24h: number; + holder_change_24h: number; + rug_pull: number; + is_scam: number; + market_cap_change24h: number; + sustained_growth: number; + rapid_dump: number; + suspicious_volume: number; + validation_trust: number; + balance: number; + initial_market_cap: number; + last_updated: string; +} + +interface Transaction { + tokenAddress: string; + transactionHash: string; + type: "buy" | "sell"; + amount: number; + price: number; + isSimulation: boolean; + timestamp: string; +} + +export class TrustScoreDatabase { + private db: Database; + + constructor(db: Database) { + this.db = db; + // load(db); + // check if the tables exist, if not create them + const tables = this.db + .prepare( + "SELECT name FROM sqlite_master WHERE type='table' AND name IN ('recommenders', 'recommender_metrics', 'token_performance', 'token_recommendations', 'recommender_metrics_history');" + ) + .all(); + if (tables.length !== 5) { + this.initializeSchema(); + } + } + + private initializeSchema() { + // Enable Foreign Key Support + this.db.exec(`PRAGMA foreign_keys = ON;`); + + // Create Recommenders Table + this.db.exec(` + CREATE TABLE IF NOT EXISTS recommenders ( + id TEXT PRIMARY KEY, + address TEXT UNIQUE NOT NULL, + solana_pubkey TEXT UNIQUE, + telegram_id TEXT UNIQUE, + discord_id TEXT UNIQUE, + twitter_id TEXT UNIQUE, + ip TEXT + ); + `); + + // Create RecommenderMetrics Table + this.db.exec(` + CREATE TABLE IF NOT EXISTS recommender_metrics ( + recommender_id TEXT PRIMARY KEY, + trust_score REAL DEFAULT 0, + total_recommendations INTEGER DEFAULT 0, + successful_recs INTEGER DEFAULT 0, + avg_token_performance REAL DEFAULT 0, + risk_score REAL DEFAULT 0, + consistency_score REAL DEFAULT 0, + virtual_confidence REAL DEFAULT 0, + last_active_date DATETIME DEFAULT CURRENT_TIMESTAMP, + trust_decay REAL DEFAULT 0, + last_updated DATETIME DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (recommender_id) REFERENCES recommenders(id) ON DELETE CASCADE + ); + `); + + // Create TokenPerformance Table + this.db.exec(` + CREATE TABLE IF NOT EXISTS token_performance ( + token_address TEXT PRIMARY KEY, + symbol TEXT, + price_change_24h REAL, + volume_change_24h REAL, + trade_24h_change REAL, + liquidity REAL, + liquidity_change_24h REAL, + holder_change_24h REAL, + rug_pull BOOLEAN DEFAULT FALSE, + is_scam BOOLEAN DEFAULT FALSE, + market_cap_change24h REAL, + sustained_growth BOOLEAN DEFAULT FALSE, + rapid_dump BOOLEAN DEFAULT FALSE, + suspicious_volume BOOLEAN DEFAULT FALSE, + validation_trust REAL DEFAULT 0, + balance REAL DEFAULT 0, + initial_market_cap REAL DEFAULT 0, + last_updated DATETIME DEFAULT CURRENT_TIMESTAMP + ); + `); + + // Create TokenRecommendations Table + this.db.exec(` + CREATE TABLE IF NOT EXISTS token_recommendations ( + id TEXT PRIMARY KEY, + recommender_id TEXT NOT NULL, + token_address TEXT NOT NULL, + timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, + initial_market_cap REAL, + initial_liquidity REAL, + initial_price REAL, + FOREIGN KEY (recommender_id) REFERENCES recommenders(id) ON DELETE CASCADE, + FOREIGN KEY (token_address) REFERENCES token_performance(token_address) ON DELETE CASCADE + ); + `); + + // ----- Create RecommenderMetricsHistory Table ----- + this.db.exec(` + CREATE TABLE IF NOT EXISTS recommender_metrics_history ( + history_id TEXT PRIMARY KEY, + recommender_id TEXT NOT NULL, + trust_score REAL, + total_recommendations INTEGER, + successful_recs INTEGER, + avg_token_performance REAL, + risk_score REAL, + consistency_score REAL, + virtual_confidence REAL DEFAULT 0, + recorded_at DATETIME DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (recommender_id) REFERENCES recommenders(id) ON DELETE CASCADE + ); + `); + + // ----- Create TradePerformance Tables ----- + this.db.exec(` + CREATE TABLE IF NOT EXISTS trade ( + token_address TEXT NOT NULL, + recommender_id TEXT NOT NULL, + sell_recommender_id TEXT, + buy_price REAL NOT NULL, + sell_price REAL, + buy_timeStamp TEXT NOT NULL, + sell_timeStamp TEXT, + buy_amount REAL NOT NULL, + sell_amount REAL, + buy_sol REAL NOT NULL, + received_sol REAL, + buy_value_usd REAL NOT NULL, + sell_value_usd REAL, + profit_usd REAL, + profit_percent REAL, + buy_market_cap REAL NOT NULL, + sell_market_cap REAL, + market_cap_change REAL, + buy_liquidity REAL NOT NULL, + sell_liquidity REAL, + liquidity_change REAL, + last_updated TEXT DEFAULT (datetime('now')), + rapidDump BOOLEAN DEFAULT FALSE, + PRIMARY KEY (token_address, recommender_id, buy_timeStamp), + FOREIGN KEY (token_address) REFERENCES token_performance(token_address) ON DELETE CASCADE, + FOREIGN KEY (recommender_id) REFERENCES recommenders(id) ON DELETE CASCADE + ); + `); + // create trade simulation table + this.db.exec(` + CREATE TABLE IF NOT EXISTS simulation_trade ( + token_address TEXT NOT NULL, + recommender_id TEXT NOT NULL, + buy_price REAL NOT NULL, + sell_price REAL, + buy_timeStamp TEXT NOT NULL, + sell_timeStamp TEXT, + buy_amount REAL NOT NULL, + sell_amount REAL, + buy_sol REAL NOT NULL, + received_sol REAL, + buy_value_usd REAL NOT NULL, + sell_value_usd REAL, + profit_usd REAL, + profit_percent REAL, + buy_market_cap REAL NOT NULL, + sell_market_cap REAL, + market_cap_change REAL, + buy_liquidity REAL NOT NULL, + sell_liquidity REAL, + liquidity_change REAL, + last_updated TEXT DEFAULT (datetime('now')), + rapidDump BOOLEAN DEFAULT FALSE, + PRIMARY KEY (token_address, recommender_id, buy_timeStamp), + FOREIGN KEY (token_address) REFERENCES token_performance(token_address) ON DELETE CASCADE, + FOREIGN KEY (recommender_id) REFERENCES recommenders(id) ON DELETE CASCADE + ); + `); + + // create transactions table + this.db.exec(` + CREATE TABLE IF NOT EXISTS transactions ( + token_address TEXT NOT NULL, + transaction_hash TEXT PRIMARY KEY, + type TEXT NOT NULL, + amount REAL NOT NULL, + price REAL NOT NULL, + timestamp TEXT NOT NULL, + is_simulation BOOLEAN DEFAULT FALSE, + FOREIGN KEY (token_address) REFERENCES token_performance(token_address) ON DELETE CASCADE + ); + `); + } + + /** + * Adds a new recommender to the database. + * @param recommender Recommender object + * @returns boolean indicating success + */ + addRecommender(recommender: Recommender): string | null { + const sql = ` + INSERT INTO recommenders (id, address, solana_pubkey, telegram_id, discord_id, twitter_id, ip) + VALUES (?, ?, ?, ?, ?, ?, ?) + ON CONFLICT(address) DO NOTHING; + `; + try { + const id = recommender.id || uuidv4(); + const result = this.db + .prepare(sql) + .run( + id, + recommender.address, + recommender.solanaPubkey || null, + recommender.telegramId || null, + recommender.discordId || null, + recommender.twitterId || null, + recommender.ip || null + ); + return result.changes > 0 ? id : null; + } catch (error) { + console.error("Error adding recommender:", error); + return null; + } + } + + /** + * Retrieves a recommender by any identifier. + * @param identifier Any of the recommender's identifiers + * @returns Recommender object or null + */ + getRecommender(identifier: string): Recommender | null { + const sql = ` + SELECT * FROM recommenders + WHERE id = ? OR address = ? OR solana_pubkey = ? OR telegram_id = ? OR discord_id = ? OR twitter_id = ?; + `; + const recommender = this.db + .prepare(sql) + .get( + identifier, + identifier, + identifier, + identifier, + identifier, + identifier + ) as Recommender | undefined; + return recommender || null; + } + + /** + * Retrieves an existing recommender or creates a new one if not found. + * Also initializes metrics for the recommender if they haven't been initialized yet. + * @param recommender Recommender object containing at least one identifier + * @returns Recommender object with all details, or null if failed + */ + getOrCreateRecommender(recommender: Recommender): Recommender | null { + try { + // Begin a transaction + const transaction = this.db.transaction(() => { + // Attempt to retrieve the recommender + const existingRecommender = this.getRecommender( + recommender.address + ); + if (existingRecommender) { + // Recommender exists, ensure metrics are initialized + this.initializeRecommenderMetrics(existingRecommender.id!); + return existingRecommender; + } + + // Recommender does not exist, create a new one + const newRecommenderId = this.addRecommender(recommender); + if (!newRecommenderId) { + throw new Error("Failed to add new recommender."); + } + + // Initialize metrics for the new recommender + const metricsInitialized = + this.initializeRecommenderMetrics(newRecommenderId); + if (!metricsInitialized) { + throw new Error( + "Failed to initialize recommender metrics." + ); + } + + // Retrieve and return the newly created recommender + const newRecommender = this.getRecommender(newRecommenderId); + if (!newRecommender) { + throw new Error( + "Failed to retrieve the newly created recommender." + ); + } + + return newRecommender; + }); + + // Execute the transaction and return the recommender + const recommenderResult = transaction(); + return recommenderResult; + } catch (error) { + console.error("Error in getOrCreateRecommender:", error); + return null; + } + } + + /** + * Retrieves an existing recommender or creates a new one if not found. + * Also initializes metrics for the recommender if they haven't been initialized yet. + * @param discordId Discord ID of the recommender + * @returns Recommender object with all details, or null if failed + */ + + async getOrCreateRecommenderWithDiscordId( + discordId: string + ): Promise { + try { + // Begin a transaction + const transaction = this.db.transaction(() => { + // Attempt to retrieve the recommender + const existingRecommender = this.getRecommender(discordId); + if (existingRecommender) { + // Recommender exists, ensure metrics are initialized + this.initializeRecommenderMetrics(existingRecommender.id!); + return existingRecommender; + } + + // Recommender does not exist, create a new one + const newRecommender = { + id: uuidv4(), + address: discordId, + discordId: discordId, + }; + const newRecommenderId = this.addRecommender(newRecommender); + if (!newRecommenderId) { + throw new Error("Failed to add new recommender."); + } + + // Initialize metrics for the new recommender + const metricsInitialized = + this.initializeRecommenderMetrics(newRecommenderId); + if (!metricsInitialized) { + throw new Error( + "Failed to initialize recommender metrics." + ); + } + + // Retrieve and return the newly created recommender + const recommender = this.getRecommender(newRecommenderId); + if (!recommender) { + throw new Error( + "Failed to retrieve the newly created recommender." + ); + } + + return recommender; + }); + + // Execute the transaction and return the recommender + const recommenderResult = transaction(); + return recommenderResult; + } catch (error) { + console.error( + "Error in getOrCreateRecommenderWithDiscordId:", + error + ); + return null; + } + } + + /** + * Retrieves an existing recommender or creates a new one if not found. + * Also initializes metrics for the recommender if they haven't been initialized yet. + * @param telegramId Telegram ID of the recommender + * @returns Recommender object with all details, or null if failed + */ + + async getOrCreateRecommenderWithTelegramId( + telegramId: string + ): Promise { + try { + // Begin a transaction + const transaction = this.db.transaction(() => { + // Attempt to retrieve the recommender + const existingRecommender = this.getRecommender(telegramId); + if (existingRecommender) { + // Recommender exists, ensure metrics are initialized + this.initializeRecommenderMetrics(existingRecommender.id!); + return existingRecommender; + } + + // Recommender does not exist, create a new one + const newRecommender = { + id: uuidv4(), + address: telegramId, + telegramId: telegramId, + }; + const newRecommenderId = this.addRecommender(newRecommender); + if (!newRecommenderId) { + throw new Error("Failed to add new recommender."); + } + + // Initialize metrics for the new recommender + const metricsInitialized = + this.initializeRecommenderMetrics(newRecommenderId); + if (!metricsInitialized) { + throw new Error( + "Failed to initialize recommender metrics." + ); + } + + // Retrieve and return the newly created recommender + const recommender = this.getRecommender(newRecommenderId); + if (!recommender) { + throw new Error( + "Failed to retrieve the newly created recommender." + ); + } + + return recommender; + }); + + // Execute the transaction and return the recommender + const recommenderResult = transaction(); + return recommenderResult; + } catch (error) { + console.error( + "Error in getOrCreateRecommenderWithTelegramId:", + error + ); + return null; + } + } + + /** + * Initializes metrics for a recommender if not present. + * @param recommenderId Recommender's UUID + */ + initializeRecommenderMetrics(recommenderId: string): boolean { + const sql = ` + INSERT OR IGNORE INTO recommender_metrics (recommender_id) + VALUES (?); + `; + try { + const result = this.db.prepare(sql).run(recommenderId); + return result.changes > 0; + } catch (error) { + console.error("Error initializing recommender metrics:", error); + return false; + } + } + + /** + * Retrieves metrics for a recommender. + * @param recommenderId Recommender's UUID + * @returns RecommenderMetrics object or null + */ + getRecommenderMetrics(recommenderId: string): RecommenderMetrics | null { + const sql = `SELECT * FROM recommender_metrics WHERE recommender_id = ?;`; + const row = this.db.prepare(sql).get(recommenderId) as + | RecommenderMetricsRow + | undefined; + if (!row) return null; + + return { + recommenderId: row.recommender_id, + trustScore: row.trust_score, + totalRecommendations: row.total_recommendations, + successfulRecs: row.successful_recs, + avgTokenPerformance: row.avg_token_performance, + riskScore: row.risk_score, + consistencyScore: row.consistency_score, + virtualConfidence: row.virtual_confidence, + lastActiveDate: row.last_active_date, + trustDecay: row.trust_decay, + lastUpdated: new Date(row.last_updated), + }; + } + + /** + * Logs the current metrics of a recommender into the history table. + * @param recommenderId Recommender's UUID + */ + logRecommenderMetricsHistory(recommenderId: string): void { + // Retrieve current metrics + const currentMetrics = this.getRecommenderMetrics(recommenderId); + if (!currentMetrics) { + console.warn( + `No metrics found for recommender ID: ${recommenderId}` + ); + return; + } + + // Create a history entry + const history: RecommenderMetricsHistory = { + historyId: uuidv4(), + recommenderId: currentMetrics.recommenderId, + trustScore: currentMetrics.trustScore, + totalRecommendations: currentMetrics.totalRecommendations, + successfulRecs: currentMetrics.successfulRecs, + avgTokenPerformance: currentMetrics.avgTokenPerformance, + riskScore: currentMetrics.riskScore, + consistencyScore: currentMetrics.consistencyScore, + virtualConfidence: currentMetrics.virtualConfidence, + trustDecay: currentMetrics.trustDecay, + recordedAt: new Date(), // Current timestamp + }; + + // Insert into recommender_metrics_history table + const sql = ` + INSERT INTO recommender_metrics_history ( + history_id, + recommender_id, + trust_score, + total_recommendations, + successful_recs, + avg_token_performance, + risk_score, + consistency_score, + recorded_at + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?); + `; + try { + this.db + .prepare(sql) + .run( + history.historyId, + history.recommenderId, + history.trustScore, + history.totalRecommendations, + history.successfulRecs, + history.avgTokenPerformance, + history.riskScore, + history.consistencyScore, + history.recordedAt.toISOString() + ); + console.log( + `Logged metrics history for recommender ID: ${recommenderId}` + ); + } catch (error) { + console.error("Error logging recommender metrics history:", error); + } + } + + /** + * Updates metrics for a recommender. + * @param metrics RecommenderMetrics object + */ + updateRecommenderMetrics(metrics: RecommenderMetrics): void { + // Log current metrics before updating + this.logRecommenderMetricsHistory(metrics.recommenderId); + + const sql = ` + UPDATE recommender_metrics + SET trust_score = ?, + total_recommendations = ?, + successful_recs = ?, + avg_token_performance = ?, + risk_score = ?, + consistency_score = ?, + last_updated = CURRENT_TIMESTAMP + WHERE recommender_id = ?; + `; + try { + this.db + .prepare(sql) + .run( + metrics.trustScore, + metrics.totalRecommendations, + metrics.successfulRecs, + metrics.avgTokenPerformance, + metrics.riskScore, + metrics.consistencyScore, + metrics.recommenderId + ); + console.log( + `Updated metrics for recommender ID: ${metrics.recommenderId}` + ); + } catch (error) { + console.error("Error updating recommender metrics:", error); + } + } + + // ----- TokenPerformance Methods ----- + + /** + * Adds or updates token performance metrics. + * @param performance TokenPerformance object + */ + upsertTokenPerformance(performance: TokenPerformance): boolean { + const validationTrust = this.calculateValidationTrust( + performance.tokenAddress + ); + + const sql = ` + INSERT INTO token_performance ( + token_address, + price_change_24h, + volume_change_24h, + trade_24h_change, + liquidity, + liquidity_change_24h, + holder_change_24h, + rug_pull, + is_scam, + market_cap_change24h, + sustained_growth, + rapid_dump, + suspicious_volume, + validation_trust, + balance, + initial_market_cap, + last_updated + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP) + ON CONFLICT(token_address) DO UPDATE SET + price_change_24h = excluded.price_change_24h, + volume_change_24h = excluded.volume_change_24h, + trade_24h_change = excluded.trade_24h_change, + liquidity = excluded.liquidity, + liquidity_change_24h = excluded.liquidity_change_24h, + holder_change_24h = excluded.holder_change_24h, + rug_pull = excluded.rug_pull, + is_scam = excluded.is_scam, + market_cap_change24h = excluded.market_cap_change24h, + sustained_growth = excluded.sustained_growth, + rapid_dump = excluded.rapid_dump, + suspicious_volume = excluded.suspicious_volume, + validation_trust = excluded.validation_trust, + balance = excluded.balance, + initial_market_cap = excluded.initial_market_cap, + last_updated = CURRENT_TIMESTAMP; + `; + try { + this.db.prepare(sql).run( + performance.tokenAddress, + performance.priceChange24h, + performance.volumeChange24h, + performance.trade_24h_change, + performance.liquidity, + performance.liquidityChange24h, + performance.holderChange24h, // Ensure column name matches schema + performance.rugPull ? 1 : 0, + performance.isScam ? 1 : 0, + performance.marketCapChange24h, + performance.sustainedGrowth ? 1 : 0, + performance.rapidDump ? 1 : 0, + performance.suspiciousVolume ? 1 : 0, + performance.balance, + performance.initialMarketCap, + validationTrust + ); + console.log( + `Upserted token performance for ${performance.tokenAddress}` + ); + return true; + } catch (error) { + console.error("Error upserting token performance:", error); + return false; + } + } + + // update token balance + + updateTokenBalance(tokenAddress: string, balance: number): boolean { + const sql = ` + UPDATE token_performance + SET balance = ?, + last_updated = CURRENT_TIMESTAMP + WHERE token_address = ?; + `; + try { + this.db.prepare(sql).run(balance, tokenAddress); + console.log(`Updated token balance for ${tokenAddress}`); + return true; + } catch (error) { + console.error("Error updating token balance:", error); + return false; + } + } + + /** + * Retrieves token performance metrics. + * @param tokenAddress Token's address + * @returns TokenPerformance object or null + */ + getTokenPerformance(tokenAddress: string): TokenPerformance | null { + const sql = `SELECT * FROM token_performance WHERE token_address = ?;`; + const row = this.db.prepare(sql).get(tokenAddress) as + | TokenPerformanceRow + | undefined; + if (!row) return null; + + return { + tokenAddress: row.token_address, + symbol: row.symbol, + priceChange24h: row.price_change_24h, + volumeChange24h: row.volume_change_24h, + trade_24h_change: row.trade_24h_change, + liquidity: row.liquidity, + liquidityChange24h: row.liquidity_change_24h, + holderChange24h: row.holder_change_24h, + rugPull: row.rug_pull === 1, + isScam: row.is_scam === 1, + marketCapChange24h: row.market_cap_change24h, + sustainedGrowth: row.sustained_growth === 1, + rapidDump: row.rapid_dump === 1, + suspiciousVolume: row.suspicious_volume === 1, + validationTrust: row.validation_trust, + balance: row.balance, + initialMarketCap: row.initial_market_cap, + lastUpdated: new Date(row.last_updated), + }; + } + + //getTokenBalance + getTokenBalance(tokenAddress: string): number { + const sql = `SELECT balance FROM token_performance WHERE token_address = ?;`; + const row = this.db.prepare(sql).get(tokenAddress) as { + balance: number; + }; + return row.balance; + } + + getAllTokenPerformancesWithBalance(): TokenPerformance[] { + const sql = `SELECT * FROM token_performance WHERE balance > 0;`; + const rows = this.db.prepare(sql).all() as TokenPerformanceRow[]; + + return rows.map((row) => ({ + tokenAddress: row.token_address, + symbol: row.symbol, + priceChange24h: row.price_change_24h, + volumeChange24h: row.volume_change_24h, + trade_24h_change: row.trade_24h_change, + liquidity: row.liquidity, + liquidityChange24h: row.liquidity_change_24h, + holderChange24h: row.holder_change_24h, + rugPull: row.rug_pull === 1, + isScam: row.is_scam === 1, + marketCapChange24h: row.market_cap_change24h, + sustainedGrowth: row.sustained_growth === 1, + rapidDump: row.rapid_dump === 1, + suspiciousVolume: row.suspicious_volume === 1, + validationTrust: row.validation_trust, + balance: row.balance, + initialMarketCap: row.initial_market_cap, + lastUpdated: new Date(row.last_updated), + })); + } + + // ----- TokenRecommendations Methods ----- + + /** + * Calculates the average trust score of all recommenders who have recommended a specific token. + * @param tokenAddress The address of the token. + * @returns The average trust score (validationTrust). + */ + calculateValidationTrust(tokenAddress: string): number { + const sql = ` + SELECT rm.trust_score + FROM token_recommendations tr + JOIN recommender_metrics rm ON tr.recommender_id = rm.recommender_id + WHERE tr.token_address = ?; + `; + const rows = this.db.prepare(sql).all(tokenAddress) as Array<{ + trust_score: number; + }>; + + if (rows.length === 0) return 0; // No recommendations found + + const totalTrust = rows.reduce((acc, row) => acc + row.trust_score, 0); + const averageTrust = totalTrust / rows.length; + return averageTrust; + } + + /** + * Adds a new token recommendation. + * @param recommendation TokenRecommendation object + * @returns boolean indicating success + */ + addTokenRecommendation(recommendation: TokenRecommendation): boolean { + const sql = ` + INSERT INTO token_recommendations ( + id, + recommender_id, + token_address, + timestamp, + initial_market_cap, + initial_liquidity, + initial_price + ) VALUES (?, ?, ?, ?, ?, ?, ?); + `; + try { + this.db + .prepare(sql) + .run( + recommendation.id || uuidv4(), + recommendation.recommenderId, + recommendation.tokenAddress, + recommendation.timestamp || new Date(), + recommendation.initialMarketCap || null, + recommendation.initialLiquidity || null, + recommendation.initialPrice || null + ); + return true; + } catch (error) { + console.error("Error adding token recommendation:", error); + return false; + } + } + + /** + * Retrieves all recommendations made by a recommender. + * @param recommenderId Recommender's UUID + * @returns Array of TokenRecommendation objects + */ + getRecommendationsByRecommender( + recommenderId: string + ): TokenRecommendation[] { + const sql = `SELECT * FROM token_recommendations WHERE recommender_id = ? ORDER BY timestamp DESC;`; + const rows = this.db.prepare(sql).all(recommenderId) as Array<{ + id: string; + recommender_id: string; + token_address: string; + timestamp: string; + initial_market_cap: number | null; + initial_liquidity: number | null; + initial_price: number | null; + }>; + + return rows.map((row) => ({ + id: row.id, + recommenderId: row.recommender_id, + tokenAddress: row.token_address, + timestamp: new Date(row.timestamp), + initialMarketCap: row.initial_market_cap, + initialLiquidity: row.initial_liquidity, + initialPrice: row.initial_price, + })); + } + + /** + * Retrieves all recommendations for a specific token. + * @param tokenAddress Token's address + * @returns Array of TokenRecommendation objects + */ + getRecommendationsByToken(tokenAddress: string): TokenRecommendation[] { + const sql = `SELECT * FROM token_recommendations WHERE token_address = ? ORDER BY timestamp DESC;`; + const rows = this.db.prepare(sql).all(tokenAddress) as Array<{ + id: string; + recommender_id: string; + token_address: string; + timestamp: string; + initial_market_cap: number | null; + initial_liquidity: number | null; + initial_price: number | null; + }>; + + return rows.map((row) => ({ + id: row.id, + recommenderId: row.recommender_id, + tokenAddress: row.token_address, + timestamp: new Date(row.timestamp), + initialMarketCap: row.initial_market_cap ?? undefined, + initialLiquidity: row.initial_liquidity ?? undefined, + initialPrice: row.initial_price ?? undefined, + })); + } + + /** + * Retrieves all recommendations within a specific timeframe. + * @param startDate Start date + * @param endDate End date + * @returns Array of TokenRecommendation objects + */ + getRecommendationsByDateRange( + startDate: Date, + endDate: Date + ): TokenRecommendation[] { + const sql = ` + SELECT * FROM token_recommendations + WHERE timestamp BETWEEN ? AND ? + ORDER BY timestamp DESC; + `; + const rows = this.db + .prepare(sql) + .all(startDate.toISOString(), endDate.toISOString()) as Array<{ + id: string; + recommender_id: string; + token_address: string; + timestamp: string; + initial_market_cap: number | null; + initial_liquidity: number | null; + initial_price: number | null; + }>; + + return rows.map((row) => ({ + id: row.id, + recommenderId: row.recommender_id, + tokenAddress: row.token_address, + timestamp: new Date(row.timestamp), + initialMarketCap: row.initial_market_cap ?? undefined, + initialLiquidity: row.initial_liquidity ?? undefined, + initialPrice: row.initial_price ?? undefined, + })); + } + + /** + * Retrieves historical metrics for a recommender. + * @param recommenderId Recommender's UUID + * @returns Array of RecommenderMetricsHistory objects + */ + getRecommenderMetricsHistory( + recommenderId: string + ): RecommenderMetricsHistory[] { + const sql = ` + SELECT * FROM recommender_metrics_history + WHERE recommender_id = ? + ORDER BY recorded_at DESC; + `; + const rows = this.db.prepare(sql).all(recommenderId) as Array<{ + history_id: string; + recommender_id: string; + trust_score: number; + total_recommendations: number; + successful_recs: number; + avg_token_performance: number; + risk_score: number; + consistency_score: number; + virtual_confidence: number; + trust_decay: number; + recorded_at: string; + }>; + + return rows.map((row) => ({ + historyId: row.history_id, + recommenderId: row.recommender_id, + trustScore: row.trust_score, + totalRecommendations: row.total_recommendations, + successfulRecs: row.successful_recs, + avgTokenPerformance: row.avg_token_performance, + riskScore: row.risk_score, + consistencyScore: row.consistency_score, + virtualConfidence: row.virtual_confidence, + trustDecay: row.trust_decay, + recordedAt: new Date(row.recorded_at), + })); + } + + /** + * Inserts a new trade performance into the specified table. + * @param trade The TradePerformance object containing trade details. + * @param isSimulation Whether the trade is a simulation. If true, inserts into simulation_trade; otherwise, into trade. + * @returns boolean indicating success. + */ + addTradePerformance( + trade: TradePerformance, + isSimulation: boolean + ): boolean { + const tableName = isSimulation ? "simulation_trade" : "trade"; + const sql = ` + INSERT INTO ${tableName} ( + token_address, + recommender_id, + buy_price, + sell_price, + buy_timeStamp, + sell_timeStamp, + buy_amount, + sell_amount, + buy_sol, + received_sol, + buy_value_usd, + sell_value_usd, + profit_usd, + profit_percent, + buy_market_cap, + sell_market_cap, + market_cap_change, + buy_liquidity, + sell_liquidity, + liquidity_change, + last_updated, + rapidDump + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?); + `; + try { + this.db + .prepare(sql) + .run( + trade.token_address, + trade.recommender_id, + trade.buy_price, + trade.sell_price || null, + trade.buy_timeStamp, + trade.sell_timeStamp || null, + trade.buy_amount, + trade.sell_amount || null, + trade.buy_sol, + trade.received_sol || null, + trade.buy_value_usd, + trade.sell_value_usd || null, + trade.profit_usd || null, + trade.profit_percent || null, + trade.buy_market_cap, + trade.sell_market_cap || null, + trade.market_cap_change || null, + trade.buy_liquidity, + trade.sell_liquidity || null, + trade.liquidity_change || null, + trade.last_updated || new Date().toISOString(), + trade.rapidDump ? 1 : 0 + ); + console.log(`Inserted trade into ${tableName}:`, trade); + return true; + } catch (error) { + console.error(`Error inserting trade into ${tableName}:`, error); + return false; + } + } + + /** + * Updates an existing trade with sell details. + * @param tokenAddress The address of the token. + * @param recommenderId The UUID of the recommender. + * @param buyTimeStamp The timestamp when the buy occurred. + * @param sellDetails An object containing sell-related details. + * @param isSimulation Whether the trade is a simulation. If true, updates in simulation_trade; otherwise, in trade. + * @returns boolean indicating success. + */ + + updateTradePerformanceOnSell( + tokenAddress: string, + recommenderId: string, + buyTimeStamp: string, + sellDetails: { + sell_price: number; + sell_timeStamp: string; + sell_amount: number; + received_sol: number; + sell_value_usd: number; + profit_usd: number; + profit_percent: number; + sell_market_cap: number; + market_cap_change: number; + sell_liquidity: number; + liquidity_change: number; + rapidDump: boolean; + sell_recommender_id: string | null; + }, + isSimulation: boolean + ): boolean { + const tableName = isSimulation ? "simulation_trade" : "trade"; + const sql = ` + UPDATE ${tableName} + SET + sell_price = ?, + sell_timeStamp = ?, + sell_amount = ?, + received_sol = ?, + sell_value_usd = ?, + profit_usd = ?, + profit_percent = ?, + sell_market_cap = ?, + market_cap_change = ?, + sell_liquidity = ?, + liquidity_change = ?, + rapidDump = ?, + sell_recommender_id = ? + WHERE + token_address = ? + AND recommender_id = ? + AND buy_timeStamp = ?; + `; + try { + const result = this.db + .prepare(sql) + .run( + sellDetails.sell_price, + sellDetails.sell_timeStamp, + sellDetails.sell_amount, + sellDetails.received_sol, + sellDetails.sell_value_usd, + sellDetails.profit_usd, + sellDetails.profit_percent, + sellDetails.sell_market_cap, + sellDetails.market_cap_change, + sellDetails.sell_liquidity, + sellDetails.liquidity_change, + sellDetails.rapidDump ? 1 : 0, + tokenAddress, + recommenderId, + buyTimeStamp + ); + + if (result.changes === 0) { + console.warn( + `No trade found to update in ${tableName} for token: ${tokenAddress}, recommender: ${recommenderId}, buyTimeStamp: ${buyTimeStamp}` + ); + return false; + } + + console.log(`Updated trade in ${tableName}:`, { + token_address: tokenAddress, + recommender_id: recommenderId, + buy_timeStamp: buyTimeStamp, + ...sellDetails, + }); + return true; + } catch (error) { + console.error(`Error updating trade in ${tableName}:`, error); + return false; + } + } + + //getTradePerformance + + /** + * Retrieves trade performance metrics. + * @param tokenAddress Token's address + * @param recommenderId Recommender's UUID + * @param buyTimeStamp Timestamp when the buy occurred + * @param isSimulation Whether the trade is a simulation. If true, retrieves from simulation_trade; otherwise, from trade. + * @returns TradePerformance object or null + */ + + getTradePerformance( + tokenAddress: string, + recommenderId: string, + buyTimeStamp: string, + isSimulation: boolean + ): TradePerformance | null { + const tableName = isSimulation ? "simulation_trade" : "trade"; + const sql = `SELECT * FROM ${tableName} WHERE token_address = ? AND recommender_id = ? AND buy_timeStamp = ?;`; + const row = this.db + .prepare(sql) + .get(tokenAddress, recommenderId, buyTimeStamp) as + | TradePerformance + | undefined; + if (!row) return null; + + return { + token_address: row.token_address, + recommender_id: row.recommender_id, + buy_price: row.buy_price, + sell_price: row.sell_price, + buy_timeStamp: row.buy_timeStamp, + sell_timeStamp: row.sell_timeStamp, + buy_amount: row.buy_amount, + sell_amount: row.sell_amount, + buy_sol: row.buy_sol, + received_sol: row.received_sol, + buy_value_usd: row.buy_value_usd, + sell_value_usd: row.sell_value_usd, + profit_usd: row.profit_usd, + profit_percent: row.profit_percent, + buy_market_cap: row.buy_market_cap, + sell_market_cap: row.sell_market_cap, + market_cap_change: row.market_cap_change, + buy_liquidity: row.buy_liquidity, + sell_liquidity: row.sell_liquidity, + liquidity_change: row.liquidity_change, + last_updated: row.last_updated, + rapidDump: row.rapidDump, + }; + } + + /** + * Retrieves the latest trade performance metrics without requiring buyTimeStamp. + * @param tokenAddress Token's address + * @param recommenderId Recommender's UUID + * @param isSimulation Whether the trade is a simulation. If true, retrieves from simulation_trade; otherwise, from trade. + * @returns TradePerformance object or null + */ + getLatestTradePerformance( + tokenAddress: string, + recommenderId: string, + isSimulation: boolean + ): TradePerformance | null { + const tableName = isSimulation ? "simulation_trade" : "trade"; + const sql = ` + SELECT * FROM ${tableName} + WHERE token_address = ? AND recommender_id = ? + ORDER BY buy_timeStamp DESC + LIMIT 1; + `; + const row = this.db.prepare(sql).get(tokenAddress, recommenderId) as + | TradePerformance + | undefined; + if (!row) return null; + + return { + token_address: row.token_address, + recommender_id: row.recommender_id, + buy_price: row.buy_price, + sell_price: row.sell_price, + buy_timeStamp: row.buy_timeStamp, + sell_timeStamp: row.sell_timeStamp, + buy_amount: row.buy_amount, + sell_amount: row.sell_amount, + buy_sol: row.buy_sol, + received_sol: row.received_sol, + buy_value_usd: row.buy_value_usd, + sell_value_usd: row.sell_value_usd, + profit_usd: row.profit_usd, + profit_percent: row.profit_percent, + buy_market_cap: row.buy_market_cap, + sell_market_cap: row.sell_market_cap, + market_cap_change: row.market_cap_change, + buy_liquidity: row.buy_liquidity, + sell_liquidity: row.sell_liquidity, + liquidity_change: row.liquidity_change, + last_updated: row.last_updated, + rapidDump: row.rapidDump, + }; + } + + // ----- Transactions Methods ----- + /** + * Adds a new transaction to the database. + * @param transaction Transaction object + * @returns boolean indicating success + */ + + addTransaction(transaction: Transaction): boolean { + const sql = ` + INSERT INTO transactions ( + token_address, + transaction_hash, + type, + amount, + price, + is_simulation, + timestamp + ) VALUES (?, ?, ?, ?, ?, ?); + `; + try { + this.db + .prepare(sql) + .run( + transaction.tokenAddress, + transaction.transactionHash, + transaction.type, + transaction.amount, + transaction.price, + transaction.isSimulation, + transaction.timestamp + ); + return true; + } catch (error) { + console.error("Error adding transaction:", error); + return false; + } + } + + /** + * Retrieves all transactions for a specific token. + * @param tokenAddress Token's address + * @returns Array of Transaction objects + */ + getTransactionsByToken(tokenAddress: string): Transaction[] { + const sql = `SELECT * FROM transactions WHERE token_address = ? ORDER BY timestamp DESC;`; + const rows = this.db.prepare(sql).all(tokenAddress) as Array<{ + token_address: string; + transaction_hash: string; + type: string; + amount: number; + price: number; + is_simulation: boolean; + timestamp: string; + }>; + + return rows.map((row) => { + // Validate and cast 'type' to ensure it matches the expected union type + if (row.type !== "buy" && row.type !== "sell") { + throw new Error(`Unexpected transaction type: ${row.type}`); + } + + return { + tokenAddress: row.token_address, + transactionHash: row.transaction_hash, + type: row.type as "buy" | "sell", + amount: row.amount, + price: row.price, + isSimulation: row.is_simulation, + timestamp: new Date(row.timestamp).toISOString(), + }; + }); + } + + /** + * Close the database connection gracefully. + */ + closeConnection(): void { + this.db.close(); + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/src/index.ts new file mode 100644 index 000000000..5709fc4ce --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/src/index.ts @@ -0,0 +1 @@ +export * from "./adapters/trustScoreDatabase.ts"; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/tsconfig.json new file mode 100644 index 000000000..73993deaa --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/tsup.config.ts new file mode 100644 index 000000000..1a55f7a74 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/tsup.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [], +}); From 0b1850dcf0aaf480520e002099c31d9f13727056 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sat, 28 Dec 2024 19:46:22 -0800 Subject: [PATCH 021/312] Add tee plugin --- .../components/plugins/plugin-tee/.npmignore | 6 + .../components/plugins/plugin-tee/README.md | 89 +++++ .../plugins/plugin-tee/eslint.config.mjs | 3 + .../plugins/plugin-tee/package.json | 28 ++ .../plugins/plugin-tee/src/index.ts | 27 ++ .../src/providers/deriveKeyProvider.ts | 203 +++++++++++ .../providers/remoteAttestationProvider.ts | 90 +++++ .../src/providers/walletProvider.ts | 318 ++++++++++++++++++ .../plugins/plugin-tee/src/types/tee.ts | 11 + .../plugins/plugin-tee/tsconfig.json | 10 + .../plugins/plugin-tee/tsup.config.ts | 28 ++ 11 files changed, 813 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/README.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/deriveKeyProvider.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/remoteAttestationProvider.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/walletProvider.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/types/tee.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/README.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/README.md new file mode 100644 index 000000000..c66bebf85 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/README.md @@ -0,0 +1,89 @@ +# Plugin TEE + +A plugin for handling Trusted Execution Environment (TEE) operations. + +## Providers + +This plugin includes several providers for handling different TEE-related operations. + +### DeriveKeyProvider + +The `DeriveKeyProvider` allows for secure key derivation within a TEE environment. It supports deriving keys for both Solana (Ed25519) and Ethereum (ECDSA) chains. + +#### Usage + +```typescript +import { DeriveKeyProvider } from "@elizaos/plugin-tee"; + +// Initialize the provider +const provider = new DeriveKeyProvider(); + +// Derive a raw key +try { + const rawKey = await provider.rawDeriveKey( + "/path/to/derive", + "subject-identifier" + ); + // rawKey is a DeriveKeyResponse that can be used for further processing + // to get the uint8Array do the following + const rawKeyArray = rawKey.asUint8Array(); +} catch (error) { + console.error("Raw key derivation failed:", error); +} + +// Derive a Solana keypair (Ed25519) +try { + const solanaKeypair = await provider.deriveEd25519Keypair( + "/path/to/derive", + "subject-identifier" + ); + // solanaKeypair can now be used for Solana operations +} catch (error) { + console.error("Solana key derivation failed:", error); +} + +// Derive an Ethereum keypair (ECDSA) +try { + const evmKeypair = await provider.deriveEcdsaKeypair( + "/path/to/derive", + "subject-identifier" + ); + // evmKeypair can now be used for Ethereum operations +} catch (error) { + console.error("EVM key derivation failed:", error); +} +``` + +### RemoteAttestationProvider + +The `RemoteAttestationProvider` allows for generating a remote attestation within a TEE environment. + +#### Usage + +```typescript +const provider = new RemoteAttestationProvider(); + +try { + const attestation = await provider.generateAttestation("your-report-data"); + console.log("Attestation:", attestation); +} catch (error) { + console.error("Failed to generate attestation:", error); +} +``` + +### Configuration + +To get a TEE simulator for local testing, use the following commands: + +```bash +docker pull phalanetwork/tappd-simulator:latest +# by default the simulator is available in localhost:8090 +docker run --rm -p 8090:8090 phalanetwork/tappd-simulator:latest +``` + +When using the provider through the runtime environment, ensure the following settings are configured: + +```env +DSTACK_SIMULATOR_ENDPOINT="your-endpoint-url" # Optional, for simulator purposes if testing on mac or windows +WALLET_SECRET_SALT=your-secret-salt // Required to single agent deployments +``` diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/package.json new file mode 100644 index 000000000..ac931632d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/package.json @@ -0,0 +1,28 @@ +{ + "name": "@elizaos/plugin-tee", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@phala/dstack-sdk": "0.1.6", + "@solana/spl-token": "0.4.9", + "@solana/web3.js": "1.95.8", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "bs58": "6.0.0", + "node-cache": "5.1.2", + "pumpdotfun-sdk": "1.3.2", + "tsup": "8.3.5", + "viem": "2.21.53" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/index.ts new file mode 100644 index 000000000..868078b6f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/index.ts @@ -0,0 +1,27 @@ +import { Plugin } from "@elizaos/core"; +import { remoteAttestationProvider } from "./providers/remoteAttestationProvider"; +import { deriveKeyProvider } from "./providers/deriveKeyProvider"; + +export { DeriveKeyProvider } from "./providers/deriveKeyProvider"; +export { RemoteAttestationProvider } from "./providers/remoteAttestationProvider"; +export { RemoteAttestationQuote, TEEMode } from "./types/tee"; + +export const teePlugin: Plugin = { + name: "tee", + description: + "TEE plugin with actions to generate remote attestations and derive keys", + actions: [ + /* custom actions */ + ], + evaluators: [ + /* custom evaluators */ + ], + providers: [ + /* custom providers */ + remoteAttestationProvider, + deriveKeyProvider, + ], + services: [ + /* custom services */ + ], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/deriveKeyProvider.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/deriveKeyProvider.ts new file mode 100644 index 000000000..c56dfa22f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/deriveKeyProvider.ts @@ -0,0 +1,203 @@ +import { IAgentRuntime, Memory, Provider, State } from "@elizaos/core"; +import { Keypair } from "@solana/web3.js"; +import crypto from "crypto"; +import { DeriveKeyResponse, TappdClient } from "@phala/dstack-sdk"; +import { privateKeyToAccount } from "viem/accounts"; +import { PrivateKeyAccount, keccak256 } from "viem"; +import { RemoteAttestationProvider } from "./remoteAttestationProvider"; +import { TEEMode, RemoteAttestationQuote } from "../types/tee"; + +interface DeriveKeyAttestationData { + agentId: string; + publicKey: string; +} + +class DeriveKeyProvider { + private client: TappdClient; + private raProvider: RemoteAttestationProvider; + + constructor(teeMode?: string) { + let endpoint: string | undefined; + + // Both LOCAL and DOCKER modes use the simulator, just with different endpoints + switch (teeMode) { + case TEEMode.LOCAL: + endpoint = "http://localhost:8090"; + console.log( + "TEE: Connecting to local simulator at localhost:8090" + ); + break; + case TEEMode.DOCKER: + endpoint = "http://host.docker.internal:8090"; + console.log( + "TEE: Connecting to simulator via Docker at host.docker.internal:8090" + ); + break; + case TEEMode.PRODUCTION: + endpoint = undefined; + console.log( + "TEE: Running in production mode without simulator" + ); + break; + default: + throw new Error( + `Invalid TEE_MODE: ${teeMode}. Must be one of: LOCAL, DOCKER, PRODUCTION` + ); + } + + this.client = endpoint ? new TappdClient(endpoint) : new TappdClient(); + this.raProvider = new RemoteAttestationProvider(teeMode); + } + + private async generateDeriveKeyAttestation( + agentId: string, + publicKey: string + ): Promise { + const deriveKeyData: DeriveKeyAttestationData = { + agentId, + publicKey, + }; + const reportdata = JSON.stringify(deriveKeyData); + console.log("Generating Remote Attestation Quote for Derive Key..."); + const quote = await this.raProvider.generateAttestation(reportdata); + console.log("Remote Attestation Quote generated successfully!"); + return quote; + } + + async rawDeriveKey( + path: string, + subject: string + ): Promise { + try { + if (!path || !subject) { + console.error( + "Path and Subject are required for key derivation" + ); + } + + console.log("Deriving Raw Key in TEE..."); + const derivedKey = await this.client.deriveKey(path, subject); + + console.log("Raw Key Derived Successfully!"); + return derivedKey; + } catch (error) { + console.error("Error deriving raw key:", error); + throw error; + } + } + + async deriveEd25519Keypair( + path: string, + subject: string, + agentId: string + ): Promise<{ keypair: Keypair; attestation: RemoteAttestationQuote }> { + try { + if (!path || !subject) { + console.error( + "Path and Subject are required for key derivation" + ); + } + + console.log("Deriving Key in TEE..."); + const derivedKey = await this.client.deriveKey(path, subject); + const uint8ArrayDerivedKey = derivedKey.asUint8Array(); + + const hash = crypto.createHash("sha256"); + hash.update(uint8ArrayDerivedKey); + const seed = hash.digest(); + const seedArray = new Uint8Array(seed); + const keypair = Keypair.fromSeed(seedArray.slice(0, 32)); + + // Generate an attestation for the derived key data for public to verify + const attestation = await this.generateDeriveKeyAttestation( + agentId, + keypair.publicKey.toBase58() + ); + console.log("Key Derived Successfully!"); + + return { keypair, attestation }; + } catch (error) { + console.error("Error deriving key:", error); + throw error; + } + } + + async deriveEcdsaKeypair( + path: string, + subject: string, + agentId: string + ): Promise<{ + keypair: PrivateKeyAccount; + attestation: RemoteAttestationQuote; + }> { + try { + if (!path || !subject) { + console.error( + "Path and Subject are required for key derivation" + ); + } + + console.log("Deriving ECDSA Key in TEE..."); + const deriveKeyResponse: DeriveKeyResponse = + await this.client.deriveKey(path, subject); + const hex = keccak256(deriveKeyResponse.asUint8Array()); + const keypair: PrivateKeyAccount = privateKeyToAccount(hex); + + // Generate an attestation for the derived key data for public to verify + const attestation = await this.generateDeriveKeyAttestation( + agentId, + keypair.address + ); + console.log("ECDSA Key Derived Successfully!"); + + return { keypair, attestation }; + } catch (error) { + console.error("Error deriving ecdsa key:", error); + throw error; + } + } +} + +const deriveKeyProvider: Provider = { + get: async (runtime: IAgentRuntime, _message?: Memory, _state?: State) => { + const teeMode = runtime.getSetting("TEE_MODE"); + const provider = new DeriveKeyProvider(teeMode); + const agentId = runtime.agentId; + try { + // Validate wallet configuration + if (!runtime.getSetting("WALLET_SECRET_SALT")) { + console.error( + "Wallet secret salt is not configured in settings" + ); + return ""; + } + + try { + const secretSalt = + runtime.getSetting("WALLET_SECRET_SALT") || "secret_salt"; + const solanaKeypair = await provider.deriveEd25519Keypair( + "/", + secretSalt, + agentId + ); + const evmKeypair = await provider.deriveEcdsaKeypair( + "/", + secretSalt, + agentId + ); + return JSON.stringify({ + solana: solanaKeypair.keypair.publicKey, + evm: evmKeypair.keypair.address, + }); + } catch (error) { + console.error("Error creating PublicKey:", error); + return ""; + } + } catch (error) { + console.error("Error in derive key provider:", error.message); + return `Failed to fetch derive key information: ${error instanceof Error ? error.message : "Unknown error"}`; + } + }, +}; + +export { deriveKeyProvider, DeriveKeyProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/remoteAttestationProvider.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/remoteAttestationProvider.ts new file mode 100644 index 000000000..1e13c5609 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/remoteAttestationProvider.ts @@ -0,0 +1,90 @@ +import { IAgentRuntime, Memory, Provider, State } from "@elizaos/core"; +import { TdxQuoteResponse, TappdClient } from "@phala/dstack-sdk"; +import { RemoteAttestationQuote, TEEMode } from "../types/tee"; + +class RemoteAttestationProvider { + private client: TappdClient; + + constructor(teeMode?: string) { + let endpoint: string | undefined; + + // Both LOCAL and DOCKER modes use the simulator, just with different endpoints + switch (teeMode) { + case TEEMode.LOCAL: + endpoint = "http://localhost:8090"; + console.log( + "TEE: Connecting to local simulator at localhost:8090" + ); + break; + case TEEMode.DOCKER: + endpoint = "http://host.docker.internal:8090"; + console.log( + "TEE: Connecting to simulator via Docker at host.docker.internal:8090" + ); + break; + case TEEMode.PRODUCTION: + endpoint = undefined; + console.log( + "TEE: Running in production mode without simulator" + ); + break; + default: + throw new Error( + `Invalid TEE_MODE: ${teeMode}. Must be one of: LOCAL, DOCKER, PRODUCTION` + ); + } + + this.client = endpoint ? new TappdClient(endpoint) : new TappdClient(); + } + + async generateAttestation( + reportData: string + ): Promise { + try { + console.log("Generating attestation for: ", reportData); + const tdxQuote: TdxQuoteResponse = + await this.client.tdxQuote(reportData); + const rtmrs = tdxQuote.replayRtmrs(); + console.log( + `rtmr0: ${rtmrs[0]}\nrtmr1: ${rtmrs[1]}\nrtmr2: ${rtmrs[2]}\nrtmr3: ${rtmrs[3]}f` + ); + const quote: RemoteAttestationQuote = { + quote: tdxQuote.quote, + timestamp: Date.now(), + }; + console.log("Remote attestation quote: ", quote); + return quote; + } catch (error) { + console.error("Error generating remote attestation:", error); + throw new Error( + `Failed to generate TDX Quote: ${ + error instanceof Error ? error.message : "Unknown error" + }` + ); + } + } +} + +// Keep the original provider for backwards compatibility +const remoteAttestationProvider: Provider = { + get: async (runtime: IAgentRuntime, _message: Memory, _state?: State) => { + const teeMode = runtime.getSetting("TEE_MODE"); + const provider = new RemoteAttestationProvider(teeMode); + const agentId = runtime.agentId; + + try { + console.log("Generating attestation for: ", agentId); + const attestation = await provider.generateAttestation(agentId); + return `Your Agent's remote attestation is: ${JSON.stringify(attestation)}`; + } catch (error) { + console.error("Error in remote attestation provider:", error); + throw new Error( + `Failed to generate TDX Quote: ${ + error instanceof Error ? error.message : "Unknown error" + }` + ); + } + }, +}; + +export { remoteAttestationProvider, RemoteAttestationProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/walletProvider.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/walletProvider.ts new file mode 100644 index 000000000..b7111d00a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/providers/walletProvider.ts @@ -0,0 +1,318 @@ +/* This is an example of how WalletProvider can use DeriveKeyProvider to generate a Solana Keypair */ +import { IAgentRuntime, Memory, Provider, State } from "@elizaos/core"; +import { Connection, Keypair, PublicKey } from "@solana/web3.js"; +import BigNumber from "bignumber.js"; +import NodeCache from "node-cache"; +import { DeriveKeyProvider } from "./deriveKeyProvider"; +import { RemoteAttestationQuote } from "../types/tee"; +// Provider configuration +const PROVIDER_CONFIG = { + BIRDEYE_API: "https://public-api.birdeye.so", + MAX_RETRIES: 3, + RETRY_DELAY: 2000, + DEFAULT_RPC: "https://api.mainnet-beta.solana.com", + TOKEN_ADDRESSES: { + SOL: "So11111111111111111111111111111111111111112", + BTC: "3NZ9JMVBmGAqocybic2c7LQCJScmgsAZ6vQqTDzcqmJh", + ETH: "7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs", + }, +}; + +export interface Item { + name: string; + address: string; + symbol: string; + decimals: number; + balance: string; + uiAmount: string; + priceUsd: string; + valueUsd: string; + valueSol?: string; +} + +interface WalletPortfolio { + totalUsd: string; + totalSol?: string; + items: Array; +} + +interface _BirdEyePriceData { + data: { + [key: string]: { + price: number; + priceChange24h: number; + }; + }; +} + +interface Prices { + solana: { usd: string }; + bitcoin: { usd: string }; + ethereum: { usd: string }; +} + +export class WalletProvider { + private cache: NodeCache; + + constructor( + private connection: Connection, + private walletPublicKey: PublicKey + ) { + this.cache = new NodeCache({ stdTTL: 300 }); // Cache TTL set to 5 minutes + } + + private async fetchWithRetry( + runtime, + url: string, + options: RequestInit = {} + ): Promise { + let lastError: Error; + + for (let i = 0; i < PROVIDER_CONFIG.MAX_RETRIES; i++) { + try { + const apiKey = runtime.getSetting("BIRDEYE_API_KEY"); + const response = await fetch(url, { + ...options, + headers: { + Accept: "application/json", + "x-chain": "solana", + "X-API-KEY": apiKey || "", + ...options.headers, + }, + }); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error( + `HTTP error! status: ${response.status}, message: ${errorText}` + ); + } + + const data = await response.json(); + return data; + } catch (error) { + console.error(`Attempt ${i + 1} failed:`, error); + lastError = error; + if (i < PROVIDER_CONFIG.MAX_RETRIES - 1) { + const delay = PROVIDER_CONFIG.RETRY_DELAY * Math.pow(2, i); + await new Promise((resolve) => setTimeout(resolve, delay)); + continue; + } + } + } + + console.error( + "All attempts failed. Throwing the last error:", + lastError + ); + throw lastError; + } + + async fetchPortfolioValue(runtime): Promise { + try { + const cacheKey = `portfolio-${this.walletPublicKey.toBase58()}`; + const cachedValue = this.cache.get(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPortfolioValue"); + return cachedValue; + } + console.log("Cache miss for fetchPortfolioValue"); + + const walletData = await this.fetchWithRetry( + runtime, + `${PROVIDER_CONFIG.BIRDEYE_API}/v1/wallet/token_list?wallet=${this.walletPublicKey.toBase58()}` + ); + + if (!walletData?.success || !walletData?.data) { + console.error("No portfolio data available", walletData); + throw new Error("No portfolio data available"); + } + + const data = walletData.data; + const totalUsd = new BigNumber(data.totalUsd.toString()); + const prices = await this.fetchPrices(runtime); + const solPriceInUSD = new BigNumber(prices.solana.usd.toString()); + + const items = data.items.map((item: any) => ({ + ...item, + valueSol: new BigNumber(item.valueUsd || 0) + .div(solPriceInUSD) + .toFixed(6), + name: item.name || "Unknown", + symbol: item.symbol || "Unknown", + priceUsd: item.priceUsd || "0", + valueUsd: item.valueUsd || "0", + })); + + const totalSol = totalUsd.div(solPriceInUSD); + const portfolio = { + totalUsd: totalUsd.toString(), + totalSol: totalSol.toFixed(6), + items: items.sort((a, b) => + new BigNumber(b.valueUsd) + .minus(new BigNumber(a.valueUsd)) + .toNumber() + ), + }; + this.cache.set(cacheKey, portfolio); + return portfolio; + } catch (error) { + console.error("Error fetching portfolio:", error); + throw error; + } + } + + async fetchPrices(runtime): Promise { + try { + const cacheKey = "prices"; + const cachedValue = this.cache.get(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPrices"); + return cachedValue; + } + console.log("Cache miss for fetchPrices"); + + const { SOL, BTC, ETH } = PROVIDER_CONFIG.TOKEN_ADDRESSES; + const tokens = [SOL, BTC, ETH]; + const prices: Prices = { + solana: { usd: "0" }, + bitcoin: { usd: "0" }, + ethereum: { usd: "0" }, + }; + + for (const token of tokens) { + const response = await this.fetchWithRetry( + runtime, + `${PROVIDER_CONFIG.BIRDEYE_API}/defi/price?address=${token}`, + { + headers: { + "x-chain": "solana", + }, + } + ); + + if (response?.data?.value) { + const price = response.data.value.toString(); + prices[ + token === SOL + ? "solana" + : token === BTC + ? "bitcoin" + : "ethereum" + ].usd = price; + } else { + console.warn(`No price data available for token: ${token}`); + } + } + + this.cache.set(cacheKey, prices); + return prices; + } catch (error) { + console.error("Error fetching prices:", error); + throw error; + } + } + + formatPortfolio( + runtime, + portfolio: WalletPortfolio, + prices: Prices + ): string { + let output = `${runtime.character.description}\n`; + output += `Wallet Address: ${this.walletPublicKey.toBase58()}\n\n`; + + const totalUsdFormatted = new BigNumber(portfolio.totalUsd).toFixed(2); + const totalSolFormatted = portfolio.totalSol; + + output += `Total Value: $${totalUsdFormatted} (${totalSolFormatted} SOL)\n\n`; + output += "Token Balances:\n"; + + const nonZeroItems = portfolio.items.filter((item) => + new BigNumber(item.uiAmount).isGreaterThan(0) + ); + + if (nonZeroItems.length === 0) { + output += "No tokens found with non-zero balance\n"; + } else { + for (const item of nonZeroItems) { + const valueUsd = new BigNumber(item.valueUsd).toFixed(2); + output += `${item.name} (${item.symbol}): ${new BigNumber( + item.uiAmount + ).toFixed(6)} ($${valueUsd} | ${item.valueSol} SOL)\n`; + } + } + + output += "\nMarket Prices:\n"; + output += `SOL: $${new BigNumber(prices.solana.usd).toFixed(2)}\n`; + output += `BTC: $${new BigNumber(prices.bitcoin.usd).toFixed(2)}\n`; + output += `ETH: $${new BigNumber(prices.ethereum.usd).toFixed(2)}\n`; + + return output; + } + + async getFormattedPortfolio(runtime): Promise { + try { + const [portfolio, prices] = await Promise.all([ + this.fetchPortfolioValue(runtime), + this.fetchPrices(runtime), + ]); + + return this.formatPortfolio(runtime, portfolio, prices); + } catch (error) { + console.error("Error generating portfolio report:", error); + return "Unable to fetch wallet information. Please try again later."; + } + } +} + +const walletProvider: Provider = { + get: async ( + runtime: IAgentRuntime, + _message: Memory, + _state?: State + ): Promise => { + const agentId = runtime.agentId; + const teeMode = runtime.getSetting("TEE_MODE"); + const deriveKeyProvider = new DeriveKeyProvider(teeMode); + try { + // Validate wallet configuration + if (!runtime.getSetting("WALLET_SECRET_SALT")) { + console.error( + "Wallet secret salt is not configured in settings" + ); + return ""; + } + + let publicKey: PublicKey; + try { + const derivedKeyPair: { + keypair: Keypair; + attestation: RemoteAttestationQuote; + } = await deriveKeyProvider.deriveEd25519Keypair( + "/", + runtime.getSetting("WALLET_SECRET_SALT"), + agentId + ); + publicKey = derivedKeyPair.keypair.publicKey; + console.log("Wallet Public Key: ", publicKey.toBase58()); + } catch (error) { + console.error("Error creating PublicKey:", error); + return ""; + } + + const connection = new Connection(PROVIDER_CONFIG.DEFAULT_RPC); + const provider = new WalletProvider(connection, publicKey); + + const porfolio = await provider.getFormattedPortfolio(runtime); + return porfolio; + } catch (error) { + console.error("Error in wallet provider:", error.message); + return `Failed to fetch wallet information: ${error instanceof Error ? error.message : "Unknown error"}`; + } + }, +}; + +// Module exports +export { walletProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/types/tee.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/types/tee.ts new file mode 100644 index 000000000..8cdcae0b9 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/src/types/tee.ts @@ -0,0 +1,11 @@ +export enum TEEMode { + OFF = "OFF", + LOCAL = "LOCAL", // For local development with simulator + DOCKER = "DOCKER", // For docker development with simulator + PRODUCTION = "PRODUCTION" // For production without simulator +} + +export interface RemoteAttestationQuote { + quote: string; + timestamp: number; +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/tsconfig.json new file mode 100644 index 000000000..73993deaa --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/tsup.config.ts new file mode 100644 index 000000000..b94c126be --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/tsup.config.ts @@ -0,0 +1,28 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + // Add other modules you want to externalize + "@phala/dstack-sdk", + "safe-buffer", + "base-x", + "bs58", + "borsh", + "@solana/buffer-layout", + "stream", + "buffer", + ], +}); From 5188fe0ffa46f9d3b62fb09975e2048f9a9ef681 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 02:08:37 -0800 Subject: [PATCH 022/312] Update lock --- pnpm-lock.yaml | 3395 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 3244 insertions(+), 151 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ebde425d3..ddc8cf049 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -85,10 +85,10 @@ importers: version: 1.5.0 '@supabase/ssr': specifier: 0.1.0 - version: 0.1.0(@supabase/supabase-js@2.39.3) + version: 0.1.0(@supabase/supabase-js@2.39.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@supabase/supabase-js': specifier: 2.39.3 - version: 2.39.3 + version: 2.39.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@tsndr/cloudflare-worker-jwt': specifier: ^2.5.3 version: 2.5.3 @@ -151,7 +151,7 @@ importers: version: 10.18.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) geist: specifier: 1.2.1 - version: 1.2.1(next@14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)) + version: 1.2.1(next@14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)) js-ago: specifier: ^2.1.1 version: 2.1.1 @@ -166,10 +166,10 @@ importers: version: 2.30.1 next: specifier: 14.2.14 - version: 14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) + version: 14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) next-auth: specifier: 5.0.0-beta.4 - version: 5.0.0-beta.4(next@14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react@18.2.0) + version: 5.0.0-beta.4(next@14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react@18.2.0) next-themes: specifier: 0.3.0 version: 0.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -323,7 +323,7 @@ importers: version: 2.1.1 discord.js: specifier: ^14.16.3 - version: 14.16.3 + version: 14.16.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) esbuild: specifier: 0.24.0 version: 0.24.0 @@ -335,25 +335,25 @@ importers: version: 11.13.5(@emotion/is-prop-valid@1.3.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) fumadocs-core: specifier: ^14.5.3 - version: 14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) fumadocs-docgen: specifier: ^1.3.2 version: 1.3.2(typescript@5.7.2) fumadocs-mdx: specifier: 11.0.0 - version: 11.0.0(acorn@8.14.0)(fumadocs-core@14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)) + version: 11.0.0(acorn@8.14.0)(fumadocs-core@14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)) fumadocs-twoslash: specifier: ^2.0.1 - version: 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(fumadocs-ui@14.0.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(shiki@1.24.2)(typescript@5.7.2) + version: 2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(fumadocs-ui@14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(shiki@1.24.2)(typescript@5.7.2) fumadocs-ui: specifier: 14.0.2 - version: 14.0.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)) + version: 14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)) gray-matter: specifier: ^4.0.3 version: 4.0.3 next: specifier: 14.2.14 - version: 14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) + version: 14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) postinstall: specifier: 0.7.5 version: 0.7.5 @@ -563,7 +563,7 @@ importers: version: 29.7.0(@types/node@22.7.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)) jest-environment-jsdom: specifier: ^29.7.0 - version: 29.7.0 + version: 29.7.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) postcss: specifier: ^8.4.31 version: 8.4.49 @@ -593,7 +593,7 @@ importers: version: 1.82.0 storybook: specifier: ^7.4.5 - version: 7.6.20 + version: 7.6.20(bufferutil@4.0.9)(utf-8-validate@5.0.10) tslib: specifier: ^2.6.2 version: 2.8.1 @@ -632,7 +632,7 @@ importers: version: 1.5.0 '@supabase/supabase-js': specifier: ^2.47.1 - version: 2.47.5 + version: 2.47.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@tsndr/cloudflare-worker-jwt': specifier: 2.5.3 version: 2.5.3 @@ -662,7 +662,7 @@ importers: version: 5.3.0 character-card-utils: specifier: file:./packages/upstreet-agent/packages/character-card-utils - version: link:packages/upstreet-agent/packages/character-card-utils + version: file:packages/usdk/packages/upstreet-agent/packages/character-card-utils cli-table3: specifier: ^0.6.4 version: 0.6.5 @@ -698,7 +698,7 @@ importers: version: 0.20.2 ethers: specifier: ^6.12.0 - version: 6.13.4 + version: 6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) eventsource: specifier: ^2.0.2 version: 2.0.2 @@ -830,7 +830,7 @@ importers: version: link:packages/update-notifier upstreet-agent: specifier: file:./packages/upstreet-agent - version: file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@types/node@18.19.68)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(esbuild@0.20.2)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)) + version: file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@google-cloud/vertexai@1.9.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(axios@1.7.9)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) vercel: specifier: ^34.2.6 version: 34.4.0(@swc/core@1.10.1(@swc/helpers@0.5.13)) @@ -848,10 +848,10 @@ importers: version: 3.17.0 wrangler: specifier: ^3.95.0 - version: 3.95.0 + version: 3.95.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) ws: specifier: ^8.17.0 - version: 8.18.0 + version: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) xdg-basedir: specifier: ^5.1.0 version: 5.1.0 @@ -941,10 +941,19 @@ importers: version: 0.2.15 '@elizaos/core': specifier: file:./packages/elizaos-core-proxy - version: link:packages/elizaos-core-proxy - '@fal-ai/client': - specifier: ^1.2.1 - version: 1.2.1 + version: file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) + '@elizaos/plugin-3d-generation': + specifier: file:./packages/react-agents/components/plugins/plugin-3d-generation + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-solana': + specifier: file:./packages/react-agents/components/plugins/plugin-solana + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-tee': + specifier: file:./packages/react-agents/components/plugins/plugin-tee + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) + '@elizaos/plugin-trustdb': + specifier: file:./packages/react-agents/components/plugins/plugin-trustdb + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@iarna/toml': specifier: ^2.2.5 version: 2.2.5 @@ -953,7 +962,7 @@ importers: version: 1.17.7 '@supabase/supabase-js': specifier: ^2.47.1 - version: 2.47.5 + version: 2.47.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@tsndr/cloudflare-worker-jwt': specifier: 2.5.3 version: 2.5.3 @@ -977,7 +986,7 @@ importers: version: 16.4.7 ethers: specifier: ^6.12.0 - version: 6.13.4 + version: 6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) format-util: specifier: ^1.0.5 version: 1.0.5 @@ -1037,7 +1046,7 @@ importers: version: 0.6.0 ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2)))(typescript@5.7.2) + version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.8.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2)))(typescript@5.7.2) twitter-api-sdk: specifier: ^1.2.1 version: 1.2.1 @@ -1093,7 +1102,86 @@ importers: packages/usdk/packages/upstreet-agent/packages/debouncer: {} - packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy: {} + packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy: + dependencies: + '@ai-sdk/anthropic': + specifier: 0.0.56 + version: 0.0.56(zod@3.23.8) + '@ai-sdk/google': + specifier: 0.0.55 + version: 0.0.55(zod@3.23.8) + '@ai-sdk/google-vertex': + specifier: 0.0.43 + version: 0.0.43(@google-cloud/vertexai@1.9.2)(zod@3.23.8) + '@ai-sdk/groq': + specifier: 0.0.3 + version: 0.0.3(zod@3.23.8) + '@ai-sdk/openai': + specifier: 1.0.5 + version: 1.0.5(zod@3.23.8) + '@anthropic-ai/sdk': + specifier: 0.30.1 + version: 0.30.1 + '@fal-ai/client': + specifier: 1.2.0 + version: 1.2.0 + '@solana/web3.js': + specifier: 1.95.8 + version: 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@types/uuid': + specifier: 10.0.0 + version: 10.0.0 + ai: + specifier: 3.4.33 + version: 3.4.33(openai@4.73.0(zod@3.23.8))(react@19.0.0-rc-df5f2736-20240712)(solid-js@1.9.3)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.13(typescript@5.7.2))(zod@3.23.8) + anthropic-vertex-ai: + specifier: 1.0.2 + version: 1.0.2(zod@3.23.8) + fastembed: + specifier: 1.14.1 + version: 1.14.1 + fastestsmallesttextencoderdecoder: + specifier: 1.0.22 + version: 1.0.22 + gaxios: + specifier: 6.7.1 + version: 6.7.1 + glob: + specifier: 11.0.0 + version: 11.0.0 + handlebars: + specifier: ^4.7.8 + version: 4.7.8 + js-sha1: + specifier: 0.7.0 + version: 0.7.0 + js-tiktoken: + specifier: 1.0.15 + version: 1.0.15 + langchain: + specifier: 0.3.6 + version: 0.3.6(@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8)))(axios@1.7.9)(handlebars@4.7.8)(openai@4.73.0(zod@3.23.8)) + ollama-ai-provider: + specifier: 0.16.1 + version: 0.16.1(zod@3.23.8) + openai: + specifier: 4.73.0 + version: 4.73.0(zod@3.23.8) + tinyld: + specifier: 1.3.4 + version: 1.3.4 + together-ai: + specifier: 0.7.0 + version: 0.7.0 + unique-names-generator: + specifier: 4.7.1 + version: 4.7.1 + uuid: + specifier: 11.0.3 + version: 11.0.3 + zod: + specifier: 3.23.8 + version: 3.23.8 packages/usdk/packages/upstreet-agent/packages/fs-proxy: {} @@ -1149,7 +1237,7 @@ importers: dependencies: wrangler: specifier: ^3.60.2 - version: 3.95.0 + version: 3.95.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) devDependencies: jest: specifier: ^29.7.0 @@ -1166,12 +1254,41 @@ importers: packages: + '@acuminous/bitsyntax@0.1.2': + resolution: {integrity: sha512-29lUK80d1muEQqiUsSo+3A0yP6CdspgC95EnKBMi22Xlwt79i/En4Vr67+cXhU+cZjbti3TgGGC5wy1stIywVQ==} + engines: {node: '>=0.8'} + '@adobe/css-tools@4.4.1': resolution: {integrity: sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==} '@adraffy/ens-normalize@1.10.1': resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} + '@ai-sdk/anthropic@0.0.56': + resolution: {integrity: sha512-FC/XbeFANFp8rHH+zEZF34cvRu9T42rQxw9QnUzJ1LXTi1cWjxYOx2Zo4vfg0iofxxqgOe4fT94IdT2ERQ89bA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + + '@ai-sdk/google-vertex@0.0.43': + resolution: {integrity: sha512-lmZukH74m6MUl4fbyfz3T4qs5ukDUJ6YB5Dedtu+aK+Mdp05k9qTHAXxWiB8i/VdZqWlS+DEo/+b7pOPX0V7wA==} + engines: {node: '>=18'} + peerDependencies: + '@google-cloud/vertexai': ^1.6.0 + zod: ^3.0.0 + + '@ai-sdk/google@0.0.55': + resolution: {integrity: sha512-dvEMS8Ex2H0OeuFBiT4Q1Kfrxi1ckjooy/PazNLjRQ3w9o9VQq4O24eMQGCuW1Z47qgMdXjhDzsH6qD0HOX6Cw==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + + '@ai-sdk/groq@0.0.3': + resolution: {integrity: sha512-Iyj2p7/M0TVhoPrQfSiwfvjTpZFfc17a6qY/2s22+VgpT0yyfai9dVyLbfUAdnNlpGGrjDpxPHqK1L03r4KlyA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + '@ai-sdk/openai@0.0.9': resolution: {integrity: sha512-SSZGtX4KFDXWYmQ9JuhVumo1XOx1JAdHybYy08iwVXuCud9xdjZjjxgZkNPytQK9gRxFsYDOw1h0V/WXO7XgfQ==} engines: {node: '>=18'} @@ -1181,6 +1298,12 @@ packages: zod: optional: true + '@ai-sdk/openai@1.0.5': + resolution: {integrity: sha512-JDCPBJQx9o3LgboBPaA55v+9EZ7Vm/ozy0+J5DIr2jJF8WETjeCnigdxixyzEy/Od4wX871jOTSuGffwNIi0kA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + '@ai-sdk/provider-utils@0.0.5': resolution: {integrity: sha512-VVy9eQS+vS2j6cqTEQ9htMHz2nW/HFAkDXLvNFPoi1pZkviknJZEzb+DZUna6Od+jBf/TVA0HZwYnyGDaeI9cQ==} engines: {node: '>=18'} @@ -1199,10 +1322,97 @@ packages: zod: optional: true + '@ai-sdk/provider-utils@1.0.20': + resolution: {integrity: sha512-ngg/RGpnA00eNOWEtXHenpX1MsM2QshQh4QJFjUfwcqHpM5kTfG7je7Rc3HcEDP+OkRVv2GF+X4fC1Vfcnl8Ow==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + peerDependenciesMeta: + zod: + optional: true + + '@ai-sdk/provider-utils@1.0.22': + resolution: {integrity: sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + peerDependenciesMeta: + zod: + optional: true + + '@ai-sdk/provider-utils@2.0.2': + resolution: {integrity: sha512-IAvhKhdlXqiSmvx/D4uNlFYCl8dWT+M9K+IuEcSgnE2Aj27GWu8sDIpAf4r4Voc+wOUkOECVKQhFo8g9pozdjA==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + peerDependenciesMeta: + zod: + optional: true + + '@ai-sdk/provider@0.0.24': + resolution: {integrity: sha512-XMsNGJdGO+L0cxhhegtqZ8+T6nn4EoShS819OvCgI2kLbYTIvk0GWFGD0AXJmxkxs3DrpsJxKAFukFR7bvTkgQ==} + engines: {node: '>=18'} + + '@ai-sdk/provider@0.0.26': + resolution: {integrity: sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==} + engines: {node: '>=18'} + '@ai-sdk/provider@0.0.3': resolution: {integrity: sha512-0B8P6VZpJ6F9yS9BpmJBYSqIaIfeRtL5tD5SP+qgR8y0pPwalIbRMUFiLz9YUT6g70MJsCLpm/2/fX3cfAYCJw==} engines: {node: '>=18'} + '@ai-sdk/provider@1.0.1': + resolution: {integrity: sha512-mV+3iNDkzUsZ0pR2jG0sVzU6xtQY5DtSCBy3JFycLp6PwjyLw/iodfL3MwdmMCRJWgs3dadcHejRnMvF9nGTBg==} + engines: {node: '>=18'} + + '@ai-sdk/react@0.0.70': + resolution: {integrity: sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ==} + engines: {node: '>=18'} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + zod: ^3.0.0 + peerDependenciesMeta: + react: + optional: true + zod: + optional: true + + '@ai-sdk/solid@0.0.54': + resolution: {integrity: sha512-96KWTVK+opdFeRubqrgaJXoNiDP89gNxFRWUp0PJOotZW816AbhUf4EnDjBjXTLjXL1n0h8tGSE9sZsRkj9wQQ==} + engines: {node: '>=18'} + peerDependencies: + solid-js: ^1.7.7 + peerDependenciesMeta: + solid-js: + optional: true + + '@ai-sdk/svelte@0.0.57': + resolution: {integrity: sha512-SyF9ItIR9ALP9yDNAD+2/5Vl1IT6kchgyDH8xkmhysfJI6WrvJbtO1wdQ0nylvPLcsPoYu+cAlz1krU4lFHcYw==} + engines: {node: '>=18'} + peerDependencies: + svelte: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true + + '@ai-sdk/ui-utils@0.0.50': + resolution: {integrity: sha512-Z5QYJVW+5XpSaJ4jYCCAVG7zIAuKOOdikhgpksneNmKvx61ACFaf98pmOd+xnjahl0pIlc/QIe6O4yVaJ1sEaw==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + peerDependenciesMeta: + zod: + optional: true + + '@ai-sdk/vue@0.0.59': + resolution: {integrity: sha512-+ofYlnqdc8c4F6tM0IKF0+7NagZRAiqBJpGDJ+6EYhDW8FHLUP/JFBgu32SjxSxC6IKFZxEnl68ZoP/Z38EMlw==} + engines: {node: '>=18'} + peerDependencies: + vue: ^3.3.4 + peerDependenciesMeta: + vue: + optional: true + '@algolia/cache-browser-local-storage@4.24.0': resolution: {integrity: sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==} @@ -1256,6 +1466,30 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@anthropic-ai/sdk@0.30.1': + resolution: {integrity: sha512-nuKvp7wOIz6BFei8WrTdhmSsx5mwnArYyJgh4+vYu3V4J0Ltb8Xm3odPm51n1aSI0XxNCrDl7O88cxCtUdAkaw==} + + '@anush008/tokenizers-darwin-universal@0.0.0': + resolution: {integrity: sha512-SACpWEooTjFX89dFKRVUhivMxxcZRtA3nJGVepdLyrwTkQ1TZQ8581B5JoXp0TcTMHfgnDaagifvVoBiFEdNCQ==} + engines: {node: '>= 10'} + os: [darwin] + + '@anush008/tokenizers-linux-x64-gnu@0.0.0': + resolution: {integrity: sha512-TLjByOPWUEq51L3EJkS+slyH57HKJ7lAz/aBtEt7TIPq4QsE2owOPGovByOLIq1x5Wgh9b+a4q2JasrEFSDDhg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@anush008/tokenizers-win32-x64-msvc@0.0.0': + resolution: {integrity: sha512-/5kP0G96+Cr6947F0ZetXnmL31YCaN15dbNbh2NHg7TXXRwfqk95+JtPP5Q7v4jbR2xxAmuseBqB4H/V7zKWuw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@anush008/tokenizers@0.0.0': + resolution: {integrity: sha512-IQD9wkVReKAhsEAbDjh/0KrBGTEXelqZLpOBRDaIRvlzZ9sjmUP+gKbpvzyJnei2JHQiE8JAgj7YcNloINbGBw==} + engines: {node: '>= 10'} + '@auth/core@0.18.4': resolution: {integrity: sha512-GsNhsP1xE/3FoNS3dVkPjqRljLNJ4iyL2OLv3klQGNvw3bMpROFcK4lqhx7+pPHiamnVaYt2vg1xbB+lsNaevg==} peerDependencies: @@ -1930,6 +2164,9 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@cfworker/json-schema@4.0.3': + resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} + '@cloudflare/kv-asset-handler@0.3.4': resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==} engines: {node: '>=16.13'} @@ -1976,6 +2213,30 @@ packages: resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} engines: {node: '>=0.1.90'} + '@coral-xyz/anchor-errors@0.30.1': + resolution: {integrity: sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ==} + engines: {node: '>=10'} + + '@coral-xyz/anchor@0.29.0': + resolution: {integrity: sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA==} + engines: {node: '>=11'} + + '@coral-xyz/anchor@0.30.1': + resolution: {integrity: sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ==} + engines: {node: '>=11'} + + '@coral-xyz/borsh@0.29.0': + resolution: {integrity: sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + + '@coral-xyz/borsh@0.30.1': + resolution: {integrity: sha512-aaxswpPrCFKl8vZTbxLssA2RvwX2zmKLlRCIktJOwW+VpVwYtXRtlWiIP+c2pPRKneiTiWCN2GEMSH9j1zTlWQ==} + engines: {node: '>=10'} + peerDependencies: + '@solana/web3.js': ^1.68.0 + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -2052,6 +2313,27 @@ packages: '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy, type: directory} + '@elizaos/plugin-3d-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + + '@elizaos/plugin-solana@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana, type: directory} + peerDependencies: + form-data: 4.0.1 + whatwg-url: 7.1.0 + + '@elizaos/plugin-tee@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + + '@elizaos/plugin-trustdb@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -2838,8 +3120,8 @@ packages: resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@fal-ai/client@1.2.1': - resolution: {integrity: sha512-Z/bztRqOeduuUYl74VPQRDS12vjXGGebROJM7NcJXCmkV4GSZllA68ES1GwY3Q+31puukBoOppC0iBmY6us5MQ==} + '@fal-ai/client@1.2.0': + resolution: {integrity: sha512-MNCnE5icY+OM5ahgYJItmydZ7AxhtzhgA5tQI13jVntzhLT0z+tetHIlAL1VA0XFZgldDzqxeTf9Pr5TW3VErg==} engines: {node: '>=18.0.0'} '@fal-works/esbuild-plugin-global-externals@2.1.2': @@ -2867,6 +3149,10 @@ packages: '@formatjs/intl-localematcher@0.5.9': resolution: {integrity: sha512-8zkGu/sv5euxbjfZ/xmklqLyDGQSxsLqg8XOq88JW3cmJtzhCP8EtSJXlaKZnVO4beEaoiT9wj4eIoCQ9smwxA==} + '@google-cloud/vertexai@1.9.2': + resolution: {integrity: sha512-pJSUG3r5QIvCFNfkz7/y7kEqvEJaVAk0jZbZoKbcPCRUnXaUeAq7p8I0oklqetGyxbUcZ2FOGpt+Y+4uIltVPg==} + engines: {node: '>=18.0.0'} + '@hono/node-server@1.13.7': resolution: {integrity: sha512-kTfUMsoloVKtRA2fLiGSd9qBddmru9KadNyhJCwgKBxTiNkaAJEwkVN9KV/rS4HtmmNRtUh6P+YpmjRMl0d9vQ==} engines: {node: '>=18.14.1'} @@ -3402,6 +3688,22 @@ packages: '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + '@langchain/core@0.3.26': + resolution: {integrity: sha512-6RUQHEp8wv+JwtYIIEBYBzbLlcAQZFc7EDOgAM0ukExjh9HiXoJzoWpgMRRCrr/koIbtwXPJUqBprZK1I1CXHQ==} + engines: {node: '>=18'} + + '@langchain/openai@0.3.16': + resolution: {integrity: sha512-Om9HRlTeI0Ou6D4pfxbWHop4WGfkCdV/7v1W/+Jr7NSf0BNoA9jk5GqGms8ZtOYSGgPvizDu3i0TrM3B4cN4NA==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.26 <0.4.0' + + '@langchain/textsplitters@0.1.0': + resolution: {integrity: sha512-djI4uw9rlkAb5iMhtLED+xJebDdAG935AdP4eRTB02R7OB/act55Bj9wsskhZsvuyQRpO4O1wQOp85s6T6GWmw==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + '@mapbox/node-pre-gyp@1.0.11': resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true @@ -3759,10 +4061,26 @@ packages: '@noble/curves@1.2.0': resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + '@noble/curves@1.6.0': + resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} + engines: {node: ^14.21.3 || >=16} + + '@noble/curves@1.7.0': + resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} + engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.3.2': resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + + '@noble/hashes@1.6.0': + resolution: {integrity: sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==} + engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.6.1': resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} engines: {node: ^14.21.3 || >=16} @@ -3820,6 +4138,10 @@ packages: '@nut-tree-fork/shared@4.2.2': resolution: {integrity: sha512-SOIDs4H+rIh+IdXzS1KocMzjsMNqihMVB3mOaEo0lAycempKh/44XXktXUkjeJOwlYyL4Ugxed+SOrob5tTM5g==} + '@opentelemetry/api@1.9.0': + resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} + engines: {node: '>=8.0.0'} + '@orama/orama@2.1.1': resolution: {integrity: sha512-euTV/2kya290SNkl5m8e/H1na8iDygk74nNtl4E0YZNyYIrEMwE1JwamoroMKGZw2Uz+in/8gH3m1+2YfP0j1w==} engines: {node: '>= 16.0.0'} @@ -3913,6 +4235,10 @@ packages: resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==} engines: {node: '>= 10.0.0'} + '@phala/dstack-sdk@0.1.6': + resolution: {integrity: sha512-/JNlCDvgQmqAs+3N9qbRjqQdm4UCd1iYmkjH7cE7ejwWcoF4b4bSikiQdMK+fQ3be8T7FJupjWw52ysHWsnwmQ==} + engines: {node: '>=18.0.0'} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -4826,6 +5152,9 @@ packages: '@radix-ui/rect@1.1.0': resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + '@raydium-io/raydium-sdk-v2@0.1.82-alpha': + resolution: {integrity: sha512-PScLnWZV5Y/igcvP4hbD/1ztzW2w5a2YStolu9A5VT6uB2q+izeo+SE7IqzZggyaReXyisjdkNGpB/kMdkdJGQ==} + '@react-spring/animated@9.7.5': resolution: {integrity: sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==} peerDependencies: @@ -5073,9 +5402,18 @@ packages: resolution: {integrity: sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} + '@scure/base@1.1.9': + resolution: {integrity: sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==} + '@scure/base@1.2.1': resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} + '@scure/bip32@1.5.0': + resolution: {integrity: sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw==} + + '@scure/bip39@1.4.0': + resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} + '@scure/bip39@1.5.0': resolution: {integrity: sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==} @@ -5147,6 +5485,112 @@ packages: resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} engines: {node: '>=16.0.0'} + '@solana/buffer-layout-utils@0.2.0': + resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} + engines: {node: '>= 10'} + + '@solana/buffer-layout@4.0.1': + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + + '@solana/codecs-core@2.0.0-preview.2': + resolution: {integrity: sha512-gLhCJXieSCrAU7acUJjbXl+IbGnqovvxQLlimztPoGgfLQ1wFYu+XJswrEVQqknZYK1pgxpxH3rZ+OKFs0ndQg==} + + '@solana/codecs-core@2.0.0-rc.1': + resolution: {integrity: sha512-bauxqMfSs8EHD0JKESaNmNuNvkvHSuN3bbWAF5RjOfDu2PugxHrvRebmYauvSumZ3cTfQ4HJJX6PG5rN852qyQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-data-structures@2.0.0-preview.2': + resolution: {integrity: sha512-Xf5vIfromOZo94Q8HbR04TbgTwzigqrKII0GjYr21K7rb3nba4hUW2ir8kguY7HWFBcjHGlU5x3MevKBOLp3Zg==} + + '@solana/codecs-data-structures@2.0.0-rc.1': + resolution: {integrity: sha512-rinCv0RrAVJ9rE/rmaibWJQxMwC5lSaORSZuwjopSUE6T0nb/MVg6Z1siNCXhh/HFTOg0l8bNvZHgBcN/yvXog==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-numbers@2.0.0-preview.2': + resolution: {integrity: sha512-aLZnDTf43z4qOnpTcDsUVy1Ci9im1Md8thWipSWbE+WM9ojZAx528oAql+Cv8M8N+6ALKwgVRhPZkto6E59ARw==} + + '@solana/codecs-numbers@2.0.0-rc.1': + resolution: {integrity: sha512-J5i5mOkvukXn8E3Z7sGIPxsThRCgSdgTWJDQeZvucQ9PT6Y3HiVXJ0pcWiOWAoQ3RX8e/f4I3IC+wE6pZiJzDQ==} + peerDependencies: + typescript: '>=5' + + '@solana/codecs-strings@2.0.0-preview.2': + resolution: {integrity: sha512-EgBwY+lIaHHgMJIqVOGHfIfpdmmUDNoNO/GAUGeFPf+q0dF+DtwhJPEMShhzh64X2MeCZcmSO6Kinx0Bvmmz2g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + + '@solana/codecs-strings@2.0.0-rc.1': + resolution: {integrity: sha512-9/wPhw8TbGRTt6mHC4Zz1RqOnuPTqq1Nb4EyuvpZ39GW6O2t2Q7Q0XxiB3+BdoEjwA2XgPw6e2iRfvYgqty44g==} + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: '>=5' + + '@solana/codecs@2.0.0-preview.2': + resolution: {integrity: sha512-4HHzCD5+pOSmSB71X6w9ptweV48Zj1Vqhe732+pcAQ2cMNnN0gMPMdDq7j3YwaZDZ7yrILVV/3+HTnfT77t2yA==} + + '@solana/codecs@2.0.0-rc.1': + resolution: {integrity: sha512-qxoR7VybNJixV51L0G1RD2boZTcxmwUWnKCaJJExQ5qNKwbpSyDdWfFJfM5JhGyKe9DnPVOZB+JHWXnpbZBqrQ==} + peerDependencies: + typescript: '>=5' + + '@solana/errors@2.0.0-preview.2': + resolution: {integrity: sha512-H2DZ1l3iYF5Rp5pPbJpmmtCauWeQXRJapkDg8epQ8BJ7cA2Ut/QEtC3CMmw/iMTcuS6uemFNLcWvlOfoQhvQuA==} + hasBin: true + + '@solana/errors@2.0.0-rc.1': + resolution: {integrity: sha512-ejNvQ2oJ7+bcFAYWj225lyRkHnixuAeb7RQCixm+5mH4n1IA4Qya/9Bmfy5RAAHQzxK43clu3kZmL5eF9VGtYQ==} + hasBin: true + peerDependencies: + typescript: '>=5' + + '@solana/options@2.0.0-preview.2': + resolution: {integrity: sha512-FAHqEeH0cVsUOTzjl5OfUBw2cyT8d5Oekx4xcn5hn+NyPAfQJgM3CEThzgRD6Q/4mM5pVUnND3oK/Mt1RzSE/w==} + + '@solana/options@2.0.0-rc.1': + resolution: {integrity: sha512-mLUcR9mZ3qfHlmMnREdIFPf9dpMc/Bl66tLSOOWxw4ml5xMT2ohFn7WGqoKcu/UHkT9CrC6+amEdqCNvUqI7AA==} + peerDependencies: + typescript: '>=5' + + '@solana/spl-token-group@0.0.4': + resolution: {integrity: sha512-7+80nrEMdUKlK37V6kOe024+T7J4nNss0F8LQ9OOPYdWCCfJmsGUzVx2W3oeizZR4IHM6N4yC9v1Xqwc3BTPWw==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token-group@0.0.7': + resolution: {integrity: sha512-V1N/iX7Cr7H0uazWUT2uk27TMqlqedpXHRqqAbVO2gvmJyT0E0ummMEAVQeXZ05ZhQ/xF39DLSdBp90XebWEug==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token-metadata@0.1.6': + resolution: {integrity: sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-token@0.4.6': + resolution: {integrity: sha512-1nCnUqfHVtdguFciVWaY/RKcQz1IF4b31jnKgAmjU9QVN1q7dRUkTEWJZgTYIEtsULjVnC9jRqlhgGN39WbKKA==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.91.6 + + '@solana/spl-token@0.4.9': + resolution: {integrity: sha512-g3wbj4F4gq82YQlwqhPB0gHFXfgsC6UmyGMxtSLf/BozT/oKd59465DbnlUK8L8EcimKMavxsVAMoLcEdeCicg==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.95.3 + + '@solana/spl-type-length-value@0.1.0': + resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==} + engines: {node: '>=16'} + + '@solana/web3.js@1.95.8': + resolution: {integrity: sha512-sBHzNh7dHMrmNS5xPD1d0Xa2QffW/RXaxu/OysRXBfwTp+LYqGGmMtCYYwrHPrN5rjAmJCsQRNAwv4FM0t3B6g==} + '@stitches/react@1.2.8': resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==} peerDependencies: @@ -5826,6 +6270,9 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + '@types/node@16.18.11': resolution: {integrity: sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==} @@ -5911,6 +6358,9 @@ packages: '@types/responselike@1.0.3': resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + '@types/scheduler@0.23.0': resolution: {integrity: sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==} @@ -5938,18 +6388,30 @@ packages: '@types/triple-beam@1.3.5': resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==} + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + '@types/uuid@10.0.0': + resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} + + '@types/uuid@8.3.4': + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + '@types/uuid@9.0.8': resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} '@types/webxr@0.5.20': resolution: {integrity: sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==} + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + '@types/ws@8.5.13': resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} @@ -6185,6 +6647,67 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 || ^6.0.0 + '@vitest/expect@2.1.4': + resolution: {integrity: sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==} + + '@vitest/expect@2.1.5': + resolution: {integrity: sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q==} + + '@vitest/mocker@2.1.4': + resolution: {integrity: sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/mocker@2.1.5': + resolution: {integrity: sha512-XYW6l3UuBmitWqSUXTNXcVBUCRytDogBsWuNXQijc00dtnU/9OqpXWp4OJroVrad/gLIomAq9aW8yWDBtMthhQ==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@2.1.4': + resolution: {integrity: sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==} + + '@vitest/pretty-format@2.1.5': + resolution: {integrity: sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==} + + '@vitest/pretty-format@2.1.8': + resolution: {integrity: sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==} + + '@vitest/runner@2.1.4': + resolution: {integrity: sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==} + + '@vitest/runner@2.1.5': + resolution: {integrity: sha512-pKHKy3uaUdh7X6p1pxOkgkVAFW7r2I818vHDthYLvUyjRfkKOU6P45PztOch4DZarWQne+VOaIMwA/erSSpB9g==} + + '@vitest/snapshot@2.1.4': + resolution: {integrity: sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==} + + '@vitest/snapshot@2.1.5': + resolution: {integrity: sha512-zmYw47mhfdfnYbuhkQvkkzYroXUumrwWDGlMjpdUr4jBd3HZiV2w7CQHj+z7AAS4VOtWxI4Zt4bWt4/sKcoIjg==} + + '@vitest/spy@2.1.4': + resolution: {integrity: sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==} + + '@vitest/spy@2.1.5': + resolution: {integrity: sha512-aWZF3P0r3w6DiYTVskOYuhBc7EMc3jvn1TkBg8ttylFFRqNN2XGD7V5a4aQdk6QiUzZQ4klNBSpCLJgWNdIiNw==} + + '@vitest/utils@2.1.4': + resolution: {integrity: sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==} + + '@vitest/utils@2.1.5': + resolution: {integrity: sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==} + '@vladfrangu/async_event_emitter@2.4.6': resolution: {integrity: sha512-RaI5qZo6D2CVS6sTHFKg1v5Ohq/+Bo2LZ5gzUEwZ/WkHhwtGTCB/sVLw8ijOkAUxasZ+WshN/Rzj4ywsABJ5ZA==} engines: {node: '>=v14.0.0', npm: '>=7.0.0'} @@ -6290,6 +6813,10 @@ packages: resolution: {integrity: sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==} engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'} + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead @@ -6301,6 +6828,17 @@ packages: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + abitype@1.0.6: + resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -6391,8 +6929,29 @@ packages: zod: optional: true - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + ai@3.4.33: + resolution: {integrity: sha512-plBlrVZKwPoRTmM8+D1sJac9Bq8eaa2jiZlHLZIWekKWI1yMWYZvCCEezY9ASPwRhULYDJB2VhKOBUUeg3S5JQ==} + engines: {node: '>=18'} + peerDependencies: + openai: ^4.42.0 + react: ^18 || ^19 || ^19.0.0-rc + sswr: ^2.1.0 + svelte: ^3.0.0 || ^4.0.0 || ^5.0.0 + zod: ^3.0.0 + peerDependenciesMeta: + openai: + optional: true + react: + optional: true + sswr: + optional: true + svelte: + optional: true + zod: + optional: true + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -6424,6 +6983,10 @@ packages: algoliasearch@4.24.0: resolution: {integrity: sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==} + amqplib@0.10.5: + resolution: {integrity: sha512-Dx5zmy0Ur+Q7LPPdhz+jx5IzmJBoHd15tOeAfQ8SuvEtyPJ20hBemhOBA4b1WeORCRa0ENM/kHCzmem1w/zHvQ==} + engines: {node: '>=10'} + ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -6478,6 +7041,12 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + anthropic-vertex-ai@1.0.2: + resolution: {integrity: sha512-4YuK04KMmBGkx6fi2UjnHkE4mhaIov7tnT5La9+DMn/gw/NSOLZoWNUx+13VY3mkcaseKBMEn1DBzdXXJFIP7A==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + any-base@1.1.0: resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==} @@ -6619,6 +7188,10 @@ packages: assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + assign-symbols@1.0.0: resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} engines: {node: '>=0.10.0'} @@ -6700,6 +7273,9 @@ packages: resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==} engines: {node: '>=4'} + axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} @@ -6775,6 +7351,12 @@ packages: bare-events@2.5.0: resolution: {integrity: sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==} + base-x@3.0.10: + resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} + + base-x@5.0.0: + resolution: {integrity: sha512-sMW3VGSX1QWVFA6l8U62MLKz29rRfpTlYdCqLdpLo1/Yd4zZwSbnUaDfciIAowAqvq7YFnWq9hrhdg1KYgc1lQ==} + base64-js@0.0.8: resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==} engines: {node: '>= 0.4'} @@ -6796,6 +7378,20 @@ packages: big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + big.js@6.2.2: + resolution: {integrity: sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ==} + + bigint-buffer@1.1.5: + resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} + engines: {node: '>= 10.0.0'} + + bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + + bignumber@1.1.0: + resolution: {integrity: sha512-EGqHCKkEAwVwufcEOCYhZQqdVH+7cNCyPZ9yxisYvSjHFB+d9YcGMvorsFpeN5IJpC+lC6K+FHhu8+S4MgJazw==} + engines: {node: '>=0.4.0'} + bin-links@5.0.0: resolution: {integrity: sha512-sdleLVfCjBtgO5cNjA2HVRvWBJAHs4zwenaCPMNJAJU0yNxpzj80IpjOIimkpkr+mhlA+how5poQtt53PygbHA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -6822,6 +7418,9 @@ packages: bmp-ts@1.0.9: resolution: {integrity: sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw==} + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + body-parser@1.20.3: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -6833,6 +7432,9 @@ packages: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + boxen@8.0.1: resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} engines: {node: '>=18'} @@ -6869,6 +7471,12 @@ packages: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58@6.0.0: + resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -6885,6 +7493,9 @@ packages: resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} engines: {node: '>=8.0.0'} + buffer-equal-constant-time@1.0.1: + resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + buffer-equal@0.0.1: resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==} engines: {node: '>=0.4.0'} @@ -6895,12 +7506,23 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + buffer-layout@1.2.2: + resolution: {integrity: sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA==} + engines: {node: '>=4.5'} + + buffer-more-ints@1.0.0: + resolution: {integrity: sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg==} + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + engines: {node: '>=6.14.2'} + builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -6909,6 +7531,12 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -6921,6 +7549,10 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} @@ -6999,6 +7631,10 @@ packages: centra@2.7.0: resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==} + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} + engines: {node: '>=12'} + chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} engines: {node: '>=8'} @@ -7015,6 +7651,9 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} + character-card-utils@file:packages/usdk/packages/upstreet-agent/packages/character-card-utils: + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/character-card-utils, type: directory} + character-entities-html4@2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} @@ -7036,6 +7675,10 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + chokidar@3.3.1: resolution: {integrity: sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==} engines: {node: '>= 8.10.0'} @@ -7154,6 +7797,10 @@ packages: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + clsx@2.0.0: resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} engines: {node: '>=6'} @@ -7248,6 +7895,10 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -7435,6 +8086,9 @@ packages: engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + cross-spawn@6.0.6: resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} engines: {node: '>=4.8'} @@ -7443,6 +8097,10 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crypto-hash@1.3.0: + resolution: {integrity: sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==} + engines: {node: '>=8'} + crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} @@ -7637,6 +8295,9 @@ packages: resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} engines: {node: '>=6'} + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -7677,6 +8338,13 @@ packages: supports-color: optional: true + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decimal.js-light@2.5.1: + resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -7698,6 +8366,10 @@ packages: babel-plugin-macros: optional: true + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} @@ -7758,6 +8430,10 @@ packages: delaunator@5.0.1: resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + delay@5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -7902,6 +8578,9 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} + dompurify@3.2.2: + resolution: {integrity: sha512-YMM+erhdZ2nkZ4fTNRTSI94mb7VG7uVF5vj5Zde7tImgnhZE3R6YW/IACGIHb2ux+QkEXMhe591N+5jWOmL4Zw==} + domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} @@ -7946,6 +8625,9 @@ packages: react-dom: '>=18.0' three: '>=0.153' + ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + edge-runtime@2.5.9: resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} engines: {node: '>=16'} @@ -8100,6 +8782,12 @@ packages: es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -8596,6 +9284,9 @@ packages: eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + events-intercept@2.0.0: resolution: {integrity: sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==} @@ -8649,6 +9340,10 @@ packages: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} + expect-type@1.1.0: + resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + engines: {node: '>=12.0.0'} + expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8677,6 +9372,10 @@ packages: engines: {node: '>= 10.17.0'} hasBin: true + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -8699,9 +9398,18 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + fast-uri@3.0.3: resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==} + fastembed@1.14.1: + resolution: {integrity: sha512-Y14v+FWZwjNUpQ7mRGYu4N5yF+hZkF7zqzPWzzLbwdIEtYsHy0DSpiVJ+Fg6Oi1fQjrBKASQt0hdSMSjw1/Wtw==} + + fastestsmallesttextencoderdecoder@1.0.22: + resolution: {integrity: sha512-Pb8d48e+oIuY4MaM64Cd7OW1gt4nxCHs7/ddPPZ/Ic3sg8yVGM7O9wDvZ7us6ScaUupzM+pfBolwtYhN1IxBIw==} + fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} @@ -8849,6 +9557,9 @@ packages: debug: optional: true + fomo-sdk-solana@1.3.2: + resolution: {integrity: sha512-O5/NhB8Smb41ub6LST1ewLTvjlAz9DIPdgsjAwfjqUlzg+v/kK3AVsMOi7JI7iuJ4B5y44h2ylhPWFnP9FZR/g==} + for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -9041,6 +9752,14 @@ packages: engines: {node: '>=10'} deprecated: This package is no longer supported. + gaxios@6.7.1: + resolution: {integrity: sha512-LDODD4TMYx7XXdpwxAVRAIAuB0bzv0s+ywFonY46k126qzQHT9ygyoa9tncmOiQmmDrik65UYsEkv3lbfqQ3yQ==} + engines: {node: '>=14'} + + gcp-metadata@6.1.0: + resolution: {integrity: sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg==} + engines: {node: '>=14'} + geist@1.2.1: resolution: {integrity: sha512-xCl7zWfnWqc+TbCG5qqyeT5tnVlOO4pSJsT3Ei59DN1SR4N2VlauF8Fv0D1pPFXGUJgu6RMoeZX+wsR4T9bMhg==} peerDependencies: @@ -9164,6 +9883,11 @@ packages: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true + glob@11.0.0: + resolution: {integrity: sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==} + engines: {node: 20 || >=22} + hasBin: true + glob@7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} deprecated: Glob versions prior to v9 are no longer supported @@ -9219,6 +9943,10 @@ packages: glsl-noise@0.0.0: resolution: {integrity: sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==} + google-auth-library@9.15.0: + resolution: {integrity: sha512-7ccSEJFDFO7exFbO6NRyC+xH8/mZ1GZGG2xxx9iHxZWcjUjJpjWxIMw3cofAKcueZ6DATiukmmprD7yavQHOyQ==} + engines: {node: '>=14'} + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -9240,6 +9968,10 @@ packages: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} + gtoken@7.1.0: + resolution: {integrity: sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==} + engines: {node: '>=14.0.0'} + gunzip-maybe@1.4.2: resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} hasBin: true @@ -9902,9 +10634,19 @@ packages: isomorphic-fetch@3.0.0: resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + isomorphic.js@0.2.5: resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} + isows@1.0.6: + resolution: {integrity: sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw==} + peerDependencies: + ws: '*' + istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -9948,6 +10690,10 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + jackspeak@4.0.2: + resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} + engines: {node: 20 || >=22} + jake@10.9.2: resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} engines: {node: '>=10'} @@ -9956,6 +10702,11 @@ packages: javascript-time-ago@2.5.11: resolution: {integrity: sha512-Zeyf5R7oM1fSMW9zsU3YgAYwE0bimEeF54Udn2ixGd8PUwu+z1Yc5t4Y8YScJDMHD6uCx6giLt3VJR5K4CMwbg==} + jayson@4.1.3: + resolution: {integrity: sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ==} + engines: {node: '>=8'} + hasBin: true + jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -10116,6 +10867,10 @@ packages: jose@5.9.6: resolution: {integrity: sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ==} + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + jpeg-js@0.4.4: resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} @@ -10128,10 +10883,16 @@ packages: js-sha1@0.6.0: resolution: {integrity: sha512-01gwBFreYydzmU9BmZxpVk6svJJHrVxEN3IOiGl6VO93bVKYETJ0sIth6DASI6mIFdt7NmfX9UiByRzsYHGU9w==} + js-sha1@0.7.0: + resolution: {integrity: sha512-oQZ1Mo7440BfLSv9TX87VNEyU52pXPVG19F9PL3gTgNt0tVxlZ8F4O6yze3CLuLx28TxotxvlyepCNaaV0ZjMw==} + js-string-escape@1.0.1: resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} engines: {node: '>= 0.8'} + js-tiktoken@1.0.15: + resolution: {integrity: sha512-65ruOWWXDEZHHbAo7EjOcNxOGasQKbL4Fq3jEr2xsCqSsoOo6VVSqzWQb6PRIqypFSDcma4jO90YP0w5X8qVXQ==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -10179,6 +10940,9 @@ packages: engines: {node: '>=6'} hasBin: true + json-bigint@1.0.0: + resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -10223,6 +10987,14 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -10240,6 +11012,12 @@ packages: just-zip-it@2.3.1: resolution: {integrity: sha512-h8Y3DAVTZRP3Weq7btWYfkYHQGhxiuKzfOO7Ec+x8XaDcBvbOsC2jIdezC6tEzbt+A4fTJTREnj3gF5DyMkFfw==} + jwa@2.0.0: + resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} + + jws@4.0.0: + resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} + katex@0.16.15: resolution: {integrity: sha512-yE9YJIEAk2aZ+FL/G8r+UGw0CTUzEA8ZFy6E+8tc3spHUKq3qBnzCkI1CQwGoI9atJhVyFPEypQsTY7mJ1Pi9w==} hasBin: true @@ -10269,6 +11047,60 @@ packages: lamejs@file:packages/usdk/packages/upstreet-agent/packages/codecs/packages/lamejs: resolution: {directory: packages/usdk/packages/upstreet-agent/packages/codecs/packages/lamejs, type: directory} + langchain@0.3.6: + resolution: {integrity: sha512-erZOIKXzwCOrQHqY9AyjkQmaX62zUap1Sigw1KrwMUOnVoLKkVNRmAyxFlNZDZ9jLs/58MaQcaT9ReJtbj3x6w==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/anthropic': '*' + '@langchain/aws': '*' + '@langchain/cohere': '*' + '@langchain/core': '>=0.2.21 <0.4.0' + '@langchain/google-genai': '*' + '@langchain/google-vertexai': '*' + '@langchain/groq': '*' + '@langchain/mistralai': '*' + '@langchain/ollama': '*' + axios: '*' + cheerio: '*' + handlebars: ^4.7.8 + peggy: ^3.0.2 + typeorm: '*' + peerDependenciesMeta: + '@langchain/anthropic': + optional: true + '@langchain/aws': + optional: true + '@langchain/cohere': + optional: true + '@langchain/google-genai': + optional: true + '@langchain/google-vertexai': + optional: true + '@langchain/groq': + optional: true + '@langchain/mistralai': + optional: true + '@langchain/ollama': + optional: true + axios: + optional: true + cheerio: + optional: true + handlebars: + optional: true + peggy: + optional: true + typeorm: + optional: true + + langsmith@0.2.14: + resolution: {integrity: sha512-ClAuAgSf3m9miMYotLEaZKQyKdaWlfjhebCuYco8bc6g72dU2VwTg31Bv4YINBq7EH2i1cMwbOiJxbOXPqjGig==} + peerDependencies: + openai: '*' + peerDependenciesMeta: + openai: + optional: true + language-subtag-registry@0.3.23: resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} @@ -10341,6 +11173,10 @@ packages: resolution: {integrity: sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -10399,6 +11235,9 @@ packages: lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} @@ -10424,6 +11263,9 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} + lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -10441,6 +11283,10 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@11.0.2: + resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -10954,6 +11800,10 @@ packages: engines: {node: '>=16.13'} hasBin: true + minimatch@10.0.1: + resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + engines: {node: 20 || >=22} + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -11161,6 +12011,10 @@ packages: node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-cache@5.1.2: + resolution: {integrity: sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==} + engines: {node: '>= 8.0.0'} + node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} engines: {node: '>= 0.10.5'} @@ -11338,6 +12192,15 @@ packages: ohash@1.1.4: resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} + ollama-ai-provider@0.16.1: + resolution: {integrity: sha512-0vSQVz5Y/LguyzfO4bi1JrrVGF/k2JvO8/uFR0wYmqDFp8KPp4+AhdENSynGBr1oRhMWOM4F1l6cv7UNDgRMjw==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + peerDependenciesMeta: + zod: + optional: true + omggif@1.0.10: resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} @@ -11373,6 +12236,13 @@ packages: oniguruma-to-es@0.7.0: resolution: {integrity: sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==} + onnxruntime-common@1.15.1: + resolution: {integrity: sha512-Y89eJ8QmaRsPZPWLaX7mfqhj63ny47rSkQe80hIo+lvBQdrdXYR9VO362xvZulk9DFkCnXmGidprvgJ07bKsIQ==} + + onnxruntime-node@1.15.1: + resolution: {integrity: sha512-wzhVELulmrvNoMZw0/HfV+9iwgHX+kPS82nxodZ37WCXmbeo1jp3thamTsNg8MGhxvv4GmEzRum5mo40oqIsqw==} + os: [win32, darwin, linux] + open-editor@5.0.0: resolution: {integrity: sha512-fRHi4my03WQSbWfqChs9AdFfSp6SLalB3zadfwfYIojoKanLDBfv2uAdiZCfzdvom7TBdlXu2UeiiydBc56/EQ==} engines: {node: '>=18'} @@ -11385,6 +12255,15 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} + openai@4.73.0: + resolution: {integrity: sha512-NZstV77w3CEol9KQTRBRQ15+Sw6nxVTicAULSjYO4wn9E5gw72Mtp3fAVaBFXyyVPws4241YmFG6ya4L8v03tA==} + hasBin: true + peerDependencies: + zod: ^3.23.8 + peerDependenciesMeta: + zod: + optional: true + openai@4.76.1: resolution: {integrity: sha512-ci63/WFEMd6QjjEVeH0pV7hnFS6CCqhgJydSti4Aak/8uo2SpgzKjteUDaY+OkwziVj11mi6j+0mRUIiGKUzWw==} hasBin: true @@ -11394,6 +12273,18 @@ packages: zod: optional: true + openai@4.77.0: + resolution: {integrity: sha512-WWacavtns/7pCUkOWvQIjyOfcdr9X+9n9Vvb0zFeKVDAqwCMDHB+iSr24SVaBAhplvSG6JrRXFpcNM9gWhOGIw==} + hasBin: true + peerDependencies: + zod: ^3.23.8 + peerDependenciesMeta: + zod: + optional: true + + openapi-types@12.1.3: + resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} + optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -11410,6 +12301,14 @@ packages: resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} engines: {node: '>= 6.0'} + ox@0.1.2: + resolution: {integrity: sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww==} + peerDependencies: + typescript: '>=5.4.0' + peerDependenciesMeta: + typescript: + optional: true + p-cancelable@2.1.1: resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} engines: {node: '>=8'} @@ -11462,6 +12361,10 @@ packages: resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} engines: {node: '>=8'} + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + p-timeout@3.2.0: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} @@ -11487,6 +12390,9 @@ packages: pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} @@ -11538,6 +12444,9 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + partial-json@0.1.7: + resolution: {integrity: sha512-Njv/59hHaokb/hRUjce3Hdv12wd60MtM9Z5Olmn+nehe0QDAsRtRbJPvJ0Z91TusF0SuZRIvnM+S4l6EIP8leA==} + pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} @@ -11582,6 +12491,10 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-scurry@2.0.0: + resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + engines: {node: 20 || >=22} + path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} @@ -11611,6 +12524,10 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + peek-readable@4.1.0: resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} engines: {node: '>=8'} @@ -11805,6 +12722,24 @@ packages: ts-node: optional: true + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + postcss-merge-longhand@5.1.7: resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -12179,6 +13114,9 @@ packages: pump@3.0.2: resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + pumpdotfun-sdk@1.3.2: + resolution: {integrity: sha512-TkYY+ZztxyPzv1f38evgdam92Po3YATI8s6BzmvxH8FypBpPs3pBKS301z7k3KXc1WWfjGWG79K/BANWaAcvkQ==} + pumpify@1.5.1: resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} @@ -12446,6 +13384,10 @@ packages: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} + react@19.0.0-rc-df5f2736-20240712: + resolution: {integrity: sha512-EskZQiyMOtoyC5P22HjB2vfLywcdko3TxknC6c+NBmlqjWxi4P70iR5/79PD6xj5f49jljuV9+/CH0N0brSxJg==} + engines: {node: '>=0.10.0'} + react@file:packages/usdk/packages/upstreet-agent/packages/react: resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react, type: directory} engines: {node: '>=0.10.0'} @@ -12690,6 +13632,10 @@ packages: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -12756,6 +13702,9 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rpc-websockets@9.0.4: + resolution: {integrity: sha512-yWZWN0M+bivtoNLnaDbtny4XchdAIF5Q4g/ZsC5UC61Ckbp0QczwO8fg44rV3uYmY4WHd+EZQbn90W1d8ojzqQ==} + run-applescript@7.0.0: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} @@ -12957,6 +13906,9 @@ packages: resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} engines: {node: '>= 0.4'} + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -13038,6 +13990,10 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} deprecated: Please use @jridgewell/sourcemap-codec instead @@ -13079,6 +14035,11 @@ packages: peerDependencies: svelte: ^4.0.0 + sswr@2.1.0: + resolution: {integrity: sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==} + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + stable-hash@0.0.4: resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} @@ -13093,6 +14054,9 @@ packages: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} @@ -13122,6 +14086,9 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + std-env@3.8.0: + resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + stdin-discarder@0.2.2: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} engines: {node: '>=18'} @@ -13338,6 +14305,13 @@ packages: engines: {npm: '>=8'} hasBin: true + superstruct@0.15.5: + resolution: {integrity: sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ==} + + superstruct@2.0.2: + resolution: {integrity: sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==} + engines: {node: '>=14.0.0'} + supertap@3.0.1: resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -13395,6 +14369,11 @@ packages: peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 + swr@2.3.0: + resolution: {integrity: sha512-NyZ76wA4yElZWBHzSgEJc28a0u6QZvhb6w0azeL2k7+Q1gAzVK+IqQYXhVOC/mzi+HZIozrZvBVeSeOZNR2bqA==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + swrev@4.0.0: resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==} @@ -13514,6 +14493,9 @@ packages: text-decoder@1.2.2: resolution: {integrity: sha512-/MDslo7ZyWTA2vnk1j7XoDVfXsGk3tp+zFEJHJGm0UjIlQifonVFwlVbQDFh8KJzTBnT8ie115TYqir6bclddA==} + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} @@ -13547,9 +14529,16 @@ packages: three@0.167.1: resolution: {integrity: sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==} + throttleit@2.1.0: + resolution: {integrity: sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==} + engines: {node: '>=18'} + through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + time-span@4.0.0: resolution: {integrity: sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==} engines: {node: '>=10'} @@ -13567,13 +14556,36 @@ packages: tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + tinycolor2@1.6.0: resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + tinyexec@0.3.1: + resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + tinyglobby@0.2.10: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} + tinyld@1.3.4: + resolution: {integrity: sha512-u26CNoaInA4XpDU+8s/6Cq8xHc2T5M4fXB3ICfXPokUQoLzmPgSZU02TAkFwFMJCWTjk53gtkS8pETTreZwCqw==} + engines: {node: '>= 12.10.0', npm: '>= 6.12.0', yarn: '>= 1.20.0'} + hasBin: true + + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} + engines: {node: '>=14.0.0'} + + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} + engines: {node: '>=14.0.0'} + tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -13588,9 +14600,15 @@ packages: tocbot@4.32.2: resolution: {integrity: sha512-UbVZNXX79LUqMzsnSTwE/YF/PYc2pg3G77D/jcolHd6lmw+oklzfcLtHSsmWBhOf1wfWD1HfYzdjGQef1VcQgg==} + toformat@2.0.0: + resolution: {integrity: sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ==} + together-ai@0.6.0: resolution: {integrity: sha512-l5rT9lzpHXA0e6zEdBwlVKY9wb5XQaX5hpandKPvHI5n6Bap4UTynF8Q2RSsRSAz3auyeEGzFKLE5XI301hOtA==} + together-ai@0.7.0: + resolution: {integrity: sha512-/be/HOecBSwRTDHB14vCvHbp1WiNsFxyS4pJlyBoMup1X3n7xD1b/Gm5Z5amlKzD2zll9Y5wscDk7Ut5OsT1nA==} + toidentifier@1.0.0: resolution: {integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==} engines: {node: '>=0.6'} @@ -13603,6 +14621,9 @@ packages: resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==} engines: {node: '>=10'} + toml@3.0.0: + resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} + tough-cookie@4.1.4: resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} engines: {node: '>=6'} @@ -13610,6 +14631,9 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} @@ -13713,6 +14737,10 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -13722,6 +14750,25 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsup@8.3.5: + resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + tunnel-rat@0.1.2: resolution: {integrity: sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==} @@ -14054,6 +15101,10 @@ packages: peerDependencies: react: ^16.8.0 || ^17 || ^18 + utf-8-validate@5.0.10: + resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} + engines: {node: '>=6.14.2'} + utif2@4.1.0: resolution: {integrity: sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w==} @@ -14077,11 +15128,23 @@ packages: uuid-by-string@4.0.0: resolution: {integrity: sha512-88ZSfcSkN04juiLqSsuyteqlSrXNFdsEPzSv3urnElDXNsZUXQN0smeTnh99x2DE15SCUQNgqKBfro54CuzHNQ==} + uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + + uuid@11.0.3: + resolution: {integrity: sha512-d0z310fCWv5dJwnX1Y/MncBAqGMKEzlBb1AOf7z9K8ALnd0utBX/msg/fA0+sbyN1ihbMsLhrBlnl1ak7Wa0rg==} + hasBin: true + uuid@3.3.2: resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==} deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true @@ -14125,6 +15188,24 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + viem@2.21.53: + resolution: {integrity: sha512-0pY8clBacAwzc59iV1vY4a6U4xvRlA5tAuhClJCKvqA6rXJzmNMMvxQ0EG79lkHr7WtBEruXz8nAmONXwnq4EQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + vite-node@2.1.4: + resolution: {integrity: sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite-node@2.1.5: + resolution: {integrity: sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + vite@4.5.5: resolution: {integrity: sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -14184,10 +15265,60 @@ packages: terser: optional: true - vue@3.5.13: - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + vitest@2.1.4: + resolution: {integrity: sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true peerDependencies: - typescript: '*' + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.1.4 + '@vitest/ui': 2.1.4 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + vitest@2.1.5: + resolution: {integrity: sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.1.5 + '@vitest/ui': 2.1.5 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + vue@3.5.13: + resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + peerDependencies: + typescript: '*' peerDependenciesMeta: typescript: optional: true @@ -14220,6 +15351,9 @@ packages: web-worker@1.2.0: resolution: {integrity: sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==} + webauthn-p256@0.0.10: + resolution: {integrity: sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==} + webgl-constants@1.1.1: resolution: {integrity: sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==} @@ -14229,6 +15363,9 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -14290,6 +15427,9 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + when-exit@2.1.3: resolution: {integrity: sha512-uVieSTccFIr/SFQdFWN/fFaQYmV37OKtuaGphMAzi4DmmUlrvRBJW5WSLkHyjNQY/ePJMz3LoiX9R3yy1Su6Hw==} @@ -14318,6 +15458,11 @@ packages: engines: {node: '>= 8'} hasBin: true + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} @@ -14392,6 +15537,18 @@ packages: utf-8-validate: optional: true + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.17.1: resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} @@ -14554,6 +15711,9 @@ packages: typescript: ^4.9.4 || ^5.0.2 zod: ^3 + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zod@3.24.1: resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} @@ -14604,10 +15764,43 @@ packages: snapshots: + '@acuminous/bitsyntax@0.1.2': + dependencies: + buffer-more-ints: 1.0.0 + debug: 4.4.0 + safe-buffer: 5.1.2 + transitivePeerDependencies: + - supports-color + '@adobe/css-tools@4.4.1': {} '@adraffy/ens-normalize@1.10.1': {} + '@ai-sdk/anthropic@0.0.56(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 0.0.26 + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + zod: 3.23.8 + + '@ai-sdk/google-vertex@0.0.43(@google-cloud/vertexai@1.9.2)(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 0.0.26 + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@google-cloud/vertexai': 1.9.2 + zod: 3.23.8 + + '@ai-sdk/google@0.0.55(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 0.0.26 + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + zod: 3.23.8 + + '@ai-sdk/groq@0.0.3(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 0.0.26 + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + zod: 3.23.8 + '@ai-sdk/openai@0.0.9(zod@3.24.1)': dependencies: '@ai-sdk/provider': 0.0.3 @@ -14615,6 +15808,12 @@ snapshots: optionalDependencies: zod: 3.24.1 + '@ai-sdk/openai@1.0.5(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 1.0.1 + '@ai-sdk/provider-utils': 2.0.2(zod@3.23.8) + zod: 3.23.8 + '@ai-sdk/provider-utils@0.0.5(zod@3.24.1)': dependencies: '@ai-sdk/provider': 0.0.3 @@ -14633,10 +15832,108 @@ snapshots: optionalDependencies: zod: 3.24.1 + '@ai-sdk/provider-utils@1.0.20(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 0.0.24 + eventsource-parser: 1.1.2 + nanoid: 3.3.6 + secure-json-parse: 2.7.0 + optionalDependencies: + zod: 3.23.8 + + '@ai-sdk/provider-utils@1.0.22(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 0.0.26 + eventsource-parser: 1.1.2 + nanoid: 3.3.8 + secure-json-parse: 2.7.0 + optionalDependencies: + zod: 3.23.8 + + '@ai-sdk/provider-utils@2.0.2(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 1.0.1 + eventsource-parser: 3.0.0 + nanoid: 3.3.8 + secure-json-parse: 2.7.0 + optionalDependencies: + zod: 3.23.8 + + '@ai-sdk/provider@0.0.24': + dependencies: + json-schema: 0.4.0 + + '@ai-sdk/provider@0.0.26': + dependencies: + json-schema: 0.4.0 + '@ai-sdk/provider@0.0.3': dependencies: json-schema: 0.4.0 + '@ai-sdk/provider@1.0.1': + dependencies: + json-schema: 0.4.0 + + '@ai-sdk/react@0.0.70(react@19.0.0-rc-df5f2736-20240712)(zod@3.23.8)': + dependencies: + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) + swr: 2.3.0(react@19.0.0-rc-df5f2736-20240712) + throttleit: 2.1.0 + optionalDependencies: + react: 19.0.0-rc-df5f2736-20240712 + zod: 3.23.8 + + '@ai-sdk/react@0.0.70(react@file:packages/usdk/packages/upstreet-agent/packages/react)(zod@3.23.8)': + dependencies: + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) + swr: 2.3.0(react@file:packages/usdk/packages/upstreet-agent/packages/react) + throttleit: 2.1.0 + optionalDependencies: + react: file:packages/usdk/packages/upstreet-agent/packages/react + zod: 3.23.8 + + '@ai-sdk/solid@0.0.54(solid-js@1.9.3)(zod@3.23.8)': + dependencies: + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) + optionalDependencies: + solid-js: 1.9.3 + transitivePeerDependencies: + - zod + + '@ai-sdk/svelte@0.0.57(svelte@4.2.19)(zod@3.23.8)': + dependencies: + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) + sswr: 2.1.0(svelte@4.2.19) + optionalDependencies: + svelte: 4.2.19 + transitivePeerDependencies: + - zod + + '@ai-sdk/ui-utils@0.0.50(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 0.0.26 + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + json-schema: 0.4.0 + secure-json-parse: 2.7.0 + zod-to-json-schema: 3.24.1(zod@3.23.8) + optionalDependencies: + zod: 3.23.8 + + '@ai-sdk/vue@0.0.59(vue@3.5.13(typescript@5.7.2))(zod@3.23.8)': + dependencies: + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) + swrv: 1.0.4(vue@3.5.13(typescript@5.7.2)) + optionalDependencies: + vue: 3.5.13(typescript@5.7.2) + transitivePeerDependencies: + - zod + '@algolia/cache-browser-local-storage@4.24.0': dependencies: '@algolia/cache-common': 4.24.0 @@ -14735,6 +16032,33 @@ snapshots: '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 + '@anthropic-ai/sdk@0.30.1': + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@anush008/tokenizers-darwin-universal@0.0.0': + optional: true + + '@anush008/tokenizers-linux-x64-gnu@0.0.0': + optional: true + + '@anush008/tokenizers-win32-x64-msvc@0.0.0': + optional: true + + '@anush008/tokenizers@0.0.0': + optionalDependencies: + '@anush008/tokenizers-darwin-universal': 0.0.0 + '@anush008/tokenizers-linux-x64-gnu': 0.0.0 + '@anush008/tokenizers-win32-x64-msvc': 0.0.0 + '@auth/core@0.18.4': dependencies: '@panva/hkdf': 1.2.1 @@ -15583,6 +16907,8 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} + '@cfworker/json-schema@4.0.3': {} + '@cloudflare/kv-asset-handler@0.3.4': dependencies: mime: 3.0.0 @@ -15605,13 +16931,70 @@ snapshots: '@cloudflare/workers-shared@0.11.0': dependencies: mime: 3.0.0 - zod: 3.24.1 + zod: 3.23.8 '@colors/colors@1.5.0': optional: true '@colors/colors@1.6.0': {} + '@coral-xyz/anchor-errors@0.30.1': {} + + '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/borsh': 0.29.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.6.1 + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@coral-xyz/anchor@0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@coral-xyz/anchor-errors': 0.30.1 + '@coral-xyz/borsh': 0.30.1(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/hashes': 1.6.1 + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + bs58: 4.0.1 + buffer-layout: 1.2.2 + camelcase: 6.3.0 + cross-fetch: 3.2.0 + crypto-hash: 1.3.0 + eventemitter3: 4.0.7 + pako: 2.1.0 + snake-case: 3.0.4 + superstruct: 0.15.5 + toml: 3.0.0 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@coral-xyz/borsh@0.29.0(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + + '@coral-xyz/borsh@0.30.1(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bn.js: 5.2.1 + buffer-layout: 1.2.2 + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -15658,7 +17041,7 @@ snapshots: '@discordjs/util@1.1.1': {} - '@discordjs/ws@1.1.1': + '@discordjs/ws@1.1.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@discordjs/collection': 2.1.1 '@discordjs/rest': 2.4.0 @@ -15668,7 +17051,7 @@ snapshots: '@vladfrangu/async_event_emitter': 2.4.6 discord-api-types: 0.37.83 tslib: 2.8.1 - ws: 8.18.0 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -15703,7 +17086,313 @@ snapshots: transitivePeerDependencies: - supports-color - '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy': {} + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10)': + dependencies: + '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) + '@ai-sdk/google': 0.0.55(zod@3.23.8) + '@ai-sdk/google-vertex': 0.0.43(@google-cloud/vertexai@1.9.2)(zod@3.23.8) + '@ai-sdk/groq': 0.0.3(zod@3.23.8) + '@ai-sdk/openai': 1.0.5(zod@3.23.8) + '@anthropic-ai/sdk': 0.30.1 + '@fal-ai/client': 1.2.0 + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@types/uuid': 10.0.0 + ai: 3.4.33(openai@4.73.0(zod@3.23.8))(react@19.0.0-rc-df5f2736-20240712)(solid-js@1.9.3)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.13(typescript@5.7.2))(zod@3.23.8) + anthropic-vertex-ai: 1.0.2(zod@3.23.8) + fastembed: 1.14.1 + fastestsmallesttextencoderdecoder: 1.0.22 + gaxios: 6.7.1 + glob: 11.0.0 + handlebars: 4.7.8 + js-sha1: 0.7.0 + js-tiktoken: 1.0.15 + langchain: 0.3.6(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(handlebars@4.7.8)(openai@4.73.0(zod@3.23.8)) + ollama-ai-provider: 0.16.1(zod@3.23.8) + openai: 4.73.0(zod@3.23.8) + tinyld: 1.3.4 + together-ai: 0.7.0 + unique-names-generator: 4.7.1 + uuid: 11.0.3 + zod: 3.23.8 + transitivePeerDependencies: + - '@google-cloud/vertexai' + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/core' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/groq' + - '@langchain/mistralai' + - '@langchain/ollama' + - axios + - bufferutil + - cheerio + - encoding + - peggy + - react + - solid-js + - sswr + - supports-color + - svelte + - typeorm + - utf-8-validate + - vue + + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10)': + dependencies: + '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) + '@ai-sdk/google': 0.0.55(zod@3.23.8) + '@ai-sdk/google-vertex': 0.0.43(@google-cloud/vertexai@1.9.2)(zod@3.23.8) + '@ai-sdk/groq': 0.0.3(zod@3.23.8) + '@ai-sdk/openai': 1.0.5(zod@3.23.8) + '@anthropic-ai/sdk': 0.30.1 + '@fal-ai/client': 1.2.0 + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@types/uuid': 10.0.0 + ai: 3.4.33(openai@4.73.0(zod@3.23.8))(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(zod@3.23.8) + anthropic-vertex-ai: 1.0.2(zod@3.23.8) + fastembed: 1.14.1 + fastestsmallesttextencoderdecoder: 1.0.22 + gaxios: 6.7.1 + glob: 11.0.0 + handlebars: 4.7.8 + js-sha1: 0.7.0 + js-tiktoken: 1.0.15 + langchain: 0.3.6(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(handlebars@4.7.8)(openai@4.73.0(zod@3.23.8)) + ollama-ai-provider: 0.16.1(zod@3.23.8) + openai: 4.73.0(zod@3.23.8) + tinyld: 1.3.4 + together-ai: 0.7.0 + unique-names-generator: 4.7.1 + uuid: 11.0.3 + zod: 3.23.8 + transitivePeerDependencies: + - '@google-cloud/vertexai' + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/core' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/groq' + - '@langchain/mistralai' + - '@langchain/ollama' + - axios + - bufferutil + - cheerio + - encoding + - peggy + - react + - solid-js + - sswr + - supports-color + - svelte + - typeorm + - utf-8-validate + - vue + + '@elizaos/plugin-3d-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + '@fal-ai/client': 1.2.0 + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - encoding + - jiti + - postcss + - supports-color + - tsx + - typescript + - utf-8-validate + - yaml + + '@elizaos/plugin-solana@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + amqplib: 0.10.5 + bignumber: 1.1.0 + bignumber.js: 9.1.2 + bs58: 6.0.0 + fomo-sdk-solana: 1.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + form-data: 4.0.1 + node-cache: 5.1.2 + pumpdotfun-sdk: 1.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10) + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + vitest: 2.1.4(@edge-runtime/vm@3.2.0)(@types/node@22.8.1)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(sass@1.82.0)(terser@5.37.0) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@microsoft/api-extractor' + - '@swc/core' + - '@types/node' + - '@vitest/browser' + - '@vitest/ui' + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw + - postcss + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - utf-8-validate + - yaml + + '@elizaos/plugin-solana@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)': + dependencies: + '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + amqplib: 0.10.5 + bignumber: 1.1.0 + bignumber.js: 9.1.2 + bs58: 6.0.0 + fomo-sdk-solana: 1.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + form-data: 4.0.1 + node-cache: 5.1.2 + pumpdotfun-sdk: 1.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10) + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + vitest: 2.1.4(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@microsoft/api-extractor' + - '@swc/core' + - '@types/node' + - '@vitest/browser' + - '@vitest/ui' + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw + - postcss + - rollup + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - utf-8-validate + - yaml + + '@elizaos/plugin-tee@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1)': + dependencies: + '@phala/dstack-sdk': 0.1.6(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bignumber: 1.1.0 + bignumber.js: 9.1.2 + bs58: 6.0.0 + node-cache: 5.1.2 + pumpdotfun-sdk: 1.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10) + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - jiti + - postcss + - rollup + - supports-color + - tsx + - typescript + - utf-8-validate + - yaml + - zod + + '@elizaos/plugin-trustdb@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + dompurify: 3.2.2 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + uuid: 11.0.3 + vitest: 2.1.5(@edge-runtime/vm@3.2.0)(@types/node@22.8.1)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(sass@1.82.0)(terser@5.37.0) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@microsoft/api-extractor' + - '@swc/core' + - '@types/node' + - '@vitest/browser' + - '@vitest/ui' + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw + - postcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - yaml + + '@elizaos/plugin-trustdb@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)': + dependencies: + dompurify: 3.2.2 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + uuid: 11.0.3 + vitest: 2.1.5(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@microsoft/api-extractor' + - '@swc/core' + - '@types/node' + - '@vitest/browser' + - '@vitest/ui' + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw + - postcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - yaml '@emnapi/runtime@1.3.1': dependencies: @@ -16194,7 +17883,7 @@ snapshots: '@eslint/js@9.16.0': {} - '@fal-ai/client@1.2.1': + '@fal-ai/client@1.2.0': dependencies: '@msgpack/msgpack': 3.0.0-beta2 eventsource-parser: 1.1.2 @@ -16225,6 +17914,13 @@ snapshots: dependencies: tslib: 2.8.1 + '@google-cloud/vertexai@1.9.2': + dependencies: + google-auth-library: 9.15.0 + transitivePeerDependencies: + - encoding + - supports-color + '@hono/node-server@1.13.7(hono@4.6.13)': dependencies: hono: 4.6.13 @@ -16679,7 +18375,7 @@ snapshots: dependencies: '@jimp/types': 1.6.0 '@jimp/utils': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-blur@0.22.12(@jimp/custom@0.22.12)': dependencies: @@ -16699,7 +18395,7 @@ snapshots: '@jimp/plugin-circle@1.6.0': dependencies: '@jimp/types': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-color@0.22.12(@jimp/custom@0.22.12)': dependencies: @@ -16713,7 +18409,7 @@ snapshots: '@jimp/types': 1.6.0 '@jimp/utils': 1.6.0 tinycolor2: 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-contain@0.22.12(@jimp/custom@0.22.12)(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12))(@jimp/plugin-scale@0.22.12(@jimp/custom@0.22.12)(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12)))': dependencies: @@ -16730,7 +18426,7 @@ snapshots: '@jimp/plugin-resize': 1.6.0 '@jimp/types': 1.6.0 '@jimp/utils': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-cover@0.22.12(@jimp/custom@0.22.12)(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12))(@jimp/plugin-scale@0.22.12(@jimp/custom@0.22.12)(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12)))': dependencies: @@ -16746,7 +18442,7 @@ snapshots: '@jimp/plugin-crop': 1.6.0 '@jimp/plugin-resize': 1.6.0 '@jimp/types': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12)': dependencies: @@ -16758,7 +18454,7 @@ snapshots: '@jimp/core': 1.6.0 '@jimp/types': 1.6.0 '@jimp/utils': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-displace@0.22.12(@jimp/custom@0.22.12)': dependencies: @@ -16769,7 +18465,7 @@ snapshots: dependencies: '@jimp/types': 1.6.0 '@jimp/utils': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-dither@0.22.12(@jimp/custom@0.22.12)': dependencies: @@ -16789,7 +18485,7 @@ snapshots: dependencies: '@jimp/types': 1.6.0 '@jimp/utils': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-flip@0.22.12(@jimp/custom@0.22.12)(@jimp/plugin-rotate@0.22.12(@jimp/custom@0.22.12)(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12))(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12)))': dependencies: @@ -16800,7 +18496,7 @@ snapshots: '@jimp/plugin-flip@1.6.0': dependencies: '@jimp/types': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-gaussian@0.22.12(@jimp/custom@0.22.12)': dependencies: @@ -16833,7 +18529,7 @@ snapshots: '@jimp/plugin-mask@1.6.0': dependencies: '@jimp/types': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-normalize@0.22.12(@jimp/custom@0.22.12)': dependencies: @@ -16860,12 +18556,12 @@ snapshots: parse-bmfont-binary: 1.0.6 parse-bmfont-xml: 1.1.6 simple-xml-to-json: 1.2.3 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-quantize@1.6.0': dependencies: image-q: 4.0.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12)': dependencies: @@ -16876,7 +18572,7 @@ snapshots: dependencies: '@jimp/core': 1.6.0 '@jimp/types': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-rotate@0.22.12(@jimp/custom@0.22.12)(@jimp/plugin-blit@0.22.12(@jimp/custom@0.22.12))(@jimp/plugin-crop@0.22.12(@jimp/custom@0.22.12))(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12))': dependencies: @@ -16893,7 +18589,7 @@ snapshots: '@jimp/plugin-resize': 1.6.0 '@jimp/types': 1.6.0 '@jimp/utils': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugin-scale@0.22.12(@jimp/custom@0.22.12)(@jimp/plugin-resize@0.22.12(@jimp/custom@0.22.12))': dependencies: @@ -16922,7 +18618,7 @@ snapshots: '@jimp/plugin-hash': 1.6.0 '@jimp/types': 1.6.0 '@jimp/utils': 1.6.0 - zod: 3.24.1 + zod: 3.23.8 '@jimp/plugins@0.22.12(@jimp/custom@0.22.12)': dependencies: @@ -16975,7 +18671,7 @@ snapshots: '@jimp/types@1.6.0': dependencies: - zod: 3.24.1 + zod: 3.23.8 '@jimp/utils@0.22.12': dependencies: @@ -17031,6 +18727,70 @@ snapshots: '@juggle/resize-observer@3.4.0': {} + '@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8))': + dependencies: + '@cfworker/json-schema': 4.0.3 + ansi-styles: 5.2.0 + camelcase: 6.3.0 + decamelize: 1.2.0 + js-tiktoken: 1.0.15 + langsmith: 0.2.14(openai@4.73.0(zod@3.23.8)) + mustache: 4.2.0 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 10.0.0 + zod: 3.23.8 + zod-to-json-schema: 3.24.1(zod@3.23.8) + transitivePeerDependencies: + - openai + + '@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1))': + dependencies: + '@cfworker/json-schema': 4.0.3 + ansi-styles: 5.2.0 + camelcase: 6.3.0 + decamelize: 1.2.0 + js-tiktoken: 1.0.15 + langsmith: 0.2.14(openai@4.76.1(zod@3.24.1)) + mustache: 4.2.0 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 10.0.0 + zod: 3.23.8 + zod-to-json-schema: 3.24.1(zod@3.23.8) + transitivePeerDependencies: + - openai + + '@langchain/openai@0.3.16(@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.73.0(zod@3.23.8)) + js-tiktoken: 1.0.15 + openai: 4.77.0(zod@3.23.8) + zod: 3.23.8 + zod-to-json-schema: 3.24.1(zod@3.23.8) + transitivePeerDependencies: + - encoding + + '@langchain/openai@0.3.16(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.76.1(zod@3.24.1)) + js-tiktoken: 1.0.15 + openai: 4.77.0(zod@3.23.8) + zod: 3.23.8 + zod-to-json-schema: 3.24.1(zod@3.23.8) + transitivePeerDependencies: + - encoding + + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.73.0(zod@3.23.8)) + js-tiktoken: 1.0.15 + + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))': + dependencies: + '@langchain/core': 0.3.26(openai@4.76.1(zod@3.24.1)) + js-tiktoken: 1.0.15 + '@mapbox/node-pre-gyp@1.0.11': dependencies: detect-libc: 2.0.3 @@ -17381,8 +19141,20 @@ snapshots: dependencies: '@noble/hashes': 1.3.2 + '@noble/curves@1.6.0': + dependencies: + '@noble/hashes': 1.5.0 + + '@noble/curves@1.7.0': + dependencies: + '@noble/hashes': 1.6.0 + '@noble/hashes@1.3.2': {} + '@noble/hashes@1.5.0': {} + + '@noble/hashes@1.6.0': {} + '@noble/hashes@1.6.1': {} '@nodelib/fs.scandir@2.1.5': @@ -17460,6 +19232,8 @@ snapshots: - debug - encoding + '@opentelemetry/api@1.9.0': {} + '@orama/orama@2.1.1': {} '@orama/orama@3.0.4': {} @@ -17527,6 +19301,15 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.0 optional: true + '@phala/dstack-sdk@0.1.6(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)': + optionalDependencies: + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + '@pkgjs/parseargs@0.11.0': optional: true @@ -18824,6 +20607,27 @@ snapshots: '@radix-ui/rect@1.1.0': {} + '@raydium-io/raydium-sdk-v2@0.1.82-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/spl-token': 0.4.9(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + axios: 1.7.9 + big.js: 6.2.2 + bn.js: 5.2.1 + dayjs: 1.11.13 + decimal.js-light: 2.5.1 + lodash: 4.17.21 + toformat: 2.0.0 + tsconfig-paths: 4.2.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + '@react-spring/animated@9.7.5(react@18.2.0)': dependencies: '@react-spring/shared': 9.7.5(react@18.2.0) @@ -19158,8 +20962,21 @@ snapshots: '@sapphire/snowflake@3.5.3': {} + '@scure/base@1.1.9': {} + '@scure/base@1.2.1': {} + '@scure/bip32@1.5.0': + dependencies: + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + '@scure/base': 1.1.9 + + '@scure/bip39@1.4.0': + dependencies: + '@noble/hashes': 1.5.0 + '@scure/base': 1.1.9 + '@scure/bip39@1.5.0': dependencies: '@noble/hashes': 1.6.1 @@ -19253,6 +21070,197 @@ snapshots: dependencies: tslib: 2.8.1 + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bigint-buffer: 1.1.5 + bignumber.js: 9.1.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + '@solana/buffer-layout@4.0.1': + dependencies: + buffer: 6.0.3 + + '@solana/codecs-core@2.0.0-preview.2': + dependencies: + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-core@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-data-structures@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-data-structures@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-numbers@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + + '@solana/codecs-numbers@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + + '@solana/codecs-strings@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/errors': 2.0.0-preview.2 + fastestsmallesttextencoderdecoder: 1.0.22 + + '@solana/codecs-strings@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + fastestsmallesttextencoderdecoder: 1.0.22 + typescript: 5.7.2 + + '@solana/codecs@2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-data-structures': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + '@solana/codecs-strings': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/options': 2.0.0-preview.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/codecs@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/options': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/errors@2.0.0-preview.2': + dependencies: + chalk: 5.3.0 + commander: 12.1.0 + + '@solana/errors@2.0.0-rc.1(typescript@5.7.2)': + dependencies: + chalk: 5.3.0 + commander: 12.1.0 + typescript: 5.7.2 + + '@solana/options@2.0.0-preview.2': + dependencies: + '@solana/codecs-core': 2.0.0-preview.2 + '@solana/codecs-numbers': 2.0.0-preview.2 + + '@solana/options@2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs-core': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-data-structures': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-numbers': 2.0.0-rc.1(typescript@5.7.2) + '@solana/codecs-strings': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/errors': 2.0.0-rc.1(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-token-group@0.0.4(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)': + dependencies: + '@solana/codecs': 2.0.0-preview.2(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-type-length-value': 0.1.0 + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + + '@solana/spl-token-group@0.0.7(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token-metadata@0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)': + dependencies: + '@solana/codecs': 2.0.0-rc.1(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - fastestsmallesttextencoderdecoder + - typescript + + '@solana/spl-token@0.4.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.4(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-token@0.4.9(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/buffer-layout': 4.0.1 + '@solana/buffer-layout-utils': 0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@solana/spl-token-group': 0.0.7(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + + '@solana/spl-type-length-value@0.1.0': + dependencies: + buffer: 6.0.3 + + '@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.5.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@stitches/react@1.2.8(react@18.2.0)': dependencies: react: 18.2.0 @@ -19489,7 +21497,7 @@ snapshots: telejson: 7.2.0 tiny-invariant: 1.3.3 - '@storybook/cli@7.6.20': + '@storybook/cli@7.6.20(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/core': 7.26.0 '@babel/preset-env': 7.26.0(@babel/core@7.26.0) @@ -19498,7 +21506,7 @@ snapshots: '@storybook/codemod': 7.6.20 '@storybook/core-common': 7.6.20 '@storybook/core-events': 7.6.20 - '@storybook/core-server': 7.6.20 + '@storybook/core-server': 7.6.20(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@storybook/csf-tools': 7.6.20 '@storybook/node-logger': 7.6.20 '@storybook/telemetry': 7.6.20 @@ -19524,7 +21532,7 @@ snapshots: ora: 5.4.1 prettier: 2.8.8 prompts: 2.4.2 - puppeteer-core: 2.1.1 + puppeteer-core: 2.1.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) read-pkg-up: 7.0.1 semver: 7.6.3 strip-json-comments: 3.1.1 @@ -19616,7 +21624,7 @@ snapshots: dependencies: ts-dedent: 2.2.0 - '@storybook/core-server@7.6.20': + '@storybook/core-server@7.6.20(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@discoveryjs/json-ext': 0.5.7 @@ -19657,7 +21665,7 @@ snapshots: util: 0.12.5 util-deprecate: 1.0.2 watchpack: 2.4.2 - ws: 8.18.0 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - encoding @@ -19957,29 +21965,29 @@ snapshots: dependencies: '@supabase/node-fetch': 2.6.15 - '@supabase/realtime-js@2.11.2': + '@supabase/realtime-js@2.11.2(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@supabase/node-fetch': 2.6.15 '@types/phoenix': 1.6.6 '@types/ws': 8.5.13 - ws: 8.18.0 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - '@supabase/realtime-js@2.11.3': + '@supabase/realtime-js@2.11.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@supabase/node-fetch': 2.6.15 '@types/phoenix': 1.6.6 '@types/ws': 8.5.13 - ws: 8.18.0 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - '@supabase/ssr@0.1.0(@supabase/supabase-js@2.39.3)': + '@supabase/ssr@0.1.0(@supabase/supabase-js@2.39.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: - '@supabase/supabase-js': 2.39.3 + '@supabase/supabase-js': 2.39.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) cookie: 0.5.0 ramda: 0.29.1 @@ -19987,25 +21995,25 @@ snapshots: dependencies: '@supabase/node-fetch': 2.6.15 - '@supabase/supabase-js@2.39.3': + '@supabase/supabase-js@2.39.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@supabase/functions-js': 2.4.3 '@supabase/gotrue-js': 2.66.1 '@supabase/node-fetch': 2.6.15 '@supabase/postgrest-js': 1.17.7 - '@supabase/realtime-js': 2.11.3 + '@supabase/realtime-js': 2.11.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@supabase/storage-js': 2.7.1 transitivePeerDependencies: - bufferutil - utf-8-validate - '@supabase/supabase-js@2.47.5': + '@supabase/supabase-js@2.47.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@supabase/auth-js': 2.66.1 '@supabase/functions-js': 2.4.3 '@supabase/node-fetch': 2.6.15 '@supabase/postgrest-js': 1.16.3 - '@supabase/realtime-js': 2.11.2 + '@supabase/realtime-js': 2.11.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@supabase/storage-js': 2.7.1 transitivePeerDependencies: - bufferutil @@ -20164,7 +22172,6 @@ snapshots: '@swc/helpers@0.5.13': dependencies: tslib: 2.8.1 - optional: true '@swc/helpers@0.5.5': dependencies: @@ -20289,7 +22296,7 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.7.8 + '@types/node': 18.19.68 '@types/cacheable-request@6.0.3': dependencies: @@ -20300,13 +22307,13 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 22.7.8 + '@types/node': 18.19.68 '@types/cookie@0.6.0': {} '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 22.7.8 + '@types/node': 18.19.68 '@types/d3-color@3.1.3': {} @@ -20377,7 +22384,7 @@ snapshots: '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 22.7.8 + '@types/node': 18.19.68 '@types/qs': 6.9.17 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -20393,7 +22400,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.7.8 + '@types/node': 18.19.68 '@types/hast@2.3.10': dependencies: @@ -20467,6 +22474,8 @@ snapshots: dependencies: '@types/node': 18.19.68 + '@types/node@12.20.55': {} + '@types/node@16.18.11': {} '@types/node@16.9.1': {} @@ -20560,6 +22569,8 @@ snapshots: dependencies: '@types/node': 18.19.68 + '@types/retry@0.12.0': {} + '@types/scheduler@0.23.0': {} '@types/semver@7.5.8': {} @@ -20567,12 +22578,12 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.7.8 + '@types/node': 18.19.68 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.7.8 + '@types/node': 18.19.68 '@types/send': 0.17.4 '@types/stack-utils@2.0.3': {} @@ -20591,14 +22602,25 @@ snapshots: '@types/triple-beam@1.3.5': {} + '@types/trusted-types@2.0.7': + optional: true + '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} + '@types/uuid@10.0.0': {} + + '@types/uuid@8.3.4': {} + '@types/uuid@9.0.8': {} '@types/webxr@0.5.20': {} + '@types/ws@7.4.7': + dependencies: + '@types/node': 18.19.68 + '@types/ws@8.5.13': dependencies: '@types/node': 22.7.8 @@ -20963,37 +22985,137 @@ snapshots: - encoding - supports-color - '@vercel/routing-utils@3.1.0': + '@vercel/routing-utils@3.1.0': + dependencies: + path-to-regexp: 6.1.0 + optionalDependencies: + ajv: 6.12.6 + + '@vercel/ruby@2.1.0': {} + + '@vercel/static-build@2.5.14': + dependencies: + '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 + '@vercel/gatsby-plugin-vercel-builder': 2.0.36 + '@vercel/static-config': 3.0.0 + ts-morph: 12.0.0 + + '@vercel/static-config@3.0.0': + dependencies: + ajv: 8.6.3 + json-schema-to-ts: 1.6.4 + ts-morph: 12.0.0 + + '@vitejs/plugin-react@4.3.4(vite@4.5.5(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0))': + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 4.5.5(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) + transitivePeerDependencies: + - supports-color + + '@vitest/expect@2.1.4': + dependencies: + '@vitest/spy': 2.1.4 + '@vitest/utils': 2.1.4 + chai: 5.1.2 + tinyrainbow: 1.2.0 + + '@vitest/expect@2.1.5': + dependencies: + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 + chai: 5.1.2 + tinyrainbow: 1.2.0 + + '@vitest/mocker@2.1.4(vite@5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0))': + dependencies: + '@vitest/spy': 2.1.4 + estree-walker: 3.0.3 + magic-string: 0.30.15 + optionalDependencies: + vite: 5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + + '@vitest/mocker@2.1.4(vite@5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0))': + dependencies: + '@vitest/spy': 2.1.4 + estree-walker: 3.0.3 + magic-string: 0.30.15 + optionalDependencies: + vite: 5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) + + '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0))': + dependencies: + '@vitest/spy': 2.1.5 + estree-walker: 3.0.3 + magic-string: 0.30.15 + optionalDependencies: + vite: 5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + + '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0))': + dependencies: + '@vitest/spy': 2.1.5 + estree-walker: 3.0.3 + magic-string: 0.30.15 + optionalDependencies: + vite: 5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) + + '@vitest/pretty-format@2.1.4': + dependencies: + tinyrainbow: 1.2.0 + + '@vitest/pretty-format@2.1.5': + dependencies: + tinyrainbow: 1.2.0 + + '@vitest/pretty-format@2.1.8': + dependencies: + tinyrainbow: 1.2.0 + + '@vitest/runner@2.1.4': + dependencies: + '@vitest/utils': 2.1.4 + pathe: 1.1.2 + + '@vitest/runner@2.1.5': + dependencies: + '@vitest/utils': 2.1.5 + pathe: 1.1.2 + + '@vitest/snapshot@2.1.4': dependencies: - path-to-regexp: 6.1.0 - optionalDependencies: - ajv: 6.12.6 + '@vitest/pretty-format': 2.1.4 + magic-string: 0.30.15 + pathe: 1.1.2 - '@vercel/ruby@2.1.0': {} + '@vitest/snapshot@2.1.5': + dependencies: + '@vitest/pretty-format': 2.1.5 + magic-string: 0.30.15 + pathe: 1.1.2 - '@vercel/static-build@2.5.14': + '@vitest/spy@2.1.4': dependencies: - '@vercel/gatsby-plugin-vercel-analytics': 1.0.11 - '@vercel/gatsby-plugin-vercel-builder': 2.0.36 - '@vercel/static-config': 3.0.0 - ts-morph: 12.0.0 + tinyspy: 3.0.2 - '@vercel/static-config@3.0.0': + '@vitest/spy@2.1.5': dependencies: - ajv: 8.6.3 - json-schema-to-ts: 1.6.4 - ts-morph: 12.0.0 + tinyspy: 3.0.2 - '@vitejs/plugin-react@4.3.4(vite@4.5.5(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0))': + '@vitest/utils@2.1.4': dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) - '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: 4.5.5(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) - transitivePeerDependencies: - - supports-color + '@vitest/pretty-format': 2.1.4 + loupe: 3.1.2 + tinyrainbow: 1.2.0 + + '@vitest/utils@2.1.5': + dependencies: + '@vitest/pretty-format': 2.1.5 + loupe: 3.1.2 + tinyrainbow: 1.2.0 '@vladfrangu/async_event_emitter@2.4.6': {} @@ -21154,12 +23276,22 @@ snapshots: '@types/emscripten': 1.39.13 tslib: 1.14.1 + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + abab@2.0.6: {} abbrev@1.1.1: {} abbrev@2.0.0: {} + abitype@1.0.6(typescript@5.7.2)(zod@3.24.1): + optionalDependencies: + typescript: 5.7.2 + zod: 3.24.1 + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -21242,6 +23374,56 @@ snapshots: vue: 3.5.13(typescript@5.7.2) zod: 3.24.1 + ai@3.4.33(openai@4.73.0(zod@3.23.8))(react@19.0.0-rc-df5f2736-20240712)(solid-js@1.9.3)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.13(typescript@5.7.2))(zod@3.23.8): + dependencies: + '@ai-sdk/provider': 0.0.26 + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@ai-sdk/react': 0.0.70(react@19.0.0-rc-df5f2736-20240712)(zod@3.23.8) + '@ai-sdk/solid': 0.0.54(solid-js@1.9.3)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.57(svelte@4.2.19)(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) + '@ai-sdk/vue': 0.0.59(vue@3.5.13(typescript@5.7.2))(zod@3.23.8) + '@opentelemetry/api': 1.9.0 + eventsource-parser: 1.1.2 + json-schema: 0.4.0 + jsondiffpatch: 0.6.0 + secure-json-parse: 2.7.0 + zod-to-json-schema: 3.24.1(zod@3.23.8) + optionalDependencies: + openai: 4.73.0(zod@3.23.8) + react: 19.0.0-rc-df5f2736-20240712 + sswr: 2.1.0(svelte@4.2.19) + svelte: 4.2.19 + zod: 3.23.8 + transitivePeerDependencies: + - solid-js + - vue + + ai@3.4.33(openai@4.73.0(zod@3.23.8))(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(zod@3.23.8): + dependencies: + '@ai-sdk/provider': 0.0.26 + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@ai-sdk/react': 0.0.70(react@file:packages/usdk/packages/upstreet-agent/packages/react)(zod@3.23.8) + '@ai-sdk/solid': 0.0.54(solid-js@1.9.3)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.57(svelte@4.2.19)(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) + '@ai-sdk/vue': 0.0.59(vue@3.5.13(typescript@5.7.2))(zod@3.23.8) + '@opentelemetry/api': 1.9.0 + eventsource-parser: 1.1.2 + json-schema: 0.4.0 + jsondiffpatch: 0.6.0 + secure-json-parse: 2.7.0 + zod-to-json-schema: 3.24.1(zod@3.23.8) + optionalDependencies: + openai: 4.73.0(zod@3.23.8) + react: file:packages/usdk/packages/upstreet-agent/packages/react + sswr: 2.1.0(svelte@4.2.19) + svelte: 4.2.19 + zod: 3.23.8 + transitivePeerDependencies: + - solid-js + - vue + ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: ajv: 8.17.1 @@ -21297,6 +23479,14 @@ snapshots: '@algolia/transporter': 4.24.0 optional: true + amqplib@0.10.5: + dependencies: + '@acuminous/bitsyntax': 0.1.2 + buffer-more-ints: 1.0.0 + url-parse: 1.5.10 + transitivePeerDependencies: + - supports-color + ansi-align@3.0.1: dependencies: string-width: 4.2.3 @@ -21331,6 +23521,16 @@ snapshots: ansi-styles@6.2.1: {} + anthropic-vertex-ai@1.0.2(zod@3.23.8): + dependencies: + '@ai-sdk/provider': 0.0.24 + '@ai-sdk/provider-utils': 1.0.20(zod@3.23.8) + google-auth-library: 9.15.0 + zod: 3.23.8 + transitivePeerDependencies: + - encoding + - supports-color + any-base@1.1.0: {} any-promise@1.3.0: {} @@ -21496,6 +23696,8 @@ snapshots: object.assign: 4.1.5 util: 0.12.5 + assertion-error@2.0.1: {} + assign-symbols@1.0.0: {} ast-types-flow@0.0.8: {} @@ -21602,6 +23804,14 @@ snapshots: axe-core@4.10.2: {} + axios@1.7.9: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + axobject-query@4.1.0: {} b4a@1.6.7: {} @@ -21711,6 +23921,12 @@ snapshots: bare-events@2.5.0: optional: true + base-x@3.0.10: + dependencies: + safe-buffer: 5.2.1 + + base-x@5.0.0: {} + base64-js@0.0.8: {} base64-js@1.5.1: {} @@ -21727,6 +23943,16 @@ snapshots: big.js@5.2.2: {} + big.js@6.2.2: {} + + bigint-buffer@1.1.5: + dependencies: + bindings: 1.5.0 + + bignumber.js@9.1.2: {} + + bignumber@1.1.0: {} + bin-links@5.0.0: dependencies: cmd-shim: 7.0.0 @@ -21755,6 +23981,8 @@ snapshots: bmp-ts@1.0.9: {} + bn.js@5.2.1: {} + body-parser@1.20.3: dependencies: bytes: 3.1.2 @@ -21777,6 +24005,12 @@ snapshots: boolean@3.2.0: optional: true + borsh@0.7.0: + dependencies: + bn.js: 5.2.1 + bs58: 4.0.1 + text-encoding-utf-8: 1.0.2 + boxen@8.0.1: dependencies: ansi-align: 3.0.1 @@ -21824,6 +24058,14 @@ snapshots: dependencies: fast-json-stable-stringify: 2.1.0 + bs58@4.0.1: + dependencies: + base-x: 3.0.10 + + bs58@6.0.0: + dependencies: + base-x: 5.0.0 + bser@2.1.1: dependencies: node-int64: 0.4.0 @@ -21841,6 +24083,8 @@ snapshots: buffer-crc32@1.0.0: {} + buffer-equal-constant-time@1.0.1: {} + buffer-equal@0.0.1: {} buffer-fill@1.0.0: @@ -21848,6 +24092,10 @@ snapshots: buffer-from@1.1.2: {} + buffer-layout@1.2.2: {} + + buffer-more-ints@1.0.0: {} + buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -21858,12 +24106,22 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + bufferutil@4.0.9: + dependencies: + node-gyp-build: 4.8.4 + optional: true + builtin-modules@3.3.0: {} bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 + bundle-require@5.1.0(esbuild@0.24.0): + dependencies: + esbuild: 0.24.0 + load-tsconfig: 0.2.5 + busboy@1.6.0: dependencies: streamsearch: 1.1.0 @@ -21872,6 +24130,8 @@ snapshots: bytes@3.1.2: {} + cac@6.7.14: {} + cacheable-lookup@5.0.4: {} cacheable-request@7.0.4: @@ -21954,6 +24214,14 @@ snapshots: transitivePeerDependencies: - debug + chai@5.1.2: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.2 + pathval: 2.0.0 + chalk@3.0.0: dependencies: ansi-styles: 4.3.0 @@ -21968,6 +24236,10 @@ snapshots: char-regex@1.0.2: {} + character-card-utils@file:packages/usdk/packages/upstreet-agent/packages/character-card-utils: + dependencies: + zod: 3.23.8 + character-entities-html4@2.1.0: {} character-entities-legacy@1.1.4: {} @@ -21982,6 +24254,8 @@ snapshots: character-reference-invalid@2.0.1: {} + check-error@2.1.1: {} + chokidar@3.3.1: dependencies: anymatch: 3.1.3 @@ -22104,6 +24378,8 @@ snapshots: clone@1.0.4: {} + clone@2.1.2: {} + clsx@2.0.0: {} clsx@2.1.0: {} @@ -22201,6 +24477,8 @@ snapshots: comma-separated-tokens@2.0.3: {} + commander@10.0.1: {} + commander@12.1.0: {} commander@2.20.3: {} @@ -22411,6 +24689,12 @@ snapshots: dependencies: cross-spawn: 7.0.6 + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + cross-spawn@6.0.6: dependencies: nice-try: 1.0.5 @@ -22425,6 +24709,8 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + crypto-hash@1.3.0: {} + crypto-js@4.2.0: {} crypto-random-string@2.0.0: {} @@ -22644,6 +24930,8 @@ snapshots: dependencies: time-zone: 1.0.0 + dayjs@1.11.13: {} + debounce@1.2.1: {} debouncer@file:packages/usdk/packages/upstreet-agent/packages/debouncer: {} @@ -22664,6 +24952,10 @@ snapshots: dependencies: ms: 2.1.3 + decamelize@1.2.0: {} + + decimal.js-light@2.5.1: {} + decimal.js@10.4.3: {} decode-named-character-reference@1.0.2: @@ -22680,6 +24972,8 @@ snapshots: optionalDependencies: babel-plugin-macros: 3.1.0 + deep-eql@5.0.2: {} + deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -22758,6 +25052,8 @@ snapshots: dependencies: robust-predicates: 3.0.2 + delay@5.0.0: {} + delayed-stream@1.0.0: {} delegates@1.0.0: {} @@ -22823,14 +25119,14 @@ snapshots: discord-api-types@0.37.97: {} - discord.js@14.16.3: + discord.js@14.16.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@discordjs/builders': 1.9.0 '@discordjs/collection': 1.5.3 '@discordjs/formatters': 0.5.0 '@discordjs/rest': 2.4.0 '@discordjs/util': 1.1.1 - '@discordjs/ws': 1.1.1 + '@discordjs/ws': 1.1.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@sapphire/snowflake': 3.5.3 discord-api-types: 0.37.100 fast-deep-equal: 3.1.3 @@ -22892,6 +25188,10 @@ snapshots: dependencies: domelementtype: 2.3.0 + dompurify@3.2.2: + optionalDependencies: + '@types/trusted-types': 2.0.7 + domutils@2.8.0: dependencies: dom-serializer: 1.4.1 @@ -22950,6 +25250,10 @@ snapshots: - '@types/react-dom' - immer + ecdsa-sig-formatter@1.0.11: + dependencies: + safe-buffer: 5.2.1 + edge-runtime@2.5.9: dependencies: '@edge-runtime/format': 2.2.1 @@ -23161,6 +25465,12 @@ snapshots: es6-error@4.1.1: optional: true + es6-promise@4.2.8: {} + + es6-promisify@5.0.0: + dependencies: + es6-promise: 4.2.8 + esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -23869,7 +26179,7 @@ snapshots: etag@1.8.1: {} - ethers@6.13.4: + ethers@6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -23877,7 +26187,7 @@ snapshots: '@types/node': 22.7.5 aes-js: 4.0.0-beta.5 tslib: 2.7.0 - ws: 8.17.1 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -23886,6 +26196,8 @@ snapshots: eventemitter3@4.0.7: {} + eventemitter3@5.0.1: {} + events-intercept@2.0.0: {} events@3.3.0: {} @@ -23968,6 +26280,8 @@ snapshots: exit@0.1.2: {} + expect-type@1.1.0: {} + expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 @@ -24042,6 +26356,8 @@ snapshots: transitivePeerDependencies: - supports-color + eyes@0.1.8: {} + fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} @@ -24062,8 +26378,19 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-stable-stringify@1.0.0: {} + fast-uri@3.0.3: {} + fastembed@1.14.1: + dependencies: + '@anush008/tokenizers': 0.0.0 + onnxruntime-node: 1.15.1 + progress: 2.0.3 + tar: 6.2.1 + + fastestsmallesttextencoderdecoder@1.0.22: {} + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -24217,6 +26544,22 @@ snapshots: follow-redirects@1.15.9: {} + fomo-sdk-solana@1.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): + dependencies: + '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@raydium-io/raydium-sdk-v2': 0.1.82-alpha(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-token': 0.4.9(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 6.0.0 + coral-xyz3: '@coral-xyz/anchor@0.29.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)' + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + for-each@0.3.3: dependencies: is-callable: 1.2.7 @@ -24342,7 +26685,7 @@ snapshots: fsevents@2.3.3: optional: true - fumadocs-core@14.0.2(@types/react@18.2.37)(sass@1.82.0): + fumadocs-core@14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.2.37)(sass@1.82.0): dependencies: '@formatjs/intl-localematcher': 0.5.9 '@orama/orama': 3.0.4 @@ -24360,7 +26703,7 @@ snapshots: unist-util-visit: 5.0.0 optionalDependencies: algoliasearch: 4.24.0 - next: 15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) + next: 15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -24373,7 +26716,7 @@ snapshots: - sass - supports-color - fumadocs-core@14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + fumadocs-core@14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@formatjs/intl-localematcher': 0.5.9 '@orama/orama': 2.1.1 @@ -24391,7 +26734,7 @@ snapshots: unist-util-visit: 5.0.0 optionalDependencies: algoliasearch: 4.24.0 - next: 14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) + next: 14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -24411,7 +26754,7 @@ snapshots: - supports-color - typescript - fumadocs-mdx@11.0.0(acorn@8.14.0)(fumadocs-core@14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)): + fumadocs-mdx@11.0.0(acorn@8.14.0)(fumadocs-core@14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)): dependencies: '@mdx-js/mdx': 3.1.0(acorn@8.14.0) chokidar: 4.0.1 @@ -24419,20 +26762,20 @@ snapshots: esbuild: 0.24.0 estree-util-value-to-estree: 3.2.1 fast-glob: 3.3.2 - fumadocs-core: 14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + fumadocs-core: 14.6.0(@types/react@18.2.37)(algoliasearch@4.24.0)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) gray-matter: 4.0.3 micromatch: 4.0.8 - next: 14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) + next: 14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) zod: 3.24.1 transitivePeerDependencies: - acorn - supports-color - fumadocs-twoslash@2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(fumadocs-ui@14.0.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(shiki@1.24.2)(typescript@5.7.2): + fumadocs-twoslash@2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(fumadocs-ui@14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(shiki@1.24.2)(typescript@5.7.2): dependencies: '@radix-ui/react-popover': 1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@shikijs/twoslash': 1.24.2(typescript@5.7.2) - fumadocs-ui: 14.0.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)) + fumadocs-ui: 14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)) mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 @@ -24460,7 +26803,7 @@ snapshots: transitivePeerDependencies: - supports-color - fumadocs-ui@14.0.2(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)): + fumadocs-ui@14.0.2(@opentelemetry/api@1.9.0)(@types/react-dom@18.2.18)(@types/react@18.2.37)(next@14.2.14(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)): dependencies: '@radix-ui/react-accordion': 1.2.1(@types/react-dom@18.2.18)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-collapsible': 1.1.1(@types/react-dom@18.2.18)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -24474,8 +26817,8 @@ snapshots: '@tailwindcss/typography': 0.5.15(tailwindcss@3.4.16(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2))) class-variance-authority: 0.7.0 cmdk: 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.37)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - fumadocs-core: 14.0.2(@types/react@18.2.37)(sass@1.82.0) - next: 14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) + fumadocs-core: 14.0.2(@opentelemetry/api@1.9.0)(@types/react@18.2.37)(sass@1.82.0) + next: 14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) next-themes: 0.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -24520,9 +26863,28 @@ snapshots: strip-ansi: 6.0.1 wide-align: 1.1.5 - geist@1.2.1(next@14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)): + gaxios@6.7.1: dependencies: - next: 14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) + extend: 3.0.2 + https-proxy-agent: 7.0.6 + is-stream: 2.0.1 + node-fetch: 2.7.0 + uuid: 9.0.1 + transitivePeerDependencies: + - encoding + - supports-color + + gcp-metadata@6.1.0: + dependencies: + gaxios: 6.7.1 + json-bigint: 1.0.0 + transitivePeerDependencies: + - encoding + - supports-color + + geist@1.2.1(next@14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0)): + dependencies: + next: 14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) generic-names@4.0.0: dependencies: @@ -24644,6 +27006,15 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + glob@11.0.0: + dependencies: + foreground-child: 3.3.0 + jackspeak: 4.0.2 + minimatch: 10.0.1 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.0 + glob@7.1.7: dependencies: fs.realpath: 1.0.0 @@ -24724,6 +27095,18 @@ snapshots: glsl-noise@0.0.0: {} + google-auth-library@9.15.0: + dependencies: + base64-js: 1.5.1 + ecdsa-sig-formatter: 1.0.11 + gaxios: 6.7.1 + gcp-metadata: 6.1.0 + gtoken: 7.1.0 + jws: 4.0.0 + transitivePeerDependencies: + - encoding + - supports-color + gopd@1.2.0: {} got@11.8.6: @@ -24753,6 +27136,14 @@ snapshots: section-matter: 1.0.0 strip-bom-string: 1.0.0 + gtoken@7.1.0: + dependencies: + gaxios: 6.7.1 + jws: 4.0.0 + transitivePeerDependencies: + - encoding + - supports-color + gunzip-maybe@1.4.2: dependencies: browserify-zlib: 0.1.4 @@ -25387,8 +27778,16 @@ snapshots: transitivePeerDependencies: - encoding + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + dependencies: + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + isomorphic.js@0.2.5: {} + isows@1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + dependencies: + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@5.2.1: @@ -25466,6 +27865,10 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jackspeak@4.0.2: + dependencies: + '@isaacs/cliui': 8.0.2 + jake@10.9.2: dependencies: async: 3.2.6 @@ -25477,6 +27880,24 @@ snapshots: dependencies: relative-time-format: 1.1.6 + jayson@4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@types/connect': 3.4.38 + '@types/node': 12.20.55 + '@types/ws': 7.4.7 + JSONStream: 1.3.5 + commander: 2.20.3 + delay: 5.0.0 + es6-promisify: 5.0.0 + eyes: 0.1.8 + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + json-stringify-safe: 5.0.1 + uuid: 8.3.2 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + jest-changed-files@29.7.0: dependencies: execa: 5.1.1 @@ -25489,7 +27910,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 18.19.68 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3(babel-plugin-macros@3.1.0) @@ -25740,7 +28161,7 @@ snapshots: jest-util: 29.7.0 pretty-format: 29.7.0 - jest-environment-jsdom@29.7.0: + jest-environment-jsdom@29.7.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -25749,7 +28170,7 @@ snapshots: '@types/node': 22.7.8 jest-mock: 29.7.0 jest-util: 29.7.0 - jsdom: 20.0.3 + jsdom: 20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - supports-color @@ -25760,7 +28181,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.7.8 + '@types/node': 18.19.68 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -25957,7 +28378,7 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 22.7.8 + '@types/node': 18.19.68 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -26042,6 +28463,8 @@ snapshots: jose@5.9.6: {} + joycon@3.1.1: {} + jpeg-js@0.4.4: {} js-ago@2.1.1: @@ -26052,8 +28475,14 @@ snapshots: js-sha1@0.6.0: {} + js-sha1@0.7.0: {} + js-string-escape@1.0.1: {} + js-tiktoken@1.0.15: + dependencies: + base64-js: 1.5.1 + js-tokens@4.0.0: {} js-types@1.0.0: {} @@ -26094,7 +28523,7 @@ snapshots: transitivePeerDependencies: - supports-color - jsdom@20.0.3: + jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: abab: 2.0.6 acorn: 8.14.0 @@ -26120,7 +28549,7 @@ snapshots: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - ws: 8.18.0 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -26133,6 +28562,10 @@ snapshots: jsesc@3.1.0: {} + json-bigint@1.0.0: + dependencies: + bignumber.js: 9.1.2 + json-buffer@3.0.1: {} json-parse-even-better-errors@2.3.1: {} @@ -26150,8 +28583,7 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} - json-stringify-safe@5.0.1: - optional: true + json-stringify-safe@5.0.1: {} json5@1.0.2: dependencies: @@ -26175,6 +28607,10 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonparse@1.3.1: {} + + jsonpointer@5.0.1: {} + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 @@ -26195,6 +28631,17 @@ snapshots: just-zip-it@2.3.1: {} + jwa@2.0.0: + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + + jws@4.0.0: + dependencies: + jwa: 2.0.0 + safe-buffer: 5.2.1 + katex@0.16.15: dependencies: commander: 8.3.0 @@ -26217,6 +28664,72 @@ snapshots: dependencies: use-strict: 1.0.1 + langchain@0.3.6(@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8)))(axios@1.7.9)(handlebars@4.7.8)(openai@4.73.0(zod@3.23.8)): + dependencies: + '@langchain/core': 0.3.26(openai@4.73.0(zod@3.23.8)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8))) + js-tiktoken: 1.0.15 + js-yaml: 4.1.0 + jsonpointer: 5.0.1 + langsmith: 0.2.14(openai@4.73.0(zod@3.23.8)) + openapi-types: 12.1.3 + p-retry: 4.6.2 + uuid: 10.0.0 + yaml: 2.6.1 + zod: 3.23.8 + zod-to-json-schema: 3.24.1(zod@3.23.8) + optionalDependencies: + axios: 1.7.9 + handlebars: 4.7.8 + transitivePeerDependencies: + - encoding + - openai + + langchain@0.3.6(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(handlebars@4.7.8)(openai@4.73.0(zod@3.23.8)): + dependencies: + '@langchain/core': 0.3.26(openai@4.76.1(zod@3.24.1)) + '@langchain/openai': 0.3.16(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1))) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1))) + js-tiktoken: 1.0.15 + js-yaml: 4.1.0 + jsonpointer: 5.0.1 + langsmith: 0.2.14(openai@4.73.0(zod@3.23.8)) + openapi-types: 12.1.3 + p-retry: 4.6.2 + uuid: 10.0.0 + yaml: 2.6.1 + zod: 3.23.8 + zod-to-json-schema: 3.24.1(zod@3.23.8) + optionalDependencies: + axios: 1.7.9 + handlebars: 4.7.8 + transitivePeerDependencies: + - encoding + - openai + + langsmith@0.2.14(openai@4.73.0(zod@3.23.8)): + dependencies: + '@types/uuid': 10.0.0 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + semver: 7.6.3 + uuid: 10.0.0 + optionalDependencies: + openai: 4.73.0(zod@3.23.8) + + langsmith@0.2.14(openai@4.76.1(zod@3.24.1)): + dependencies: + '@types/uuid': 10.0.0 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + semver: 7.6.3 + uuid: 10.0.0 + optionalDependencies: + openai: 4.76.1(zod@3.24.1) + language-subtag-registry@0.3.23: {} language-tags@1.0.9: @@ -26326,6 +28839,8 @@ snapshots: load-json-file@7.0.1: {} + load-tsconfig@0.2.5: {} + loader-runner@4.3.0: {} loader-utils@2.0.4: @@ -26375,6 +28890,8 @@ snapshots: lodash.snakecase@4.1.1: {} + lodash.sortby@4.7.0: {} + lodash.uniq@4.5.0: {} lodash@4.17.21: {} @@ -26404,6 +28921,8 @@ snapshots: dependencies: js-tokens: 4.0.0 + loupe@3.1.2: {} + lower-case@2.0.2: dependencies: tslib: 2.8.1 @@ -26419,6 +28938,8 @@ snapshots: lru-cache@10.4.3: {} + lru-cache@11.0.2: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -27345,7 +29866,7 @@ snapshots: min-indent@1.0.1: {} - miniflare@3.20241205.0: + miniflare@3.20241205.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@cspotcode/source-map-support': 0.8.1 acorn: 8.14.0 @@ -27356,14 +29877,18 @@ snapshots: stoppable: 1.1.0 undici: 5.28.4 workerd: 1.20241205.0 - ws: 8.18.0 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) youch: 3.3.4 - zod: 3.24.1 + zod: 3.23.8 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate + minimatch@10.0.1: + dependencies: + brace-expansion: 2.0.1 + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -27480,10 +30005,10 @@ snapshots: neo-async@2.6.2: {} - next-auth@5.0.0-beta.4(next@14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react@18.2.0): + next-auth@5.0.0-beta.4(next@14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0))(react@18.2.0): dependencies: '@auth/core': 0.18.4 - next: 14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) + next: 14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) react: 18.2.0 next-themes@0.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): @@ -27491,7 +30016,7 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - next@14.2.14(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0): + next@14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0): dependencies: '@next/env': 14.2.14 '@swc/helpers': 0.5.5 @@ -27512,12 +30037,13 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.2.14 '@next/swc-win32-ia32-msvc': 14.2.14 '@next/swc-win32-x64-msvc': 14.2.14 + '@opentelemetry/api': 1.9.0 sass: 1.82.0 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - next@15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0): + next@15.0.0(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0): dependencies: '@next/env': 15.0.0 '@swc/counter': 0.1.3 @@ -27537,6 +30063,7 @@ snapshots: '@next/swc-linux-x64-musl': 15.0.0 '@next/swc-win32-arm64-msvc': 15.0.0 '@next/swc-win32-x64-msvc': 15.0.0 + '@opentelemetry/api': 1.9.0 sass: 1.82.0 sharp: 0.33.5 transitivePeerDependencies: @@ -27559,6 +30086,10 @@ snapshots: node-addon-api@7.1.1: optional: true + node-cache@5.1.2: + dependencies: + clone: 2.1.2 + node-dir@0.1.17: dependencies: minimatch: 3.1.2 @@ -27712,6 +30243,14 @@ snapshots: ohash@1.1.4: {} + ollama-ai-provider@0.16.1(zod@3.23.8): + dependencies: + '@ai-sdk/provider': 0.0.26 + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + partial-json: 0.1.7 + optionalDependencies: + zod: 3.23.8 + omggif@1.0.10: {} on-finished@2.4.1: @@ -27750,6 +30289,12 @@ snapshots: regex: 5.0.2 regex-recursion: 4.3.0 + onnxruntime-common@1.15.1: {} + + onnxruntime-node@1.15.1: + dependencies: + onnxruntime-common: 1.15.1 + open-editor@5.0.0: dependencies: env-editor: 1.1.0 @@ -27770,6 +30315,20 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 + openai@4.73.0(zod@3.23.8): + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + optionalDependencies: + zod: 3.23.8 + transitivePeerDependencies: + - encoding + openai@4.76.1(zod@3.24.1): dependencies: '@types/node': 18.19.68 @@ -27784,6 +30343,22 @@ snapshots: transitivePeerDependencies: - encoding + openai@4.77.0(zod@3.23.8): + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + optionalDependencies: + zod: 3.23.8 + transitivePeerDependencies: + - encoding + + openapi-types@12.1.3: {} + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -27819,6 +30394,20 @@ snapshots: os-paths@4.4.0: {} + ox@0.1.2(typescript@5.7.2)(zod@3.24.1): + dependencies: + '@adraffy/ens-normalize': 1.10.1 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.5.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.6(typescript@5.7.2)(zod@3.24.1) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - zod + p-cancelable@2.1.1: {} p-finally@1.0.0: {} @@ -27864,6 +30453,11 @@ snapshots: eventemitter3: 4.0.7 p-timeout: 3.2.0 + p-retry@4.6.2: + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + p-timeout@3.2.0: dependencies: p-finally: 1.0.0 @@ -27888,6 +30482,8 @@ snapshots: pako@1.0.11: {} + pako@2.1.0: {} + param-case@3.0.4: dependencies: dot-case: 3.0.4 @@ -27954,6 +30550,8 @@ snapshots: parseurl@1.3.3: {} + partial-json@0.1.7: {} + pascal-case@3.1.2: dependencies: no-case: 3.0.4 @@ -27987,6 +30585,11 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + path-scurry@2.0.0: + dependencies: + lru-cache: 11.0.2 + minipass: 7.1.2 + path-to-regexp@0.1.12: {} path-to-regexp@1.9.0: @@ -28007,6 +30610,8 @@ snapshots: pathe@1.1.2: {} + pathval@2.0.0: {} + peek-readable@4.1.0: {} peek-stream@1.1.3: @@ -28175,6 +30780,14 @@ snapshots: postcss: 8.4.49 ts-node: 10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2) + postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.49)(yaml@2.6.1): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + jiti: 1.21.6 + postcss: 8.4.49 + yaml: 2.6.1 + postcss-merge-longhand@5.1.7(postcss@8.4.49): dependencies: postcss: 8.4.49 @@ -28489,6 +31102,20 @@ snapshots: end-of-stream: 1.4.4 once: 1.4.0 + pumpdotfun-sdk@1.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10): + dependencies: + '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@rollup/plugin-json': 6.1.0(rollup@4.28.1) + '@solana/spl-token': 0.4.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - rollup + - typescript + - utf-8-validate + pumpify@1.5.1: dependencies: duplexify: 3.7.1 @@ -28503,7 +31130,7 @@ snapshots: dependencies: escape-goat: 4.0.0 - puppeteer-core@2.1.1: + puppeteer-core@2.1.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@types/mime-types': 2.1.4 debug: 4.4.0 @@ -28514,7 +31141,7 @@ snapshots: progress: 2.0.3 proxy-from-env: 1.1.0 rimraf: 2.7.1 - ws: 6.2.3 + ws: 6.2.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - supports-color @@ -28855,6 +31482,8 @@ snapshots: dependencies: loose-envify: 1.4.0 + react@19.0.0-rc-df5f2736-20240712: {} + react@file:packages/usdk/packages/upstreet-agent/packages/react: {} read-cache@1.0.0: @@ -29219,6 +31848,8 @@ snapshots: onetime: 7.0.0 signal-exit: 4.1.0 + retry@0.13.1: {} + reusify@1.0.4: {} rimraf@2.6.3: @@ -29321,6 +31952,19 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.28.1 fsevents: 2.3.3 + rpc-websockets@9.0.4: + dependencies: + '@swc/helpers': 0.5.13 + '@types/uuid': 8.3.4 + '@types/ws': 8.5.13 + buffer: 6.0.3 + eventemitter3: 5.0.1 + uuid: 8.3.2 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + run-applescript@7.0.0: {} run-parallel@1.2.0: @@ -29595,6 +32239,8 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 + siginfo@2.0.0: {} + signal-exit@3.0.7: {} signal-exit@4.0.2: {} @@ -29661,6 +32307,10 @@ snapshots: source-map@0.7.4: {} + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + sourcemap-codec@1.4.8: {} space-separated-tokens@1.1.5: {} @@ -29704,6 +32354,11 @@ snapshots: svelte: 4.2.19 swrev: 4.0.0 + sswr@2.1.0(svelte@4.2.19): + dependencies: + svelte: 4.2.19 + swrev: 4.0.0 + stable-hash@0.0.4: {} stable@0.1.8: {} @@ -29714,6 +32369,8 @@ snapshots: dependencies: escape-string-regexp: 2.0.0 + stackback@0.0.2: {} + stackframe@1.3.4: {} stacktracey@2.1.8: @@ -29736,6 +32393,8 @@ snapshots: statuses@2.0.1: {} + std-env@3.8.0: {} + stdin-discarder@0.2.2: {} stop-iteration-iterator@1.0.0: @@ -29746,9 +32405,9 @@ snapshots: store2@2.14.3: {} - storybook@7.6.20: + storybook@7.6.20(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: - '@storybook/cli': 7.6.20 + '@storybook/cli': 7.6.20(bufferutil@4.0.9)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - encoding @@ -29972,6 +32631,10 @@ snapshots: transitivePeerDependencies: - supports-color + superstruct@0.15.5: {} + + superstruct@2.0.2: {} + supertap@3.0.1: dependencies: indent-string: 5.0.0 @@ -30052,6 +32715,18 @@ snapshots: react: 18.2.0 use-sync-external-store: 1.4.0(react@18.2.0) + swr@2.3.0(react@19.0.0-rc-df5f2736-20240712): + dependencies: + dequal: 2.0.3 + react: 19.0.0-rc-df5f2736-20240712 + use-sync-external-store: 1.4.0(react@19.0.0-rc-df5f2736-20240712) + + swr@2.3.0(react@file:packages/usdk/packages/upstreet-agent/packages/react): + dependencies: + dequal: 2.0.3 + react: file:packages/usdk/packages/upstreet-agent/packages/react + use-sync-external-store: 1.4.0(react@file:packages/usdk/packages/upstreet-agent/packages/react) + swrev@4.0.0: {} swrv@1.0.4(vue@3.5.13(typescript@5.7.2)): @@ -30244,6 +32919,8 @@ snapshots: dependencies: b4a: 1.6.7 + text-encoding-utf-8@1.0.2: {} + text-hex@1.0.0: {} text-table@0.2.0: {} @@ -30276,11 +32953,15 @@ snapshots: three@0.167.1: {} + throttleit@2.1.0: {} + through2@2.0.5: dependencies: readable-stream: 2.3.8 xtend: 4.0.2 + through@2.3.8: {} + time-span@4.0.0: dependencies: convert-hrtime: 3.0.0 @@ -30293,13 +32974,25 @@ snapshots: tiny-invariant@1.3.3: {} + tinybench@2.9.0: {} + tinycolor2@1.6.0: {} + tinyexec@0.3.1: {} + tinyglobby@0.2.10: dependencies: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 + tinyld@1.3.4: {} + + tinypool@1.0.2: {} + + tinyrainbow@1.2.0: {} + + tinyspy@3.0.2: {} + tmpl@1.0.5: {} to-absolute-glob@3.0.0: @@ -30313,6 +33006,8 @@ snapshots: tocbot@4.32.2: {} + toformat@2.0.0: {} + together-ai@0.6.0: dependencies: '@types/node': 18.19.68 @@ -30325,6 +33020,18 @@ snapshots: transitivePeerDependencies: - encoding + together-ai@0.7.0: + dependencies: + '@types/node': 18.19.68 + '@types/node-fetch': 2.6.12 + abort-controller: 3.0.0 + agentkeepalive: 4.5.0 + form-data-encoder: 1.7.2 + formdata-node: 4.4.1 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + toidentifier@1.0.0: {} toidentifier@1.0.1: {} @@ -30334,6 +33041,8 @@ snapshots: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 + toml@3.0.0: {} + tough-cookie@4.1.4: dependencies: psl: 1.15.0 @@ -30343,6 +33052,10 @@ snapshots: tr46@0.0.3: {} + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + tr46@3.0.0: dependencies: punycode: 2.3.1 @@ -30401,7 +33114,7 @@ snapshots: babel-jest: 29.7.0(@babel/core@7.26.0) esbuild: 0.20.2 - ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@22.8.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2)))(typescript@5.7.2): + ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(esbuild@0.24.0)(jest@29.7.0(@types/node@22.8.1)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2)))(typescript@5.7.2): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 @@ -30419,6 +33132,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.26.0) + esbuild: 0.24.0 ts-mixer@6.0.4: {} @@ -30545,12 +33259,46 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + tslib@1.14.1: {} tslib@2.7.0: {} tslib@2.8.1: {} + tsup@8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1): + dependencies: + bundle-require: 5.1.0(esbuild@0.24.0) + cac: 6.7.14 + chokidar: 4.0.1 + consola: 3.2.3 + debug: 4.4.0 + esbuild: 0.24.0 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.49)(yaml@2.6.1) + resolve-from: 5.0.0 + rollup: 4.28.1 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.1 + tinyglobby: 0.2.10 + tree-kill: 1.2.2 + optionalDependencies: + '@swc/core': 1.10.1(@swc/helpers@0.5.13) + postcss: 8.4.49 + typescript: 5.7.2 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + tunnel-rat@0.1.2(@types/react@18.2.48)(react@18.2.0): dependencies: zustand: 4.5.5(@types/react@18.2.48)(react@18.2.0) @@ -30817,15 +33565,18 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - upstreet-agent@file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@types/node@18.19.68)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(esbuild@0.20.2)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)): + upstreet-agent@file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@google-cloud/vertexai@1.9.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(axios@1.7.9)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0): dependencies: '@aws-sdk/util-format-url': 3.709.0 '@electric-sql/pglite': 0.2.15 - '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy - '@fal-ai/client': 1.2.1 + '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) + '@elizaos/plugin-3d-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) + '@elizaos/plugin-tee': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) + '@elizaos/plugin-trustdb': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) '@iarna/toml': 2.2.5 '@supabase/postgrest-js': 1.17.7 - '@supabase/supabase-js': 2.47.5 + '@supabase/supabase-js': 2.47.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@tsndr/cloudflare-worker-jwt': 2.5.3 '@types/jest': 29.5.14 browser-util-inspect: 0.2.0 @@ -30833,7 +33584,7 @@ snapshots: debouncer: file:packages/usdk/packages/upstreet-agent/packages/debouncer dedent: 1.5.3(babel-plugin-macros@3.1.0) dotenv: 16.4.7 - ethers: 6.13.4 + ethers: 6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) format-util: 1.0.5 fs: file:packages/usdk/packages/upstreet-agent/packages/fs-proxy javascript-time-ago: 2.5.11 @@ -30864,18 +33615,60 @@ snapshots: zod-to-ts: 1.2.0(typescript@5.7.2)(zod@3.24.1) transitivePeerDependencies: - '@babel/core' + - '@edge-runtime/vm' + - '@google-cloud/vertexai' - '@jest/transform' - '@jest/types' + - '@langchain/anthropic' + - '@langchain/aws' + - '@langchain/cohere' + - '@langchain/core' + - '@langchain/google-genai' + - '@langchain/google-vertexai' + - '@langchain/groq' + - '@langchain/mistralai' + - '@langchain/ollama' + - '@microsoft/api-extractor' + - '@swc/core' - '@types/node' + - '@vitest/browser' + - '@vitest/ui' + - axios - babel-jest - babel-plugin-macros - bufferutil + - cheerio + - debug - encoding - esbuild + - fastestsmallesttextencoderdecoder + - form-data + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw - node-notifier + - peggy + - postcss + - rollup + - sass + - sass-embedded + - solid-js + - sswr + - stylus + - sugarss - supports-color + - svelte + - terser - ts-node + - tsx + - typeorm - utf-8-validate + - vue + - whatwg-url + - yaml uri-js@4.4.1: dependencies: @@ -30976,11 +33769,24 @@ snapshots: dependencies: react: 18.2.0 + use-sync-external-store@1.4.0(react@19.0.0-rc-df5f2736-20240712): + dependencies: + react: 19.0.0-rc-df5f2736-20240712 + + use-sync-external-store@1.4.0(react@file:packages/usdk/packages/upstreet-agent/packages/react): + dependencies: + react: file:packages/usdk/packages/upstreet-agent/packages/react + usehooks-ts@2.16.0(react@18.2.0): dependencies: lodash.debounce: 4.0.8 react: 18.2.0 + utf-8-validate@5.0.10: + dependencies: + node-gyp-build: 4.8.4 + optional: true + utif2@4.1.0: dependencies: pako: 1.0.11 @@ -31006,8 +33812,14 @@ snapshots: js-md5: 0.7.3 js-sha1: 0.6.0 + uuid@10.0.0: {} + + uuid@11.0.3: {} + uuid@3.3.2: {} + uuid@8.3.2: {} + uuid@9.0.1: {} uvu@0.5.6: @@ -31076,6 +33888,94 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 + viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + '@scure/bip32': 1.5.0 + '@scure/bip39': 1.4.0 + abitype: 1.0.6(typescript@5.7.2)(zod@3.24.1) + isows: 1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + ox: 0.1.2(typescript@5.7.2)(zod@3.24.1) + webauthn-p256: 0.0.10 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + + vite-node@2.1.4(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + pathe: 1.1.2 + vite: 5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vite-node@2.1.4(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + pathe: 1.1.2 + vite: 5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vite-node@2.1.5(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.5.4 + pathe: 1.1.2 + vite: 5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vite-node@2.1.5(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0): + dependencies: + cac: 6.7.14 + debug: 4.4.0 + es-module-lexer: 1.5.4 + pathe: 1.1.2 + vite: 5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vite@4.5.5(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0): dependencies: esbuild: 0.18.20 @@ -31098,6 +33998,161 @@ snapshots: sass: 1.82.0 terser: 5.37.0 + vite@5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.49 + rollup: 4.28.1 + optionalDependencies: + '@types/node': 22.8.1 + fsevents: 2.3.3 + sass: 1.82.0 + terser: 5.37.0 + + vitest@2.1.4(@edge-runtime/vm@3.2.0)(@types/node@22.8.1)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(sass@1.82.0)(terser@5.37.0): + dependencies: + '@vitest/expect': 2.1.4 + '@vitest/mocker': 2.1.4(vite@5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.4 + '@vitest/snapshot': 2.1.4 + '@vitest/spy': 2.1.4 + '@vitest/utils': 2.1.4 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.15 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.1 + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) + vite-node: 2.1.4(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@edge-runtime/vm': 3.2.0 + '@types/node': 22.8.1 + jsdom: 20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vitest@2.1.4(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0): + dependencies: + '@vitest/expect': 2.1.4 + '@vitest/mocker': 2.1.4(vite@5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.4 + '@vitest/snapshot': 2.1.4 + '@vitest/spy': 2.1.4 + '@vitest/utils': 2.1.4 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.15 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.1 + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + vite-node: 2.1.4(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 18.19.68 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vitest@2.1.5(@edge-runtime/vm@3.2.0)(@types/node@22.8.1)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(sass@1.82.0)(terser@5.37.0): + dependencies: + '@vitest/expect': 2.1.5 + '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.5 + '@vitest/snapshot': 2.1.5 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.15 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.1 + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) + vite-node: 2.1.5(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@edge-runtime/vm': 3.2.0 + '@types/node': 22.8.1 + jsdom: 20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + + vitest@2.1.5(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0): + dependencies: + '@vitest/expect': 2.1.5 + '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)) + '@vitest/pretty-format': 2.1.8 + '@vitest/runner': 2.1.5 + '@vitest/snapshot': 2.1.5 + '@vitest/spy': 2.1.5 + '@vitest/utils': 2.1.5 + chai: 5.1.2 + debug: 4.4.0 + expect-type: 1.1.0 + magic-string: 0.30.15 + pathe: 1.1.2 + std-env: 3.8.0 + tinybench: 2.9.0 + tinyexec: 0.3.1 + tinypool: 1.0.2 + tinyrainbow: 1.2.0 + vite: 5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + vite-node: 2.1.5(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 18.19.68 + transitivePeerDependencies: + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vue@3.5.13(typescript@5.7.2): dependencies: '@vue/compiler-dom': 3.5.13 @@ -31133,12 +34188,19 @@ snapshots: web-worker@1.2.0: {} + webauthn-p256@0.0.10: + dependencies: + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + webgl-constants@1.1.1: {} webgl-sdf-generator@1.1.1: {} webidl-conversions@3.0.1: {} + webidl-conversions@4.0.2: {} + webidl-conversions@7.0.0: {} webp-wasm@1.0.6: {} @@ -31245,6 +34307,12 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + when-exit@2.1.3: {} which-boxed-primitive@1.1.0: @@ -31294,6 +34362,11 @@ snapshots: dependencies: isexe: 2.0.0 + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + wide-align@1.1.5: dependencies: string-width: 4.2.3 @@ -31334,7 +34407,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20241205.0 '@cloudflare/workerd-windows-64': 1.20241205.0 - wrangler@3.95.0: + wrangler@3.95.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 '@cloudflare/workers-shared': 0.11.0 @@ -31345,7 +34418,7 @@ snapshots: date-fns: 4.1.0 esbuild: 0.17.19 itty-time: 1.0.6 - miniflare: 3.20241205.0 + miniflare: 3.20241205.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) nanoid: 3.3.8 path-to-regexp: 6.3.0 resolve: 1.22.8 @@ -31397,13 +34470,27 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 4.1.0 - ws@6.2.3: + ws@6.2.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: async-limiter: 1.0.1 + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 + + ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 - ws@8.17.1: {} + ws@8.17.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 - ws@8.18.0: {} + ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 5.0.10 xdg-app-paths@5.1.0: dependencies: @@ -31553,6 +34640,10 @@ snapshots: dependencies: zod: 3.24.1 + zod-to-json-schema@3.24.1(zod@3.23.8): + dependencies: + zod: 3.23.8 + zod-to-json-schema@3.24.1(zod@3.24.1): dependencies: zod: 3.24.1 @@ -31567,6 +34658,8 @@ snapshots: typescript: 5.7.2 zod: 3.24.1 + zod@3.23.8: {} + zod@3.24.1: {} zustand@3.7.2(react@18.2.0): From 12af0dfc8e2e64ce1f1a2f97e4fa428845fb26fd Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 02:08:58 -0800 Subject: [PATCH 023/312] Update package.json --- packages/usdk/packages/upstreet-agent/package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index d1a060cb4..708b86ec7 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -5,7 +5,10 @@ "@aws-sdk/util-format-url": "^3.577.0", "@electric-sql/pglite": "^0.2.15", "@elizaos/core": "file:./packages/elizaos-core-proxy", - "@fal-ai/client": "^1.2.1", + "@elizaos/plugin-3d-generation": "file:./packages/react-agents/components/plugins/plugin-3d-generation", + "@elizaos/plugin-solana": "file:./packages/react-agents/components/plugins/plugin-solana", + "@elizaos/plugin-tee": "file:./packages/react-agents/components/plugins/plugin-tee", + "@elizaos/plugin-trustdb": "file:./packages/react-agents/components/plugins/plugin-trustdb", "@iarna/toml": "^2.2.5", "@supabase/postgrest-js": "^1.17.7", "@supabase/supabase-js": "^2.47.1", From d36558290a3bb29a2dcb34c2afc60840eae3e8bf Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 02:09:28 -0800 Subject: [PATCH 024/312] Add elizaos-core-proxy index --- .../packages/elizaos-core-proxy/index.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/index.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/index.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/index.ts new file mode 100644 index 000000000..7c49bfa92 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/index.ts @@ -0,0 +1,25 @@ +export * from "./types.ts"; +export * from "./context.ts"; +export * from "./generation.ts"; +export * from "./memory.ts"; +export * from "./parsing.ts"; + +// + +type State = {}; +type IAgentRuntime = {}; + +// + +export const elizaLogger = console; +export const settings = { + SOL_ADDRESS: 'So11111111111111111111111111111111111111112', + SLIPPAGE: '1', +}; + +export const Action = {}; +export const HandlerCallback = {}; +export const IAgentRuntime = {}; +export const Memory = {}; +export const Plugin = {}; +export const State = {}; \ No newline at end of file From ac9854333f92c700edeaf69ae007c9de2ea7a773 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 02:09:48 -0800 Subject: [PATCH 025/312] Add deps to elizaos-core-proxy --- .../packages/elizaos-core-proxy/package.json | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/package.json b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/package.json index bd7788230..9537bf95a 100644 --- a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/package.json @@ -1,4 +1,32 @@ { "name": "@elizaos/core", - "main": "elizaos-core.ts" + "main": "index.ts", + "dependencies": { + "@ai-sdk/anthropic": "0.0.56", + "@ai-sdk/google": "0.0.55", + "@ai-sdk/google-vertex": "0.0.43", + "@ai-sdk/groq": "0.0.3", + "@ai-sdk/openai": "1.0.5", + "@anthropic-ai/sdk": "0.30.1", + "@fal-ai/client": "1.2.0", + "@solana/web3.js": "1.95.8", + "@types/uuid": "10.0.0", + "ai": "3.4.33", + "anthropic-vertex-ai": "1.0.2", + "fastembed": "1.14.1", + "fastestsmallesttextencoderdecoder": "1.0.22", + "gaxios": "6.7.1", + "glob": "11.0.0", + "handlebars": "^4.7.8", + "js-sha1": "0.7.0", + "js-tiktoken": "1.0.15", + "langchain": "0.3.6", + "ollama-ai-provider": "0.16.1", + "openai": "4.73.0", + "tinyld": "1.3.4", + "together-ai": "0.7.0", + "unique-names-generator": "4.7.1", + "uuid": "11.0.3", + "zod": "3.23.8" + } } \ No newline at end of file From b196f74c913de5150895311e25b53db15bc6fe94 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 02:10:40 -0800 Subject: [PATCH 026/312] Add new Solana plugin and update 3D generation plugin --- .../react-agents/components/plugins/index.tsx | 61 ++++++++++++++++--- 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 5a6735082..9165c0e0a 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -1,7 +1,8 @@ import React from 'react'; import { Action, useEnv } from 'react-agents'; import { z } from 'zod'; -import { ThreeDGenerationPlugin } from './plugin-3d-generation/src/index.ts'; +import { ThreeDGenerationPlugin } from '@elizaos/plugin-3d-generation'; +import { solanaPlugin } from '@elizaos/plugin-solana'; import util from 'util'; @@ -22,6 +23,16 @@ function generateZodSchema(obj: any): z.ZodTypeAny { return z.any(); } +// + +type IAgentRuntime = {}; +type State = {}; +type Options = {}; +type Memory = { + user: string; + content: any; +}; + type IActionHandlerAttachment = { id: string; url: string; @@ -35,26 +46,55 @@ type IActionHandlerCallbackArgs = { error?: boolean; attachments?: IActionHandlerAttachment[], }; -type IActionHandler = ( - runtime: any, - message: { - content: any; - }, - state: any, - options: any, +type HandlerFn = ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: Options, callback: (result: IActionHandlerCallbackArgs) => void, ) => void; +type ValidateFn = ( + runtime: IAgentRuntime, + message: Memory, +) => Promise; type IAction = { name: string; // similies?: string[]; description: string; - examples: any[]; - handler: IActionHandler; + examples: Memory[][]; + validate: ValidateFn, + handler: HandlerFn; +}; + +type IEvaluator = { + name: string; + // similes?: string[], + alwaysRun?: boolean, + validate: ValidateFn, + description: string, + handler: HandlerFn, + examples: { + context: string; + message: Memory[]; + }[], +}; + +type IProvider = { + get: ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ) => Promise; }; + type IPlugin = { actions: IAction[]; + evaluators: IEvaluator[]; + providers: IProvider[]; }; +// + const pluginWrap = (plugin: IPlugin) => (props: any) => { console.log('render plugin', util.inspect(plugin, { depth: 7, @@ -129,4 +169,5 @@ const pluginWrap = (plugin: IPlugin) => (props: any) => { export const plugins = { '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), + '@elizaos/plugin-solana': pluginWrap(solanaPlugin), }; \ No newline at end of file From 3ca4ca555672f2f5a96196e3f9f0509596071e03 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 02:10:52 -0800 Subject: [PATCH 027/312] Add generation module export and update settings in elizaos-core --- .../packages/elizaos-core-proxy/elizaos-core.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts index e8868cba7..aac71e9b8 100644 --- a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts @@ -1,4 +1,17 @@ +export * from "./generation.ts"; + +// + +type State = {}; +type IAgentRuntime = {}; + +// + export const elizaLogger = console; +export const settings = { + SOL_ADDRESS: 'So11111111111111111111111111111111111111112', + SLIPPAGE: '1', +}; export const Action = {}; export const HandlerCallback = {}; From 21e0456cfc08f656a3de396bc0f7655b5dd90e9e Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 02:11:00 -0800 Subject: [PATCH 028/312] Add mainFields configuration for Vite server resolving --- .../upstreet-agent/packages/react-agents-node/worker.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs index 7f6392ccb..daff1dcfb 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs @@ -109,6 +109,7 @@ const makeViteServer = async (directory) => { external: ['react', 'react-reconciler'], }, resolve: { + mainFields: ['main', 'module', 'browser'], // these proxies are necessary for vite to polyfill node builtins fs: import.meta.resolve('fs').replace('file://', ''), }, From 1f0dd1a07dda721384203f96cec8cebbe5b545d8 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 02:12:06 -0800 Subject: [PATCH 029/312] Add plugins hacks --- .../components/plugins/plugin-3d-generation/.npmignore | 7 ------- .../components/plugins/plugin-3d-generation/package.json | 6 +++--- .../components/plugins/plugin-solana/.npmignore | 6 ------ .../components/plugins/plugin-solana/package.json | 7 ++----- .../react-agents/components/plugins/plugin-tee/.npmignore | 6 ------ .../components/plugins/plugin-tee/package.json | 4 +--- .../components/plugins/plugin-trustdb/.npmignore | 6 ------ .../components/plugins/plugin-trustdb/package.json | 4 +--- 8 files changed, 7 insertions(+), 39 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/.npmignore delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/.npmignore delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/.npmignore delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/.npmignore deleted file mode 100644 index a9227d220..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/.npmignore +++ /dev/null @@ -1,7 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts -!tsconfig.json \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/package.json index 30b4982c7..09a492c10 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation/package.json @@ -1,11 +1,11 @@ { "name": "@elizaos/plugin-3d-generation", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", + "@fal-ai/client": "1.2.0", + "@solana/web3.js": "1.95.8", "tsup": "8.3.5", "whatwg-url": "7.1.0" }, diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/package.json index 6f4fb1c9b..9aedafed3 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana/package.json @@ -1,16 +1,13 @@ { "name": "@elizaos/plugin-solana", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", - "@elizaos/plugin-tee": "workspace:*", "@coral-xyz/anchor": "0.30.1", "@solana/spl-token": "0.4.9", "@solana/web3.js": "1.95.8", + "amqplib": "0.10.5", "bignumber": "1.1.0", "bignumber.js": "9.1.2", "bs58": "6.0.0", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/package.json index ac931632d..837b0103c 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-tee", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "@phala/dstack-sdk": "0.1.6", "@solana/spl-token": "0.4.9", "@solana/web3.js": "1.95.8", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/package.json index 57e2894cf..fffea322c 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-trustdb", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "dompurify": "3.2.2", "tsup": "8.3.5", "uuid": "11.0.3", From 84611f3692463a73b75f36857d7d14e1cf536c2a Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 17:54:12 -0800 Subject: [PATCH 030/312] Update elizaos-core-proxy files --- .../packages/elizaos-core-proxy/context.ts | 104 + .../elizaos-core-proxy/elizaos-core.ts | 21 - .../packages/elizaos-core-proxy/generation.ts | 1763 +++++++++++++++++ .../packages/elizaos-core-proxy/memory.ts | 243 +++ .../packages/elizaos-core-proxy/parsing.ts | 207 ++ .../packages/elizaos-core-proxy/types.ts | 1280 ++++++++++++ 6 files changed, 3597 insertions(+), 21 deletions(-) create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/context.ts delete mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/generation.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/memory.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/parsing.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/types.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/context.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/context.ts new file mode 100644 index 000000000..a682e6794 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/context.ts @@ -0,0 +1,104 @@ +import handlebars from "handlebars"; +import { type State } from "./types.ts"; +import { names, uniqueNamesGenerator } from "unique-names-generator"; + +/** + * Composes a context string by replacing placeholders in a template with corresponding values from the state. + * + * This function takes a template string with placeholders in the format `{{placeholder}}` and a state object. + * It replaces each placeholder with the value from the state object that matches the placeholder's name. + * If a matching key is not found in the state object for a given placeholder, the placeholder is replaced with an empty string. + * + * By default, this function uses a simple string replacement approach. However, when `templatingEngine` is set to `'handlebars'`, it uses Handlebars templating engine instead, compiling the template into a reusable function and evaluating it with the provided state object. + * + * @param {Object} params - The parameters for composing the context. + * @param {State} params.state - The state object containing values to replace the placeholders in the template. + * @param {string} params.template - The template string containing placeholders to be replaced with state values. + * @param {"handlebars" | undefined} [params.templatingEngine] - The templating engine to use for compiling and evaluating the template (optional, default: `undefined`). + * @returns {string} The composed context string with placeholders replaced by corresponding state values. + * + * @example + * // Given a state object and a template + * const state = { userName: "Alice", userAge: 30 }; + * const template = "Hello, {{userName}}! You are {{userAge}} years old"; + * + * // Composing the context with simple string replacement will result in: + * // "Hello, Alice! You are 30 years old." + * const contextSimple = composeContext({ state, template }); + */ +export const composeContext = ({ + state, + template, + templatingEngine, +}: { + state: State; + template: string; + templatingEngine?: "handlebars"; +}) => { + if (templatingEngine === "handlebars") { + const templateFunction = handlebars.compile(template); + return templateFunction(state); + } + + // @ts-expect-error match isn't working as expected + const out = template.replace(/{{\w+}}/g, (match) => { + const key = match.replace(/{{|}}/g, ""); + return state[key] ?? ""; + }); + return out; +}; + +/** + * Adds a header to a body of text. + * + * This function takes a header string and a body string and returns a new string with the header prepended to the body. + * If the body string is empty, the header is returned as is. + * + * @param {string} header - The header to add to the body. + * @param {string} body - The body to which to add the header. + * @returns {string} The body with the header prepended. + * + * @example + * // Given a header and a body + * const header = "Header"; + * const body = "Body"; + * + * // Adding the header to the body will result in: + * // "Header\nBody" + * const text = addHeader(header, body); + */ +export const addHeader = (header: string, body: string) => { + return body.length > 0 ? `${header ? header + "\n" : header}${body}\n` : ""; +}; + +/** + * Generates a string with random user names populated in a template. + * + * This function generates a specified number of random user names and populates placeholders + * in the provided template with these names. Placeholders in the template should follow the format `{{userX}}` + * where `X` is the position of the user (e.g., `{{user1}}`, `{{user2}}`). + * + * @param {string} params.template - The template string containing placeholders for random user names. + * @param {number} params.length - The number of random user names to generate. + * @returns {string} The template string with placeholders replaced by random user names. + * + * @example + * // Given a template and a length + * const template = "Hello, {{user1}}! Meet {{user2}} and {{user3}}."; + * const length = 3; + * + * // Composing the random user string will result in: + * // "Hello, John! Meet Alice and Bob." + * const result = composeRandomUser({ template, length }); + */ +export const composeRandomUser = (template: string, length: number) => { + const exampleNames = Array.from({ length }, () => + uniqueNamesGenerator({ dictionaries: [names] }) + ); + let result = template; + for (let i = 0; i < exampleNames.length; i++) { + result = result.replaceAll(`{{user${i + 1}}}`, exampleNames[i]); + } + + return result; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts deleted file mode 100644 index aac71e9b8..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/elizaos-core.ts +++ /dev/null @@ -1,21 +0,0 @@ -export * from "./generation.ts"; - -// - -type State = {}; -type IAgentRuntime = {}; - -// - -export const elizaLogger = console; -export const settings = { - SOL_ADDRESS: 'So11111111111111111111111111111111111111112', - SLIPPAGE: '1', -}; - -export const Action = {}; -export const HandlerCallback = {}; -export const IAgentRuntime = {}; -export const Memory = {}; -export const Plugin = {}; -export const State = {}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/generation.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/generation.ts new file mode 100644 index 000000000..64873a42c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/generation.ts @@ -0,0 +1,1763 @@ +import { createAnthropic } from "@ai-sdk/anthropic"; +import { createGoogleGenerativeAI } from "@ai-sdk/google"; +import { createGroq } from "@ai-sdk/groq"; +import { createOpenAI } from "@ai-sdk/openai"; +import { RecursiveCharacterTextSplitter } from "langchain/text_splitter"; +import { + generateObject as aiGenerateObject, + generateText as aiGenerateText, + GenerateObjectResult, +} from "ai"; +import { Buffer } from "buffer"; +// import { createOllama } from "ollama-ai-provider"; +import OpenAI from "openai"; +import { encodingForModel, TiktokenModel } from "js-tiktoken"; +import Together from "together-ai"; +import { ZodSchema } from "zod"; +import { elizaLogger } from "./index.ts"; +import { getModel, models } from "./models.ts"; +import { + parseBooleanFromText, + parseJsonArrayFromText, + parseJSONObjectFromText, + parseShouldRespondFromText, + parseActionResponseFromText, +} from "./parsing.ts"; +import settings from "./settings.ts"; +import { + Content, + IAgentRuntime, + IImageDescriptionService, + ITextGenerationService, + ModelClass, + ModelProviderName, + ServiceType, + SearchResponse, + ActionResponse, +} from "./types.ts"; +import { fal } from "@fal-ai/client"; + +/** + * Send a message to the model for a text generateText - receive a string back and parse how you'd like + * @param opts - The options for the generateText request. + * @param opts.context The context of the message to be completed. + * @param opts.stop A list of strings to stop the generateText at. + * @param opts.model The model to use for generateText. + * @param opts.frequency_penalty The frequency penalty to apply to the generateText. + * @param opts.presence_penalty The presence penalty to apply to the generateText. + * @param opts.temperature The temperature to apply to the generateText. + * @param opts.max_context_length The maximum length of the context to apply to the generateText. + * @returns The completed message. + */ + +export async function generateText({ + runtime, + context, + modelClass, + stop, + customSystemPrompt, +}: { + runtime: IAgentRuntime; + context: string; + modelClass: string; + stop?: string[]; + customSystemPrompt?: string; +}): Promise { + if (!context) { + console.error("generateText context is empty"); + return ""; + } + + elizaLogger.log("Generating text..."); + + elizaLogger.info("Generating text with options:", { + modelProvider: runtime.modelProvider, + model: modelClass, + }); + + const provider = runtime.modelProvider; + const endpoint = + runtime.character.modelEndpointOverride || models[provider].endpoint; + let model = models[provider].model[modelClass]; + + // allow character.json settings => secrets to override models + // FIXME: add MODEL_MEDIUM support + switch (provider) { + // if runtime.getSetting("LLAMACLOUD_MODEL_LARGE") is true and modelProvider is LLAMACLOUD, then use the large model + case ModelProviderName.LLAMACLOUD: + { + switch (modelClass) { + case ModelClass.LARGE: + { + model = + runtime.getSetting("LLAMACLOUD_MODEL_LARGE") || + model; + } + break; + case ModelClass.SMALL: + { + model = + runtime.getSetting("LLAMACLOUD_MODEL_SMALL") || + model; + } + break; + } + } + break; + case ModelProviderName.TOGETHER: + { + switch (modelClass) { + case ModelClass.LARGE: + { + model = + runtime.getSetting("TOGETHER_MODEL_LARGE") || + model; + } + break; + case ModelClass.SMALL: + { + model = + runtime.getSetting("TOGETHER_MODEL_SMALL") || + model; + } + break; + } + } + break; + case ModelProviderName.OPENROUTER: + { + switch (modelClass) { + case ModelClass.LARGE: + { + model = + runtime.getSetting("LARGE_OPENROUTER_MODEL") || + model; + } + break; + case ModelClass.SMALL: + { + model = + runtime.getSetting("SMALL_OPENROUTER_MODEL") || + model; + } + break; + } + } + break; + } + + elizaLogger.info("Selected model:", model); + + const modelConfiguration = runtime.character?.settings?.modelConfig; + const temperature = + modelConfiguration?.temperature || + models[provider].settings.temperature; + const frequency_penalty = + modelConfiguration?.frequency_penalty || + models[provider].settings.frequency_penalty; + const presence_penalty = + modelConfiguration?.presence_penalty || + models[provider].settings.presence_penalty; + const max_context_length = + modelConfiguration?.maxInputTokens || + models[provider].settings.maxInputTokens; + const max_response_length = + modelConfiguration?.max_response_length || + models[provider].settings.maxOutputTokens; + + const apiKey = runtime.token; + + try { + elizaLogger.debug( + `Trimming context to max length of ${max_context_length} tokens.` + ); + context = await trimTokens(context, max_context_length, "gpt-4o"); + + let response: string; + + const _stop = stop || models[provider].settings.stop; + elizaLogger.debug( + `Using provider: ${provider}, model: ${model}, temperature: ${temperature}, max response length: ${max_response_length}` + ); + + switch (provider) { + // OPENAI & LLAMACLOUD shared same structure. + case ModelProviderName.OPENAI: + case ModelProviderName.ETERNALAI: + case ModelProviderName.ALI_BAILIAN: + case ModelProviderName.VOLENGINE: + case ModelProviderName.LLAMACLOUD: + case ModelProviderName.NANOGPT: + case ModelProviderName.HYPERBOLIC: + case ModelProviderName.TOGETHER: + case ModelProviderName.AKASH_CHAT_API: { + elizaLogger.debug("Initializing OpenAI model."); + const openai = createOpenAI({ + apiKey, + baseURL: endpoint, + fetch: runtime.fetch, + }); + + const { text: openaiResponse } = await aiGenerateText({ + model: openai.languageModel(model), + prompt: context, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = openaiResponse; + elizaLogger.debug("Received response from OpenAI model."); + break; + } + + case ModelProviderName.GOOGLE: { + const google = createGoogleGenerativeAI({ + fetch: runtime.fetch, + }); + + const { text: googleResponse } = await aiGenerateText({ + model: google(model), + prompt: context, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = googleResponse; + elizaLogger.debug("Received response from Google model."); + break; + } + + case ModelProviderName.ANTHROPIC: { + elizaLogger.debug("Initializing Anthropic model."); + + const anthropic = createAnthropic({ + apiKey, + fetch: runtime.fetch, + }); + + const { text: anthropicResponse } = await aiGenerateText({ + model: anthropic.languageModel(model), + prompt: context, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = anthropicResponse; + elizaLogger.debug("Received response from Anthropic model."); + break; + } + + case ModelProviderName.CLAUDE_VERTEX: { + elizaLogger.debug("Initializing Claude Vertex model."); + + const anthropic = createAnthropic({ + apiKey, + fetch: runtime.fetch, + }); + + const { text: anthropicResponse } = await aiGenerateText({ + model: anthropic.languageModel(model), + prompt: context, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = anthropicResponse; + elizaLogger.debug( + "Received response from Claude Vertex model." + ); + break; + } + + case ModelProviderName.GROK: { + elizaLogger.debug("Initializing Grok model."); + const grok = createOpenAI({ + apiKey, + baseURL: endpoint, + fetch: runtime.fetch, + }); + + const { text: grokResponse } = await aiGenerateText({ + model: grok.languageModel(model, { + parallelToolCalls: false, + }), + prompt: context, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = grokResponse; + elizaLogger.debug("Received response from Grok model."); + break; + } + + case ModelProviderName.GROQ: { + const groq = createGroq({ apiKey, fetch: runtime.fetch }); + + const { text: groqResponse } = await aiGenerateText({ + model: groq.languageModel(model), + prompt: context, + temperature: temperature, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = groqResponse; + break; + } + + case ModelProviderName.LLAMALOCAL: { + elizaLogger.debug( + "Using local Llama model for text completion." + ); + const textGenerationService = + runtime.getService( + ServiceType.TEXT_GENERATION + ); + + if (!textGenerationService) { + throw new Error("Text generation service not found"); + } + + response = await textGenerationService.queueTextCompletion( + context, + temperature, + _stop, + frequency_penalty, + presence_penalty, + max_response_length + ); + elizaLogger.debug("Received response from local Llama model."); + break; + } + + case ModelProviderName.REDPILL: { + elizaLogger.debug("Initializing RedPill model."); + const serverUrl = models[provider].endpoint; + const openai = createOpenAI({ + apiKey, + baseURL: serverUrl, + fetch: runtime.fetch, + }); + + const { text: redpillResponse } = await aiGenerateText({ + model: openai.languageModel(model), + prompt: context, + temperature: temperature, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = redpillResponse; + elizaLogger.debug("Received response from redpill model."); + break; + } + + case ModelProviderName.OPENROUTER: { + elizaLogger.debug("Initializing OpenRouter model."); + const serverUrl = models[provider].endpoint; + const openrouter = createOpenAI({ + apiKey, + baseURL: serverUrl, + fetch: runtime.fetch, + }); + + const { text: openrouterResponse } = await aiGenerateText({ + model: openrouter.languageModel(model), + prompt: context, + temperature: temperature, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = openrouterResponse; + elizaLogger.debug("Received response from OpenRouter model."); + break; + } + + /* case ModelProviderName.OLLAMA: + { + elizaLogger.debug("Initializing Ollama model."); + + const ollamaProvider = createOllama({ + baseURL: models[provider].endpoint + "/api", + fetch: runtime.fetch, + }); + const ollama = ollamaProvider(model); + + elizaLogger.debug("****** MODEL\n", model); + + const { text: ollamaResponse } = await aiGenerateText({ + model: ollama, + prompt: context, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = ollamaResponse; + } + elizaLogger.debug("Received response from Ollama model."); + break; */ + + case ModelProviderName.HEURIST: { + elizaLogger.debug("Initializing Heurist model."); + const heurist = createOpenAI({ + apiKey: apiKey, + baseURL: endpoint, + fetch: runtime.fetch, + }); + + const { text: heuristResponse } = await aiGenerateText({ + model: heurist.languageModel(model), + prompt: context, + system: + customSystemPrompt ?? + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = heuristResponse; + elizaLogger.debug("Received response from Heurist model."); + break; + } + case ModelProviderName.GAIANET: { + elizaLogger.debug("Initializing GAIANET model."); + + var baseURL = models[provider].endpoint; + if (!baseURL) { + switch (modelClass) { + case ModelClass.SMALL: + baseURL = + settings.SMALL_GAIANET_SERVER_URL || + "https://llama3b.gaia.domains/v1"; + break; + case ModelClass.MEDIUM: + baseURL = + settings.MEDIUM_GAIANET_SERVER_URL || + "https://llama8b.gaia.domains/v1"; + break; + case ModelClass.LARGE: + baseURL = + settings.LARGE_GAIANET_SERVER_URL || + "https://qwen72b.gaia.domains/v1"; + break; + } + } + + elizaLogger.debug("Using GAIANET model with baseURL:", baseURL); + + const openai = createOpenAI({ + apiKey, + baseURL: endpoint, + fetch: runtime.fetch, + }); + + const { text: openaiResponse } = await aiGenerateText({ + model: openai.languageModel(model), + prompt: context, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = openaiResponse; + elizaLogger.debug("Received response from GAIANET model."); + break; + } + + case ModelProviderName.GALADRIEL: { + elizaLogger.debug("Initializing Galadriel model."); + const galadriel = createOpenAI({ + apiKey: apiKey, + baseURL: endpoint, + fetch: runtime.fetch, + }); + + const { text: galadrielResponse } = await aiGenerateText({ + model: galadriel.languageModel(model), + prompt: context, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + }); + + response = galadrielResponse; + elizaLogger.debug("Received response from Galadriel model."); + break; + } + + case ModelProviderName.VENICE: { + elizaLogger.debug("Initializing Venice model."); + const venice = createOpenAI({ + apiKey: apiKey, + baseURL: endpoint, + }); + + const { text: veniceResponse } = await aiGenerateText({ + model: venice.languageModel(model), + prompt: context, + system: + runtime.character.system ?? + settings.SYSTEM_PROMPT ?? + undefined, + temperature: temperature, + maxTokens: max_response_length, + }); + + response = veniceResponse; + elizaLogger.debug("Received response from Venice model."); + break; + } + + default: { + const errorMessage = `Unsupported provider: ${provider}`; + elizaLogger.error(errorMessage); + throw new Error(errorMessage); + } + } + + return response; + } catch (error) { + elizaLogger.error("Error in generateText:", error); + throw error; + } +} + +/** + * Truncate the context to the maximum length allowed by the model. + * @param context The text to truncate + * @param maxTokens Maximum number of tokens to keep + * @param model The tokenizer model to use + * @returns The truncated text + */ +export function trimTokens( + context: string, + maxTokens: number, + model: TiktokenModel +): string { + if (!context) return ""; + if (maxTokens <= 0) throw new Error("maxTokens must be positive"); + + // Get the tokenizer for the model + const encoding = encodingForModel(model); + + try { + // Encode the text into tokens + const tokens = encoding.encode(context); + + // If already within limits, return unchanged + if (tokens.length <= maxTokens) { + return context; + } + + // Keep the most recent tokens by slicing from the end + const truncatedTokens = tokens.slice(-maxTokens); + + // Decode back to text - js-tiktoken decode() returns a string directly + return encoding.decode(truncatedTokens); + } catch (error) { + console.error("Error in trimTokens:", error); + // Return truncated string if tokenization fails + return context.slice(-maxTokens * 4); // Rough estimate of 4 chars per token + } +} + +/** + * Sends a message to the model to determine if it should respond to the given context. + * @param opts - The options for the generateText request + * @param opts.context The context to evaluate for response + * @param opts.stop A list of strings to stop the generateText at + * @param opts.model The model to use for generateText + * @param opts.frequency_penalty The frequency penalty to apply (0.0 to 2.0) + * @param opts.presence_penalty The presence penalty to apply (0.0 to 2.0) + * @param opts.temperature The temperature to control randomness (0.0 to 2.0) + * @param opts.serverUrl The URL of the API server + * @param opts.max_context_length Maximum allowed context length in tokens + * @param opts.max_response_length Maximum allowed response length in tokens + * @returns Promise resolving to "RESPOND", "IGNORE", "STOP" or null + */ +export async function generateShouldRespond({ + runtime, + context, + modelClass, +}: { + runtime: IAgentRuntime; + context: string; + modelClass: string; +}): Promise<"RESPOND" | "IGNORE" | "STOP" | null> { + let retryDelay = 1000; + while (true) { + try { + elizaLogger.debug( + "Attempting to generate text with context:", + context + ); + const response = await generateText({ + runtime, + context, + modelClass, + }); + + elizaLogger.debug("Received response from generateText:", response); + const parsedResponse = parseShouldRespondFromText(response.trim()); + if (parsedResponse) { + elizaLogger.debug("Parsed response:", parsedResponse); + return parsedResponse; + } else { + elizaLogger.debug("generateShouldRespond no response"); + } + } catch (error) { + elizaLogger.error("Error in generateShouldRespond:", error); + if ( + error instanceof TypeError && + error.message.includes("queueTextCompletion") + ) { + elizaLogger.error( + "TypeError: Cannot read properties of null (reading 'queueTextCompletion')" + ); + } + } + + elizaLogger.log(`Retrying in ${retryDelay}ms...`); + await new Promise((resolve) => setTimeout(resolve, retryDelay)); + retryDelay *= 2; + } +} + +/** + * Splits content into chunks of specified size with optional overlapping bleed sections + * @param content - The text content to split into chunks + * @param chunkSize - The maximum size of each chunk in tokens + * @param bleed - Number of characters to overlap between chunks (default: 100) + * @returns Promise resolving to array of text chunks with bleed sections + */ +export async function splitChunks( + content: string, + chunkSize: number = 512, + bleed: number = 20 +): Promise { + const textSplitter = new RecursiveCharacterTextSplitter({ + chunkSize: Number(chunkSize), + chunkOverlap: Number(bleed), + }); + + return textSplitter.splitText(content); +} + +/** + * Sends a message to the model and parses the response as a boolean value + * @param opts - The options for the generateText request + * @param opts.context The context to evaluate for the boolean response + * @param opts.stop A list of strings to stop the generateText at + * @param opts.model The model to use for generateText + * @param opts.frequency_penalty The frequency penalty to apply (0.0 to 2.0) + * @param opts.presence_penalty The presence penalty to apply (0.0 to 2.0) + * @param opts.temperature The temperature to control randomness (0.0 to 2.0) + * @param opts.serverUrl The URL of the API server + * @param opts.token The API token for authentication + * @param opts.max_context_length Maximum allowed context length in tokens + * @param opts.max_response_length Maximum allowed response length in tokens + * @returns Promise resolving to a boolean value parsed from the model's response + */ +export async function generateTrueOrFalse({ + runtime, + context = "", + modelClass, +}: { + runtime: IAgentRuntime; + context: string; + modelClass: string; +}): Promise { + let retryDelay = 1000; + + const stop = Array.from( + new Set([ + ...(models[runtime.modelProvider].settings.stop || []), + ["\n"], + ]) + ) as string[]; + + while (true) { + try { + const response = await generateText({ + stop, + runtime, + context, + modelClass, + }); + + const parsedResponse = parseBooleanFromText(response.trim()); + if (parsedResponse !== null) { + return parsedResponse; + } + } catch (error) { + elizaLogger.error("Error in generateTrueOrFalse:", error); + } + + await new Promise((resolve) => setTimeout(resolve, retryDelay)); + retryDelay *= 2; + } +} + +/** + * Send a message to the model and parse the response as a string array + * @param opts - The options for the generateText request + * @param opts.context The context/prompt to send to the model + * @param opts.stop Array of strings that will stop the model's generation if encountered + * @param opts.model The language model to use + * @param opts.frequency_penalty The frequency penalty to apply (0.0 to 2.0) + * @param opts.presence_penalty The presence penalty to apply (0.0 to 2.0) + * @param opts.temperature The temperature to control randomness (0.0 to 2.0) + * @param opts.serverUrl The URL of the API server + * @param opts.token The API token for authentication + * @param opts.max_context_length Maximum allowed context length in tokens + * @param opts.max_response_length Maximum allowed response length in tokens + * @returns Promise resolving to an array of strings parsed from the model's response + */ +export async function generateTextArray({ + runtime, + context, + modelClass, +}: { + runtime: IAgentRuntime; + context: string; + modelClass: string; +}): Promise { + if (!context) { + elizaLogger.error("generateTextArray context is empty"); + return []; + } + let retryDelay = 1000; + + while (true) { + try { + const response = await generateText({ + runtime, + context, + modelClass, + }); + + const parsedResponse = parseJsonArrayFromText(response); + if (parsedResponse) { + return parsedResponse; + } + } catch (error) { + elizaLogger.error("Error in generateTextArray:", error); + } + + await new Promise((resolve) => setTimeout(resolve, retryDelay)); + retryDelay *= 2; + } +} + +export async function generateObjectDeprecated({ + runtime, + context, + modelClass, +}: { + runtime: IAgentRuntime; + context: string; + modelClass: string; +}): Promise { + if (!context) { + elizaLogger.error("generateObjectDeprecated context is empty"); + return null; + } + let retryDelay = 1000; + + while (true) { + try { + // this is slightly different than generateObjectArray, in that we parse object, not object array + const response = await generateText({ + runtime, + context, + modelClass, + }); + const parsedResponse = parseJSONObjectFromText(response); + if (parsedResponse) { + return parsedResponse; + } + } catch (error) { + elizaLogger.error("Error in generateObject:", error); + } + + await new Promise((resolve) => setTimeout(resolve, retryDelay)); + retryDelay *= 2; + } +} + +export async function generateObjectArray({ + runtime, + context, + modelClass, +}: { + runtime: IAgentRuntime; + context: string; + modelClass: string; +}): Promise { + if (!context) { + elizaLogger.error("generateObjectArray context is empty"); + return []; + } + let retryDelay = 1000; + + while (true) { + try { + const response = await generateText({ + runtime, + context, + modelClass, + }); + + const parsedResponse = parseJsonArrayFromText(response); + if (parsedResponse) { + return parsedResponse; + } + } catch (error) { + elizaLogger.error("Error in generateTextArray:", error); + } + + await new Promise((resolve) => setTimeout(resolve, retryDelay)); + retryDelay *= 2; + } +} + +/** + * Send a message to the model for generateText. + * @param opts - The options for the generateText request. + * @param opts.context The context of the message to be completed. + * @param opts.stop A list of strings to stop the generateText at. + * @param opts.model The model to use for generateText. + * @param opts.frequency_penalty The frequency penalty to apply to the generateText. + * @param opts.presence_penalty The presence penalty to apply to the generateText. + * @param opts.temperature The temperature to apply to the generateText. + * @param opts.max_context_length The maximum length of the context to apply to the generateText. + * @returns The completed message. + */ +export async function generateMessageResponse({ + runtime, + context, + modelClass, +}: { + runtime: IAgentRuntime; + context: string; + modelClass: string; +}): Promise { + const max_context_length = + models[runtime.modelProvider].settings.maxInputTokens; + context = trimTokens(context, max_context_length, "gpt-4o"); + let retryLength = 1000; // exponential backoff + while (true) { + try { + elizaLogger.log("Generating message response.."); + + const response = await generateText({ + runtime, + context, + modelClass, + }); + + // try parsing the response as JSON, if null then try again + const parsedContent = parseJSONObjectFromText(response) as Content; + if (!parsedContent) { + elizaLogger.debug("parsedContent is null, retrying"); + continue; + } + + return parsedContent; + } catch (error) { + elizaLogger.error("ERROR:", error); + // wait for 2 seconds + retryLength *= 2; + await new Promise((resolve) => setTimeout(resolve, retryLength)); + elizaLogger.debug("Retrying..."); + } + } +} + +export const generateImage = async ( + data: { + prompt: string; + width: number; + height: number; + count?: number; + negativePrompt?: string; + numIterations?: number; + guidanceScale?: number; + seed?: number; + modelId?: string; + jobId?: string; + stylePreset?: string; + hideWatermark?: boolean; + }, + runtime: IAgentRuntime +): Promise<{ + success: boolean; + data?: string[]; + error?: any; +}> => { + const model = getModel(runtime.imageModelProvider, ModelClass.IMAGE); + const modelSettings = models[runtime.imageModelProvider].imageSettings; + + elizaLogger.info("Generating image with options:", { + imageModelProvider: model, + }); + + const apiKey = + runtime.imageModelProvider === runtime.modelProvider + ? runtime.token + : (() => { + // First try to match the specific provider + switch (runtime.imageModelProvider) { + case ModelProviderName.HEURIST: + return runtime.getSetting("HEURIST_API_KEY"); + case ModelProviderName.TOGETHER: + return runtime.getSetting("TOGETHER_API_KEY"); + case ModelProviderName.FAL: + return runtime.getSetting("FAL_API_KEY"); + case ModelProviderName.OPENAI: + return runtime.getSetting("OPENAI_API_KEY"); + case ModelProviderName.VENICE: + return runtime.getSetting("VENICE_API_KEY"); + case ModelProviderName.LIVEPEER: + return runtime.getSetting("LIVEPEER_GATEWAY_URL"); + default: + // If no specific match, try the fallback chain + return (runtime.getSetting("HEURIST_API_KEY") ?? + runtime.getSetting("TOGETHER_API_KEY") ?? + runtime.getSetting("FAL_API_KEY") ?? + runtime.getSetting("OPENAI_API_KEY") ?? + runtime.getSetting("VENICE_API_KEY"))?? + runtime.getSetting("LIVEPEER_GATEWAY_URL"); + } + })(); + try { + if (runtime.imageModelProvider === ModelProviderName.HEURIST) { + const response = await fetch( + "http://sequencer.heurist.xyz/submit_job", + { + method: "POST", + headers: { + Authorization: `Bearer ${apiKey}`, + "Content-Type": "application/json", + }, + body: JSON.stringify({ + job_id: data.jobId || crypto.randomUUID(), + model_input: { + SD: { + prompt: data.prompt, + neg_prompt: data.negativePrompt, + num_iterations: data.numIterations || 20, + width: data.width || 512, + height: data.height || 512, + guidance_scale: data.guidanceScale || 3, + seed: data.seed || -1, + }, + }, + model_id: data.modelId || "FLUX.1-dev", + deadline: 60, + priority: 1, + }), + } + ); + + if (!response.ok) { + throw new Error( + `Heurist image generation failed: ${response.statusText}` + ); + } + + const imageURL = await response.json(); + return { success: true, data: [imageURL] }; + } else if ( + runtime.imageModelProvider === ModelProviderName.TOGETHER || + // for backwards compat + runtime.imageModelProvider === ModelProviderName.LLAMACLOUD + ) { + const together = new Together({ apiKey: apiKey as string }); + const response = await together.images.create({ + model: "black-forest-labs/FLUX.1-schnell", + prompt: data.prompt, + width: data.width, + height: data.height, + steps: modelSettings?.steps ?? 4, + n: data.count, + }); + + // Add type assertion to handle the response properly + const togetherResponse = + response as unknown as TogetherAIImageResponse; + + if ( + !togetherResponse.data || + !Array.isArray(togetherResponse.data) + ) { + throw new Error("Invalid response format from Together AI"); + } + + // Rest of the code remains the same... + const base64s = await Promise.all( + togetherResponse.data.map(async (image) => { + if (!image.url) { + elizaLogger.error("Missing URL in image data:", image); + throw new Error("Missing URL in Together AI response"); + } + + // Fetch the image from the URL + const imageResponse = await fetch(image.url); + if (!imageResponse.ok) { + throw new Error( + `Failed to fetch image: ${imageResponse.statusText}` + ); + } + + // Convert to blob and then to base64 + const blob = await imageResponse.blob(); + const arrayBuffer = await blob.arrayBuffer(); + const base64 = Buffer.from(arrayBuffer).toString("base64"); + + // Return with proper MIME type + return `data:image/jpeg;base64,${base64}`; + }) + ); + + if (base64s.length === 0) { + throw new Error("No images generated by Together AI"); + } + + elizaLogger.debug(`Generated ${base64s.length} images`); + return { success: true, data: base64s }; + } else if (runtime.imageModelProvider === ModelProviderName.FAL) { + fal.config({ + credentials: apiKey as string, + }); + + // Prepare the input parameters according to their schema + const input = { + prompt: data.prompt, + image_size: "square" as const, + num_inference_steps: modelSettings?.steps ?? 50, + guidance_scale: data.guidanceScale || 3.5, + num_images: data.count, + enable_safety_checker: + runtime.getSetting("FAL_AI_ENABLE_SAFETY_CHECKER") === + "true", + safety_tolerance: Number( + runtime.getSetting("FAL_AI_SAFETY_TOLERANCE") || "2" + ), + output_format: "png" as const, + seed: data.seed ?? 6252023, + ...(runtime.getSetting("FAL_AI_LORA_PATH") + ? { + loras: [ + { + path: runtime.getSetting("FAL_AI_LORA_PATH"), + scale: 1, + }, + ], + } + : {}), + }; + + // Subscribe to the model + const result = await fal.subscribe(model, { + input, + logs: true, + onQueueUpdate: (update) => { + if (update.status === "IN_PROGRESS") { + elizaLogger.info(update.logs.map((log) => log.message)); + } + }, + }); + + // Convert the returned image URLs to base64 to match existing functionality + const base64Promises = result.data.images.map(async (image) => { + const response = await fetch(image.url); + const blob = await response.blob(); + const buffer = await blob.arrayBuffer(); + const base64 = Buffer.from(buffer).toString("base64"); + return `data:${image.content_type};base64,${base64}`; + }); + + const base64s = await Promise.all(base64Promises); + return { success: true, data: base64s }; + } else if (runtime.imageModelProvider === ModelProviderName.VENICE) { + const response = await fetch( + "https://api.venice.ai/api/v1/image/generate", + { + method: "POST", + headers: { + Authorization: `Bearer ${apiKey}`, + "Content-Type": "application/json", + }, + body: JSON.stringify({ + model: data.modelId || "fluently-xl", + prompt: data.prompt, + negative_prompt: data.negativePrompt, + width: data.width, + height: data.height, + steps: data.numIterations, + seed: data.seed, + style_preset: data.stylePreset, + hide_watermark: data.hideWatermark, + }), + } + ); + + const result = await response.json(); + + if (!result.images || !Array.isArray(result.images)) { + throw new Error("Invalid response format from Venice AI"); + } + + const base64s = result.images.map((base64String) => { + if (!base64String) { + throw new Error( + "Empty base64 string in Venice AI response" + ); + } + return `data:image/png;base64,${base64String}`; + }); + + return { success: true, data: base64s }; + + } else if (runtime.imageModelProvider === ModelProviderName.LIVEPEER) { + if (!apiKey) { + throw new Error("Livepeer Gateway is not defined"); + } + try { + const baseUrl = new URL(apiKey); + if (!baseUrl.protocol.startsWith('http')) { + throw new Error("Invalid Livepeer Gateway URL protocol"); + } + const response = await fetch(`${baseUrl.toString()}text-to-image`, { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + body: JSON.stringify({ + model_id: data.modelId || "ByteDance/SDXL-Lightning", + prompt: data.prompt, + width: data.width || 1024, + height: data.height || 1024 + }) + }); + const result = await response.json(); + if (!result.images?.length) { + throw new Error("No images generated"); + } + const base64Images = await Promise.all( + result.images.map(async (image) => { + console.log("imageUrl console log", image.url); + let imageUrl; + if (image.url.includes("http")) { + imageUrl = image.url; + } else { + imageUrl = `${apiKey}${image.url}`; + } + const imageResponse = await fetch(imageUrl); + if (!imageResponse.ok) { + throw new Error( + `Failed to fetch image: ${imageResponse.statusText}` + ); + } + const blob = await imageResponse.blob(); + const arrayBuffer = await blob.arrayBuffer(); + const base64 = Buffer.from(arrayBuffer).toString("base64"); + return `data:image/jpeg;base64,${base64}`; + }) + ); + return { + success: true, + data: base64Images + }; + } catch (error) { + console.error(error); + return { success: false, error: error }; + } + + } else { + let targetSize = `${data.width}x${data.height}`; + if ( + targetSize !== "1024x1024" && + targetSize !== "1792x1024" && + targetSize !== "1024x1792" + ) { + targetSize = "1024x1024"; + } + const openaiApiKey = runtime.getSetting("OPENAI_API_KEY") as string; + if (!openaiApiKey) { + throw new Error("OPENAI_API_KEY is not set"); + } + const openai = new OpenAI({ + apiKey: openaiApiKey as string, + }); + const response = await openai.images.generate({ + model, + prompt: data.prompt, + size: targetSize as "1024x1024" | "1792x1024" | "1024x1792", + n: data.count, + response_format: "b64_json", + }); + const base64s = response.data.map( + (image) => `data:image/png;base64,${image.b64_json}` + ); + return { success: true, data: base64s }; + } + } catch (error) { + console.error(error); + return { success: false, error: error }; + } +}; + +export const generateCaption = async ( + data: { imageUrl: string }, + runtime: IAgentRuntime +): Promise<{ + title: string; + description: string; +}> => { + const { imageUrl } = data; + const imageDescriptionService = + runtime.getService( + ServiceType.IMAGE_DESCRIPTION + ); + + if (!imageDescriptionService) { + throw new Error("Image description service not found"); + } + + const resp = await imageDescriptionService.describeImage(imageUrl); + return { + title: resp.title.trim(), + description: resp.description.trim(), + }; +}; + +export const generateWebSearch = async ( + query: string, + runtime: IAgentRuntime +): Promise => { + const apiUrl = "https://api.tavily.com/search"; + const apiKey = runtime.getSetting("TAVILY_API_KEY"); + + try { + const response = await fetch(apiUrl, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + api_key: apiKey, + query, + include_answer: true, + max_results: 3, // 5 (default) + topic: "general", // "general"(default) "news" + search_depth: "basic", // "basic"(default) "advanced" + include_images: false, // false (default) true + }), + }); + + if (!response.ok) { + throw new elizaLogger.error( + `HTTP error! status: ${response.status}` + ); + } + + const data: SearchResponse = await response.json(); + return data; + } catch (error) { + elizaLogger.error("Error:", error); + } +}; +/** + * Configuration options for generating objects with a model. + */ +export interface GenerationOptions { + runtime: IAgentRuntime; + context: string; + modelClass: ModelClass; + schema?: ZodSchema; + schemaName?: string; + schemaDescription?: string; + stop?: string[]; + mode?: "auto" | "json" | "tool"; + experimental_providerMetadata?: Record; +} + +/** + * Base settings for model generation. + */ +interface ModelSettings { + prompt: string; + temperature: number; + maxTokens: number; + frequencyPenalty: number; + presencePenalty: number; + stop?: string[]; +} + +/** + * Generates structured objects from a prompt using specified AI models and configuration options. + * + * @param {GenerationOptions} options - Configuration options for generating objects. + * @returns {Promise} - A promise that resolves to an array of generated objects. + * @throws {Error} - Throws an error if the provider is unsupported or if generation fails. + */ +export const generateObject = async ({ + runtime, + context, + modelClass, + schema, + schemaName, + schemaDescription, + stop, + mode = "json", +}: GenerationOptions): Promise> => { + if (!context) { + const errorMessage = "generateObject context is empty"; + console.error(errorMessage); + throw new Error(errorMessage); + } + + const provider = runtime.modelProvider; + const model = models[provider].model[modelClass] as TiktokenModel; + if (!model) { + throw new Error(`Unsupported model class: ${modelClass}`); + } + const temperature = models[provider].settings.temperature; + const frequency_penalty = models[provider].settings.frequency_penalty; + const presence_penalty = models[provider].settings.presence_penalty; + const max_context_length = models[provider].settings.maxInputTokens; + const max_response_length = models[provider].settings.maxOutputTokens; + const apiKey = runtime.token; + + try { + context = trimTokens(context, max_context_length, model); + + const modelOptions: ModelSettings = { + prompt: context, + temperature, + maxTokens: max_response_length, + frequencyPenalty: frequency_penalty, + presencePenalty: presence_penalty, + stop: stop || models[provider].settings.stop, + }; + + const response = await handleProvider({ + provider, + model, + apiKey, + schema, + schemaName, + schemaDescription, + mode, + modelOptions, + runtime, + context, + modelClass, + }); + + return response; + } catch (error) { + console.error("Error in generateObject:", error); + throw error; + } +}; + +/** + * Interface for provider-specific generation options. + */ +interface ProviderOptions { + runtime: IAgentRuntime; + provider: ModelProviderName; + model: any; + apiKey: string; + schema?: ZodSchema; + schemaName?: string; + schemaDescription?: string; + mode?: "auto" | "json" | "tool"; + experimental_providerMetadata?: Record; + modelOptions: ModelSettings; + modelClass: string; + context: string; +} + +/** + * Handles AI generation based on the specified provider. + * + * @param {ProviderOptions} options - Configuration options specific to the provider. + * @returns {Promise} - A promise that resolves to an array of generated objects. + */ +export async function handleProvider( + options: ProviderOptions +): Promise> { + const { provider, runtime, context, modelClass } = options; + switch (provider) { + case ModelProviderName.OPENAI: + case ModelProviderName.ETERNALAI: + case ModelProviderName.ALI_BAILIAN: + case ModelProviderName.VOLENGINE: + case ModelProviderName.LLAMACLOUD: + case ModelProviderName.TOGETHER: + case ModelProviderName.NANOGPT: + case ModelProviderName.AKASH_CHAT_API: + return await handleOpenAI(options); + case ModelProviderName.ANTHROPIC: + case ModelProviderName.CLAUDE_VERTEX: + return await handleAnthropic(options); + case ModelProviderName.GROK: + return await handleGrok(options); + case ModelProviderName.GROQ: + return await handleGroq(options); + case ModelProviderName.LLAMALOCAL: + return await generateObjectDeprecated({ + runtime, + context, + modelClass, + }); + case ModelProviderName.GOOGLE: + return await handleGoogle(options); + case ModelProviderName.REDPILL: + return await handleRedPill(options); + case ModelProviderName.OPENROUTER: + return await handleOpenRouter(options); + case ModelProviderName.OLLAMA: + return await handleOllama(options); + default: { + const errorMessage = `Unsupported provider: ${provider}`; + elizaLogger.error(errorMessage); + throw new Error(errorMessage); + } + } +} +/** + * Handles object generation for OpenAI. + * + * @param {ProviderOptions} options - Options specific to OpenAI. + * @returns {Promise>} - A promise that resolves to generated objects. + */ +async function handleOpenAI({ + model, + apiKey, + schema, + schemaName, + schemaDescription, + mode, + modelOptions, +}: ProviderOptions): Promise> { + const baseURL = models.openai.endpoint || undefined; + const openai = createOpenAI({ apiKey, baseURL }); + return await aiGenerateObject({ + model: openai.languageModel(model), + schema, + schemaName, + schemaDescription, + mode, + ...modelOptions, + }); +} + +/** + * Handles object generation for Anthropic models. + * + * @param {ProviderOptions} options - Options specific to Anthropic. + * @returns {Promise>} - A promise that resolves to generated objects. + */ +async function handleAnthropic({ + model, + apiKey, + schema, + schemaName, + schemaDescription, + mode, + modelOptions, +}: ProviderOptions): Promise> { + const anthropic = createAnthropic({ apiKey }); + return await aiGenerateObject({ + model: anthropic.languageModel(model), + schema, + schemaName, + schemaDescription, + mode, + ...modelOptions, + }); +} + +/** + * Handles object generation for Grok models. + * + * @param {ProviderOptions} options - Options specific to Grok. + * @returns {Promise>} - A promise that resolves to generated objects. + */ +async function handleGrok({ + model, + apiKey, + schema, + schemaName, + schemaDescription, + mode, + modelOptions, +}: ProviderOptions): Promise> { + const grok = createOpenAI({ apiKey, baseURL: models.grok.endpoint }); + return await aiGenerateObject({ + model: grok.languageModel(model, { parallelToolCalls: false }), + schema, + schemaName, + schemaDescription, + mode, + ...modelOptions, + }); +} + +/** + * Handles object generation for Groq models. + * + * @param {ProviderOptions} options - Options specific to Groq. + * @returns {Promise>} - A promise that resolves to generated objects. + */ +async function handleGroq({ + model, + apiKey, + schema, + schemaName, + schemaDescription, + mode, + modelOptions, +}: ProviderOptions): Promise> { + const groq = createGroq({ apiKey }); + return await aiGenerateObject({ + model: groq.languageModel(model), + schema, + schemaName, + schemaDescription, + mode, + ...modelOptions, + }); +} + +/** + * Handles object generation for Google models. + * + * @param {ProviderOptions} options - Options specific to Google. + * @returns {Promise>} - A promise that resolves to generated objects. + */ +async function handleGoogle({ + model, + apiKey: _apiKey, + schema, + schemaName, + schemaDescription, + mode, + modelOptions, +}: ProviderOptions): Promise> { + const google = createGoogleGenerativeAI(); + return await aiGenerateObject({ + model: google(model), + schema, + schemaName, + schemaDescription, + mode, + ...modelOptions, + }); +} + +/** + * Handles object generation for Redpill models. + * + * @param {ProviderOptions} options - Options specific to Redpill. + * @returns {Promise>} - A promise that resolves to generated objects. + */ +async function handleRedPill({ + model, + apiKey, + schema, + schemaName, + schemaDescription, + mode, + modelOptions, +}: ProviderOptions): Promise> { + const redPill = createOpenAI({ apiKey, baseURL: models.redpill.endpoint }); + return await aiGenerateObject({ + model: redPill.languageModel(model), + schema, + schemaName, + schemaDescription, + mode, + ...modelOptions, + }); +} + +/** + * Handles object generation for OpenRouter models. + * + * @param {ProviderOptions} options - Options specific to OpenRouter. + * @returns {Promise>} - A promise that resolves to generated objects. + */ +async function handleOpenRouter({ + model, + apiKey, + schema, + schemaName, + schemaDescription, + mode, + modelOptions, +}: ProviderOptions): Promise> { + const openRouter = createOpenAI({ + apiKey, + baseURL: models.openrouter.endpoint, + }); + return await aiGenerateObject({ + model: openRouter.languageModel(model), + schema, + schemaName, + schemaDescription, + mode, + ...modelOptions, + }); +} + +/** + * Handles object generation for Ollama models. + * + * @param {ProviderOptions} options - Options specific to Ollama. + * @returns {Promise>} - A promise that resolves to generated objects. + */ +async function handleOllama({ + model, + schema, + schemaName, + schemaDescription, + mode, + modelOptions, + provider, +}: ProviderOptions): Promise> { + const ollamaProvider = createOllama({ + baseURL: models[provider].endpoint + "/api", + }); + const ollama = ollamaProvider(model); + return await aiGenerateObject({ + model: ollama, + schema, + schemaName, + schemaDescription, + mode, + ...modelOptions, + }); +} + +// Add type definition for Together AI response +interface TogetherAIImageResponse { + data: Array<{ + url: string; + content_type?: string; + image_type?: string; + }>; +} + +export async function generateTweetActions({ + runtime, + context, + modelClass, +}: { + runtime: IAgentRuntime; + context: string; + modelClass: string; +}): Promise { + let retryDelay = 1000; + while (true) { + try { + const response = await generateText({ + runtime, + context, + modelClass, + }); + console.debug( + "Received response from generateText for tweet actions:", + response + ); + const { actions } = parseActionResponseFromText(response.trim()); + if (actions) { + console.debug("Parsed tweet actions:", actions); + return actions; + } else { + elizaLogger.debug("generateTweetActions no valid response"); + } + } catch (error) { + elizaLogger.error("Error in generateTweetActions:", error); + if ( + error instanceof TypeError && + error.message.includes("queueTextCompletion") + ) { + elizaLogger.error( + "TypeError: Cannot read properties of null (reading 'queueTextCompletion')" + ); + } + } + elizaLogger.log(`Retrying in ${retryDelay}ms...`); + await new Promise((resolve) => setTimeout(resolve, retryDelay)); + retryDelay *= 2; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/memory.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/memory.ts new file mode 100644 index 000000000..00baad449 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/memory.ts @@ -0,0 +1,243 @@ +// import { embed, getEmbeddingZeroVector } from "./embedding.ts"; +import elizaLogger from "./logger.ts"; +import { + IAgentRuntime, + IMemoryManager, + type Memory, + type UUID, +} from "./types.ts"; + +const defaultMatchThreshold = 0.1; +const defaultMatchCount = 10; + +/** + * Manage memories in the database. + */ +export class MemoryManager implements IMemoryManager { + /** + * The AgentRuntime instance associated with this manager. + */ + runtime: IAgentRuntime; + + /** + * The name of the database table this manager operates on. + */ + tableName: string; + + /** + * Constructs a new MemoryManager instance. + * @param opts Options for the manager. + * @param opts.tableName The name of the table this manager will operate on. + * @param opts.runtime The AgentRuntime instance associated with this manager. + */ + constructor(opts: { tableName: string; runtime: IAgentRuntime }) { + this.runtime = opts.runtime; + this.tableName = opts.tableName; + } + + /** + * Adds an embedding vector to a memory object. If the memory already has an embedding, it is returned as is. + * @param memory The memory object to add an embedding to. + * @returns A Promise resolving to the memory object, potentially updated with an embedding vector. + */ + /** + * Adds an embedding vector to a memory object if one doesn't already exist. + * The embedding is generated from the memory's text content using the runtime's + * embedding model. If the memory has no text content, an error is thrown. + * + * @param memory The memory object to add an embedding to + * @returns The memory object with an embedding vector added + * @throws Error if the memory content is empty + */ + async addEmbeddingToMemory(memory: Memory): Promise { + // Return early if embedding already exists + if (memory.embedding) { + return memory; + } + + const memoryText = memory.content.text; + + // Validate memory has text content + if (!memoryText) { + throw new Error( + "Cannot generate embedding: Memory content is empty" + ); + } + + try { + // Generate embedding from text content + memory.embedding = await embed(this.runtime, memoryText); + } catch (error) { + elizaLogger.error("Failed to generate embedding:", error); + // Fallback to zero vector if embedding fails + memory.embedding = getEmbeddingZeroVector().slice(); + } + + return memory; + } + + /** + * Retrieves a list of memories by user IDs, with optional deduplication. + * @param opts Options including user IDs, count, and uniqueness. + * @param opts.roomId The room ID to retrieve memories for. + * @param opts.count The number of memories to retrieve. + * @param opts.unique Whether to retrieve unique memories only. + * @returns A Promise resolving to an array of Memory objects. + */ + async getMemories({ + roomId, + count = 10, + unique = true, + start, + end, + }: { + roomId: UUID; + count?: number; + unique?: boolean; + start?: number; + end?: number; + }): Promise { + return await this.runtime.databaseAdapter.getMemories({ + roomId, + count, + unique, + tableName: this.tableName, + agentId: this.runtime.agentId, + start, + end, + }); + } + + async getCachedEmbeddings(content: string): Promise< + { + embedding: number[]; + levenshtein_score: number; + }[] + > { + return await this.runtime.databaseAdapter.getCachedEmbeddings({ + query_table_name: this.tableName, + query_threshold: 2, + query_input: content, + query_field_name: "content", + query_field_sub_name: "text", + query_match_count: 10, + }); + } + + /** + * Searches for memories similar to a given embedding vector. + * @param embedding The embedding vector to search with. + * @param opts Options including match threshold, count, user IDs, and uniqueness. + * @param opts.match_threshold The similarity threshold for matching memories. + * @param opts.count The maximum number of memories to retrieve. + * @param opts.roomId The room ID to retrieve memories for. + * @param opts.unique Whether to retrieve unique memories only. + * @returns A Promise resolving to an array of Memory objects that match the embedding. + */ + async searchMemoriesByEmbedding( + embedding: number[], + opts: { + match_threshold?: number; + count?: number; + roomId: UUID; + unique?: boolean; + } + ): Promise { + const { + match_threshold = defaultMatchThreshold, + count = defaultMatchCount, + roomId, + unique, + } = opts; + + const result = await this.runtime.databaseAdapter.searchMemories({ + tableName: this.tableName, + roomId, + agentId: this.runtime.agentId, + embedding: embedding, + match_threshold: match_threshold, + match_count: count, + unique: !!unique, + }); + + return result; + } + + /** + * Creates a new memory in the database, with an option to check for similarity before insertion. + * @param memory The memory object to create. + * @param unique Whether to check for similarity before insertion. + * @returns A Promise that resolves when the operation completes. + */ + async createMemory(memory: Memory, unique = false): Promise { + // TODO: check memory.agentId == this.runtime.agentId + + const existingMessage = + await this.runtime.databaseAdapter.getMemoryById(memory.id); + + if (existingMessage) { + elizaLogger.debug("Memory already exists, skipping"); + return; + } + + elizaLogger.log("Creating Memory", memory.id, memory.content.text); + + await this.runtime.databaseAdapter.createMemory( + memory, + this.tableName, + unique + ); + } + + async getMemoriesByRoomIds(params: { roomIds: UUID[] }): Promise { + return await this.runtime.databaseAdapter.getMemoriesByRoomIds({ + tableName: this.tableName, + agentId: this.runtime.agentId, + roomIds: params.roomIds, + }); + } + + async getMemoryById(id: UUID): Promise { + const result = await this.runtime.databaseAdapter.getMemoryById(id); + if (result && result.agentId !== this.runtime.agentId) return null; + return result; + } + + /** + * Removes a memory from the database by its ID. + * @param memoryId The ID of the memory to remove. + * @returns A Promise that resolves when the operation completes. + */ + async removeMemory(memoryId: UUID): Promise { + await this.runtime.databaseAdapter.removeMemory( + memoryId, + this.tableName + ); + } + + /** + * Removes all memories associated with a set of user IDs. + * @param roomId The room ID to remove memories for. + * @returns A Promise that resolves when the operation completes. + */ + async removeAllMemories(roomId: UUID): Promise { + await this.runtime.databaseAdapter.removeAllMemories( + roomId, + this.tableName + ); + } + + /** + * Counts the number of memories associated with a set of user IDs, with an option for uniqueness. + * @param roomId The room ID to count memories for. + * @param unique Whether to count unique memories only. + * @returns A Promise resolving to the count of memories. + */ + async countMemories(roomId: UUID, unique = true): Promise { + return await this.runtime.databaseAdapter.countMemories( + roomId, + unique, + this.tableName + ); + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/parsing.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/parsing.ts new file mode 100644 index 000000000..107ce8ea0 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/parsing.ts @@ -0,0 +1,207 @@ +import { ActionResponse } from "./types.ts"; +const jsonBlockPattern = /```json\n([\s\S]*?)\n```/; + +export const messageCompletionFooter = `\nResponse format should be formatted in a JSON block like this: +\`\`\`json +{ "user": "{{agentName}}", "text": "string", "action": "string" } +\`\`\``; + +export const shouldRespondFooter = `The available options are [RESPOND], [IGNORE], or [STOP]. Choose the most appropriate option. +If {{agentName}} is talking too much, you can choose [IGNORE] + +Your response must include one of the options.`; + +export const parseShouldRespondFromText = ( + text: string +): "RESPOND" | "IGNORE" | "STOP" | null => { + const match = text + .split("\n")[0] + .trim() + .replace("[", "") + .toUpperCase() + .replace("]", "") + .match(/^(RESPOND|IGNORE|STOP)$/i); + return match + ? (match[0].toUpperCase() as "RESPOND" | "IGNORE" | "STOP") + : text.includes("RESPOND") + ? "RESPOND" + : text.includes("IGNORE") + ? "IGNORE" + : text.includes("STOP") + ? "STOP" + : null; +}; + +export const booleanFooter = `Respond with only a YES or a NO.`; + +/** + * Parses a string to determine its boolean equivalent. + * + * Recognized affirmative values: "YES", "Y", "TRUE", "T", "1", "ON", "ENABLE". + * Recognized negative values: "NO", "N", "FALSE", "F", "0", "OFF", "DISABLE". + * + * @param {string} text - The input text to parse. + * @returns {boolean|null} - Returns `true` for affirmative inputs, `false` for negative inputs, and `null` for unrecognized inputs or null/undefined. + */ +export const parseBooleanFromText = (text: string) => { + if (!text) return null; // Handle null or undefined input + + const affirmative = ["YES", "Y", "TRUE", "T", "1", "ON", "ENABLE"]; + const negative = ["NO", "N", "FALSE", "F", "0", "OFF", "DISABLE"]; + + const normalizedText = text.trim().toUpperCase(); + + if (affirmative.includes(normalizedText)) { + return true; + } else if (negative.includes(normalizedText)) { + return false; + } + + return null; // Return null for unrecognized inputs +}; + +export const stringArrayFooter = `Respond with a JSON array containing the values in a JSON block formatted for markdown with this structure: +\`\`\`json +[ + 'value', + 'value' +] +\`\`\` + +Your response must include the JSON block.`; + +/** + * Parses a JSON array from a given text. The function looks for a JSON block wrapped in triple backticks + * with `json` language identifier, and if not found, it searches for an array pattern within the text. + * It then attempts to parse the JSON string into a JavaScript object. If parsing is successful and the result + * is an array, it returns the array; otherwise, it returns null. + * + * @param text - The input text from which to extract and parse the JSON array. + * @returns An array parsed from the JSON string if successful; otherwise, null. + */ +export function parseJsonArrayFromText(text: string) { + let jsonData = null; + + // First try to parse with the original JSON format + const jsonBlockMatch = text.match(jsonBlockPattern); + + if (jsonBlockMatch) { + try { + // Replace single quotes with double quotes before parsing + const normalizedJson = jsonBlockMatch[1].replace(/'/g, '"'); + jsonData = JSON.parse(normalizedJson); + } catch (e) { + console.error("Error parsing JSON:", e); + } + } + + // If that fails, try to find an array pattern + if (!jsonData) { + const arrayPattern = /\[\s*['"][^'"]*['"]\s*\]/; + const arrayMatch = text.match(arrayPattern); + + if (arrayMatch) { + try { + // Replace single quotes with double quotes before parsing + const normalizedJson = arrayMatch[0].replace(/'/g, '"'); + jsonData = JSON.parse(normalizedJson); + } catch (e) { + console.error("Error parsing JSON:", e); + } + } + } + + if (Array.isArray(jsonData)) { + return jsonData; + } + + return null; +} + +/** + * Parses a JSON object from a given text. The function looks for a JSON block wrapped in triple backticks + * with `json` language identifier, and if not found, it searches for an object pattern within the text. + * It then attempts to parse the JSON string into a JavaScript object. If parsing is successful and the result + * is an object (but not an array), it returns the object; otherwise, it tries to parse an array if the result + * is an array, or returns null if parsing is unsuccessful or the result is neither an object nor an array. + * + * @param text - The input text from which to extract and parse the JSON object. + * @returns An object parsed from the JSON string if successful; otherwise, null or the result of parsing an array. + */ +export function parseJSONObjectFromText( + text: string +): Record | null { + let jsonData = null; + + const jsonBlockMatch = text.match(jsonBlockPattern); + + if (jsonBlockMatch) { + try { + jsonData = JSON.parse(jsonBlockMatch[1]); + } catch (e) { + console.error("Error parsing JSON:", e); + return null; + } + } else { + const objectPattern = /{[\s\S]*?}/; + const objectMatch = text.match(objectPattern); + + if (objectMatch) { + try { + jsonData = JSON.parse(objectMatch[0]); + } catch (e) { + console.error("Error parsing JSON:", e); + return null; + } + } + } + + if ( + typeof jsonData === "object" && + jsonData !== null && + !Array.isArray(jsonData) + ) { + return jsonData; + } else if (typeof jsonData === "object" && Array.isArray(jsonData)) { + return parseJsonArrayFromText(text); + } else { + return null; + } +} + +export const postActionResponseFooter = `Choose any combination of [LIKE], [RETWEET], [QUOTE], and [REPLY] that are appropriate. Each action must be on its own line. Your response must only include the chosen actions.`; + +export const parseActionResponseFromText = ( + text: string +): { actions: ActionResponse } => { + const actions: ActionResponse = { + like: false, + retweet: false, + quote: false, + reply: false, + }; + + // Regex patterns + const likePattern = /\[LIKE\]/i; + const retweetPattern = /\[RETWEET\]/i; + const quotePattern = /\[QUOTE\]/i; + const replyPattern = /\[REPLY\]/i; + + // Check with regex + actions.like = likePattern.test(text); + actions.retweet = retweetPattern.test(text); + actions.quote = quotePattern.test(text); + actions.reply = replyPattern.test(text); + + // Also do line by line parsing as backup + const lines = text.split("\n"); + for (const line of lines) { + const trimmed = line.trim(); + if (trimmed === "[LIKE]") actions.like = true; + if (trimmed === "[RETWEET]") actions.retweet = true; + if (trimmed === "[QUOTE]") actions.quote = true; + if (trimmed === "[REPLY]") actions.reply = true; + } + + return { actions }; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/types.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/types.ts new file mode 100644 index 000000000..dfc19c2eb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/types.ts @@ -0,0 +1,1280 @@ +import { Readable } from "stream"; + +/** + * Represents a UUID string in the format "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + */ +export type UUID = `${string}-${string}-${string}-${string}-${string}`; + +/** + * Represents the content of a message or communication + */ +export interface Content { + /** The main text content */ + text: string; + + /** Optional action associated with the message */ + action?: string; + + /** Optional source/origin of the content */ + source?: string; + + /** URL of the original message/post (e.g. tweet URL, Discord message link) */ + url?: string; + + /** UUID of parent message if this is a reply/thread */ + inReplyTo?: UUID; + + /** Array of media attachments */ + attachments?: Media[]; + + /** Additional dynamic properties */ + [key: string]: unknown; +} + +/** + * Example content with associated user for demonstration purposes + */ +export interface ActionExample { + /** User associated with the example */ + user: string; + + /** Content of the example */ + content: Content; +} + +/** + * Example conversation content with user ID + */ +export interface ConversationExample { + /** UUID of user in conversation */ + userId: UUID; + + /** Content of the conversation */ + content: Content; +} + +/** + * Represents an actor/participant in a conversation + */ +export interface Actor { + /** Display name */ + name: string; + + /** Username/handle */ + username: string; + + /** Additional profile details */ + details: { + /** Short profile tagline */ + tagline: string; + + /** Longer profile summary */ + summary: string; + + /** Favorite quote */ + quote: string; + }; + + /** Unique identifier */ + id: UUID; +} + +/** + * Represents a single objective within a goal + */ +export interface Objective { + /** Optional unique identifier */ + id?: string; + + /** Description of what needs to be achieved */ + description: string; + + /** Whether objective is completed */ + completed: boolean; +} + +/** + * Status enum for goals + */ +export enum GoalStatus { + DONE = "DONE", + FAILED = "FAILED", + IN_PROGRESS = "IN_PROGRESS", +} + +/** + * Represents a high-level goal composed of objectives + */ +export interface Goal { + /** Optional unique identifier */ + id?: UUID; + + /** Room ID where goal exists */ + roomId: UUID; + + /** User ID of goal owner */ + userId: UUID; + + /** Name/title of the goal */ + name: string; + + /** Current status */ + status: GoalStatus; + + /** Component objectives */ + objectives: Objective[]; +} + +/** + * Model size/type classification + */ +export enum ModelClass { + SMALL = "small", + MEDIUM = "medium", + LARGE = "large", + EMBEDDING = "embedding", + IMAGE = "image", +} + +/** + * Configuration for an AI model + */ +export type Model = { + /** Optional API endpoint */ + endpoint?: string; + + /** Model settings */ + settings: { + /** Maximum input tokens */ + maxInputTokens: number; + + /** Maximum output tokens */ + maxOutputTokens: number; + + /** Optional frequency penalty */ + frequency_penalty?: number; + + /** Optional presence penalty */ + presence_penalty?: number; + + /** Optional repetition penalty */ + repetition_penalty?: number; + + /** Stop sequences */ + stop: string[]; + + /** Temperature setting */ + temperature: number; + }; + + /** Optional image generation settings */ + imageSettings?: { + steps?: number; + }; + + /** Model names by size class */ + model: { + [ModelClass.SMALL]: string; + [ModelClass.MEDIUM]: string; + [ModelClass.LARGE]: string; + [ModelClass.EMBEDDING]?: string; + [ModelClass.IMAGE]?: string; + }; +}; + +/** + * Model configurations by provider + */ +export type Models = { + [ModelProviderName.OPENAI]: Model; + [ModelProviderName.ETERNALAI]: Model; + [ModelProviderName.ANTHROPIC]: Model; + [ModelProviderName.GROK]: Model; + [ModelProviderName.GROQ]: Model; + [ModelProviderName.LLAMACLOUD]: Model; + [ModelProviderName.TOGETHER]: Model; + [ModelProviderName.LLAMALOCAL]: Model; + [ModelProviderName.GOOGLE]: Model; + [ModelProviderName.CLAUDE_VERTEX]: Model; + [ModelProviderName.REDPILL]: Model; + [ModelProviderName.OPENROUTER]: Model; + [ModelProviderName.OLLAMA]: Model; + [ModelProviderName.HEURIST]: Model; + [ModelProviderName.GALADRIEL]: Model; + [ModelProviderName.FAL]: Model; + [ModelProviderName.GAIANET]: Model; + [ModelProviderName.ALI_BAILIAN]: Model; + [ModelProviderName.VOLENGINE]: Model; + [ModelProviderName.NANOGPT]: Model; + [ModelProviderName.HYPERBOLIC]: Model; + [ModelProviderName.VENICE]: Model; + [ModelProviderName.AKASH_CHAT_API]: Model; + [ModelProviderName.LIVEPEER]: Model; +}; + +/** + * Available model providers + */ +export enum ModelProviderName { + OPENAI = "openai", + ETERNALAI = "eternalai", + ANTHROPIC = "anthropic", + GROK = "grok", + GROQ = "groq", + LLAMACLOUD = "llama_cloud", + TOGETHER = "together", + LLAMALOCAL = "llama_local", + GOOGLE = "google", + CLAUDE_VERTEX = "claude_vertex", + REDPILL = "redpill", + OPENROUTER = "openrouter", + OLLAMA = "ollama", + HEURIST = "heurist", + GALADRIEL = "galadriel", + FAL = "falai", + GAIANET = "gaianet", + ALI_BAILIAN = "ali_bailian", + VOLENGINE = "volengine", + NANOGPT = "nanogpt", + HYPERBOLIC = "hyperbolic", + VENICE = "venice", + AKASH_CHAT_API = "akash_chat_api", + LIVEPEER = "livepeer", +} + +/** + * Represents the current state/context of a conversation + */ +export interface State { + /** ID of user who sent current message */ + userId?: UUID; + + /** ID of agent in conversation */ + agentId?: UUID; + + /** Agent's biography */ + bio: string; + + /** Agent's background lore */ + lore: string; + + /** Message handling directions */ + messageDirections: string; + + /** Post handling directions */ + postDirections: string; + + /** Current room/conversation ID */ + roomId: UUID; + + /** Optional agent name */ + agentName?: string; + + /** Optional message sender name */ + senderName?: string; + + /** String representation of conversation actors */ + actors: string; + + /** Optional array of actor objects */ + actorsData?: Actor[]; + + /** Optional string representation of goals */ + goals?: string; + + /** Optional array of goal objects */ + goalsData?: Goal[]; + + /** Recent message history as string */ + recentMessages: string; + + /** Recent message objects */ + recentMessagesData: Memory[]; + + /** Optional valid action names */ + actionNames?: string; + + /** Optional action descriptions */ + actions?: string; + + /** Optional action objects */ + actionsData?: Action[]; + + /** Optional action examples */ + actionExamples?: string; + + /** Optional provider descriptions */ + providers?: string; + + /** Optional response content */ + responseData?: Content; + + /** Optional recent interaction objects */ + recentInteractionsData?: Memory[]; + + /** Optional recent interactions string */ + recentInteractions?: string; + + /** Optional formatted conversation */ + formattedConversation?: string; + + /** Optional formatted knowledge */ + knowledge?: string; + /** Optional knowledge data */ + knowledgeData?: KnowledgeItem[]; + + /** Additional dynamic properties */ + [key: string]: unknown; +} + +/** + * Represents a stored memory/message + */ +export interface Memory { + /** Optional unique identifier */ + id?: UUID; + + /** Associated user ID */ + userId: UUID; + + /** Associated agent ID */ + agentId: UUID; + + /** Optional creation timestamp */ + createdAt?: number; + + /** Memory content */ + content: Content; + + /** Optional embedding vector */ + embedding?: number[]; + + /** Associated room ID */ + roomId: UUID; + + /** Whether memory is unique */ + unique?: boolean; + + /** Embedding similarity score */ + similarity?: number; +} + +/** + * Example message for demonstration + */ +export interface MessageExample { + /** Associated user */ + user: string; + + /** Message content */ + content: Content; +} + +/** + * Handler function type for processing messages + */ +export type Handler = ( + runtime: IAgentRuntime, + message: Memory, + state?: State, + options?: { [key: string]: unknown }, + callback?: HandlerCallback +) => Promise; + +/** + * Callback function type for handlers + */ +export type HandlerCallback = ( + response: Content, + files?: any +) => Promise; + +/** + * Validator function type for actions/evaluators + */ +export type Validator = ( + runtime: IAgentRuntime, + message: Memory, + state?: State +) => Promise; + +/** + * Represents an action the agent can perform + */ +export interface Action { + /** Similar action descriptions */ + similes: string[]; + + /** Detailed description */ + description: string; + + /** Example usages */ + examples: ActionExample[][]; + + /** Handler function */ + handler: Handler; + + /** Action name */ + name: string; + + /** Validation function */ + validate: Validator; + + /** Whether to suppress the initial message when this action is used */ + suppressInitialMessage?: boolean; +} + +/** + * Example for evaluating agent behavior + */ +export interface EvaluationExample { + /** Evaluation context */ + context: string; + + /** Example messages */ + messages: Array; + + /** Expected outcome */ + outcome: string; +} + +/** + * Evaluator for assessing agent responses + */ +export interface Evaluator { + /** Whether to always run */ + alwaysRun?: boolean; + + /** Detailed description */ + description: string; + + /** Similar evaluator descriptions */ + similes: string[]; + + /** Example evaluations */ + examples: EvaluationExample[]; + + /** Handler function */ + handler: Handler; + + /** Evaluator name */ + name: string; + + /** Validation function */ + validate: Validator; +} + +/** + * Provider for external data/services + */ +export interface Provider { + /** Data retrieval function */ + get: ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ) => Promise; +} + +/** + * Represents a relationship between users + */ +export interface Relationship { + /** Unique identifier */ + id: UUID; + + /** First user ID */ + userA: UUID; + + /** Second user ID */ + userB: UUID; + + /** Primary user ID */ + userId: UUID; + + /** Associated room ID */ + roomId: UUID; + + /** Relationship status */ + status: string; + + /** Optional creation timestamp */ + createdAt?: string; +} + +/** + * Represents a user account + */ +export interface Account { + /** Unique identifier */ + id: UUID; + + /** Display name */ + name: string; + + /** Username */ + username: string; + + /** Optional additional details */ + details?: { [key: string]: any }; + + /** Optional email */ + email?: string; + + /** Optional avatar URL */ + avatarUrl?: string; +} + +/** + * Room participant with account details + */ +export interface Participant { + /** Unique identifier */ + id: UUID; + + /** Associated account */ + account: Account; +} + +/** + * Represents a conversation room + */ +export interface Room { + /** Unique identifier */ + id: UUID; + + /** Room participants */ + participants: Participant[]; +} + +/** + * Represents a media attachment + */ +export type Media = { + /** Unique identifier */ + id: string; + + /** Media URL */ + url: string; + + /** Media title */ + title: string; + + /** Media source */ + source: string; + + /** Media description */ + description: string; + + /** Text content */ + text: string; + + /** Content type */ + contentType?: string; +}; + +/** + * Client interface for platform connections + */ +export type Client = { + /** Start client connection */ + start: (runtime: IAgentRuntime) => Promise; + + /** Stop client connection */ + stop: (runtime: IAgentRuntime) => Promise; +}; + +/** + * Plugin for extending agent functionality + */ +export type Plugin = { + /** Plugin name */ + name: string; + + /** Plugin description */ + description: string; + + /** Optional actions */ + actions?: Action[]; + + /** Optional providers */ + providers?: Provider[]; + + /** Optional evaluators */ + evaluators?: Evaluator[]; + + /** Optional services */ + services?: Service[]; + + /** Optional clients */ + clients?: Client[]; +}; + +/** + * Available client platforms + */ +export enum Clients { + DISCORD = "discord", + DIRECT = "direct", + TWITTER = "twitter", + TELEGRAM = "telegram", + FARCASTER = "farcaster", + LENS = "lens", + AUTO = "auto", + SLACK = "slack", +} + +export interface IAgentConfig { + [key: string]: string; +} + +export interface ModelConfiguration { + temperature?: number; + max_response_length?: number; + frequency_penalty?: number; + presence_penalty?: number; + maxInputTokens?: number; +} + +/** + * Configuration for an agent character + */ +export type Character = { + /** Optional unique identifier */ + id?: UUID; + + /** Character name */ + name: string; + + /** Optional username */ + username?: string; + + /** Optional system prompt */ + system?: string; + + /** Model provider to use */ + modelProvider: ModelProviderName; + + /** Image model provider to use, if different from modelProvider */ + imageModelProvider?: ModelProviderName; + + /** Optional model endpoint override */ + modelEndpointOverride?: string; + + /** Optional prompt templates */ + templates?: { + goalsTemplate?: string; + factsTemplate?: string; + messageHandlerTemplate?: string; + shouldRespondTemplate?: string; + continueMessageHandlerTemplate?: string; + evaluationTemplate?: string; + twitterSearchTemplate?: string; + twitterActionTemplate?: string; + twitterPostTemplate?: string; + twitterMessageHandlerTemplate?: string; + twitterShouldRespondTemplate?: string; + farcasterPostTemplate?: string; + lensPostTemplate?: string; + farcasterMessageHandlerTemplate?: string; + lensMessageHandlerTemplate?: string; + farcasterShouldRespondTemplate?: string; + lensShouldRespondTemplate?: string; + telegramMessageHandlerTemplate?: string; + telegramShouldRespondTemplate?: string; + discordVoiceHandlerTemplate?: string; + discordShouldRespondTemplate?: string; + discordMessageHandlerTemplate?: string; + slackMessageHandlerTemplate?: string; + slackShouldRespondTemplate?: string; + }; + + /** Character biography */ + bio: string | string[]; + + /** Character background lore */ + lore: string[]; + + /** Example messages */ + messageExamples: MessageExample[][]; + + /** Example posts */ + postExamples: string[]; + + /** Known topics */ + topics: string[]; + + /** Character traits */ + adjectives: string[]; + + /** Optional knowledge base */ + knowledge?: string[]; + + /** Supported client platforms */ + clients: Clients[]; + + /** Available plugins */ + plugins: Plugin[]; + + /** Optional configuration */ + settings?: { + secrets?: { [key: string]: string }; + intiface?: boolean; + imageSettings?: { + steps?: number; + width?: number; + height?: number; + negativePrompt?: string; + numIterations?: number; + guidanceScale?: number; + seed?: number; + modelId?: string; + jobId?: string; + count?: number; + stylePreset?: string; + hideWatermark?: boolean; + }; + voice?: { + model?: string; // For VITS + url?: string; // Legacy VITS support + elevenlabs?: { + // New structured ElevenLabs config + voiceId: string; + model?: string; + stability?: string; + similarityBoost?: string; + style?: string; + useSpeakerBoost?: string; + }; + }; + model?: string; + modelConfig?: ModelConfiguration; + embeddingModel?: string; + chains?: { + evm?: any[]; + solana?: any[]; + [key: string]: any[]; + }; + }; + + /** Optional client-specific config */ + clientConfig?: { + discord?: { + shouldIgnoreBotMessages?: boolean; + shouldIgnoreDirectMessages?: boolean; + shouldRespondOnlyToMentions?: boolean; + messageSimilarityThreshold?: number; + isPartOfTeam?: boolean; + teamAgentIds?: string[]; + teamLeaderId?: string; + teamMemberInterestKeywords?: string[]; + }; + telegram?: { + shouldIgnoreBotMessages?: boolean; + shouldIgnoreDirectMessages?: boolean; + shouldRespondOnlyToMentions?: boolean; + shouldOnlyJoinInAllowedGroups?: boolean; + allowedGroupIds?: string[]; + messageSimilarityThreshold?: number; + isPartOfTeam?: boolean; + teamAgentIds?: string[]; + teamLeaderId?: string; + teamMemberInterestKeywords?: string[]; + }; + slack?: { + shouldIgnoreBotMessages?: boolean; + shouldIgnoreDirectMessages?: boolean; + }; + gitbook?: { + keywords?: { + projectTerms?: string[]; + generalQueries?: string[]; + }; + documentTriggers?: string[]; + }; + }; + + /** Writing style guides */ + style: { + all: string[]; + chat: string[]; + post: string[]; + }; + + /** Optional Twitter profile */ + twitterProfile?: { + id: string; + username: string; + screenName: string; + bio: string; + nicknames?: string[]; + }; + /** Optional NFT prompt */ + nft?: { + prompt: string; + }; +}; + +/** + * Interface for database operations + */ +export interface IDatabaseAdapter { + /** Database instance */ + db: any; + + /** Optional initialization */ + init(): Promise; + + /** Close database connection */ + close(): Promise; + + /** Get account by ID */ + getAccountById(userId: UUID): Promise; + + /** Create new account */ + createAccount(account: Account): Promise; + + /** Get memories matching criteria */ + getMemories(params: { + roomId: UUID; + count?: number; + unique?: boolean; + tableName: string; + agentId: UUID; + start?: number; + end?: number; + }): Promise; + + getMemoryById(id: UUID): Promise; + + getMemoriesByRoomIds(params: { + tableName: string; + agentId: UUID; + roomIds: UUID[]; + }): Promise; + + getCachedEmbeddings(params: { + query_table_name: string; + query_threshold: number; + query_input: string; + query_field_name: string; + query_field_sub_name: string; + query_match_count: number; + }): Promise<{ embedding: number[]; levenshtein_score: number }[]>; + + log(params: { + body: { [key: string]: unknown }; + userId: UUID; + roomId: UUID; + type: string; + }): Promise; + + getActorDetails(params: { roomId: UUID }): Promise; + + searchMemories(params: { + tableName: string; + agentId: UUID; + roomId: UUID; + embedding: number[]; + match_threshold: number; + match_count: number; + unique: boolean; + }): Promise; + + updateGoalStatus(params: { + goalId: UUID; + status: GoalStatus; + }): Promise; + + searchMemoriesByEmbedding( + embedding: number[], + params: { + match_threshold?: number; + count?: number; + roomId?: UUID; + agentId?: UUID; + unique?: boolean; + tableName: string; + } + ): Promise; + + createMemory( + memory: Memory, + tableName: string, + unique?: boolean + ): Promise; + + removeMemory(memoryId: UUID, tableName: string): Promise; + + removeAllMemories(roomId: UUID, tableName: string): Promise; + + countMemories( + roomId: UUID, + unique?: boolean, + tableName?: string + ): Promise; + + getGoals(params: { + agentId: UUID; + roomId: UUID; + userId?: UUID | null; + onlyInProgress?: boolean; + count?: number; + }): Promise; + + updateGoal(goal: Goal): Promise; + + createGoal(goal: Goal): Promise; + + removeGoal(goalId: UUID): Promise; + + removeAllGoals(roomId: UUID): Promise; + + getRoom(roomId: UUID): Promise; + + createRoom(roomId?: UUID): Promise; + + removeRoom(roomId: UUID): Promise; + + getRoomsForParticipant(userId: UUID): Promise; + + getRoomsForParticipants(userIds: UUID[]): Promise; + + addParticipant(userId: UUID, roomId: UUID): Promise; + + removeParticipant(userId: UUID, roomId: UUID): Promise; + + getParticipantsForAccount(userId: UUID): Promise; + + getParticipantsForRoom(roomId: UUID): Promise; + + getParticipantUserState( + roomId: UUID, + userId: UUID + ): Promise<"FOLLOWED" | "MUTED" | null>; + + setParticipantUserState( + roomId: UUID, + userId: UUID, + state: "FOLLOWED" | "MUTED" | null + ): Promise; + + createRelationship(params: { userA: UUID; userB: UUID }): Promise; + + getRelationship(params: { + userA: UUID; + userB: UUID; + }): Promise; + + getRelationships(params: { userId: UUID }): Promise; +} + +export interface IDatabaseCacheAdapter { + getCache(params: { + agentId: UUID; + key: string; + }): Promise; + + setCache(params: { + agentId: UUID; + key: string; + value: string; + }): Promise; + + deleteCache(params: { agentId: UUID; key: string }): Promise; +} + +export interface IMemoryManager { + runtime: IAgentRuntime; + tableName: string; + constructor: Function; + + addEmbeddingToMemory(memory: Memory): Promise; + + getMemories(opts: { + roomId: UUID; + count?: number; + unique?: boolean; + start?: number; + end?: number; + }): Promise; + + getCachedEmbeddings( + content: string + ): Promise<{ embedding: number[]; levenshtein_score: number }[]>; + + getMemoryById(id: UUID): Promise; + getMemoriesByRoomIds(params: { roomIds: UUID[] }): Promise; + searchMemoriesByEmbedding( + embedding: number[], + opts: { + match_threshold?: number; + count?: number; + roomId: UUID; + unique?: boolean; + } + ): Promise; + + createMemory(memory: Memory, unique?: boolean): Promise; + + removeMemory(memoryId: UUID): Promise; + + removeAllMemories(roomId: UUID): Promise; + + countMemories(roomId: UUID, unique?: boolean): Promise; +} + +export type CacheOptions = { + expires?: number; +}; + +export enum CacheStore { + REDIS = "redis", + DATABASE = "database", + FILESYSTEM = "filesystem", +} + +export interface ICacheManager { + get(key: string): Promise; + set(key: string, value: T, options?: CacheOptions): Promise; + delete(key: string): Promise; +} + +export abstract class Service { + private static instance: Service | null = null; + + static get serviceType(): ServiceType { + throw new Error("Service must implement static serviceType getter"); + } + + public static getInstance(): T { + if (!Service.instance) { + Service.instance = new (this as any)(); + } + return Service.instance as T; + } + + get serviceType(): ServiceType { + return (this.constructor as typeof Service).serviceType; + } + + // Add abstract initialize method that must be implemented by derived classes + abstract initialize(runtime: IAgentRuntime): Promise; +} + +export interface IAgentRuntime { + // Properties + agentId: UUID; + serverUrl: string; + databaseAdapter: IDatabaseAdapter; + token: string | null; + modelProvider: ModelProviderName; + imageModelProvider: ModelProviderName; + character: Character; + providers: Provider[]; + actions: Action[]; + evaluators: Evaluator[]; + plugins: Plugin[]; + + fetch?: typeof fetch | null; + + messageManager: IMemoryManager; + descriptionManager: IMemoryManager; + documentsManager: IMemoryManager; + knowledgeManager: IMemoryManager; + loreManager: IMemoryManager; + + cacheManager: ICacheManager; + + services: Map; + // any could be EventEmitter + // but I think the real solution is forthcoming as a base client interface + clients: Record; + + initialize(): Promise; + + registerMemoryManager(manager: IMemoryManager): void; + + getMemoryManager(name: string): IMemoryManager | null; + + getService(service: ServiceType): T | null; + + registerService(service: Service): void; + + getSetting(key: string): string | null; + + // Methods + getConversationLength(): number; + + processActions( + message: Memory, + responses: Memory[], + state?: State, + callback?: HandlerCallback + ): Promise; + + evaluate( + message: Memory, + state?: State, + didRespond?: boolean, + callback?: HandlerCallback + ): Promise; + + ensureParticipantExists(userId: UUID, roomId: UUID): Promise; + + ensureUserExists( + userId: UUID, + userName: string | null, + name: string | null, + source: string | null + ): Promise; + + registerAction(action: Action): void; + + ensureConnection( + userId: UUID, + roomId: UUID, + userName?: string, + userScreenName?: string, + source?: string + ): Promise; + + ensureParticipantInRoom(userId: UUID, roomId: UUID): Promise; + + ensureRoomExists(roomId: UUID): Promise; + + composeState( + message: Memory, + additionalKeys?: { [key: string]: unknown } + ): Promise; + + updateRecentMessageState(state: State): Promise; +} + +export interface IImageDescriptionService extends Service { + describeImage( + imageUrl: string + ): Promise<{ title: string; description: string }>; +} + +export interface ITranscriptionService extends Service { + transcribeAttachment(audioBuffer: ArrayBuffer): Promise; + transcribeAttachmentLocally( + audioBuffer: ArrayBuffer + ): Promise; + transcribe(audioBuffer: ArrayBuffer): Promise; + transcribeLocally(audioBuffer: ArrayBuffer): Promise; +} + +export interface IVideoService extends Service { + isVideoUrl(url: string): boolean; + fetchVideoInfo(url: string): Promise; + downloadVideo(videoInfo: Media): Promise; + processVideo(url: string, runtime: IAgentRuntime): Promise; +} + +export interface ITextGenerationService extends Service { + initializeModel(): Promise; + queueMessageCompletion( + context: string, + temperature: number, + stop: string[], + frequency_penalty: number, + presence_penalty: number, + max_tokens: number + ): Promise; + queueTextCompletion( + context: string, + temperature: number, + stop: string[], + frequency_penalty: number, + presence_penalty: number, + max_tokens: number + ): Promise; + getEmbeddingResponse(input: string): Promise; +} + +export interface IBrowserService extends Service { + closeBrowser(): Promise; + getPageContent( + url: string, + runtime: IAgentRuntime + ): Promise<{ title: string; description: string; bodyContent: string }>; +} + +export interface ISpeechService extends Service { + getInstance(): ISpeechService; + generate(runtime: IAgentRuntime, text: string): Promise; +} + +export interface IPdfService extends Service { + getInstance(): IPdfService; + convertPdfToText(pdfBuffer: Buffer): Promise; +} + +export interface IAwsS3Service extends Service { + uploadFile( + imagePath: string, + subDirectory: string, + useSignedUrl: boolean, + expiresIn: number + ): Promise<{ + success: boolean; + url?: string; + error?: string; + }>; + generateSignedUrl(fileName: string, expiresIn: number): Promise; +} + +export type SearchResult = { + title: string; + url: string; + content: string; + score: number; + raw_content: string | null; +}; + +export type SearchResponse = { + query: string; + follow_up_questions: string[] | null; + answer: string | null; + images: string[]; + results: SearchResult[]; + response_time: number; +}; + +export enum ServiceType { + IMAGE_DESCRIPTION = "image_description", + TRANSCRIPTION = "transcription", + VIDEO = "video", + TEXT_GENERATION = "text_generation", + BROWSER = "browser", + SPEECH_GENERATION = "speech_generation", + PDF = "pdf", + INTIFACE = "intiface", + AWS_S3 = "aws_s3", + BUTTPLUG = "buttplug", + SLACK = "slack", +} + +export enum LoggingLevel { + DEBUG = "debug", + VERBOSE = "verbose", + NONE = "none", +} + +export type KnowledgeItem = { + id: UUID; + content: Content; +}; + +export interface ActionResponse { + like: boolean; + retweet: boolean; + quote?: boolean; + reply?: boolean; +} + +export interface ISlackService extends Service { + client: any; +} From b37120f228b85c33779bcd33cd991712d73c6449 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:09:34 -0800 Subject: [PATCH 031/312] Add missing logger --- .../packages/elizaos-core-proxy/logger.ts | 271 ++++++++++++++++++ 1 file changed, 271 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/logger.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/logger.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/logger.ts new file mode 100644 index 000000000..70b4a4899 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/logger.ts @@ -0,0 +1,271 @@ +class ElizaLogger { + constructor() { + // Check if we're in Node.js environment + this.isNode = + typeof process !== "undefined" && + process.versions != null && + process.versions.node != null; + + // Set verbose based on environment + this.verbose = this.isNode ? process.env.VERBOSE === "true" : false; + + // Add initialization logging + console.log(`[ElizaLogger] Initializing with: + isNode: ${this.isNode} + verbose: ${this.verbose} + VERBOSE env: ${process.env.VERBOSE} + NODE_ENV: ${process.env.NODE_ENV} + `); + } + + private isNode: boolean; + verbose = false; + closeByNewLine = true; + useIcons = true; + logsTitle = "LOGS"; + warningsTitle = "WARNINGS"; + errorsTitle = "ERRORS"; + informationsTitle = "INFORMATIONS"; + successesTitle = "SUCCESS"; + debugsTitle = "DEBUG"; + assertsTitle = "ASSERT"; + + #getColor(foregroundColor = "", backgroundColor = "") { + if (!this.isNode) { + // Browser console styling + const colors: { [key: string]: string } = { + black: "#000000", + red: "#ff0000", + green: "#00ff00", + yellow: "#ffff00", + blue: "#0000ff", + magenta: "#ff00ff", + cyan: "#00ffff", + white: "#ffffff", + }; + + const fg = colors[foregroundColor.toLowerCase()] || colors.white; + const bg = colors[backgroundColor.toLowerCase()] || "transparent"; + return `color: ${fg}; background: ${bg};`; + } + + // Node.js console colors + let fgc = "\x1b[37m"; + switch (foregroundColor.trim().toLowerCase()) { + case "black": + fgc = "\x1b[30m"; + break; + case "red": + fgc = "\x1b[31m"; + break; + case "green": + fgc = "\x1b[32m"; + break; + case "yellow": + fgc = "\x1b[33m"; + break; + case "blue": + fgc = "\x1b[34m"; + break; + case "magenta": + fgc = "\x1b[35m"; + break; + case "cyan": + fgc = "\x1b[36m"; + break; + case "white": + fgc = "\x1b[37m"; + break; + } + + let bgc = ""; + switch (backgroundColor.trim().toLowerCase()) { + case "black": + bgc = "\x1b[40m"; + break; + case "red": + bgc = "\x1b[44m"; + break; + case "green": + bgc = "\x1b[44m"; + break; + case "yellow": + bgc = "\x1b[43m"; + break; + case "blue": + bgc = "\x1b[44m"; + break; + case "magenta": + bgc = "\x1b[45m"; + break; + case "cyan": + bgc = "\x1b[46m"; + break; + case "white": + bgc = "\x1b[47m"; + break; + } + + return `${fgc}${bgc}`; + } + + #getColorReset() { + return this.isNode ? "\x1b[0m" : ""; + } + + clear() { + console.clear(); + } + + print(foregroundColor = "white", backgroundColor = "black", ...strings) { + // Convert objects to strings + const processedStrings = strings.map((item) => { + if (typeof item === "object") { + return JSON.stringify(item, (key, value) => + typeof value === "bigint" ? value.toString() : value + ); + } + return item; + }); + + if (this.isNode) { + const c = this.#getColor(foregroundColor, backgroundColor); + console.log(c, processedStrings.join(""), this.#getColorReset()); + } else { + const style = this.#getColor(foregroundColor, backgroundColor); + console.log(`%c${processedStrings.join("")}`, style); + } + + if (this.closeByNewLine) console.log(""); + } + + #logWithStyle( + strings: any[], + options: { + fg: string; + bg: string; + icon: string; + groupTitle: string; + } + ) { + const { fg, bg, icon, groupTitle } = options; + + if (strings.length > 1) { + if (this.isNode) { + const c = this.#getColor(fg, bg); + console.group(c, (this.useIcons ? icon : "") + groupTitle); + } else { + const style = this.#getColor(fg, bg); + console.group( + `%c${this.useIcons ? icon : ""}${groupTitle}`, + style + ); + } + + const nl = this.closeByNewLine; + this.closeByNewLine = false; + strings.forEach((item) => { + this.print(fg, bg, item); + }); + this.closeByNewLine = nl; + console.groupEnd(); + if (nl) console.log(); + } else { + this.print( + fg, + bg, + strings.map((item) => { + return `${this.useIcons ? `${icon} ` : ""}${item}`; + }) + ); + } + } + + log(...strings) { + this.#logWithStyle(strings, { + fg: "white", + bg: "", + icon: "\u25ce", + groupTitle: ` ${this.logsTitle}`, + }); + } + + warn(...strings) { + this.#logWithStyle(strings, { + fg: "yellow", + bg: "", + icon: "\u26a0", + groupTitle: ` ${this.warningsTitle}`, + }); + } + + error(...strings) { + this.#logWithStyle(strings, { + fg: "red", + bg: "", + icon: "\u26D4", + groupTitle: ` ${this.errorsTitle}`, + }); + } + + info(...strings) { + this.#logWithStyle(strings, { + fg: "blue", + bg: "", + icon: "\u2139", + groupTitle: ` ${this.informationsTitle}`, + }); + } + + debug(...strings) { + if (!this.verbose) { + // for diagnosing verbose logging issues + // console.log( + // "[ElizaLogger] Debug message suppressed (verbose=false):", + // ...strings + // ); + return; + } + this.#logWithStyle(strings, { + fg: "magenta", + bg: "", + icon: "\u1367", + groupTitle: ` ${this.debugsTitle}`, + }); + } + + success(...strings) { + this.#logWithStyle(strings, { + fg: "green", + bg: "", + icon: "\u2713", + groupTitle: ` ${this.successesTitle}`, + }); + } + + assert(...strings) { + this.#logWithStyle(strings, { + fg: "cyan", + bg: "", + icon: "\u0021", + groupTitle: ` ${this.assertsTitle}`, + }); + } + + progress(message: string) { + if (this.isNode) { + // Clear the current line and move cursor to beginning + process.stdout.clearLine(0); + process.stdout.cursorTo(0); + process.stdout.write(message); + } else { + console.log(message); + } + } +} + +export const elizaLogger = new ElizaLogger(); +elizaLogger.closeByNewLine = true; +elizaLogger.useIcons = true; + +export default elizaLogger; From 7ee68ba47571fd85808a3d53df595da0380b2428 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:09:56 -0800 Subject: [PATCH 032/312] Add missing models --- .../packages/elizaos-core-proxy/models.ts | 514 ++++++++++++++++++ 1 file changed, 514 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/models.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/models.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/models.ts new file mode 100644 index 000000000..760953342 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/models.ts @@ -0,0 +1,514 @@ +import settings from "./settings.ts"; +import { Models, ModelProviderName, ModelClass } from "./types.ts"; + +export const models: Models = { + [ModelProviderName.OPENAI]: { + endpoint: settings.OPENAI_API_URL || "https://api.openai.com/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.0, + presence_penalty: 0.0, + temperature: 0.6, + }, + model: { + [ModelClass.SMALL]: settings.SMALL_OPENAI_MODEL || "gpt-4o-mini", + [ModelClass.MEDIUM]: settings.MEDIUM_OPENAI_MODEL || "gpt-4o", + [ModelClass.LARGE]: settings.LARGE_OPENAI_MODEL || "gpt-4o", + [ModelClass.EMBEDDING]: settings.EMBEDDING_OPENAI_MODEL || "text-embedding-3-small", + [ModelClass.IMAGE]: settings.IMAGE_OPENAI_MODEL || "dall-e-3", + }, + }, + [ModelProviderName.ETERNALAI]: { + endpoint: settings.ETERNALAI_URL, + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.0, + presence_penalty: 0.0, + temperature: 0.6, + }, + model: { + [ModelClass.SMALL]: + settings.ETERNALAI_MODEL || + "neuralmagic/Meta-Llama-3.1-405B-Instruct-quantized.w4a16", + [ModelClass.MEDIUM]: + settings.ETERNALAI_MODEL || + "neuralmagic/Meta-Llama-3.1-405B-Instruct-quantized.w4a16", + [ModelClass.LARGE]: + settings.ETERNALAI_MODEL || + "neuralmagic/Meta-Llama-3.1-405B-Instruct-quantized.w4a16", + [ModelClass.EMBEDDING]: "", + [ModelClass.IMAGE]: "", + }, + }, + [ModelProviderName.ANTHROPIC]: { + settings: { + stop: [], + maxInputTokens: 200000, + maxOutputTokens: 4096, + frequency_penalty: 0.4, + presence_penalty: 0.4, + temperature: 0.7, + }, + endpoint: "https://api.anthropic.com/v1", + model: { + [ModelClass.SMALL]: settings.SMALL_ANTHROPIC_MODEL || "claude-3-haiku-20240307", + [ModelClass.MEDIUM]: settings.MEDIUM_ANTHROPIC_MODEL || "claude-3-5-sonnet-20241022", + [ModelClass.LARGE]: settings.LARGE_ANTHROPIC_MODEL || "claude-3-5-sonnet-20241022", + }, + }, + [ModelProviderName.CLAUDE_VERTEX]: { + settings: { + stop: [], + maxInputTokens: 200000, + maxOutputTokens: 8192, + frequency_penalty: 0.4, + presence_penalty: 0.4, + temperature: 0.7, + }, + endpoint: "https://api.anthropic.com/v1", // TODO: check + model: { + [ModelClass.SMALL]: "claude-3-5-sonnet-20241022", + [ModelClass.MEDIUM]: "claude-3-5-sonnet-20241022", + [ModelClass.LARGE]: "claude-3-opus-20240229", + }, + }, + [ModelProviderName.GROK]: { + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.4, + presence_penalty: 0.4, + temperature: 0.7, + }, + endpoint: "https://api.x.ai/v1", + model: { + [ModelClass.SMALL]: settings.SMALL_GROK_MODEL || "grok-2-1212", + [ModelClass.MEDIUM]: settings.MEDIUM_GROK_MODEL || "grok-2-1212", + [ModelClass.LARGE]: settings.LARGE_GROK_MODEL || "grok-2-1212", + [ModelClass.EMBEDDING]: settings.EMBEDDING_GROK_MODEL || "grok-2-1212", // not sure about this one + }, + }, + [ModelProviderName.GROQ]: { + endpoint: "https://api.groq.com/openai/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8000, + frequency_penalty: 0.4, + presence_penalty: 0.4, + temperature: 0.7, + }, + model: { + [ModelClass.SMALL]: + settings.SMALL_GROQ_MODEL || "llama-3.1-8b-instant", + [ModelClass.MEDIUM]: + settings.MEDIUM_GROQ_MODEL || "llama-3.3-70b-versatile", + [ModelClass.LARGE]: + settings.LARGE_GROQ_MODEL || "llama-3.2-90b-vision-preview", + [ModelClass.EMBEDDING]: + settings.EMBEDDING_GROQ_MODEL || "llama-3.1-8b-instant", + }, + }, + [ModelProviderName.LLAMACLOUD]: { + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + repetition_penalty: 0.4, + temperature: 0.7, + }, + imageSettings: { + steps: 4, + }, + endpoint: "https://api.llamacloud.com/v1", + model: { + [ModelClass.SMALL]: "meta-llama/Llama-3.2-3B-Instruct-Turbo", + [ModelClass.MEDIUM]: "meta-llama-3.1-8b-instruct", + [ModelClass.LARGE]: "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", + [ModelClass.EMBEDDING]: + "togethercomputer/m2-bert-80M-32k-retrieval", + [ModelClass.IMAGE]: "black-forest-labs/FLUX.1-schnell", + }, + }, + [ModelProviderName.TOGETHER]: { + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + repetition_penalty: 0.4, + temperature: 0.7, + }, + imageSettings: { + steps: 4, + }, + endpoint: "https://api.together.ai/v1", + model: { + [ModelClass.SMALL]: "meta-llama/Llama-3.2-3B-Instruct-Turbo", + [ModelClass.MEDIUM]: "meta-llama-3.1-8b-instruct", + [ModelClass.LARGE]: "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo", + [ModelClass.EMBEDDING]: + "togethercomputer/m2-bert-80M-32k-retrieval", + [ModelClass.IMAGE]: "black-forest-labs/FLUX.1-schnell", + }, + }, + [ModelProviderName.LLAMALOCAL]: { + settings: { + stop: ["<|eot_id|>", "<|eom_id|>"], + maxInputTokens: 32768, + maxOutputTokens: 8192, + repetition_penalty: 0.4, + temperature: 0.7, + }, + model: { + [ModelClass.SMALL]: + "NousResearch/Hermes-3-Llama-3.1-8B-GGUF/resolve/main/Hermes-3-Llama-3.1-8B.Q8_0.gguf?download=true", + [ModelClass.MEDIUM]: + "NousResearch/Hermes-3-Llama-3.1-8B-GGUF/resolve/main/Hermes-3-Llama-3.1-8B.Q8_0.gguf?download=true", // TODO: ?download=true + [ModelClass.LARGE]: + "NousResearch/Hermes-3-Llama-3.1-8B-GGUF/resolve/main/Hermes-3-Llama-3.1-8B.Q8_0.gguf?download=true", + // "RichardErkhov/NousResearch_-_Meta-Llama-3.1-70B-gguf", // TODO: + [ModelClass.EMBEDDING]: + "togethercomputer/m2-bert-80M-32k-retrieval", + }, + }, + [ModelProviderName.GOOGLE]: { + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.4, + presence_penalty: 0.4, + temperature: 0.7, + }, + model: { + [ModelClass.SMALL]: + settings.SMALL_GOOGLE_MODEL || + settings.GOOGLE_MODEL || + "gemini-1.5-flash-latest", + [ModelClass.MEDIUM]: + settings.MEDIUM_GOOGLE_MODEL || + settings.GOOGLE_MODEL || + "gemini-1.5-flash-latest", + [ModelClass.LARGE]: + settings.LARGE_GOOGLE_MODEL || + settings.GOOGLE_MODEL || + "gemini-1.5-pro-latest", + [ModelClass.EMBEDDING]: + settings.EMBEDDING_GOOGLE_MODEL || + settings.GOOGLE_MODEL || + "text-embedding-004", + }, + }, + [ModelProviderName.REDPILL]: { + endpoint: "https://api.red-pill.ai/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.0, + presence_penalty: 0.0, + temperature: 0.6, + }, + // Available models: https://docs.red-pill.ai/get-started/supported-models + // To test other models, change the models below + model: { + [ModelClass.SMALL]: + settings.SMALL_REDPILL_MODEL || + settings.REDPILL_MODEL || + "gpt-4o-mini", + [ModelClass.MEDIUM]: + settings.MEDIUM_REDPILL_MODEL || + settings.REDPILL_MODEL || + "gpt-4o", + [ModelClass.LARGE]: + settings.LARGE_REDPILL_MODEL || + settings.REDPILL_MODEL || + "gpt-4o", + [ModelClass.EMBEDDING]: "text-embedding-3-small", + }, + }, + [ModelProviderName.OPENROUTER]: { + endpoint: "https://openrouter.ai/api/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.4, + presence_penalty: 0.4, + temperature: 0.7, + }, + // Available models: https://openrouter.ai/models + // To test other models, change the models below + model: { + [ModelClass.SMALL]: + settings.SMALL_OPENROUTER_MODEL || + settings.OPENROUTER_MODEL || + "nousresearch/hermes-3-llama-3.1-405b", + [ModelClass.MEDIUM]: + settings.MEDIUM_OPENROUTER_MODEL || + settings.OPENROUTER_MODEL || + "nousresearch/hermes-3-llama-3.1-405b", + [ModelClass.LARGE]: + settings.LARGE_OPENROUTER_MODEL || + settings.OPENROUTER_MODEL || + "nousresearch/hermes-3-llama-3.1-405b", + [ModelClass.EMBEDDING]: "text-embedding-3-small", + }, + }, + [ModelProviderName.OLLAMA]: { + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.4, + presence_penalty: 0.4, + temperature: 0.7, + }, + endpoint: settings.OLLAMA_SERVER_URL || "http://localhost:11434", + model: { + [ModelClass.SMALL]: + settings.SMALL_OLLAMA_MODEL || + settings.OLLAMA_MODEL || + "llama3.2", + [ModelClass.MEDIUM]: + settings.MEDIUM_OLLAMA_MODEL || + settings.OLLAMA_MODEL || + "hermes3", + [ModelClass.LARGE]: + settings.LARGE_OLLAMA_MODEL || + settings.OLLAMA_MODEL || + "hermes3:70b", + [ModelClass.EMBEDDING]: + settings.OLLAMA_EMBEDDING_MODEL || "mxbai-embed-large", + }, + }, + [ModelProviderName.HEURIST]: { + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + repetition_penalty: 0.4, + temperature: 0.7, + }, + imageSettings: { + steps: 20, + }, + endpoint: "https://llm-gateway.heurist.xyz", + model: { + [ModelClass.SMALL]: + settings.SMALL_HEURIST_MODEL || + "meta-llama/llama-3-70b-instruct", + [ModelClass.MEDIUM]: + settings.MEDIUM_HEURIST_MODEL || + "meta-llama/llama-3-70b-instruct", + [ModelClass.LARGE]: + settings.LARGE_HEURIST_MODEL || + "meta-llama/llama-3.1-405b-instruct", + [ModelClass.EMBEDDING]: "", //Add later, + [ModelClass.IMAGE]: settings.HEURIST_IMAGE_MODEL || "PepeXL", + }, + }, + [ModelProviderName.GALADRIEL]: { + endpoint: "https://api.galadriel.com/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.5, + presence_penalty: 0.5, + temperature: 0.8, + }, + model: { + [ModelClass.SMALL]: "llama3.1:70b", + [ModelClass.MEDIUM]: "llama3.1:70b", + [ModelClass.LARGE]: "llama3.1:405b", + [ModelClass.EMBEDDING]: "gte-large-en-v1.5", + [ModelClass.IMAGE]: "stabilityai/stable-diffusion-xl-base-1.0", + }, + }, + [ModelProviderName.FAL]: { + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + repetition_penalty: 0.4, + temperature: 0.7, + }, + imageSettings: { + steps: 28, + }, + endpoint: "https://api.fal.ai/v1", + model: { + [ModelClass.SMALL]: "", // FAL doesn't provide text models + [ModelClass.MEDIUM]: "", + [ModelClass.LARGE]: "", + [ModelClass.EMBEDDING]: "", + [ModelClass.IMAGE]: "fal-ai/flux-lora", + }, + }, + [ModelProviderName.GAIANET]: { + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + repetition_penalty: 0.4, + temperature: 0.7, + }, + endpoint: settings.GAIANET_SERVER_URL, + model: { + [ModelClass.SMALL]: + settings.GAIANET_MODEL || + settings.SMALL_GAIANET_MODEL || + "llama3b", + [ModelClass.MEDIUM]: + settings.GAIANET_MODEL || + settings.MEDIUM_GAIANET_MODEL || + "llama", + [ModelClass.LARGE]: + settings.GAIANET_MODEL || + settings.LARGE_GAIANET_MODEL || + "qwen72b", + [ModelClass.EMBEDDING]: + settings.GAIANET_EMBEDDING_MODEL || "nomic-embed", + }, + }, + [ModelProviderName.ALI_BAILIAN]: { + endpoint: "https://dashscope.aliyuncs.com/compatible-mode/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.4, + presence_penalty: 0.4, + temperature: 0.6, + }, + model: { + [ModelClass.SMALL]: "qwen-turbo", + [ModelClass.MEDIUM]: "qwen-plus", + [ModelClass.LARGE]: "qwen-max", + [ModelClass.IMAGE]: "wanx-v1", + }, + }, + [ModelProviderName.VOLENGINE]: { + endpoint: "https://open.volcengineapi.com/api/v3/", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.4, + presence_penalty: 0.4, + temperature: 0.6, + }, + model: { + [ModelClass.SMALL]: "doubao-lite-128k", + [ModelClass.MEDIUM]: "doubao-pro-128k", + [ModelClass.LARGE]: "doubao-pro-128k", + [ModelClass.EMBEDDING]: "doubao-embedding", + }, + }, + [ModelProviderName.NANOGPT]: { + endpoint: "https://nano-gpt.com/api/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + frequency_penalty: 0.0, + presence_penalty: 0.0, + temperature: 0.6, + }, + model: { + [ModelClass.SMALL]: settings.SMALL_NANOGPT_MODEL || "gpt-4o-mini", + [ModelClass.MEDIUM]: settings.MEDIUM_NANOGPT_MODEL || "gpt-4o", + [ModelClass.LARGE]: settings.LARGE_NANOGPT_MODEL || "gpt-4o", + } + }, + [ModelProviderName.HYPERBOLIC]: { + endpoint: "https://api.hyperbolic.xyz/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + temperature: 0.6, + }, + model: { + [ModelClass.SMALL]: + settings.SMALL_HYPERBOLIC_MODEL || + settings.HYPERBOLIC_MODEL || + "meta-llama/Llama-3.2-3B-Instruct", + [ModelClass.MEDIUM]: + settings.MEDIUM_HYPERBOLIC_MODEL || + settings.HYPERBOLIC_MODEL || + "meta-llama/Meta-Llama-3.1-70B-Instruct", + [ModelClass.LARGE]: + settings.LARGE_HYPERBOLIC_MODEL || + settings.HYPERBOLIC_MODEL || + "meta-llama/Meta-Llama-3.1-405-Instruct", + [ModelClass.IMAGE]: settings.IMAGE_HYPERBOLIC_MODEL || "FLUX.1-dev", + }, + }, + [ModelProviderName.VENICE]: { + endpoint: "https://api.venice.ai/api/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + temperature: 0.6, + }, + model: { + [ModelClass.SMALL]: settings.SMALL_VENICE_MODEL || "llama-3.3-70b", + [ModelClass.MEDIUM]: settings.MEDIUM_VENICE_MODEL || "llama-3.3-70b", + [ModelClass.LARGE]: settings.LARGE_VENICE_MODEL || "llama-3.1-405b", + [ModelClass.IMAGE]: settings.IMAGE_VENICE_MODEL || "fluently-xl", + }, + }, + [ModelProviderName.AKASH_CHAT_API]: { + endpoint: "https://chatapi.akash.network/api/v1", + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + temperature: 0.6, + }, + model: { + [ModelClass.SMALL]: + settings.SMALL_AKASH_CHAT_API_MODEL || + "Meta-Llama-3-2-3B-Instruct", + [ModelClass.MEDIUM]: + settings.MEDIUM_AKASH_CHAT_API_MODEL || + "Meta-Llama-3-3-70B-Instruct", + [ModelClass.LARGE]: + settings.LARGE_AKASH_CHAT_API_MODEL || + "Meta-Llama-3-1-405B-Instruct-FP8", + }, + }, + [ModelProviderName.LIVEPEER]: { + settings: { + stop: [], + maxInputTokens: 128000, + maxOutputTokens: 8192, + repetition_penalty: 0.4, + temperature: 0.7, + }, + // livepeer endpoint is handled from the sdk + model: { + [ModelClass.SMALL]: "", + [ModelClass.MEDIUM]: "", + [ModelClass.LARGE]: "", + [ModelClass.EMBEDDING]: "", + [ModelClass.IMAGE]: settings.LIVEPEER_IMAGE_MODEL || "ByteDance/SDXL-Lightning", + }, + }, +}; + +export function getModel(provider: ModelProviderName, type: ModelClass) { + return models[provider].model[type]; +} + +export function getEndpoint(provider: ModelProviderName) { + return models[provider].endpoint; +} From 5945687a07bb1e620ce6fe621c0a255a88659c1b Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:11:22 -0800 Subject: [PATCH 033/312] Add twitter plugin source --- .../plugins/plugin-twitter/.npmignore | 6 + .../plugins/plugin-twitter/package.json | 17 ++ .../plugin-twitter/src/actions/post.ts | 237 ++++++++++++++++++ .../plugins/plugin-twitter/src/index.ts | 12 + .../plugins/plugin-twitter/src/templates.ts | 22 ++ .../plugins/plugin-twitter/src/types.ts | 13 + .../plugins/plugin-twitter/tsconfig.json | 13 + .../plugins/plugin-twitter/tsup.config.ts | 10 + 8 files changed, 330 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/actions/post.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/templates.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/package.json new file mode 100644 index 000000000..13dbc5cf0 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/package.json @@ -0,0 +1,17 @@ +{ + "name": "@elizaos/plugin-twitter", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "agent-twitter-client": "0.0.17", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/actions/post.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/actions/post.ts new file mode 100644 index 000000000..6b737921f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/actions/post.ts @@ -0,0 +1,237 @@ +import { + Action, + IAgentRuntime, + Memory, + State, + composeContext, + elizaLogger, + ModelClass, + formatMessages, + generateObject, +} from "@elizaos/core"; +import { Scraper } from "agent-twitter-client"; +import { tweetTemplate } from "../templates"; +import { isTweetContent, TweetSchema } from "../types"; + +async function composeTweet( + runtime: IAgentRuntime, + _message: Memory, + state?: State +): Promise { + try { + const context = composeContext({ + state, + template: tweetTemplate, + }); + + const tweetContentObject = await generateObject({ + runtime, + context, + modelClass: ModelClass.SMALL, + schema: TweetSchema, + stop: ["\n"], + }); + + if (!isTweetContent(tweetContentObject.object)) { + elizaLogger.error( + "Invalid tweet content:", + tweetContentObject.object + ); + return; + } + + const trimmedContent = tweetContentObject.object.text.trim(); + + // Skip truncation if TWITTER_PREMIUM is true + if ( + process.env.TWITTER_PREMIUM?.toLowerCase() !== "true" && + trimmedContent.length > 180 + ) { + elizaLogger.warn( + `Tweet too long (${trimmedContent.length} chars), truncating...` + ); + return trimmedContent.substring(0, 177) + "..."; + } + + return trimmedContent; + } catch (error) { + elizaLogger.error("Error composing tweet:", error); + throw error; + } +} + +async function postTweet(content: string): Promise { + try { + const scraper = new Scraper(); + const username = process.env.TWITTER_USERNAME; + const password = process.env.TWITTER_PASSWORD; + const email = process.env.TWITTER_EMAIL; + const twitter2faSecret = process.env.TWITTER_2FA_SECRET; + + if (!username || !password) { + elizaLogger.error( + "Twitter credentials not configured in environment" + ); + return false; + } + + // Login with credentials + await scraper.login(username, password, email, twitter2faSecret); + if (!(await scraper.isLoggedIn())) { + elizaLogger.error("Failed to login to Twitter"); + return false; + } + + // Send the tweet + elizaLogger.log("Attempting to send tweet:", content); + const result = await scraper.sendTweet(content); + + const body = await result.json(); + elizaLogger.log("Tweet response:", body); + + // Check for Twitter API errors + if (body.errors) { + const error = body.errors[0]; + elizaLogger.error( + `Twitter API error (${error.code}): ${error.message}` + ); + return false; + } + + // Check for successful tweet creation + if (!body?.data?.create_tweet?.tweet_results?.result) { + elizaLogger.error( + "Failed to post tweet: No tweet result in response" + ); + return false; + } + + return true; + } catch (error) { + // Log the full error details + elizaLogger.error("Error posting tweet:", { + message: error.message, + stack: error.stack, + name: error.name, + cause: error.cause, + }); + return false; + } +} + +export const postAction: Action = { + name: "POST_TWEET", + similes: ["TWEET", "POST", "SEND_TWEET"], + description: "Post a tweet to Twitter", + validate: async ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ) => { + const hasCredentials = + !!process.env.TWITTER_USERNAME && !!process.env.TWITTER_PASSWORD; + elizaLogger.log(`Has credentials: ${hasCredentials}`); + + return hasCredentials; + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ): Promise => { + try { + // Generate tweet content using context + const tweetContent = await composeTweet(runtime, message, state); + + if (!tweetContent) { + elizaLogger.error("No content generated for tweet"); + return false; + } + + elizaLogger.log(`Generated tweet content: ${tweetContent}`); + + // Check for dry run mode - explicitly check for string "true" + if ( + process.env.TWITTER_DRY_RUN && + process.env.TWITTER_DRY_RUN.toLowerCase() === "true" + ) { + elizaLogger.info( + `Dry run: would have posted tweet: ${tweetContent}` + ); + return true; + } + + return await postTweet(tweetContent); + } catch (error) { + elizaLogger.error("Error in post action:", error); + return false; + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { text: "You should tweet that" }, + }, + { + user: "{{agentName}}", + content: { + text: "I'll share this update with my followers right away!", + action: "POST_TWEET", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Post this tweet" }, + }, + { + user: "{{agentName}}", + content: { + text: "I'll post that as a tweet now.", + action: "POST_TWEET", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Share that on Twitter" }, + }, + { + user: "{{agentName}}", + content: { + text: "I'll share this message on Twitter.", + action: "POST_TWEET", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Post that on X" }, + }, + { + user: "{{agentName}}", + content: { + text: "I'll post this message on X right away.", + action: "POST_TWEET", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "You should put that on X dot com" }, + }, + { + user: "{{agentName}}", + content: { + text: "I'll put this message up on X.com now.", + action: "POST_TWEET", + }, + }, + ], + ], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/index.ts new file mode 100644 index 000000000..ec979236a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/index.ts @@ -0,0 +1,12 @@ +import { Plugin } from "@elizaos/core"; +import { postAction } from "./actions/post"; + +export const twitterPlugin: Plugin = { + name: "twitter", + description: "Twitter integration plugin for posting tweets", + actions: [postAction], + evaluators: [], + providers: [], +}; + +export default twitterPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/templates.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/templates.ts new file mode 100644 index 000000000..4578396bc --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/templates.ts @@ -0,0 +1,22 @@ +export const tweetTemplate = ` +# Context +{{recentMessages}} + +# Topics +{{topics}} + +# Post Directions +{{postDirections}} + +# Recent interactions between {{agentName}} and other users: +{{recentPostInteractions}} + +# Task +Generate a tweet that: +1. Relates to the recent conversation or requested topic +2. Matches the character's style and voice +3. Is concise and engaging +4. Must be UNDER 180 characters (this is a strict requirement) +5. Speaks from the perspective of {{agentName}} + +Generate only the tweet text, no other commentary.`; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/types.ts new file mode 100644 index 000000000..1f4537b0a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/src/types.ts @@ -0,0 +1,13 @@ +import { z } from "zod"; + +export interface TweetContent { + text: string; +} + +export const TweetSchema = z.object({ + text: z.string().describe("The text of the tweet"), +}); + +export const isTweetContent = (obj: any): obj is TweetContent => { + return TweetSchema.safeParse(obj).success; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/tsconfig.json new file mode 100644 index 000000000..834c4dce2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "types": [ + "node" + ] + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/tsup.config.ts new file mode 100644 index 000000000..430573c24 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/tsup.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], + external: ["dotenv", "fs", "path", "https", "http", "agentkeepalive"], +}); From aa5c0792252ae7461ce77eb06584f0af27168f8b Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:11:48 -0800 Subject: [PATCH 034/312] Add twitter plugin hacks --- .../components/plugins/plugin-twitter/.npmignore | 6 ------ .../components/plugins/plugin-twitter/package.json | 4 +--- 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/package.json index 13dbc5cf0..02934e4c2 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-twitter", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "agent-twitter-client": "0.0.17", "tsup": "8.3.5" }, From 2fb8fdc5c38776f30d4e16cae3762c90ef2a4eb0 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:13:01 -0800 Subject: [PATCH 035/312] Add twitter plugin install --- packages/usdk/packages/upstreet-agent/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 708b86ec7..f2de9eaec 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -9,6 +9,7 @@ "@elizaos/plugin-solana": "file:./packages/react-agents/components/plugins/plugin-solana", "@elizaos/plugin-tee": "file:./packages/react-agents/components/plugins/plugin-tee", "@elizaos/plugin-trustdb": "file:./packages/react-agents/components/plugins/plugin-trustdb", + "@elizaos/plugin-twitter": "file:./packages/react-agents/components/plugins/plugin-twitter", "@iarna/toml": "^2.2.5", "@supabase/postgrest-js": "^1.17.7", "@supabase/supabase-js": "^2.47.1", From 3e68208df90ad58b5be3cd965f758f06233d4496 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:13:16 -0800 Subject: [PATCH 036/312] Hook in more plugins --- .../react-agents/components/plugins/index.tsx | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 9165c0e0a..e5957cdcd 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -1,10 +1,12 @@ import React from 'react'; import { Action, useEnv } from 'react-agents'; import { z } from 'zod'; +import util from 'util'; import { ThreeDGenerationPlugin } from '@elizaos/plugin-3d-generation'; import { solanaPlugin } from '@elizaos/plugin-solana'; -import util from 'util'; - +import { teePlugin } from '@elizaos/plugin-tee'; +import { TrustScoreDatabase } from '@elizaos/plugin-trustdb'; +import { twitterPlugin } from '@elizaos/plugin-twitter'; function generateZodSchema(obj: any): z.ZodTypeAny { if (typeof obj === "string") return z.string(); @@ -93,6 +95,10 @@ type IPlugin = { providers: IProvider[]; }; +type Database = {}; + +type IAdapter = (database: Database) => void; + // const pluginWrap = (plugin: IPlugin) => (props: any) => { @@ -166,8 +172,15 @@ const pluginWrap = (plugin: IPlugin) => (props: any) => { ); }; +const adapterWrap = (adapter: IAdapter) => (props: any) => { + console.log('load adapter', adapter); + return null; +}; export const plugins = { '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), + '@elizaos/plugin-tee': pluginWrap(teePlugin), + '@elizaos/plugin-twitter': pluginWrap(twitterPlugin), + '@elizaos/plugin-trustdb': adapterWrap(TrustScoreDatabase), }; \ No newline at end of file From 83617fe3a0dbca4a7a2aef1bc8a990637e4a6694 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:13:30 -0800 Subject: [PATCH 037/312] Update lock --- pnpm-lock.yaml | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddc8cf049..03dd12e95 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -954,6 +954,9 @@ importers: '@elizaos/plugin-trustdb': specifier: file:./packages/react-agents/components/plugins/plugin-trustdb version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-twitter': + specifier: file:./packages/react-agents/components/plugins/plugin-twitter + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) '@iarna/toml': specifier: ^2.2.5 version: 2.2.5 @@ -2334,6 +2337,9 @@ packages: peerDependencies: whatwg-url: 7.1.0 + '@elizaos/plugin-twitter@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter, type: directory} + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -5455,6 +5461,9 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sinclair/typebox@0.32.35': + resolution: {integrity: sha512-Ul3YyOTU++to8cgNkttakC0dWvpERr6RYoHO2W47DLbFvrwBDJUY31B1sImH6JZSYc4Kt4PyHtoPNu+vL2r2dA==} + '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} @@ -6897,6 +6906,9 @@ packages: resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} engines: {node: '>= 14'} + agent-twitter-client@0.0.17: + resolution: {integrity: sha512-IxLtNyy+fHmh5uHcaybcfXYkvPMP2h7y79sV2N6JpoAY40GKcy60iey6lsL7NO506MnnYDaqlG1JHMjqbfrOxA==} + agentkeepalive@4.5.0: resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} engines: {node: '>= 8.0.0'} @@ -7573,6 +7585,10 @@ packages: resolution: {integrity: sha512-0lk0PHFe/uz0vl527fG9CgdE9WdafjDbCXvBbs+LUv000TVt2Jjhqbs4Jwm8gz070w8xXyEAxrPOMullsxXeGg==} engines: {node: '>= 0.4'} + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -10038,6 +10054,9 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + headers-polyfill@3.3.0: + resolution: {integrity: sha512-5e57etwBpNcDc0b6KCVWEh/Ro063OxPvzVimUdM0/tsYM/T7Hfy3kknIGj78SFTOhNd8AZY41U8mOHoO4LzmIQ==} + hex-rgb@4.3.0: resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==} engines: {node: '>=6'} @@ -10964,6 +10983,10 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stable-stringify@1.2.1: + resolution: {integrity: sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA==} + engines: {node: '>= 0.4'} + json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} @@ -10987,6 +11010,9 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonify@0.0.1: + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} + jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} @@ -12301,6 +12327,9 @@ packages: resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} engines: {node: '>= 6.0'} + otpauth@9.3.6: + resolution: {integrity: sha512-eIcCvuEvcAAPHxUKC9Q4uCe0Fh/yRc5jv9z+f/kvyIF2LPrhgAOuLB7J9CssGYhND/BL8M9hlHBTFmffpoQlMQ==} + ox@0.1.2: resolution: {integrity: sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww==} peerDependencies: @@ -13839,6 +13868,9 @@ packages: set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-cookie-parser@2.7.1: + resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -14776,6 +14808,9 @@ packages: resolution: {integrity: sha512-tNQ6DGYucFk94JlnUMsHCkHg5o1wnCdHh71Y2ukygNVssOdD1gNVjOpaojJrdwbEAhoZvcWdGHerCa55F8HKxQ==} engines: {node: '>=14'} + twitter-api-v2@1.19.0: + resolution: {integrity: sha512-jfG4aapNPM9+4VxNxn0TXvD8Qj8NmVx6cY0hp5K626uZ41qXPaJz33Djd3y6gfHF/+W29+iZz0Y5qB869d/akA==} + twoslash-protocol@0.2.12: resolution: {integrity: sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg==} @@ -14892,6 +14927,10 @@ packages: resolution: {integrity: sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==} engines: {node: '>=18.17'} + undici@7.2.0: + resolution: {integrity: sha512-klt+0S55GBViA9nsq48/NSCo4YX5mjydjypxD7UmHh/brMu8h/Mhd/F7qAeoH2NOO8SDTk6kjnTFc4WpzmfYpQ==} + engines: {node: '>=20.18.1'} + unenv-nightly@2.0.0-20241204-140205-a5d5190: resolution: {integrity: sha512-jpmAytLeiiW01pl5bhVn9wYJ4vtiLdhGe10oXlJBuQEX8mxjxO8BlEXGHU4vr4yEikjFP1wsomTHt/CLU8kUwg==} @@ -17394,6 +17433,20 @@ snapshots: - typescript - yaml + '@elizaos/plugin-twitter@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1)': + dependencies: + agent-twitter-client: 0.0.17 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - jiti + - postcss + - supports-color + - tsx + - typescript + - yaml + '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 @@ -21042,6 +21095,8 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@sinclair/typebox@0.32.35': {} + '@sindresorhus/is@4.6.0': {} '@sindresorhus/merge-streams@2.3.0': {} @@ -23342,6 +23397,19 @@ snapshots: agent-base@7.1.3: {} + agent-twitter-client@0.0.17: + dependencies: + '@sinclair/typebox': 0.32.35 + headers-polyfill: 3.3.0 + json-stable-stringify: 1.2.1 + node-fetch: 3.3.2 + otpauth: 9.3.6 + set-cookie-parser: 2.7.1 + tough-cookie: 4.1.4 + tslib: 2.8.1 + twitter-api-v2: 1.19.0 + undici: 7.2.0 + agentkeepalive@4.5.0: dependencies: humanize-ms: 1.2.1 @@ -24161,6 +24229,11 @@ snapshots: call-bind: 1.0.8 get-intrinsic: 1.2.6 + call-bound@1.0.3: + dependencies: + call-bind-apply-helpers: 1.0.1 + get-intrinsic: 1.2.6 + callsites@3.1.0: {} callsites@4.2.0: {} @@ -27263,6 +27336,8 @@ snapshots: he@1.2.0: {} + headers-polyfill@3.3.0: {} + hex-rgb@4.3.0: {} highlight.js@10.7.3: {} @@ -28583,6 +28658,14 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + json-stable-stringify@1.2.1: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + isarray: 2.0.5 + jsonify: 0.0.1 + object-keys: 1.1.1 + json-stringify-safe@5.0.1: {} json5@1.0.2: @@ -28607,6 +28690,8 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsonify@0.0.1: {} + jsonparse@1.3.1: {} jsonpointer@5.0.1: {} @@ -30394,6 +30479,10 @@ snapshots: os-paths@4.4.0: {} + otpauth@9.3.6: + dependencies: + '@noble/hashes': 1.6.1 + ox@0.1.2(typescript@5.7.2)(zod@3.24.1): dependencies: '@adraffy/ens-normalize': 1.10.1 @@ -32123,6 +32212,8 @@ snapshots: set-blocking@2.0.0: {} + set-cookie-parser@2.7.1: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -33322,6 +33413,8 @@ snapshots: transitivePeerDependencies: - encoding + twitter-api-v2@1.19.0: {} + twoslash-protocol@0.2.12: {} twoslash@0.2.12(typescript@5.7.2): @@ -33426,6 +33519,8 @@ snapshots: undici@6.19.8: {} + undici@7.2.0: {} + unenv-nightly@2.0.0-20241204-140205-a5d5190: dependencies: defu: 6.1.4 @@ -33574,6 +33669,7 @@ snapshots: '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-tee': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-trustdb': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) + '@elizaos/plugin-twitter': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) '@iarna/toml': 2.2.5 '@supabase/postgrest-js': 1.17.7 '@supabase/supabase-js': 2.47.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) From e34a695a2c008c439ac7d59f268d4ee0ddc82df7 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:14:14 -0800 Subject: [PATCH 038/312] Add missing settings.ts --- .../packages/elizaos-core-proxy/settings.ts | 168 ++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/settings.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/settings.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/settings.ts new file mode 100644 index 000000000..f6e42a1ad --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/settings.ts @@ -0,0 +1,168 @@ +import { config } from "dotenv"; +import fs from "fs"; +import path from "path"; +import elizaLogger from "./logger.ts"; + +elizaLogger.info("Loading embedding settings:", { + USE_OPENAI_EMBEDDING: process.env.USE_OPENAI_EMBEDDING, + USE_OLLAMA_EMBEDDING: process.env.USE_OLLAMA_EMBEDDING, + OLLAMA_EMBEDDING_MODEL: + process.env.OLLAMA_EMBEDDING_MODEL || "mxbai-embed-large", +}); + +// Add this logging block +elizaLogger.info("Loading character settings:", { + CHARACTER_PATH: process.env.CHARACTER_PATH, + ARGV: process.argv, + CHARACTER_ARG: process.argv.find((arg) => arg.startsWith("--character=")), + CWD: process.cwd(), +}); + +interface Settings { + [key: string]: string | undefined; +} + +interface NamespacedSettings { + [namespace: string]: Settings; +} + +let environmentSettings: Settings = {}; + +/** + * Determines if code is running in a browser environment + * @returns {boolean} True if in browser environment + */ +const isBrowser = (): boolean => { + return ( + typeof window !== "undefined" && typeof window.document !== "undefined" + ); +}; + +/** + * Recursively searches for a .env file starting from the current directory + * and moving up through parent directories (Node.js only) + * @param {string} [startDir=process.cwd()] - Starting directory for the search + * @returns {string|null} Path to the nearest .env file or null if not found + */ +export function findNearestEnvFile(startDir = process.cwd()) { + if (isBrowser()) return null; + + let currentDir = startDir; + + // Continue searching until we reach the root directory + while (currentDir !== path.parse(currentDir).root) { + const envPath = path.join(currentDir, ".env"); + + if (fs.existsSync(envPath)) { + return envPath; + } + + // Move up to parent directory + currentDir = path.dirname(currentDir); + } + + // Check root directory as well + const rootEnvPath = path.join(path.parse(currentDir).root, ".env"); + return fs.existsSync(rootEnvPath) ? rootEnvPath : null; +} + +/** + * Configures environment settings for browser usage + * @param {Settings} settings - Object containing environment variables + */ +export function configureSettings(settings: Settings) { + environmentSettings = { ...settings }; +} + +/** + * Loads environment variables from the nearest .env file in Node.js + * or returns configured settings in browser + * @returns {Settings} Environment variables object + * @throws {Error} If no .env file is found in Node.js environment + */ +export function loadEnvConfig(): Settings { + // For browser environments, return the configured settings + if (isBrowser()) { + return environmentSettings; + } + + // Node.js environment: load from .env file + const envPath = findNearestEnvFile(); + + // attempt to Load the .env file into process.env + const result = config(envPath ? { path: envPath } : {}); + + if (!result.error) { + console.log(`Loaded .env file from: ${envPath}`); + } + + // Parse namespaced settings + const namespacedSettings = parseNamespacedSettings(process.env as Settings); + + // Attach to process.env for backward compatibility + Object.entries(namespacedSettings).forEach(([namespace, settings]) => { + process.env[`__namespaced_${namespace}`] = JSON.stringify(settings); + }); + + return process.env as Settings; +} + +/** + * Gets a specific environment variable + * @param {string} key - The environment variable key + * @param {string} [defaultValue] - Optional default value if key doesn't exist + * @returns {string|undefined} The environment variable value or default value + */ +export function getEnvVariable( + key: string, + defaultValue?: string +): string | undefined { + if (isBrowser()) { + return environmentSettings[key] || defaultValue; + } + return process.env[key] || defaultValue; +} + +/** + * Checks if a specific environment variable exists + * @param {string} key - The environment variable key + * @returns {boolean} True if the environment variable exists + */ +export function hasEnvVariable(key: string): boolean { + if (isBrowser()) { + return key in environmentSettings; + } + return key in process.env; +} + +// Initialize settings based on environment +export const settings = isBrowser() ? environmentSettings : loadEnvConfig(); + +elizaLogger.info("Parsed settings:", { + USE_OPENAI_EMBEDDING: settings.USE_OPENAI_EMBEDDING, + USE_OPENAI_EMBEDDING_TYPE: typeof settings.USE_OPENAI_EMBEDDING, + USE_OLLAMA_EMBEDDING: settings.USE_OLLAMA_EMBEDDING, + USE_OLLAMA_EMBEDDING_TYPE: typeof settings.USE_OLLAMA_EMBEDDING, + OLLAMA_EMBEDDING_MODEL: + settings.OLLAMA_EMBEDDING_MODEL || "mxbai-embed-large", +}); + +export default settings; + +// Add this function to parse namespaced settings +function parseNamespacedSettings(env: Settings): NamespacedSettings { + const namespaced: NamespacedSettings = {}; + + for (const [key, value] of Object.entries(env)) { + if (!value) continue; + + const [namespace, ...rest] = key.split('.'); + if (!namespace || rest.length === 0) continue; + + const settingKey = rest.join('.'); + namespaced[namespace] = namespaced[namespace] || {}; + namespaced[namespace][settingKey] = value; + } + + return namespaced; +} From 2dc0b4a1239a7236be56db0a26b05b807f805e2e Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:15:02 -0800 Subject: [PATCH 039/312] Small cleanup --- .../upstreet-agent/packages/elizaos-core-proxy/index.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/index.ts b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/index.ts index 7c49bfa92..4dba04666 100644 --- a/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/index.ts +++ b/packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy/index.ts @@ -4,13 +4,6 @@ export * from "./generation.ts"; export * from "./memory.ts"; export * from "./parsing.ts"; -// - -type State = {}; -type IAgentRuntime = {}; - -// - export const elizaLogger = console; export const settings = { SOL_ADDRESS: 'So11111111111111111111111111111111111111112', From 3eb55c150198eadf6240d2ecf85dda05817e0f4a Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:15:09 -0800 Subject: [PATCH 040/312] Update lock --- pnpm-lock.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03dd12e95..e9cf37c5d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25878,7 +25878,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1): + eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1): dependencies: debug: 3.2.7 enhanced-resolve: 0.9.1 @@ -25906,14 +25906,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1))(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1) + eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1) transitivePeerDependencies: - supports-color @@ -25982,7 +25982,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1))(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -34631,7 +34631,7 @@ snapshots: eslint-config-xo: 0.45.0(eslint@8.57.1) eslint-config-xo-typescript: 5.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) eslint-formatter-pretty: 6.0.1 - eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1) + eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1) eslint-plugin-ava: 14.0.0(eslint@8.57.1) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1) From 657047adaf5f0ccee56a8adb1a797e699849b556 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:17:37 -0800 Subject: [PATCH 041/312] Add more plugins --- .../plugins/plugin-coinbase/.npmignore | 6 + .../advanced-sdk-ts/.eslintrc.js | 21 + .../advanced-sdk-ts/.gitignore | 6 + .../advanced-sdk-ts/.prettierrc | 5 + .../advanced-sdk-ts/CHANGELOG.md | 9 + .../plugin-coinbase/advanced-sdk-ts/README.md | 126 ++++ .../advanced-sdk-ts/package.json | 34 + .../advanced-sdk-ts/src/constants.ts | 6 + .../advanced-sdk-ts/src/jwt-generator.ts | 31 + .../advanced-sdk-ts/src/rest/accounts.ts | 36 ++ .../advanced-sdk-ts/src/rest/converts.ts | 53 ++ .../advanced-sdk-ts/src/rest/dataAPI.ts | 17 + .../advanced-sdk-ts/src/rest/errors.ts | 36 ++ .../advanced-sdk-ts/src/rest/fees.ts | 21 + .../advanced-sdk-ts/src/rest/futures.ts | 133 ++++ .../advanced-sdk-ts/src/rest/index.ts | 95 +++ .../advanced-sdk-ts/src/rest/orders.ts | 149 +++++ .../advanced-sdk-ts/src/rest/payments.ts | 33 + .../advanced-sdk-ts/src/rest/perpetuals.ts | 97 +++ .../advanced-sdk-ts/src/rest/portfolios.ts | 100 +++ .../advanced-sdk-ts/src/rest/products.ts | 101 +++ .../advanced-sdk-ts/src/rest/public.ts | 95 +++ .../advanced-sdk-ts/src/rest/rest-base.ts | 123 ++++ .../src/rest/types/accounts-types.ts | 26 + .../src/rest/types/common-types.ts | 447 +++++++++++++ .../src/rest/types/converts-types.ts | 42 ++ .../src/rest/types/dataAPI-types.ts | 10 + .../src/rest/types/fees-types.ts | 23 + .../src/rest/types/futures-types.ts | 71 +++ .../src/rest/types/orders-types.ts | 185 ++++++ .../src/rest/types/payments-types.ts | 16 + .../src/rest/types/perpetuals-types.ts | 72 +++ .../src/rest/types/portfolios-types.ts | 68 ++ .../src/rest/types/products-types.ts | 96 +++ .../src/rest/types/public-types.ts | 88 +++ .../src/rest/types/request-types.ts | 14 + .../advanced-sdk-ts/tsconfig.json | 106 ++++ .../plugins/plugin-coinbase/eslint.config.mjs | 3 + .../plugins/plugin-coinbase/package.json | 24 + .../plugins/plugin-coinbase/src/constants.ts | 224 +++++++ .../plugins/plugin-coinbase/src/index.ts | 22 + .../src/plugins/advancedTrade.ts | 445 +++++++++++++ .../plugin-coinbase/src/plugins/commerce.ts | 536 ++++++++++++++++ .../src/plugins/massPayments.ts | 470 ++++++++++++++ .../src/plugins/tokenContract.ts | 585 ++++++++++++++++++ .../plugin-coinbase/src/plugins/trade.ts | 304 +++++++++ .../plugin-coinbase/src/plugins/webhooks.ts | 189 ++++++ .../plugins/plugin-coinbase/src/templates.ts | 388 ++++++++++++ .../plugins/plugin-coinbase/src/types.ts | 198 ++++++ .../plugins/plugin-coinbase/src/utils.ts | 535 ++++++++++++++++ .../plugins/plugin-coinbase/tsconfig.json | 18 + .../plugins/plugin-coinbase/tsup.config.ts | 48 ++ .../components/plugins/plugin-goat/README.md | 46 ++ .../plugins/plugin-goat/package.json | 23 + .../plugins/plugin-goat/src/actions.ts | 184 ++++++ .../plugins/plugin-goat/src/index.ts | 28 + .../plugins/plugin-goat/src/wallet.ts | 42 ++ .../plugins/plugin-goat/tsconfig.json | 11 + .../plugins/plugin-goat/tsup.config.ts | 21 + .../components/plugins/plugin-sui/.npmignore | 6 + .../plugins/plugin-sui/eslint.config.mjs | 3 + .../plugins/plugin-sui/package.json | 26 + .../plugin-sui/src/actions/transfer.ts | 214 +++++++ .../plugins/plugin-sui/src/enviroment.ts | 35 ++ .../plugins/plugin-sui/src/index.ts | 15 + .../plugin-sui/src/providers/wallet.ts | 246 ++++++++ .../plugin-sui/src/tests/wallet.test.ts | 93 +++ .../plugins/plugin-sui/tsconfig.json | 10 + .../plugins/plugin-sui/tsup.config.ts | 29 + 69 files changed, 7618 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.eslintrc.js create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.gitignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.prettierrc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/CHANGELOG.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/README.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/constants.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/jwt-generator.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/accounts.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/converts.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/dataAPI.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/errors.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/fees.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/futures.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/orders.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/payments.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/perpetuals.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/portfolios.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/products.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/public.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/rest-base.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/accounts-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/common-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/converts-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/dataAPI-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/fees-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/futures-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/orders-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/payments-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/perpetuals-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/portfolios-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/products-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/public-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/request-types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/constants.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/advancedTrade.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/commerce.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/massPayments.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/tokenContract.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/trade.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/webhooks.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/templates.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/utils.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/tsup.config.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/README.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/actions.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/wallet.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/tsup.config.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/actions/transfer.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/enviroment.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/providers/wallet.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/tests/wallet.test.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.eslintrc.js b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.eslintrc.js new file mode 100644 index 000000000..ec00d481a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.eslintrc.js @@ -0,0 +1,21 @@ +/** @type {import('eslint').Linter.Config} */ +module.exports = { + parser: '@typescript-eslint/parser', + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'prettier', + 'plugin:prettier/recommended', + ], + plugins: ['prettier'], + rules: { + 'prettier/prettier': 'error', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-explicit-any': 'off', + }, + ignorePatterns: ['**/dist/**', '**/node_modules/**', '**/*.md'], + env: { + node: true, // Add this line to recognize Node.js globals + es2021: true, // Optionally include modern JavaScript features + }, +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.gitignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.gitignore new file mode 100644 index 000000000..722ad2ade --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.gitignore @@ -0,0 +1,6 @@ +.env +src/rest/main.ts +dist/ +node_modules/ +.idea/ +package-lock.json \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.prettierrc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.prettierrc new file mode 100644 index 000000000..c3e03287b --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/.prettierrc @@ -0,0 +1,5 @@ +{ + "semi": true, + "singleQuote": true, + "trailingComma": "es5" +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/CHANGELOG.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/CHANGELOG.md new file mode 100644 index 000000000..eda768580 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +## [0.1.0] - 2024-SEP-06 + +### Added + +- Support for all Coinbase Advanced API REST endpoints via central client +- Custom Request and Response objects for endpoints +- Custom error types diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/README.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/README.md new file mode 100644 index 000000000..73f0bf459 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/README.md @@ -0,0 +1,126 @@ +# Coinbase Advanced API TypeScript SDK + +Welcome to the Coinbase Advanced API TypeScript SDK. This TypeScript project was created to allow developers to easily plug into the [Coinbase Advanced API](https://docs.cdp.coinbase.com/advanced-trade/docs/welcome). + +Coinbase Advanced Trade offers a comprehensive API for traders, providing access to real-time market data, order management, and execution. Elevate your trading strategies and develop sophisticated solutions using our powerful tools and features. + +For more information on all the available REST endpoints, see the [API Reference](https://docs.cdp.coinbase.com/advanced-trade/reference/). + +--- + +## Installation + +```bash +npm install +``` + +--- + +## Build and Use + +To build the project, run the following command: + +```bash +npm run build +``` + +_Note: To avoid potential issues, do not forget to build your project again after making any changes to it._ + +After building the project, each `.ts` file will have its `.js` counterpart generated. + +To run a file, use the following command: + +``` +node dist/{INSERT-FILENAME}.js +``` + +For example, a `main.ts` file would be run like: + +```bash +node dist/main.js +``` + +--- + +## Coinbase Developer Platform (CDP) API Keys + +This SDK uses Cloud Developer Platform (CDP) API keys. To use this SDK, you will need to create a CDP API key and secret by following the instructions [here](https://docs.cdp.coinbase.com/advanced-trade/docs/getting-started). +Make sure to save your API key and secret in a safe place. You will not be able to retrieve your secret again. + +--- + +## Importing the RESTClient + +All the REST endpoints are available directly from the client, therefore it's all you need to import. + +``` +import { RESTClient } from './rest'; +``` + +--- + +## Authentication + +Authentication of CDP API Keys is handled automatically by the SDK when making a REST request. + +After creating your CDP API keys, store them using your desired method and simply pass them into the client during initialization like: + +``` +const client = new RESTClient(API_KEY, API_SECRET); +``` + +--- + +## Making Requests + +Here are a few examples requests: + +**[List Accounts](https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getaccounts)** + +``` +client + .listAccounts({}) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.error(error.message); + }); +``` + +**[Get Product](https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getproduct)** + +``` +client + .getProduct({productId: "BTC-USD"}) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.error(error.message); + }); +``` + +**[Create Order](https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_postorder)** + +_$10 Market Buy on BTC-USD_ + +``` +client + .createOrder({ + clientOrderId: "00000001", + productId: "BTC-USD", + side: OrderSide.BUY, + orderConfiguration:{ + market_market_ioc: { + quote_size: "10" + } + } + }) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.error(error.message); + }); +``` diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/package.json new file mode 100644 index 000000000..52e42a7e8 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/package.json @@ -0,0 +1,34 @@ +{ + "name": "@coinbase-samples/advanced-sdk-ts", + "version": "0.1.0", + "main": "dist/main.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "tsc", + "lint": "eslint . --ext .js,.ts", + "format": "prettier --write \"**/*.{js,ts,tsx,json,css,md}\"" + }, + "files": [ + "dist/" + ], + "keywords": [], + "author": "", + "license": "ISC", + "description": "", + "dependencies": { + "jsonwebtoken": "^9.0.2", + "node-fetch": "^2.6.1" + }, + "devDependencies": { + "@types/jsonwebtoken": "^9.0.7", + "@types/node-fetch": "^2.6.11", + "@typescript-eslint/eslint-plugin": "^5.59.0", + "@typescript-eslint/parser": "^5.59.0", + "dotenv": "^16.4.5", + "eslint": "^8.35.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-prettier": "^4.2.1", + "prettier": "^2.8.8", + "typescript": "^5.5.4" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/constants.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/constants.ts new file mode 100644 index 000000000..896236590 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/constants.ts @@ -0,0 +1,6 @@ +export const BASE_URL = 'api.coinbase.com'; +export const API_PREFIX = '/api/v3/brokerage'; +export const ALGORITHM = 'ES256'; +export const VERSION = '0.1.0'; +export const USER_AGENT = `coinbase-advanced-ts/${VERSION}`; +export const JWT_ISSUER = 'cdp'; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/jwt-generator.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/jwt-generator.ts new file mode 100644 index 000000000..275fc876e --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/jwt-generator.ts @@ -0,0 +1,31 @@ +import jwt from 'jsonwebtoken'; +import { BASE_URL, ALGORITHM, JWT_ISSUER } from './constants'; +import crypto from 'crypto'; + +export function generateToken( + requestMethod: string, + requestPath: string, + apiKey: string, + apiSecret: string +): string { + const uri = `${requestMethod} ${BASE_URL}${requestPath}`; + const payload = { + iss: JWT_ISSUER, + nbf: Math.floor(Date.now() / 1000), + exp: Math.floor(Date.now() / 1000) + 120, + sub: apiKey, + uri, + }; + + const header = { + alg: ALGORITHM, + kid: apiKey, + nonce: crypto.randomBytes(16).toString('hex'), + }; + const options: jwt.SignOptions = { + algorithm: ALGORITHM as jwt.Algorithm, + header: header, + }; + + return jwt.sign(payload, apiSecret as string, options); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/accounts.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/accounts.ts new file mode 100644 index 000000000..04cec4b93 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/accounts.ts @@ -0,0 +1,36 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + GetAccountRequest, + GetAccountResponse, + ListAccountsRequest, + ListAccountsResponse, +} from './types/accounts-types'; +import { method } from './types/request-types'; + +// [GET] Get Account +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getaccount +export function getAccount( + this: RESTBase, + { accountUuid }: GetAccountRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/accounts/${accountUuid}`, + isPublic: false, + }); +} + +// [GET] List Accounts +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getaccounts +export function listAccounts( + this: RESTBase, + requestParams: ListAccountsRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/accounts`, + queryParams: requestParams, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/converts.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/converts.ts new file mode 100644 index 000000000..435a807e2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/converts.ts @@ -0,0 +1,53 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + CommitConvertTradeRequest, + CommitConvertTradeResponse, + CreateConvertQuoteRequest, + CreateConvertQuoteResponse, + GetConvertTradeRequest, + GetConvertTradeResponse, +} from './types/converts-types'; +import { method } from './types/request-types'; + +// [POST] Create Convert Quote +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_createconvertquote +export function createConvertQuote( + this: RESTBase, + requestParams: CreateConvertQuoteRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/convert/quote`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [GET] Get Convert Trade +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getconverttrade +export function getConvertTrade( + this: RESTBase, + { tradeId, ...requestParams }: GetConvertTradeRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/convert/trade/${tradeId}`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [POST] Commit Connvert Trade +// https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_commitconverttrade +export function commitConvertTrade( + this: RESTBase, + { tradeId, ...requestParams }: CommitConvertTradeRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/convert/trade/${tradeId}`, + bodyParams: requestParams, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/dataAPI.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/dataAPI.ts new file mode 100644 index 000000000..2adc64660 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/dataAPI.ts @@ -0,0 +1,17 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; + +import { method } from './types/request-types'; +import { GetAPIKeyPermissionsResponse } from './types/dataAPI-types'; + +// [GET] Get API Key Permissions +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getapikeypermissions +export function getAPIKeyPermissions( + this: RESTBase +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/key_permissions`, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/errors.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/errors.ts new file mode 100644 index 000000000..5d9695ef6 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/errors.ts @@ -0,0 +1,36 @@ +import { Response } from 'node-fetch'; + +class CoinbaseError extends Error { + statusCode: number; + response: Response; + + constructor(message: string, statusCode: number, response: Response) { + super(message); + this.name = 'CoinbaseError'; + this.statusCode = statusCode; + this.response = response; + } +} + +export function handleException( + response: Response, + responseText: string, + reason: string +) { + let message: string | undefined; + + if ( + (400 <= response.status && response.status <= 499) || + (500 <= response.status && response.status <= 599) + ) { + if ( + response.status == 403 && + responseText.includes('"error_details":"Missing required scopes"') + ) { + message = `${response.status} Coinbase Error: Missing Required Scopes. Please verify your API keys include the necessary permissions.`; + } else + message = `${response.status} Coinbase Error: ${reason} ${responseText}`; + + throw new CoinbaseError(message, response.status, response); + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/fees.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/fees.ts new file mode 100644 index 000000000..9f9c08e5c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/fees.ts @@ -0,0 +1,21 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + GetTransactionsSummaryRequest, + GetTransactionsSummaryResponse, +} from './types/fees-types'; +import { method } from './types/request-types'; + +// [GET] Get Transaction Summary +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_commitconverttrade +export function getTransactionSummary( + this: RESTBase, + requestParams: GetTransactionsSummaryRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/transaction_summary`, + queryParams: requestParams, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/futures.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/futures.ts new file mode 100644 index 000000000..82412ec4e --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/futures.ts @@ -0,0 +1,133 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + CancelPendingFuturesSweep, + GetCurrentMarginWindowRequest, + GetCurrentMarginWindowResponse, + GetFuturesBalanceSummaryResponse, + GetFuturesPositionRequest, + GetFuturesPositionResponse, + GetIntradayMarginSettingResponse, + ListFuturesPositionsResponse, + ListFuturesSweepsResponse, + ScheduleFuturesSweepRequest, + ScheduleFuturesSweepResponse, + SetIntradayMarginSettingRequest, + SetIntradayMarginSettingResponse, +} from './types/futures-types'; +import { method } from './types/request-types'; + +// [GET] Get Futures Balance Summary +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getfcmbalancesummary +export function getFuturesBalanceSummary( + this: RESTBase +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/cfm/balance_summary`, + isPublic: false, + }); +} + +// [GET] Get Intraday Margin Setting +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getintradaymarginsetting +export function getIntradayMarginSetting( + this: RESTBase +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/cfm/intraday/margin_setting`, + isPublic: false, + }); +} + +// [POST] Set Intraday Margin Setting +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_setintradaymarginsetting +export function setIntradayMarginSetting( + this: RESTBase, + requestParams: SetIntradayMarginSettingRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/cfm/intraday/margin_setting`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [GET] Get Current Margin Window +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getcurrentmarginwindow +export function getCurrentMarginWindow( + this: RESTBase, + requestParams: GetCurrentMarginWindowRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/cfm/intraday/current_margin_window`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [GET] List Futures Positions +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getfcmpositions +export function listFuturesPositions( + this: RESTBase +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/cfm/positions`, + isPublic: false, + }); +} + +// [GET] Get Futures Position +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getfcmposition +export function getFuturesPosition( + this: RESTBase, + { productId }: GetFuturesPositionRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/cfm/positions/${productId}`, + isPublic: false, + }); +} + +// [POST] Schedule Futures Sweep +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_schedulefcmsweep +export function scheduleFuturesSweep( + this: RESTBase, + requestParams: ScheduleFuturesSweepRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/cfm/sweeps/schedule`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [GET] List Futures Sweeps +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getfcmsweeps +export function listFuturesSweeps( + this: RESTBase +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/cfm/sweeps`, + isPublic: false, + }); +} + +// [DELETE] Cancel Pending Futures Sweep +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_cancelfcmsweep +export function cancelPendingFuturesSweep( + this: RESTBase +): Promise { + return this.request({ + method: method.DELETE, + endpoint: `${API_PREFIX}/cfm/sweeps`, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/index.ts new file mode 100644 index 000000000..101223a64 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/index.ts @@ -0,0 +1,95 @@ +import { RESTBase } from './rest-base'; +import * as Accounts from './accounts'; +import * as Converts from './converts'; +import * as DataAPI from './dataAPI'; +import * as Fees from './fees'; +import * as Futures from './futures'; +import * as Orders from './orders'; +import * as Payments from './payments'; +import * as Perpetuals from './perpetuals'; +import * as Portfolios from './portfolios'; +import * as Products from './products'; +import * as Public from './public'; + +export class RESTClient extends RESTBase { + constructor(key?: string | undefined, secret?: string | undefined) { + super(key, secret); + } + + // =============== ACCOUNTS endpoints =============== + public getAccount = Accounts.getAccount.bind(this); + public listAccounts = Accounts.listAccounts.bind(this); + + // =============== CONVERTS endpoints =============== + public createConvertQuote = Converts.createConvertQuote.bind(this); + public commitConvertTrade = Converts.commitConvertTrade.bind(this); + public getConvertTrade = Converts.getConvertTrade.bind(this); + + // =============== DATA API endpoints =============== + public getAPIKeyPermissions = DataAPI.getAPIKeyPermissions.bind(this); + + // =============== FEES endpoints =============== + public getTransactionSummary = Fees.getTransactionSummary.bind(this); + + // =============== FUTURES endpoints =============== + public getFuturesBalanceSummary = Futures.getFuturesBalanceSummary.bind(this); + public getIntradayMarginSetting = Futures.getIntradayMarginSetting.bind(this); + public setIntradayMarginSetting = Futures.setIntradayMarginSetting.bind(this); + public getCurrentMarginWindow = Futures.getCurrentMarginWindow.bind(this); + public listFuturesPositions = Futures.listFuturesPositions.bind(this); + public getFuturesPosition = Futures.getFuturesPosition.bind(this); + public scheduleFuturesSweep = Futures.scheduleFuturesSweep.bind(this); + public listFuturesSweeps = Futures.listFuturesSweeps.bind(this); + public cancelPendingFuturesSweep = + Futures.cancelPendingFuturesSweep.bind(this); + + // =============== ORDERS endpoints =============== + public createOrder = Orders.createOrder.bind(this); + public cancelOrders = Orders.cancelOrders.bind(this); + public editOrder = Orders.editOrder.bind(this); + public editOrderPreview = Orders.editOrderPreview.bind(this); + public listOrders = Orders.listOrders.bind(this); + public listFills = Orders.listFills.bind(this); + public getOrder = Orders.getOrder.bind(this); + public previewOrder = Orders.previewOrder.bind(this); + public closePosition = Orders.closePosition.bind(this); + + // =============== PAYMENTS endpoints =============== + public listPaymentMethods = Payments.listPaymentMethods.bind(this); + public getPaymentMethod = Payments.getPaymentMethod.bind(this); + + // =============== PERPETUALS endpoints =============== + public allocatePortfolio = Perpetuals.allocatePortfolio.bind(this); + public getPerpetualsPortfolioSummary = + Perpetuals.getPerpetualsPortfolioSummary.bind(this); + public listPerpetualsPositions = + Perpetuals.listPerpetualsPositions.bind(this); + public getPerpetualsPosition = Perpetuals.getPerpertualsPosition.bind(this); + public getPortfolioBalances = Perpetuals.getPortfolioBalances.bind(this); + public optInOutMultiAssetCollateral = + Perpetuals.optInOutMultiAssetCollateral.bind(this); + + // =============== PORTFOLIOS endpoints =============== + public listPortfolios = Portfolios.listPortfolios.bind(this); + public createPortfolio = Portfolios.createPortfolio.bind(this); + public deletePortfolio = Portfolios.deletePortfolio.bind(this); + public editPortfolio = Portfolios.editPortfolio.bind(this); + public movePortfolioFunds = Portfolios.movePortfolioFunds.bind(this); + public getPortfolioBreakdown = Portfolios.getPortfolioBreakdown.bind(this); + + // =============== PRODUCTS endpoints =============== + public getBestBidAsk = Products.getBestBidAsk.bind(this); + public getProductBook = Products.getProductBook.bind(this); + public listProducts = Products.listProducts.bind(this); + public getProduct = Products.getProduct.bind(this); + public getProductCandles = Products.getProductCandles.bind(this); + public getMarketTrades = Products.getMarketTrades.bind(this); + + // =============== PUBLIC endpoints =============== + public getServerTime = Public.getServerTime.bind(this); + public getPublicProductBook = Public.getPublicProductBook.bind(this); + public listPublicProducts = Public.listPublicProducts.bind(this); + public getPublicProduct = Public.getPublicProduct.bind(this); + public getPublicProductCandles = Public.getPublicProductCandles.bind(this); + public getPublicMarketTrades = Public.getPublicMarketTrades.bind(this); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/orders.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/orders.ts new file mode 100644 index 000000000..04bf2aefb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/orders.ts @@ -0,0 +1,149 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + CancelOrdersRequest, + CancelOrdersResponse, + ClosePositionRequest, + ClosePositionResponse, + CreateOrderRequest, + CreateOrderResponse, + EditOrderPreviewRequest, + EditOrderPreviewResponse, + EditOrderRequest, + EditOrderResponse, + GetOrderRequest, + GetOrderResponse, + ListFillsRequest, + ListFillsResponse, + ListOrdersRequest, + ListOrdersResponse, + PreviewOrderRequest, + PreviewOrderResponse, +} from './types/orders-types'; +import { method } from './types/request-types'; + +// [POST] Create Order +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_postorder +export function createOrder( + this: RESTBase, + requestParams: CreateOrderRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/orders`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [POST] Cancel Orders +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_cancelorders +export function cancelOrders( + this: RESTBase, + requestParams: CancelOrdersRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/orders/batch_cancel`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [POST] Edit Order +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_editorder +export function editOrder( + this: RESTBase, + requestParams: EditOrderRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/orders/edit`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [POST] Edit Order Preview +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_previeweditorder +export function editOrderPreview( + this: RESTBase, + requestParams: EditOrderPreviewRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/orders/edit_preview`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [GET] List Orders +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_gethistoricalorders +export function listOrders( + this: RESTBase, + requestParams: ListOrdersRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/orders/historical/batch`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [GET] List Fills +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getfills +export function listFills( + this: RESTBase, + requestParams: ListFillsRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/orders/historical/fills`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [GET] Get Order +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_gethistoricalorder +export function getOrder( + this: RESTBase, + { orderId }: GetOrderRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/orders/historical/${orderId}`, + isPublic: false, + }); +} + +// [POST] Preview Order +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_previeworder +export function previewOrder( + this: RESTBase, + requestParams: PreviewOrderRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/orders/preview`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [POST] Close Position +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_closeposition +export function closePosition( + this: RESTBase, + requestParams: ClosePositionRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/orders/close_position`, + queryParams: undefined, + bodyParams: requestParams, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/payments.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/payments.ts new file mode 100644 index 000000000..defa3f4dd --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/payments.ts @@ -0,0 +1,33 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + GetPaymentMethodRequest, + GetPaymentMethodResponse, + ListPaymentMethodsResponse, +} from './types/payments-types'; +import { method } from './types/request-types'; + +// [GET] List Payment Methods +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getpaymentmethods +export function listPaymentMethods( + this: RESTBase +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/payment_methods`, + isPublic: false, + }); +} + +// [GET] Get Payment Method +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getpaymentmethod +export function getPaymentMethod( + this: RESTBase, + { paymentMethodId }: GetPaymentMethodRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/payment_methods/${paymentMethodId}`, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/perpetuals.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/perpetuals.ts new file mode 100644 index 000000000..6e1c568d6 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/perpetuals.ts @@ -0,0 +1,97 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + AllocatePortfolioRequest, + AllocatePortfolioResponse, + GetPerpetualsPortfolioSummaryRequest, + GetPerpetualsPortfolioSummaryResponse, + GetPerpetualsPositionRequest, + GetPerpetualsPositionResponse, + GetPortfolioBalancesRequest, + GetPortfolioBalancesResponse, + ListPerpetualsPositionsRequest, + ListPerpetualsPositionsResponse, + OptInOutMultiAssetCollateralRequest, + OptInOutMultiAssetCollateralResponse, +} from './types/perpetuals-types'; +import { method } from './types/request-types'; + +// [POST] Allocate Portfolio +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_allocateportfolio +export function allocatePortfolio( + this: RESTBase, + requestParams: AllocatePortfolioRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/intx/allocate`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [GET] Get Perpetuals Portfolio Summary +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getintxportfoliosummary +export function getPerpetualsPortfolioSummary( + this: RESTBase, + { portfolioUuid }: GetPerpetualsPortfolioSummaryRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/intx/portfolio/${portfolioUuid}`, + isPublic: false, + }); +} + +// [GET] List Perpetuals Positions +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getintxpositions +export function listPerpetualsPositions( + this: RESTBase, + { portfolioUuid }: ListPerpetualsPositionsRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/intx/positions/${portfolioUuid}`, + isPublic: false, + }); +} + +// [GET] Get Perpetuals Position +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getintxposition +export function getPerpertualsPosition( + this: RESTBase, + { portfolioUuid, symbol }: GetPerpetualsPositionRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/intx/positions/${portfolioUuid}/${symbol}`, + isPublic: false, + }); +} + +// [GET] Get Portfolio Balances +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getintxbalances +export function getPortfolioBalances( + this: RESTBase, + { portfolioUuid }: GetPortfolioBalancesRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/intx/balances/${portfolioUuid}`, + isPublic: false, + }); +} + +// [POST] Opt In or Out of Multi Asset Collateral +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_intxmultiassetcollateral +export function optInOutMultiAssetCollateral( + this: RESTBase, + requestParams: OptInOutMultiAssetCollateralRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/intx/multi_asset_collateral`, + bodyParams: requestParams, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/portfolios.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/portfolios.ts new file mode 100644 index 000000000..df5e5791f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/portfolios.ts @@ -0,0 +1,100 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + CreatePortfolioRequest, + CreatePortfolioResponse, + DeletePortfolioRequest, + DeletePortfolioResponse, + EditPortfolioRequest, + EditPortfolioResponse, + GetPortfolioBreakdownRequest, + GetPortfolioBreakdownResponse, + ListPortfoliosRequest, + ListPortfoliosResponse, + MovePortfolioFundsRequest, + MovePortfolioFundsResponse, +} from './types/portfolios-types'; +import { method } from './types/request-types'; + +// [GET] List Portfolios +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getportfolios +export function listPortfolios( + this: RESTBase, + requestParams: ListPortfoliosRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/portfolios`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [POST] Create Portfolio +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_createportfolio +export function createPortfolio( + this: RESTBase, + requestParams: CreatePortfolioRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/portfolios`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [POST] Move Portfolio Funds +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_moveportfoliofunds +export function movePortfolioFunds( + this: RESTBase, + requestParams: MovePortfolioFundsRequest +): Promise { + return this.request({ + method: method.POST, + endpoint: `${API_PREFIX}/portfolios/move_funds`, + bodyParams: requestParams, + isPublic: false, + }); +} + +// [GET] Get Portfolio Breakdown +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getportfoliobreakdown +export function getPortfolioBreakdown( + this: RESTBase, + { portfolioUuid, ...requestParams }: GetPortfolioBreakdownRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/portfolios/${portfolioUuid}`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [DELETE] Delete Portfolio +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_deleteportfolio +export function deletePortfolio( + this: RESTBase, + { portfolioUuid }: DeletePortfolioRequest +): Promise { + return this.request({ + method: method.DELETE, + endpoint: `${API_PREFIX}/portfolios/${portfolioUuid}`, + isPublic: false, + }); +} + +// [PUT] Edit Portfolio +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_editportfolio +export function editPortfolio( + this: RESTBase, + { portfolioUuid, ...requestParams }: EditPortfolioRequest +): Promise { + return this.request({ + method: method.PUT, + endpoint: `${API_PREFIX}/portfolios/${portfolioUuid}`, + bodyParams: requestParams, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/products.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/products.ts new file mode 100644 index 000000000..7cd2ca1f0 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/products.ts @@ -0,0 +1,101 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + GetBestBidAskRequest, + GetBestBidAskResponse, + GetMarketTradesRequest, + GetMarketTradesResponse, + GetProductBookRequest, + GetProductBookResponse, + GetProductCandlesRequest, + GetProductCandlesResponse, + GetProductRequest, + GetProductResponse, + ListProductsRequest, + ListProductsResponse, +} from './types/products-types'; +import { method } from './types/request-types'; + +// [GET] Get Best Bid Ask +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getbestbidask +export function getBestBidAsk( + this: RESTBase, + requestParams: GetBestBidAskRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/best_bid_ask`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [GET] Get Product Book +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getproductbook +export function getProductBook( + this: RESTBase, + requestParams: GetProductBookRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/product_book`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [GET] List Products +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getproducts +export function listProducts( + this: RESTBase, + requestParams: ListProductsRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/products`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [GET] Get Product +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getproduct +export function getProduct( + this: RESTBase, + { productId, ...requestParams }: GetProductRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/products/${productId}`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [GET] Get Product Candles +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getcandles +export function getProductCandles( + this: RESTBase, + { productId, ...requestParams }: GetProductCandlesRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/products/${productId}/candles`, + queryParams: requestParams, + isPublic: false, + }); +} + +// [GET] Get Market Trades +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getmarkettrades +export function getMarketTrades( + this: RESTBase, + { productId, ...requestParams }: GetMarketTradesRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/products/${productId}/ticker`, + queryParams: requestParams, + isPublic: false, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/public.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/public.ts new file mode 100644 index 000000000..1b9577e51 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/public.ts @@ -0,0 +1,95 @@ +import { API_PREFIX } from '../constants'; +import { RESTBase } from './rest-base'; +import { + GetPublicMarketTradesRequest, + GetPublicMarketTradesResponse, + GetPublicProductBookRequest, + GetPublicProductBookResponse, + GetPublicProductCandlesRequest, + GetPublicProductCandlesResponse, + GetPublicProductRequest, + GetPublicProductResponse, + GetServerTimeResponse, + ListPublicProductsRequest, + ListPublicProductsResponse, +} from './types/public-types'; +import { method } from './types/request-types'; + +// [GET] Get Server Time +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getservertime +export function getServerTime(this: RESTBase): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/time`, + isPublic: true, + }); +} + +// [GET] Get Public Product Book +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getpublicproductbook +export function getPublicProductBook( + this: RESTBase, + requestParams: GetPublicProductBookRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/market/product_book`, + queryParams: requestParams, + isPublic: true, + }); +} + +// [GET] List Public Products +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getpublicproducts +export function listPublicProducts( + this: RESTBase, + requestParams: ListPublicProductsRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/market/products`, + queryParams: requestParams, + isPublic: true, + }); +} + +// [GET] Get Public Product +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getpublicproduct +export function getPublicProduct( + this: RESTBase, + { productId }: GetPublicProductRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/market/products/${productId}`, + isPublic: true, + }); +} + +// [GET] Get Public Product Candles +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getpubliccandles +export function getPublicProductCandles( + this: RESTBase, + { productId, ...requestParams }: GetPublicProductCandlesRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/market/products/${productId}/candles`, + queryParams: requestParams, + isPublic: true, + }); +} + +// [GET] Get Public Market Trades +// Official Documentation: https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getpublicmarkettrades +export function getPublicMarketTrades( + this: RESTBase, + { productId, ...requestParams }: GetPublicMarketTradesRequest +): Promise { + return this.request({ + method: method.GET, + endpoint: `${API_PREFIX}/products/${productId}/ticker`, + queryParams: requestParams, + isPublic: true, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/rest-base.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/rest-base.ts new file mode 100644 index 000000000..9084df561 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/rest-base.ts @@ -0,0 +1,123 @@ +import { generateToken } from '../jwt-generator'; +import fetch, { Headers, RequestInit, Response } from 'node-fetch'; +import { BASE_URL, USER_AGENT } from '../constants'; +import { RequestOptions } from './types/request-types'; +import { handleException } from './errors'; + +export class RESTBase { + private apiKey: string | undefined; + private apiSecret: string | undefined; + + constructor(key?: string, secret?: string) { + if (!key || !secret) { + console.log('Could not authenticate. Only public endpoints accessible.'); + } + this.apiKey = key; + this.apiSecret = secret; + } + + request(options: RequestOptions): Promise { + const { method, endpoint, isPublic } = options; + let { queryParams, bodyParams } = options; + + queryParams = queryParams ? this.filterParams(queryParams) : {}; + + if (bodyParams !== undefined) + bodyParams = bodyParams ? this.filterParams(bodyParams) : {}; + + return this.prepareRequest( + method, + endpoint, + queryParams, + bodyParams, + isPublic + ); + } + + prepareRequest( + httpMethod: string, + urlPath: string, + queryParams?: Record, + bodyParams?: Record, + isPublic?: boolean + ) { + const headers: Headers = this.setHeaders(httpMethod, urlPath, isPublic); + + const requestOptions: RequestInit = { + method: httpMethod, + headers: headers, + body: JSON.stringify(bodyParams), + }; + + const queryString = this.buildQueryString(queryParams); + const url = `https://${BASE_URL}${urlPath}${queryString}`; + + return this.sendRequest(headers, requestOptions, url); + } + + async sendRequest( + headers: Headers, + requestOptions: RequestInit, + url: string + ) { + const response: Response = await fetch(url, requestOptions); + const responseText = await response.text(); + handleException(response, responseText, response.statusText); + + return responseText; + } + + setHeaders(httpMethod: string, urlPath: string, isPublic?: boolean) { + const headers: Headers = new Headers(); + headers.append('Content-Type', 'application/json'); + headers.append('User-Agent', USER_AGENT); + if (this.apiKey !== undefined && this.apiSecret !== undefined) + headers.append( + 'Authorization', + `Bearer ${generateToken( + httpMethod, + urlPath, + this.apiKey, + this.apiSecret + )}` + ); + else if (isPublic == undefined || isPublic == false) + throw new Error( + 'Attempting to access authenticated endpoint with invalid API_KEY or API_SECRET.' + ); + + return headers; + } + + filterParams(data: Record) { + const filteredParams: Record = {}; + + for (const key in data) { + if (data[key] !== undefined) { + filteredParams[key] = data[key]; + } + } + + return filteredParams; + } + + buildQueryString(queryParams?: Record): string { + if (!queryParams || Object.keys(queryParams).length === 0) { + return ''; + } + + const queryString = Object.entries(queryParams) + .flatMap(([key, value]) => { + if (Array.isArray(value)) { + return value.map( + (item) => `${encodeURIComponent(key)}=${encodeURIComponent(item)}` + ); + } else { + return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`; + } + }) + .join('&'); + + return `?${queryString}`; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/accounts-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/accounts-types.ts new file mode 100644 index 000000000..ca1301c3f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/accounts-types.ts @@ -0,0 +1,26 @@ +import { Account } from './common-types'; + +// Get Account +export type GetAccountRequest = { + // Path Params + accountUuid: string; +}; + +export type GetAccountResponse = { + account?: Account; +}; + +// List Accounts +export type ListAccountsRequest = { + // Query Params + limit?: number; + cursor?: string; + retailPortfolioId?: string; +}; + +export type ListAccountsResponse = { + accounts?: Account[]; + has_next: boolean; + cursor?: string; + size?: number; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/common-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/common-types.ts new file mode 100644 index 000000000..a27d9fb34 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/common-types.ts @@ -0,0 +1,447 @@ +// ----- ENUMS ----- +export enum ProductType { + UNKNOWN = 'UNKNOWN_PRODUCT_TYPE', + SPOT = 'SPOT', + FUTURE = 'FUTURE', +} + +export enum ContractExpiryType { + UNKNOWN = 'UNKNOWN_CONTRACT_EXPIRY_TYPE', + EXPIRING = 'EXPIRING', + PERPETUAL = 'PERPETUAL', +} + +export enum ExpiringContractStatus { + UNKNOWN = 'UNKNOWN_EXPIRING_CONTRACT_STATUS', + UNEXPIRED = 'STATUS_UNEXPIRED', + EXPIRED = 'STATUS_EXPIRED', + ALL = 'STATUS_ALL', +} + +export enum PortfolioType { + UNDEFINED = 'UNDEFINED', + DEFAULT = 'DEFAULT', + CONSUMER = 'CONSUMER', + INTX = 'INTX', +} + +export enum MarginType { + CROSS = 'CROSS', + ISOLATED = 'ISOLATED', +} + +export enum OrderPlacementSource { + UNKNOWN = 'UNKNOWN_PLACEMENT_SOURCE', + RETAIL_SIMPLE = 'RETAIL_SIMPLE', + RETAIL_ADVANCED = 'RETAIL_ADVANCED', +} + +export enum SortBy { + UNKNOWN = 'UNKNOWN_SORT_BY', + LIMIT_PRICE = 'LIMIT_PRICE', + LAST_FILL_TIME = 'LAST_FILL_TIME', +} + +export enum OrderSide { + BUY = 'BUY', + SELL = 'SELL', +} + +export enum StopDirection { + UP = 'STOP_DIRECTION_STOP_UP', + DOWN = 'STOP_DIRECTION_STOP_DOWN', +} + +export enum Granularity { + UNKNOWN = 'UNKNOWN_GRANULARITY', + ONE_MINUTE = 'ONE_MINUTE', + FIVE_MINUTE = 'FIVE_MINUTE', + FIFTEEN_MINUTE = 'FIFTEEN_MINUTE', + THIRTY_MINUTE = 'THIRTY_MINUTE', + ONE_HOUR = 'ONE_HOUR', + TWO_HOUR = 'TWO_HOUR', + SIX_HOUR = 'SIX_HOUR', + ONE_DAY = 'ONE_DAY', +} + +export enum ProductVenue { + UNKNOWN = 'UNKNOWN_VENUE_TYPE', + CBE = 'CBE', + FCM = 'FCM', + INTX = 'INTX', +} + +export enum IntradayMarginSetting { + UNSPECIFIED = 'INTRADAY_MARGIN_SETTING_UNSPECIFIED', + STANDARD = 'INTRADAY_MARGIN_SETTING_STANDARD', + INTRADAY = 'INTRADAY_MARGIN_SETTING_INTRADAY', +} + +// ----- TYPES ----- +export type Account = { + uuid?: string; + name?: string; + currency?: string; + available_balance?: Record; + default?: boolean; + active?: boolean; + created_at?: string; + updated_at?: string; + deleted_at?: string; + type?: Record; + ready?: boolean; + hold?: Record; + retail_portfolio_id?: string; +}; + +export type TradeIncentiveMetadata = { + userIncentiveId?: string; + codeVal?: string; +}; + +export type OrderConfiguration = + | { market_market_ioc: MarketMarketIoc } + | { sor_limit_ioc: SorLimitIoc } + | { limit_limit_gtc: LimitLimitGtc } + | { limit_limit_gtd: LimitLimitGtd } + | { limit_limit_fok: LimitLimitFok } + | { stop_limit_stop_limit_gtc: StopLimitStopLimitGtc } + | { stop_limit_stop_limit_gtd: StopLimitStopLimitGtd } + | { trigger_bracket_gtc: TriggerBracketGtc } + | { trigger_bracket_gtd: TriggerBracketGtd }; + +export type MarketMarketIoc = { quote_size: string } | { base_size: string }; + +export type SorLimitIoc = { + baseSize: string; + limitPrice: string; +}; + +export type LimitLimitGtc = { + baseSize: string; + limitPrice: string; + postOnly: boolean; +}; + +export type LimitLimitGtd = { + baseSize: string; + limitPrice: string; + endTime: string; + postOnly: boolean; +}; + +export type LimitLimitFok = { + baseSize: string; + limitPrice: string; +}; + +export type StopLimitStopLimitGtc = { + baseSize: string; + limitPrice: string; + stopPrice: string; + stopDirection: StopDirection; +}; + +export type StopLimitStopLimitGtd = { + baseSize: string; + limitPrice: string; + stopPrice: string; + endTime: string; + stopDirection: StopDirection; +}; + +export type TriggerBracketGtc = { + baseSize: string; + limitPrice: string; + stopTriggerPrice: string; +}; + +export type TriggerBracketGtd = { + baseSize: string; + limitPrice: string; + stopTriggerPrice: string; + endTime: string; +}; + +export type RatConvertTrade = { + id?: string; + status?: Record; + user_entered_amount?: Record; + amount?: Record; + subtotal?: Record; + total?: Record; + fees?: Record; + total_fee?: Record; + source?: Record; + target?: Record; + unit_price?: Record; + user_warnings?: Record; + user_reference?: string; + source_curency?: string; + cancellation_reason?: Record; + source_id?: string; + target_id?: string; + subscription_info?: Record; + exchange_rate?: Record; + tax_details?: Record; + trade_incentive_info?: Record; + total_fee_without_tax?: Record; + fiat_denoted_total?: Record; +}; + +export type FCMBalanceSummary = { + futures_buying_power?: Record; + total_usd_balance?: Record; + cbi_usd_balance?: Record; + cfm_usd_balance?: Record; + total_open_orders_hold_amount?: Record; + unrealized_pnl?: Record; + daily_realized_pnl?: Record; + initial_margin?: Record; + available_margin?: Record; + liquidation_threshold?: Record; + liquidation_buffer_amount?: Record; + liquidation_buffer_percentage?: string; + intraday_margin_window_measure?: Record; + overnight_margin_window_measure?: Record; +}; + +export type FCMPosition = { + product_id?: string; + expiration_time?: Record; + side?: Record; + number_of_contracts?: string; + current_price?: string; + avg_entry_price?: string; + unrealized_pnl?: string; + daily_realized_pnl?: string; +}; + +export type FCMSweep = { + id: string; + requested_amount: Record; + should_sweep_all: boolean; + status: Record; + schedule_time: Record; +}; + +export type CancelOrderObject = { + success: boolean; + failure_reason: Record; + order_id: string; +}; + +export type Order = { + order_id: string; + product_id: string; + user_id: string; + order_configuration: OrderConfiguration; + side: OrderSide; + client_order_id: string; + status: Record; + time_in_force?: Record; + created_time: Record; + completion_percentage: string; + filled_size?: string; + average_filled_price: string; + fee?: string; + number_of_fills: string; + filled_value?: string; + pending_cancel: boolean; + size_in_quote: boolean; + total_fees: string; + size_inclusive_of_fees: boolean; + total_value_after_fees: string; + trigger_status?: Record; + order_type?: Record; + reject_reason?: Record; + settled?: boolean; + product_type?: ProductType; + reject_message?: string; + cancel_message?: string; + order_placement_source?: OrderPlacementSource; + outstanding_hold_amount?: string; + is_liquidation?: boolean; + last_fill_time?: Record; + edit_history?: Record[]; + leverage?: string; + margin_type?: MarginType; + retail_portfolio_id?: string; + originating_order_id?: string; + attached_order_id?: string; +}; + +export type PaymentMethod = { + id?: string; + type?: string; + name?: string; + currency?: string; + verified?: boolean; + allow_buy?: boolean; + allow_sell?: boolean; + allow_deposit?: boolean; + allow_withdraw?: boolean; + created_at?: string; + updated_at?: string; +}; + +export type PerpetualPortfolio = { + portfolio_uuid?: string; + collateral?: string; + position_notional?: string; + open_position_notional?: string; + pending_fees?: string; + borrow?: string; + accrued_interest?: string; + rolling_debt?: string; + portfolio_initial_margin?: string; + portfolio_im_notional?: Record; + liquidation_percentage?: string; + liquidation_buffer?: string; + margin_type?: Record; + margin_flags?: Record; + liquidation_status?: Record; + unrealized_pnl?: Record; + total_balance?: Record; +}; + +export type PortfolioSummary = { + unrealized_pnl?: Record; + buying_power?: Record; + total_balance?: Record; + max_withdrawal_amount?: Record; +}; + +export type PositionSummary = { + aggregated_pnl?: Record; +}; + +export type Position = { + product_id?: string; + product_uuid?: string; + portfolio_uuid?: string; + symbol?: string; + vwap?: Record; + entry_vwap?: Record; + position_side?: Record; + margin_type?: Record; + net_size?: string; + buy_order_size?: string; + sell_order_size?: string; + im_contribution?: string; + unrealized_pnl?: Record; + mark_price?: Record; + liquidation_price?: Record; + leverage?: string; + im_notional?: Record; + mm_notional?: Record; + position_notional?: Record; + aggregated_pnl?: Record; +}; + +export type Balance = { + asset: Record; + quantity: string; + hold: string; + transfer_hold: string; + collateral_value: string; + collateral_weight: string; + max_withdraw_amount: string; + loan: string; + loan_collateral_requirement_usd: string; + pledged_quantity: string; +}; + +export type Portfolio = { + name?: string; + uuid?: string; + type?: string; +}; + +export type PortfolioBreakdown = { + portfolio?: Portfolio; + portfolio_balances?: Record; + spot_positions?: Record[]; + perp_positions?: Record[]; + futures_positions?: Record[]; +}; + +export type PriceBook = { + product_id: string; + bids: Record[]; + asks: Record[]; + time?: Record; +}; + +export type Products = { + products?: Product[]; + num_products?: number; +}; + +export type Product = { + product_id: string; + price: string; + price_percentage_change_24h: string; + volume_24h: string; + volume_percentage_change_24h: string; + base_increment: string; + quote_increment: string; + quote_min_size: string; + quote_max_size: string; + base_min_size: string; + base_max_size: string; + base_name: string; + quote_name: string; + watched: boolean; + is_disabled: boolean; + new: boolean; + status: string; + cancel_only: boolean; + limit_only: boolean; + post_only: boolean; + trading_disabled: boolean; + auction_mode: boolean; + product_type?: ProductType; + quote_currency_id?: string; + base_currency_id?: string; + fcm_trading_session_details?: Record; + mid_market_price?: string; + alias?: string; + alias_to?: string[]; + base_display_symbol: string; + quote_display_symbol?: string; + view_only?: boolean; + price_increment?: string; + display_name?: string; + product_venue?: ProductVenue; + approximate_quote_24h_volume?: string; + future_product_details?: Record; +}; + +export type Candles = { + candles?: Candle[]; +}; + +export type Candle = { + start?: string; + low?: string; + high?: string; + open?: string; + close?: string; + volume?: string; +}; + +export type HistoricalMarketTrade = { + trade_id?: string; + product_id?: string; + price?: string; + size?: string; + time?: string; + side?: OrderSide; +}; + +export type PortfolioBalance = { + portfolio_uuid?: string; + balances?: Balance[]; + is_margin_limit_reached?: boolean; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/converts-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/converts-types.ts new file mode 100644 index 000000000..8724b89d1 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/converts-types.ts @@ -0,0 +1,42 @@ +// Create Convert Quote +import { RatConvertTrade, TradeIncentiveMetadata } from './common-types'; + +export type CreateConvertQuoteRequest = { + // Body Params + fromAccount: string; + toAccount: string; + amount: string; + tradeIncentiveMetadata?: TradeIncentiveMetadata; +}; + +export type CreateConvertQuoteResponse = { + trade?: RatConvertTrade; +}; + +// Get Convert Trade +export type GetConvertTradeRequest = { + // Path Params + tradeId: string; + + //Query Params + fromAccount: string; + toAccount: string; +}; + +export type GetConvertTradeResponse = { + trade?: RatConvertTrade; +}; + +// Commit Convert Trade +export type CommitConvertTradeRequest = { + // Path Params + tradeId: string; + + // Body Params + fromAccount: string; + toAccount: string; +}; + +export type CommitConvertTradeResponse = { + trade?: RatConvertTrade; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/dataAPI-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/dataAPI-types.ts new file mode 100644 index 000000000..7a773a0e8 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/dataAPI-types.ts @@ -0,0 +1,10 @@ +import { PortfolioType } from './common-types'; + +// Get API Key Permissions +export type GetAPIKeyPermissionsResponse = { + can_view?: boolean; + can_trade?: boolean; + can_transfer?: boolean; + portfolio_uuid?: string; + portfolio_type?: PortfolioType; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/fees-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/fees-types.ts new file mode 100644 index 000000000..e9db653b3 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/fees-types.ts @@ -0,0 +1,23 @@ +import { ContractExpiryType, ProductType, ProductVenue } from './common-types'; + +// Get Transactions Summary +export type GetTransactionsSummaryRequest = { + // Query Params + productType?: ProductType; + contractExpiryType?: ContractExpiryType; + productVenue?: ProductVenue; +}; + +export type GetTransactionsSummaryResponse = { + total_volume: number; + total_fees: number; + fee_tier: Record; + margin_rate?: Record; + goods_and_services_tax?: Record; + advanced_trade_only_volumes?: number; + advanced_trade_only_fees?: number; + coinbase_pro_volume?: number; // deprecated + coinbase_pro_fees?: number; // deprecated + total_balance?: string; + has_promo_fee?: boolean; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/futures-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/futures-types.ts new file mode 100644 index 000000000..61bbf97b1 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/futures-types.ts @@ -0,0 +1,71 @@ +import { + FCMBalanceSummary, + FCMPosition, + FCMSweep, + IntradayMarginSetting, +} from './common-types'; + +// Get Futures Balance Summary +export type GetFuturesBalanceSummaryResponse = { + balance_summary?: FCMBalanceSummary; +}; + +// Get Intraday Margin Setting +export type GetIntradayMarginSettingResponse = { + setting?: IntradayMarginSetting; +}; + +// Set Intraday Margin Setting +export type SetIntradayMarginSettingRequest = { + // Body Params + setting?: IntradayMarginSetting; +}; + +export type SetIntradayMarginSettingResponse = Record; + +// Get Current Margin Window +export type GetCurrentMarginWindowRequest = { + // Query Params + marginProfileType?: string; +}; + +export type GetCurrentMarginWindowResponse = { + margin_window?: Record; + is_intraday_margin_killswitch_enabled?: boolean; + is_intraday_margin_enrollment_killswitch_enabled?: boolean; +}; + +// List Futures Positions +export type ListFuturesPositionsResponse = { + positions?: FCMPosition[]; +}; + +// Get Futures Position +export type GetFuturesPositionRequest = { + // Path Params + productId: string; +}; + +export type GetFuturesPositionResponse = { + position?: FCMPosition; +}; + +// Schedule Futures Sweep +export type ScheduleFuturesSweepRequest = { + // Body Params + usdAmount?: string; +}; + +export type ScheduleFuturesSweepResponse = { + success?: boolean; +}; + +// List Futures Sweeps +export type ListFuturesSweepsResponse = { + sweeps: FCMSweep[]; +}; + +// Cancel Pending Futures Sweep = { +export type CancelPendingFuturesSweep = { + success?: boolean; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/orders-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/orders-types.ts new file mode 100644 index 000000000..486d93cd1 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/orders-types.ts @@ -0,0 +1,185 @@ +import { + CancelOrderObject, + ContractExpiryType, + MarginType, + Order, + OrderConfiguration, + OrderPlacementSource, + OrderSide, + ProductType, + SortBy, +} from './common-types'; + +// Create Order +export type CreateOrderRequest = { + // Body Params + clientOrderId: string; + productId: string; + side: OrderSide; + orderConfiguration: OrderConfiguration; + selfTradePreventionId?: string; + leverage?: string; + marginType?: MarginType; + retailPortfolioId?: string; +}; + +export type CreateOrderResponse = { + success: boolean; + failure_reason?: Record; // deprecated + order_id?: string; // deprecated + response?: + | { success_response: Record } + | { error_response: Record }; + order_configuration?: OrderConfiguration; +}; + +// Cancel Orders +export type CancelOrdersRequest = { + // Body Params + orderIds: string[]; +}; + +export type CancelOrdersResponse = { + results?: CancelOrderObject[]; +}; + +// Edit Order +export type EditOrderRequest = { + // Body Params + orderId: string; + price?: string; + size?: string; +}; + +export type EditOrderResponse = { + success: boolean; + response?: + | { success_response: Record } // deprecated + | { error_response: Record }; // deprecated + errors?: Record[]; +}; + +// Edit Order Preview +export type EditOrderPreviewRequest = { + // Body Params + orderId: string; + price?: string; + size?: string; +}; + +export type EditOrderPreviewResponse = { + errors: Record[]; + slippage?: string; + order_total?: string; + commission_total?: string; + quote_size?: string; + base_size?: string; + best_bid?: string; + average_filled_price?: string; +}; + +// List Orders +export type ListOrdersRequest = { + // Query Params + orderIds?: string[]; + productIds?: string[]; + orderStatus?: string[]; + limit?: number; + startDate?: string; + endDate?: string; + orderType?: string; + orderSide?: OrderSide; + cursor?: string; + productType?: ProductType; + orderPlacementSource?: OrderPlacementSource; + contractExpiryType?: ContractExpiryType; + assetFilters?: string[]; + retailPortfolioId?: string; + timeInForces?: string; + sortBy?: SortBy; +}; + +export type ListOrdersResponse = { + orders: Order[]; + sequence?: number; // deprecated + has_next: boolean; + cursor?: string; +}; + +// List Fills +export type ListFillsRequest = { + // Query Params + orderIds?: string[]; + tradeIds?: string[]; + productIds?: string[]; + startSequenceTimestamp?: string; + endSequenceTimestamp?: string; + retailPortfolioId?: string; + limit?: number; + cursor?: string; + sortBy?: SortBy; +}; + +export type ListFillsResponse = { + fills?: Record[]; + cursor?: string; +}; + +// Get Order +export type GetOrderRequest = { + // Path Params + orderId: string; +}; + +export type GetOrderResponse = { + order?: Order; +}; + +// Preview Order +export type PreviewOrderRequest = { + // Body Params + productId: string; + side: OrderSide; + orderConfiguration: OrderConfiguration; + leverage?: string; + marginType?: MarginType; + retailPortfolioId?: string; +}; + +export type PreviewOrderResponse = { + order_total: string; + commission_total: string; + errs: Record[]; + warning: Record[]; + quote_size: string; + base_size: string; + best_bid: string; + best_ask: string; + is_max: boolean; + order_margin_total?: string; + leverage?: string; + long_leverage?: string; + short_leverage?: string; + slippage?: string; + preview_id?: string; + current_liquidation_buffer?: string; + projected_liquidation_buffer?: string; + max_leverage?: string; + pnl_configuration?: Record; +}; + +// Close Position +export type ClosePositionRequest = { + // Body Params + clientOrderId: string; + productId: string; + size?: string; +}; + +export type ClosePositionResponse = { + success: boolean; + response?: + | { success_response: Record } + | { error_response: Record }; + order_configuration?: OrderConfiguration; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/payments-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/payments-types.ts new file mode 100644 index 000000000..064046f85 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/payments-types.ts @@ -0,0 +1,16 @@ +import { PaymentMethod } from './common-types'; + +// List Payment Methods +export type ListPaymentMethodsResponse = { + paymentMethods?: PaymentMethod; +}; + +// Get Payment Method +export type GetPaymentMethodRequest = { + // Path Params + paymentMethodId: string; +}; + +export type GetPaymentMethodResponse = { + paymentMethod?: PaymentMethod; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/perpetuals-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/perpetuals-types.ts new file mode 100644 index 000000000..d1c1235a1 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/perpetuals-types.ts @@ -0,0 +1,72 @@ +import { + PerpetualPortfolio, + PortfolioBalance, + PortfolioSummary, + Position, + PositionSummary, +} from './common-types'; + +// Allocate Portfolio +export type AllocatePortfolioRequest = { + // Body Params + portfolioUuid: string; + symbol: string; + amount: string; + currency: string; +}; + +export type AllocatePortfolioResponse = Record; + +// Get Perpetuals Portfolio Summary +export type GetPerpetualsPortfolioSummaryRequest = { + // Path Params + portfolioUuid: string; +}; + +export type GetPerpetualsPortfolioSummaryResponse = { + portfolios?: PerpetualPortfolio[]; + summary?: PortfolioSummary; +}; + +// List Perpetuals Positions +export type ListPerpetualsPositionsRequest = { + // Path Params + portfolioUuid: string; +}; + +export type ListPerpetualsPositionsResponse = { + positions?: Position[]; + summary?: PositionSummary; +}; + +// Get Perpetuals Position +export type GetPerpetualsPositionRequest = { + // Path Params + portfolioUuid: string; + symbol: string; +}; + +export type GetPerpetualsPositionResponse = { + position?: Position; +}; + +// Get Portfolio Balances +export type GetPortfolioBalancesRequest = { + // Path Params + portfolioUuid: string; +}; + +export type GetPortfolioBalancesResponse = { + portfolio_balancces?: PortfolioBalance[]; +}; + +// Opt In or Out of Multi Asset Collateral +export type OptInOutMultiAssetCollateralRequest = { + // Body Params + portfolioUuid?: string; + multiAssetCollateralEnabled?: boolean; +}; + +export type OptInOutMultiAssetCollateralResponse = { + cross_collateral_enabled?: boolean; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/portfolios-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/portfolios-types.ts new file mode 100644 index 000000000..e26698da0 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/portfolios-types.ts @@ -0,0 +1,68 @@ +import { Portfolio, PortfolioBreakdown, PortfolioType } from './common-types'; + +// List Portfolios +export type ListPortfoliosRequest = { + // Query Params + portfolioType?: PortfolioType; +}; + +export type ListPortfoliosResponse = { + portfolios?: Portfolio[]; +}; + +// Create Portfolio +export type CreatePortfolioRequest = { + // Body Params + name: string; +}; + +export type CreatePortfolioResponse = { + portfolio?: Portfolio; +}; + +// Move Portfolio Funds +export type MovePortfolioFundsRequest = { + // Body Params + funds: Record; + sourcePortfolioUuid: string; + targetPortfolioUuid: string; +}; + +export type MovePortfolioFundsResponse = { + source_portfolio_uuid?: string; + target_portfolio_uuid?: string; +}; + +// Get Portfolio Breakdown +export type GetPortfolioBreakdownRequest = { + // Path Params + portfolioUuid: string; + + // Query Params + currency?: string; +}; + +export type GetPortfolioBreakdownResponse = { + breakdown?: PortfolioBreakdown; +}; + +// Delete Portfolio +export type DeletePortfolioRequest = { + // Path Params + portfolioUuid: string; +}; + +export type DeletePortfolioResponse = Record; + +// Edit Portfolio +export type EditPortfolioRequest = { + // Path Params + portfolioUuid: string; + + // Body Params + name: string; +}; + +export type EditPortfolioResponse = { + portfolio?: Portfolio; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/products-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/products-types.ts new file mode 100644 index 000000000..9713e617d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/products-types.ts @@ -0,0 +1,96 @@ +import { + Candles, + ContractExpiryType, + ExpiringContractStatus, + Granularity, + HistoricalMarketTrade, + PriceBook, + Product, + Products, + ProductType, +} from './common-types'; + +// Get Best Bid Ask +export type GetBestBidAskRequest = { + // Query Params + productIds?: string[]; +}; + +export type GetBestBidAskResponse = { + pricebooks: PriceBook[]; +}; + +// Get Product Book +export type GetProductBookRequest = { + // Query Params + productId: string; + limit?: number; + aggregationPriceIncrement?: number; +}; + +export type GetProductBookResponse = { + pricebook: PriceBook; +}; + +// List Products +export type ListProductsRequest = { + // Query Params + limit?: number; + offset?: number; + productType?: ProductType; + productIds?: string[]; + contractExpiryType?: ContractExpiryType; + expiringContractStatus?: ExpiringContractStatus; + getTradabilityStatus?: boolean; + getAllProducts?: boolean; +}; + +export type ListProductsResponse = { + body?: Products; +}; + +// Get Product +export type GetProductRequest = { + // Path Params + productId: string; + + // Query Params + getTradabilityStatus?: boolean; +}; + +export type GetProductResponse = { + body?: Product; +}; + +// Get Product Candles +export type GetProductCandlesRequest = { + // Path Params + productId: string; + + // Query Params + start: string; + end: string; + granularity: Granularity; + limit?: number; +}; + +export type GetProductCandlesResponse = { + body?: Candles; +}; + +// Get Market Trades +export type GetMarketTradesRequest = { + // Path Params + productId: string; + + // Query Params + limit: number; + start?: string; + end?: string; +}; + +export type GetMarketTradesResponse = { + trades?: HistoricalMarketTrade[]; + best_bid?: string; + best_ask?: string; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/public-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/public-types.ts new file mode 100644 index 000000000..4f5bbe4a4 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/public-types.ts @@ -0,0 +1,88 @@ +import { + Candles, + ContractExpiryType, + ExpiringContractStatus, + HistoricalMarketTrade, + PriceBook, + Product, + Products, + ProductType, +} from './common-types'; + +// Get Server Time +export type GetServerTimeResponse = { + iso?: string; + epochSeconds?: number; + epochMillis?: number; +}; + +// Get Public Product Book +export type GetPublicProductBookRequest = { + // Query Params + productId: string; + limit?: number; + aggregationPriceIncrement?: number; +}; + +export type GetPublicProductBookResponse = { + pricebook: PriceBook; +}; + +// List Public Products +export type ListPublicProductsRequest = { + // Query Params + limit?: number; + offset?: number; + productType?: ProductType; + productIds?: string[]; + contractExpiryType?: ContractExpiryType; + expiringContractStatus?: ExpiringContractStatus; + getAllProducts?: boolean; +}; + +export type ListPublicProductsResponse = { + body?: Products; +}; + +// Get Public Product +export type GetPublicProductRequest = { + // Path Params + productId: string; +}; + +export type GetPublicProductResponse = { + body?: Product; +}; + +//Get Public Product Candles +export type GetPublicProductCandlesRequest = { + // Path Params + productId: string; + + // Query Params + start: string; + end: string; + granularity: string; + limit?: number; +}; + +export type GetPublicProductCandlesResponse = { + body?: Candles; +}; + +// Get Public Market Trades +export type GetPublicMarketTradesRequest = { + // Path Params + productId: string; + + // Query Params + limit: number; + start?: string; + end?: string; +}; + +export type GetPublicMarketTradesResponse = { + trades?: HistoricalMarketTrade[]; + best_bid?: string; + best_ask?: string; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/request-types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/request-types.ts new file mode 100644 index 000000000..56c7a926a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/src/rest/types/request-types.ts @@ -0,0 +1,14 @@ +export enum method { + GET = 'GET', + POST = 'POST', + PUT = 'PUT', + DELETE = 'DELETE', +} + +export interface RequestOptions { + method: method; + endpoint: string; + queryParams?: Record; + bodyParams?: Record; + isPublic: boolean; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/tsconfig.json new file mode 100644 index 000000000..9a8f3ef63 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts/tsconfig.json @@ -0,0 +1,106 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + /* Language and Environment */ + "target": "es6" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + /* Modules */ + "module": "commonjs" /* Specify what module code is generated. */, + "rootDir": "./src" /* Specify the root folder within your source files. */, + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + "outDir": "./dist" /* Specify an output folder for all emitted files. */, + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, + /* Type Checking */ + "strict": true /* Enable all strict type-checking options. */, + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + }, + "include": [ + "src/**/*.ts" + ], // Include all .ts files in the src directory and subdirectories + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json new file mode 100644 index 000000000..d38fa9175 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json @@ -0,0 +1,24 @@ +{ + "name": "@elizaos/plugin-coinbase", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "coinbase-api": "1.0.5", + "coinbase-advanced-sdk": "file:../../packages/plugin-coinbase/advanced-sdk-ts", + "jsonwebtoken": "^9.0.2", + "@types/jsonwebtoken": "^9.0.7", + "node-fetch": "^2.6.1" + }, + "devDependencies": { + "tsup": "8.3.5", + "@types/node": "^20.0.0" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/constants.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/constants.ts new file mode 100644 index 000000000..152445582 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/constants.ts @@ -0,0 +1,224 @@ +export const ABI = [ + { + inputs: [], + name: "name", + outputs: [ + { + name: "", + type: "string", + internalType: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + name: "spender", + type: "address", + internalType: "address" + }, + { + name: "amount", + type: "uint256", + internalType: "uint256" + } + ], + name: "approve", + outputs: [ + { + name: "", + type: "bool", + internalType: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + name: "", + type: "uint256", + internalType: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + name: "from", + type: "address", + internalType: "address" + }, + { + name: "to", + type: "address", + internalType: "address" + }, + { + name: "amount", + type: "uint256", + internalType: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + name: "", + type: "bool", + internalType: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + name: "", + type: "uint8", + internalType: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + name: "account", + type: "address", + internalType: "address" + } + ], + name: "balanceOf", + outputs: [ + { + name: "", + type: "uint256", + internalType: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + name: "", + type: "string", + internalType: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + name: "to", + type: "address", + internalType: "address" + }, + { + name: "amount", + type: "uint256", + internalType: "uint256" + } + ], + name: "transfer", + outputs: [ + { + name: "", + type: "bool", + internalType: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + name: "owner", + type: "address", + internalType: "address" + }, + { + name: "spender", + type: "address", + internalType: "address" + } + ], + name: "allowance", + outputs: [ + { + name: "", + type: "uint256", + internalType: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + indexed: true, + name: "owner", + type: "address", + internalType: "address" + }, + { + indexed: true, + name: "spender", + type: "address", + internalType: "address" + }, + { + indexed: false, + name: "value", + type: "uint256", + internalType: "uint256" + } + ], + name: "Approval", + type: "event", + anonymous: false + }, + { + inputs: [ + { + indexed: true, + name: "from", + type: "address", + internalType: "address" + }, + { + indexed: true, + name: "to", + type: "address", + internalType: "address" + }, + { + indexed: false, + name: "value", + type: "uint256", + internalType: "uint256" + } + ], + name: "Transfer", + type: "event", + anonymous: false + } +]; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/index.ts new file mode 100644 index 000000000..69d4c8382 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/index.ts @@ -0,0 +1,22 @@ +import { coinbaseMassPaymentsPlugin } from "./plugins/massPayments"; +import { coinbaseCommercePlugin } from "./plugins/commerce"; +import { tradePlugin } from "./plugins/trade"; +import { tokenContractPlugin } from "./plugins/tokenContract"; +import { webhookPlugin } from "./plugins/webhooks"; +import { advancedTradePlugin } from "./plugins/advancedTrade"; + +export const plugins = { + coinbaseMassPaymentsPlugin, + coinbaseCommercePlugin, + tradePlugin, + tokenContractPlugin, + webhookPlugin, + advancedTradePlugin, +}; + +export * from "./plugins/massPayments"; +export * from "./plugins/commerce"; +export * from "./plugins/trade"; +export * from "./plugins/tokenContract"; +export * from "./plugins/webhooks"; +export * from "./plugins/advancedTrade"; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/advancedTrade.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/advancedTrade.ts new file mode 100644 index 000000000..3e26e78ac --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/advancedTrade.ts @@ -0,0 +1,445 @@ +import { RESTClient } from "../../advanced-sdk-ts/src/rest"; +import { + Action, + Plugin, + elizaLogger, + IAgentRuntime, + Memory, + HandlerCallback, + State, + composeContext, + generateObject, + ModelClass, + Provider, +} from "@elizaos/core"; +import { advancedTradeTemplate } from "../templates"; +import { isAdvancedTradeContent, AdvancedTradeSchema } from "../types"; +import { readFile } from "fs/promises"; +import { parse } from "csv-parse/sync"; +import path from "path"; +import { fileURLToPath } from "url"; +import fs from "fs"; +import { createArrayCsvWriter } from "csv-writer"; +import { + OrderSide, + OrderConfiguration, +} from "../../advanced-sdk-ts/src/rest/types/common-types"; +import { CreateOrderResponse } from "../../advanced-sdk-ts/src/rest/types/orders-types"; + +// File path setup remains the same +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const baseDir = path.resolve(__dirname, "../../plugin-coinbase/src/plugins"); +const tradeCsvFilePath = path.join(baseDir, "advanced_trades.csv"); + +const tradeProvider: Provider = { + get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting tradeProvider function"); + try { + const client = new RESTClient( + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY + ); + + // Get accounts and products information + let accounts, products; + try { + accounts = await client.listAccounts({}); + } catch (error) { + elizaLogger.error("Error fetching accounts:", error); + return []; + } + + try { + products = await client.listProducts({}); + } catch (error) { + elizaLogger.error("Error fetching products:", error); + return []; + } + + // Read CSV file logic remains the same + if (!fs.existsSync(tradeCsvFilePath)) { + const csvWriter = createArrayCsvWriter({ + path: tradeCsvFilePath, + header: [ + "Order ID", + "Success", + "Order Configuration", + "Response", + ], + }); + await csvWriter.writeRecords([]); + } + + let csvData, records; + try { + csvData = await readFile(tradeCsvFilePath, "utf-8"); + } catch (error) { + elizaLogger.error("Error reading CSV file:", error); + return []; + } + + try { + records = parse(csvData, { + columns: true, + skip_empty_lines: true, + }); + } catch (error) { + elizaLogger.error("Error parsing CSV data:", error); + return []; + } + + return { + accounts: accounts.accounts, + products: products.products, + trades: records, + }; + } catch (error) { + elizaLogger.error("Error in tradeProvider:", error); + return []; + } + }, +}; + +export async function appendTradeToCsv(tradeResult: any) { + elizaLogger.debug("Starting appendTradeToCsv function"); + try { + const csvWriter = createArrayCsvWriter({ + path: tradeCsvFilePath, + header: ["Order ID", "Success", "Order Configuration", "Response"], + append: true, + }); + elizaLogger.info("Trade result:", tradeResult); + + // Format trade data based on success/failure + const formattedTrade = [ + tradeResult.success_response?.order_id || + tradeResult.failure_response?.order_id || + "", + tradeResult.success, + // JSON.stringify(tradeResult.order_configuration || {}), + // JSON.stringify(tradeResult.success_response || tradeResult.failure_response || {}) + ]; + + elizaLogger.info("Formatted trade for CSV:", formattedTrade); + await csvWriter.writeRecords([formattedTrade]); + elizaLogger.info("Trade written to CSV successfully"); + } catch (error) { + elizaLogger.error("Error writing trade to CSV:", error); + // Log the actual error for debugging + if (error instanceof Error) { + elizaLogger.error("Error details:", error.message); + } + } +} + +async function hasEnoughBalance( + client: RESTClient, + currency: string, + amount: number, + side: string +): Promise { + elizaLogger.debug("Starting hasEnoughBalance function"); + try { + const response = await client.listAccounts({}); + const accounts = JSON.parse(response); + elizaLogger.info("Accounts:", accounts); + const checkCurrency = side === "BUY" ? "USD" : currency; + elizaLogger.info( + `Checking balance for ${side} order of ${amount} ${checkCurrency}` + ); + + // Find account with exact currency match + const account = accounts?.accounts.find( + (acc) => + acc.currency === checkCurrency && + (checkCurrency === "USD" + ? acc.type === "ACCOUNT_TYPE_FIAT" + : acc.type === "ACCOUNT_TYPE_CRYPTO") + ); + + if (!account) { + elizaLogger.error(`No ${checkCurrency} account found`); + return false; + } + + const available = parseFloat(account.available_balance.value); + // Add buffer for fees only on USD purchases + const requiredAmount = side === "BUY" ? amount * 1.01 : amount; + elizaLogger.info( + `Required amount (including buffer): ${requiredAmount} ${checkCurrency}` + ); + + const hasBalance = available >= requiredAmount; + elizaLogger.info(`Has sufficient balance: ${hasBalance}`); + + return hasBalance; + } catch (error) { + elizaLogger.error("Balance check failed with error:", { + error: error instanceof Error ? error.message : "Unknown error", + currency, + amount, + side, + }); + return false; + } +} + +export const executeAdvancedTradeAction: Action = { + name: "EXECUTE_ADVANCED_TRADE", + description: "Execute a trade using Coinbase Advanced Trading API", + validate: async (runtime: IAgentRuntime) => { + return ( + !!( + runtime.getSetting("COINBASE_API_KEY") || + process.env.COINBASE_API_KEY + ) && + !!( + runtime.getSetting("COINBASE_PRIVATE_KEY") || + process.env.COINBASE_PRIVATE_KEY + ) + ); + }, + similes: [ + "EXECUTE_ADVANCED_TRADE", + "ADVANCED_MARKET_ORDER", + "ADVANCED_LIMIT_ORDER", + "COINBASE_PRO_TRADE", + "PROFESSIONAL_TRADE", + ], + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + let client: RESTClient; + + // Initialize client + elizaLogger.debug("Starting advanced trade client initialization"); + try { + client = new RESTClient( + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY + ); + elizaLogger.info("Advanced trade client initialized"); + } catch (error) { + elizaLogger.error("Client initialization failed:", error); + callback( + { + text: "Failed to initialize trading client. Please check your API credentials.", + }, + [] + ); + return; + } + + // Generate trade details + let tradeDetails; + elizaLogger.debug("Starting trade details generation"); + try { + tradeDetails = await generateObject({ + runtime, + context: composeContext({ + state, + template: advancedTradeTemplate, + }), + modelClass: ModelClass.LARGE, + schema: AdvancedTradeSchema, + }); + elizaLogger.info("Trade details generated:", tradeDetails.object); + } catch (error) { + elizaLogger.error("Trade details generation failed:", error); + callback( + { + text: "Failed to generate trade details. Please provide valid trading parameters.", + }, + [] + ); + return; + } + + // Validate trade content + if (!isAdvancedTradeContent(tradeDetails.object)) { + elizaLogger.error("Invalid trade content:", tradeDetails.object); + callback( + { + text: "Invalid trade details. Please check your input parameters.", + }, + [] + ); + return; + } + + const { productId, amount, side, orderType, limitPrice } = + tradeDetails.object; + + // Configure order + let orderConfiguration: OrderConfiguration; + elizaLogger.debug("Starting order configuration"); + try { + if (orderType === "MARKET") { + orderConfiguration = + side === "BUY" + ? { + market_market_ioc: { + quote_size: amount.toString(), + }, + } + : { + market_market_ioc: { + base_size: amount.toString(), + }, + }; + } else { + if (!limitPrice) { + throw new Error("Limit price is required for limit orders"); + } + orderConfiguration = { + limit_limit_gtc: { + baseSize: amount.toString(), + limitPrice: limitPrice.toString(), + postOnly: false, + }, + }; + } + elizaLogger.info( + "Order configuration created:", + orderConfiguration + ); + } catch (error) { + elizaLogger.error("Order configuration failed:", error); + callback( + { + text: + error instanceof Error + ? error.message + : "Failed to configure order parameters.", + }, + [] + ); + return; + } + + // Execute trade + let order: CreateOrderResponse; + try { + elizaLogger.debug("Executing the trade"); + if ( + !(await hasEnoughBalance( + client, + productId.split("-")[0], + amount, + side + )) + ) { + callback( + { + text: `Insufficient ${side === "BUY" ? "USD" : productId.split("-")[0]} balance to execute this trade`, + }, + [] + ); + return; + } + + order = await client.createOrder({ + clientOrderId: crypto.randomUUID(), + productId, + side: side === "BUY" ? OrderSide.BUY : OrderSide.SELL, + orderConfiguration, + }); + + elizaLogger.info("Trade executed successfully:", order); + } catch (error) { + elizaLogger.error("Trade execution failed:", error?.message); + callback( + { + text: `Failed to execute trade: ${error instanceof Error ? error.message : "Unknown error occurred"}`, + }, + [] + ); + return; + } + // Log trade to CSV + try { + // await appendTradeToCsv(order); + elizaLogger.info("Trade logged to CSV"); + } catch (csvError) { + elizaLogger.warn("Failed to log trade to CSV:", csvError); + // Continue execution as this is non-critical + } + + callback( + { + text: `Advanced Trade executed successfully: +- Product: ${productId} +- Type: ${orderType} Order +- Side: ${side} +- Amount: ${amount} +- ${orderType === "LIMIT" ? `- Limit Price: ${limitPrice}\n` : ""}- Order ID: ${order.order_id} +- Status: ${order.success} +- Order Id: ${order.order_id} +- Response: ${JSON.stringify(order.response)} +- Order Configuration: ${JSON.stringify(order.order_configuration)}`, + }, + [] + ); + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Place an advanced market order to buy $1 worth of BTC", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Advanced Trade executed successfully: +- Product: BTC-USD +- Type: Market Order +- Side: BUY +- Amount: 1000 +- Order ID: CB-ADV-12345 +- Success: true +- Response: {"success_response":{}} +- Order Configuration: {"market_market_ioc":{"quote_size":"1000"}}`, + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Set a limit order to sell 0.5 ETH at $2000" }, + }, + { + user: "{{agentName}}", + content: { + text: `Advanced Trade executed successfully: +- Product: ETH-USD +- Type: Limit Order +- Side: SELL +- Amount: 0.5 +- Limit Price: 2000 +- Order ID: CB-ADV-67890 +- Success: true +- Response: {"success_response":{}} +- Order Configuration: {"limit_limit_gtc":{"baseSize":"0.5","limitPrice":"2000","postOnly":false}}`, + }, + }, + ], + ], +}; + +export const advancedTradePlugin: Plugin = { + name: "advancedTradePlugin", + description: "Enables advanced trading using Coinbase Advanced Trading API", + actions: [executeAdvancedTradeAction], + providers: [tradeProvider], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/commerce.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/commerce.ts new file mode 100644 index 000000000..7dacdc0fc --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/commerce.ts @@ -0,0 +1,536 @@ +import { + composeContext, + elizaLogger, + generateObject, + ModelClass, + Provider, +} from "@elizaos/core"; +import { + Action, + HandlerCallback, + IAgentRuntime, + Memory, + Plugin, + State, +} from "@elizaos/core"; +import { ChargeContent, ChargeSchema, isChargeContent } from "../types"; +import { chargeTemplate, getChargeTemplate } from "../templates"; +import { getWalletDetails } from "../utils"; +import { Coinbase } from "@coinbase/coinbase-sdk"; + +const url = "https://api.commerce.coinbase.com/charges"; +interface ChargeRequest { + name: string; + description: string; + pricing_type: string; + local_price: { + amount: string; + currency: string; + }; +} + +export async function createCharge(apiKey: string, params: ChargeRequest) { + elizaLogger.debug("Starting createCharge function"); + try { + const response = await fetch(url, { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-CC-Api-Key": apiKey, + }, + body: JSON.stringify(params), + }); + + if (!response.ok) { + throw new Error(`Failed to create charge: ${response.statusText}`); + } + + const data = await response.json(); + return data.data; + } catch (error) { + elizaLogger.error("Error creating charge:", error); + throw error; + } +} + +// Function to fetch all charges +export async function getAllCharges(apiKey: string) { + elizaLogger.debug("Starting getAllCharges function"); + try { + const response = await fetch(url, { + method: "GET", + headers: { + "Content-Type": "application/json", + "X-CC-Api-Key": apiKey, + }, + }); + + if (!response.ok) { + throw new Error( + `Failed to fetch all charges: ${response.statusText}` + ); + } + + const data = await response.json(); + return data.data; + } catch (error) { + elizaLogger.error("Error fetching charges:", error); + throw error; + } +} + +// Function to fetch details of a specific charge +export async function getChargeDetails(apiKey: string, chargeId: string) { + elizaLogger.debug("Starting getChargeDetails function"); + const getUrl = `${url}${chargeId}`; + + try { + const response = await fetch(getUrl, { + method: "GET", + headers: { + "Content-Type": "application/json", + "X-CC-Api-Key": apiKey, + }, + }); + + if (!response.ok) { + throw new Error( + `Failed to fetch charge details: ${response.statusText}` + ); + } + + const data = await response.json(); + return data; + } catch (error) { + elizaLogger.error( + `Error fetching charge details for ID ${chargeId}:`, + error + ); + throw error; + } +} + +export const createCoinbaseChargeAction: Action = { + name: "CREATE_CHARGE", + similes: [ + "MAKE_CHARGE", + "INITIATE_CHARGE", + "GENERATE_CHARGE", + "CREATE_TRANSACTION", + "COINBASE_CHARGE", + "GENERATE_INVOICE", + "CREATE_PAYMENT", + "SETUP_BILLING", + "REQUEST_PAYMENT", + "CREATE_CHECKOUT", + "GET_CHARGE_STATUS", + "LIST_CHARGES", + ], + description: + "Create and manage payment charges using Coinbase Commerce. Supports fixed and dynamic pricing, multiple currencies (USD, EUR, USDC), and provides charge status tracking and management features.", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + const coinbaseCommerceKeyOk = !!runtime.getSetting( + "COINBASE_COMMERCE_KEY" + ); + + // Ensure Coinbase Commerce API key is available + return coinbaseCommerceKeyOk; + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.info("Composing state for message:", message); + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + const context = composeContext({ + state, + template: chargeTemplate, + }); + + const chargeDetails = await generateObject({ + runtime, + context, + modelClass: ModelClass.LARGE, + schema: ChargeSchema, + }); + if (!isChargeContent(chargeDetails.object)) { + throw new Error("Invalid content"); + } + const charge = chargeDetails.object as ChargeContent; + if (!charge || !charge.price || !charge.type) { + callback( + { + text: "Invalid charge details provided.", + }, + [] + ); + return; + } + + elizaLogger.info("Charge details received:", chargeDetails); + + // Initialize Coinbase Commerce client + elizaLogger.debug("Starting Coinbase Commerce client initialization"); + try { + // Create a charge + const chargeResponse = await createCharge( + runtime.getSetting("COINBASE_COMMERCE_KEY"), + { + local_price: { + amount: charge.price.toString(), + currency: charge.currency, + }, + pricing_type: charge.type, + name: charge.name, + description: charge.description, + } + ); + + elizaLogger.info( + "Coinbase Commerce charge created:", + chargeResponse + ); + + callback( + { + text: `Charge created successfully: ${chargeResponse.hosted_url}`, + attachments: [ + { + id: crypto.randomUUID(), + url: chargeResponse.id, + title: "Coinbase Commerce Charge", + description: `Charge ID: ${chargeResponse.id}`, + text: `Pay here: ${chargeResponse.hosted_url}`, + source: "coinbase", + }, + ], + }, + [] + ); + } catch (error) { + elizaLogger.error( + "Error creating Coinbase Commerce charge:", + error + ); + callback( + { + text: "Failed to create a charge. Please try again.", + }, + [] + ); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Create a charge for $100 USD for Digital Art NFT with description 'Exclusive digital artwork collection'", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Charge created successfully:\n- Amount: $100 USD\n- Name: Digital Art NFT\n- Description: Exclusive digital artwork collection\n- Type: fixed_price\n- Charge URL: https://commerce.coinbase.com/charges/...", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Set up a dynamic price charge for Premium Membership named 'VIP Access Pass'", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Charge created successfully:\n- Type: dynamic_price\n- Name: VIP Access Pass\n- Description: Premium Membership\n- Charge URL: https://commerce.coinbase.com/charges/...", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Generate a payment request for 50 EUR for Workshop Registration", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Charge created successfully:\n- Amount: 50 EUR\n- Name: Workshop Registration\n- Type: fixed_price\n- Charge URL: https://commerce.coinbase.com/charges/...", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Create an invoice for 1000 USDC for Consulting Services", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Charge created successfully:\n- Amount: 1000 USDC\n- Name: Consulting Services\n- Type: fixed_price\n- Charge URL: https://commerce.coinbase.com/charges/...", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Check the status of charge abc-123-def", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Charge details retrieved:\n- ID: abc-123-def\n- Status: COMPLETED\n- Amount: 100 USD\n- Created: 2024-01-20T10:00:00Z\n- Expires: 2024-01-21T10:00:00Z", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "List all active charges", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Active charges retrieved:\n1. ID: abc-123 - $100 USD - Digital Art NFT\n2. ID: def-456 - 50 EUR - Workshop\n3. ID: ghi-789 - 1000 USDC - Consulting\n\nTotal active charges: 3", + }, + }, + ], + ], +} as Action; + +export const getAllChargesAction: Action = { + name: "GET_ALL_CHARGES", + similes: ["FETCH_ALL_CHARGES", "RETRIEVE_ALL_CHARGES", "LIST_ALL_CHARGES"], + description: "Fetch all charges using Coinbase Commerce.", + validate: async (runtime: IAgentRuntime) => { + const coinbaseCommerceKeyOk = !!runtime.getSetting( + "COINBASE_COMMERCE_KEY" + ); + + // Ensure Coinbase Commerce API key is available + return coinbaseCommerceKeyOk; + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + try { + elizaLogger.info("Composing state for message:", message); + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + const charges = await getAllCharges( + runtime.getSetting("COINBASE_COMMERCE_KEY") + ); + + elizaLogger.info("Fetched all charges:", charges); + + callback( + { + text: `Successfully fetched all charges. Total charges: ${charges.length}`, + }, + [] + ); + } catch (error) { + elizaLogger.error("Error fetching all charges:", error); + callback( + { + text: "Failed to fetch all charges. Please try again.", + }, + [] + ); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { text: "Fetch all charges" }, + }, + { + user: "{{agentName}}", + content: { + text: "Successfully fetched all charges.", + action: "GET_ALL_CHARGES", + }, + }, + ], + ], +} as Action; + +export const getChargeDetailsAction: Action = { + name: "GET_CHARGE_DETAILS", + similes: ["FETCH_CHARGE_DETAILS", "RETRIEVE_CHARGE_DETAILS", "GET_CHARGE"], + description: "Fetch details of a specific charge using Coinbase Commerce.", + validate: async (runtime: IAgentRuntime) => { + const coinbaseCommerceKeyOk = !!runtime.getSetting( + "COINBASE_COMMERCE_KEY" + ); + + // Ensure Coinbase Commerce API key is available + return coinbaseCommerceKeyOk; + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.info("Composing state for message:", message); + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + const context = composeContext({ + state, + template: getChargeTemplate, + }); + const chargeDetails = await generateObject({ + runtime, + context, + modelClass: ModelClass.LARGE, + schema: ChargeSchema, + }); + if (!isChargeContent(chargeDetails.object)) { + throw new Error("Invalid content"); + } + const charge = chargeDetails.object as ChargeContent; + if (!charge.id) { + callback( + { + text: "Missing charge ID. Please provide a valid charge ID.", + }, + [] + ); + return; + } + + try { + const chargeDetails = await getChargeDetails( + runtime.getSetting("COINBASE_COMMERCE_KEY"), + charge.id + ); + + elizaLogger.info("Fetched charge details:", chargeDetails); + + callback( + { + text: `Successfully fetched charge details for ID: ${charge.id}`, + attachments: [ + { + id: crypto.randomUUID(), + url: chargeDetails.hosted_url, + title: `Charge Details for ${charge.id}`, + description: `Details: ${JSON.stringify(chargeDetails, null, 2)}`, + source: "coinbase", + text: "", + }, + ], + }, + [] + ); + } catch (error) { + elizaLogger.error( + `Error fetching details for charge ID ${charge.id}:`, + error + ); + callback( + { + text: `Failed to fetch details for charge ID: ${charge.id}. Please try again.`, + }, + [] + ); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Fetch details of charge ID: 123456", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Successfully fetched charge details. {{charge.id}} for {{charge.amount}} {{charge.currency}} to {{charge.name}} for {{charge.description}}", + action: "GET_CHARGE_DETAILS", + }, + }, + ], + ], +}; + +export const chargeProvider: Provider = { + get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting chargeProvider.get function"); + const charges = await getAllCharges( + runtime.getSetting("COINBASE_COMMERCE_KEY") + ); + // Ensure API key is available + const coinbaseAPIKey = + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY; + const coinbasePrivateKey = + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY; + const balances = []; + const transactions = []; + if (coinbaseAPIKey && coinbasePrivateKey) { + Coinbase.configure({ + apiKeyName: coinbaseAPIKey, + privateKey: coinbasePrivateKey, + }); + const { balances, transactions } = await getWalletDetails(runtime); + elizaLogger.info("Current Balances:", balances); + elizaLogger.info("Last Transactions:", transactions); + } + const formattedCharges = charges.map((charge) => ({ + id: charge.id, + name: charge.name, + description: charge.description, + pricing: charge.pricing, + })); + elizaLogger.info("Charges:", formattedCharges); + return { charges: formattedCharges, balances, transactions }; + }, +}; + +export const coinbaseCommercePlugin: Plugin = { + name: "coinbaseCommerce", + description: + "Integration with Coinbase Commerce for creating and managing charges.", + actions: [ + createCoinbaseChargeAction, + getAllChargesAction, + getChargeDetailsAction, + ], + evaluators: [], + providers: [chargeProvider], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/massPayments.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/massPayments.ts new file mode 100644 index 000000000..70e65d17f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/massPayments.ts @@ -0,0 +1,470 @@ +import { Coinbase, Wallet } from "@coinbase/coinbase-sdk"; +import { + composeContext, + elizaLogger, + generateObject, + ModelClass, + Action, + IAgentRuntime, + Memory, + Provider, + State, + HandlerCallback, + Plugin, +} from "@elizaos/core"; +import { + TransferSchema, + isTransferContent, + TransferContent, + Transaction, +} from "../types"; +import { transferTemplate } from "../templates"; +import { readFile } from "fs/promises"; +import { parse } from "csv-parse/sync"; +import path from "path"; +import { fileURLToPath } from "url"; +import fs from "fs"; +import { createArrayCsvWriter } from "csv-writer"; +import { + appendTransactionsToCsv, + executeTransfer, + getCharityAddress, + getWalletDetails, + initializeWallet, +} from "../utils"; + +// Dynamically resolve the file path to the src/plugins directory +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const baseDir = path.resolve(__dirname, "../../plugin-coinbase/src/plugins"); +const csvFilePath = path.join(baseDir, "transactions.csv"); + +export const massPayoutProvider: Provider = { + get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting massPayoutProvider.get function"); + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + elizaLogger.info("Reading CSV file from:", csvFilePath); + + // Ensure the CSV file exists + if (!fs.existsSync(csvFilePath)) { + elizaLogger.warn("CSV file not found. Creating a new one."); + const csvWriter = createArrayCsvWriter({ + path: csvFilePath, + header: [ + "Address", + "Amount", + "Status", + "Error Code", + "Transaction URL", + ], + }); + await csvWriter.writeRecords([]); // Create an empty file with headers + elizaLogger.info("New CSV file created with headers."); + } + + // Read and parse the CSV file + const csvData = await readFile(csvFilePath, "utf-8"); + const records = parse(csvData, { + columns: true, + skip_empty_lines: true, + }); + + const { balances, transactions } = await getWalletDetails(runtime); + + elizaLogger.info("Parsed CSV records:", records); + elizaLogger.info("Current Balances:", balances); + elizaLogger.info("Last Transactions:", transactions); + + return { + currentTransactions: records.map((record: any) => ({ + address: record["Address"] || undefined, + amount: parseFloat(record["Amount"]) || undefined, + status: record["Status"] || undefined, + errorCode: record["Error Code"] || "", + transactionUrl: record["Transaction URL"] || "", + })), + balances, + transactionHistory: transactions, + }; + } catch (error) { + elizaLogger.error("Error in massPayoutProvider:", error); + return { csvRecords: [], balances: [], transactions: [] }; + } + }, +}; + +async function executeMassPayout( + runtime: IAgentRuntime, + networkId: string, + receivingAddresses: string[], + transferAmount: number, + assetId: string +): Promise { + elizaLogger.debug("Starting executeMassPayout function"); + const transactions: Transaction[] = []; + const assetIdLowercase = assetId.toLowerCase(); + let sendingWallet: Wallet; + try { + elizaLogger.debug("Initializing sending wallet"); + sendingWallet = await initializeWallet(runtime, networkId); + } catch (error) { + elizaLogger.error("Error initializing sending wallet:", error); + throw error; + } + for (const address of receivingAddresses) { + elizaLogger.info("Processing payout for address:", address); + if (address) { + try { + // Check balance before initiating transfer + + const walletBalance = + await sendingWallet.getBalance(assetIdLowercase); + + elizaLogger.info("Wallet balance for asset:", { + assetId, + walletBalance, + }); + + if (walletBalance.lessThan(transferAmount)) { + const insufficientFunds = `Insufficient funds for address ${sendingWallet.getDefaultAddress()} to send to ${address}. Required: ${transferAmount}, Available: ${walletBalance}`; + elizaLogger.error(insufficientFunds); + + transactions.push({ + address, + amount: transferAmount, + status: "Failed", + errorCode: insufficientFunds, + transactionUrl: null, + }); + continue; + } + + // Execute the transfer + const transfer = await executeTransfer( + sendingWallet, + transferAmount, + assetIdLowercase, + address + ); + + transactions.push({ + address, + amount: transfer.getAmount().toNumber(), + status: "Success", + errorCode: null, + transactionUrl: transfer.getTransactionLink(), + }); + } catch (error) { + elizaLogger.error( + "Error during transfer for address:", + address, + error + ); + transactions.push({ + address, + amount: transferAmount, + status: "Failed", + errorCode: error?.code || "Unknown Error", + transactionUrl: null, + }); + } + } else { + elizaLogger.info("Skipping invalid or empty address."); + transactions.push({ + address: "Invalid or Empty", + amount: transferAmount, + status: "Failed", + errorCode: "Invalid Address", + transactionUrl: null, + }); + } + } + // Send 1% to charity + const charityAddress = getCharityAddress(networkId); + + try { + elizaLogger.debug("Sending 1% to charity:", charityAddress); + const charityTransfer = await executeTransfer( + sendingWallet, + transferAmount * 0.01, + assetId, + charityAddress + ); + + transactions.push({ + address: charityAddress, + amount: charityTransfer.getAmount().toNumber(), + status: "Success", + errorCode: null, + transactionUrl: charityTransfer.getTransactionLink(), + }); + } catch (error) { + elizaLogger.error("Error during charity transfer:", error); + transactions.push({ + address: charityAddress, + amount: transferAmount * 0.01, + status: "Failed", + errorCode: error?.message || "Unknown Error", + transactionUrl: null, + }); + } + await appendTransactionsToCsv(transactions); + elizaLogger.info("Finished processing mass payouts."); + return transactions; +} + +// Action for sending mass payouts +export const sendMassPayoutAction: Action = { + name: "SEND_MASS_PAYOUT", + similes: ["BULK_TRANSFER", "DISTRIBUTE_FUNDS", "SEND_PAYMENTS"], + description: + "Sends mass payouts to a list of receiving addresses using a predefined sending wallet and logs all transactions to a CSV file.", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.info("Validating runtime and message..."); + return ( + !!( + runtime.character.settings.secrets?.COINBASE_API_KEY || + process.env.COINBASE_API_KEY + ) && + !!( + runtime.character.settings.secrets?.COINBASE_PRIVATE_KEY || + process.env.COINBASE_PRIVATE_KEY + ) + ); + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.debug("Starting SEND_MASS_PAYOUT handler..."); + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + if (!state) { + state = (await runtime.composeState(message, { + providers: [massPayoutProvider], + })) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + const context = composeContext({ + state, + template: transferTemplate, + }); + + const transferDetails = await generateObject({ + runtime, + context, + modelClass: ModelClass.LARGE, + schema: TransferSchema, + }); + + elizaLogger.info( + "Transfer details generated:", + transferDetails.object + ); + + if (!isTransferContent(transferDetails.object)) { + callback( + { + text: "Invalid transfer details. Please check the inputs.", + }, + [] + ); + return; + } + + const { receivingAddresses, transferAmount, assetId, network } = + transferDetails.object as TransferContent; + + const allowedNetworks = Object.values(Coinbase.networks); + + if ( + !network || + !allowedNetworks.includes(network.toLowerCase() as any) || + !receivingAddresses?.length || + transferAmount <= 0 || + !assetId + ) { + elizaLogger.error("Missing or invalid input parameters:", { + network, + receivingAddresses, + transferAmount, + assetId, + }); + callback( + { + text: `Invalid input parameters. Please ensure: +- Network is one of: ${allowedNetworks.join(", ")}. +- Receiving addresses are provided. +- Transfer amount is greater than zero. +- Asset ID is valid.`, + }, + [] + ); + return; + } + + elizaLogger.info("◎ Starting mass payout..."); + const transactions = await executeMassPayout( + runtime, + network, + receivingAddresses, + transferAmount, + assetId + ); + + const successTransactions = transactions.filter( + (tx) => tx.status === "Success" + ); + const failedTransactions = transactions.filter( + (tx) => tx.status === "Failed" + ); + const successDetails = successTransactions + .map( + (tx) => + `Address: ${tx.address}, Amount: ${tx.amount}, Transaction URL: ${ + tx.transactionUrl || "N/A" + }` + ) + .join("\n"); + const failedDetails = failedTransactions + .map( + (tx) => + `Address: ${tx.address}, Amount: ${tx.amount}, Error Code: ${ + tx.errorCode || "Unknown Error" + }` + ) + .join("\n"); + const charityTransactions = transactions.filter( + (tx) => tx.address === getCharityAddress(network) + ); + const charityDetails = charityTransactions + .map( + (tx) => + `Address: ${tx.address}, Amount: ${tx.amount}, Transaction URL: ${ + tx.transactionUrl || "N/A" + }` + ) + .join("\n"); + callback( + { + text: `Mass payouts completed successfully. +- Successful Transactions: ${successTransactions.length} +- Failed Transactions: ${failedTransactions.length} + +Details: +${successTransactions.length > 0 ? `✅ Successful Transactions:\n${successDetails}` : "No successful transactions."} +${failedTransactions.length > 0 ? `❌ Failed Transactions:\n${failedDetails}` : "No failed transactions."} +${charityTransactions.length > 0 ? `✅ Charity Transactions:\n${charityDetails}` : "No charity transactions."} + +Check the CSV file for full details.`, + }, + [] + ); + } catch (error) { + elizaLogger.error("Error during mass payouts:", error); + callback( + { text: "Failed to complete payouts. Please try again." }, + [] + ); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Distribute 0.0001 ETH on base to 0xA0ba2ACB5846A54834173fB0DD9444F756810f06 and 0xF14F2c49aa90BaFA223EE074C1C33b59891826bF", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Mass payouts completed successfully. +- Successful Transactions: {{2}} +- Failed Transactions: {{1}} + +Details: +✅ Successful Transactions: +Address: 0xABC123..., Amount: 0.005, Transaction URL: https://etherscan.io/tx/... +Address: 0xDEF456..., Amount: 0.005, Transaction URL: https://etherscan.io/tx/... + +❌ Failed Transactions: +Address: 0xGHI789..., Amount: 0.005, Error Code: Insufficient Funds + +Check the CSV file for full details.`, + action: "SEND_MASS_PAYOUT", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Airdrop 10 USDC to these community members: 0x789..., 0x101... on base network", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Mass payout completed successfully:\n- Airdropped 10 USDC to 2 addresses on base network\n- Successful Transactions: 2\n- Failed Transactions: 0\nCheck the CSV file for transaction details.", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Multi-send 0.25 ETH to team wallets: 0x222..., 0x333... on Ethereum", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Mass payout completed successfully:\n- Multi-sent 0.25 ETH to 2 addresses on Ethereum network\n- Successful Transactions: 2\n- Failed Transactions: 0\nCheck the CSV file for transaction details.", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Distribute rewards of 5 SOL each to contest winners: winner1.sol, winner2.sol on Solana", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Mass payout completed successfully:\n- Distributed 5 SOL to 2 addresses on Solana network\n- Successful Transactions: 2\n- Failed Transactions: 0\nCheck the CSV file for transaction details.", + }, + }, + ], + ], +}; + +export const coinbaseMassPaymentsPlugin: Plugin = { + name: "automatedPayments", + description: + "Processes mass payouts using Coinbase SDK and logs all transactions (success and failure) to a CSV file. Provides dynamic transaction data through a provider.", + actions: [sendMassPayoutAction], + providers: [massPayoutProvider], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/tokenContract.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/tokenContract.ts new file mode 100644 index 000000000..861f67ba2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/tokenContract.ts @@ -0,0 +1,585 @@ +import { Coinbase, readContract, SmartContract } from "@coinbase/coinbase-sdk"; +import { + Action, + Plugin, + elizaLogger, + IAgentRuntime, + Memory, + HandlerCallback, + State, + composeContext, + generateObject, + ModelClass, +} from "@elizaos/core"; +import { initializeWallet } from "../utils"; +import { + contractInvocationTemplate, + tokenContractTemplate, + readContractTemplate, +} from "../templates"; +import { + ContractInvocationSchema, + TokenContractSchema, + isContractInvocationContent, + isTokenContractContent, + ReadContractSchema, + isReadContractContent, +} from "../types"; +import path from "path"; +import { fileURLToPath } from "url"; +import { createArrayCsvWriter } from "csv-writer"; +import fs from "fs"; +import { ABI } from "../constants"; + +// Dynamically resolve the file path to the src/plugins directory +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const baseDir = path.resolve(__dirname, "../../plugin-coinbase/src/plugins"); +const contractsCsvFilePath = path.join(baseDir, "contracts.csv"); + +// Add this helper at the top level +const serializeBigInt = (value: any): any => { + if (typeof value === "bigint") { + return value.toString(); + } + if (Array.isArray(value)) { + return value.map(serializeBigInt); + } + if (typeof value === "object" && value !== null) { + return Object.fromEntries( + Object.entries(value).map(([k, v]) => [k, serializeBigInt(v)]) + ); + } + return value; +}; + +export const deployTokenContractAction: Action = { + name: "DEPLOY_TOKEN_CONTRACT", + description: + "Deploy an ERC20, ERC721, or ERC1155 token contract using the Coinbase SDK", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.info("Validating runtime for DEPLOY_TOKEN_CONTRACT..."); + return ( + !!( + runtime.character.settings.secrets?.COINBASE_API_KEY || + process.env.COINBASE_API_KEY + ) && + !!( + runtime.character.settings.secrets?.COINBASE_PRIVATE_KEY || + process.env.COINBASE_PRIVATE_KEY + ) + ); + }, + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.debug("Starting DEPLOY_TOKEN_CONTRACT handler..."); + + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + + // Ensure CSV file exists + if (!fs.existsSync(contractsCsvFilePath)) { + const csvWriter = createArrayCsvWriter({ + path: contractsCsvFilePath, + header: [ + "Contract Type", + "Name", + "Symbol", + "Network", + "Contract Address", + "Transaction URL", + "Base URI", + "Total Supply", + ], + }); + await csvWriter.writeRecords([]); + } + + const context = composeContext({ + state, + template: tokenContractTemplate, + }); + + const contractDetails = await generateObject({ + runtime, + context, + modelClass: ModelClass.SMALL, + schema: TokenContractSchema, + }); + elizaLogger.info("Contract details:", contractDetails.object); + + if (!isTokenContractContent(contractDetails.object)) { + callback( + { + text: "Invalid contract details. Please check the inputs.", + }, + [] + ); + return; + } + + const { + contractType, + name, + symbol, + network, + baseURI, + totalSupply, + } = contractDetails.object; + elizaLogger.info("Contract details:", contractDetails.object); + const wallet = await initializeWallet(runtime, network); + let contract: SmartContract; + let deploymentDetails; + + switch (contractType.toLowerCase()) { + case "erc20": + contract = await wallet.deployToken({ + name, + symbol, + totalSupply: totalSupply || 1000000, + }); + deploymentDetails = { + contractType: "ERC20", + totalSupply, + baseURI: "N/A", + }; + break; + + case "erc721": + contract = await wallet.deployNFT({ + name, + symbol, + baseURI: baseURI || "", + }); + deploymentDetails = { + contractType: "ERC721", + totalSupply: "N/A", + baseURI, + }; + break; + default: + throw new Error( + `Unsupported contract type: ${contractType}` + ); + } + + // Wait for deployment to complete + await contract.wait(); + elizaLogger.info("Deployment details:", deploymentDetails); + elizaLogger.info("Contract deployed successfully:", contract); + // Log deployment to CSV + const csvWriter = createArrayCsvWriter({ + path: contractsCsvFilePath, + header: [ + "Contract Type", + "Name", + "Symbol", + "Network", + "Contract Address", + "Transaction URL", + "Base URI", + "Total Supply", + ], + append: true, + }); + const transaction = + contract.getTransaction()?.getTransactionLink() || ""; + const contractAddress = contract.getContractAddress(); + await csvWriter.writeRecords([ + [ + deploymentDetails.contractType, + name, + symbol, + network, + contractAddress, + transaction, + deploymentDetails.baseURI, + deploymentDetails.totalSupply || "", + ], + ]); + + callback( + { + text: `Token contract deployed successfully: +- Type: ${deploymentDetails.contractType} +- Name: ${name} +- Symbol: ${symbol} +- Network: ${network} +- Contract Address: ${contractAddress} +- Transaction URL: ${transaction} +${deploymentDetails.baseURI !== "N/A" ? `- Base URI: ${deploymentDetails.baseURI}` : ""} +${deploymentDetails.totalSupply !== "N/A" ? `- Total Supply: ${deploymentDetails.totalSupply}` : ""} + +Contract deployment has been logged to the CSV file.`, + }, + [] + ); + } catch (error) { + elizaLogger.error("Error deploying token contract:", error); + callback( + { + text: "Failed to deploy token contract. Please check the logs for more details.", + }, + [] + ); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Deploy an ERC721 token named 'MyNFT' with symbol 'MNFT' on base network with URI 'https://pbs.twimg.com/profile_images/1848823420336934913/oI0-xNGe_400x400.jpg'", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Token contract deployed successfully: +- Type: ERC20 +- Name: MyToken +- Symbol: MTK +- Network: base +- Contract Address: 0x... +- Transaction URL: https://basescan.org/tx/... +- Total Supply: 1000000`, + }, + }, + { + user: "{{user1}}", + content: { + text: "Deploy an ERC721 token named 'MyNFT' with symbol 'MNFT' on the base network", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Token contract deployed successfully: +- Type: ERC721 +- Name: MyNFT +- Symbol: MNFT +- Network: base +- Contract Address: 0x... +- Transaction URL: https://basescan.org/tx/... +- URI: https://pbs.twimg.com/profile_images/1848823420336934913/oI0-xNGe_400x400.jpg`, + }, + }, + ], + ], + similes: ["DEPLOY_CONTRACT", "CREATE_TOKEN", "MINT_TOKEN", "CREATE_NFT"], +}; + +// Add to tokenContract.ts +export const invokeContractAction: Action = { + name: "INVOKE_CONTRACT", + description: + "Invoke a method on a deployed smart contract using the Coinbase SDK", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.info("Validating runtime for INVOKE_CONTRACT..."); + return ( + !!( + runtime.character.settings.secrets?.COINBASE_API_KEY || + process.env.COINBASE_API_KEY + ) && + !!( + runtime.character.settings.secrets?.COINBASE_PRIVATE_KEY || + process.env.COINBASE_PRIVATE_KEY + ) + ); + }, + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.debug("Starting INVOKE_CONTRACT handler..."); + + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + + const context = composeContext({ + state, + template: contractInvocationTemplate, + }); + + const invocationDetails = await generateObject({ + runtime, + context, + modelClass: ModelClass.LARGE, + schema: ContractInvocationSchema, + }); + elizaLogger.info("Invocation details:", invocationDetails.object); + if (!isContractInvocationContent(invocationDetails.object)) { + callback( + { + text: "Invalid contract invocation details. Please check the inputs.", + }, + [] + ); + return; + } + + const { + contractAddress, + method, + args, + amount, + assetId, + networkId, + } = invocationDetails.object; + const wallet = await initializeWallet(runtime, networkId); + + // Prepare invocation options + const invocationOptions = { + contractAddress, + method, + abi: ABI, + args: { + ...args, + amount: args.amount || amount, // Ensure amount is passed in args + }, + networkId, + assetId, + }; + elizaLogger.info("Invocation options:", invocationOptions); + // Invoke the contract + const invocation = await wallet.invokeContract(invocationOptions); + + // Wait for the transaction to be mined + await invocation.wait(); + + // Log the invocation to CSV + const csvWriter = createArrayCsvWriter({ + path: contractsCsvFilePath, + header: [ + "Contract Address", + "Method", + "Network", + "Status", + "Transaction URL", + "Amount", + "Asset ID", + ], + append: true, + }); + + await csvWriter.writeRecords([ + [ + contractAddress, + method, + networkId, + invocation.getStatus(), + invocation.getTransactionLink() || "", + amount || "", + assetId || "", + ], + ]); + + callback( + { + text: `Contract method invoked successfully: +- Contract Address: ${contractAddress} +- Method: ${method} +- Network: ${networkId} +- Status: ${invocation.getStatus()} +- Transaction URL: ${invocation.getTransactionLink() || "N/A"} +${amount ? `- Amount: ${amount}` : ""} +${assetId ? `- Asset ID: ${assetId}` : ""} + +Contract invocation has been logged to the CSV file.`, + }, + [] + ); + } catch (error) { + elizaLogger.error("Error invoking contract method:", error); + callback( + { + text: "Failed to invoke contract method. Please check the logs for more details.", + }, + [] + ); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Call the 'transfer' method on my ERC20 token contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 with amount 100 to recepient 0xbcF7C64B880FA89a015970dC104E848d485f99A3", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Contract method invoked successfully: +- Contract Address: 0x123... +- Method: transfer +- Network: base +- Status: SUCCESS +- Transaction URL: https://basescan.org/tx/... +- Amount: 100 +- Asset ID: wei + +Contract invocation has been logged to the CSV file.`, + }, + }, + ], + ], + similes: ["CALL_CONTRACT", "EXECUTE_CONTRACT", "INTERACT_WITH_CONTRACT"], +}; + +export const readContractAction: Action = { + name: "READ_CONTRACT", + description: + "Read data from a deployed smart contract using the Coinbase SDK", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.info("Validating runtime for READ_CONTRACT..."); + return ( + !!( + runtime.character.settings.secrets?.COINBASE_API_KEY || + process.env.COINBASE_API_KEY + ) && + !!( + runtime.character.settings.secrets?.COINBASE_PRIVATE_KEY || + process.env.COINBASE_PRIVATE_KEY + ) + ); + }, + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.debug("Starting READ_CONTRACT handler..."); + + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + + const context = composeContext({ + state, + template: readContractTemplate, + }); + + const readDetails = await generateObject({ + runtime, + context, + modelClass: ModelClass.SMALL, + schema: ReadContractSchema, + }); + + if (!isReadContractContent(readDetails.object)) { + callback( + { + text: "Invalid contract read details. Please check the inputs.", + }, + [] + ); + return; + } + + const { contractAddress, method, args, networkId, abi } = + readDetails.object; + elizaLogger.info("Reading contract:", { + contractAddress, + method, + args, + networkId, + abi, + }); + + const result = await readContract({ + networkId, + contractAddress, + method, + args, + abi: ABI as any, + }); + + // Serialize the result before using it + const serializedResult = serializeBigInt(result); + + elizaLogger.info("Contract read result:", serializedResult); + + callback( + { + text: `Contract read successful: +- Contract Address: ${contractAddress} +- Method: ${method} +- Network: ${networkId} +- Result: ${JSON.stringify(serializedResult, null, 2)}`, + }, + [] + ); + } catch (error) { + elizaLogger.error("Error reading contract:", error); + callback( + { + text: `Failed to read contract: ${error instanceof Error ? error.message : "Unknown error"}`, + }, + [] + ); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Read the balance of address 0xbcF7C64B880FA89a015970dC104E848d485f99A3 from the ERC20 contract at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on eth", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Contract read successful: +- Contract Address: 0x37f2131ebbc8f97717edc3456879ef56b9f4b97b +- Method: balanceOf +- Network: eth +- Result: "1000000"`, + }, + }, + ], + ], + similes: ["READ_CONTRACT", "GET_CONTRACT_DATA", "QUERY_CONTRACT"], +}; + +export const tokenContractPlugin: Plugin = { + name: "tokenContract", + description: + "Enables deployment, invocation, and reading of ERC20, ERC721, and ERC1155 token contracts using the Coinbase SDK", + actions: [ + deployTokenContractAction, + invokeContractAction, + readContractAction, + ], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/trade.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/trade.ts new file mode 100644 index 000000000..5858d70f1 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/trade.ts @@ -0,0 +1,304 @@ +import { Coinbase } from "@coinbase/coinbase-sdk"; +import { + Action, + Plugin, + elizaLogger, + IAgentRuntime, + Memory, + HandlerCallback, + State, + composeContext, + generateObject, + ModelClass, + Provider, +} from "@elizaos/core"; +import { executeTradeAndCharityTransfer, getWalletDetails } from "../utils"; +import { tradeTemplate } from "../templates"; +import { isTradeContent, TradeContent, TradeSchema } from "../types"; +import { readFile } from "fs/promises"; +import { parse } from "csv-parse/sync"; +import path from "path"; +import { fileURLToPath } from "url"; +import fs from "fs"; +import { createArrayCsvWriter } from "csv-writer"; + +// Dynamically resolve the file path to the src/plugins directory +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const baseDir = path.resolve(__dirname, "../../plugin-coinbase/src/plugins"); +const tradeCsvFilePath = path.join(baseDir, "trades.csv"); + +export const tradeProvider: Provider = { + get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting tradeProvider.get function"); + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + elizaLogger.info("Reading CSV file from:", tradeCsvFilePath); + + // Check if the file exists; if not, create it with headers + if (!fs.existsSync(tradeCsvFilePath)) { + elizaLogger.warn("CSV file not found. Creating a new one."); + const csvWriter = createArrayCsvWriter({ + path: tradeCsvFilePath, + header: [ + "Network", + "From Amount", + "Source Asset", + "To Amount", + "Target Asset", + "Status", + "Transaction URL", + ], + }); + await csvWriter.writeRecords([]); // Create an empty file with headers + elizaLogger.info("New CSV file created with headers."); + } + + // Read and parse the CSV file + const csvData = await readFile(tradeCsvFilePath, "utf-8"); + const records = parse(csvData, { + columns: true, + skip_empty_lines: true, + }); + + elizaLogger.info("Parsed CSV records:", records); + const { balances, transactions } = await getWalletDetails(runtime); + elizaLogger.info("Current Balances:", balances); + elizaLogger.info("Last Transactions:", transactions); + return { + currentTrades: records.map((record: any) => ({ + network: record["Network"] || undefined, + amount: parseFloat(record["From Amount"]) || undefined, + sourceAsset: record["Source Asset"] || undefined, + toAmount: parseFloat(record["To Amount"]) || undefined, + targetAsset: record["Target Asset"] || undefined, + status: record["Status"] || undefined, + transactionUrl: record["Transaction URL"] || "", + })), + balances, + transactions, + }; + } catch (error) { + elizaLogger.error("Error in tradeProvider:", error); + return []; + } + }, +}; + +export const executeTradeAction: Action = { + name: "EXECUTE_TRADE", + description: + "Execute a trade between two assets using the Coinbase SDK and log the result.", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.info("Validating runtime for EXECUTE_TRADE..."); + return ( + !!( + runtime.character.settings.secrets?.COINBASE_API_KEY || + process.env.COINBASE_API_KEY + ) && + !!( + runtime.character.settings.secrets?.COINBASE_PRIVATE_KEY || + process.env.COINBASE_PRIVATE_KEY + ) + ); + }, + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.debug("Starting EXECUTE_TRADE handler..."); + + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + + const context = composeContext({ + state, + template: tradeTemplate, + }); + + const tradeDetails = await generateObject({ + runtime, + context, + modelClass: ModelClass.LARGE, + schema: TradeSchema, + }); + + if (!isTradeContent(tradeDetails.object)) { + callback( + { + text: "Invalid trade details. Ensure network, amount, source asset, and target asset are correctly specified.", + }, + [] + ); + return; + } + + const { network, amount, sourceAsset, targetAsset } = + tradeDetails.object as TradeContent; + + const allowedNetworks = ["base", "sol", "eth", "arb", "pol"]; + if (!allowedNetworks.includes(network)) { + callback( + { + text: `Invalid network. Supported networks are: ${allowedNetworks.join( + ", " + )}.`, + }, + [] + ); + return; + } + + const { trade, transfer } = await executeTradeAndCharityTransfer( + runtime, + network, + amount, + sourceAsset, + targetAsset + ); + + let responseText = `Trade executed successfully: +- Network: ${network} +- Amount: ${trade.getFromAmount()} +- From: ${sourceAsset} +- To: ${targetAsset} +- Transaction URL: ${trade.getTransaction().getTransactionLink() || ""} +- Charity Transaction URL: ${transfer.getTransactionLink() || ""}`; + + if (transfer) { + responseText += `\n- Charity Amount: ${transfer.getAmount()}`; + } else { + responseText += "\n(Note: Charity transfer was not completed)"; + } + + callback({ text: responseText }, []); + } catch (error) { + elizaLogger.error("Error during trade execution:", error); + callback( + { + text: "Failed to execute the trade. Please check the logs for more details.", + }, + [] + ); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Swap 1 ETH for USDC on base network", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Trade executed successfully:\n- Swapped 1 ETH for USDC on base network\n- Transaction URL: https://basescan.io/tx/...\n- Status: Completed", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Convert 1000 USDC to SOL on Solana", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Trade executed successfully:\n- Converted 1000 USDC to SOL on Solana network\n- Transaction URL: https://solscan.io/tx/...\n- Status: Completed", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Exchange 5 WETH for ETH on Arbitrum", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Trade executed successfully:\n- Exchanged 5 WETH for ETH on Arbitrum network\n- Transaction URL: https://arbiscan.io/tx/...\n- Status: Completed", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Trade 100 GWEI for USDC on Polygon", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Trade executed successfully:\n- Traded 100 GWEI for USDC on Polygon network\n- Transaction URL: https://polygonscan.com/tx/...\n- Status: Completed", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Market buy ETH with 500 USDC on base", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Trade executed successfully:\n- Bought ETH with 500 USDC on base network\n- Transaction URL: https://basescan.io/tx/...\n- Status: Completed", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Sell 2.5 SOL for USDC on Solana mainnet", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Trade executed successfully:\n- Sold 2.5 SOL for USDC on Solana network\n- Transaction URL: https://solscan.io/tx/...\n- Status: Completed", + }, + }, + ], + ], + similes: [ + "EXECUTE_TRADE", // Primary action name + "SWAP_TOKENS", // For token swaps + "CONVERT_CURRENCY", // For currency conversion + "EXCHANGE_ASSETS", // For asset exchange + "MARKET_BUY", // For buying assets + "MARKET_SELL", // For selling assets + "TRADE_CRYPTO", // Generic crypto trading + ], +}; + +export const tradePlugin: Plugin = { + name: "tradePlugin", + description: "Enables asset trading using the Coinbase SDK.", + actions: [executeTradeAction], + providers: [tradeProvider], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/webhooks.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/webhooks.ts new file mode 100644 index 000000000..62dd40de2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/plugins/webhooks.ts @@ -0,0 +1,189 @@ +import { Coinbase, Webhook } from "@coinbase/coinbase-sdk"; +import { + Action, + Plugin, + elizaLogger, + IAgentRuntime, + Memory, + HandlerCallback, + State, + composeContext, + generateObject, + ModelClass, + Provider, +} from "@elizaos/core"; +import { WebhookSchema, isWebhookContent, WebhookContent } from "../types"; +import { webhookTemplate } from "../templates"; +import { appendWebhooksToCsv } from "../utils"; + +export const webhookProvider: Provider = { + get: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.debug("Starting webhookProvider.get function"); + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + + // List all webhooks + const resp = await Webhook.list(); + elizaLogger.info("Listing all webhooks:", resp.data); + + return { + webhooks: resp.data.map((webhook: Webhook) => ({ + id: webhook.getId(), + networkId: webhook.getNetworkId(), + eventType: webhook.getEventType(), + eventFilters: webhook.getEventFilters(), + eventTypeFilter: webhook.getEventTypeFilter(), + notificationURI: webhook.getNotificationURI(), + })), + }; + } catch (error) { + elizaLogger.error("Error in webhookProvider:", error); + return []; + } + }, +}; + +export const createWebhookAction: Action = { + name: "CREATE_WEBHOOK", + description: "Create a new webhook using the Coinbase SDK.", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.info("Validating runtime for CREATE_WEBHOOK..."); + return ( + !!( + runtime.character.settings.secrets?.COINBASE_API_KEY || + process.env.COINBASE_API_KEY + ) && + !!( + runtime.character.settings.secrets?.COINBASE_PRIVATE_KEY || + process.env.COINBASE_PRIVATE_KEY + ) && + !!( + runtime.character.settings.secrets?.COINBASE_NOTIFICATION_URI || + process.env.COINBASE_NOTIFICATION_URI + ) + ); + }, + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.debug("Starting CREATE_WEBHOOK handler..."); + + try { + Coinbase.configure({ + apiKeyName: + runtime.getSetting("COINBASE_API_KEY") ?? + process.env.COINBASE_API_KEY, + privateKey: + runtime.getSetting("COINBASE_PRIVATE_KEY") ?? + process.env.COINBASE_PRIVATE_KEY, + }); + + const context = composeContext({ + state, + template: webhookTemplate, + }); + + const webhookDetails = await generateObject({ + runtime, + context, + modelClass: ModelClass.LARGE, + schema: WebhookSchema, + }); + + if (!isWebhookContent(webhookDetails.object)) { + callback( + { + text: "Invalid webhook details. Ensure network, URL, event type, and contract address are correctly specified.", + }, + [] + ); + return; + } + + const { networkId, eventType, eventFilters, eventTypeFilter } = + webhookDetails.object as WebhookContent; + const notificationUri = + runtime.getSetting("COINBASE_NOTIFICATION_URI") ?? + process.env.COINBASE_NOTIFICATION_URI; + + if (!notificationUri) { + callback( + { + text: "Notification URI is not set in the environment variables.", + }, + [] + ); + return; + } + elizaLogger.info("Creating webhook with details:", { + networkId, + notificationUri, + eventType, + eventTypeFilter, + eventFilters, + }); + const webhook = await Webhook.create({ + networkId, + notificationUri, + eventType, + eventFilters, + }); + elizaLogger.info( + "Webhook created successfully:", + webhook.toString() + ); + callback( + { + text: `Webhook created successfully: ${webhook.toString()}`, + }, + [] + ); + await appendWebhooksToCsv([webhook]); + elizaLogger.info("Webhook appended to CSV successfully"); + } catch (error) { + elizaLogger.error("Error during webhook creation:", error); + callback( + { + text: "Failed to create the webhook. Please check the logs for more details.", + }, + [] + ); + } + }, + similes: ["WEBHOOK", "NOTIFICATION", "EVENT", "TRIGGER", "LISTENER"], + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Create a webhook on base for address 0xbcF7C64B880FA89a015970dC104E848d485f99A3 on the event type: transfers", + }, + }, + { + user: "{{agentName}}", + content: { + text: `Webhook created successfully: Webhook ID: {{webhookId}}, Network ID: {{networkId}}, Notification URI: {{notificationUri}}, Event Type: {{eventType}}`, + action: "CREATE_WEBHOOK", + }, + }, + ], + ], +}; + +export const webhookPlugin: Plugin = { + name: "webhookPlugin", + description: "Manages webhooks using the Coinbase SDK.", + actions: [createWebhookAction], + providers: [webhookProvider], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/templates.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/templates.ts new file mode 100644 index 000000000..7dbf26d1f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/templates.ts @@ -0,0 +1,388 @@ +export const chargeTemplate = ` +Extract the following details to create a Coinbase charge: +- **price** (number): The amount for the charge (e.g., 100.00). +- **currency** (string): The 3-letter ISO 4217 currency code (e.g., USD, EUR). +- **type** (string): The pricing type for the charge (e.g., fixed_price, dynamic_price). Assume price type is fixed unless otherwise stated +- **name** (string): A non-empty name for the charge (e.g., "The Human Fund"). +- **description** (string): A non-empty description of the charge (e.g., "Money For People"). + +Provide the values in the following JSON format: + +\`\`\`json +{ + "price": , + "currency": "", + "type": "", + "name": "", + "description": "" +} +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; + +export const getChargeTemplate = ` +Extract the details for a Coinbase charge using the provided charge ID: +- **charge_id** (string): The unique identifier of the charge (e.g., "2b364ef7-ad60-4fcd-958b-e550a3c47dc6"). + +Provide the charge details in the following JSON format after retrieving the charge details: + +\`\`\`json +{ + "charge_id": "", + "price": , + "currency": "", + "type": "", + "name": "", + "description": "", + "status": "", + "created_at": "", + "expires_at": "" +} +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; + +export const transferTemplate = ` +Extract the following details for processing a mass payout using the Coinbase SDK: +- **receivingAddresses** (array): A list of wallet addresses receiving the funds. +- **transferAmount** (number): The amount to transfer to each address. +- **assetId** (string): The asset ID to transfer (e.g., ETH, BTC). +- **network** (string): The blockchain network to use. Allowed values are: + static networks: { + readonly BaseSepolia: "base-sepolia"; + readonly BaseMainnet: "base-mainnet"; + readonly EthereumHolesky: "ethereum-holesky"; + readonly EthereumMainnet: "ethereum-mainnet"; + readonly PolygonMainnet: "polygon-mainnet"; + readonly SolanaDevnet: "solana-devnet"; + readonly SolanaMainnet: "solana-mainnet"; + readonly ArbitrumMainnet: "arbitrum-mainnet"; + }; + +Provide the details in the following JSON format: + +\`\`\`json +{ + "receivingAddresses": ["", ""], + "transferAmount": , + "assetId": "", + "network": "" +} +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; + +export const tradeTemplate = ` +Extract the following details for processing a trade using the Coinbase SDK: +- **network** (string): The blockchain network to use (e.g., base, sol, eth, arb, pol). +- **amount** (number): The amount to trade. +- **sourceAsset** (string): The asset ID to trade from (must be one of: ETH, SOL, USDC, WETH, GWEI, LAMPORT). +- **targetAsset** (string): The asset ID to trade to (must be one of: ETH, SOL, USDC, WETH, GWEI, LAMPORT). +- **side** (string): The side of the trade (must be either "BUY" or "SELL"). + +Ensure that: +1. **network** is one of the supported networks: "base", "sol", "eth", "arb", or "pol". +2. **sourceAsset** and **targetAsset** are valid assets from the provided list. +3. **amount** is a positive number. +4. **side** is either "BUY" or "SELL". + +Provide the details in the following JSON format: + +\`\`\`json +{ + "network": "", + "amount": , + "sourceAsset": "", + "targetAsset": "", + "side": "" +} +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; + +export const advancedTradeTemplate = ` +Extract the following details for processing an advanced trade using the Coinbase Advanced Trading API: +- **productId** (string): The trading pair ID (e.g., "BTC-USD", "ETH-USD", "SOL-USD") +- **side** (string): The side of the trade (must be either "BUY" or "SELL") +- **amount** (number): The amount to trade +- **orderType** (string): The type of order (must be either "MARKET" or "LIMIT") +- **limitPrice** (number, optional): The limit price for limit orders + +Ensure that: +1. **productId** follows the format "ASSET-USD" (e.g., "BTC-USD") +2. **side** is either "BUY" or "SELL" +3. **amount** is a positive number +4. **orderType** is either "MARKET" or "LIMIT" +5. **limitPrice** is provided when orderType is "LIMIT" + +Provide the details in the following JSON format: + +\`\`\`json +{ + "productId": "", + "side": "", + "amount": , + "orderType": "", + "limitPrice": +} +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; + + +export const tokenContractTemplate = ` +Extract the following details for deploying a token contract using the Coinbase SDK: +- **contractType** (string): The type of token contract to deploy (ERC20, ERC721, or ERC1155) +- **name** (string): The name of the token +- **symbol** (string): The symbol of the token +- **network** (string): The blockchain network to deploy on (e.g., base, eth, arb, pol) +- **baseURI** (string, optional): The base URI for token metadata (required for ERC721 and ERC1155) +- **totalSupply** (number, optional): The total supply of tokens (only for ERC20) + +Provide the details in the following JSON format: + +\`\`\`json +{ + "contractType": "", + "name": "", + "symbol": "", + "network": "", + "baseURI": "", + "totalSupply": +} +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; + +// Add to templates.ts +export const contractInvocationTemplate = ` +Extract the following details for invoking a smart contract using the Coinbase SDK: +- **contractAddress** (string): The address of the contract to invoke +- **method** (string): The method to invoke on the contract +- **abi** (array): The ABI of the contract +- **args** (object, optional): The arguments to pass to the contract method +- **amount** (string, optional): The amount of the asset to send (as string to handle large numbers) +- **assetId** (string, required): The ID of the asset to send (e.g., 'USDC') +- **networkId** (string, required): The network ID to use in format "chain-network". + static networks: { + readonly BaseSepolia: "base-sepolia"; + readonly BaseMainnet: "base-mainnet"; + readonly EthereumHolesky: "ethereum-holesky"; + readonly EthereumMainnet: "ethereum-mainnet"; + readonly PolygonMainnet: "polygon-mainnet"; + readonly SolanaDevnet: "solana-devnet"; + readonly SolanaMainnet: "solana-mainnet"; + readonly ArbitrumMainnet: "arbitrum-mainnet"; + }; + +Provide the details in the following JSON format: + +\`\`\`json +{ + "contractAddress": "", + "method": "", + "abi": [], + "args": { + "": "" + }, + "amount": "", + "assetId": "", + "networkId": "" +} +\`\`\` + +Example for invoking a transfer method on the USDC contract: + +\`\`\`json +{ + "contractAddress": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "method": "transfer", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "to", + "type": "address" + }, + { + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "args": { + "to": "0xbcF7C64B880FA89a015970dC104E848d485f99A3", + "amount": "1000000" // 1 USDC (6 decimals) + }, + "networkId": "ethereum-mainnet", + "assetId": "USDC" +} +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; + +export const webhookTemplate = ` +Extract the following details for creating a webhook: +- **networkId** (string): The network ID for which the webhook is created. +Allowed values are: + static networks: { + readonly BaseSepolia: "base-sepolia"; + readonly BaseMainnet: "base-mainnet"; + readonly EthereumHolesky: "ethereum-holesky"; + readonly EthereumMainnet: "ethereum-mainnet"; + readonly PolygonMainnet: "polygon-mainnet"; + readonly SolanaDevnet: "solana-devnet"; + readonly SolanaMainnet: "solana-mainnet"; + readonly ArbitrumMainnet: "arbitrum-mainnet"; + }; +- **eventType** (string): The type of event for the webhook. +export declare const WebhookEventType: { + readonly Unspecified: "unspecified"; + readonly Erc20Transfer: "erc20_transfer"; + readonly Erc721Transfer: "erc721_transfer"; + readonly WalletActivity: "wallet_activity"; +}; +- **eventTypeFilter** (string, optional): Filter for wallet activity event type. +export interface WebhookEventTypeFilter { + /** + * A list of wallet addresses to filter on. + * @type {Array} + * @memberof WebhookWalletActivityFilter + */ + 'addresses'?: Array; + /** + * The ID of the wallet that owns the webhook. + * @type {string} + * @memberof WebhookWalletActivityFilter + */ + 'wallet_id'?: string; +} +- **eventFilters** (array, optional): Filters applied to the events that determine which specific events trigger the webhook. +export interface Array { + /** + * The onchain contract address of the token for which the events should be tracked. + * @type {string} + * @memberof WebhookEventFilter + */ + 'contract_address'?: string; + /** + * The onchain address of the sender. Set this filter to track all transfer events originating from your address. + * @type {string} + * @memberof WebhookEventFilter + */ + 'from_address'?: string; + /** + * The onchain address of the receiver. Set this filter to track all transfer events sent to your address. + * @type {string} + * @memberof WebhookEventFilter + */ + 'to_address'?: string; +} +Provide the details in the following JSON format: +\`\`\`json +{ + "networkId": "", + "eventType": "", + "eventTypeFilter": "", + "eventFilters": [, ] +} +\`\`\` + + + +Example for creating a webhook on the Sepolia testnet for ERC20 transfers originating from a specific wallet 0x1234567890123456789012345678901234567890 on transfers from 0xbcF7C64B880FA89a015970dC104E848d485f99A3 + +\`\`\`javascript + + networkId: 'base-sepolia', // Listening on sepolia testnet transactions + eventType: 'erc20_transfer', + eventTypeFilter: { + addresses: ['0x1234567890123456789012345678901234567890'] + }, + eventFilters: [{ + from_address: '0xbcF7C64B880FA89a015970dC104E848d485f99A3', + }], +}); +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; + +export const readContractTemplate = ` +Extract the following details for reading from a smart contract using the Coinbase SDK: +- **contractAddress** (string): The address of the contract to read from (must start with 0x) +- **method** (string): The view/pure method to call on the contract +- **networkId** (string): The network ID based on networks configured in Coinbase SDK +Allowed values are: + static networks: { + readonly BaseSepolia: "base-sepolia"; + readonly BaseMainnet: "base-mainnet"; + readonly EthereumHolesky: "ethereum-holesky"; + readonly EthereumMainnet: "ethereum-mainnet"; + readonly PolygonMainnet: "polygon-mainnet"; + readonly SolanaDevnet: "solana-devnet"; + readonly SolanaMainnet: "solana-mainnet"; + readonly ArbitrumMainnet: "arbitrum-mainnet"; + }; +- **args** (object): The arguments to pass to the contract method +- **abi** (array, optional): The contract ABI if needed for complex interactions + +Provide the details in the following JSON format: + +\`\`\`json +{ + "contractAddress": "<0x-prefixed-address>", + "method": "", + "networkId": "", + "args": { + "": "" + }, + "abi": [ + // Optional ABI array + ] +} +\`\`\` + +Example for reading the balance of an ERC20 token: + +\`\`\`json +{ + "contractAddress": "0x37f2131ebbc8f97717edc3456879ef56b9f4b97b", + "method": "balanceOf", + "networkId": "eth-mainnet", + "args": { + "account": "0xbcF7C64B880FA89a015970dC104E848d485f99A3" + } +} +\`\`\` + +Here are the recent user messages for context: +{{recentMessages}} +`; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/types.ts new file mode 100644 index 000000000..5644fa904 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/types.ts @@ -0,0 +1,198 @@ +import { Coinbase } from "@coinbase/coinbase-sdk"; +import { z } from "zod"; +import { WebhookEventType, WebhookEventFilter, WebhookEventTypeFilter } from "@coinbase/coinbase-sdk/dist/client"; + +export const ChargeSchema = z.object({ + id: z.string().nullable(), + price: z.number(), + type: z.string(), + currency: z.string().min(3).max(3), + name: z.string().min(1), + description: z.string().min(1), +}); + +export interface ChargeContent { + id: string | null; + price: number; + type: string; + currency: string; // Currency code (e.g., USD) + name: string; // Name of the charge + description: string; // Description of the charge +} + +export const isChargeContent = (object: any): object is ChargeContent => { + if (ChargeSchema.safeParse(object).success) { + return true; + } + console.error("Invalid content: ", object); + return false; +}; + +export const TransferSchema = z.object({ + network: z.string().toLowerCase(), + receivingAddresses: z.array(z.string()), + transferAmount: z.number(), + assetId: z.string().toLowerCase(), +}); + +export interface TransferContent { + network: string; + receivingAddresses: string[]; + transferAmount: number; + assetId: string; +} + +export const isTransferContent = (object: any): object is TransferContent => { + return TransferSchema.safeParse(object).success; +}; + +export type Transaction = { + address: string; + amount: number; + status: string; + errorCode: string | null; + transactionUrl: string | null; +}; +const assetValues = Object.values(Coinbase.assets) as [string, ...string[]]; +export const TradeSchema = z.object({ + network: z.string().toLowerCase(), + amount: z.number(), + sourceAsset: z.enum(assetValues), + targetAsset: z.enum(assetValues), + side: z.enum(["BUY", "SELL"]), +}); + +export interface TradeContent { + network: string; + amount: number; + sourceAsset: string; + targetAsset: string; + side: "BUY" | "SELL"; + +} + +export const isTradeContent = (object: any): object is TradeContent => { + return TradeSchema.safeParse(object).success; +}; + +export type TradeTransaction = { + network: string; + amount: number; + sourceAsset: string; + targetAsset: string; + status: string; + errorCode: string | null; + transactionUrl: string | null; +}; + +export interface TokenContractContent { + contractType: "ERC20" | "ERC721" | "ERC1155"; + name: string; + symbol: string; + network: string; + baseURI?: string; + totalSupply?: number; +} + +export const TokenContractSchema = z.object({ + contractType: z.enum(["ERC20", "ERC721", "ERC1155"]).describe("The type of token contract to deploy"), + name: z.string().describe("The name of the token"), + symbol: z.string().describe("The symbol of the token"), + network: z.string().describe("The blockchain network to deploy on"), + baseURI: z.string().optional().describe("The base URI for token metadata (required for ERC721 and ERC1155)"), + totalSupply: z.number().optional().describe("The total supply of tokens (only for ERC20)"), +}).refine(data => { + if (data.contractType === "ERC20") { + return typeof data.totalSupply === "number" || data.totalSupply === undefined; + } + if (["ERC721", "ERC1155"].includes(data.contractType)) { + return typeof data.baseURI === "string" || data.baseURI === undefined; + } + return true; +}, { + message: "Invalid token contract content", + path: ["contractType"], +}); + +export const isTokenContractContent = (obj: any): obj is TokenContractContent => { + return TokenContractSchema.safeParse(obj).success; +}; + +// Add to types.ts +export interface ContractInvocationContent { + contractAddress: string; + method: string; + abi: any[]; + args?: Record; + amount?: string; + assetId: string; + networkId: string; +} + +export const ContractInvocationSchema = z.object({ + contractAddress: z.string().describe("The address of the contract to invoke"), + method: z.string().describe("The method to invoke on the contract"), + abi: z.array(z.any()).describe("The ABI of the contract"), + args: z.record(z.string(), z.any()).optional().describe("The arguments to pass to the contract method"), + amount: z.string().optional().describe("The amount of the asset to send (as string to handle large numbers)"), + assetId: z.string().describe("The ID of the asset to send (e.g., 'USDC')"), + networkId: z.string().describe("The network ID to use (e.g., 'ethereum-mainnet')") +}); + +export const isContractInvocationContent = (obj: any): obj is ContractInvocationContent => { + return ContractInvocationSchema.safeParse(obj).success; +}; + + +export const WebhookSchema = z.object({ + networkId: z.string(), + eventType: z.nativeEnum(WebhookEventType), + eventTypeFilter:z.custom().optional(), + eventFilters: z.array(z.custom()).optional() +}); + +export type WebhookContent = z.infer; + +export const isWebhookContent = (object: any): object is WebhookContent => { + return WebhookSchema.safeParse(object).success; +}; + +export const AdvancedTradeSchema = z.object({ + productId: z.string(), + side: z.enum(["BUY", "SELL"]), + amount: z.number(), + orderType: z.enum(["MARKET", "LIMIT"]), + limitPrice: z.number().optional(), +}); + +export interface AdvancedTradeContent { + productId: string; + side: "BUY" | "SELL"; + amount: number; + orderType: "MARKET" | "LIMIT"; + limitPrice?: number; +} + +export const isAdvancedTradeContent = (object: any): object is AdvancedTradeContent => { + return AdvancedTradeSchema.safeParse(object).success; +}; + +export interface ReadContractContent { + contractAddress: `0x${string}`; + method: string; + networkId: string; + args: Record; + abi?: any[]; +} + +export const ReadContractSchema = z.object({ + contractAddress: z.string().describe("The address of the contract to read from"), + method: z.string().describe("The view/pure method to call on the contract"), + networkId: z.string().describe("The network ID to use"), + args: z.record(z.string(), z.any()).describe("The arguments to pass to the contract method"), + abi: z.array(z.any()).optional().describe("The contract ABI (optional)") +}); + +export const isReadContractContent = (obj: any): obj is ReadContractContent => { + return ReadContractSchema.safeParse(obj).success; +}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/utils.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/utils.ts new file mode 100644 index 000000000..a3f05334f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/src/utils.ts @@ -0,0 +1,535 @@ +import { + Coinbase, + Trade, + Transfer, + Wallet, + WalletData, + Webhook, +} from "@coinbase/coinbase-sdk"; +import { elizaLogger, IAgentRuntime, settings } from "@elizaos/core"; +import fs from "fs"; +import path from "path"; +import { EthereumTransaction } from "@coinbase/coinbase-sdk/dist/client"; +import { fileURLToPath } from "url"; +import { createArrayCsvWriter } from "csv-writer"; +import { Transaction } from "./types"; + +// Dynamically resolve the file path to the src/plugins directory +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const baseDir = path.resolve(__dirname, "../../plugin-coinbase/src/plugins"); +const tradeCsvFilePath = path.join(baseDir, "trades.csv"); +const transactionCsvFilePath = path.join(baseDir, "transactions.csv"); +const webhookCsvFilePath = path.join(baseDir, "webhooks.csv"); + +export async function initializeWallet( + runtime: IAgentRuntime, + networkId: string = Coinbase.networks.EthereumMainnet +) { + let wallet: Wallet; + const storedSeed = + runtime.getSetting("COINBASE_GENERATED_WALLET_HEX_SEED") ?? + process.env.COINBASE_GENERATED_WALLET_HEX_SEED; + + const storedWalletId = + runtime.getSetting("COINBASE_GENERATED_WALLET_ID") ?? + process.env.COINBASE_GENERATED_WALLET_ID; + if (!storedSeed || !storedWalletId) { + // No stored seed or wallet ID, creating a new wallet + wallet = await Wallet.create({ networkId }); + + // Export wallet data directly + const walletData: WalletData = wallet.export(); + const walletAddress = await wallet.getDefaultAddress(); + try { + const characterFilePath = `characters/${runtime.character.name.toLowerCase()}.character.json`; + const walletIDSave = await updateCharacterSecrets( + characterFilePath, + "COINBASE_GENERATED_WALLET_ID", + walletData.walletId + ); + const seedSave = await updateCharacterSecrets( + characterFilePath, + "COINBASE_GENERATED_WALLET_HEX_SEED", + walletData.seed + ); + if (walletIDSave && seedSave) { + elizaLogger.log("Successfully updated character secrets."); + } else { + const seedFilePath = `characters/${runtime.character.name.toLowerCase()}-seed.txt`; + elizaLogger.error( + `Failed to update character secrets so adding gitignored ${seedFilePath} file please add it your env or character file and delete:` + ); + // save it to gitignored file + wallet.saveSeed(seedFilePath); + } + elizaLogger.log( + "Wallet created and stored new wallet:", + walletAddress + ); + } catch (error) { + elizaLogger.error("Error updating character secrets:", error); + throw error; + } + + // Logging wallet creation + elizaLogger.log("Created and stored new wallet:", walletAddress); + } else { + // Importing existing wallet using stored seed and wallet ID + // Always defaults to base-mainnet we can't select the network here + wallet = await Wallet.import({ + seed: storedSeed, + walletId: storedWalletId, + }); + const networkId = wallet.getNetworkId(); + elizaLogger.log("Imported existing wallet for network:", networkId); + + // Logging wallet import + elizaLogger.log( + "Imported existing wallet:", + await wallet.getDefaultAddress() + ); + } + + return wallet; +} + +/** + * Executes a trade and a charity transfer. + * @param {IAgentRuntime} runtime - The runtime for wallet initialization. + * @param {string} network - The network to use. + * @param {number} amount - The amount to trade and transfer. + * @param {string} sourceAsset - The source asset to trade. + * @param {string} targetAsset - The target asset to trade. + */ +export async function executeTradeAndCharityTransfer( + runtime: IAgentRuntime, + network: string, + amount: number, + sourceAsset: string, + targetAsset: string +) { + const wallet = await initializeWallet(runtime, network); + + elizaLogger.log("Wallet initialized:", { + network, + address: await wallet.getDefaultAddress(), + }); + + const charityAddress = getCharityAddress(network); + const charityAmount = charityAddress ? amount * 0.01 : 0; + const tradeAmount = charityAddress ? amount - charityAmount : amount; + const assetIdLowercase = sourceAsset.toLowerCase(); + const tradeParams = { + amount: tradeAmount, + fromAssetId: assetIdLowercase, + toAssetId: targetAsset.toLowerCase(), + }; + + let transfer: Transfer; + if (charityAddress && charityAmount > 0) { + transfer = await executeTransfer( + wallet, + charityAmount, + assetIdLowercase, + charityAddress + ); + elizaLogger.log("Charity Transfer successful:", { + address: charityAddress, + transactionUrl: transfer.getTransactionLink(), + }); + await appendTransactionsToCsv([ + { + address: charityAddress, + amount: charityAmount, + status: "Success", + errorCode: null, + transactionUrl: transfer.getTransactionLink(), + }, + ]); + } + + const trade: Trade = await wallet.createTrade(tradeParams); + elizaLogger.log("Trade initiated:", trade.toString()); + await trade.wait(); + elizaLogger.log("Trade completed successfully:", trade.toString()); + await appendTradeToCsv(trade); + return { + trade, + transfer, + }; +} + +export async function appendTradeToCsv(trade: Trade) { + try { + const csvWriter = createArrayCsvWriter({ + path: tradeCsvFilePath, + header: [ + "Network", + "From Amount", + "Source Asset", + "To Amount", + "Target Asset", + "Status", + "Transaction URL", + ], + append: true, + }); + + const formattedTrade = [ + trade.getNetworkId(), + trade.getFromAmount(), + trade.getFromAssetId(), + trade.getToAmount(), + trade.getToAssetId(), + trade.getStatus(), + trade.getTransaction().getTransactionLink() || "", + ]; + + elizaLogger.log("Writing trade to CSV:", formattedTrade); + await csvWriter.writeRecords([formattedTrade]); + elizaLogger.log("Trade written to CSV successfully."); + } catch (error) { + elizaLogger.error("Error writing trade to CSV:", error); + } +} + +export async function appendTransactionsToCsv(transactions: Transaction[]) { + try { + const csvWriter = createArrayCsvWriter({ + path: transactionCsvFilePath, + header: [ + "Address", + "Amount", + "Status", + "Error Code", + "Transaction URL", + ], + append: true, + }); + + const formattedTransactions = transactions.map((transaction) => [ + transaction.address, + transaction.amount.toString(), + transaction.status, + transaction.errorCode || "", + transaction.transactionUrl || "", + ]); + + elizaLogger.log("Writing transactions to CSV:", formattedTransactions); + await csvWriter.writeRecords(formattedTransactions); + elizaLogger.log("All transactions written to CSV successfully."); + } catch (error) { + elizaLogger.error("Error writing transactions to CSV:", error); + } +} +// create a function to append webhooks to a csv +export async function appendWebhooksToCsv(webhooks: Webhook[]) { + try { + // Ensure the CSV file exists + if (!fs.existsSync(webhookCsvFilePath)) { + elizaLogger.warn("CSV file not found. Creating a new one."); + const csvWriter = createArrayCsvWriter({ + path: webhookCsvFilePath, + header: [ + "Webhook ID", + "Network ID", + "Event Type", + "Event Filters", + "Event Type Filter", + "Notification URI", + ], + }); + await csvWriter.writeRecords([]); // Create an empty file with headers + elizaLogger.log("New CSV file created with headers."); + } + const csvWriter = createArrayCsvWriter({ + path: webhookCsvFilePath, + header: [ + "Webhook ID", + "Network ID", + "Event Type", + "Event Filters", + "Event Type Filter", + "Notification URI", + ], + append: true, + }); + + const formattedWebhooks = webhooks.map((webhook) => [ + webhook.getId(), + webhook.getNetworkId(), + webhook.getEventType(), + JSON.stringify(webhook.getEventFilters()), + JSON.stringify(webhook.getEventTypeFilter()), + webhook.getNotificationURI(), + ]); + + elizaLogger.log("Writing webhooks to CSV:", formattedWebhooks); + await csvWriter.writeRecords(formattedWebhooks); + elizaLogger.log("All webhooks written to CSV successfully."); + } catch (error) { + elizaLogger.error("Error writing webhooks to CSV:", error); + } +} + +/** + * Updates a key-value pair in character.settings.secrets. + * @param {string} characterfilePath - The file path to the character. + * @param {string} key - The secret key to update or add. + * @param {string} value - The new value for the secret key. + */ +export async function updateCharacterSecrets( + characterfilePath: string, + key: string, + value: string +): Promise { + try { + const characterFilePath = path.resolve( + process.cwd(), + characterfilePath + ); + + // Check if the character file exists + if (!fs.existsSync(characterFilePath)) { + elizaLogger.error("Character file not found:", characterFilePath); + return false; + } + + // Read the existing character file + const characterData = JSON.parse( + fs.readFileSync(characterFilePath, "utf-8") + ); + + // Ensure settings and secrets exist in the character file + if (!characterData.settings) { + characterData.settings = {}; + } + if (!characterData.settings.secrets) { + characterData.settings.secrets = {}; + } + + // Update or add the key-value pair + characterData.settings.secrets[key] = value; + + // Write the updated data back to the file + fs.writeFileSync( + characterFilePath, + JSON.stringify(characterData, null, 2), + "utf-8" + ); + + console.log( + `Updated ${key} in character.settings.secrets for ${characterFilePath}.` + ); + } catch (error) { + elizaLogger.error("Error updating character secrets:", error); + return false; + } + return true; +} + +export const getAssetType = (transaction: EthereumTransaction) => { + // Check for ETH + if (transaction.value && transaction.value !== "0") { + return "ETH"; + } + + // Check for ERC-20 tokens + if (transaction.token_transfers && transaction.token_transfers.length > 0) { + return transaction.token_transfers + .map((transfer) => { + return transfer.token_id; + }) + .join(", "); + } + + return "N/A"; +}; + +/** + * Fetches and formats wallet balances and recent transactions. + * + * @param {IAgentRuntime} runtime - The runtime for wallet initialization. + * @param {string} networkId - The network ID (optional, defaults to ETH mainnet). + * @returns {Promise<{balances: Array<{asset: string, amount: string}>, transactions: Array}>} - An object with formatted balances and transactions. + */ +export async function getWalletDetails( + runtime: IAgentRuntime, + networkId: string = Coinbase.networks.EthereumMainnet +): Promise<{ + balances: Array<{ asset: string; amount: string }>; + transactions: Array<{ + timestamp: string; + amount: string; + asset: string; // Ensure getAssetType is implemented + status: string; + transactionUrl: string; + }>; +}> { + try { + // Initialize the wallet, defaulting to the specified network or ETH mainnet + const wallet = await initializeWallet(runtime, networkId); + + // Fetch balances + const balances = await wallet.listBalances(); + const formattedBalances = Array.from(balances, (balance) => ({ + asset: balance[0], + amount: balance[1].toString(), + })); + + // Fetch the wallet's recent transactions + + const transactionsData = []; + const formattedTransactions = transactionsData.map((transaction) => { + const content = transaction.content(); + return { + timestamp: content.block_timestamp || "N/A", + amount: content.value || "N/A", + asset: getAssetType(content) || "N/A", // Ensure getAssetType is implemented + status: transaction.getStatus(), + transactionUrl: transaction.getTransactionLink() || "N/A", + }; + }); + + // Return formatted data + return { + balances: formattedBalances, + transactions: formattedTransactions, + }; + } catch (error) { + console.error("Error fetching wallet details:", error); + throw new Error("Unable to retrieve wallet details."); + } +} + +/** + * Executes a transfer. + * @param {Wallet} wallet - The wallet to use. + * @param {number} amount - The amount to transfer. + * @param {string} sourceAsset - The source asset to transfer. + * @param {string} targetAddress - The target address to transfer to. + */ +export async function executeTransferAndCharityTransfer( + wallet: Wallet, + amount: number, + sourceAsset: string, + targetAddress: string, + network: string +) { + const charityAddress = getCharityAddress(network); + const charityAmount = charityAddress ? amount * 0.01 : 0; + const transferAmount = charityAddress ? amount - charityAmount : amount; + const assetIdLowercase = sourceAsset.toLowerCase(); + + let charityTransfer: Transfer; + if (charityAddress && charityAmount > 0) { + charityTransfer = await executeTransfer( + wallet, + charityAmount, + assetIdLowercase, + charityAddress + ); + elizaLogger.log( + "Charity Transfer successful:", + charityTransfer.toString() + ); + } + + const transferDetails = { + amount: transferAmount, + assetId: assetIdLowercase, + destination: targetAddress, + gasless: assetIdLowercase === "usdc" ? true : false, + }; + elizaLogger.log("Initiating transfer:", transferDetails); + const transfer = await wallet.createTransfer(transferDetails); + elizaLogger.log("Transfer initiated:", transfer.toString()); + await transfer.wait(); + + let responseText = `Transfer executed successfully: +- Amount: ${transfer.getAmount()} +- Asset: ${assetIdLowercase} +- Destination: ${targetAddress} +- Transaction URL: ${transfer.getTransactionLink() || ""}`; + + if (charityTransfer) { + responseText += ` +- Charity Amount: ${charityTransfer.getAmount()} +- Charity Transaction URL: ${charityTransfer.getTransactionLink() || ""}`; + } else { + responseText += "\n(Note: Charity transfer was not completed)"; + } + + elizaLogger.log(responseText); + + return { + transfer, + charityTransfer, + responseText, + }; +} + +/** + * Executes a transfer. + * @param {Wallet} wallet - The wallet to use. + * @param {number} amount - The amount to transfer. + * @param {string} sourceAsset - The source asset to transfer. + * @param {string} targetAddress - The target address to transfer to. + */ +export async function executeTransfer( + wallet: Wallet, + amount: number, + sourceAsset: string, + targetAddress: string +) { + const assetIdLowercase = sourceAsset.toLowerCase(); + const transferDetails = { + amount, + assetId: assetIdLowercase, + destination: targetAddress, + gasless: assetIdLowercase === "usdc" ? true : false, + }; + elizaLogger.log("Initiating transfer:", transferDetails); + let transfer: Transfer | undefined; + try { + transfer = await wallet.createTransfer(transferDetails); + elizaLogger.log("Transfer initiated:", transfer.toString()); + await transfer.wait({ + intervalSeconds: 1, + timeoutSeconds: 20, + }); + } catch (error) { + elizaLogger.error("Error executing transfer:", error); + } + return transfer; +} + +/** + * Gets the charity address based on the network. + * @param {string} network - The network to use. + * @param {boolean} isCharitable - Whether charity donations are enabled + * @throws {Error} If charity address for the network is not configured when charity is enabled + */ +export function getCharityAddress( + network: string, + isCharitable: boolean = false +): string | null { + // Check both environment variable and passed parameter + const isCharityEnabled = + process.env.IS_CHARITABLE === "true" && isCharitable; + + if (!isCharityEnabled) { + return null; + } + const networkKey = `CHARITY_ADDRESS_${network.toUpperCase()}`; + const charityAddress = settings[networkKey]; + + if (!charityAddress) { + throw new Error( + `Charity address not configured for network ${network}. Please set ${networkKey} in your environment variables.` + ); + } + + return charityAddress; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/tsconfig.json new file mode 100644 index 000000000..4751d6174 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": ".", + "rootDirs": [ + "src", + "advanced-sdk-ts" + ], + "types": [ + "node" + ] + }, + "include": [ + "src/**/*.ts", + "advanced-sdk-ts/src/**/*.ts", + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/tsup.config.ts new file mode 100644 index 000000000..42a69c634 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/tsup.config.ts @@ -0,0 +1,48 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["cjs", "esm"], + dts: true, + splitting: false, + bundle: true, + minify: false, + external: [ + "@coinbase/coinbase-sdk", + "form-data", + "combined-stream", + "axios", + "util", + "stream", + "http", + "https", + "events", + "crypto", + "buffer", + "url", + "zlib", + "querystring", + "os", + "@reflink/reflink", + "@node-llama-cpp", + "agentkeepalive", + "fs/promises", + "csv-writer", + "csv-parse/sync", + "dotenv", + "coinbase-advanced-sdk", + "advanced-sdk-ts", + "jsonwebtoken", + "whatwg-url" + ], + platform: 'node', + target: 'node18', + esbuildOptions(options) { + options.bundle = true; + options.platform = 'node'; + options.target = 'node18'; + } +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/README.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/README.md new file mode 100644 index 000000000..6dca2160d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/README.md @@ -0,0 +1,46 @@ +# GOAT Plugin +[GOAT](https://ohmygoat.dev/) 🐐 (Great Onchain Agent Toolkit) is an open-source framework for adding blockchain tools such as wallets, being able to hold or trade tokens, or interacting with blockchain smart contracts, to your AI agent. + +This plugin integrates GOAT with Eliza, giving your agent the ability to interact with many different protocols. The current setup adds onchain capabilities to your agent to send and check balances of ETH and USDC. Add all the capabilities you need by adding more plugins (read below for more information)! + +## Configure GOAT for your use case +1. Configure the chain you want to use by updating the `wallet.ts` file (see all available chains at [https://ohmygoat.dev/chains](https://ohmygoat.dev/chains)) +2. Add the plugins you need to your `getOnChainActions` function (uniswap, polymarket, etc. see all available plugins at [https://ohmygoat.dev/chains-wallets-plugins](https://ohmygoat.dev/chains-wallets-plugins)) +3. Build the project running `pnpm build` +4. Add the necessary environment variables to set up your wallet and plugins +5. Run your agent! + +## Common Issues +1. **Agent not executing an action**: + - If you are also using the EVM Plugin, sometimes the agent might confuse the action name with an EVM Plugin action name instead of the GOAT Plugin action. Removing the EVM Plugin should fix this issue. There is no need for you to use both plugins at the same time. + - If you are using Trump as a character it might be tricky to get them to perform any action since the character is full of prompts that aim to change the topic of the conversation. To fix this try using a different character or create your own with prompts that are more suitable to what the agent is supposed to do. + +## Plugins +GOAT itself has several plugins for interacting with different protocols such as Polymarket, Uniswap, and more. (see all available plugins at [https://ohmygoat.dev/chains-wallets-plugins](https://ohmygoat.dev/chains-wallets-plugins)) + +You can easily add them by installing them and adding them to the `getOnChainActions` function: + +```typescript +const tools = getOnChainActions({ + wallet: walletClient, + plugins: [ + sendETH(), + erc20({ tokens: [USDC, PEPE] }), + polymarket(), + uniswap(), + // ... + ], +}) +``` + +## Environment Variables Setup + +To set up your environment variables, you will need to provide the following information: + +* `EVM_PRIVATE_KEY`: Your EVM wallet private key. +* `EVM_PROVIDER_URL`: Your RPC provider URL (e.g. Infura, Alchemy, etc.). + +## Wallets +GOAT supports many different wallets from key pairs to [Crossmint Smart Wallets](https://docs.crossmint.com/wallets/smart-wallets/overview) and Coinbase. + +Read more about wallets at [https://ohmygoat.dev/wallets](https://ohmygoat.dev/wallets). diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json new file mode 100644 index 000000000..931ad5287 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json @@ -0,0 +1,23 @@ +{ + "name": "@elizaos/plugin-goat", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@goat-sdk/core": "0.3.8", + "@goat-sdk/plugin-erc20": "0.1.7", + "@goat-sdk/wallet-viem": "0.1.3", + "@goat-sdk/plugin-coingecko": "0.1.4", + "tsup": "8.3.5", + "viem": "2.21.53" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/actions.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/actions.ts new file mode 100644 index 000000000..b938f51b2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/actions.ts @@ -0,0 +1,184 @@ +import { + type WalletClient, + type Plugin, + addParametersToDescription, + type Tool, + getTools, +} from "@goat-sdk/core"; +import { + type Action, + generateText, + type HandlerCallback, + type IAgentRuntime, + type Memory, + ModelClass, + type State, + composeContext, + generateObject, +} from "@elizaos/core"; + +type GetOnChainActionsParams = { + wallet: TWalletClient; + plugins: Plugin[]; +}; + +/** + * Get all the on chain actions for the given wallet client and plugins + * + * @param params + * @returns + */ +export async function getOnChainActions({ + wallet, + plugins, +}: GetOnChainActionsParams): Promise { + const tools = await getTools({ + wallet, + plugins, + wordForTool: "action", + }); + + return tools + .map((action) => ({ + ...action, + name: action.name.toUpperCase(), + })) + .map((tool) => createAction(tool)); +} + +function createAction(tool: Tool): Action { + return { + name: tool.name, + similes: [], + description: tool.description, + validate: async () => true, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State | undefined, + options?: Record, + callback?: HandlerCallback + ): Promise => { + try { + let currentState = + state ?? (await runtime.composeState(message)); + currentState = + await runtime.updateRecentMessageState(currentState); + + const parameterContext = composeParameterContext( + tool, + currentState + ); + const parameters = await generateParameters( + runtime, + parameterContext, + tool + ); + + const parsedParameters = tool.parameters.safeParse(parameters); + if (!parsedParameters.success) { + callback?.({ + text: `Invalid parameters for action ${tool.name}: ${parsedParameters.error.message}`, + content: { error: parsedParameters.error.message }, + }); + return false; + } + + const result = await tool.method(parsedParameters.data); + const responseContext = composeResponseContext( + tool, + result, + currentState + ); + const response = await generateResponse( + runtime, + responseContext + ); + + callback?.({ text: response, content: result }); + return true; + } catch (error) { + const errorMessage = + error instanceof Error ? error.message : String(error); + callback?.({ + text: `Error executing action ${tool.name}: ${errorMessage}`, + content: { error: errorMessage }, + }); + return false; + } + }, + examples: [], + }; +} + +function composeParameterContext(tool: Tool, state: State): string { + const contextTemplate = `{{recentMessages}} + +Given the recent messages, extract the following information for the action "${tool.name}": +${addParametersToDescription("", tool.parameters)} +`; + return composeContext({ state, template: contextTemplate }); +} + +async function generateParameters( + runtime: IAgentRuntime, + context: string, + tool: Tool +): Promise { + const { object } = await generateObject({ + runtime, + context, + modelClass: ModelClass.LARGE, + schema: tool.parameters, + }); + + return object; +} + +function composeResponseContext( + tool: Tool, + result: unknown, + state: State +): string { + const responseTemplate = ` + # Action Examples +{{actionExamples}} +(Action examples are for reference only. Do not use the information from them in your response.) + +# Knowledge +{{knowledge}} + +# Task: Generate dialog and actions for the character {{agentName}}. +About {{agentName}}: +{{bio}} +{{lore}} + +{{providers}} + +{{attachments}} + +# Capabilities +Note that {{agentName}} is capable of reading/seeing/hearing various forms of media, including images, videos, audio, plaintext and PDFs. Recent attachments have been included above under the "Attachments" section. + +The action "${tool.name}" was executed successfully. +Here is the result: +${JSON.stringify(result)} + +{{actions}} + +Respond to the message knowing that the action was successful and these were the previous messages: +{{recentMessages}} + `; + return composeContext({ state, template: responseTemplate }); +} + +async function generateResponse( + runtime: IAgentRuntime, + context: string +): Promise { + return generateText({ + runtime, + context, + modelClass: ModelClass.LARGE, + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/index.ts new file mode 100644 index 000000000..0bfe9cb29 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/index.ts @@ -0,0 +1,28 @@ +import type { Plugin } from "@elizaos/core"; +import { getOnChainActions } from "./actions"; +import { erc20, USDC } from "@goat-sdk/plugin-erc20"; +import { sendETH } from "@goat-sdk/core"; +import { getWalletClient, getWalletProvider } from "./wallet"; + +async function createGoatPlugin( + getSetting: (key: string) => string | undefined +): Promise { + const walletClient = getWalletClient(getSetting); + const actions = await getOnChainActions({ + wallet: walletClient, + // Add plugins here based on what actions you want to use + // See all available plugins at https://ohmygoat.dev/chains-wallets-plugins#plugins + plugins: [sendETH(), erc20({ tokens: [USDC] })], + }); + + return { + name: "[GOAT] Onchain Actions", + description: "Base integration plugin", + providers: [getWalletProvider(walletClient)], + evaluators: [], + services: [], + actions: actions, + }; +} + +export default createGoatPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/wallet.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/wallet.ts new file mode 100644 index 000000000..6492c95af --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/src/wallet.ts @@ -0,0 +1,42 @@ +import { WalletClient } from "@goat-sdk/core"; +import { viem } from "@goat-sdk/wallet-viem"; +import { createWalletClient, http } from "viem"; +import { privateKeyToAccount } from "viem/accounts"; +import { base } from "viem/chains"; + +// Add the chain you want to use, remember to update also +// the EVM_PROVIDER_URL to the correct one for the chain +export const chain = base; + +export function getWalletClient( + getSetting: (key: string) => string | undefined +) { + const privateKey = getSetting("EVM_PRIVATE_KEY"); + if (!privateKey) return null; + + const provider = getSetting("EVM_PROVIDER_URL"); + if (!provider) throw new Error("EVM_PROVIDER_URL not configured"); + + const wallet = createWalletClient({ + account: privateKeyToAccount(privateKey as `0x${string}`), + chain: chain, + transport: http(provider), + }); + + return viem(wallet); +} + +export function getWalletProvider(walletClient: WalletClient) { + return { + async get(): Promise { + try { + const address = walletClient.getAddress(); + const balance = await walletClient.balanceOf(address); + return `EVM Wallet Address: ${address}\nBalance: ${balance} ETH`; + } catch (error) { + console.error("Error in EVM wallet provider:", error); + return null; + } + }, + }; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/tsconfig.json new file mode 100644 index 000000000..33e9858f4 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "./src", + "declaration": true + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/tsup.config.ts new file mode 100644 index 000000000..b0c1a8a9f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/tsup.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + "viem", + "@lifi/sdk" + ], +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json new file mode 100644 index 000000000..12d47ec71 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json @@ -0,0 +1,26 @@ +{ + "name": "@elizaos/plugin-sui", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "@mysten/sui": "^1.16.0", + "bignumber": "1.1.0", + "bignumber.js": "9.1.2", + "node-cache": "5.1.2", + "tsup": "8.3.5", + "vitest": "2.1.4" + }, + "scripts": { + "build": "tsup --format esm --dts", + "lint": "eslint . --fix", + "test": "vitest run" + }, + "peerDependencies": { + "form-data": "4.0.1", + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/actions/transfer.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/actions/transfer.ts new file mode 100644 index 000000000..ab6d8f65c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/actions/transfer.ts @@ -0,0 +1,214 @@ +import { + ActionExample, + Content, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + composeContext, + elizaLogger, + generateObject, + type Action, +} from "@elizaos/core"; +import { z } from "zod"; + +import { SuiClient, getFullnodeUrl } from "@mysten/sui/client"; +import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519"; +import { Transaction } from "@mysten/sui/transactions"; +import { SUI_DECIMALS } from "@mysten/sui/utils"; + +import { walletProvider } from "../providers/wallet"; + +type SuiNetwork = "mainnet" | "testnet" | "devnet" | "localnet"; + +export interface TransferContent extends Content { + recipient: string; + amount: string | number; +} + +function isTransferContent(content: Content): content is TransferContent { + console.log("Content for transfer", content); + return ( + typeof content.recipient === "string" && + (typeof content.amount === "string" || + typeof content.amount === "number") + ); +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "recipient": "0xaa000b3651bd1e57554ebd7308ca70df7c8c0e8e09d67123cc15c8a8a79342b3", + "amount": "1" +} +\`\`\` + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token transfer: +- Recipient wallet address +- Amount to transfer + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "SEND_TOKEN", + similes: [ + "TRANSFER_TOKEN", + "TRANSFER_TOKENS", + "SEND_TOKENS", + "SEND_SUI", + "PAY", + ], + validate: async (runtime: IAgentRuntime, message: Memory) => { + console.log("Validating sui transfer from user:", message.userId); + //add custom validate logic here + /* + const adminIds = runtime.getSetting("ADMIN_USER_IDS")?.split(",") || []; + //console.log("Admin IDs from settings:", adminIds); + + const isAdmin = adminIds.includes(message.userId); + + if (isAdmin) { + //console.log(`Authorized transfer from user: ${message.userId}`); + return true; + } + else + { + //console.log(`Unauthorized transfer attempt from user: ${message.userId}`); + return false; + } + */ + return true; + }, + description: "Transfer tokens from the agent's wallet to another address", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + elizaLogger.log("Starting SEND_TOKEN handler..."); + + const walletInfo = await walletProvider.get(runtime, message, state); + state.walletInfo = walletInfo; + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Define the schema for the expected output + const transferSchema = z.object({ + recipient: z.string(), + amount: z.union([z.string(), z.number()]), + }); + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content with the schema + const content = await generateObject({ + runtime, + context: transferContext, + schema: transferSchema, + modelClass: ModelClass.SMALL, + }); + + const transferContent = content.object as TransferContent; + + // Validate transfer content + if (!isTransferContent(transferContent)) { + console.error("Invalid content for TRANSFER_TOKEN action."); + if (callback) { + callback({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid transfer content" }, + }); + } + return false; + } + + try { + const privateKey = runtime.getSetting("SUI_PRIVATE_KEY"); + const suiAccount = Ed25519Keypair.deriveKeypair(privateKey); + const network = runtime.getSetting("SUI_NETWORK"); + const suiClient = new SuiClient({ + url: getFullnodeUrl(network as SuiNetwork), + }); + + const adjustedAmount = BigInt( + Number(transferContent.amount) * Math.pow(10, SUI_DECIMALS) + ); + console.log( + `Transferring: ${transferContent.amount} tokens (${adjustedAmount} base units)` + ); + const tx = new Transaction(); + const [coin] = tx.splitCoins(tx.gas, [adjustedAmount]); + tx.transferObjects([coin], transferContent.recipient); + const executedTransaction = + await suiClient.signAndExecuteTransaction({ + signer: suiAccount, + transaction: tx, + }); + + console.log("Transfer successful:", executedTransaction.digest); + + if (callback) { + callback({ + text: `Successfully transferred ${transferContent.amount} SUI to ${transferContent.recipient}, Transaction: ${executedTransaction.digest}`, + content: { + success: true, + hash: executedTransaction.digest, + amount: transferContent.amount, + recipient: transferContent.recipient, + }, + }); + } + + return true; + } catch (error) { + console.error("Error during token transfer:", error); + if (callback) { + callback({ + text: `Error transferring tokens: ${error.message}`, + content: { error: error.message }, + }); + } + return false; + } + }, + + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Send 1 SUI tokens to 0x4f2e63be8e7fe287836e29cde6f3d5cbc96eefd0c0e3f3747668faa2ae7324b0", + }, + }, + { + user: "{{user2}}", + content: { + text: "I'll send 1 SUI tokens now...", + action: "SEND_TOKEN", + }, + }, + { + user: "{{user2}}", + content: { + text: "Successfully sent 1 SUI tokens to 0x4f2e63be8e7fe287836e29cde6f3d5cbc96eefd0c0e3f3747668faa2ae7324b0, Transaction: 0x39a8c432d9bdad993a33cc1faf2e9b58fb7dd940c0425f1d6db3997e4b4b05c0", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/enviroment.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/enviroment.ts new file mode 100644 index 000000000..6c041d29f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/enviroment.ts @@ -0,0 +1,35 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { z } from "zod"; + +export const suiEnvSchema = z.object({ + SUI_PRIVATE_KEY: z.string().min(1, "Sui private key is required"), + SUI_NETWORK: z.enum(["mainnet", "testnet"]), +}); + +export type SuiConfig = z.infer; + +export async function validateSuiConfig( + runtime: IAgentRuntime +): Promise { + try { + const config = { + SUI_PRIVATE_KEY: + runtime.getSetting("SUI_PRIVATE_KEY") || + process.env.SUI_PRIVATE_KEY, + SUI_NETWORK: + runtime.getSetting("SUI_NETWORK") || process.env.SUI_NETWORK, + }; + + return suiEnvSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error( + `Sui configuration validation failed:\n${errorMessages}` + ); + } + throw error; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/index.ts new file mode 100644 index 000000000..5f69381fd --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/index.ts @@ -0,0 +1,15 @@ +import { Plugin } from "@elizaos/core"; +import transferToken from "./actions/transfer.ts"; +import { WalletProvider, walletProvider } from "./providers/wallet.ts"; + +export { WalletProvider, transferToken as TransferSuiToken }; + +export const suiPlugin: Plugin = { + name: "sui", + description: "Sui Plugin for Eliza", + actions: [transferToken], + evaluators: [], + providers: [walletProvider], +}; + +export default suiPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/providers/wallet.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/providers/wallet.ts new file mode 100644 index 000000000..4ee649bef --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/providers/wallet.ts @@ -0,0 +1,246 @@ +import { + IAgentRuntime, + ICacheManager, + Memory, + Provider, + State, +} from "@elizaos/core"; + +import { getFullnodeUrl, SuiClient } from "@mysten/sui/client"; +import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519"; + +import { MIST_PER_SUI } from "@mysten/sui/utils"; +import BigNumber from "bignumber.js"; +import NodeCache from "node-cache"; +import * as path from "path"; + +// Provider configuration +const PROVIDER_CONFIG = { + MAX_RETRIES: 3, + RETRY_DELAY: 2000, +}; + +interface WalletPortfolio { + totalUsd: string; + totalSui: string; +} + +interface Prices { + sui: { usd: string }; +} + +type SuiNetwork = "mainnet" | "testnet" | "devnet" | "localnet"; + +export class WalletProvider { + private cache: NodeCache; + private cacheKey: string = "sui/wallet"; + + constructor( + private suiClient: SuiClient, + private address: string, + private cacheManager: ICacheManager + ) { + this.cache = new NodeCache({ stdTTL: 300 }); // Cache TTL set to 5 minutes + } + + private async readFromCache(key: string): Promise { + const cached = await this.cacheManager.get( + path.join(this.cacheKey, key) + ); + return cached; + } + + private async writeToCache(key: string, data: T): Promise { + await this.cacheManager.set(path.join(this.cacheKey, key), data, { + expires: Date.now() + 5 * 60 * 1000, + }); + } + + private async getCachedData(key: string): Promise { + // Check in-memory cache first + const cachedData = this.cache.get(key); + if (cachedData) { + return cachedData; + } + + // Check file-based cache + const fileCachedData = await this.readFromCache(key); + if (fileCachedData) { + // Populate in-memory cache + this.cache.set(key, fileCachedData); + return fileCachedData; + } + + return null; + } + + private async setCachedData(cacheKey: string, data: T): Promise { + // Set in-memory cache + this.cache.set(cacheKey, data); + + // Write to file-based cache + await this.writeToCache(cacheKey, data); + } + + private async fetchPricesWithRetry() { + let lastError: Error; + + for (let i = 0; i < PROVIDER_CONFIG.MAX_RETRIES; i++) { + try { + const cetusSuiUsdcPoolAddr = + "0x51e883ba7c0b566a26cbc8a94cd33eb0abd418a77cc1e60ad22fd9b1f29cd2ab"; + const response = await fetch( + `https://api.dexscreener.com/latest/dex/pairs/sui/${cetusSuiUsdcPoolAddr}` + ); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error( + `HTTP error! status: ${response.status}, message: ${errorText}` + ); + } + + const data = await response.json(); + return data; + } catch (error) { + console.error(`Attempt ${i + 1} failed:`, error); + lastError = error; + if (i < PROVIDER_CONFIG.MAX_RETRIES - 1) { + const delay = PROVIDER_CONFIG.RETRY_DELAY * Math.pow(2, i); + await new Promise((resolve) => setTimeout(resolve, delay)); + continue; + } + } + } + + console.error( + "All attempts failed. Throwing the last error:", + lastError + ); + throw lastError; + } + + async fetchPortfolioValue(): Promise { + try { + const cacheKey = `portfolio-${this.address}`; + const cachedValue = + await this.getCachedData(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPortfolioValue", cachedValue); + return cachedValue; + } + console.log("Cache miss for fetchPortfolioValue"); + + const prices = await this.fetchPrices().catch((error) => { + console.error("Error fetching SUI price:", error); + throw error; + }); + const suiAmountOnChain = await this.suiClient + .getBalance({ + owner: this.address, + }) + .catch((error) => { + console.error("Error fetching SUI amount:", error); + throw error; + }); + + const suiAmount = + Number.parseInt(suiAmountOnChain.totalBalance) / + Number(MIST_PER_SUI); + const totalUsd = new BigNumber(suiAmount).times(prices.sui.usd); + + const portfolio = { + totalUsd: totalUsd.toString(), + totalSui: suiAmount.toString(), + }; + this.setCachedData(cacheKey, portfolio); + console.log("Fetched portfolio:", portfolio); + return portfolio; + } catch (error) { + console.error("Error fetching portfolio:", error); + throw error; + } + } + + async fetchPrices(): Promise { + try { + const cacheKey = "prices"; + const cachedValue = await this.getCachedData(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPrices"); + return cachedValue; + } + console.log("Cache miss for fetchPrices"); + + const suiPriceData = await this.fetchPricesWithRetry().catch( + (error) => { + console.error("Error fetching SUI price:", error); + throw error; + } + ); + const prices: Prices = { + sui: { usd: suiPriceData.pair.priceUsd }, + }; + this.setCachedData(cacheKey, prices); + return prices; + } catch (error) { + console.error("Error fetching prices:", error); + throw error; + } + } + + formatPortfolio(runtime, portfolio: WalletPortfolio): string { + let output = `${runtime.character.name}\n`; + output += `Wallet Address: ${this.address}\n`; + + const totalUsdFormatted = new BigNumber(portfolio.totalUsd).toFixed(2); + const totalSuiFormatted = new BigNumber(portfolio.totalSui).toFixed(4); + + output += `Total Value: $${totalUsdFormatted} (${totalSuiFormatted} SUI)\n`; + + return output; + } + + async getFormattedPortfolio(runtime): Promise { + try { + const portfolio = await this.fetchPortfolioValue(); + return this.formatPortfolio(runtime, portfolio); + } catch (error) { + console.error("Error generating portfolio report:", error); + return "Unable to fetch wallet information. Please try again later."; + } + } +} + +const walletProvider: Provider = { + get: async ( + runtime: IAgentRuntime, + _message: Memory, + _state?: State + ): Promise => { + const privateKey = runtime.getSetting("SUI_PRIVATE_KEY"); + const suiAccount = Ed25519Keypair.deriveKeypair(privateKey); + + try { + const suiClient = new SuiClient({ + url: getFullnodeUrl( + runtime.getSetting("SUI_NETWORK") as SuiNetwork + ), + }); + const provider = new WalletProvider( + suiClient, + suiAccount.toSuiAddress(), + runtime.cacheManager + ); + return await provider.getFormattedPortfolio(runtime); + } catch (error) { + console.error("Error in wallet provider:", error); + return null; + } + }, +}; + +// Module exports +export { walletProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/tests/wallet.test.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/tests/wallet.test.ts new file mode 100644 index 000000000..39d3c62d4 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/src/tests/wallet.test.ts @@ -0,0 +1,93 @@ +import { describe, it, expect, beforeEach, vi, afterEach } from "vitest"; +import { WalletProvider } from "../providers/wallet.ts"; + +import { defaultCharacter } from "@elizaos/core"; +import BigNumber from "bignumber.js"; +import { SUI_DECIMALS } from "@mysten/sui/utils"; +import { SuiClient, getFullnodeUrl } from "@mysten/sui/client"; +import { Ed25519Keypair } from "@mysten/sui/keypairs/ed25519"; +// Mock NodeCache +vi.mock("node-cache", () => { + return { + default: vi.fn().mockImplementation(() => ({ + set: vi.fn(), + get: vi.fn().mockReturnValue(null), + })), + }; +}); + +// Mock path module +vi.mock("path", async () => { + const actual = await vi.importActual("path"); + return { + ...actual, + join: vi.fn().mockImplementation((...args) => args.join("/")), + }; +}); + +// Mock the ICacheManager +const mockCacheManager = { + get: vi.fn().mockResolvedValue(null), + set: vi.fn(), + delete: vi.fn(), +}; + +describe("WalletProvider", () => { + let walletProvider; + let mockedRuntime; + + beforeEach(() => { + vi.clearAllMocks(); + mockCacheManager.get.mockResolvedValue(null); + + const suiClient = new SuiClient({ + url: getFullnodeUrl("testnet"), + }); + + const suiAccount = Ed25519Keypair.deriveKeypair( + // 0x69c67de128b241be288d6f3f7d898f0ffb6c1976879b721e68e7b156dd419e3f + "gaze throw also reveal kite load tennis tone club cloth chaos picture" + ); + + // Create new instance of TokenProvider with mocked dependencies + walletProvider = new WalletProvider( + suiClient, + suiAccount.toSuiAddress(), + mockCacheManager + ); + + mockedRuntime = { + character: defaultCharacter, + }; + }); + + afterEach(() => { + vi.clearAllTimers(); + }); + + describe("Wallet Integration", () => { + it("should check wallet address", async () => { + const result = + await walletProvider.getFormattedPortfolio(mockedRuntime); + + const prices = await walletProvider.fetchPrices(); + const mistAmountOnChain = await walletProvider.suiClient.getBalance( + { + owner: walletProvider.address, + } + ); + + const suiAmount = new BigNumber(mistAmountOnChain.totalBalance) + .div(new BigNumber(10).pow(SUI_DECIMALS)) + .toFixed(4); + const totalUsd = new BigNumber(suiAmount) + .times(prices.sui.usd) + .toFixed(2); + + expect(result).toEqual( + `Eliza\nWallet Address: ${walletProvider.address}\n` + + `Total Value: $${totalUsd} (${suiAmount} SUI)\n` + ); + }); + }); +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/tsconfig.json new file mode 100644 index 000000000..73993deaa --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/tsup.config.ts new file mode 100644 index 000000000..dd25475bb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/tsup.config.ts @@ -0,0 +1,29 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + "safe-buffer", + "base-x", + "bs58", + "borsh", + "@solana/buffer-layout", + "stream", + "buffer", + "querystring", + "amqplib", + // Add other modules you want to externalize + ], +}); From 8adae368021455ed4613b4319865a9e2e2e28b55 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:18:25 -0800 Subject: [PATCH 042/312] Remove .npmignores --- .../components/plugins/plugin-coinbase/.npmignore | 6 ------ .../react-agents/components/plugins/plugin-sui/.npmignore | 6 ------ 2 files changed, 12 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/.npmignore delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file From b92cb533d7d77fab37741d378d185fddf0829dc6 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:20:08 -0800 Subject: [PATCH 043/312] Add new plugin installs --- packages/usdk/packages/upstreet-agent/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index f2de9eaec..2a5ac619f 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -6,7 +6,10 @@ "@electric-sql/pglite": "^0.2.15", "@elizaos/core": "file:./packages/elizaos-core-proxy", "@elizaos/plugin-3d-generation": "file:./packages/react-agents/components/plugins/plugin-3d-generation", + "@elizaos/plugin-coinbase": "file:./packages/react-agents/components/plugins/plugin-coinbase", + "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", "@elizaos/plugin-solana": "file:./packages/react-agents/components/plugins/plugin-solana", + "@elizaos/plugin-sui": "file:./packages/react-agents/components/plugins/plugin-sui", "@elizaos/plugin-tee": "file:./packages/react-agents/components/plugins/plugin-tee", "@elizaos/plugin-trustdb": "file:./packages/react-agents/components/plugins/plugin-trustdb", "@elizaos/plugin-twitter": "file:./packages/react-agents/components/plugins/plugin-twitter", From dd18dd2804b323fd8fffa0c31610a6d6d612e9cc Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:20:17 -0800 Subject: [PATCH 044/312] Update plugin hacks --- .../components/plugins/plugin-coinbase/package.json | 3 +-- .../react-agents/components/plugins/plugin-goat/package.json | 1 - .../react-agents/components/plugins/plugin-sui/package.json | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json index d38fa9175..bd99a43c3 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json @@ -5,9 +5,8 @@ "type": "module", "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "coinbase-api": "1.0.5", - "coinbase-advanced-sdk": "file:../../packages/plugin-coinbase/advanced-sdk-ts", + "coinbase-advanced-sdk": "file:./advanced-sdk-ts", "jsonwebtoken": "^9.0.2", "@types/jsonwebtoken": "^9.0.7", "node-fetch": "^2.6.1" diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json index 931ad5287..5685eb24f 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json @@ -5,7 +5,6 @@ "type": "module", "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "@goat-sdk/core": "0.3.8", "@goat-sdk/plugin-erc20": "0.1.7", "@goat-sdk/wallet-viem": "0.1.3", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json index 12d47ec71..c35a30bf0 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json @@ -5,8 +5,6 @@ "type": "module", "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", "@mysten/sui": "^1.16.0", "bignumber": "1.1.0", "bignumber.js": "9.1.2", From b915a3530bdccf086b9bc5a284b867025a118d0e Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:20:24 -0800 Subject: [PATCH 045/312] Update lock --- pnpm-lock.yaml | 505 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 500 insertions(+), 5 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9cf37c5d..7ccbb5499 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -945,9 +945,18 @@ importers: '@elizaos/plugin-3d-generation': specifier: file:./packages/react-agents/components/plugins/plugin-3d-generation version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-coinbase': + specifier: file:./packages/react-agents/components/plugins/plugin-coinbase + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@elizaos/plugin-goat': + specifier: file:./packages/react-agents/components/plugins/plugin-goat + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-solana': specifier: file:./packages/react-agents/components/plugins/plugin-solana version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-sui': + specifier: file:./packages/react-agents/components/plugins/plugin-sui + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-tee': specifier: file:./packages/react-agents/components/plugins/plugin-tee version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) @@ -1257,6 +1266,20 @@ importers: packages: + '@0no-co/graphql.web@1.0.12': + resolution: {integrity: sha512-BTDjjsV/zSPy5fqItwm+KWUfh9CSe9tTtR6rCB72ddtkAxdcHbi4Ir4r/L1Et4lyxmL+i7Rb3m9sjLLi9tYrzA==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + graphql: + optional: true + + '@0no-co/graphqlsp@1.12.16': + resolution: {integrity: sha512-B5pyYVH93Etv7xjT6IfB7QtMBdaaC07yjbhN6v8H7KgFStMkPvi+oWYBTibMFRMY89qwc9H8YixXg8SXDVgYWw==} + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 + typescript: ^5.0.0 + '@acuminous/bitsyntax@0.1.2': resolution: {integrity: sha512-29lUK80d1muEQqiUsSo+3A0yP6CdspgC95EnKBMi22Xlwt79i/En4Vr67+cXhU+cZjbti3TgGGC5wy1stIywVQ==} engines: {node: '>=0.8'} @@ -2208,6 +2231,9 @@ packages: resolution: {integrity: sha512-A+lQ8xp7992qSeMmuQ0ssL6CPmm+ZmAv6Ddikan0n1jjpMAic+97l7xtVIsswSn9iLMFPYQ9uNN/8Fl0AgARIQ==} engines: {node: '>=16.7.0'} + '@coinbase-samples/advanced-sdk-ts@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts, type: directory} + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -2321,12 +2347,26 @@ packages: peerDependencies: whatwg-url: 7.1.0 + '@elizaos/plugin-coinbase@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase, type: directory} + + '@elizaos/plugin-goat@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-solana@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana, type: directory} peerDependencies: form-data: 4.0.1 whatwg-url: 7.1.0 + '@elizaos/plugin-sui@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui, type: directory} + peerDependencies: + form-data: 4.0.1 + whatwg-url: 7.1.0 + '@elizaos/plugin-tee@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee, type: directory} peerDependencies: @@ -3155,10 +3195,59 @@ packages: '@formatjs/intl-localematcher@0.5.9': resolution: {integrity: sha512-8zkGu/sv5euxbjfZ/xmklqLyDGQSxsLqg8XOq88JW3cmJtzhCP8EtSJXlaKZnVO4beEaoiT9wj4eIoCQ9smwxA==} + '@goat-sdk/core@0.3.8': + resolution: {integrity: sha512-1H8Cziyjj3bN78M4GETGN8+/fAQhtTPqMowSyAgIZtC/MGWvf41H2SR0FNba/xhfCOALhb0UfhGOsXCswvM5iA==} + engines: {node: '>=20.12.2 <21', npm: please-use-pnpm, pnpm: '>=9', yarn: please-use-pnpm} + + '@goat-sdk/plugin-coingecko@0.1.4': + resolution: {integrity: sha512-i85v/SeCXB7/fcqZKc0hV68/3FrUAHJSL4N5AUp5OPauzV5kq4Ecn0WjeDZEHX8iCEEY1NZSZ47yweDckAhjhA==} + peerDependencies: + '@goat-sdk/core': 0.3.14 + viem: 2.21.49 + + '@goat-sdk/plugin-erc20@0.1.7': + resolution: {integrity: sha512-UDd6pXIBmpCWW7QIFxM5rJPta4tWqkys8P1sAt1kqabAndx+GaczhNUPwSdV1MH77BNtcyGZ6+HoeirskiV//Q==} + engines: {node: '>=20.12.2 <21', npm: please-use-pnpm, pnpm: '>=9', yarn: please-use-pnpm} + peerDependencies: + '@goat-sdk/core': 0.3.8 + viem: ^2.21.49 + + '@goat-sdk/wallet-viem@0.1.3': + resolution: {integrity: sha512-2uofsH/dVmeJk/4V2/tJ1rDk6/ZFQlthUO50tg366hjq0vjINJXMQqYGwSLnv5Z3PMmdfPCSd5xikFEfA+1ZZw==} + engines: {node: '>=20.12.2 <21', npm: please-use-pnpm, pnpm: '>=9', yarn: please-use-pnpm} + peerDependencies: + '@goat-sdk/core': 0.3.4 + viem: ^2.21.49 + '@google-cloud/vertexai@1.9.2': resolution: {integrity: sha512-pJSUG3r5QIvCFNfkz7/y7kEqvEJaVAk0jZbZoKbcPCRUnXaUeAq7p8I0oklqetGyxbUcZ2FOGpt+Y+4uIltVPg==} engines: {node: '>=18.0.0'} + '@gql.tada/cli-utils@1.6.3': + resolution: {integrity: sha512-jFFSY8OxYeBxdKi58UzeMXG1tdm4FVjXa8WHIi66Gzu9JWtCE6mqom3a8xkmSw+mVaybFW5EN2WXf1WztJVNyQ==} + peerDependencies: + '@0no-co/graphqlsp': ^1.12.13 + '@gql.tada/svelte-support': 1.0.1 + '@gql.tada/vue-support': 1.0.1 + graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 + typescript: ^5.0.0 + peerDependenciesMeta: + '@gql.tada/svelte-support': + optional: true + '@gql.tada/vue-support': + optional: true + + '@gql.tada/internal@1.0.8': + resolution: {integrity: sha512-XYdxJhtHC5WtZfdDqtKjcQ4d7R1s0d1rnlSs3OcBEUbYiPoJJfZU7tWsVXuv047Z6msvmr4ompJ7eLSK5Km57g==} + peerDependencies: + graphql: ^15.5.0 || ^16.0.0 || ^17.0.0 + typescript: ^5.0.0 + + '@graphql-typed-document-node/core@3.2.0': + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@hono/node-server@1.13.7': resolution: {integrity: sha512-kTfUMsoloVKtRA2fLiGSd9qBddmru9KadNyhJCwgKBxTiNkaAJEwkVN9KV/rS4HtmmNRtUh6P+YpmjRMl0d9vQ==} engines: {node: '>=18.14.1'} @@ -3902,6 +3991,13 @@ packages: peerDependencies: react: ^17.0.0 || ^18.0.0 || ^19.0.0 + '@mysten/bcs@1.2.0': + resolution: {integrity: sha512-LuKonrGdGW7dq/EM6U2L9/as7dFwnhZnsnINzB/vu08Xfrj0qzWwpLOiXagAa5yZOPLK7anRZydMonczFkUPzA==} + + '@mysten/sui@1.18.0': + resolution: {integrity: sha512-cFh5LxXZrXb/ZAD1dkKeQxzhgRYFXreyFGmI7w/JQWwdl+/0FrHJBwaWyTmGxJ/6ZC9SlaOPOk63flN7DbUurg==} + engines: {node: '>=18'} + '@ndelangen/get-tarball@3.0.9': resolution: {integrity: sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==} @@ -5455,6 +5551,10 @@ packages: engines: {node: '>= 8.0.0'} hasBin: true + '@simplewebauthn/typescript-types@7.4.0': + resolution: {integrity: sha512-8/ZjHeUPe210Bt5oyaOIGx4h8lHdsQs19BiOT44gi/jBEgK7uBGA0Fy7NRsyh777al3m6WM0mBf0UR7xd4R7WQ==} + deprecated: This package has been renamed to @simplewebauthn/types. Please install @simplewebauthn/types instead to ensure you receive future updates. + '@sinclair/typebox@0.25.24': resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} @@ -5597,6 +5697,9 @@ packages: resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==} engines: {node: '>=16'} + '@solana/web3.js@1.95.5': + resolution: {integrity: sha512-hU9cBrbg1z6gEjLH9vwIckGBVB78Ijm0iZFNk4ocm5OD82piPwuk3MeQ1rfiKD9YQtr95krrcaopb49EmQJlRg==} + '@solana/web3.js@1.95.8': resolution: {integrity: sha512-sBHzNh7dHMrmNS5xPD1d0Xa2QffW/RXaxu/OysRXBfwTp+LYqGGmMtCYYwrHPrN5rjAmJCsQRNAwv4FM0t3B6g==} @@ -5818,6 +5921,9 @@ packages: peerDependencies: eslint: '>=8.40.0' + '@suchipi/femver@1.0.0': + resolution: {integrity: sha512-bprE8+K5V+DPX7q2e2K57ImqNBdfGHDIWaGI5xHxZoxbKOuQZn4wzPiUxOAHnsUr3w3xHrWXwN7gnG/iIuEMIg==} + '@supabase/auth-js@2.66.1': resolution: {integrity: sha512-kOW+04SuDXmP2jRX9JL1Rgzduj8BcOG1qC3RaWdZsxnv89svNCdLRv8PfXW3QPKJdw0k1jF30OlQDPkzbDEL9w==} @@ -6246,6 +6352,9 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/jsonwebtoken@9.0.7': + resolution: {integrity: sha512-ugo316mmTYBl2g81zDFnZ7cfxlut3o+/EQdaP7J8QN2kY6lJ22hmQYCK5EHcJHbrW+dkCGSCPgbG8JtYj6qSrg==} + '@types/katex@0.16.7': resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} @@ -7376,6 +7485,9 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + bech32@2.0.0: + resolution: {integrity: sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==} + better-opn@3.0.2: resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} engines: {node: '>=12.0.0'} @@ -7859,6 +7971,9 @@ packages: codecs@file:packages/usdk/packages/upstreet-agent/packages/codecs: resolution: {directory: packages/usdk/packages/upstreet-agent/packages/codecs, type: directory} + coinbase-api@1.0.5: + resolution: {integrity: sha512-5Rq6hYKnJNc9v4diD8M6PStSc2hwMgfOlB+pb1LSyh5q2xg9ZKi3Gu8ZVxaDnKXmgQgrjI4xJLMpc3fiLgzsew==} + collapse-white-space@2.1.0: resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} @@ -9971,6 +10086,12 @@ packages: resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} engines: {node: '>=10.19.0'} + gql.tada@1.8.10: + resolution: {integrity: sha512-FrvSxgz838FYVPgZHGOSgbpOjhR+yq44rCzww3oOPJYi0OvBJjAgCiP6LEokZIYND2fUTXzQAyLgcvgw1yNP5A==} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} @@ -9980,6 +10101,10 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + graphql@16.10.0: + resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + gray-matter@4.0.3: resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} engines: {node: '>=6.0'} @@ -11021,6 +11146,10 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} + jsonwebtoken@9.0.2: + resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + engines: {node: '>=12', npm: '>=6'} + jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -11038,9 +11167,15 @@ packages: just-zip-it@2.3.1: resolution: {integrity: sha512-h8Y3DAVTZRP3Weq7btWYfkYHQGhxiuKzfOO7Ec+x8XaDcBvbOsC2jIdezC6tEzbt+A4fTJTREnj3gF5DyMkFfw==} + jwa@1.4.1: + resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + jwa@2.0.0: resolution: {integrity: sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==} + jws@3.2.2: + resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + jws@4.0.0: resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} @@ -11249,15 +11384,33 @@ packages: lodash.debounce@4.0.8: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + lodash.includes@4.3.0: + resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} + + lodash.isboolean@3.0.3: + resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + + lodash.isinteger@4.0.4: + resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} + + lodash.isnumber@3.0.3: + resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} + lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.once@4.1.1: + resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} + lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} @@ -12670,6 +12823,9 @@ packages: resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} engines: {node: '>=10'} + poseidon-lite@0.2.1: + resolution: {integrity: sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog==} + possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -15203,6 +15359,9 @@ packages: v8n@1.5.1: resolution: {integrity: sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A==} + valibot@0.36.0: + resolution: {integrity: sha512-CjF1XN4sUce8sBK9TixrDqFM7RwNkuXdJu174/AwmQUB62QbCQADg5lLe8ldBalFgtj1uKj+pKwDJiNo4Mn+eQ==} + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -15803,6 +15962,16 @@ packages: snapshots: + '@0no-co/graphql.web@1.0.12(graphql@16.10.0)': + optionalDependencies: + graphql: 16.10.0 + + '@0no-co/graphqlsp@1.12.16(graphql@16.10.0)(typescript@5.7.2)': + dependencies: + '@gql.tada/internal': 1.0.8(graphql@16.10.0)(typescript@5.7.2) + graphql: 16.10.0 + typescript: 5.7.2 + '@acuminous/bitsyntax@0.1.2': dependencies: buffer-more-ints: 1.0.0 @@ -16972,6 +17141,13 @@ snapshots: mime: 3.0.0 zod: 3.23.8 + '@coinbase-samples/advanced-sdk-ts@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts': + dependencies: + jsonwebtoken: 9.0.2 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + '@colors/colors@1.5.0': optional: true @@ -17250,6 +17426,42 @@ snapshots: - utf-8-validate - yaml + '@elizaos/plugin-coinbase@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@types/jsonwebtoken': 9.0.7 + coinbase-advanced-sdk: '@coinbase-samples/advanced-sdk-ts@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts' + coinbase-api: 1.0.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + jsonwebtoken: 9.0.2 + node-fetch: 2.7.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - utf-8-validate + + '@elizaos/plugin-goat@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1)': + dependencies: + '@goat-sdk/core': 0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@goat-sdk/plugin-coingecko': 0.1.4(@goat-sdk/core@0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10))(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@goat-sdk/plugin-erc20': 0.1.7(@goat-sdk/core@0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10))(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@goat-sdk/wallet-viem': 0.1.3(@goat-sdk/core@0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10))(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - encoding + - jiti + - postcss + - supports-color + - tsx + - typescript + - utf-8-validate + - yaml + - zod + '@elizaos/plugin-solana@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)': dependencies: '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -17342,6 +17554,78 @@ snapshots: - utf-8-validate - yaml + '@elizaos/plugin-sui@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + '@mysten/sui': 1.18.0(typescript@5.7.2) + bignumber: 1.1.0 + bignumber.js: 9.1.2 + form-data: 4.0.1 + node-cache: 5.1.2 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + vitest: 2.1.4(@edge-runtime/vm@3.2.0)(@types/node@22.8.1)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(sass@1.82.0)(terser@5.37.0) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - '@microsoft/api-extractor' + - '@swc/core' + - '@types/node' + - '@vitest/browser' + - '@vitest/ui' + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw + - postcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - yaml + + '@elizaos/plugin-sui@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(form-data@4.0.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)': + dependencies: + '@mysten/sui': 1.18.0(typescript@5.7.2) + bignumber: 1.1.0 + bignumber.js: 9.1.2 + form-data: 4.0.1 + node-cache: 5.1.2 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + vitest: 2.1.4(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - '@microsoft/api-extractor' + - '@swc/core' + - '@types/node' + - '@vitest/browser' + - '@vitest/ui' + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw + - postcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - yaml + '@elizaos/plugin-tee@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1)': dependencies: '@phala/dstack-sdk': 0.1.6(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) @@ -17967,6 +18251,35 @@ snapshots: dependencies: tslib: 2.8.1 + '@goat-sdk/core@0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + abitype: 1.0.6(typescript@5.7.2)(zod@3.23.8) + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + zod: 3.23.8 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + + '@goat-sdk/plugin-coingecko@0.1.4(@goat-sdk/core@0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10))(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + dependencies: + '@goat-sdk/core': 0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10) + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + zod: 3.23.8 + + '@goat-sdk/plugin-erc20@0.1.7(@goat-sdk/core@0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10))(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + dependencies: + '@goat-sdk/core': 0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10) + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + zod: 3.23.8 + + '@goat-sdk/wallet-viem@0.1.3(@goat-sdk/core@0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10))(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + dependencies: + '@goat-sdk/core': 0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10) + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + '@google-cloud/vertexai@1.9.2': dependencies: google-auth-library: 9.15.0 @@ -17974,6 +18287,23 @@ snapshots: - encoding - supports-color + '@gql.tada/cli-utils@1.6.3(@0no-co/graphqlsp@1.12.16(graphql@16.10.0)(typescript@5.7.2))(graphql@16.10.0)(typescript@5.7.2)': + dependencies: + '@0no-co/graphqlsp': 1.12.16(graphql@16.10.0)(typescript@5.7.2) + '@gql.tada/internal': 1.0.8(graphql@16.10.0)(typescript@5.7.2) + graphql: 16.10.0 + typescript: 5.7.2 + + '@gql.tada/internal@1.0.8(graphql@16.10.0)(typescript@5.7.2)': + dependencies: + '@0no-co/graphql.web': 1.0.12(graphql@16.10.0) + graphql: 16.10.0 + typescript: 5.7.2 + + '@graphql-typed-document-node/core@3.2.0(graphql@16.10.0)': + dependencies: + graphql: 16.10.0 + '@hono/node-server@1.13.7(hono@4.6.13)': dependencies: hono: 4.6.13 @@ -19100,6 +19430,31 @@ snapshots: transitivePeerDependencies: - '@types/react' + '@mysten/bcs@1.2.0': + dependencies: + bs58: 6.0.0 + + '@mysten/sui@1.18.0(typescript@5.7.2)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.10.0) + '@mysten/bcs': 1.2.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.5.0 + '@scure/bip39': 1.5.0 + '@simplewebauthn/typescript-types': 7.4.0 + '@suchipi/femver': 1.0.0 + bech32: 2.0.0 + gql.tada: 1.8.10(graphql@16.10.0)(typescript@5.7.2) + graphql: 16.10.0 + jose: 5.9.6 + poseidon-lite: 0.2.1 + valibot: 0.36.0 + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - typescript + '@ndelangen/get-tarball@3.0.9': dependencies: gunzip-maybe: 1.4.2 @@ -21091,6 +21446,8 @@ snapshots: fflate: 0.7.4 string.prototype.codepointat: 0.2.1 + '@simplewebauthn/typescript-types@7.4.0': {} + '@sinclair/typebox@0.25.24': {} '@sinclair/typebox@0.27.8': {} @@ -21294,6 +21651,28 @@ snapshots: dependencies: buffer: 6.0.3 + '@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@solana/buffer-layout': 4.0.1 + agentkeepalive: 4.5.0 + bigint-buffer: 1.1.5 + bn.js: 5.2.1 + borsh: 0.7.0 + bs58: 4.0.1 + buffer: 6.0.3 + fast-stable-stringify: 1.0.0 + jayson: 4.1.3(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-fetch: 2.7.0 + rpc-websockets: 9.0.4 + superstruct: 2.0.2 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + '@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 @@ -21996,6 +22375,8 @@ snapshots: - supports-color - typescript + '@suchipi/femver@1.0.0': {} + '@supabase/auth-js@2.66.1': dependencies: '@supabase/node-fetch': 2.6.15 @@ -22496,6 +22877,10 @@ snapshots: '@types/json5@0.0.29': {} + '@types/jsonwebtoken@9.0.7': + dependencies: + '@types/node': 18.19.68 + '@types/katex@0.16.7': {} '@types/keyv@3.1.4': @@ -23342,6 +23727,11 @@ snapshots: abbrev@2.0.0: {} + abitype@1.0.6(typescript@5.7.2)(zod@3.23.8): + optionalDependencies: + typescript: 5.7.2 + zod: 3.23.8 + abitype@1.0.6(typescript@5.7.2)(zod@3.24.1): optionalDependencies: typescript: 5.7.2 @@ -23999,6 +24389,8 @@ snapshots: base64-js@1.5.1: {} + bech32@2.0.0: {} + better-opn@3.0.2: dependencies: open: 8.4.2 @@ -24499,6 +24891,18 @@ snapshots: queue-manager: file:packages/usdk/packages/upstreet-agent/packages/queue-manager zjs: '@upstreet/zjs@file:packages/usdk/packages/upstreet-agent/packages/react-agents-client/packages/multiplayer/packages/zjs' + coinbase-api@1.0.5(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + axios: 1.7.9 + isomorphic-ws: 4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + jsonwebtoken: 9.0.2 + nanoid: 3.3.8 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - debug + - utf-8-validate + collapse-white-space@2.1.0: {} collect-v8-coverage@1.0.2: {} @@ -25878,7 +26282,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1): + eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1): dependencies: debug: 3.2.7 enhanced-resolve: 0.9.1 @@ -25906,14 +26310,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1) + eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1) transitivePeerDependencies: - supports-color @@ -25982,7 +26386,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -27196,12 +27600,26 @@ snapshots: p-cancelable: 2.1.1 responselike: 2.0.1 + gql.tada@1.8.10(graphql@16.10.0)(typescript@5.7.2): + dependencies: + '@0no-co/graphql.web': 1.0.12(graphql@16.10.0) + '@0no-co/graphqlsp': 1.12.16(graphql@16.10.0)(typescript@5.7.2) + '@gql.tada/cli-utils': 1.6.3(@0no-co/graphqlsp@1.12.16(graphql@16.10.0)(typescript@5.7.2))(graphql@16.10.0)(typescript@5.7.2) + '@gql.tada/internal': 1.0.8(graphql@16.10.0)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' + - graphql + graceful-fs@4.2.10: {} graceful-fs@4.2.11: {} graphemer@1.4.0: {} + graphql@16.10.0: {} + gray-matter@4.0.3: dependencies: js-yaml: 3.14.1 @@ -28696,6 +29114,19 @@ snapshots: jsonpointer@5.0.1: {} + jsonwebtoken@9.0.2: + dependencies: + jws: 3.2.2 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 + ms: 2.1.3 + semver: 7.6.3 + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 @@ -28716,12 +29147,23 @@ snapshots: just-zip-it@2.3.1: {} + jwa@1.4.1: + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + jwa@2.0.0: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 + jws@3.2.2: + dependencies: + jwa: 1.4.1 + safe-buffer: 5.2.1 + jws@4.0.0: dependencies: jwa: 2.0.0 @@ -28967,12 +29409,24 @@ snapshots: lodash.debounce@4.0.8: {} + lodash.includes@4.3.0: {} + + lodash.isboolean@3.0.3: {} + + lodash.isinteger@4.0.4: {} + + lodash.isnumber@3.0.3: {} + lodash.isplainobject@4.0.6: {} + lodash.isstring@4.0.1: {} + lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} + lodash.once@4.1.1: {} + lodash.snakecase@4.1.1: {} lodash.sortby@4.7.0: {} @@ -30483,6 +30937,20 @@ snapshots: dependencies: '@noble/hashes': 1.6.1 + ox@0.1.2(typescript@5.7.2)(zod@3.23.8): + dependencies: + '@adraffy/ens-normalize': 1.10.1 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.5.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.6(typescript@5.7.2)(zod@3.23.8) + eventemitter3: 5.0.1 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - zod + ox@0.1.2(typescript@5.7.2)(zod@3.24.1): dependencies: '@adraffy/ens-normalize': 1.10.1 @@ -30795,6 +31263,8 @@ snapshots: dependencies: '@babel/runtime': 7.26.0 + poseidon-lite@0.2.1: {} + possible-typed-array-names@1.0.0: {} postcss-calc@8.2.4(postcss@8.4.49): @@ -33666,7 +34136,10 @@ snapshots: '@electric-sql/pglite': 0.2.15 '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) '@elizaos/plugin-3d-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) + '@elizaos/plugin-sui': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(form-data@4.0.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-tee': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-trustdb': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-twitter': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) @@ -33713,6 +34186,8 @@ snapshots: - '@babel/core' - '@edge-runtime/vm' - '@google-cloud/vertexai' + - '@gql.tada/svelte-support' + - '@gql.tada/vue-support' - '@jest/transform' - '@jest/types' - '@langchain/anthropic' @@ -33935,6 +34410,8 @@ snapshots: v8n@1.5.1: {} + valibot@0.36.0: {} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -33984,6 +34461,24 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 + viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8): + dependencies: + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + '@scure/bip32': 1.5.0 + '@scure/bip39': 1.4.0 + abitype: 1.0.6(typescript@5.7.2)(zod@3.23.8) + isows: 1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + ox: 0.1.2(typescript@5.7.2)(zod@3.23.8) + webauthn-p256: 0.0.10 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): dependencies: '@noble/curves': 1.6.0 @@ -34631,7 +35126,7 @@ snapshots: eslint-config-xo: 0.45.0(eslint@8.57.1) eslint-config-xo-typescript: 5.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) eslint-formatter-pretty: 6.0.1 - eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1) + eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1) eslint-plugin-ava: 14.0.0(eslint@8.57.1) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1) From 64815eccf3893ad1d1252327c7523bf524aa1ae7 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:36:16 -0800 Subject: [PATCH 046/312] More plugins integration --- .../react-agents/components/plugins/index.tsx | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index e5957cdcd..b4f4acfd1 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -7,6 +7,9 @@ import { solanaPlugin } from '@elizaos/plugin-solana'; import { teePlugin } from '@elizaos/plugin-tee'; import { TrustScoreDatabase } from '@elizaos/plugin-trustdb'; import { twitterPlugin } from '@elizaos/plugin-twitter'; +import createGoatPlugin from '@elizaos/plugin-goat'; +import { plugins as coinbasePlugins } from '@elizaos/plugin-coinbase'; +import suiPlugin from '@elizaos/plugin-sui'; function generateZodSchema(obj: any): z.ZodTypeAny { if (typeof obj === "string") return z.string(); @@ -172,15 +175,36 @@ const pluginWrap = (plugin: IPlugin) => (props: any) => { ); }; +const pluginWrapObject = (plugins: { + [key: string]: IPlugin; +}) => (props: any) => { + return ( + <> + {Object.keys(plugins).map((key) => { + const Plugin = pluginWrap(plugins[key]); + return ( + + ); + })} + + ); +}; const adapterWrap = (adapter: IAdapter) => (props: any) => { console.log('load adapter', adapter); return null; }; +// const goatPlugin = awaitcreateGoatPlugin(function getSetting(key: string) { +// return ''; +// }); + export const plugins = { '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), '@elizaos/plugin-tee': pluginWrap(teePlugin), '@elizaos/plugin-twitter': pluginWrap(twitterPlugin), + '@elizaos/plugin-coinbase': pluginWrapObject(coinbasePlugins), + '@elizaos/plugin-sui': pluginWrap(suiPlugin), + // '@elizaos/plugin-goat': pluginWrap(goatPlugin), '@elizaos/plugin-trustdb': adapterWrap(TrustScoreDatabase), }; \ No newline at end of file From f760afffe05fd86b2e1e040c8597290298851d4d Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:36:25 -0800 Subject: [PATCH 047/312] Plugins hacks --- .../plugins/plugin-coinbase/package.json | 14 ++++++++------ .../components/plugins/plugin-goat/package.json | 3 +-- .../components/plugins/plugin-sui/package.json | 3 +-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json index bd99a43c3..6d147ceba 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/package.json @@ -1,19 +1,21 @@ { "name": "@elizaos/plugin-coinbase", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "coinbase-api": "1.0.5", + "@coinbase/coinbase-sdk": "^0.13.0", + "@types/jsonwebtoken": "^9.0.7", "coinbase-advanced-sdk": "file:./advanced-sdk-ts", + "coinbase-api": "1.0.5", + "csv-parse": "^5.6.0", + "csv-writer": "^1.6.0", "jsonwebtoken": "^9.0.2", - "@types/jsonwebtoken": "^9.0.7", "node-fetch": "^2.6.1" }, "devDependencies": { - "tsup": "8.3.5", - "@types/node": "^20.0.0" + "@types/node": "^20.0.0", + "tsup": "8.3.5" }, "scripts": { "build": "tsup --format esm --dts", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json index 5685eb24f..703f52043 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat/package.json @@ -1,9 +1,8 @@ { "name": "@elizaos/plugin-goat", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { "@goat-sdk/core": "0.3.8", "@goat-sdk/plugin-erc20": "0.1.7", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json index c35a30bf0..d02a95fd4 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui/package.json @@ -1,9 +1,8 @@ { "name": "@elizaos/plugin-sui", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { "@mysten/sui": "^1.16.0", "bignumber": "1.1.0", From 417b00d3adabc2cf98a090e58034105d9e28877e Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:36:31 -0800 Subject: [PATCH 048/312] Update lock --- pnpm-lock.yaml | 276 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 263 insertions(+), 13 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7ccbb5499..96a33b0e4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -830,7 +830,7 @@ importers: version: link:packages/update-notifier upstreet-agent: specifier: file:./packages/upstreet-agent - version: file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@google-cloud/vertexai@1.9.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(axios@1.7.9)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) + version: file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) vercel: specifier: ^34.2.6 version: 34.4.0(@swc/core@1.10.1(@swc/helpers@0.5.13)) @@ -947,7 +947,7 @@ importers: version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-coinbase': specifier: file:./packages/react-agents/components/plugins/plugin-coinbase - version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(utf-8-validate@5.0.10) + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) '@elizaos/plugin-goat': specifier: file:./packages/react-agents/components/plugins/plugin-goat version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) @@ -1393,6 +1393,7 @@ packages: '@ai-sdk/react@0.0.70': resolution: {integrity: sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ==} + version: 0.0.70 engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -2234,6 +2235,9 @@ packages: '@coinbase-samples/advanced-sdk-ts@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts, type: directory} + '@coinbase/coinbase-sdk@0.13.0': + resolution: {integrity: sha512-qYOcFwTANhiJvSTF2sn53Hkycj2UebOIzieNOkg42qWD606gCudCBuzV3PDrOQYVJBS/g10hyX10u5yPkIZ89w==} + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -7052,6 +7056,7 @@ packages: ai@3.4.33: resolution: {integrity: sha512-plBlrVZKwPoRTmM8+D1sJac9Bq8eaa2jiZlHLZIWekKWI1yMWYZvCCEezY9ASPwRhULYDJB2VhKOBUUeg3S5JQ==} + version: 3.4.33 engines: {node: '>=18'} peerDependencies: openai: ^4.42.0 @@ -7394,6 +7399,16 @@ packages: resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==} engines: {node: '>=4'} + axios-mock-adapter@1.22.0: + resolution: {integrity: sha512-dmI0KbkyAhntUR05YY96qg2H6gg0XMl2+qTW0xmYg6Up+BFBAJYRLROMXRdDEL06/Wqwa0TJThAYvFtSFdRCZw==} + peerDependencies: + axios: '>= 0.17.0' + + axios-retry@4.5.0: + resolution: {integrity: sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ==} + peerDependencies: + axios: 0.x || 1.x + axios@1.7.9: resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} @@ -7485,6 +7500,10 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + base64url@3.0.1: + resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} + engines: {node: '>=6.0.0'} + bech32@2.0.0: resolution: {integrity: sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==} @@ -7527,6 +7546,13 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bip32@4.0.0: + resolution: {integrity: sha512-aOGy88DDlVUhspIXJN+dVEtclhIsfAUppD43V0j40cPTld3pv/0X/MlrZSZ6jowIaQQzFwP8M6rFU2z2mVYjDQ==} + engines: {node: '>=6.0.0'} + + bip39@3.1.0: + resolution: {integrity: sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -7542,6 +7568,9 @@ packages: bmp-ts@1.0.9: resolution: {integrity: sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw==} + bn.js@4.12.1: + resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} + bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} @@ -7577,6 +7606,9 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + browser-assert@1.2.1: resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} @@ -7601,6 +7633,9 @@ packages: bs58@6.0.0: resolution: {integrity: sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw==} + bs58check@2.1.2: + resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -7848,6 +7883,10 @@ packages: ci-parallel-vars@1.0.1: resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} + cipher-base@1.0.6: + resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} + engines: {node: '>= 0.10'} + citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} @@ -8204,6 +8243,9 @@ packages: resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} engines: {node: '>= 14'} + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8342,6 +8384,12 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csv-parse@5.6.0: + resolution: {integrity: sha512-l3nz3euub2QMg5ouu5U09Ew9Wf6/wQ8I++ch1loQ0ljmzhmfZYrH9fflS22i/PQEvsPvxCwxgz5q7UB8K1JO4Q==} + + csv-writer@1.6.0: + resolution: {integrity: sha512-NOx7YDFWEsM/fTRAJjRpPp8t+MKRVvniAg9wQlUKx20MFrPs73WLJhFf5iteqrxNYnsy924K3Iroh3yNHeYd2g==} + currently-unhandled@0.4.1: resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} engines: {node: '>=0.10.0'} @@ -8780,6 +8828,9 @@ packages: engines: {node: '>= 12.20.55'} hasBin: true + elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} + emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -10147,6 +10198,13 @@ packages: has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -10192,6 +10250,9 @@ packages: hls.js@1.5.17: resolution: {integrity: sha512-wA66nnYFvQa1o4DO/BFgLNRKnBTVXpNeldGRBJ2Y0SvFtdwvFKCbqa9zhHoZLoxHhZ+jYsj3aIBkWQQCPNOhMw==} + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -10684,6 +10745,10 @@ packages: resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} engines: {node: '>=0.10.0'} + is-retry-allowed@2.2.0: + resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} + engines: {node: '>=10'} + is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} @@ -11435,6 +11500,9 @@ packages: resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} engines: {node: '>= 12.0.0'} + long@5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -11551,6 +11619,9 @@ packages: resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} engines: {node: '>=8'} + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + mdast-util-definitions@4.0.0: resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==} @@ -11979,6 +12050,12 @@ packages: engines: {node: '>=16.13'} hasBin: true + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimatch@10.0.1: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} @@ -12247,6 +12324,9 @@ packages: node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + node-jose@2.2.0: + resolution: {integrity: sha512-XPCvJRr94SjLrSIm4pbYHKLEaOsDvJCpyFw/6V/KK/IXmyZ6SFBzAUDO9HQf4DB/nTEFcRGH87mNciOP23kFjw==} + node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -13844,6 +13924,9 @@ packages: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + roarr@2.15.4: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} @@ -13961,6 +14044,10 @@ packages: scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + secp256k1@5.0.1: + resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} + engines: {node: '>=18.0.0'} + section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} @@ -14048,6 +14135,10 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -14559,6 +14650,7 @@ packages: swr@2.3.0: resolution: {integrity: sha512-NyZ76wA4yElZWBHzSgEJc28a0u6QZvhb6w0azeL2k7+Q1gAzVK+IqQYXhVOC/mzi+HZIozrZvBVeSeOZNR2bqA==} + version: 2.3.0 peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -15038,6 +15130,9 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typeforce@1.18.0: + resolution: {integrity: sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==} + typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'} @@ -15668,6 +15763,9 @@ packages: resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} engines: {node: '>=18'} + wif@2.0.6: + resolution: {integrity: sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ==} + winston-transport@4.9.0: resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} engines: {node: '>= 12.0.0'} @@ -17148,6 +17246,28 @@ snapshots: transitivePeerDependencies: - encoding + '@coinbase/coinbase-sdk@0.13.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)': + dependencies: + '@scure/bip32': 1.5.0 + abitype: 1.0.6(typescript@5.7.2)(zod@3.24.1) + axios: 1.7.9 + axios-mock-adapter: 1.22.0(axios@1.7.9) + axios-retry: 4.5.0(axios@1.7.9) + bip32: 4.0.0 + bip39: 3.1.0 + decimal.js: 10.4.3 + dotenv: 16.4.7 + ethers: 6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + node-jose: 2.2.0 + secp256k1: 5.0.1 + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + transitivePeerDependencies: + - bufferutil + - debug + - typescript + - utf-8-validate + - zod + '@colors/colors@1.5.0': optional: true @@ -17301,7 +17421,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10)': + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10)': dependencies: '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) '@ai-sdk/google': 0.0.55(zod@3.23.8) @@ -17312,7 +17432,7 @@ snapshots: '@fal-ai/client': 1.2.0 '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@types/uuid': 10.0.0 - ai: 3.4.33(openai@4.73.0(zod@3.23.8))(react@19.0.0-rc-df5f2736-20240712)(solid-js@1.9.3)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.13(typescript@5.7.2))(zod@3.23.8) + ai: 3.4.33(openai@4.73.0(zod@3.23.8))(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(zod@3.23.8) anthropic-vertex-ai: 1.0.2(zod@3.23.8) fastembed: 1.14.1 fastestsmallesttextencoderdecoder: 1.0.22 @@ -17354,7 +17474,7 @@ snapshots: - utf-8-validate - vue - '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10)': + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(utf-8-validate@5.0.10)': dependencies: '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) '@ai-sdk/google': 0.0.55(zod@3.23.8) @@ -17374,7 +17494,7 @@ snapshots: handlebars: 4.7.8 js-sha1: 0.7.0 js-tiktoken: 1.0.15 - langchain: 0.3.6(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(handlebars@4.7.8)(openai@4.73.0(zod@3.23.8)) + langchain: 0.3.6(@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8)))(axios@1.7.9)(handlebars@4.7.8)(openai@4.73.0(zod@3.23.8)) ollama-ai-provider: 0.16.1(zod@3.23.8) openai: 4.73.0(zod@3.23.8) tinyld: 1.3.4 @@ -17426,18 +17546,23 @@ snapshots: - utf-8-validate - yaml - '@elizaos/plugin-coinbase@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + '@elizaos/plugin-coinbase@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)': dependencies: + '@coinbase/coinbase-sdk': 0.13.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) '@types/jsonwebtoken': 9.0.7 coinbase-advanced-sdk: '@coinbase-samples/advanced-sdk-ts@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase/advanced-sdk-ts' coinbase-api: 1.0.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + csv-parse: 5.6.0 + csv-writer: 1.6.0 jsonwebtoken: 9.0.2 node-fetch: 2.7.0 transitivePeerDependencies: - bufferutil - debug - encoding + - typescript - utf-8-validate + - zod '@elizaos/plugin-goat@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1)': dependencies: @@ -22879,7 +23004,7 @@ snapshots: '@types/jsonwebtoken@9.0.7': dependencies: - '@types/node': 18.19.68 + '@types/node': 20.17.10 '@types/katex@0.16.7': {} @@ -24262,6 +24387,17 @@ snapshots: axe-core@4.10.2: {} + axios-mock-adapter@1.22.0(axios@1.7.9): + dependencies: + axios: 1.7.9 + fast-deep-equal: 3.1.3 + is-buffer: 2.0.5 + + axios-retry@4.5.0(axios@1.7.9): + dependencies: + axios: 1.7.9 + is-retry-allowed: 2.2.0 + axios@1.7.9: dependencies: follow-redirects: 1.15.9 @@ -24389,6 +24525,8 @@ snapshots: base64-js@1.5.1: {} + base64url@3.0.1: {} + bech32@2.0.0: {} better-opn@3.0.2: @@ -24427,6 +24565,17 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 + bip32@4.0.0: + dependencies: + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 + typeforce: 1.18.0 + wif: 2.0.6 + + bip39@3.1.0: + dependencies: + '@noble/hashes': 1.6.1 + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -24441,6 +24590,8 @@ snapshots: bmp-ts@1.0.9: {} + bn.js@4.12.1: {} + bn.js@5.2.1: {} body-parser@1.20.3: @@ -24499,6 +24650,8 @@ snapshots: dependencies: fill-range: 7.1.1 + brorand@1.1.0: {} + browser-assert@1.2.1: {} browser-util-inspect@0.2.0: {} @@ -24526,6 +24679,12 @@ snapshots: dependencies: base-x: 5.0.0 + bs58check@2.1.2: + dependencies: + bs58: 4.0.1 + create-hash: 1.2.0 + safe-buffer: 5.2.1 + bser@2.1.1: dependencies: node-int64: 0.4.0 @@ -24765,6 +24924,11 @@ snapshots: ci-parallel-vars@1.0.1: {} + cipher-base@1.0.6: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + citty@0.1.6: dependencies: consola: 3.2.3 @@ -25115,6 +25279,14 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.5.2 + create-hash@1.2.0: + dependencies: + cipher-base: 1.0.6 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + create-jest@29.7.0(@types/node@18.19.68)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)): dependencies: '@jest/types': 29.6.3 @@ -25325,6 +25497,10 @@ snapshots: csstype@3.1.3: {} + csv-parse@5.6.0: {} + + csv-writer@1.6.0: {} + currently-unhandled@0.4.1: dependencies: array-find-index: 1.0.2 @@ -25759,6 +25935,16 @@ snapshots: transitivePeerDependencies: - supports-color + elliptic@6.6.1: + dependencies: + bn.js: 4.12.1 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + emittery@0.13.1: {} emittery@1.0.3: {} @@ -27673,6 +27859,17 @@ snapshots: has-unicode@2.0.1: {} + hash-base@3.1.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + + hash.js@1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -27762,6 +27959,12 @@ snapshots: hls.js@1.5.17: {} + hmac-drbg@1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 @@ -28194,6 +28397,8 @@ snapshots: dependencies: is-unc-path: 1.0.0 + is-retry-allowed@2.2.0: {} + is-set@2.0.3: {} is-shared-array-buffer@1.0.3: @@ -29454,6 +29659,8 @@ snapshots: safe-stable-stringify: 2.5.0 triple-beam: 1.4.1 + long@5.2.3: {} + longest-streak@3.1.0: {} loose-envify@1.4.0: @@ -29559,6 +29766,12 @@ snapshots: dependencies: blueimp-md5: 2.19.0 + md5.js@1.3.5: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + mdast-util-definitions@4.0.0: dependencies: unist-util-visit: 2.0.3 @@ -30424,6 +30637,10 @@ snapshots: - supports-color - utf-8-validate + minimalistic-assert@1.0.1: {} + + minimalistic-crypto-utils@1.0.1: {} + minimatch@10.0.1: dependencies: brace-expansion: 2.0.1 @@ -30619,8 +30836,7 @@ snapshots: node-abort-controller@3.1.1: {} - node-addon-api@5.0.0: - optional: true + node-addon-api@5.0.0: {} node-addon-api@7.1.1: optional: true @@ -30661,6 +30877,18 @@ snapshots: node-int64@0.4.0: {} + node-jose@2.2.0: + dependencies: + base64url: 3.0.1 + buffer: 6.0.3 + es6-promise: 4.2.8 + lodash: 4.17.21 + long: 5.2.3 + node-forge: 1.3.1 + pako: 2.1.0 + process: 0.11.10 + uuid: 9.0.1 + node-releases@2.0.19: {} nofilter@3.1.0: {} @@ -32427,6 +32655,11 @@ snapshots: dependencies: glob: 10.4.5 + ripemd160@2.0.2: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + roarr@2.15.4: dependencies: boolean: 3.2.0 @@ -32612,6 +32845,12 @@ snapshots: dependencies: compute-scroll-into-view: 3.1.0 + secp256k1@5.0.1: + dependencies: + elliptic: 6.6.1 + node-addon-api: 5.0.0 + node-gyp-build: 4.8.4 + section-matter@1.0.0: dependencies: extend-shallow: 2.0.1 @@ -32713,6 +32952,11 @@ snapshots: setprototypeof@1.2.0: {} + sha.js@2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 @@ -33957,6 +34201,8 @@ snapshots: typedarray@0.0.6: {} + typeforce@1.18.0: {} + typescript@4.9.5: {} typescript@5.7.2: {} @@ -34130,13 +34376,13 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - upstreet-agent@file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@google-cloud/vertexai@1.9.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(axios@1.7.9)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0): + upstreet-agent@file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0): dependencies: '@aws-sdk/util-format-url': 3.709.0 '@electric-sql/pglite': 0.2.15 - '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) + '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(utf-8-validate@5.0.10) '@elizaos/plugin-3d-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) - '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-sui': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(form-data@4.0.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) @@ -34966,6 +35212,10 @@ snapshots: dependencies: string-width: 7.2.0 + wif@2.0.6: + dependencies: + bs58check: 2.1.2 + winston-transport@4.9.0: dependencies: logform: 2.7.0 From 9903fdc3efb9941e8772a8d43dd8e80f967e43b3 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:37:51 -0800 Subject: [PATCH 049/312] Add whatsapp plugin --- .../plugins/plugin-whatsapp/Readme.md | 154 ++++++++++++++++++ .../plugins/plugin-whatsapp/eslint.config.mjs | 9 + .../plugins/plugin-whatsapp/package.json | 26 +++ .../plugins/plugin-whatsapp/src/client.ts | 38 +++++ .../plugin-whatsapp/src/handlers/index.ts | 2 + .../src/handlers/message.handler.ts | 20 +++ .../src/handlers/webhook.handler.ts | 45 +++++ .../plugins/plugin-whatsapp/src/index.ts | 36 ++++ .../plugins/plugin-whatsapp/src/types.ts | 58 +++++++ .../plugin-whatsapp/src/utils/index.ts | 1 + .../plugin-whatsapp/src/utils/validators.ts | 44 +++++ .../plugins/plugin-whatsapp/tsconfig.json | 20 +++ .../plugins/plugin-whatsapp/tsup.config.ts | 19 +++ 13 files changed, 472 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/Readme.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/client.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/message.handler.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/webhook.handler.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/validators.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/Readme.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/Readme.md new file mode 100644 index 000000000..9324a5705 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/Readme.md @@ -0,0 +1,154 @@ +# WhatsApp Cloud API Plugin + +A plugin for integrating WhatsApp Cloud API with your application. + +## Installation + + + +npm install @eliza/plugin-whatsapp + +## Configuration + +typescript +import { WhatsAppPlugin } from '@eliza/plugin-whatsapp'; +const whatsappPlugin = new WhatsAppPlugin({ +accessToken: 'your_access_token', +phoneNumberId: 'your_phone_number_id', +webhookVerifyToken: 'your_webhook_verify_token', +businessAccountId: 'your_business_account_id' +}); + +## Usage + +### Sending Messages + +typescript +// Send a text message +await whatsappPlugin.sendMessage({ +type: 'text', +to: '1234567890', +content: 'Hello from WhatsApp!' +}); +// Send a template message +await whatsappPlugin.sendMessage({ +type: 'template', +to: '1234567890', +content: { +name: 'hello_world', +language: { +code: 'en' +} +} +}); + +### Handling Webhooks + +typescript +// Verify webhook +app.get('/webhook', (req, res) => { +const verified = await whatsappPlugin.verifyWebhook(req.query['hub.verify_token']); +if (verified) { +res.send(req.query['hub.challenge']); +} else { +res.sendStatus(403); +} +}); +// Handle webhook events +app.post('/webhook', (req, res) => { +await whatsappPlugin.handleWebhook(req.body); +res.sendStatus(200); +}); + +## Features + +- Send text messages +- Send template messages +- Webhook verification +- Webhook event handling +- Message status updates + +## API Reference + +### WhatsAppPlugin + +#### Constructor + +- `config: WhatsAppConfig` - Configuration object for the plugin + +#### Methods + +- `sendMessage(message: WhatsAppMessage): Promise` - Send a WhatsApp message +- `handleWebhook(event: WhatsAppWebhookEvent): Promise` - Process incoming webhook events +- `verifyWebhook(token: string): Promise` - Verify webhook token + +### Types + +typescript +interface WhatsAppConfig { +accessToken: string; +phoneNumberId: string; +webhookVerifyToken?: string; +businessAccountId?: string; +} +interface WhatsAppMessage { +type: 'text' | 'template'; +to: string; +content: string | WhatsAppTemplate; +} +interface WhatsAppTemplate { +name: string; +language: { +code: string; +}; +components?: Array<{ +type: string; +parameters: Array<{ +type: string; +text?: string; +}>; +}>; +} + +## Error Handling + +The plugin throws errors in the following cases: + +- Invalid configuration +- Failed message sending +- Webhook verification failure +- Invalid webhook payload + +Example error handling: + +typescript +try { +await whatsappPlugin.sendMessage({ +type: 'text', +to: '1234567890', +content: 'Hello!' +}); +} catch (error) { +console.error('Failed to send message:', error.message); +} + +## Best Practices + +1. Always validate phone numbers before sending messages +2. Use template messages for first-time messages to users +3. Store message IDs for tracking delivery status +4. Implement proper error handling +5. Set up webhook retry mechanisms +6. Keep your access tokens secure + +## Contributing + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/amazing-feature`) +3. Commit your changes (`git commit -m 'Add some amazing feature'`) +4. Push to the branch (`git push origin feature/amazing-feature`) +5. Open a Pull Request + +## License + +MIT diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/eslint.config.mjs new file mode 100644 index 000000000..d0d3c523f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/eslint.config.mjs @@ -0,0 +1,9 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [ + ...eslintGlobalConfig, + { + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + ignores: ["**/node_modules/**", "**/dist/**"], + }, +]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/package.json new file mode 100644 index 000000000..38b111646 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/package.json @@ -0,0 +1,26 @@ +{ + "name": "@elizaos/plugin-whatsapp", + "version": "0.1.7-alpha.2", + "description": "WhatsApp Cloud API plugin", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "jest", + "lint": "eslint --fix --cache ." + }, + "dependencies": { + "@elizaos/core": "workspace:*", + "axios": "1.7.8" + }, + "devDependencies": { + "@types/jest": "29.5.14", + "@types/node": "20.17.9", + "@typescript-eslint/eslint-plugin": "8.16.0", + "@typescript-eslint/parser": "8.16.0", + "jest": "29.7.0", + "ts-jest": "29.2.5", + "typescript": "5.6.3" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/client.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/client.ts new file mode 100644 index 000000000..0656b6390 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/client.ts @@ -0,0 +1,38 @@ +import axios, { AxiosInstance } from "axios"; +import { WhatsAppConfig, WhatsAppMessage } from "./types"; + +export class WhatsAppClient { + private client: AxiosInstance; + private config: WhatsAppConfig; + + constructor(config: WhatsAppConfig) { + this.config = config; + this.client = axios.create({ + baseURL: "https://graph.facebook.com/v17.0", + headers: { + Authorization: `Bearer ${config.accessToken}`, + "Content-Type": "application/json", + }, + }); + } + + async sendMessage(message: WhatsAppMessage): Promise { + const endpoint = `/${this.config.phoneNumberId}/messages`; + + const payload = { + messaging_product: "whatsapp", + recipient_type: "individual", + to: message.to, + type: message.type, + ...(message.type === "text" + ? { text: { body: message.content } } + : { template: message.content }), + }; + + return this.client.post(endpoint, payload); + } + + async verifyWebhook(token: string): Promise { + return token === this.config.webhookVerifyToken; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/index.ts new file mode 100644 index 000000000..5c2317beb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/index.ts @@ -0,0 +1,2 @@ +export * from "./message.handler"; +export * from "./webhook.handler"; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/message.handler.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/message.handler.ts new file mode 100644 index 000000000..7bcc2996d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/message.handler.ts @@ -0,0 +1,20 @@ +import { WhatsAppClient } from "../client"; +import { WhatsAppMessage } from "../types"; + +export class MessageHandler { + constructor(private client: WhatsAppClient) {} + + async send(message: WhatsAppMessage): Promise { + try { + const response = await this.client.sendMessage(message); + return response.data; + } catch (error: unknown) { + if (error instanceof Error) { + throw new Error( + `Failed to send WhatsApp message: ${error.message}` + ); + } + throw new Error('Failed to send WhatsApp message'); + } + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/webhook.handler.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/webhook.handler.ts new file mode 100644 index 000000000..cf7dc73ae --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/webhook.handler.ts @@ -0,0 +1,45 @@ +import { WhatsAppClient } from "../client"; +import { WhatsAppWebhookEvent } from "../types"; + +export class WebhookHandler { + constructor(private client: WhatsAppClient) {} + + async handle(event: WhatsAppWebhookEvent): Promise { + try { + // Process messages + if (event.entry?.[0]?.changes?.[0]?.value?.messages) { + const messages = event.entry[0].changes[0].value.messages; + for (const message of messages) { + await this.handleMessage(message); + } + } + + // Process status updates + if (event.entry?.[0]?.changes?.[0]?.value?.statuses) { + const statuses = event.entry[0].changes[0].value.statuses; + for (const status of statuses) { + await this.handleStatus(status); + } + } + } catch (error: unknown) { + if (error instanceof Error) { + throw new Error( + `Failed to send WhatsApp message: ${error.message}` + ); + } + throw new Error("Failed to send WhatsApp message"); + } + } + + private async handleMessage(message: any): Promise { + // Implement message handling logic + // This could emit events or trigger callbacks based on your framework's needs + console.log("Received message:", message); + } + + private async handleStatus(status: any): Promise { + // Implement status update handling logic + // This could emit events or trigger callbacks based on your framework's needs + console.log("Received status update:", status); + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/index.ts new file mode 100644 index 000000000..b4c12ac45 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/index.ts @@ -0,0 +1,36 @@ +import { Plugin } from "@elizaos/core"; +import { WhatsAppClient } from "./client"; +import { WhatsAppConfig, WhatsAppMessage, WhatsAppWebhookEvent } from "./types"; +import { MessageHandler, WebhookHandler } from "./handlers"; + +export class WhatsAppPlugin implements Plugin { + private client: WhatsAppClient; + private messageHandler: MessageHandler; + private webhookHandler: WebhookHandler; + + name: string; + description: string; + + constructor(private config: WhatsAppConfig) { + this.name = "WhatsApp Cloud API Plugin"; + this.description = + "A plugin for integrating WhatsApp Cloud API with your application."; + this.client = new WhatsAppClient(config); + this.messageHandler = new MessageHandler(this.client); + this.webhookHandler = new WebhookHandler(this.client); + } + + async sendMessage(message: WhatsAppMessage): Promise { + return this.messageHandler.send(message); + } + + async handleWebhook(event: WhatsAppWebhookEvent): Promise { + return this.webhookHandler.handle(event); + } + + async verifyWebhook(token: string): Promise { + return this.client.verifyWebhook(token); + } +} + +export * from "./types"; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/types.ts new file mode 100644 index 000000000..ac782b7cc --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/types.ts @@ -0,0 +1,58 @@ +export interface WhatsAppConfig { + accessToken: string; + phoneNumberId: string; + webhookVerifyToken?: string; + businessAccountId?: string; +} + +export interface WhatsAppMessage { + type: "text" | "template"; + to: string; + content: string | WhatsAppTemplate; +} + +export interface WhatsAppTemplate { + name: string; + language: { + code: string; + }; + components?: Array<{ + type: string; + parameters: Array<{ + type: string; + text?: string; + }>; + }>; +} + +export interface WhatsAppWebhookEvent { + object: string; + entry: Array<{ + id: string; + changes: Array<{ + value: { + messaging_product: string; + metadata: { + display_phone_number: string; + phone_number_id: string; + }; + statuses?: Array<{ + id: string; + status: string; + timestamp: string; + recipient_id: string; + }>; + messages?: Array<{ + from: string; + id: string; + timestamp: string; + text?: { + body: string; + }; + type: string; + }>; + }; + field: string; + }>; + }>; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/index.ts new file mode 100644 index 000000000..58564490f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/index.ts @@ -0,0 +1 @@ +export * from "./validators"; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/validators.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/validators.ts new file mode 100644 index 000000000..f76f54969 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/validators.ts @@ -0,0 +1,44 @@ +import { WhatsAppMessage, WhatsAppTemplate, WhatsAppConfig } from "../types"; + +export function validateConfig(config: WhatsAppConfig): void { + if (!config.accessToken) { + throw new Error("WhatsApp access token is required"); + } + if (!config.phoneNumberId) { + throw new Error("WhatsApp phone number ID is required"); + } +} + +export function validateMessage(message: WhatsAppMessage): void { + if (!message.to) { + throw new Error("Recipient phone number is required"); + } + + if (!message.type) { + throw new Error("Message type is required"); + } + + if (!message.content) { + throw new Error("Message content is required"); + } + + if (message.type === "template") { + validateTemplate(message.content as WhatsAppTemplate); + } +} + +export function validateTemplate(template: WhatsAppTemplate): void { + if (!template.name) { + throw new Error("Template name is required"); + } + + if (!template.language || !template.language.code) { + throw new Error("Template language code is required"); + } +} + +export function validatePhoneNumber(phoneNumber: string): boolean { + // Basic phone number validation - can be enhanced based on requirements + const phoneRegex = /^\d{1,15}$/; + return phoneRegex.test(phoneNumber); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsconfig.json new file mode 100644 index 000000000..f21178232 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "src", + "baseUrl": ".", + "types": [ + "node", + "jest" + ] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "node_modules", + "dist", + "**/*.test.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsup.config.ts new file mode 100644 index 000000000..a47c9eb64 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsup.config.ts @@ -0,0 +1,19 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + ], +}); From 1df9a71ce3051bf87a41c8a97f965c111cfd2c09 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:47:04 -0800 Subject: [PATCH 050/312] Move plugin-whatsapp to clients --- .../components/{plugins => clients}/plugin-whatsapp/Readme.md | 0 .../{plugins => clients}/plugin-whatsapp/eslint.config.mjs | 0 .../{plugins => clients}/plugin-whatsapp/package.json | 4 +--- .../{plugins => clients}/plugin-whatsapp/src/client.ts | 0 .../plugin-whatsapp/src/handlers/index.ts | 0 .../plugin-whatsapp/src/handlers/message.handler.ts | 0 .../plugin-whatsapp/src/handlers/webhook.handler.ts | 0 .../{plugins => clients}/plugin-whatsapp/src/index.ts | 0 .../{plugins => clients}/plugin-whatsapp/src/types.ts | 0 .../{plugins => clients}/plugin-whatsapp/src/utils/index.ts | 0 .../plugin-whatsapp/src/utils/validators.ts | 0 .../{plugins => clients}/plugin-whatsapp/tsconfig.json | 0 .../{plugins => clients}/plugin-whatsapp/tsup.config.ts | 0 13 files changed, 1 insertion(+), 3 deletions(-) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/Readme.md (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/eslint.config.mjs (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/package.json (86%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/src/client.ts (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/src/handlers/index.ts (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/src/handlers/message.handler.ts (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/src/handlers/webhook.handler.ts (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/src/index.ts (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/src/types.ts (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/src/utils/index.ts (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/src/utils/validators.ts (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/tsconfig.json (100%) rename packages/usdk/packages/upstreet-agent/packages/react-agents/components/{plugins => clients}/plugin-whatsapp/tsup.config.ts (100%) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/Readme.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/Readme.md similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/Readme.md rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/Readme.md diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/eslint.config.mjs similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/eslint.config.mjs rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/eslint.config.mjs diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/package.json similarity index 86% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/package.json rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/package.json index 38b111646..fd266db33 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/package.json @@ -2,8 +2,7 @@ "name": "@elizaos/plugin-whatsapp", "version": "0.1.7-alpha.2", "description": "WhatsApp Cloud API plugin", - "main": "dist/index.js", - "types": "dist/index.d.ts", + "main": "src/index.ts", "scripts": { "build": "tsup --format esm --dts", "dev": "tsup --format esm --dts --watch", @@ -11,7 +10,6 @@ "lint": "eslint --fix --cache ." }, "dependencies": { - "@elizaos/core": "workspace:*", "axios": "1.7.8" }, "devDependencies": { diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/client.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/client.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/client.ts rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/client.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/handlers/index.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/index.ts rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/handlers/index.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/message.handler.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/handlers/message.handler.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/message.handler.ts rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/handlers/message.handler.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/webhook.handler.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/handlers/webhook.handler.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/handlers/webhook.handler.ts rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/handlers/webhook.handler.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/index.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/index.ts rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/index.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/types.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/types.ts rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/types.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/utils/index.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/index.ts rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/utils/index.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/validators.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/utils/validators.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/src/utils/validators.ts rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/src/utils/validators.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/tsconfig.json similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsconfig.json rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/tsconfig.json diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/tsup.config.ts similarity index 100% rename from packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-whatsapp/tsup.config.ts rename to packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp/tsup.config.ts From d41ad5e03cedc53ea69847dbc7726590448c8615 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:48:09 -0800 Subject: [PATCH 051/312] Add clients to types --- .../upstreet-agent/packages/react-agents/types/react-agents.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/types/react-agents.d.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/types/react-agents.d.ts index d928f9aa6..7f47f342b 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/types/react-agents.d.ts +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/types/react-agents.d.ts @@ -37,6 +37,7 @@ export type AgentObjectData = { smallModel?: string; largeModel?: string; features?: string[]; + clients?: string[]; plugins?: string[]; address?: string; stripeConnectAccountId?: string; From 3b458e930ef98d13579a66773eaa24aa2f2c6d8e Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:48:53 -0800 Subject: [PATCH 052/312] Add initial clients integration --- .../react-agents/components/clients/index.tsx | 25 ++++++++++++++++ .../react-agents/components/core/clients.tsx | 29 +++++++++++++++++++ .../react-agents/components/plugins/index.tsx | 1 - .../packages/react-agents/index.tsx | 1 + .../react-agents/util/agent-default.tsx | 14 +++++++++ 5 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/index.tsx create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/clients.tsx create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/util/agent-default.tsx diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/index.tsx new file mode 100644 index 000000000..e61d5f9ca --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/index.tsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { Action, useEnv } from 'react-agents'; +import { z } from 'zod'; +import util from 'util'; +import { WhatsAppPlugin } from '@elizaos/plugin-whatsapp'; + +// + +type IClient = (args: any) => any; + +// + +const clientWrap = (client: IClient) => (props: any) => { + console.log('render client', util.inspect(client, { + depth: 7, + })); + return ( + <> + + ); +}; + +export const clients = { + '@elizaos/plugin-whatsapp': clientWrap(WhatsAppPlugin), +}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/clients.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/clients.tsx new file mode 100644 index 000000000..b62882685 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/core/clients.tsx @@ -0,0 +1,29 @@ +import React from 'react'; +import type { + AgentObject, +} from '../../types'; +import { + clients, +} from '../clients/index'; + +type ClientsProps = { + config?: AgentObject; +}; + +export const Clients = (props: ClientsProps) => { + const clientsConfig = props.config?.clients ?? {}; + return ( + <> + {Object.keys(clientsConfig).map((key) => { + const value = clientsConfig[key]; + const Client = clients[key]; + if (!Client) { + throw new Error(`Client not found: ${key}`); + } + return ( + + ); + })} + + ); +}; \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index b4f4acfd1..0b0735951 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -197,7 +197,6 @@ const adapterWrap = (adapter: IAdapter) => (props: any) => { // const goatPlugin = awaitcreateGoatPlugin(function getSetting(key: string) { // return ''; // }); - export const plugins = { '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx index 3f062d1ca..9056be04d 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx @@ -8,6 +8,7 @@ export * from './components/core/personality'; export * from './components/core/prompt'; export * from './components/core/uniform'; export * from './components/core/features'; +export * from './components/core/clients'; export * from './components/core/plugins'; // export * from './components/features/browser'; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/util/agent-default.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/util/agent-default.tsx new file mode 100644 index 000000000..3e03b2af5 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/util/agent-default.tsx @@ -0,0 +1,14 @@ +import React from 'react'; +import { Agent, Features, Clients, Plugins } from 'react-agents'; +import config from './agent.json'; + +export default function MyAgent() { + return ( + + + + + {/* ... */} + + ); +}; \ No newline at end of file From 1910740b86a57fbec769d3773a045b11c809a24c Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:49:43 -0800 Subject: [PATCH 053/312] Update lock --- pnpm-lock.yaml | 41 +++++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 96a33b0e4..458fb1ebe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -830,7 +830,7 @@ importers: version: link:packages/update-notifier upstreet-agent: specifier: file:./packages/upstreet-agent - version: file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) + version: file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@google-cloud/vertexai@1.9.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(axios@1.7.9)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) vercel: specifier: ^34.2.6 version: 34.4.0(@swc/core@1.10.1(@swc/helpers@0.5.13)) @@ -966,6 +966,9 @@ importers: '@elizaos/plugin-twitter': specifier: file:./packages/react-agents/components/plugins/plugin-twitter version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + '@elizaos/plugin-whatsapp': + specifier: file:./packages/react-agents/components/clients/plugin-whatsapp + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp '@iarna/toml': specifier: ^2.2.5 version: 2.2.5 @@ -1393,7 +1396,6 @@ packages: '@ai-sdk/react@0.0.70': resolution: {integrity: sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ==} - version: 0.0.70 engines: {node: '>=18'} peerDependencies: react: ^18 || ^19 || ^19.0.0-rc @@ -2384,6 +2386,9 @@ packages: '@elizaos/plugin-twitter@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter, type: directory} + '@elizaos/plugin-whatsapp@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp, type: directory} + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -7056,7 +7061,6 @@ packages: ai@3.4.33: resolution: {integrity: sha512-plBlrVZKwPoRTmM8+D1sJac9Bq8eaa2jiZlHLZIWekKWI1yMWYZvCCEezY9ASPwRhULYDJB2VhKOBUUeg3S5JQ==} - version: 3.4.33 engines: {node: '>=18'} peerDependencies: openai: ^4.42.0 @@ -7409,6 +7413,9 @@ packages: peerDependencies: axios: 0.x || 1.x + axios@1.7.8: + resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} + axios@1.7.9: resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} @@ -14650,7 +14657,6 @@ packages: swr@2.3.0: resolution: {integrity: sha512-NyZ76wA4yElZWBHzSgEJc28a0u6QZvhb6w0azeL2k7+Q1gAzVK+IqQYXhVOC/mzi+HZIozrZvBVeSeOZNR2bqA==} - version: 2.3.0 peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -17421,7 +17427,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10)': + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10)': dependencies: '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) '@ai-sdk/google': 0.0.55(zod@3.23.8) @@ -17432,7 +17438,7 @@ snapshots: '@fal-ai/client': 1.2.0 '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@types/uuid': 10.0.0 - ai: 3.4.33(openai@4.73.0(zod@3.23.8))(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(zod@3.23.8) + ai: 3.4.33(openai@4.73.0(zod@3.23.8))(react@19.0.0-rc-df5f2736-20240712)(solid-js@1.9.3)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.13(typescript@5.7.2))(zod@3.23.8) anthropic-vertex-ai: 1.0.2(zod@3.23.8) fastembed: 1.14.1 fastestsmallesttextencoderdecoder: 1.0.22 @@ -17474,7 +17480,7 @@ snapshots: - utf-8-validate - vue - '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(utf-8-validate@5.0.10)': + '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10)': dependencies: '@ai-sdk/anthropic': 0.0.56(zod@3.23.8) '@ai-sdk/google': 0.0.55(zod@3.23.8) @@ -17494,7 +17500,7 @@ snapshots: handlebars: 4.7.8 js-sha1: 0.7.0 js-tiktoken: 1.0.15 - langchain: 0.3.6(@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8)))(axios@1.7.9)(handlebars@4.7.8)(openai@4.73.0(zod@3.23.8)) + langchain: 0.3.6(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(handlebars@4.7.8)(openai@4.73.0(zod@3.23.8)) ollama-ai-provider: 0.16.1(zod@3.23.8) openai: 4.73.0(zod@3.23.8) tinyld: 1.3.4 @@ -17856,6 +17862,12 @@ snapshots: - typescript - yaml + '@elizaos/plugin-whatsapp@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp': + dependencies: + axios: 1.7.8 + transitivePeerDependencies: + - debug + '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 @@ -24398,6 +24410,14 @@ snapshots: axios: 1.7.9 is-retry-allowed: 2.2.0 + axios@1.7.8: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.1 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + axios@1.7.9: dependencies: follow-redirects: 1.15.9 @@ -34376,11 +34396,11 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - upstreet-agent@file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0): + upstreet-agent@file:packages/usdk/packages/upstreet-agent(@babel/core@7.26.0)(@google-cloud/vertexai@1.9.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(axios@1.7.9)(babel-jest@29.7.0(@babel/core@7.26.0))(babel-plugin-macros@3.1.0)(bufferutil@4.0.9)(esbuild@0.20.2)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(terser@5.37.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0): dependencies: '@aws-sdk/util-format-url': 3.709.0 '@electric-sql/pglite': 0.2.15 - '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(utf-8-validate@5.0.10) + '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) '@elizaos/plugin-3d-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) @@ -34389,6 +34409,7 @@ snapshots: '@elizaos/plugin-tee': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-trustdb': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-twitter': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + '@elizaos/plugin-whatsapp': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp '@iarna/toml': 2.2.5 '@supabase/postgrest-js': 1.17.7 '@supabase/supabase-js': 2.47.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) From a1de4fd4d0e45fb2c3e41eeaf1a7a2ce49cb5dba Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:49:57 -0800 Subject: [PATCH 054/312] Add missing plugin-whatsapp install --- packages/usdk/packages/upstreet-agent/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 2a5ac619f..a738e1c27 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -5,6 +5,7 @@ "@aws-sdk/util-format-url": "^3.577.0", "@electric-sql/pglite": "^0.2.15", "@elizaos/core": "file:./packages/elizaos-core-proxy", + "@elizaos/plugin-whatsapp": "file:./packages/react-agents/components/clients/plugin-whatsapp", "@elizaos/plugin-3d-generation": "file:./packages/react-agents/components/plugins/plugin-3d-generation", "@elizaos/plugin-coinbase": "file:./packages/react-agents/components/plugins/plugin-coinbase", "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", From fd1c9adaebc26d4e63a791246ea79ef38a343dee Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:50:04 -0800 Subject: [PATCH 055/312] Dead code cleanup --- .../packages/react-agents/index.tsx | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx index 9056be04d..a364b79dd 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/index.tsx @@ -11,21 +11,6 @@ export * from './components/core/features'; export * from './components/core/clients'; export * from './components/core/plugins'; -// export * from './components/features/browser'; -// export * from './components/features/discord'; -// export * from './components/features/live-mode'; -// export * from './components/features/media-generator'; -// export * from './components/features/rag-memory'; -// export * from './components/features/rate-limit'; -// export * from './components/features/status-updates'; -// export * from './components/features/store'; -// export * from './components/features/telnyx'; -// export * from './components/features/tts'; -// export * from './components/features/twitter-spaces'; -// export * from './components/features/twitter'; -// export * from './components/features/video-perception'; -// export * from './components/features/auto-task'; - export * from './components/features/index'; export * from './components/plugins/index'; From 5253b7ae6156a4b368780210e8b46e2b5763b3cf Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:50:15 -0800 Subject: [PATCH 056/312] Add flow plugin --- .../components/plugins/plugin-flow/.gitignore | 1 + .../components/plugins/plugin-flow/.npmignore | 7 + .../components/plugins/plugin-flow/README.md | 13 + .../plugins/plugin-flow/eslint.config.mjs | 3 + .../components/plugins/plugin-flow/flow.json | 395 ++++++++++++++++++ .../plugins/plugin-flow/package.json | 36 ++ .../plugin-flow/src/actions/transfer.ts | 382 +++++++++++++++++ .../src/assets/cadence/scripts/evm/call.cdc | 40 ++ .../cadence/scripts/evm/erc20/balance_of.cdc | 19 + .../scripts/evm/erc20/get_decimals.cdc | 10 + .../scripts/evm/erc20/total_supply.cdc | 15 + .../scripts/main-account/get_acct_info.cdc | 51 +++ .../assets/cadence/transactions/evm/call.cdc | 41 ++ .../account/create_new_account_with_coa.cdc | 60 +++ .../main-account/account/setup_coa.cdc | 23 + .../main-account/evm/transfer_erc20.cdc | 41 ++ .../flow-token/dynamic_vm_transfer.cdc | 104 +++++ .../ft/generic_transfer_with_address.cdc | 87 ++++ .../plugin-flow/src/assets/script.defs.ts | 21 + .../src/assets/transaction.defs.ts | 16 + .../plugins/plugin-flow/src/environment.ts | 53 +++ .../plugins/plugin-flow/src/index.ts | 25 ++ .../src/providers/connector.provider.ts | 108 +++++ .../src/providers/utils/flow.connector.ts | 171 ++++++++ .../src/providers/utils/pure.signer.ts | 26 ++ .../src/providers/wallet.provider.ts | 249 +++++++++++ .../plugins/plugin-flow/src/queries.ts | 80 ++++ .../plugin-flow/src/templates/index.ts | 31 ++ .../plugin-flow/src/tests/connector.test.ts | 43 ++ .../plugin-flow/src/tests/wallet.test.ts | 73 ++++ .../plugin-flow/src/types/exception.ts | 9 + .../plugins/plugin-flow/src/types/fcl.d.ts | 357 ++++++++++++++++ .../plugins/plugin-flow/src/types/index.ts | 52 +++ .../plugins/plugin-flow/tsconfig.json | 10 + .../plugins/plugin-flow/tsup.config.ts | 35 ++ .../plugins/plugin-flow/vitest.config.ts | 15 + 36 files changed, 2702 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.gitignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/README.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/flow.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/actions/transfer.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/call.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/balance_of.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/get_decimals.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/total_supply.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/main-account/get_acct_info.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/evm/call.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/account/create_new_account_with_coa.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/account/setup_coa.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/evm/transfer_erc20.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/flow-token/dynamic_vm_transfer.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/ft/generic_transfer_with_address.cdc create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/script.defs.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/transaction.defs.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/environment.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/connector.provider.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/utils/flow.connector.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/utils/pure.signer.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/wallet.provider.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/queries.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/templates/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/tests/connector.test.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/tests/wallet.test.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/exception.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/fcl.d.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/tsup.config.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/vitest.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.gitignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.gitignore new file mode 100644 index 000000000..a3d38b557 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.gitignore @@ -0,0 +1 @@ +imports diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.npmignore new file mode 100644 index 000000000..fdfc2cd16 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.npmignore @@ -0,0 +1,7 @@ +* + +!dist/** +!package.json +!flow.json +!readme.md +!tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/README.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/README.md new file mode 100644 index 000000000..f258981ee --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/README.md @@ -0,0 +1,13 @@ +# @elizaos/plugin-flow + +This plugin provides basic actions and providers for interacting with the [Flow Blockchain](https://developers.flow.com/). + +## Actions + +### Transfer + +name: `SEND_COIN` + +Transfer native FLOW token/arbitrary FTs/ERC20s on Flow from agent's wallet to another EVM address or Flow address. + +Message sample: `Send 5 FLOW to 0xa51d7fe9e0080662` diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/flow.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/flow.json new file mode 100644 index 000000000..e9e5cc712 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/flow.json @@ -0,0 +1,395 @@ +{ + "dependencies": { + "ArrayUtils": { + "source": "mainnet://a340dc0a4ec828ab.ArrayUtils", + "hash": "9e8f2d3e35be82da42b685045af834e16d23bcef1f322603ff91cedd1c9bbad9", + "aliases": { + "mainnet": "a340dc0a4ec828ab", + "testnet": "31ad40c07a2a9788" + } + }, + "Burner": { + "source": "mainnet://f233dcee88fe0abe.Burner", + "hash": "71af18e227984cd434a3ad00bb2f3618b76482842bae920ee55662c37c8bf331", + "aliases": { + "emulator": "f8d6e0586b0a20c7", + "mainnet": "f233dcee88fe0abe", + "testnet": "9a0766d93b6608b7" + } + }, + "CapabilityDelegator": { + "source": "mainnet://d8a7e05a7ac670c0.CapabilityDelegator", + "hash": "ad3bf8671a74a836b428da7840540c0ce419349be5f6410b18546e9a9217a9d2", + "aliases": { + "mainnet": "d8a7e05a7ac670c0", + "testnet": "294e44e1ec6993c6" + } + }, + "CapabilityFactory": { + "source": "mainnet://d8a7e05a7ac670c0.CapabilityFactory", + "hash": "33d6b142c1db548a193cc06ff9828a24ca2ff8726301e292a8b6863dd0e1e73e", + "aliases": { + "mainnet": "d8a7e05a7ac670c0", + "testnet": "294e44e1ec6993c6" + } + }, + "CapabilityFilter": { + "source": "mainnet://d8a7e05a7ac670c0.CapabilityFilter", + "hash": "77b59eb8245102a84a49d47a67e83eeeaafea920b120cdd6aa175d9ff120c388", + "aliases": { + "mainnet": "d8a7e05a7ac670c0", + "testnet": "294e44e1ec6993c6" + } + }, + "CrossVMNFT": { + "source": "mainnet://1e4aa0b87d10b141.CrossVMNFT", + "hash": "a9e2ba34ecffda196c58f5c1439bc257d48d0c81457597eb58eb5f879dd95e5a", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "CrossVMToken": { + "source": "mainnet://1e4aa0b87d10b141.CrossVMToken", + "hash": "6d5c16804247ab9f1234b06383fa1bed42845211dba22582748abd434296650c", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "EVM": { + "source": "mainnet://e467b9dd11fa00df.EVM", + "hash": "5c69921fa06088b477e2758e122636b39d3d3eb5316807c206c5680d9ac74c7e", + "aliases": { + "emulator": "f8d6e0586b0a20c7", + "mainnet": "e467b9dd11fa00df", + "testnet": "8c5303eaa26202d6" + } + }, + "FTViewUtils": { + "source": "mainnet://15a918087ab12d86.FTViewUtils", + "hash": "ef8343697ebcb455a835bc9f87b8060f574c3d968644de47f6613cebf05d7749", + "aliases": { + "mainnet": "15a918087ab12d86", + "testnet": "b86f928a1fa7798e" + } + }, + "FlowEVMBridge": { + "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridge", + "hash": "83d4d1f7c715cfe7b1a65241e94ae4b8cb40e6ce135ce4c3981e4d39e59ba33e", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "FlowEVMBridgeConfig": { + "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeConfig", + "hash": "279513a6c107da2af4c847a42169f862ee67105e5a56512872fb6b9a9be3305d", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "FlowEVMBridgeHandlerInterfaces": { + "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeHandlerInterfaces", + "hash": "fcbcd095c8145acf6fd07c336d44502f2946e32f4a1bf7e9bd0772fdd1bea778", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "FlowEVMBridgeNFTEscrow": { + "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeNFTEscrow", + "hash": "ea7054bd06f978d09672ab2d6a1e7ad04df4b46410943088d555dd9ca6e64240", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "FlowEVMBridgeTemplates": { + "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeTemplates", + "hash": "8f27b22450f57522d93d3045038ac9b1935476f4216f57fe3bb82929c71d7aa6", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "FlowEVMBridgeTokenEscrow": { + "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeTokenEscrow", + "hash": "b5ec7c0a16e1c49004b2ed072c5eadc8c382e43351982b4a3050422f116b8f46", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "FlowEVMBridgeUtils": { + "source": "mainnet://1e4aa0b87d10b141.FlowEVMBridgeUtils", + "hash": "cd17ed82ae6d6f708a8d022d4228e0b53d2349f7f330c18e9c45e777553d2173", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "FlowStorageFees": { + "source": "mainnet://e467b9dd11fa00df.FlowStorageFees", + "hash": "e38d8a95f6518b8ff46ce57dfa37b4b850b3638f33d16333096bc625b6d9b51a", + "aliases": { + "emulator": "f8d6e0586b0a20c7", + "mainnet": "e467b9dd11fa00df", + "testnet": "8c5303eaa26202d6" + } + }, + "FlowToken": { + "source": "mainnet://1654653399040a61.FlowToken", + "hash": "cefb25fd19d9fc80ce02896267eb6157a6b0df7b1935caa8641421fe34c0e67a", + "aliases": { + "emulator": "0ae53cb6e3f42a79", + "mainnet": "1654653399040a61", + "testnet": "7e60df042a9c0868" + } + }, + "FungibleToken": { + "source": "mainnet://f233dcee88fe0abe.FungibleToken", + "hash": "050328d01c6cde307fbe14960632666848d9b7ea4fef03ca8c0bbfb0f2884068", + "aliases": { + "emulator": "ee82856bf20e2aa6", + "mainnet": "f233dcee88fe0abe", + "testnet": "9a0766d93b6608b7" + } + }, + "FungibleTokenMetadataViews": { + "source": "mainnet://f233dcee88fe0abe.FungibleTokenMetadataViews", + "hash": "dff704a6e3da83997ed48bcd244aaa3eac0733156759a37c76a58ab08863016a", + "aliases": { + "emulator": "ee82856bf20e2aa6", + "mainnet": "f233dcee88fe0abe", + "testnet": "9a0766d93b6608b7" + } + }, + "HybridCustody": { + "source": "mainnet://d8a7e05a7ac670c0.HybridCustody", + "hash": "c8a129eec11c57ee25487fcce38efc54c3b12eb539ba61a52f4ee620173bb67b", + "aliases": { + "mainnet": "d8a7e05a7ac670c0", + "testnet": "294e44e1ec6993c6" + } + }, + "IBridgePermissions": { + "source": "mainnet://1e4aa0b87d10b141.IBridgePermissions", + "hash": "431a51a6cca87773596f79832520b19499fe614297eaef347e49383f2ae809af", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "ICrossVM": { + "source": "mainnet://1e4aa0b87d10b141.ICrossVM", + "hash": "e14dcb25f974e216fd83afdc0d0f576ae7014988755a4777b06562ffb06537bc", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "ICrossVMAsset": { + "source": "mainnet://1e4aa0b87d10b141.ICrossVMAsset", + "hash": "aa1fbd979c9d7806ea8ea66311e2a4257c5a4051eef020524a0bda4d8048ed57", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "IEVMBridgeNFTMinter": { + "source": "mainnet://1e4aa0b87d10b141.IEVMBridgeNFTMinter", + "hash": "65ec734429c12b70cd97ad8ea2c2bc4986fab286744921ed139d9b45da92e77e", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "IEVMBridgeTokenMinter": { + "source": "mainnet://1e4aa0b87d10b141.IEVMBridgeTokenMinter", + "hash": "223adb675415984e9c163d15c5922b5c77dc5036bf6548d0b87afa27f4f0a9d9", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "IFlowEVMNFTBridge": { + "source": "mainnet://1e4aa0b87d10b141.IFlowEVMNFTBridge", + "hash": "3d5bfa663a7059edee8c51d95bc454adf37f17c6d32be18eb42134b550e537b3", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "IFlowEVMTokenBridge": { + "source": "mainnet://1e4aa0b87d10b141.IFlowEVMTokenBridge", + "hash": "573a038b1e9c26504f6aa32a091e88168591b7f93feeff9ac0343285488a8eb3", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "MetadataViews": { + "source": "mainnet://1d7e57aa55817448.MetadataViews", + "hash": "10a239cc26e825077de6c8b424409ae173e78e8391df62750b6ba19ffd048f51", + "aliases": { + "emulator": "f8d6e0586b0a20c7", + "mainnet": "1d7e57aa55817448", + "testnet": "631e88ae7f1d7c20" + } + }, + "NonFungibleToken": { + "source": "mainnet://1d7e57aa55817448.NonFungibleToken", + "hash": "b63f10e00d1a814492822652dac7c0574428a200e4c26cb3c832c4829e2778f0", + "aliases": { + "emulator": "f8d6e0586b0a20c7", + "mainnet": "1d7e57aa55817448", + "testnet": "631e88ae7f1d7c20" + } + }, + "OracleConfig": { + "source": "mainnet://cec15c814971c1dc.OracleConfig", + "hash": "48c252a858ce1c1fb44a377f338a4e558a70f1c22cecea9b7bf8cb74e9b16b79", + "aliases": { + "mainnet": "cec15c814971c1dc", + "testnet": "2a9b59c3e2b72ee0" + } + }, + "OracleInterface": { + "source": "mainnet://cec15c814971c1dc.OracleInterface", + "hash": "1ca66227b60dcf59e9d84404398c8151b1ff6395408094669ef1251c78ca2465", + "aliases": { + "mainnet": "cec15c814971c1dc", + "testnet": "2a9b59c3e2b72ee0" + } + }, + "PublicPriceOracle": { + "source": "mainnet://ec67451f8a58216a.PublicPriceOracle", + "hash": "3f0b75a98cc8a75835125421bcf602a3f278eaf94001bca7b7a8503b73cbc9a7", + "aliases": { + "mainnet": "ec67451f8a58216a", + "testnet": "8232ce4a3aff4e94" + } + }, + "ScopedFTProviders": { + "source": "mainnet://a340dc0a4ec828ab.ScopedFTProviders", + "hash": "9a143138f5a5f51a5402715f7d84dbe363b5744be153ee09343aed71cf241c42", + "aliases": { + "mainnet": "a340dc0a4ec828ab", + "testnet": "31ad40c07a2a9788" + } + }, + "Serialize": { + "source": "mainnet://1e4aa0b87d10b141.Serialize", + "hash": "d12a5957ab5352024bb08b281c4de4f9a88ecde74b159a7da0c69d0c8ca51589", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "SerializeMetadata": { + "source": "mainnet://1e4aa0b87d10b141.SerializeMetadata", + "hash": "eb7ec0ab5abfc66dd636c07a5ed2c7a65723a8d876842035bf9bebd6b0060e3a", + "aliases": { + "mainnet": "1e4aa0b87d10b141", + "testnet": "dfc20aee650fcbdf" + } + }, + "StableSwapFactory": { + "source": "mainnet://b063c16cac85dbd1.StableSwapFactory", + "hash": "46318aee6fd29616c8048c23210d4c4f5b172eb99a0ca911fbd849c831a52a0b", + "aliases": { + "mainnet": "b063c16cac85dbd1", + "testnet": "cbed4c301441ded2" + } + }, + "StringUtils": { + "source": "mainnet://a340dc0a4ec828ab.StringUtils", + "hash": "b401c4b0f711344ed9cd02ff77c91e026f5dfbca6045f140b9ca9d4966707e83", + "aliases": { + "mainnet": "a340dc0a4ec828ab", + "testnet": "31ad40c07a2a9788" + } + }, + "SwapConfig": { + "source": "mainnet://b78ef7afa52ff906.SwapConfig", + "hash": "ccafdb89804887e4e39a9b8fdff5c0ff0d0743505282f2a8ecf86c964e691c82", + "aliases": { + "mainnet": "b78ef7afa52ff906", + "testnet": "ddb929038d45d4b3" + } + }, + "SwapError": { + "source": "mainnet://b78ef7afa52ff906.SwapError", + "hash": "7d13a652a1308af387513e35c08b4f9a7389a927bddf08431687a846e4c67f21", + "aliases": { + "mainnet": "b78ef7afa52ff906", + "testnet": "ddb929038d45d4b3" + } + }, + "SwapFactory": { + "source": "mainnet://b063c16cac85dbd1.SwapFactory", + "hash": "6d319e77f5eed0c49c960b1ef887c01dd7c2cce8a0b39f7e31fb2af0113eedc5", + "aliases": { + "mainnet": "b063c16cac85dbd1", + "testnet": "cbed4c301441ded2" + } + }, + "SwapInterfaces": { + "source": "mainnet://b78ef7afa52ff906.SwapInterfaces", + "hash": "570bb4b9c8da8e0caa8f428494db80779fb906a66cc1904c39a2b9f78b89c6fa", + "aliases": { + "mainnet": "b78ef7afa52ff906", + "testnet": "ddb929038d45d4b3" + } + }, + "SwapPair": { + "source": "mainnet://ecbda466e7f191c7.SwapPair", + "hash": "69b99c4a8abc123a0a88b1c354f9da414a32e2f73194403e67e89d51713923c0", + "aliases": { + "mainnet": "ecbda466e7f191c7", + "testnet": "c20df20fabe06457" + } + }, + "TokenList": { + "source": "mainnet://15a918087ab12d86.TokenList", + "hash": "ac9298cfdf02e785e92334858fab0f388e5a72136c3bc4d4ed7f2039ac152bd5", + "aliases": { + "mainnet": "15a918087ab12d86", + "testnet": "b86f928a1fa7798e" + } + }, + "ViewResolver": { + "source": "mainnet://1d7e57aa55817448.ViewResolver", + "hash": "374a1994046bac9f6228b4843cb32393ef40554df9bd9907a702d098a2987bde", + "aliases": { + "emulator": "f8d6e0586b0a20c7", + "mainnet": "1d7e57aa55817448", + "testnet": "631e88ae7f1d7c20" + } + }, + "ViewResolvers": { + "source": "mainnet://15a918087ab12d86.ViewResolvers", + "hash": "37ef9b2a71c1b0daa031c261f731466fcbefad998590177c798b56b61a95489a", + "aliases": { + "mainnet": "15a918087ab12d86", + "testnet": "b86f928a1fa7798e" + } + }, + "stFlowToken": { + "source": "mainnet://d6f80565193ad727.stFlowToken", + "hash": "09b1350a55646fdee652fddf7927fc4b305da5a265cb1bd887e112d84fb5e2be", + "aliases": { + "mainnet": "d6f80565193ad727", + "testnet": "e45c64ecfe31e465" + } + } + }, + "networks": { + "emulator": "127.0.0.1:3569", + "mainnet": "access.mainnet.nodes.onflow.org:9000", + "testing": "127.0.0.1:3569", + "testnet": "access.devnet.nodes.onflow.org:9000" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/package.json new file mode 100644 index 000000000..60c6da746 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/package.json @@ -0,0 +1,36 @@ +{ + "name": "@elizaos/plugin-flow", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@onflow/config": "1.5.1", + "@onflow/fcl": "1.13.1", + "@onflow/typedefs": "1.4.0", + "bignumber.js": "9.1.2", + "bs58": "6.0.0", + "elliptic": "6.6.1", + "node-cache": "5.1.2", + "sha3": "2.1.4", + "uuid": "11.0.3", + "zod": "3.23.8" + }, + "devDependencies": { + "@types/elliptic": "6.4.18", + "@types/uuid": "10.0.0", + "tsup": "8.3.5", + "vitest": "2.1.4" + }, + "scripts": { + "lines": "find . \\( -name '*.cdc' -o -name '*.ts' \\) -not -path '*/node_modules/*' -not -path '*/tests/*' -not -path '*/deps/*' -not -path '*/dist/*' -not -path '*/imports*' | xargs wc -l", + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache .", + "test": "vitest run" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/actions/transfer.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/actions/transfer.ts new file mode 100644 index 000000000..1b1dcc342 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/actions/transfer.ts @@ -0,0 +1,382 @@ +import { + composeContext, + Content, + elizaLogger, + generateObjectArray, + ModelClass, + type Action, + type ActionExample, + type HandlerCallback, + type IAgentRuntime, + type Memory, + type State, +} from "@elizaos/core"; +import Exception from "../types/exception"; +import { getFlowConnectorInstance } from "../providers/connector.provider"; +import { + FlowWalletProvider, + isCadenceIdentifier, + isEVMAddress, + isFlowAddress, +} from "../providers/wallet.provider"; +import { transferTemplate } from "../templates"; +import { validateFlowConfig } from "../environment"; +import { TransactionResponse } from "../types"; +import { transactions } from "../assets/transaction.defs"; +import * as queries from "../queries"; + +/** + * The generated content for the transfer action + */ +export interface TransferContent extends Content { + token: string | null; + amount: string; + to: string; + matched: boolean; +} + +/** + * Check if the content is a transfer content + */ +function isTransferContent( + runtime: IAgentRuntime, + content: any +): content is TransferContent { + elizaLogger.log("Content for transfer", content); + return ( + (!content.token || + (typeof content.token === "string" && + (isCadenceIdentifier(content.token) || + isEVMAddress(content.token)))) && + typeof content.to === "string" && + (isEVMAddress(content.to) || isFlowAddress(content.to)) && + (typeof content.amount === "string" || + typeof content.amount === "number") && + typeof content.matched === "boolean" + ); +} + +// FIXME: We need to use dynamic key index +const USE_KEY_INDEX = 0; + +export class TransferAction { + constructor( + private walletProvider: FlowWalletProvider, + public readonly useKeyIndex: number = USE_KEY_INDEX + ) {} + + /** + * Process the messages and generate the transfer content + */ + async processMessages( + runtime: IAgentRuntime, + message: Memory, + state: State + ): Promise { + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content + const recommendations = await generateObjectArray({ + runtime, + context: transferContext, + modelClass: ModelClass.MEDIUM, + }); + + elizaLogger.debug("Recommendations", recommendations); + + // Convert array to object + const content = recommendations[recommendations.length - 1]; + + // Validate transfer content + if (!isTransferContent(runtime, content)) { + elizaLogger.error("Invalid content for SEND_COIN action."); + throw new Exception(50100, "Invalid transfer content"); + } + + // Check if the content is matched + if (!content.matched) { + elizaLogger.error("Content does not match the transfer template."); + throw new Exception( + 50100, + "Content does not match the transfer template" + ); + } + return content; + } + + async transfer( + content: TransferContent, + callback?: HandlerCallback + ): Promise { + elizaLogger.log("Starting Flow Plugin's SEND_COIN handler..."); + + const resp: TransactionResponse = { + signer: { + address: this.walletProvider.address, + keyIndex: this.useKeyIndex, + }, + txid: "", + }; + const logPrefix = `Address: ${resp.signer.address}, using keyIdex: ${resp.signer.keyIndex}\n`; + + // Parsed fields + const recipient = content.to; + const amount = + typeof content.amount === "number" + ? content.amount + : parseFloat(content.amount); + + // Check if the wallet has enough balance to transfer + const accountInfo = await queries.queryAccountBalanceInfo( + this.walletProvider, + this.walletProvider.address + ); + const totalBalance = + accountInfo.balance + (accountInfo.coaBalance ?? 0); + + // Check if the amount is valid + if (totalBalance < amount) { + elizaLogger.error("Insufficient balance to transfer."); + if (callback) { + callback({ + text: `${logPrefix} Unable to process transfer request. Insufficient balance.`, + content: { + error: "Insufficient balance", + }, + }); + } + throw new Exception(50100, "Insufficient balance to transfer"); + } + + try { + // Execute transfer + const authz = this.walletProvider.buildAuthorization( + this.useKeyIndex + ); // use default private key + + // For different token types, we need to handle the token differently + if (!content.token) { + elizaLogger.log( + `${logPrefix} Sending ${amount} FLOW to ${recipient}...` + ); + // Transfer FLOW token + resp.txid = await this.walletProvider.sendTransaction( + transactions.mainFlowTokenDynamicTransfer, + (arg, t) => [ + arg(recipient, t.String), + arg(amount.toFixed(1), t.UFix64), + ], + authz + ); + } else if (isCadenceIdentifier(content.token)) { + // Transfer Fungible Token on Cadence side + const [_, tokenAddr, tokenContractName] = + content.token.split("."); + elizaLogger.log( + `${logPrefix} Sending ${amount} A.${tokenAddr}.${tokenContractName} to ${recipient}...` + ); + resp.txid = await this.walletProvider.sendTransaction( + transactions.mainFTGenericTransfer, + (arg, t) => [ + arg(amount.toFixed(1), t.UFix64), + arg(recipient, t.Address), + arg("0x" + tokenAddr, t.Address), + arg(tokenContractName, t.String), + ], + authz + ); + } else if (isEVMAddress(content.token)) { + // Transfer ERC20 token on EVM side + // we need to update the amount to be in the smallest unit + const decimals = await queries.queryEvmERC20Decimals( + this.walletProvider, + content.token + ); + const adjustedAmount = BigInt(amount * Math.pow(10, decimals)); + + elizaLogger.log( + `${logPrefix} Sending ${adjustedAmount} ${content.token}(EVM) to ${recipient}...` + ); + + resp.txid = await this.walletProvider.sendTransaction( + transactions.mainEVMTransferERC20, + (arg, t) => [ + arg(content.token, t.String), + arg(recipient, t.String), + // Convert the amount to string, the string should be pure number, not a scientific notation + arg(adjustedAmount.toString(), t.UInt256), + ], + authz + ); + } + + elizaLogger.log(`${logPrefix} Sent transaction: ${resp.txid}`); + + // call the callback with the transaction response + if (callback) { + const tokenName = content.token || "FLOW"; + const baseUrl = + this.walletProvider.network === "testnet" + ? "https://testnet.flowscan.io" + : "https://flowscan.io"; + const txURL = `${baseUrl}/tx/${resp.txid}/events`; + callback({ + text: `${logPrefix} Successfully transferred ${content.amount} ${tokenName} to ${content.to}\nTransaction: [${resp.txid}](${txURL})`, + content: { + success: true, + txid: resp.txid, + token: content.token, + to: content.to, + amount: content.amount, + }, + }); + } + } catch (e: any) { + elizaLogger.error("Error in sending transaction:", e.message); + if (callback) { + callback({ + text: `${logPrefix} Unable to process transfer request. Error in sending transaction.`, + content: { + error: e.message, + }, + }); + } + if (e instanceof Exception) { + throw e; + } else { + throw new Exception( + 50100, + "Error in sending transaction: " + e.message + ); + } + } + + elizaLogger.log("Completed Flow Plugin's SEND_COIN handler."); + + return resp; + } +} + +export const transferAction = { + name: "SEND_COIN", + similes: [ + "SEND_TOKEN", + "SEND_TOKEN_ON_FLOW", + "TRANSFER_TOKEN_ON_FLOW", + "TRANSFER_TOKENS_ON_FLOW", + "TRANSFER_FLOW", + "SEND_FLOW", + "PAY_BY_FLOW", + ], + description: + "Call this action to transfer any fungible token/coin from the agent's Flow wallet to another address", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + await validateFlowConfig(runtime); + const flowConnector = await getFlowConnectorInstance(runtime); + const walletProvider = new FlowWalletProvider(runtime, flowConnector); + try { + await walletProvider.syncAccountInfo(); + // TODO: We need to check if the key index is valid + } catch { + elizaLogger.error("Failed to sync account info"); + return false; + } + return true; + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + const flowConnector = await getFlowConnectorInstance(runtime); + const walletProvider = new FlowWalletProvider(runtime, flowConnector); + const action = new TransferAction(walletProvider); + let content: TransferContent; + try { + content = await action.processMessages(runtime, message, state); + } catch (err) { + elizaLogger.error("Error in processing messages:", err.message); + if (callback) { + callback({ + text: + "Unable to process transfer request. Invalid content: " + + err.message, + content: { + error: "Invalid content", + }, + }); + } + return false; + } + + try { + const res = await action.transfer(content, callback); + elizaLogger.log( + `Transfer action response: ${res.signer.address}[${res.signer.keyIndex}] - ${res.txid}` + ); + } catch { + return false; + } + return true; + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Send 1 FLOW to 0xa2de93114bae3e73", + }, + }, + { + user: "{{user2}}", + content: { + text: "Sending 1 FLOW tokens now, pls wait...", + action: "SEND_COIN", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Send 1 FLOW - A.1654653399040a61.FlowToken to 0xa2de93114bae3e73", + }, + }, + { + user: "{{user2}}", + content: { + text: "Sending 1 FLOW tokens now, pls wait...", + action: "SEND_COIN", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Send 1000 FROTH - 0xb73bf8e6a4477a952e0338e6cc00cc0ce5ad04ba to 0x000000000000000000000002e44fbfbd00395de5", + }, + }, + { + user: "{{user2}}", + content: { + text: "Sending 1000 FROTH tokens now, pls wait...", + action: "SEND_COIN", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/call.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/call.cdc new file mode 100644 index 000000000..39658ad26 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/call.cdc @@ -0,0 +1,40 @@ +import "EVM" + +access(all) fun getTypeArray(_ identifiers: [String]): [Type] { + var types: [Type] = [] + for identifier in identifiers { + let type = CompositeType(identifier) + ?? panic("Invalid identifier: ".concat(identifier)) + types.append(type) + } + return types +} + +/// Supports generic calls to EVM contracts that might have return values +/// +access(all) fun main( + gatewayAddress: Address, + evmContractAddressHex: String, + calldata: String, + gasLimit: UInt64, + typeIdentifiers: [String] +): [AnyStruct] { + + let evmAddress = EVM.addressFromString(evmContractAddressHex) + + let data = calldata.decodeHex() + + let gatewayCOA = getAuthAccount(gatewayAddress) + .storage.borrow( + from: /storage/evm + ) ?? panic("Could not borrow COA from provided gateway address") + + let evmResult = gatewayCOA.call( + to: evmAddress, + data: data, + gasLimit: gasLimit, + value: EVM.Balance(attoflow: 0) + ) + + return EVM.decodeABI(types: getTypeArray(typeIdentifiers), data: evmResult.data) +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/balance_of.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/balance_of.cdc new file mode 100644 index 000000000..a1838ee0f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/balance_of.cdc @@ -0,0 +1,19 @@ +import "EVM" + +import "FlowEVMBridgeUtils" + +/// Returns the balance of the owner (hex-encoded EVM address) of a given ERC20 fungible token defined +/// at the hex-encoded EVM contract address +/// +/// @param owner: The hex-encoded EVM address of the owner +/// @param evmContractAddress: The hex-encoded EVM contract address of the ERC20 contract +/// +/// @return The balance of the address, reverting if the given contract address does not implement the ERC20 method +/// "balanceOf(address)(uint256)" +/// +access(all) fun main(owner: String, evmContractAddress: String): UInt256 { + return FlowEVMBridgeUtils.balanceOf( + owner: EVM.addressFromString(owner), + evmContractAddress: EVM.addressFromString(evmContractAddress) + ) +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/get_decimals.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/get_decimals.cdc new file mode 100644 index 000000000..1c837dffd --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/get_decimals.cdc @@ -0,0 +1,10 @@ +import "EVM" + +import "FlowEVMBridgeUtils" + +access(all) +fun main(erc20ContractAddressHex: String): UInt8 { + return FlowEVMBridgeUtils.getTokenDecimals( + evmContractAddress: EVM.addressFromString(erc20ContractAddressHex) + ) +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/total_supply.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/total_supply.cdc new file mode 100644 index 000000000..bee3f2a0c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/evm/erc20/total_supply.cdc @@ -0,0 +1,15 @@ +import "EVM" + +import "FlowEVMBridgeUtils" + +/// Retrieves the total supply of the ERC20 contract at the given EVM contract address. Reverts on EVM call failure. +/// +/// @param evmContractAddress: The EVM contract address to retrieve the total supply from +/// +/// @return the total supply of the ERC20 +/// +access(all) fun main(evmContractAddressHex: String): UInt256 { + return FlowEVMBridgeUtils.totalSupply( + evmContractAddress: EVM.addressFromString(evmContractAddressHex) + ) +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/main-account/get_acct_info.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/main-account/get_acct_info.cdc new file mode 100644 index 000000000..3a6bd983a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/scripts/main-account/get_acct_info.cdc @@ -0,0 +1,51 @@ +import "FungibleToken" +import "EVM" + +/// Returns the hex encoded address of the COA in the given Flow address +/// +access(all) fun main(flowAddress: Address): AccountInfo { + var flowBalance: UFix64 = 0.0 + if let flowVaultRef = getAccount(flowAddress) + .capabilities.get<&{FungibleToken.Balance}>(/public/flowTokenBalance) + .borrow() { + flowBalance = flowVaultRef.balance + } + + var coaAddress: String? = nil + var coaBalance: UFix64? = nil + + if let address: EVM.EVMAddress = getAuthAccount(flowAddress) + .storage.borrow<&EVM.CadenceOwnedAccount>(from: /storage/evm)?.address() { + let bytes: [UInt8] = [] + for byte in address.bytes { + bytes.append(byte) + } + coaAddress = String.encodeHex(bytes) + coaBalance = address.balance().inFLOW() + } + return AccountInfo( + flowAddress, + flowBalance, + coaAddress, + coaBalance + ) +} + +access(all) struct AccountInfo { + access(all) let address: Address + access(all) let balance: UFix64 + access(all) let coaAddress: String? + access(all) let coaBalance: UFix64? + + init( + _ address: Address, + _ balance: UFix64, + _ coaAddress: String?, + _ coaBalance: UFix64? + ) { + self.address = address + self.balance = balance + self.coaAddress = coaAddress + self.coaBalance = coaBalance + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/evm/call.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/evm/call.cdc new file mode 100644 index 000000000..44fffbcf7 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/evm/call.cdc @@ -0,0 +1,41 @@ +import "EVM" + +/// Executes the calldata from the signer's COA +/// +transaction(evmContractAddressHex: String, calldata: String, gasLimit: UInt64, value: UFix64) { + + let evmAddress: EVM.EVMAddress + let coa: auth(EVM.Call) &EVM.CadenceOwnedAccount + + prepare(signer: auth(BorrowValue) &Account) { + self.evmAddress = EVM.addressFromString(evmContractAddressHex) + + let storagePath = StoragePath(identifier: "evm")! + let publicPath = PublicPath(identifier: "evm")! + + // Reference signer's COA if one exists + let coa = signer.storage.borrow(from: storagePath) + if coa == nil { + let coa <- EVM.createCadenceOwnedAccount() + signer.storage.save<@EVM.CadenceOwnedAccount>(<-coa, to: storagePath) + let addressableCap = signer.capabilities.storage.issue<&EVM.CadenceOwnedAccount>(storagePath) + signer.capabilities.unpublish(publicPath) + signer.capabilities.publish(addressableCap, at: publicPath) + } + + self.coa = signer.storage.borrow(from: storagePath) + ?? panic("Could not borrow COA from provided gateway address") + } + + execute { + let valueBalance = EVM.Balance(attoflow: 0) + valueBalance.setFLOW(flow: value) + let callResult = self.coa.call( + to: self.evmAddress, + data: calldata.decodeHex(), + gasLimit: gasLimit, + value: valueBalance + ) + assert(callResult.status == EVM.Status.successful, message: "Call failed") + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/account/create_new_account_with_coa.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/account/create_new_account_with_coa.cdc new file mode 100644 index 000000000..65f316857 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/account/create_new_account_with_coa.cdc @@ -0,0 +1,60 @@ +import Crypto + +import "EVM" + +/// Creates a new Flow Address with a single full-weight key and its EVM account, which is +/// a Cadence Owned Account (COA) stored in the account's storage. +/// +transaction( + key: String, // key to be used for the account + signatureAlgorithm: UInt8, // signature algorithm to be used for the account + hashAlgorithm: UInt8, // hash algorithm to be used for the account +) { + let auth: auth(BorrowValue) &Account + + prepare(signer: auth(BorrowValue) &Account) { + pre { + signatureAlgorithm == 1 || signatureAlgorithm == 2: + "Cannot add Key: Must provide a signature algorithm raw value that corresponds to " + .concat("one of the available signature algorithms for Flow keys.") + .concat("You provided ").concat(signatureAlgorithm.toString()) + .concat(" but the options are either 1 (ECDSA_P256), 2 (ECDSA_secp256k1).") + hashAlgorithm == 1 || hashAlgorithm == 3: + "Cannot add Key: Must provide a hash algorithm raw value that corresponds to " + .concat("one of of the available hash algorithms for Flow keys.") + .concat("You provided ").concat(hashAlgorithm.toString()) + .concat(" but the options are 1 (SHA2_256), 3 (SHA3_256).") + } + + self.auth = signer + } + + execute { + // Create a new public key + let publicKey = PublicKey( + publicKey: key.decodeHex(), + signatureAlgorithm: SignatureAlgorithm(rawValue: signatureAlgorithm)! + ) + + // Create a new account + let account = Account(payer: self.auth) + + // Add the public key to the account + account.keys.add( + publicKey: publicKey, + hashAlgorithm: HashAlgorithm(rawValue: hashAlgorithm)!, + weight: 1000.0 + ) + + // Create a new COA + let coa <- EVM.createCadenceOwnedAccount() + + // Save the COA to the new account + let storagePath = StoragePath(identifier: "evm")! + let publicPath = PublicPath(identifier: "evm")! + account.storage.save<@EVM.CadenceOwnedAccount>(<-coa, to: storagePath) + let addressableCap = account.capabilities.storage.issue<&EVM.CadenceOwnedAccount>(storagePath) + account.capabilities.unpublish(publicPath) + account.capabilities.publish(addressableCap, at: publicPath) + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/account/setup_coa.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/account/setup_coa.cdc new file mode 100644 index 000000000..b528d8b40 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/account/setup_coa.cdc @@ -0,0 +1,23 @@ +import "EVM" +import "FungibleToken" +import "FlowToken" + +/// Creates a COA and saves it in the signer's Flow account & passing the given value of Flow into FlowEVM +/// +transaction() { + + prepare(signer: auth(BorrowValue, IssueStorageCapabilityController, PublishCapability, SaveValue, UnpublishCapability) &Account) { + let storagePath = StoragePath(identifier: "evm")! + let publicPath = PublicPath(identifier: "evm")! + + // Reference signer's COA if one exists + let coa = signer.storage.borrow(from: storagePath) + if coa == nil { + let coa <- EVM.createCadenceOwnedAccount() + signer.storage.save<@EVM.CadenceOwnedAccount>(<-coa, to: storagePath) + let addressableCap = signer.capabilities.storage.issue<&EVM.CadenceOwnedAccount>(storagePath) + signer.capabilities.unpublish(publicPath) + signer.capabilities.publish(addressableCap, at: publicPath) + } + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/evm/transfer_erc20.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/evm/transfer_erc20.cdc new file mode 100644 index 000000000..53769cfa2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/evm/transfer_erc20.cdc @@ -0,0 +1,41 @@ +import "EVM" + +import "FlowEVMBridgeUtils" + +/// Executes a token transfer to the defined recipient address against the specified ERC20 contract. +/// +transaction(evmContractAddressHex: String, recipientAddressHex: String, amount: UInt256) { + + let evmContractAddress: EVM.EVMAddress + let recipientAddress: EVM.EVMAddress + let coa: auth(EVM.Call) &EVM.CadenceOwnedAccount + let preBalance: UInt256 + var postBalance: UInt256 + + prepare(signer: auth(BorrowValue) &Account) { + self.evmContractAddress = EVM.addressFromString(evmContractAddressHex) + self.recipientAddress = EVM.addressFromString(recipientAddressHex) + + self.coa = signer.storage.borrow(from: /storage/evm) + ?? panic("Could not borrow CadenceOwnedAccount reference") + + self.preBalance = FlowEVMBridgeUtils.balanceOf(owner: self.coa.address(), evmContractAddress: self.evmContractAddress) + self.postBalance = 0 + } + + execute { + let calldata = EVM.encodeABIWithSignature("transfer(address,uint256)", [self.recipientAddress, amount]) + let callResult = self.coa.call( + to: self.evmContractAddress, + data: calldata, + gasLimit: 15_000_000, + value: EVM.Balance(attoflow: 0) + ) + assert(callResult.status == EVM.Status.successful, message: "Call to ERC20 contract failed") + self.postBalance = FlowEVMBridgeUtils.balanceOf(owner: self.coa.address(), evmContractAddress: self.evmContractAddress) + } + + post { + self.postBalance == self.preBalance - amount: "Transfer failed" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/flow-token/dynamic_vm_transfer.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/flow-token/dynamic_vm_transfer.cdc new file mode 100644 index 000000000..0d5204cdd --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/flow-token/dynamic_vm_transfer.cdc @@ -0,0 +1,104 @@ +import "FungibleToken" +import "FlowToken" + +import "EVM" + +// Transfers $FLOW from the signer's account to the recipient's address, determining the target VM based on the format +// of the recipient's hex address. Note that the sender's funds are sourced by default from the target VM, pulling any +// difference from the alternate VM if available. e.g. Transfers to Flow addresses will first attempt to withdraw from +// the signer's Flow vault, pulling any remaining funds from the signer's EVM account if available. Transfers to EVM +// addresses will first attempt to withdraw from the signer's EVM account, pulling any remaining funds from the signer's +// Flow vault if available. If the signer's balance across both VMs is insufficient, the transaction will revert. +/// +/// @param addressString: The recipient's address in hex format - this should be either an EVM address or a Flow address +/// @param amount: The amount of $FLOW to transfer as a UFix64 value +/// +transaction(addressString: String, amount: UFix64) { + + let sentVault: @FlowToken.Vault + let evmRecipient: EVM.EVMAddress? + var receiver: &{FungibleToken.Receiver}? + + prepare(signer: auth(BorrowValue, SaveValue) &Account) { + // Reference signer's COA if one exists + let coa = signer.storage.borrow(from: /storage/evm) + + // Reference signer's FlowToken Vault + let sourceVault = signer.storage.borrow(from: /storage/flowTokenVault) + ?? panic("Could not borrow signer's FlowToken.Vault") + let cadenceBalance = sourceVault.balance + + // Define optional recipients for both VMs + self.receiver = nil + let cadenceRecipient = Address.fromString(addressString) + self.evmRecipient = cadenceRecipient == nil ? EVM.addressFromString(addressString) : nil + // Validate exactly one target address is assigned + if cadenceRecipient != nil && self.evmRecipient != nil { + panic("Malformed recipient address - assignable as both Cadence and EVM addresses") + } else if cadenceRecipient == nil && self.evmRecipient == nil { + panic("Malformed recipient address - not assignable as either Cadence or EVM address") + } + + // Create empty FLOW vault to capture funds + self.sentVault <- FlowToken.createEmptyVault(vaultType: Type<@FlowToken.Vault>()) + /// If the target VM is Flow, does the Vault have sufficient balance to cover? + if cadenceRecipient != nil { + // Assign the Receiver of the $FLOW transfer + self.receiver = getAccount(cadenceRecipient!).capabilities.borrow<&{FungibleToken.Receiver}>( + /public/flowTokenReceiver + ) ?? panic("Could not borrow reference to recipient's FungibleToken.Receiver") + + // Withdraw from the signer's Cadence Vault and deposit to sentVault + var withdrawAmount = amount < cadenceBalance ? amount : cadenceBalance + self.sentVault.deposit(from: <-sourceVault.withdraw(amount: withdrawAmount)) + + // If the cadence balance didn't cover the amount, check the signer's EVM balance + if amount > self.sentVault.balance { + let difference = amount - cadenceBalance + // Revert if the signer doesn't have an EVM account or EVM balance is insufficient + if coa == nil || difference < coa!.balance().inFLOW() { + panic("Insufficient balance across Flow and EVM accounts") + } + + // Withdraw from the signer's EVM account and deposit to sentVault + let withdrawFromEVM = EVM.Balance(attoflow: 0) + withdrawFromEVM.setFLOW(flow: difference) + self.sentVault.deposit(from: <-coa!.withdraw(balance: withdrawFromEVM)) + } + } else if self.evmRecipient != nil { + // Check signer's balance can cover the amount + if coa != nil { + // Determine the amount to withdraw from the signer's EVM account + let balance = coa!.balance() + let withdrawAmount = amount < balance.inFLOW() ? amount : balance.inFLOW() + balance.setFLOW(flow: withdrawAmount) + + // Withdraw funds from EVM to the sentVault + self.sentVault.deposit(from: <-coa!.withdraw(balance: balance)) + } + if amount > self.sentVault.balance { + // Insufficient amount withdrawn from EVM, check signer's Flow balance + let difference = amount - self.sentVault.balance + if difference > cadenceBalance { + panic("Insufficient balance across Flow and EVM accounts") + } + // Withdraw from the signer's Cadence Vault and deposit to sentVault + self.sentVault.deposit(from: <-sourceVault.withdraw(amount: difference)) + } + } + } + + pre { + self.sentVault.balance == amount: "Attempting to send an incorrect amount of $FLOW" + } + + execute { + // Complete Cadence transfer if the FungibleToken Receiver is assigned + if self.receiver != nil { + self.receiver!.deposit(from: <-self.sentVault) + } else { + // Otherwise, complete EVM transfer + self.evmRecipient!.deposit(from: <-self.sentVault) + } + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/ft/generic_transfer_with_address.cdc b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/ft/generic_transfer_with_address.cdc new file mode 100644 index 000000000..4940cf681 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/cadence/transactions/main-account/ft/generic_transfer_with_address.cdc @@ -0,0 +1,87 @@ +import "FungibleToken" +import "FungibleTokenMetadataViews" + +#interaction ( + version: "1.0.0", + title: "Generic FT Transfer with Contract Address and Name", + description: "Transfer any Fungible Token by providing the contract address and name", + language: "en-US", +) + +/// Can pass in any contract address and name to transfer a token from that contract +/// This lets you choose the token you want to send +/// +/// Any contract can be chosen here, so wallets should check argument values +/// to make sure the intended token contract name and address is passed in +/// Contracts that are used must implement the FTVaultData Metadata View +/// +/// Note: This transaction only will work for Fungible Tokens that +/// have their token's resource name set as "Vault". +/// Tokens with other names will need to use a different transaction +/// that additionally specifies the identifier +/// +/// @param amount: The amount of tokens to transfer +/// @param to: The address to transfer the tokens to +/// @param contractAddress: The address of the contract that defines the tokens being transferred +/// @param contractName: The name of the contract that defines the tokens being transferred. Ex: "FlowToken" +/// +transaction(amount: UFix64, to: Address, contractAddress: Address, contractName: String) { + + // The Vault resource that holds the tokens that are being transferred + let tempVault: @{FungibleToken.Vault} + + // FTVaultData struct to get paths from + let vaultData: FungibleTokenMetadataViews.FTVaultData + + prepare(signer: auth(BorrowValue) &Account) { + + // Borrow a reference to the vault stored on the passed account at the passed publicPath + let resolverRef = getAccount(contractAddress) + .contracts.borrow<&{FungibleToken}>(name: contractName) + ?? panic("Could not borrow FungibleToken reference to the contract. Make sure the provided contract name (" + .concat(contractName).concat(") and address (").concat(contractAddress.toString()).concat(") are correct!")) + + // Use that reference to retrieve the FTView + self.vaultData = resolverRef.resolveContractView(resourceType: nil, viewType: Type()) as! FungibleTokenMetadataViews.FTVaultData? + ?? panic("Could not resolve FTVaultData view. The ".concat(contractName) + .concat(" contract needs to implement the FTVaultData Metadata view in order to execute this transaction.")) + + // Get a reference to the signer's stored vault + let vaultRef = signer.storage.borrow(from: self.vaultData.storagePath) + ?? panic("The signer does not store a FungibleToken.Provider object at the path " + .concat(self.vaultData.storagePath.toString()).concat("For the ").concat(contractName) + .concat(" contract at address ").concat(contractAddress.toString()) + .concat(". The signer must initialize their account with this object first!")) + + self.tempVault <- vaultRef.withdraw(amount: amount) + + // Get the string representation of the address without the 0x + var addressString = contractAddress.toString() + if addressString.length == 18 { + addressString = addressString.slice(from: 2, upTo: 18) + } + let typeString: String = "A.".concat(addressString).concat(".").concat(contractName).concat(".Vault") + let type = CompositeType(typeString) + assert( + type != nil, + message: "Could not create a type out of the contract name and address!" + ) + + assert( + self.tempVault.getType() == type!, + message: "The Vault that was withdrawn to transfer is not the type that was requested!" + ) + } + + execute { + let recipient = getAccount(to) + let receiverRef = recipient.capabilities.borrow<&{FungibleToken.Receiver}>(self.vaultData.receiverPath) + ?? panic("Could not borrow a Receiver reference to the FungibleToken Vault in account " + .concat(to.toString()).concat(" at path ").concat(self.vaultData.receiverPath.toString()) + .concat(". Make sure you are sending to an address that has ") + .concat("a FungibleToken Vault set up properly at the specified path.")) + + // Transfer tokens from the signer's stored vault to the receiver capability + receiverRef.deposit(from: <-self.tempVault) + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/script.defs.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/script.defs.ts new file mode 100644 index 000000000..666468092 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/script.defs.ts @@ -0,0 +1,21 @@ +// Source: +// +// This file contains the definitions of the Cadence scripts used in the plugin. +// The scripts are defined as strings and exported as a dictionary. + +// Scripts for EVM +import evmCall from "./cadence/scripts/evm/call.cdc?raw"; +import evmERC20BalanceOf from "./cadence/scripts/evm/erc20/balance_of.cdc?raw"; +import evmERC20GetDecimals from "./cadence/scripts/evm/erc20/get_decimals.cdc?raw"; +import evmERC20GetTotalSupply from "./cadence/scripts/evm/erc20/total_supply.cdc?raw"; + +// Scripts for main account +import mainGetAccountInfo from "./cadence/scripts/main-account/get_acct_info.cdc?raw"; + +export const scripts = { + evmCall, + evmERC20BalanceOf, + evmERC20GetDecimals, + evmERC20GetTotalSupply, + mainGetAccountInfo, +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/transaction.defs.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/transaction.defs.ts new file mode 100644 index 000000000..807d7e215 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/assets/transaction.defs.ts @@ -0,0 +1,16 @@ +import evmCall from "./cadence/transactions/evm/call.cdc"; +// Transactions for main account +import mainAccountCreateNewWithCOA from "./cadence/transactions/main-account/account/create_new_account_with_coa.cdc"; +import mainAccountSetupCOA from "./cadence/transactions/main-account/account/setup_coa.cdc"; +import mainEVMTransferERC20 from "./cadence/transactions/main-account/evm/transfer_erc20.cdc"; +import mainFlowTokenDynamicTransfer from "./cadence/transactions/main-account/flow-token/dynamic_vm_transfer.cdc"; +import mainFTGenericTransfer from "./cadence/transactions/main-account/ft/generic_transfer_with_address.cdc"; + +export const transactions = { + evmCall, + mainAccountCreateNewWithCOA, + mainAccountSetupCOA, + mainEVMTransferERC20, + mainFlowTokenDynamicTransfer, + mainFTGenericTransfer, +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/environment.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/environment.ts new file mode 100644 index 000000000..ce740856e --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/environment.ts @@ -0,0 +1,53 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { z } from "zod"; + +const FLOW_MAINNET_PUBLIC_RPC = "https://mainnet.onflow.org"; + +export const flowEnvSchema = z.object({ + FLOW_ADDRESS: z + .string() + .min(1, "Flow native address is required") + .startsWith("0x", "Flow address must start with 0x"), + FLOW_PRIVATE_KEY: z + .string() + .min(1, "Flow private key for the address is required") + .startsWith("0x", "Flow private key must start with 0x"), + FLOW_NETWORK: z.string().optional().default("mainnet"), + FLOW_ENDPOINT_URL: z.string().optional().default(FLOW_MAINNET_PUBLIC_RPC), +}); + +export type FlowConfig = z.infer; + +export async function validateFlowConfig( + runtime: IAgentRuntime +): Promise { + try { + const config = { + FLOW_ADDRESS: + runtime.getSetting("FLOW_ADDRESS") || process.env.FLOW_ADDRESS, + FLOW_PRIVATE_KEY: + runtime.getSetting("FLOW_PRIVATE_KEY") || + process.env.FLOW_PRIVATE_KEY, + FLOW_NETWORK: + runtime.getSetting("FLOW_NETWORK") || + process.env.FLOW_NETWORK || + "mainnet", + FLOW_ENDPOINT_URL: + runtime.getSetting("FLOW_ENDPOINT_URL") || + process.env.FLOW_ENDPOINT_URL || + FLOW_MAINNET_PUBLIC_RPC, + }; + + return flowEnvSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error( + `Flow Blockchain configuration validation failed:\n${errorMessages}` + ); + } + throw error; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/index.ts new file mode 100644 index 000000000..fadc186b4 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/index.ts @@ -0,0 +1,25 @@ +// Definitions +export * from "./environment"; +export * from "./types"; +export * from "./assets/script.defs"; +export * from "./assets/transaction.defs"; +export * as queries from "./queries"; +// Providers +export * from "./providers/connector.provider"; +export * from "./providers/wallet.provider"; + +import type { Plugin } from "@elizaos/core"; +import { flowWalletProvider } from "./providers/wallet.provider"; +import { flowConnectorProvider } from "./providers/connector.provider"; +import { transferAction } from "./actions/transfer"; + +export const flowPlugin: Plugin = { + name: "flow", + description: "Flow Plugin for Eliza", + providers: [flowWalletProvider, flowConnectorProvider], + actions: [transferAction], + evaluators: [], + services: [], +}; + +export default flowPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/connector.provider.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/connector.provider.ts new file mode 100644 index 000000000..1bcafebf7 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/connector.provider.ts @@ -0,0 +1,108 @@ +import { + elizaLogger, + IAgentRuntime, + Memory, + Provider, + State, +} from "@elizaos/core"; + +import FlowConnector, { NetworkType } from "./utils/flow.connector"; + +// Here is the configuration file for fixes. +import flowJSON from "../../flow.json" assert { type: "json" }; + +// Singleton instance for the Flow connector +let _instance: FlowConnector; + +/** + * Get the singleton instance of the Flow connector + * @param runtime The runtime object + */ +async function _getDefaultConnectorInstance( + runtime: IAgentRuntime +): Promise { + if (!_instance) { + _instance = await _createFlowConnector(runtime, flowJSON); + } + return _instance; +} + +/** + * Create a new instance of the Flow connector + * @param runtime + * @param flowJSON + */ +async function _createFlowConnector( + runtime: IAgentRuntime, + flowJSON: object +): Promise { + const rpcEndpoint = runtime.getSetting("FLOW_ENDPOINT_URL"); + const network = runtime.getSetting("FLOW_NETWORK") as NetworkType; + const instance = new FlowConnector(flowJSON, network, rpcEndpoint); + await instance.onModuleInit(); + return instance; +} + +/** + * Get the singleton instance of the Flow connector + * @param runtime + */ +export async function getFlowConnectorInstance( + runtime: IAgentRuntime, + inputedFlowJSON: { [key: string]: unknown } = undefined +): Promise { + let connector: FlowConnector; + if ( + inputedFlowJSON && + typeof inputedFlowJSON === "object" && + typeof inputedFlowJSON?.networks === "object" && + typeof inputedFlowJSON?.dependencies === "object" + ) { + connector = await _createFlowConnector(runtime, inputedFlowJSON); + } else { + connector = await _getDefaultConnectorInstance(runtime); + } + return connector; +} + +/** + * Flow connector provider for AI agents + */ +export class FlowConnectorProvider { + constructor(private readonly instance: FlowConnector) {} + + getConnectorStatus(runtime: IAgentRuntime): string { + let output = `Now user<${runtime.character.name}> connected to\n`; + output += `Flow network: ${this.instance.network}\n`; + output += `Flow Endpoint: ${this.instance.rpcEndpoint}\n`; + return output; + } + + // async getFormattedPortfolio(_runtime: IAgentRuntime): Promise { + // return Promise.resolve(this.getConnectorStatus(_runtime)); + // } +} + +const flowConnectorProvider: Provider = { + get: async ( + runtime: IAgentRuntime, + _message: Memory, + _state?: State + ): Promise => { + try { + const provider = new FlowConnectorProvider( + await getFlowConnectorInstance(runtime) + ); + return provider.getConnectorStatus(runtime); + } catch (error) { + elizaLogger.error( + "Error in Flow connector provider:", + error.message + ); + return null; + } + }, +}; + +// Module exports +export { flowConnectorProvider, FlowConnector }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/utils/flow.connector.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/utils/flow.connector.ts new file mode 100644 index 000000000..45cb01fc4 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/utils/flow.connector.ts @@ -0,0 +1,171 @@ +import * as fcl from "@onflow/fcl"; +import type { Account, TransactionStatus } from "@onflow/typedefs"; +import { IFlowScriptExecutor } from "../../types"; +import Exception from "../../types/exception"; + +export type NetworkType = "mainnet" | "testnet" | "emulator"; + +let isGloballyInited = false; +let globallyPromise = null; + +export class FlowConnector implements IFlowScriptExecutor { + /** + * Initialize the Flow SDK + */ + constructor( + private readonly flowJSON: object, + public readonly network: NetworkType = "mainnet", + private readonly defaultRpcEndpoint: string = undefined + ) {} + + /** + * Get the RPC endpoint + */ + get rpcEndpoint() { + switch (this.network) { + case "mainnet": + return this.defaultRpcEndpoint ?? "https://mainnet.onflow.org"; + case "testnet": + return "https://testnet.onflow.org"; + case "emulator": + return "http://localhost:8888"; + default: + throw new Exception( + 50000, + `Network type ${this.network} is not supported` + ); + } + } + + /** + * Initialize the Flow SDK + */ + async onModuleInit() { + if (isGloballyInited) return; + + const cfg = fcl.config(); + // Required + await cfg.put("flow.network", this.network); + // Set the maximum of gas limit + await cfg.put("fcl.limit", 9999); + // Set the RPC endpoint + await cfg.put("accessNode.api", this.rpcEndpoint); + // Load Flow JSON + await cfg.load({ flowJSON: this.flowJSON }); + + isGloballyInited = true; + } + + /** + * Ensure the Flow SDK is initialized + */ + private async ensureInited() { + if (isGloballyInited) return; + if (!globallyPromise) { + globallyPromise = this.onModuleInit(); + } + return await globallyPromise; + } + + /** + * Get account information + */ + async getAccount(addr: string): Promise { + await this.ensureInited(); + return await fcl.send([fcl.getAccount(addr)]).then(fcl.decode); + } + + /** + * General method of sending transaction + */ + async sendTransaction( + code: string, + args: fcl.ArgumentFunction, + mainAuthz?: fcl.FclAuthorization, + extraAuthz?: fcl.FclAuthorization[] + ) { + await this.ensureInited(); + if (typeof mainAuthz !== "undefined") { + return await fcl.mutate({ + cadence: code, + args: args, + proposer: mainAuthz, + payer: mainAuthz, + authorizations: + (extraAuthz?.length ?? 0) === 0 + ? [mainAuthz] + : [mainAuthz, ...extraAuthz], + }); + } else { + return await fcl.mutate({ + cadence: code, + args: args, + }); + } + } + + /** + * Get transaction status + */ + async getTransactionStatus( + transactionId: string + ): Promise { + await this.ensureInited(); + return await fcl.tx(transactionId).onceExecuted(); + } + + /** + * Get chain id + */ + async getChainId() { + await this.ensureInited(); + return await fcl.getChainId(); + } + + /** + * Send transaction with single authorization + */ + async onceTransactionSealed( + transactionId: string + ): Promise { + await this.ensureInited(); + return fcl.tx(transactionId).onceSealed(); + } + + /** + * Get block object + * @param blockId + */ + async getBlockHeaderObject( + blockId: string + ): Promise { + await this.ensureInited(); + return await fcl + + .send([fcl.getBlockHeader(), fcl.atBlockId(blockId)]) + .then(fcl.decode); + } + + /** + * Send script + */ + async executeScript( + code: string, + args: fcl.ArgumentFunction, + defaultValue: T + ): Promise { + await this.ensureInited(); + try { + const queryResult = await fcl.query({ + cadence: code, + args, + }); + return (queryResult as T) ?? defaultValue; + } catch (e) { + console.error(e); + return defaultValue; + } + } +} + +export default FlowConnector; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/utils/pure.signer.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/utils/pure.signer.ts new file mode 100644 index 000000000..41863de0a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/utils/pure.signer.ts @@ -0,0 +1,26 @@ +import elliptic from "elliptic"; +import { SHA3 } from "sha3"; + +export default class PureSigner { + /** + * Sign a message with a private key + */ + static signWithKey(privateKeyHex: string, msg: string) { + const ec = new elliptic.ec("p256"); + const key = ec.keyFromPrivate(Buffer.from(privateKeyHex, "hex")); + const sig = key.sign(this._hashMsg(msg)); + const n = 32; + const r = sig.r.toArrayLike(Buffer, "be", n); + const s = sig.s.toArrayLike(Buffer, "be", n); + return Buffer.concat([r.valueOf(), s.valueOf()]).toString("hex"); + } + + /** + * Hash a message + */ + private static _hashMsg(msg: string) { + const sha = new SHA3(256); + sha.update(Buffer.from(msg, "hex")); + return sha.digest(); + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/wallet.provider.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/wallet.provider.ts new file mode 100644 index 000000000..abc3dc584 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/providers/wallet.provider.ts @@ -0,0 +1,249 @@ +import { + elizaLogger, + IAgentRuntime, + Memory, + Provider, + State, +} from "@elizaos/core"; +import NodeCache from "node-cache"; +import * as fcl from "@onflow/fcl"; +import type { CompositeSignature, Account } from "@onflow/typedefs"; +import type { FlowConnector } from "./utils/flow.connector"; +import { IFlowScriptExecutor, IFlowSigner } from "../types"; +import { getFlowConnectorInstance } from "./connector.provider"; +import PureSigner from "./utils/pure.signer"; +import Exception from "../types/exception"; +import * as queries from "../queries"; + +/** + * Flow wallet Provider + */ +export class FlowWalletProvider implements IFlowSigner, IFlowScriptExecutor { + runtime: IAgentRuntime; + private readonly privateKeyHex?: string; + public readonly address: string; + // Runtime data + private account: Account | null = null; + public maxKeyIndex = 0; + + constructor( + runtime: IAgentRuntime, + private readonly connector: FlowConnector, + private readonly cache: NodeCache = new NodeCache({ stdTTL: 300 }) // Cache TTL set to 5 minutes + ) { + this.address = getSignerAddress(runtime); + this.runtime = runtime; + + const privateKey = runtime.getSetting("FLOW_PRIVATE_KEY"); + if (!privateKey) { + elizaLogger.warn( + `The default Flow wallet ${this.address} has no private key` + ); + } else { + this.privateKeyHex = privateKey.startsWith("0x") + ? privateKey.slice(2) + : privateKey; + } + } + + /** + * Get the network type + */ + get network() { + return this.connector.network; + } + + /** + * Send a transaction + * @param code Cadence code + * @param args Cadence arguments + */ + async sendTransaction( + code: string, + args: fcl.ArgumentFunction, + authz?: fcl.FclAuthorization + ) { + return await this.connector.sendTransaction( + code, + args, + authz ?? this.buildAuthorization() + ); + } + + /** + * Execute a script + * @param code Cadence code + * @param args Cadence arguments + */ + async executeScript( + code: string, + args: fcl.ArgumentFunction, + defaultValue: T + ): Promise { + return await this.connector.executeScript(code, args, defaultValue); + } + + /** + * Build authorization + */ + buildAuthorization(accountIndex = 0, privateKey = this.privateKeyHex) { + if (this.account) { + if (accountIndex > this.maxKeyIndex) { + throw new Exception(50200, "Invalid account index"); + } + } + const address = this.address; + if (!privateKey) { + throw new Exception(50200, "No private key provided"); + } + return (account: any) => { + return { + ...account, + tempId: `${address}-${accountIndex}`, + addr: fcl.sansPrefix(address), + keyId: Number(accountIndex), + signingFunction: ( + signable: any + ): Promise => { + return Promise.resolve({ + f_type: "CompositeSignature", + f_vsn: "1.0.0", + addr: fcl.withPrefix(address), + keyId: Number(accountIndex), + signature: this.signMessage( + signable.message, + privateKey + ), + }); + }, + }; + }; + } + + /** + * Sign a message + * @param message Message to sign + */ + signMessage(message: string, privateKey = this.privateKeyHex) { + return PureSigner.signWithKey(privateKey, message); + } + + // ----- methods ----- + + /** + * Sync account info + */ + async syncAccountInfo() { + this.account = await this.connector.getAccount(this.address); + this.maxKeyIndex = this.account.keys.length - 1; + this.cache.set("balance", this.account.balance / 1e8); + elizaLogger.debug("Flow account info synced", { + address: this.address, + balance: this.account.balance, + maxKeyIndex: this.maxKeyIndex, + keys: this.account.keys, + }); + } + + /** + * Get the wallet balance + * @returns Wallet balance + */ + async getWalletBalance(forceRefresh = false): Promise { + const cachedBalance = await this.cache.get("balance"); + if (!forceRefresh && cachedBalance) { + return cachedBalance; + } + await this.syncAccountInfo(); + return this.account ? this.account.balance / 1e8 : 0; + } + + /** + * Query the balance of this wallet + */ + async queryAccountBalanceInfo() { + return await queries.queryAccountBalanceInfo(this, this.address); + } +} + +// ----- Helpers ----- + +/** + * Check if an address is a Flow address + * @param address Address to check + */ +export function isFlowAddress(address: string) { + const regExp = /^0x[a-fA-F0-9]{16}$/gi; + return regExp.test(address); +} + +/** + * Check if an address is an EVM address + * @param address Address to check + */ +export function isEVMAddress(address: string) { + const regExp = /^0x[a-fA-F0-9]{40}$/gi; + return regExp.test(address); +} + +/** + * Check if a string is a Cadence identifier + * @param str String to check + */ +export function isCadenceIdentifier(str: string) { + const cadenceIdentifier = /^A\.[0-9a-fA-F]{16}\.[0-9a-zA-Z_]+/; + return cadenceIdentifier.test(str); +} + +/** + * Get the signer address + */ +function getSignerAddress(runtime: IAgentRuntime): string { + const signerAddr = runtime.getSetting("FLOW_ADDRESS"); + if (!signerAddr) { + elizaLogger.error("No signer address"); + throw new Exception(50200, "No signer info"); + } + return signerAddr; +} + +const flowWalletProvider: Provider = { + get: async ( + runtime: IAgentRuntime, + _message: Memory, + _state?: State + ): Promise => { + // Check if the user has an Flow wallet + if ( + !runtime.getSetting("FLOW_ADDRESS") || + !runtime.getSetting("FLOW_PRIVATE_KEY") + ) { + elizaLogger.error( + "FLOW_ADDRESS or FLOW_PRIVATE_KEY not configured, skipping wallet injection" + ); + return null; + } + + try { + const connector = await getFlowConnectorInstance(runtime); + const walletProvider = new FlowWalletProvider(runtime, connector); + const info = await walletProvider.queryAccountBalanceInfo(); + if (!info || info?.address !== walletProvider.address) { + elizaLogger.error("Invalid account info"); + return null; + } + let output = `Here is user<${runtime.character.name}>'s wallet status:\n`; + output += `Flow wallet address: ${walletProvider.address}\n`; + output += `FLOW balance: ${info.balance} FLOW\n`; + output += `Flow wallet's COA(EVM) address: ${info.coaAddress || "unknown"}\n`; + output += `FLOW balance in COA(EVM) address: ${info.coaBalance ?? 0} FLOW`; + return output; + } catch (error) { + elizaLogger.error("Error in Flow wallet provider:", error.message); + return null; + } + }, +}; + +// Module exports +export { flowWalletProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/queries.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/queries.ts new file mode 100644 index 000000000..9bdae7dc0 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/queries.ts @@ -0,0 +1,80 @@ +import { scripts } from "./assets/script.defs"; +import { FlowAccountBalanceInfo, IFlowScriptExecutor } from "./types"; + +/** + * Query the balance of an EVM ERC20 token + * @param executor + * @param owner + * @param evmContractAddress + */ +export async function queryEvmERC20BalanceOf( + executor: IFlowScriptExecutor, + owner: string, + evmContractAddress: string +): Promise { + const ret = await executor.executeScript( + scripts.evmERC20BalanceOf, + (arg, t) => [arg(owner, t.String), arg(evmContractAddress, t.String)], + BigInt(0) + ); + return BigInt(ret); +} + +/** + * Query the decimals of an EVM ERC20 token + * @param executor + * @param evmContractAddress + */ +export async function queryEvmERC20Decimals( + executor: IFlowScriptExecutor, + evmContractAddress: string +): Promise { + const ret = await executor.executeScript( + scripts.evmERC20GetDecimals, + (arg, t) => [arg(evmContractAddress, t.String)], + "0" + ); + return parseInt(ret); +} + +/** + * Query the total supply of an EVM ERC20 token + * @param executor + * @param evmContractAddress + */ +export async function queryEvmERC20TotalSupply( + executor: IFlowScriptExecutor, + evmContractAddress: string +): Promise { + const ret = await executor.executeScript( + scripts.evmERC20GetTotalSupply, + (arg, t) => [arg(evmContractAddress, t.String)], + BigInt(0) + ); + return BigInt(ret); +} + +/** + * Query the account info of a Flow address + * @param executor + * @param address + */ +export async function queryAccountBalanceInfo( + executor: IFlowScriptExecutor, + address: string +): Promise { + const ret = await executor.executeScript( + scripts.mainGetAccountInfo, + (arg, t) => [arg(address, t.Address)], + undefined + ); + if (!ret) { + return undefined; + } + return { + address: ret.address, + balance: parseFloat(ret.balance), + coaAddress: ret.coaAddress, + coaBalance: ret.coaBalance ? parseFloat(ret.coaBalance) : undefined, + }; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/templates/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/templates/index.ts new file mode 100644 index 000000000..66b27b185 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/templates/index.ts @@ -0,0 +1,31 @@ +export const transferTemplate = `Given the recent messages and wallet information below: + +{{recentMessages}} + +{{walletInfo}} + +Extract the following information about the requested transfer: +- Field "token": Cadence Resource Identifier or ERC20 contract address (if not native token). this field should be null if the token is native token: $FLOW or FLOW. Examples for this field: + 1. For Cadence resource identifier, the field should be "A.1654653399040a61.ContractName" + 2. For ERC20 contract address, the field should be "0xe6ffc15a5bde7dd33c127670ba2b9fcb82db971a" +- Field "amount": Amount to transfer, it should be a number or a string. Examples for this field: + 1. "1000" + 2. 1000 +- Field "to": Recipient wallet address, can be EVM address or Cadence address. Examples for this field: + 1. Cadence address: "0x1654653399040a61" + 2. EVM address: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e" +- Field "matched": Boolean value indicating if field "token" matches the field "to" or not. Here is the rules: + 1. if field "token" is "null" or Cadence resource identifier, field "to" can be EVM address or Cadence address, so the value of "matched" should be true. + 2. if field "token" is ERC20 contract address, field "to" should be EVM address, so the value of "matched" should be true, otherwise false. + +Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined: + +\`\`\`json +{ + "token": string | null + "amount": number | string | null, + "to": string | null, + "matched": boolean +} +\`\`\` +`; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/tests/connector.test.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/tests/connector.test.ts new file mode 100644 index 000000000..5bb46a162 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/tests/connector.test.ts @@ -0,0 +1,43 @@ +import { describe, it, expect, beforeEach, vi, afterEach } from "vitest"; +import { + getFlowConnectorInstance, + FlowConnectorProvider, +} from "../providers/connector.provider"; +import { defaultCharacter } from "@elizaos/core"; + +describe("ConnectorProvider", () => { + let connectorProvider: FlowConnectorProvider; + let mockedRuntime; + + beforeEach(async () => { + vi.clearAllMocks(); + + mockedRuntime = { + character: defaultCharacter, + getSetting: vi.fn().mockImplementation((key: string) => { + if (key === "FLOW_NETWORK") return "testnet"; + if (key === "FLOW_ENDPOINT_URL") return undefined; + return undefined; + }), + }; + + const connector = await getFlowConnectorInstance(mockedRuntime); + connectorProvider = new FlowConnectorProvider(connector); + }); + + afterEach(() => { + vi.clearAllTimers(); + }); + + describe("Connector", () => { + it("should check environment", () => { + const result = connectorProvider.getConnectorStatus(mockedRuntime); + + expect(result).toEqual( + `Eliza[0] Connected to\n` + + `Flow network: testnet\n` + + "Flow Endpoint: https://testnet.onflow.org\n" + ); + }); + }); +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/tests/wallet.test.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/tests/wallet.test.ts new file mode 100644 index 000000000..0a597e497 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/tests/wallet.test.ts @@ -0,0 +1,73 @@ +import { describe, it, expect, beforeEach, vi, afterEach } from "vitest"; +import { defaultCharacter } from "@elizaos/core"; +import { getFlowConnectorInstance } from "../providers/connector.provider"; +import { FlowWalletProvider } from "../providers/wallet.provider"; + +// Mock NodeCache +vi.mock("node-cache", () => ({ + default: vi.fn().mockImplementation(() => ({ + set: vi.fn(), + get: vi.fn().mockReturnValue(null), + })), +})); + +// Mock path module +vi.mock("path", async () => { + const actual = await vi.importActual("path"); + return { + ...actual, + join: vi.fn().mockImplementation((...args) => args.join("/")), + }; +}); + +// Mock the ICacheManager +const mockCacheManager = { + get: vi.fn().mockResolvedValue(null), + set: vi.fn(), + delete: vi.fn(), +}; + +describe("WalletProvider", () => { + let walletProvider: FlowWalletProvider; + let mockedRuntime; + + beforeEach(async () => { + vi.clearAllMocks(); + mockCacheManager.get.mockResolvedValue(null); + + mockedRuntime = { + character: defaultCharacter, + getSetting: vi.fn().mockImplementation((key: string) => { + if (key === "FLOW_NETWORK") return "testnet"; + if (key === "FLOW_ENDPOINT_URL") return undefined; + if (key === "FLOW_ADDRESS") return "0xad5a851aeb126bca"; + // This is the private key for the testnet address above + if (key === "FLOW_PRIVATE_KEY") + return "0x09e3d2e8f479a63e011ec776b39f89ce0ba8ca115f450a7e2d1909e5f113f831"; + return undefined; + }), + }; + + // Create new instance of TokenProvider with mocked dependencies + const connector = await getFlowConnectorInstance(mockedRuntime); + walletProvider = new FlowWalletProvider( + mockedRuntime, + connector, + mockCacheManager as any + ); + }); + + afterEach(() => { + vi.clearAllTimers(); + }); + + describe("Wallet Integration", () => { + it("should check wallet info", async () => { + const result = await walletProvider.queryAccountBalanceInfo(); + const balance = await walletProvider.getWalletBalance(); + + expect(walletProvider.address).toEqual(result.address); + expect(balance).toEqual(result.balance); + }); + }); +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/exception.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/exception.ts new file mode 100644 index 000000000..1aa613064 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/exception.ts @@ -0,0 +1,9 @@ +export default class Exception extends Error { + constructor( + readonly code: number, + message?: string, + options?: ErrorOptions + ) { + super(message, options); + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/fcl.d.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/fcl.d.ts new file mode 100644 index 000000000..dbfe105de --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/fcl.d.ts @@ -0,0 +1,357 @@ +declare module "*.cdc"; +declare module "*.cdc?raw"; + +declare module "@onflow/transport-grpc"; +declare module "@onflow/fcl-wc"; + +declare module "@onflow/config" { + // Config + export interface FlowConfig { + put: (key: string, value: unknown) => Promise; + get: (key: string, defaultValue: T) => Promise; + update: ( + key: string, + updateFn: (oldValue: T) => T + ) => Promise; + load: (opts: { flowJSON: object }) => Promise; + } + + export const config: FlowConfig; +} + +/* eslint-disable @typescript-eslint/no-explicit-any */ +declare module "@onflow/fcl" { + import * as ftypes from "@onflow/types"; + import { FlowConfig } from "@onflow/config"; + import type { + Account, + CompositeSignature, + TransactionStatus, + CurrentUser as UserData, + } from "@onflow/typedefs"; + + export enum TransactionStatusTypes { + Unknown = 0, + Pending, + Finalized, + Executed, + Sealed, + Expired, + } + + export type AnyJson = + | boolean + | number + | string + | null + | IJsonArray + | IJsonObject; + + export interface IJsonObject { + [key: string]: AnyJson; + } + + export interface FTypeSignature extends CompositeSignature { + f_type: "CompositeSignature"; + f_vsn: "1.0.0"; + } + + export interface SigningData { + message: string; + } + + export interface KeyObject { + index: number; + publicKey: string; + signAlgo: number; + hashAlgo: number; + weight: number; + sequenceNumber: number; + revoked: boolean; + } + + export interface AuthZ extends Account { + addr: string; + keyId: number; + signingFunction: (data: SigningData) => Promise; + } + + export type FclAuthorization = + | AuthZ + | ((acct: Account) => AuthZ) + | ((acct: Account) => Promise); + + export interface Service { + authn?: string; + f_type: string; + f_vsn: string; + id?: string; + identity?: Record; + provider?: Record; + scoped?: Record; + type: string; + uid: string; + data?: any; + network?: string; + } + + export interface UserSnapshot extends UserData { + services?: Service[]; + } + + export interface CadenceEvent { + blockId: string; + blockHeight: number; + blockTimestamp: string; + type: string; + transactionId: string; + transactionIndex: number; + eventIndex: number; + data?: Record; + } + + export interface CadenceResult { + events: CadenceEvent[]; + status: number; + statusCode: number; + errorMessage: string; + // TODO -- require once implemented in FCL + // https://github.com/onflow/fcl-js/issues/926 + transactionId?: string; + } + + export interface Argument { + value: any; + xform: any; // FType + } + + type TxSubCallback = (tx: TransactionStatus) => void; + + export interface TransactionResult { + snapshot: () => TransactionStatusTypes; + subscribe: (callback?: TxSubCallback) => Promise<() => void>; + onceFinalized: (callback?: TxSubCallback) => Promise; + onceExecuted: (callback?: TxSubCallback) => Promise; + onceSealed: (callback?: TxSubCallback) => Promise; + } + + export interface Interaction { + tag: string; + assigns: Record; + status: string; + reason: string | null; + accounts: Record; + params: Record; + arguments: Record; + message: Record; + /* + { + cadence: null; + refBlock: null; + computeLimit: null; + proposer: null; + payer: null; + authorizations: []; + params: []; + arguments: []; + }; + */ + proposer: string | null; + authorizations: unknown[]; + payer: string | null; + events: Record; + /*{ + eventType: null; + start: null; + end: null; + blockIds: []; + }; + */ + transaction: { + id: string | null; + }; + block: { + id: number | null; + height: number | null; + isSealed: boolean; + }; + account: { + addr: string | null; + }; + collection: { + id: string | null; + }; + } + + export type Pipe = (ix: Interaction) => Interaction; + + type IJsonArray = Array; + + export type Decoder = (dictionary, decoders, stack) => Record; + export type DecoderGroup = Record; + export type Response = IJsonObject; + + export interface CollectionGuaranteeObject { + collectionId: string; + signatures: TransactionSignature[]; + } + + export interface BlockHeaderObject { + id: string; + parentId: string; + height: number; + timestamp: string; + } + + export interface BlockObject extends BlockHeaderObject { + id: string; + parentId: string; + height: number; + timestamp: any; + collectionGuarantees: CollectionGuaranteeObject; + blockSeals: any; + signatures: TransactionSignature[]; + } + + type ArgumentFunction = ( + argFunc: typeof arg, + t: typeof ftypes + ) => Array; + + export function query(opts: { + cadence: string; + args?: ArgumentFunction; + limit?: number; + }): Promise; + + export function mutate(opts: { + cadence: string; + args?: ArgumentFunction; + limit?: number; + proposer?: FclAuthorization; + payer?: FclAuthorization; + authorizations?: FclAuthorization[]; + }): Promise; + + export function send(args: any, opts?: any): Promise; + + export function decode( + decodeInstructions: any, + customDecoders?: DecoderGroup, + stack?: Array + ): Promise; + + export function getChainId(): Promise; + + export function getBlockHeader(): Promise; + + export function sansPrefix(address: string): string; + + export function withPrefix(address: string): string; + + export function tx(transactionId: any): TransactionResult; + + // tx checker + tx.isUnknown = (_tx: TransactionStatus) => boolean; + tx.isPending = (_tx: TransactionStatus) => boolean; + tx.isFinalized = (_tx: TransactionStatus) => boolean; + tx.isExecuted = (_tx: TransactionStatus) => boolean; + tx.isSealed = (_tx: TransactionStatus) => boolean; + tx.isExpired = (_tx: TransactionStatus) => boolean; + + export function authenticate(): Promise; + export function unauthenticate(): void; + export function reauthenticate(): Promise; + export function authorization(account: Account): Promise; + export function verifyUserSignatures( + msg: string, + compSigs: TransactionSignature[] + ): Promise; + + type SubscribeCallback = (user: UserSnapshot) => void; + + export interface CurrentUser { + authenticate: typeof authenticate; + unauthenticate: typeof unauthenticate; + authorization: typeof authorization; + signUserMessage: (msg: string) => Promise; + subscribe: (callback: SubscribeCallback) => void; + snapshot: () => Promise; + } + + export const currentUser: CurrentUser; + + export const authz: AuthZ; + + export function config(): FlowConfig; + + // Utils + export interface AccountProofData { + address: string; + nonce: string; + signatures: FTypeSignature[]; + } + export interface VerifySigOption { + fclCryptoContract?: string; + } + + export interface AppUtils { + verifyAccountProof: ( + appIdentifier: string, + accountProofData: AccountProofData, + opts?: VerifySigOption + ) => Promise; + + verifyUserSignatures: ( + message: string, + signatures: FTypeSignature[], + opts?: VerifySigOption + ) => Promise; + } + export const AppUtils: AppUtils; + + export interface WalletUtils { + encodeAccountProof: ( + accountProofData: { + address: string; + nonce: string; + appIdentifier: string; + }, + includeDomainTag?: boolean + ) => string; + } + export const WalletUtils: WalletUtils; + + export interface PluginRegistry { + add(plugin: any): void; + } + export const pluginRegistry: PluginRegistry; + + // SDK + export function getAccount(address: string): Pipe; + export function getBlock(isSealed?: boolean): Pipe; + export function atBlockId(blockId: string): Pipe; + export function atBlockHeight(blockHeight: number): Pipe; + export function getTransaction(transactionId: string): Pipe; + export function getTransactionStatus(transactionId: string): Pipe; + export function getEventsAtBlockIds( + eventType: string, + blockIds: string[] + ): Pipe; + export function getEventsAtBlockHeightRange( + eventName: string, + fromBlockHeight: number, + toBlockHeight: number + ): Pipe; + + export function build(fns?: Pipe[]): Pipe; + export function script(code: string): Interaction; + export function transaction(...args: any): Interaction; + + export function payer(authz: FclAuthorization): Pipe; + export function proposer(authz: FclAuthorization): Pipe; + export function authorizations(ax: FclAuthorization[]): Pipe; + export function args(ax: Argument[]): Pipe; + export function arg(value: any, xform: any): Argument; + export function limit(computeLimit: number): Pipe; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/index.ts new file mode 100644 index 000000000..14a35b5ea --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/src/types/index.ts @@ -0,0 +1,52 @@ +import * as fcl from "@onflow/fcl"; +import type { Account } from "@onflow/typedefs"; + +export interface IFlowScriptExecutor { + /** + * Execute a script + * @param code Cadence code + * @param args Cadence arguments + */ + executeScript( + code: string, + args: fcl.ArgumentFunction, + defaultValue: T + ): Promise; +} + +/** + * Signer interface + */ +export interface IFlowSigner { + /** + * Send a transaction + */ + sendTransaction( + code: string, + args: fcl.ArgumentFunction, + authz?: fcl.FclAuthorization + ): Promise; + + /** + * Build authorization + */ + buildAuthorization( + accountIndex?: number, + privateKey?: string + ): (acct: Account) => Promise; +} + +export interface TransactionResponse { + signer: { + address: string; + keyIndex: number; + }; + txid: string; +} + +export interface FlowAccountBalanceInfo { + address: string; + balance: number; + coaAddress?: string; + coaBalance?: number; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/tsconfig.json new file mode 100644 index 000000000..73993deaa --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/tsup.config.ts new file mode 100644 index 000000000..7f072ccb7 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/tsup.config.ts @@ -0,0 +1,35 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + loader: { + ".cdc": "text", + }, + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + "safe-buffer", + "base-x", + "bs58", + "borsh", + "stream", + "buffer", + "querystring", + "amqplib", + // Add other modules you want to externalize + "@onflow/fcl", + "@onflow/types", + "sha3", + "elliptic", + ], +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/vitest.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/vitest.config.ts new file mode 100644 index 000000000..25e47c5f8 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/vitest.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "vitest/config"; +import path from "path"; + +export default defineConfig({ + test: { + environment: "node", + testTimeout: 120000, + }, + assetsInclude: ["**/*.cdc"], + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + }, + }, +}); From 061be08f760d17a2872272e28238f40de8e98bf0 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 18:52:56 -0800 Subject: [PATCH 057/312] Remove old .gitignore --- .../react-agents/components/plugins/plugin-flow/.gitignore | 1 - .../react-agents/components/plugins/plugin-flow/.npmignore | 7 ------- 2 files changed, 8 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.gitignore delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.gitignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.gitignore deleted file mode 100644 index a3d38b557..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.gitignore +++ /dev/null @@ -1 +0,0 @@ -imports diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.npmignore deleted file mode 100644 index fdfc2cd16..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/.npmignore +++ /dev/null @@ -1,7 +0,0 @@ -* - -!dist/** -!package.json -!flow.json -!readme.md -!tsup.config.ts From d43417c510c1c0281de1e8fc5011f40090b7654a Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 19:06:42 -0800 Subject: [PATCH 058/312] Hack flow plugin --- .../react-agents/components/plugins/plugin-flow/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/package.json index 60c6da746..b6dcb0f73 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-flow", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "@onflow/config": "1.5.1", "@onflow/fcl": "1.13.1", "@onflow/typedefs": "1.4.0", From 7c97141f6ba4fdd462ec0ec7bb5c8c34a96fa2a3 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 19:08:25 -0800 Subject: [PATCH 059/312] Add flow plugin to installs --- packages/usdk/packages/upstreet-agent/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index a738e1c27..346364b11 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -8,6 +8,7 @@ "@elizaos/plugin-whatsapp": "file:./packages/react-agents/components/clients/plugin-whatsapp", "@elizaos/plugin-3d-generation": "file:./packages/react-agents/components/plugins/plugin-3d-generation", "@elizaos/plugin-coinbase": "file:./packages/react-agents/components/plugins/plugin-coinbase", + "@elizaos/plugin-flow": "file:./packages/react-agents/components/plugins/plugin-flow", "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", "@elizaos/plugin-solana": "file:./packages/react-agents/components/plugins/plugin-solana", "@elizaos/plugin-sui": "file:./packages/react-agents/components/plugins/plugin-sui", From 2e7fe5118077846a762a7fee4e8094979bd834bb Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 19:23:44 -0800 Subject: [PATCH 060/312] Plug in flow plugin --- .../packages/react-agents/components/plugins/index.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 0b0735951..fa1a4dd6d 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -10,6 +10,7 @@ import { twitterPlugin } from '@elizaos/plugin-twitter'; import createGoatPlugin from '@elizaos/plugin-goat'; import { plugins as coinbasePlugins } from '@elizaos/plugin-coinbase'; import suiPlugin from '@elizaos/plugin-sui'; +import flowPlugin from '@elizaos/plugin-flow'; function generateZodSchema(obj: any): z.ZodTypeAny { if (typeof obj === "string") return z.string(); @@ -204,6 +205,7 @@ export const plugins = { '@elizaos/plugin-twitter': pluginWrap(twitterPlugin), '@elizaos/plugin-coinbase': pluginWrapObject(coinbasePlugins), '@elizaos/plugin-sui': pluginWrap(suiPlugin), - // '@elizaos/plugin-goat': pluginWrap(goatPlugin), + '@elizaos/plugin-flow': pluginWrap(flowPlugin), '@elizaos/plugin-trustdb': adapterWrap(TrustScoreDatabase), + // '@elizaos/plugin-goat': pluginWrap(goatPlugin), }; \ No newline at end of file From 3b908c793355f2d7eec2239602c220164429236c Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:10:13 -0800 Subject: [PATCH 061/312] Disable dead ssr mode --- .../upstreet-agent/packages/react-agents-node/worker.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs index daff1dcfb..372a1c621 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs @@ -95,7 +95,7 @@ const runAgent = async (directory, opts) => { const makeViteServer = async (directory) => { return await createViteServer({ root: directory, - server: { middlewareMode: 'ssr' }, + // server: { middlewareMode: 'ssr' }, cacheDir: path.join(homeDir, '.usdk', 'vite'), esbuild: { jsx: 'transform', From cb35c8fd67cc338327772b096bb279baca219206 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:10:22 -0800 Subject: [PATCH 062/312] Include cdc assets as strings --- .../upstreet-agent/packages/react-agents-node/worker.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs index 372a1c621..23d73d5a6 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents-node/worker.mjs @@ -113,6 +113,7 @@ const makeViteServer = async (directory) => { // these proxies are necessary for vite to polyfill node builtins fs: import.meta.resolve('fs').replace('file://', ''), }, + assetsInclude: [/\.cdc$/], }); }; From 039ab897437d5f1495c16ba68dad990add10c827 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:10:33 -0800 Subject: [PATCH 063/312] Update lock --- pnpm-lock.yaml | 2008 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 2006 insertions(+), 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 458fb1ebe..0297d0c1e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -948,6 +948,9 @@ importers: '@elizaos/plugin-coinbase': specifier: file:./packages/react-agents/components/plugins/plugin-coinbase version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + '@elizaos/plugin-flow': + specifier: file:./packages/react-agents/components/plugins/plugin-flow + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(@types/react@18.3.16)(@vercel/kv@1.0.1)(bufferutil@4.0.9)(google-protobuf@3.21.4)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-goat': specifier: file:./packages/react-agents/components/plugins/plugin-goat version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) @@ -2356,6 +2359,11 @@ packages: '@elizaos/plugin-coinbase@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase, type: directory} + '@elizaos/plugin-flow@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-goat@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat, type: directory} peerDependencies: @@ -2452,6 +2460,10 @@ packages: '@emotion/weak-memoize@0.4.0': resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + '@es-joy/jsdoccomment@0.41.0': + resolution: {integrity: sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==} + engines: {node: '>=16'} + '@esbuild-plugins/node-globals-polyfill@0.2.3': resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==} peerDependencies: @@ -3175,6 +3187,57 @@ packages: resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ethersproject/abstract-provider@5.7.0': + resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} + + '@ethersproject/abstract-signer@5.7.0': + resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} + + '@ethersproject/address@5.7.0': + resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + + '@ethersproject/base64@5.7.0': + resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} + + '@ethersproject/bignumber@5.7.0': + resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + + '@ethersproject/bytes@5.7.0': + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + + '@ethersproject/constants@5.7.0': + resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} + + '@ethersproject/hash@5.7.0': + resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} + + '@ethersproject/keccak256@5.7.0': + resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} + + '@ethersproject/logger@5.7.0': + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + + '@ethersproject/networks@5.7.1': + resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} + + '@ethersproject/properties@5.7.0': + resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} + + '@ethersproject/rlp@5.7.0': + resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + + '@ethersproject/signing-key@5.7.0': + resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} + + '@ethersproject/strings@5.7.0': + resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} + + '@ethersproject/transactions@5.7.0': + resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} + + '@ethersproject/web@5.7.1': + resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} + '@fal-ai/client@1.2.0': resolution: {integrity: sha512-MNCnE5icY+OM5ahgYJItmydZ7AxhtzhgA5tQI13jVntzhLT0z+tetHIlAL1VA0XFZgldDzqxeTf9Pr5TW3VErg==} engines: {node: '>=18.0.0'} @@ -3384,6 +3447,11 @@ packages: cpu: [x64] os: [win32] + '@improbable-eng/grpc-web@0.15.0': + resolution: {integrity: sha512-ERft9/0/8CmYalqOVnJnpdDry28q+j+nAlFFARdjyxXDJ+Mhgv9+F600QC8BR9ygOfrXRlAk6CvST2j+JCpQPg==} + peerDependencies: + google-protobuf: ^3.14.0 + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -3808,6 +3876,12 @@ packages: peerDependencies: '@langchain/core': '>=0.2.21 <0.4.0' + '@lit-labs/ssr-dom-shim@1.2.1': + resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} + + '@lit/reactive-element@1.6.3': + resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} + '@mapbox/node-pre-gyp@1.0.11': resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true @@ -3845,6 +3919,31 @@ packages: peerDependencies: three: '>= 0.159.0' + '@motionone/animation@10.18.0': + resolution: {integrity: sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==} + + '@motionone/dom@10.18.0': + resolution: {integrity: sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A==} + + '@motionone/easing@10.18.0': + resolution: {integrity: sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==} + + '@motionone/generators@10.18.0': + resolution: {integrity: sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==} + + '@motionone/svelte@10.16.4': + resolution: {integrity: sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==} + + '@motionone/types@10.17.1': + resolution: {integrity: sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==} + + '@motionone/utils@10.18.0': + resolution: {integrity: sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==} + + '@motionone/vue@10.16.4': + resolution: {integrity: sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==} + deprecated: Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion + '@msgpack/msgpack@3.0.0-beta2': resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} engines: {node: '>= 14'} @@ -4249,6 +4348,67 @@ packages: '@nut-tree-fork/shared@4.2.2': resolution: {integrity: sha512-SOIDs4H+rIh+IdXzS1KocMzjsMNqihMVB3mOaEo0lAycempKh/44XXktXUkjeJOwlYyL4Ugxed+SOrob5tTM5g==} + '@onflow/config@1.5.1': + resolution: {integrity: sha512-BmD67EhZEqMRePa3y/WIpC5hH/YF9gV9uv5bPSN39P3laYxd93Ojhdf6v0fXkjO/d3WaHylLPoXYgpW/g5seWA==} + + '@onflow/fcl-core@1.13.1': + resolution: {integrity: sha512-kXej2sLWjY2MVY42omIKiZz0v13V2MTwZV1dwf4xERqgFX0WvsG5ZGyVY0y4kp8mNiUXe7pZmtRhynu2TJGnJw==} + + '@onflow/fcl-wc@5.5.1': + resolution: {integrity: sha512-c83yjATlOTBjGzGlSXUiBJR576L8/oGiiL7b3ymi5jbl47RhubPPiH4Ix+DoJqyDuRtpk5Lim2vodawmH/aiWQ==} + peerDependencies: + '@onflow/fcl-core': 1.13.1 + + '@onflow/fcl@1.13.1': + resolution: {integrity: sha512-96Fe2SsnUqPSIaSxsaL7Fuz3wQUxPfV5eexz0JufWhyQ6NvwDu9bvD/ntNk1ACJkIANlEIzP+sq4Nfz93uINfw==} + + '@onflow/interaction@0.0.11': + resolution: {integrity: sha512-Xuq1Mmx6Wyba/F/L+QLQs0yJeQDsIDwy5SKk5vrCuVgIj0yD8k506g5L8ODrbM1LWll8i0tQsoOi0F85vNl5sA==} + + '@onflow/rlp@1.2.3': + resolution: {integrity: sha512-Mm1jSzDhdTofMGhg3NtUD8uKntj7u1dSMr+Q4VwOw2YQhwGTGJrzsHc7qgkJxwDnjU0Ra8VQfqd54bZzX0R2aQ==} + + '@onflow/sdk@1.5.5': + resolution: {integrity: sha512-79h56lYB/4vi1Tn+QrICUpQZ0Jh8O5d8I0IC/3adAf2zU8xfxvkypw7Tfx58Zr03vip+0h83Ri3DwyZpqIM2sw==} + + '@onflow/transport-http@1.10.4': + resolution: {integrity: sha512-yZNqNEISnCaP7bsB+pwBjHT7+AYjADxUQpj8SccrTWnWlM6LEDIcNVCr8eBzrANug3o2Y1LuqSOhMiWYtbXs7w==} + + '@onflow/typedefs@1.4.0': + resolution: {integrity: sha512-7b4C3F4Ztayx6XdQz/7YoHMzZ6kzy37dLxdVCV/PAsAunq9Jfu32HQaf8a0NCk0L0aM7FS2zT1Om4k7b5KP4Xg==} + + '@onflow/types@1.4.1': + resolution: {integrity: sha512-oKKaNTPfb9OJos4C6RoK3sql9Bx8mi+8ytTc7wLJbjv+n6YUov2zRGkGsPzj2QxL2Xf48CLYtPNn7cBNr3v39w==} + + '@onflow/util-actor@1.3.4': + resolution: {integrity: sha512-BQeFdy0obs2x+XTEkss7MjuasS7gCfIStwGsgpH0aG3siBu+IsMYPiDdrHOeYS2Jn/pSFXF5R85NYrnMvlDhlA==} + + '@onflow/util-address@1.2.3': + resolution: {integrity: sha512-5u1pLQT6MmTlRQLv8zVJP/iOkgytvpzK+32nXcJ29XE0y7YI6GLrFfgKGBIRsiqiSLp7SU6XI5RukEJEblmwOw==} + + '@onflow/util-invariant@1.2.4': + resolution: {integrity: sha512-U4D30lrAxSgqTPQsIvC3gPDoXVxuhLS9TZk4WxEvNfcQrI6VYKvWRe4m/5mUrc4kpE+ntXZmnbs+DUM7oLlkcg==} + + '@onflow/util-logger@1.3.3': + resolution: {integrity: sha512-eivdbF7cKNjTL2nuvI3pjDavDDfTXRq4pJtJpkI8hJMz0XJb84o7D5CLPcDRId//1Kc/qoqM/driHz5A4J52Qw==} + peerDependencies: + '@onflow/util-config': '>1.1.1' + peerDependenciesMeta: + '@onflow/util-config': + optional: true + + '@onflow/util-rpc@0.0.2': + resolution: {integrity: sha512-UFYT99rdHEFOpfG5A/lFJFQBw4Q0b7MKN7lWTwYf/AU+bVm5zgNJ/V4Z9CXOSnA55ztLauYdk+eWldbhC9pqiw==} + + '@onflow/util-semver@1.0.3': + resolution: {integrity: sha512-c604ewWCXUT1WpqeOiblNi3YWOQTGx3UgRWNXbRTD9K17Fh2DaXBTHYVu7FSreGwPGarU0T3iTBWkuuWJXSGwA==} + + '@onflow/util-template@1.2.3': + resolution: {integrity: sha512-yNF7mI5L1y6yJHL+HxmTgIdd/oF1HD/kzjzZgjOyAvk+mLXzML+sWkqRSoIYcETbQ0w6cdNg3xvzZgTLuLIK3A==} + + '@onflow/util-uid@1.2.3': + resolution: {integrity: sha512-gCTVvBBgDcZFX6SGyHPwoPVbK4e9sp0DC1kaQ0cgAt83YgodqiBiJLlwMBYNKuL03zSI6Ic5/TJVMVsruG7l9w==} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -5712,6 +5872,60 @@ packages: '@solana/web3.js@1.95.8': resolution: {integrity: sha512-sBHzNh7dHMrmNS5xPD1d0Xa2QffW/RXaxu/OysRXBfwTp+LYqGGmMtCYYwrHPrN5rjAmJCsQRNAwv4FM0t3B6g==} + '@stablelib/aead@1.0.1': + resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} + + '@stablelib/binary@1.0.1': + resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} + + '@stablelib/bytes@1.0.1': + resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==} + + '@stablelib/chacha20poly1305@1.0.1': + resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==} + + '@stablelib/chacha@1.0.1': + resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==} + + '@stablelib/constant-time@1.0.1': + resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} + + '@stablelib/ed25519@1.0.3': + resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} + + '@stablelib/hash@1.0.1': + resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} + + '@stablelib/hkdf@1.0.1': + resolution: {integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==} + + '@stablelib/hmac@1.0.1': + resolution: {integrity: sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==} + + '@stablelib/int@1.0.1': + resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} + + '@stablelib/keyagreement@1.0.1': + resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==} + + '@stablelib/poly1305@1.0.1': + resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==} + + '@stablelib/random@1.0.2': + resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} + + '@stablelib/sha256@1.0.1': + resolution: {integrity: sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==} + + '@stablelib/sha512@1.0.1': + resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==} + + '@stablelib/wipe@1.0.1': + resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} + + '@stablelib/x25519@1.0.3': + resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} + '@stitches/react@1.2.8': resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==} peerDependencies: @@ -6868,6 +7082,78 @@ packages: '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + '@walletconnect/core@2.17.3': + resolution: {integrity: sha512-57uv0FW4L6H/tmkb1kS2nG41MDguyDgZbGR58nkDUd1TO/HydyiTByVOhFzIxgN331cnY/1G1rMaKqncgdnOFA==} + engines: {node: '>=18'} + + '@walletconnect/environment@1.0.1': + resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} + + '@walletconnect/events@1.0.1': + resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} + + '@walletconnect/heartbeat@1.2.2': + resolution: {integrity: sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw==} + + '@walletconnect/jsonrpc-provider@1.0.14': + resolution: {integrity: sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow==} + + '@walletconnect/jsonrpc-types@1.0.4': + resolution: {integrity: sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ==} + + '@walletconnect/jsonrpc-utils@1.0.8': + resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==} + + '@walletconnect/jsonrpc-ws-connection@1.0.16': + resolution: {integrity: sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q==} + + '@walletconnect/keyvaluestorage@1.1.1': + resolution: {integrity: sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==} + peerDependencies: + '@react-native-async-storage/async-storage': 1.x + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + + '@walletconnect/logger@2.1.2': + resolution: {integrity: sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw==} + + '@walletconnect/modal-core@2.7.0': + resolution: {integrity: sha512-oyMIfdlNdpyKF2kTJowTixZSo0PGlCJRdssUN/EZdA6H6v03hZnf09JnwpljZNfir2M65Dvjm/15nGrDQnlxSA==} + + '@walletconnect/modal-ui@2.7.0': + resolution: {integrity: sha512-gERYvU7D7K1ANCN/8vUgsE0d2hnRemfAFZ2novm9aZBg7TEd/4EgB+AqbJ+1dc7GhOL6dazckVq78TgccHb7mQ==} + + '@walletconnect/modal@2.7.0': + resolution: {integrity: sha512-RQVt58oJ+rwqnPcIvRFeMGKuXb9qkgSmwz4noF8JZGUym3gUAzVs+uW2NQ1Owm9XOJAV+sANrtJ+VoVq1ftElw==} + + '@walletconnect/relay-api@1.0.11': + resolution: {integrity: sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q==} + + '@walletconnect/relay-auth@1.0.4': + resolution: {integrity: sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==} + + '@walletconnect/safe-json@1.0.2': + resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==} + + '@walletconnect/sign-client@2.17.3': + resolution: {integrity: sha512-OzOWxRTfVGCHU3OOF6ibPkgPfDpivFJjuknfcOUt9PYWpTAv6YKOmT4cyfBPhc7llruyHpV44fYbykMcLIvEcg==} + + '@walletconnect/time@1.0.2': + resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} + + '@walletconnect/types@2.17.3': + resolution: {integrity: sha512-5eFxnbZGJJx0IQyCS99qz+OvozpLJJYfVG96dEHGgbzZMd+C9V1eitYqVClx26uX6V+WQVqVwjpD2Dyzie++Wg==} + + '@walletconnect/utils@2.17.3': + resolution: {integrity: sha512-tG77UpZNeLYgeOwViwWnifpyBatkPlpKSSayhN0gcjY1lZAUNqtYslpm4AdTxlrA3pL61MnyybXgWYT5eZjarw==} + + '@walletconnect/window-getters@1.0.1': + resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==} + + '@walletconnect/window-metadata@1.0.1': + resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==} + '@wasm-audio-decoders/common@file:packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder/packages/wasm-audio-decoders-common': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder/packages/wasm-audio-decoders-common, type: directory} @@ -7207,6 +7493,10 @@ packages: resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} engines: {node: '>= 14'} + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} @@ -7360,6 +7650,10 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + atomically@2.0.3: resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==} @@ -7619,6 +7913,9 @@ packages: browser-assert@1.2.1: resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} + browser-headers@0.4.1: + resolution: {integrity: sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==} + browser-util-inspect@0.2.0: resolution: {integrity: sha512-R7WvAj0p9FtwS2Jbtc1HUd1+YZdeb5EEqjBSbbOK3owJtW1viWyJDeTPy43QZ7bZ8POtb1yMv++h844486jMsQ==} @@ -7956,6 +8253,9 @@ packages: resolution: {integrity: sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==} engines: {node: '>=8'} + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -8103,6 +8403,10 @@ packages: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + common-path-prefix@3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} @@ -8187,6 +8491,9 @@ packages: resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -8269,6 +8576,9 @@ packages: cross-fetch@3.2.0: resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + cross-fetch@4.1.0: + resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==} + cross-spawn@6.0.6: resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} engines: {node: '>=4.8'} @@ -8277,6 +8587,9 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + crossws@0.3.1: + resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==} + crypto-hash@1.3.0: resolution: {integrity: sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==} engines: {node: '>=8'} @@ -8537,6 +8850,10 @@ packages: decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -8635,14 +8952,24 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + dependency-graph@0.11.0: + resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} + engines: {node: '>= 0.6.0'} + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + detect-browser@5.3.0: + resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} + detect-gpu@5.0.60: resolution: {integrity: sha512-HOUiexaACwaeTBelnR3OrUN0mxgPadneTf7VndBEieQa3cx7xzrsQ/pm3niim4hZhN8gaDpAbTdCrjveGnNToQ==} @@ -8699,6 +9026,9 @@ packages: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} + dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -8798,6 +9128,9 @@ packages: duplexify@3.7.1: resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + duplexify@4.1.3: + resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -8835,6 +9168,9 @@ packages: engines: {node: '>= 12.20.55'} hasBin: true + elliptic@6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + elliptic@6.6.1: resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} @@ -8865,6 +9201,9 @@ packages: enabled@2.0.0: resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} + encode-utf8@1.0.3: + resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} + encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} @@ -9290,6 +9629,12 @@ packages: '@typescript-eslint/parser': optional: true + eslint-plugin-jsdoc@46.10.1: + resolution: {integrity: sha512-x8wxIpv00Y50NyweDUpa+58ffgSAI5sqe+zcZh33xphD0AVh+1kqr1ombaTRb7Fhpove1zfUuujlX9DWWBP5ag==} + engines: {node: '>=16'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint-plugin-jsx-a11y@6.10.2: resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} engines: {node: '>=4.0'} @@ -9587,6 +9932,10 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + fast-stable-stringify@1.0.0: resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} @@ -9667,6 +10016,10 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + filter-obj@1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + finalhandler@1.3.1: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} @@ -10136,6 +10489,9 @@ packages: resolution: {integrity: sha512-7ccSEJFDFO7exFbO6NRyC+xH8/mZ1GZGG2xxx9iHxZWcjUjJpjWxIMw3cofAKcueZ6DATiukmmprD7yavQHOyQ==} engines: {node: '>=14'} + google-protobuf@3.21.4: + resolution: {integrity: sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==} + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -10175,6 +10531,9 @@ packages: resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} hasBin: true + h3@1.13.0: + resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==} + handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} @@ -10251,6 +10610,9 @@ packages: resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==} engines: {node: '>=6'} + hey-listen@1.0.8: + resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} + highlight.js@10.7.3: resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} @@ -10382,6 +10744,9 @@ packages: peerDependencies: postcss: ^8.1.0 + idb-keyval@6.2.1: + resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -10488,6 +10853,9 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} + iron-webcrypto@1.2.1: + resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + irregular-plurals@3.5.0: resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} engines: {node: '>=8'} @@ -10855,6 +11223,11 @@ packages: peerDependencies: ws: '*' + isomorphic-ws@5.0.0: + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + isomorphic.js@0.2.5: resolution: {integrity: sha512-PIeMbHqMt4DnUP3MA/Flc0HElYjMXArsw1qwJZcm9sqR8mq3l8NYizFMty0pWwE/tzIGH3EKK5+jes5mAr85yw==} @@ -11102,6 +11475,9 @@ packages: js-sha1@0.7.0: resolution: {integrity: sha512-oQZ1Mo7440BfLSv9TX87VNEyU52pXPVG19F9PL3gTgNt0tVxlZ8F4O6yze3CLuLx28TxotxvlyepCNaaV0ZjMw==} + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + js-string-escape@1.0.1: resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} engines: {node: '>= 0.8'} @@ -11133,6 +11509,10 @@ packages: '@babel/preset-env': optional: true + jsdoc-type-pratt-parser@4.0.0: + resolution: {integrity: sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==} + engines: {node: '>=12.0.0'} + jsdom@20.0.3: resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} engines: {node: '>=14'} @@ -11258,6 +11638,9 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyvaluestorage-interface@1.0.0: + resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} + kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -11399,6 +11782,15 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lit-element@3.3.3: + resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} + + lit-html@2.8.0: + resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} + + lit@2.8.0: + resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} + load-bmfont@1.4.2: resolution: {integrity: sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==} @@ -11462,6 +11854,9 @@ packages: lodash.isboolean@3.0.3: resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + lodash.isinteger@4.0.4: resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} @@ -12150,6 +12545,9 @@ packages: motion-utils@11.13.0: resolution: {integrity: sha512-lq6TzXkH5c/ysJQBxgLXgM01qwBH1b4goTPh57VvZWJbVJZF/0SB31UWEn4EIqbVPf3au88n2rvK17SpDTja1A==} + motion@10.16.2: + resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==} + mpg123-decoder@file:packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder: resolution: {directory: packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder, type: directory} @@ -12166,6 +12564,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + multiformats@9.9.0: + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} + multiplayer@file:packages/usdk/packages/upstreet-agent/packages/react-agents-client/packages/multiplayer: resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents-client/packages/multiplayer, type: directory} @@ -12455,6 +12856,9 @@ packages: objectorarray@1.0.5: resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + ohash@1.1.4: resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} @@ -12470,6 +12874,9 @@ packages: omggif@1.0.10: resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} + on-exit-leak-free@0.2.0: + resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -12840,6 +13247,16 @@ packages: resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} engines: {node: '>=10'} + pino-abstract-transport@0.5.0: + resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + + pino-std-serializers@4.0.0: + resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + + pino@7.11.0: + resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} + hasBin: true + pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -12893,6 +13310,10 @@ packages: resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} engines: {node: '>=4.0.0'} + pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + pngjs@6.0.0: resolution: {integrity: sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==} engines: {node: '>=12.13.0'} @@ -12922,6 +13343,13 @@ packages: peerDependencies: postcss: ^8.2.2 + postcss-cli@11.0.0: + resolution: {integrity: sha512-xMITAI7M0u1yolVcXJ9XTZiO9aO49mcoKQy6pCDFdMh9kGqhzLVpWxeD/32M/QBmkhcGypZFFOLNLmIW4Pg4RA==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + postcss: ^8.0.0 + postcss-colormin@5.3.1: resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} @@ -12994,6 +13422,21 @@ packages: ts-node: optional: true + postcss-load-config@5.1.0: + resolution: {integrity: sha512-G5AJ+IX0aD0dygOE0yFZQ/huFFMSNneyfp0e3/bT05a8OfPC5FUoZRPfGijUdGOJNMewJiwzcHJXFafFzeKFVA==} + engines: {node: '>= 18'} + peerDependencies: + jiti: '>=1.21.0' + postcss: '>=8.0.9' + tsx: ^4.8.1 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} @@ -13155,6 +13598,12 @@ packages: peerDependencies: postcss: ^8.2.15 + postcss-reporter@7.1.0: + resolution: {integrity: sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.1.0 + postcss-selector-parser@6.0.10: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} @@ -13205,6 +13654,9 @@ packages: preact@10.11.3: resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} + preact@10.25.4: + resolution: {integrity: sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -13323,6 +13775,9 @@ packages: process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process-warning@1.0.0: + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + process@0.11.10: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} @@ -13368,6 +13823,9 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} + proxy-compare@2.5.1: + resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==} + proxy-compare@3.0.1: resolution: {integrity: sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q==} @@ -13410,6 +13868,11 @@ packages: pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + qrcode@1.5.3: + resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} + engines: {node: '>=10.13.0'} + hasBin: true + qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} @@ -13418,6 +13881,10 @@ packages: resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} engines: {node: '>=0.6'} + query-string@7.1.3: + resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} + engines: {node: '>=6'} + querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -13433,6 +13900,9 @@ packages: queue@6.0.2: resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -13453,6 +13923,9 @@ packages: react-dom: optional: true + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + ramda@0.29.0: resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} @@ -13709,6 +14182,10 @@ packages: resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==} engines: {node: '>= 14.16.0'} + real-require@0.1.0: + resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} + engines: {node: '>= 12.13.0'} + recast@0.23.9: resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} engines: {node: '>= 4'} @@ -13856,6 +14333,9 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} @@ -14146,6 +14626,9 @@ packages: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true + sha3@2.1.4: + resolution: {integrity: sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==} + shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -14248,6 +14731,9 @@ packages: solid-js: ^1.2 swr-store: ^0.10 + sonic-boom@2.8.0: + resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + sonner@1.4.3: resolution: {integrity: sha512-SArYlHbkjqRuLiR0iGY2ZSr09oOrxw081ZZkQPfXrs8aZQLIBOLOdzTYxGJB5yIZ7qL56UEPmrX1YqbODwG0Lw==} peerDependencies: @@ -14299,6 +14785,9 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + spdx-license-ids@3.0.20: resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} @@ -14306,10 +14795,18 @@ packages: resolution: {integrity: sha512-IBeMZUITigYBO139h0+1MAgBHNZF55GFJN4U/Box35Sg49cfqYkbCO92TXoCUy22Ast08zfqKuXLvPxq9CWwLw==} engines: {node: '>=8.6'} + split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} engines: {node: '>=0.10.0'} + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -14410,6 +14907,10 @@ packages: streamx@2.21.0: resolution: {integrity: sha512-Qz6MsDZXJ6ur9u+b+4xCG18TluU7PGlRfXVAAjNiGsFrBUt/ioyLkxbFaKJygoPs+/kW4VyBj0bSj89Qu0IGyg==} + strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + string-hash@1.1.3: resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} @@ -14788,6 +15289,9 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + thenby@1.3.4: + resolution: {integrity: sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==} + thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -14801,6 +15305,9 @@ packages: peerDependencies: tslib: ^2 + thread-stream@0.15.2: + resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + three-mesh-bvh@0.7.8: resolution: {integrity: sha512-BGEZTOIC14U0XIRw3tO4jY7IjP7n7v24nv9JXS1CyeVRWOCkcOMhRnmENUjuV39gktAw4Ofhr0OvIAiTspQrrw==} deprecated: Deprecated due to three.js version incompatibility. Please use v0.8.0, instead. @@ -15163,6 +15670,9 @@ packages: uid-promise@1.0.0: resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + uint8arrays@3.1.0: + resolution: {integrity: sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==} + unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -15170,6 +15680,9 @@ packages: resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} engines: {node: '>=0.10.0'} + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -15191,6 +15704,9 @@ packages: unenv-nightly@2.0.0-20241204-140205-a5d5190: resolution: {integrity: sha512-jpmAytLeiiW01pl5bhVn9wYJ4vtiLdhGe10oXlJBuQEX8mxjxO8BlEXGHU4vr4yEikjFP1wsomTHt/CLU8kUwg==} + unenv@1.10.0: + resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} + unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -15297,6 +15813,65 @@ packages: resolution: {integrity: sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ==} engines: {node: '>=14.0.0'} + unstorage@1.14.4: + resolution: {integrity: sha512-1SYeamwuYeQJtJ/USE1x4l17LkmQBzg7deBJ+U9qOBoHo15d1cDxG4jM31zKRgF7pG0kirZy4wVMX6WL6Zoscg==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.5.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6.0.3 + '@deno/kv': '>=0.8.4' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.0' + '@vercel/kv': ^1.0.1 + aws4fetch: ^1.0.20 + db0: '>=0.2.1' + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.1 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + uploadthing: + optional: true + untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -15381,6 +15956,11 @@ packages: use-strict@1.0.1: resolution: {integrity: sha512-IeiWvvEXfW5ltKVMkxq6FvNf2LojMKvB2OCeja6+ct24S1XOmQw2dGr2JyndwACWAGJva9B7yPHwAmeA9QCqAQ==} + use-sync-external-store@1.2.0: + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + use-sync-external-store@1.2.2: resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: @@ -15466,6 +16046,18 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + valtio@1.11.2: + resolution: {integrity: sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=16.8' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -15744,6 +16336,9 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + which-typed-array@1.1.16: resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==} engines: {node: '>= 0.4'} @@ -15802,6 +16397,10 @@ packages: '@cloudflare/workers-types': optional: true + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -15925,6 +16524,9 @@ packages: xxhash-wasm@1.1.0: resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -15948,10 +16550,18 @@ packages: engines: {node: '>= 14'} hasBin: true + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -17570,6 +18180,96 @@ snapshots: - utf-8-validate - zod + '@elizaos/plugin-flow@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(@types/react@18.3.16)(@vercel/kv@1.0.1)(bufferutil@4.0.9)(google-protobuf@3.21.4)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(utf-8-validate@5.0.10)(whatwg-url@11.0.0)': + dependencies: + '@onflow/config': 1.5.1 + '@onflow/fcl': 1.13.1(@types/react@18.3.16)(@vercel/kv@1.0.1)(bufferutil@4.0.9)(google-protobuf@3.21.4)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(utf-8-validate@5.0.10) + '@onflow/typedefs': 1.4.0 + bignumber.js: 9.1.2 + bs58: 6.0.0 + elliptic: 6.6.1 + node-cache: 5.1.2 + sha3: 2.1.4 + uuid: 11.0.3 + whatwg-url: 11.0.0 + zod: 3.23.8 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@onflow/util-config' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - encoding + - google-protobuf + - ioredis + - jiti + - postcss + - react + - supports-color + - ts-node + - tsx + - uploadthing + - utf-8-validate + + '@elizaos/plugin-flow@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0)': + dependencies: + '@onflow/config': 1.5.1 + '@onflow/fcl': 1.13.1(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10) + '@onflow/typedefs': 1.4.0 + bignumber.js: 9.1.2 + bs58: 6.0.0 + elliptic: 6.6.1 + node-cache: 5.1.2 + sha3: 2.1.4 + uuid: 11.0.3 + whatwg-url: 11.0.0 + zod: 3.23.8 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@onflow/util-config' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - encoding + - google-protobuf + - ioredis + - jiti + - postcss + - react + - supports-color + - ts-node + - tsx + - uploadthing + - utf-8-validate + '@elizaos/plugin-goat@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1)': dependencies: '@goat-sdk/core': 0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -17964,6 +18664,12 @@ snapshots: '@emotion/weak-memoize@0.4.0': {} + '@es-joy/jsdoccomment@0.41.0': + dependencies: + comment-parser: 1.4.1 + esquery: 1.6.0 + jsdoc-type-pratt-parser: 4.0.0 + '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)': dependencies: esbuild: 0.17.19 @@ -18357,6 +19063,117 @@ snapshots: '@eslint/js@9.16.0': {} + '@ethersproject/abstract-provider@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 + + '@ethersproject/abstract-signer@5.7.0': + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + + '@ethersproject/address@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/rlp': 5.7.0 + + '@ethersproject/base64@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + + '@ethersproject/bignumber@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + bn.js: 5.2.1 + + '@ethersproject/bytes@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/constants@5.7.0': + dependencies: + '@ethersproject/bignumber': 5.7.0 + + '@ethersproject/hash@5.7.0': + dependencies: + '@ethersproject/abstract-signer': 5.7.0 + '@ethersproject/address': 5.7.0 + '@ethersproject/base64': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + + '@ethersproject/keccak256@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + js-sha3: 0.8.0 + + '@ethersproject/logger@5.7.0': {} + + '@ethersproject/networks@5.7.1': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/properties@5.7.0': + dependencies: + '@ethersproject/logger': 5.7.0 + + '@ethersproject/rlp@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + + '@ethersproject/signing-key@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + bn.js: 5.2.1 + elliptic: 6.5.4 + hash.js: 1.1.7 + + '@ethersproject/strings@5.7.0': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/logger': 5.7.0 + + '@ethersproject/transactions@5.7.0': + dependencies: + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/rlp': 5.7.0 + '@ethersproject/signing-key': 5.7.0 + + '@ethersproject/web@5.7.1': + dependencies: + '@ethersproject/base64': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@fal-ai/client@1.2.0': dependencies: '@msgpack/msgpack': 3.0.0-beta2 @@ -18534,6 +19351,11 @@ snapshots: '@img/sharp-win32-x64@0.33.5': optional: true + '@improbable-eng/grpc-web@0.15.0(google-protobuf@3.21.4)': + dependencies: + browser-headers: 0.4.1 + google-protobuf: 3.21.4 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -19311,6 +20133,12 @@ snapshots: '@langchain/core': 0.3.26(openai@4.76.1(zod@3.24.1)) js-tiktoken: 1.0.15 + '@lit-labs/ssr-dom-shim@1.2.1': {} + + '@lit/reactive-element@1.6.3': + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.1 + '@mapbox/node-pre-gyp@1.0.11': dependencies: detect-libc: 2.0.3 @@ -19394,6 +20222,51 @@ snapshots: promise-worker-transferable: 1.0.4 three: 0.167.1 + '@motionone/animation@10.18.0': + dependencies: + '@motionone/easing': 10.18.0 + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + tslib: 2.8.1 + + '@motionone/dom@10.18.0': + dependencies: + '@motionone/animation': 10.18.0 + '@motionone/generators': 10.18.0 + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + hey-listen: 1.0.8 + tslib: 2.8.1 + + '@motionone/easing@10.18.0': + dependencies: + '@motionone/utils': 10.18.0 + tslib: 2.8.1 + + '@motionone/generators@10.18.0': + dependencies: + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + tslib: 2.8.1 + + '@motionone/svelte@10.16.4': + dependencies: + '@motionone/dom': 10.18.0 + tslib: 2.8.1 + + '@motionone/types@10.17.1': {} + + '@motionone/utils@10.18.0': + dependencies: + '@motionone/types': 10.17.1 + hey-listen: 1.0.8 + tslib: 2.8.1 + + '@motionone/vue@10.16.4': + dependencies: + '@motionone/dom': 10.18.0 + tslib: 2.8.1 + '@msgpack/msgpack@3.0.0-beta2': {} '@mui/core-downloads-tracker@5.16.11': {} @@ -19777,6 +20650,340 @@ snapshots: - debug - encoding + '@onflow/config@1.5.1': + dependencies: + '@babel/runtime': 7.26.0 + '@onflow/util-actor': 1.3.4 + '@onflow/util-invariant': 1.2.4 + '@onflow/util-logger': 1.3.3 + eslint: 8.57.1 + eslint-plugin-jsdoc: 46.10.1(eslint@8.57.1) + transitivePeerDependencies: + - '@onflow/util-config' + - supports-color + + '@onflow/fcl-core@1.13.1(bufferutil@4.0.9)(google-protobuf@3.21.4)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@improbable-eng/grpc-web': 0.15.0(google-protobuf@3.21.4) + '@onflow/config': 1.5.1 + '@onflow/interaction': 0.0.11 + '@onflow/rlp': 1.2.3 + '@onflow/sdk': 1.5.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@onflow/transport-http': 1.10.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@onflow/types': 1.4.1 + '@onflow/util-actor': 1.3.4 + '@onflow/util-address': 1.2.3 + '@onflow/util-invariant': 1.2.4 + '@onflow/util-logger': 1.3.3 + '@onflow/util-semver': 1.0.3 + '@onflow/util-template': 1.2.3 + '@onflow/util-uid': 1.2.3 + abort-controller: 3.0.0 + cross-fetch: 4.1.0 + transitivePeerDependencies: + - '@onflow/util-config' + - bufferutil + - encoding + - google-protobuf + - supports-color + - utf-8-validate + + '@onflow/fcl-wc@5.5.1(@onflow/fcl-core@1.13.1(bufferutil@4.0.9)(google-protobuf@3.21.4)(utf-8-validate@5.0.10))(@types/react@18.3.16)(@vercel/kv@1.0.1)(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@onflow/config': 1.5.1 + '@onflow/fcl-core': 1.13.1(bufferutil@4.0.9)(google-protobuf@3.21.4)(utf-8-validate@5.0.10) + '@onflow/util-invariant': 1.2.4 + '@onflow/util-logger': 1.3.3 + '@walletconnect/modal': 2.7.0(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react) + '@walletconnect/modal-core': 2.7.0(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react) + '@walletconnect/sign-client': 2.17.3(@vercel/kv@1.0.1)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@walletconnect/types': 2.17.3(@vercel/kv@1.0.1) + '@walletconnect/utils': 2.17.3(@vercel/kv@1.0.1) + postcss-cli: 11.0.0(jiti@1.21.6)(postcss@8.4.49) + preact: 10.25.4 + tailwindcss: 3.4.16(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2)) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@onflow/util-config' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - ioredis + - jiti + - postcss + - react + - supports-color + - ts-node + - tsx + - uploadthing + - utf-8-validate + + '@onflow/fcl-wc@5.5.1(@onflow/fcl-core@1.13.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@onflow/config': 1.5.1 + '@onflow/fcl-core': 1.13.1(bufferutil@4.0.9)(google-protobuf@3.21.4)(utf-8-validate@5.0.10) + '@onflow/util-invariant': 1.2.4 + '@onflow/util-logger': 1.3.3 + '@walletconnect/modal': 2.7.0(react@19.0.0-rc-df5f2736-20240712) + '@walletconnect/modal-core': 2.7.0(react@19.0.0-rc-df5f2736-20240712) + '@walletconnect/sign-client': 2.17.3(@vercel/kv@1.0.1)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@walletconnect/types': 2.17.3(@vercel/kv@1.0.1) + '@walletconnect/utils': 2.17.3(@vercel/kv@1.0.1) + postcss-cli: 11.0.0(jiti@1.21.6)(postcss@8.4.49) + preact: 10.25.4 + tailwindcss: 3.4.16(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@onflow/util-config' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - ioredis + - jiti + - postcss + - react + - supports-color + - ts-node + - tsx + - uploadthing + - utf-8-validate + + '@onflow/fcl@1.13.1(@types/react@18.3.16)(@vercel/kv@1.0.1)(bufferutil@4.0.9)(google-protobuf@3.21.4)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@onflow/config': 1.5.1 + '@onflow/fcl-core': 1.13.1(bufferutil@4.0.9)(google-protobuf@3.21.4)(utf-8-validate@5.0.10) + '@onflow/fcl-wc': 5.5.1(@onflow/fcl-core@1.13.1(bufferutil@4.0.9)(google-protobuf@3.21.4)(utf-8-validate@5.0.10))(@types/react@18.3.16)(@vercel/kv@1.0.1)(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(utf-8-validate@5.0.10) + '@onflow/interaction': 0.0.11 + '@onflow/rlp': 1.2.3 + '@onflow/sdk': 1.5.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@onflow/types': 1.4.1 + '@onflow/util-actor': 1.3.4 + '@onflow/util-address': 1.2.3 + '@onflow/util-invariant': 1.2.4 + '@onflow/util-logger': 1.3.3 + '@onflow/util-rpc': 0.0.2 + '@onflow/util-semver': 1.0.3 + '@onflow/util-template': 1.2.3 + '@onflow/util-uid': 1.2.3 + '@walletconnect/types': 2.17.3(@vercel/kv@1.0.1) + abort-controller: 3.0.0 + cross-fetch: 4.1.0 + events: 3.3.0 + sha3: 2.1.4 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@onflow/util-config' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - encoding + - google-protobuf + - ioredis + - jiti + - postcss + - react + - supports-color + - ts-node + - tsx + - uploadthing + - utf-8-validate + + '@onflow/fcl@1.13.1(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@onflow/config': 1.5.1 + '@onflow/fcl-core': 1.13.1(bufferutil@4.0.9)(google-protobuf@3.21.4)(utf-8-validate@5.0.10) + '@onflow/fcl-wc': 5.5.1(@onflow/fcl-core@1.13.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10) + '@onflow/interaction': 0.0.11 + '@onflow/rlp': 1.2.3 + '@onflow/sdk': 1.5.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@onflow/types': 1.4.1 + '@onflow/util-actor': 1.3.4 + '@onflow/util-address': 1.2.3 + '@onflow/util-invariant': 1.2.4 + '@onflow/util-logger': 1.3.3 + '@onflow/util-rpc': 0.0.2 + '@onflow/util-semver': 1.0.3 + '@onflow/util-template': 1.2.3 + '@onflow/util-uid': 1.2.3 + '@walletconnect/types': 2.17.3(@vercel/kv@1.0.1) + abort-controller: 3.0.0 + cross-fetch: 4.1.0 + events: 3.3.0 + sha3: 2.1.4 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@onflow/util-config' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - encoding + - google-protobuf + - ioredis + - jiti + - postcss + - react + - supports-color + - ts-node + - tsx + - uploadthing + - utf-8-validate + + '@onflow/interaction@0.0.11': {} + + '@onflow/rlp@1.2.3': + dependencies: + '@babel/runtime': 7.26.0 + buffer: 6.0.3 + + '@onflow/sdk@1.5.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@onflow/config': 1.5.1 + '@onflow/rlp': 1.2.3 + '@onflow/transport-http': 1.10.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@onflow/typedefs': 1.4.0 + '@onflow/util-actor': 1.3.4 + '@onflow/util-address': 1.2.3 + '@onflow/util-invariant': 1.2.4 + '@onflow/util-logger': 1.3.3 + '@onflow/util-template': 1.2.3 + deepmerge: 4.3.1 + events: 3.3.0 + sha3: 2.1.4 + uuid: 9.0.1 + transitivePeerDependencies: + - '@onflow/util-config' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@onflow/transport-http@1.10.4(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@babel/runtime': 7.26.0 + '@onflow/util-address': 1.2.3 + '@onflow/util-invariant': 1.2.4 + '@onflow/util-logger': 1.3.3 + '@onflow/util-template': 1.2.3 + abort-controller: 3.0.0 + cross-fetch: 4.1.0 + events: 3.3.0 + isomorphic-ws: 5.0.0(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - '@onflow/util-config' + - bufferutil + - encoding + - utf-8-validate + + '@onflow/typedefs@1.4.0': + dependencies: + '@babel/runtime': 7.26.0 + + '@onflow/types@1.4.1': + dependencies: + '@babel/runtime': 7.26.0 + '@onflow/util-logger': 1.3.3 + transitivePeerDependencies: + - '@onflow/util-config' + + '@onflow/util-actor@1.3.4': + dependencies: + '@babel/runtime': 7.26.0 + queue-microtask: 1.2.3 + + '@onflow/util-address@1.2.3': + dependencies: + '@babel/runtime': 7.26.0 + + '@onflow/util-invariant@1.2.4': + dependencies: + '@babel/runtime': 7.26.0 + + '@onflow/util-logger@1.3.3': + dependencies: + '@babel/runtime': 7.26.0 + + '@onflow/util-rpc@0.0.2': + dependencies: + '@babel/runtime': 7.26.0 + + '@onflow/util-semver@1.0.3': + dependencies: + '@babel/runtime': 7.26.0 + + '@onflow/util-template@1.2.3': + dependencies: + '@babel/runtime': 7.26.0 + '@onflow/util-logger': 1.3.3 + transitivePeerDependencies: + - '@onflow/util-config' + + '@onflow/util-uid@1.2.3': + dependencies: + '@babel/runtime': 7.26.0 + '@opentelemetry/api@1.9.0': {} '@orama/orama@2.1.1': {} @@ -21832,6 +23039,86 @@ snapshots: - encoding - utf-8-validate + '@stablelib/aead@1.0.1': {} + + '@stablelib/binary@1.0.1': + dependencies: + '@stablelib/int': 1.0.1 + + '@stablelib/bytes@1.0.1': {} + + '@stablelib/chacha20poly1305@1.0.1': + dependencies: + '@stablelib/aead': 1.0.1 + '@stablelib/binary': 1.0.1 + '@stablelib/chacha': 1.0.1 + '@stablelib/constant-time': 1.0.1 + '@stablelib/poly1305': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/chacha@1.0.1': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/constant-time@1.0.1': {} + + '@stablelib/ed25519@1.0.3': + dependencies: + '@stablelib/random': 1.0.2 + '@stablelib/sha512': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/hash@1.0.1': {} + + '@stablelib/hkdf@1.0.1': + dependencies: + '@stablelib/hash': 1.0.1 + '@stablelib/hmac': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/hmac@1.0.1': + dependencies: + '@stablelib/constant-time': 1.0.1 + '@stablelib/hash': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/int@1.0.1': {} + + '@stablelib/keyagreement@1.0.1': + dependencies: + '@stablelib/bytes': 1.0.1 + + '@stablelib/poly1305@1.0.1': + dependencies: + '@stablelib/constant-time': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/random@1.0.2': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/sha256@1.0.1': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/hash': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/sha512@1.0.1': + dependencies: + '@stablelib/binary': 1.0.1 + '@stablelib/hash': 1.0.1 + '@stablelib/wipe': 1.0.1 + + '@stablelib/wipe@1.0.1': {} + + '@stablelib/x25519@1.0.3': + dependencies: + '@stablelib/keyagreement': 1.0.1 + '@stablelib/random': 1.0.2 + '@stablelib/wipe': 1.0.1 + '@stitches/react@1.2.8(react@18.2.0)': dependencies: react: 18.2.0 @@ -23179,8 +24466,7 @@ snapshots: '@types/triple-beam@1.3.5': {} - '@types/trusted-types@2.0.7': - optional: true + '@types/trusted-types@2.0.7': {} '@types/unist@2.0.11': {} @@ -23750,6 +25036,301 @@ snapshots: '@vue/shared@3.5.13': {} + '@walletconnect/core@2.17.3(@vercel/kv@1.0.1)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-provider': 1.0.14 + '@walletconnect/jsonrpc-types': 1.0.4 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/jsonrpc-ws-connection': 1.0.16(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@walletconnect/keyvaluestorage': 1.1.1(@vercel/kv@1.0.1) + '@walletconnect/logger': 2.1.2 + '@walletconnect/relay-api': 1.0.11 + '@walletconnect/relay-auth': 1.0.4 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.17.3(@vercel/kv@1.0.1) + '@walletconnect/utils': 2.17.3(@vercel/kv@1.0.1) + '@walletconnect/window-getters': 1.0.1 + events: 3.3.0 + lodash.isequal: 4.5.0 + uint8arrays: 3.1.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - ioredis + - uploadthing + - utf-8-validate + + '@walletconnect/environment@1.0.1': + dependencies: + tslib: 1.14.1 + + '@walletconnect/events@1.0.1': + dependencies: + keyvaluestorage-interface: 1.0.0 + tslib: 1.14.1 + + '@walletconnect/heartbeat@1.2.2': + dependencies: + '@walletconnect/events': 1.0.1 + '@walletconnect/time': 1.0.2 + events: 3.3.0 + + '@walletconnect/jsonrpc-provider@1.0.14': + dependencies: + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/safe-json': 1.0.2 + events: 3.3.0 + + '@walletconnect/jsonrpc-types@1.0.4': + dependencies: + events: 3.3.0 + keyvaluestorage-interface: 1.0.0 + + '@walletconnect/jsonrpc-utils@1.0.8': + dependencies: + '@walletconnect/environment': 1.0.1 + '@walletconnect/jsonrpc-types': 1.0.4 + tslib: 1.14.1 + + '@walletconnect/jsonrpc-ws-connection@1.0.16(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/safe-json': 1.0.2 + events: 3.3.0 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@walletconnect/keyvaluestorage@1.1.1(@vercel/kv@1.0.1)': + dependencies: + '@walletconnect/safe-json': 1.0.2 + idb-keyval: 6.2.1 + unstorage: 1.14.4(@vercel/kv@1.0.1)(idb-keyval@6.2.1) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - db0 + - ioredis + - uploadthing + + '@walletconnect/logger@2.1.2': + dependencies: + '@walletconnect/safe-json': 1.0.2 + pino: 7.11.0 + + '@walletconnect/modal-core@2.7.0(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react)': + dependencies: + valtio: 1.11.2(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react) + transitivePeerDependencies: + - '@types/react' + - react + + '@walletconnect/modal-core@2.7.0(react@19.0.0-rc-df5f2736-20240712)': + dependencies: + valtio: 1.11.2(react@19.0.0-rc-df5f2736-20240712) + transitivePeerDependencies: + - '@types/react' + - react + + '@walletconnect/modal-ui@2.7.0(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react)': + dependencies: + '@walletconnect/modal-core': 2.7.0(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react) + lit: 2.8.0 + motion: 10.16.2 + qrcode: 1.5.3 + transitivePeerDependencies: + - '@types/react' + - react + + '@walletconnect/modal-ui@2.7.0(react@19.0.0-rc-df5f2736-20240712)': + dependencies: + '@walletconnect/modal-core': 2.7.0(react@19.0.0-rc-df5f2736-20240712) + lit: 2.8.0 + motion: 10.16.2 + qrcode: 1.5.3 + transitivePeerDependencies: + - '@types/react' + - react + + '@walletconnect/modal@2.7.0(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react)': + dependencies: + '@walletconnect/modal-core': 2.7.0(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react) + '@walletconnect/modal-ui': 2.7.0(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react) + transitivePeerDependencies: + - '@types/react' + - react + + '@walletconnect/modal@2.7.0(react@19.0.0-rc-df5f2736-20240712)': + dependencies: + '@walletconnect/modal-core': 2.7.0(react@19.0.0-rc-df5f2736-20240712) + '@walletconnect/modal-ui': 2.7.0(react@19.0.0-rc-df5f2736-20240712) + transitivePeerDependencies: + - '@types/react' + - react + + '@walletconnect/relay-api@1.0.11': + dependencies: + '@walletconnect/jsonrpc-types': 1.0.4 + + '@walletconnect/relay-auth@1.0.4': + dependencies: + '@stablelib/ed25519': 1.0.3 + '@stablelib/random': 1.0.2 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + tslib: 1.14.1 + uint8arrays: 3.1.0 + + '@walletconnect/safe-json@1.0.2': + dependencies: + tslib: 1.14.1 + + '@walletconnect/sign-client@2.17.3(@vercel/kv@1.0.1)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@walletconnect/core': 2.17.3(@vercel/kv@1.0.1)(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/logger': 2.1.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.17.3(@vercel/kv@1.0.1) + '@walletconnect/utils': 2.17.3(@vercel/kv@1.0.1) + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bufferutil + - db0 + - ioredis + - uploadthing + - utf-8-validate + + '@walletconnect/time@1.0.2': + dependencies: + tslib: 1.14.1 + + '@walletconnect/types@2.17.3(@vercel/kv@1.0.1)': + dependencies: + '@walletconnect/events': 1.0.1 + '@walletconnect/heartbeat': 1.2.2 + '@walletconnect/jsonrpc-types': 1.0.4 + '@walletconnect/keyvaluestorage': 1.1.1(@vercel/kv@1.0.1) + '@walletconnect/logger': 2.1.2 + events: 3.3.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - db0 + - ioredis + - uploadthing + + '@walletconnect/utils@2.17.3(@vercel/kv@1.0.1)': + dependencies: + '@ethersproject/hash': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@stablelib/chacha20poly1305': 1.0.1 + '@stablelib/hkdf': 1.0.1 + '@stablelib/random': 1.0.2 + '@stablelib/sha256': 1.0.1 + '@stablelib/x25519': 1.0.3 + '@walletconnect/jsonrpc-utils': 1.0.8 + '@walletconnect/keyvaluestorage': 1.1.1(@vercel/kv@1.0.1) + '@walletconnect/relay-api': 1.0.11 + '@walletconnect/relay-auth': 1.0.4 + '@walletconnect/safe-json': 1.0.2 + '@walletconnect/time': 1.0.2 + '@walletconnect/types': 2.17.3(@vercel/kv@1.0.1) + '@walletconnect/window-getters': 1.0.1 + '@walletconnect/window-metadata': 1.0.1 + detect-browser: 5.3.0 + elliptic: 6.6.1 + query-string: 7.1.3 + uint8arrays: 3.1.0 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - db0 + - ioredis + - uploadthing + + '@walletconnect/window-getters@1.0.1': + dependencies: + tslib: 1.14.1 + + '@walletconnect/window-metadata@1.0.1': + dependencies: + '@walletconnect/window-getters': 1.0.1 + tslib: 1.14.1 + '@wasm-audio-decoders/common@file:packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder/packages/wasm-audio-decoders-common': dependencies: '@eshaz/web-worker': 1.2.2 @@ -24163,6 +25744,8 @@ snapshots: tar-stream: 3.1.7 zip-stream: 6.0.1 + are-docs-informative@0.0.2: {} + are-we-there-yet@2.0.0: dependencies: delegates: 1.0.0 @@ -24317,6 +25900,8 @@ snapshots: asynckit@0.4.0: {} + atomic-sleep@1.0.0: {} + atomically@2.0.3: dependencies: stubborn-fs: 1.2.5 @@ -24674,6 +26259,8 @@ snapshots: browser-assert@1.2.1: {} + browser-headers@0.4.1: {} + browser-util-inspect@0.2.0: {} browserify-zlib@0.1.4: @@ -25009,6 +26596,12 @@ snapshots: execa: 1.0.0 is-wsl: 2.2.0 + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -25154,6 +26747,8 @@ snapshots: commander@9.5.0: {} + comment-parser@1.4.1: {} + common-path-prefix@3.0.0: {} commondir@1.0.1: {} @@ -25246,6 +26841,8 @@ snapshots: convert-to-spaces@2.0.1: {} + cookie-es@1.2.2: {} + cookie-signature@1.0.6: {} cookie@0.5.0: {} @@ -25364,6 +26961,12 @@ snapshots: transitivePeerDependencies: - encoding + cross-fetch@4.1.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + cross-spawn@6.0.6: dependencies: nice-try: 1.0.5 @@ -25378,6 +26981,10 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + crossws@0.3.1: + dependencies: + uncrypto: 0.1.3 + crypto-hash@1.3.0: {} crypto-js@4.2.0: {} @@ -25635,6 +27242,8 @@ snapshots: dependencies: character-entities: 2.0.2 + decode-uri-component@0.2.2: {} + decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -25735,10 +27344,16 @@ snapshots: depd@2.0.0: {} + dependency-graph@0.11.0: {} + dequal@2.0.3: {} + destr@2.0.3: {} + destroy@1.2.0: {} + detect-browser@5.3.0: {} + detect-gpu@5.0.60: dependencies: webgl-constants: 1.1.1 @@ -25782,6 +27397,8 @@ snapshots: diff@5.2.0: {} + dijkstrajs@1.0.3: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -25905,6 +27522,13 @@ snapshots: readable-stream: 2.3.8 stream-shift: 1.0.3 + duplexify@4.1.3: + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 3.6.2 + stream-shift: 1.0.3 + eastasianwidth@0.2.0: {} ecctrl@file:packages/ecctrl(@react-three/drei@9.120.4(@react-three/fiber@8.17.10(@types/react@18.2.48)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(three@0.167.1))(@types/react@18.2.48)(@types/three@0.167.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(three@0.167.1)(use-sync-external-store@1.4.0(react@18.2.0)))(@react-three/fiber@8.17.10(@types/react@18.2.48)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(three@0.167.1))(@react-three/rapier@1.5.0(@react-three/fiber@8.17.10(@types/react@18.2.48)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(three@0.167.1))(react@18.2.0)(three@0.167.1))(@types/react-dom@18.2.18)(@types/react@18.2.48)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(three@0.167.1): @@ -25955,6 +27579,16 @@ snapshots: transitivePeerDependencies: - supports-color + elliptic@6.5.4: + dependencies: + bn.js: 4.12.1 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + elliptic@6.6.1: dependencies: bn.js: 4.12.1 @@ -25981,6 +27615,8 @@ snapshots: enabled@2.0.0: {} + encode-utf8@1.0.3: {} + encodeurl@1.0.2: {} encodeurl@2.0.0: {} @@ -26610,6 +28246,21 @@ snapshots: - eslint-import-resolver-webpack - supports-color + eslint-plugin-jsdoc@46.10.1(eslint@8.57.1): + dependencies: + '@es-joy/jsdoccomment': 0.41.0 + are-docs-informative: 0.0.2 + comment-parser: 1.4.1 + debug: 4.4.0 + escape-string-regexp: 4.0.0 + eslint: 8.57.1 + esquery: 1.6.0 + is-builtin-module: 3.2.1 + semver: 7.6.3 + spdx-expression-parse: 4.0.0 + transitivePeerDependencies: + - supports-color + eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1): dependencies: aria-query: 5.3.2 @@ -27061,6 +28712,8 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-redact@3.5.0: {} + fast-stable-stringify@1.0.0: {} fast-uri@3.0.3: {} @@ -27142,6 +28795,8 @@ snapshots: dependencies: to-regex-range: 5.0.1 + filter-obj@1.1.0: {} + finalhandler@1.3.1: dependencies: debug: 2.6.9 @@ -27790,6 +29445,8 @@ snapshots: - encoding - supports-color + google-protobuf@3.21.4: {} + gopd@1.2.0: {} got@11.8.6: @@ -27850,6 +29507,19 @@ snapshots: pumpify: 1.5.1 through2: 2.0.5 + h3@1.13.0: + dependencies: + cookie-es: 1.2.2 + crossws: 0.3.1 + defu: 6.1.4 + destr: 2.0.3 + iron-webcrypto: 1.2.1 + ohash: 1.1.4 + radix3: 1.1.2 + ufo: 1.5.4 + uncrypto: 0.1.3 + unenv: 1.10.0 + handlebars@4.7.8: dependencies: minimist: 1.2.8 @@ -27975,6 +29645,8 @@ snapshots: hex-rgb@4.3.0: {} + hey-listen@1.0.8: {} + highlight.js@10.7.3: {} hls.js@1.5.17: {} @@ -28117,6 +29789,8 @@ snapshots: dependencies: postcss: 8.4.49 + idb-keyval@6.2.1: {} + ieee754@1.2.1: {} ignore-by-default@2.1.0: {} @@ -28198,6 +29872,8 @@ snapshots: ipaddr.js@1.9.1: {} + iron-webcrypto@1.2.1: {} + irregular-plurals@3.5.0: {} is-absolute-url@3.0.3: {} @@ -28500,6 +30176,10 @@ snapshots: dependencies: ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + isomorphic-ws@5.0.0(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): + dependencies: + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + isomorphic.js@0.2.5: {} isows@1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)): @@ -29195,6 +30875,8 @@ snapshots: js-sha1@0.7.0: {} + js-sha3@0.8.0: {} + js-string-escape@1.0.1: {} js-tiktoken@1.0.15: @@ -29241,6 +30923,8 @@ snapshots: transitivePeerDependencies: - supports-color + jsdoc-type-pratt-parser@4.0.0: {} + jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: abab: 2.0.6 @@ -29402,6 +31086,8 @@ snapshots: dependencies: json-buffer: 3.0.1 + keyvaluestorage-interface@1.0.0: {} + kind-of@6.0.3: {} kleur@3.0.3: {} @@ -29576,6 +31262,22 @@ snapshots: lines-and-columns@1.2.4: {} + lit-element@3.3.3: + dependencies: + '@lit-labs/ssr-dom-shim': 1.2.1 + '@lit/reactive-element': 1.6.3 + lit-html: 2.8.0 + + lit-html@2.8.0: + dependencies: + '@types/trusted-types': 2.0.7 + + lit@2.8.0: + dependencies: + '@lit/reactive-element': 1.6.3 + lit-element: 3.3.3 + lit-html: 2.8.0 + load-bmfont@1.4.2: dependencies: buffer-equal: 0.0.1 @@ -29638,6 +31340,8 @@ snapshots: lodash.isboolean@3.0.3: {} + lodash.isequal@4.5.0: {} + lodash.isinteger@4.0.4: {} lodash.isnumber@3.0.3: {} @@ -30742,6 +32446,15 @@ snapshots: motion-utils@11.13.0: {} + motion@10.16.2: + dependencies: + '@motionone/animation': 10.18.0 + '@motionone/dom': 10.18.0 + '@motionone/svelte': 10.16.4 + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + '@motionone/vue': 10.16.4 + mpg123-decoder@file:packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder: dependencies: '@wasm-audio-decoders/common': file:packages/usdk/packages/upstreet-agent/packages/codecs/packages/mpg123-decoder/packages/wasm-audio-decoders-common @@ -30754,6 +32467,8 @@ snapshots: ms@2.1.3: {} + multiformats@9.9.0: {} + multiplayer@file:packages/usdk/packages/upstreet-agent/packages/react-agents-client/packages/multiplayer: dependencies: '@cloudflare/kv-asset-handler': 0.3.4 @@ -31028,6 +32743,12 @@ snapshots: objectorarray@1.0.5: {} + ofetch@1.4.1: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.4 + ohash@1.1.4: {} ollama-ai-provider@0.16.1(zod@3.23.8): @@ -31040,6 +32761,8 @@ snapshots: omggif@1.0.10: {} + on-exit-leak-free@0.2.0: {} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -31453,6 +33176,27 @@ snapshots: pify@5.0.0: {} + pino-abstract-transport@0.5.0: + dependencies: + duplexify: 4.1.3 + split2: 4.2.0 + + pino-std-serializers@4.0.0: {} + + pino@7.11.0: + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 0.2.0 + pino-abstract-transport: 0.5.0 + pino-std-serializers: 4.0.0 + process-warning: 1.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.1.0 + safe-stable-stringify: 2.5.0 + sonic-boom: 2.8.0 + thread-stream: 0.15.2 + pirates@4.0.6: {} pixelmatch@4.0.2: @@ -31501,6 +33245,8 @@ snapshots: pngjs@3.4.0: {} + pngjs@5.0.0: {} + pngjs@6.0.0: {} pngjs@7.0.0: {} @@ -31521,6 +33267,25 @@ snapshots: postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 + postcss-cli@11.0.0(jiti@1.21.6)(postcss@8.4.49): + dependencies: + chokidar: 3.6.0 + dependency-graph: 0.11.0 + fs-extra: 11.2.0 + get-stdin: 9.0.0 + globby: 14.0.2 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-load-config: 5.1.0(jiti@1.21.6)(postcss@8.4.49) + postcss-reporter: 7.1.0(postcss@8.4.49) + pretty-hrtime: 1.0.3 + read-cache: 1.0.0 + slash: 5.1.0 + yargs: 17.7.2 + transitivePeerDependencies: + - jiti + - tsx + postcss-colormin@5.3.1(postcss@8.4.49): dependencies: browserslist: 4.24.2 @@ -31571,6 +33336,14 @@ snapshots: postcss: 8.4.49 ts-node: 10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2) + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)): + dependencies: + lilconfig: 3.1.3 + yaml: 2.6.1 + optionalDependencies: + postcss: 8.4.49 + ts-node: 10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5) + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@20.11.5)(typescript@5.7.2)): dependencies: lilconfig: 3.1.3 @@ -31587,6 +33360,22 @@ snapshots: postcss: 8.4.49 ts-node: 10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2) + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2)): + dependencies: + lilconfig: 3.1.3 + yaml: 2.6.1 + optionalDependencies: + postcss: 8.4.49 + ts-node: 10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2) + + postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49): + dependencies: + lilconfig: 3.1.3 + yaml: 2.6.1 + optionalDependencies: + jiti: 1.21.6 + postcss: 8.4.49 + postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.49)(yaml@2.6.1): dependencies: lilconfig: 3.1.3 @@ -31734,6 +33523,12 @@ snapshots: postcss: 8.4.49 postcss-value-parser: 4.2.0 + postcss-reporter@7.1.0(postcss@8.4.49): + dependencies: + picocolors: 1.1.1 + postcss: 8.4.49 + thenby: 1.3.4 + postcss-selector-parser@6.0.10: dependencies: cssesc: 3.0.0 @@ -31791,6 +33586,8 @@ snapshots: preact@10.11.3: {} + preact@10.25.4: {} + prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.0: @@ -31846,6 +33643,8 @@ snapshots: process-nextick-args@2.0.1: {} + process-warning@1.0.0: {} + process@0.11.10: {} progress@2.0.3: {} @@ -31889,6 +33688,8 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 + proxy-compare@2.5.1: {} + proxy-compare@3.0.1: {} proxy-from-env@1.1.0: {} @@ -31956,6 +33757,13 @@ snapshots: pure-rand@6.1.0: {} + qrcode@1.5.3: + dependencies: + dijkstrajs: 1.0.3 + encode-utf8: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + qs@6.13.0: dependencies: side-channel: 1.1.0 @@ -31964,6 +33772,13 @@ snapshots: dependencies: side-channel: 1.1.0 + query-string@7.1.3: + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + querystringify@2.2.0: {} queue-manager@file:packages/usdk/packages/upstreet-agent/packages/queue-manager: {} @@ -31976,6 +33791,8 @@ snapshots: dependencies: inherits: 2.0.4 + quick-format-unescaped@4.0.4: {} + quick-lru@5.1.1: {} r3f-perf@7.2.3(@react-three/fiber@8.17.10(@types/react@18.3.16)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(three@0.167.1))(@types/react@18.3.16)(@types/three@0.167.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(three@0.167.1)(use-sync-external-store@1.4.0(react@18.2.0)): @@ -31996,6 +33813,8 @@ snapshots: - immer - use-sync-external-store + radix3@1.1.2: {} + ramda@0.29.0: {} ramda@0.29.1: {} @@ -32354,6 +34173,8 @@ snapshots: readdirp@4.0.2: {} + real-require@0.1.0: {} + recast@0.23.9: dependencies: ast-types: 0.16.1 @@ -32609,6 +34430,8 @@ snapshots: require-from-string@2.0.2: {} + require-main-filename@2.0.0: {} + requires-port@1.0.0: {} resolve-alpn@1.2.1: {} @@ -32977,6 +34800,10 @@ snapshots: inherits: 2.0.4 safe-buffer: 5.2.1 + sha3@2.1.4: + dependencies: + buffer: 6.0.3 + shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 @@ -33109,6 +34936,10 @@ snapshots: solid-js: 1.9.3 swr-store: 0.10.6 + sonic-boom@2.8.0: + dependencies: + atomic-sleep: 1.0.0 + sonner@1.4.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: react: 18.2.0 @@ -33154,6 +34985,11 @@ snapshots: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.20 + spdx-expression-parse@4.0.0: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.20 + spdx-license-ids@3.0.20: {} speaker@0.5.5: @@ -33165,10 +35001,14 @@ snapshots: - supports-color optional: true + split-on-first@1.1.0: {} + split-string@3.1.0: dependencies: extend-shallow: 3.0.2 + split2@4.2.0: {} + sprintf-js@1.0.3: {} sprintf-js@1.1.3: @@ -33261,6 +35101,8 @@ snapshots: optionalDependencies: bare-events: 2.5.0 + strict-uri-encode@2.0.0: {} + string-hash@1.1.3: {} string-length@4.0.2: @@ -33606,6 +35448,33 @@ snapshots: transitivePeerDependencies: - ts-node + tailwindcss@3.4.16(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tailwindcss@3.4.16(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.7.8)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 @@ -33633,6 +35502,33 @@ snapshots: transitivePeerDependencies: - ts-node + tailwindcss@3.4.16(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2)): + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.6.0 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.3.2 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.21.6 + lilconfig: 3.1.3 + micromatch: 4.0.8 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2)) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + sucrase: 3.35.0 + transitivePeerDependencies: + - ts-node + tapable@0.1.10: {} tapable@2.2.1: {} @@ -33750,6 +35646,8 @@ snapshots: text-table@0.2.0: {} + thenby@1.3.4: {} + thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -33762,6 +35660,10 @@ snapshots: dependencies: tslib: 2.8.1 + thread-stream@0.15.2: + dependencies: + real-require: 0.1.0 + three-mesh-bvh@0.7.8(three@0.167.1): dependencies: three: 0.167.1 @@ -34236,6 +36138,10 @@ snapshots: uid-promise@1.0.0: {} + uint8arrays@3.1.0: + dependencies: + multiformats: 9.9.0 + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.8 @@ -34245,6 +36151,8 @@ snapshots: unc-path-regex@0.1.2: {} + uncrypto@0.1.3: {} + undici-types@5.26.5: {} undici-types@6.19.8: {} @@ -34264,6 +36172,14 @@ snapshots: pathe: 1.1.2 ufo: 1.5.4 + unenv@1.10.0: + dependencies: + consola: 3.2.3 + defu: 6.1.4 + mime: 3.0.0 + node-fetch-native: 1.6.4 + pathe: 1.1.2 + unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: @@ -34388,6 +36304,20 @@ snapshots: acorn: 8.14.0 webpack-virtual-modules: 0.6.2 + unstorage@1.14.4(@vercel/kv@1.0.1)(idb-keyval@6.2.1): + dependencies: + anymatch: 3.1.3 + chokidar: 3.6.0 + destr: 2.0.3 + h3: 1.13.0 + lru-cache: 10.4.3 + node-fetch-native: 1.6.4 + ofetch: 1.4.1 + ufo: 1.5.4 + optionalDependencies: + '@vercel/kv': 1.0.1 + idb-keyval: 6.2.1 + untildify@4.0.0: {} update-browserslist-db@1.1.1(browserslist@4.24.2): @@ -34403,6 +36333,7 @@ snapshots: '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) '@elizaos/plugin-3d-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + '@elizaos/plugin-flow': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-sui': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(form-data@4.0.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) @@ -34450,7 +36381,15 @@ snapshots: zod-to-json-schema: 3.24.1(zod@3.24.1) zod-to-ts: 1.2.0(typescript@5.7.2)(zod@3.24.1) transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' - '@babel/core' + - '@capacitor/preferences' + - '@deno/kv' - '@edge-runtime/vm' - '@google-cloud/vertexai' - '@gql.tada/svelte-support' @@ -34467,21 +36406,33 @@ snapshots: - '@langchain/mistralai' - '@langchain/ollama' - '@microsoft/api-extractor' + - '@netlify/blobs' + - '@onflow/util-config' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' - '@swc/core' - '@types/node' + - '@types/react' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' - '@vitest/browser' - '@vitest/ui' + - aws4fetch - axios - babel-jest - babel-plugin-macros - bufferutil - cheerio + - db0 - debug - encoding - esbuild - fastestsmallesttextencoderdecoder - form-data + - google-protobuf - happy-dom + - ioredis - jiti - jsdom - less @@ -34503,6 +36454,7 @@ snapshots: - ts-node - tsx - typeorm + - uploadthing - utf-8-validate - vue - whatwg-url @@ -34599,6 +36551,14 @@ snapshots: use-strict@1.0.1: {} + use-sync-external-store@1.2.0(react@19.0.0-rc-df5f2736-20240712): + dependencies: + react: 19.0.0-rc-df5f2736-20240712 + + use-sync-external-store@1.2.0(react@file:packages/usdk/packages/upstreet-agent/packages/react): + dependencies: + react: file:packages/usdk/packages/upstreet-agent/packages/react + use-sync-external-store@1.2.2(react@18.2.0): dependencies: react: 18.2.0 @@ -34684,6 +36644,21 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + valtio@1.11.2(@types/react@18.3.16)(react@file:packages/usdk/packages/upstreet-agent/packages/react): + dependencies: + proxy-compare: 2.5.1 + use-sync-external-store: 1.2.0(react@file:packages/usdk/packages/upstreet-agent/packages/react) + optionalDependencies: + '@types/react': 18.3.16 + react: file:packages/usdk/packages/upstreet-agent/packages/react + + valtio@1.11.2(react@19.0.0-rc-df5f2736-20240712): + dependencies: + proxy-compare: 2.5.1 + use-sync-external-store: 1.2.0(react@19.0.0-rc-df5f2736-20240712) + optionalDependencies: + react: 19.0.0-rc-df5f2736-20240712 + vary@1.1.2: {} vercel@34.4.0(@swc/core@1.10.1(@swc/helpers@0.5.13)): @@ -35204,6 +37179,8 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.3 + which-module@2.0.1: {} + which-typed-array@1.1.16: dependencies: available-typed-arrays: 1.0.7 @@ -35296,6 +37273,12 @@ snapshots: - supports-color - utf-8-validate + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 @@ -35434,6 +37417,8 @@ snapshots: xxhash-wasm@1.1.0: {} + y18n@4.0.3: {} + y18n@5.0.8: {} yallist@3.1.1: {} @@ -35446,8 +37431,27 @@ snapshots: yaml@2.6.1: {} + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + yargs-parser@21.1.1: {} + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + yargs@17.7.2: dependencies: cliui: 8.0.1 From 7758c54a9e6fd493df09342eaad99ac08947e6b8 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:11:02 -0800 Subject: [PATCH 064/312] Add web search plugin --- .../plugins/plugin-web-search/.npmignore | 6 + .../plugins/plugin-web-search/Readme.md | 180 +++++++++++++++ .../plugins/plugin-web-search/package.json | 18 ++ .../plugins/plugin-web-search/src/index.ts | 209 ++++++++++++++++++ .../plugins/plugin-web-search/tsconfig.json | 13 ++ .../plugins/plugin-web-search/tsup.config.ts | 21 ++ 6 files changed, 447 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/Readme.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/Readme.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/Readme.md new file mode 100644 index 000000000..78b819e71 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/Readme.md @@ -0,0 +1,180 @@ +# Plugin Web Search + +## Overview + +The Web Search Plugin enables powerful and customizable web search capabilities, offering flexibility and ease of integration for modern applications. + +## Features + +- Efficient search query handling. +- Configurable options for advanced customization. +- Optimized for performance and scalability. + +## Handlers + +### `search` + +The `search` handler executes web search queries with specified parameters, returning results in a structured format. + +#### Usage + +```typescript +import { WebSearch } from 'web-search-plugin'; + +const search = new WebSearch({ + apiEndpoint: 'https://api.example.com/search', + timeout: 5000, +}); + +try { + const results = await search.query('example query', { + limit: 10, + sortBy: 'relevance', + }); + console.log('Search Results:', results); +} catch (error) { + console.error('Search failed:', error); +} +``` + +#### Features + +- **Query Customization**: Specify query parameters such as `limit` and `sortBy`. +- **Error Handling**: Handles common search errors gracefully. + +## Configuration + +### Environment Variables + +Set the following environment variables for optimal performance: + +| Variable Name | Description | +| ---------------- | --------------------------------- | +| `API_ENDPOINT` | URL for the search API endpoint. | +| `SEARCH_TIMEOUT` | Timeout duration in milliseconds. | + +Example `.env` file: + +```env +API_ENDPOINT=https://api.example.com/search +SEARCH_TIMEOUT=5000 +``` + +### TypeScript Configuration + +Ensure your `tsconfig.json` is properly configured: + +```json +{ + "compilerOptions": { + "target": "ESNext", + "module": "CommonJS", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true + } +} +``` + +## Example Workflow + +Streamline your search operations with the following example: + +```typescript +import { WebSearch } from 'web-search-plugin'; + +const search = new WebSearch({ apiEndpoint: 'https://api.example.com/search' }); + +(async () => { + try { + // Execute a search query + const results = await search.query('example', { limit: 5 }); + console.log('Search Results:', results); + } catch (error) { + console.error('Error executing search:', error); + } +})(); +``` + +## Local Testing + +To test locally, you can set up a mock server for the API endpoint: + +1. Install `json-server`: + + ```bash + npm install -g json-server + ``` + +2. Create a `db.json` file with mock search data. + +3. Start the mock server: + + ```bash + json-server --watch db.json --port 3000 + ``` + +4. Update your `.env` file: + ```env + API_ENDPOINT=http://localhost:3000 + ``` + +## Common Issues + +### "API endpoint not defined" + +- Ensure the `API_ENDPOINT` is set in your environment variables. + +### "Search query timeout" + +- Increase the `SEARCH_TIMEOUT` value in the configuration. + +## Dependencies + +This plugin relies on the following: + +- `axios` for HTTP requests. +- `dotenv` for managing environment variables. + +## Development Guide + +### Setup + +1. Clone the repository: + + ```bash + git clone https://github.com/your-repo/web-search-plugin.git + ``` + +2. Install dependencies: + ```bash + npm install + ``` + +### Testing + +Run tests with: + +```bash +npm test +``` + +### Contribution Guidelines + +- Fork the repository. +- Create a feature branch. +- Submit a pull request with a clear description. + +### Security Best Practices + +- Validate user inputs to prevent injection attacks. +- Use HTTPS for secure API communication. + +## Performance Optimization + +- Use caching for frequently queried terms. +- Optimize query parameters for faster responses. + +--- + +This documentation aims to streamline onboarding, reduce support queries, and enable faster adoption of the Web Search Plugin. diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/package.json new file mode 100644 index 000000000..1d87e98b9 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/package.json @@ -0,0 +1,18 @@ +{ + "name": "@elizaos/plugin-web-search", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/src/index.ts new file mode 100644 index 000000000..58a511eee --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/src/index.ts @@ -0,0 +1,209 @@ +import { elizaLogger } from "@elizaos/core"; +import { + Action, + HandlerCallback, + IAgentRuntime, + Memory, + Plugin, + State, +} from "@elizaos/core"; +import { generateWebSearch } from "@elizaos/core"; +import { SearchResult } from "@elizaos/core"; +import { encodingForModel, TiktokenModel } from "js-tiktoken"; + +const DEFAULT_MAX_WEB_SEARCH_TOKENS = 4000; +const DEFAULT_MODEL_ENCODING = "gpt-3.5-turbo"; + +function getTotalTokensFromString( + str: string, + encodingName: TiktokenModel = DEFAULT_MODEL_ENCODING +) { + const encoding = encodingForModel(encodingName); + return encoding.encode(str).length; +} + +function MaxTokens( + data: string, + maxTokens: number = DEFAULT_MAX_WEB_SEARCH_TOKENS +): string { + if (getTotalTokensFromString(data) >= maxTokens) { + return data.slice(0, maxTokens); + } + return data; +} + +const webSearch: Action = { + name: "WEB_SEARCH", + similes: [ + "SEARCH_WEB", + "INTERNET_SEARCH", + "LOOKUP", + "QUERY_WEB", + "FIND_ONLINE", + "SEARCH_ENGINE", + "WEB_LOOKUP", + "ONLINE_SEARCH", + "FIND_INFORMATION", + ], + description: + "Perform a web search to find information related to the message.", + validate: async (runtime: IAgentRuntime, message: Memory) => { + const tavilyApiKeyOk = !!runtime.getSetting("TAVILY_API_KEY"); + + return tavilyApiKeyOk; + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback: HandlerCallback + ) => { + elizaLogger.log("Composing state for message:", message); + state = (await runtime.composeState(message)) as State; + const userId = runtime.agentId; + elizaLogger.log("User ID:", userId); + + const webSearchPrompt = message.content.text; + elizaLogger.log("web search prompt received:", webSearchPrompt); + + elizaLogger.log("Generating image with prompt:", webSearchPrompt); + const searchResponse = await generateWebSearch( + webSearchPrompt, + runtime + ); + + if (searchResponse && searchResponse.results.length) { + const responseList = searchResponse.answer + ? `${searchResponse.answer}${ + Array.isArray(searchResponse.results) && + searchResponse.results.length > 0 + ? `\n\nFor more details, you can check out these resources:\n${searchResponse.results + .map( + (result: SearchResult, index: number) => + `${index + 1}. [${result.title}](${result.url})` + ) + .join("\n")}` + : "" + }` + : ""; + + callback({ + text: MaxTokens(responseList, DEFAULT_MAX_WEB_SEARCH_TOKENS), + }); + } else { + elizaLogger.error("search failed or returned no data."); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Find the latest news about SpaceX launches.", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Here is the latest news about SpaceX launches:", + action: "WEB_SEARCH", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Can you find details about the iPhone 16 release?", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Here are the details I found about the iPhone 16 release:", + action: "WEB_SEARCH", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "What is the schedule for the next FIFA World Cup?", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Here is the schedule for the next FIFA World Cup:", + action: "WEB_SEARCH", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Check the latest stock price of Tesla." }, + }, + { + user: "{{agentName}}", + content: { + text: "Here is the latest stock price of Tesla I found:", + action: "WEB_SEARCH", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "What are the current trending movies in the US?", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Here are the current trending movies in the US:", + action: "WEB_SEARCH", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "What is the latest score in the NBA finals?", + }, + }, + { + user: "{{agentName}}", + content: { + text: "Here is the latest score from the NBA finals:", + action: "WEB_SEARCH", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "When is the next Apple keynote event?" }, + }, + { + user: "{{agentName}}", + content: { + text: "Here is the information about the next Apple keynote event:", + action: "WEB_SEARCH", + }, + }, + ], + ], +} as Action; + +export const webSearchPlugin: Plugin = { + name: "webSearch", + description: "Search web", + actions: [webSearch], + evaluators: [], + providers: [], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/tsconfig.json new file mode 100644 index 000000000..834c4dce2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "types": [ + "node" + ] + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/tsup.config.ts new file mode 100644 index 000000000..b5e4388b2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/tsup.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + "zod", + // Add other modules you want to externalize + ], +}); From 6e8ef279593be0abd83105f61ef8863b77cc21ea Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:11:11 -0800 Subject: [PATCH 065/312] Remove .npmignore --- .../components/plugins/plugin-web-search/.npmignore | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file From 3023f54d2b76f24fb6b21e76d430687605bcf3c9 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:35:39 -0800 Subject: [PATCH 066/312] Add web search plugin hacks --- .../components/plugins/plugin-web-search/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/package.json index 1d87e98b9..01f360610 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search/package.json @@ -1,9 +1,8 @@ { "name": "@elizaos/plugin-web-search", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { "@elizaos/core": "workspace:*", "tsup": "8.3.5" From 9fe3031dc5372f7e284eef59db6aa8144cd6530d Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:35:51 -0800 Subject: [PATCH 067/312] Web search plugin integration --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 346364b11..2bdff3aff 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -15,6 +15,7 @@ "@elizaos/plugin-tee": "file:./packages/react-agents/components/plugins/plugin-tee", "@elizaos/plugin-trustdb": "file:./packages/react-agents/components/plugins/plugin-trustdb", "@elizaos/plugin-twitter": "file:./packages/react-agents/components/plugins/plugin-twitter", + "@elizaos/plugin-web-search": "file:./packages/react-agents/components/plugins/plugin-web-search", "@iarna/toml": "^2.2.5", "@supabase/postgrest-js": "^1.17.7", "@supabase/supabase-js": "^2.47.1", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index fa1a4dd6d..8d58cb2da 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -11,6 +11,7 @@ import createGoatPlugin from '@elizaos/plugin-goat'; import { plugins as coinbasePlugins } from '@elizaos/plugin-coinbase'; import suiPlugin from '@elizaos/plugin-sui'; import flowPlugin from '@elizaos/plugin-flow'; +import { webSearchPlugin } from '@elizaos/plugin-web-search'; function generateZodSchema(obj: any): z.ZodTypeAny { if (typeof obj === "string") return z.string(); @@ -206,6 +207,7 @@ export const plugins = { '@elizaos/plugin-coinbase': pluginWrapObject(coinbasePlugins), '@elizaos/plugin-sui': pluginWrap(suiPlugin), '@elizaos/plugin-flow': pluginWrap(flowPlugin), + '@elizaos/plugin-web-search': pluginWrap(webSearchPlugin), '@elizaos/plugin-trustdb': adapterWrap(TrustScoreDatabase), // '@elizaos/plugin-goat': pluginWrap(goatPlugin), }; \ No newline at end of file From 6d466802add14905c5e77ae5748eedeecb544e4e Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:36:00 -0800 Subject: [PATCH 068/312] Update lock --- pnpm-lock.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0297d0c1e..c93b5f12a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -969,6 +969,9 @@ importers: '@elizaos/plugin-twitter': specifier: file:./packages/react-agents/components/plugins/plugin-twitter version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + '@elizaos/plugin-web-search': + specifier: file:./packages/react-agents/components/plugins/plugin-web-search + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-whatsapp': specifier: file:./packages/react-agents/components/clients/plugin-whatsapp version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp @@ -2394,6 +2397,11 @@ packages: '@elizaos/plugin-twitter@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter, type: directory} + '@elizaos/plugin-web-search@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-whatsapp@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp, type: directory} @@ -18562,6 +18570,21 @@ snapshots: - typescript - yaml + '@elizaos/plugin-web-search@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + '@elizaos/core': link:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - jiti + - postcss + - supports-color + - tsx + - typescript + - yaml + '@elizaos/plugin-whatsapp@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp': dependencies: axios: 1.7.8 @@ -36340,6 +36363,7 @@ snapshots: '@elizaos/plugin-tee': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-trustdb': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-twitter': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + '@elizaos/plugin-web-search': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-whatsapp': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp '@iarna/toml': 2.2.5 '@supabase/postgrest-js': 1.17.7 From 5223adeabb45d585405aee7f562aaf1d2f1363d6 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:38:54 -0800 Subject: [PATCH 069/312] Add image generation plugin --- .../plugin-image-generation/.npmignore | 6 + .../plugin-image-generation/eslint.config.mjs | 3 + .../plugin-image-generation/package.json | 19 + .../src/environment.ts | 68 ++++ .../plugin-image-generation/src/index.ts | 356 ++++++++++++++++++ .../plugin-image-generation/tsconfig.json | 13 + .../plugin-image-generation/tsup.config.ts | 21 ++ 7 files changed, 486 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/src/environment.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/package.json new file mode 100644 index 000000000..369bd9829 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/package.json @@ -0,0 +1,19 @@ +{ + "name": "@elizaos/plugin-image-generation", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/src/environment.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/src/environment.ts new file mode 100644 index 000000000..8d15d1164 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/src/environment.ts @@ -0,0 +1,68 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { z } from "zod"; + +export const imageGenEnvSchema = z + .object({ + ANTHROPIC_API_KEY: z.string().optional(), + TOGETHER_API_KEY: z.string().optional(), + HEURIST_API_KEY: z.string().optional(), + FAL_API_KEY: z.string().optional(), + OPENAI_API_KEY: z.string().optional(), + VENICE_API_KEY: z.string().optional(), + }) + .refine( + (data) => { + return !!( + data.ANTHROPIC_API_KEY || + data.TOGETHER_API_KEY || + data.HEURIST_API_KEY || + data.FAL_API_KEY || + data.OPENAI_API_KEY || + data.VENICE_API_KEY + ); + }, + { + message: + "At least one of ANTHROPIC_API_KEY, TOGETHER_API_KEY, HEURIST_API_KEY, FAL_API_KEY, OPENAI_API_KEY or VENICE_API_KEY is required", + } + ); + +export type ImageGenConfig = z.infer; + +export async function validateImageGenConfig( + runtime: IAgentRuntime +): Promise { + try { + const config = { + ANTHROPIC_API_KEY: + runtime.getSetting("ANTHROPIC_API_KEY") || + process.env.ANTHROPIC_API_KEY, + TOGETHER_API_KEY: + runtime.getSetting("TOGETHER_API_KEY") || + process.env.TOGETHER_API_KEY, + HEURIST_API_KEY: + runtime.getSetting("HEURIST_API_KEY") || + process.env.HEURIST_API_KEY, + FAL_API_KEY: + runtime.getSetting("FAL_API_KEY") || process.env.FAL_API_KEY, + OPENAI_API_KEY: + runtime.getSetting("OPENAI_API_KEY") || + process.env.OPENAI_API_KEY, + VENICE_API_KEY: + runtime.getSetting("VENICE_API_KEY") || + process.env.VENICE_API_KEY, + }; + + return imageGenEnvSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error( + `Image generation configuration validation failed:\n${errorMessages}` + ); + } + throw error; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/src/index.ts new file mode 100644 index 000000000..cc54396ae --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/src/index.ts @@ -0,0 +1,356 @@ +import { elizaLogger, generateText } from "@elizaos/core"; +import { + Action, + HandlerCallback, + IAgentRuntime, + Memory, + Plugin, + State, + ModelClass +} from "@elizaos/core"; +import { generateImage } from "@elizaos/core"; +import fs from "fs"; +import path from "path"; +import { validateImageGenConfig } from "./environment"; + +export function saveBase64Image(base64Data: string, filename: string): string { + // Create generatedImages directory if it doesn't exist + const imageDir = path.join(process.cwd(), "generatedImages"); + if (!fs.existsSync(imageDir)) { + fs.mkdirSync(imageDir, { recursive: true }); + } + + // Remove the data:image/png;base64 prefix if it exists + const base64Image = base64Data.replace(/^data:image\/\w+;base64,/, ""); + + // Create a buffer from the base64 string + const imageBuffer = Buffer.from(base64Image, "base64"); + + // Create full file path + const filepath = path.join(imageDir, `${filename}.png`); + + // Save the file + fs.writeFileSync(filepath, imageBuffer); + + return filepath; +} + +export async function saveHeuristImage( + imageUrl: string, + filename: string +): Promise { + const imageDir = path.join(process.cwd(), "generatedImages"); + if (!fs.existsSync(imageDir)) { + fs.mkdirSync(imageDir, { recursive: true }); + } + + // Fetch image from URL + const response = await fetch(imageUrl); + if (!response.ok) { + throw new Error(`Failed to fetch image: ${response.statusText}`); + } + + const arrayBuffer = await response.arrayBuffer(); + const imageBuffer = Buffer.from(arrayBuffer); + + // Create full file path + const filepath = path.join(imageDir, `${filename}.png`); + + // Save the file + fs.writeFileSync(filepath, imageBuffer); + + return filepath; +} + +const imageGeneration: Action = { + name: "GENERATE_IMAGE", + similes: [ + "IMAGE_GENERATION", + "IMAGE_GEN", + "CREATE_IMAGE", + "MAKE_PICTURE", + "GENERATE_IMAGE", + "GENERATE_A", + "DRAW", + "DRAW_A", + "MAKE_A", + ], + description: "Generate an image to go along with the message.", + suppressInitialMessage: true, + validate: async (runtime: IAgentRuntime, _message: Memory) => { + await validateImageGenConfig(runtime); + + const anthropicApiKeyOk = !!runtime.getSetting("ANTHROPIC_API_KEY"); + const togetherApiKeyOk = !!runtime.getSetting("TOGETHER_API_KEY"); + const heuristApiKeyOk = !!runtime.getSetting("HEURIST_API_KEY"); + const falApiKeyOk = !!runtime.getSetting("FAL_API_KEY"); + const openAiApiKeyOk = !!runtime.getSetting("OPENAI_API_KEY"); + const veniceApiKeyOk = !!runtime.getSetting("VENICE_API_KEY"); + const livepeerGatewayUrlOk = !!runtime.getSetting("LIVEPEER_GATEWAY_URL"); + + return ( + anthropicApiKeyOk || + togetherApiKeyOk || + heuristApiKeyOk || + falApiKeyOk || + openAiApiKeyOk || + veniceApiKeyOk || + livepeerGatewayUrlOk + ); + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: { + width?: number; + height?: number; + count?: number; + negativePrompt?: string; + numIterations?: number; + guidanceScale?: number; + seed?: number; + modelId?: string; + jobId?: string; + stylePreset?: string; + hideWatermark?: boolean; + }, + callback: HandlerCallback + ) => { + elizaLogger.log("Composing state for message:", message); + state = (await runtime.composeState(message)) as State; + const userId = runtime.agentId; + elizaLogger.log("User ID:", userId); + + const CONTENT = message.content.text; + const IMAGE_SYSTEM_PROMPT = `You are an expert in writing prompts for AI art generation. You excel at creating detailed and creative visual descriptions. Incorporating specific elements naturally. Always aim for clear, descriptive language that generates a creative picture. Your output should only contain the description of the image contents, but NOT an instruction like "create an image that..."`; + const STYLE = "futuristic with vibrant colors"; + + const IMAGE_PROMPT_INPUT = `You are tasked with generating an image prompt based on a content and a specified style. + Your goal is to create a detailed and vivid image prompt that captures the essence of the content while incorporating an appropriate subject based on your analysis of the content.\n\nYou will be given the following inputs:\n\n${CONTENT}\n\n\n\n\nA good image prompt consists of the following elements:\n\n + +1. Main subject +2. Detailed description +3. Style +4. Lighting +5. Composition +6. Quality modifiers + +To generate the image prompt, follow these steps:\n\n1. Analyze the content text carefully, identifying key themes, emotions, and visual elements mentioned or implied. +\n\n + +2. Determine the most appropriate main subject by: + - Identifying concrete objects or persons mentioned in the content + - Analyzing the central theme or message + - Considering metaphorical representations of abstract concepts + - Selecting a subject that best captures the content's essence + +3. Determine an appropriate environment or setting based on the content's context and your chosen subject. + +4. Decide on suitable lighting that enhances the mood or atmosphere of the scene. + +5. Choose a color palette that reflects the content's tone and complements the subject. + +6. Identify the overall mood or emotion conveyed by the content. + +7. Plan a composition that effectively showcases the subject and captures the content's essence. + +8. Incorporate the specified style into your description, considering how it affects the overall look and feel of the image. + +9. Use concrete nouns and avoid abstract concepts when describing the main subject and elements of the scene. + +Construct your image prompt using the following structure:\n\n +1. Main subject: Describe the primary focus of the image based on your analysis +2. Environment: Detail the setting or background +3. Lighting: Specify the type and quality of light in the scene +4. Colors: Mention the key colors and their relationships +5. Mood: Convey the overall emotional tone +6. Composition: Describe how elements are arranged in the frame +7. Style: Incorporate the given style into the description + +Ensure that your prompt is detailed, vivid, and incorporates all the elements mentioned above while staying true to the content and the specified style. LIMIT the image prompt 50 words or less. \n\nWrite a prompt. Only include the prompt and nothing else.`; + + const imagePrompt = await generateText({ + runtime, + context: IMAGE_PROMPT_INPUT, + modelClass: ModelClass.MEDIUM, + customSystemPrompt: IMAGE_SYSTEM_PROMPT, + }); + + elizaLogger.log("Image prompt received:", imagePrompt); + const imageSettings = runtime.character?.settings?.imageSettings || {}; + elizaLogger.log("Image settings:", imageSettings); + + const res: { image: string; caption: string }[] = []; + + elizaLogger.log("Generating image with prompt:", imagePrompt); + const images = await generateImage( + { + prompt: imagePrompt, + width: options.width || imageSettings.width || 1024, + height: options.height || imageSettings.height || 1024, + ...(options.count != null || imageSettings.count != null ? { count: options.count || imageSettings.count || 1 } : {}), + ...(options.negativePrompt != null || imageSettings.negativePrompt != null ? { negativePrompt: options.negativePrompt || imageSettings.negativePrompt } : {}), + ...(options.numIterations != null || imageSettings.numIterations != null ? { numIterations: options.numIterations || imageSettings.numIterations } : {}), + ...(options.guidanceScale != null || imageSettings.guidanceScale != null ? { guidanceScale: options.guidanceScale || imageSettings.guidanceScale } : {}), + ...(options.seed != null || imageSettings.seed != null ? { seed: options.seed || imageSettings.seed } : {}), + ...(options.modelId != null || imageSettings.modelId != null ? { modelId: options.modelId || imageSettings.modelId } : {}), + ...(options.jobId != null || imageSettings.jobId != null ? { jobId: options.jobId || imageSettings.jobId } : {}), + ...(options.stylePreset != null || imageSettings.stylePreset != null ? { stylePreset: options.stylePreset || imageSettings.stylePreset } : {}), + ...(options.hideWatermark != null || imageSettings.hideWatermark != null ? { hideWatermark: options.hideWatermark || imageSettings.hideWatermark } : {}), + }, + runtime + ); + + if (images.success && images.data && images.data.length > 0) { + elizaLogger.log( + "Image generation successful, number of images:", + images.data.length + ); + for (let i = 0; i < images.data.length; i++) { + const image = images.data[i]; + + // Save the image and get filepath + const filename = `generated_${Date.now()}_${i}`; + + // Choose save function based on image data format + const filepath = image.startsWith("http") + ? await saveHeuristImage(image, filename) + : saveBase64Image(image, filename); + + elizaLogger.log(`Processing image ${i + 1}:`, filename); + + //just dont even add a caption or a description just have it generate & send + /* + try { + const imageService = runtime.getService(ServiceType.IMAGE_DESCRIPTION); + if (imageService && typeof imageService.describeImage === 'function') { + const caption = await imageService.describeImage({ imageUrl: filepath }); + captionText = caption.description; + captionTitle = caption.title; + } + } catch (error) { + elizaLogger.error("Caption generation failed, using default caption:", error); + }*/ + + const _caption = "..."; + /*= await generateCaption( + { + imageUrl: image, + }, + runtime + );*/ + + res.push({ image: filepath, caption: "..." }); //caption.title }); + + elizaLogger.log( + `Generated caption for image ${i + 1}:`, + "..." //caption.title + ); + //res.push({ image: image, caption: caption.title }); + + callback( + { + text: "...", //caption.description, + attachments: [ + { + id: crypto.randomUUID(), + url: filepath, + title: "Generated image", + source: "imageGeneration", + description: "...", //caption.title, + text: "...", //caption.description, + contentType: "image/png", + }, + ], + }, + [ + { + attachment: filepath, + name: `${filename}.png`, + }, + ] + ); + } + } else { + elizaLogger.error("Image generation failed or returned no data."); + } + }, + examples: [ + // TODO: We want to generate images in more abstract ways, not just when asked to generate an image + + [ + { + user: "{{user1}}", + content: { text: "Generate an image of a cat" }, + }, + { + user: "{{agentName}}", + content: { + text: "Here's an image of a cat", + action: "GENERATE_IMAGE", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Generate an image of a dog" }, + }, + { + user: "{{agentName}}", + content: { + text: "Here's an image of a dog", + action: "GENERATE_IMAGE", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Create an image of a cat with a hat" }, + }, + { + user: "{{agentName}}", + content: { + text: "Here's an image of a cat with a hat", + action: "GENERATE_IMAGE", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Make an image of a dog with a hat" }, + }, + { + user: "{{agentName}}", + content: { + text: "Here's an image of a dog with a hat", + action: "GENERATE_IMAGE", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Paint an image of a cat with a hat" }, + }, + { + user: "{{agentName}}", + content: { + text: "Here's an image of a cat with a hat", + action: "GENERATE_IMAGE", + }, + }, + ], + ], +} as Action; + +export const imageGenerationPlugin: Plugin = { + name: "imageGeneration", + description: "Generate images", + actions: [imageGeneration], + evaluators: [], + providers: [], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/tsconfig.json new file mode 100644 index 000000000..834c4dce2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "types": [ + "node" + ] + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/tsup.config.ts new file mode 100644 index 000000000..b5e4388b2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/tsup.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + "zod", + // Add other modules you want to externalize + ], +}); From 35b6b66f7d9c6f0bc4c4e5761cd7587fc561b446 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:39:06 -0800 Subject: [PATCH 070/312] Remove .npmignore --- .../components/plugins/plugin-image-generation/.npmignore | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file From 81e871b3ba81168ba71f7634c96224b8c39a11e0 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:41:15 -0800 Subject: [PATCH 071/312] Update main file path to src/index.ts in package.json --- .../components/plugins/plugin-image-generation/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/package.json index 369bd9829..67c2d8904 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-image-generation", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "tsup": "8.3.5" }, "scripts": { From 4e16f794f28c9be74323d3e61c7bb789d7194a11 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:41:30 -0800 Subject: [PATCH 072/312] Add image generation plugin to upstreet agent --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 2bdff3aff..51c73760d 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -10,6 +10,7 @@ "@elizaos/plugin-coinbase": "file:./packages/react-agents/components/plugins/plugin-coinbase", "@elizaos/plugin-flow": "file:./packages/react-agents/components/plugins/plugin-flow", "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", + "@elizaos/plugin-image-generation": "file:./packages/react-agents/components/plugins/plugin-image-generation", "@elizaos/plugin-solana": "file:./packages/react-agents/components/plugins/plugin-solana", "@elizaos/plugin-sui": "file:./packages/react-agents/components/plugins/plugin-sui", "@elizaos/plugin-tee": "file:./packages/react-agents/components/plugins/plugin-tee", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 8d58cb2da..eebb0f31e 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -3,6 +3,7 @@ import { Action, useEnv } from 'react-agents'; import { z } from 'zod'; import util from 'util'; import { ThreeDGenerationPlugin } from '@elizaos/plugin-3d-generation'; +import { imageGenerationPlugin } from '@elizaos/plugin-image-generation'; import { solanaPlugin } from '@elizaos/plugin-solana'; import { teePlugin } from '@elizaos/plugin-tee'; import { TrustScoreDatabase } from '@elizaos/plugin-trustdb'; @@ -201,6 +202,7 @@ const adapterWrap = (adapter: IAdapter) => (props: any) => { // }); export const plugins = { '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), + '@elizaos/plugin-image-generation': pluginWrap(imageGenerationPlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), '@elizaos/plugin-tee': pluginWrap(teePlugin), '@elizaos/plugin-twitter': pluginWrap(twitterPlugin), From 3f265702d8f422fe9e05f259e3aa8c2930280336 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:41:51 -0800 Subject: [PATCH 073/312] Update lock --- pnpm-lock.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c93b5f12a..421e1621d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -954,6 +954,9 @@ importers: '@elizaos/plugin-goat': specifier: file:./packages/react-agents/components/plugins/plugin-goat version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) + '@elizaos/plugin-image-generation': + specifier: file:./packages/react-agents/components/plugins/plugin-image-generation + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-solana': specifier: file:./packages/react-agents/components/plugins/plugin-solana version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) @@ -2372,6 +2375,11 @@ packages: peerDependencies: whatwg-url: 7.1.0 + '@elizaos/plugin-image-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-solana@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana, type: directory} peerDependencies: @@ -18301,6 +18309,20 @@ snapshots: - yaml - zod + '@elizaos/plugin-image-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - jiti + - postcss + - supports-color + - tsx + - typescript + - yaml + '@elizaos/plugin-solana@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)': dependencies: '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -36358,6 +36380,7 @@ snapshots: '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) '@elizaos/plugin-flow': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) + '@elizaos/plugin-image-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-sui': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(form-data@4.0.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-tee': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) From 50835bf1176d117415b816b4c2dfaae54bcebdb4 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:42:06 -0800 Subject: [PATCH 074/312] Add story plugin --- .../plugins/plugin-story/package.json | 26 + .../plugin-story/src/actions/attachTerms.ts | 159 +++ .../src/actions/getAvailableLicenses.ts | 166 +++ .../plugin-story/src/actions/getIPDetails.ts | 125 +++ .../plugin-story/src/actions/licenseIP.ts | 121 +++ .../plugin-story/src/actions/registerIP.ts | 148 +++ .../src/functions/uploadJSONToIPFS.ts | 9 + .../plugins/plugin-story/src/index.ts | 32 + .../plugins/plugin-story/src/lib/api.ts | 124 +++ .../plugins/plugin-story/src/lib/utils.ts | 6 + .../plugin-story/src/providers/wallet.ts | 132 +++ .../plugins/plugin-story/src/queries.ts | 982 ++++++++++++++++++ .../plugin-story/src/templates/index.ts | 101 ++ .../plugin-story/src/tests/wallet.test.ts | 63 ++ .../plugins/plugin-story/src/types/api.ts | 575 ++++++++++ .../plugins/plugin-story/src/types/index.ts | 118 +++ .../plugins/plugin-story/tsconfig.json | 15 + .../plugins/plugin-story/tsup.config.ts | 21 + 18 files changed, 2923 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/attachTerms.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/getAvailableLicenses.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/getIPDetails.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/licenseIP.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/registerIP.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/functions/uploadJSONToIPFS.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/lib/api.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/lib/utils.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/providers/wallet.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/queries.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/templates/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/tests/wallet.test.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/types/api.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/types/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/package.json new file mode 100644 index 000000000..a553f9239 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/package.json @@ -0,0 +1,26 @@ +{ + "name": "@elizaos/plugin-story", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "@story-protocol/core-sdk": "1.2.0-rc.3", + "tsup": "8.3.5", + "viem": "2.21.54", + "@pinata/sdk": "^2.1.0" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + }, + "devDependencies": { + "@types/node": "^22.10.1" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/attachTerms.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/attachTerms.ts new file mode 100644 index 000000000..a175aacbc --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/attachTerms.ts @@ -0,0 +1,159 @@ +import { + composeContext, + elizaLogger, + generateObjectDeprecated, + HandlerCallback, + ModelClass, + IAgentRuntime, + Memory, + State, +} from "@elizaos/core"; +import { WalletProvider } from "../providers/wallet"; +import { attachTermsTemplate } from "../templates"; +import { + AttachLicenseTermsResponse, + LicenseTerms, + RegisterPILResponse, +} from "@story-protocol/core-sdk"; +import { AttachTermsParams } from "../types"; +import { zeroAddress } from "viem"; + +export { attachTermsTemplate }; + +export class AttachTermsAction { + constructor(private walletProvider: WalletProvider) {} + + async attachTerms(params: AttachTermsParams): Promise<{ + attachTermsResponse: AttachLicenseTermsResponse; + registerPilTermsResponse: RegisterPILResponse; + }> { + const storyClient = this.walletProvider.getStoryClient(); + + console.log("params", params); + + const licenseTerms: LicenseTerms = { + transferable: true, + royaltyPolicy: params.commercialUse + ? "0x28b4F70ffE5ba7A26aEF979226f77Eb57fb9Fdb6" + : zeroAddress, + defaultMintingFee: params.mintingFee + ? BigInt(params.mintingFee) + : BigInt(0), + expiration: BigInt(0), + commercialUse: params.commercialUse || false, + commercialAttribution: false, + commercializerChecker: zeroAddress, + commercializerCheckerData: zeroAddress, + commercialRevShare: params.commercialUse + ? params.commercialRevShare + : 0, + commercialRevCeiling: BigInt(0), + derivativesAllowed: true, + derivativesAttribution: true, + derivativesApproval: false, + derivativesReciprocal: true, + derivativeRevCeiling: BigInt(0), + currency: "0xC0F6E387aC0B324Ec18EAcf22EE7271207dCE3d5", + uri: "", + }; + + const registerPilTermsResponse = + await storyClient.license.registerPILTerms({ + ...licenseTerms, + txOptions: { waitForTransaction: true }, + }); + + const attachTermsResponse = + await storyClient.license.attachLicenseTerms({ + ipId: params.ipId, + licenseTermsId: registerPilTermsResponse.licenseTermsId, + txOptions: { waitForTransaction: true }, + }); + + return { attachTermsResponse, registerPilTermsResponse }; + } +} + +export const attachTermsAction = { + name: "ATTACH_TERMS", + description: "Attach license terms to an IP Asset on Story", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback?: HandlerCallback + ): Promise => { + elizaLogger.log("Starting ATTACH_TERMS handler..."); + + // initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + const attachTermsContext = composeContext({ + state, + template: attachTermsTemplate, + }); + + const content = await generateObjectDeprecated({ + runtime, + context: attachTermsContext, + modelClass: ModelClass.SMALL, + }); + + const walletProvider = new WalletProvider(runtime); + const action = new AttachTermsAction(walletProvider); + try { + const response = await action.attachTerms(content); + // if license terms were attached + if (response.attachTermsResponse.success) { + callback?.({ + text: `Successfully attached license terms: ${response.registerPilTermsResponse.licenseTermsId}. Transaction Hash: ${response.attachTermsResponse.txHash}. View it on the block explorer: https://odyssey.storyscan.xyz/tx/${response.attachTermsResponse.txHash}`, + }); + return true; + } + // if license terms were already attached + callback?.({ + text: `License terms ${response.registerPilTermsResponse.licenseTermsId} were already attached to IP Asset ${content.ipId}`, + }); + return true; + } catch (e) { + elizaLogger.error("Error licensing IP:", e.message); + callback?.({ text: `Error licensing IP: ${e.message}` }); + return false; + } + }, + template: attachTermsTemplate, + validate: async (runtime: IAgentRuntime) => { + const privateKey = runtime.getSetting("STORY_PRIVATE_KEY"); + return typeof privateKey === "string" && privateKey.startsWith("0x"); + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "I would like to attach license terms to my IP.", + action: "ATTACH_TERMS", + }, + }, + { + user: "{{user2}}", + content: { + text: "Sure! What is the ipId? You should also tell me if you want to add a minting fee, or if you want to enable commercial use of your IP. If so, you can add a revenue share as well.", + action: "ATTACH_TERMS", + }, + }, + { + user: "{{user1}}", + content: { + text: "Attach commercial, 10% rev share license terms to IP Asset 0x2265F2b8e47F98b3Bdf7a1937EAc27282954A4Db", + }, + }, + ], + ], + similes: ["ATTACH_TERMS", "ATTACH_TERMS_TO_IP"], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/getAvailableLicenses.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/getAvailableLicenses.ts new file mode 100644 index 000000000..466100084 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/getAvailableLicenses.ts @@ -0,0 +1,166 @@ +import { + composeContext, + elizaLogger, + generateObjectDeprecated, + HandlerCallback, + ModelClass, + IAgentRuntime, + Memory, + State, +} from "@elizaos/core"; +import { getAvailableLicensesTemplate, licenseIPTemplate } from "../templates"; +import { Address } from "viem"; +import { IPLicenseDetails, RESOURCE_TYPE } from "../types/api"; +import { API_KEY, API_URL } from "../lib/api"; +import { storyOdyssey } from "viem/chains"; + +export { licenseIPTemplate }; + +// Types for request/response +type GetAvailableLicensesParams = { + ipid: Address; +}; + +type GetAvailableLicensesResponse = { + data: IPLicenseDetails[]; +}; + +/** + * Class to handle fetching available licenses for an IP asset from Story Protocol + */ +export class GetAvailableLicensesAction { + // Default query options for license terms + private readonly defaultQueryOptions = { + pagination: { limit: 10, offset: 0 }, + orderBy: "blockNumber", + orderDirection: "desc", + }; + + async getAvailableLicenses( + params: GetAvailableLicensesParams + ): Promise { + elizaLogger.log( + "Fetching from", + `${API_URL}/${RESOURCE_TYPE.IP_LICENSE_DETAILS}` + ); + + const response = await fetch( + `${API_URL}/${RESOURCE_TYPE.IP_LICENSE_DETAILS}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + "x-api-key": API_KEY, + "x-chain": storyOdyssey.id.toString(), + }, + cache: "no-cache", + body: JSON.stringify({ + ip_ids: [params.ipid], + options: this.defaultQueryOptions, + }), + } + ); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + try { + const text = await response.text(); + const licenseDetailsResponse = JSON.parse(text); + elizaLogger.log("licenseDetailsResponse", licenseDetailsResponse); + return licenseDetailsResponse; + } catch (e) { + elizaLogger.error("Failed to parse response"); + throw new Error(`Failed to parse JSON response: ${e.message}`); + } + } +} + +/** + * Formats a license's terms into a human-readable string + */ +const formatLicenseTerms = (license: IPLicenseDetails): string => { + const terms = license.terms; + return `License ID: ${license.id} +- Terms: + • Commercial Use: ${terms.commercialUse ? "Allowed" : "Not Allowed"} + • Commercial Attribution: ${terms.commercialAttribution ? "Required" : "Not Required"} + • Derivatives: ${terms.derivativesAllowed ? "Allowed" : "Not Allowed"} + • Derivatives Attribution: ${terms.derivativesAttribution ? "Required" : "Not Required"} + • Derivatives Approval: ${terms.derivativesApproval ? "Required" : "Not Required"} + • Revenue Share: ${terms.commercialRevenueShare ? terms.commercialRevenueShare + "%" : "Not Required"} +`; +}; + +/** + * Main action configuration for getting available licenses + */ +export const getAvailableLicensesAction = { + name: "GET_AVAILABLE_LICENSES", + description: "Get available licenses for an IP Asset on Story", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback?: HandlerCallback + ): Promise => { + elizaLogger.log("Starting GET_AVAILABLE_LICENSES handler..."); + + // Initialize or update state + state = !state + ? ((await runtime.composeState(message)) as State) + : await runtime.updateRecentMessageState(state); + + // Generate parameters from context + const content = await generateObjectDeprecated({ + runtime, + context: composeContext({ + state, + template: getAvailableLicensesTemplate, + }), + modelClass: ModelClass.SMALL, + }); + + // Fetch and format license data + const action = new GetAvailableLicensesAction(); + try { + const response = await action.getAvailableLicenses(content); + const formattedResponse = response.data + .map(formatLicenseTerms) + .join("\n"); + + callback?.({ + text: formattedResponse, + action: "GET_AVAILABLE_LICENSES", + source: "Story Protocol API", + }); + return true; + } catch (e) { + elizaLogger.error("Error fetching available licenses:", e.message); + callback?.({ + text: `Error fetching available licenses: ${e.message}`, + }); + return false; + } + }, + template: getAvailableLicensesTemplate, + validate: async () => true, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Get available licenses for an IP Asset 0x2265F2b8e47F98b3Bdf7a1937EAc27282954A4Db", + action: "GET_AVAILABLE_LICENSES", + }, + }, + ], + ], + similes: [ + "AVAILABLE_LICENSES", + "AVAILABLE_LICENSES_FOR_IP", + "AVAILABLE_LICENSES_FOR_ASSET", + ], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/getIPDetails.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/getIPDetails.ts new file mode 100644 index 000000000..68d7f1328 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/getIPDetails.ts @@ -0,0 +1,125 @@ +import { + composeContext, + elizaLogger, + generateObjectDeprecated, + HandlerCallback, + ModelClass, + IAgentRuntime, + Memory, + State, +} from "@elizaos/core"; +import { getIPDetailsTemplate } from "../templates"; +import { Address } from "viem"; +import { Asset, RESOURCE_TYPE } from "../types/api"; +import { API_URL, getResource } from "../lib/api"; + +export { getIPDetailsTemplate }; + +// Types for the action parameters and response +type GetIPDetailsParams = { + ipId: Address; +}; + +type GetIPDetailsResponse = { + data: Asset; +}; + +/** + * Class handling IP details retrieval from Story Protocol + */ +class GetIPDetailsAction { + async getIPDetails( + params: GetIPDetailsParams + ): Promise { + elizaLogger.log("Fetching from", `${API_URL}/${RESOURCE_TYPE.ASSET}`); + return (await getResource( + RESOURCE_TYPE.ASSET, + params.ipId + )) as GetIPDetailsResponse; + } +} + +/** + * Formats IP asset details into a readable string + */ +const formatIPDetails = (data: Asset): string => `IP Asset Details: +ID: ${data.id} +NFT Name: ${data.nftMetadata.name} +Token Contract: ${data.nftMetadata.tokenContract} +Token ID: ${data.nftMetadata.tokenId} +Image URL: ${data.nftMetadata.imageUrl} + +Relationships: +• Ancestors: ${data.ancestorCount} +• Descendants: ${data.descendantCount} +• Parents: ${data.parentCount || 0} +• Children: ${data.childCount || 0} +• Roots: ${data.rootCount || 0} + +Created: +Block #${data.blockNumber} +Timestamp: ${data.blockTimestamp}`; + +/** + * Main action configuration for getting IP details + */ +export const getIPDetailsAction = { + name: "GET_IP_DETAILS", + description: "Get details for an IP Asset on Story", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback?: HandlerCallback + ): Promise => { + elizaLogger.log("Starting GET_IP_DETAILS handler..."); + + // Initialize or update state + state = !state + ? ((await runtime.composeState(message)) as State) + : await runtime.updateRecentMessageState(state); + + // Generate content using template + const content = await generateObjectDeprecated({ + runtime, + context: composeContext({ state, template: getIPDetailsTemplate }), + modelClass: ModelClass.SMALL, + }); + + // Fetch and format IP details + const action = new GetIPDetailsAction(); + try { + const response = await action.getIPDetails(content); + const formattedResponse = formatIPDetails(response.data); + + callback?.({ + text: formattedResponse, + action: "GET_IP_DETAILS", + source: "Story Protocol API", + }); + return true; + } catch (e) { + elizaLogger.error("Error fetching IP details:", e.message); + callback?.({ + text: `Error fetching IP details: ${e.message}`, + }); + return false; + } + }, + template: getIPDetailsTemplate, + validate: async () => true, + // Example usage of the action + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Get details for an IP Asset 0x2265F2b8e47F98b3Bdf7a1937EAc27282954A4Db", + action: "GET_IP_DETAILS", + }, + }, + ], + ], + similes: ["IP_DETAILS", "IP_DETAILS_FOR_ASSET", "IP_DETAILS_FOR_IP"], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/licenseIP.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/licenseIP.ts new file mode 100644 index 000000000..1d834136c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/licenseIP.ts @@ -0,0 +1,121 @@ +import { + composeContext, + elizaLogger, + generateObjectDeprecated, + HandlerCallback, + ModelClass, + IAgentRuntime, + Memory, + State, +} from "@elizaos/core"; +import { WalletProvider } from "../providers/wallet"; +import { licenseIPTemplate } from "../templates"; +import { LicenseIPParams } from "../types"; +import { MintLicenseTokensResponse } from "@story-protocol/core-sdk"; +import { hasIpAttachedLicenseTerms } from "../queries"; + +export { licenseIPTemplate }; + +export class LicenseIPAction { + constructor(private walletProvider: WalletProvider) {} + + async licenseIP( + params: LicenseIPParams + ): Promise { + const storyClient = this.walletProvider.getStoryClient(); + const publicClient = this.walletProvider.getPublicClient(); + + const hasLicenseTerms = await hasIpAttachedLicenseTerms(publicClient, { + ipId: params.licensorIpId, + licenseTemplate: "0x58E2c909D557Cd23EF90D14f8fd21667A5Ae7a93", + licenseTermsId: BigInt(params.licenseTermsId), + }); + // check if license terms are attached to the ip asset + if (!hasLicenseTerms) { + throw new Error("License terms are not attached to the IP Asset"); + } + const response = await storyClient.license.mintLicenseTokens({ + licensorIpId: params.licensorIpId, + licenseTermsId: params.licenseTermsId, + amount: params.amount || 1, + txOptions: { waitForTransaction: true }, + }); + + return response; + } +} + +export const licenseIPAction = { + name: "LICENSE_IP", + description: "License an IP Asset on Story", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback?: HandlerCallback + ): Promise => { + elizaLogger.log("Starting LICENSE_IP handler..."); + + // initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + const licenseIPContext = composeContext({ + state, + template: licenseIPTemplate, + }); + + const content = await generateObjectDeprecated({ + runtime, + context: licenseIPContext, + modelClass: ModelClass.SMALL, + }); + + const walletProvider = new WalletProvider(runtime); + const action = new LicenseIPAction(walletProvider); + try { + const response = await action.licenseIP(content); + callback?.({ + text: `Successfully minted license tokens: ${response.licenseTokenIds.join(", ")}. Transaction Hash: ${response.txHash}. View it on the block explorer: https://odyssey.storyscan.xyz/tx/${response.txHash}`, + }); + return true; + } catch (e) { + elizaLogger.error("Error licensing IP:", e.message); + callback?.({ text: `Error licensing IP: ${e.message}` }); + return false; + } + }, + template: licenseIPTemplate, + validate: async (runtime: IAgentRuntime) => { + const privateKey = runtime.getSetting("STORY_PRIVATE_KEY"); + return typeof privateKey === "string" && privateKey.startsWith("0x"); + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "I would like to license an IP.", + }, + }, + { + user: "{{user2}}", + content: { + text: "Sure! Please provide the ipId of the IP you want to license and the license terms id you want to attach.", + action: "LICENSE_IP", + }, + }, + { + user: "{{user1}}", + content: { + text: "License an IP Asset 0x2265F2b8e47F98b3Bdf7a1937EAc27282954A4Db with license terms 1", + }, + }, + ], + ], + similes: ["LICENSE", "LICENSE_IP", "LICENSE_IP_ASSET"], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/registerIP.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/registerIP.ts new file mode 100644 index 000000000..ae579ca07 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/actions/registerIP.ts @@ -0,0 +1,148 @@ +import { + composeContext, + elizaLogger, + generateObjectDeprecated, + HandlerCallback, + ModelClass, + IAgentRuntime, + Memory, + State, +} from "@elizaos/core"; +import pinataSDK from "@pinata/sdk"; +import { RegisterIpResponse } from "@story-protocol/core-sdk"; +import { createHash } from "crypto"; +import { uploadJSONToIPFS } from "../functions/uploadJSONToIPFS"; +import { WalletProvider } from "../providers/wallet"; +import { registerIPTemplate } from "../templates"; +import { RegisterIPParams } from "../types"; + +export { registerIPTemplate }; + +export class RegisterIPAction { + constructor(private walletProvider: WalletProvider) {} + + async registerIP( + params: RegisterIPParams, + runtime: IAgentRuntime + ): Promise { + const storyClient = this.walletProvider.getStoryClient(); + + // configure ip metadata + const ipMetadata = storyClient.ipAsset.generateIpMetadata({ + title: params.title, + description: params.description, + ipType: params.ipType ? params.ipType : undefined, + }); + + // configure nft metadata + const nftMetadata = { + name: params.title, + description: params.description, + }; + + const pinataJWT = runtime.getSetting("PINATA_JWT"); + if (!pinataJWT) throw new Error("PINATA_JWT not configured"); + const pinata = new pinataSDK({ pinataJWTKey: pinataJWT }); + + // upload metadata to ipfs + const ipIpfsHash = await uploadJSONToIPFS(pinata, ipMetadata); + const ipHash = createHash("sha256") + .update(JSON.stringify(ipMetadata)) + .digest("hex"); + const nftIpfsHash = await uploadJSONToIPFS(pinata, nftMetadata); + const nftHash = createHash("sha256") + .update(JSON.stringify(nftMetadata)) + .digest("hex"); + + // register ip + const response = + await storyClient.ipAsset.mintAndRegisterIpAssetWithPilTerms({ + spgNftContract: "0xC81B2cbEFD1aA0227bf513729580d3CF40fd61dF", + terms: [], + ipMetadata: { + ipMetadataURI: `https://ipfs.io/ipfs/${ipIpfsHash}`, + ipMetadataHash: `0x${ipHash}`, + nftMetadataURI: `https://ipfs.io/ipfs/${nftIpfsHash}`, + nftMetadataHash: `0x${nftHash}`, + }, + txOptions: { waitForTransaction: true }, + }); + + return response; + } +} + +export const registerIPAction = { + name: "REGISTER_IP", + description: "Register an NFT as an IP Asset on Story", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback?: HandlerCallback + ): Promise => { + elizaLogger.log("Starting REGISTER_IP handler..."); + + // initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + const registerIPContext = composeContext({ + state, + template: registerIPTemplate, + }); + + const content = await generateObjectDeprecated({ + runtime, + context: registerIPContext, + modelClass: ModelClass.SMALL, + }); + + const walletProvider = new WalletProvider(runtime); + const action = new RegisterIPAction(walletProvider); + try { + const response = await action.registerIP(content, runtime); + callback?.({ + text: `Successfully registered IP ID: ${response.ipId}. Transaction Hash: ${response.txHash}. View it on the explorer: https://explorer.story.foundation/ipa/${response.ipId}`, + }); + return true; + } catch (e) { + elizaLogger.error("Error registering IP:", e.message); + callback?.({ text: `Error registering IP: ${e.message}` }); + return false; + } + }, + template: registerIPTemplate, + validate: async (runtime: IAgentRuntime) => { + const privateKey = runtime.getSetting("STORY_PRIVATE_KEY"); + return typeof privateKey === "string" && privateKey.startsWith("0x"); + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "I would like to register my IP.", + }, + }, + { + user: "{{user2}}", + content: { + text: "Sure! Please provide the title and description of your IP.", + action: "REGISTER_IP", + }, + }, + { + user: "{{user1}}", + content: { + text: "Register my IP titled 'My IP' with the description 'This is my IP'", + }, + }, + ], + ], + similes: ["REGISTER_IP", "REGISTER_NFT"], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/functions/uploadJSONToIPFS.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/functions/uploadJSONToIPFS.ts new file mode 100644 index 000000000..dc8cb0107 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/functions/uploadJSONToIPFS.ts @@ -0,0 +1,9 @@ +import PinataClient from "@pinata/sdk"; + +export async function uploadJSONToIPFS( + pinata: PinataClient, + jsonMetadata: any +): Promise { + const { IpfsHash } = await pinata.pinJSONToIPFS(jsonMetadata); + return IpfsHash; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/index.ts new file mode 100644 index 000000000..9012e1f5a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/index.ts @@ -0,0 +1,32 @@ +export * from "./actions/registerIP"; +export * from "./actions/licenseIP"; +export * from "./actions/attachTerms"; +export * from "./actions/getAvailableLicenses"; +export * from "./actions/getIPDetails"; +export * from "./providers/wallet"; +export * from "./types"; + +import { Plugin } from "@elizaos/core"; +import { storyWalletProvider } from "./providers/wallet"; +import { registerIPAction } from "./actions/registerIP"; +import { licenseIPAction } from "./actions/licenseIP"; +import { getAvailableLicensesAction } from "./actions/getAvailableLicenses"; +import { getIPDetailsAction } from "./actions/getIPDetails"; +import { attachTermsAction } from "./actions/attachTerms"; + +export const storyPlugin: Plugin = { + name: "story", + description: "Story integration plugin", + providers: [storyWalletProvider], + evaluators: [], + services: [], + actions: [ + registerIPAction, + licenseIPAction, + attachTermsAction, + getAvailableLicensesAction, + getIPDetailsAction, + ], +}; + +export default storyPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/lib/api.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/lib/api.ts new file mode 100644 index 000000000..114ef1643 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/lib/api.ts @@ -0,0 +1,124 @@ +import { + IPLicenseTerms, + PILTerms, + QUERY_ORDER_BY, + QUERY_ORDER_DIRECTION, + QueryOptions, + RESOURCE_TYPE, + ResourceType, + Trait, +} from "../types/api"; +import { elizaLogger } from "@elizaos/core"; + +import { camelize } from "./utils"; +const API_BASE_URL = process.env.STORY_API_BASE_URL; +const API_VERSION = "v2"; +export const API_URL = `${API_BASE_URL}/${API_VERSION}`; +export const API_KEY = process.env.STORY_API_KEY || ""; + +export async function getResource( + resourceName: ResourceType, + resourceId: string, + options?: QueryOptions +) { + try { + elizaLogger.log( + `Fetching resource ${API_URL}/${resourceName}/${resourceId}` + ); + const res = await fetch(`${API_URL}/${resourceName}/${resourceId}`, { + method: "GET", + headers: { + "Content-Type": "application/json", + "x-api-key": API_KEY as string, + "x-chain": "1516", + }, + }); + if (res.ok) { + elizaLogger.log("Response is ok"); + return res.json(); + } else { + elizaLogger.log("Response is not ok"); + elizaLogger.log(JSON.stringify(res)); + throw new Error(`HTTP error! status: ${res.status}`); + } + } catch (error) { + console.error(error); + } +} + +export async function listResource( + resourceName: ResourceType, + options?: QueryOptions +) { + try { + const _options = { + pagination: { + limit: 10, + offset: 0, + }, + orderBy: QUERY_ORDER_BY.BLOCK_NUMBER, + orderDirection: QUERY_ORDER_DIRECTION.DESC, + ...options, + }; + elizaLogger.log(`Calling Story API ${resourceName}`); + elizaLogger.log(`STORY_API_KEY: ${API_KEY}`); + elizaLogger.log(`API_URL: ${API_URL}`); + elizaLogger.log(`API_VERSION: ${API_VERSION}`); + elizaLogger.log(`_options: ${JSON.stringify(_options)}`); + const res = await fetch(`${API_URL}/${resourceName}`, { + method: "POST", + headers: { + "Content-Type": "application/json", + "x-api-key": API_KEY as string, + "x-chain": "1516", + }, + cache: "no-cache", + ...(_options && { body: JSON.stringify({ options: _options }) }), + }); + if (res.ok) { + elizaLogger.log("Response is ok"); + elizaLogger.log(res.ok); + return res.json(); + } else { + elizaLogger.log("Response is not ok"); + elizaLogger.log(res); + return res; + } + } catch (error) { + elizaLogger.log("List resource Error"); + console.error(error); + } +} + +export async function fetchLicenseTermsDetails(data: IPLicenseTerms[]) { + const requests = data.map((item) => + getResource(RESOURCE_TYPE.LICENSE_TERMS, item.licenseTermsId) + ); + const results = await Promise.all(requests); + + return results + .filter((value) => !!value) + .map((result) => { + return { + ...result.data, + licenseTerms: convertLicenseTermObject( + result.data.licenseTerms + ), + }; + }); +} + +type LicenseTerms = Partial; + +export function convertLicenseTermObject(licenseTerms: Trait[]): LicenseTerms { + return licenseTerms.reduce((acc, option: Trait): LicenseTerms => { + const key = camelize(option.trait_type) as keyof PILTerms; + acc[key] = + option.value === "true" + ? true + : option.value === "false" + ? false + : (option.value as any); + return acc as LicenseTerms; + }, {}); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/lib/utils.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/lib/utils.ts new file mode 100644 index 000000000..f0464e17e --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/lib/utils.ts @@ -0,0 +1,6 @@ +export function camelize(str: string) { + return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function (match, index) { + if (+match === 0) return ""; // or if (/\s+/.test(match)) for white spaces + return index === 0 ? match.toLowerCase() : match.toUpperCase(); + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/providers/wallet.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/providers/wallet.ts new file mode 100644 index 000000000..c00deb804 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/providers/wallet.ts @@ -0,0 +1,132 @@ +import { IAgentRuntime, Provider, Memory, State } from "@elizaos/core"; +import { + createPublicClient, + createWalletClient, + http, + formatUnits, + type PublicClient, + type WalletClient, + type Chain, + type HttpTransport, + type Address, + Account, +} from "viem"; +import { storyOdyssey } from "viem/chains"; +import type { SupportedChain, ChainMetadata } from "../types"; +import { privateKeyToAccount } from "viem/accounts"; +import { StoryClient, StoryConfig } from "@story-protocol/core-sdk"; + +export const DEFAULT_CHAIN_CONFIGS: Record = { + odyssey: { + chainId: 1516, + name: "Odyssey Testnet", + chain: storyOdyssey, + rpcUrl: "https://odyssey.storyrpc.io/", + nativeCurrency: { + name: "IP", + symbol: "IP", + decimals: 18, + }, + blockExplorerUrl: "https://odyssey.storyscan.xyz", + }, +} as const; + +export class WalletProvider { + private storyClient: StoryClient; + private publicClient: PublicClient< + HttpTransport, + Chain, + Account | undefined + >; + private walletClient: WalletClient; + private address: Address; + runtime: IAgentRuntime; + + constructor(runtime: IAgentRuntime) { + const privateKey = runtime.getSetting("STORY_PRIVATE_KEY"); + if (!privateKey) throw new Error("STORY_PRIVATE_KEY not configured"); + + this.runtime = runtime; + + const account = privateKeyToAccount(privateKey as Address); + this.address = account.address; + + const config: StoryConfig = { + account: account, + transport: http(DEFAULT_CHAIN_CONFIGS.odyssey.rpcUrl), + chainId: "odyssey", + }; + this.storyClient = StoryClient.newClient(config); + + const baseConfig = { + chain: storyOdyssey, + transport: http(DEFAULT_CHAIN_CONFIGS.odyssey.rpcUrl), + } as const; + this.publicClient = createPublicClient( + baseConfig + ) as PublicClient; + + this.walletClient = createWalletClient({ + chain: storyOdyssey, + transport: http(DEFAULT_CHAIN_CONFIGS.odyssey.rpcUrl), + account: account, + }); + } + + getAddress(): Address { + return this.address; + } + + async getWalletBalance(): Promise { + try { + const balance = await this.publicClient.getBalance({ + address: this.address, + }); + return formatUnits(balance, 18); + } catch (error) { + console.error("Error getting wallet balance:", error); + return null; + } + } + + async connect(): Promise<`0x${string}`> { + return this.runtime.getSetting("STORY_PRIVATE_KEY") as `0x${string}`; + } + + getPublicClient(): PublicClient { + return this.publicClient; + } + + getWalletClient(): WalletClient { + if (!this.walletClient) throw new Error("Wallet not connected"); + return this.walletClient; + } + + getStoryClient(): StoryClient { + if (!this.storyClient) throw new Error("StoryClient not connected"); + return this.storyClient; + } +} + +export const storyWalletProvider: Provider = { + async get( + runtime: IAgentRuntime, + message: Memory, + state?: State + ): Promise { + // Check if the user has a Story wallet + if (!runtime.getSetting("STORY_PRIVATE_KEY")) { + return null; + } + + try { + const walletProvider = new WalletProvider(runtime); + const address = walletProvider.getAddress(); + const balance = await walletProvider.getWalletBalance(); + return `Story Wallet Address: ${address}\nBalance: ${balance} IP`; + } catch (error) { + console.error("Error in Story wallet provider:", error); + return null; + } + }, +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/queries.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/queries.ts new file mode 100644 index 000000000..080b8f123 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/queries.ts @@ -0,0 +1,982 @@ +import { Account, HttpTransport, Chain, Address, PublicClient } from "viem"; + +type LicenseRegistryHasIpAttachedLicenseTermsRequest = { + ipId: Address; + licenseTemplate: Address; + licenseTermsId: bigint; +}; + +export const licenseRegistryAbi = [ + { + type: "constructor", + inputs: [ + { + name: "licensingModule", + internalType: "address", + type: "address", + }, + { name: "disputeModule", internalType: "address", type: "address" }, + { name: "ipGraphAcl", internalType: "address", type: "address" }, + ], + stateMutability: "nonpayable", + }, + { + type: "error", + inputs: [ + { name: "authority", internalType: "address", type: "address" }, + ], + name: "AccessManagedInvalidAuthority", + }, + { + type: "error", + inputs: [ + { name: "caller", internalType: "address", type: "address" }, + { name: "delay", internalType: "uint32", type: "uint32" }, + ], + name: "AccessManagedRequiredDelay", + }, + { + type: "error", + inputs: [{ name: "caller", internalType: "address", type: "address" }], + name: "AccessManagedUnauthorized", + }, + { + type: "error", + inputs: [{ name: "target", internalType: "address", type: "address" }], + name: "AddressEmptyCode", + }, + { + type: "error", + inputs: [ + { + name: "implementation", + internalType: "address", + type: "address", + }, + ], + name: "ERC1967InvalidImplementation", + }, + { type: "error", inputs: [], name: "ERC1967NonPayable" }, + { type: "error", inputs: [], name: "FailedInnerCall" }, + { type: "error", inputs: [], name: "InvalidInitialization" }, + { + type: "error", + inputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + { + name: "parentIpIds", + internalType: "address[]", + type: "address[]", + }, + ], + name: "LicenseRegistry__AddParentIpToIPGraphFailed", + }, + { + type: "error", + inputs: [], + name: "LicenseRegistry__CallerNotLicensingModule", + }, + { + type: "error", + inputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + ], + name: "LicenseRegistry__DerivativeAlreadyRegistered", + }, + { + type: "error", + inputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + ], + name: "LicenseRegistry__DerivativeIpAlreadyHasChild", + }, + { + type: "error", + inputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + ], + name: "LicenseRegistry__DerivativeIpAlreadyHasLicense", + }, + { + type: "error", + inputs: [{ name: "ipId", internalType: "address", type: "address" }], + name: "LicenseRegistry__DerivativeIsParent", + }, + { + type: "error", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "LicenseRegistry__DuplicateLicense", + }, + { + type: "error", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { name: "index", internalType: "uint256", type: "uint256" }, + { name: "length", internalType: "uint256", type: "uint256" }, + ], + name: "LicenseRegistry__IndexOutOfBounds", + }, + { + type: "error", + inputs: [{ name: "ipId", internalType: "address", type: "address" }], + name: "LicenseRegistry__IpExpired", + }, + { + type: "error", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "LicenseRegistry__LicenseTermsAlreadyAttached", + }, + { + type: "error", + inputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "LicenseRegistry__LicenseTermsNotExists", + }, + { + type: "error", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "LicenseRegistry__LicensorIpHasNoLicenseTerms", + }, + { + type: "error", + inputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + ], + name: "LicenseRegistry__NotLicenseTemplate", + }, + { + type: "error", + inputs: [{ name: "ipId", internalType: "address", type: "address" }], + name: "LicenseRegistry__ParentIpExpired", + }, + { + type: "error", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "LicenseRegistry__ParentIpHasNoLicenseTerms", + }, + { + type: "error", + inputs: [{ name: "ipId", internalType: "address", type: "address" }], + name: "LicenseRegistry__ParentIpTagged", + }, + { + type: "error", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + ], + name: "LicenseRegistry__ParentIpUnmatchedLicenseTemplate", + }, + { + type: "error", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "newLicenseTemplate", + internalType: "address", + type: "address", + }, + ], + name: "LicenseRegistry__UnmatchedLicenseTemplate", + }, + { + type: "error", + inputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + ], + name: "LicenseRegistry__UnregisteredLicenseTemplate", + }, + { type: "error", inputs: [], name: "LicenseRegistry__ZeroAccessManager" }, + { type: "error", inputs: [], name: "LicenseRegistry__ZeroDisputeModule" }, + { type: "error", inputs: [], name: "LicenseRegistry__ZeroIPGraphACL" }, + { type: "error", inputs: [], name: "LicenseRegistry__ZeroLicenseTemplate" }, + { type: "error", inputs: [], name: "LicenseRegistry__ZeroLicensingModule" }, + { + type: "error", + inputs: [], + name: "LicensingModule__DerivativesCannotAddLicenseTerms", + }, + { + type: "error", + inputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "LicensingModule__LicenseTermsNotFound", + }, + { type: "error", inputs: [], name: "NotInitializing" }, + { type: "error", inputs: [], name: "UUPSUnauthorizedCallContext" }, + { + type: "error", + inputs: [{ name: "slot", internalType: "bytes32", type: "bytes32" }], + name: "UUPSUnsupportedProxiableUUID", + }, + { + type: "event", + anonymous: false, + inputs: [ + { + name: "authority", + internalType: "address", + type: "address", + indexed: false, + }, + ], + name: "AuthorityUpdated", + }, + { + type: "event", + anonymous: false, + inputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + indexed: false, + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + indexed: false, + }, + ], + name: "DefaultLicenseTermsSet", + }, + { + type: "event", + anonymous: false, + inputs: [ + { + name: "ipId", + internalType: "address", + type: "address", + indexed: true, + }, + { + name: "expireTime", + internalType: "uint256", + type: "uint256", + indexed: false, + }, + ], + name: "ExpirationTimeSet", + }, + { + type: "event", + anonymous: false, + inputs: [ + { + name: "version", + internalType: "uint64", + type: "uint64", + indexed: false, + }, + ], + name: "Initialized", + }, + { + type: "event", + anonymous: false, + inputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + indexed: true, + }, + ], + name: "LicenseTemplateRegistered", + }, + { + type: "event", + anonymous: false, + inputs: [ + { + name: "ipId", + internalType: "address", + type: "address", + indexed: true, + }, + { + name: "licensingConfig", + internalType: "struct Licensing.LicensingConfig", + type: "tuple", + components: [ + { name: "isSet", internalType: "bool", type: "bool" }, + { + name: "mintingFee", + internalType: "uint256", + type: "uint256", + }, + { + name: "licensingHook", + internalType: "address", + type: "address", + }, + { name: "hookData", internalType: "bytes", type: "bytes" }, + ], + indexed: false, + }, + ], + name: "LicensingConfigSetForIP", + }, + { + type: "event", + anonymous: false, + inputs: [ + { + name: "ipId", + internalType: "address", + type: "address", + indexed: true, + }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + indexed: true, + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + indexed: true, + }, + ], + name: "LicensingConfigSetForLicense", + }, + { + type: "event", + anonymous: false, + inputs: [ + { + name: "implementation", + internalType: "address", + type: "address", + indexed: true, + }, + ], + name: "Upgraded", + }, + { + type: "function", + inputs: [], + name: "DISPUTE_MODULE", + outputs: [ + { + name: "", + internalType: "contract IDisputeModule", + type: "address", + }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "EXPIRATION_TIME", + outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "IP_GRAPH", + outputs: [{ name: "", internalType: "address", type: "address" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "IP_GRAPH_ACL", + outputs: [ + { name: "", internalType: "contract IPGraphACL", type: "address" }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "LICENSING_MODULE", + outputs: [ + { + name: "", + internalType: "contract ILicensingModule", + type: "address", + }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "UPGRADE_INTERFACE_VERSION", + outputs: [{ name: "", internalType: "string", type: "string" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "attachLicenseTermsToIp", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [], + name: "authority", + outputs: [{ name: "", internalType: "address", type: "address" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "exists", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { name: "index", internalType: "uint256", type: "uint256" }, + ], + name: "getAttachedLicenseTerms", + outputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [{ name: "ipId", internalType: "address", type: "address" }], + name: "getAttachedLicenseTermsCount", + outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "getDefaultLicenseTerms", + outputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "parentIpId", internalType: "address", type: "address" }, + { name: "index", internalType: "uint256", type: "uint256" }, + ], + name: "getDerivativeIp", + outputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "parentIpId", internalType: "address", type: "address" }, + ], + name: "getDerivativeIpCount", + outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [{ name: "ipId", internalType: "address", type: "address" }], + name: "getExpireTime", + outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "getLicensingConfig", + outputs: [ + { + name: "", + internalType: "struct Licensing.LicensingConfig", + type: "tuple", + components: [ + { name: "isSet", internalType: "bool", type: "bool" }, + { + name: "mintingFee", + internalType: "uint256", + type: "uint256", + }, + { + name: "licensingHook", + internalType: "address", + type: "address", + }, + { name: "hookData", internalType: "bytes", type: "bytes" }, + ], + }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + { name: "index", internalType: "uint256", type: "uint256" }, + ], + name: "getParentIp", + outputs: [ + { name: "parentIpId", internalType: "address", type: "address" }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + ], + name: "getParentIpCount", + outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + { name: "parentIpId", internalType: "address", type: "address" }, + ], + name: "getParentLicenseTerms", + outputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "parentIpId", internalType: "address", type: "address" }, + ], + name: "hasDerivativeIps", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "hasIpAttachedLicenseTerms", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "accessManager", internalType: "address", type: "address" }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [], + name: "isConsumingScheduledOp", + outputs: [{ name: "", internalType: "bytes4", type: "bytes4" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + ], + name: "isDerivativeIp", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [{ name: "ipId", internalType: "address", type: "address" }], + name: "isExpiredNow", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "parentIpId", internalType: "address", type: "address" }, + { name: "childIpId", internalType: "address", type: "address" }, + ], + name: "isParentIp", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + ], + name: "isRegisteredLicenseTemplate", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "proxiableUUID", + outputs: [{ name: "", internalType: "bytes32", type: "bytes32" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "childIpId", internalType: "address", type: "address" }, + { + name: "parentIpIds", + internalType: "address[]", + type: "address[]", + }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsIds", + internalType: "uint256[]", + type: "uint256[]", + }, + { name: "isUsingLicenseToken", internalType: "bool", type: "bool" }, + ], + name: "registerDerivativeIp", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [ + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + ], + name: "registerLicenseTemplate", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [ + { name: "newAuthority", internalType: "address", type: "address" }, + ], + name: "setAuthority", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [ + { + name: "newLicenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "newLicenseTermsId", + internalType: "uint256", + type: "uint256", + }, + ], + name: "setDefaultLicenseTerms", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licensingConfig", + internalType: "struct Licensing.LicensingConfig", + type: "tuple", + components: [ + { name: "isSet", internalType: "bool", type: "bool" }, + { + name: "mintingFee", + internalType: "uint256", + type: "uint256", + }, + { + name: "licensingHook", + internalType: "address", + type: "address", + }, + { name: "hookData", internalType: "bytes", type: "bytes" }, + ], + }, + ], + name: "setLicensingConfigForIp", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [ + { name: "ipId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + { + name: "licensingConfig", + internalType: "struct Licensing.LicensingConfig", + type: "tuple", + components: [ + { name: "isSet", internalType: "bool", type: "bool" }, + { + name: "mintingFee", + internalType: "uint256", + type: "uint256", + }, + { + name: "licensingHook", + internalType: "address", + type: "address", + }, + { name: "hookData", internalType: "bytes", type: "bytes" }, + ], + }, + ], + name: "setLicensingConfigForLicense", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [ + { + name: "newImplementation", + internalType: "address", + type: "address", + }, + { name: "data", internalType: "bytes", type: "bytes" }, + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + }, + { + type: "function", + inputs: [ + { name: "licensorIpId", internalType: "address", type: "address" }, + { + name: "licenseTemplate", + internalType: "address", + type: "address", + }, + { + name: "licenseTermsId", + internalType: "uint256", + type: "uint256", + }, + { name: "isMintedByIpOwner", internalType: "bool", type: "bool" }, + ], + name: "verifyMintLicenseToken", + outputs: [ + { + name: "", + internalType: "struct Licensing.LicensingConfig", + type: "tuple", + components: [ + { name: "isSet", internalType: "bool", type: "bool" }, + { + name: "mintingFee", + internalType: "uint256", + type: "uint256", + }, + { + name: "licensingHook", + internalType: "address", + type: "address", + }, + { name: "hookData", internalType: "bytes", type: "bytes" }, + ], + }, + ], + stateMutability: "view", + }, +] as const; + +export async function hasIpAttachedLicenseTerms( + publicClient: PublicClient, + request: LicenseRegistryHasIpAttachedLicenseTermsRequest +): Promise { + return await publicClient.readContract({ + abi: licenseRegistryAbi, + address: "0xBda3992c49E98392e75E78d82B934F3598bA495f", + functionName: "hasIpAttachedLicenseTerms", + args: [request.ipId, request.licenseTemplate, request.licenseTermsId], + }); +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/templates/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/templates/index.ts new file mode 100644 index 000000000..e647e389d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/templates/index.ts @@ -0,0 +1,101 @@ +export const registerIPTemplate = `Given the recent messages below: + +{{recentMessages}} + +Extract the following information about the requested IP registration: +- Field "title": The title of your IP +- Field "description": The description of your IP +- Field "ipType": The type of your IP. Type of the IP Asset, can be defined arbitrarily by the +creator. I.e. “character”, “chapter”, “location”, “items”, "music", etc. If a user doesn't provide +an ipType, you can infer it from the title and description. It should be one word. + +Respond with a JSON markdown block containing only the extracted values. A user must explicitly provide a title and description. + +\`\`\`json +{ + "title": string, + "description": string, + "ipType": string +} +\`\`\` +`; + +export const licenseIPTemplate = `Given the recent messages below: + +{{recentMessages}} + +Extract the following information about the requested IP licensing: +- Field "licensorIpId": The IP Asset that you want to mint a license from +- Field "licenseTermsId": The license terms that you want to mint a license for +- Field "amount": The amount of licenses to mint + +Respond with a JSON markdown block containing only the extracted values. A user must explicitly provide a licensorIpId and licenseTermsId. +If they don't provide the amount, set it as null. + +\`\`\`json +{ + "licensorIpId": string, + "licenseTermsId": string, + "amount": number | null +} +\`\`\` +`; + +export const getAvailableLicensesTemplate = `Given the recent messages and wallet information below: + +{{recentMessages}} + +{{walletInfo}} + +Extract the following information about the requested IP licensing: +- Field "ipid": The IP Asset that you want to mint a license from + +Respond with a JSON markdown block containing only the extracted values. A user must provide an ipId. + +\`\`\`json +{ + "ipid": string +} +\`\`\` +`; + +export const getIPDetailsTemplate = `Given the recent messages below: + +{{recentMessages}} + +Extract the following information about the requested IP details: +- Field "ipId": The IP Asset that you want to get details for + +Respond with a JSON markdown block containing only the extracted values. A user must provide an ipId. + +\`\`\`json +{ + "ipId": string +} +\`\`\` +`; + +export const attachTermsTemplate = `Given the recent messages below: + +{{recentMessages}} + +Extract the following information about attaching license terms to an IP Asset: +- Field "ipId": The IP Asset that you want to attach the license terms to +- Field "mintingFee": The fee to mint this license from the IP Asset. +- Field "commercialUse": Whether or not the IP Asset can be used commercially. +- Field "commercialRevShare": The percentage of revenue that the IP Asset owner will receive +from commercial use of the IP Asset. This must be between 0 and 100. If a user specifies +a commercialRevShare, then commercialUse must be set to true. + +Respond with a JSON markdown block containing only the extracted values. A user must provide an ipId. If they don't provide +the others fields, set them as null. + +\`\`\`json +{ + "ipId": string, + "mintingFee": number | null, + "commercialUse": boolean | null, + "commercialRevShare": number | null +} +\`\`\` +`; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/tests/wallet.test.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/tests/wallet.test.ts new file mode 100644 index 000000000..56a2bfdb1 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/tests/wallet.test.ts @@ -0,0 +1,63 @@ +import { describe, it, expect, beforeEach, vi, afterEach } from "vitest"; +import { WalletProvider } from "../providers/wallet.ts"; +import { defaultCharacter } from "@elizaos/core"; + +// Mock NodeCache +vi.mock("node-cache", () => { + return { + default: vi.fn().mockImplementation(() => ({ + set: vi.fn(), + get: vi.fn().mockReturnValue(null), + })), + }; +}); + +// Mock path module +vi.mock("path", async () => { + const actual = await vi.importActual("path"); + return { + ...actual, + join: vi.fn().mockImplementation((...args) => args.join("/")), + }; +}); + +// Mock the ICacheManager +const mockCacheManager = { + get: vi.fn().mockResolvedValue(null), + set: vi.fn(), + delete: vi.fn(), +}; + +describe("WalletProvider", () => { + let walletProvider; + let mockedRuntime; + + beforeEach(() => { + vi.clearAllMocks(); + mockCacheManager.get.mockResolvedValue(null); + + mockedRuntime = { + character: defaultCharacter, + getSetting: vi.fn().mockImplementation((key: string) => { + // this is a testnet private key + if (key === "STORY_PRIVATE_KEY") + return "0x1ad065323caa081ab78d6f4fd2b52181e09cf29a4e60bd7519997b2d03fa44f3"; + return undefined; + }), + }; + + // Create new instance of WalletProvider with mocked dependencies + walletProvider = new WalletProvider(mockedRuntime); + }); + + afterEach(() => { + vi.clearAllTimers(); + }); + + describe("Wallet Integration", () => { + it("should check wallet address", async () => { + const address = await walletProvider.getAddress(); + expect(address).toEqual(walletProvider.address); + }); + }); +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/types/api.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/types/api.ts new file mode 100644 index 000000000..5ff30f796 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/types/api.ts @@ -0,0 +1,575 @@ +import { Address, Hash } from "viem"; + +export enum ACTION_RESPONSE_TYPE { + SET = "SET", + ATTACH = "ATTACH", + CREATE = "CREATE", + REGISTER = "REGISTER", + REMOVE = "REMOVE", +} + +export enum RESOURCE_TYPE { + LICENSE_TOKEN = "licenses/tokens", // new version + LICENSE_TEMPLATES = "licenses/templates", // new version + LICENSE_TERMS = "licenses/terms", // new version + IP_LICENSE_TERMS = "licenses/ip/terms", // new version + IP_LICENSE_DETAILS = "detailed-ip-license-terms", // new version + ASSET = "assets", + COLLECTION = "collections", + DISPUTE = "disputes", + LICENSE_MINT_FEES = "licenses/mintingfees", + MODULE = "modules", + PERMISSION = "permissions", + ROYALTY = "royalties", + ROYALTY_PAY = "royalties/payments", + ROYALTY_POLICY = "royalties/policies", + ROYALTY_SPLIT = "royalties/splits", + TAGS = "tags", + TRANSACTION = "transactions", + LATEST_TRANSACTIONS = "transactions/latest", +} + +export enum RESPOURCE_REPONSE_TYPE { + LICENSE_TOKEN = "LICENSETOKEN", // new version + LICENSE_TEMPLATES = "LICENSETEMPLATE", // new version + LICENSE_TERMS = "LICENSETERM", // new version + IP_LICENSE_TERMS = "licenses/ip/terms", // new version + IP_LICENSE_DETAILS = "detailed-ip-license-terms", // new version + ASSET = "IPASSET", + COLLECTION = "COLLECTION", + DISPUTE = "DISPUTE", + LICENSE_MINT_FEES = "licenses/mintingfees", + MODULE = "modules", + PERMISSION = "PERMISSION", + ROYALTY = "ROYALTY", + ROYALTY_PAY = "royalties/payments", + ROYALTY_POLICY = "ROYALTYPOLICY", + ROYALTY_SPLIT = "royalties/splits", + TAGS = "tags", +} + +export type ResourceType = + | RESOURCE_TYPE.ASSET + | RESOURCE_TYPE.COLLECTION + | RESOURCE_TYPE.TRANSACTION + | RESOURCE_TYPE.LATEST_TRANSACTIONS + | RESOURCE_TYPE.LICENSE_TOKEN + | RESOURCE_TYPE.LICENSE_TERMS + | RESOURCE_TYPE.LICENSE_TEMPLATES + | RESOURCE_TYPE.IP_LICENSE_TERMS + | RESOURCE_TYPE.IP_LICENSE_DETAILS + | RESOURCE_TYPE.LICENSE_MINT_FEES + | RESOURCE_TYPE.MODULE + | RESOURCE_TYPE.PERMISSION + | RESOURCE_TYPE.TAGS + | RESOURCE_TYPE.ROYALTY + | RESOURCE_TYPE.ROYALTY_PAY + | RESOURCE_TYPE.ROYALTY_POLICY + | RESOURCE_TYPE.ROYALTY_SPLIT + | RESOURCE_TYPE.DISPUTE; + +export type PaginationOptions = { + limit?: number; + offset?: number; +}; + +export type AssetFilterOptions = { + chainId?: string; + metadataResolverAddress?: string; + tokenContract?: string; + tokenId?: string; +}; + +export type DisputeFilterOptions = { + currentTag?: string; + initiator?: string; + targetIpId?: string; + targetTag?: string; +}; + +export type PermissionFilterOptions = { + signer?: string; + to?: string; +}; + +export type PolicyFilterOptions = { + policyFrameworkManager?: string; +}; + +export type PolicyFrameworkFilterOptions = { + address?: string; + name?: string; +}; + +export type RoyaltyFilterOptions = { + ipId?: string | null; + royaltyPolicy?: string | null; +}; + +export type TagFilterOptions = { + ipId?: string; + tag?: string; +}; +export type RoyaltyPayFilterOptions = { + ipId?: string; + payerIpId?: string; + receiverIpId?: string; + sender?: string; + token?: string; +}; + +export type ModuleFilterOptions = { + name?: string; +}; + +export type LicenseFilterOptions = { + licensorIpId?: string; + policyId?: string; +}; + +export type LicenseFrameworkFilterOptions = { + creator?: string; +}; + +export type IPAPolicyFilterOptions = { + active?: string; + inherited?: string; + policyId?: string; +}; + +export type TransactionFilterOptions = { + actionType?: string; + resourceId?: string; +}; + +export type FilterOptions = + | AssetFilterOptions + | DisputeFilterOptions + | PermissionFilterOptions + | PolicyFilterOptions + | PolicyFrameworkFilterOptions + | RoyaltyFilterOptions + | TagFilterOptions + | RoyaltyPayFilterOptions + | ModuleFilterOptions + | LicenseFilterOptions + | LicenseFrameworkFilterOptions + | IPAPolicyFilterOptions + | TransactionFilterOptions; + +export type QueryHeaders = + | { + "x-api-key": string; + "x-chain": string; + "x-extend-asset"?: string; + } + | {}; + +export enum QUERY_ORDER_BY { + BLOCK_TIMESTAMP = "blockTimestamp", + BLOCK_NUMBER = "blockNumber", + TOKEN_ID = "tokenId", + ASSET_COUNT = "assetCount", + LICENSES_COUNT = "licensesCount", + DESCENDANT_COUNT = "descendantCount", + // PARENTS = "parentIpIds", +} + +export enum QUERY_ORDER_DIRECTION { + ASC = "asc", + DESC = "desc", +} + +export type QueryOptions = { + chain?: string | number; + pagination?: PaginationOptions; + where?: FilterOptions; + orderBy?: QUERY_ORDER_BY; + orderDirection?: QUERY_ORDER_DIRECTION; +}; + +export type Transaction = { + id: string; + createdAt: string; + actionType: string; + initiator: Address; + ipId: Address; + resourceId: Address; + resourceType: string; + blockNumber: string; + blockTimestamp: string; + logIndex: string; + transactionIndex: string; + tx_hash: Hash; +}; + +export type AssetNFTMetadata = { + name: string; + chainId: string; + tokenContract: Address; + tokenId: string; + tokenUri: string; + imageUrl: string; +}; + +export type Permission = { + id: string; + permission: string; + signer: Address; + to: Address; + func: string; + blockNumber: string; + blockTimestamp: string; +}; + +export type PolicyFramework = { + id: string; + address: Address; + name: string; + blockNumber: string; + blockTimestamp: string; +}; + +export type Module = { + id: string; + name: string; + module: string; + blockNumber: string; + blockTimestamp: string; + deletedAt: string; +}; + +export type Tag = { + id: string; + uuid: string; + ipId: Address; + tag: string; + deletedAt: string; + blockNumber: string; + blockTimestamp: string; +}; + +export type IPAPolicy = { + id: string; + ipId: Address; + policyId: Address; + index: string; + active: boolean; + inherited: boolean; + blockNumber: string; + blockTimestamp: string; +}; + +export type RoyaltyPay = { + id: string; + receiverIpId: Address; + payerIpId: Address; + sender: Address; + token: Address; + amount: string; + blockNumber: string; + blockTimestamp: string; +}; + +export type Royalty = { + id: string; + ipId: Address; + data: string; + royaltyPolicy: Address; + blockNumber: string; + blockTimestamp: string; +}; + +export type Dispute = { + id: string; + targetIpId: Address; + targetTag: Address; + currentTag: Address; + arbitrationPolicy: Address; + evidenceLink: string; + initiator: Address; + data: string; + blockNumber: string; + blockTimestamp: string; +}; + +export type Collection = { + id: string; + assetCount: string; + licensesCount: string; + resolvedDisputeCount: string; + cancelledDisputeCount: string; + raisedDisputeCount: string; + judgedDisputeCount: string; + blockNumber: string; + blockTimestamp: string; +}; + +export type Policy = { + id: string; + policyFrameworkManager: Address; + frameworkData: string; + royaltyPolicy: Address; + royaltyData: string; + mintingFee: string; + mintingFeeToken: Address; + blockNumber: string; + blockTimestamp: string; + pil: PILType; +}; + +export type PILType = { + id: Hash; + attribution: boolean; + commercialUse: boolean; + commercialAttribution: boolean; + commercializerChecker: Address; + commercializerCheckerData: string; + commercialRevShare: string; + derivativesAllowed: boolean; + derivativesAttribution: boolean; + derivativesApproval: boolean; + derivativesReciprocal: boolean; + territories: string[]; + distributionChannels: string[]; + contentRestrictions: string[]; +}; + +export type RoyaltySplit = { + id: Address; + holders: RoyaltyHolder[]; + claimFromIPPoolArg: string; +}; + +export type RoyaltyHolder = { + id: Address; + ownership: string; +}; + +export type LicenseToken = { + id: string; + licensorIpId: Address; + licenseTemplate: Address; + licenseTermsId: string; + transferable: boolean; + owner: Address; + mintedAt: string; + expiresAt: string; + burntAt: string; + blockNumber: string; + blockTime: string; +}; + +export type LicenseTemplate = { + id: string; + name: string; + metadataUri: string; + blockNumber: string; + blockTime: string; +}; + +export type SocialMedia = { + platform?: string; + url?: string; +}; + +export type Creator = { + name?: string; + address?: Address; + description?: string; + contributionPercent?: number; + socialMedia?: SocialMedia[]; +}; + +export interface IPMetadata { + title?: string; + description?: string; + ipType?: string; + creators?: Creator[]; + appInfo?: { + id?: string; + name?: string; + website?: string; + }[]; + relationships?: { + parentIpId?: Address; + type?: string; + }[]; + robotTerms?: { + userAgent?: string; + allow?: string; + }; + [key: string]: any; +} + +export interface AssetMetadata { + id: Address; + metadataHash: string; + metadataUri: string; + metadataJson: IPMetadata; + nftMetadataHash: string; + nftTokenUri: string; + registrationDate: string; +} + +export type UserCollection = { + id?: number; + user_id?: number; + tx_hash?: Hash; + chain?: string; + chain_id?: string; + collection_address?: Address; + collection_name?: string; + collection_thumb?: string; + collection_banner?: string; + collection_description?: string; + created_at?: string; + updated_at?: string; + User?: null; +}; + +export enum PIL_FLAVOR { + NON_COMMERCIAL_SOCIAL_REMIXING = "Non-Commercial Social Remixing", + COMMERCIAL_USE = "Commercial Use", + COMMERCIAL_REMIX = "Commercial Remix", + CUSTOM = "Custom", + // OPEN_DOMAIN = "Open Domain", + // NO_DERIVATIVE = "No Derivative", +} + +export type PilFlavor = + | PIL_FLAVOR.NON_COMMERCIAL_SOCIAL_REMIXING + | PIL_FLAVOR.COMMERCIAL_USE + | PIL_FLAVOR.COMMERCIAL_REMIX + | PIL_FLAVOR.CUSTOM; + +export type Asset = { + id: Address; + ancestorCount: number; + descendantCount: number; + parentCount?: number; + childCount?: number; + rootCount?: number; + parentIpIds: Address[] | null; + childIpIds: Address[] | null; + rootIpIds: Address[] | null; + parentIps?: Asset[] | null; + rootIps?: Asset[] | null; + childIps?: Asset[] | null; + nftMetadata: { + name: string; + chainId: string; + tokenContract: Address; + tokenId: string; + tokenUri: string; + imageUrl: string; + }; + blockNumber: string; + blockTimestamp: string; +}; + +export type AssetEdges = { + ipId: Address; + parentIpId: Address; + blockNumber: string; + blockTime: string; + licenseTemplate: Address; + licenseTermsId: string; + licenseTokenId: string; + transactionHash: string; + transactionIndex: string; +}; + +export type License = { + id: string; + licensorIpId: Address; + licenseTemplate: string; + licenseTermsId: string; + transferable: boolean; + owner: Address; + mintedAt: string; + expiresAt: string; + burntAt: string; + blockNumber: string; + blockTime: string; +}; + +export type PILTerms = { + commercialAttribution: boolean; + commercialRevenueCelling: number; + commercialRevenueShare: number; + commercialUse: boolean; + commercializerCheck: Address; + currency: Address; + derivativesAllowed: boolean; + derivativesApproval: boolean; + derivativesAttribution: boolean; + derivativesReciprocal: boolean; + derivativesRevenueCelling: number; + expiration: string; + uRI: string; +}; + +export type IPLicenseDetails = { + id: string; + ipId: Address; + licenseTemplateId: string; + licenseTemplate: { + id: string; + name: string; + metadataUri: string; + blockNumber: string; + blockTime: string; + }; + terms: PILTerms; +}; +export type IPLicenseTerms = { + id: string; + ipId: Address; + licenseTemplate: string; + licenseTermsId: string; + blockNumber: string; + blockTime: string; +}; + +export type RoyaltyPolicy = { + id: Address; + ipRoyaltyVault: Address; + splitClone: Address; + royaltyStack: string; + targetAncestors: Address[]; + targetRoyaltyAmount: string[]; + blockNumber: string; + blockTimestamp: string; +}; + +export interface Trait { + trait_type: string; + value: string | number; + max_value?: number; +} + +export type LicenseTerms = { + id: string; + // json: string + licenseTerms: Trait[]; + licenseTemplate: Address; + blockNumber: string; + blockTime: string; +}; + +export interface AssetMetadata { + id: Address; + metadataHash: string; + metadataUri: string; + metadataJson: IPMetadata; + nftMetadataHash: string; + nftTokenUri: string; + registrationDate: string; +} + +export interface Trait { + trait_type: string; + value: string | number; + max_value?: number; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/types/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/types/index.ts new file mode 100644 index 000000000..722985a1c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/src/types/index.ts @@ -0,0 +1,118 @@ +import type { Token } from "@lifi/types"; +import type { + Account, + Address, + Chain, + Hash, + HttpTransport, + PublicClient, + WalletClient, +} from "viem"; + +export type SupportedChain = "odyssey"; + +// Transaction types +export interface Transaction { + hash: Hash; + from: Address; + to: Address; + value: bigint; + data?: `0x${string}`; + chainId?: number; +} + +// Token types +export interface TokenWithBalance { + token: Token; + balance: bigint; + formattedBalance: string; + priceUSD: string; + valueUSD: string; +} + +export interface WalletBalance { + chain: SupportedChain; + address: Address; + totalValueUSD: string; + tokens: TokenWithBalance[]; +} + +// Chain configuration +export interface ChainMetadata { + chainId: number; + name: string; + chain: Chain; + rpcUrl: string; + nativeCurrency: { + name: string; + symbol: string; + decimals: number; + }; + blockExplorerUrl: string; +} + +export interface ChainConfig { + chain: Chain; + publicClient: PublicClient; + walletClient?: WalletClient; +} + +// Action parameters +export interface RegisterIPParams { + title: string; + description: string; + ipType: string; +} + +export interface LicenseIPParams { + licensorIpId: Address; + licenseTermsId: string; + amount: number; +} + +export interface AttachTermsParams { + ipId: Address; + mintingFee: number; + commercialUse: boolean; + commercialRevShare: number; +} + +// Plugin configuration +export interface EvmPluginConfig { + rpcUrl?: { + ethereum?: string; + base?: string; + }; + secrets?: { + EVM_PRIVATE_KEY: string; + }; + testMode?: boolean; + multicall?: { + batchSize?: number; + wait?: number; + }; +} + +// Provider types +export interface TokenData extends Token { + symbol: string; + decimals: number; + address: Address; + name: string; + logoURI?: string; + chainId: number; +} + +export interface TokenPriceResponse { + priceUSD: string; + token: TokenData; +} + +export interface TokenListResponse { + tokens: TokenData[]; +} + +export interface ProviderError extends Error { + code?: number; + data?: unknown; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/tsconfig.json new file mode 100644 index 000000000..2d8d3fe81 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "./src", + "typeRoots": [ + "./node_modules/@types", + "./src/types" + ], + "declaration": true + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/tsup.config.ts new file mode 100644 index 000000000..a68ccd636 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/tsup.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + "viem", + "@lifi/sdk", + ], +}); From f0de6950f63ab1fd139b1340ac1a7b6545b8b2e8 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:44:30 -0800 Subject: [PATCH 075/312] Add plugin-story to react-agents plugins list --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 51c73760d..0eea1b218 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -12,6 +12,7 @@ "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", "@elizaos/plugin-image-generation": "file:./packages/react-agents/components/plugins/plugin-image-generation", "@elizaos/plugin-solana": "file:./packages/react-agents/components/plugins/plugin-solana", + "@elizaos/plugin-story": "file:./packages/react-agents/components/plugins/plugin-story", "@elizaos/plugin-sui": "file:./packages/react-agents/components/plugins/plugin-sui", "@elizaos/plugin-tee": "file:./packages/react-agents/components/plugins/plugin-tee", "@elizaos/plugin-trustdb": "file:./packages/react-agents/components/plugins/plugin-trustdb", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index eebb0f31e..48850e68a 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -8,11 +8,12 @@ import { solanaPlugin } from '@elizaos/plugin-solana'; import { teePlugin } from '@elizaos/plugin-tee'; import { TrustScoreDatabase } from '@elizaos/plugin-trustdb'; import { twitterPlugin } from '@elizaos/plugin-twitter'; -import createGoatPlugin from '@elizaos/plugin-goat'; import { plugins as coinbasePlugins } from '@elizaos/plugin-coinbase'; import suiPlugin from '@elizaos/plugin-sui'; import flowPlugin from '@elizaos/plugin-flow'; +import storyPlugin from '@elizaos/plugin-story'; import { webSearchPlugin } from '@elizaos/plugin-web-search'; +import createGoatPlugin from '@elizaos/plugin-goat'; function generateZodSchema(obj: any): z.ZodTypeAny { if (typeof obj === "string") return z.string(); @@ -209,6 +210,7 @@ export const plugins = { '@elizaos/plugin-coinbase': pluginWrapObject(coinbasePlugins), '@elizaos/plugin-sui': pluginWrap(suiPlugin), '@elizaos/plugin-flow': pluginWrap(flowPlugin), + '@elizaos/plugin-story': pluginWrap(storyPlugin), '@elizaos/plugin-web-search': pluginWrap(webSearchPlugin), '@elizaos/plugin-trustdb': adapterWrap(TrustScoreDatabase), // '@elizaos/plugin-goat': pluginWrap(goatPlugin), From db13425a5e5b3fe0e1a72195281b45e1504883fe Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:44:38 -0800 Subject: [PATCH 076/312] Hack story plugin --- .../components/plugins/plugin-story/package.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/package.json index a553f9239..2d2c8f38b 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story/package.json @@ -1,12 +1,9 @@ { "name": "@elizaos/plugin-story", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", "@story-protocol/core-sdk": "1.2.0-rc.3", "tsup": "8.3.5", "viem": "2.21.54", From 76374ce641e0b0ea1d68589ff0cae12cbeb16416 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:44:44 -0800 Subject: [PATCH 077/312] Update lock --- pnpm-lock.yaml | 306 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 306 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 421e1621d..72e5b4dc7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -960,6 +960,9 @@ importers: '@elizaos/plugin-solana': specifier: file:./packages/react-agents/components/plugins/plugin-solana version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-story': + specifier: file:./packages/react-agents/components/plugins/plugin-story + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-sui': specifier: file:./packages/react-agents/components/plugins/plugin-sui version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) @@ -2386,6 +2389,11 @@ packages: form-data: 4.0.1 whatwg-url: 7.1.0 + '@elizaos/plugin-story@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-sui@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui, type: directory} peerDependencies: @@ -4526,6 +4534,10 @@ packages: resolution: {integrity: sha512-/JNlCDvgQmqAs+3N9qbRjqQdm4UCd1iYmkjH7cE7ejwWcoF4b4bSikiQdMK+fQ3be8T7FJupjWw52ysHWsnwmQ==} engines: {node: '>=18.0.0'} + '@pinata/sdk@2.1.0': + resolution: {integrity: sha512-hkS0tcKtsjf9xhsEBs2Nbey5s+Db7x5rlOH9TaWHBXkJ7IwwOs2xnEDigNaxAHKjYAwcw+m2hzpO5QgOfeF7Zw==} + deprecated: Please install the new IPFS SDK at pinata-web3. More information at https://docs.pinata.cloud/web3/sdk + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -5698,6 +5710,9 @@ packages: '@scure/bip32@1.5.0': resolution: {integrity: sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw==} + '@scure/bip32@1.6.0': + resolution: {integrity: sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==} + '@scure/bip39@1.4.0': resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} @@ -5947,6 +5962,9 @@ packages: peerDependencies: react: '>= 16.3.0' + '@story-protocol/core-sdk@1.2.0-rc.3': + resolution: {integrity: sha512-mZMQgYvMfr5ysvql3DWADwS4RqxtjZnLT7IGvP/haoZgNds8++6uUNGRBzItYGj/ejZQtYSVTyMUoE+a78zArQ==} + '@storybook/addon-actions@7.6.20': resolution: {integrity: sha512-c/GkEQ2U9BC/Ew/IMdh+zvsh4N6y6n7Zsn2GIhJgcu9YEAa5aF2a9/pNgEGBMOABH959XE8DAOMERw/5qiLR8g==} @@ -7257,6 +7275,17 @@ packages: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + abitype@0.10.3: + resolution: {integrity: sha512-tRN+7XIa7J9xugdbRzFv/95ka5ivR/sRe01eiWvM0HWWjHuigSZEACgKa0sj4wGuekTDtghCx+5Izk/cOi78pQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + abitype@1.0.6: resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} peerDependencies: @@ -7268,6 +7297,17 @@ packages: zod: optional: true + abitype@1.0.7: + resolution: {integrity: sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -7723,6 +7763,9 @@ packages: peerDependencies: axios: 0.x || 1.x + axios@0.21.4: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + axios@1.7.8: resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} @@ -8203,6 +8246,16 @@ packages: ci-parallel-vars@1.0.1: resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} + cids@0.7.5: + resolution: {integrity: sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==} + engines: {node: '>=4.0.0', npm: '>=3.0.0'} + deprecated: This module has been superseded by the multiformats module + + cids@0.8.3: + resolution: {integrity: sha512-yoXTbV3llpm+EBGWKeL9xKtksPE/s6DPoDSY4fn8I8TEW1zehWXPSB0pwAXVDlLaOlrw+sNynj995uD9abmPhA==} + engines: {node: '>=4.0.0', npm: '>=3.0.0'} + deprecated: This module has been superseded by the multiformats module + cipher-base@1.0.6: resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} engines: {node: '>= 0.10'} @@ -8216,6 +8269,9 @@ packages: cjs-module-lexer@1.4.1: resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + class-is@1.1.0: + resolution: {integrity: sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==} + class-variance-authority@0.7.0: resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==} @@ -10139,6 +10195,10 @@ packages: form-data-encoder@1.7.2: resolution: {integrity: sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==} + form-data@2.5.2: + resolution: {integrity: sha512-GgwY0PS7DbXqajuGf4OYlsrIu3zgxD6Vvql43IBhm6MahqA5SK/7mwhtNj2AdH2z35YR34ujJ7BN+3fFC3jP5Q==} + engines: {node: '>= 0.12'} + form-data@4.0.1: resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} engines: {node: '>= 6'} @@ -10831,6 +10891,9 @@ packages: inherits@2.0.1: resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -10865,6 +10928,10 @@ packages: invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + ip-regex@4.3.0: + resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} + engines: {node: '>=8'} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -11049,6 +11116,13 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} + is-ip@3.1.0: + resolution: {integrity: sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==} + engines: {node: '>=8'} + + is-ipfs@0.6.3: + resolution: {integrity: sha512-HyRot1dvLcxImtDqPxAaY1miO6WsiP/z7Yxpg2qpaLWv5UdhAPtLvHJ4kMLM0w8GSl8AFsVF23PHe1LzuWrUlQ==} + is-js-type@2.0.0: resolution: {integrity: sha512-Aj13l47+uyTjlQNHtXBV8Cji3jb037vxwMWCgopRR8h6xocgBGW3qG8qGlIOEmbXQtkKShKuBM9e8AA1OeQ+xw==} @@ -11974,6 +12048,9 @@ packages: '@types/three': '>=0.134.0' three: '>=0.134.0' + mafmt@7.1.0: + resolution: {integrity: sha512-vpeo9S+hepT3k2h5iFxzEHvvR0GPBx9uKaErmnRzYNcaKb03DgOArjEMlgG4a9LcuZZ89a3I8xbeto487n26eA==} + magic-bytes.js@1.10.0: resolution: {integrity: sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==} @@ -12580,9 +12657,37 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + multiaddr@7.5.0: + resolution: {integrity: sha512-GvhHsIGDULh06jyb6ev+VfREH9evJCFIRnh3jUt9iEZ6XDbyoisZRFEI9bMvK/AiR6y66y6P+eoBw9mBYMhMvw==} + deprecated: This module is deprecated, please upgrade to @multiformats/multiaddr + + multibase@0.6.1: + resolution: {integrity: sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==} + deprecated: This module has been superseded by the multiformats module + + multibase@0.7.0: + resolution: {integrity: sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==} + deprecated: This module has been superseded by the multiformats module + + multibase@1.0.1: + resolution: {integrity: sha512-KcCxpBVY8fdVKu4dJMAahq4F/2Z/9xqEjIiR7PiMe7LRGeorFn2NLmicN6nLBCqQvft6MG2Lc9X5P0IdyvnxEw==} + engines: {node: '>=10.0.0', npm: '>=6.0.0'} + deprecated: This module has been superseded by the multiformats module + + multicodec@1.0.4: + resolution: {integrity: sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==} + deprecated: This module has been superseded by the multiformats module + multiformats@9.9.0: resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} + multihashes@0.4.21: + resolution: {integrity: sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==} + + multihashes@1.0.1: + resolution: {integrity: sha512-S27Tepg4i8atNiFaU5ZOm3+gl3KQlUanLs/jWcBxQHFttgq+5x1OgbQmf2d8axJ/48zYGBd/wT9d723USMFduw==} + engines: {node: '>=10.0.0', npm: '>=6.0.0'} + multiplayer@file:packages/usdk/packages/upstreet-agent/packages/react-agents-client/packages/multiplayer: resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents-client/packages/multiplayer, type: directory} @@ -13213,6 +13318,9 @@ packages: path-util@file:packages/usdk/packages/upstreet-agent/packages/path-util: resolution: {directory: packages/usdk/packages/upstreet-agent/packages/path-util, type: directory} + path@0.12.7: + resolution: {integrity: sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==} + pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -16003,6 +16111,9 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util@0.10.4: + resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} @@ -16074,6 +16185,9 @@ packages: react: optional: true + varint@5.0.2: + resolution: {integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -16103,6 +16217,14 @@ packages: typescript: optional: true + viem@2.21.54: + resolution: {integrity: sha512-G9mmtbua3UtnVY9BqAtWdNp+3AO+oWhD0B9KaEsZb6gcrOWgmA4rz02yqEMg+qW9m6KgKGie7q3zcHqJIw6AqA==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + vite-node@2.1.4: resolution: {integrity: sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==} engines: {node: ^18.0.0 || >=20.0.0} @@ -18415,6 +18537,27 @@ snapshots: - utf-8-validate - yaml + '@elizaos/plugin-story@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1)': + dependencies: + '@pinata/sdk': 2.1.0 + '@story-protocol/core-sdk': 1.2.0-rc.3(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + viem: 2.21.54(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - debug + - jiti + - postcss + - supports-color + - tsx + - typescript + - utf-8-validate + - yaml + - zod + '@elizaos/plugin-sui@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': dependencies: '@mysten/sui': 1.18.0(typescript@5.7.2) @@ -21107,6 +21250,15 @@ snapshots: - utf-8-validate - zod + '@pinata/sdk@2.1.0': + dependencies: + axios: 0.21.4 + form-data: 2.5.2 + is-ipfs: 0.6.3 + path: 0.12.7 + transitivePeerDependencies: + - debug + '@pkgjs/parseargs@0.11.0': optional: true @@ -22769,6 +22921,12 @@ snapshots: '@noble/hashes': 1.5.0 '@scure/base': 1.1.9 + '@scure/bip32@1.6.0': + dependencies: + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/base': 1.2.1 + '@scure/bip39@1.4.0': dependencies: '@noble/hashes': 1.5.0 @@ -23168,6 +23326,21 @@ snapshots: dependencies: react: 18.2.0 + '@story-protocol/core-sdk@1.2.0-rc.3(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)': + dependencies: + abitype: 0.10.3(typescript@5.7.2)(zod@3.24.1) + axios: 1.7.9 + bs58: 6.0.0 + dotenv: 16.4.7 + multiformats: 9.9.0 + viem: 2.21.54(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + transitivePeerDependencies: + - bufferutil + - debug + - typescript + - utf-8-validate + - zod + '@storybook/addon-actions@7.6.20': dependencies: '@storybook/core-events': 7.6.20 @@ -25490,6 +25663,11 @@ snapshots: abbrev@2.0.0: {} + abitype@0.10.3(typescript@5.7.2)(zod@3.24.1): + optionalDependencies: + typescript: 5.7.2 + zod: 3.24.1 + abitype@1.0.6(typescript@5.7.2)(zod@3.23.8): optionalDependencies: typescript: 5.7.2 @@ -25500,6 +25678,11 @@ snapshots: typescript: 5.7.2 zod: 3.24.1 + abitype@1.0.7(typescript@5.7.2)(zod@3.24.1): + optionalDependencies: + typescript: 5.7.2 + zod: 3.24.1 + abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -26040,6 +26223,12 @@ snapshots: axios: 1.7.9 is-retry-allowed: 2.2.0 + axios@0.21.4: + dependencies: + follow-redirects: 1.15.9 + transitivePeerDependencies: + - debug + axios@1.7.8: dependencies: follow-redirects: 1.15.9 @@ -26576,6 +26765,22 @@ snapshots: ci-parallel-vars@1.0.1: {} + cids@0.7.5: + dependencies: + buffer: 5.7.1 + class-is: 1.1.0 + multibase: 0.6.1 + multicodec: 1.0.4 + multihashes: 0.4.21 + + cids@0.8.3: + dependencies: + buffer: 5.7.1 + class-is: 1.1.0 + multibase: 1.0.1 + multicodec: 1.0.4 + multihashes: 1.0.1 + cipher-base@1.0.6: dependencies: inherits: 2.0.4 @@ -26589,6 +26794,8 @@ snapshots: cjs-module-lexer@1.4.1: {} + class-is@1.1.0: {} + class-variance-authority@0.7.0: dependencies: clsx: 2.0.0 @@ -28973,6 +29180,13 @@ snapshots: form-data-encoder@1.7.2: {} + form-data@2.5.2: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + safe-buffer: 5.2.1 + form-data@4.0.1: dependencies: asynckit: 0.4.0 @@ -29889,6 +30103,8 @@ snapshots: inherits@2.0.1: {} + inherits@2.0.3: {} + inherits@2.0.4: {} ini@1.3.8: {} @@ -29915,6 +30131,8 @@ snapshots: dependencies: loose-envify: 1.4.0 + ip-regex@4.3.0: {} + ipaddr.js@1.9.1: {} iron-webcrypto@1.2.1: {} @@ -30063,6 +30281,19 @@ snapshots: is-interactive@2.0.0: {} + is-ip@3.1.0: + dependencies: + ip-regex: 4.3.0 + + is-ipfs@0.6.3: + dependencies: + bs58: 4.0.1 + cids: 0.7.5 + mafmt: 7.1.0 + multiaddr: 7.5.0 + multibase: 0.6.1 + multihashes: 0.4.21 + is-js-type@2.0.0: dependencies: js-types: 1.0.0 @@ -31474,6 +31705,10 @@ snapshots: '@types/three': 0.167.2 three: 0.167.1 + mafmt@7.1.0: + dependencies: + multiaddr: 7.5.0 + magic-bytes.js@1.10.0: {} magic-string@0.25.9: @@ -32512,8 +32747,49 @@ snapshots: ms@2.1.3: {} + multiaddr@7.5.0: + dependencies: + buffer: 5.7.1 + cids: 0.8.3 + class-is: 1.1.0 + is-ip: 3.1.0 + multibase: 0.7.0 + varint: 5.0.2 + + multibase@0.6.1: + dependencies: + base-x: 3.0.10 + buffer: 5.7.1 + + multibase@0.7.0: + dependencies: + base-x: 3.0.10 + buffer: 5.7.1 + + multibase@1.0.1: + dependencies: + base-x: 3.0.10 + buffer: 5.7.1 + + multicodec@1.0.4: + dependencies: + buffer: 5.7.1 + varint: 5.0.2 + multiformats@9.9.0: {} + multihashes@0.4.21: + dependencies: + buffer: 5.7.1 + multibase: 0.7.0 + varint: 5.0.2 + + multihashes@1.0.1: + dependencies: + buffer: 5.7.1 + multibase: 1.0.1 + varint: 5.0.2 + multiplayer@file:packages/usdk/packages/upstreet-agent/packages/react-agents-client/packages/multiplayer: dependencies: '@cloudflare/kv-asset-handler': 0.3.4 @@ -33181,6 +33457,11 @@ snapshots: path-util@file:packages/usdk/packages/upstreet-agent/packages/path-util: {} + path@0.12.7: + dependencies: + process: 0.11.10 + util: 0.10.4 + pathe@1.1.2: {} pathval@2.0.0: {} @@ -36382,6 +36663,7 @@ snapshots: '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-image-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) + '@elizaos/plugin-story': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-sui': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(form-data@4.0.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-tee': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-trustdb': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) @@ -36638,6 +36920,10 @@ snapshots: util-deprecate@1.0.2: {} + util@0.10.4: + dependencies: + inherits: 2.0.3 + util@0.12.5: dependencies: inherits: 2.0.4 @@ -36706,6 +36992,8 @@ snapshots: optionalDependencies: react: 19.0.0-rc-df5f2736-20240712 + varint@5.0.2: {} + vary@1.1.2: {} vercel@34.4.0(@swc/core@1.10.1(@swc/helpers@0.5.13)): @@ -36786,6 +37074,24 @@ snapshots: - utf-8-validate - zod + viem@2.21.54(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.7.2)(zod@3.24.1) + isows: 1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + ox: 0.1.2(typescript@5.7.2)(zod@3.24.1) + webauthn-p256: 0.0.10 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + vite-node@2.1.4(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0): dependencies: cac: 6.7.14 From 2a97963d1d44c8fe3961cfeb9f8df073334732a6 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:44:58 -0800 Subject: [PATCH 078/312] Add nft generation plugin --- .../plugins/plugin-nft-generation/.npmignore | 6 + .../plugins/plugin-nft-generation/Readme.md | 185 +++++++++++++ .../plugin-nft-generation/eslint.config.mjs | 3 + .../plugin-nft-generation/package.json | 30 +++ .../plugins/plugin-nft-generation/src/api.ts | 164 ++++++++++++ .../src/handlers/createCollection.ts | 118 +++++++++ .../src/handlers/createNFT.ts | 182 +++++++++++++ .../src/handlers/verifyNFT.ts | 27 ++ .../plugin-nft-generation/src/index.ts | 201 ++++++++++++++ .../src/provider/wallet/walletSolana.ts | 250 ++++++++++++++++++ .../plugin-nft-generation/tsconfig.json | 13 + .../plugin-nft-generation/tsup.config.ts | 21 ++ 12 files changed, 1200 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/Readme.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/api.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/createCollection.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/createNFT.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/verifyNFT.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/provider/wallet/walletSolana.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/Readme.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/Readme.md new file mode 100644 index 000000000..294471394 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/Readme.md @@ -0,0 +1,185 @@ +### NFT Collection Generation Plugin + +A plugin for handling NFT collection generation, NFT creation, and verification on the Solana blockchain. + +## Handlers + +### createCollection +The createCollection handler generates an NFT collection logo, uploads it to AWS S3, and creates a Solana blockchain collection. + +#### Usage +```typescript +import { createCollection } from "./handlers/createCollection.ts"; + +const result = await createCollection({ + runtime: runtimeInstance, // An instance of IAgentRuntime + collectionName: "MyCollection", // The name of the collection + fee: 0.01, // (Optional) Fee for transactions +}); + +console.log("Collection created:", result); +``` + +#### Features + +Image Generation: Automatically generates a collection logo based on the provided name and theme. +AWS S3 Integration: Uploads the generated logo and metadata to AWS S3. +Solana Blockchain: Creates a collection with the generated logo and metadata on the Solana blockchain. +### createNFT +The createNFT handler generates individual NFTs for a collection. It includes metadata creation and uploads the NFT information to AWS S3. + +#### Usage + +```typescript +import { createNFT } from "./handlers/createNFT.ts"; + +const nftResult = await createNFT({ + runtime: runtimeInstance, + collectionName: "MyCollection", + collectionAddress: "collectionAddress123", + collectionAdminPublicKey: "adminPublicKey123", + collectionFee: 0.01, + tokenId: 1, +}); + +console.log("NFT created:", nftResult); +``` + +### verifyNFT + +The verifyNFT handler verifies an NFT against its collection using the Solana blockchain. + +#### Usage + +```typescript +import { verifyNFT } from "./handlers/verifyNFT.ts"; + +const verificationResult = await verifyNFT({ + runtime: runtimeInstance, + collectionAddress: "collectionAddress123", + NFTAddress: "NFTAddress123", +}); + +console.log("NFT verified:", verificationResult); +```` +--- + +### Example Workflow + +The plugin provides a streamlined process for generating and verifying NFT collections: + +```typescript +import { createCollection, createNFT, verifyNFT } from "./handlers"; + +const runtime = initializeRuntime(); // Replace with actual IAgentRuntime initialization + +(async () => { + // Step 1: Create Collection + const collectionResult = await createCollection({ + runtime, + collectionName: "MyUniqueCollection", + }); + + console.log("Collection created:", collectionResult); + + // Step 2: Create an NFT in the Collection + const nftResult = await createNFT({ + runtime, + collectionName: "MyUniqueCollection", + collectionAddress: collectionResult.address, + collectionAdminPublicKey: collectionResult.collectionInfo.adminPublicKey, + collectionFee: 0.01, + tokenId: 1, + }); + + console.log("NFT created:", nftResult); + + // Step 3: Verify the NFT + const verificationResult = await verifyNFT({ + runtime, + collectionAddress: collectionResult.address, + NFTAddress: nftResult.address, + }); + + console.log("NFT verified:", verificationResult); +})(); +``` + +### Configuration + +#### Environment Variables +``` +Ensure the following environment variables are set for proper functionality: + +Variable Name Description +AWS_ACCESS_KEY_ID AWS access key for S3 uploads +AWS_SECRET_ACCESS_KEY AWS secret key for S3 uploads +AWS_REGION AWS region where S3 is located +AWS_S3_BUCKET Name of the AWS S3 bucket +SOLANA_PUBLIC_KEY Public key for Solana blockchain +SOLANA_PRIVATE_KEY Private key for Solana blockchain +SOLANA_ADMIN_PUBLIC_KEY Admin public key for Solana operations +SOLANA_ADMIN_PRIVATE_KEY Admin private key for Solana operations +``` +#### Example Prompts + +Here are some examples of user prompts to trigger NFT collection generation: + +"Generate a collection named MyCollection." +"Create a new NFT collection." +"Compile an NFT collection for me." +"Build a sci-fi themed collection." + + +#### Local Testing with TEE Simulator + +To test locally using a Trusted Execution Environment (TEE) simulator, follow these steps: + +Pull the simulator Docker image: +``` bash +docker pull phalanetwork/tappd-simulator:latest +``` +Run the simulator: + +``` bash +docker run --rm -p 8090:8090 phalanetwork/tappd-simulator:latest +``` +Update your environment variable for the simulator: + +```env +DSTACK_SIMULATOR_ENDPOINT="http://localhost:8090" +``` + +#### Dependencies + +This plugin relies on the following services and libraries: + +[@elizaos/plugin-node] +[@elizaos/eliza] +[@elizaos/plugin-image-generation] +[@solana/web3.js] + +### Action Configuration + +#### GENERATE_COLLECTION +The action for generating NFT collections is configured with the following parameters: + +```typescript +const nftCollectionGeneration: Action = { + name: "GENERATE_COLLECTION", + description: "Generate an NFT collection for the message", + handler: async (runtime, message, state, options, callback) => { + // Implementation + }, + examples: [ + { + user: "{{user1}}", + content: { text: "Generate a collection named Galaxy." }, + }, + { + agent: "{{agentName}}", + content: { text: "The collection Galaxy has been successfully created." }, + }, + ], +}; +``` diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/package.json new file mode 100644 index 000000000..80e55d060 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/package.json @@ -0,0 +1,30 @@ +{ + "name": "@elizaos/plugin-nft-generation", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-image-generation": "workspace:*", + "@elizaos/plugin-node": "workspace:*", + "@metaplex-foundation/mpl-token-metadata": "^3.3.0", + "@metaplex-foundation/mpl-toolbox": "^0.9.4", + "@metaplex-foundation/umi": "^0.9.2", + "@metaplex-foundation/umi-bundle-defaults": "^0.9.2", + "@solana-developers/helpers": "^2.5.6", + "@solana/web3.js": "1.95.5", + "bs58": "6.0.0", + "express": "4.21.1", + "node-cache": "5.1.2", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint . --fix" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/api.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/api.ts new file mode 100644 index 000000000..1501a5a37 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/api.ts @@ -0,0 +1,164 @@ +import express from "express"; + +import { AgentRuntime } from "@elizaos/core"; +import { createCollection } from "./handlers/createCollection.ts"; +import { createNFT, createNFTMetadata } from "./handlers/createNFT.ts"; +import { verifyNFT } from "./handlers/verifyNFT.ts"; + +export function createNFTApiRouter( + agents: Map +): express.Router { + const router = express.Router(); + + router.post( + "/api/nft-generation/create-collection", + async (req: express.Request, res: express.Response) => { + const agentId = req.body.agentId; + const fee = req.body.fee || 0; + const runtime = agents.get(agentId); + if (!runtime) { + res.status(404).send("Agent not found"); + return; + } + try { + const collectionAddressRes = await createCollection({ + runtime, + collectionName: runtime.character.name, + fee, + }); + + res.json({ + success: true, + data: collectionAddressRes, + }); + } catch (e: any) { + console.log(e); + res.json({ + success: false, + data: JSON.stringify(e), + }); + } + } + ); + + router.post( + "/api/nft-generation/create-nft-metadata", + async (req: express.Request, res: express.Response) => { + const agentId = req.body.agentId; + const collectionName = req.body.collectionName; + const collectionAddress = req.body.collectionAddress; + const collectionAdminPublicKey = req.body.collectionAdminPublicKey; + const collectionFee = req.body.collectionFee; + const tokenId = req.body.tokenId; + const runtime = agents.get(agentId); + if (!runtime) { + res.status(404).send("Agent not found"); + return; + } + + try { + const nftInfo = await createNFTMetadata({ + runtime, + collectionName, + collectionAdminPublicKey, + collectionFee, + tokenId, + }); + + res.json({ + success: true, + data: { + ...nftInfo, + collectionAddress, + }, + }); + } catch (e: any) { + console.log(e); + res.json({ + success: false, + data: JSON.stringify(e), + }); + } + } + ); + + router.post( + "/api/nft-generation/create-nft", + async (req: express.Request, res: express.Response) => { + const agentId = req.body.agentId; + const collectionName = req.body.collectionName; + const collectionAddress = req.body.collectionAddress; + const collectionAdminPublicKey = req.body.collectionAdminPublicKey; + const collectionFee = req.body.collectionFee; + const tokenId = req.body.tokenId; + const runtime = agents.get(agentId); + if (!runtime) { + res.status(404).send("Agent not found"); + return; + } + + try { + const nftRes = await createNFT({ + runtime, + collectionName, + collectionAddress, + collectionAdminPublicKey, + collectionFee, + tokenId, + }); + + res.json({ + success: true, + data: nftRes, + }); + } catch (e: any) { + console.log(e); + res.json({ + success: false, + data: JSON.stringify(e), + }); + } + } + ); + + router.post( + "/api/nft-generation/verify-nft", + async (req: express.Request, res: express.Response) => { + const agentId = req.body.agentId; + const collectionAddress = req.body.collectionAddress; + const NFTAddress = req.body.nftAddress; + const token = req.body.token; + + const runtime = agents.get(agentId); + if (!runtime) { + res.status(404).send("Agent not found"); + return; + } + const verifyToken = runtime.getSetting("SOLANA_VERIFY_TOKEN"); + if (token !== verifyToken) { + res.status(401).send(" Access denied for translation"); + return; + } + try { + const { success } = await verifyNFT({ + runtime, + collectionAddress, + NFTAddress, + }); + + res.json({ + success: true, + data: success ? "verified" : "unverified", + }); + } catch (e: any) { + console.log(e); + res.json({ + success: false, + data: JSON.stringify(e), + }); + } + } + ); + + return router; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/createCollection.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/createCollection.ts new file mode 100644 index 000000000..77cdd3d20 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/createCollection.ts @@ -0,0 +1,118 @@ +import { AwsS3Service } from "@elizaos/plugin-node"; +import { + composeContext, + elizaLogger, + generateImage, + getEmbeddingZeroVector, + IAgentRuntime, + Memory, + ServiceType, + stringToUuid, +} from "@elizaos/core"; +import { + saveBase64Image, + saveHeuristImage, +} from "@elizaos/plugin-image-generation"; +import { PublicKey } from "@solana/web3.js"; +import WalletSolana from "../provider/wallet/walletSolana.ts"; + +const collectionImageTemplate = ` +Generate a logo with the text "{{collectionName}}", using orange as the main color, with a sci-fi and mysterious background theme +`; + +export async function createCollection({ + runtime, + collectionName, + fee, +}: { + runtime: IAgentRuntime; + collectionName: string; + fee?: number; +}) { + const userId = runtime.agentId; + elizaLogger.log("User ID:", userId); + const awsS3Service: AwsS3Service = runtime.getService(ServiceType.AWS_S3); + const agentName = runtime.character.name; + const roomId = stringToUuid("nft_generate_room-" + agentName); + // Create memory for the message + const memory: Memory = { + agentId: userId, + userId, + roomId, + content: { + text: "", + + source: "nft-generator", + }, + createdAt: Date.now(), + embedding: getEmbeddingZeroVector(), + }; + const state = await runtime.composeState(memory, { + collectionName, + }); + + const prompt = composeContext({ + state, + template: collectionImageTemplate, + }); + const images = await generateImage( + { + prompt, + width: 300, + height: 300, + }, + runtime + ); + if (images.success && images.data && images.data.length > 0) { + const image = images.data[0]; + const filename = `collection-image`; + if (image.startsWith("http")) { + elizaLogger.log("Generating image url:", image); + } + // Choose save function based on image data format + const filepath = image.startsWith("http") + ? await saveHeuristImage(image, filename) + : saveBase64Image(image, filename); + + const logoPath = await awsS3Service.uploadFile( + filepath, + `/${collectionName}`, + false + ); + const publicKey = runtime.getSetting("SOLANA_PUBLIC_KEY"); + const privateKey = runtime.getSetting("SOLANA_PRIVATE_KEY"); + const adminPublicKey = runtime.getSetting("SOLANA_ADMIN_PUBLIC_KEY"); + const collectionInfo = { + name: `${collectionName}`, + symbol: `${collectionName.toUpperCase()[0]}`, + adminPublicKey, + fee: fee || 0, + uri: "", + }; + const jsonFilePath = await awsS3Service.uploadJson( + { + name: collectionInfo.name, + description: `${collectionInfo.name}`, + image: logoPath.url, + }, + "metadata.json", + `${collectionName}` + ); + collectionInfo.uri = jsonFilePath.url; + + const wallet = new WalletSolana(new PublicKey(publicKey), privateKey); + + const collectionAddressRes = await wallet.createCollection({ + ...collectionInfo, + }); + + return { + network: "solana", + address: collectionAddressRes.address, + link: collectionAddressRes.link, + collectionInfo, + }; + } + + return; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/createNFT.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/createNFT.ts new file mode 100644 index 000000000..c839ecbf9 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/createNFT.ts @@ -0,0 +1,182 @@ +import { AwsS3Service } from "@elizaos/plugin-node"; +import { + composeContext, + elizaLogger, + generateImage, + generateText, + getEmbeddingZeroVector, + IAgentRuntime, + Memory, + ModelClass, + ServiceType, + stringToUuid, +} from "@elizaos/core"; +import { + saveBase64Image, + saveHeuristImage, +} from "@elizaos/plugin-image-generation"; +import { PublicKey } from "@solana/web3.js"; +import WalletSolana from "../provider/wallet/walletSolana.ts"; + +const nftTemplate = ` +# Areas of Expertise +{{knowledge}} + +# About {{agentName}} (@{{twitterUserName}}): +{{bio}} +{{lore}} +{{topics}} + +{{providers}} + +{{characterPostExamples}} + +{{postDirections}} +# Task: Generate an image to Prompt the {{agentName}}'s appearance, with the total character count MUST be less than 280. +`; + +export async function createNFTMetadata({ + runtime, + collectionName, + collectionAdminPublicKey, + collectionFee, + tokenId, +}: { + runtime: IAgentRuntime; + collectionName: string; + collectionAdminPublicKey: string; + collectionFee: number; + tokenId: number; +}) { + const userId = runtime.agentId; + elizaLogger.log("User ID:", userId); + const awsS3Service: AwsS3Service = runtime.getService(ServiceType.AWS_S3); + const agentName = runtime.character.name; + const roomId = stringToUuid("nft_generate_room-" + agentName); + // Create memory for the message + const memory: Memory = { + agentId: userId, + userId, + roomId, + content: { + text: "", + source: "nft-generator", + }, + createdAt: Date.now(), + embedding: getEmbeddingZeroVector(), + }; + const state = await runtime.composeState(memory, { + collectionName, + }); + + const context = composeContext({ + state, + template: nftTemplate, + }); + + let nftPrompt = await generateText({ + runtime, + context, + modelClass: ModelClass.MEDIUM, + }); + + nftPrompt += runtime.character?.nft?.prompt || ""; + nftPrompt += "The image should only feature one person."; + + const images = await generateImage( + { + prompt: nftPrompt, + width: 1024, + height: 1024, + }, + runtime + ); + elizaLogger.log("NFT Prompt:", nftPrompt); + if (images.success && images.data && images.data.length > 0) { + const image = images.data[0]; + const filename = `${tokenId}`; + if (image.startsWith("http")) { + elizaLogger.log("Generating image url:", image); + } + // Choose save function based on image data format + const filepath = image.startsWith("http") + ? await saveHeuristImage(image, filename) + : saveBase64Image(image, filename); + const nftImage = await awsS3Service.uploadFile( + filepath, + `/${collectionName}/items/${tokenId}`, + false + ); + const nftInfo = { + name: `${collectionName} #${tokenId}`, + description: `${collectionName} #${tokenId}`, + symbol: `#${tokenId}`, + adminPublicKey: collectionAdminPublicKey, + fee: collectionFee, + uri: "", + }; + const jsonFilePath = await awsS3Service.uploadJson( + { + name: nftInfo.name, + description: nftInfo.description, + image: nftImage.url, + }, + "metadata.json", + `/${collectionName}/items/${tokenId}` + ); + + nftInfo.uri = jsonFilePath.url; + return { + ...nftInfo, + imageUri: nftImage.url, + }; + } + return null; +} + +export async function createNFT({ + runtime, + collectionName, + collectionAddress, + collectionAdminPublicKey, + collectionFee, + tokenId, +}: { + runtime: IAgentRuntime; + collectionName: string; + collectionAddress: string; + collectionAdminPublicKey: string; + collectionFee: number; + tokenId: number; +}) { + const nftInfo = await createNFTMetadata({ + runtime, + collectionName, + collectionAdminPublicKey, + collectionFee, + tokenId, + }); + if (nftInfo) { + const publicKey = runtime.getSetting("SOLANA_PUBLIC_KEY"); + const privateKey = runtime.getSetting("SOLANA_PRIVATE_KEY"); + + const wallet = new WalletSolana(new PublicKey(publicKey), privateKey); + + const nftAddressRes = await wallet.mintNFT({ + name: nftInfo.name, + uri: nftInfo.uri, + symbol: nftInfo.symbol, + collectionAddress, + adminPublicKey: collectionAdminPublicKey, + fee: collectionFee, + }); + elizaLogger.log("NFT ID:", nftAddressRes.address); + return { + network: "solana", + address: nftAddressRes.address, + link: nftAddressRes.link, + nftInfo, + }; + } + return; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/verifyNFT.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/verifyNFT.ts new file mode 100644 index 000000000..8b7fae694 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/handlers/verifyNFT.ts @@ -0,0 +1,27 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { PublicKey } from "@solana/web3.js"; +import WalletSolana from "../provider/wallet/walletSolana.ts"; + +export async function verifyNFT({ + runtime, + collectionAddress, + NFTAddress, +}: { + runtime: IAgentRuntime; + collectionAddress: string; + NFTAddress: string; +}) { + const adminPublicKey = runtime.getSetting("SOLANA_ADMIN_PUBLIC_KEY"); + const adminPrivateKey = runtime.getSetting("SOLANA_ADMIN_PRIVATE_KEY"); + const adminWallet = new WalletSolana( + new PublicKey(adminPublicKey), + adminPrivateKey + ); + await adminWallet.verifyNft({ + collectionAddress, + nftAddress: NFTAddress, + }); + return { + success: true, + }; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/index.ts new file mode 100644 index 000000000..07a147ef0 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/index.ts @@ -0,0 +1,201 @@ +import { + Action, + elizaLogger, + HandlerCallback, + IAgentRuntime, + Memory, + Plugin, + State, +} from "@elizaos/core"; + +import { createCollection } from "./handlers/createCollection.ts"; +import { createNFT } from "./handlers/createNFT.ts"; +import { verifyNFT } from "./handlers/verifyNFT.ts"; + +export * from "./provider/wallet/walletSolana.ts"; +export * from "./api.ts"; + +export async function sleep(ms: number = 3000) { + return new Promise((resolve) => { + setTimeout(resolve, ms); + }); +} + +const nftCollectionGeneration: Action = { + name: "GENERATE_COLLECTION", + similes: [ + "COLLECTION_GENERATION", + "COLLECTION_GEN", + "CREATE_COLLECTION", + "MAKE_COLLECTION", + "GENERATE_COLLECTION", + ], + description: "Generate an NFT collection for the message", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + const AwsAccessKeyIdOk = !!runtime.getSetting("AWS_ACCESS_KEY_ID"); + const AwsSecretAccessKeyOk = !!runtime.getSetting( + "AWS_SECRET_ACCESS_KEY" + ); + const AwsRegionOk = !!runtime.getSetting("AWS_REGION"); + const AwsS3BucketOk = !!runtime.getSetting("AWS_S3_BUCKET"); + + return ( + AwsAccessKeyIdOk || + AwsSecretAccessKeyOk || + AwsRegionOk || + AwsS3BucketOk + ); + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: { [key: string]: unknown }, + callback: HandlerCallback + ) => { + try { + elizaLogger.log("Composing state for message:", message); + const userId = runtime.agentId; + elizaLogger.log("User ID:", userId); + + const collectionAddressRes = await createCollection({ + runtime, + collectionName: runtime.character.name, + }); + + const collectionInfo = collectionAddressRes.collectionInfo; + + elizaLogger.log("Collection Address:", collectionAddressRes); + + const nftRes = await createNFT({ + runtime, + collectionName: collectionInfo.name, + collectionAddress: collectionAddressRes.address, + collectionAdminPublicKey: collectionInfo.adminPublicKey, + collectionFee: collectionInfo.fee, + tokenId: 1, + }); + + elizaLogger.log("NFT Address:", nftRes); + + callback({ + text: `Congratulations to you! 🎉🎉🎉 \nCollection : ${collectionAddressRes.link}\n NFT: ${nftRes.link}`, //caption.description, + attachments: [], + }); + await sleep(15000); + await verifyNFT({ + runtime, + collectionAddress: collectionAddressRes.address, + NFTAddress: nftRes.address, + }); + return []; + } catch (e: any) { + console.log(e); + } + + // callback(); + }, + examples: [ + // TODO: We want to generate images in more abstract ways, not just when asked to generate an image + + [ + { + user: "{{user1}}", + content: { text: "Generate a collection" }, + }, + { + user: "{{agentName}}", + content: { + text: "Here's the collection you requested.", + action: "GENERATE_COLLECTION", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Generate a collection using {{agentName}}" }, + }, + { + user: "{{agentName}}", + content: { + text: "We've successfully created a collection.", + action: "GENERATE_COLLECTION", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Create a collection using {{agentName}}" }, + }, + { + user: "{{agentName}}", + content: { + text: "Here's the collection you requested.", + action: "GENERATE_COLLECTION", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Build a Collection" }, + }, + { + user: "{{agentName}}", + content: { + text: "The collection has been successfully built.", + action: "GENERATE_COLLECTION", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Assemble a collection with {{agentName}}" }, + }, + { + user: "{{agentName}}", + content: { + text: "The collection has been assembled", + action: "GENERATE_COLLECTION", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Make a collection" }, + }, + { + user: "{{agentName}}", + content: { + text: "The collection has been produced successfully.", + action: "GENERATE_COLLECTION", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Compile a collection" }, + }, + { + user: "{{agentName}}", + content: { + text: "The collection has been compiled.", + action: "GENERATE_COLLECTION", + }, + }, + ], + ], +} as Action; + +export const nftGenerationPlugin: Plugin = { + name: "nftCollectionGeneration", + description: "Generate NFT Collections", + actions: [nftCollectionGeneration], + evaluators: [], + providers: [], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/provider/wallet/walletSolana.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/provider/wallet/walletSolana.ts new file mode 100644 index 000000000..2bfeb85ca --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/src/provider/wallet/walletSolana.ts @@ -0,0 +1,250 @@ +import NodeCache from "node-cache"; +import { + Cluster, + clusterApiUrl, + Connection, + LAMPORTS_PER_SOL, + PublicKey, +} from "@solana/web3.js"; +import { + createNft, + findMetadataPda, + mplTokenMetadata, + updateV1, + verifyCollectionV1, +} from "@metaplex-foundation/mpl-token-metadata"; +import { createUmi } from "@metaplex-foundation/umi-bundle-defaults"; +import { + generateSigner, + keypairIdentity, + percentAmount, + publicKey, + // sol, + TransactionBuilder, + Umi, +} from "@metaplex-foundation/umi"; +import { getExplorerLink } from "@solana-developers/helpers"; +// import { transferSol } from "@metaplex-foundation/mpl-toolbox"; +import bs58 from "bs58"; +import { elizaLogger } from "@elizaos/core"; + +export class WalletSolana { + private cache: NodeCache; + private umi: Umi; + private cluster: Cluster; + + constructor( + private walletPublicKey: PublicKey, + private walletPrivateKeyKey: string, + private connection?: Connection + ) { + this.cache = new NodeCache({ stdTTL: 300 }); // Cache TTL set to 5 minutes + + if (!connection) { + this.cluster = (process.env.SOLANA_CLUSTER as Cluster) || "devnet"; + this.connection = new Connection(clusterApiUrl(this.cluster), { + commitment: "finalized", + }); + } + const umi = createUmi(this.connection.rpcEndpoint); + umi.use(mplTokenMetadata()); + const umiUser = umi.eddsa.createKeypairFromSecretKey( + this.privateKeyUint8Array + ); + umi.use(keypairIdentity(umiUser)); + this.umi = umi; + } + + async getBalance() { + const balance = await this.connection.getBalance(this.walletPublicKey); + return { + value: balance, + formater: `${balance / LAMPORTS_PER_SOL} SOL`, + }; + } + + get privateKeyUint8Array() { + return bs58.decode(this.walletPrivateKeyKey); + } + + async createCollection({ + name, + symbol, + adminPublicKey, + uri, + fee, + }: { + name: string; + symbol: string; + adminPublicKey: string; + uri: string; + fee: number; + }): Promise<{ + success: boolean; + link: string; + address: string; + error?: string | null; + }> { + try { + const collectionMint = generateSigner(this.umi); + let transaction = new TransactionBuilder(); + const info = { + name, + symbol, + uri, + }; + transaction = transaction.add( + createNft(this.umi, { + ...info, + mint: collectionMint, + sellerFeeBasisPoints: percentAmount(fee), + isCollection: true, + }) + ); + + transaction = transaction.add( + updateV1(this.umi, { + mint: collectionMint.publicKey, + newUpdateAuthority: publicKey(adminPublicKey), // updateAuthority's public key + }) + ); + + await transaction.sendAndConfirm(this.umi, { + confirm: {}, + }); + + const address = collectionMint.publicKey; + return { + success: true, + link: getExplorerLink("address", address, this.cluster), + address, + error: null, + }; + } catch (e) { + return { + success: false, + link: "", + address: "", + error: e.message, + }; + } + } + + async mintNFT({ + collectionAddress, + adminPublicKey, + name, + symbol, + uri, + fee, + }: { + collectionAddress: string; + adminPublicKey: string; + name: string; + symbol: string; + uri: string; + fee: number; + }): Promise<{ + success: boolean; + link: string; + address: string; + error?: string | null; + }> { + try { + const umi = this.umi; + const mint = generateSigner(umi); + + let transaction = new TransactionBuilder(); + elizaLogger.log("collection address", collectionAddress); + const collectionAddressKey = publicKey(collectionAddress); + + const info = { + name, + uri, + symbol, + }; + transaction = transaction.add( + createNft(umi, { + mint, + ...info, + sellerFeeBasisPoints: percentAmount(fee), + collection: { + key: collectionAddressKey, + verified: false, + }, + }) + ); + + transaction = transaction.add( + updateV1(umi, { + mint: mint.publicKey, + newUpdateAuthority: publicKey(adminPublicKey), // updateAuthority's public key + }) + ); + + await transaction.sendAndConfirm(umi); + + const address = mint.publicKey; + return { + success: true, + link: getExplorerLink("address", address, this.cluster), + address, + error: null, + }; + } catch (e) { + return { + success: false, + link: "", + address: "", + error: e.message, + }; + } + } + + async verifyNft({ + collectionAddress, + nftAddress, + }: { + collectionAddress: string; + nftAddress: string; + }): Promise<{ + isVerified: boolean; + error: string | null; + }> { + try { + const umi = this.umi; + const collectionAddressKey = publicKey(collectionAddress); + const nftAddressKey = publicKey(nftAddress); + + let transaction = new TransactionBuilder(); + transaction = transaction.add( + verifyCollectionV1(umi, { + metadata: findMetadataPda(umi, { mint: nftAddressKey }), + collectionMint: collectionAddressKey, + authority: umi.identity, + }) + ); + + await transaction.sendAndConfirm(umi); + + elizaLogger.log( + `✅ NFT ${nftAddress} verified as member of collection ${collectionAddress}! See Explorer at ${getExplorerLink( + "address", + nftAddress, + this.cluster + )}` + ); + return { + isVerified: true, + error: null, + }; + } catch (e) { + return { + isVerified: false, + error: e.message, + }; + } + } +} + +export default WalletSolana; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/tsconfig.json new file mode 100644 index 000000000..834c4dce2 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "types": [ + "node" + ] + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/tsup.config.ts new file mode 100644 index 000000000..1a96f24af --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/tsup.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + "safe-buffer", + // Add other modules you want to externalize + ], +}); From 2849e1e2e62b5e38cab7875d6b8cd0db4b6c5043 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:45:38 -0800 Subject: [PATCH 079/312] Remove.npmignore --- .../components/plugins/plugin-nft-generation/.npmignore | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file From aa0de271065deae79b7ee0fca01f51be45b9d653 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:45:53 -0800 Subject: [PATCH 080/312] Hack nft generation plugin --- .../components/plugins/plugin-nft-generation/package.json | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/package.json index 80e55d060..ba8309e07 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation/package.json @@ -1,13 +1,9 @@ { "name": "@elizaos/plugin-nft-generation", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-image-generation": "workspace:*", - "@elizaos/plugin-node": "workspace:*", "@metaplex-foundation/mpl-token-metadata": "^3.3.0", "@metaplex-foundation/mpl-toolbox": "^0.9.4", "@metaplex-foundation/umi": "^0.9.2", From b5cb56af77be4a7dc6eae441e149faa1cb8029fd Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:47:59 -0800 Subject: [PATCH 081/312] Add plugin for NFT generation in Upstreet Agent --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 0eea1b218..2e51c1177 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -11,6 +11,7 @@ "@elizaos/plugin-flow": "file:./packages/react-agents/components/plugins/plugin-flow", "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", "@elizaos/plugin-image-generation": "file:./packages/react-agents/components/plugins/plugin-image-generation", + "@elizaos/plugin-nft-generation": "file:./packages/react-agents/components/plugins/plugin-nft-generation", "@elizaos/plugin-solana": "file:./packages/react-agents/components/plugins/plugin-solana", "@elizaos/plugin-story": "file:./packages/react-agents/components/plugins/plugin-story", "@elizaos/plugin-sui": "file:./packages/react-agents/components/plugins/plugin-sui", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 48850e68a..741fefb3d 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -4,6 +4,7 @@ import { z } from 'zod'; import util from 'util'; import { ThreeDGenerationPlugin } from '@elizaos/plugin-3d-generation'; import { imageGenerationPlugin } from '@elizaos/plugin-image-generation'; +import { nftGenerationPlugin } from '@elizaos/plugin-nft-generation'; import { solanaPlugin } from '@elizaos/plugin-solana'; import { teePlugin } from '@elizaos/plugin-tee'; import { TrustScoreDatabase } from '@elizaos/plugin-trustdb'; @@ -204,6 +205,7 @@ const adapterWrap = (adapter: IAdapter) => (props: any) => { export const plugins = { '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), '@elizaos/plugin-image-generation': pluginWrap(imageGenerationPlugin), + '@elizaos/plugin-nft-generation': pluginWrap(nftGenerationPlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), '@elizaos/plugin-tee': pluginWrap(teePlugin), '@elizaos/plugin-twitter': pluginWrap(twitterPlugin), From 515bef31070afdbfef010bd0e1f40558ef78dae6 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:48:12 -0800 Subject: [PATCH 082/312] Update lock --- pnpm-lock.yaml | 296 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 291 insertions(+), 5 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 72e5b4dc7..f94f01516 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -957,6 +957,9 @@ importers: '@elizaos/plugin-image-generation': specifier: file:./packages/react-agents/components/plugins/plugin-image-generation version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-nft-generation': + specifier: file:./packages/react-agents/components/plugins/plugin-nft-generation + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-solana': specifier: file:./packages/react-agents/components/plugins/plugin-solana version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) @@ -2383,6 +2386,11 @@ packages: peerDependencies: whatwg-url: 7.1.0 + '@elizaos/plugin-nft-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-solana@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana, type: directory} peerDependencies: @@ -3926,6 +3934,92 @@ packages: '@mediapipe/tasks-vision@0.10.17': resolution: {integrity: sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==} + '@metaplex-foundation/mpl-token-metadata@3.3.0': + resolution: {integrity: sha512-t5vO8Wr3ZZZPGrVrGNcosX5FMkwQSgBiVMQMRNDG2De7voYFJmIibD5jdG05EoQ4Y5kZVEiwhYaO+wJB3aO5AA==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/mpl-toolbox@0.9.4': + resolution: {integrity: sha512-fd6JxfoLbj/MM8FG2x91KYVy1U6AjBQw4qjt7+Da3trzQaWnSaYHDcYRG/53xqfvZ9qofY1T2t53GXPlD87lnQ==} + peerDependencies: + '@metaplex-foundation/umi': '>= 0.8.2 < 1' + + '@metaplex-foundation/umi-bundle-defaults@0.9.2': + resolution: {integrity: sha512-kV3tfvgvRjVP1p9OFOtH+ibOtN9omVJSwKr0We4/9r45e5LTj+32su0V/rixZUkG1EZzzOYBsxhtIE0kIw/Hrw==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-downloader-http@0.9.2': + resolution: {integrity: sha512-tzPT9hBwenzTzAQg07rmsrqZfgguAXELbcJrsYMoASp5VqWFXYIP00g94KET6XLjWUXH4P1J2zoa6hGennPXHA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2': + resolution: {integrity: sha512-hhPCxXbYIp4BC4z9gK78sXpWLkNSrfv4ndhF5ruAkdIp7GcRVYKj0QnOUO6lGYGiIkNlw20yoTwOe1CT//OfTQ==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-http-fetch@0.9.2': + resolution: {integrity: sha512-YCZuBu24T9ZzEDe4+w12LEZm/fO9pkyViZufGgASC5NX93814Lvf6Ssjn/hZzjfA7CvZbvLFbmujc6CV3Q/m9Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-options@0.8.9': + resolution: {integrity: sha512-jSQ61sZMPSAk/TXn8v8fPqtz3x8d0/blVZXLLbpVbo2/T5XobiI6/MfmlUosAjAUaQl6bHRF8aIIqZEFkJiy4A==} + + '@metaplex-foundation/umi-program-repository@0.9.2': + resolution: {integrity: sha512-g3+FPqXEmYsBa8eETtUE2gb2Oe3mqac0z3/Ur1TvAg5TtIy3mzRzOy/nza+sgzejnfcxcVg835rmpBaxpBnjDA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + resolution: {integrity: sha512-CxMzN7dgVGOq9OcNCJe2casKUpJ3RmTVoOvDFyeoTQuK+vkZ1YSSahbqC1iGuHEtKTLSjtWjKvUU6O7zWFTw3Q==} + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2': + resolution: {integrity: sha512-YRwVf6xH0jPBAUgMhEPi+UbjioAeqTXmjsN2TnmQCPAmHbrHrMRj0rlWYwFLWAgkmoxazYrXP9lqOFRrfOGAEA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2': + resolution: {integrity: sha512-MqcsBz8B4wGl6jxsf2Jo/rAEpYReU9VCSR15QSjhvADHMmdFxCIZCCAgE+gDE2Vuanfl437VhOcP3g5Uw8C16Q==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-serializer-data-view@0.9.2': + resolution: {integrity: sha512-5vGptadJxUxvUcyrwFZxXlEc6Q7AYySBesizCtrBFUY8w8PnF2vzmS45CP1MLySEATNH6T9mD4Rs0tLb87iQyA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': + resolution: {integrity: sha512-WT82tkiYJ0Qmscp7uTj1Hz6aWQPETwaKLAENAUN5DeWghkuBKtuxyBKVvEOuoXerJSdhiAk0e8DWA4cxcTTQ/w==} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + resolution: {integrity: sha512-N3VWLDTJ0bzzMKcJDL08U3FaqRmwlN79FyE4BHj6bbAaJ9LEHjDQ9RJijZyWqTm0jE7I750fU7Ow5EZL38Xi6Q==} + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + resolution: {integrity: sha512-NtBf1fnVNQJHFQjLFzRu2i9GGnigb9hOm/Gfrk628d0q0tRJB7BOM3bs5C61VAs7kJs4yd+pDNVAERJkknQ7Lg==} + + '@metaplex-foundation/umi-serializers@0.9.0': + resolution: {integrity: sha512-hAOW9Djl4w4ioKeR4erDZl5IG4iJdP0xA19ZomdaCbMhYAAmG/FEs5khh0uT2mq53/MnzWcXSUPoO8WBN4Q+Vg==} + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2': + resolution: {integrity: sha512-fR1Kf21uylMFd1Smkltmj4jTNxhqSWf416owsJ+T+cvJi2VCOcOwq/3UFzOrpz78fA0RhsajKYKj0HYsRnQI1g==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi-web3js-adapters@0.9.2': + resolution: {integrity: sha512-RQqUTtHYY9fmEMnq7s3Hiv/81flGaoI0ZVVoafnFVaQLnxU6QBKxtboRZHk43XtD9CiFh5f9izrMJX7iK7KlOA==} + peerDependencies: + '@metaplex-foundation/umi': ^0.9.2 + '@solana/web3.js': ^1.72.0 + + '@metaplex-foundation/umi@0.9.2': + resolution: {integrity: sha512-9i4Acm4pruQfJcpRrc2EauPBwkfDN0I9QTvJyZocIlKgoZwD6A6wH0PViH1AjOVG5CQCd1YI3tJd5XjYE1ElBw==} + '@monaco-editor/loader@1.4.0': resolution: {integrity: sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==} peerDependencies: @@ -5794,6 +5888,9 @@ packages: resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} engines: {node: '>=16.0.0'} + '@solana-developers/helpers@2.5.6': + resolution: {integrity: sha512-NPWZblVMl4LuVVSJOZG0ZF0VYnrMUjCyMNTiGwNUXPK2WWYJCqpuDyzs/PMqwvM4gMTjk4pEToBX8N2UxDvZkQ==} + '@solana/buffer-layout-utils@0.2.0': resolution: {integrity: sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g==} engines: {node: '>= 10'} @@ -9954,6 +10051,10 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + express@4.21.1: + resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} + engines: {node: '>= 0.10.0'} + express@4.21.2: resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} engines: {node: '>= 0.10.0'} @@ -13292,6 +13393,9 @@ packages: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} engines: {node: 20 || >=22} + path-to-regexp@0.1.10: + resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} + path-to-regexp@0.1.12: resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} @@ -18445,6 +18549,33 @@ snapshots: - typescript - yaml + '@elizaos/plugin-nft-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + '@metaplex-foundation/mpl-token-metadata': 3.3.0(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-bundle-defaults': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana-developers/helpers': 2.5.6(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 6.0.0 + express: 4.21.1 + node-cache: 5.1.2 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - jiti + - postcss + - supports-color + - tsx + - typescript + - utf-8-validate + - yaml + '@elizaos/plugin-solana@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(form-data@4.0.1)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)': dependencies: '@coral-xyz/anchor': 0.30.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -20393,6 +20524,108 @@ snapshots: '@mediapipe/tasks-vision@0.10.17': {} + '@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/mpl-toolbox@0.9.4(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-bundle-defaults@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-downloader-http': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-eddsa-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-http-fetch': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-program-repository': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-chunk-get-accounts': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-rpc-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@metaplex-foundation/umi-serializer-data-view': 0.9.2(@metaplex-foundation/umi@0.9.2) + '@metaplex-foundation/umi-transaction-factory-web3js': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-downloader-http@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-eddsa-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@noble/curves': 1.7.0 + '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-http-fetch@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@metaplex-foundation/umi-options@0.8.9': {} + + '@metaplex-foundation/umi-program-repository@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-public-keys@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + + '@metaplex-foundation/umi-rpc-chunk-get-accounts@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-rpc-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-serializer-data-view@0.9.2(@metaplex-foundation/umi@0.9.2)': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + + '@metaplex-foundation/umi-serializers-core@0.8.9': {} + + '@metaplex-foundation/umi-serializers-encodings@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers-numbers@0.8.9': + dependencies: + '@metaplex-foundation/umi-serializers-core': 0.8.9 + + '@metaplex-foundation/umi-serializers@0.9.0': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers-core': 0.8.9 + '@metaplex-foundation/umi-serializers-encodings': 0.8.9 + '@metaplex-foundation/umi-serializers-numbers': 0.8.9 + + '@metaplex-foundation/umi-transaction-factory-web3js@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@metaplex-foundation/umi-web3js-adapters': 0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + + '@metaplex-foundation/umi-web3js-adapters@0.9.2(@metaplex-foundation/umi@0.9.2)(@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@metaplex-foundation/umi': 0.9.2 + '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + buffer: 6.0.3 + + '@metaplex-foundation/umi@0.9.2': + dependencies: + '@metaplex-foundation/umi-options': 0.8.9 + '@metaplex-foundation/umi-public-keys': 0.8.9 + '@metaplex-foundation/umi-serializers': 0.9.0 + '@monaco-editor/loader@1.4.0(monaco-editor@0.52.2)': dependencies: monaco-editor: 0.52.2 @@ -23029,6 +23262,20 @@ snapshots: dependencies: tslib: 2.8.1 + '@solana-developers/helpers@2.5.6(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10)': + dependencies: + '@solana/spl-token': 0.4.9(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10) + '@solana/spl-token-metadata': 0.1.6(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bs58: 6.0.0 + dotenv: 16.4.7 + transitivePeerDependencies: + - bufferutil + - encoding + - fastestsmallesttextencoderdecoder + - typescript + - utf-8-validate + '@solana/buffer-layout-utils@0.2.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@solana/buffer-layout': 4.0.1 @@ -28376,7 +28623,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1): + eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1): dependencies: debug: 3.2.7 enhanced-resolve: 0.9.1 @@ -28404,14 +28651,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1))(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1) + eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1) transitivePeerDependencies: - supports-color @@ -28480,7 +28727,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1))(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -28876,6 +29123,42 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 + express@4.21.1: + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.3 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.7.1 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.3.1 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.3 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.10 + proxy-addr: 2.0.7 + qs: 6.13.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.19.0 + serve-static: 1.16.2 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + express@4.21.2: dependencies: accepts: 1.3.8 @@ -33439,6 +33722,8 @@ snapshots: lru-cache: 11.0.2 minipass: 7.1.2 + path-to-regexp@0.1.10: {} + path-to-regexp@0.1.12: {} path-to-regexp@1.9.0: @@ -36662,6 +36947,7 @@ snapshots: '@elizaos/plugin-flow': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-image-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-nft-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-story': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-sui': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-sui(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(form-data@4.0.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) @@ -37733,7 +38019,7 @@ snapshots: eslint-config-xo: 0.45.0(eslint@8.57.1) eslint-config-xo-typescript: 5.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) eslint-formatter-pretty: 6.0.1 - eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1) + eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1) eslint-plugin-ava: 14.0.0(eslint@8.57.1) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1) From 73ea6c5d03762ef2ecbc52ee74ac35b138f27078 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:48:53 -0800 Subject: [PATCH 083/312] Add evm plugin --- .../components/plugins/plugin-evm/README.md | 93 +++++++ .../plugins/plugin-evm/eslint.config.mjs | 3 + .../plugins/plugin-evm/package.json | 24 ++ .../plugins/plugin-evm/src/actions/bridge.ts | 162 +++++++++++++ .../plugins/plugin-evm/src/actions/swap.ts | 171 +++++++++++++ .../plugin-evm/src/actions/transfer.ts | 178 ++++++++++++++ .../plugins/plugin-evm/src/index.ts | 22 ++ .../plugin-evm/src/providers/wallet.ts | 228 ++++++++++++++++++ .../plugins/plugin-evm/src/templates/index.ts | 74 ++++++ .../plugin-evm/src/tests/transfer.test.ts | 55 +++++ .../plugin-evm/src/tests/wallet.test.ts | 214 ++++++++++++++++ .../plugins/plugin-evm/src/types/index.ts | 166 +++++++++++++ .../plugins/plugin-evm/tsconfig.json | 15 ++ .../plugins/plugin-evm/tsup.config.ts | 21 ++ 14 files changed, 1426 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/README.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/bridge.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/swap.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/transfer.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/providers/wallet.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/templates/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/tests/transfer.test.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/tests/wallet.test.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/types/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/README.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/README.md new file mode 100644 index 000000000..dc7c695e5 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/README.md @@ -0,0 +1,93 @@ +# `@elizaos/plugin-evm` + +This plugin provides actions and providers for interacting with EVM-compatible chains. + +--- + +## Configuration + +### Default Setup + +By default, **Ethereum mainnet** is enabled. To use it, simply add your private key to the `.env` file: + +```env +EVM_PRIVATE_KEY=your-private-key-here +``` + +### Adding Support for Other Chains + +To enable support for additional chains, add them to the character config like this: + +```json +"settings": { + "chains": { + "evm": [ + "base", "arbitrum", "iotex" + ] + } +} +``` + +Note: The chain names must match those in the viem/chains. + +### Custom RPC URLs + +By default, the RPC URL is inferred from the `viem/chains` config. To use a custom RPC URL for a specific chain, add the following to your `.env` file: + +```env +ETHEREUM_PROVIDER_=https://your-custom-rpc-url +``` + +**Example usage:** + +```env +ETHEREUM_PROVIDER_IOTEX=https://iotex-network.rpc.thirdweb.com +``` + +#### Custom RPC for Ethereum Mainnet + +To set a custom RPC URL for Ethereum mainnet, use: + +```env +EVM_PROVIDER_URL=https://your-custom-mainnet-rpc-url +``` + +## Provider + +The **Wallet Provider** initializes with the **first chain in the list** as the default (or Ethereum mainnet if none are added). It: + +- Provides the **context** of the currently connected address and its balance. +- Creates **Public** and **Wallet clients** to interact with the supported chains. +- Allows adding chains dynamically at runtime. + +--- + +## Actions + +### Transfer + +Transfer tokens from one address to another on any EVM-compatible chain. Just specify the: + +- **Amount** +- **Chain** +- **Recipient Address** + +**Example usage:** + +```bash +Transfer 1 ETH to 0xRecipient on arbitrum. +``` + +--- + +## Contribution + +The plugin contains tests. Whether you're using **TDD** or not, please make sure to run the tests before submitting a PR. + +### Running Tests + +Navigate to the `plugin-evm` directory and run: + +```bash +pnpm test +``` diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/package.json new file mode 100644 index 000000000..30eb88d2f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/package.json @@ -0,0 +1,24 @@ +{ + "name": "@elizaos/plugin-evm", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@lifi/data-types": "5.15.5", + "@lifi/sdk": "3.4.1", + "@lifi/types": "16.3.0", + "tsup": "8.3.5", + "viem": "2.21.53" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest run", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/bridge.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/bridge.ts new file mode 100644 index 000000000..5683f814b --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/bridge.ts @@ -0,0 +1,162 @@ +import type { IAgentRuntime, Memory, State } from "@elizaos/core"; +import { + composeContext, + generateObjectDeprecated, + ModelClass, +} from "@elizaos/core"; +import { + createConfig, + executeRoute, + ExtendedChain, + getRoutes, +} from "@lifi/sdk"; + +import { initWalletProvider, WalletProvider } from "../providers/wallet"; +import { bridgeTemplate } from "../templates"; +import type { BridgeParams, Transaction } from "../types"; +import { parseEther } from "viem"; + +export { bridgeTemplate }; + +export class BridgeAction { + private config; + + constructor(private walletProvider: WalletProvider) { + this.config = createConfig({ + integrator: "eliza", + chains: Object.values(this.walletProvider.chains).map((config) => ({ + id: config.id, + name: config.name, + key: config.name.toLowerCase(), + chainType: "EVM", + nativeToken: { + ...config.nativeCurrency, + chainId: config.id, + address: "0x0000000000000000000000000000000000000000", + coinKey: config.nativeCurrency.symbol, + }, + metamask: { + chainId: `0x${config.id.toString(16)}`, + chainName: config.name, + nativeCurrency: config.nativeCurrency, + rpcUrls: [config.rpcUrls.default.http[0]], + blockExplorerUrls: [config.blockExplorers.default.url], + }, + diamondAddress: "0x0000000000000000000000000000000000000000", + coin: config.nativeCurrency.symbol, + mainnet: true, + })) as ExtendedChain[], + }); + } + + async bridge(params: BridgeParams): Promise { + const walletClient = this.walletProvider.getWalletClient( + params.fromChain + ); + const [fromAddress] = await walletClient.getAddresses(); + + const routes = await getRoutes({ + fromChainId: this.walletProvider.getChainConfigs(params.fromChain) + .id, + toChainId: this.walletProvider.getChainConfigs(params.toChain).id, + fromTokenAddress: params.fromToken, + toTokenAddress: params.toToken, + fromAmount: parseEther(params.amount).toString(), + fromAddress: fromAddress, + toAddress: params.toAddress || fromAddress, + }); + + if (!routes.routes.length) throw new Error("No routes found"); + + const execution = await executeRoute(routes.routes[0], this.config); + const process = execution.steps[0]?.execution?.process[0]; + + if (!process?.status || process.status === "FAILED") { + throw new Error("Transaction failed"); + } + + return { + hash: process.txHash as `0x${string}`, + from: fromAddress, + to: routes.routes[0].steps[0].estimate + .approvalAddress as `0x${string}`, + value: BigInt(params.amount), + chainId: this.walletProvider.getChainConfigs(params.fromChain).id, + }; + } +} + +export const bridgeAction = { + name: "bridge", + description: "Bridge tokens between different chains", + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback?: any + ) => { + console.log("Bridge action handler called"); + const walletProvider = initWalletProvider(runtime); + const action = new BridgeAction(walletProvider); + + // Compose bridge context + const bridgeContext = composeContext({ + state, + template: bridgeTemplate, + }); + const content = await generateObjectDeprecated({ + runtime, + context: bridgeContext, + modelClass: ModelClass.LARGE, + }); + + const bridgeOptions: BridgeParams = { + fromChain: content.fromChain, + toChain: content.toChain, + fromToken: content.token, + toToken: content.token, + toAddress: content.toAddress, + amount: content.amount, + }; + + try { + const bridgeResp = await action.bridge(bridgeOptions); + if (callback) { + callback({ + text: `Successfully bridge ${bridgeOptions.amount} ${bridgeOptions.fromToken} tokens from ${bridgeOptions.fromChain} to ${bridgeOptions.toChain}\nTransaction Hash: ${bridgeResp.hash}`, + content: { + success: true, + hash: bridgeResp.hash, + recipient: bridgeResp.to, + chain: bridgeOptions.fromChain, + }, + }); + } + return true; + } catch (error) { + console.error("Error in bridge handler:", error.message); + if (callback) { + callback({ text: `Error: ${error.message}` }); + } + return false; + } + }, + template: bridgeTemplate, + validate: async (runtime: IAgentRuntime) => { + const privateKey = runtime.getSetting("EVM_PRIVATE_KEY"); + return typeof privateKey === "string" && privateKey.startsWith("0x"); + }, + examples: [ + [ + { + user: "user", + content: { + text: "Bridge 1 ETH from Ethereum to Base", + action: "CROSS_CHAIN_TRANSFER", + }, + }, + ], + ], + similes: ["CROSS_CHAIN_TRANSFER", "CHAIN_BRIDGE", "MOVE_CROSS_CHAIN"], +}; // TODO: add more examples / similies diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/swap.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/swap.ts new file mode 100644 index 000000000..718be7edb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/swap.ts @@ -0,0 +1,171 @@ +import type { IAgentRuntime, Memory, State } from "@elizaos/core"; +import { + composeContext, + generateObjectDeprecated, + ModelClass, +} from "@elizaos/core"; +import { + createConfig, + executeRoute, + ExtendedChain, + getRoutes, +} from "@lifi/sdk"; + +import { initWalletProvider, WalletProvider } from "../providers/wallet"; +import { swapTemplate } from "../templates"; +import type { SwapParams, Transaction } from "../types"; +import { parseEther } from "viem"; + +export { swapTemplate }; + +export class SwapAction { + private config; + + constructor(private walletProvider: WalletProvider) { + this.config = createConfig({ + integrator: "eliza", + chains: Object.values(this.walletProvider.chains).map((config) => ({ + id: config.id, + name: config.name, + key: config.name.toLowerCase(), + chainType: "EVM" as const, + nativeToken: { + ...config.nativeCurrency, + chainId: config.id, + address: "0x0000000000000000000000000000000000000000", + coinKey: config.nativeCurrency.symbol, + priceUSD: "0", + logoURI: "", + symbol: config.nativeCurrency.symbol, + decimals: config.nativeCurrency.decimals, + name: config.nativeCurrency.name, + }, + rpcUrls: { + public: { http: [config.rpcUrls.default.http[0]] }, + }, + blockExplorerUrls: [config.blockExplorers.default.url], + metamask: { + chainId: `0x${config.id.toString(16)}`, + chainName: config.name, + nativeCurrency: config.nativeCurrency, + rpcUrls: [config.rpcUrls.default.http[0]], + blockExplorerUrls: [config.blockExplorers.default.url], + }, + coin: config.nativeCurrency.symbol, + mainnet: true, + diamondAddress: "0x0000000000000000000000000000000000000000", + })) as ExtendedChain[], + }); + } + + async swap(params: SwapParams): Promise { + const walletClient = this.walletProvider.getWalletClient(params.chain); + const [fromAddress] = await walletClient.getAddresses(); + + const routes = await getRoutes({ + fromChainId: this.walletProvider.getChainConfigs(params.chain).id, + toChainId: this.walletProvider.getChainConfigs(params.chain).id, + fromTokenAddress: params.fromToken, + toTokenAddress: params.toToken, + fromAmount: parseEther(params.amount).toString(), + fromAddress: fromAddress, + options: { + slippage: params.slippage || 0.5, + order: "RECOMMENDED", + }, + }); + + if (!routes.routes.length) throw new Error("No routes found"); + + const execution = await executeRoute(routes.routes[0], this.config); + const process = execution.steps[0]?.execution?.process[0]; + + if (!process?.status || process.status === "FAILED") { + throw new Error("Transaction failed"); + } + + return { + hash: process.txHash as `0x${string}`, + from: fromAddress, + to: routes.routes[0].steps[0].estimate + .approvalAddress as `0x${string}`, + value: 0n, + data: process.data as `0x${string}`, + chainId: this.walletProvider.getChainConfigs(params.chain).id, + }; + } +} + +export const swapAction = { + name: "swap", + description: "Swap tokens on the same chain", + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback?: any + ) => { + console.log("Swap action handler called"); + const walletProvider = initWalletProvider(runtime); + const action = new SwapAction(walletProvider); + + // Compose swap context + const swapContext = composeContext({ + state, + template: swapTemplate, + }); + const content = await generateObjectDeprecated({ + runtime, + context: swapContext, + modelClass: ModelClass.LARGE, + }); + + const swapOptions: SwapParams = { + chain: content.chain, + fromToken: content.inputToken, + toToken: content.outputToken, + amount: content.amount, + slippage: content.slippage, + }; + + try { + const swapResp = await action.swap(swapOptions); + if (callback) { + callback({ + text: `Successfully swap ${swapOptions.amount} ${swapOptions.fromToken} tokens to ${swapOptions.toToken}\nTransaction Hash: ${swapResp.hash}`, + content: { + success: true, + hash: swapResp.hash, + recipient: swapResp.to, + chain: content.chain, + }, + }); + } + return true; + } catch (error) { + console.error("Error in swap handler:", error.message); + if (callback) { + callback({ text: `Error: ${error.message}` }); + } + return false; + } + }, + template: swapTemplate, + validate: async (runtime: IAgentRuntime) => { + const privateKey = runtime.getSetting("EVM_PRIVATE_KEY"); + return typeof privateKey === "string" && privateKey.startsWith("0x"); + }, + examples: [ + [ + { + user: "user", + content: { + text: "Swap 1 ETH for USDC on Base", + action: "TOKEN_SWAP", + }, + }, + ], + ], + similes: ["TOKEN_SWAP", "EXCHANGE_TOKENS", "TRADE_TOKENS"], +}; // TODO: add more examples diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/transfer.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/transfer.ts new file mode 100644 index 000000000..71e252f9b --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/actions/transfer.ts @@ -0,0 +1,178 @@ +import { ByteArray, formatEther, parseEther, type Hex } from "viem"; +import { + composeContext, + generateObjectDeprecated, + HandlerCallback, + ModelClass, + type IAgentRuntime, + type Memory, + type State, +} from "@elizaos/core"; + +import { initWalletProvider, WalletProvider } from "../providers/wallet"; +import type { Transaction, TransferParams } from "../types"; +import { transferTemplate } from "../templates"; + +export { transferTemplate }; + +// Exported for tests +export class TransferAction { + constructor(private walletProvider: WalletProvider) {} + + async transfer(params: TransferParams): Promise { + console.log( + `Transferring: ${params.amount} tokens to (${params.toAddress} on ${params.fromChain})` + ); + + if (!params.data) { + params.data = "0x"; + } + + this.walletProvider.switchChain(params.fromChain); + + const walletClient = this.walletProvider.getWalletClient( + params.fromChain + ); + + try { + const hash = await walletClient.sendTransaction({ + account: walletClient.account, + to: params.toAddress, + value: parseEther(params.amount), + data: params.data as Hex, + kzg: { + blobToKzgCommitment: function (_: ByteArray): ByteArray { + throw new Error("Function not implemented."); + }, + computeBlobKzgProof: function ( + _blob: ByteArray, + _commitment: ByteArray + ): ByteArray { + throw new Error("Function not implemented."); + }, + }, + chain: undefined, + }); + + return { + hash, + from: walletClient.account.address, + to: params.toAddress, + value: parseEther(params.amount), + data: params.data as Hex, + }; + } catch (error) { + throw new Error(`Transfer failed: ${error.message}`); + } + } +} + +const buildTransferDetails = async ( + state: State, + runtime: IAgentRuntime, + wp: WalletProvider +): Promise => { + const context = composeContext({ + state, + template: transferTemplate, + }); + + const chains = Object.keys(wp.chains); + + const contextWithChains = context.replace( + "SUPPORTED_CHAINS", + chains.map((item) => `"${item}"`).join("|") + ); + + const transferDetails = (await generateObjectDeprecated({ + runtime, + context: contextWithChains, + modelClass: ModelClass.SMALL, + })) as TransferParams; + + const existingChain = wp.chains[transferDetails.fromChain]; + + if (!existingChain) { + throw new Error( + "The chain " + + transferDetails.fromChain + + " not configured yet. Add the chain or choose one from configured: " + + chains.toString() + ); + } + + return transferDetails; +}; + +export const transferAction = { + name: "transfer", + description: "Transfer tokens between addresses on the same chain", + handler: async ( + runtime: IAgentRuntime, + _message: Memory, + state: State, + _options: any, + callback?: HandlerCallback + ) => { + console.log("Transfer action handler called"); + const walletProvider = initWalletProvider(runtime); + const action = new TransferAction(walletProvider); + + // Compose transfer context + const paramOptions = await buildTransferDetails( + state, + runtime, + walletProvider + ); + + try { + const transferResp = await action.transfer(paramOptions); + if (callback) { + callback({ + text: `Successfully transferred ${paramOptions.amount} tokens to ${paramOptions.toAddress}\nTransaction Hash: ${transferResp.hash}`, + content: { + success: true, + hash: transferResp.hash, + amount: formatEther(transferResp.value), + recipient: transferResp.to, + chain: paramOptions.fromChain, + }, + }); + } + return true; + } catch (error) { + console.error("Error during token transfer:", error); + if (callback) { + callback({ + text: `Error transferring tokens: ${error.message}`, + content: { error: error.message }, + }); + } + return false; + } + }, + template: transferTemplate, + validate: async (runtime: IAgentRuntime) => { + const privateKey = runtime.getSetting("EVM_PRIVATE_KEY"); + return typeof privateKey === "string" && privateKey.startsWith("0x"); + }, + examples: [ + [ + { + user: "assistant", + content: { + text: "I'll help you transfer 1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + action: "SEND_TOKENS", + }, + }, + { + user: "user", + content: { + text: "Transfer 1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + action: "SEND_TOKENS", + }, + }, + ], + ], + similes: ["SEND_TOKENS", "TOKEN_TRANSFER", "MOVE_TOKENS"], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/index.ts new file mode 100644 index 000000000..f3abf115f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/index.ts @@ -0,0 +1,22 @@ +export * from "./actions/bridge"; +export * from "./actions/swap"; +export * from "./actions/transfer"; +export * from "./providers/wallet"; +export * from "./types"; + +import type { Plugin } from "@elizaos/core"; +import { bridgeAction } from "./actions/bridge"; +import { swapAction } from "./actions/swap"; +import { transferAction } from "./actions/transfer"; +import { evmWalletProvider } from "./providers/wallet"; + +export const evmPlugin: Plugin = { + name: "evm", + description: "EVM blockchain integration plugin", + providers: [evmWalletProvider], + evaluators: [], + services: [], + actions: [transferAction, bridgeAction, swapAction], +}; + +export default evmPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/providers/wallet.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/providers/wallet.ts new file mode 100644 index 000000000..c0fbcc736 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/providers/wallet.ts @@ -0,0 +1,228 @@ +import { + createPublicClient, + createWalletClient, + formatUnits, + http, +} from "viem"; +import { privateKeyToAccount } from "viem/accounts"; +import type { IAgentRuntime, Provider, Memory, State } from "@elizaos/core"; +import type { + Address, + WalletClient, + PublicClient, + Chain, + HttpTransport, + Account, + PrivateKeyAccount, +} from "viem"; +import * as viemChains from "viem/chains"; + +import type { SupportedChain } from "../types"; + +export class WalletProvider { + private currentChain: SupportedChain = "mainnet"; + chains: Record = { mainnet: viemChains.mainnet }; + account: PrivateKeyAccount; + + constructor(privateKey: `0x${string}`, chains?: Record) { + this.setAccount(privateKey); + this.setChains(chains); + + if (chains && Object.keys(chains).length > 0) { + this.setCurrentChain(Object.keys(chains)[0] as SupportedChain); + } + } + + getAddress(): Address { + return this.account.address; + } + + getCurrentChain(): Chain { + return this.chains[this.currentChain]; + } + + getPublicClient( + chainName: SupportedChain + ): PublicClient { + const transport = this.createHttpTransport(chainName); + + const publicClient = createPublicClient({ + chain: this.chains[chainName], + transport, + }); + return publicClient; + } + + getWalletClient(chainName: SupportedChain): WalletClient { + const transport = this.createHttpTransport(chainName); + + const walletClient = createWalletClient({ + chain: this.chains[chainName], + transport, + account: this.account, + }); + + return walletClient; + } + + getChainConfigs(chainName: SupportedChain): Chain { + const chain = viemChains[chainName]; + + if (!chain?.id) { + throw new Error("Invalid chain name"); + } + + return chain; + } + + async getWalletBalance(): Promise { + try { + const client = this.getPublicClient(this.currentChain); + const balance = await client.getBalance({ + address: this.account.address, + }); + return formatUnits(balance, 18); + } catch (error) { + console.error("Error getting wallet balance:", error); + return null; + } + } + + async getWalletBalanceForChain( + chainName: SupportedChain + ): Promise { + try { + const client = this.getPublicClient(chainName); + const balance = await client.getBalance({ + address: this.account.address, + }); + return formatUnits(balance, 18); + } catch (error) { + console.error("Error getting wallet balance:", error); + return null; + } + } + + addChain(chain: Record) { + this.setChains(chain); + } + + switchChain(chainName: SupportedChain, customRpcUrl?: string) { + if (!this.chains[chainName]) { + const chain = WalletProvider.genChainFromName( + chainName, + customRpcUrl + ); + this.addChain({ [chainName]: chain }); + } + this.setCurrentChain(chainName); + } + + private setAccount = (pk: `0x${string}`) => { + this.account = privateKeyToAccount(pk); + }; + + private setChains = (chains?: Record) => { + if (!chains) { + return; + } + Object.keys(chains).forEach((chain: string) => { + this.chains[chain] = chains[chain]; + }); + }; + + private setCurrentChain = (chain: SupportedChain) => { + this.currentChain = chain; + }; + + private createHttpTransport = (chainName: SupportedChain) => { + const chain = this.chains[chainName]; + + if (chain.rpcUrls.custom) { + return http(chain.rpcUrls.custom.http[0]); + } + return http(chain.rpcUrls.default.http[0]); + }; + + static genChainFromName( + chainName: string, + customRpcUrl?: string | null + ): Chain { + const baseChain = viemChains[chainName]; + + if (!baseChain?.id) { + throw new Error("Invalid chain name"); + } + + const viemChain: Chain = customRpcUrl + ? { + ...baseChain, + rpcUrls: { + ...baseChain.rpcUrls, + custom: { + http: [customRpcUrl], + }, + }, + } + : baseChain; + + return viemChain; + } +} + +const genChainsFromRuntime = ( + runtime: IAgentRuntime +): Record => { + const chainNames = + (runtime.character.settings.chains?.evm as SupportedChain[]) || []; + const chains = {}; + + chainNames.forEach((chainName) => { + const rpcUrl = runtime.getSetting( + "ETHEREUM_PROVIDER_" + chainName.toUpperCase() + ); + const chain = WalletProvider.genChainFromName(chainName, rpcUrl); + chains[chainName] = chain; + }); + + const mainnet_rpcurl = runtime.getSetting("EVM_PROVIDER_URL"); + if (mainnet_rpcurl) { + const chain = WalletProvider.genChainFromName( + "mainnet", + mainnet_rpcurl + ); + chains["mainnet"] = chain; + } + + return chains; +}; + +export const initWalletProvider = (runtime: IAgentRuntime) => { + const privateKey = runtime.getSetting("EVM_PRIVATE_KEY"); + if (!privateKey) { + throw new Error("EVM_PRIVATE_KEY is missing"); + } + + const chains = genChainsFromRuntime(runtime); + + return new WalletProvider(privateKey as `0x${string}`, chains); +}; + +export const evmWalletProvider: Provider = { + async get( + runtime: IAgentRuntime, + _message: Memory, + _state?: State + ): Promise { + try { + const walletProvider = initWalletProvider(runtime); + const address = walletProvider.getAddress(); + const balance = await walletProvider.getWalletBalance(); + const chain = walletProvider.getCurrentChain(); + return `EVM Wallet Address: ${address}\nBalance: ${balance} ${chain.nativeCurrency.symbol}\nChain ID: ${chain.id}, Name: ${chain.name}`; + } catch (error) { + console.error("Error in EVM wallet provider:", error); + return null; + } + }, +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/templates/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/templates/index.ts new file mode 100644 index 000000000..18b440f2c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/templates/index.ts @@ -0,0 +1,74 @@ +export const transferTemplate = `Given the recent messages and wallet information below: + +{{recentMessages}} + +{{walletInfo}} + +Extract the following information about the requested transfer: +- Chain to execute on: Must be one of ["ethereum", "base", ...] (like in viem/chains) +- Amount to transfer: Must be a string representing the amount in ETH (only number without coin symbol, e.g., "0.1") +- Recipient address: Must be a valid Ethereum address starting with "0x" +- Token symbol or address (if not native token): Optional, leave as null for ETH transfers + +Respond with a JSON markdown block containing only the extracted values. All fields except 'token' are required: + +\`\`\`json +{ + "fromChain": SUPPORTED_CHAINS, + "amount": string, + "toAddress": string, + "token": string | null +} +\`\`\` +`; + +export const bridgeTemplate = `Given the recent messages and wallet information below: + +{{recentMessages}} + +{{walletInfo}} + +Extract the following information about the requested token bridge: +- Token symbol or address to bridge +- Source chain +- Destination chain +- Amount to bridge: Must be a string representing the amount in ether (only number without coin symbol, e.g., "0.1") +- Destination address (if specified) + +Respond with a JSON markdown block containing only the extracted values: + +\`\`\`json +{ + "token": string | null, + "fromChain": "ethereum" | "abstract" | "base" | "sepolia" | "bsc" | "arbitrum" | "avalanche" | "polygon" | "optimism" | "cronos" | "gnosis" | "fantom" | "klaytn" | "celo" | "moonbeam" | "aurora" | "harmonyOne" | "moonriver" | "arbitrumNova" | "mantle" | "linea" | "scroll" | "filecoin" | "taiko" | "zksync" | "canto" | "alienx" | null, + "toChain": "ethereum" | "abstract" | "base" | "sepolia" | "bsc" | "arbitrum" | "avalanche" | "polygon" | "optimism" | "cronos" | "gnosis" | "fantom" | "klaytn" | "celo" | "moonbeam" | "aurora" | "harmonyOne" | "moonriver" | "arbitrumNova" | "mantle" | "linea" | "scroll" | "filecoin" | "taiko" | "zksync" | "canto" | "alienx" | null, + "amount": string | null, + "toAddress": string | null +} +\`\`\` +`; + +export const swapTemplate = `Given the recent messages and wallet information below: + +{{recentMessages}} + +{{walletInfo}} + +Extract the following information about the requested token swap: +- Input token symbol or address (the token being sold) +- Output token symbol or address (the token being bought) +- Amount to swap: Must be a string representing the amount in ether (only number without coin symbol, e.g., "0.1") +- Chain to execute on + +Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined: + +\`\`\`json +{ + "inputToken": string | null, + "outputToken": string | null, + "amount": string | null, + "chain": "ethereum" | "abstract" | "base" | "sepolia" | "bsc" | "arbitrum" | "avalanche" | "polygon" | "optimism" | "cronos" | "gnosis" | "fantom" | "klaytn" | "celo" | "moonbeam" | "aurora" | "harmonyOne" | "moonriver" | "arbitrumNova" | "mantle" | "linea" | "scroll" | "filecoin" | "taiko" | "zksync" | "canto" | "alienx" | null, + "slippage": number | null +} +\`\`\` +`; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/tests/transfer.test.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/tests/transfer.test.ts new file mode 100644 index 000000000..a6159db76 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/tests/transfer.test.ts @@ -0,0 +1,55 @@ +import { describe, it, expect, beforeEach } from "vitest"; +import { generatePrivateKey, privateKeyToAccount } from "viem/accounts"; +import { Account, Chain } from "viem"; + +import { TransferAction } from "../actions/transfer"; +import { WalletProvider } from "../providers/wallet"; + +describe("Transfer Action", () => { + let wp: WalletProvider; + + beforeEach(async () => { + const pk = generatePrivateKey(); + const customChains = prepareChains(); + wp = new WalletProvider(pk, customChains); + }); + describe("Constructor", () => { + it("should initialize with wallet provider", () => { + const ta = new TransferAction(wp); + + expect(ta).toBeDefined(); + }); + }); + describe("Transfer", () => { + let ta: TransferAction; + let receiver: Account; + + beforeEach(() => { + ta = new TransferAction(wp); + receiver = privateKeyToAccount(generatePrivateKey()); + }); + + it("throws if not enough gas", async () => { + await expect( + ta.transfer({ + fromChain: "iotexTestnet", + toAddress: receiver.address, + amount: "1", + }) + ).rejects.toThrow( + "Transfer failed: The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account." + ); + }); + }); +}); + +const prepareChains = () => { + const customChains: Record = {}; + const chainNames = ["iotexTestnet"]; + chainNames.forEach( + (chain) => + (customChains[chain] = WalletProvider.genChainFromName(chain)) + ); + + return customChains; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/tests/wallet.test.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/tests/wallet.test.ts new file mode 100644 index 000000000..a6b227a47 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/tests/wallet.test.ts @@ -0,0 +1,214 @@ +import { describe, it, expect, beforeAll, beforeEach } from "vitest"; +import { generatePrivateKey, privateKeyToAccount } from "viem/accounts"; +import { mainnet, iotex, arbitrum, Chain } from "viem/chains"; + +import { WalletProvider } from "../providers/wallet"; + +const customRpcUrls = { + mainnet: "custom-rpc.mainnet.io", + arbitrum: "custom-rpc.base.io", + iotex: "custom-rpc.iotex.io", +}; + +describe("Wallet provider", () => { + let walletProvider: WalletProvider; + let pk: `0x${string}`; + const customChains: Record = {}; + + beforeAll(() => { + pk = generatePrivateKey(); + + const chainNames = ["iotex", "arbitrum"]; + chainNames.forEach( + (chain) => + (customChains[chain] = WalletProvider.genChainFromName(chain)) + ); + }); + + describe("Constructor", () => { + it("sets address", () => { + const account = privateKeyToAccount(pk); + const expectedAddress = account.address; + + walletProvider = new WalletProvider(pk); + + expect(walletProvider.getAddress()).toEqual(expectedAddress); + }); + it("sets default chain to ethereum mainnet", () => { + walletProvider = new WalletProvider(pk); + + expect(walletProvider.chains.mainnet.id).toEqual(mainnet.id); + expect(walletProvider.getCurrentChain().id).toEqual(mainnet.id); + }); + it("sets custom chains", () => { + walletProvider = new WalletProvider(pk, customChains); + + expect(walletProvider.chains.iotex.id).toEqual(iotex.id); + expect(walletProvider.chains.arbitrum.id).toEqual(arbitrum.id); + }); + it("sets the first provided custom chain as current chain", () => { + walletProvider = new WalletProvider(pk, customChains); + + expect(walletProvider.getCurrentChain().id).toEqual(iotex.id); + }); + }); + describe("Clients", () => { + beforeEach(() => { + walletProvider = new WalletProvider(pk); + }); + it("generates public client", () => { + const client = walletProvider.getPublicClient("mainnet"); + expect(client.chain.id).toEqual(mainnet.id); + expect(client.transport.url).toEqual( + mainnet.rpcUrls.default.http[0] + ); + }); + it("generates public client with custom rpcurl", () => { + const chain = WalletProvider.genChainFromName( + "mainnet", + customRpcUrls.mainnet + ); + const wp = new WalletProvider(pk, { ["mainnet"]: chain }); + + const client = wp.getPublicClient("mainnet"); + expect(client.chain.id).toEqual(mainnet.id); + expect(client.chain.rpcUrls.default.http[0]).toEqual( + mainnet.rpcUrls.default.http[0] + ); + expect(client.chain.rpcUrls.custom.http[0]).toEqual( + customRpcUrls.mainnet + ); + expect(client.transport.url).toEqual(customRpcUrls.mainnet); + }); + it("generates wallet client", () => { + const account = privateKeyToAccount(pk); + const expectedAddress = account.address; + + const client = walletProvider.getWalletClient("mainnet"); + + expect(client.account.address).toEqual(expectedAddress); + expect(client.transport.url).toEqual( + mainnet.rpcUrls.default.http[0] + ); + }); + it("generates wallet client with custom rpcurl", () => { + const account = privateKeyToAccount(pk); + const expectedAddress = account.address; + const chain = WalletProvider.genChainFromName( + "mainnet", + customRpcUrls.mainnet + ); + const wp = new WalletProvider(pk, { ["mainnet"]: chain }); + + const client = wp.getWalletClient("mainnet"); + + expect(client.account.address).toEqual(expectedAddress); + expect(client.chain.id).toEqual(mainnet.id); + expect(client.chain.rpcUrls.default.http[0]).toEqual( + mainnet.rpcUrls.default.http[0] + ); + expect(client.chain.rpcUrls.custom.http[0]).toEqual( + customRpcUrls.mainnet + ); + expect(client.transport.url).toEqual(customRpcUrls.mainnet); + }); + }); + describe("Balance", () => { + beforeEach(() => { + walletProvider = new WalletProvider(pk, customChains); + }); + it("should fetch balance", async () => { + const bal = await walletProvider.getWalletBalance(); + + expect(bal).toEqual("0"); + }); + it("should fetch balance for a specific added chain", async () => { + const bal = await walletProvider.getWalletBalanceForChain("iotex"); + + expect(bal).toEqual("0"); + }); + it("should return null if chain is not added", async () => { + const bal = await walletProvider.getWalletBalanceForChain("base"); + expect(bal).toBeNull(); + }); + }); + describe("Chain", () => { + beforeEach(() => { + walletProvider = new WalletProvider(pk, customChains); + }); + it("generates chains from chain name", () => { + const chainName = "iotex"; + const chain: Chain = WalletProvider.genChainFromName(chainName); + + expect(chain.rpcUrls.default.http[0]).toEqual( + iotex.rpcUrls.default.http[0] + ); + }); + it("generates chains from chain name with custom rpc url", () => { + const chainName = "iotex"; + const customRpcUrl = "custom.url.io"; + const chain: Chain = WalletProvider.genChainFromName( + chainName, + customRpcUrl + ); + + expect(chain.rpcUrls.default.http[0]).toEqual( + iotex.rpcUrls.default.http[0] + ); + expect(chain.rpcUrls.custom.http[0]).toEqual(customRpcUrl); + }); + it("switches chain", () => { + const initialChain = walletProvider.getCurrentChain().id; + expect(initialChain).toEqual(iotex.id); + + walletProvider.switchChain("mainnet"); + + const newChain = walletProvider.getCurrentChain().id; + expect(newChain).toEqual(mainnet.id); + }); + it("switches chain (by adding new chain)", () => { + const initialChain = walletProvider.getCurrentChain().id; + expect(initialChain).toEqual(iotex.id); + + walletProvider.switchChain("arbitrum"); + + const newChain = walletProvider.getCurrentChain().id; + expect(newChain).toEqual(arbitrum.id); + }); + it("adds chain", () => { + const initialChains = walletProvider.chains; + expect(initialChains.base).toBeUndefined(); + + const base = WalletProvider.genChainFromName("base"); + walletProvider.addChain({ base }); + const newChains = walletProvider.chains; + expect(newChains.arbitrum.id).toEqual(arbitrum.id); + }); + it("gets chain configs", () => { + const chain = walletProvider.getChainConfigs("iotex"); + + expect(chain.id).toEqual(iotex.id); + }); + it("throws if tries to switch to an invalid chain", () => { + const initialChain = walletProvider.getCurrentChain().id; + expect(initialChain).toEqual(iotex.id); + + // intentionally set incorrect chain, ts will complain + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + expect(() => walletProvider.switchChain("eth")).toThrow(); + }); + it("throws if unsupported chain name", () => { + // intentionally set incorrect chain, ts will complain + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + expect(() => WalletProvider.genChainFromName("ethereum")).toThrow(); + }); + it("throws if invalid chain name", () => { + // intentionally set incorrect chain, ts will complain + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + expect(() => WalletProvider.genChainFromName("eth")).toThrow(); + }); + }); +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/types/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/types/index.ts new file mode 100644 index 000000000..5db8d941f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/src/types/index.ts @@ -0,0 +1,166 @@ +import type { Token } from "@lifi/types"; +import type { + Account, + Address, + Chain, + Hash, + HttpTransport, + PublicClient, + WalletClient, +} from "viem"; +import * as viemChains from "viem/chains"; + +const _SupportedChainList = Object.keys(viemChains) as Array< + keyof typeof viemChains +>; +export type SupportedChain = (typeof _SupportedChainList)[number]; + +// Transaction types +export interface Transaction { + hash: Hash; + from: Address; + to: Address; + value: bigint; + data?: `0x${string}`; + chainId?: number; +} + +// Token types +export interface TokenWithBalance { + token: Token; + balance: bigint; + formattedBalance: string; + priceUSD: string; + valueUSD: string; +} + +export interface WalletBalance { + chain: SupportedChain; + address: Address; + totalValueUSD: string; + tokens: TokenWithBalance[]; +} + +// Chain configuration +export interface ChainMetadata { + chainId: number; + name: string; + chain: Chain; + rpcUrl: string; + nativeCurrency: { + name: string; + symbol: string; + decimals: number; + }; + blockExplorerUrl: string; +} + +export interface ChainConfig { + chain: Chain; + publicClient: PublicClient; + walletClient?: WalletClient; +} + +// Action parameters +export interface TransferParams { + fromChain: SupportedChain; + toAddress: Address; + amount: string; + data?: `0x${string}`; +} + +export interface SwapParams { + chain: SupportedChain; + fromToken: Address; + toToken: Address; + amount: string; + slippage?: number; +} + +export interface BridgeParams { + fromChain: SupportedChain; + toChain: SupportedChain; + fromToken: Address; + toToken: Address; + amount: string; + toAddress?: Address; +} + +// Plugin configuration +export interface EvmPluginConfig { + rpcUrl?: { + ethereum?: string; + abstract?: string; + base?: string; + sepolia?: string; + bsc?: string; + arbitrum?: string; + avalanche?: string; + polygon?: string; + optimism?: string; + cronos?: string; + gnosis?: string; + fantom?: string; + klaytn?: string; + celo?: string; + moonbeam?: string; + aurora?: string; + harmonyOne?: string; + moonriver?: string; + arbitrumNova?: string; + mantle?: string; + linea?: string; + scroll?: string; + filecoin?: string; + taiko?: string; + zksync?: string; + canto?: string; + alienx?: string; + }; + secrets?: { + EVM_PRIVATE_KEY: string; + }; + testMode?: boolean; + multicall?: { + batchSize?: number; + wait?: number; + }; +} + +// LiFi types +export type LiFiStatus = { + status: "PENDING" | "DONE" | "FAILED"; + substatus?: string; + error?: Error; +}; + +export type LiFiRoute = { + transactionHash: Hash; + transactionData: `0x${string}`; + toAddress: Address; + status: LiFiStatus; +}; + +// Provider types +export interface TokenData extends Token { + symbol: string; + decimals: number; + address: Address; + name: string; + logoURI?: string; + chainId: number; +} + +export interface TokenPriceResponse { + priceUSD: string; + token: TokenData; +} + +export interface TokenListResponse { + tokens: TokenData[]; +} + +export interface ProviderError extends Error { + code?: number; + data?: unknown; +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/tsconfig.json new file mode 100644 index 000000000..2d8d3fe81 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "./src", + "typeRoots": [ + "./node_modules/@types", + "./src/types" + ], + "declaration": true + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/tsup.config.ts new file mode 100644 index 000000000..a68ccd636 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/tsup.config.ts @@ -0,0 +1,21 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + "viem", + "@lifi/sdk", + ], +}); From beaaa96b33747383308b6c391405dd21ca0458f5 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:51:10 -0800 Subject: [PATCH 084/312] Add plugin-evm to list of plugins in package.json --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 2e51c1177..3f82c84ea 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -8,6 +8,7 @@ "@elizaos/plugin-whatsapp": "file:./packages/react-agents/components/clients/plugin-whatsapp", "@elizaos/plugin-3d-generation": "file:./packages/react-agents/components/plugins/plugin-3d-generation", "@elizaos/plugin-coinbase": "file:./packages/react-agents/components/plugins/plugin-coinbase", + "@elizaos/plugin-evm": "file:./packages/react-agents/components/plugins/plugin-evm", "@elizaos/plugin-flow": "file:./packages/react-agents/components/plugins/plugin-flow", "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", "@elizaos/plugin-image-generation": "file:./packages/react-agents/components/plugins/plugin-image-generation", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 741fefb3d..50ce70aad 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -5,6 +5,7 @@ import util from 'util'; import { ThreeDGenerationPlugin } from '@elizaos/plugin-3d-generation'; import { imageGenerationPlugin } from '@elizaos/plugin-image-generation'; import { nftGenerationPlugin } from '@elizaos/plugin-nft-generation'; +import evmPlugin from '@elizaos/plugin-evm'; import { solanaPlugin } from '@elizaos/plugin-solana'; import { teePlugin } from '@elizaos/plugin-tee'; import { TrustScoreDatabase } from '@elizaos/plugin-trustdb'; @@ -206,6 +207,7 @@ export const plugins = { '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), '@elizaos/plugin-image-generation': pluginWrap(imageGenerationPlugin), '@elizaos/plugin-nft-generation': pluginWrap(nftGenerationPlugin), + '@elizaos/plugin-evm': pluginWrap(evmPlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), '@elizaos/plugin-tee': pluginWrap(teePlugin), '@elizaos/plugin-twitter': pluginWrap(twitterPlugin), From c0fbd16e8ef0b22eaaabc96a89341d5e21bb3bed Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:51:18 -0800 Subject: [PATCH 085/312] Add evm plugin hacks --- .../react-agents/components/plugins/plugin-evm/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/package.json index 30eb88d2f..4283a7212 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-evm", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "@lifi/data-types": "5.15.5", "@lifi/sdk": "3.4.1", "@lifi/types": "16.3.0", From 5dae9b731bba8fb637f506cede9cf2c1ca1086f8 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:51:28 -0800 Subject: [PATCH 086/312] Update lock --- pnpm-lock.yaml | 233 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 211 insertions(+), 22 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f94f01516..9e15dc62f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -948,6 +948,9 @@ importers: '@elizaos/plugin-coinbase': specifier: file:./packages/react-agents/components/plugins/plugin-coinbase version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + '@elizaos/plugin-evm': + specifier: file:./packages/react-agents/components/plugins/plugin-evm + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-flow': specifier: file:./packages/react-agents/components/plugins/plugin-flow version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(@types/react@18.3.16)(@vercel/kv@1.0.1)(bufferutil@4.0.9)(google-protobuf@3.21.4)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) @@ -2208,6 +2211,13 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@bigmi/core@0.0.4': + resolution: {integrity: sha512-PtLwVOtKXeFNm9mk3gcoo5YmmUSSGxZFjBSX7Wh+5ubRlPAq40D8VqngO0R3/gnFflopQJ4y+igPOz+0J2cQ3A==} + peerDependencies: + bitcoinjs-lib: ^7.0.0-rc.0 + bs58: ^6.0.0 + viem: ^2.21.0 + '@cfworker/json-schema@4.0.3': resolution: {integrity: sha512-ZykIcDTVv5UNmKWSTLAs3VukO6NDJkkSKxrgUTDPBkAlORVT3H9n5DbRjRl8xIotklscHdbLIa0b9+y3mQq73g==} @@ -2371,6 +2381,11 @@ packages: '@elizaos/plugin-coinbase@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase, type: directory} + '@elizaos/plugin-evm@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-flow@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow, type: directory} peerDependencies: @@ -3908,6 +3923,19 @@ packages: peerDependencies: '@langchain/core': '>=0.2.21 <0.4.0' + '@lifi/data-types@5.15.5': + resolution: {integrity: sha512-nMlXxVZTClaMNS1fty6BV7E+gyKFnOgYAIMQ1kAJLv97TdLWBwQxUVDWPI5zJKKIT/Y14PJ7H6ONx+5Gq0kRGw==} + + '@lifi/sdk@3.4.1': + resolution: {integrity: sha512-8jctwg+EYj4AFhfLCQbkz9TUwE+8AZtWxfCTSgzl2FBWwgPBgnK4l0OWZ7HejZSt5BXtxtytk2JAphhHtvtCag==} + peerDependencies: + '@solana/wallet-adapter-base': ^0.9.0 + '@solana/web3.js': ^1.93.0 + viem: ^2.16.0 + + '@lifi/types@16.3.0': + resolution: {integrity: sha512-rYMdXRdNOyJb5tI5CXfqxU4k62GiJrElx0DEZ8ZRFYFtljg69X6hrMKER1wVWkRpcB67Ca8SKebLnufy7qCaTw==} + '@lit-labs/ssr-dom-shim@1.2.1': resolution: {integrity: sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==} @@ -5994,6 +6022,16 @@ packages: resolution: {integrity: sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA==} engines: {node: '>=16'} + '@solana/wallet-adapter-base@0.9.23': + resolution: {integrity: sha512-apqMuYwFp1jFi55NxDfvXUX2x1T0Zh07MxhZ/nCCTGys5raSfYUh82zen2BLv8BSDj/JxZ2P/s7jrQZGrX8uAw==} + engines: {node: '>=16'} + peerDependencies: + '@solana/web3.js': ^1.77.3 + + '@solana/wallet-standard-features@1.2.0': + resolution: {integrity: sha512-tUd9srDLkRpe1BYg7we+c4UhRQkq+XQWswsr/L1xfGmoRDF47BPSXf4zE7ZU2GRBGvxtGt7lwJVAufQyQYhxTQ==} + engines: {node: '>=16'} + '@solana/web3.js@1.95.5': resolution: {integrity: sha512-hU9cBrbg1z6gEjLH9vwIckGBVB78Ijm0iZFNk4ocm5OD82piPwuk3MeQ1rfiKD9YQtr95krrcaopb49EmQJlRg==} @@ -7213,6 +7251,14 @@ packages: '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + '@wallet-standard/base@1.1.0': + resolution: {integrity: sha512-DJDQhjKmSNVLKWItoKThJS+CsJQjR9AOBOirBVT1F9YpRyC9oYHE+ZnSf8y8bxUphtKqdQMPVQ2mHohYdRvDVQ==} + engines: {node: '>=16'} + + '@wallet-standard/features@1.1.0': + resolution: {integrity: sha512-hiEivWNztx73s+7iLxsuD1sOJ28xtRix58W7Xnz4XzzA/pF0+aicnWgjOdA10doVDEDZdUuZCIIqG96SFNlDUg==} + engines: {node: '>=16'} + '@walletconnect/core@2.17.3': resolution: {integrity: sha512-57uv0FW4L6H/tmkb1kS2nG41MDguyDgZbGR58nkDUd1TO/HydyiTByVOhFzIxgN331cnY/1G1rMaKqncgdnOFA==} engines: {node: '>=18'} @@ -8003,6 +8049,10 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bip174@3.0.0-rc.1: + resolution: {integrity: sha512-+8P3BpSairVNF2Nee6Ksdc1etIjWjBOi/MH0MwKtq9YaYp+S2Hk2uvup0e8hCT4IKlS58nXJyyQVmW92zPoD4Q==} + engines: {node: '>=18.0.0'} + bip32@4.0.0: resolution: {integrity: sha512-aOGy88DDlVUhspIXJN+dVEtclhIsfAUppD43V0j40cPTld3pv/0X/MlrZSZ6jowIaQQzFwP8M6rFU2z2mVYjDQ==} engines: {node: '>=6.0.0'} @@ -8010,6 +8060,10 @@ packages: bip39@3.1.0: resolution: {integrity: sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==} + bitcoinjs-lib@7.0.0-rc.0: + resolution: {integrity: sha512-7CQgOIbREemKR/NT2uc3uO/fkEy+6CM0sLxboVVY6bv6DbZmPt3gg5Y/hhWgQFeZu5lfTbtVAv32MIxf7lMh4g==} + engines: {node: '>=18.0.0'} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -8096,6 +8150,9 @@ packages: bs58check@2.1.2: resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + bs58check@4.0.0: + resolution: {integrity: sha512-FsGDOnFg9aVI9erdriULkd/JjEWONV/lQE5aYziB5PoBsXRind56lh8doIZIc9X4HoxT5x4bLjMWN1/NB8Zp5g==} + bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -15898,6 +15955,14 @@ packages: uid-promise@1.0.0: resolution: {integrity: sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==} + uint8array-tools@0.0.8: + resolution: {integrity: sha512-xS6+s8e0Xbx++5/0L+yyexukU7pz//Yg6IHg3BKhXotg1JcYtgxVcUctQ0HxLByiJzpAkNFawz1Nz5Xadzo82g==} + engines: {node: '>=14.0.0'} + + uint8array-tools@0.0.9: + resolution: {integrity: sha512-9vqDWmoSXOoi+K14zNaf6LBV51Q8MayF0/IiQs3GlygIKUYtog603e6virExkjjFosfJUBI4LhbQK1iq8IG11A==} + engines: {node: '>=14.0.0'} + uint8arrays@3.1.0: resolution: {integrity: sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==} @@ -16274,6 +16339,14 @@ packages: valibot@0.36.0: resolution: {integrity: sha512-CjF1XN4sUce8sBK9TixrDqFM7RwNkuXdJu174/AwmQUB62QbCQADg5lLe8ldBalFgtj1uKj+pKwDJiNo4Mn+eQ==} + valibot@0.38.0: + resolution: {integrity: sha512-RCJa0fetnzp+h+KN9BdgYOgtsMAG9bfoJ9JSjIhFHobKWVWyzM3jjaeNTdpFK9tQtf3q1sguXeERJ/LcmdFE7w==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -16292,6 +16365,9 @@ packages: varint@5.0.2: resolution: {integrity: sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==} + varuint-bitcoin@2.0.0: + resolution: {integrity: sha512-6QZbU/rHO2ZQYpWFDALCDSRsXbAs1VOEmXAxtbtjLtKuMJ/FQ8YbhfxlaiKv5nklci0M6lZtlZyxo9Q+qNnyog==} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -18071,6 +18147,14 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} + '@bigmi/core@0.0.4(bitcoinjs-lib@7.0.0-rc.0(typescript@5.7.2))(bs58@6.0.0)(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + dependencies: + '@noble/hashes': 1.6.1 + bech32: 2.0.0 + bitcoinjs-lib: 7.0.0-rc.0(typescript@5.7.2) + bs58: 6.0.0 + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + '@cfworker/json-schema@4.0.3': {} '@cloudflare/kv-asset-handler@0.3.4': @@ -18118,7 +18202,7 @@ snapshots: ethers: 6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) node-jose: 2.2.0 secp256k1: 5.0.1 - viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.21.54(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) transitivePeerDependencies: - bufferutil - debug @@ -18422,6 +18506,29 @@ snapshots: - utf-8-validate - zod + '@elizaos/plugin-evm@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1)': + dependencies: + '@lifi/data-types': 5.15.5 + '@lifi/sdk': 3.4.1(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typescript@5.7.2)(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@lifi/types': 16.3.0 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@solana/wallet-adapter-base' + - '@solana/web3.js' + - '@swc/core' + - bufferutil + - jiti + - postcss + - supports-color + - tsx + - typescript + - utf-8-validate + - yaml + - zod + '@elizaos/plugin-flow@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(@types/react@18.3.16)(@vercel/kv@1.0.1)(bufferutil@4.0.9)(google-protobuf@3.21.4)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(utf-8-validate@5.0.10)(whatwg-url@11.0.0)': dependencies: '@onflow/config': 1.5.1 @@ -19528,7 +19635,7 @@ snapshots: dependencies: '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) abitype: 1.0.6(typescript@5.7.2)(zod@3.23.8) - viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) + viem: 2.21.54(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) zod: 3.23.8 transitivePeerDependencies: - bufferutil @@ -20452,6 +20559,27 @@ snapshots: '@langchain/core': 0.3.26(openai@4.76.1(zod@3.24.1)) js-tiktoken: 1.0.15 + '@lifi/data-types@5.15.5': + dependencies: + '@lifi/types': 16.3.0 + + '@lifi/sdk@3.4.1(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(typescript@5.7.2)(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1))': + dependencies: + '@bigmi/core': 0.0.4(bitcoinjs-lib@7.0.0-rc.0(typescript@5.7.2))(bs58@6.0.0)(viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + '@lifi/types': 16.3.0 + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + bech32: 2.0.0 + bitcoinjs-lib: 7.0.0-rc.0(typescript@5.7.2) + bs58: 6.0.0 + viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + transitivePeerDependencies: + - typescript + + '@lifi/types@16.3.0': {} + '@lit-labs/ssr-dom-shim@1.2.1': {} '@lit/reactive-element@1.6.3': @@ -21476,7 +21604,7 @@ snapshots: '@phala/dstack-sdk@0.1.6(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)': optionalDependencies: - viem: 2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + viem: 2.21.54(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) transitivePeerDependencies: - bufferutil - typescript @@ -23445,6 +23573,19 @@ snapshots: dependencies: buffer: 6.0.3 + '@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))': + dependencies: + '@solana/wallet-standard-features': 1.2.0 + '@solana/web3.js': 1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@wallet-standard/base': 1.1.0 + '@wallet-standard/features': 1.1.0 + eventemitter3: 4.0.7 + + '@solana/wallet-standard-features@1.2.0': + dependencies: + '@wallet-standard/base': 1.1.0 + '@wallet-standard/features': 1.1.0 + '@solana/web3.js@1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.26.0 @@ -25501,6 +25642,12 @@ snapshots: '@vue/shared@3.5.13': {} + '@wallet-standard/base@1.1.0': {} + + '@wallet-standard/features@1.1.0': + dependencies: + '@wallet-standard/base': 1.1.0 + '@walletconnect/core@2.17.3(@vercel/kv@1.0.1)(bufferutil@4.0.9)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/heartbeat': 1.2.2 @@ -25925,6 +26072,11 @@ snapshots: typescript: 5.7.2 zod: 3.24.1 + abitype@1.0.7(typescript@5.7.2)(zod@3.23.8): + optionalDependencies: + typescript: 5.7.2 + zod: 3.23.8 + abitype@1.0.7(typescript@5.7.2)(zod@3.24.1): optionalDependencies: typescript: 5.7.2 @@ -26651,6 +26803,11 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 + bip174@3.0.0-rc.1: + dependencies: + uint8array-tools: 0.0.9 + varuint-bitcoin: 2.0.0 + bip32@4.0.0: dependencies: '@noble/hashes': 1.6.1 @@ -26662,6 +26819,18 @@ snapshots: dependencies: '@noble/hashes': 1.6.1 + bitcoinjs-lib@7.0.0-rc.0(typescript@5.7.2): + dependencies: + '@noble/hashes': 1.6.1 + bech32: 2.0.0 + bip174: 3.0.0-rc.1 + bs58check: 4.0.0 + uint8array-tools: 0.0.9 + valibot: 0.38.0(typescript@5.7.2) + varuint-bitcoin: 2.0.0 + transitivePeerDependencies: + - typescript + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -26773,6 +26942,11 @@ snapshots: create-hash: 1.2.0 safe-buffer: 5.2.1 + bs58check@4.0.0: + dependencies: + '@noble/hashes': 1.6.1 + bs58: 6.0.0 + bser@2.1.1: dependencies: node-int64: 0.4.0 @@ -28623,7 +28797,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1): + eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1): dependencies: debug: 3.2.7 enhanced-resolve: 0.9.1 @@ -28651,14 +28825,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1) + eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1) transitivePeerDependencies: - supports-color @@ -28727,7 +28901,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -33517,9 +33691,9 @@ snapshots: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 - '@scure/bip32': 1.5.0 + '@scure/bip32': 1.6.0 '@scure/bip39': 1.5.0 - abitype: 1.0.6(typescript@5.7.2)(zod@3.23.8) + abitype: 1.0.7(typescript@5.7.2)(zod@3.23.8) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.7.2 @@ -33531,9 +33705,9 @@ snapshots: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 - '@scure/bip32': 1.5.0 + '@scure/bip32': 1.6.0 '@scure/bip39': 1.5.0 - abitype: 1.0.6(typescript@5.7.2)(zod@3.24.1) + abitype: 1.0.7(typescript@5.7.2)(zod@3.24.1) eventemitter3: 5.0.1 optionalDependencies: typescript: 5.7.2 @@ -36749,6 +36923,10 @@ snapshots: uid-promise@1.0.0: {} + uint8array-tools@0.0.8: {} + + uint8array-tools@0.0.9: {} + uint8arrays@3.1.0: dependencies: multiformats: 9.9.0 @@ -36944,6 +37122,7 @@ snapshots: '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) '@elizaos/plugin-3d-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + '@elizaos/plugin-evm': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-flow': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-image-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) @@ -37025,6 +37204,8 @@ snapshots: - '@onflow/util-config' - '@planetscale/database' - '@react-native-async-storage/async-storage' + - '@solana/wallet-adapter-base' + - '@solana/web3.js' - '@swc/core' - '@types/node' - '@types/react' @@ -37258,6 +37439,10 @@ snapshots: valibot@0.36.0: {} + valibot@0.38.0(typescript@5.7.2): + optionalDependencies: + typescript: 5.7.2 + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -37280,6 +37465,10 @@ snapshots: varint@5.0.2: {} + varuint-bitcoin@2.0.0: + dependencies: + uint8array-tools: 0.0.8 + vary@1.1.2: {} vercel@34.4.0(@swc/core@1.10.1(@swc/helpers@0.5.13)): @@ -37324,15 +37513,15 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8): + viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): dependencies: '@noble/curves': 1.6.0 '@noble/hashes': 1.5.0 '@scure/bip32': 1.5.0 '@scure/bip39': 1.4.0 - abitype: 1.0.6(typescript@5.7.2)(zod@3.23.8) + abitype: 1.0.6(typescript@5.7.2)(zod@3.24.1) isows: 1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - ox: 0.1.2(typescript@5.7.2)(zod@3.23.8) + ox: 0.1.2(typescript@5.7.2)(zod@3.24.1) webauthn-p256: 0.0.10 ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) optionalDependencies: @@ -37342,15 +37531,15 @@ snapshots: - utf-8-validate - zod - viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + viem@2.21.54(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8): dependencies: - '@noble/curves': 1.6.0 - '@noble/hashes': 1.5.0 - '@scure/bip32': 1.5.0 - '@scure/bip39': 1.4.0 - abitype: 1.0.6(typescript@5.7.2)(zod@3.24.1) + '@noble/curves': 1.7.0 + '@noble/hashes': 1.6.1 + '@scure/bip32': 1.6.0 + '@scure/bip39': 1.5.0 + abitype: 1.0.7(typescript@5.7.2)(zod@3.23.8) isows: 1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - ox: 0.1.2(typescript@5.7.2)(zod@3.24.1) + ox: 0.1.2(typescript@5.7.2)(zod@3.23.8) webauthn-p256: 0.0.10 ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) optionalDependencies: @@ -38019,7 +38208,7 @@ snapshots: eslint-config-xo: 0.45.0(eslint@8.57.1) eslint-config-xo-typescript: 5.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) eslint-formatter-pretty: 6.0.1 - eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0)(webpack@5.97.1) + eslint-import-resolver-webpack: 0.13.10(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1))(webpack@5.97.1) eslint-plugin-ava: 14.0.0(eslint@8.57.1) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-webpack@0.13.10)(eslint@8.57.1) From e9ec2a633e25215a8b34325de2ce54b9c1565f98 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:51:50 -0800 Subject: [PATCH 087/312] Add gitbook plugin source --- .../plugins/plugin-gitbook/eslint.config.mjs | 3 + .../plugins/plugin-gitbook/package.json | 26 ++++ .../plugins/plugin-gitbook/src/index.ts | 14 ++ .../plugin-gitbook/src/providers/gitbook.ts | 145 ++++++++++++++++++ .../plugins/plugin-gitbook/src/types.ts | 18 +++ .../plugins/plugin-gitbook/tsconfig.json | 13 ++ .../plugins/plugin-gitbook/tsup.config.ts | 12 ++ 7 files changed, 231 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/providers/gitbook.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/types.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json new file mode 100644 index 000000000..54ac0210c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json @@ -0,0 +1,26 @@ +{ + "name": "@elizaos/plugin-gitbook", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + } + }, + "files": [ + "dist" + ], + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest", + "lint": "eslint --fix --cache ." + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/index.ts new file mode 100644 index 000000000..c44002e05 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/index.ts @@ -0,0 +1,14 @@ +import { Plugin } from "@elizaos/core"; +import { gitbookProvider } from "./providers/gitbook"; + +export const gitbookPlugin: Plugin = { + name: "GitBook Documentation", + description: "Plugin for querying GitBook documentation", + actions: [], + providers: [gitbookProvider], + evaluators: [] +}; + +export default gitbookPlugin; + +export * from './types'; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/providers/gitbook.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/providers/gitbook.ts new file mode 100644 index 000000000..abd407f4f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/providers/gitbook.ts @@ -0,0 +1,145 @@ +import { + Provider, + IAgentRuntime, + Memory, + State, + elizaLogger, +} from "@elizaos/core"; +import { GitBookResponse, GitBookClientConfig } from "../types"; + +function cleanText(text: string): string { + const cleaned = text + .replace(/<@!?\d+>/g, "") // Discord mentions + .replace(/<#\d+>/g, "") // Discord channels + .replace(/<@&\d+>/g, "") // Discord roles + .replace(/(?:^|\s)@[\w_]+/g, "") // Platform mentions + .trim(); + + return cleaned; +} + +async function validateQuery( + runtime: IAgentRuntime, + text: string +): Promise { + // Default general queries - everything else comes from config + const keywords = { + generalQueries: [ + "how", + "what", + "where", + "explain", + "show", + "tell", + "can", + "does", + "is", + "are", + "will", + "why", + "benefits", + "features", + "cost", + "price", + "use", + "using", + "work", + "access", + "get", + ], + }; + + try { + const gitbookConfig = runtime.character.clientConfig + ?.gitbook as GitBookClientConfig; + + // Get project terms and document triggers from config + const projectTerms = gitbookConfig?.keywords?.projectTerms || []; + const documentTriggers = gitbookConfig?.documentTriggers || []; + + // Merge any additional general queries from config + if (gitbookConfig?.keywords?.generalQueries) { + keywords.generalQueries = [ + ...keywords.generalQueries, + ...gitbookConfig.keywords.generalQueries, + ]; + } + + const containsAnyWord = (text: string, words: string[] = []) => { + return ( + words.length === 0 || + words.some((word) => { + if (word.includes(" ")) { + return text.includes(word.toLowerCase()); + } + const regex = new RegExp(`\\b${word}\\b`, "i"); + return regex.test(text); + }) + ); + }; + + const hasProjectTerm = containsAnyWord(text, projectTerms); + const hasDocTrigger = containsAnyWord(text, documentTriggers); + const hasGeneralQuery = containsAnyWord(text, keywords.generalQueries); + + const isValid = hasProjectTerm || hasDocTrigger || hasGeneralQuery; + + elizaLogger.info(`✅ Is GitBook Validation Result: ${isValid}`); + return isValid; + } catch (error) { + elizaLogger.warn(`❌ Error in GitBook validation:\n${error}`); + return false; + } +} + +export const gitbookProvider: Provider = { + get: async ( + runtime: IAgentRuntime, + message: Memory, + _state?: State + ): Promise => { + try { + const spaceId = runtime.getSetting("GITBOOK_SPACE_ID"); + if (!spaceId) { + elizaLogger.error("⚠️ GitBook Space ID not configured"); + return ""; + } + + const text = message.content.text.toLowerCase().trim(); + const isValidQuery = await validateQuery(runtime, text); + + if (!isValidQuery) { + elizaLogger.info("⚠️ GitBook Query validation failed"); + return ""; + } + + const cleanedQuery = cleanText(message.content.text); + + const response = await fetch( + `https://api.gitbook.com/v1/spaces/${spaceId}/search/ask`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + query: cleanedQuery, + variables: {}, + }), + } + ); + + if (!response.ok) { + elizaLogger.error("❌ GitBook API error:", response.status); + return ""; + } + + const result: GitBookResponse = await response.json(); + + return result.answer?.text || ""; + } catch (error) { + elizaLogger.error("❌ Error in GitBook provider:", error); + return ""; + } + }, +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/types.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/types.ts new file mode 100644 index 000000000..e336c936a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/src/types.ts @@ -0,0 +1,18 @@ +// GitBook API response type +export interface GitBookResponse { + answer?: { + text: string; + }; + error?: string; +} + +// Client configuration in character.json (all optional) +export interface GitBookKeywords { + projectTerms?: string[]; + generalQueries?: string[]; +} + +export interface GitBookClientConfig { + keywords?: GitBookKeywords; + documentTriggers?: string[]; +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/tsconfig.json new file mode 100644 index 000000000..7251ebee3 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": ".", + "types": [ + "node" + ] + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/tsup.config.ts new file mode 100644 index 000000000..b3cda18ce --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/tsup.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], + external: [ + "@elizaos/core" + ], +}); From 05ca8c8b1bf514b5ca1e4fb39df5756de2c12cd1 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:53:17 -0800 Subject: [PATCH 088/312] Hook in gitbook plugin --- .../packages/react-agents/components/plugins/index.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 50ce70aad..ab8718e7d 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -5,6 +5,7 @@ import util from 'util'; import { ThreeDGenerationPlugin } from '@elizaos/plugin-3d-generation'; import { imageGenerationPlugin } from '@elizaos/plugin-image-generation'; import { nftGenerationPlugin } from '@elizaos/plugin-nft-generation'; +import gitbookPlugin from '@elizaos/plugin-gitbook'; import evmPlugin from '@elizaos/plugin-evm'; import { solanaPlugin } from '@elizaos/plugin-solana'; import { teePlugin } from '@elizaos/plugin-tee'; @@ -207,6 +208,7 @@ export const plugins = { '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), '@elizaos/plugin-image-generation': pluginWrap(imageGenerationPlugin), '@elizaos/plugin-nft-generation': pluginWrap(nftGenerationPlugin), + '@elizaos/plugin-gitbook': pluginWrap(gitbookPlugin), '@elizaos/plugin-evm': pluginWrap(evmPlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), '@elizaos/plugin-tee': pluginWrap(teePlugin), From ac3ca0d8b50efaf68161f680831d15ca3ce14f17 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:53:26 -0800 Subject: [PATCH 089/312] Add gitbook plugin hacks --- .../components/plugins/plugin-gitbook/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json index 54ac0210c..4be62e6d5 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json @@ -1,9 +1,8 @@ { "name": "@elizaos/plugin-gitbook", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "exports": { ".": { "import": "./dist/index.js", @@ -14,7 +13,6 @@ "dist" ], "dependencies": { - "@elizaos/core": "workspace:*", "tsup": "8.3.5" }, "scripts": { From 97e3fb811c5722e363fb6aca334f4bc20215cd81 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:57:11 -0800 Subject: [PATCH 090/312] More gitbook plugin hacks --- .../components/plugins/plugin-gitbook/package.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json index 4be62e6d5..59c68af26 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook/package.json @@ -3,15 +3,6 @@ "version": "0.1.7-alpha.2", "main": "src/index.ts", "type": "module", - "exports": { - ".": { - "import": "./dist/index.js", - "types": "./dist/index.d.ts" - } - }, - "files": [ - "dist" - ], "dependencies": { "tsup": "8.3.5" }, From 710fbf13f269b1f9fea95e70ee329895bc0fd6c5 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:57:33 -0800 Subject: [PATCH 091/312] Add plugin-gitbook to upstreet-agent dependencies --- packages/usdk/packages/upstreet-agent/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 3f82c84ea..b58fd12ad 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -10,6 +10,7 @@ "@elizaos/plugin-coinbase": "file:./packages/react-agents/components/plugins/plugin-coinbase", "@elizaos/plugin-evm": "file:./packages/react-agents/components/plugins/plugin-evm", "@elizaos/plugin-flow": "file:./packages/react-agents/components/plugins/plugin-flow", + "@elizaos/plugin-gitbook": "file:./packages/react-agents/components/plugins/plugin-gitbook", "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", "@elizaos/plugin-image-generation": "file:./packages/react-agents/components/plugins/plugin-image-generation", "@elizaos/plugin-nft-generation": "file:./packages/react-agents/components/plugins/plugin-nft-generation", From 28f2b30a2d547570ae7648d9ca59477874aa5fef Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:57:41 -0800 Subject: [PATCH 092/312] Update lock --- pnpm-lock.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9e15dc62f..cb4ed48ec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -954,6 +954,9 @@ importers: '@elizaos/plugin-flow': specifier: file:./packages/react-agents/components/plugins/plugin-flow version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(@types/react@18.3.16)(@vercel/kv@1.0.1)(bufferutil@4.0.9)(google-protobuf@3.21.4)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) + '@elizaos/plugin-gitbook': + specifier: file:./packages/react-agents/components/plugins/plugin-gitbook + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) '@elizaos/plugin-goat': specifier: file:./packages/react-agents/components/plugins/plugin-goat version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) @@ -2391,6 +2394,9 @@ packages: peerDependencies: whatwg-url: 7.1.0 + '@elizaos/plugin-gitbook@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook, type: directory} + '@elizaos/plugin-goat@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat, type: directory} peerDependencies: @@ -18619,6 +18625,19 @@ snapshots: - uploadthing - utf-8-validate + '@elizaos/plugin-gitbook@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1)': + dependencies: + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - jiti + - postcss + - supports-color + - tsx + - typescript + - yaml + '@elizaos/plugin-goat@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1)': dependencies: '@goat-sdk/core': 0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10) @@ -37124,6 +37143,7 @@ snapshots: '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) '@elizaos/plugin-evm': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-flow': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) + '@elizaos/plugin-gitbook': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-image-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-nft-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) From a965ccf64c634c03c5492b665bedfdf6ab076ff1 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:58:01 -0800 Subject: [PATCH 093/312] Add near plugin source --- .../components/plugins/plugin-near/.npmignore | 6 + .../plugins/plugin-near/eslint.config.mjs | 3 + .../plugins/plugin-near/package.json | 25 ++ .../plugins/plugin-near/src/actions/swap.ts | 336 ++++++++++++++++++ .../plugin-near/src/actions/transfer.ts | 200 +++++++++++ .../plugins/plugin-near/src/environment.ts | 106 ++++++ .../plugins/plugin-near/src/index.ts | 15 + .../plugin-near/src/providers/wallet.ts | 243 +++++++++++++ .../plugins/plugin-near/tsconfig.json | 21 ++ .../plugins/plugin-near/tsup.config.ts | 12 + 10 files changed, 967 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/actions/swap.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/actions/transfer.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/environment.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/providers/wallet.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/package.json new file mode 100644 index 000000000..b7e74c07d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/package.json @@ -0,0 +1,25 @@ +{ + "name": "@elizaos/plugin-near", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@ref-finance/ref-sdk": "^1.4.6", + "tsup": "8.3.5", + "near-api-js": "5.0.1", + "bignumber.js": "9.1.2", + "node-cache": "5.1.2" + }, + "scripts": { + "build": "tsup --format esm,cjs --dts", + "test": "vitest run", + "test:watch": "vitest", + "lint": "eslint . --fix" + }, + "peerDependencies": { + "whatwg-url": "7.1.0", + "form-data": "4.0.1" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/actions/swap.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/actions/swap.ts new file mode 100644 index 000000000..f11f6b134 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/actions/swap.ts @@ -0,0 +1,336 @@ +import { + ActionExample, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + type Action, + composeContext, + generateObject, +} from "@elizaos/core"; +import { connect, keyStores, utils } from "near-api-js"; +import { + init_env, + ftGetTokenMetadata, + estimateSwap, + instantSwap, + fetchAllPools, + FT_MINIMUM_STORAGE_BALANCE_LARGE, + ONE_YOCTO_NEAR, +} from "@ref-finance/ref-sdk"; +import { walletProvider } from "../providers/wallet"; +import { KeyPairString } from "near-api-js/lib/utils"; + +async function checkStorageBalance( + account: any, + contractId: string +): Promise { + try { + const balance = await account.viewFunction({ + contractId, + methodName: "storage_balance_of", + args: { account_id: account.accountId }, + }); + return balance !== null && balance.total !== "0"; + } catch (error) { + console.log(`Error checking storage balance: ${error}`); + return false; + } +} + +async function swapToken( + runtime: IAgentRuntime, + inputTokenId: string, + outputTokenId: string, + amount: string, + slippageTolerance: number = Number( + runtime.getSetting("SLIPPAGE_TOLERANCE") + ) || 0.01 +): Promise { + try { + // Get token metadata + const tokenIn = await ftGetTokenMetadata(inputTokenId); + const tokenOut = await ftGetTokenMetadata(outputTokenId); + const networkId = runtime.getSetting("NEAR_NETWORK") || "testnet"; + const nodeUrl = + runtime.getSetting("RPC_URL") || "https://rpc.testnet.near.org"; + + // Get all pools for estimation + // ratedPools, unRatedPools, + const { simplePools } = await fetchAllPools(); + const swapTodos = await estimateSwap({ + tokenIn, + tokenOut, + amountIn: amount, + simplePools, + options: { + enableSmartRouting: true, + }, + }); + + if (!swapTodos || swapTodos.length === 0) { + throw new Error("No valid swap route found"); + } + + // Get account ID from runtime settings + const accountId = runtime.getSetting("NEAR_ADDRESS"); + if (!accountId) { + throw new Error("NEAR_ADDRESS not configured"); + } + + const secretKey = runtime.getSetting("NEAR_WALLET_SECRET_KEY"); + const keyStore = new keyStores.InMemoryKeyStore(); + const keyPair = utils.KeyPair.fromString(secretKey as KeyPairString); + await keyStore.setKey(networkId, accountId, keyPair); + + const nearConnection = await connect({ + networkId, + keyStore, + nodeUrl, + }); + + const account = await nearConnection.account(accountId); + + // Check storage balance for both tokens + const hasStorageIn = await checkStorageBalance(account, inputTokenId); + const hasStorageOut = await checkStorageBalance(account, outputTokenId); + + const transactions = await instantSwap({ + tokenIn, + tokenOut, + amountIn: amount, + swapTodos, + slippageTolerance, + AccountId: accountId, + }); + + // If storage deposit is needed, add it to transactions + if (!hasStorageIn) { + transactions.unshift({ + receiverId: inputTokenId, + functionCalls: [ + { + methodName: "storage_deposit", + args: { + account_id: accountId, + registration_only: true, + }, + gas: "30000000000000", + amount: FT_MINIMUM_STORAGE_BALANCE_LARGE, + }, + ], + }); + } + + if (!hasStorageOut) { + transactions.unshift({ + receiverId: outputTokenId, + functionCalls: [ + { + methodName: "storage_deposit", + args: { + account_id: accountId, + registration_only: true, + }, + gas: "30000000000000", + amount: FT_MINIMUM_STORAGE_BALANCE_LARGE, + }, + ], + }); + } + + return transactions; + } catch (error) { + console.error("Error in swapToken:", error); + throw error; + } +} + +const swapTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "inputTokenId": "wrap.testnet", + "outputTokenId": "ref.fakes.testnet", + "amount": "1.5" +} +\`\`\` + +{{recentMessages}} + +Given the recent messages and wallet information below: + +{{walletInfo}} + +Extract the following information about the requested token swap: +- Input token ID (the token being sold) +- Output token ID (the token being bought) +- Amount to swap + +Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. The result should be a valid JSON object with the following schema: +\`\`\`json +{ + "inputTokenId": string | null, + "outputTokenId": string | null, + "amount": string | null +} +\`\`\``; + +export const executeSwap: Action = { + name: "EXECUTE_SWAP_NEAR", + similes: [ + "SWAP_TOKENS_NEAR", + "TOKEN_SWAP_NEAR", + "TRADE_TOKENS_NEAR", + "EXCHANGE_TOKENS_NEAR", + ], + validate: async (runtime: IAgentRuntime, message: Memory) => { + console.log("Message:", message); + return true; + }, + description: "Perform a token swap using Ref Finance.", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + // Initialize Ref SDK with testnet environment + init_env(runtime.getSetting("NEAR_NETWORK") || "testnet"); + // Compose state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + const walletInfo = await walletProvider.get(runtime, message, state); + state.walletInfo = walletInfo; + + const swapContext = composeContext({ + state, + template: swapTemplate, + }); + + const response = await generateObject({ + runtime, + context: swapContext, + modelClass: ModelClass.LARGE, + }); + + console.log("Response:", response); + + if ( + !response.inputTokenId || + !response.outputTokenId || + !response.amount + ) { + console.log("Missing required parameters, skipping swap"); + const responseMsg = { + text: "I need the input token ID, output token ID, and amount to perform the swap", + }; + callback?.(responseMsg); + return true; + } + + try { + // Get account credentials + const accountId = runtime.getSetting("NEAR_ADDRESS"); + const secretKey = runtime.getSetting("NEAR_WALLET_SECRET_KEY"); + + if (!accountId || !secretKey) { + throw new Error("NEAR wallet credentials not configured"); + } + + // Create keystore and connect to NEAR + const keyStore = new keyStores.InMemoryKeyStore(); + const keyPair = utils.KeyPair.fromString( + secretKey as KeyPairString + ); + await keyStore.setKey("testnet", accountId, keyPair); + + const nearConnection = await connect({ + networkId: runtime.getSetting("NEAR_NETWORK") || "testnet", + keyStore, + nodeUrl: + runtime.getSetting("RPC_URL") || + "https://rpc.testnet.near.org", + }); + + // Execute swap + const swapResult = await swapToken( + runtime, + response.inputTokenId, + response.outputTokenId, + response.amount, + Number(runtime.getSetting("SLIPPAGE_TOLERANCE")) || 0.01 + ); + + // Sign and send transactions + const account = await nearConnection.account(accountId); + const results = []; + + for (const tx of swapResult) { + for (const functionCall of tx.functionCalls) { + const result = await account.functionCall({ + contractId: tx.receiverId, + methodName: functionCall.methodName, + args: functionCall.args, + gas: functionCall.gas, + attachedDeposit: BigInt( + functionCall.amount === ONE_YOCTO_NEAR + ? "1" + : functionCall.amount + ), + }); + results.push(result); + } + } + + console.log("Swap completed successfully!"); + const txHashes = results.map((r) => r.transaction.hash).join(", "); + + const responseMsg = { + text: `Swap completed successfully! Transaction hashes: ${txHashes}`, + }; + + callback?.(responseMsg); + return true; + } catch (error) { + console.error("Error during token swap:", error); + const responseMsg = { + text: `Error during swap: ${error instanceof Error ? error.message : String(error)}`, + }; + callback?.(responseMsg); + return false; + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + inputTokenId: "wrap.testnet", + outputTokenId: "ref.fakes.testnet", + amount: "1.0", + }, + }, + { + user: "{{user2}}", + content: { + text: "Swapping 1.0 NEAR for REF...", + action: "TOKEN_SWAP", + }, + }, + { + user: "{{user2}}", + content: { + text: "Swap completed successfully! Transaction hash: ...", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/actions/transfer.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/actions/transfer.ts new file mode 100644 index 000000000..f0a2d53b7 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/actions/transfer.ts @@ -0,0 +1,200 @@ +import { + ActionExample, + Content, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + type Action, + composeContext, + generateObject, +} from "@elizaos/core"; +import { connect, keyStores, utils } from "near-api-js"; +import { KeyPairString } from "near-api-js/lib/utils"; +import { utils as nearUtils } from "near-api-js"; +// import BigNumber from "bignumber.js"; + +export interface TransferContent extends Content { + recipient: string; + amount: string | number; + tokenAddress?: string; // Optional for native NEAR transfers +} + +function isTransferContent( + runtime: IAgentRuntime, + content: any +): content is TransferContent { + return ( + typeof content.recipient === "string" && + (typeof content.amount === "string" || + typeof content.amount === "number") + ); +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "recipient": "bob.near", + "amount": "1.5", + "tokenAddress": null +} +\`\`\` + +{{recentMessages}} + +Given the recent messages and wallet information below: + +{{walletInfo}} + +Extract the following information about the requested token transfer: +- Recipient address (NEAR account) +- Amount to transfer +- Token contract address (null for native NEAR transfers) + +Respond with a JSON markdown block containing only the extracted values.`; + +async function transferNEAR( + runtime: IAgentRuntime, + recipient: string, + amount: string +): Promise { + const networkId = runtime.getSetting("NEAR_NETWORK") || "testnet"; + const nodeUrl = + runtime.getSetting("RPC_URL") || "https://rpc.testnet.near.org"; + const accountId = runtime.getSetting("NEAR_ADDRESS"); + const secretKey = runtime.getSetting("NEAR_WALLET_SECRET_KEY"); + + if (!accountId || !secretKey) { + throw new Error("NEAR wallet credentials not configured"); + } + + // Convert amount to yoctoNEAR (1 NEAR = 10^24 yoctoNEAR) + // const yoctoAmount = new BigNumber(amount).multipliedBy(new BigNumber(10).pow(24)).toFixed(0); + + // Create keystore and connect to NEAR + const keyStore = new keyStores.InMemoryKeyStore(); + const keyPair = utils.KeyPair.fromString(secretKey as KeyPairString); + await keyStore.setKey(networkId, accountId, keyPair); + + const nearConnection = await connect({ + networkId, + keyStore, + nodeUrl, + }); + + const account = await nearConnection.account(accountId); + + // Execute transfer + const result = await account.sendMoney( + recipient, + BigInt(nearUtils.format.parseNearAmount(amount)!) + ); + + return result.transaction.hash; +} + +export const executeTransfer: Action = { + name: "SEND_NEAR", + similes: ["TRANSFER_NEAR", "SEND_TOKENS", "TRANSFER_TOKENS", "PAY_NEAR"], + validate: async (_runtime: IAgentRuntime, _message: Memory) => { + return true; // Add your validation logic here + }, + description: "Transfer NEAR tokens to another account", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content + const content = await generateObject({ + runtime, + context: transferContext, + modelClass: ModelClass.SMALL, + }); + + // Validate transfer content + if (!isTransferContent(runtime, content)) { + console.error("Invalid content for TRANSFER_NEAR action."); + if (callback) { + callback({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid transfer content" }, + }); + } + return false; + } + + try { + const txHash = await transferNEAR( + runtime, + content.recipient, + content.amount.toString() + ); + + if (callback) { + callback({ + text: `Successfully transferred ${content.amount} NEAR to ${content.recipient}\nTransaction: ${txHash}`, + content: { + success: true, + signature: txHash, + amount: content.amount, + recipient: content.recipient, + }, + }); + } + + return true; + } catch (error) { + console.error("Error during NEAR transfer:", error); + if (callback) { + callback({ + text: `Error transferring NEAR: ${error}`, + content: { error: error }, + }); + } + return false; + } + }, + + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Send 1.5 NEAR to bob.testnet", + }, + }, + { + user: "{{user2}}", + content: { + text: "I'll send 1.5 NEAR now...", + action: "SEND_NEAR", + }, + }, + { + user: "{{user2}}", + content: { + text: "Successfully sent 1.5 NEAR to bob.testnet\nTransaction: ABC123XYZ", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/environment.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/environment.ts new file mode 100644 index 000000000..eef8c582f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/environment.ts @@ -0,0 +1,106 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { z } from "zod"; + +// Add ENV variable at the top +let ENV: string = "testnet"; + +export const nearEnvSchema = z.object({ + NEAR_WALLET_SECRET_KEY: z.string().min(1, "Wallet secret key is required"), + NEAR_WALLET_PUBLIC_KEY: z.string().min(1, "Wallet public key is required"), + NEAR_ADDRESS: z.string().min(1, "Near address is required"), + SLIPPAGE: z.string().min(1, "Slippage is required"), + RPC_URL: z.string().min(1, "RPC URL is required"), + networkId: z.string(), + nodeUrl: z.string(), + walletUrl: z.string(), + WRAP_NEAR_CONTRACT_ID: z.string(), + REF_FI_CONTRACT_ID: z.string(), + REF_TOKEN_ID: z.string(), + indexerUrl: z.string(), + explorerUrl: z.string(), + REF_DCL_SWAP_CONTRACT_ID: z.string(), +}); + +export type NearConfig = z.infer; + +export function getConfig( + env: string | undefined | null = ENV || + process.env.NEAR_ENV || + process.env.REACT_APP_REF_SDK_ENV +) { + ENV = env || "testnet"; + switch (env) { + case "mainnet": + return { + networkId: "mainnet", + nodeUrl: "https://rpc.mainnet.near.org", + walletUrl: "https://wallet.near.org", + WRAP_NEAR_CONTRACT_ID: "wrap.near", + REF_FI_CONTRACT_ID: "v2.ref-finance.near", + REF_TOKEN_ID: "token.v2.ref-finance.near", + indexerUrl: "https://indexer.ref.finance", + explorerUrl: "https://testnet.nearblocks.io", + REF_DCL_SWAP_CONTRACT_ID: "dclv2.ref-labs.near", + }; + case "testnet": + return { + networkId: "testnet", + nodeUrl: "https://rpc.testnet.near.org", + walletUrl: "https://wallet.testnet.near.org", + indexerUrl: "https://testnet-indexer.ref-finance.com", + WRAP_NEAR_CONTRACT_ID: "wrap.testnet", + REF_FI_CONTRACT_ID: "ref-finance-101.testnet", + REF_TOKEN_ID: "ref.fakes.testnet", + explorerUrl: "https://testnet.nearblocks.io", + REF_DCL_SWAP_CONTRACT_ID: "dclv2.ref-dev.testnet", + }; + default: + return { + networkId: "mainnet", + nodeUrl: "https://rpc.mainnet.near.org", + walletUrl: "https://wallet.near.org", + REF_FI_CONTRACT_ID: "v2.ref-finance.near", + WRAP_NEAR_CONTRACT_ID: "wrap.near", + REF_TOKEN_ID: "token.v2.ref-finance.near", + indexerUrl: "https://indexer.ref.finance", + explorerUrl: "https://nearblocks.io", + REF_DCL_SWAP_CONTRACT_ID: "dclv2.ref-labs.near", + }; + } +} + +export async function validateNearConfig( + runtime: IAgentRuntime +): Promise { + try { + const envConfig = getConfig( + runtime.getSetting("NEAR_ENV") ?? undefined + ); + const config = { + NEAR_WALLET_SECRET_KEY: + runtime.getSetting("NEAR_WALLET_SECRET_KEY") || + process.env.NEAR_WALLET_SECRET_KEY, + NEAR_WALLET_PUBLIC_KEY: + runtime.getSetting("NEAR_PUBLIC_KEY") || + runtime.getSetting("NEAR_WALLET_PUBLIC_KEY") || + process.env.NEAR_WALLET_PUBLIC_KEY, + NEAR_ADDRESS: + runtime.getSetting("NEAR_ADDRESS") || process.env.NEAR_ADDRESS, + SLIPPAGE: runtime.getSetting("SLIPPAGE") || process.env.SLIPPAGE, + RPC_URL: runtime.getSetting("RPC_URL") || process.env.RPC_URL, + ...envConfig, // Spread the environment-specific config + }; + + return nearEnvSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error( + `Near configuration validation failed:\n${errorMessages}` + ); + } + throw error; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/index.ts new file mode 100644 index 000000000..c6832ba5d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/index.ts @@ -0,0 +1,15 @@ +import { Plugin } from "@elizaos/core/src/types"; +import { walletProvider } from "./providers/wallet"; +// import { executeCreateToken } from "./actions/createToken"; +import { executeSwap } from "./actions/swap"; +import { executeTransfer } from "./actions/transfer"; + +export const nearPlugin: Plugin = { + name: "NEAR", + description: "Near Protocol Plugin for Eliza", + providers: [walletProvider], + actions: [executeSwap, executeTransfer], + evaluators: [], +}; + +export default nearPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/providers/wallet.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/providers/wallet.ts new file mode 100644 index 000000000..218398d39 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/src/providers/wallet.ts @@ -0,0 +1,243 @@ +import { IAgentRuntime, Memory, Provider, State } from "@elizaos/core"; +import { KeyPair, keyStores, connect, Account, utils } from "near-api-js"; +import BigNumber from "bignumber.js"; +import { KeyPairString } from "near-api-js/lib/utils"; +import NodeCache from "node-cache"; + +const PROVIDER_CONFIG = { + networkId: process.env.NEAR_NETWORK || "testnet", + nodeUrl: + process.env.RPC_URL || + `https://rpc.${process.env.NEAR_NETWORK || "testnet"}.near.org`, + walletUrl: `https://${process.env.NEAR_NETWORK || "testnet"}.mynearwallet.com/`, + helperUrl: `https://helper.${process.env.NEAR_NETWORK || "testnet"}.near.org`, + explorerUrl: `https://${process.env.NEAR_NETWORK || "testnet"}.nearblocks.io`, + MAX_RETRIES: 3, + RETRY_DELAY: 2000, + SLIPPAGE: process.env.SLIPPAGE ? parseInt(process.env.SLIPPAGE) : 1, +}; + +export interface NearToken { + name: string; + symbol: string; + decimals: number; + balance: string; + uiAmount: string; + priceUsd: string; + valueUsd: string; + valueNear?: string; +} + +interface WalletPortfolio { + totalUsd: string; + totalNear?: string; + tokens: Array; +} + +export class WalletProvider implements Provider { + private cache: NodeCache; + private account: Account | null = null; + private keyStore: keyStores.InMemoryKeyStore; + constructor(private accountId: string) { + this.cache = new NodeCache({ stdTTL: 300 }); // Cache TTL set to 5 minutes + this.keyStore = new keyStores.InMemoryKeyStore(); + } + + async get( + runtime: IAgentRuntime, + _message: Memory, + _state?: State + ): Promise { + try { + return await this.getFormattedPortfolio(runtime); + } catch (error) { + console.error("Error in wallet provider:", error); + return null; + } + } + + public async connect(runtime: IAgentRuntime) { + if (this.account) return this.account; + + const secretKey = runtime.getSetting("NEAR_WALLET_SECRET_KEY"); + const publicKey = runtime.getSetting("NEAR_WALLET_PUBLIC_KEY"); + + if (!secretKey || !publicKey) { + throw new Error("NEAR wallet credentials not configured"); + } + + // Create KeyPair from secret key + const keyPair = KeyPair.fromString(secretKey as KeyPairString); + + // Set the key in the keystore + await this.keyStore.setKey( + PROVIDER_CONFIG.networkId, + this.accountId, + keyPair + ); + + const nearConnection = await connect({ + networkId: PROVIDER_CONFIG.networkId, + keyStore: this.keyStore, + nodeUrl: PROVIDER_CONFIG.nodeUrl, + walletUrl: PROVIDER_CONFIG.walletUrl, + helperUrl: PROVIDER_CONFIG.helperUrl, + }); + + this.account = await nearConnection.account(this.accountId); + return this.account; + } + + private async fetchWithRetry( + url: string, + options: RequestInit = {} + ): Promise { + let lastError: Error; + + for (let i = 0; i < PROVIDER_CONFIG.MAX_RETRIES; i++) { + try { + const response = await fetch(url, options); + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + return await response.json(); + } catch (error) { + console.error(`Attempt ${i + 1} failed:`, error); + lastError = error as Error; + if (i < PROVIDER_CONFIG.MAX_RETRIES - 1) { + await new Promise((resolve) => + setTimeout( + resolve, + PROVIDER_CONFIG.RETRY_DELAY * Math.pow(2, i) + ) + ); + } + } + } + throw lastError!; + } + + async fetchPortfolioValue( + runtime: IAgentRuntime + ): Promise { + try { + const cacheKey = `portfolio-${this.accountId}`; + const cachedValue = this.cache.get(cacheKey); + + if (cachedValue) { + console.log("Cache hit for fetchPortfolioValue"); + return cachedValue; + } + + const account = await this.connect(runtime); + const balance = await account.getAccountBalance(); + + // Convert yoctoNEAR to NEAR + const nearBalance = utils.format.formatNearAmount( + balance.available + ); + + // Fetch NEAR price in USD + const nearPrice = await this.fetchNearPrice(); + const valueUsd = new BigNumber(nearBalance).times(nearPrice); + + const portfolio: WalletPortfolio = { + totalUsd: valueUsd.toString(), + totalNear: nearBalance, + tokens: [ + { + name: "NEAR Protocol", + symbol: "NEAR", + decimals: 24, + balance: balance.available, + uiAmount: nearBalance, + priceUsd: nearPrice.toString(), + valueUsd: valueUsd.toString(), + }, + ], + }; + + this.cache.set(cacheKey, portfolio); + return portfolio; + } catch (error) { + console.error("Error fetching portfolio:", error); + throw error; + } + } + + private async fetchNearPrice(): Promise { + const cacheKey = "near-price"; + const cachedPrice = this.cache.get(cacheKey); + + if (cachedPrice) { + return cachedPrice; + } + + try { + const response = await this.fetchWithRetry( + "https://api.coingecko.com/api/v3/simple/price?ids=near&vs_currencies=usd" + ); + const price = response.near.usd; + this.cache.set(cacheKey, price); + return price; + } catch (error) { + console.error("Error fetching NEAR price:", error); + return 0; + } + } + + formatPortfolio( + runtime: IAgentRuntime, + portfolio: WalletPortfolio + ): string { + let output = `${runtime.character.system}\n`; + output += `Account ID: ${this.accountId}\n\n`; + + const totalUsdFormatted = new BigNumber(portfolio.totalUsd).toFixed(2); + const totalNearFormatted = portfolio.totalNear; + + output += `Total Value: $${totalUsdFormatted} (${totalNearFormatted} NEAR)\n\n`; + output += "Token Balances:\n"; + + for (const token of portfolio.tokens) { + output += `${token.name} (${token.symbol}): ${token.uiAmount} ($${new BigNumber(token.valueUsd).toFixed(2)})\n`; + } + + output += "\nMarket Prices:\n"; + output += `NEAR: $${new BigNumber(portfolio.tokens[0].priceUsd).toFixed(2)}\n`; + + return output; + } + + async getFormattedPortfolio(runtime: IAgentRuntime): Promise { + try { + const portfolio = await this.fetchPortfolioValue(runtime); + return this.formatPortfolio(runtime, portfolio); + } catch (error) { + console.error("Error generating portfolio report:", error); + return "Unable to fetch wallet information. Please try again later."; + } + } +} + +const walletProvider: Provider = { + get: async ( + runtime: IAgentRuntime, + _message: Memory, + _state?: State + ): Promise => { + try { + const accountId = runtime.getSetting("NEAR_ADDRESS"); + if (!accountId) { + throw new Error("NEAR_ADDRESS not configured"); + } + const provider = new WalletProvider(accountId); + return await provider.getFormattedPortfolio(runtime); + } catch (error) { + console.error("Error in wallet provider:", error); + return null; + } + }, +}; + +export { walletProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/tsconfig.json new file mode 100644 index 000000000..95cbe371a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ES2020", + "module": "ESNext", + "moduleResolution": "node", + "outDir": "dist", + "rootDir": "./src", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "typeRoots": [ + "./node_modules/@types", + "./src/types" + ], + "declaration": true + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/tsup.config.ts new file mode 100644 index 000000000..96d9c2373 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/tsup.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + format: ["esm", "cjs"], + dts: true, + splitting: false, + sourcemap: true, + clean: true, + shims: true, + treeshake: true +}); From c3121090c87b789a82311135db71e181a3568465 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 20:58:27 -0800 Subject: [PATCH 094/312] Remove npmignore --- .../react-agents/components/plugins/plugin-near/.npmignore | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file From 1df87fc72a9962521aea23944984d0dc4d0dc28c Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:01:07 -0800 Subject: [PATCH 095/312] Add near plugin hacks --- .../react-agents/components/plugins/plugin-near/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/package.json index b7e74c07d..baff5b0e1 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-near", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "@ref-finance/ref-sdk": "^1.4.6", "tsup": "8.3.5", "near-api-js": "5.0.1", From 2b4c2a7d03306e6489e547123a8a5f2537faf6ad Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:18:44 -0800 Subject: [PATCH 096/312] Add plugin-near to the list of plugins --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index b58fd12ad..278b88cec 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -13,6 +13,7 @@ "@elizaos/plugin-gitbook": "file:./packages/react-agents/components/plugins/plugin-gitbook", "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", "@elizaos/plugin-image-generation": "file:./packages/react-agents/components/plugins/plugin-image-generation", + "@elizaos/plugin-near": "file:./packages/react-agents/components/plugins/plugin-near", "@elizaos/plugin-nft-generation": "file:./packages/react-agents/components/plugins/plugin-nft-generation", "@elizaos/plugin-solana": "file:./packages/react-agents/components/plugins/plugin-solana", "@elizaos/plugin-story": "file:./packages/react-agents/components/plugins/plugin-story", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index ab8718e7d..4f400c09b 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -8,6 +8,7 @@ import { nftGenerationPlugin } from '@elizaos/plugin-nft-generation'; import gitbookPlugin from '@elizaos/plugin-gitbook'; import evmPlugin from '@elizaos/plugin-evm'; import { solanaPlugin } from '@elizaos/plugin-solana'; +import nearPlugin from '@elizaos/plugin-near'; import { teePlugin } from '@elizaos/plugin-tee'; import { TrustScoreDatabase } from '@elizaos/plugin-trustdb'; import { twitterPlugin } from '@elizaos/plugin-twitter'; @@ -211,6 +212,7 @@ export const plugins = { '@elizaos/plugin-gitbook': pluginWrap(gitbookPlugin), '@elizaos/plugin-evm': pluginWrap(evmPlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), + '@elizaos/plugin-near': pluginWrap(nearPlugin), '@elizaos/plugin-tee': pluginWrap(teePlugin), '@elizaos/plugin-twitter': pluginWrap(twitterPlugin), '@elizaos/plugin-coinbase': pluginWrapObject(coinbasePlugins), From 2abd52bcbe0d0486a6c641b0c027444fc90ed3a6 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:18:54 -0800 Subject: [PATCH 097/312] Update lock --- pnpm-lock.yaml | 525 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 525 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb4ed48ec..b25708e58 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -963,6 +963,9 @@ importers: '@elizaos/plugin-image-generation': specifier: file:./packages/react-agents/components/plugins/plugin-image-generation version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-near': + specifier: file:./packages/react-agents/components/plugins/plugin-near + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near(@swc/core@1.10.1(@swc/helpers@0.5.13))(form-data@4.0.1)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-nft-generation': specifier: file:./packages/react-agents/components/plugins/plugin-nft-generation version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) @@ -2407,6 +2410,12 @@ packages: peerDependencies: whatwg-url: 7.1.0 + '@elizaos/plugin-near@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near, type: directory} + peerDependencies: + form-data: 4.0.1 + whatwg-url: 7.1.0 + '@elizaos/plugin-nft-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation, type: directory} peerDependencies: @@ -4261,6 +4270,44 @@ packages: '@ndelangen/get-tarball@3.0.9': resolution: {integrity: sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==} + '@near-js/accounts@1.3.1': + resolution: {integrity: sha512-LAUN5L31JKtuXD9xS6D98GLtjG8KL9z761RvTYH6FMAwTFiyPed2M65mKNThGj3Zq46vWRGML0rJ2rlnXvewrA==} + + '@near-js/crypto@1.4.1': + resolution: {integrity: sha512-hbricJD0H8nwu63Zw16UZQg3ms2W9NwDBsLt3OEtudTcu9q1MRrVZWc7ATjdmTvhkcgmouEFc6oLBsOxnmSLCA==} + + '@near-js/keystores-browser@0.2.1': + resolution: {integrity: sha512-wF7UUDccnkVxdWqVgladupiXkrBmxNK9ilZg6zg9a11xtrDUpnjmWF4ON4tl1lJWF0XdTJmGdOrgOQZQDBQ79g==} + + '@near-js/keystores-node@0.1.1': + resolution: {integrity: sha512-ht69dVB0IAX2RckOlBCCTxl7e8X29EYqgL4KE83Sg+cAwsQctAjVLpor5RbgJhg1iYY5BhIK5JgI0pTOJRAHxA==} + + '@near-js/keystores@0.2.1': + resolution: {integrity: sha512-KTeqSB+gx5LZNC9VGtHDe+aEiJts6e3nctMnnn/gqIgvW7KJ+BzcmTZZpxCmQLcy+s7hHSpzmyTVRkaCuYjCcQ==} + + '@near-js/providers@1.0.1': + resolution: {integrity: sha512-a1rU+JjTes/fdpnP/SLRQuWAK80os1DoHw2sszg/ccA9byTdI/CM6eKinrWJrO5i86IARfigOgjCJhrzPscvuQ==} + + '@near-js/signers@0.2.1': + resolution: {integrity: sha512-l1PnUy4e8NQe5AAHs7mEuWbbUt0rrsZLtcK1UlFaA16MKZmxXdHLMBfUmzyMA4bGzwkyUyGtIebkR+KjBfpEog==} + + '@near-js/transactions@1.3.1': + resolution: {integrity: sha512-kL9hxUqBr+tILQHFsh5T/bz3UkJrAq5tnyFqh0xf+7qGXZuRIPfuW/HMq4M6wFw0MGi/8ycmDT3yTQFH7PzZqw==} + + '@near-js/types@0.3.1': + resolution: {integrity: sha512-8qIA7ynAEAuVFNAQc0cqz2xRbfyJH3PaAG5J2MgPPhD18lu/tCGd6pzYg45hjhtiJJRFDRjh/FUWKS+ZiIIxUw==} + + '@near-js/utils@1.0.1': + resolution: {integrity: sha512-MzCAspVJJLrURnSbq059s6cWon2/qbbBVl+Ib1yBOMTs/6EuJ7GRvuSmtmSB7l9Hjjmz8Imn1aB2q3RVYZSbrA==} + + '@near-js/wallet-account@1.3.1': + resolution: {integrity: sha512-POOKarJnYsTK0zEXygm43ecGlraPl5qagQHl+By5bk0zQFgeKaoFIJK/n04xUoGBhZTBIVp1/q7q3O1pB57hqg==} + + '@near-wallet-selector/core@7.9.3': + resolution: {integrity: sha512-SNIgLnI/LeU1mwBHc5wcyOrVAqhWmFXJfVIfB1P16ziH3EKMsbs/gxcKUSPuvDagm9dZm11k+FA7bxSspavibA==} + peerDependencies: + near-api-js: ^0.44.2 || ^1.0.0 + '@next/env@14.2.14': resolution: {integrity: sha512-/0hWQfiaD5//LvGNgc8PjvyqV50vGK0cADYzaoOOGN8fxzBn3iAiaq3S0tCRnFBldq0LVveLcxCTi41ZoYgAgg==} @@ -4435,6 +4482,10 @@ packages: resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} + '@noble/hashes@1.3.3': + resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} + engines: {node: '>= 16'} + '@noble/hashes@1.5.0': resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} @@ -5582,6 +5633,11 @@ packages: '@raydium-io/raydium-sdk-v2@0.1.82-alpha': resolution: {integrity: sha512-PScLnWZV5Y/igcvP4hbD/1ztzW2w5a2YStolu9A5VT6uB2q+izeo+SE7IqzZggyaReXyisjdkNGpB/kMdkdJGQ==} + '@react-icons/all-files@4.1.0': + resolution: {integrity: sha512-hxBI2UOuVaI3O/BhQfhtb4kcGn9ft12RWAFVMUeNjqqhLsHvFtzIkFaptBJpFDANTKoDfdVoHTKZDlwKCACbMQ==} + peerDependencies: + react: '*' + '@react-spring/animated@9.7.5': resolution: {integrity: sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==} peerDependencies: @@ -5659,6 +5715,12 @@ packages: react: '>=18.0.0' three: '>=0.139.0' + '@ref-finance/ref-sdk@1.4.6': + resolution: {integrity: sha512-HVmcV+lhE+4+RwlDkgnFHwymrplHFlwsIwYZASE2XbGQjSY0sF3wceJkz671II3Us/KcRl1wp23ASSzza+/pbg==} + engines: {node: '>=10'} + peerDependencies: + react: '>=16' + '@resvg/resvg-wasm@2.4.0': resolution: {integrity: sha512-C7c51Nn4yTxXFKvgh2txJFNweaVcfUPQxwEUFw4aWsCmfiBDJsTSwviIF8EcwjQ6k8bPyMWCl1vw4BdxE569Cg==} engines: {node: '>= 10'} @@ -6615,6 +6677,12 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + '@types/big.js@6.2.2': + resolution: {integrity: sha512-e2cOW9YlVzFY2iScnGBBkplKsrn2CsObHQ2Hiw4V1sSyiGbgWL8IyqE3zFi1Pt5o1pdAtYkDAIsF3KKUPjdzaA==} + + '@types/bn.js@5.1.6': + resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} + '@types/body-parser@1.19.5': resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} @@ -7996,6 +8064,11 @@ packages: bare-events@2.5.0: resolution: {integrity: sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==} + base-x@2.0.6: + resolution: {integrity: sha512-UAmjxz9KbK+YIi66xej+pZVo/vxUOh49ubEvZW5egCbxhur05pBb+hwuireQwKO4nDpsNm64/jEei17LEpsr5g==} + engines: {node: '>=4.5.0'} + deprecated: use 3.0.0 instead, safe-buffer has been merged and release for compatability + base-x@3.0.10: resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} @@ -8088,6 +8161,9 @@ packages: bn.js@4.12.1: resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} + bn.js@5.2.0: + resolution: {integrity: sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==} + bn.js@5.2.1: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} @@ -8102,9 +8178,15 @@ packages: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + borsh@0.6.0: + resolution: {integrity: sha512-sl5k89ViqsThXQpYa9XDtz1sBl3l1lI313cFUY1HKr+wvMILnb+58xpkqTNrYbelh99dY7K8usxoCusQmqix9Q==} + borsh@0.7.0: resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + borsh@1.0.0: + resolution: {integrity: sha512-fSVWzzemnyfF89EPwlUNsrS5swF5CrtiN4e+h0/lLf4dz2he4L3ndM20PS9wj7ICSkXJe/TQUHdaPTq15b1mNQ==} + boxen@8.0.1: resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} engines: {node: '>=18'} @@ -8147,6 +8229,9 @@ packages: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} + bs58@4.0.0: + resolution: {integrity: sha512-/jcGuUuSebyxwLLfKrbKnCJttxRf9PM51EnHTwmFKBxl4z1SGkoAhrfd6uZKE0dcjQTfm6XzTP8DPr1tzE4KIw==} + bs58@4.0.1: resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} @@ -8300,6 +8385,9 @@ packages: caniuse-lite@1.0.30001687: resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==} + capability@0.2.5: + resolution: {integrity: sha512-rsJZYVCgXd08sPqwmaIqjAd5SUTfonV0z/gDJ8D6cN8wQphky1kkAYEqQ+hmDxTw7UihvBfjUVUSY+DBEe44jg==} + capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} @@ -8645,6 +8733,9 @@ packages: commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + complex.js@2.4.2: + resolution: {integrity: sha512-qtx7HRhPGSCBtGiST4/WGHuW+zeaND/6Ld+db6PbrulIB1i2Ev/2UPiqcmpQNPSyfBKraC0EOvOKCB5dGZKt3g==} + compress-commons@6.0.2: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} @@ -9496,6 +9587,9 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-polyfill@0.1.3: + resolution: {integrity: sha512-XHJk60ufE+TG/ydwp4lilOog549iiQF2OAPhkk9DdiYWMrltz5yhDz/xnKuenNwP7gy3dsibssO5QpVhkrSzzg==} + error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} @@ -9728,6 +9822,9 @@ packages: escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-latex@1.2.0: + resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==} + escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -10114,6 +10211,9 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + express@4.21.1: resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} engines: {node: '>= 0.10.0'} @@ -10547,6 +10647,12 @@ packages: peerDependencies: next: ^13.2 || ^14 + generate-function@2.3.1: + resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + + generate-object-property@1.2.0: + resolution: {integrity: sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==} + generic-names@4.0.0: resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} @@ -10916,6 +11022,10 @@ packages: resolution: {integrity: sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==} engines: {node: '>= 0.6'} + http-errors@1.7.2: + resolution: {integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==} + engines: {node: '>= 0.6'} + http-errors@1.7.3: resolution: {integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==} engines: {node: '>= 0.6'} @@ -11297,6 +11407,12 @@ packages: is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + is-my-ip-valid@1.0.1: + resolution: {integrity: sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==} + + is-my-json-valid@2.20.6: + resolution: {integrity: sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==} + is-nan@1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} @@ -11357,6 +11473,9 @@ packages: is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} + is-property@1.0.2: + resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + is-proto-prop@2.0.0: resolution: {integrity: sha512-jl3NbQ/fGLv5Jhan4uX+Ge9ohnemqyblWVVCpAvtTQzNFvV2xhJq+esnkIbYQ9F1nITXoLfDDQLp7LBw/zzncg==} @@ -11472,6 +11591,9 @@ packages: isomorphic-fetch@3.0.0: resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} + isomorphic-unfetch@3.1.0: + resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} + isomorphic-ws@4.0.1: resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: @@ -11542,6 +11664,9 @@ packages: engines: {node: '>=10'} hasBin: true + javascript-natural-sort@0.7.1: + resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} + javascript-time-ago@2.5.11: resolution: {integrity: sha512-Zeyf5R7oM1fSMW9zsU3YgAYwE0bimEeF54Udn2ixGd8PUwu+z1Yc5t4Y8YScJDMHD6uCx6giLt3VJR5K4CMwbg==} @@ -11729,6 +11854,9 @@ packages: js-sha1@0.7.0: resolution: {integrity: sha512-oQZ1Mo7440BfLSv9TX87VNEyU52pXPVG19F9PL3gTgNt0tVxlZ8F4O6yze3CLuLx28TxotxvlyepCNaaV0ZjMw==} + js-sha256@0.9.0: + resolution: {integrity: sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==} + js-sha3@0.8.0: resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} @@ -12197,6 +12325,9 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + lru_map@0.4.1: + resolution: {integrity: sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==} + lucide-react@0.330.0: resolution: {integrity: sha512-CQwY+Fpbt2kxCoVhuN0RCZDCYlbYnqB870Bl/vIQf3ER/cnDDQ6moLmEkguRyruAUGd4j3Lc4mtnJosXnqHheA==} peerDependencies: @@ -12270,6 +12401,11 @@ packages: resolution: {integrity: sha512-4MqMiKP90ybymYvsut0CH2g4XWbfLtmlCkXmtmdcDCxNB+mQcu1w/1+L/VD7vi/PSv7X2JYV7SCcR+jiPXnQtA==} engines: {node: '>= 0.4'} + mathjs@9.5.2: + resolution: {integrity: sha512-c0erTq0GP503/Ch2OtDOAn50GIOsuxTMjmE00NI/vKJFSWrDaQHRjx6ai+16xYv70yBSnnpUgHZGNf9FR9IwmA==} + engines: {node: '>= 12'} + hasBin: true + maximatch@0.1.0: resolution: {integrity: sha512-9ORVtDUFk4u/NFfo0vG/ND/z7UQCVZBL539YW0+U1I7H1BkZwizcPx5foFv7LCPcBnm2U6RjFnQOsIvN4/Vm2A==} engines: {node: '>=0.10.0'} @@ -12855,6 +12991,11 @@ packages: multiplayer@file:packages/usdk/packages/upstreet-agent/packages/react-agents-client/packages/multiplayer: resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents-client/packages/multiplayer, type: directory} + mustache@4.0.0: + resolution: {integrity: sha512-FJgjyX/IVkbXBXYUwH+OYwQKqWpFPLaLVESd70yHjSDunwzV2hZOoTBvPf4KLoxesUzzyfTH6F784Uqd7Wm5yA==} + engines: {npm: '>=1.4.0'} + hasBin: true + mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true @@ -12875,6 +13016,15 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + near-abi@0.1.1: + resolution: {integrity: sha512-RVDI8O+KVxRpC3KycJ1bpfVj9Zv+xvq9PlW1yIFl46GhrnLw83/72HqHGjGDjQ8DtltkcpSjY9X3YIGZ+1QyzQ==} + + near-api-js@0.44.2: + resolution: {integrity: sha512-eMnc4V+geggapEUa3nU2p8HSHn/njtloI4P2mceHQWO8vDE1NGpnAw8FuTBrLmXSgIv9m6oocgFc9t3VNf5zwg==} + + near-api-js@5.0.1: + resolution: {integrity: sha512-ZSQYIQdekIvSRfOFuRj6MW11jtK5lsOaiWM2VB0nq7eROuuxwSSXHg+syjCXl3HNNZ3hzg0CNdp+5Za0X1ZtYg==} + negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -13091,6 +13241,9 @@ packages: engines: {node: ^14.16.0 || >=16.10.0} hasBin: true + o3@1.0.3: + resolution: {integrity: sha512-f+4n+vC6s4ysy7YO7O2gslWZBUu8Qj2i2OUJOvjRxQva7jVjYjB29jrr9NCjmxZQR0gzrOcv1RnqoYOeMs5VRQ==} + oauth4webapi@2.17.0: resolution: {integrity: sha512-lbC0Z7uzAFNFyzEYRIC+pkSVvDHJTbEW+dYlSBAlCYDe6RxUkJ26bClhk8ocBZip1wfI9uKTe0fm4Ib4RHn6uQ==} @@ -14758,6 +14911,9 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -14822,6 +14978,10 @@ packages: scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + secp256k1@5.0.0: + resolution: {integrity: sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==} + engines: {node: '>=14.0.0'} + secp256k1@5.0.1: resolution: {integrity: sha512-lDFs9AAIaWP9UCdtWrotXWWF9t8PWgQDcxqgAnpM9rMqxb3Oaq2J0thzPVSxBwdJgyQtkU/sYtFtbM1RSt/iYA==} engines: {node: '>=18.0.0'} @@ -14833,6 +14993,9 @@ packages: secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + seedrandom@3.0.5: + resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} + selfsigned@2.4.1: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} @@ -15634,6 +15797,9 @@ packages: timm@1.7.1: resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==} + tiny-emitter@2.1.0: + resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + tiny-inflate@1.0.3: resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==} @@ -15856,6 +16022,9 @@ packages: tunnel-rat@0.1.2: resolution: {integrity: sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==} + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + twitter-api-sdk@1.2.1: resolution: {integrity: sha512-tNQ6DGYucFk94JlnUMsHCkHg5o1wnCdHh71Y2ukygNVssOdD1gNVjOpaojJrdwbEAhoZvcWdGHerCa55F8HKxQ==} engines: {node: '>=14'} @@ -15931,6 +16100,10 @@ packages: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} + typed-function@2.1.0: + resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==} + engines: {node: '>= 10'} + typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -15947,6 +16120,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + u3@0.1.1: + resolution: {integrity: sha512-+J5D5ir763y+Am/QY6hXNRlwljIeRMZMGs0cT6qqZVVzzT3X3nFPXVyPOFRMOR4kupB0T8JnCdpWdp6Q/iXn3w==} + ucom@file:packages/ucom/src: resolution: {directory: packages/ucom/src, type: directory} @@ -16006,6 +16182,9 @@ packages: unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} + unfetch@4.2.0: + resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} + unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} @@ -18675,6 +18854,48 @@ snapshots: - typescript - yaml + '@elizaos/plugin-near@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near(@swc/core@1.10.1(@swc/helpers@0.5.13))(form-data@4.0.1)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + '@ref-finance/ref-sdk': 1.4.6(react@file:packages/usdk/packages/upstreet-agent/packages/react) + bignumber.js: 9.1.2 + form-data: 4.0.1 + near-api-js: 5.0.1 + node-cache: 5.1.2 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - encoding + - jiti + - postcss + - react + - supports-color + - tsx + - typescript + - yaml + + '@elizaos/plugin-near@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near(@swc/core@1.10.1(@swc/helpers@0.5.13))(form-data@4.0.1)(react@19.0.0-rc-df5f2736-20240712)(typescript@5.7.2)(whatwg-url@11.0.0)': + dependencies: + '@ref-finance/ref-sdk': 1.4.6(react@19.0.0-rc-df5f2736-20240712) + bignumber.js: 9.1.2 + form-data: 4.0.1 + near-api-js: 5.0.1 + node-cache: 5.1.2 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - encoding + - jiti + - postcss + - react + - supports-color + - tsx + - typescript + - yaml + '@elizaos/plugin-nft-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)': dependencies: '@metaplex-foundation/mpl-token-metadata': 3.3.0(@metaplex-foundation/umi@0.9.2) @@ -21039,6 +21260,104 @@ snapshots: pump: 3.0.2 tar-fs: 2.1.1 + '@near-js/accounts@1.3.1': + dependencies: + '@near-js/crypto': 1.4.1 + '@near-js/providers': 1.0.1 + '@near-js/signers': 0.2.1 + '@near-js/transactions': 1.3.1 + '@near-js/types': 0.3.1 + '@near-js/utils': 1.0.1 + '@noble/hashes': 1.3.3 + borsh: 1.0.0 + depd: 2.0.0 + is-my-json-valid: 2.20.6 + isomorphic-unfetch: 3.1.0 + lru_map: 0.4.1 + near-abi: 0.1.1 + transitivePeerDependencies: + - encoding + + '@near-js/crypto@1.4.1': + dependencies: + '@near-js/types': 0.3.1 + '@near-js/utils': 1.0.1 + '@noble/curves': 1.2.0 + borsh: 1.0.0 + randombytes: 2.1.0 + secp256k1: 5.0.0 + + '@near-js/keystores-browser@0.2.1': + dependencies: + '@near-js/crypto': 1.4.1 + '@near-js/keystores': 0.2.1 + + '@near-js/keystores-node@0.1.1': + dependencies: + '@near-js/crypto': 1.4.1 + '@near-js/keystores': 0.2.1 + + '@near-js/keystores@0.2.1': + dependencies: + '@near-js/crypto': 1.4.1 + '@near-js/types': 0.3.1 + + '@near-js/providers@1.0.1': + dependencies: + '@near-js/transactions': 1.3.1 + '@near-js/types': 0.3.1 + '@near-js/utils': 1.0.1 + borsh: 1.0.0 + exponential-backoff: 3.1.1 + isomorphic-unfetch: 3.1.0 + optionalDependencies: + node-fetch: 2.6.7 + transitivePeerDependencies: + - encoding + + '@near-js/signers@0.2.1': + dependencies: + '@near-js/crypto': 1.4.1 + '@near-js/keystores': 0.2.1 + '@noble/hashes': 1.3.3 + + '@near-js/transactions@1.3.1': + dependencies: + '@near-js/crypto': 1.4.1 + '@near-js/signers': 0.2.1 + '@near-js/types': 0.3.1 + '@near-js/utils': 1.0.1 + '@noble/hashes': 1.3.3 + borsh: 1.0.0 + + '@near-js/types@0.3.1': {} + + '@near-js/utils@1.0.1': + dependencies: + '@near-js/types': 0.3.1 + bs58: 4.0.0 + depd: 2.0.0 + mustache: 4.0.0 + + '@near-js/wallet-account@1.3.1': + dependencies: + '@near-js/accounts': 1.3.1 + '@near-js/crypto': 1.4.1 + '@near-js/keystores': 0.2.1 + '@near-js/providers': 1.0.1 + '@near-js/signers': 0.2.1 + '@near-js/transactions': 1.3.1 + '@near-js/types': 0.3.1 + '@near-js/utils': 1.0.1 + borsh: 1.0.0 + transitivePeerDependencies: + - encoding + + '@near-wallet-selector/core@7.9.3(near-api-js@0.44.2)': + dependencies: + near-api-js: 0.44.2 + rxjs: 7.8.1 + '@next/env@14.2.14': {} '@next/env@15.0.0': @@ -21137,6 +21456,8 @@ snapshots: '@noble/hashes@1.3.2': {} + '@noble/hashes@1.3.3': {} + '@noble/hashes@1.5.0': {} '@noble/hashes@1.6.0': {} @@ -22957,6 +23278,14 @@ snapshots: - typescript - utf-8-validate + '@react-icons/all-files@4.1.0(react@19.0.0-rc-df5f2736-20240712)': + dependencies: + react: 19.0.0-rc-df5f2736-20240712 + + '@react-icons/all-files@4.1.0(react@file:packages/usdk/packages/upstreet-agent/packages/react)': + dependencies: + react: file:packages/usdk/packages/upstreet-agent/packages/react + '@react-spring/animated@9.7.5(react@18.2.0)': dependencies: '@react-spring/shared': 9.7.5(react@18.2.0) @@ -23141,6 +23470,40 @@ snapshots: three: 0.167.1 three-stdlib: 2.34.1(three@0.167.1) + '@ref-finance/ref-sdk@1.4.6(react@19.0.0-rc-df5f2736-20240712)': + dependencies: + '@near-wallet-selector/core': 7.9.3(near-api-js@0.44.2) + '@react-icons/all-files': 4.1.0(react@19.0.0-rc-df5f2736-20240712) + '@types/big.js': 6.2.2 + '@types/bn.js': 5.1.6 + '@types/lodash': 4.17.13 + big.js: 6.2.2 + bn.js: 5.2.1 + lodash: 4.17.21 + lodash-es: 4.17.21 + mathjs: 9.5.2 + near-api-js: 0.44.2 + react: 19.0.0-rc-df5f2736-20240712 + transitivePeerDependencies: + - encoding + + '@ref-finance/ref-sdk@1.4.6(react@file:packages/usdk/packages/upstreet-agent/packages/react)': + dependencies: + '@near-wallet-selector/core': 7.9.3(near-api-js@0.44.2) + '@react-icons/all-files': 4.1.0(react@file:packages/usdk/packages/upstreet-agent/packages/react) + '@types/big.js': 6.2.2 + '@types/bn.js': 5.1.6 + '@types/lodash': 4.17.13 + big.js: 6.2.2 + bn.js: 5.2.1 + lodash: 4.17.21 + lodash-es: 4.17.21 + mathjs: 9.5.2 + near-api-js: 0.44.2 + react: file:packages/usdk/packages/upstreet-agent/packages/react + transitivePeerDependencies: + - encoding + '@resvg/resvg-wasm@2.4.0': {} '@rollup/plugin-commonjs@25.0.8(rollup@3.29.5)': @@ -24778,6 +25141,12 @@ snapshots: dependencies: '@babel/types': 7.26.3 + '@types/big.js@6.2.2': {} + + '@types/bn.js@5.1.6': + dependencies: + '@types/node': 18.19.68 + '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 @@ -26772,6 +27141,10 @@ snapshots: bare-events@2.5.0: optional: true + base-x@2.0.6: + dependencies: + safe-buffer: 5.2.1 + base-x@3.0.10: dependencies: safe-buffer: 5.2.1 @@ -26866,6 +27239,8 @@ snapshots: bn.js@4.12.1: {} + bn.js@5.2.0: {} + bn.js@5.2.1: {} body-parser@1.20.3: @@ -26890,12 +27265,20 @@ snapshots: boolean@3.2.0: optional: true + borsh@0.6.0: + dependencies: + bn.js: 5.2.1 + bs58: 4.0.1 + text-encoding-utf-8: 1.0.2 + borsh@0.7.0: dependencies: bn.js: 5.2.1 bs58: 4.0.1 text-encoding-utf-8: 1.0.2 + borsh@1.0.0: {} + boxen@8.0.1: dependencies: ansi-align: 3.0.1 @@ -26947,6 +27330,10 @@ snapshots: dependencies: fast-json-stable-stringify: 2.1.0 + bs58@4.0.0: + dependencies: + base-x: 2.0.6 + bs58@4.0.1: dependencies: base-x: 3.0.10 @@ -27098,6 +27485,8 @@ snapshots: caniuse-lite@1.0.30001687: {} + capability@0.2.5: {} + capnp-ts@0.7.0: dependencies: debug: 4.4.0 @@ -27445,6 +27834,8 @@ snapshots: commondir@1.0.1: {} + complex.js@2.4.2: {} + compress-commons@6.0.2: dependencies: crc-32: 1.2.2 @@ -28362,6 +28753,12 @@ snapshots: dependencies: is-arrayish: 0.2.1 + error-polyfill@0.1.3: + dependencies: + capability: 0.2.5 + o3: 1.0.3 + u3: 0.1.1 + error-stack-parser@2.1.4: dependencies: stackframe: 1.3.4 @@ -28725,6 +29122,8 @@ snapshots: escape-html@1.0.3: {} + escape-latex@1.2.0: {} + escape-string-regexp@1.0.5: {} escape-string-regexp@2.0.0: {} @@ -29316,6 +29715,8 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 + exponential-backoff@3.1.1: {} + express@4.21.1: dependencies: accepts: 1.3.8 @@ -29959,6 +30360,14 @@ snapshots: dependencies: next: 14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0) + generate-function@2.3.1: + dependencies: + is-property: 1.0.2 + + generate-object-property@1.2.0: + dependencies: + is-property: 1.0.2 + generic-names@4.0.0: dependencies: loader-utils: 3.3.1 @@ -30446,6 +30855,14 @@ snapshots: inherits: 2.0.1 statuses: 1.5.0 + http-errors@1.7.2: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 + http-errors@1.7.3: dependencies: depd: 1.1.2 @@ -30778,6 +31195,16 @@ snapshots: is-module@1.0.0: {} + is-my-ip-valid@1.0.1: {} + + is-my-json-valid@2.20.6: + dependencies: + generate-function: 2.3.1 + generate-object-property: 1.2.0 + is-my-ip-valid: 1.0.1 + jsonpointer: 5.0.1 + xtend: 4.0.2 + is-nan@1.3.2: dependencies: call-bind: 1.0.8 @@ -30821,6 +31248,8 @@ snapshots: is-promise@4.0.0: {} + is-property@1.0.2: {} + is-proto-prop@2.0.0: dependencies: lowercase-keys: 1.0.1 @@ -30924,6 +31353,13 @@ snapshots: transitivePeerDependencies: - encoding + isomorphic-unfetch@3.1.0: + dependencies: + node-fetch: 2.7.0 + unfetch: 4.2.0 + transitivePeerDependencies: + - encoding + isomorphic-ws@4.0.1(ws@7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10)): dependencies: ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -31026,6 +31462,8 @@ snapshots: filelist: 1.0.4 minimatch: 3.1.2 + javascript-natural-sort@0.7.1: {} + javascript-time-ago@2.5.11: dependencies: relative-time-format: 1.1.6 @@ -31627,6 +32065,8 @@ snapshots: js-sha1@0.7.0: {} + js-sha256@0.9.0: {} + js-sha3@0.8.0: {} js-string-escape@1.0.1: {} @@ -32170,6 +32610,8 @@ snapshots: dependencies: yallist: 4.0.0 + lru_map@0.4.1: {} + lucide-react@0.330.0(react@18.2.0): dependencies: react: 18.2.0 @@ -32235,6 +32677,18 @@ snapshots: math-intrinsics@1.0.0: {} + mathjs@9.5.2: + dependencies: + '@babel/runtime': 7.26.0 + complex.js: 2.4.2 + decimal.js: 10.4.3 + escape-latex: 1.2.0 + fraction.js: 4.3.7 + javascript-natural-sort: 0.7.1 + seedrandom: 3.0.5 + tiny-emitter: 2.1.0 + typed-function: 2.1.0 + maximatch@0.1.0: dependencies: array-differ: 1.0.0 @@ -33271,6 +33725,8 @@ snapshots: '@cloudflare/kv-asset-handler': 0.3.4 yjs: 13.6.20 + mustache@4.0.0: {} + mustache@4.2.0: {} mz@2.7.0: @@ -33285,6 +33741,48 @@ snapshots: natural-compare@1.4.0: {} + near-abi@0.1.1: + dependencies: + '@types/json-schema': 7.0.15 + + near-api-js@0.44.2: + dependencies: + bn.js: 5.2.0 + borsh: 0.6.0 + bs58: 4.0.1 + depd: 2.0.0 + error-polyfill: 0.1.3 + http-errors: 1.7.3 + js-sha256: 0.9.0 + mustache: 4.2.0 + node-fetch: 2.7.0 + text-encoding-utf-8: 1.0.2 + tweetnacl: 1.0.3 + transitivePeerDependencies: + - encoding + + near-api-js@5.0.1: + dependencies: + '@near-js/accounts': 1.3.1 + '@near-js/crypto': 1.4.1 + '@near-js/keystores': 0.2.1 + '@near-js/keystores-browser': 0.2.1 + '@near-js/keystores-node': 0.1.1 + '@near-js/providers': 1.0.1 + '@near-js/signers': 0.2.1 + '@near-js/transactions': 1.3.1 + '@near-js/types': 0.3.1 + '@near-js/utils': 1.0.1 + '@near-js/wallet-account': 1.3.1 + '@noble/curves': 1.2.0 + borsh: 1.0.0 + depd: 2.0.0 + http-errors: 1.7.2 + near-abi: 0.1.1 + node-fetch: 2.6.7 + transitivePeerDependencies: + - encoding + negotiator@0.6.3: {} negotiator@0.6.4: {} @@ -33489,6 +33987,10 @@ snapshots: pkg-types: 1.2.1 ufo: 1.5.4 + o3@1.0.3: + dependencies: + capability: 0.2.5 + oauth4webapi@2.17.0: {} obj-props@1.4.0: {} @@ -35410,6 +35912,10 @@ snapshots: dependencies: queue-microtask: 1.2.3 + rxjs@7.8.1: + dependencies: + tslib: 2.8.1 + sade@1.8.1: dependencies: mri: 1.2.0 @@ -35492,6 +35998,12 @@ snapshots: dependencies: compute-scroll-into-view: 3.1.0 + secp256k1@5.0.0: + dependencies: + elliptic: 6.6.1 + node-addon-api: 5.0.0 + node-gyp-build: 4.8.4 + secp256k1@5.0.1: dependencies: elliptic: 6.6.1 @@ -35505,6 +36017,8 @@ snapshots: secure-json-parse@2.7.0: {} + seedrandom@3.0.5: {} + selfsigned@2.4.1: dependencies: '@types/node-forge': 1.3.11 @@ -36501,6 +37015,8 @@ snapshots: timm@1.7.1: {} + tiny-emitter@2.1.0: {} + tiny-inflate@1.0.3: {} tiny-invariant@1.3.3: {} @@ -36846,6 +37362,8 @@ snapshots: - immer - react + tweetnacl@1.0.3: {} + twitter-api-sdk@1.2.1: dependencies: abort-controller: 3.0.0 @@ -36925,6 +37443,8 @@ snapshots: possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.8 + typed-function@2.1.0: {} + typedarray@0.0.6: {} typeforce@1.18.0: {} @@ -36933,6 +37453,8 @@ snapshots: typescript@5.7.2: {} + u3@0.1.1: {} + ucom@file:packages/ucom/src: {} ufo@1.5.4: {} @@ -36988,6 +37510,8 @@ snapshots: node-fetch-native: 1.6.4 pathe: 1.1.2 + unfetch@4.2.0: {} + unicode-canonical-property-names-ecmascript@2.0.1: {} unicode-match-property-ecmascript@2.0.0: @@ -37146,6 +37670,7 @@ snapshots: '@elizaos/plugin-gitbook': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-image-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-near': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near(@swc/core@1.10.1(@swc/helpers@0.5.13))(form-data@4.0.1)(react@19.0.0-rc-df5f2736-20240712)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-nft-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) '@elizaos/plugin-story': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-story(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) From b3d37cc4eae4562f529645c8deb7db8e602a917e Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:19:21 -0800 Subject: [PATCH 098/312] Add avalanche plugin source --- .../plugin-avalanche/eslint.config.mjs | 3 + .../plugins/plugin-avalanche/package.json | 21 + .../src/actions/tokenMillCreate.ts | 166 +++++++ .../plugin-avalanche/src/actions/transfer.ts | 195 ++++++++ .../src/actions/yakStrategy.ts | 213 ++++++++ .../plugin-avalanche/src/actions/yakSwap.ts | 242 +++++++++ .../plugin-avalanche/src/environment.ts | 31 ++ .../plugins/plugin-avalanche/src/index.ts | 31 ++ .../src/providers/strategies.ts | 20 + .../plugin-avalanche/src/providers/tokens.ts | 20 + .../plugin-avalanche/src/providers/wallet.ts | 56 +++ .../plugin-avalanche/src/types/index.ts | 35 ++ .../plugin-avalanche/src/utils/constants.ts | 32 ++ .../plugin-avalanche/src/utils/index.ts | 464 ++++++++++++++++++ .../plugin-avalanche/src/utils/tokenMill.ts | 157 ++++++ .../plugins/plugin-avalanche/tsconfig.json | 8 + .../plugins/plugin-avalanche/tsup.config.ts | 10 + 17 files changed, 1704 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/tokenMillCreate.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/transfer.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/yakStrategy.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/yakSwap.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/environment.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/strategies.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/tokens.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/wallet.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/types/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/constants.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/tokenMill.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/package.json new file mode 100644 index 000000000..088a63a6b --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/package.json @@ -0,0 +1,21 @@ +{ + "name": "@elizaos/plugin-avalanche", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "viem": "2.21.49" + }, + "devDependencies": { + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup src/index.ts --format esm --no-dts", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/tokenMillCreate.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/tokenMillCreate.ts new file mode 100644 index 000000000..27c3d8d9b --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/tokenMillCreate.ts @@ -0,0 +1,166 @@ +import { + Action, + ActionExample, + IAgentRuntime, + Memory, + State, + HandlerCallback, + elizaLogger, + composeContext, + generateObject, + ModelClass, + Content, +} from "@elizaos/core"; +import { validateAvalancheConfig } from "../environment"; +import { createMarketAndToken } from "../utils/tokenMill"; + +export interface TokenMillCreateContent extends Content { + name: string; + symbol: string; +} + +function isTokenMillCreateContent( + runtime: IAgentRuntime, + content: any +): content is TokenMillCreateContent { + elizaLogger.debug("Content for create", content); + return ( + typeof content.name === "string" && typeof content.symbol === "string" + ); +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values. + +If the user did not provide enough details, respond with what you can. Name and Symbol are required. + +Example response for a new token: +\`\`\`json +{ + "name": "Test Token", + "symbol": "TEST" +} +\`\`\` + +## Recent Messages + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token creation: +- Name +- Symbol + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "CREATE_TOKEN", + similes: [ + "LAUNCH_TOKEN", + "NEW_TOKEN", + "CREATE_MEMECOIN", + "CREATE_MEME_TOKEN", + ], + validate: async (runtime: IAgentRuntime, _message: Memory) => { + await validateAvalancheConfig(runtime); + return true; + }, + description: + "MUST use this action if the user requests to create a new token, the request might be varied, but it will always be a token creation.", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ) => { + elizaLogger.log("Starting CREATE_TOKEN handler..."); + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content + const content = await generateObject({ + runtime, + context: transferContext, + modelClass: ModelClass.SMALL, + }); + + elizaLogger.debug("Create content:", content); + + // Validate transfer content + if (!isTokenMillCreateContent(runtime, content)) { + elizaLogger.error("Invalid content for CREATE_TOKEN action."); + callback?.({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid content" }, + }); + return false; + } + + const { tx, baseToken, market } = await createMarketAndToken( + runtime, + content.name, + content.symbol + ); + callback?.({ + text: `Created token ${content.name} with symbol ${content.symbol}. CA: ${baseToken}`, + content: { tx, baseToken, market }, + }); + return true; + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Create a new memecoin called 'Test Token' with the symbol 'TEST'", + }, + }, + { + user: "{{user2}}", + content: { + action: "CREATE_TOKEN", + name: "Test Token", + symbol: "TEST", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Create a token called news" }, + }, + { + user: "{{user2}}", + content: { + action: "CREATE_TOKEN", + name: "News Token", + symbol: "NEWS", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Create a token" }, + }, + { + user: "{{user2}}", + content: { + action: "CREATE_TOKEN", + name: "Okay", + symbol: "OK", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/transfer.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/transfer.ts new file mode 100644 index 000000000..301f4f8f9 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/transfer.ts @@ -0,0 +1,195 @@ +import { + Action, + ActionExample, + IAgentRuntime, + Memory, + State, + HandlerCallback, + elizaLogger, + composeContext, + generateObject, + ModelClass, + Content, +} from "@elizaos/core"; +import { getTxReceipt, sendNativeAsset, sendToken } from "../utils"; +import { Address } from "viem"; +import { validateAvalancheConfig } from "../environment"; +import { TOKEN_ADDRESSES } from "../utils/constants"; + +export interface TransferContent extends Content { + tokenAddress: string; + recipient: string; + amount: string | number; +} + +function isTransferContent( + runtime: IAgentRuntime, + content: any +): content is TransferContent { + elizaLogger.debug("Content for transfer", content); + return ( + typeof content.tokenAddress === "string" && + typeof content.recipient === "string" && + (typeof content.amount === "string" || + typeof content.amount === "number") + ); +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values +- Use null for any values that cannot be determined. +- Use address zero for native AVAX transfers. + +Example response for a 10 WAVAX transfer: +\`\`\`json +{ + "tokenAddress": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", + "recipient": "0xDcEDF06Fd33E1D7b6eb4b309f779a0e9D3172e44", + "amount": "10" +} +\`\`\` + +Example response for a 0.1 AVAX transfer: +\`\`\`json +{ + "tokenAddress": "0x0000000000000000000000000000000000000000", + "recipient": "0xDcEDF06Fd33E1D7b6eb4b309f779a0e9D3172e44", + "amount": "0.1" +} +\`\`\` + +## Token Addresses + +${Object.entries(TOKEN_ADDRESSES) + .map(([key, value]) => `- ${key}: ${value}`) + .join("\n")} + +## Recent Messages + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token transfer: +- Token contract address +- Recipient wallet address +- Amount to transfer + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "SEND_TOKEN", + similes: [ + "TRANSFER_TOKEN_ON_AVALANCHE", + "TRANSFER_TOKENS_ON_AVALANCHE", + "SEND_TOKENS_ON_AVALANCHE", + "SEND_AVAX_ON_AVALANCHE", + "PAY_ON_AVALANCHE", + ], + validate: async (runtime: IAgentRuntime, _message: Memory) => { + await validateAvalancheConfig(runtime); + return true; + }, + description: + "MUST use this action if the user requests send a token or transfer a token, the request might be varied, but it will always be a token transfer.", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ) => { + elizaLogger.log("Starting SEND_TOKEN handler..."); + + // Validate transfer + if (message.content.source === "direct") { + // + } else { + callback?.({ + text: "i can't do that for you.", + content: { error: "Transfer not allowed" }, + }); + return false; + } + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content + const content = await generateObject({ + runtime, + context: transferContext, + modelClass: ModelClass.SMALL, + }); + + elizaLogger.debug("Transfer content:", content); + + // Validate transfer content + if (!isTransferContent(runtime, content)) { + elizaLogger.error("Invalid content for TRANSFER_TOKEN action."); + callback?.({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid transfer content" }, + }); + return false; + } + + let tx; + if ( + content.tokenAddress === + "0x0000000000000000000000000000000000000000" + ) { + tx = await sendNativeAsset( + runtime, + content.recipient as Address, + content.amount as number + ); + } else { + tx = await sendToken( + runtime, + content.tokenAddress as Address, + content.recipient as Address, + content.amount as number + ); + } + + if (tx) { + const receipt = await getTxReceipt(runtime, tx); + if (receipt.status === "success") { + callback?.({ + text: "transfer successful", + content: { success: true, txHash: tx }, + }); + } else { + callback?.({ + text: "transfer failed", + content: { error: "Transfer failed" }, + }); + } + } else { + callback?.({ + text: "transfer failed", + content: { error: "Transfer failed" }, + }); + } + + return true; + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Send 10 AVAX to 0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/yakStrategy.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/yakStrategy.ts new file mode 100644 index 000000000..49ac4a9e7 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/yakStrategy.ts @@ -0,0 +1,213 @@ +import { + Action, + ActionExample, + IAgentRuntime, + Memory, + State, + HandlerCallback, + elizaLogger, + composeContext, + generateObject, + ModelClass, + Content, +} from "@elizaos/core"; +import { approve, deposit, getTxReceipt } from "../utils"; +import { Address } from "viem"; +import { validateAvalancheConfig } from "../environment"; +import { STRATEGY_ADDRESSES, TOKEN_ADDRESSES } from "../utils/constants"; + +export interface StrategyContent extends Content { + depositTokenAddress: string; + strategyAddress: string; + amount: string | number; +} + +function isStrategyContent( + runtime: IAgentRuntime, + content: any +): content is StrategyContent { + elizaLogger.debug("Content for strategy", content); + return ( + typeof content.depositTokenAddress === "string" && + typeof content.strategyAddress === "string" && + (typeof content.amount === "string" || + typeof content.amount === "number") + ); +} + +const strategyTemplate = `Respond with a JSON markdown block containing only the extracted values +- Use null for any values that cannot be determined. +- Use address zero for native AVAX. + +Example response for a 100 USDC deposit into a strategy: +\`\`\`json +{ + "depositTokenAddress": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "strategyAddress": "0xFB692D03BBEA21D8665035779dd3082c2B1622d0", + "amount": "100" +} +\`\`\` + +Example response for a 10 WAVAX deposit into a strategy: +\`\`\`json +{ + "depositTokenAddress": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", + "strategyAddress": "0x8B414448de8B609e96bd63Dcf2A8aDbd5ddf7fdd", + "amount": "10" +} +\`\`\` + +## Token Addresses + +${Object.entries(TOKEN_ADDRESSES) + .map(([key, value]) => `- ${key}: ${value}`) + .join("\n")} + +## Strategy Addresses + +${Object.entries(STRATEGY_ADDRESSES) + .map(([key, value]) => `- ${key}: ${value}`) + .join("\n")} + +## Recent Messages + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested strategy management: +- Deposit token address (the token to deposit) +- Strategy address (the strategy to deposit into) +- Amount to deposit + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "DEPOSIT_TO_STRATEGY", + similes: ["DEPOSIT_FOR_YIELD", "DEPOSIT_TOKENS"], + validate: async (runtime: IAgentRuntime, _message: Memory) => { + await validateAvalancheConfig(runtime); + return true; + }, + description: + "MUST use this action if the user requests to deposit into a yield-earning strategy, the request might be varied, but it will always be a deposit into a strategy.", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ) => { + elizaLogger.log("Starting DEPOSIT_TO_STRATEGY handler..."); + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose context + const strategyContext = composeContext({ + state, + template: strategyTemplate, + }); + + // Generate content + const content = await generateObject({ + runtime, + context: strategyContext, + modelClass: ModelClass.SMALL, + }); + + // Validate content + if (!isStrategyContent(runtime, content)) { + elizaLogger.error( + "Invalid content for DEPOSIT_TO_STRATEGY action." + ); + callback?.({ + text: "Unable to process deposit request. Invalid content provided.", + content: { error: "Invalid deposit content" }, + }); + return false; + } + + // Log the swap content + elizaLogger.debug("Deposit content:", content); + + if ( + content.depositTokenAddress === + "0x0000000000000000000000000000000000000000" + ) { + // todo: deposit from native + elizaLogger.log("Swapping from native AVAX"); + } else { + const tx = await approve( + runtime, + content.depositTokenAddress as Address, + content.strategyAddress as Address, + content.amount as number + ); + callback?.({ + text: "approving token...", + content: { success: true }, + }); + + if (tx) { + let receipt = await getTxReceipt(runtime, tx); + + if (receipt.status === "success") { + callback?.({ + text: "token approved, depositing...", + content: { success: true, txHash: tx }, + }); + + const depositTx = await deposit( + runtime, + content.depositTokenAddress as Address, + content.strategyAddress as Address, + content.amount as number + ); + if (depositTx) { + receipt = await getTxReceipt(runtime, depositTx); + if (receipt.status === "success") { + callback?.({ + text: "deposit successful", + content: { success: true, txHash: depositTx }, + }); + } else { + callback?.({ + text: "deposit failed", + content: { error: "Deposit failed" }, + }); + } + } + } else { + callback?.({ + text: "approve failed", + content: { error: "Approve failed" }, + }); + } + } else { + callback?.({ + text: "approve failed", + content: { error: "Approve failed" }, + }); + } + } + + return true; + }, + examples: [ + [ + { + user: "{{user1}}", + content: { text: "Deposit 1 USDC into the strategy" }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Deposit 10 gmYAK to earn yield" }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/yakSwap.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/yakSwap.ts new file mode 100644 index 000000000..e037b5584 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/actions/yakSwap.ts @@ -0,0 +1,242 @@ +import { + Action, + ActionExample, + IAgentRuntime, + Memory, + State, + HandlerCallback, + elizaLogger, + composeContext, + generateObject, + ModelClass, + Content, +} from "@elizaos/core"; +import { approve, getTxReceipt, swap, getQuote } from "../utils"; +import { Address } from "viem"; +import { validateAvalancheConfig } from "../environment"; +import { TOKEN_ADDRESSES, YAK_SWAP_CONFIG } from "../utils/constants"; + +export interface SwapContent extends Content { + fromTokenAddress: string; + toTokenAddress: string; + recipient?: string; + amount: string | number; +} + +function isSwapContent( + runtime: IAgentRuntime, + content: any +): content is SwapContent { + elizaLogger.debug("Content for swap", content); + return ( + typeof content.fromTokenAddress === "string" && + typeof content.toTokenAddress === "string" && + (typeof content.recipient === "string" || !content.recipient) && + (typeof content.amount === "string" || + typeof content.amount === "number") + ); +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values +- Use null for any values that cannot be determined. +- Use address zero for native AVAX transfers. +- If our balance is not enough, use null for the amount. + +Example response for a 10 AVAX to USDC swap: +\`\`\`json +{ + "fromTokenAddress": "0x0000000000000000000000000000000000000000", + "toTokenAddress": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "recipient": null, + "amount": "10" +} +\`\`\` + +Example response for a 10 WAVAX to USDC swap: +\`\`\`json +{ + "fromTokenAddress": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", + "toTokenAddress": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "recipient": "0xDcEDF06Fd33E1D7b6eb4b309f779a0e9D3172e44", + "amount": "10" +} +\`\`\` + +Example response to buy WAVAX with 5 USDC: +\`\`\`json +{ + "fromTokenAddress": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "toTokenAddress": "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", + "recipient": "0xDcEDF06Fd33E1D7b6eb4b309f779a0e9D3172e44", + "amount": "5" +} +\`\`\` + +Example response to sell 5 USDC for gmYAK: +\`\`\`json +{ + "fromTokenAddress": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + "toTokenAddress": "0x3A30784c1af928CdFce678eE49370220aA716DC3", + "recipient": "0xDcEDF06Fd33E1D7b6eb4b309f779a0e9D3172e44", + "amount": "5" +} +\`\`\` + +## Token Addresses + +${Object.entries(TOKEN_ADDRESSES) + .map(([key, value]) => `- ${key}: ${value}`) + .join("\n")} + +## Recent Messages + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token transfer: +- From token address (the token to sell) +- To token address (the token to buy) +- Recipient wallet address (optional) +- Amount to sell + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "SWAP_TOKEN", + similes: ["TRADE_TOKEN", "BUY_TOKEN", "SELL_TOKEN"], + validate: async (runtime: IAgentRuntime, _message: Memory) => { + await validateAvalancheConfig(runtime); + return true; + }, + description: + "MUST use this action if the user requests swap a token, the request might be varied, but it will always be a token swap.", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ) => { + elizaLogger.log("Starting SWAP_TOKEN handler..."); + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose swap context + const swapContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate swap content + const content = await generateObject({ + runtime, + context: swapContext, + modelClass: ModelClass.SMALL, + }); + + // Validate swap content + if (!isSwapContent(runtime, content)) { + elizaLogger.error("Invalid content for SWAP_TOKEN action."); + callback?.({ + text: "Unable to process swap request. Invalid content provided.", + content: { error: "Invalid swap content" }, + }); + return false; + } + + // Log the swap content + elizaLogger.debug("Swap content:", content); + const quote = await getQuote( + runtime, + content.fromTokenAddress as Address, + content.toTokenAddress as Address, + content.amount as number + ); + // return + + if ( + content.fromTokenAddress === + "0x0000000000000000000000000000000000000000" + ) { + // todo: swap from native + elizaLogger.log("Swapping from native AVAX"); + } else if ( + content.toTokenAddress === + "0x0000000000000000000000000000000000000000" + ) { + // todo: swap to native + elizaLogger.log("Swapping to native AVAX"); + } else { + const yakRouterAddress = YAK_SWAP_CONFIG.router as Address; + const tx = await approve( + runtime, + content.fromTokenAddress as Address, + yakRouterAddress, + content.amount as number + ); + callback?.({ + text: "approving token...", + content: { success: true }, + }); + + if (tx) { + let receipt = await getTxReceipt(runtime, tx); + + if (receipt.status === "success") { + callback?.({ + text: "token approved, swapping...", + content: { success: true, txHash: tx }, + }); + const swapTx = await swap(runtime, quote); + if (swapTx) { + receipt = await getTxReceipt(runtime, swapTx); + if (receipt.status === "success") { + elizaLogger.log("Swap successful"); + callback?.({ + text: "swap successful", + content: { success: true, txHash: swapTx }, + }); + } else { + elizaLogger.error("Swap failed"); + callback?.({ + text: "swap failed", + content: { error: "Swap failed" }, + }); + } + } + } else { + elizaLogger.error("Approve failed"); + callback?.({ + text: "approve failed", + content: { error: "Approve failed" }, + }); + } + } else { + callback?.({ + text: "approve failed", + content: { error: "Approve failed" }, + }); + } + } + + return true; + }, + examples: [ + [ + { + user: "{{user1}}", + content: { text: "Swap 1 AVAX for USDC" }, + }, + ], + [ + { + user: "{{user1}}", + content: { text: "Swap 10 USDC for gmYAK" }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/environment.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/environment.ts new file mode 100644 index 000000000..86f0b2d0d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/environment.ts @@ -0,0 +1,31 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { z } from "zod"; + +export const avalancheEnvSchema = z.object({ + AVALANCHE_PRIVATE_KEY: z + .string() + .min(1, "Avalanche private key is required"), +}); + +export type AvalancheConfig = z.infer; +export async function validateAvalancheConfig( + runtime: IAgentRuntime +): Promise { + try { + const config = { + AVALANCHE_PRIVATE_KEY: + runtime.getSetting("AVALANCHE_PRIVATE_KEY") || + process.env.AVALANCHE_PRIVATE_KEY, + }; + + return avalancheEnvSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error(errorMessages); + } + throw error; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/index.ts new file mode 100644 index 000000000..fdd494414 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/index.ts @@ -0,0 +1,31 @@ +import { Plugin } from "@elizaos/core"; +import tokenMillCreate from "./actions/tokenMillCreate"; +import transfer from "./actions/transfer"; +import yakSwap from "./actions/yakSwap"; +import yakStrategy from "./actions/yakStrategy"; +import { tokensProvider } from "./providers/tokens"; +import { strategiesProvider } from "./providers/strategies"; +import { walletProvider } from "./providers/wallet"; +import { + TOKEN_ADDRESSES, + STRATEGY_ADDRESSES, + YAK_SWAP_CONFIG, + TOKEN_MILL_CONFIG, +} from "./utils/constants"; + +export const PROVIDER_CONFIG = { + TOKEN_ADDRESSES: TOKEN_ADDRESSES, + STRATEGY_ADDRESSES: STRATEGY_ADDRESSES, + YAK_SWAP_CONFIG: YAK_SWAP_CONFIG, + TOKEN_MILL_CONFIG: TOKEN_MILL_CONFIG, +}; + +export const avalanchePlugin: Plugin = { + name: "avalanche", + description: "Avalanche Plugin for Eliza", + actions: [transfer, yakSwap, yakStrategy, tokenMillCreate], + evaluators: [], + providers: [tokensProvider, strategiesProvider, walletProvider], +}; + +export default avalanchePlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/strategies.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/strategies.ts new file mode 100644 index 000000000..8b7a3a8da --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/strategies.ts @@ -0,0 +1,20 @@ +import { + IAgentRuntime, + Memory, + Provider, + State, + elizaLogger, +} from "@elizaos/core"; +import { STRATEGY_ADDRESSES } from "../utils/constants"; + +const strategiesProvider: Provider = { + get: async (_runtime: IAgentRuntime, _message: Memory, _state?: State) => { + elizaLogger.debug("strategiesProvider::get"); + const strategies = Object.entries(STRATEGY_ADDRESSES) + .map(([key, value]) => `${key}: ${value}`) + .join("\n"); + return `The available strategy addresses and their deposit tokens are:\n${strategies}`; + }, +}; + +export { strategiesProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/tokens.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/tokens.ts new file mode 100644 index 000000000..7fa467b19 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/tokens.ts @@ -0,0 +1,20 @@ +import { + IAgentRuntime, + Memory, + Provider, + State, + elizaLogger, +} from "@elizaos/core"; +import { TOKEN_ADDRESSES } from "../utils/constants"; + +const tokensProvider: Provider = { + get: async (_runtime: IAgentRuntime, _message: Memory, _state?: State) => { + elizaLogger.debug("tokensProvider::get"); + const tokens = Object.entries(TOKEN_ADDRESSES) + .map(([key, value]) => `${key}: ${value}`) + .join("\n"); + return `The available tokens and their addresses are:\n${tokens}`; + }, +}; + +export { tokensProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/wallet.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/wallet.ts new file mode 100644 index 000000000..762451950 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/providers/wallet.ts @@ -0,0 +1,56 @@ +import { + IAgentRuntime, + Memory, + Provider, + State, + elizaLogger, +} from "@elizaos/core"; +import { formatUnits } from "viem"; +import { getAccount, getDecimals, getTokenBalance } from "../utils"; +import { STRATEGY_ADDRESSES, TOKEN_ADDRESSES } from "../utils/constants"; + +const walletProvider: Provider = { + get: async (runtime: IAgentRuntime, _message: Memory, _state?: State) => { + elizaLogger.debug("walletProvider::get"); + const privateKey = runtime.getSetting("AVALANCHE_PRIVATE_KEY"); + if (!privateKey) { + throw new Error( + "AVALANCHE_PRIVATE_KEY not found in environment variables" + ); + } + + const account = getAccount(runtime); + + let output = `# Wallet Balances\n\n`; + output += `## Wallet Address\n\n\`${account.address}\`\n\n`; + + output += `## Latest Token Balances\n\n`; + for (const [token, address] of Object.entries(TOKEN_ADDRESSES)) { + const decimals = await getDecimals(runtime, address); + const balance = await getTokenBalance( + runtime, + address, + account.address + ); + output += `${token}: ${formatUnits(balance, decimals)}\n`; + } + output += `Note: These balances can be used at any time.\n\n`; + + output += `## Balances in Yield Strategies\n\n`; + for (const [strategy, address] of Object.entries(STRATEGY_ADDRESSES)) { + const balance = await getTokenBalance( + runtime, + address, + account.address + ); + const decimals = await getDecimals(runtime, address); + output += `${strategy}: ${formatUnits(balance, decimals)}\n`; + } + output += `Note: These balances must be withdrawn from the strategy before they can be used.\n\n`; + + elizaLogger.debug("walletProvider::get output:", output); + return output; + }, +}; + +export { walletProvider }; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/types/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/types/index.ts new file mode 100644 index 000000000..8ecc336e5 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/types/index.ts @@ -0,0 +1,35 @@ +import { Address } from "viem"; + +interface YakSwapQuote { + amounts: bigint[]; + adapters: Address[]; + path: Address[]; + gasEstimate: bigint; +} + +// struct MarketCreationParameters { +// uint96 tokenType; +// string name; +// string symbol; +// address quoteToken; +// uint256 totalSupply; +// uint16 creatorShare; +// uint16 stakingShare; +// uint256[] bidPrices; +// uint256[] askPrices; +// bytes args; +// } +interface TokenMillMarketCreationParameters { + tokenType: number; + name: string; + symbol: string; + quoteToken: Address; + totalSupply: bigint; + creatorShare: number; + stakingShare: number; + bidPrices: bigint[]; + askPrices: bigint[]; + args: string; +} + +export type { YakSwapQuote, TokenMillMarketCreationParameters } \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/constants.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/constants.ts new file mode 100644 index 000000000..cdf72dc3a --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/constants.ts @@ -0,0 +1,32 @@ +import { Address } from "viem" + +const TOKEN_ADDRESSES: Record = { + AVAX: "0x0000000000000000000000000000000000000000", + WAVAX: "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", + YAK: "0x59414b3089ce2AF0010e7523Dea7E2b35d776ec7", + gmYAK: "0x3A30784c1af928CdFce678eE49370220aA716DC3", + USDC: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + JOE: "0x6e84a6216eA6dACC71eE8E6b0a5B7322EEbC0fDd", + AUSD: "0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a", + PRINCESS: "0xB310Ed3A7F4Ae79E59dCa99784b312c2D19fFC7C", + KIMBO: "0x184ff13B3EBCB25Be44e860163A5D8391Dd568c1", + COQ: "0x420FcA0121DC28039145009570975747295f2329" +} + +const STRATEGY_ADDRESSES: Record = { + YAK: "0x0C4684086914D5B1525bf16c62a0FF8010AB991A", // Yield Yak YAK + USDC: "0xFB692D03BBEA21D8665035779dd3082c2B1622d0", // Benqi USDC + gmYAK: "0x9db213cE52155A9462A869Af495234e4734DC08a", // Token Mill gmYAK + PRINCESS: "0xA714d1f61D14F0beDecC0e0812A5641BD01424eD", + JOE: "0x714e06410B4960D3C1FC033bCd53ad9EB2d1f874", // sJOE +} + +const YAK_SWAP_CONFIG = { + router: "0xC4729E56b831d74bBc18797e0e17A295fA77488c" +} + +const TOKEN_MILL_CONFIG = { + factory: "0x501ee2D4AA611C906F785e10cC868e145183FCE4" +} + +export { TOKEN_ADDRESSES, STRATEGY_ADDRESSES, YAK_SWAP_CONFIG, TOKEN_MILL_CONFIG } \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/index.ts new file mode 100644 index 000000000..6fc5c98ba --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/index.ts @@ -0,0 +1,464 @@ +import { IAgentRuntime, elizaLogger } from "@elizaos/core"; +import { + createPublicClient, + createWalletClient, + Hash, + http, + Address, + parseUnits, +} from "viem"; +import { privateKeyToAccount } from "viem/accounts"; +import { avalanche } from "viem/chains"; +import { YakSwapQuote } from "../types"; +import { YAK_SWAP_CONFIG } from "./constants"; + +export const getAccount = (runtime: IAgentRuntime) => { + const privateKey = + runtime.getSetting("AVALANCHE_PRIVATE_KEY") || + process.env.AVALANCHE_PRIVATE_KEY; + return privateKeyToAccount(`0x${privateKey.replace("0x", "")}`); +}; + +export const getPublicClient = (_runtime: IAgentRuntime) => { + return createPublicClient({ + chain: avalanche, + transport: http(), + }); +}; + +export const getWalletClient = (runtime: IAgentRuntime) => { + return createWalletClient({ + account: getAccount(runtime), + chain: avalanche, + transport: http(), + }); +}; + +export const getTxReceipt = async (runtime: IAgentRuntime, tx: Hash) => { + const publicClient = getPublicClient(runtime); + const receipt = await publicClient.waitForTransactionReceipt({ + hash: tx, + }); + return receipt; +}; + +export const getDecimals = async ( + runtime: IAgentRuntime, + tokenAddress: Address +) => { + if (tokenAddress === "0x0000000000000000000000000000000000000000") { + return avalanche.nativeCurrency.decimals; + } + const publicClient = getPublicClient(runtime); + const decimals = await publicClient.readContract({ + address: tokenAddress, + abi: [ + { + inputs: [], + name: "decimals", + outputs: [{ internalType: "uint8", name: "", type: "uint8" }], + stateMutability: "view", + type: "function", + }, + ], + functionName: "decimals", + }); + return decimals; +}; + +export const getNativeBalance = async ( + runtime: IAgentRuntime, + owner: Address +) => { + const publicClient = getPublicClient(runtime); + const balance = await publicClient.getBalance({ + address: owner, + }); + return balance; +}; + +export const getTokenBalance = async ( + runtime: IAgentRuntime, + tokenAddress: Address, + owner: Address +) => { + if (tokenAddress === "0x0000000000000000000000000000000000000000") { + return getNativeBalance(runtime, owner); + } + const publicClient = getPublicClient(runtime); + const balance = await publicClient.readContract({ + address: tokenAddress, + abi: [ + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { internalType: "uint256", name: "", type: "uint256" }, + ], + stateMutability: "view", + type: "function", + }, + ], + functionName: "balanceOf", + args: [owner], + }); + return balance; +}; + +export const getQuote = async ( + runtime: IAgentRuntime, + fromTokenAddress: Address, + toTokenAddress: Address, + amount: number +) => { + const publicClient = getPublicClient(runtime); + const decimals = await getDecimals(runtime, fromTokenAddress); + const maxSteps = 2; + const gasPrice = parseUnits("25", "gwei"); // todo: get gas price from runtime + const quote = await publicClient.readContract({ + address: YAK_SWAP_CONFIG.router, + abi: [ + { + inputs: [ + { + internalType: "uint256", + name: "_amountIn", + type: "uint256", + }, + { + internalType: "address", + name: "_tokenIn", + type: "address", + }, + { + internalType: "address", + name: "_tokenOut", + type: "address", + }, + { + internalType: "uint256", + name: "_maxSteps", + type: "uint256", + }, + { + internalType: "uint256", + name: "_gasPrice", + type: "uint256", + }, + ], + name: "findBestPathWithGas", + outputs: [ + { + components: [ + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]", + }, + { + internalType: "address[]", + name: "adapters", + type: "address[]", + }, + { + internalType: "address[]", + name: "path", + type: "address[]", + }, + { + internalType: "uint256", + name: "gasEstimate", + type: "uint256", + }, + ], + internalType: "struct YakRouter.FormattedOfferWithGas", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + ], + functionName: "findBestPathWithGas", + args: [ + parseUnits(amount.toString(), decimals), + fromTokenAddress, + toTokenAddress, + maxSteps, + gasPrice, + ], + }); + elizaLogger.log("Quote:", quote); + return quote as YakSwapQuote; +}; + +export const sendNativeAsset = async ( + runtime: IAgentRuntime, + recipient: Address, + amount: number +) => { + const walletClient = getWalletClient(runtime); + const decimals = await getDecimals( + runtime, + "0x0000000000000000000000000000000000000000" + ); + const tx = await walletClient.sendTransaction({ + to: recipient, + value: parseUnits(amount.toString(), decimals), + }); + return tx as Hash; +}; + +export const sendToken = async ( + runtime: IAgentRuntime, + tokenAddress: Address, + recipient: Address, + amount: number +) => { + const decimals = await getDecimals(runtime, tokenAddress); + const publicClient = getPublicClient(runtime); + + try { + const { result, request } = await publicClient.simulateContract({ + account: getAccount(runtime), + address: tokenAddress, + abi: [ + { + inputs: [ + { + internalType: "address", + name: "dst", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + ], + functionName: "transfer", + args: [recipient, parseUnits(amount.toString(), decimals)], + }); + + if (!result) { + throw new Error("Transfer failed"); + } + + elizaLogger.debug("Request:", request); + + const walletClient = getWalletClient(runtime); + const tx = await walletClient.writeContract(request); + elizaLogger.log("Transaction:", tx); + return tx as Hash; + } catch (error) { + elizaLogger.error("Error simulating contract:", error); + return; + } +}; + +export const approve = async ( + runtime: IAgentRuntime, + tokenAddress: Address, + spender: Address, + amount: number +) => { + try { + const decimals = await getDecimals(runtime, tokenAddress); + const publicClient = getPublicClient(runtime); + const { result, request } = await publicClient.simulateContract({ + account: getAccount(runtime), + address: tokenAddress, + abi: [ + { + inputs: [ + { + internalType: "address", + name: "_spender", + type: "address", + }, + { + internalType: "uint256", + name: "_value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + ], + functionName: "approve", + args: [spender, parseUnits(amount.toString(), decimals)], + }); + + if (!result) { + throw new Error("Approve failed"); + } + + elizaLogger.debug("Request:", request); + + const walletClient = getWalletClient(runtime); + const tx = await walletClient.writeContract(request); + elizaLogger.log("Transaction:", tx); + return tx; + } catch (error) { + elizaLogger.error("Error approving:", error); + return; + } +}; + +export const swap = async ( + runtime: IAgentRuntime, + quote: YakSwapQuote, + recipient?: Address +) => { + const slippageBips = 20n; + const amountOut = quote.amounts[quote.amounts.length - 1]; + const allowedSlippage = (amountOut * slippageBips) / 10000n; + const trade = { + amountIn: quote.amounts[0], + amountOut: amountOut - allowedSlippage, + path: quote.path, + adapters: quote.adapters, + }; + try { + const account = getAccount(runtime); + const publicClient = getPublicClient(runtime); + const { _result, request } = await publicClient.simulateContract({ + account: account, + address: YAK_SWAP_CONFIG.router, + abi: [ + { + inputs: [ + { + components: [ + { + internalType: "uint256", + name: "amountIn", + type: "uint256", + }, + { + internalType: "uint256", + name: "amountOut", + type: "uint256", + }, + { + internalType: "address[]", + name: "path", + type: "address[]", + }, + { + internalType: "address[]", + name: "adapters", + type: "address[]", + }, + ], + internalType: "struct YakRouter.Trade", + name: "_trade", + type: "tuple", + }, + { + internalType: "address", + name: "_to", + type: "address", + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256", + }, + ], + name: "swapNoSplit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + ], + functionName: "swapNoSplit", + args: [trade, recipient || account.address, 0n], + }); + + elizaLogger.debug("Request:", request); + + const walletClient = getWalletClient(runtime); + const tx = await walletClient.writeContract(request); + elizaLogger.log("Transaction:", tx); + return tx; + } catch (error) { + elizaLogger.error("Error simulating contract:", error); + return; + } +}; + +export const deposit = async ( + runtime: IAgentRuntime, + depositTokenAddress: Address, + strategyAddress: Address, + amount: number +) => { + try { + const decimals = await getDecimals(runtime, depositTokenAddress); + const publicClient = getPublicClient(runtime); + const { _result, request } = await publicClient.simulateContract({ + account: getAccount(runtime), + address: strategyAddress, + abi: [ + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + ], + functionName: "deposit", + args: [parseUnits(amount.toString(), decimals)], + }); + + // if (!result) { + // throw new Error('Deposit failed') + // } + + elizaLogger.debug("Request:", request); + + const walletClient = getWalletClient(runtime); + const tx = await walletClient.writeContract(request); + elizaLogger.log("Transaction:", tx); + return tx; + } catch (error) { + elizaLogger.error("Error depositing:", error); + return; + } +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/tokenMill.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/tokenMill.ts new file mode 100644 index 000000000..d78dc28ce --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/src/utils/tokenMill.ts @@ -0,0 +1,157 @@ +import { getAccount, getWalletClient, getPublicClient } from "./index"; +import { TOKEN_ADDRESSES, TOKEN_MILL_CONFIG } from "./constants"; +import { IAgentRuntime, elizaLogger } from "@elizaos/core"; +import { TokenMillMarketCreationParameters } from "../types"; +import { Address, encodeAbiParameters, parseUnits } from "viem"; + +export const createMarketAndToken = async ( + runtime: IAgentRuntime, + name: string, + symbol: string +) => { + const account = getAccount(runtime); + const publicClient = getPublicClient(runtime); + const abi = [ + { + inputs: [ + { + components: [ + { + internalType: "uint96", + name: "tokenType", + type: "uint96", + }, + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "symbol", + type: "string", + }, + { + internalType: "address", + name: "quoteToken", + type: "address", + }, + { + internalType: "uint256", + name: "totalSupply", + type: "uint256", + }, + { + internalType: "uint16", + name: "creatorShare", + type: "uint16", + }, + { + internalType: "uint16", + name: "stakingShare", + type: "uint16", + }, + { + internalType: "uint256[]", + name: "bidPrices", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "askPrices", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "args", + type: "bytes", + }, + ], + internalType: "struct ITMFactory.MarketCreationParameters", + name: "parameters", + type: "tuple", + }, + ], + name: "createMarketAndToken", + outputs: [ + { + internalType: "address", + name: "baseToken", + type: "address", + }, + { + internalType: "address", + name: "market", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + ]; + + if (name.length == 0) { + throw new Error("Name must be provided"); + } + + if (name.length > 32) { + throw new Error("Name must be less than 12 characters"); + } + + if (symbol.length == 0) { + throw new Error("Symbol must be provided"); + } + + if (symbol.length > 8) { + throw new Error("Symbol must be less than 8 characters"); + } + + const params: TokenMillMarketCreationParameters = { + tokenType: 1, + name, + symbol, + quoteToken: TOKEN_ADDRESSES.WAVAX, + totalSupply: parseUnits("100000000", 18), + creatorShare: 2000, + stakingShare: 6000, + bidPrices: [ + 0, 0.018117, 0.042669, 0.075735, 0.12078, 0.18018, 0.26235, + 0.37124999999999997, 0.51975, 0.71973, 0.99, + ].map((price) => parseUnits(price.toString(), 18)), + askPrices: [ + 0, 0.0183, 0.0431, 0.0765, 0.122, 0.182, 0.265, 0.375, 0.525, 0.727, + 1, + ].map((price) => parseUnits(price.toString(), 18)), + args: encodeAbiParameters( + [{ name: "decimals", type: "uint256" }], + [18n] + ), + }; + + const { result, request } = await publicClient.simulateContract({ + account, + address: TOKEN_MILL_CONFIG.factory as Address, + abi, + functionName: "createMarketAndToken", + args: [params], + }); + + if (!result) { + throw new Error("Create failed"); + } + + elizaLogger.debug("request", request); + elizaLogger.debug("result", result); + + elizaLogger.debug("Request:", request); + + const walletClient = getWalletClient(runtime); + const tx = await walletClient.writeContract(request); + elizaLogger.log("Transaction:", tx); + + return { + tx: tx, + baseToken: result[0], + market: result[1], + }; +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/tsconfig.json new file mode 100644 index 000000000..005fbac9d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": ["src/**/*.ts"] +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/tsup.config.ts new file mode 100644 index 000000000..3e6616e72 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/tsup.config.ts @@ -0,0 +1,10 @@ +import { defineConfig } from 'tsup' + +export default defineConfig({ + entry: ['src/index.ts'], + format: ['esm'], + dts: true, + clean: true, + skipNodeModulesBundle: true, + noExternal: ['viem'] +}) \ No newline at end of file From 2ea046f1d5a844e14790da38b21d8a2410270d99 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:21:40 -0800 Subject: [PATCH 099/312] Add avalanche plugin to upstreet agent --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 278b88cec..8b4db4c0c 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -9,6 +9,7 @@ "@elizaos/plugin-3d-generation": "file:./packages/react-agents/components/plugins/plugin-3d-generation", "@elizaos/plugin-coinbase": "file:./packages/react-agents/components/plugins/plugin-coinbase", "@elizaos/plugin-evm": "file:./packages/react-agents/components/plugins/plugin-evm", + "@elizaos/plugin-avalanche": "file:./packages/react-agents/components/plugins/plugin-avalanche", "@elizaos/plugin-flow": "file:./packages/react-agents/components/plugins/plugin-flow", "@elizaos/plugin-gitbook": "file:./packages/react-agents/components/plugins/plugin-gitbook", "@elizaos/plugin-goat": "file:./packages/react-agents/components/plugins/plugin-goat", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 4f400c09b..8ffaddd84 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -7,6 +7,7 @@ import { imageGenerationPlugin } from '@elizaos/plugin-image-generation'; import { nftGenerationPlugin } from '@elizaos/plugin-nft-generation'; import gitbookPlugin from '@elizaos/plugin-gitbook'; import evmPlugin from '@elizaos/plugin-evm'; +import avalanchePlugin from '@elizaos/plugin-avalanche'; import { solanaPlugin } from '@elizaos/plugin-solana'; import nearPlugin from '@elizaos/plugin-near'; import { teePlugin } from '@elizaos/plugin-tee'; @@ -211,6 +212,7 @@ export const plugins = { '@elizaos/plugin-nft-generation': pluginWrap(nftGenerationPlugin), '@elizaos/plugin-gitbook': pluginWrap(gitbookPlugin), '@elizaos/plugin-evm': pluginWrap(evmPlugin), + '@elizaos/plugin-avalanche': pluginWrap(avalanchePlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), '@elizaos/plugin-near': pluginWrap(nearPlugin), '@elizaos/plugin-tee': pluginWrap(teePlugin), From 609941a3caa618da51e9d608217f623018665306 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:21:48 -0800 Subject: [PATCH 100/312] Plugin hacks --- .../components/plugins/plugin-avalanche/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/package.json index 088a63a6b..5e1b7f58b 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-avalanche", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "viem": "2.21.49" }, "devDependencies": { From def0ea104dc59550e24f9d1069ae4e11e3093570 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:23:23 -0800 Subject: [PATCH 101/312] Update lock --- pnpm-lock.yaml | 58 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b25708e58..0500102e8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -945,6 +945,9 @@ importers: '@elizaos/plugin-3d-generation': specifier: file:./packages/react-agents/components/plugins/plugin-3d-generation version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-avalanche': + specifier: file:./packages/react-agents/components/plugins/plugin-avalanche + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(zod@3.24.1) '@elizaos/plugin-coinbase': specifier: file:./packages/react-agents/components/plugins/plugin-coinbase version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) @@ -2384,6 +2387,11 @@ packages: peerDependencies: whatwg-url: 7.1.0 + '@elizaos/plugin-avalanche@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-coinbase@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase, type: directory} @@ -16574,6 +16582,14 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + viem@2.21.49: + resolution: {integrity: sha512-NNItYfTv4+yGE5DDKc+S/g2S7KeJn047GwgEYG60FAJlK0FzwuP6lQKSeQ8k7Y4VasfuKPqiT+XiilcCtTRiDQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + viem@2.21.53: resolution: {integrity: sha512-0pY8clBacAwzc59iV1vY4a6U4xvRlA5tAuhClJCKvqA6rXJzmNMMvxQ0EG79lkHr7WtBEruXz8nAmONXwnq4EQ==} peerDependencies: @@ -18375,8 +18391,8 @@ snapshots: '@coinbase/coinbase-sdk@0.13.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)': dependencies: - '@scure/bip32': 1.5.0 - abitype: 1.0.6(typescript@5.7.2)(zod@3.24.1) + '@scure/bip32': 1.6.0 + abitype: 1.0.7(typescript@5.7.2)(zod@3.24.1) axios: 1.7.9 axios-mock-adapter: 1.22.0(axios@1.7.9) axios-retry: 4.5.0(axios@1.7.9) @@ -18673,6 +18689,16 @@ snapshots: - utf-8-validate - yaml + '@elizaos/plugin-avalanche@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(zod@3.24.1)': + dependencies: + viem: 2.21.49(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - bufferutil + - typescript + - utf-8-validate + - zod + '@elizaos/plugin-coinbase@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)': dependencies: '@coinbase/coinbase-sdk': 0.13.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) @@ -19874,7 +19900,7 @@ snapshots: '@goat-sdk/core@0.3.8(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)': dependencies: '@solana/web3.js': 1.95.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) - abitype: 1.0.6(typescript@5.7.2)(zod@3.23.8) + abitype: 1.0.7(typescript@5.7.2)(zod@3.23.8) viem: 2.21.54(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.23.8) zod: 3.23.8 transitivePeerDependencies: @@ -21239,7 +21265,7 @@ snapshots: '@mysten/bcs': 1.2.0 '@noble/curves': 1.7.0 '@noble/hashes': 1.6.1 - '@scure/bip32': 1.5.0 + '@scure/bip32': 1.6.0 '@scure/bip39': 1.5.0 '@simplewebauthn/typescript-types': 7.4.0 '@suchipi/femver': 1.0.0 @@ -26450,11 +26476,6 @@ snapshots: typescript: 5.7.2 zod: 3.24.1 - abitype@1.0.6(typescript@5.7.2)(zod@3.23.8): - optionalDependencies: - typescript: 5.7.2 - zod: 3.23.8 - abitype@1.0.6(typescript@5.7.2)(zod@3.24.1): optionalDependencies: typescript: 5.7.2 @@ -37664,6 +37685,7 @@ snapshots: '@electric-sql/pglite': 0.2.15 '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) '@elizaos/plugin-3d-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-avalanche': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(zod@3.24.1) '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) '@elizaos/plugin-evm': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-evm(@solana/wallet-adapter-base@0.9.23(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@solana/web3.js@1.95.8(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-flow': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-flow(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(utf-8-validate@5.0.10)(whatwg-url@11.0.0) @@ -38058,6 +38080,24 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 + viem@2.21.49(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 + '@scure/bip32': 1.5.0 + '@scure/bip39': 1.4.0 + abitype: 1.0.6(typescript@5.7.2)(zod@3.24.1) + isows: 1.0.6(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + ox: 0.1.2(typescript@5.7.2)(zod@3.24.1) + webauthn-p256: 0.0.10 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + - zod + viem@2.21.53(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): dependencies: '@noble/curves': 1.6.0 From 46ba29a88eb6b2e04e24aa3c4e8eb0d0b55e7692 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:23:39 -0800 Subject: [PATCH 102/312] Add multiversx --- .../plugins/plugin-multiversx/.npmignore | 6 + .../plugin-multiversx/eslint.config.mjs | 3 + .../plugins/plugin-multiversx/package.json | 26 ++ .../plugins/plugin-multiversx/readme.md | 12 + .../src/actions/createToken.ts | 161 ++++++++++ .../plugin-multiversx/src/actions/transfer.ts | 177 ++++++++++ .../plugin-multiversx/src/enviroment.ts | 37 +++ .../plugins/plugin-multiversx/src/index.ts | 13 + .../plugin-multiversx/src/providers/wallet.ts | 301 ++++++++++++++++++ .../src/tests/wallet.test.ts | 19 ++ .../plugin-multiversx/src/utils/amount.ts | 15 + .../plugins/plugin-multiversx/tsconfig.json | 8 + .../plugins/plugin-multiversx/tsup.config.ts | 20 ++ 13 files changed, 798 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/readme.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/actions/createToken.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/actions/transfer.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/enviroment.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/providers/wallet.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/tests/wallet.test.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/utils/amount.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/package.json new file mode 100644 index 000000000..92a86f9cb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/package.json @@ -0,0 +1,26 @@ +{ + "name": "@elizaos/plugin-multiversx", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@multiversx/sdk-core": "13.15.0", + "bignumber.js": "9.1.2", + "browserify": "^17.0.1", + "esbuild-plugin-polyfill-node": "^0.3.0", + "esmify": "^2.1.1", + "tsup": "8.3.5", + "vitest": "2.1.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "test": "vitest run", + "test:watch": "vitest", + "lint": "eslint . --fix" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/readme.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/readme.md new file mode 100644 index 000000000..0c26c8b53 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/readme.md @@ -0,0 +1,12 @@ +# MultiversX Plugin + +## Overview + +This plugin aims to be the basis of all interactions with the MultiversX ecosystem. + +## Adding a new action + +Reuse providers and utilities from the existing actions where possible. Add more utilities if you think they will be useful for other actions. + +1. Add the action to the `actions` directory. Try to follow the naming convention of the other actions. +2. Export the action in the `index.ts` file. diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/actions/createToken.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/actions/createToken.ts new file mode 100644 index 000000000..28bffe968 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/actions/createToken.ts @@ -0,0 +1,161 @@ +import { + elizaLogger, + ActionExample, + Content, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + generateObject, + composeContext, + type Action, +} from "@elizaos/core"; +import { WalletProvider } from "../providers/wallet"; +import { validateMultiversxConfig } from "../enviroment"; + +export interface CreateTokenContent extends Content { + tokenName: string; + tokenTicker: string; + decimals: string; + amount: string; +} + +function isCreateTokenContent( + runtime: IAgentRuntime, + content: any +): content is CreateTokenContent { + console.log("Content for create token", content); + return content.tokenName && content.tokenTicker && content.amount; +} + +const createTokenTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "tokenName": "TEST", + "tokenTicker": "TST", + "amount: 100, + "decimals": 18 +} +\`\`\` + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token creation: +- Token name +- Token ticker +- Amount +- Decimals + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "CREATE_TOKEN", + similes: ["DEPLOY_TOKEN"], + validate: async (runtime: IAgentRuntime, message: Memory) => { + console.log("Validating config for user:", message.userId); + await validateMultiversxConfig(runtime); + return true; + }, + description: "Create a new token.", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ) => { + elizaLogger.log("Starting CREATE_TOKEN handler..."); + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose transfer context + const transferContext = composeContext({ + state, + template: createTokenTemplate, + }); + + // Generate transfer content + const content = await generateObject({ + runtime, + context: transferContext, + modelClass: ModelClass.SMALL, + }); + + // Validate transfer content + if (!isCreateTokenContent(runtime, content)) { + console.error("Invalid content for TRANSFER_TOKEN action."); + if (callback) { + callback({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid transfer content" }, + }); + } + return false; + } + + try { + const privateKey = runtime.getSetting("MVX_PRIVATE_KEY"); + const network = runtime.getSetting("MVX_NETWORK"); + + const walletProvider = new WalletProvider(privateKey, network); + + await walletProvider.createESDT({ + tokenName: content.tokenName, + amount: content.amount, + decimals: Number(content.decimals) || 18, + tokenTicker: content.tokenTicker, + }); + return true; + } catch (error) { + console.error("Error during creating token:", error); + if (callback) { + callback({ + text: `Error creating token: ${error.message}`, + content: { error: error.message }, + }); + } + return false; + } + }, + + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Create a token XTREME with ticker XTR and supply of 10000", + action: "CREATE_TOKEN", + }, + }, + { + user: "{{user2}}", + content: { + text: "Succesfully created token.", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Create a token TEST with ticker TST, 18 decimals and supply of 10000", + action: "CREATE_TOKEN", + }, + }, + { + user: "{{user2}}", + content: { + text: "Succesfully created token.", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/actions/transfer.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/actions/transfer.ts new file mode 100644 index 000000000..ffb0dc4f4 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/actions/transfer.ts @@ -0,0 +1,177 @@ +import { + elizaLogger, + ActionExample, + Content, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + composeContext, + generateObject, + type Action, +} from "@elizaos/core"; +import { WalletProvider } from "../providers/wallet"; +import { validateMultiversxConfig } from "../enviroment"; + +export interface TransferContent extends Content { + tokenAddress: string; + amount: string; + tokenIdentifier?: string; +} + +function isTransferContent( + _runtime: IAgentRuntime, + content: any +): content is TransferContent { + console.log("Content for transfer", content); + return ( + typeof content.tokenAddress === "string" && + typeof content.amount === "string" + ); +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "tokenAddress": "erd12r22hx2q4jjt8e0gukxt5shxqjp9ys5nwdtz0gpds25zf8qwtjdqyzfgzm", + "amount": "1", + "tokenIdentifier": "PEPE-3eca7c" +} +\`\`\` + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token transfer: +- Token address +- Amount to transfer +- Token identifier + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "SEND_TOKEN", + similes: [ + "TRANSFER_TOKEN", + "TRANSFER_TOKENS", + "SEND_TOKENS", + "SEND_EGLD", + "PAY", + ], + validate: async (runtime: IAgentRuntime, message: Memory) => { + console.log("Validating config for user:", message.userId); + await validateMultiversxConfig(runtime); + return true; + }, + description: "Transfer tokens from the agent wallet to another address", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ) => { + elizaLogger.log("Starting SEND_TOKEN handler..."); + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content + const content = await generateObject({ + runtime, + context: transferContext, + modelClass: ModelClass.SMALL, + }); + + // Validate transfer content + if (!isTransferContent(runtime, content)) { + console.error("Invalid content for TRANSFER_TOKEN action."); + if (callback) { + callback({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid transfer content" }, + }); + } + return false; + } + + try { + const privateKey = runtime.getSetting("MVX_PRIVATE_KEY"); + const network = runtime.getSetting("MVX_NETWORK"); + + const walletProvider = new WalletProvider(privateKey, network); + + if ( + content.tokenIdentifier && + content.tokenIdentifier.toLowerCase() !== "egld" + ) { + await walletProvider.sendESDT({ + receiverAddress: content.tokenAddress, + amount: content.amount, + identifier: content.tokenIdentifier, + }); + return true; + } + + await walletProvider.sendEGLD({ + receiverAddress: content.tokenAddress, + amount: content.amount, + }); + return true; + } catch (error) { + console.error("Error during token transfer:", error); + if (callback) { + callback({ + text: `Error transferring tokens: ${error.message}`, + content: { error: error.message }, + }); + } + return ""; + } + }, + + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Send 1 EGLD to erd12r22hx2q4jjt8e0gukxt5shxqjp9ys5nwdtz0gpds25zf8qwtjdqyzfgzm", + }, + }, + { + user: "{{user2}}", + content: { + text: "I'll send 1 EGLD tokens now...", + action: "SEND_TOKEN", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Send 1 TST-a8b23d to erd12r22hx2q4jjt8e0gukxt5shxqjp9ys5nwdtz0gpds25zf8qwtjdqyzfgzm", + }, + }, + { + user: "{{user2}}", + content: { + text: "I'll send 1 TST-a8b23d tokens now...", + action: "SEND_TOKEN", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/enviroment.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/enviroment.ts new file mode 100644 index 000000000..a257cc10c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/enviroment.ts @@ -0,0 +1,37 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { z } from "zod"; + +export const multiversxEnvSchema = z.object({ + MVX_PRIVATE_KEY: z + .string() + .min(1, "MultiversX wallet private key is required"), + MVX_NETWORK: z.enum(["mainnet", "devnet", "testnet"]), +}); + +export type MultiversxConfig = z.infer; + +export async function validateMultiversxConfig( + runtime: IAgentRuntime +): Promise { + try { + const config = { + MVX_PRIVATE_KEY: + runtime.getSetting("MVX_PRIVATE_KEY") || + process.env.MVX_PRIVATE_KEY, + MVX_NETWORK: + runtime.getSetting("MVX_NETWORK") || process.env.MVX_NETWORK, + }; + + return multiversxEnvSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error( + `MultiversX configuration validation failed:\n${errorMessages}` + ); + } + throw error; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/index.ts new file mode 100644 index 000000000..ab9b0a50e --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/index.ts @@ -0,0 +1,13 @@ +import { Plugin } from "@elizaos/core"; +import transfer from "./actions/transfer"; +import createToken from "./actions/createToken"; + +export const multiversxPlugin: Plugin = { + name: "multiversx", + description: "MultiversX Plugin for Eliza", + actions: [transfer, createToken], + evaluators: [], + providers: [], +}; + +export default multiversxPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/providers/wallet.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/providers/wallet.ts new file mode 100644 index 000000000..a3273eada --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/providers/wallet.ts @@ -0,0 +1,301 @@ +import { elizaLogger } from "@elizaos/core"; +import { + UserSigner, + Address, + TransactionComputer, + ApiNetworkProvider, + UserSecretKey, + TokenTransfer, + TransferTransactionsFactory, + TransactionsFactoryConfig, + Token, + Transaction, + TokenManagementTransactionsFactory, +} from "@multiversx/sdk-core"; +import { denominateAmount } from "../utils/amount"; + +// Network configuration object for different environments (mainnet, devnet, testnet) +const MVX_NETWORK_CONFIG = { + mainnet: { + chainID: "1", // Mainnet chain ID + apiURL: "https://api.multiversx.com", // Mainnet API URL + explorerURL: "https://explorer.multiversx.com", + }, + devnet: { + chainID: "D", // Devnet chain ID + apiURL: "https://devnet-api.multiversx.com", // Devnet API URL, + explorerURL: "https://devnet-explorer.multiversx.com", + }, + testnet: { + chainID: "T", // Testnet chain ID + apiURL: "https://testnet-api.multiversx.com", // Testnet API URL + explorerURL: "https://testnet-explorer.multiversx.com", + }, +}; + +// WalletProvider class handles wallet-related operations, such as signing transactions, retrieving balance, and sending tokens +export class WalletProvider { + private signer: UserSigner; // Handles cryptographic signing + private apiNetworkProvider: ApiNetworkProvider; // Interacts with the MultiversX network + private chainID: string; // Current network chain ID + private explorerURL: string; // Current network explorer URL + + /** + * Constructor to initialize WalletProvider with a private key and network configuration + * @param privateKey - User's private key for signing transactions + * @param network - Target network (mainnet, devnet, or testnet) + */ + constructor(privateKey: string, network: string) { + if (!MVX_NETWORK_CONFIG[network]) { + throw new Error(`Unsupported network: ${network}`); // Validate network + } + + const networkConfig = MVX_NETWORK_CONFIG[network]; + this.chainID = networkConfig.chainID; + this.explorerURL = networkConfig.explorerURL; + + // Initialize the signer with the user's private key + const secretKey = UserSecretKey.fromString(privateKey); + this.signer = new UserSigner(secretKey); + + // Set up the network provider for API interactions + this.apiNetworkProvider = new ApiNetworkProvider(networkConfig.apiURL, { + clientName: "eliza-mvx", + }); + } + + /** + * Retrieve the wallet address derived from the private key + * @returns Address object + */ + public getAddress(): Address { + return this.signer.getAddress(); + } + + /** + * Fetch the wallet's current EGLD balance + * @returns Promise resolving to the wallet's balance as a string + */ + public async getBalance(): Promise { + const address = new Address(this.getAddress()); + const account = await this.apiNetworkProvider.getAccount(address); + return account.balance.toString(); // Return balance as a string + } + + /** + * Sign a transaction using the wallet's private key + * @param transaction - The transaction object to sign + * @returns The transaction signature as a string + */ + public async signTransaction(transaction: Transaction) { + const computer = new TransactionComputer(); + const serializedTx = computer.computeBytesForSigning(transaction); // Prepare transaction for signing + const signature = await this.signer.sign(serializedTx); // Sign the transaction + return signature; + } + + /** + * Send EGLD tokens to another wallet + * @param receiverAddress - Recipient's wallet address + * @param amount - Amount of EGLD to send + * @returns Transaction hash as a string + */ + public async sendEGLD({ + receiverAddress, + amount, + }: { + receiverAddress: string; + amount: string; + }): Promise { + try { + const receiver = new Address(receiverAddress); + const value = denominateAmount({ amount, decimals: 18 }); // Convert amount to the smallest unit + const senderAddress = this.getAddress(); + + // Prepare the transaction factory with the current chain ID + const factoryConfig = new TransactionsFactoryConfig({ + chainID: this.chainID, + }); + const factory = new TransferTransactionsFactory({ + config: factoryConfig, + }); + + // Create a native EGLD transfer transaction + const transaction = factory.createTransactionForNativeTokenTransfer( + { + sender: this.getAddress(), + receiver: receiver, + nativeAmount: BigInt(value), + } + ); + + // Get the sender's account details to set the nonce + const account = + await this.apiNetworkProvider.getAccount(senderAddress); + transaction.nonce = BigInt(account.nonce); + + // Sign the transaction + const signature = await this.signTransaction(transaction); + transaction.signature = signature; + + // Broadcast the transaction to the network + const txHash = + await this.apiNetworkProvider.sendTransaction(transaction); + + elizaLogger.log(`TxHash: ${txHash}`); // Log transaction hash + elizaLogger.log( + `Transaction URL: ${this.explorerURL}/transactions/${txHash}` + ); // View Transaction + return txHash; + } catch (error) { + console.error("Error sending EGLD transaction:", error); + throw new Error( + `Failed to send EGLD: ${error.message || "Unknown error"}` + ); + } + } + + /** + * Send ESDT (eStandard Digital Token) tokens to another wallet + * @param receiverAddress - Recipient's wallet address + * @param amount - Amount of ESDT to send + * @param identifier - ESDT token identifier (e.g., PEPE-3eca7c) + * @returns Transaction hash as a string + */ + public async sendESDT({ + receiverAddress, + amount, + identifier, + }: { + receiverAddress: string; + amount: string; + identifier: string; + }): Promise { + try { + const address = this.getAddress(); + + // Set up transaction factory for ESDT transfers + const config = new TransactionsFactoryConfig({ + chainID: this.chainID, + }); + const factory = new TransferTransactionsFactory({ config }); + + // Retrieve token details to determine the token's decimals + const token = + await this.apiNetworkProvider.getFungibleTokenOfAccount( + address, + identifier + ); + + // Convert amount to the token's smallest unit + const value = denominateAmount({ + amount, + decimals: token.rawResponse.decimals, + }); + + // Create an ESDT transfer transaction + const transaction = factory.createTransactionForESDTTokenTransfer({ + sender: this.getAddress(), + receiver: new Address(receiverAddress), + tokenTransfers: [ + new TokenTransfer({ + token: new Token({ identifier }), + amount: BigInt(value), + }), + ], + }); + + // Set the transaction nonce + const account = await this.apiNetworkProvider.getAccount(address); + transaction.nonce = BigInt(account.nonce); + + // Sign and broadcast the transaction + const signature = await this.signTransaction(transaction); + transaction.signature = signature; + const txHash = + await this.apiNetworkProvider.sendTransaction(transaction); + + elizaLogger.log(`TxHash: ${txHash}`); // Log transaction hash + elizaLogger.log( + `Transaction URL: ${this.explorerURL}/transactions/${txHash}` + ); // View Transaction + return txHash; + } catch (error) { + console.error("Error sending ESDT transaction:", error); + throw new Error( + `Failed to send ESDT: ${error.message || "Unknown error"}` + ); + } + } + + /** + * Create a new eStandard Digital Token (ESDT). + * @param tokenName - The name of the token to be created. + * @param tokenTicker - The ticker symbol for the token. + * @param amount - The initial supply of the token. + * @param decimals - The number of decimal places for the token. + * @returns The transaction hash of the created ESDT. + */ + public async createESDT({ + tokenName, + tokenTicker, + amount, + decimals, + }: { + tokenName: string; + tokenTicker: string; + amount: string; + decimals: number; + }): Promise { + try { + const address = this.getAddress(); // Retrieve the sender's address + + const factoryConfig = new TransactionsFactoryConfig({ + chainID: this.chainID, // Set the chain ID for the transaction factory + }); + const factory = new TokenManagementTransactionsFactory({ + config: factoryConfig, // Initialize the factory with the configuration + }); + + const totalSupply = denominateAmount({ amount, decimals }); + + // Create a transaction for issuing a fungible token + const transaction = factory.createTransactionForIssuingFungible({ + sender: new Address(address), // Specify the sender's address + tokenName, // Name of the token + tokenTicker: tokenTicker.toUpperCase(), // Token ticker in uppercase + initialSupply: BigInt(totalSupply), // Initial supply as a BigInt + numDecimals: BigInt(decimals), // Number of decimals as a BigInt + canFreeze: false, // Token cannot be frozen + canWipe: false, // Token cannot be wiped + canPause: false, // Token cannot be paused + canChangeOwner: true, // Ownership can be changed + canUpgrade: true, // Token can be upgraded + canAddSpecialRoles: true, // Special roles can be added + }); + + // Fetch the account details to set the nonce + const account = await this.apiNetworkProvider.getAccount(address); + transaction.nonce = BigInt(account.nonce); // Set the nonce for the transaction + + const signature = await this.signTransaction(transaction); // Sign the transaction + transaction.signature = signature; // Attach the signature to the transaction + + // Send the transaction to the network and get the transaction hash + const txHash = + await this.apiNetworkProvider.sendTransaction(transaction); + + elizaLogger.log(`TxHash: ${txHash}`); // Log the transaction hash + elizaLogger.log( + `Transaction URL: ${this.explorerURL}/transactions/${txHash}` + ); // View Transaction + + return txHash; // Return the transaction hash + } catch (error) { + console.error("Error creating ESDT:", error); + throw new Error( + `Failed to create ESDT: ${error.message || "Unknown error"}` + ); // Throw an error if creation fails + } + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/tests/wallet.test.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/tests/wallet.test.ts new file mode 100644 index 000000000..c147c4dc9 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/tests/wallet.test.ts @@ -0,0 +1,19 @@ +import { describe, it, expect, beforeEach } from "vitest"; +import { WalletProvider } from "../providers/wallet"; + +describe("WalletProvider", () => { + let walletProvider: WalletProvider; + + beforeEach(() => { + // Test wallet private key + const privateKey = + "b5a356fb7e5563e6b07887f1de0376f9c74f2affaa71d41941dbc002ea13f656"; + const network = "devnet"; + walletProvider = new WalletProvider(privateKey, network); + }); + + it("should retrieve the wallet address", () => { + const address = walletProvider.getAddress(); + expect(address).toBeDefined(); + }); +}); diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/utils/amount.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/utils/amount.ts new file mode 100644 index 000000000..a3f8f9016 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/src/utils/amount.ts @@ -0,0 +1,15 @@ +import BigNumber from "bignumber.js"; + +BigNumber.config({ ROUNDING_MODE: BigNumber.ROUND_FLOOR }); + +type PayloadType = { + amount: string; + decimals: number; +}; + +export const denominateAmount = ({ amount, decimals }: PayloadType) => { + return new BigNumber(amount) + .shiftedBy(decimals) + .decimalPlaces(0) + .toFixed(0); +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/tsconfig.json new file mode 100644 index 000000000..005fbac9d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": ["src/**/*.ts"] +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/tsup.config.ts new file mode 100644 index 000000000..4f0ac8513 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/tsup.config.ts @@ -0,0 +1,20 @@ +import { defineConfig } from "tsup"; +import { polyfillNode } from "esbuild-plugin-polyfill-node"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "@reflink/reflink", + "@node-llama-cpp", + "agentkeepalive", + "zod", + "zlib", + // Add other modules you want to externalize + ], + esbuildPlugins: [polyfillNode()], +}); From 8a47ca84cd2a32900866b8b0a39d481febbcb742 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:24:46 -0800 Subject: [PATCH 103/312] Remove npmignore --- .../components/plugins/plugin-multiversx/.npmignore | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/.npmignore deleted file mode 100644 index 078562ece..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts \ No newline at end of file From 5ff03130b9a520758e59253473f6d45b1d4252d6 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:25:20 -0800 Subject: [PATCH 104/312] Hack multiversx plugin --- .../components/plugins/plugin-multiversx/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/package.json index 92a86f9cb..5c3983ea8 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-multiversx", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "@multiversx/sdk-core": "13.15.0", "bignumber.js": "9.1.2", "browserify": "^17.0.1", From 8f8489c9ea5481996788c46b6ecfdf4ff31fe92b Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:40:13 -0800 Subject: [PATCH 105/312] Add plugin-multiversx to the list of plugins --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 8b4db4c0c..011915984 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -16,6 +16,7 @@ "@elizaos/plugin-image-generation": "file:./packages/react-agents/components/plugins/plugin-image-generation", "@elizaos/plugin-near": "file:./packages/react-agents/components/plugins/plugin-near", "@elizaos/plugin-nft-generation": "file:./packages/react-agents/components/plugins/plugin-nft-generation", + "@elizaos/plugin-multiversx": "file:./packages/react-agents/components/plugins/plugin-multiversx", "@elizaos/plugin-solana": "file:./packages/react-agents/components/plugins/plugin-solana", "@elizaos/plugin-story": "file:./packages/react-agents/components/plugins/plugin-story", "@elizaos/plugin-sui": "file:./packages/react-agents/components/plugins/plugin-sui", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 8ffaddd84..bc416a893 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -9,6 +9,7 @@ import gitbookPlugin from '@elizaos/plugin-gitbook'; import evmPlugin from '@elizaos/plugin-evm'; import avalanchePlugin from '@elizaos/plugin-avalanche'; import { solanaPlugin } from '@elizaos/plugin-solana'; +import multiversxPlugin from '@elizaos/plugin-multiversx'; import nearPlugin from '@elizaos/plugin-near'; import { teePlugin } from '@elizaos/plugin-tee'; import { TrustScoreDatabase } from '@elizaos/plugin-trustdb'; @@ -214,6 +215,7 @@ export const plugins = { '@elizaos/plugin-evm': pluginWrap(evmPlugin), '@elizaos/plugin-avalanche': pluginWrap(avalanchePlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), + '@elizaos/plugin-multiversx': pluginWrap(multiversxPlugin), '@elizaos/plugin-near': pluginWrap(nearPlugin), '@elizaos/plugin-tee': pluginWrap(teePlugin), '@elizaos/plugin-twitter': pluginWrap(twitterPlugin), From 0bccb2ec7560b3d525c4574bb9400712a6686a80 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:40:22 -0800 Subject: [PATCH 106/312] Update lock --- pnpm-lock.yaml | 1095 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1095 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0500102e8..b14f704ae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -966,6 +966,9 @@ importers: '@elizaos/plugin-image-generation': specifier: file:./packages/react-agents/components/plugins/plugin-image-generation version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-multiversx': + specifier: file:./packages/react-agents/components/plugins/plugin-multiversx + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(esbuild@0.24.0)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(protobufjs@7.4.0)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-near': specifier: file:./packages/react-agents/components/plugins/plugin-near version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near(@swc/core@1.10.1(@swc/helpers@0.5.13))(form-data@4.0.1)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) @@ -1727,6 +1730,11 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-flow@7.26.0': resolution: {integrity: sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==} engines: {node: '>=6.9.0'} @@ -2418,6 +2426,11 @@ packages: peerDependencies: whatwg-url: 7.1.0 + '@elizaos/plugin-multiversx@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-near@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near, type: directory} peerDependencies: @@ -3927,6 +3940,9 @@ packages: peerDependencies: tslib: '2' + '@jspm/core@2.1.0': + resolution: {integrity: sha512-3sRl+pkyFY/kLmHl0cgHiFp2xEqErA8N3ECjMs7serSUBmoJ70lBa0PG5t0IM6WJgdZNyyI0R8YFfi5wM8+mzg==} + '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} @@ -4268,6 +4284,19 @@ packages: peerDependencies: react: ^17.0.0 || ^18.0.0 || ^19.0.0 + '@multiversx/sdk-bls-wasm@0.3.5': + resolution: {integrity: sha512-c0tIdQUnbBLSt6NYU+OpeGPYdL0+GV547HeHT8Xc0BKQ7Cj0v82QUoA2QRtWrR1G4MNZmLsIacZSsf6DrIS2Bw==} + engines: {node: '>=8.9.0'} + + '@multiversx/sdk-core@13.15.0': + resolution: {integrity: sha512-5RRLMxSDd0XZGopIrPsWLbA8nWxC7WQYjea8/jPvkRApLyggheQU8gaC6ZSgSE0EBrSHl+oC3+YH8nbVayZ2gw==} + peerDependencies: + bignumber.js: ^9.0.1 + protobufjs: ^7.2.6 + + '@multiversx/sdk-transaction-decoder@1.0.2': + resolution: {integrity: sha512-j43QsKquu8N51WLmVlJ7dV2P3A1448R7/ktvl8r3i6wRMpfdtzDPNofTdHmMRT7DdQdvs4+RNgz8hVKL11Etsw==} + '@mysten/bcs@1.2.0': resolution: {integrity: sha512-LuKonrGdGW7dq/EM6U2L9/as7dFwnhZnsnINzB/vu08Xfrj0qzWwpLOiXagAa5yZOPLK7anRZydMonczFkUPzA==} @@ -4486,6 +4515,12 @@ packages: resolution: {integrity: sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==} engines: {node: ^14.21.3 || >=16} + '@noble/ed25519@1.7.3': + resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} + + '@noble/hashes@1.3.0': + resolution: {integrity: sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==} + '@noble/hashes@1.3.2': resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} @@ -4774,6 +4809,36 @@ packages: '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@radix-ui/number@1.0.1': resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} @@ -6862,6 +6927,9 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + '@types/node@11.11.6': + resolution: {integrity: sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==} + '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} @@ -7554,6 +7622,9 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-node@1.8.2: + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + acorn-walk@7.2.0: resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} engines: {node: '>=0.4.0'} @@ -7718,6 +7789,10 @@ packages: engines: {'0': node >= 0.8.0} hasBin: true + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -7726,6 +7801,10 @@ packages: resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -7886,6 +7965,12 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asn1.js@4.10.1: + resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==} + + assert@1.5.1: + resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} + assert@2.1.0: resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} @@ -8004,6 +8089,9 @@ packages: b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} + babel-code-frame@6.26.0: + resolution: {integrity: sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==} + babel-core@7.0.0-bridge.0: resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: @@ -8022,9 +8110,15 @@ packages: '@babel/core': ^7.12.0 webpack: '>=5' + babel-messages@6.23.0: + resolution: {integrity: sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==} + babel-plugin-add-react-displayname@0.0.5: resolution: {integrity: sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==} + babel-plugin-import-to-require@1.0.0: + resolution: {integrity: sha512-dc843CwrFivjO8AVgxcHvxl0cb7J7Ed8ZGFP8+PjH3X1CnyzYtAU1WL1349m9Wc/+oqk4ETx2+cIEO2jlp3XyQ==} + babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} @@ -8063,6 +8157,22 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + babel-runtime@6.26.0: + resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} + + babel-template@6.26.0: + resolution: {integrity: sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==} + + babel-traverse@6.26.0: + resolution: {integrity: sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==} + + babel-types@6.26.0: + resolution: {integrity: sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==} + + babylon@6.18.0: + resolution: {integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==} + hasBin: true + bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -8094,6 +8204,9 @@ packages: resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} engines: {node: '>=6.0.0'} + bech32@1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + bech32@2.0.0: resolution: {integrity: sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==} @@ -8144,6 +8257,9 @@ packages: resolution: {integrity: sha512-aOGy88DDlVUhspIXJN+dVEtclhIsfAUppD43V0j40cPTld3pv/0X/MlrZSZ6jowIaQQzFwP8M6rFU2z2mVYjDQ==} engines: {node: '>=6.0.0'} + bip39@3.0.2: + resolution: {integrity: sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==} + bip39@3.1.0: resolution: {integrity: sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==} @@ -8154,6 +8270,12 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + blake2b-wasm@1.1.7: + resolution: {integrity: sha512-oFIHvXhlz/DUgF0kq5B1CqxIDjIJwh9iDeUUGQUcvgiGz7Wdw03McEO7CfLBy7QKGdsydcMCgO9jFNBAFCtFcA==} + + blake2b@2.1.3: + resolution: {integrity: sha512-pkDss4xFVbMb4270aCyGD3qLv92314Et+FsKzilCLxDz5DuZ2/1g3w4nmBbu6nKApPspnjG7JcwTjGZnduB1yg==} + blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} @@ -8222,12 +8344,44 @@ packages: browser-headers@0.4.1: resolution: {integrity: sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg==} + browser-pack@6.1.0: + resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==} + hasBin: true + + browser-resolve@2.0.0: + resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + browser-util-inspect@0.2.0: resolution: {integrity: sha512-R7WvAj0p9FtwS2Jbtc1HUd1+YZdeb5EEqjBSbbOK3owJtW1viWyJDeTPy43QZ7bZ8POtb1yMv++h844486jMsQ==} + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.1: + resolution: {integrity: sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==} + engines: {node: '>= 0.10'} + + browserify-sign@4.2.3: + resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==} + engines: {node: '>= 0.12'} + browserify-zlib@0.1.4: resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + + browserify@17.0.1: + resolution: {integrity: sha512-pxhT00W3ylMhCHwG5yfqtZjNnFuX5h2IJdaBfSo4ChaaBsIp9VLrEMQ1bHV+Xr1uLPXuNDDM1GlJkjli0qkRsw==} + engines: {node: '>= 0.8'} + hasBin: true + browserslist@4.24.2: resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -8288,6 +8442,12 @@ packages: buffer-more-ints@1.0.0: resolution: {integrity: sha512-EMetuGFz5SLsT0QTnXzINh4Ksr+oo4i+UGTXEshiGCQWnsgSs7ZhJ8fzlwQ+OzEMs0MpDAMr1hxnblp5a4vcHg==} + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + buffer@5.2.1: + resolution: {integrity: sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==} + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} @@ -8302,6 +8462,9 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} + builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -8336,6 +8499,9 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} + cached-path-relative@1.1.0: + resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==} + call-bind-apply-helpers@1.0.1: resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} engines: {node: '>= 0.4'} @@ -8417,6 +8583,10 @@ packages: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + chalk@3.0.0: resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} engines: {node: '>=8'} @@ -8690,6 +8860,9 @@ packages: colorspace@1.1.4: resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} + combine-source-map@0.8.0: + resolution: {integrity: sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -8790,6 +8963,9 @@ packages: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} + console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} @@ -8812,6 +8988,9 @@ packages: resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==} engines: {node: '>=8'} + convert-source-map@1.1.3: + resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -8850,6 +9029,10 @@ packages: core-js-pure@3.39.0: resolution: {integrity: sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==} + core-js@2.6.12: + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. + core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -8888,9 +9071,15 @@ packages: resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} engines: {node: '>= 14'} + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + create-hash@1.2.0: resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -8921,6 +9110,10 @@ packages: crossws@0.3.1: resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==} + crypto-browserify@3.12.1: + resolution: {integrity: sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==} + engines: {node: '>= 0.10'} + crypto-hash@1.3.0: resolution: {integrity: sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg==} engines: {node: '>=8'} @@ -9088,6 +9281,9 @@ packages: damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dash-ast@1.0.0: + resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} + dashify@2.0.0: resolution: {integrity: sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A==} engines: {node: '>=4'} @@ -9254,6 +9450,9 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} + defined@1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -9287,10 +9486,17 @@ packages: resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} engines: {node: '>= 0.6.0'} + deps-sort@2.0.1: + resolution: {integrity: sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==} + hasBin: true + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + destr@2.0.3: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} @@ -9336,6 +9542,11 @@ packages: engines: {node: '>= 4.0.0'} hasBin: true + detective@5.2.1: + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} + hasBin: true + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -9357,6 +9568,9 @@ packages: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dijkstrajs@1.0.3: resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} @@ -9409,6 +9623,10 @@ packages: dom-walk@0.1.2: resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + domain-browser@1.2.0: + resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} + engines: {node: '>=0.4', npm: '>=1.2'} + domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} @@ -9456,6 +9674,9 @@ packages: resolution: {integrity: sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==} engines: {node: '>= 0.4'} + duplexer2@0.1.4: + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} + duplexify@3.7.1: resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} @@ -9478,6 +9699,12 @@ packages: ecdsa-sig-formatter@1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + ed25519-hd-key@1.1.2: + resolution: {integrity: sha512-/0y9y6N7vM6Kj5ASr9J9wcMVDTtygxSOvYX+PJiMD7VcxCx2G03V5bLRl8Dug9EgkLFsLhGqBtQWQRcElEeWTA==} + + ed2curve@0.3.0: + resolution: {integrity: sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ==} + edge-runtime@2.5.9: resolution: {integrity: sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==} engines: {node: '>=16'} @@ -9755,6 +9982,11 @@ packages: esbuild-plugin-alias@0.2.1: resolution: {integrity: sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==} + esbuild-plugin-polyfill-node@0.3.0: + resolution: {integrity: sha512-SHG6CKUfWfYyYXGpW143NEZtcVVn8S/WHcEOxk62LuDXnY4Zpmc+WmxJKN6GMTgTClXJXhEM5KQlxKY6YjbucQ==} + peerDependencies: + esbuild: '*' + esbuild-register@3.6.0: resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} peerDependencies: @@ -10070,6 +10302,9 @@ packages: esm-utils@4.3.0: resolution: {integrity: sha512-KupZztbWAnuksy1TYPjTkePxVlMWzmXdmB72z1WvUadtUiFv6x+0PKjYfyy1io9gdvU1A6QIcu055NRrJu1TEA==} + esmify@2.1.1: + resolution: {integrity: sha512-GyOVgjG7sNyYB5Mbo15Ll4aGrcXZzZ3LI22rbLOjCI7L/wYelzQpBHRZkZkqbPNZ/QIRilcaHqzgNCLcEsi1lQ==} + esmock@2.6.9: resolution: {integrity: sha512-SJ5YnoWi8yuGghBrupScARmIcUh2A2a2gIfdVRtQ2MQpQo91wMWHx/fsN0ZDERLAUso1ea4Q/9CKCL88O5MEpg==} engines: {node: '>=14.16.0'} @@ -10177,6 +10412,9 @@ packages: resolution: {integrity: sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==} engines: {node: '>=12.0.0'} + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + execa@1.0.0: resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} engines: {node: '>=6'} @@ -10280,6 +10518,9 @@ packages: resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} engines: {node: '>=6'} + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-stable-stringify@1.0.0: resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} @@ -10672,6 +10913,9 @@ packages: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + get-assigned-identifiers@1.2.0: + resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==} + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} @@ -10824,6 +11068,10 @@ packages: resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} engines: {node: '>=18'} + globals@9.18.0: + resolution: {integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==} + engines: {node: '>=0.10.0'} + globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -10893,6 +11141,10 @@ packages: engines: {node: '>=0.4.7'} hasBin: true + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -10918,6 +11170,10 @@ packages: has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + hash-base@3.0.5: + resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==} + engines: {node: '>= 0.10'} + hash-base@3.1.0: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} engines: {node: '>=4'} @@ -11020,6 +11276,10 @@ packages: webpack: optional: true + htmlescape@1.1.1: + resolution: {integrity: sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==} + engines: {node: '>=0.10'} + htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} @@ -11050,6 +11310,9 @@ packages: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} + https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + https-proxy-agent@4.0.0: resolution: {integrity: sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==} engines: {node: '>= 6.0.0'} @@ -11147,6 +11410,9 @@ packages: engines: {node: '>=8'} hasBin: true + import-meta-resolve@3.1.1: + resolution: {integrity: sha512-qeywsE/KC3w9Fd2ORrRDUw6nS/nLwZpXgfrOc2IILvZYnCaEMd+D56Vfg9k4G29gIeVi3XKql1RQatME8iYsiw==} + import-meta-resolve@4.1.0: resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} @@ -11186,12 +11452,19 @@ packages: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + inline-source-map@0.6.3: + resolution: {integrity: sha512-1aVsPEsJWMJq/pdMU61CDlm1URcW702MTB4w9/zUjMus6H/Py8o7g68Pr9D4I6QluWGt/KdmswuRhaA05xVR1w==} + inline-style-parser@0.1.1: resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + insert-module-globals@7.2.1: + resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==} + hasBin: true + inspect-custom-symbol@1.1.1: resolution: {integrity: sha512-GOucsp9EcdlLdhPUyOTvQDnbFJtp2WBWZV1Jqe+mVnkJQBL3w96+fB84C+JL+EKXOspMdB0eMDQPDp5w9fkfZA==} @@ -11275,6 +11548,9 @@ packages: resolution: {integrity: sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw==} engines: {node: '>= 0.4'} + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + is-buffer@2.0.5: resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} engines: {node: '>=4'} @@ -11875,6 +12151,9 @@ packages: js-tiktoken@1.0.15: resolution: {integrity: sha512-65ruOWWXDEZHHbAo7EjOcNxOGasQKbL4Fq3jEr2xsCqSsoOo6VVSqzWQb6PRIqypFSDcma4jO90YP0w5X8qVXQ==} + js-tokens@3.0.2: + resolution: {integrity: sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -12025,6 +12304,10 @@ packages: resolution: {integrity: sha512-yE9YJIEAk2aZ+FL/G8r+UGw0CTUzEA8ZFy6E+8tc3spHUKq3qBnzCkI1CQwGoI9atJhVyFPEypQsTY7mJ1Pi9w==} hasBin: true + keccak@3.0.2: + resolution: {integrity: sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==} + engines: {node: '>=10.0.0'} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -12050,6 +12333,9 @@ packages: resolution: {integrity: sha512-Sz49ZWR/BjNOq+2UK1k9ONZUVq8eyuCj30Zgc8VrRNtFlTBZduzuvehUd5kjQF6/Fms3Ir3EYqzJryw9tRvsSw==} engines: {node: '>=18'} + labeled-stream-splicer@2.0.2: + resolution: {integrity: sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==} + lamejs@file:packages/usdk/packages/upstreet-agent/packages/codecs/packages/lamejs: resolution: {directory: packages/usdk/packages/upstreet-agent/packages/codecs/packages/lamejs, type: directory} @@ -12259,6 +12545,9 @@ packages: lodash.isstring@4.0.1: resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + lodash.memoize@3.0.4: + resolution: {integrity: sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==} + lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} @@ -12789,6 +13078,10 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -12934,6 +13227,11 @@ packages: mlly@1.7.3: resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} + module-deps@6.2.3: + resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==} + engines: {node: '>= 0.8.0'} + hasBin: true + moment@2.30.1: resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} @@ -13011,6 +13309,9 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoassert@1.1.0: + resolution: {integrity: sha512-C40jQ3NzfkP53NsO8kEOFd79p4b9kDXQMwgiY1z8ZwrDZgUyom0AHwGegF4Dm99L+YoYhuaB0ceerUcXmqr1rQ==} + nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -13112,6 +13413,9 @@ packages: node-abort-controller@3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + node-addon-api@2.0.2: + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + node-addon-api@5.0.0: resolution: {integrity: sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==} @@ -13416,6 +13720,9 @@ packages: resolution: {integrity: sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==} engines: {node: '>=18'} + os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + os-paths@4.4.0: resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} engines: {node: '>= 6.0'} @@ -13526,6 +13833,13 @@ packages: resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} engines: {node: '>=8'} + parents@1.0.1: + resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==} + + parse-asn1@5.1.7: + resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==} + engines: {node: '>= 0.10'} + parse-bmfont-ascii@1.0.6: resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==} @@ -13609,6 +13923,10 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-platform@0.11.15: + resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==} + engines: {node: '>= 0.8.0'} + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -13656,6 +13974,10 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + peek-readable@4.1.0: resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} engines: {node: '>=8'} @@ -14271,6 +14593,10 @@ packages: resolution: {integrity: sha512-2yma2tog9VaRZY2mn3Wq51uiSW4NcPYT1cQdBagwyrznrilKSZwIZ0UG3ZPL/mx+axEns0hE35T5ufOYZXEnBQ==} engines: {node: '>=4'} + protobufjs@7.4.0: + resolution: {integrity: sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==} + engines: {node: '>=12.0.0'} + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -14290,6 +14616,9 @@ packages: psl@1.15.0: resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + pump@2.0.1: resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} @@ -14337,6 +14666,10 @@ packages: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} engines: {node: '>=6'} + querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -14387,6 +14720,9 @@ packages: randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -14596,6 +14932,9 @@ packages: resolution: {integrity: sha512-SEbJV7tohp3DAAILbEMPXavBjAnMN0tVnh4+9G8ihV4Pq3HYF9h8QNez9zkJ1ILkv9G2BjdzwctznGZXgu/HGw==} engines: {node: ^18.17.0 || >=20.5.0} + read-only-stream@2.0.0: + resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==} + read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -14679,6 +15018,9 @@ packages: regenerate@1.4.2: resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + regenerator-runtime@0.11.1: + resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} + regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} @@ -14986,6 +15328,9 @@ packages: scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + scryptsy@2.1.0: + resolution: {integrity: sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==} + secp256k1@5.0.0: resolution: {integrity: sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==} engines: {node: '>=14.0.0'} @@ -15099,6 +15444,9 @@ packages: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shasum-object@1.0.0: + resolution: {integrity: sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==} + shebang-command@1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -15118,6 +15466,10 @@ packages: shell-escape-tag@2.0.2: resolution: {integrity: sha512-kqmtJG6VzTahZl8Y3384ldskA9rzoEMdXLoMEBAq9334/UDdmfWl3OtmrGJPlVcyXvcSy3poDKka57gMxskMPw==} + shell-quote@1.8.2: + resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + engines: {node: '>= 0.4'} + shiki@1.24.2: resolution: {integrity: sha512-TR1fi6mkRrzW+SKT5G6uKuc32Dj2EEa7Kj0k8kGqiBINb+C1TiflVOiT9ta6GqOJtC4fraxO5SLUaKBcSY38Fg==} @@ -15151,6 +15503,9 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} @@ -15353,9 +15708,21 @@ packages: resolution: {integrity: sha512-Wt04pPTO71pwmRmsgkyZhNo4Bvdb/1pBAMsIFb9nQLykEdzzpXjvingxFFvdOG4nIowzwgxD+CLlyRqVJqnATw==} hasBin: true + stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + + stream-combiner2@1.1.1: + resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} + + stream-http@3.2.0: + resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + stream-shift@1.0.3: resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + stream-splicer@2.0.1: + resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==} + stream-to-array@2.3.0: resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} @@ -15427,6 +15794,10 @@ packages: stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -15540,6 +15911,9 @@ packages: stylis@4.2.0: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + subarg@1.0.0: + resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} @@ -15565,6 +15939,10 @@ packages: resolution: {integrity: sha512-u1ZpIBCawJnO+0QePsEiOknOfCRq0yERxiAchT0i4li0WHNUJbf0evXXSXOcCAR4M8iMDoajXYmstm/qO81Isw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -15641,6 +16019,9 @@ packages: resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} engines: {node: ^14.18.0 || >=16.0.0} + syntax-error@1.4.0: + resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==} + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -15802,6 +16183,10 @@ packages: resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} engines: {node: '>=4'} + timers-browserify@1.4.2: + resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} + engines: {node: '>=0.6.0'} + timm@1.7.1: resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==} @@ -15851,6 +16236,10 @@ packages: resolution: {integrity: sha512-loO/XEWTRqpfcpI7+Jr2RR2Umaaozx1t6OSVWtMi0oy5F/Fxg3IC+D/TToDnxyAGs7uZBGT/6XmyDUxgsObJXA==} engines: {node: '>=0.10.0'} + to-fast-properties@1.0.3: + resolution: {integrity: sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==} + engines: {node: '>=0.10.0'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -16027,6 +16416,9 @@ packages: typescript: optional: true + tty-browserify@0.0.1: + resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} + tunnel-rat@0.1.2: resolution: {integrity: sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==} @@ -16156,6 +16548,10 @@ packages: uint8arrays@3.1.0: resolution: {integrity: sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==} + umd@3.0.3: + resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==} + hasBin: true + unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -16166,6 +16562,10 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + undeclared-identifiers@1.1.3: + resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} + hasBin: true + undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -16725,6 +17125,9 @@ packages: jsdom: optional: true + vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + vue@3.5.13: resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} peerDependencies: @@ -17740,6 +18143,11 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/plugin-syntax-flow@7.26.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -18880,6 +19288,80 @@ snapshots: - typescript - yaml + '@elizaos/plugin-multiversx@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx(@edge-runtime/vm@3.2.0)(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(esbuild@0.24.0)(jiti@1.21.6)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(postcss@8.4.49)(protobufjs@7.4.0)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + '@multiversx/sdk-core': 13.15.0(bignumber.js@9.1.2)(protobufjs@7.4.0) + bignumber.js: 9.1.2 + browserify: 17.0.1 + esbuild-plugin-polyfill-node: 0.3.0(esbuild@0.24.0) + esmify: 2.1.1 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + vitest: 2.1.5(@edge-runtime/vm@3.2.0)(@types/node@22.8.1)(jsdom@20.0.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(sass@1.82.0)(terser@5.37.0) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@microsoft/api-extractor' + - '@swc/core' + - '@types/node' + - '@vitest/browser' + - '@vitest/ui' + - debug + - esbuild + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw + - postcss + - protobufjs + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - yaml + + '@elizaos/plugin-multiversx@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(esbuild@0.20.2)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0)': + dependencies: + '@multiversx/sdk-core': 13.15.0(bignumber.js@9.1.2)(protobufjs@7.4.0) + bignumber.js: 9.1.2 + browserify: 17.0.1 + esbuild-plugin-polyfill-node: 0.3.0(esbuild@0.20.2) + esmify: 2.1.1 + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + vitest: 2.1.5(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@microsoft/api-extractor' + - '@swc/core' + - '@types/node' + - '@vitest/browser' + - '@vitest/ui' + - debug + - esbuild + - happy-dom + - jiti + - jsdom + - less + - lightningcss + - msw + - postcss + - protobufjs + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - typescript + - yaml + '@elizaos/plugin-near@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near(@swc/core@1.10.1(@swc/helpers@0.5.13))(form-data@4.0.1)(jiti@1.21.6)(postcss@8.4.49)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': dependencies: '@ref-finance/ref-sdk': 1.4.6(react@file:packages/usdk/packages/upstreet-agent/packages/react) @@ -20759,6 +21241,8 @@ snapshots: dependencies: tslib: 2.8.1 + '@jspm/core@2.1.0': {} + '@juggle/resize-observer@3.4.0': {} '@langchain/core@0.3.26(openai@4.73.0(zod@3.23.8))': @@ -21255,6 +21739,37 @@ snapshots: transitivePeerDependencies: - '@types/react' + '@multiversx/sdk-bls-wasm@0.3.5': + optional: true + + '@multiversx/sdk-core@13.15.0(bignumber.js@9.1.2)(protobufjs@7.4.0)': + dependencies: + '@multiversx/sdk-transaction-decoder': 1.0.2 + '@noble/ed25519': 1.7.3 + '@noble/hashes': 1.3.0 + bech32: 1.1.4 + bignumber.js: 9.1.2 + blake2b: 2.1.3 + buffer: 6.0.3 + ed25519-hd-key: 1.1.2 + ed2curve: 0.3.0 + json-bigint: 1.0.0 + keccak: 3.0.2 + protobufjs: 7.4.0 + scryptsy: 2.1.0 + tweetnacl: 1.0.3 + uuid: 8.3.2 + optionalDependencies: + '@multiversx/sdk-bls-wasm': 0.3.5 + axios: 1.7.9 + bip39: 3.1.0 + transitivePeerDependencies: + - debug + + '@multiversx/sdk-transaction-decoder@1.0.2': + dependencies: + bech32: 2.0.0 + '@mysten/bcs@1.2.0': dependencies: bs58: 6.0.0 @@ -21480,6 +21995,10 @@ snapshots: dependencies: '@noble/hashes': 1.6.0 + '@noble/ed25519@1.7.3': {} + + '@noble/hashes@1.3.0': {} + '@noble/hashes@1.3.2': {} '@noble/hashes@1.3.3': {} @@ -22020,6 +22539,29 @@ snapshots: '@popperjs/core@2.11.8': {} + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + '@radix-ui/number@1.0.1': dependencies: '@babel/runtime': 7.26.0 @@ -25358,6 +25900,8 @@ snapshots: dependencies: '@types/node': 18.19.68 + '@types/node@11.11.6': {} + '@types/node@12.20.55': {} '@types/node@16.18.11': {} @@ -26517,6 +27061,12 @@ snapshots: dependencies: acorn: 8.14.0 + acorn-node@1.8.2: + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + xtend: 4.0.2 + acorn-walk@7.2.0: {} acorn-walk@8.3.4: @@ -26721,10 +27271,14 @@ snapshots: ansi-html@0.0.9: {} + ansi-regex@2.1.1: {} + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} + ansi-styles@2.2.1: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -26902,6 +27456,17 @@ snapshots: asap@2.0.6: {} + asn1.js@4.10.1: + dependencies: + bn.js: 4.12.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + + assert@1.5.1: + dependencies: + object.assign: 4.1.5 + util: 0.10.4 + assert@2.1.0: dependencies: call-bind: 1.0.8 @@ -27057,6 +27622,12 @@ snapshots: b4a@1.6.7: {} + babel-code-frame@6.26.0: + dependencies: + chalk: 1.1.3 + esutils: 2.0.3 + js-tokens: 3.0.2 + babel-core@7.0.0-bridge.0(@babel/core@7.26.0): dependencies: '@babel/core': 7.26.0 @@ -27081,8 +27652,18 @@ snapshots: schema-utils: 4.3.0 webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(esbuild@0.18.20) + babel-messages@6.23.0: + dependencies: + babel-runtime: 6.26.0 + babel-plugin-add-react-displayname@0.0.5: {} + babel-plugin-import-to-require@1.0.0: + dependencies: + babel-template: 6.26.0 + transitivePeerDependencies: + - supports-color + babel-plugin-istanbul@6.1.1: dependencies: '@babel/helper-plugin-utils': 7.25.9 @@ -27155,6 +27736,44 @@ snapshots: babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) + babel-runtime@6.26.0: + dependencies: + core-js: 2.6.12 + regenerator-runtime: 0.11.1 + + babel-template@6.26.0: + dependencies: + babel-runtime: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + lodash: 4.17.21 + transitivePeerDependencies: + - supports-color + + babel-traverse@6.26.0: + dependencies: + babel-code-frame: 6.26.0 + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + debug: 2.6.9 + globals: 9.18.0 + invariant: 2.2.4 + lodash: 4.17.21 + transitivePeerDependencies: + - supports-color + + babel-types@6.26.0: + dependencies: + babel-runtime: 6.26.0 + esutils: 2.0.3 + lodash: 4.17.21 + to-fast-properties: 1.0.3 + + babylon@6.18.0: {} + bail@2.0.2: {} balanced-match@1.0.2: {} @@ -27178,6 +27797,8 @@ snapshots: base64url@3.0.1: {} + bech32@1.1.4: {} + bech32@2.0.0: {} better-opn@3.0.2: @@ -27228,6 +27849,13 @@ snapshots: typeforce: 1.18.0 wif: 2.0.6 + bip39@3.0.2: + dependencies: + '@types/node': 11.11.6 + create-hash: 1.2.0 + pbkdf2: 3.1.2 + randombytes: 2.1.0 + bip39@3.1.0: dependencies: '@noble/hashes': 1.6.1 @@ -27250,6 +27878,15 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + blake2b-wasm@1.1.7: + dependencies: + nanoassert: 1.1.0 + + blake2b@2.1.3: + dependencies: + blake2b-wasm: 1.1.7 + nanoassert: 1.1.0 + blake3-wasm@2.1.5: {} blueimp-md5@2.19.0: {} @@ -27334,12 +27971,121 @@ snapshots: browser-headers@0.4.1: {} + browser-pack@6.1.0: + dependencies: + JSONStream: 1.3.5 + combine-source-map: 0.8.0 + defined: 1.0.1 + safe-buffer: 5.2.1 + through2: 2.0.5 + umd: 3.0.3 + + browser-resolve@2.0.0: + dependencies: + resolve: 1.22.8 + browser-util-inspect@0.2.0: {} + browserify-aes@1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.6 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-cipher@1.0.1: + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + + browserify-des@1.0.2: + dependencies: + cipher-base: 1.0.6 + des.js: 1.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + + browserify-rsa@4.1.1: + dependencies: + bn.js: 5.2.1 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + + browserify-sign@4.2.3: + dependencies: + bn.js: 5.2.1 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.6.1 + hash-base: 3.0.5 + inherits: 2.0.4 + parse-asn1: 5.1.7 + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + browserify-zlib@0.1.4: dependencies: pako: 0.2.9 + browserify-zlib@0.2.0: + dependencies: + pako: 1.0.11 + + browserify@17.0.1: + dependencies: + JSONStream: 1.3.5 + assert: 1.5.1 + browser-pack: 6.1.0 + browser-resolve: 2.0.0 + browserify-zlib: 0.2.0 + buffer: 5.2.1 + cached-path-relative: 1.1.0 + concat-stream: 1.6.2 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.1 + defined: 1.0.1 + deps-sort: 2.0.1 + domain-browser: 1.2.0 + duplexer2: 0.1.4 + events: 3.3.0 + glob: 7.2.3 + hasown: 2.0.2 + htmlescape: 1.1.1 + https-browserify: 1.0.0 + inherits: 2.0.4 + insert-module-globals: 7.2.1 + labeled-stream-splicer: 2.0.2 + mkdirp-classic: 0.5.3 + module-deps: 6.2.3 + os-browserify: 0.3.0 + parents: 1.0.1 + path-browserify: 1.0.1 + process: 0.11.10 + punycode: 1.4.1 + querystring-es3: 0.2.1 + read-only-stream: 2.0.0 + readable-stream: 2.3.8 + resolve: 1.22.8 + shasum-object: 1.0.0 + shell-quote: 1.8.2 + stream-browserify: 3.0.0 + stream-http: 3.2.0 + string_decoder: 1.3.0 + subarg: 1.0.0 + syntax-error: 1.4.0 + through2: 2.0.5 + timers-browserify: 1.4.2 + tty-browserify: 0.0.1 + url: 0.11.4 + util: 0.12.5 + vm-browserify: 1.1.2 + xtend: 4.0.2 + browserslist@4.24.2: dependencies: caniuse-lite: 1.0.30001687 @@ -27404,6 +28150,13 @@ snapshots: buffer-more-ints@1.0.0: {} + buffer-xor@1.0.3: {} + + buffer@5.2.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + buffer@5.7.1: dependencies: base64-js: 1.5.1 @@ -27421,6 +28174,8 @@ snapshots: builtin-modules@3.3.0: {} + builtin-status-codes@3.0.0: {} + bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 @@ -27452,6 +28207,8 @@ snapshots: normalize-url: 6.1.0 responselike: 2.0.1 + cached-path-relative@1.1.0: {} + call-bind-apply-helpers@1.0.1: dependencies: es-errors: 1.3.0 @@ -27537,6 +28294,14 @@ snapshots: loupe: 3.1.2 pathval: 2.0.0 + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + chalk@3.0.0: dependencies: ansi-styles: 4.3.0 @@ -27825,6 +28590,13 @@ snapshots: color: 3.2.1 text-hex: 1.0.0 + combine-source-map@0.8.0: + dependencies: + convert-source-map: 1.1.3 + inline-source-map: 0.6.3 + lodash.memoize: 3.0.4 + source-map: 0.5.7 + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -27925,6 +28697,8 @@ snapshots: consola@3.2.3: {} + console-browserify@1.2.0: {} + console-control-strings@1.1.0: {} constants-browserify@1.0.0: {} @@ -27939,6 +28713,8 @@ snapshots: convert-hrtime@3.0.0: {} + convert-source-map@1.1.3: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -27963,6 +28739,8 @@ snapshots: core-js-pure@3.39.0: {} + core-js@2.6.12: {} + core-util-is@1.0.3: {} cosmiconfig@7.1.0: @@ -28000,6 +28778,11 @@ snapshots: crc-32: 1.2.2 readable-stream: 4.5.2 + create-ecdh@4.0.4: + dependencies: + bn.js: 4.12.1 + elliptic: 6.6.1 + create-hash@1.2.0: dependencies: cipher-base: 1.0.6 @@ -28008,6 +28791,15 @@ snapshots: ripemd160: 2.0.2 sha.js: 2.4.11 + create-hmac@1.1.7: + dependencies: + cipher-base: 1.0.6 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + create-jest@29.7.0(@types/node@18.19.68)(babel-plugin-macros@3.1.0)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5)): dependencies: '@jest/types': 29.6.3 @@ -28089,6 +28881,21 @@ snapshots: dependencies: uncrypto: 0.1.3 + crypto-browserify@3.12.1: + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.3 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + hash-base: 3.0.5 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + crypto-hash@1.3.0: {} crypto-js@4.2.0: {} @@ -28276,6 +29083,8 @@ snapshots: damerau-levenshtein@1.0.8: {} + dash-ast@1.0.0: {} + dashify@2.0.0: {} data-uri-to-buffer@2.0.2: {} @@ -28421,6 +29230,8 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 + defined@1.0.1: {} + defu@6.1.4: {} del@6.1.1: @@ -28450,8 +29261,20 @@ snapshots: dependency-graph@0.11.0: {} + deps-sort@2.0.1: + dependencies: + JSONStream: 1.3.5 + shasum-object: 1.0.0 + subarg: 1.0.0 + through2: 2.0.5 + dequal@2.0.3: {} + des.js@1.1.0: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + destr@2.0.3: {} destroy@1.2.0: {} @@ -28487,6 +29310,12 @@ snapshots: transitivePeerDependencies: - supports-color + detective@5.2.1: + dependencies: + acorn-node: 1.8.2 + defined: 1.0.1 + minimist: 1.2.8 + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -28501,6 +29330,12 @@ snapshots: diff@5.2.0: {} + diffie-hellman@5.0.3: + dependencies: + bn.js: 4.12.1 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dijkstrajs@1.0.3: {} dir-glob@3.0.1: @@ -28568,6 +29403,8 @@ snapshots: dom-walk@0.1.2: {} + domain-browser@1.2.0: {} + domelementtype@2.3.0: {} domexception@4.0.0: @@ -28619,6 +29456,10 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + duplexer2@0.1.4: + dependencies: + readable-stream: 2.3.8 + duplexify@3.7.1: dependencies: end-of-stream: 1.4.4 @@ -28655,6 +29496,16 @@ snapshots: dependencies: safe-buffer: 5.2.1 + ed25519-hd-key@1.1.2: + dependencies: + bip39: 3.0.2 + create-hmac: 1.1.7 + tweetnacl: 1.0.3 + + ed2curve@0.3.0: + dependencies: + tweetnacl: 1.0.3 + edge-runtime@2.5.9: dependencies: '@edge-runtime/format': 2.2.1 @@ -28964,6 +29815,18 @@ snapshots: esbuild-plugin-alias@0.2.1: {} + esbuild-plugin-polyfill-node@0.3.0(esbuild@0.20.2): + dependencies: + '@jspm/core': 2.1.0 + esbuild: 0.20.2 + import-meta-resolve: 3.1.1 + + esbuild-plugin-polyfill-node@0.3.0(esbuild@0.24.0): + dependencies: + '@jspm/core': 2.1.0 + esbuild: 0.24.0 + import-meta-resolve: 3.1.1 + esbuild-register@3.6.0(esbuild@0.18.20): dependencies: debug: 4.4.0 @@ -29550,6 +30413,21 @@ snapshots: import-meta-resolve: 4.1.0 url-or-path: 2.3.2 + esmify@2.1.1: + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-transform-modules-commonjs': 7.26.3(@babel/core@7.26.0) + babel-plugin-import-to-require: 1.0.0 + cached-path-relative: 1.1.0 + concat-stream: 1.6.2 + duplexer2: 0.1.4 + through2: 2.0.5 + transitivePeerDependencies: + - supports-color + esmock@2.6.9: {} espree@10.3.0: @@ -29654,6 +30532,11 @@ snapshots: eventsource@2.0.2: {} + evp_bytestokey@1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + execa@1.0.0: dependencies: cross-spawn: 6.0.6 @@ -29864,6 +30747,8 @@ snapshots: fast-redact@3.5.0: {} + fast-safe-stringify@2.1.1: {} + fast-stable-stringify@1.0.0: {} fast-uri@3.0.3: {} @@ -30397,6 +31282,8 @@ snapshots: gensync@1.0.0-beta.2: {} + get-assigned-identifiers@1.2.0: {} + get-caller-file@2.0.5: {} get-east-asian-width@1.3.0: {} @@ -30573,6 +31460,8 @@ snapshots: globals@15.13.0: {} + globals@9.18.0: {} + globalthis@1.0.4: dependencies: define-properties: 1.2.1 @@ -30694,6 +31583,10 @@ snapshots: optionalDependencies: uglify-js: 3.19.3 + has-ansi@2.0.0: + dependencies: + ansi-regex: 2.1.1 + has-bigints@1.0.2: {} has-flag@4.0.0: {} @@ -30714,6 +31607,11 @@ snapshots: has-unicode@2.0.1: {} + hash-base@3.0.5: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + hash-base@3.1.0: dependencies: inherits: 2.0.4 @@ -30862,6 +31760,8 @@ snapshots: optionalDependencies: webpack: 5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(esbuild@0.18.20) + htmlescape@1.1.1: {} + htmlparser2@6.1.0: dependencies: domelementtype: 2.3.0 @@ -30913,6 +31813,8 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 + https-browserify@1.0.0: {} + https-proxy-agent@4.0.0: dependencies: agent-base: 5.1.1 @@ -31000,6 +31902,8 @@ snapshots: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 + import-meta-resolve@3.1.1: {} + import-meta-resolve@4.1.0: {} import-modules@2.1.0: {} @@ -31025,10 +31929,27 @@ snapshots: ini@4.1.1: {} + inline-source-map@0.6.3: + dependencies: + source-map: 0.5.7 + inline-style-parser@0.1.1: {} inline-style-parser@0.2.4: {} + insert-module-globals@7.2.1: + dependencies: + JSONStream: 1.3.5 + acorn-node: 1.8.2 + combine-source-map: 0.8.0 + concat-stream: 1.6.2 + is-buffer: 1.1.6 + path-is-absolute: 1.0.1 + process: 0.11.10 + through2: 2.0.5 + undeclared-identifiers: 1.1.3 + xtend: 4.0.2 + inspect-custom-symbol@1.1.1: {} internal-slot@1.0.7: @@ -31105,6 +32026,8 @@ snapshots: call-bind: 1.0.8 has-tostringtag: 1.0.2 + is-buffer@1.1.6: {} + is-buffer@2.0.5: {} is-builtin-module@3.2.1: @@ -32096,6 +33019,8 @@ snapshots: dependencies: base64-js: 1.5.1 + js-tokens@3.0.2: {} + js-tokens@4.0.0: {} js-types@1.0.0: {} @@ -32295,6 +33220,12 @@ snapshots: dependencies: commander: 8.3.0 + keccak@3.0.2: + dependencies: + node-addon-api: 2.0.2 + node-gyp-build: 4.8.4 + readable-stream: 3.6.2 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -32311,6 +33242,11 @@ snapshots: ky@1.7.3: {} + labeled-stream-splicer@2.0.2: + dependencies: + inherits: 2.0.4 + stream-splicer: 2.0.1 + lamejs@file:packages/usdk/packages/upstreet-agent/packages/codecs/packages/lamejs: dependencies: use-strict: 1.0.1 @@ -32563,6 +33499,8 @@ snapshots: lodash.isstring@4.0.1: {} + lodash.memoize@3.0.4: {} + lodash.memoize@4.1.2: {} lodash.merge@4.6.2: {} @@ -33541,6 +34479,11 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + miller-rabin@4.0.1: + dependencies: + bn.js: 4.12.1 + brorand: 1.1.0 + mime-db@1.52.0: {} mime-db@1.53.0: {} @@ -33669,6 +34612,24 @@ snapshots: pkg-types: 1.2.1 ufo: 1.5.4 + module-deps@6.2.3: + dependencies: + JSONStream: 1.3.5 + browser-resolve: 2.0.0 + cached-path-relative: 1.1.0 + concat-stream: 1.6.2 + defined: 1.0.1 + detective: 5.2.1 + duplexer2: 0.1.4 + inherits: 2.0.4 + parents: 1.0.1 + readable-stream: 2.3.8 + resolve: 1.22.8 + stream-combiner2: 1.1.1 + subarg: 1.0.0 + through2: 2.0.5 + xtend: 4.0.2 + moment@2.30.1: {} monaco-editor@0.52.2: {} @@ -33756,6 +34717,8 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 + nanoassert@1.1.0: {} + nanoid@3.3.6: {} nanoid@3.3.8: {} @@ -33887,6 +34850,8 @@ snapshots: node-abort-controller@3.1.1: {} + node-addon-api@2.0.2: {} + node-addon-api@5.0.0: {} node-addon-api@7.1.1: @@ -34222,6 +35187,8 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.1.0 + os-browserify@0.3.0: {} + os-paths@4.4.0: {} otpauth@9.3.6: @@ -34345,6 +35312,19 @@ snapshots: dependencies: callsites: 3.1.0 + parents@1.0.1: + dependencies: + path-platform: 0.11.15 + + parse-asn1@5.1.7: + dependencies: + asn1.js: 4.10.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + hash-base: 3.0.5 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + parse-bmfont-ascii@1.0.6: {} parse-bmfont-binary@1.0.6: {} @@ -34428,6 +35408,8 @@ snapshots: path-parse@1.0.7: {} + path-platform@0.11.15: {} + path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -34467,6 +35449,14 @@ snapshots: pathval@2.0.0: {} + pbkdf2@3.1.2: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + peek-readable@4.1.0: {} peek-stream@1.1.3: @@ -35010,6 +36000,21 @@ snapshots: proto-props@2.0.0: {} + protobufjs@7.4.0: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 18.19.68 + long: 5.2.3 + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -35027,6 +36032,15 @@ snapshots: dependencies: punycode: 2.3.1 + public-encrypt@4.0.3: + dependencies: + bn.js: 4.12.1 + browserify-rsa: 4.1.1 + create-hash: 1.2.0 + parse-asn1: 5.1.7 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + pump@2.0.1: dependencies: end-of-stream: 1.4.4 @@ -35106,6 +36120,8 @@ snapshots: split-on-first: 1.1.0 strict-uri-encode: 2.0.0 + querystring-es3@0.2.1: {} + querystringify@2.2.0: {} queue-manager@file:packages/usdk/packages/upstreet-agent/packages/queue-manager: {} @@ -35150,6 +36166,11 @@ snapshots: dependencies: safe-buffer: 5.2.1 + randomfill@1.0.4: + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + range-parser@1.2.1: {} raw-body@2.4.1: @@ -35445,6 +36466,10 @@ snapshots: read-cmd-shim@5.0.0: {} + read-only-stream@2.0.0: + dependencies: + readable-stream: 2.3.8 + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -35584,6 +36609,8 @@ snapshots: regenerate@1.4.2: {} + regenerator-runtime@0.11.1: {} + regenerator-runtime@0.13.11: {} regenerator-runtime@0.14.1: {} @@ -36019,6 +37046,8 @@ snapshots: dependencies: compute-scroll-into-view: 3.1.0 + scryptsy@2.1.0: {} + secp256k1@5.0.0: dependencies: elliptic: 6.6.1 @@ -36174,6 +37203,10 @@ snapshots: '@img/sharp-win32-x64': 0.33.5 optional: true + shasum-object@1.0.0: + dependencies: + fast-safe-stringify: 2.1.1 + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 @@ -36193,6 +37226,8 @@ snapshots: just-flatten-it: 2.2.1 just-zip-it: 2.3.1 + shell-quote@1.8.2: {} + shiki@1.24.2: dependencies: '@shikijs/core': 1.24.2 @@ -36238,6 +37273,8 @@ snapshots: signal-exit@4.1.0: {} + simple-concat@1.0.1: {} + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 @@ -36418,8 +37455,30 @@ snapshots: - supports-color - utf-8-validate + stream-browserify@3.0.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + stream-combiner2@1.1.1: + dependencies: + duplexer2: 0.1.4 + readable-stream: 2.3.8 + + stream-http@3.2.0: + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + xtend: 4.0.2 + stream-shift@1.0.3: {} + stream-splicer@2.0.1: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + stream-to-array@2.3.0: dependencies: any-promise: 1.3.0 @@ -36531,6 +37590,10 @@ snapshots: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -36612,6 +37675,10 @@ snapshots: stylis@4.2.0: {} + subarg@1.0.0: + dependencies: + minimist: 1.2.8 + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.8 @@ -36648,6 +37715,8 @@ snapshots: serialize-error: 7.0.1 strip-ansi: 7.1.0 + supports-color@2.0.0: {} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -36748,6 +37817,10 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.8.1 + syntax-error@1.4.0: + dependencies: + acorn-node: 1.8.2 + tabbable@6.2.0: {} tailwind-merge@2.2.1: @@ -37034,6 +38107,10 @@ snapshots: time-zone@1.0.0: {} + timers-browserify@1.4.2: + dependencies: + process: 0.11.10 + timm@1.7.1: {} tiny-emitter@2.1.0: {} @@ -37068,6 +38145,8 @@ snapshots: is-absolute: 1.0.0 is-negated-glob: 1.0.0 + to-fast-properties@1.0.3: {} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -37367,6 +38446,8 @@ snapshots: - tsx - yaml + tty-browserify@0.0.1: {} + tunnel-rat@0.1.2(@types/react@18.2.48)(react@18.2.0): dependencies: zustand: 4.5.5(@types/react@18.2.48)(react@18.2.0) @@ -37493,6 +38574,8 @@ snapshots: dependencies: multiformats: 9.9.0 + umd@3.0.3: {} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.8 @@ -37504,6 +38587,14 @@ snapshots: uncrypto@0.1.3: {} + undeclared-identifiers@1.1.3: + dependencies: + acorn-node: 1.8.2 + dash-ast: 1.0.0 + get-assigned-identifiers: 1.2.0 + simple-concat: 1.0.1 + xtend: 4.0.2 + undici-types@5.26.5: {} undici-types@6.19.8: {} @@ -37692,6 +38783,7 @@ snapshots: '@elizaos/plugin-gitbook': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-gitbook(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) '@elizaos/plugin-goat': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-goat(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-image-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-image-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) + '@elizaos/plugin-multiversx': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-multiversx(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(esbuild@0.20.2)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-near': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-near(@swc/core@1.10.1(@swc/helpers@0.5.13))(form-data@4.0.1)(react@19.0.0-rc-df5f2736-20240712)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-nft-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-nft-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-solana': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-solana(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(bufferutil@4.0.9)(form-data@4.0.1)(rollup@4.28.1)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0) @@ -37804,6 +38896,7 @@ snapshots: - node-notifier - peggy - postcss + - protobufjs - rollup - sass - sass-embedded @@ -38399,6 +39492,8 @@ snapshots: - supports-color - terser + vm-browserify@1.1.2: {} + vue@3.5.13(typescript@5.7.2): dependencies: '@vue/compiler-dom': 3.5.13 From bac0bf1266bed90dd76e7b13362ec046889b01b8 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:40:46 -0800 Subject: [PATCH 107/312] Add video generation plugin --- .../plugin-video-generation/.npmignore | 7 + .../plugin-video-generation/eslint.config.mjs | 3 + .../plugin-video-generation/package.json | 19 ++ .../plugin-video-generation/src/constants.ts | 4 + .../plugin-video-generation/src/index.ts | 239 ++++++++++++++++++ .../plugin-video-generation/tsconfig.json | 15 ++ .../plugin-video-generation/tsup.config.ts | 19 ++ 7 files changed, 306 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/eslint.config.mjs create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/src/constants.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/.npmignore new file mode 100644 index 000000000..a9227d220 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/.npmignore @@ -0,0 +1,7 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts +!tsconfig.json \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/eslint.config.mjs b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/eslint.config.mjs new file mode 100644 index 000000000..92fe5bbeb --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/eslint.config.mjs @@ -0,0 +1,3 @@ +import eslintGlobalConfig from "../../eslint.config.mjs"; + +export default [...eslintGlobalConfig]; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/package.json new file mode 100644 index 000000000..b8c50d0f5 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/package.json @@ -0,0 +1,19 @@ +{ + "name": "@elizaos/plugin-video-generation", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "lint": "eslint --fix --cache ." + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/src/constants.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/src/constants.ts new file mode 100644 index 000000000..78723f905 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/src/constants.ts @@ -0,0 +1,4 @@ +export const LUMA_CONSTANTS = { + API_URL: "https://api.lumalabs.ai/dream-machine/v1/generations", + API_KEY_SETTING: "LUMA_API_KEY", // The setting name to fetch from runtime +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/src/index.ts new file mode 100644 index 000000000..edadaa486 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/src/index.ts @@ -0,0 +1,239 @@ +import { elizaLogger } from "@elizaos/core"; +import { + Action, + HandlerCallback, + IAgentRuntime, + Memory, + Plugin, + State, +} from "@elizaos/core"; +import fs from "fs"; +import { LUMA_CONSTANTS } from "./constants"; + +const generateVideo = async (prompt: string, runtime: IAgentRuntime) => { + const API_KEY = runtime.getSetting(LUMA_CONSTANTS.API_KEY_SETTING); + + try { + elizaLogger.log("Starting video generation with prompt:", prompt); + + const response = await fetch(LUMA_CONSTANTS.API_URL, { + method: "POST", + headers: { + Authorization: `Bearer ${API_KEY}`, + accept: "application/json", + "Content-Type": "application/json", + }, + body: JSON.stringify({ prompt }), + }); + + if (!response.ok) { + const errorText = await response.text(); + elizaLogger.error("Luma API error:", { + status: response.status, + statusText: response.statusText, + error: errorText, + }); + throw new Error( + `Luma API error: ${response.statusText} - ${errorText}` + ); + } + + const data = await response.json(); + elizaLogger.log( + "Generation request successful, received response:", + data + ); + + // Poll for completion + let status = data.status; + let videoUrl = null; + const generationId = data.id; + + while (status !== "completed" && status !== "failed") { + await new Promise((resolve) => setTimeout(resolve, 5000)); // Wait 5 seconds + + const statusResponse = await fetch( + `${LUMA_CONSTANTS.API_URL}/${generationId}`, + { + method: "GET", + headers: { + Authorization: `Bearer ${API_KEY}`, + accept: "application/json", + }, + } + ); + + if (!statusResponse.ok) { + const errorText = await statusResponse.text(); + elizaLogger.error("Status check error:", { + status: statusResponse.status, + statusText: statusResponse.statusText, + error: errorText, + }); + throw new Error( + "Failed to check generation status: " + errorText + ); + } + + const statusData = await statusResponse.json(); + elizaLogger.log("Status check response:", statusData); + + status = statusData.state; + if (status === "completed") { + videoUrl = statusData.assets?.video; + } + } + + if (status === "failed") { + throw new Error("Video generation failed"); + } + + if (!videoUrl) { + throw new Error("No video URL in completed response"); + } + + return { + success: true, + data: videoUrl, + }; + } catch (error) { + elizaLogger.error("Video generation error:", error); + return { + success: false, + error: error.message || "Unknown error occurred", + }; + } +}; + +const videoGeneration: Action = { + name: "GENERATE_VIDEO", + similes: [ + "VIDEO_GENERATION", + "VIDEO_GEN", + "CREATE_VIDEO", + "MAKE_VIDEO", + "RENDER_VIDEO", + "ANIMATE", + "CREATE_ANIMATION", + "VIDEO_CREATE", + "VIDEO_MAKE", + ], + description: "Generate a video based on a text prompt", + validate: async (runtime: IAgentRuntime, _message: Memory) => { + elizaLogger.log("Validating video generation action"); + const lumaApiKey = runtime.getSetting("LUMA_API_KEY"); + elizaLogger.log("LUMA_API_KEY present:", !!lumaApiKey); + return !!lumaApiKey; + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + _state: State, + _options: any, + callback: HandlerCallback + ) => { + elizaLogger.log("Video generation request:", message); + + // Clean up the prompt by removing mentions and commands + const videoPrompt = message.content.text + .replace(/<@\d+>/g, "") // Remove mentions + .replace( + /generate video|create video|make video|render video/gi, + "" + ) // Remove commands + .trim(); + + if (!videoPrompt || videoPrompt.length < 5) { + callback({ + text: "Could you please provide more details about what kind of video you'd like me to generate? For example: 'Generate a video of a sunset on a beach' or 'Create a video of a futuristic city'", + }); + return; + } + + elizaLogger.log("Video prompt:", videoPrompt); + + callback({ + text: `I'll generate a video based on your prompt: "${videoPrompt}". This might take a few minutes...`, + }); + + try { + const result = await generateVideo(videoPrompt, runtime); + + if (result.success && result.data) { + // Download the video file + const response = await fetch(result.data); + const arrayBuffer = await response.arrayBuffer(); + const videoFileName = `content_cache/generated_video_${Date.now()}.mp4`; + + // Save video file + fs.writeFileSync(videoFileName, Buffer.from(arrayBuffer)); + + callback( + { + text: "Here's your generated video!", + attachments: [ + { + id: crypto.randomUUID(), + url: result.data, + title: "Generated Video", + source: "videoGeneration", + description: videoPrompt, + text: videoPrompt, + }, + ], + }, + [videoFileName] + ); // Add the video file to the attachments + } else { + callback({ + text: `Video generation failed: ${result.error}`, + error: true, + }); + } + } catch (error) { + elizaLogger.error(`Failed to generate video. Error: ${error}`); + callback({ + text: `Video generation failed: ${error.message}`, + error: true, + }); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { text: "Generate a video of a cat playing piano" }, + }, + { + user: "{{agentName}}", + content: { + text: "I'll create a video of a cat playing piano for you", + action: "GENERATE_VIDEO", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Can you make a video of a sunset at the beach?", + }, + }, + { + user: "{{agentName}}", + content: { + text: "I'll generate a beautiful beach sunset video for you", + action: "GENERATE_VIDEO", + }, + }, + ], + ], +} as Action; + +export const videoGenerationPlugin: Plugin = { + name: "videoGeneration", + description: "Generate videos using Luma AI", + actions: [videoGeneration], + evaluators: [], + providers: [], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/tsconfig.json new file mode 100644 index 000000000..06a0ab4e6 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/tsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src", + "module": "ESNext", + "moduleResolution": "Bundler", + "types": [ + "node" + ] + }, + "include": [ + "src/**/*.ts" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/tsup.config.ts new file mode 100644 index 000000000..58ed52c49 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/tsup.config.ts @@ -0,0 +1,19 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], + external: [ + "dotenv", + "fs", + "path", + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive", + ], +}); From eda3e0c05d4f42c2eda3a12a4df8a57dcd78dc9a Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:40:55 -0800 Subject: [PATCH 108/312] Remove npmignore --- .../components/plugins/plugin-video-generation/.npmignore | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/.npmignore diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/.npmignore deleted file mode 100644 index a9227d220..000000000 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/.npmignore +++ /dev/null @@ -1,7 +0,0 @@ -* - -!dist/** -!package.json -!readme.md -!tsup.config.ts -!tsconfig.json \ No newline at end of file From 558c7eb65799961a20da0301dd3d5b89b234a2ff Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:41:19 -0800 Subject: [PATCH 109/312] Hack video generation plugin --- .../components/plugins/plugin-video-generation/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/package.json index b8c50d0f5..d67945a46 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation/package.json @@ -1,11 +1,9 @@ { "name": "@elizaos/plugin-video-generation", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", "tsup": "8.3.5" }, "scripts": { From 78de9fc7bb79d3b3e6fd59763fabf0272a7af514 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:42:58 -0800 Subject: [PATCH 110/312] Add video generation plugin support --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 011915984..531508f4d 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -23,6 +23,7 @@ "@elizaos/plugin-tee": "file:./packages/react-agents/components/plugins/plugin-tee", "@elizaos/plugin-trustdb": "file:./packages/react-agents/components/plugins/plugin-trustdb", "@elizaos/plugin-twitter": "file:./packages/react-agents/components/plugins/plugin-twitter", + "@elizaos/plugin-video-generation": "file:./packages/react-agents/components/plugins/plugin-video-generation", "@elizaos/plugin-web-search": "file:./packages/react-agents/components/plugins/plugin-web-search", "@iarna/toml": "^2.2.5", "@supabase/postgrest-js": "^1.17.7", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index bc416a893..0b3021cd5 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -4,6 +4,7 @@ import { z } from 'zod'; import util from 'util'; import { ThreeDGenerationPlugin } from '@elizaos/plugin-3d-generation'; import { imageGenerationPlugin } from '@elizaos/plugin-image-generation'; +import { videoGenerationPlugin } from '@elizaos/plugin-video-generation'; import { nftGenerationPlugin } from '@elizaos/plugin-nft-generation'; import gitbookPlugin from '@elizaos/plugin-gitbook'; import evmPlugin from '@elizaos/plugin-evm'; @@ -210,6 +211,7 @@ const adapterWrap = (adapter: IAdapter) => (props: any) => { export const plugins = { '@elizaos/plugin-3d-generation': pluginWrap(ThreeDGenerationPlugin), '@elizaos/plugin-image-generation': pluginWrap(imageGenerationPlugin), + '@elizaos/plugin-video-generation': pluginWrap(videoGenerationPlugin), '@elizaos/plugin-nft-generation': pluginWrap(nftGenerationPlugin), '@elizaos/plugin-gitbook': pluginWrap(gitbookPlugin), '@elizaos/plugin-evm': pluginWrap(evmPlugin), From 3717273cac13fc6980fca74fd80b5a3811408d06 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:43:06 -0800 Subject: [PATCH 111/312] Update lock --- pnpm-lock.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b14f704ae..1572d7b22 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -993,6 +993,9 @@ importers: '@elizaos/plugin-twitter': specifier: file:./packages/react-agents/components/plugins/plugin-twitter version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + '@elizaos/plugin-video-generation': + specifier: file:./packages/react-agents/components/plugins/plugin-video-generation + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-web-search': specifier: file:./packages/react-agents/components/plugins/plugin-web-search version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) @@ -2472,6 +2475,11 @@ packages: '@elizaos/plugin-twitter@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter, type: directory} + '@elizaos/plugin-video-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@elizaos/plugin-web-search@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search, type: directory} peerDependencies: @@ -19721,6 +19729,20 @@ snapshots: - typescript - yaml + '@elizaos/plugin-video-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': + dependencies: + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - jiti + - postcss + - supports-color + - tsx + - typescript + - yaml + '@elizaos/plugin-web-search@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1)': dependencies: '@elizaos/core': link:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy @@ -38792,6 +38814,7 @@ snapshots: '@elizaos/plugin-tee': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-tee(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(jiti@1.21.6)(postcss@8.4.49)(rollup@4.28.1)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@elizaos/plugin-trustdb': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-trustdb(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0)(typescript@5.7.2)(whatwg-url@11.0.0) '@elizaos/plugin-twitter': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-twitter(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + '@elizaos/plugin-video-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-web-search': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-whatsapp': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp '@iarna/toml': 2.2.5 From 15905c1e6eb366e81fe1fda10e8c15e6d9111b38 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:43:30 -0800 Subject: [PATCH 112/312] Add zksnyc plugin --- .../plugins/plugin-zksync-era/package.json | 20 ++ .../plugin-zksync-era/src/actions/transfer.ts | 233 ++++++++++++++++++ .../plugin-zksync-era/src/enviroment.ts | 36 +++ .../plugins/plugin-zksync-era/src/index.ts | 13 + .../plugins/plugin-zksync-era/tsconfig.json | 8 + .../plugins/plugin-zksync-era/tsup.config.ts | 20 ++ 6 files changed, 330 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/actions/transfer.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/enviroment.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/package.json new file mode 100644 index 000000000..9c730645f --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/package.json @@ -0,0 +1,20 @@ +{ + "name": "@elizaos/plugin-zksync-era", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@elizaos/core": "workspace:*", + "@elizaos/plugin-trustdb": "workspace:*", + "tsup": "^8.3.5", + "web3": "^4.15.0", + "web3-plugin-zksync": "^1.0.8" + }, + "scripts": { + "build": "tsup --format esm --dts" + }, + "peerDependencies": { + "whatwg-url": "7.1.0" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/actions/transfer.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/actions/transfer.ts new file mode 100644 index 000000000..78d81d389 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/actions/transfer.ts @@ -0,0 +1,233 @@ +import { + ActionExample, + Content, + HandlerCallback, + IAgentRuntime, + Memory, + ModelClass, + State, + type Action, + elizaLogger, + composeContext, + generateObject, +} from "@elizaos/core"; +import { validateZKsyncConfig } from "../enviroment"; + +import { Web3 } from "web3"; +import { + ZKsyncPlugin, + ZKsyncWallet, + types, + Web3ZKsyncL2, +} from "web3-plugin-zksync"; + +export interface TransferContent extends Content { + tokenAddress: string; + recipient: string; + amount: string | number; +} + +export function isTransferContent( + content: TransferContent +): content is TransferContent { + // Validate types + const validTypes = + typeof content.tokenAddress === "string" && + typeof content.recipient === "string" && + (typeof content.amount === "string" || + typeof content.amount === "number"); + if (!validTypes) { + return false; + } + + // Validate addresses + const validAddresses = + content.tokenAddress.startsWith("0x") && + content.tokenAddress.length === 42 && + content.recipient.startsWith("0x") && + content.recipient.length === 42; + + return validAddresses; +} + +const transferTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Here are several frequently used addresses. Use these for the corresponding tokens: +- ZK/zk: 0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E +- ETH/eth: 0x000000000000000000000000000000000000800A +- USDC/usdc: 0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4 + +Example response: +\`\`\`json +{ + "tokenAddress": "0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E", + "recipient": "0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62", + "amount": "1000" +} +\`\`\` + +{{recentMessages}} + +Given the recent messages, extract the following information about the requested token transfer: +- Token contract address +- Recipient wallet address +- Amount to transfer + +Respond with a JSON markdown block containing only the extracted values.`; + +export default { + name: "SEND_TOKEN", + similes: [ + "TRANSFER_TOKEN_ON_ZKSYNC", + "TRANSFER_TOKEN_ON_ERA", + "TRANSFER_TOKENS_ON_ZKSYNC", + "TRANSFER_TOKENS_ON_ERA", + "SEND_TOKENS_ON_ZKSYNC", + "SEND_TOKENS_ON_ERA", + "SEND_ETH_ON_ZKSYNC", + "SEND_ETH_ON_ERA", + "PAY_ON_ZKSYNC", + "PAY_ON_ERA", + ], + validate: async (runtime: IAgentRuntime, message: Memory) => { + await validateZKsyncConfig(runtime); + return true; + }, + description: "Transfer tokens from the agent's wallet to another address", + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: { [key: string]: unknown }, + callback?: HandlerCallback + ): Promise => { + elizaLogger.log("Starting SEND_TOKEN handler..."); + + // Initialize or update state + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose transfer context + const transferContext = composeContext({ + state, + template: transferTemplate, + }); + + // Generate transfer content + const content = await generateObject({ + runtime, + context: transferContext, + modelClass: ModelClass.SMALL, + }); + + // Validate transfer content + if (!isTransferContent(content)) { + console.error("Invalid content for TRANSFER_TOKEN action."); + if (callback) { + callback({ + text: "Unable to process transfer request. Invalid content provided.", + content: { error: "Invalid transfer content" }, + }); + } + return false; + } + + try { + const PRIVATE_KEY = runtime.getSetting("ZKSYNC_PRIVATE_KEY")!; + const PUBLIC_KEY = runtime.getSetting("ZKSYNC_ADDRESS")!; + + const web3: Web3 = new Web3(/* optional L1 provider */); + + web3.registerPlugin( + new ZKsyncPlugin( + Web3ZKsyncL2.initWithDefaultProvider(types.Network.Mainnet) + ) + ); + + const smartAccount = new web3.ZKsync.SmartAccount({ + address: PUBLIC_KEY, + secret: "0x" + PRIVATE_KEY, + }); + + const transferTx = await smartAccount.transfer({ + to: content.recipient, + token: content.tokenAddress, + amount: web3.utils.toWei(content.amount, "ether"), + }); + + const receipt = await transferTx.wait(); + + elizaLogger.success( + "Transfer completed successfully! tx: " + + receipt.transactionHash + ); + if (callback) { + callback({ + text: + "Transfer completed successfully! tx: " + + receipt.transactionHash, + content: {}, + }); + } + + return true; + } catch (error) { + elizaLogger.error("Error during token transfer:", error); + if (callback) { + callback({ + text: `Error transferring tokens: ${error.message}`, + content: { error: error.message }, + }); + } + return false; + } + }, + + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "Send 100 USDC to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62", + }, + }, + { + user: "{{agent}}", + content: { + text: "Sure, I'll send 100 USDC to that address now.", + action: "SEND_TOKEN", + }, + }, + { + user: "{{agent}}", + content: { + text: "Successfully sent 100 USDC to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62\nTransaction: 0x4fed598033f0added272c3ddefd4d83a521634a738474400b27378db462a76ec", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "Please send 100 ZK tokens to 0xbD8679cf79137042214fA4239b02F4022208EE82", + }, + }, + { + user: "{{agent}}", + content: { + text: "Of course. Sending 100 ZK to that address now.", + action: "SEND_TOKEN", + }, + }, + { + user: "{{agent}}", + content: { + text: "Successfully sent 100 ZK to 0xbD8679cf79137042214fA4239b02F4022208EE82\nTransaction: 0x0b9f23e69ea91ba98926744472717960cc7018d35bc3165bdba6ae41670da0f0", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/enviroment.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/enviroment.ts new file mode 100644 index 000000000..cde631167 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/enviroment.ts @@ -0,0 +1,36 @@ +import { IAgentRuntime } from "@elizaos/core"; +import { z } from "zod"; + +export const zksyncEnvSchema = z.object({ + ZKSYNC_ADDRESS: z.string().min(1, "ZKsync address is required"), + ZKSYNC_PRIVATE_KEY: z.string().min(1, "ZKsync private key is required"), +}); + +export type ZKsyncConfig = z.infer; + +export async function validateZKsyncConfig( + runtime: IAgentRuntime +): Promise { + try { + const config = { + ZKSYNC_ADDRESS: + runtime.getSetting("ZKSYNC_ADDRESS") || + process.env.ZKSYNC_ADDRESS, + ZKSYNC_PRIVATE_KEY: + runtime.getSetting("ZKSYNC_PRIVATE_KEY") || + process.env.ZKSYNC_PRIVATE_KEY, + }; + + return zksyncEnvSchema.parse(config); + } catch (error) { + if (error instanceof z.ZodError) { + const errorMessages = error.errors + .map((err) => `${err.path.join(".")}: ${err.message}`) + .join("\n"); + throw new Error( + `ZKsync configuration validation failed:\n${errorMessages}` + ); + } + throw error; + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/index.ts new file mode 100644 index 000000000..7e0cb55dc --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/src/index.ts @@ -0,0 +1,13 @@ +import { Plugin } from "@elizaos/core"; + +import transfer from "./actions/transfer"; + +export const zksyncEraPlugin: Plugin = { + name: "zksync-era", + description: "ZKsync Era Plugin for Eliza", + actions: [transfer], + evaluators: [], + providers: [], +}; + +export default zksyncEraPlugin; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/tsconfig.json new file mode 100644 index 000000000..005fbac9d --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": "src" + }, + "include": ["src/**/*.ts"] +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/tsup.config.ts new file mode 100644 index 000000000..121caa999 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/tsup.config.ts @@ -0,0 +1,20 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "dotenv", // Externalize dotenv to prevent bundling + "fs", // Externalize fs to use Node.js built-in module + "path", // Externalize other built-ins if necessary + "@reflink/reflink", + "@node-llama-cpp", + "https", + "http", + "agentkeepalive" + // Add other modules you want to externalize + ], +}); From f150b5619b214be76721cf365a4fb77956366803 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:45:01 -0800 Subject: [PATCH 113/312] Add zksync-era plugin to upstreet-agent package --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 531508f4d..4a0a72678 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -25,6 +25,7 @@ "@elizaos/plugin-twitter": "file:./packages/react-agents/components/plugins/plugin-twitter", "@elizaos/plugin-video-generation": "file:./packages/react-agents/components/plugins/plugin-video-generation", "@elizaos/plugin-web-search": "file:./packages/react-agents/components/plugins/plugin-web-search", + "@elizaos/plugin-zksync-era": "file:./packages/react-agents/components/plugins/plugin-zksync-era", "@iarna/toml": "^2.2.5", "@supabase/postgrest-js": "^1.17.7", "@supabase/supabase-js": "^2.47.1", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 0b3021cd5..9cbac5370 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -20,6 +20,7 @@ import suiPlugin from '@elizaos/plugin-sui'; import flowPlugin from '@elizaos/plugin-flow'; import storyPlugin from '@elizaos/plugin-story'; import { webSearchPlugin } from '@elizaos/plugin-web-search'; +import zksyncEraPlugin from '@elizaos/plugin-zksync-era'; import createGoatPlugin from '@elizaos/plugin-goat'; function generateZodSchema(obj: any): z.ZodTypeAny { @@ -226,6 +227,7 @@ export const plugins = { '@elizaos/plugin-flow': pluginWrap(flowPlugin), '@elizaos/plugin-story': pluginWrap(storyPlugin), '@elizaos/plugin-web-search': pluginWrap(webSearchPlugin), + '@elizaos/plugin-zksync-era': pluginWrap(zksyncEraPlugin), '@elizaos/plugin-trustdb': adapterWrap(TrustScoreDatabase), // '@elizaos/plugin-goat': pluginWrap(goatPlugin), }; \ No newline at end of file From b4ddf852cfa12ba04ca8e9d1efab0843c729d6a5 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:45:15 -0800 Subject: [PATCH 114/312] Hack zksync plugin --- .../components/plugins/plugin-zksync-era/package.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/package.json index 9c730645f..ba17a3fa5 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era/package.json @@ -1,12 +1,9 @@ { "name": "@elizaos/plugin-zksync-era", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { - "@elizaos/core": "workspace:*", - "@elizaos/plugin-trustdb": "workspace:*", "tsup": "^8.3.5", "web3": "^4.15.0", "web3-plugin-zksync": "^1.0.8" From 68dfcf6fe8d94b07e0ad67cd0c04ed348e0226aa Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:45:23 -0800 Subject: [PATCH 115/312] Update lock --- pnpm-lock.yaml | 1394 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 1344 insertions(+), 50 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1572d7b22..791c3276d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1002,6 +1002,9 @@ importers: '@elizaos/plugin-whatsapp': specifier: file:./packages/react-agents/components/clients/plugin-whatsapp version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp + '@elizaos/plugin-zksync-era': + specifier: file:./packages/react-agents/components/plugins/plugin-zksync-era + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1) '@iarna/toml': specifier: ^2.2.5 version: 2.2.5 @@ -2488,6 +2491,11 @@ packages: '@elizaos/plugin-whatsapp@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp, type: directory} + '@elizaos/plugin-zksync-era@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era, type: directory} + peerDependencies: + whatwg-url: 7.1.0 + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} @@ -3278,6 +3286,19 @@ packages: resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ethereumjs/rlp@4.0.1': + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} + hasBin: true + + '@ethereumjs/rlp@5.0.2': + resolution: {integrity: sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==} + engines: {node: '>=18'} + hasBin: true + + '@ethersproject/abi@5.7.0': + resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} + '@ethersproject/abstract-provider@5.7.0': resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} @@ -4009,6 +4030,10 @@ packages: '@mediapipe/tasks-vision@0.10.17': resolution: {integrity: sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==} + '@metamask/eth-sig-util@4.0.1': + resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} + engines: {node: '>=12.0.0'} + '@metaplex-foundation/mpl-token-metadata@3.3.0': resolution: {integrity: sha512-t5vO8Wr3ZZZPGrVrGNcosX5FMkwQSgBiVMQMRNDG2De7voYFJmIibD5jdG05EoQ4Y5kZVEiwhYaO+wJB3aO5AA==} peerDependencies: @@ -4515,6 +4540,9 @@ packages: '@noble/curves@1.2.0': resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + '@noble/curves@1.4.2': + resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} + '@noble/curves@1.6.0': resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} engines: {node: ^14.21.3 || >=16} @@ -4526,6 +4554,9 @@ packages: '@noble/ed25519@1.7.3': resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} + '@noble/hashes@1.2.0': + resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} + '@noble/hashes@1.3.0': resolution: {integrity: sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==} @@ -4537,6 +4568,10 @@ packages: resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} engines: {node: '>= 16'} + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + '@noble/hashes@1.5.0': resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} engines: {node: ^14.21.3 || >=16} @@ -4549,6 +4584,9 @@ packages: resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} engines: {node: ^14.21.3 || >=16} + '@noble/secp256k1@1.7.1': + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -4565,6 +4603,96 @@ packages: resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==} engines: {node: '>=12.4.0'} + '@nomicfoundation/edr-darwin-arm64@0.6.5': + resolution: {integrity: sha512-A9zCCbbNxBpLgjS1kEJSpqxIvGGAX4cYbpDYCU2f3jVqOwaZ/NU761y1SvuCRVpOwhoCXqByN9b7HPpHi0L4hw==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-darwin-x64@0.6.5': + resolution: {integrity: sha512-x3zBY/v3R0modR5CzlL6qMfFMdgwd6oHrWpTkuuXnPFOX8SU31qq87/230f4szM+ukGK8Hi+mNq7Ro2VF4Fj+w==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-linux-arm64-gnu@0.6.5': + resolution: {integrity: sha512-HGpB8f1h8ogqPHTyUpyPRKZxUk2lu061g97dOQ/W4CxevI0s/qiw5DB3U3smLvSnBHKOzYS1jkxlMeGN01ky7A==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-linux-arm64-musl@0.6.5': + resolution: {integrity: sha512-ESvJM5Y9XC03fZg9KaQg3Hl+mbx7dsSkTIAndoJS7X2SyakpL9KZpOSYrDk135o8s9P9lYJdPOyiq+Sh+XoCbQ==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-linux-x64-gnu@0.6.5': + resolution: {integrity: sha512-HCM1usyAR1Ew6RYf5AkMYGvHBy64cPA5NMbaeY72r0mpKaH3txiMyydcHibByOGdQ8iFLWpyUdpl1egotw+Tgg==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-linux-x64-musl@0.6.5': + resolution: {integrity: sha512-nB2uFRyczhAvWUH7NjCsIO6rHnQrof3xcCe6Mpmnzfl2PYcGyxN7iO4ZMmRcQS7R1Y670VH6+8ZBiRn8k43m7A==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr-win32-x64-msvc@0.6.5': + resolution: {integrity: sha512-B9QD/4DSSCFtWicO8A3BrsnitO1FPv7axB62wq5Q+qeJ50yJlTmyeGY3cw62gWItdvy2mh3fRM6L1LpnHiB77A==} + engines: {node: '>= 18'} + + '@nomicfoundation/edr@0.6.5': + resolution: {integrity: sha512-tAqMslLP+/2b2sZP4qe9AuGxG3OkQ5gGgHE4isUuq6dUVjwCRPFhAOhpdFl+OjY5P3yEv3hmq9HjUGRa2VNjng==} + engines: {node: '>= 18'} + + '@nomicfoundation/ethereumjs-common@4.0.4': + resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} + + '@nomicfoundation/ethereumjs-rlp@5.0.4': + resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} + engines: {node: '>=18'} + hasBin: true + + '@nomicfoundation/ethereumjs-tx@5.0.4': + resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} + engines: {node: '>=18'} + peerDependencies: + c-kzg: ^2.1.2 + peerDependenciesMeta: + c-kzg: + optional: true + + '@nomicfoundation/ethereumjs-util@9.0.4': + resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} + engines: {node: '>=18'} + peerDependencies: + c-kzg: ^2.1.2 + peerDependenciesMeta: + c-kzg: + optional: true + + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': + resolution: {integrity: sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': + resolution: {integrity: sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': + resolution: {integrity: sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': + resolution: {integrity: sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': + resolution: {integrity: sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': + resolution: {integrity: sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': + resolution: {integrity: sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA==} + engines: {node: '>= 12'} + + '@nomicfoundation/solidity-analyzer@0.1.2': + resolution: {integrity: sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA==} + engines: {node: '>= 12'} + '@nut-tree-fork/default-clipboard-provider@4.2.2': resolution: {integrity: sha512-3eb6rUknqypXQKzZjwq0Uc+fIrg63Ts7MSisCcz/Q6EcQtJOTLiKoOLV/3RsmyLNPmJTfTGJTziY52AfDAKFIg==} @@ -5978,12 +6106,24 @@ packages: '@scure/base@1.2.1': resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} + '@scure/bip32@1.1.5': + resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} + + '@scure/bip32@1.4.0': + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + '@scure/bip32@1.5.0': resolution: {integrity: sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw==} '@scure/bip32@1.6.0': resolution: {integrity: sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==} + '@scure/bip39@1.1.1': + resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} + + '@scure/bip39@1.3.0': + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + '@scure/bip39@1.4.0': resolution: {integrity: sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==} @@ -5993,6 +6133,34 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@sentry/core@5.30.0': + resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} + engines: {node: '>=6'} + + '@sentry/hub@5.30.0': + resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} + engines: {node: '>=6'} + + '@sentry/minimal@5.30.0': + resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} + engines: {node: '>=6'} + + '@sentry/node@5.30.0': + resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} + engines: {node: '>=6'} + + '@sentry/tracing@5.30.0': + resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} + engines: {node: '>=6'} + + '@sentry/types@5.30.0': + resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} + engines: {node: '>=6'} + + '@sentry/utils@5.30.0': + resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} + engines: {node: '>=6'} + '@shikijs/core@1.24.2': resolution: {integrity: sha512-BpbNUSKIwbKrRRA+BQj0BEWSw+8kOPKDJevWeSE/xIqGX7K0xrCZQ9kK0nnEQyrzsUoka1l81ZtJ2mGaCA32HQ==} @@ -6761,6 +6929,9 @@ packages: '@types/big.js@6.2.2': resolution: {integrity: sha512-e2cOW9YlVzFY2iScnGBBkplKsrn2CsObHQ2Hiw4V1sSyiGbgWL8IyqE3zFi1Pt5o1pdAtYkDAIsF3KKUPjdzaA==} + '@types/bn.js@4.11.6': + resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} + '@types/bn.js@5.1.6': resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} @@ -6911,6 +7082,9 @@ packages: '@types/lodash@4.17.13': resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==} + '@types/lru-cache@5.1.1': + resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} + '@types/mdast@3.0.15': resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} @@ -6974,6 +7148,9 @@ packages: '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + '@types/pbkdf2@3.1.2': + resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} + '@types/phoenix@1.6.6': resolution: {integrity: sha512-PIzZZlEppgrpoT2QgbnDU+MMzuR6BbCjllj0bM70lWoejMeNJAxCchxnv7J3XFkI8MpygtRpzXrIlmWUBclP5A==} @@ -7032,6 +7209,9 @@ packages: '@types/scheduler@0.23.0': resolution: {integrity: sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==} + '@types/secp256k1@4.0.6': + resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} + '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -7083,6 +7263,9 @@ packages: '@types/ws@8.5.13': resolution: {integrity: sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==} + '@types/ws@8.5.3': + resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} + '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -7587,6 +7770,15 @@ packages: zod: optional: true + abitype@0.7.1: + resolution: {integrity: sha512-VBkRHTDZf9Myaek/dO3yMmOzB/y2s3Zo6nVU7yaw1G+TvCHAjwaJzNGN9yo4K5D8bU/VZXKP1EJpRhFr862PlQ==} + peerDependencies: + typescript: '>=4.9.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + zod: + optional: true + abitype@1.0.6: resolution: {integrity: sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A==} peerDependencies: @@ -7655,6 +7847,10 @@ packages: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} + adm-zip@0.4.16: + resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} + engines: {node: '>=0.3.0'} + aes-js@4.0.0-beta.5: resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} @@ -7766,6 +7962,10 @@ packages: ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + ansi-escape-sequences@6.2.4: resolution: {integrity: sha512-2KJQAG1Nk4Iyu0dJENKXQJE9smEASrpu/E0F7LSnR72tQXngKGLqfRkHbkinjNct5vvAQY4BwQNt+4Tvg73nDQ==} engines: {node: '>=12.17'} @@ -8287,6 +8487,9 @@ packages: blake3-wasm@2.1.5: resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} + blakejs@1.2.1: + resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} + blueimp-md5@2.19.0: resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} @@ -8325,6 +8528,10 @@ packages: borsh@1.0.0: resolution: {integrity: sha512-fSVWzzemnyfF89EPwlUNsrS5swF5CrtiN4e+h0/lLf4dz2he4L3ndM20PS9wj7ICSkXJe/TQUHdaPTq15b1mNQ==} + boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + boxen@8.0.1: resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} engines: {node: '>=18'} @@ -8359,6 +8566,9 @@ packages: browser-resolve@2.0.0: resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + browser-util-inspect@0.2.0: resolution: {integrity: sha512-R7WvAj0p9FtwS2Jbtc1HUd1+YZdeb5EEqjBSbbOK3owJtW1viWyJDeTPy43QZ7bZ8POtb1yMv++h844486jMsQ==} @@ -8669,6 +8879,9 @@ packages: chunkd@2.0.1: resolution: {integrity: sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==} + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -8728,6 +8941,10 @@ packages: resolution: {integrity: sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==} engines: {node: '>=8'} + cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} @@ -8762,6 +8979,9 @@ packages: cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -8881,6 +9101,9 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + command-exists@1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} @@ -9015,6 +9238,10 @@ packages: cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + cookie@0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} @@ -9376,6 +9603,10 @@ packages: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} + decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + decimal.js-light@2.5.1: resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} @@ -9799,6 +10030,10 @@ packages: resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} engines: {node: '>=10.13.0'} + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} @@ -10387,10 +10622,30 @@ packages: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} + ethereum-cryptography@0.1.3: + resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} + + ethereum-cryptography@1.2.0: + resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} + + ethereum-cryptography@2.2.1: + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + + ethereumjs-abi@0.6.8: + resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} + deprecated: This library has been deprecated and usage is discouraged. + + ethereumjs-util@6.2.1: + resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} + ethers@6.13.4: resolution: {integrity: sha512-21YtnZVg4/zKkCQPjrDj38B1r4nQvTZLopUGMLQ1ePU2zV/joCfDC3t3iKQjWRzjjjbzR+mdAIoikeBRNkdllA==} engines: {node: '>=14.0.0'} + ethjs-util@0.1.6: + resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} + engines: {node: '>=6.5.0', npm: '>=3'} + event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -10663,6 +10918,10 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} @@ -10743,6 +11002,9 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} + fp-ts@1.19.3: + resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} + fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} @@ -10794,6 +11056,10 @@ packages: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + fs-extra@8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} @@ -11149,6 +11415,18 @@ packages: engines: {node: '>=0.4.7'} hasBin: true + hardhat@2.22.17: + resolution: {integrity: sha512-tDlI475ccz4d/dajnADUTRc1OJ3H8fpP9sWhXhBPpYsQOg8JHq5xrDimo53UhWPl7KJmAeDCm1bFG74xvpGRpg==} + hasBin: true + peerDependencies: + ts-node: '*' + typescript: '*' + peerDependenciesMeta: + ts-node: + optional: true + typescript: + optional: true + has-ansi@2.0.0: resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} engines: {node: '>=0.10.0'} @@ -11398,6 +11676,9 @@ packages: immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} + immutable@5.0.3: resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==} @@ -11491,6 +11772,9 @@ packages: invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + io-ts@1.10.4: + resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} + ip-regex@4.3.0: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} engines: {node: '>=8'} @@ -11651,6 +11935,10 @@ packages: resolution: {integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==} engines: {node: '>=0.10.0'} + is-hex-prefixed@1.0.0: + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} + is-hexadecimal@1.0.4: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} @@ -11744,6 +12032,10 @@ packages: resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} engines: {node: '>=12'} + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -12241,6 +12533,10 @@ packages: resolution: {integrity: sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA==} engines: {node: '>= 0.4'} + json-stream-stringify@3.1.6: + resolution: {integrity: sha512-x7fpwxOkbhFCaJDJ8vb1fBY3DdSa4AlITaz+HHILQJzdPMnHEFjxPwVUi1ALIbcIxDE0PNe/0i7frnY8QnBQog==} + engines: {node: '>=7.10.1'} + json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} @@ -12630,6 +12926,9 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} + lru_map@0.3.3: + resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + lru_map@0.4.1: resolution: {integrity: sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==} @@ -12852,6 +13151,10 @@ packages: memory-fs@0.2.0: resolution: {integrity: sha512-+y4mDxU4rvXXu5UDSGCGNiesFmwCHuefGMoPCO1WYucNYj7DsLqrFaa2fXVI0H+NNiPTwwzKwspn9yTZqUGqng==} + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} @@ -13235,6 +13538,14 @@ packages: mlly@1.7.3: resolution: {integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==} + mnemonist@0.38.5: + resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} + + mocha@10.8.2: + resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} + engines: {node: '>= 14.0.0'} + hasBin: true + module-deps@6.2.3: resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==} engines: {node: '>= 0.8.0'} @@ -13614,6 +13925,9 @@ packages: objectorarray@1.0.5: resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} + obliterator@2.0.4: + resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} + ofetch@1.4.1: resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} @@ -13735,6 +14049,10 @@ packages: resolution: {integrity: sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==} engines: {node: '>= 6.0'} + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + otpauth@9.3.6: resolution: {integrity: sha512-eIcCvuEvcAAPHxUKC9Q4uCe0Fh/yRc5jv9z+f/kvyIF2LPrhgAOuLB7J9CssGYhND/BL8M9hlHBTFmffpoQlMQ==} @@ -15167,6 +15485,9 @@ packages: resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} engines: {node: '>=10'} + resolve@1.17.0: + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -15216,6 +15537,10 @@ packages: ripemd160@2.0.2: resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + rlp@2.2.7: + resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} + hasBin: true + roarr@2.15.4: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} @@ -15336,9 +15661,16 @@ packages: scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + scrypt-js@3.0.1: + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + scryptsy@2.1.0: resolution: {integrity: sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==} + secp256k1@4.0.4: + resolution: {integrity: sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw==} + engines: {node: '>=18.0.0'} + secp256k1@5.0.0: resolution: {integrity: sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA==} engines: {node: '>=14.0.0'} @@ -15546,6 +15878,11 @@ packages: snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + solc@0.8.26: + resolution: {integrity: sha512-yiPQNVf5rBFHwN6SIf3TUUvVAFKcQqmSUFeq+fb6pNRCo0ZCgpYOZDi3BVoezCPIAcKrVYd/qXlBLUP9wVrZ9g==} + engines: {node: '>=10.0.0'} + hasBin: true + solid-js@1.9.3: resolution: {integrity: sha512-5ba3taPoZGt9GY3YlsCB24kCg0Lv/rie/HTD4kG6h4daZZz7+yK02xn8Vx8dLYBc9i6Ps5JwAbEiqjmKaLB3Ag==} @@ -15668,6 +16005,10 @@ packages: stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + stacktracey@2.1.8: resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} @@ -15842,6 +16183,10 @@ packages: resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} engines: {node: '>=18'} + strip-hex-prefix@1.0.0: + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} + strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -16237,6 +16582,10 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -16405,6 +16754,9 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsort@0.0.1: + resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} + tsup@8.3.5: resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} engines: {node: '>=18'} @@ -16430,6 +16782,9 @@ packages: tunnel-rat@0.1.2: resolution: {integrity: sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==} + tweetnacl-util@0.15.1: + resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} + tweetnacl@1.0.3: resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} @@ -16476,6 +16831,10 @@ packages: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} + type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} @@ -17172,6 +17531,87 @@ packages: web-worker@1.2.0: resolution: {integrity: sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==} + web3-core@4.7.1: + resolution: {integrity: sha512-9KSeASCb/y6BG7rwhgtYC4CvYY66JfkmGNEYb7q1xgjt9BWfkf09MJPaRyoyT5trdOxYDHkT9tDlypvQWaU8UQ==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-errors@1.3.1: + resolution: {integrity: sha512-w3NMJujH+ZSW4ltIZZKtdbkbyQEvBzyp3JRn59Ckli0Nz4VMsVq8aF1bLWM7A2kuQ+yVEm3ySeNU+7mSRwx7RQ==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-eth-abi@4.4.1: + resolution: {integrity: sha512-60ecEkF6kQ9zAfbTY04Nc9q4eEYM0++BySpGi8wZ2PD1tw/c0SDvsKhV6IKURxLJhsDlb08dATc3iD6IbtWJmg==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-eth-accounts@4.3.1: + resolution: {integrity: sha512-rTXf+H9OKze6lxi7WMMOF1/2cZvJb2AOnbNQxPhBDssKOllAMzLhg1FbZ4Mf3lWecWfN6luWgRhaeSqO1l+IBQ==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-eth-contract@4.7.2: + resolution: {integrity: sha512-3ETqs2pMNPEAc7BVY/C3voOhTUeJdkf2aM3X1v+edbngJLHAxbvxKpOqrcO0cjXzC4uc2Q8Zpf8n8zT5r0eLnA==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-eth-ens@4.4.0: + resolution: {integrity: sha512-DeyVIS060hNV9g8dnTx92syqvgbvPricE3MerCxe/DquNZT3tD8aVgFfq65GATtpCgDDJffO2bVeHp3XBemnSQ==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-eth-iban@4.0.7: + resolution: {integrity: sha512-8weKLa9KuKRzibC87vNLdkinpUE30gn0IGY027F8doeJdcPUfsa4IlBgNC4k4HLBembBB2CTU0Kr/HAOqMeYVQ==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-eth-personal@4.1.0: + resolution: {integrity: sha512-RFN83uMuvA5cu1zIwwJh9A/bAj0OBxmGN3tgx19OD/9ygeUZbifOL06jgFzN0t+1ekHqm3DXYQM8UfHpXi7yDQ==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-eth@4.11.1: + resolution: {integrity: sha512-q9zOkzHnbLv44mwgLjLXuyqszHuUgZWsQayD2i/rus2uk0G7hMn11bE2Q3hOVnJS4ws4VCtUznlMxwKQ+38V2w==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-net@4.1.0: + resolution: {integrity: sha512-WWmfvHVIXWEoBDWdgKNYKN8rAy6SgluZ0abyRyXOL3ESr7ym7pKWbfP4fjApIHlYTh8tNqkrdPfM4Dyi6CA0SA==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-plugin-zksync@1.0.8: + resolution: {integrity: sha512-i9YXcquqmVU3IMxlWx94Zhx1q4J6N9XSvxaQRR621H9639yeqO693KOlLkXyVgsEtRzr4JK27J+8f5i+iFb2QA==} + peerDependencies: + web3: '>= 4.12.0' + + web3-providers-http@4.2.0: + resolution: {integrity: sha512-IPMnDtHB7dVwaB7/mMxAZzyq7d5ezfO1+Vw0bNfAeIi7gaDlJiggp85SdyAfOgov8AMUA/dyiY72kQ0KmjXKvQ==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-providers-ipc@4.0.7: + resolution: {integrity: sha512-YbNqY4zUvIaK2MHr1lQFE53/8t/ejHtJchrWn9zVbFMGXlTsOAbNoIoZWROrg1v+hCBvT2c9z8xt7e/+uz5p1g==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-providers-ws@4.0.8: + resolution: {integrity: sha512-goJdgata7v4pyzHRsg9fSegUG4gVnHZSHODhNnn6J93ykHkBI1nz4fjlGpcQLUMi4jAMz6SHl9Ibzs2jj9xqPw==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-rpc-methods@1.3.0: + resolution: {integrity: sha512-/CHmzGN+IYgdBOme7PdqzF+FNeMleefzqs0LVOduncSaqsppeOEoskLXb2anSpzmQAP3xZJPaTrkQPWSJMORig==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-rpc-providers@1.0.0-rc.4: + resolution: {integrity: sha512-PXosCqHW0EADrYzgmueNHP3Y5jcSmSwH+Dkqvn7EYD0T2jcsdDAIHqk6szBiwIdhumM7gv9Raprsu/s/f7h1fw==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-types@1.10.0: + resolution: {integrity: sha512-0IXoaAFtFc8Yin7cCdQfB9ZmjafrbP6BO0f0KT/khMhXKUpoJ6yShrVhiNpyRBo8QQjuOagsWzwSK2H49I7sbw==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-utils@4.3.3: + resolution: {integrity: sha512-kZUeCwaQm+RNc2Bf1V3BYbF29lQQKz28L0y+FA4G0lS8IxtJVGi5SeDTUkpwqqkdHHC7JcapPDnyyzJ1lfWlOw==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3-validator@2.0.6: + resolution: {integrity: sha512-qn9id0/l1bWmvH4XfnG/JtGKKwut2Vokl6YXP5Kfg424npysmtRLe9DgiNBM9Op7QL/aSiaA0TVXibuIuWcizg==} + engines: {node: '>=14', npm: '>=6.12.0'} + + web3@4.16.0: + resolution: {integrity: sha512-SgoMSBo6EsJ5GFCGar2E/pR2lcR/xmUSuQ61iK6yDqzxmm42aPPxSqZfJz2z/UCR6pk03u77pU8TGV6lgMDdIQ==} + engines: {node: '>=14.0.0', npm: '>=6.12.0'} + webauthn-p256@0.0.10: resolution: {integrity: sha512-EeYD+gmIT80YkSIDb2iWq0lq2zbHo1CxHlQTeJ+KkCILWpVy3zASH3ByD4bopzfk0uCwXxLqKGLqp2W4O28VFA==} @@ -17290,6 +17730,10 @@ packages: wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + widest-line@5.0.0: resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} engines: {node: '>=18'} @@ -17317,6 +17761,9 @@ packages: engines: {node: '>=16'} hasBin: true + workerpool@6.5.1: + resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} + wrangler@3.95.0: resolution: {integrity: sha512-3w5852i3FNyDz421K2Qk4v5L8jjwegO5O8E1+VAQmjnm82HFNxpIRUBq0bmM7CTLvOPI/Jjcmj/eAWjQBL7QYg==} engines: {node: '>=16.17.0'} @@ -17484,14 +17931,26 @@ packages: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + yargs@15.4.1: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -17619,7 +18078,7 @@ snapshots: '@acuminous/bitsyntax@0.1.2': dependencies: buffer-more-ints: 1.0.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) safe-buffer: 5.1.2 transitivePeerDependencies: - supports-color @@ -17957,7 +18416,7 @@ snapshots: '@babel/traverse': 7.26.4 '@babel/types': 7.26.3 convert-source-map: 2.0.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -18009,7 +18468,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -18750,7 +19209,7 @@ snapshots: '@babel/parser': 7.26.3 '@babel/template': 7.25.9 '@babel/types': 7.26.3 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -18968,7 +19427,7 @@ snapshots: '@electron/get@2.0.3': dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) env-paths: 2.2.1 fs-extra: 8.1.0 got: 11.8.6 @@ -19764,6 +20223,50 @@ snapshots: transitivePeerDependencies: - debug + '@elizaos/plugin-zksync-era@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)(zod@3.24.1)': + dependencies: + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + web3: 4.16.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-plugin-zksync: 1.0.8(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - c-kzg + - encoding + - jiti + - postcss + - supports-color + - ts-node + - tsx + - typescript + - utf-8-validate + - yaml + - zod + + '@elizaos/plugin-zksync-era@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(zod@3.24.1)': + dependencies: + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + web3: 4.16.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-plugin-zksync: 1.0.8(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(typescript@5.7.2)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)) + whatwg-url: 11.0.0 + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - c-kzg + - encoding + - jiti + - postcss + - supports-color + - ts-node + - tsx + - typescript + - utf-8-validate + - yaml + - zod + '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 @@ -20230,7 +20733,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -20244,7 +20747,7 @@ snapshots: '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -20259,6 +20762,22 @@ snapshots: '@eslint/js@9.16.0': {} + '@ethereumjs/rlp@4.0.1': {} + + '@ethereumjs/rlp@5.0.2': {} + + '@ethersproject/abi@5.7.0': + dependencies: + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 + '@ethersproject/abstract-provider@5.7.0': dependencies: '@ethersproject/bignumber': 5.7.0 @@ -20461,7 +20980,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -21424,6 +21943,14 @@ snapshots: '@mediapipe/tasks-vision@0.10.17': {} + '@metamask/eth-sig-util@4.0.1': + dependencies: + ethereumjs-abi: 0.6.8 + ethereumjs-util: 6.2.1 + ethjs-util: 0.1.6 + tweetnacl: 1.0.3 + tweetnacl-util: 0.15.1 + '@metaplex-foundation/mpl-token-metadata@3.3.0(@metaplex-foundation/umi@0.9.2)': dependencies: '@metaplex-foundation/mpl-toolbox': 0.9.4(@metaplex-foundation/umi@0.9.2) @@ -22009,6 +22536,10 @@ snapshots: dependencies: '@noble/hashes': 1.3.2 + '@noble/curves@1.4.2': + dependencies: + '@noble/hashes': 1.4.0 + '@noble/curves@1.6.0': dependencies: '@noble/hashes': 1.5.0 @@ -22019,18 +22550,24 @@ snapshots: '@noble/ed25519@1.7.3': {} + '@noble/hashes@1.2.0': {} + '@noble/hashes@1.3.0': {} '@noble/hashes@1.3.2': {} '@noble/hashes@1.3.3': {} + '@noble/hashes@1.4.0': {} + '@noble/hashes@1.5.0': {} '@noble/hashes@1.6.0': {} '@noble/hashes@1.6.1': {} + '@noble/secp256k1@1.7.1': {} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -22045,6 +22582,81 @@ snapshots: '@nolyfill/is-core-module@1.0.39': {} + '@nomicfoundation/edr-darwin-arm64@0.6.5': {} + + '@nomicfoundation/edr-darwin-x64@0.6.5': {} + + '@nomicfoundation/edr-linux-arm64-gnu@0.6.5': {} + + '@nomicfoundation/edr-linux-arm64-musl@0.6.5': {} + + '@nomicfoundation/edr-linux-x64-gnu@0.6.5': {} + + '@nomicfoundation/edr-linux-x64-musl@0.6.5': {} + + '@nomicfoundation/edr-win32-x64-msvc@0.6.5': {} + + '@nomicfoundation/edr@0.6.5': + dependencies: + '@nomicfoundation/edr-darwin-arm64': 0.6.5 + '@nomicfoundation/edr-darwin-x64': 0.6.5 + '@nomicfoundation/edr-linux-arm64-gnu': 0.6.5 + '@nomicfoundation/edr-linux-arm64-musl': 0.6.5 + '@nomicfoundation/edr-linux-x64-gnu': 0.6.5 + '@nomicfoundation/edr-linux-x64-musl': 0.6.5 + '@nomicfoundation/edr-win32-x64-msvc': 0.6.5 + + '@nomicfoundation/ethereumjs-common@4.0.4': + dependencies: + '@nomicfoundation/ethereumjs-util': 9.0.4 + transitivePeerDependencies: + - c-kzg + + '@nomicfoundation/ethereumjs-rlp@5.0.4': {} + + '@nomicfoundation/ethereumjs-tx@5.0.4': + dependencies: + '@nomicfoundation/ethereumjs-common': 4.0.4 + '@nomicfoundation/ethereumjs-rlp': 5.0.4 + '@nomicfoundation/ethereumjs-util': 9.0.4 + ethereum-cryptography: 0.1.3 + + '@nomicfoundation/ethereumjs-util@9.0.4': + dependencies: + '@nomicfoundation/ethereumjs-rlp': 5.0.4 + ethereum-cryptography: 0.1.3 + + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2': + optional: true + + '@nomicfoundation/solidity-analyzer@0.1.2': + optionalDependencies: + '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.2 + '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-arm64-musl': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-x64-gnu': 0.1.2 + '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.2 + '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.2 + '@nut-tree-fork/default-clipboard-provider@4.2.2': dependencies: clipboardy: 2.3.0 @@ -24248,6 +24860,18 @@ snapshots: '@scure/base@1.2.1': {} + '@scure/bip32@1.1.5': + dependencies: + '@noble/hashes': 1.2.0 + '@noble/secp256k1': 1.7.1 + '@scure/base': 1.1.9 + + '@scure/bip32@1.4.0': + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 + '@scure/bip32@1.5.0': dependencies: '@noble/curves': 1.6.0 @@ -24260,6 +24884,16 @@ snapshots: '@noble/hashes': 1.6.1 '@scure/base': 1.2.1 + '@scure/bip39@1.1.1': + dependencies: + '@noble/hashes': 1.2.0 + '@scure/base': 1.1.9 + + '@scure/bip39@1.3.0': + dependencies: + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.9 + '@scure/bip39@1.4.0': dependencies: '@noble/hashes': 1.5.0 @@ -24272,6 +24906,55 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} + '@sentry/core@5.30.0': + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + + '@sentry/hub@5.30.0': + dependencies: + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + + '@sentry/minimal@5.30.0': + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/types': 5.30.0 + tslib: 1.14.1 + + '@sentry/node@5.30.0': + dependencies: + '@sentry/core': 5.30.0 + '@sentry/hub': 5.30.0 + '@sentry/tracing': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + cookie: 0.4.2 + https-proxy-agent: 5.0.1 + lru_map: 0.3.3 + tslib: 1.14.1 + transitivePeerDependencies: + - supports-color + + '@sentry/tracing@5.30.0': + dependencies: + '@sentry/hub': 5.30.0 + '@sentry/minimal': 5.30.0 + '@sentry/types': 5.30.0 + '@sentry/utils': 5.30.0 + tslib: 1.14.1 + + '@sentry/types@5.30.0': {} + + '@sentry/utils@5.30.0': + dependencies: + '@sentry/types': 5.30.0 + tslib: 1.14.1 + '@shikijs/core@1.24.2': dependencies: '@shikijs/engine-javascript': 1.24.2 @@ -25248,7 +25931,7 @@ snapshots: '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.7.2)(webpack@5.97.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(esbuild@0.18.20))': dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -25733,6 +26416,10 @@ snapshots: '@types/big.js@6.2.2': {} + '@types/bn.js@4.11.6': + dependencies: + '@types/node': 18.19.68 + '@types/bn.js@5.1.6': dependencies: '@types/node': 18.19.68 @@ -25897,6 +26584,8 @@ snapshots: '@types/lodash@4.17.13': {} + '@types/lru-cache@5.1.1': {} + '@types/mdast@3.0.15': dependencies: '@types/unist': 2.0.11 @@ -25960,6 +26649,10 @@ snapshots: '@types/parse-json@4.0.2': {} + '@types/pbkdf2@3.1.2': + dependencies: + '@types/node': 18.19.68 + '@types/phoenix@1.6.6': {} '@types/pretty-hrtime@1.0.3': {} @@ -26023,6 +26716,10 @@ snapshots: '@types/scheduler@0.23.0': {} + '@types/secp256k1@4.0.6': + dependencies: + '@types/node': 18.19.68 + '@types/semver@7.5.8': {} '@types/send@0.17.4': @@ -26074,6 +26771,10 @@ snapshots: dependencies: '@types/node': 22.7.8 + '@types/ws@8.5.3': + dependencies: + '@types/node': 18.19.68 + '@types/yargs-parser@21.0.3': {} '@types/yargs@16.0.9': @@ -26113,7 +26814,7 @@ snapshots: '@typescript-eslint/types': 6.19.0 '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 6.19.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 optionalDependencies: typescript: 5.7.2 @@ -26126,7 +26827,7 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 optionalDependencies: typescript: 5.7.2 @@ -26152,7 +26853,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) eslint: 8.57.1 ts-api-utils: 1.4.3(typescript@5.7.2) optionalDependencies: @@ -26170,7 +26871,7 @@ snapshots: dependencies: '@typescript-eslint/types': 6.19.0 '@typescript-eslint/visitor-keys': 6.19.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 @@ -26185,7 +26886,7 @@ snapshots: dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 @@ -26200,7 +26901,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.18.0 '@typescript-eslint/visitor-keys': 8.18.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 @@ -26249,7 +26950,7 @@ snapshots: '@typescript/vfs@1.6.0(typescript@5.7.2)': dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -27042,6 +27743,12 @@ snapshots: typescript: 5.7.2 zod: 3.24.1 + abitype@0.7.1(typescript@5.7.2)(zod@3.24.1): + dependencies: + typescript: 5.7.2 + optionalDependencies: + zod: 3.24.1 + abitype@1.0.6(typescript@5.7.2)(zod@3.24.1): optionalDependencies: typescript: 5.7.2 @@ -27101,13 +27808,15 @@ snapshots: address@1.2.2: {} + adm-zip@0.4.16: {} + aes-js@4.0.0-beta.5: {} agent-base@5.1.1: {} agent-base@6.0.2: dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -27275,6 +27984,8 @@ snapshots: dependencies: string-width: 4.2.3 + ansi-colors@4.1.3: {} + ansi-escape-sequences@6.2.4: dependencies: array-back: 6.2.2 @@ -27571,7 +28282,7 @@ snapshots: common-path-prefix: 3.0.0 concordance: 5.0.4 currently-unhandled: 0.4.1 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) emittery: 1.0.3 figures: 6.1.0 globby: 14.0.2 @@ -27620,13 +28331,13 @@ snapshots: axios@0.21.4: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) transitivePeerDependencies: - debug axios@1.7.8: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -27634,7 +28345,7 @@ snapshots: axios@1.7.9: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -27911,6 +28622,8 @@ snapshots: blake3-wasm@2.1.5: {} + blakejs@1.2.1: {} + blueimp-md5@2.19.0: {} bmp-js@0.1.0: {} @@ -27959,6 +28672,17 @@ snapshots: borsh@1.0.0: {} + boxen@5.1.2: + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 2.2.1 + string-width: 4.2.3 + type-fest: 0.20.2 + widest-line: 3.1.0 + wrap-ansi: 7.0.0 + boxen@8.0.1: dependencies: ansi-align: 3.0.1 @@ -28006,6 +28730,8 @@ snapshots: dependencies: resolve: 1.22.8 + browser-stdout@1.3.1: {} + browser-util-inspect@0.2.0: {} browserify-aes@1.2.0: @@ -28289,7 +29015,7 @@ snapshots: capnp-ts@0.7.0: dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -28304,7 +29030,7 @@ snapshots: centra@2.7.0: dependencies: - follow-redirects: 1.15.9 + follow-redirects: 1.15.9(debug@4.4.0) transitivePeerDependencies: - debug @@ -28396,6 +29122,8 @@ snapshots: chunkd@2.0.1: {} + ci-info@2.0.0: {} + ci-info@3.9.0: {} ci-info@4.1.0: {} @@ -28454,6 +29182,8 @@ snapshots: parent-module: 2.0.0 resolve-from: 5.0.0 + cli-boxes@2.2.1: {} + cli-boxes@3.0.0: {} cli-cursor@3.1.0: @@ -28491,6 +29221,12 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -28627,6 +29363,8 @@ snapshots: comma-separated-tokens@2.0.3: {} + command-exists@1.2.9: {} + commander@10.0.1: {} commander@12.1.0: {} @@ -28747,6 +29485,8 @@ snapshots: cookie-signature@1.0.6: {} + cookie@0.4.2: {} + cookie@0.5.0: {} cookie@0.6.0: {} @@ -29163,12 +29903,16 @@ snapshots: dependencies: ms: 2.1.1 - debug@4.4.0: + debug@4.4.0(supports-color@8.1.1): dependencies: ms: 2.1.3 + optionalDependencies: + supports-color: 8.1.1 decamelize@1.2.0: {} + decamelize@4.0.0: {} + decimal.js-light@2.5.1: {} decimal.js@10.4.3: {} @@ -29328,7 +30072,7 @@ snapshots: detect-port@1.6.1: dependencies: address: 1.2.2 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -29627,6 +30371,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enquirer@2.4.1: + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + entities@2.2.0: {} entities@4.5.0: {} @@ -29851,7 +30600,7 @@ snapshots: esbuild-register@3.6.0(esbuild@0.18.20): dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.18.20 transitivePeerDependencies: - supports-color @@ -30108,7 +30857,7 @@ snapshots: eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) enhanced-resolve: 5.17.1 eslint: 8.57.1 fast-glob: 3.3.2 @@ -30248,7 +30997,7 @@ snapshots: '@es-joy/jsdoccomment': 0.41.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) escape-string-regexp: 4.0.0 eslint: 8.57.1 esquery: 1.6.0 @@ -30400,7 +31149,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -30525,6 +31274,53 @@ snapshots: etag@1.8.1: {} + ethereum-cryptography@0.1.3: + dependencies: + '@types/pbkdf2': 3.1.2 + '@types/secp256k1': 4.0.6 + blakejs: 1.2.1 + browserify-aes: 1.2.0 + bs58check: 2.1.2 + create-hash: 1.2.0 + create-hmac: 1.1.7 + hash.js: 1.1.7 + keccak: 3.0.2 + pbkdf2: 3.1.2 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + scrypt-js: 3.0.1 + secp256k1: 4.0.4 + setimmediate: 1.0.5 + + ethereum-cryptography@1.2.0: + dependencies: + '@noble/hashes': 1.2.0 + '@noble/secp256k1': 1.7.1 + '@scure/bip32': 1.1.5 + '@scure/bip39': 1.1.1 + + ethereum-cryptography@2.2.1: + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 + + ethereumjs-abi@0.6.8: + dependencies: + bn.js: 4.12.1 + ethereumjs-util: 6.2.1 + + ethereumjs-util@6.2.1: + dependencies: + '@types/bn.js': 4.11.6 + bn.js: 4.12.1 + create-hash: 1.2.0 + elliptic: 6.6.1 + ethereum-cryptography: 0.1.3 + ethjs-util: 0.1.6 + rlp: 2.2.7 + ethers@6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@adraffy/ens-normalize': 1.10.1 @@ -30538,6 +31334,11 @@ snapshots: - bufferutil - utf-8-validate + ethjs-util@0.1.6: + dependencies: + is-hex-prefixed: 1.0.0 + strip-hex-prefix: 1.0.0 + event-target-shim@5.0.1: {} eventemitter3@4.0.7: {} @@ -30737,7 +31538,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -30919,6 +31720,8 @@ snapshots: keyv: 4.5.4 rimraf: 3.0.2 + flat@5.0.2: {} + flatted@3.3.2: {} flow-parser@0.256.0: {} @@ -30937,7 +31740,9 @@ snapshots: dependencies: tabbable: 6.2.0 - follow-redirects@1.15.9: {} + follow-redirects@1.15.9(debug@4.4.0): + optionalDependencies: + debug: 4.4.0(supports-color@8.1.1) fomo-sdk-solana@1.3.2(bufferutil@4.0.9)(fastestsmallesttextencoderdecoder@1.0.22)(typescript@5.7.2)(utf-8-validate@5.0.10): dependencies: @@ -31013,6 +31818,8 @@ snapshots: forwarded@0.2.0: {} + fp-ts@1.19.3: {} + fraction.js@4.3.7: {} framer-motion@10.18.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): @@ -31061,6 +31868,12 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + fs-extra@8.1.0: dependencies: graceful-fs: 4.2.11 @@ -31605,6 +32418,116 @@ snapshots: optionalDependencies: uglify-js: 3.19.3 + hardhat@2.22.17(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(typescript@5.7.2)(utf-8-validate@5.0.10): + dependencies: + '@ethersproject/abi': 5.7.0 + '@metamask/eth-sig-util': 4.0.1 + '@nomicfoundation/edr': 0.6.5 + '@nomicfoundation/ethereumjs-common': 4.0.4 + '@nomicfoundation/ethereumjs-tx': 5.0.4 + '@nomicfoundation/ethereumjs-util': 9.0.4 + '@nomicfoundation/solidity-analyzer': 0.1.2 + '@sentry/node': 5.30.0 + '@types/bn.js': 5.1.6 + '@types/lru-cache': 5.1.1 + adm-zip: 0.4.16 + aggregate-error: 3.1.0 + ansi-escapes: 4.3.2 + boxen: 5.1.2 + chokidar: 4.0.1 + ci-info: 2.0.0 + debug: 4.4.0(supports-color@8.1.1) + enquirer: 2.4.1 + env-paths: 2.2.1 + ethereum-cryptography: 1.2.0 + ethereumjs-abi: 0.6.8 + find-up: 5.0.0 + fp-ts: 1.19.3 + fs-extra: 7.0.1 + immutable: 4.3.7 + io-ts: 1.10.4 + json-stream-stringify: 3.1.6 + keccak: 3.0.2 + lodash: 4.17.21 + mnemonist: 0.38.5 + mocha: 10.8.2 + p-map: 4.0.0 + picocolors: 1.1.1 + raw-body: 2.5.2 + resolve: 1.17.0 + semver: 6.3.1 + solc: 0.8.26(debug@4.4.0) + source-map-support: 0.5.21 + stacktrace-parser: 0.1.10 + tinyglobby: 0.2.10 + tsort: 0.0.1 + undici: 5.28.4 + uuid: 8.3.2 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + ts-node: 10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5) + typescript: 5.7.2 + transitivePeerDependencies: + - bufferutil + - c-kzg + - supports-color + - utf-8-validate + + hardhat@2.22.17(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10): + dependencies: + '@ethersproject/abi': 5.7.0 + '@metamask/eth-sig-util': 4.0.1 + '@nomicfoundation/edr': 0.6.5 + '@nomicfoundation/ethereumjs-common': 4.0.4 + '@nomicfoundation/ethereumjs-tx': 5.0.4 + '@nomicfoundation/ethereumjs-util': 9.0.4 + '@nomicfoundation/solidity-analyzer': 0.1.2 + '@sentry/node': 5.30.0 + '@types/bn.js': 5.1.6 + '@types/lru-cache': 5.1.1 + adm-zip: 0.4.16 + aggregate-error: 3.1.0 + ansi-escapes: 4.3.2 + boxen: 5.1.2 + chokidar: 4.0.1 + ci-info: 2.0.0 + debug: 4.4.0(supports-color@8.1.1) + enquirer: 2.4.1 + env-paths: 2.2.1 + ethereum-cryptography: 1.2.0 + ethereumjs-abi: 0.6.8 + find-up: 5.0.0 + fp-ts: 1.19.3 + fs-extra: 7.0.1 + immutable: 4.3.7 + io-ts: 1.10.4 + json-stream-stringify: 3.1.6 + keccak: 3.0.2 + lodash: 4.17.21 + mnemonist: 0.38.5 + mocha: 10.8.2 + p-map: 4.0.0 + picocolors: 1.1.1 + raw-body: 2.5.2 + resolve: 1.17.0 + semver: 6.3.1 + solc: 0.8.26(debug@4.4.0) + source-map-support: 0.5.21 + stacktrace-parser: 0.1.10 + tinyglobby: 0.2.10 + tsort: 0.0.1 + undici: 5.28.4 + uuid: 8.3.2 + ws: 7.5.10(bufferutil@4.0.9)(utf-8-validate@5.0.10) + optionalDependencies: + ts-node: 10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - bufferutil + - c-kzg + - supports-color + - utf-8-validate + has-ansi@2.0.0: dependencies: ansi-regex: 2.1.1 @@ -31826,7 +32749,7 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -31840,21 +32763,21 @@ snapshots: https-proxy-agent@4.0.0: dependencies: agent-base: 5.1.1 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -31904,6 +32827,8 @@ snapshots: immediate@3.0.6: {} + immutable@4.3.7: {} + immutable@5.0.3: {} import-cwd@3.0.0: @@ -31988,6 +32913,10 @@ snapshots: dependencies: loose-envify: 1.4.0 + io-ts@1.10.4: + dependencies: + fp-ts: 1.19.3 + ip-regex@4.3.0: {} ipaddr.js@1.9.1: {} @@ -32119,6 +33048,8 @@ snapshots: is-gzip@1.0.0: {} + is-hex-prefixed@1.0.0: {} + is-hexadecimal@1.0.4: {} is-hexadecimal@2.0.1: {} @@ -32200,6 +33131,8 @@ snapshots: is-path-inside@4.0.0: {} + is-plain-obj@2.1.0: {} + is-plain-obj@4.1.0: {} is-plain-object@2.0.4: @@ -32370,7 +33303,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -33153,6 +34086,8 @@ snapshots: jsonify: 0.0.1 object-keys: 1.1.1 + json-stream-stringify@3.1.6: {} + json-stringify-safe@5.0.1: {} json5@1.0.2: @@ -33591,6 +34526,8 @@ snapshots: dependencies: yallist: 4.0.0 + lru_map@0.3.3: {} + lru_map@0.4.1: {} lucide-react@0.330.0(react@18.2.0): @@ -33998,6 +34935,8 @@ snapshots: memory-fs@0.2.0: {} + memorystream@0.3.1: {} + meow@13.2.0: {} merge-descriptors@1.0.3: {} @@ -34455,7 +35394,7 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -34477,7 +35416,7 @@ snapshots: micromark@4.0.1: dependencies: '@types/debug': 4.1.12 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.2 @@ -34634,6 +35573,33 @@ snapshots: pkg-types: 1.2.1 ufo: 1.5.4 + mnemonist@0.38.5: + dependencies: + obliterator: 2.0.4 + + mocha@10.8.2: + dependencies: + ansi-colors: 4.1.3 + browser-stdout: 1.3.1 + chokidar: 3.6.0 + debug: 4.4.0(supports-color@8.1.1) + diff: 5.2.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 8.1.0 + he: 1.2.0 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 5.1.6 + ms: 2.1.3 + serialize-javascript: 6.0.2 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.5.1 + yargs: 16.2.0 + yargs-parser: 20.2.9 + yargs-unparser: 2.0.0 + module-deps@6.2.3: dependencies: JSONStream: 1.3.5 @@ -35050,6 +36016,8 @@ snapshots: objectorarray@1.0.5: {} + obliterator@2.0.4: {} + ofetch@1.4.1: dependencies: destr: 2.0.3 @@ -35213,6 +36181,8 @@ snapshots: os-paths@4.4.0: {} + os-tmpdir@1.0.2: {} + otpauth@9.3.6: dependencies: '@noble/hashes': 1.6.1 @@ -36104,7 +37074,7 @@ snapshots: puppeteer-core@2.1.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@types/mime-types': 2.1.4 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) extract-zip: 1.7.0 https-proxy-agent: 4.0.0 mime: 2.6.0 @@ -36828,6 +37798,10 @@ snapshots: resolve.exports@2.0.3: {} + resolve@1.17.0: + dependencies: + path-parse: 1.0.7 + resolve@1.22.8: dependencies: is-core-module: 2.15.1 @@ -36879,6 +37853,10 @@ snapshots: hash-base: 3.1.0 inherits: 2.0.4 + rlp@2.2.7: + dependencies: + bn.js: 5.2.1 + roarr@2.15.4: dependencies: boolean: 3.2.0 @@ -37068,8 +38046,16 @@ snapshots: dependencies: compute-scroll-into-view: 3.1.0 + scrypt-js@3.0.1: {} + scryptsy@2.1.0: {} + secp256k1@4.0.4: + dependencies: + elliptic: 6.6.1 + node-addon-api: 5.0.0 + node-gyp-build: 4.8.4 + secp256k1@5.0.0: dependencies: elliptic: 6.6.1 @@ -37323,6 +38309,18 @@ snapshots: dot-case: 3.0.4 tslib: 2.8.1 + solc@0.8.26(debug@4.4.0): + dependencies: + command-exists: 1.2.9 + commander: 8.3.0 + follow-redirects: 1.15.9(debug@4.4.0) + js-sha3: 0.8.0 + memorystream: 0.3.1 + semver: 5.7.2 + tmp: 0.0.33 + transitivePeerDependencies: + - debug + solid-js@1.9.3: dependencies: csstype: 3.1.3 @@ -37394,7 +38392,7 @@ snapshots: dependencies: bindings: 1.5.0 buffer-alloc: 1.2.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color optional: true @@ -37436,6 +38434,10 @@ snapshots: stackframe@1.3.4: {} + stacktrace-parser@0.1.10: + dependencies: + type-fest: 0.7.1 + stacktracey@2.1.8: dependencies: as-table: 1.0.55 @@ -37638,6 +38640,10 @@ snapshots: strip-final-newline@4.0.0: {} + strip-hex-prefix@1.0.0: + dependencies: + is-hex-prefixed: 1.0.0 + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -37713,7 +38719,7 @@ snapshots: sumchecker@3.0.1: dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -38160,6 +39166,10 @@ snapshots: tinyspy@3.0.2: {} + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + tmpl@1.0.5: {} to-absolute-glob@3.0.0: @@ -38440,13 +39450,15 @@ snapshots: tslib@2.8.1: {} + tsort@0.0.1: {} + tsup@8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1): dependencies: bundle-require: 5.1.0(esbuild@0.24.0) cac: 6.7.14 chokidar: 4.0.1 consola: 3.2.3 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) esbuild: 0.24.0 joycon: 3.1.1 picocolors: 1.1.1 @@ -38486,6 +39498,8 @@ snapshots: - immer - react + tweetnacl-util@0.15.1: {} + tweetnacl@1.0.3: {} twitter-api-sdk@1.2.1: @@ -38523,6 +39537,8 @@ snapshots: type-fest@0.6.0: {} + type-fest@0.7.1: {} + type-fest@0.8.1: {} type-fest@2.19.0: {} @@ -38817,6 +39833,7 @@ snapshots: '@elizaos/plugin-video-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-video-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-web-search': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-web-search(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-whatsapp': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/clients/plugin-whatsapp + '@elizaos/plugin-zksync-era': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-zksync-era(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(zod@3.24.1) '@iarna/toml': 2.2.5 '@supabase/postgrest-js': 1.17.7 '@supabase/supabase-js': 2.47.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) @@ -38901,6 +39918,7 @@ snapshots: - babel-jest - babel-plugin-macros - bufferutil + - c-kzg - cheerio - db0 - debug @@ -39271,7 +40289,7 @@ snapshots: vite-node@2.1.4(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0): dependencies: cac: 6.7.14 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) pathe: 1.1.2 vite: 5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) transitivePeerDependencies: @@ -39288,7 +40306,7 @@ snapshots: vite-node@2.1.4(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0): dependencies: cac: 6.7.14 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) pathe: 1.1.2 vite: 5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) transitivePeerDependencies: @@ -39305,7 +40323,7 @@ snapshots: vite-node@2.1.5(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0): dependencies: cac: 6.7.14 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) es-module-lexer: 1.5.4 pathe: 1.1.2 vite: 5.4.11(@types/node@18.19.68)(sass@1.82.0)(terser@5.37.0) @@ -39323,7 +40341,7 @@ snapshots: vite-node@2.1.5(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0): dependencies: cac: 6.7.14 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) es-module-lexer: 1.5.4 pathe: 1.1.2 vite: 5.4.11(@types/node@22.8.1)(sass@1.82.0)(terser@5.37.0) @@ -39381,7 +40399,7 @@ snapshots: '@vitest/spy': 2.1.4 '@vitest/utils': 2.1.4 chai: 5.1.2 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) expect-type: 1.1.0 magic-string: 0.30.15 pathe: 1.1.2 @@ -39418,7 +40436,7 @@ snapshots: '@vitest/spy': 2.1.4 '@vitest/utils': 2.1.4 chai: 5.1.2 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) expect-type: 1.1.0 magic-string: 0.30.15 pathe: 1.1.2 @@ -39453,7 +40471,7 @@ snapshots: '@vitest/spy': 2.1.5 '@vitest/utils': 2.1.5 chai: 5.1.2 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) expect-type: 1.1.0 magic-string: 0.30.15 pathe: 1.1.2 @@ -39490,7 +40508,7 @@ snapshots: '@vitest/spy': 2.1.5 '@vitest/utils': 2.1.5 chai: 5.1.2 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) expect-type: 1.1.0 magic-string: 0.30.15 pathe: 1.1.2 @@ -39552,6 +40570,257 @@ snapshots: web-worker@1.2.0: {} + web3-core@4.7.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + web3-errors: 1.3.1 + web3-eth-accounts: 4.3.1 + web3-eth-iban: 4.0.7 + web3-providers-http: 4.2.0 + web3-providers-ws: 4.0.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + optionalDependencies: + web3-providers-ipc: 4.0.7 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + web3-errors@1.3.1: + dependencies: + web3-types: 1.10.0 + + web3-eth-abi@4.4.1(typescript@5.7.2)(zod@3.24.1): + dependencies: + abitype: 0.7.1(typescript@5.7.2)(zod@3.24.1) + web3-errors: 1.3.1 + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + transitivePeerDependencies: + - typescript + - zod + + web3-eth-accounts@4.3.1: + dependencies: + '@ethereumjs/rlp': 4.0.1 + crc-32: 1.2.2 + ethereum-cryptography: 2.2.1 + web3-errors: 1.3.1 + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + + web3-eth-contract@4.7.2(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + '@ethereumjs/rlp': 5.0.2 + web3-core: 4.7.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-errors: 1.3.1 + web3-eth: 4.11.1(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-eth-abi: 4.4.1(typescript@5.7.2)(zod@3.24.1) + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + + web3-eth-ens@4.4.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + '@adraffy/ens-normalize': 1.10.1 + web3-core: 4.7.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-errors: 1.3.1 + web3-eth: 4.11.1(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-eth-contract: 4.7.2(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-net: 4.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + + web3-eth-iban@4.0.7: + dependencies: + web3-errors: 1.3.1 + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + + web3-eth-personal@4.1.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + web3-core: 4.7.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-eth: 4.11.1(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-rpc-methods: 1.3.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + + web3-eth@4.11.1(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + setimmediate: 1.0.5 + web3-core: 4.7.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-errors: 1.3.1 + web3-eth-abi: 4.4.1(typescript@5.7.2)(zod@3.24.1) + web3-eth-accounts: 4.3.1 + web3-net: 4.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-providers-ws: 4.0.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-rpc-methods: 1.3.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + + web3-net@4.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + web3-core: 4.7.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-rpc-methods: 1.3.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-types: 1.10.0 + web3-utils: 4.3.3 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + web3-plugin-zksync@1.0.8(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(typescript@5.7.2)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)): + dependencies: + ethereum-cryptography: 2.2.1 + hardhat: 2.22.17(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@18.19.68)(typescript@4.9.5))(typescript@5.7.2)(utf-8-validate@5.0.10) + web3: 4.16.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + transitivePeerDependencies: + - bufferutil + - c-kzg + - supports-color + - ts-node + - typescript + - utf-8-validate + + web3-plugin-zksync@1.0.8(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10)(web3@4.16.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1)): + dependencies: + ethereum-cryptography: 2.2.1 + hardhat: 2.22.17(bufferutil@4.0.9)(ts-node@10.9.1(@swc/core@1.10.1(@swc/helpers@0.5.13))(@types/node@22.8.1)(typescript@5.7.2))(typescript@5.7.2)(utf-8-validate@5.0.10) + web3: 4.16.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + transitivePeerDependencies: + - bufferutil + - c-kzg + - supports-color + - ts-node + - typescript + - utf-8-validate + + web3-providers-http@4.2.0: + dependencies: + cross-fetch: 4.1.0 + web3-errors: 1.3.1 + web3-types: 1.10.0 + web3-utils: 4.3.3 + transitivePeerDependencies: + - encoding + + web3-providers-ipc@4.0.7: + dependencies: + web3-errors: 1.3.1 + web3-types: 1.10.0 + web3-utils: 4.3.3 + optional: true + + web3-providers-ws@4.0.8(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + '@types/ws': 8.5.3 + isomorphic-ws: 5.0.0(ws@8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + web3-errors: 1.3.1 + web3-types: 1.10.0 + web3-utils: 4.3.3 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + web3-rpc-methods@1.3.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + web3-core: 4.7.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-types: 1.10.0 + web3-validator: 2.0.6 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + web3-rpc-providers@1.0.0-rc.4(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + web3-errors: 1.3.1 + web3-providers-http: 4.2.0 + web3-providers-ws: 4.0.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + transitivePeerDependencies: + - bufferutil + - encoding + - utf-8-validate + + web3-types@1.10.0: {} + + web3-utils@4.3.3: + dependencies: + ethereum-cryptography: 2.2.1 + eventemitter3: 5.0.1 + web3-errors: 1.3.1 + web3-types: 1.10.0 + web3-validator: 2.0.6 + + web3-validator@2.0.6: + dependencies: + ethereum-cryptography: 2.2.1 + util: 0.12.5 + web3-errors: 1.3.1 + web3-types: 1.10.0 + zod: 3.23.8 + + web3@4.16.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1): + dependencies: + web3-core: 4.7.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-errors: 1.3.1 + web3-eth: 4.11.1(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-eth-abi: 4.4.1(typescript@5.7.2)(zod@3.24.1) + web3-eth-accounts: 4.3.1 + web3-eth-contract: 4.7.2(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-eth-ens: 4.4.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-eth-iban: 4.0.7 + web3-eth-personal: 4.1.0(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) + web3-net: 4.1.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-providers-http: 4.2.0 + web3-providers-ws: 4.0.8(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-rpc-methods: 1.3.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-rpc-providers: 1.0.0-rc.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + web3-types: 1.10.0 + web3-utils: 4.3.3 + web3-validator: 2.0.6 + transitivePeerDependencies: + - bufferutil + - encoding + - typescript + - utf-8-validate + - zod + webauthn-p256@0.0.10: dependencies: '@noble/curves': 1.7.0 @@ -39737,6 +41006,10 @@ snapshots: dependencies: string-width: 4.2.3 + widest-line@3.1.0: + dependencies: + string-width: 4.2.3 + widest-line@5.0.0: dependencies: string-width: 7.2.0 @@ -39777,6 +41050,8 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20241205.0 '@cloudflare/workerd-windows-64': 1.20241205.0 + workerpool@6.5.1: {} + wrangler@3.95.0(bufferutil@4.0.9)(utf-8-validate@5.0.10): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 @@ -39967,8 +41242,17 @@ snapshots: camelcase: 5.3.1 decamelize: 1.2.0 + yargs-parser@20.2.9: {} + yargs-parser@21.1.1: {} + yargs-unparser@2.0.0: + dependencies: + camelcase: 6.3.0 + decamelize: 4.0.0 + flat: 5.0.2 + is-plain-obj: 2.1.0 + yargs@15.4.1: dependencies: cliui: 6.0.0 @@ -39983,6 +41267,16 @@ snapshots: y18n: 4.0.3 yargs-parser: 18.1.3 + yargs@16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + yargs@17.7.2: dependencies: cliui: 8.0.1 From 0e2028ee292ef30e9f00feee2d96dc7c7bce2f6b Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:46:41 -0800 Subject: [PATCH 116/312] Add 0g plugin --- .../components/plugins/plugin-0g/package.json | 18 ++ .../components/plugins/plugin-0g/readme.md | 127 +++++++++++++ .../plugins/plugin-0g/src/actions/upload.ts | 172 ++++++++++++++++++ .../components/plugins/plugin-0g/src/index.ts | 10 + .../plugins/plugin-0g/src/templates/upload.ts | 22 +++ .../plugins/plugin-0g/tsconfig.json | 13 ++ .../plugins/plugin-0g/tsup.config.ts | 13 ++ 7 files changed, 375 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/readme.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/actions/upload.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/templates/upload.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/package.json new file mode 100644 index 000000000..d46a05b38 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/package.json @@ -0,0 +1,18 @@ +{ + "name": "@elizaos/plugin-0g", + "version": "0.1.7-alpha.2", + "main": "dist/index.js", + "type": "module", + "types": "dist/index.d.ts", + "dependencies": { + "@0glabs/0g-ts-sdk": "0.2.1", + "@elizaos/core": "workspace:*", + "ethers": "6.13.4", + "tsup": "8.3.5" + }, + "scripts": { + "build": "tsup --format esm --dts", + "dev": "tsup --format esm --dts --watch", + "test": "vitest" + } +} diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/readme.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/readme.md new file mode 100644 index 000000000..cf24cc94c --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/readme.md @@ -0,0 +1,127 @@ +# @elizaos/plugin-0g + +A plugin for storing data using the 0G protocol within the ElizaOS ecosystem. + +## Description +The 0G plugin enables seamless integration with the Zero Gravity (0G) protocol for decentralized file storage. It provides functionality to upload files to the 0G network. + +## Installation + +```bash +pnpm install @elizaos/plugin-0g +``` + +## Configuration + +The plugin requires the following environment variables to be set: +```typescript +ZEROG_INDEXER_RPC=<0G indexer RPC endpoint> +ZEROG_EVM_RPC=<0G EVM RPC endpoint> +ZEROG_PRIVATE_KEY= +ZEROG_FLOW_ADDRESS=<0G Flow contract address> +``` + +## Usage + +### Basic Integration + +```typescript +import { zgPlugin } from '@ai16z/plugin-0g'; +``` + + +### File Upload Example + +```typescript +// The plugin automatically handles file uploads when triggered +// through natural language commands like: + +"Upload my document.pdf" +"Store this image.png on 0G" +"Save my resume.docx to Zero Gravity" +``` + + +## API Reference + +### Actions + +#### ZG_UPLOAD + +Uploads files to the 0G network. + +**Aliases:** +- UPLOAD_FILE_TO_ZG +- STORE_FILE_ON_ZG +- SAVE_FILE_TO_ZG +- UPLOAD_TO_ZERO_GRAVITY +- STORE_ON_ZERO_GRAVITY +- SHARE_FILE_ON_ZG +- PUBLISH_FILE_TO_ZG + +**Input Content:** +```typescript +interface UploadContent { +filePath: string; +} +``` + + +## Common Issues & Troubleshooting + +1. **File Access Errors** + - Ensure the file exists at the specified path + - Check file permissions + - Verify the path is absolute or relative to the execution context + +2. **Configuration Issues** + - Verify all required environment variables are set + - Ensure RPC endpoints are accessible + - Confirm private key has sufficient permissions + +## Security Best Practices + +1. **Environment Variables** + - Never commit private keys to version control + - Use secure environment variable management + - Rotate private keys periodically + + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +- Model service deployment on 0G serving network +- 0G KV store for plugin state persistence +- Upload history and file metadata storage +- 0G as a database option for Eliza state storage +- Enhanced file path and context extraction + +## Contributing + +Contributions are welcome! Please see our contributing guidelines for more details. + +## License + +[License information needed] \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/actions/upload.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/actions/upload.ts new file mode 100644 index 000000000..cb24317a5 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/actions/upload.ts @@ -0,0 +1,172 @@ +import { + Action, + HandlerCallback, + IAgentRuntime, + Memory, + State, + ModelClass, + Content, + ActionExample, + generateObject, +} from "@elizaos/core"; +import { Indexer, ZgFile, getFlowContract } from "@0glabs/0g-ts-sdk"; +import { ethers } from "ethers"; +import { composeContext } from "@elizaos/core"; +import { promises as fs } from "fs"; + +import { uploadTemplate } from "../templates/upload"; + +export interface UploadContent extends Content { + filePath: string; +} + +function isUploadContent( + _runtime: IAgentRuntime, + content: any +): content is UploadContent { + console.log("Content for upload", content); + return typeof content.filePath === "string"; +} + +export const zgUpload: Action = { + name: "ZG_UPLOAD", + similes: [ + "UPLOAD_FILE_TO_ZG", + "STORE_FILE_ON_ZG", + "SAVE_FILE_TO_ZG", + "UPLOAD_TO_ZERO_GRAVITY", + "STORE_ON_ZERO_GRAVITY", + "SHARE_FILE_ON_ZG", + "PUBLISH_FILE_TO_ZG", + ], + description: "Store data using 0G protocol", + validate: async (runtime: IAgentRuntime, message: Memory) => { + const zgIndexerRpc = !!runtime.getSetting("ZEROG_INDEXER_RPC"); + const zgEvmRpc = !!runtime.getSetting("ZEROG_EVM_RPC"); + const zgPrivateKey = !!runtime.getSetting("ZEROG_PRIVATE_KEY"); + const flowAddr = !!runtime.getSetting("ZEROG_FLOW_ADDRESS"); + return zgIndexerRpc && zgEvmRpc && zgPrivateKey && flowAddr; + }, + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + _options: any, + callback: HandlerCallback + ) => { + console.log("ZG_UPLOAD action called"); + if (!state) { + state = (await runtime.composeState(message)) as State; + } else { + state = await runtime.updateRecentMessageState(state); + } + + // Compose upload context + const uploadContext = composeContext({ + state, + template: uploadTemplate, + }); + + // Generate upload content + const content = await generateObject({ + runtime, + context: uploadContext, + modelClass: ModelClass.LARGE, + }); + + // Validate upload content + if (!isUploadContent(runtime, content)) { + console.error("Invalid content for UPLOAD action."); + if (callback) { + callback({ + text: "Unable to process 0G upload request. Invalid content provided.", + content: { error: "Invalid upload content" }, + }); + } + return false; + } + + try { + const zgIndexerRpc = runtime.getSetting("ZEROG_INDEXER_RPC"); + const zgEvmRpc = runtime.getSetting("ZEROG_EVM_RPC"); + const zgPrivateKey = runtime.getSetting("ZEROG_PRIVATE_KEY"); + const flowAddr = runtime.getSetting("ZEROG_FLOW_ADDRESS"); + const filePath = content.filePath; + if (!filePath) { + console.error("File path is required"); + return false; + } + + // Check if file exists and is accessible + try { + await fs.access(filePath); + } catch (error) { + console.error( + `File ${filePath} does not exist or is not accessible:`, + error + ); + return false; + } + + const file = await ZgFile.fromFilePath(filePath); + var [tree, err] = await file.merkleTree(); + if (err === null) { + console.log("File Root Hash: ", tree.rootHash()); + } else { + console.log("Error getting file root hash: ", err); + return false; + } + + const provider = new ethers.JsonRpcProvider(zgEvmRpc); + const signer = new ethers.Wallet(zgPrivateKey, provider); + const indexer = new Indexer(zgIndexerRpc); + const flowContract = getFlowContract(flowAddr, signer); + + var [tx, err] = await indexer.upload( + file, + 0, + zgEvmRpc, + flowContract + ); + if (err === null) { + console.log("File uploaded successfully, tx: ", tx); + } else { + console.error("Error uploading file: ", err); + return false; + } + + await file.close(); + } catch (error) { + console.error("Error getting settings for 0G upload:", error); + } + }, + examples: [ + [ + { + user: "{{user1}}", + content: { + text: "upload my resume.pdf file", + action: "ZG_UPLOAD", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "can you help me upload this document.docx?", + action: "ZG_UPLOAD", + }, + }, + ], + [ + { + user: "{{user1}}", + content: { + text: "I need to upload an image file image.png", + action: "ZG_UPLOAD", + }, + }, + ], + ] as ActionExample[][], +} as Action; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/index.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/index.ts new file mode 100644 index 000000000..959b3cf19 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/index.ts @@ -0,0 +1,10 @@ +import { Plugin } from "@elizaos/core"; +import { zgUpload } from "./actions/upload"; + +export const zgPlugin: Plugin = { + description: "ZeroG Plugin for Eliza", + name: "ZeroG", + actions: [zgUpload], + evaluators: [], + providers: [], +}; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/templates/upload.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/templates/upload.ts new file mode 100644 index 000000000..d982d8929 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/src/templates/upload.ts @@ -0,0 +1,22 @@ +export const uploadTemplate = `Respond with a JSON markdown block containing only the extracted values. Use null for any values that cannot be determined. + +Example response: +\`\`\`json +{ + "filePath": null, + "description": "I want to upload a file" +} +\`\`\` + +{{recentMessages}} + +Extract the user's intention to upload a file from the conversation. Users might express this in various ways, such as: +- "I want to upload a file" +- "upload an image" +- "send a photo" +- "upload" +- "let me share a file" + +If the user provides any specific description of the file, include that as well. + +Respond with a JSON markdown block containing only the extracted values.`; diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/tsconfig.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/tsconfig.json new file mode 100644 index 000000000..7251ebee3 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../core/tsconfig.json", + "compilerOptions": { + "outDir": "dist", + "rootDir": ".", + "types": [ + "node" + ] + }, + "include": [ + "src" + ] +} \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/tsup.config.ts b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/tsup.config.ts new file mode 100644 index 000000000..1b704be14 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/tsup.config.ts @@ -0,0 +1,13 @@ +import { defineConfig } from "tsup"; + +export default defineConfig({ + entry: ["src/index.ts"], + outDir: "dist", + sourcemap: true, + clean: true, + format: ["esm"], // Ensure you're targeting CommonJS + external: [ + "@0glabs/0g-ts-sdk", + // Add other modules you want to externalize + ], +}); From 67b4386eeef9b00adc3a7791f7bb469943e59460 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:47:12 -0800 Subject: [PATCH 117/312] Hack 0g plugin --- .../react-agents/components/plugins/plugin-0g/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/package.json b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/package.json index d46a05b38..78f0c74e8 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/package.json +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g/package.json @@ -1,12 +1,10 @@ { "name": "@elizaos/plugin-0g", "version": "0.1.7-alpha.2", - "main": "dist/index.js", + "main": "src/index.ts", "type": "module", - "types": "dist/index.d.ts", "dependencies": { "@0glabs/0g-ts-sdk": "0.2.1", - "@elizaos/core": "workspace:*", "ethers": "6.13.4", "tsup": "8.3.5" }, From bdb39eebd3b43f7a12590eda0897a65ab381a134 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:49:00 -0800 Subject: [PATCH 118/312] Integrate 0g plugin --- packages/usdk/packages/upstreet-agent/package.json | 1 + .../packages/react-agents/components/plugins/index.tsx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/packages/usdk/packages/upstreet-agent/package.json b/packages/usdk/packages/upstreet-agent/package.json index 4a0a72678..b4f09e825 100644 --- a/packages/usdk/packages/upstreet-agent/package.json +++ b/packages/usdk/packages/upstreet-agent/package.json @@ -6,6 +6,7 @@ "@electric-sql/pglite": "^0.2.15", "@elizaos/core": "file:./packages/elizaos-core-proxy", "@elizaos/plugin-whatsapp": "file:./packages/react-agents/components/clients/plugin-whatsapp", + "@elizaos/plugin-0g": "file:./packages/react-agents/components/plugins/plugin-0g", "@elizaos/plugin-3d-generation": "file:./packages/react-agents/components/plugins/plugin-3d-generation", "@elizaos/plugin-coinbase": "file:./packages/react-agents/components/plugins/plugin-coinbase", "@elizaos/plugin-evm": "file:./packages/react-agents/components/plugins/plugin-evm", diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx index 9cbac5370..4e8de0a8a 100644 --- a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/index.tsx @@ -8,6 +8,7 @@ import { videoGenerationPlugin } from '@elizaos/plugin-video-generation'; import { nftGenerationPlugin } from '@elizaos/plugin-nft-generation'; import gitbookPlugin from '@elizaos/plugin-gitbook'; import evmPlugin from '@elizaos/plugin-evm'; +import { zgPlugin } from '@elizaos/plugin-0g'; import avalanchePlugin from '@elizaos/plugin-avalanche'; import { solanaPlugin } from '@elizaos/plugin-solana'; import multiversxPlugin from '@elizaos/plugin-multiversx'; @@ -216,6 +217,7 @@ export const plugins = { '@elizaos/plugin-nft-generation': pluginWrap(nftGenerationPlugin), '@elizaos/plugin-gitbook': pluginWrap(gitbookPlugin), '@elizaos/plugin-evm': pluginWrap(evmPlugin), + '@elizaos/plugin-0g': pluginWrap(zgPlugin), '@elizaos/plugin-avalanche': pluginWrap(avalanchePlugin), '@elizaos/plugin-solana': pluginWrap(solanaPlugin), '@elizaos/plugin-multiversx': pluginWrap(multiversxPlugin), From 4bf7a6c6d1ed63da92e9fc73c998a840cf59e4ee Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:49:12 -0800 Subject: [PATCH 119/312] Update lock --- pnpm-lock.yaml | 181 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 179 insertions(+), 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 791c3276d..a8d3ca70e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -942,6 +942,9 @@ importers: '@elizaos/core': specifier: file:./packages/elizaos-core-proxy version: file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@file:packages/usdk/packages/upstreet-agent/packages/react)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) + '@elizaos/plugin-0g': + specifier: file:./packages/react-agents/components/plugins/plugin-0g + version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(yaml@2.6.1) '@elizaos/plugin-3d-generation': specifier: file:./packages/react-agents/components/plugins/plugin-3d-generation version: file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) @@ -1305,6 +1308,11 @@ importers: packages: + '@0glabs/0g-ts-sdk@0.2.1': + resolution: {integrity: sha512-IJRD3D+5flNZIl32k/7D45yYvn9AjMeDdkhMr4Y/qo6nFE40HqYRaSlk6ZNI+MjaRzbDxMErrFzQcVkYH/DARg==} + peerDependencies: + ethers: 6.13.1 + '@0no-co/graphql.web@1.0.12': resolution: {integrity: sha512-BTDjjsV/zSPy5fqItwm+KWUfh9CSe9tTtR6rCB72ddtkAxdcHbi4Ir4r/L1Et4lyxmL+i7Rb3m9sjLLi9tYrzA==} peerDependencies: @@ -2396,6 +2404,9 @@ packages: '@elizaos/core@file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy, type: directory} + '@elizaos/plugin-0g@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g': + resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g, type: directory} + '@elizaos/plugin-3d-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation': resolution: {directory: packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation, type: directory} peerDependencies: @@ -8284,6 +8295,9 @@ packages: axios@0.21.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + axios@0.27.2: + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + axios@1.7.8: resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} @@ -9513,6 +9527,10 @@ packages: resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} engines: {node: '>=12'} + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} @@ -10111,15 +10129,26 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} es6-promisify@5.0.0: resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -10552,6 +10581,10 @@ packages: resolution: {integrity: sha512-SJ5YnoWi8yuGghBrupScARmIcUh2A2a2gIfdVRtQ2MQpQo91wMWHx/fsN0ZDERLAUso1ea4Q/9CKCL88O5MEpg==} engines: {node: '>=14.16.0'} + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + espree@10.3.0: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -10646,6 +10679,9 @@ packages: resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} engines: {node: '>=6.5.0', npm: '>=3'} + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -10731,6 +10767,9 @@ packages: resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} engines: {node: '>= 0.10.0'} + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -12117,6 +12156,9 @@ packages: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-unc-path@1.0.0: resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} engines: {node: '>=0.10.0'} @@ -13684,6 +13726,9 @@ packages: react: ^16.8 || ^17 || ^18 react-dom: ^16.8 || ^17 || ^18 + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + next@14.2.14: resolution: {integrity: sha512-Q1coZG17MW0Ly5x76shJ4dkC23woLAhhnDnw+DfTc7EpZSGuWrlsZ3bZaO8t6u1Yu8FVfhkqJE+U8GC7E0GLPQ==} engines: {node: '>=18.17.0'} @@ -13992,6 +14037,9 @@ packages: resolution: {integrity: sha512-fRHi4my03WQSbWfqChs9AdFfSp6SLalB3zadfwfYIojoKanLDBfv2uAdiZCfzdvom7TBdlXu2UeiiydBc56/EQ==} engines: {node: '>=18'} + open-jsonrpc-provider@0.2.1: + resolution: {integrity: sha512-b+pRxakRwAqp+4OTh2TeH+z2zwVGa0C4fbcwIn6JsZdjd4VBmsp7KfCdmmV3XH8diecwXa5UILCw4IwAtk1DTQ==} + open@10.1.0: resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} engines: {node: '>=18'} @@ -15319,6 +15367,9 @@ packages: recma-stringify@1.0.0: resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==} + reconnecting-websocket@4.4.0: + resolution: {integrity: sha512-D2E33ceRPga0NvTDhJmphEgJ7FUYF0v4lr1ki0csq06OdlxKfugGzN0dSkxM/NfqCxYELK4KcaTOUOjTV6Dcng==} + recursive-copy@2.0.14: resolution: {integrity: sha512-K8WNY8f8naTpfbA+RaXmkaQuD1IeW9EgNEfyGxSqqTQukpVtoOKros9jUqbpEsSw59YOmpd8nCBgtqJZy5nvog==} @@ -16851,6 +16902,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} @@ -16871,6 +16925,9 @@ packages: resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==} engines: {node: '>= 10'} + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -17666,6 +17723,10 @@ packages: webpack-cli: optional: true + websocket@1.0.35: + resolution: {integrity: sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==} + engines: {node: '>=4.0.0'} + well-known-symbols@2.0.0: resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} engines: {node: '>=6'} @@ -17908,6 +17969,10 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + yaeti@0.0.6: + resolution: {integrity: sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==} + engines: {node: '>=0.10.32'} + yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -18065,6 +18130,18 @@ packages: snapshots: + '@0glabs/0g-ts-sdk@0.2.1(bufferutil@4.0.9)(ethers@6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10)': + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + ethers: 6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + open-jsonrpc-provider: 0.2.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + '@0no-co/graphql.web@1.0.12(graphql@16.10.0)': optionalDependencies: graphql: 16.10.0 @@ -19545,6 +19622,24 @@ snapshots: - utf-8-validate - vue + '@elizaos/plugin-0g@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(yaml@2.6.1)': + dependencies: + '@0glabs/0g-ts-sdk': 0.2.1(bufferutil@4.0.9)(ethers@6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + ethers: 6.13.4(bufferutil@4.0.9)(utf-8-validate@5.0.10) + tsup: 8.3.5(@swc/core@1.10.1(@swc/helpers@0.5.13))(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(yaml@2.6.1) + transitivePeerDependencies: + - '@microsoft/api-extractor' + - '@swc/core' + - bufferutil + - debug + - jiti + - postcss + - supports-color + - tsx + - typescript + - utf-8-validate + - yaml + '@elizaos/plugin-3d-generation@file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1)': dependencies: '@fal-ai/client': 1.2.0 @@ -28335,6 +28430,13 @@ snapshots: transitivePeerDependencies: - debug + axios@0.27.2: + dependencies: + follow-redirects: 1.15.9(debug@4.4.0) + form-data: 4.0.1 + transitivePeerDependencies: + - debug + axios@1.7.8: dependencies: follow-redirects: 1.15.9(debug@4.4.0) @@ -28918,7 +29020,6 @@ snapshots: bufferutil@4.0.9: dependencies: node-gyp-build: 4.8.4 - optional: true builtin-modules@3.3.0: {} @@ -29843,6 +29944,11 @@ snapshots: dependencies: d3-array: 3.2.4 + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.3 + damerau-levenshtein@1.0.8: {} dash-ast@1.0.0: {} @@ -30513,15 +30619,33 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.1.0 + es5-ext@0.10.64: + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 + next-tick: 1.1.0 + es6-error@4.1.1: optional: true + es6-iterator@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 + es6-promise@4.2.8: {} es6-promisify@5.0.0: dependencies: es6-promise: 4.2.8 + es6-symbol@3.1.4: + dependencies: + d: 1.0.2 + ext: 1.7.0 + esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -31201,6 +31325,13 @@ snapshots: esmock@2.6.9: {} + esniff@2.0.1: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.3 + espree@10.3.0: dependencies: acorn: 8.14.0 @@ -31339,6 +31470,11 @@ snapshots: is-hex-prefixed: 1.0.0 strip-hex-prefix: 1.0.0 + event-emitter@0.3.5: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-target-shim@5.0.1: {} eventemitter3@4.0.7: {} @@ -31516,6 +31652,10 @@ snapshots: transitivePeerDependencies: - supports-color + ext@1.7.0: + dependencies: + type: 2.7.3 + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -33204,6 +33344,8 @@ snapshots: dependencies: which-typed-array: 1.1.16 + is-typedarray@1.0.0: {} + is-unc-path@1.0.0: dependencies: unc-path-regex: 0.1.2 @@ -35774,6 +35916,8 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + next-tick@1.1.0: {} + next@14.2.14(@opentelemetry/api@1.9.0)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.82.0): dependencies: '@next/env': 14.2.14 @@ -36087,6 +36231,18 @@ snapshots: line-column-path: 3.0.0 open: 10.1.0 + open-jsonrpc-provider@0.2.1(bufferutil@4.0.9)(utf-8-validate@5.0.10): + dependencies: + axios: 0.27.2 + reconnecting-websocket: 4.4.0 + websocket: 1.0.35 + ws: 8.18.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + open@10.1.0: dependencies: default-browser: 5.2.1 @@ -37557,6 +37713,8 @@ snapshots: unified: 11.0.5 vfile: 6.0.3 + reconnecting-websocket@4.4.0: {} + recursive-copy@2.0.14: dependencies: errno: 0.1.8 @@ -39550,6 +39708,8 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 + type@2.7.3: {} + typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.8 @@ -39585,6 +39745,10 @@ snapshots: typed-function@2.1.0: {} + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + typedarray@0.0.6: {} typeforce@1.18.0: {} @@ -39813,6 +39977,7 @@ snapshots: '@aws-sdk/util-format-url': 3.709.0 '@electric-sql/pglite': 0.2.15 '@elizaos/core': file:packages/usdk/packages/upstreet-agent/packages/elizaos-core-proxy(@google-cloud/vertexai@1.9.2)(@langchain/core@0.3.26(openai@4.76.1(zod@3.24.1)))(axios@1.7.9)(bufferutil@4.0.9)(react@19.0.0-rc-df5f2736-20240712)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(utf-8-validate@5.0.10) + '@elizaos/plugin-0g': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-0g(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(yaml@2.6.1) '@elizaos/plugin-3d-generation': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-3d-generation(@swc/core@1.10.1(@swc/helpers@0.5.13))(bufferutil@4.0.9)(jiti@1.21.6)(postcss@8.4.49)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(yaml@2.6.1) '@elizaos/plugin-avalanche': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-avalanche(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(whatwg-url@11.0.0)(zod@3.24.1) '@elizaos/plugin-coinbase': file:packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-coinbase(bufferutil@4.0.9)(typescript@5.7.2)(utf-8-validate@5.0.10)(zod@3.24.1) @@ -40080,7 +40245,6 @@ snapshots: utf-8-validate@5.0.10: dependencies: node-gyp-build: 4.8.4 - optional: true utif2@4.1.0: dependencies: @@ -40920,6 +41084,17 @@ snapshots: - esbuild - uglify-js + websocket@1.0.35: + dependencies: + bufferutil: 4.0.9 + debug: 2.6.9 + es5-ext: 0.10.64 + typedarray-to-buffer: 3.1.5 + utf-8-validate: 5.0.10 + yaeti: 0.0.6 + transitivePeerDependencies: + - supports-color + well-known-symbols@2.0.0: {} whatwg-encoding@2.0.0: @@ -41227,6 +41402,8 @@ snapshots: y18n@5.0.8: {} + yaeti@0.0.6: {} + yallist@3.1.1: {} yallist@4.0.0: {} From cc7e4c1f1e58df772c38e381d87b1e22b24defe6 Mon Sep 17 00:00:00 2001 From: Avaer Kazmer Date: Sun, 29 Dec 2024 21:49:38 -0800 Subject: [PATCH 120/312] Add intiface plugin --- .../plugins/plugin-intiface/.npmignore | 6 + .../intiface-engine/CHANGELOG.md | 612 ++++++++++++++++++ .../plugin-intiface/intiface-engine/README.md | 106 +++ .../intiface-engine/intiface-engine | Bin 0 -> 16714432 bytes .../plugins/plugin-intiface/package.json | 21 + .../plugin-intiface/src/environment.ts | 51 ++ .../plugins/plugin-intiface/src/index.ts | 585 +++++++++++++++++ .../src/intiface-user-device-config.json | 20 + .../plugins/plugin-intiface/src/utils.ts | 102 +++ .../buttplug-user-device-config-test.json | 20 + .../plugin-intiface/test/fake-buttplug.ts | 202 ++++++ .../plugins/plugin-intiface/test/simulate.ts | 308 +++++++++ .../plugins/plugin-intiface/tsconfig.json | 13 + .../plugins/plugin-intiface/tsup.config.ts | 19 + 14 files changed, 2065 insertions(+) create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/.npmignore create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/CHANGELOG.md create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/README.md create mode 100755 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/intiface-engine create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/package.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/src/environment.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/src/index.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/src/intiface-user-device-config.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/src/utils.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/test/buttplug-user-device-config-test.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/test/fake-buttplug.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/test/simulate.ts create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/tsconfig.json create mode 100644 packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/tsup.config.ts diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/.npmignore b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/.npmignore new file mode 100644 index 000000000..078562ece --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/.npmignore @@ -0,0 +1,6 @@ +* + +!dist/** +!package.json +!readme.md +!tsup.config.ts \ No newline at end of file diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/CHANGELOG.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/CHANGELOG.md new file mode 100644 index 000000000..687ce7fe7 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/CHANGELOG.md @@ -0,0 +1,612 @@ +# Intiface Engine v1.4.8 (2023/11/16) + +## Features + +- Update to Buttplug v7.1.9 + - Added Lovense Solace, OhMiBod Foxy, Chill support + +# Intiface Engine v1.4.7 (2023/11/04) + +## Features + +- Allow logging to use environment variables for setup over command line prefs +- Update to Buttplug v7.1.8 + - Add lovense device support + - Fix some device support issues + +# Intiface Engine v1.4.6 (2023/10/19) + +## Features + +- Update to Buttplug v7.1.7 + - Fixes memory leak in mDNS handling + - Defaults to device keepalive being on when compiling for iOS + +# Intiface Engine v1.4.5 (2023/10/08) + +## Features + +- Update to Buttplug v7.1.6 + - Fixes Lovense Dongle support + - Added Foreo device support + +# Intiface Engine v1.4.4 (2023/10/05) + +## Bugfixes + +- Make mDNS actually work in all cases (but it's still considered experimental) +- Fix compilation issues for android + +# Intiface Engine v1.4.3 (2023/10/04) + +## Features + +- Update to Buttplug v7.1.5 + - Lots of device additions, HID device manager for Joycons +- Add mDNS broadcast capabilities + +# Intiface Engine v1.4.2 (2023/07/16) + +## Features + +- Update to Buttplug v7.1.2 + - Device additions for Magic Motion, Lovense Connect bugfix + +# Intiface Engine v1.4.1 (2023/07/09) + +## Features + +- Update to Buttplug v7.1.1 + - Mostly device additions/updates + +# Intiface Engine v1.4.0 (2023/05/21) + +## Features + +- Update to Buttplug v7.1.0 + - Mostly device additions/updates + - Some fixes for user configs +- Move ButtplugRemoteServer into Intiface Engine + - Gives us more flexibility to change things in development +- Updates for user device config updates via Buttplug + +# Intiface Engine v1.3.0 (2023/02/19) + +## Features + +- Added Websocket Client argument for running the engine as a websocket client instead of a server +- Update to Buttplug v7.0.2 + - Hardware protocols updates for Kizuna/Svakom/Sakuraneko + +# Intiface Engine v1.2.2 (2023/01/30) + +## Bugfixes + +- Fix timing issue on sending EngineStopped message on exit + +# Intiface Engine v1.2.1 (2023/01/16) + +## Features + +- Update to Buttplug v7.0.1 + - Hardware protocol updates/fixed, see Buttplug CHANGELOG for more info. + +# Intiface Engine v1.2.0 (2023/01/01) + +## Features + +- Update to Buttplug v7.0.0 + - Major version move because of API breakage. + - Mostly bugfixes otherwise. + - Removes IPC Pipes, so removed them in Intiface Engine too. + +# Intiface Engine v1.1.0 (2022/12/19) + +## Features + +- Update to Buttplug v6.3.0 + - Lots of device additions + - Major bugfixes for WeVibe/Satisfyer/Magic Motion and Lovense Connect + +# Intiface Engine v1.0.5 (2022/11/27) + +## Bugfixes + +- Update to Buttplug v6.2.2 + - Fixes issues with platform dependencies and DCMs + - Fixes error message in common path in CoreBluetooth + - Stops devices when server disconnects + +# Intiface Engine v1.0.4 (2022/11/24) + +## Features + +- Update to Buttplug v6.2.1 +- Add optional tokio_console feature for task debugging +- Remove crash reporting for now + - Needs to be updated, more testing, etc... + +# Intiface Engine v1.0.3 (2022/11/05) + +## Features + +- Implemented BackdoorServer, which allows access to server devices directly, while still allowing a + client to access them simultaneously. Can't possibly see how this could go wrong. +- Added EngineServerCreated Event for IntifaceCentral to know when to bring up the BackdoorServer. + +## Bugfixes + +- Fixed issue where logging could stay alive through multiple server bringups when run in process. + +# Intiface Engine v1.0.2 (2022/10/18) + +## Bugfixes + +- Vergen should not block building as a library dependency + +# Intiface Engine v1.0.1 (2022/10/15) + +## Features + +- Update to Buttplug v6.1.0 + - Mostly bugfixes + - Now requires v2.x device config files + +# Intiface Engine v1.0.0 (2022/10/01) + +## Breaking Changes + +- Rebuilt command line arguments + - Now in kebab case format + - ALL DCMs require --use statements, there are no default DCMs anymore +- Incorporates changes made during the egui betas. +- The `--stay_open` argument is now assumed. The server will run until either Ctrl-C is pressed or + an IPC stop message is received. + +## Features + +- Intiface Engine is now compiled as both a CLI (for desktop) and a Library (for mobile). +- Updated to Buttplug v6 +- Moved to semantic versioning, major version denotes CLI argument or breaking IPC protocol change. + +# v101 (egui Beta 2) (2021/01/25) + +- Add websocket device server port selection + +# v100 (egui Beta 1) (2021/01/04) + +## Features + +- Use JSON over named pipes instead of protobufs over stdio +- Add sentry crash logging +- Server version now uses a shorter tag +- Update to Rust 2021 + +# v50 (2022/04/26) - Last version of Intiface CLI + +## Features + +- Update to Buttplug v5.1.9 + - Add Magic Motion Crystal support + - Fix issues with Satisfyer Plugalicious 2 connections + - Fix issues with Satisfyer device identification + +# v49 (2022/03/05) + +## Features + +- Update to Buttplug v5.1.8 + - Added Lelo F1s v2 support, more support for Mannuo/Magic Motion/OhMiBod devices + - May fix issues with windows bluetooth on older Win 10 versions + +# v48 (2021/01/24) + +## Features + +- Update to Buttplug v5.1.7 + - Lovense Calor support, Folove support, more WeVibe/Satisfyer support + +# v47 (2022/01/04) + +## Bugfixes + +- No changes to build, re-release to fix issue with a wrong tag getting pushed. + +# v46 (2022/01/01) + +## Bugfixes + +- Update to Buttplug v5.1.6 + - Fix issues with serial ports blocking, lovense connect data types, log message levels, etc... + - See Buttplug v5.1.6 changelog for more info. + (https://github.com/buttplugio/buttplug/blob/master/buttplug/CHANGELOG.md) + +# v45 (2021/12/19) + +## Bugfixes + +- Update to Buttplug v5.1.5 + - Fix issues with Satisfyer name detection and disconnection + - Fix issues with device scanning always saying it's instantly finished + +# v44 (2021/12/14) + +## Bugfixes + +- Update to Buttplug v5.1.4 + - Shouldn't change anything in here, all the fixes were FFI related, but eh. +- Try to get crash logs into frontend log output for easier debugging +- #14: Fix issue with intiface-cli not sending events to desktop after first disconnection + +# v43 (2021/12/04) + +## Bugfixes + +- Update to Buttplug v5.1.2 + - Fix race condition with bluetooth advertisements causing multiple simultaneous connects to + devices +- Update to vergen 5.2.0 + - Last version was yanked + +# v42 (2021/12/03) + +## Bugfixes + +- Update to Buttplug v5.1.1 + - Fix issues with devices w/ advertised services being ignored + - Fix issues with lovense dongle on linux + +# v41 (2021/12/02) + +## Features + +- Update to Buttplug v5.1 + - Bluetooth library updates + - Satisfyer/ManNuo/other device support (see Buttplug README) + - Lots of other fixes +- Update to vergen v5, tracing-subscriber v0.3 + +# v40 (2021/09/14) + +## Features + +- Update to Buttplug v5.0.1 + - Better MacOS bluetooth support + - Better Linux bluetooth support + - Tons of device additions (see Buttplug README) + - Adds websocket device interface + +# v39 (2021/07/05) + +## Features + +- Server now throws warnings whenever a client tries to connect when another client is already + connected. +- Update to Buttplug 4.0.4 + - Added hardware support for TCode devices, Patoo, Vorze Piston SA + +## Bugfixes + +- Fix cancellation of tasks on shutdown. + +# v38 (2021/06/18) + +## Bugfixes + +- Update to buttplug-rs 4.0.3, which fixes issues with Android phones using the Lovense Connect app. + +# v37 (2021/06/11) + +## Bugfixes + +- Fix timing issue where Process Ended message may not be seen by Intiface Desktop +- Update to buttplug-rs 4.0.2, fixing issue with Intiface Desktop stalling due to logging issues. +- Add Info.plist file for macOS Big Sur and later compat + +# v36 (2021/06/10) + +## Features + +- Added opt-in/out arguments for all available device communication managers +- Added support for Lovense Connect Service + +# v35 (2021/04/04) + +## Bugfixes + +- Update to Buttplug v2.1.9 + - Reduces error log messages thrown by lovense dongle + - Reduces panics in bluetooth handling on windows + - Fixes issue with battery checking on lovense devices stalling library on device disconnect + +# v34 (2021/03/25) + +## Bugfixes + +- Update to Buttplug v2.1.8 + - Possibly fixes issue with bluetooth devices not registering disconnection on windows. + +# v33 (2021/03/08) + +## Bugfixes + +- Update to Buttplug v2.1.7 + - Fixes legacy message issues with The Handy and Vorze toys + - Fixes init issues with some Kiiroo vibrators + +# v32 (2021/02/28) + +## Bugfixes + +- Update to Buttplug v2.1.6 + - Fixes issues with log message spamming + - Update btleplug to 0.7.0, lots of cleanup + +# v31 (2021/02/20) + +## Bugfixes + +- Update to Buttplug v2.1.5 + - Fixes panic in devices that disconnect during initialize(). + +# v30 (2021/02/13) + +## Features + +- Update to Buttplug v2.1.4 +- Added Hardware Support + - The Handy + +## Bugfixes + +- Fixes issues with the LoveAi Dolp and Lovense Serial Dongle + +# v29 (2021/02/06) + +## Bugfixes + +- Update to Buttplug v2.1.3 + - Fix StopAllDevices so it actually stops all devices again + - Allow for setting device intensity to 1.0 + +# v28 (2021/02/06) + +## Features + +- Update to Buttplug v2.1.1 + - Adds Lovense Diamo and Nobra's Silicone Dreams support + - Lots of bugfixes and more/better errors being emitted + +# v27 (2021/01/24) + +## Bugfixes + +- Update to Buttplug 2.0.5 + - Fixes issue with v2 protocol conflicts in DeviceMessageInfo + +# v26 (2021/01/24) + +## Bugfixes + +- Update to Buttplug 2.0.4 + - Fixes issue with XInput devices being misaddressed and stopping all scanning. + +# v25 (2021/01/19) + +## Bugfixes + +- Update to Buttplug 2.0.2 + - Fixes issue with scanning status getting stuck on Lovense dongles + +# v24 (Yanked) (2021/01/18) + +## Features + +- Update to Buttplug 2.0.1 + - Event system and API cleanup + - Lovense Ferri Support +- Backtraces now emitted via logging system when using frontend IPC + +# v23 (2021/01/01) + +## Bugfixes + +- Update to Buttplug 1.0.4 + - Fixes issues with XInput Gamepads causing intiface-cli-rs crashes on reconnect. + +# v22 (2021/01/01) + +## Bugfixes + +- Update to Buttplug 1.0.3 + - Fixes issues with BTLE advertisements and adds XInput device rescanning. + +# v21 (2020/12/31) + +## Bugfixes + +- Update to Buttplug 1.0.1 + - Fixes issue with device scanning races. + +# v20 (2020/12/22) + +## Bugfixes + +- Update to Buttplug 0.11.3 + - Fixes security issues and a memory leak when scanning is called often. + +# v19 (2020/12/11) + +## Bugfixes + +- Update to Buttplug 0.11.2 + - Emits Scanningfinished when scanning is finished. Finally. + +# v18 (2020/11/27) + +## Features + +- Update to buttplug-rs 0.11.1 + - System bugfixes + - Mysteryvibe support + +# v17 (2020/10/25) + +## Features + +- Update to buttplug-rs 0.10.1 + - Lovense Dongle Bugfixes + - BLE Toy Connection Bugfixes +- Fix logging output + - Pay attention to log option on command line again + - Outputs full tracing JSON to frontend + +# v16 (2020/10/17) + +## Features + +- Update to buttplug-rs 0.10.0 + - Kiiroo Keon Support + - New raw device commands (use --allowraw option for access) + +## Bugfixes + +- Update to buttplug-rs 0.10.0 + - Lots of websocket crash fixes + +# v15 (2020/10/05) + +## Bugfixes + +- Update to buttplug-rs 0.9.2 w/ btleplug 0.5.4, fixing an issue with macOS + panicing whenever it tries to read from a BLE device. + +# v14 (2020/10/05) + +## Bugfixes + +- Update to buttplug-rs 0.9.1 w/ btleplug 0.5.3, fixing an issue with macOS + panicing whenever it tries to write to a BLE device. + +# v13 (2020/10/04) + +## Features + +- Update to buttplug-rs 0.9.0, which now has Battery level reading capabilites + for some hardware. + +## Bugfixes + +- Update to buttplug-rs 0.9.0, which now does not crash when 2 devices are + connected and one disconnects. + +# v12 (2020/10/02) + +## Features + +- Update to Buttplug-rs 0.8.4, fixing a bunch of device issues. +- Default to outputting info level logs if no env log var set. (Should pick this + up from command line argument in future version) + +## Bugfixes + +- Only run for one connection attempt if --stayopen isn't passed in. + +# v11 (2020/09/20) + +## Bugfixes + +- Moves to buttplug-0.8.3, which fixes support for some programs using older + APIs (FleshlightLaunchFW12Cmd) for Kiiroo stroking products (Onyx, Fleshlight + Launch, etc). + +# v10 (2020/09/13) + +## Features + +- Added log handling from Buttplug library. Still needs protocol/CLI setting, + currently outputs everything INFO or higher. + +## Bugfixes + +- Moves to buttplug-0.8.2, fixing Lovense rotation and adding log output + support. + +# v9 (2020/09/11) + +## Bugfixes + +- Moves to buttplug-0.7.3, which loads both RSA and pkcs8 certificates. This + allows us to load the certs that come from Intiface Desktop. + +# v8 (2020/09/07) + +## Bugfixes + +- Move to buttplug-rs 0.7.2, which adds more device configurations and fixes + websocket listening on all interfaces. + +# v7 (2020/09/06) + +## Features + +- Move to buttplug-rs 0.7.1, which includes status emitting features and way + more device protocol support. +- Allow frontend to trigger process stop +- Send disconnect to frontend when client disconnects +- Can now relay connected/disconnected devices to GUIs via PBuf protocol + +# v6 (2020/08/06) + +## Features + +- Move to buttplug-rs 0.6.0, which integrates websockets and server lifetime + handling. intiface-cli-rs is now a very thin wrapper around buttplug-rs, + handling system bringup and frontend communication and that's about it. + +# v5 (2020/05/13) + +## Bugfixes + +- Move to buttplug-rs 0.3.1, with a couple of unwrap fixes + +# v4 (2020/05/10) + +## Features + +- --stayopen option now actually works, reusing the server between + client connections. + +# v3 (2020/05/09) + +## Features + +- Added protobuf basis for hooking CLI into Intiface Desktop + +## Bugfixes + +- Fixed bug where receiving ping message from async_tungstenite would + panic server +- Update to buttplug 0.2.4, which fixes ServerInfo message ID matching + +# v2 (2020/02/15) + +## Features + +- Move to using rolling versioning, since this is a binary +- Move to using buttplug 0.2, with full server implementation +- Add cert generation +- Add secure websocket capabilities +- Move to using async-tungstenite +- Use Buttplug's built in JSONWrapper +- Add XInput capability on windows +- Add CI building +- Add Simple GUI message output for Intiface Desktop + +# v1 (aka v0.0.1) (2020/02/15) + +## Features + +- First version +- Can bring up insecure websocket, run server, access toys +- Most options not used yet diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/README.md b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/README.md new file mode 100644 index 000000000..a02830394 --- /dev/null +++ b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/README.md @@ -0,0 +1,106 @@ +# Intiface Engine + +[![Patreon donate button](https://img.shields.io/badge/patreon-donate-yellow.svg)](https://www.patreon.com/qdot) +[![Github donate button](https://img.shields.io/badge/github-donate-ff69b4.svg)](https://www.github.com/sponsors/qdot) +[![Discourse Forums](https://img.shields.io/discourse/status?label=buttplug.io%20forums&server=https%3A%2F%2Fdiscuss.buttplug.io)](https://discuss.buttplug.io) +[![Discord](https://img.shields.io/discord/353303527587708932.svg?logo=discord)](https://discord.buttplug.io) +[![Twitter](https://img.shields.io/twitter/follow/buttplugio.svg?style=social&logo=twitter)](https://twitter.com/buttplugio) + +![Intiface Engine Build](https://github.com/intiface/intiface-engine/workflows/Intiface%20Engine%20Build/badge.svg) ![crates.io](https://img.shields.io/crates/v/intiface-engine.svg) + + +

+ +

+ +CLI and Library frontend for Buttplug + +Intiface Engine is just a front-end for [Buttplug](https://github.com/buttplugio/buttplug), +but since we're trying to not make people install a program named "Buttplug", here we are. + +While this program can be used standalone, it will mostly be featured as a backend/engine for +Intiface Central. + +## Running + +Command line options are as follows: + +| Option | Description | +| --------- | --------- | +| `version` | Print version and exit | +| `server-version` | Print version and exit (kept for legacy reasons) | +| `crash-reporting` | Turn on sentry crash reporting | +| `websocket-use-all-interfaces` | Websocket servers will listen on all interfaces (versus only on localhost, which is default) | +| `websocket-port [port]` | Network port for connecting via non-ssl (ws://) protocols | +| `frontend-websocket-port` | IPC JSON port for Intiface Central | +| `server-name` | Identifying name server should emit when asked for info | +| `device-config-file [file]` | Device configuration file to load (if omitted, uses internal) | +| `user-device-config-file [file]` | User device configuration file to load (if omitted, none used) | +| `max-ping-time [number]` | Milliseconds for ping time limit of server (if omitted, set to 0) | +| `log` | Level of logs to output by default (if omitted, set to None) | +| `allow-raw` | Allow clients to communicate using raw messages (DANGEROUS, CAN BRICK SOME DEVICES) | +| `use_bluetooth-le` | Use the Bluetooth LE Buttplug Device Communication Manager | +| `use-serial` | Use the Serial Port Buttplug Device Communication Manager | +| `use-hid` | Use the HID Buttplug Device Communication Manager | +| `use-lovense-dongle` | Use the HID Lovense Dongle Buttplug Device Communication Manager | +| `use-xinput` | Use the XInput Buttplug Device Communication Manager | +| `use-lovense-connect` | Use the Lovense Connect Buttplug Device Communication Manager | +| `use-device-websocket-server` | Use the Device Websocket Server Buttplug Device Communication Manager | +| `device-websocket-server-port` | Port for the device websocket server | + +For example, to run the server on websockets at port 12345 with bluetooth device support: + +`intiface-engine --weboscket-port 12345 --use-bluetooth-le` + +## Compiling + +Linux will have extra compilation dependency requirements via +[buttplug-rs](https://github.com/buttplugio/buttplug-rs). For pacakges required, +please check there. + +## Contributing + +Right now, we mostly need code/API style reviews and feedback. We don't really have any good +bite-sized chunks to mentor the implementation yet, but one we do, those will be marked "Help +Wanted" in our [github issues](https://github.com/buttplugio/buttplug-rs/issues). + +As we need money to keep up with supporting the latest and greatest hardware, we also have multiple +ways to donate! + +- [Patreon](https://patreon.com/qdot) +- [Github Sponsors](https://github.com/sponsors/qdot) +- [Ko-Fi](https://ko-fi.com/qdot76367) + +## License and Trademarks + +Intiface is a Registered Trademark of Nonpolynomial Labs, LLC + +Buttplug and Intiface are BSD licensed. + + Copyright (c) 2016-2022, Nonpolynomial Labs, LLC + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of buttplug nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/intiface-engine b/packages/usdk/packages/upstreet-agent/packages/react-agents/components/plugins/plugin-intiface/intiface-engine/intiface-engine new file mode 100755 index 0000000000000000000000000000000000000000..b42694420625fa14acfb9d2629873b8c8049adf0 GIT binary patch literal 16714432 zcmeFad3Y5?7B+qZxe^q-Q9+}k21UgUqJl;dO$ca5f(Aj13nqwQ5CnuoP(Xq=7jtdf z!9f%kFybRXyb80!&)o=Xz%^zKSzLd^BpRW_H197eD=JSPo)p+vx_Qz%5DlRU}J!{xS!_GUG zv59{viNO{_#FK$Sii<}ND;k}cMDwpnjPz;Pk62z^9cXcJ*@W3;v82iP>V}{)0H^;D zl0*#e7EA8)rTQx3gT=)&%gQgC=|v^u+dOcg;Je2`;)dM}X%0TO48>PmI$_H62{Vu= z8Q+xC6km@$6a&NLyZ6_OzAMI$FP<=a{DkRc#bx6zOU74mmg2jl2(5@eh7<64i1nek zc>J`fGh+-)#^zhqjA zi_6=@ck~g8Z%+q_8;-{r{|tOnXHA-VdGVyF6Q==?OkcKx@6qR#5{8p$O2jvzw0Po- zaaT>y*kpY6=Z{N$H}}-`V3@kq+8^~I8vX|Yyq9iQzHvL=Bp%I^VjiridI66v#{pG>}G52cUcw(1Fd6XP2;xxS6v zUJ!g04)Ymq3m^G58)+4fS1F$_NAY-Cj+N&;`Hl=ua*^E~4 zZBEnt#2-%=@tmB%x68+sjdRlCmQ3GfL+L9WqiGn9#}~_~Pq25TGbW6?y!e`NGiarf z@nzrZ)Yn16a6GorGYxpjkDMmCI-%1BxRUDGIN8jGf z@Qt5#)m77`y3xt_vK~_U7R4#4V_GCjTvJH6xY!}gL70rMZl&TYbOi$G;^|Aq7wZoT z^3NGQY-qltt-d;^9V$-Kk`U%!-Psx@o_Jh`!c=ETf){)_B@o-pO}^~7f@dGL$yap% z5}dxtSN-2qAFG>zYt?IwzK@^w`O*%5$G7hDqkZf~3UTr8gZuS*C*bovw%X?#5MQ7s z@qX(Le8)F3j)yLQb~O_hwYq=#%o+WsOuDT9<=0NR9AW-(d_X#OzoG7=Ez3{HT%G-u zdBks>cAkK^Ok7$da;J2cXQ@)kfX+t)Mmy#H^+o-Or{u`^*3)u}5Kowrw+~RJ`1+5! zc4paxtNIsAx@^X{8Q1ndlO}l9v>B6U_Rl|e_@uIaVv`xsf6Rm#Gbf>w>z}J2DU$Um zjmO(`A6oqOw(#ann=#?cY2{O)DL~h90f}jVpXJ2UKmFjHupGy=RZi~o>8(^CufM_^ zyd}7Md=dJOO=*KKZPT9DKL&U3C-6sFuT8$Q?n9=OPbixQR2B7>U%SY$V zccDwnX{+5x(OEObO)s4^erC&*#ixiXCy~A*F}zKrPer}oka!A7A8oSBx6Y@10L5vO zZ;B>w+SG}Yt|*_;h7h-qP~^BIuDp!XQor6+c@xH$&zMwpZOgnEa;A83HP zB(&2c3{|h`cS1ZHd`BP^?MU@OjlRC~eZHfdaN|9VK06D6j=v5Lba0@9105Xb;6Mil zIylh5fesFIaG-+&9USQ3KnDjpIMBg?4i0p1po0S)9O&Rc2M0Ph(7}NY4s>v!g99BL z=-@yH2Rb;=!GR7Aba0@9105Xb;6MilIylh5fesFIaG-+&9USQ3KnDjpIMBg?4i0p1 zpo0S)9QgkQ2hKObpXXkXJ0|!1+|i?q1z+>!Fry*04~au?2VSl-!spi+;UA3fhQ7Zw zH3in3nQmC!(}x2vK6QbS(%7`6z&z0~^U@{;*FDO7fyz(uQet3j)#F5B&CICJJHR(F zJUkJqr+5xj^! z!kn0fP->sRE%zXZ$Dw^nMwnC6@ifdAxaCGf0vYoGnPRa@1ZSuSH#3y6v#BXOY+Yb& zs283lhKD^{VAX7mAiY&n_kB~-`cv?-X+ijB`@roXP@b1*gokY|2+zqZ2#@bu5T2Z6 zH01HEJ1ItKR{VK6MtHbk4qF$_D-5h1_Uy!P-e}|>gZwM&^Tq(zoC_S}+wJFm3i+aa zT=Z_Tz#1gCy8oOX$JqM3Lf^!OJiH^_kT)^~f8ZPGe2#CI+UYl3hqelBLj=PP%>L!4 z6tr2W6!al~iV+@FgyOU7^UgN;R}=QK-f{^k{X80$cr71o;R_m`F*Wc+5i_N|oZmp_S57At^2#s@9Mc z7Y;4eP@>E%Qi`f@`x7!V(vg`jab$|iMU|P!keTuEGDD0IO~tP=12TmM2o4^FxNu$( z9);>~UWo`*sUuWV+~%pzn~K8bOk1y|Z?`9*^!mI~ipvy=%cN%F^6~r@#pUH6;>4wt z;xb*uMMNCmpf&m~;KU+~Du~ z1Sfr;uuQN$C-6LWwx zB7hAdm6FEVAmU)vFth!y6BhVTJ(ZA2y5EHHbx6(#q2qvElU;Y32Gnv<{To z{xD2T!!{eHPf~R?%z2ybHIJtFfTM4LIleDcqM%PnAk=ktsEt+Dr*FPFw@+Uq)Kq@3 zeel=w!K8-c>$c?wo;)3DUsu-Ep7bpu&3Se9knbtb{*A>iAnY@qA#?CoVFWk+VT2k3 zl}o$A3Vro%2qz^(ZozXsM9(lsWx`JMg`iFc!bWrq(;Fa{_%qDmSw?tq4qgm5!mACr z1qc%SdxdAyicZ^iv>@3$z}~n0pTT$8j_O3OX@VF)U6iE!Zqs{ z8D6qVZlW4S*sNlK;M-{BTX09Gz>V8cY=Jc})cFNpF1ygmxJN`x%m#k{TVWE;$ zZ4??dS=CnCEvVWbUpcDw-nXJ^V=ie;)jokd*z?~OReK-L^%xYysTy=aRIR816jS_E z)%t=Es9KiXg4uF2b9hr#GxRYB>QktXR5j5>tM)QUPEFzyG>M{5O+sNaOX`E;5Tqta z^6-)h^3+_cC|3)*aLsIC^pfdv%PYkQ0iBEgZzJP0BMrxtKr<%$;xq$h&(n%pf6=EFAxWsA@c89JP{B zf60=lr5Z&@q~;_tw62w&C>&Gw%Pe>=StKY8fBPgWg8)wlZiAL z*11`Rc|len{VX)<66uA)()$JWa{IYh2k1ZjDbZYZ-RK$FyGjSx5ZZ!Apa(wx0V6Fm zdT6tzdEW!5-svzMeW~CGYyW8Ze|l07OaEx;h#Y+}M|kLqag$=g);7kVpT*6-;ib8d zF$xuU6B21c7M5y;M1D+5rO6@h+^L>HtISkNz_V;J{eZr@) zI8z6`uAmMZnRrx$1_rN|R5NU(<56m4E|D=uxG>EK<3A7M-A9NVR zcXb8Hb|w)^ak2;}5${GqxUbGYyF|Kz2DEADceH8WWzE{Oyr$(g^#fHq+w{s+yKd7n z&;1|Tw6`K|Pn$m8z&2%<%Qk&qtUzdow&`XKarOe3^tF&w4M|_?wf-umG_7@#;ZL>x z9q4-5`Z*|ATmQ$QPU~L>SphO3B5Y*iQ78x-&>KsN4;y{)_&=Ja?8x%NPj zkfj7ANyyV*iiBiQLKgP+`Hrv4x90Xq#|WXIPgZXI&^|>efi;+bZnvLK@h6T1^EP4F zZsuii)E5YyNW)^y$+ACOpW=%gj!^5UCMBcV@j^VR6=HpW>QNPGBOowV&oK~z z=MF;tQ+|RHNsqcF$1(?T6kA`64#-E&-H7kV(*MR7uPK z#uK|1U9+HN(H*#gnH{A(>0dxP8%Tv%(D^xXMY{=!2z61aGm*nKnRG;4()9^RKV)%M z&z~Mg(h?>;R7f4{*Z9vLbt^vp0|5PTcxEKvxlPmmj`Vg0@%#(jo=e?X2}vhu(zlrO z8)AI|NkR2rhYKk)ydt-~58z(`jC4C0KL%Po(uq&MqtWui^^qc+LCO2iU^MR0LN_wf zi)r`64`Utx3f>QcYVcmE$s@~&`bovreBg6lHKYb}4EvW^NOqg%aV9H)(Dw(?1~%E< zAX|~o5wJT!GKhVVLsW#=Z^IF7h-{Ai$9o;@cN04%IZWnZPeop0e|#gb{|vJ22f))< z3Y{!v*2T;9a1bFX^2}Of8cdR=u_1OSZdY{fu10x9gpON zXTJNGZy3@34f&$;5^{3Xb-Pz#bKI&hwRZ1$VOT9dj^goHN>2wr}%x z?zTJyuu+<{ul-m#laBP2?c>_Ea^lFcQ`eC3SWNSE!rXMT{j}-xMJMZUyM8zwK6P`QaBW`k3fywv5GaP#NLiXpbnGW*etx!&RQlkuTq*D?TQ89 z+*LB>*iUXj6V;wFl$*eEHvesdj>ad!+c;JOn@&iWFtqu-GGj>>`-SU z0uEB;l(F3|L;*pG3Ir;T0Hj_fGARXCZB-X99oDk8+lM1*fi=0LAiUMi`zck2i{GFd z%QXX7^9cUZojhcz!5zB=Dlub3v0Vb8myyH_E&{f&EG#$3$`bkl5F-^ftR-BeDhPjT z*8;DyCN)rbD>7nsPo7Y7?yY7Hf7MWTdgKoTr%ICJM*p~x3kSnw;ou^~xeEv1fvqw< zdIt}f9({}(=0y3poz^Q*d94IZ1Gg&6N7=*N2LY@%?cm_sG_y4%LvhpW%aFO4BNEIX zI8;YUj?b$?DadUG&jutM>V)UO+Tb||Obmy16PfmJ&QrSCBoDIkoJ+%;b%gLVq{J|5gvM}9rVv*nG-8EMLqcP?CS5}^oiH~jjT_P!8Lsik z&9X%uLfhoFWCw2bp<@7Y8^j(u1s1!Ee76Q>e=oe%MVYf$GiOoeNywP+_BK3#xA)Wy7UAnpWX0!_1TPUcvUzm9$7RV*&3sl}FlIblhBF!^A!Ve3g zL(SEib9Ip-$N|t!J$eC=FF;Hg6DNhOtht!5ynQR!WvugE-+J36&K&?x)R~J4Zm4JWfD|KL z&wqlsD6kG6y-j3sXdhAZEr@i5@efxRKUQJ~A`w zoTX9TD!~Of+%{=ON$J9Tx&$|@5|lF3Aifh+3~6=V9u7&%TmG9?A~GBj0kHh5mGBZH8;(M5oeJHCk{tJ! z5pj@jf$S87Yix>;<==L%w4_*VPl}{L8$xVsrzN$eMN#c}Slf!s0RWPn4=&li!FR~@ zuXj;UzIj?7*4lVLYyE-~=heCfCN;U%6eGwsZj^0?AltYp;r^SecPYRAjMH1HHR?&> zgL8^fiRz|kbyYA`VjZPv5N&a)D@GD_nu2@Fnz^t5HPk#h!1gjs=^-%j#vo|q04!OU zHM8S@wEYSkAV9JEaOH4hU9-qZxVxs<$5UKeH7f#_Y(kkW30K_@{&Lh>zl-?TU@nlr{ zc~Y$vY11OjJ+&pCpwmjQNG@wGy}RA4i9Q93G#dRdB;j5gb-waOt#c0IoI0<)SL=M7 zMtOCfD+9WAS>bn-!Zzz%bxM2ceC1v3uJg}NqRu6qq|VVVQ0HqFYMuWL6>;jkX}Q+9 zQKP&%KZx$EowA>!6t-FC+p^nJ=WFh4cbz+<&hX=vaAoDJFP*vHB`_0khQL(g0o8Ks zlrv%bqaggf9YtETJebcND`rJg0nZz-JWl7I8VEWz=c&*Cgw3&#$o7Sr+nj=Bt=JsS zvfIh`ZA*nqZSuX>$u036qqW4Y-mj?I)7Ag=3ECX4ndoHd1V1NJPR9|q*x+;vXcwpN zC@_Wp`N2N|<@>Gj8|H{rRVk}dabJmh=g1eLb-JXXE%ppXL%R3m5h6x!BArUBy~%sW z(kK4Mo`K56Y|yZjht{{HqnD1wMTvg@g8^|JOO{B$z<+)gH^S?MxRyGWRY+tX7}Q4o zIi^~rcWWDemZVx&h~-T*Cv6RH&`L6sv;4Q;1>p#XWI|{8-@ilKom~>f?6`qI*&5@G zi$anSV|Gom!%YLbswHyh6Pp@1BcP@wg1Am$l4MsSpqn3)5l}YggU$#j3(q=)IrkX$ z>Xgs!vi8O&`{B71bpQAhU9MwX-9x!P>(e-{b4y%HTt5$q><1S#Gicx6*|I^KCw4HA z>*Puso%y}D?^>}oo!F9MwbpSxc$;8skA9u-C^(C?Ff^@w&E@1-Z6m5;U&-gB^-qX7 zq7v3WvAPd)$c-a*>E@)Z5hp*)QGu+9ipex5mtep+qNIG<2&)|Xi{{DpqF(m%4e@&( z%J#?)zi99A@_cC2m-gqc(ShW@+!>W6Z!W?k zwld`w%8*E|He-VWR-4bnvUEh%Z}1)`py8~Z!xy`rpGnVSQGXBFL^}A};|2JT2P`1) zTN}u&!EY+?D72+I%lZ@erUIW<;AdXWy$O6;fp;jdznAl;=K#Dzf!8VUA}{Cr1YW1W zu?n2v0c!~ytH2xuuKcS@&~gHE6nK~d7kfDu5O|mZcT?c)Ue3!2+zmi+Y(@SFNsDae z&nx(e4vW0VXMQ6rvYrtGq9;VSx)ynqKY!!T3jQqP&r<#@mN@8eB+REu{BYskSq++S z9pdT;n9QGv{Go>>GMzscFnAz;_T|rB{K@0b>HHaiBtR7z2WolGbME^(cfa0Ug$Pte zzeKgR^5+j?heyj7dHD;;?0KX<0GPVc>u*?Bd=&wE?>cejxN7%93362u@CzCi<+|G* z1C={Ska~Hx+7}<;_eH)?5;@?2xwUVEvm^3PC^9*Ki5{gB#|G5LVJQkv|50+_oqi+yg<9xJT9^r7q5ZE7FpTDszG&Ej@ReyWQEH7G+cYHI z2%nv?D&_c>qJA-&PFf?pdsSY#vEaoWJ$=55b1%sqn|o<)@z_oFO~6+%=StTZ_ee24 zY*Siv#?8Nh&bZ00GcNNYCY{vW88_=LF{++3Zq^hK|NE!hZ(fQVSH=0`9xbB5y~-E4 zmV*4pv!ta|{c+RnCIB6Ooa~(N=APU}VW-^2Qi5C#@Bj?hJMIL);oGx7QBf;9Ok{|_ zL5JONDfz40PUzpe;6f1|3^f%KH_0~Iw=QtI2D%g*?I%l6i%TizR2_#J$4R$MLp!L{;l;Lw zwrOaKhFBW(UWT9H)$cPhyjaS!)Kg=vUaFCL3vwM1PP&zHTfK@mOLv{A{p3j6zWSIr zC*74u11BAwLGC(C8q`x3b^frs{ewktEEJ?S_{ZR07Shf1;o<+kr{Se=WIiToI`{^|2>MBK$1FGyx z_FO<@)2X4l@bAz1>5h3fPSunAbb$q;>O1W*3l;Y&we^-dCUI^M@*RWv#l-vu{Z8=N*a=k zf7(yC_d>x~N}=_Z1*8cYWT63emj+Da*Qz1Fz88yE5mWti+hjf1f6rkqZ!wMM`y|lw zOt1>mJ@v;|BF@$Gp|E7)9^*Iv;2wjAgQmDB9>-|K@#9-@ICA1}v}B6mr|SV6F+bgM z^b#Os>zi>%ZbF<($o=S{gph@J03nNU!vyaM6l$M+wYKqC%r#s;-R)s*h}BT z{uSC~OZq1s_GcCsTtA&r+3v-Ke`1Ns_0!!4F4?1}Ypvt`bk$W_>lYvi^xb)~-O!Ef zN?cN*7`5T2`%GyRv(k#6*+2czmTHaVI|?8CbYfU7|Aj%Rt_r5R&?T}D!G*TCf-8zs zLxBCoU9w75!YF5&!dZzqmY?oQO;IhlTlCWzl0xS`+zy9%Pfz$| z3e45gQH!h2e4ka6VW7I|7C|H-!?Ncf-c^@d>$&O*`^CBHbjT?0B(QT7Yb&qz{TWx? z*XzYqM;usO<*>7LSKW2{weG4r7<&t$&^I398ikmvZt@$Vi*38=&O{>nrK{paQC)RC z7siWXoU870n1*CgWJ|QMx;JUTt`+d}Ls}8VEkKTSSuVPwqOVu9Tk|enN>P+ugWjx& zqkj9XgC{QP9CbDXQLTcy@H*;QxCm@d&I?LrQY`V)2j=%Du0`T6VHUFU+^ zW3IZKS5W6yuGBimx#}{4TIWWw!?7X8)9BIKDf>&5!ZzDE(yKjneq~;}>s+)%Ty>ZM zHre;Q^5fzNb3SvzKHBi@f@_m?csZG9L zePBy`Z|17IXl}b1{^erYoS3Wb#t7$Aj;k(i$)TODy41*^Z)gTvan%tqdK2kXT6NVO zyH|T$b^Z2_>sTCD-O*@2Z?xH(tIp3xo_>Wka-6Gf!+dSy&yrN@n$+e^+|~#Ott68< z%OAZSIm02D(^>xGw6WN0wCbvpjBU8;WK8buzj6jaqpuSwXwM+%<6C7A)UvDYfj|qc zx~39x!M|=lm+LWC-K!08TyM=)_ctW6f1S|Gpq+Jn%LeUc47uB>SU)Ns+ElEJjFuFu zwT|o8+3nV^8yA7IR_#&6auQ^0Swq5Rnl!I zOUks4k3XH{xtoXOXlG>*#sz_8HEFWI6+3fCcps-{MrNlmB0ZC+)shi(6s8gD<^P21^(Jo&>rmpiwOMn zRYCia0?R$%AOb&9V4VW1y)q9buug&ZEASBym_p$F3S6kbZ?AC)`fLS&3l%s?fggA| z8wi}Fzybw+=;eHvzybgxy|H~M(u+U)@n>)Rz;m|;pLgR=3L^$YeuZd8e!@?*Z-kqW zBN6_5#-IQ4hi|q;9>y#x<^U8oitgin1Z(r+1B^VybdT|89uv>zkGyjBEuSL%`HVj| zF-eF&=QB75Prw(+MWgagk0kHg;nw2)6TQc&2X^QoF7gt8{z?@7S0t(D9;*d}>QZcC zvGH*P?DHRRop+*$Ck;cc3kWz(0j|R+P`MQdJ*Uy~-Ti1>#?Wu1&bybVA#XjDlW}H^ ztjAyuc@-ULFzY&poPdnciz3wF2%IZS>rpqvp>AXt)D0vNYbgnhNE^KRCy3shJ<^*ngeqo81n|D>7A1~6TL^`Yq0M`ZJmi!v`F*@SX8yj~$0-_|X`JmzAYW zUx!fE2Z;-D!?Pn_P@&D|42r#Zdm(O-mwU6^H4Ev2f*6FZ-iNS-94ACZ94hGuimdCe z>C&Ba<74S?7#S(>1uFjnU|{X4r=&a%Vk?-}Fw@nkG5tgY@b)0~I@{k~*#+I_hS@qS zWt8mmf^FcdBMqTa0Fak^rKY=&mj9@I^=1mtukl4b2CjT_jrhS$scfWHnW0g)OC_hk?2;L7C715a^RFIfk`d-ZlH?35gyx&e zHR^GRdNc!3*76LdvK}IYI2c6fow9LrkI2Y3Q~N}IJBk?OTro6)V6d?akQ8;b@O}-! zXbut-`4So7psHr&aHNIQG05WJe`LD)Ad~sL<_KM_W7+v&3F67hS+U1y?xS_k+datD z&d-BXhpSnBhpRt>1Nq?wqk-iBLkN2VK1FB`#6wi(vkPU%e}Grbw0wsw$>Kt*Dq=J}gp zukm6UL%y=TIgmqhfonc&A@ACcRbD34YwMs&OSuKm3{^0DI8-g6VT}dmI-)NyR}noF zF}G>oeDfMPFRWX>IYy2PJF+vI<==tOX6RU3RI3I<#ayLq8kqr=goV;NES5T$<(r$% z%K#@5$o5ChJC4{rnhbNPLsJvpR-UOO;Y=PO>9$TF327_VZ9{3k@?i|X^oW9(vrG8W z#_>2TZ@PUKoFeiHSmkwS4(wt@va55zZ;Aca%4bt2SaD+aj z(yFqH-J>GA{s$)u;zbhDB#si`9X#j)Dh(!CvWRZUn=tkXSoPA@s;&mKz+6e*=LcVe ze6JLl3RkoJ>MO)RIg)D+|Hq-QZ8eLS)?C7zF68*eL$SxeA{I3~VIwuSVnZ#$zOpX$ zq5N+_M}BZ#hOcZyzEz&Vd|-`z%C-s+qTB+}tOD#1c?UbhTiB9XhMlUb23a*^gnbDL z1;X4X{QWixmeA^2iHDd1%FC7wRASD^3RDZNp+=e>oL#4( zIt?w-&^irKBA~;oG*qFXl^PPEfqrW!kqvA~?QTVwY zQwg8#Uk09gGBLYJSenR;>5PO8=grz6%$Rl#I$VzFW39p0P-CsJQbSH_IIpi(fl46K z!v;f6YdB&k@`rv*k|c_uKV>)9(!dL|Q`U+Pn)hVP(%5kh(GM{|7KiBbcz{FnRop<9 z$O;;p=*^JG3JB4V$O;-;Ln13scMXZGKp!+DvVtWs4T*H%U1O0IM}btG95Kr z$uN+tCIaWpkc{&$0i7>`TZ^Dm^}(MM)gx-p=fV2UrgEWXeDV6_uPSIUVTH?FE6j#n zjcBk>x+WX}j4n-v@DtIGaU-7E*mIFXY%Fsuh|eK!kj7_9N2X|B+8mS%g0#%?o3YIY z=mlN*lMG1Cd~`~zk)y~*05yi=%hn+d_s}!AR}K3|E)FJs6pz@gH3nE2d|ZP?2m+_! zE6W0j2CGXF{}YL;lWFTlZ_b0+#nNX-1q2hgfi!rWS3hqw&!D zEWfj^5jwhB{i`GptwyJdV$ta?Wh7)uVF_kMPqqwOebt^;gAYiVr6DcNVljwJXJpvo z@gCHZ`U(mkpAA1q`lob?NoD?w49uZShy zSze{|l?c(HI)zdC0BckjTNnA>R~VZeuq_H>69BeNVQd?~b|8ce5osXWlvak}!ZTWi za)*{VO+yqrgihDcMH=PP}&_rsZ+^-Lf!o5CJgkPWi?K3jlk#u}>>xskyJIRj7S!X3rdQI0JC{S$y99BR~1 z%>)_mil`wIA|W^&;cUaBlV398kUZwVmKZmUC8s0+RSBimQsn@5B;>!OL=aC`m?VL~ zDT-At3LK@u7^{W=J2Hy{>Ch^)2u#~jJg(HoMR=^%$0|I^03(bJ(bPe%)3GLX!H)L1 z;~Ftzv(6?vHOf^_?db4E4k?9hL%vX_z7qPs>vS;~AQq?Z4O`Ob?kO$mzBOFM>YLg* zV;G_#Lvzj6P>zPCYbaYor5ei8P>F`(dTbPGFcRD16ejh-8JY;O|Hh0jt-Nc#H9yA= zVw{)1pn*LEm!>}}xCA|X+}lo@iZQZe$85SN;3VIBg9P0-+eXkcEW&>Owj} zR$a&xLVgDXz1#xGN|m!HF>nwC(dov{+OYt~10Le@>5+kTNN&%>Yu1r>5NCv!Io5uu z@XV?f4m!49mtd^H$93WeyZhkrHCVv&Z!aeDCCvBSF~s&c4oHbCBsOdC2fy8nThA3p zBUIW|H_?m?{!Zg>Vm#Kl;O|AeJOTKQ0{?j_4&^ICeB=}$bAf9WxbiXp2NBpS4tSRW ze;5bg!2~ve+gj1tEafJ=TOEla4jj4_g5z;0ES1oX{_vl{p?WW4HZzW7#-|WhU_HpL zPjO}tbP_>#0OU5q=R0qXKmSlkGFTZC2OC7DASo(o`-F)Zs0Wz%62M?0t*0`v+CtJ? zP3i|iFmVIYD6_`nD1b;G2hXnpd>>7$z%vQ#0$?;Fx^J{cU5pYmmJ@S)rpHsh zms?pTu#W~=MsVIbUs)zo`r=dW>7<;u&hE@)ri_xY_7tdGp9u=g8W{_5?)osok~(q- zbe|MNRxt@5esmt3Rjxqgw~|>`x*pz|3ZEAuBAZaD2#pIf(Vla{##Qi75vP{s145lT zA3qc<;RMG165_!;G-Ah`4=L$tzvD#FEa?hOr^x-84n3cO!pPAMnI2J-2*&bTbc7K7 zf!GcbQX|7eR`N_qA}XbA`pvf>J`1sti<}m578e7R2O!p6V611duFTAuIrNXb7?kc| z9}P;QE`ZWvH=YiB97{)@6t$og7oJ~diD>Aq-K)TAE@%u-p$}X!r!LWYpomOlDcjBG~(i5%hz$?+P0TM zZk?s;@<*bRC-!r_Z4(!5@7$^UZs-vUMuyGyfoEOfdorc6t~?Yi4;%u7=rm^mh?O;g z?>tlCfzUX_9$yz7vyK(rzA>fj98}O-6;F%&urKA;T>y7hJ9LfQaWurQcF6gMPo_q@ ztb^eCp6ryihdLVQ#Dk-uv#WpZ8e?7>JP+xJ)wP~HEKk;QEy6yv4~y-L&hs~Fl#xf z?HZk}oP)F7ysZA ziB+l!4)LvlSAa-NtMvtfDTs5aT-C{;l5ZD-O6gfF|9&10RP+jfP|+Wj$0|A+Q7($h zQMy$0EIa_kXwrsr(7t!c0E(Oaf}$}Fg`UHx-+CB|MMpt#7#@IP0B-1gCn34rEmtQU zbPYNy^cP;JlMeb#<0l=AI@U1e*=BUaEIeBRc(%%)NA7nSGhl^tnxA z#F@%oJG{;y0pUgL7Yx^-8VJ2j%ZLPU>q-K1DHC91(}D|iv==dm;25H@miVSfF<-eD8DGZR8%udfBf1@o;mvGSsF&J`j2c z;zp4e;qFvf&XyAKaW=U$bHwlQsX8Tsa|*l5dE|w5=>X)h9(fzI+ zaE~Y(wR0d;Kzl4hAIHmn;T^H2ZOzL*5NT}VlxE%7l94TUV@(jSb~kPHxw~%K%cHw) z+Gc(D83pZb;aA6_8v_%Ep33#9VY*Kl9`>#Fp(9d!_6S7FmWJ>GvKv6F7tyw4R)zzZ?Bx?Ehh;mJyc{^P?Bdo{M#ZF1j;aIb+*pZfR zJy+xaTrrpXqG3RY>7=|x<-!PokYfB_K0LKMs(?T z45cwb|7mgD2>qbA;q`GSLB__U6Jz6paKrF$9@5*}2D0_3|2QK;yc=RRPdSGYpwWA4 zv}Zc^k)d@vP3LA+gEplg)&3u(;J-$@rC>^lNJ%K-9OKeRY2b}64*G)aQUymg&9V|*W zZ>}O0=vpTx}277rq36U~zq%ewshn0uA1$W|b$FpVHvOy;Y zvWrJ7A~)y;cXr1TsW5Aqw4vvHWNI&&<^S*#w>!h~1J63c5TfKSF(KqKjk|QP8q|wz zyB!a(ZTFM4_+k-fCAw)%>%Dv)>g{cE@+$DdgG0lQ(d3)5>=h18k?G7b*~5d1axU=E zK%jK$X!+0Zh{K}9IZE8WZ;25%$RjRsui#pwv2Vyy4dD@Lj)uHpsD^abD9_67l=Y5w zTG<=a7`CY)%W;SWrXuZIiMTee-5Rpn#aM}8*MqKRg@ww8`fKI6#oej=TW4wIztAYJ z@_0EP*%B+ii#fQrc2a`L8pcFl4g(6$MVqTelI@AfEL#_Z(f3=0M?9f4_cOGuPIz@j z?oN1Rk>B!{3=zg~2?q08nOnyBmhqVnnQ)6D*gs;?2{Opmv9r0w+wy<+Usu#S1r|Pq zwCr;8%`E zm>QC2zqh|^j851Nyk{g2l|Tyn11@W~xm7w#_bg!-6t_1yo1s8yZ5={(*Hg%(IXQ;o z-u2rz4v@F_IHY3%cE2RwZ$mD7z69Uzi^*y3mo)18t=$Wl;E5^grSKz)TchhgGZ8Q}vk{TFvNzL`PM2oJ$R?b%!+puZZy3_Oi6CKCzzB6hk4 zxe7E}AG7gTp^vC(s7fD=RoLt`qOoeh4pO+_#o6c$;tsEa)CGr%(6(hJ+*O`tW@6wq zGzE?nABqDIB0EQ1_LI$hn%g{3QdKMD6 zmjeH(z@Ktm;E4osRRShwodQ>Rzg8MkV00p=Ia(p-dD*H6DF7s0A+#e}!>NRv0Lb{-03`c{>3UrINSSc-hxAL zmXpGB!5s?3RM;a=hYPMJ0(N%@9npG8wjvLcq%z4T2-sh-tv~#X3Weeib8touz(WK& z>|~cW9`MO%G@k2}Jf1YX$<~wtbnYDp@$)d8f3Fyf65c_;u0jcde1?nsLL&dn$r@YD z3{=*zKvVjL$i3vt^GFo=2Y>4LQ;Q!C>xeE|#9uKXiGIN}445MqIoxJt*Y1yqd_?Fg zhSAwB3MVtW1Nc8Vy0c$N<1Ya9T&kn zh4LO`bWCIcAJ2_k$D5`l(UR#yJVXb`BW-Z>D0SQFR1ZZ?nw5McuhG`QqOw*|?2#ECXvcej>3!|$F5o>Qi z^_5AhvY84i&OIHbWg)EVpnXw-lPEJO5y$qLsI!wOn2qnGtsq-q?km>Gx~Th}C5xYp z_gJt!pu$OkS5(qj>P*G5;SE&g3gv_lt6j6aoMWehSZCV>a0h2&!R;)e%bHzi|Bwk_ zwwqIzSUW|JWCR-0VJ>^4bs`22I2Et25DFE|I<6tvNAZO{A^s->^{mlF=uYf(2T)%j zfQog}+m`Lmo(BUh>GHTUp8@+Y4EKnozCuz}tmDQeMJ9Vt_E9+mTmTLMbx30u9q%?u zj_%lU`_UZxwPO`4s=?mdo_B(iRCj6FSGi#`hdZ*$GTHmJ)+tvw$ed2OzJi^ke*W+y zZ1k{KU4a*2@eXO$zhOLZb!up8+KB5NTwmfUXl!cQ9ajU={0mnxo)5yc9nWKaZffd+ z=TDLEJ6tE>x%(%8;VQ)S=i&F)o|*N z;}HF`UBC&;Aq|yq+DE7bhJ^&EwVq%?0te*Vl3cdpK zWNhKO#fRRe{6MUavMudpDUi(tSV3S<@w5GUgdU@$BKIHON|8PQm@AV-{xBZHphNWi zZKXfuYTAw@WUrpx3bNGz5ZT-4-0g>eEROyQP=msX`5B$dk2B2Tv;uQJypaFRZQ3v2 zoF%U*;uXpZ7-isXIB6^U-a*dV1Unfa|?B*tG(#F*fAn4 ze-(TA!dR2DKAv_QZX{}l%U5aoGyqwTrRd%5$(O|o)S@_f>ixGE@@|40@-!DcY>VkO?mV=4 zU0D|zG`Xs> zb&d{#kVcOa#m*DNN25d{j`p^1D{<^xGg=JWK1T357S#?PtI8ZMMGY@OKKlav1P-YH zDWadv`ZLkjz?vIZA^|Ge8^o6#foharg)^)Xms*yG$vvO!SC7W9XCPbdlSj}goLo_B zBf4`rKXof3ggN(9%7S%>C2!{-&5%>}0YL*UT)|UW{?r)!v2$GDC14Lmt9U~Ka zFC=jFsp9z@*wIdb$`I=r-U;S${F=->j&TFRJU-ch-Y)YVd{mh?9ns3X940t@g)k5L z>@lwp&vDF~f{bq6Jm&3pl*7DergF|j(8Dlm9R$%dyYN!2d{En=cO0q<$%xH;!H9G1 zqmaxkLb$LF@%BE5wfA%|I96TQcNcT*Z~rhhfwPivK0st&6FO=8EhL!e@((Pln158K zGDx_NTR2)s)6v3FFS3exnbPs`YuTChyX-Q}6KN7oZEg=5v7i`d54wKZf<1UKz7s=T zZ`+BNs`j@Bw?OrsPPdj%s(X>@7W?Ol`FnT58Xv}Bv4yUFZPJ;UNawguTA;I65}jYe z0SG#mT+*Do-#I@Z$Zm=#I#Zp9UW2YJ1>~{v1 zm<`o3V29XyS+(!u8J}F_4PrB*BoOKcB#9sO`Kma%BY)98=`uYUEPbMMtY z&jZae@#u?QSRp4MbuKGJwMqzm{341>umaCCu2_Stt->?Ah+|PSF`#Inpw*&Zu0zq* zoWAz)PyryG4vyG|^EpxH&I2Wg%J9@M!#?+9a&?Xz2yqx*0B}};%4HVvJuFy#us29x z8Vu4VrwPxKKcaNqrOo+WU!wf3hA3m;bjVvR^BZHRg8bMRs)dgzjh&Zt6x-KWmvW3* zAhZ;;K}dC2=zdWoa^b-#ILyAqZ!+zfjBXjxS+(0JW8@!XYzt)!(!2M>B!+x^28#~b z6h6KObrAY~2AWgw^FXAOv8qcH$E%UIK`!ryL$G-F>pdm_flBttF(HWDhoC(Phhi|f zrP)C)<=;LO=dDCu&^T}T?q!5Y{6Nqe*}&Y#IJqBiQ?_iPQ7oG5G=g#($a=HiuMa&MwGN9W6Psknu zX#qQkBZA|&9S9LgjN|rVcmyK%BF@ggK=|Vd?|D*xv}@F``za_IK&h^3?2eU#B-J<> zE96P4F@O#SsD`~0+eaKVKse2Q1a!fGzcVJGP^n5G*5wj9+BXi={_+j>wJVUrUWT7V z2Sd<4$AS>AU-0}0t|Q>Kb?tpF?YV0&cc*P=x4k@{CI2~lx&ET&`n%g$)!!``XhMIB zU*Cv|`HWWVW!12Fdzqm|izcsid)f0@k*jnh^6Vu8cDExaS7~?@dr8Zv_R=8q`t!wJ zmg3p9m(%g=+Dl@9y%Y*swU>9*I`%SUd(2+`1Z7GRiW{J&NkVbR2{C*5!?+~#@B$V* z>VsWDLfiK8>LK%sd-qj)dGCcVl{1jTz6w9PwwJm-m3s(| z1mo~MILKE9FR*qpJ?;GuLESKR*0A6H;Ao-VpasE8NplK0VQ(tQ@aFA2Zqh|m9*3wJ z8RHSvVW0sv2qG>f6v7U1db9;yuD!aD1Nfxzufdt+S?8eOOw7pxmAAoIU|t>w*%%6- z$U^&7c>g2!BO0L$d%5sFZdGtzPq9F;(O4if8(9-a!1n0o7G}T&YGL-gSS*ayxDli~ zOId+RSOA~B@eDEJ0X!F&bBeH7UDCP%AH60OUrNJy9|vJ@SjaB-lS`8I|0IZfo`Guw zlAf(!ZOgD<{;sL1VorgNUz3lk+5PY`Rm>TV_p2(KSzCF-{YH<``t`d=>i1Yf zT>W4+KR>-qv$=gnlAQ~o`>&Xj?tH2P zNJEVj`8xJ1sN2;Qe%ZBDvWa%ti00#~ZRmcz40&#bo0wsso!3H!=aE6m+1Ja~&CNCn z*{G~1o)2Z+4Vmo}{OEdyH~un2Ur%aPU$gB3bb>K`eH_(KXpYygy&_@u)RMktk8G~5 zm7`RiFU1HJBZ7}!+}KQC_c|?JUvr?ZM(g_ez*E#$9MeX9&8EJdaAA_Zrkuzo&B8Sh zNl$R~^|n8>+28cAP{Z|j~p zElFShi4jD_oa5Wl*S(YT+{aPJF7)*{ta$xD($_k!Qw_xG<`Y}|bv%#OaU1rg+KOZvLUk)p3JVjd5x zl3*ip`o}TY)7O8&*g;j$tsz> z>In|U5{4v{*q5cZWw5L>Z~^Z(@Xlg00yVK%yBA`Js(`2tNkHZKe?}F;&e8R4749&CzdE074Gh6)s=sue)f;=p_C}Xv zjPG`nk@9BK$7Wud(bR}JY3G@P<$MG%)QL&C=9tJD_8q|;yUj|+%ARZx@?O~vZc2*| z3eHKx+e_lyFlT1KvmB@lN|sIO(Iat6D8_F)dd`}O%siMNwk*j0)YMZ<$GA-_syQ~& z@EF^u*~0TGjqdAuuQOFF?qqauQ+9Nf5Y89wS8y!2OtEbOEF*dw@R2xid#7v063y5* zQidI>7~B1feHsVg@g!WMaE--Pmvk}CjprTP9um^HaNb{Y(#FT}xe?_Y?%et8UKb*c z^5C@JtRk1*LP!4L5C{(HUf#v6n6p$iHnJPA#QcAfKd`2YW!Ql=ZyMGNe7v{f*Um;@ z$m>SvrLz5kzoe9P#+tIr;?uyPwCG{dPFZND(Mj!u1$1pE96PJ3=(N)z^iXj0GnPzF zkG|((jPn-kq$eo2DKol$Q4Q+%&!mfSZanWFwgM*%+e9R-o5#J!v`PIJ4*%w7^3Yoz zl`9gnyE1XIc&3`k)@X^IgPjqYC5OCsvScf)(1l66IIvy{Dy6)2Wl-ok&EofO=FLbZXP7@y8d*aLGi(U`S#KXQx8 z=~$DIaV(lXx?ha@T<>!Cs~q6&Q~5S-pUPJ3n23IaS#7mb7C0tfAxYS-VmBfgimP*q zI|IdW9hFDvMl<4z8!C~qKc>a<=DX#siz`o-WVL$EPLU!l?|rAdYfxUJmY3a9d4=4M zGm?v|o7rjsRJiZ07f4ITQ zCy|V%|IU@M?L>$0-K&kxb|Mit?@Qc~1xTM5wTZjmbT}s@S*y-RjYOI|DA?ayMJ-i=+*gW48nvblZ*9f-} zp>G0mW@Q}rm@mdQmN$#}z`0_nk+%^m#yR_Z*?Tc>v;8Bw)DhN{K55atr9Z`Skd&`L z1T;Z z?U`@RcO>drq{qe>5hzAG^7NoY&)-3DdN$uYnez6uO4Cg&VWr(U2Lo~aWDm6(8`P4u zdK?nkA7YWfvD)Q+`*nokCCVPmH0ux>zyHQvdf9DkIbL@9~h1p*xhp{BoJN1v#4hXENdj`vbzQB;iz?zN0 zx<7(D_MJ5Z9qbt_#~VdC-e7z!!1V?=&-CvTk|D=a)YPig}8%|6?*GsI^-v=P|w6-Bj))J z(K_X&L%0K#KVr;GxeaeLHhzrWZoo!yct;nZQE4Vzk)eUrLN1qWFw)(!_1U{_a}qkz zID`~p;KNM~*J1%JgI(Ww*qxac-6zH&bV_~MADrUa^!Wa+X$4df{hh;!b2zdGC(xXo z)~BMh$Tt|bIhF9tU4^%2vkuuoK_)4{^4**)QgFOb5WhcE%5S;4>FJaR;p)|h3 z95PjykLkplm|b?BxrYuiWMi-q-dW}k?%1=uw0jUplWqh|PBV}XL$D%Ye!Mb(y{SUc(k=C_*p=SWDh1oL9986K? z^hL>dQEXIZth}ZzNXU6;s!U>Kao)327Ho(+aXmrMWJd~c$GjGAE@VoKGq2r80&~(M z$7*aQ?FtMux-+UYNcP!#plSu6g4`~CKx`B`Gzcd*C{Ny2D)MQ6zFbn}Fx9m<6%6#D z_e$7*UZ*K*nbJ|61DO1)(VczIWuhoY(wpq1NCF}tgLsi*nwXTC=+khbdnE#qv78(R z=k(n>PwwX?PsNBMv5rpzV)w^!9Av?)kFnwHPy{9}qR+k3xpv@wBx=O)MYvyw zt9R1X1=WsO@3{U={PPfB`=Z~vfSYlij1P9A7h<-C~iIU zjIup&cD#MtU|kQLiu2VV&fh$~5lCZOjSoMfjrGt!?2|5{-P=u;u%x&92mJpOc8O`l z7cmm6Oe*tnyHpyY*{}`#t{4nNT%}S`DJTo}KfDFyCpe)z?l=Re`7Ef zpH|>>40{=VV(fJ1w_{{~{Cz)O>@m{Y3OTn+Y^5!Mpz#2(>1Pu6nM9koo~3VcT+Ks0 zLSjdqX+4)3GPO@%bT=hyCORV>Ph@NKwGut2kXD$(QS=p_z>U=`P#w)us#(rtGz@?b zFU(+V1ewy9qS^X~B$M@z`0=ss=a>D-%LZ_RgZ97lO=czeCS91jcbOcx8h!wKD3084 z_m4Q^X&n#7mP7BmOR6hIh+N1}+HaERIWRi9B9TqX6GpV9OraxM8Lwl!n$9i70d6Vo z0lG8CMtWd1Q=isjv6x#E>BiIj$=uH(G!3~xu4yg6_!yvi}#&Yf7%EBM22`9*X2 zLx-=sa$P_IPXfy55PRzh&Z4$M>b<8Vk-BGdQg?nUijr=hw^_z&N)}auWZ7TSfs00a z_Ea?5Ux44f2|qEFh+oeW8H%;v$4gsmzn3Li+mGTZ?dOb1A6FQ<3T<1+bW+>i%oOfy z1?wX$U-lo39)-=CJJ5pY2KNlyxPtwwY}SM$DSp(R2YJGX`Ub$+VDN7-B^K~dTX(n- z8H0D&FmvbH6z1_>oC8@CE3KS}vzyLHjENP#3A2 zc|YXhPgjwnHLr@l-41G(OEFSK`@sLAByRl!azlu|zc7Zp1!~s=1IB&apw8Cj%r^_q zs_e@Y=q~#aNct660bqSl-e)Yp-Z7R5UD$o=#UL+k$6h2Q1>cVd$~%lmudg3EX9awu zo9l8s-OaHt0z#nUIF#sWzfD4S7tjGtE)afqGWEgt&bNEBI_m?TchIsq()!1XjJVdLre+a1`P7J>A#MeJ9=;pl|8Qp!rb z5}v;eWLy}Hr=e_`2fdHb66A~?A!vn@v_)AbHTT`6LRVXB*f{pKwli+{PPKF1+M$R3E8Nd_^9>HJyVjpAz7ycRRQQ~eM-{V#z<>jVNFfW7C za@Y=hMyzSY%}{0kj!rdbwh=ql@5_ceAZr18m~{AjG}Ts3^*vHWuZ+tb)%aiC+=y-~SiuG|xy?&!iRyXT&d(f=&uE6g2r%C4K54ZT zDNd^$f;7>Q9FC%bOwfb`QOJT9(Fru6owMS(8a*T~!TpLd;3hbl#X@xOg}gobxedCA zJV#&Lv<%ndxZ>$I!rQd;?k|(BaJN3-;Buga_&p%lAzwJ05?ti+B0q}v@sTd(SOdy< zmHdd|yDNrooZ_40;=>+xr&WmW)>iR_w*}VVb9+6T?gu?)kC$E1bFfj1s^$`7nLw|B+HKPrB~LhnoKb)omoz#8Q4iFcFPEb3p^dJp^$kb}v4xXmI9 zfOp6+jIA0_)MxPanZqVrdjQ&8_ zD@ZnKbT*NtVqYq7p__R>0x`xH;KvFKyFiL0kH8S%>k7Qt1>(#UU-Uo+xL$#Oae;dSNR{b# zw5x)H(2rh>YX+_`u4-IsalMY~TU>suv-HAsBCb)muEezf*AiScxL(EeHLh;33tTv6q@i}MxLFQ>msT5y#9>TZ(f^;g!w?jV0X`6T^Pr0-#%+8Wr6vFx%m zcJH`YoDbu~{&py9==FGAlo3b#{fxfX|v1}g6-rRITnb$JNn z55{sWTGey1)CY4Zl^l`e;Y;2cOsS~76_LKOYhde#lE$!p$I9|g9f%Pz4&+8d0G6$= zEezp zHHUKWWRM-aX?Lf7u%Zw4Md|CSQ3~9s&P9VU2hs zGY|{kc?}tc;(0dN`rDA-9?l`*+F=jj6Lr~4X8s@Iz63ssBKtof2?PZv+))w2AqEc) z6^)BvViK500zpLMfd)~;6O@EgNN^HK+l;Ux%6j6tc%z&Wjv$zTBI1dntKdbo;{skB zisb+OzUrRonM?xg?(g%@=hK<)I$l-1dhb=e_v*-g2q&*Rfg%O>c88b*i6hgD?1f$< zZxK>$#ruj}W}3u0A{iv&JmrrPibt z)4spVF4WhSfri-uKe&326&r2%y5UPD?1ZhZrkw4S{?+6luXgAA6W(~3CppHrt|#|Y zfShP8cn9e6`c0{|e{QOjy;Lx6;5Z+1sm9}Kjdh&(WAs83B$?lr&eS!&Uijf3UeoN? zYKa5j#S3&q6@K{VHRhIz95*ZQ1GQ#8YZ_ba^8y`+_2m;g#^M4&(qj426q{@Op(cZa zd_upii(6F-U&VobIq9@+p)th2n&gGEJXvk=;PNa_oYLv9T!2JsAy?2=vaGn`(_#OJ z!5h{iB=X1Dl~Fq!`Zb6a$~um+7>?bTyVURZQWcf%Fy8WgbJ*)2x2N|e-ybc#o-A3E zm4j(HZgS}<pK96X2*4&f)L8=b*-_?Fp=GY{ zlLdr2PIL*?8V$5~c^l?VlhSaa<>D{Pgv;M$nAz_Jgz@_CL%&Ux;3YaZ55d8cEgz$& z*go0PlQb|LoJpF7z~X6txJFV=`Kys*{g54L6W;z4f*N-cqSCeqL#4w-Si+|JF_jAw zVLG!uN)T+FYfQsAPzkT^AuRGU*pe(+lg-%;!tz#l{lyDaeiNQiSxLH8t*yoma%hZ8 zP?>L$&4s9K4bo1zayvknLe$g&TLxoE=ISv_#{iR@qpH55{E^uUEndK6+w+0Ro4?SQ z{EBrk`!zxsG5N-?8k3^Dnf(IixiEPf=WyYeBuN7c>|S6}I<7%J*iCSRb z6v^@w2_4|YYqEY#$7_;)O~Y%Ve(i-r#iB`DuKXm)H zS-`Wu&58p{>~jwcU>JZARnp|6-l5h-N}97jkrs-ixg1l{Fb;Sdc9O7){M4x& zJfg?A^RfP%C6iT}u>sxGb08E~QEf!1@enN{km)vjjMkPQm72nT#rQYpQY_!;4@T&Q zrx>)g;#zXJ+SPXo7UkWTjvJv9v2`pNcWrqVVzm4R zB5|>qr<^??8Ka!Y|ix{OtV*HRFL1Z z7lAP`U&&s8dDlX4Jg)z0oNE+ALQR|FHHtCo8(yXUaVtIY#dC6ehv6q^2dc}c&Q6PC zr545RTi2+lp9Lc+D%Pm@8fM}Y)r5o_`T5lt`ijzYLIiE(rEFQ&+eqBI3duckA-0qJ zY$SgZ^C}LPa!Yqcsi%>*CJuw7rcUNT+d1?*ZRgzJ|FrFoV}j(gy||;aTk7aFjt`_? z7^~lXpMwOB5A@14Z=CNnr)^YCuBJOXJBi~T4jjtc>NPKbsgv1b(W=;77whmt|90ff*$g+<6KEq+;OQOZ+bI`P*eN&ARecYE zhQw04o5k54wRQq%X9p1Q5@c{dxtgFJL%4bv|KR(c4WW4{G=W?2e28}+=$!V*tMF9g zJsQ2kukoqZ_!WBiMosH~rtvPqw{v;h^VKjz`U3h})aYNm6y+ zIQ~#gSPD|b>|D3V9K&F9T9wzREXAvCPE4Q!kLhBRzjBe;w_r`IRE3Dm@7?As8V!Bx*#S7V~MKu@%R<)aO= ziSOWIBb*0=U@M#0#|l=yr{jHLY%%=8&?;+UsD=bCv_EJY3iO0-$KDZ5L?VnDXd`5t zKr0anI;S?;c(KlDgWH~rdBe;y;h~s-!z+zj3J+bR!_|)tZ|!aox`FsoLU(Tio{LJ{>XXh26FlkQX$P(l*wz-3)C*T0h727xcGt zJrV3XX%N@?BtE#`HSab533k>XNmTnTAqipdr8ihyrzs>E|LS~H4~nO{vZ5vQReoVo z)D$cMl`}~v@uK!j(ijFGtkg^brRbnt>YOV(gFED64P$XWlN-JQ{NPYxQ-7QCZRvw& z!-D?Bo()Td>S(~fKyLfwJ*l|qqS)8ttZRkNrQDT?QqI>Z7kvR1W3i|#i^W7P>KRqF zYCF!P@b$$#8nc+$p9z__dLequJ|VxFinlpeAp71*s`lj|nV<)4ccszF3M#*k~KWRUWZ4IQdVV)~mjE;nz1*ROLMc?$vWLV*Wkq#rT16|+Xn2)2krMRebS(Ej*ty!H&forMoxIdwh1|?#^ zFC0%BHx#id0cr4_sNxmsSD3Sc!o8BxA}D0Kfw`cIGCB8HE*2RA>nf&9ddG}<=uVnf zg>*!nFH1lcs~P@bf^skw2jfPYL{}HVa~Qfr%Idpo!HX+M zs5Rvq@q?@=BH<2oWORK~9vxk`!`^>m6@Yxci$Eac{6LS9y@0x^jUupJ@dCB=7qFG7 z@v2vX397XLcJ4T8X0l!l*WqHElxc-60&OM|8BTNb%a|sC6X+^AzTy~%$aqUz7i~$Z z2YzRW97e!LIq>fs%OR4e#SnQKT8bf(Uu4nZiGtVN6J5eMUXq-8@oDZs3=2tZX&io~ zRC}aSJ*(?-$<(jv;gXh+e-Sp*BX#?eKODK+1Dp^anM=O>UO*j*OWxZ{E|IQ-m~EUJk6b8}P?7kMh=4bAF`w?!vt@phkR6A4XAb!Ul6 zgl;LdPvL}kJ8yr3;%(p=v=8Vdi6^l8KZRlL^;le9AK$y`b?9<3ah|b(lj(5lK%Q1N z)_mt^HfJV?W|N@9pJ#X%)J3({;n&_H>dAS*^zGxJ%j7~zWa*eMgE5U5!@Fiq*D;R- zV^o}N^Gwn)1;Lmti18dBC{Ud5=$2g)3aN(`euZU zWCWL)STF*{SnnUHQj;)>IhER+ha9gvMeFsRp0a-ugn3z4Iob3D*x#&q8mO~g)>B3k zb1=!hO!9nWl1=U;qnKp5lSF9GQ_cx2>F@F%QHwM1p;mzk(7tLPNl;9*A2ySaz;rfS zi#m)+1x)F);qa?0?CfT-zCjedc05$^d%z278ve~W1t)}!gLL8=%%ymrjpu1Rb?ssQ6Meb+ zBs$_>C2vu_2|pzU0w>7|L^qW zdjPzyzI-O+bC|w7=nhw}*!uF!Q;tnvz6j~nJ*(>K%UeGF-|EZLr+|_|`f|r_g8K4> zUvmESztfkS3B04!m-qj0bo%n1)>>bFc>I5-FV{>tDt$Tq2CXlr-o&BRr7v%*Z$x?Z zt*DbpPkCK^xmBaO6Uyu2^@Q?*#0Y)))nXEvOJDx}rv@jK`%*Bt+xqh9Cxf_7U0GKX zxbwq$G=cv>U!J%9$eO^;iASXgeE9iMX#(rN`!Dq6(bqSiFK;>#2>WeC9ep|Dga4Vn z++Vk`LG!{J6QZLls4u_p84=ZhzPtd|w$OB$JEuZZWi@K#G3d*8V-{%Z%jU#m93mUk zm%9+~QR>UD7uK&YXJf*MA#%+amoT>V<(A3rL99M~`KNa1^x9>0xn$7$^>E35pf8Wz zc4RK8EQ;Rk5mu#_KRqfgc^o#ehVw&ju`tonkTB1&x-^E&kC?>&3efiwKrh_6tSI_&W7VK|Yu7$PUw$42%%jqmPa$^wZSMcX z(U%YXUWR~vpNyCA2@Dr~`8yrnLx(pGrvK@;GOaJS)-f*!V?JaI_2obA5?HqcV^%OG z88JI_OlmOZ3B>##=*!EmgZlPA(U<>KNxstha_@@(^*_^>_g#bWD4M?PzX~vqRbTeH zD)m@@0BBfWp3K4<)|W45l7{u=bC{$)eYx8gsDB>mQ_zB$_v1>zg5B=-Th-^yNcXTvAtG-UsW5 zOJ6R5^)=&U*LBn?XPBxR;}{lnm1iu0O- zu+RqEZ;e4|o)&}BJuNcxvC4$kWx-524yGh5yT(ThA`7`B4DYeP2bRLjnOVHun7_RMq2zOR2BqK7k zvSIrj0^-k)v0`EO-ZEUX+y>KKqsICjtHXe_La*PXc^i$AIvFN^s(l6ck3h4KwKC@N zr`pHMdhn&IYDiVlbT9E{i?U<$zyFkq*QVoJWUOObT1ju@^Z4&X~K3)(OV za~U3f;p@?y#rh>754tlkuelRlvXqNU(Mfu#>4OPUgt;U^fEz8m1`?Tm9Xn5_ebA1a zWhY*$^OQ3SJO@lGtI>vUt<6u#GM6$S!*{r4(eW9}WAW0eC?W8-?B4L&EtTqEovT!T zwJs$h8?5|TBo6KIFixT=$6J>9${`kEu9oWP1+&0GjF6eEq{UaF{^Al_d?oSAzcfWW zgR8eIpgHdrqT=#e8a-j`TzjGpjJ&N<|Je>xeooLiAj1V=;3+iAo*ZgsZ1`g zc!3`9{HI!gL@!2hbm}vgItAko2)h)3bPTWqIyHw^03n*(=aK~xItL-7dA!cYt0sHj z7=%=#!cr4qT6l3Z;edAb0n%2bMx&ahkW-HD5Uxq+h~&BEE9~`Lb7>-eAQ%V(r;vEc z&IJmv2%x--sDot{;n+*zDJzoiN>)ePA{PwDkaVqt%2F2a-8kY3QiFlmHlx3Er<-00 zGz$fta;sXrz|s4leR58nzt6CC$U3U^L*Ce5uooJF5xHU;s^O-9QX>DMH@E|gdB zRXP~Zw}4-UDM_8qSv(1WSnWjo@4cx7D6@ZpryK(~s%e%=_PP3^ci$X-`QuCRtOFP~ z_HE1?KEe70>pbNhL7CM)1GvC0^BN117nbL}_>3z)qqK4nUgGtgk9bqslvOx z1haA@-m#Pi_$`%CeXztNyldQMUB<;(2l0(6A8J%Q!6px@77KxMOstlL=7nEiA-f93 zfgE!%P{1Vx*>F}S^tr~Rh)gC5{QYKhb6JIMM3}RR;whk5R#C9WvH0Zg{7JC3VL=-Y zZ_{VjV6g_*;JiExnyWwIldE0uDOGa)eTHiI17wv3E^`RNe;8#6{3&<={F(U4F01vF za~QZ!*b1J)xF5VjAIu4O%9o$W*W)v`-@BqIH!-@%s;7rO{p zzm}VR5!((xAZNu@F62PdCvtL6736E=40a*sW(PUB8aY?u2LtQJU7-)|S*Z0vE?uyl z<`=Hh>fmz-$}`Ug1z-USR_tuS5DgmWmElPmkS=4LkzL_wkv#`q>;-5lD*c>{eg1?^ zGf{$G`vX_^BD~rw1$Nvk5!wfu@ZozhHcCseB@seGI;ciATM%MsG^GTALq5q#<6oVu zhY4m@MxRm)0@axOluNMbPhl+f!pM(5jX!32st!!&kKc|fR{#Kvc7p^%hQ0bLRo6_! zE;h!@GEVw*95Rxnu$yDVKJDt2wN|o;-mqK&_$3wC?C^S zNFr;7d}+xkdmMctAx%@HXNaY*FL0;|d(ut>m4K?MJG-cgYc3p?Zh^iMmcw=dvK+3l zCRM$P^y(kaYpN2zpxK{GF@9L1sYPsz)7g~Iu>+(MzugJ(1amGOd(g3O|}3WtV8n`FH&d2 zJmv_=VGt~6?zT>7?u*aq=F%aGqZ!%U{i}6zt94MYx$A}Z!d9N>;$+zjnk#j{A{eCk!PiKS*vKf*$Y58gGhr^n%uFT|X7LJc0>#;E(-vul+?`9qO=DU2#hsY~K#soL z)CgNL2^TAb>W>1?ASNH)EE7ln0& zx0VwfUEXw*7ii%-;Gt`|G7aJCjC|68R@i2rK`vfQ?S>1olYU_zH5Tu&RAlXk5?{)A zeUd4bzs-(8Kk? z>Kaw>9kjf^YZg6M8^oG3ehAxR4xJHW73s)cg`yg!Kr)N&sCMr}&MS0eD;+sL82JGs z|E44NT_-uG2P2m-@)RBUxsGfRjC`1pF^CKt7f1{=4xAD=nRjg0Kw^`EJY}ahL(M@& zRy({f!e+O@m!gS%5oU4fWR>vW6#S$5+7-cp%dA`R8ORf0!BHXumhjLhapff-k{&$% zv&P!P*&WYN(|vae;f$34vZRd1xTw&(VPE@vX(PogYKIiJZ_U{J!sms<6? z1q0Q~Ak}(g6DEP!7|+$r)%evi>Kt1}dCJ~ESV&G`xwU+|WYvcQL0+>E3UP%iWEgFW ztVx5=Wp^QqL~KUsS{WpZ6Emu3@(p^kj}aIfx90g@ z+bC4GM@{SondD!)0H5mJ4<}(|@bXf;=lJ%N+MFsH_#f)kyRdt*gL}V8c>Mi{w>9M~ zW5@oj3mX@m$5rb0o;n#u10C=lbm&G!kPV_ZbAYKthjD(aY39BGXx>85&{pT1{sgse zGuq@|OaiG_kpD70OwNwFF+$F^e1X+Z!?+$}|d?ehfs#&S2h0&0m zS*S6+Tw{8_Y7Rs=m>&57G5uN{Ok=hGA8Nxbu`w`5VM6ZPfphnhit=qGErfj8-$ss1 z#aSz1X)*ZiQkOzd;5Qe$zyPl(0$y=7wn1(U8!cnsBZ6!u!Ul28L|>evT{Bi2%w-`0 ztf`#9<9C+*>wFKizt7RXLGgGszFEt&-v$>9#)nG%DqK7^w^NLJ3MpckqOnflV&3*Y zV2D`_b6KD$a3+hd!aIJ$+I@{pjq36(kXnP)+J9*YnT&)P`#;7ux5lzYP1LHhF`@PH z#1hlqLOlf#Np`A&V){0Gsp$ZqCTl2RX=giWH@}OtGnn>LB=g`baU3rW-iZ;bjPD&x zi~fL3$Y6Tf#mY(~=VDP#I5dux?@H<{HvMNpj$Fx5|KwEc4;1^6IWz?}+6ozpY7RltsjdZPtI@{X4O5GiTlIgq+%H zH${Qx562d@$o1cZQ}ef|{xEZZh5{CCQUs0-u)Om|#>B8Ic0Rrsb`5i}7?iXgS4ne{ zZqjmzv@KNL!`3z`E@lRrBq}FfQDtp=H8ao4Ywg`Sk-=)?&gAN^m@iSKFU(uwuX*^M%D zhdx|<#-c`nzKdYA_m9H}TY>#^i?F}= z=jx^W)fbU1%mN}vUk?z!!j=xOk*@RlwBF>k`K24r1b_v z{r!eqCe!qGmCgje`KJ(*6CgYS@qtD>c(o=lkkWD%agPr@EBDnyF0~m!atS1<8J~&t z&O3`0Rf2HcLz51({{yLz)()i_!#4%6kqMbQ2)1;eKsMlO#qLJ}GH~*{=@Xc6xx&?&hUvCf zwab8`bR9@4yd=mtPW92?W#QgY-NYnmqBS0M0>5~f()N!oqmmo$AAM4w_dDxSA@B}M z90G6laTyBe_x(@_Z_My6NUDDODC8eKfXI-4bfr%E1$bL+K`QGC@sCzp2VlbX`Uj<> z5mK4xj?qU8QPKJwqhdMHj#2$8ateZVp4eP$Zz#=Dwr4TnSslRxkZDuazVPp5s*j+|vDUaIp*ec<0>T8si5;KVWd z90TAcp<{Fz9HWP9$0*!iOQkySIC99e4fc`Qf{xKcA;)Mui?FBo&M+Cx6{?RR0)CQ7 z7XGEF98mqMKLhJ&$LKmtt5Bn$WAqRmqpQ$$oT>yJql*uaUN8s?aru+@WB5SooDn4Q z$2OiDvZ*9v75q)wG5Q-`a*bom53!O=p#G(yiYB9?S;jMa0WZU!+qI5ol*21$faM*a z2%|+%5(~+*etmJ1#;v-hfP?TarXWHo!bc^y-GH=K&dYEpx3(Dvgm30ol9CNA0 zSl!|EXQl^cnI7Hfn2{fgkV(nHPPWgHWxu!Apc0ZYL%)pCkRjHOhIB+b4Q9 z8c&}nY+>k%kWUo)BEDTd(OGF2-L8>P=_&N$IATe!al_Xb{iXZcw0l@1vRyoliw zMWnflz?}fWA}Udw6!8RJP{d34$u7gaK_?~RJI=ZsW!bBNp!xTLlu4m@F)^w^;ON&B zyvi(|cd?lm1r5KJq2jW$MV{(&ehWyFXr9w>VG7Twa0+CT_MCo%ZiJW+keWFiM<))J z5Y}=$r_m2yyt@xQr-vb8cZuiJ@xf|mD*t^Za-VlvF z+@6W5_IsoW=Il#NJ!h{(r`c|gM$hUwJG(Q_>_$S-uG4ogdXrM0RTSjGw*P~%U4&GGBQgNP28?@5BIt}g7O83R*IL^}>#6xO3Pp^;<$IP82Uq^PH zp4!(TtdR56NN^F>Q8-WUM0$0Np$QAdDTlCLcuEr%jByMK`qO5ERwI-_!MZjNz?&#j z6F1@$*1Q@?Hg@NP$R^>WftWgmk&WGJHgFOu6u?4Fi19B7L`|eN$whIV{=S&bQ}Gg6 zeYBV4k$5!s_6prxm-BSx0^MAg4a1tdTG%hleJDJmnFY<2I@HKIMAjH}WM_kTHjWem z6*BNAeDexx3{tD>JeBk`QPgD5*Ay9Qkr1aiPg^V$099V?JWXLCHL|=w^5F0cDRwC% z)S)-Tc}hlArD;&I(vb*Kn}&Qs2av;fFJc_BXmA*$W*Ux@}c`~;4yQ`5yS zg56MIyJ0JqN@Q9tE^mTA^Zpq04IQRyN(tjWY^=_iQO$B_*8MY&cJ?NY)3sK;Xma90 zMKh)dm)q32wf@B(RR1$mgMQRhb;WbRaT=AvMRns7>y~@zjbY{bBFp{oRnoxMY6?%k z>`9H%-)0SzzM$K*Qw@~At2A@|b-Cz|pDsiE5Vq>FbKy4ary~zuERhyiU%O40Z$Qoz z9r>k>ybuCgM?S*HI32lGM-B`|PGjT`Qki~F>&Wdvu!W4=gvfBWDRyPsZqt3oqZM?U zev21wy|$Hvc74#qCYZL>ahq0Kdy&-THsyZ%bg~7=gKkrb08Jj9&vM+R)mEj3A9S0( z#BY1A{2yn=$5@Z(1lnzSF+Na7y%?vDd^qDtXPpjHdad7Uw<$Gl>k21IZt?S!j|Bm- zzwTRt$m{W;lB#KNa&~5W%Cm*UYSn?4ks^&LcE25-BGyiEo`Dq9T8#{olvjEqBy{4vB!xPHxdjS}5X@^}hO>#Oe!=|a zbz#N*I548P3tk}7^JpUSv>ss}DlMt?RmJrv^*TMA zwtXKnc|94x!qUJWx<_3M2_TDb1B{3hG94TGI%LpbwX#YI3cv|kow0vg#=aWu1eG*rVbUGu*nA$) zA&9mr-z%uce0-_N0HBIA6dOsN^4FOTnAwa`*Ls%8E=7uZ{hte&T>PI;@XZYQH}02j zmw)5FZV(ic80!DO^?z>5S+@uN&zcDTXKm2``M&D!J!=2wsbrq|{GSpT)&EJY(e{6e ziB)ksDQB&15P{kK;4>Yy7XHs3l>7cu@7Y(y^Qi43EKfwB zwrCY)g*!m$TX7tq97Ll!K>Glg8Z$+!LGNMu;T(3iV*y=jL9wcaQ$P+Ku28AR23 zdp&tXeJ7!7T7z0|P~U0&h}L&<4Sh~qy}C}^b0HV#P1u-FFY&MJOwKq87wBJ(3-q@L z7wC79F3_6*(%Pb3ptMOGKtqN(23X)LKkRtPVM_H7idz}(YipN@6>>_FeLJ5U7(L* zZlfnoQCy(a+65}pthYd;)>67a7p{are+K_>=J#Fjfi8i6^D#XA@eITB4xUwbCga%; zM0ym?7{+^7_&}@i&fjg~15KCvc}KYJ{0p8RjMIaSKY8sVa6A}W!;0_3BB{h2Ur92S z4d(bulGV@eHj=6Nuha_1c1-Cg&_6z|C~&+SS;KjfHqcRiq|XxnhqOyCnJ6Quwm&G72QG3j=t z_p2pH;+vY%2v^tGS0eMu>s~tl!-z!gImj(qaXVZ@zz+dI+5QFdvIrg<)Rp=>T;3r%odD zU(svs77O4VabEwqy3y(_B(Ar`&mq#?VqU#qw^)7d=R|G4>dtw`q2=(@_i%b6bl)j& zSUA6~k>D&$xLwAHYx{9@(DSHAc6%iT8n~xDA>6Vp7(7E zJ?EOIq0HQ_g~d1L`HQ-yk_J+7twwQs6}Kw#z=Rq#WDO5Ys8!wHD&uIgu%{kvKG;DT zX{vTSA37!B?ygA~bZA7c&gxna>shvyyTx{Ir(o6fhgT*<4aJXzQ-hO8+EIW=wnME! zJ1UpC5h(Xh)^i_wi&NMq_PymT-S?J{u$ImRHR@}*L%k6^|Lk(|der_H5#AqL`bO!G z$&>5pk3vMS9Vu+buSeC*? zc)(NKXvF#vmg0uiSUS}kUwk5z^?cR;D&ixvfb`G=@}Q7g8bOH@I&c)KVg-d# z!5#DQE);O>2JzrVYEc~Cql5V!X`l(oKE!Kx;ITEx|2^0{=c6e(m^>v*`< zWao`DL=>TvY9BN@=yWGL(!3>bnJ6t`S6TT|6D`>6V;3`z0`!R?(4>|(FfmZ&Z;)ED zG=B`s$1u)Q-pl@h;@PRF?wzuhfukmB0~x4mo1*brolH?OKHUjU)4{Jv@YHjBnDcCL>ex|*?^U=?-!lqjPtu)AcucBrLNsvj1G$s6#)uzY<>Lv7m}bAq4v; zKs5>wepy3p$K@D!>Ip>nE9p(Zu3`Sv9lvjfS;jSfKhY<`mh|t3h_l6*<6xep_k43D zo2Hd~+%bSj1y`=gG>Xdv`JwjDl9Chgj*|IPx8%ix!%FTNS@K7Bp~xBQlaLumRnKAz zyggWW%Dd`7r^~H@7=TeWHEI<&2wm7-I(gCU4d_V^V1fNn=t)I|H)h!Nt-&k7t$TYRC)BuP zq6O;*xBUuhnC*SKdSwKe9QP+wE)d`TF2Bt({b*@K!c4u$BVIBdrD44UN-2^tHT+rAy^)h}gJru6LS zeI#=9>|Zz**Wy_ttc;#ZdCJG&n>^DC!-sV>K2*1tMJsW{!}XLGca6o+R-ld#kLt;& z{SP4ORJHe|uw1a})~eh`NK+zI)DDmp-YF1NYpwZ`*Hr=EL#*2rm9;)5K|ZMgS}^ts z>X+NUP(b({C~>#qX#}zr+u4eF_)vx6^|@Q>!>Zn;vcsb;V$|R7KvW-fdU({yjB1P7 zU7&^X=qO+^U5%0kOifdd{KobFLY~-fM;A{TLTrM?ccN0ipna&>0*D$85qmLstMxC+ zd~YmtbwA8~eCEJ_G#OIi7d%a9OzNohce%grvSE<#BHcv3?*ihy80r1ZuML;)Q{@cn zHg5t$ZsEQGEdcjm{nPm5y2ACLfnnTJ(=&o=+x{J;*;8*(VX|imxDF0d9pHTHQ;C#6;mi(FBDeJ;(BVVt2@WSXGe*KP0HrY%mnmy&NzisD)HFp{J{TJdQ9%1T_O8s5!=gHo}Y>AwhiuDxudz zhU-GIQzLATbrKj(FB3>1A7a$x9_wVh>*kyUNFhPZr39*`CDDR?l|A5ALZBWqfy~q{_$B6UGBS;f|?x?!`WPBdT>2Jx*Awci7as_pq`Q7Vz`H0 zQ-$%71-u1=35Woz{=QbDm*G8{9^D)S;7~)DRE7&pL;_FZffTULw}0!G${#ilN@d-b zZmBFCosQj97`LNS)m&tURMu40kW^+0++Rtl%+9J~^%JQq-MDoxDH`2)6HMrGKeAh% zO-5$o<`Jm&)@}Gub6}4^3Wu*pve&=78B}?NDh`i2lTjlfCIg+-RpC)0m6vfegfvij z^z*tI`!=7%q^R|K5M%S`L{!wWC{mkiU{)1Ai1v;4FW|{Ha`QLH(4a|aL^cvw|HOxS z_c?bX^!1Xg?PAOU19z*J!=j5tFdrC$s6OiN;ZY)(r%{}@P!n_%npB|PVa2Ju$Ks_v z3NF7VNWn;(rm|r!b%^mGXFm|rIj=xWw+G~xAfrnlpZUy#T%Hd3OuK6{yu0kFkk5nI zXTAdoo|#WrFQ-Zbg+efbA8Ii=8d8UH0b?b9 zz|*jFdCLEWq9UzbZCtqh%?u(G|jcF7?T=$TUcIt@?RyDab9xio%R z>+qh71>o{?gqzmJ9Y-A)6ERd#x6{62rzpdss(rL@QUNC%Kyi_Cb3pX_dG<9G<|GD* zwW2EmBagPQN@R_CFHq4eHJfWQqV>{wQ|jrZ<{;JRy+jU)?4_~)tlLYK=sEJkJWwBc zsWncQ<|S^Cy#(`Q#sfz(PY$VuAEZO?svLiG^JP!OJKP^O8D56r-7R+Ozwo2|O+k93 zu)6(6ND7SpT2ATfHHt!`;$UpQa_*hzC!)+w67&kFGmu1<>I5g&q3j;XE(GRK)};$(!Zl<|!Qayb&a&%bL->^`1j7b>vyd>eG*D)5P;*CQxt_XBpQZcg$>i7Wa zUq4>r!+{S6@W8nt$yh9NpCMT25$K>+EP$X{jDN0pnPv4vJSEZEg-GxK5{#a+7INnn zxNrHag8V7M(;adt%w8I_2OPCLdakJ;$zh-n_Ff)W5B9p;SRbWFlSk#x)}{0hp4XKA z5@y1n^wV*UbTmr0<ZpW(R{!;HhDCfIYNTtSme!NNx|b4OkX|Zl8@-nxk6!m5Ngl0T*RVW#67f;x zQ8&yhj!quUx*nL&<0IwKzrJr!9<7NxqC9#ON$QhFC6Yb5JQ~)xp1!(@%1^Yu`e0;O z)jPB5M<{a$s@PT zm-8jZza{2nx>@tJrqc_}K&ROz7_`j>;I5A`ahB!|Hm_^ zX~CmZwO#%XvBzR|h8bH7W@oV1oy?O#%TJ0$4}@7{AIEqGo9K!-HoR7?c>yDvTdls` zK!m@tit*-R{?yg9E=UVgglmuN`7*LP~28zCbNuto)yvF%$DJJXoCqsm}R=!dKwZ61R^Ag z-@r8fyDdaAp7Pn0VSxJ?hB50Ne5ft|a8Le=#jbP`DgnFF;_xW3D?M3?s8iMa@F>w> zeq)6+;#I{?&iE^dG_~p*c_%(p4AxFS7C6m&9iOD$JD&ngWC5nS2>;yXf7_ozdyCL0 z=z~2E`sgV1v5O7TDr*QC)|FZb7rV>j|BN7zT+|afay@pJ4(Ek+(2x!h9rQ#A3UsSy z?-dKUl<0Ps+0cSrDtAmIxYw?h`pewI_iPAsL}#Z$y$`id)NZ&2q_d$?@;5M%|8917 zws@M**#YobV7mJ5;jo?-U9}gAhpxIQJW6!crPC4BS-lz_B|Uu{s0TV)vU=)kbf+5` zRYek$qS}!FY+dzTyt9|hC(*&z0-m}O|KR*Zz3}IfKlGV3o|ps^nhy~{7YSTgN#w(u z0TKSJFgMoye{q1)@f2Lzxu+)T;8bQ~aEj*LLLHpW;FAF@EwBilve=0pfJkN__L{6u z3OuR>-ugNBV#V6?c=+pnK(}G@JI}I#o#GE)c#>yXmE6gU1O7bA*1=TlJJ5FG#c0n( z;q93y{-*BEZKflvnnP@c4u+31wBTlh^)jL$ujjmjGBLFbdw|(m=cz9~GLQS4dH94_ z&X(_bzG`}4t@9mhz5*jB&#SK8=sVEVGjj|$P;1f;^36GR-tGoZnU|qXS2&Xd>$^X( zGSm-eq&dFO>6QZBEt?o+><=b=0p&3%sixoISOCLLQy%rP8;UhIycz4f>vkr>>%2~! z%YjEAtv@4*(SXuDB!SvZ`eJa~9~t~oWCF7aHf zX-W(C7%imu={GJYcuuL@g z9t}UA@QVPyP}UOw{?V={*m5uqJzD>If>#kAScL{+YEp&1b=DIQdk-KEJvWAhPekF9 zSomd9c&iXaH@u!<@Da-I;gkT zi%vmf3{zl3_2Lyeg{Pd_q{9<*J=<(hlpKWxR5<`~LUigQxKCm}au&Ou^?3gokHhbb z8!I|$m_LJy5B=VsazO5{b;tY>Mw}% z&e(#Xj^D0J67w9un!+ONfgL0&m?rM%tm4>Qw1Wm2*H+d4&f<%Lc1- zN|PyV);o#GSH9dRW=)EN5r&LG5>x^-TgxRr8c*;=}5If1`aWPuD@<#69!%nmux64Q-vd=wx?eRO}BaLmb=ldEccjGi+AJaMA^{Dt3l z?DrnP!eBfb@a=xSK$ty$kp(}^i!p_fH8tQ9aKHhOV1gJ5H3uAwo7e%={|XQlq<#`= zEx6-A++FJfU4(AsGj`&VKx=2tKf?M1K3EW3T=5e&@fOWPyORPvJj;aA+e|FSJY$qV zb|@Wl86@Uh!&7#HkaF1E>C)fGrt6af+Z~XcD(MA)s*jFL4XnnR&TEi)GM<@u9>c>q z(a8}H!<=ybQr5WBIPv`5YNvIF@!j#SiXh6TEC`;M{0>FJc@RypT-S6EOU|$g*BmDk zDafJ{J@Ff1P5Tv%Dz9=y7w>edyIOzc{AM^;sLuFFPm_PmF>w6Kz3YfSe{&T+uaR}e zSZP8zt``|%j}sJLa{-eZxL(IJ7wT6a+!SFh$3vMS%Z))PUO!fR@oXsjW*M9iQZ46- z#ss>1^_i|rf&*ZrI{xMpLN)Lj(^f!iVIMRv@qupyziGMtQQqoIFG|l$M}jKe2=wMg zYRhq`jci)<>Kk~lb-fgI!+{Iggw6WqduuWax| z)c8vApKsMZnXqGGmJhD-8lS2e-6zLn7;j(Ls5m*JI=(9oxyxQr9TS&PJ+RX$I7|fo zOyR%#devRC$@H<=W&bW3r|}SLFWv+-r&MGw0vqsfm4*0)89aM|*SW@sH<4t|$?`0_ zwUcLgX1CEs_GUA)Gmc@A1qQ?lAb15!{^r~d>YAQ5v9^F;F=OZzUM31j0kXz{0Cl&WU!iO-t3t*{# z&qO$gN491o!M~9p0GuO)@d$ZIXE_&H)LNttoaYqgx8)wM{5pu zGw}W}9*+CJ;(HY^yAe-!e7C~$IKrOC6PjJR^d*rezMsZ;4O^Iq9Pl@PGQ`Sc6wk3?YB}s0)??d9gr#jX@#|uOhG=x-Y{B8hp}tyhoa6|ODhQ68nkHxi&mkfN z63CD8p6c6NiAt2v|G2skfX!S=eogTEF5(-rFiX z4|35wKLX#Sm4eNvJB4l!#Kk}a5S4oKR6Lv_Y8#NFKIFgm@Ndp7;Q7yh$0|IF@LrAQ z7rc`kJ_rAQkEbm!_BF2gjmAx<&Z@n0T_NWeSifq=RP_SPIw`A}?Lct|E_++P$<5|d) zq4--u@fJ_Ku)+51HEMTxDJ|7WBi8o?&s>e?E<6UF1$dU@*@9;`o&@kvdpzgh8HR`c^BH*N;aQ4j zGoGLDGy~6_i6;}!C_JTj9>=p1&o(^Nzhph8J^rTYW&M~U-q9(;pIyf)i|PHF38<_i z_A|`JMqG7fr$*K+1mg?4$_B?9aTSB&5gKPrKxno(9k})vI6ljmnrvjYN7i_&uLdaK6RfjbUyZGfuCFFm3)feo6^E~1a5miF z!slJ}_UtpZUXp?6g&cVh^Pgw;bz5ax_eN~uc#;i$1UtsX` zbkD0&*ZvR}<4Mh{f|&J`V>MljwHEXm0sL1ma1i*s2;gVq8^E9cy)N)rH*hS9jFF|; z5x^I?fu}_PKSkF(CkpUqzjxLA4*;L z#YYjSW#FsZSpMO;N@61uOsbvNMf z_$leX6D({+kYtHD<_YNNip)f$@>rKg3r?~wLU05owxPfvntLGL-G_IeMnLmLcBS2Y z_{euIOblYpb?iR1XcERzr-m&pY!427wz5{?6O@`rg2r~0wqB!^k(pRAs2S?r+Ipga z*fv&a1F>zb>k-SwHU0(YlHEN345;la?wQE&EFWMaX|xVcwt68P#2nzq?K{QWb-Pi<)Fe-re!^ zGJKUAUF^SZS>4&w-RR0efjb@93q*y!@H_VZdiMR;Drvl`F4cs|Fo3r`l-V?BlE zFrLdXkGliUG&~RDc?nMv#-5INdf>^$a|@mdJWu0UiHBoTXN)`U`CVvyneh{?A{b(_ z%pM$Fdj633Qi+OiEwj5jjlYvMrtG1lFfEfEm|64C#e;1J%W znVD1*C-Z=75u4+mkchD+6#^{ccvIJGC8ucXgaNCFX`3Yca*iGcAn+JyGX*10 zYE2v~W3>bzF}`aJM^Ib{PhjW*U?klhG+V{RBcClO3D|2#&Z12 zwjvUBsKA%H6LrY(tx*Vy@syp4Iv@eR93bl0z*v0|+v#6rNxHb=+j_@*Z! z|6d?Fq7s?M5&B18KpFK-PeIfH9TlXp6^IHprhF?>JEfR5nfW&|5T~!=2SCyQWRnJx z=2UKc7?30&wGNO(2I}jc0VE$l9??Kxq|nsf;WKwl4n(WTUR@KVYcd8vZq-1b)oUQ1 zW26l=CqG(Eyt*do_{lTnm_|&qvW(|e0jj6$LIO1JpF`C1{5Fnvo{HbOpw*x7*iRvr z@EY&u7@O6BFX?I6DN~ESNGnqdudzjW?!?h5TanM^Iq)_|<1@L7G|#*vIb#i}9!ERd z+*jczSrlEDYbZ?h`r*t!^?Rxb~YT5~3ch?RpRb?F!>j3D%%29eKq2 zA}IrHf>H?KG1fltL3Z!&FeBno=ns}~eBvuGNIFo%rk4^ zM4MTG+&TWNt`VLMf5JLwX|~+UGUPzvtcq9InA)A$<{e2Ht2peU)@K3CC8L@x6whCF z@2cLlz4uuUBQkR2{bM?7HcEzF)G(}O6}LjtiCUP7`t+^>O{Jiu5b>ACL5kxHRuVqS zwdr0T<5VL=Y=?r7%g@(oDF*CNP-gjP9ZE8@LqTfg^K>ZbhM{$7r=0#FsS&#=&wQTt zF!WsUU4R)*3XXhmHR0ob@py{vDDYaCxt#HFj5h22h zM`+9z7e4! zP>j5-xyCc}@8E}sK}3ZHGDp{RfUf>vUE%pU@N)f?B5|fdK5$$i;&7kIUP8h4M7R^! z^fzfK zL+oLr4WGt)dAhEZZl~`Zo$EvXIIbk$cKs#wH+(zrg^Dj=#aqd(5!MqJav{=^a{Srw zAme8Hnb`IT#;eAhU&Jz}1G8&N;L(*&Pm&B=feDhy_g7r;)QH5_*G*i&aU1UVgwY_U zpcsKjozSB9CMy%75OFW+xCJ6&02Aqh6*vJfUQi>2Nl zT8B9Xhc{t!bxBN?Zi4BjSJiGv#%c;;N20x5H{;xTGTK?Pd;i;-&1r{ud28AmGFIaw z2(MVfb2lXu@T?z^#>oK;WYkU8p2^lDSp+8H8U9k;@SomBICi*k?!e;68EP8>@tulq z(u%6#x34d6N7>Q4up%n|I|tEC{%bNcoE=X&&L?x13DrY5Nuy z5QO*KWg0#?1MtV#sVNS!jNR*YCuSLY*6m5kHdMxp9jHCz*pJ?IKc?6no2x}et~rn8 z>hbXob%Jm*c@EjEhwFy>8D3I1 zyqMuP)eRrP@F5KMPar1=`n?E5dA(fd?}H%Vh0$JYH3kCkm)q$eFv?Ewq-t@hXROwV zbqo4!Jqr2(86z6_CKgy$1FUV@d>5BeXtDiCSc)cv{d8 zm6?v&+Bldaiag7uJ79Pz#^mjKjn@(m#yT^Eb=YWwRYF>Cd# z@&}bS8cvdp2njS(>-dwPR^kWemKyLrFO{lc$xS{g&)U*@><-6*O9|JjF?W0b_fMQo zAww;4G6jW(PO-+7LXbhT-f5^cQV~a13%(ocEe6+PID&n1Sw4L#)c`$>`o3oZ7(iWSg z`kfV5&#sX0DrTCm-^cNN7T@XL>c)GPQ7OnL;2>V(C0emKg>k zQTqy{*0{Teky!BE`7W+yD#K>mlW@4i_`Qh7vjpF{_@0ZW37+Gyd;cVa-;d3;4J_nm5ldD4%^xKdjB5RNZ|pm@-@vujSeY>^=_e6ig{4N9V&c#zfuU`K zp&zvLobM(YR@i7HO5KBLeyKqRCl0n z%kVscXAz$5c*5*YIR9wIPo+ZoFfy&4#6B;S&#%-6&@nOVN%%^p;%gZ!E&z4?7SIFS ztGEli+D={LHNH{{bcXfSXugsCS*}sM1NlGBLJN#+WrO$ni$7B_r=As4R)y2fW^7>L za;>#~;+7f(woWfs4t2OGNSX1bi$+mO|d)u4FL>6Eb$ zEqOPE@AwFwFE`_-6i(-8R9n3jG_w+0P4W4a+Br_z+vZ=oy$sgvz3V+!dv$7Q?;@Sy zqtCkpIF&KdZttn+PPF#}fIxfS$YI~lBNW}<&&N3JWtckY zUESXMpa-cDkf$N?b}e}@*@?d|h}w0CEwwD&Eqw3kGv+iRf@UHv+byvcF3DHyQF^ zCHHEve`9s^`+T9>%V6EV54`JYuTCxP-3q({LE|CnUG4oYBiLSom;UY5IoMtn?&@EH zQzNgl+nfEpwD)JA4E_7zKxr?b==L5&AL{lpOkHL7?~Avgz0+=p(q7yDPx<6;^9)7F zD96?BtAQjDf9qHjiqg6cU}QP% zq+_&jJN|k^`}+)GM6x^Lmyr@7IZkm$e2$1YqalO1-g60__wf9HC%8USuV?W3E{eh8 zjZh6!bPeBhYSu)cE_dozv;$x_u15LJ3ba#SdU>YUK{?JelWWk`=AW%;rbsh&chdJO+U z3>;ejCHvEGq@rxG=mI_7tL_{Qg2ieg8OMWX=+ZE=Z6jhJ0^c9W6j;EEmf`fxzTTVn z(xjjlcE5o{SSSt^rdD;+pi&9yWcQJ@=;K7tG0wQP?jg|NCwGZOFZ?RI@Jms6;3TK` z$#&U+QOL*}!?}Drdc{t3Rm^{xv{5P+epK+UHG28=TuOiY#KYFaLN0h7ySNh3P_+e# zR1V~7*nTkaw;cIAsSAI$hV@1uv2-D{XFF48XA=7e&L*?P5#q|nU>00E7e=d7!QdN+Qbp3quNRomII>Z&|s$avU8^E==~dn zD}?j8{lg2ow{w1}qsBNu3lXI^i>Y;p(!}&q1+bD+`!-sUPD{5s{^{EHcp^KFWu_D13Bb=Y4#}m|4*a^? z%95oGSaG`?qr19qgd4+Q>v3?#=HZ|i?|j2_STU|mf=f<>@OkjJC1tF}Ofn{?``dw5 z5CK^$1mlBVM48BZa-uM@EY9D*du9RHeqQDuoXd zo0$sCdfTW5hKYY7k?MRka2edc5eeei@w} zhh8ORMVY^}W0UNYg`0CQCljk!S3TS4ybU7ogSCKi6bO8Q>FSg=7oiST{&^)(+c`R3 zZbdrvLxD4jNsYoWmqSRvoCSR++Whn8>p1_^JH#pMlY)|g8iaKmvWqIAhe;7m6#AiL zYS$WF!c3Il76*`bQRF2g8}@}@WXTCi$DEoP*gb0DxD9l414xHFsyQI?5@M4>MVm{^ z_%0$dzrVzPVHb6%I|R{oI-Ir8bc7lxGD2uxj7o+F$v8o|*u}|Dv1ChJP;?S=aOcHq zGD-L{ulu1Kh{iUd8jj}q&>|mKhs(zsS*>r?;48ur622c*&dBHX-m9?o|$ESxB^KN^jXwtsmD;xXcK{fq36PGuR#us_=4z?T87?m)R`mB8=iz)wF$_^%Yv}@S$_){nrJAKUB6ryY_cCaGv{M0BC6cbq`j6`>!Dc>g<2kg%`4L?!O+# z!jEzP^_I$p%YPN|QvR5_7G(Sp+-mv` zc1Xr~X7+_q0|tlDQj~3Qpc)OgoFuqs7(@#2YTbr}*w>d#A-EYUAkp6>XiwSMNDyVW zxix|r&Be;b7RLR`9eCHnz#nh2%9RHsQX@VFq6zXz?9eLh@u;a0ux6sipUr+q&7Ep`R zY0xm?N1nGJ{CEuVWG(UwzYDw7h5w|6FD%FN7KG)Fh2O6QfQIWl9 z?^AL^7XTeg`Clz>xcoJUXZb<3F#O1eClL+OYJjJw=@br6Q!Y3>ZFBwAIz^QxPfr=0 z6G*jDzOg0#ZhTu8NFeA4mp1S^irAt-)~O70PN9{tpa*nS99dNhlW(8{ z_pu^v8_!JMJ_uX!&jjyEpK4ENJY`#$!0cD595>Emia8wK`jRpcML$&F0Y$lsFeDsq=h{5xN8*3ti85 zcyEL1_QWqA#?8j}Gx+@m9C#SdaS##7c=p4O<9-ecaza@Cw-_ASzU!UXQ zuls3^^v--Lihj^3TTlt!qU+49UkzM}7))qN1~G-!aoUIqxFbGvK~pEBa%P;LWC^TP z!m7_8_wy2@Ig0u1CZ}suUnEk?@&E_J{|D!5(2=n}nqwDVRZ{2RNPw?JbHcQ`7_rhZzfVDa>D>)f8PiJ*d?LPS(VS zQMando$Vr5wgi=dEF`a|hM_V=gWya7KEwD?JO*H_%tWaZ&OX3t{HOPVD$oJci@byXE%a9C2wwH?$#;sII$2tD%0Wv?|2HBZ%rTq=WD9P7pT$ggPJTZ2O#p zKYgE?b4XZ7>7KQSB+$^1c#EXaGfYk)^$b%D)4|Xz!tPDFPzQ^U?B?~yFBLbFZ^vG5 zY_-={-GYk_V9)Gcvyv!R&5>N&EGsMUO%-5pr2f&1_XDMI_lII(?)#*+yvF$e?geBI zee4{u^{yVQUPokLt*gg)flx>u16$6V+`1P@osX~ydXWAc{Ndz)~3!wHXkkXJB!Sh|lPtHZwWAkI_Ia z3V~AJ@lZ>&DQmF1i*0)-)(_AZdp?ort4UH<3?L%)!J%*;f34ak3XN;An}q5yRI2wS zn(1IP&{`_$%J)?hS3c}1lYD9+@~|!|FiTKow!1>E@kjmKpG^y+Y;Dq3+g=i!L&&(t zlYI5{2`G+t26V$r4yC0ywQO5}D^D>C`WyfCms&=HTT&0)nGRf@0As^dZ(Tw6;ePcC zhE4T$7A3CDFR;#g&5qEBu{Y62hpaF?Z^zGl1o2ctn4jMh{kS`Q^Q zc6YyM)2r85&$2o&3;JU^%N&X_UHIbdi==`Cb>NceF{M*S>bp-x5>sw_wN!i*Aj3-? z6Itpcr&J)SUO2;$h*kO(19iw?7p#wNKNGyu=xWGlE%-1g*{@!}BB$^gBuCa@-wUC3 zhvmJUd4YgwC{^WW+WZ-`Kl_)L0#vSlE!U$+e?S0o<#_f7F)>{mUl?D!#|zCT^4owNH)+i|SNpE|gC;y!&#CgPm+e8)|j{qX~1`Pe`{ENfKf1yW^ zfK4Btc~MEM3{WLsM^fMd2NMqG+_umqF*QdiFS4<$134(`-Hf{Z@0^c?Wt|;yXE5xe z-xcLym{0nD?7ew-RK@ZJJOKhhkrPoMqCkKk!3Be&fPy5F$c!cuFD|&?<%%MT0>X@- zYy*=K#&I;_hC7N}xhjgHfFKYSleh=HAc|K4qVzZ_af66UzW1#@=ggT&g5d9YzJI=t zhs-&r*Xru(>gww1>Y~WF>^wQgQPgvfIX}LYjXU8z0bB!*t-a~nh}dt`rD#s{Or;3qyh9QInc zOEa>XWTEc37_{-%q}EO9caT~e1|+Z#C#eZ@e)-?=&O0pfS}qfSqq0Q^V3(&t>QLJT zk-YTyp?rz8GMh6sU42k%5>#j185wJ{F*GceCYXnR6F{Y3;g?qAQExlc8 zJMHsi`s9GLMw2x0y+v_O!K}Y;*BtU{h%)Ll0P4iPL!JrXoLob)%runebol0!pUKno zbzFD;z$>)nuI<*s+`-uDR55I>u-3$d+b2W0mPui@E65)^nEa54&i5by$nV zjEyf_4BYc98>yAa!Ya6$x1B0pq%Wj~lN??p#5vIc)0=QkqG9S`!30J1RfMU|7G+w& zGbPUN)u|b%h*<1&KCt)0Kw0Kf*zu*RFXc-oyBx{XM+ngUr~99ZRJ0gNs!5sUEie{r zaVHzeK_1y^=oKc(+T_vC(Oi=}4lK0E!x}H-CzlMvg~xjTe@3Pr`sw*IaI9c7^s&3W za9z1aMbYVT3^HU13v)^`k7v?G;Lkd57r0lyD9zU)&iv7E3&~L*@>w6ictv8Vmm@ZY z`~SeU%5#XX@>7$lITO_op<6IVtHlEn$BSj36!Sh(qYNP5>8@$EQ}Ps-X(29p8mdCC+5v|>&GkyIydwgL@adTPRq;6q z^FQaBnK&0a8HdQuhh&8{XJlGNdR|?70rzYT?in=o0tK`bYn1_{ z?4W+?V_2tvz2uT=hRo!$wuQtBXK9YpancA|tSC+%IC`gP&4L7I!4j;CiJjF?u3!Bn zs2-ASE`_Vg8Ek_V2HhwiLpo*3&E8H0bZIQwoYY*PY>eJT3^fojkRG1Er+g=-LosJC=%O}$u#sOK1)AjM`TPve^0E@Hh2D(cvH z(p({a5+Te&%2-zfORL(URnTYM+gGRtKvl6?e|EiAbUbJ)xLE=gX0@WNw2`KK5(2{g z0trZh7eNqET~M2rH{$XsO$25_KINf#kxxgb7lrk z)2m#Ny>9eXCBppTqfVH=IGfYw9(67x5_L4HW4X7p_EgmbpX!e@oSoMIzHvYgT{#ro z7LF~>0cPEy5lcD!xg(e7_TJ|Sy^r$9etqKpR6*ly5 zw69i0pz4Y}24uOzBbGwzIraz571XhhkiMPE)+CnT@Ld$$GhYUSBZ!g|q`$IK@}}1A z$Upn3({a-{24UMgY_@habzWh5q;%FIFQR82D--; zhF{>g@&w+>h%2}a+Go9$Zt1tPJ>dc+jc@6ROjl}TCu9g0)JV`)1l6chaYQioF80fH z!TYFvUCn~+{Zw_}VN$HzP^ss_p8YV;!mAexDAaFdNWii(3D8BX)J169GPQz5pbZFA z=j`SbP^Y@#`Yod21w1il@aAQKi&G*$)I_dbaZxYcb-l0jO&;KMLzcj&;sZRNRVGgF z+>wi}BjMr&O}5~@1GOZ=+X9(mqnIpqvHVVw-|OY~a{gk8V+12C>tLu`_fQh*zCR01 zhzRP`wQzT6A>~Bq5s8%6f}H*8Av_yI%830*NO_zkhM@-ejdM446pnWer(6;U=;1x1 zgvLSWd_5RQ54EcJ1fd6w_pM|-ohS#qr{G*LLXz#xa!?nk<{LAyt=-R~F z#uI@zI8#JURd>P-Lt*$FnG3P5yVr$|@*VGi9uO!~Q=t6w%&KsK9N6eLUYmj@IKF`V~ zkhB0KiOkgRXm{eUj6TY&i6a#&dE$KOe^KGt>eo})Efs>%KQK@*Gk>jvXv><@FhKbU z0Nr*5=h-^7l`}e92(wm8U&!{p?|mcDo|SG(Vb3}P^{CtNW6PhW{G^2(&07Ijx+=kb zjx^a;rPwr!u9o(Vh`v0}Z0d-OPJNx;pFsDFu?rldHe$6#K}v$KX@_2hWvd#%U{h0B zLoN|nJ)dm#=l9sb^~{Y1vc~WvtYY*YpI%g{6D7D|!;K>(Ztw(F%*##&Pm#Cd**afV zY!E=1pb9W=SW(o>Po1Kg>@hK56T6c=YyIbaabk~kkfBzufmex@qgKTlXkZL}w9Bd7 z!AeCpwI!R%;g!kVm#~J^*HYkGf@9@2Tnw6`Zo*MVQqyOcYSogHoTJH-r}X%ZOwCav zUYJ4_khiZq#n&3YX+BX__%dVXX!?78ii^SCsPy{x_)Hw&xeh{?Hm@!<+Z^AIHP4HX zhT>O>wx=%B9bU~lMlq>muv3R}?lUdbd$}X$r@X;MfqVZ>oLI-%cqmjHoA~MWCcYb0 zA{z$dK5ut8s)jU_s#Ers-PK|(?Nw`OuLDy@R+pk=^+i9(Eb+^?dLOJ#9Jr8WqFwFg zdr95kcHKZQveyz9eG^nTizT6T(2=4O$L4v1Q8$;^H}>a?2B-)CVPU#2TXSYyHb?}3 zy&sFz?A2zyogL~tPZFP>`ZwWn5k43>2t4q6qIGm#00s^(nTi-pU^(go=ye*Ox5{t? z+c9sYyp%L=mB9}{;=Gj$Xd9Tfp1X&bav~r;Z~fMneeRgIZbGS;w|?r8G;jR_;p%?~ zRon2x@!_09`yiJ1+09ve1rj9LpU`${pPS3=8CaOQ*#!B}O(+IQ4Q5KSYONDYz9 zHamsIkZJ}W8PYIYvp>b^8<~nt%kZO+(^8j`Fm0uN{F3Z%?k2zqg+B)q5F&drrHBho zbW)_HpVaM_{ffv!MIsKbp2DFn6Xw=aD8;STLOAF0w-CUE;UAxB!7vCP65tk;xn)A2 zl*|uRNVBT&YH`CZMTJ=uN1@%&N~E)-WUFn_EVRP*tf%p#AC+h%>4Oim6ABvewbtIhWskG&U0YLi)SMk{s9i zfiv~NTO5JqT5{a4W`h0NdRZJeRWopXBKjsna71lyhWd?2hKZaVl&NZI1(Cq0avZb} zADGd)yAr6G7#hl-zWA}~J(=}3N4>EwYG{_AhurLE99p%Kz&Gq5^(8bNNuZ5%f<|kM zOmem>0Ua@Q5@j4yqK1vtAoVm#fL`F6ZouGI_=(#${PlkO>u@Rx zR~20o=*!aOnsV}u%u5(;Q7vhypLW%VC|t%PQ9T1xd;O#Dn+kjjO^UhAaavLM2B^$` zkE_go_SpL#g_g?PC}}3Wo(EuXB4fXBf{URf`N$}t_cu|WP;VBxWo2P#`ck-afm&t6 z0%~vy!#Cn+#dk)DUviD8gnOZ;)P>aK?cYk)5<8|8vTPn|&F@l^7b-_$@8wXR?DO@s zo!h<3@8H=aj!(f8NA=LzgC^F*e#%FV0W zB0VxdOAfX+f6&3S`406<^imd@=wLcg-m=$Ah2a~pCv|gHqq`f}*f4iDT48r%PC0Nr zpp|bd5bK%sRX?nOE{wc6uo9u1d<5!T4KH4vBv!P5*$91&yeMIuHP9Au|lR-K-I&+Pz?*{1(a-+y-AwtY( zFP0Bx)TxL=qP8(FG=N8 zft*wu02(dFo7DAl3VYpA*NaTkIt^)_vC_C&CZ(Y>EcF?Ty`nQD4P22ybAzQ|SkHpv z)EY#_Zctl0K{%qPvV`cN>Lu{fm|LxIM4MU95T(gDU>NR190z-HuN2!`2tTqVQWccoj~vaJ#PQ#C-gCv$1jK8wI6- zoE6K&)BsUT23DrpIDy-G9|1z6HWkx^s!^}J2 z+;c{*sseDEd4c|$D z;kDyAB_`PKTN9VLKaX3Oxq+5~y^HEUuv4FQjI~qm)*TFAA=s(M9xLu%(|fGzllSe9 zXnfy(*{lT6t@$X9Us)bt2`p0VTU{`nqdR#x4STHn)svv@IDs+bS}73pXD>JFP2-yW z`X|;5d?gli9O8+mHy|~TicC3d_K`aH83Zd|ha`E+n*X8n#QZ-NTbAE>p(P%HNqSPc zWm31-U9qtkgP!NSd+7NHd)FtXtJ|Q$fR!Dl;E`mnvo}lu*tdqh2d4Hq1y%zSWw;i zde^V=J6J*pmkmz=t#hSvJgeot#vNUNzWqCjLO*+YLJe)o_guuxMR`^mVVd_J?%38a z_b&AZa>uqa(I_NRt&an)TjD1{-xjye$sx8QPWv1%1jtEpxknesxVXvV)2vPdPVn}C z;m%6vcUbfkoO!_0Om^VKcrstLB@kQmSP1(ZC;`@H;zwA5Isoen(A%Nf=N#FY_;A?g z9Oz{BOJnvqIo3KXdM~O%uh;>yFzZdR`1qJ!;s2!}>fNl(S^ZQ5aJX!TfuMS+y>oJ~ z`2pr5x&W)E)Etk!8SvjZgEK)Ka3zR6q-pnR-Wy+DW?QUEbNzJDdc8GWS|T58MN%ne zp%emjK7l%pKw0>2XntJT5pCl9c<-veoF5BOF(F{3)<_nx{?+nfSxSoqAgd(3ueHn zN>+tV^Q0?(mGrPe23~-f9!qwf&LLLeQ!IO+rvBYLyf1xB7Eq5GP_eb1u1p{76s5GL_!E z1BIclzda$odLGDHKBg#lhI;W>(7=JW9Lb~> zigG>=Yng)lb$77gm%?fauAZ#3J(!Hl=mJDTS8&hU#2!*P7cbq}*L5EW84c1?J5F

iT0=IYh7s;7ky02xw*0Vz&6i}&O}w15A1-yF&|7zu6`^6I6&UzRQu%7PG*=u-*TI_ z-i)X><%;c&iS^^3aJj-kI!_K%T6i4+pk0)mEeQx4fpAP}P zyKw%+kDh<;n0#3H4!2Lj_Z>K6ch7HqxGgTcI}i$90DN4Xig$2I7}? z8ta#40PET5|&YkZfM*>AHWIIRc!7$4?$}}*@_~;F6Os8{{bT~&zK`L>MLX{GnqtF>VRFprn zczd)5HbN|s)15|%xaNj)l;%=py}iJDZiAESCO+`-_2Z zArt>rm~iNl%i#EKkMsP>kC?da*J@aVf;+QxN7u# z&sXCxa6dLtm5{%lytoQU0TtNDA)W7ex3v>rplK(*UP9#G#@DTmk_BHQ5kP!lAIhcf zZ}ES`*F4~&PII_m%RUT3vdTzt&mw^J$&7T=)=I*V@DkXUo#N-xAB$d zC|U58g8<^Iv^DTGs(C$p&H7g4<@zL+C=Z*0^RD|6Q3rG93QK}@g7^6*VJ z9~OS5wu<9NT5%Ht8jx@gXXu@nTxeSa5H-G|fEsryQ4^PMjpakSV42$iYuY!Cz}$e_ zRgLBA17%n)w3~b$CX7J|69!Iza{}mTEoMhVCy(X4po6g$F~~Mf9ud77QIJtf-vKWK zOHTNM(xJ}!Yb-uFkMo;(_~#toCO7ejtN&`h=|+{StDaC74<$eAhLOv=?xk-D=( zq+SBy6H~n-+PBjwVr%&vjNDkh0lxlz)QFkwPN}M^2F`%1!OqE82c1wq=ocqOb*c~Q z2R-Ku>RndjHeTsV{Ua_qiKOoOdYOx+&e)mRh6-GGQn1C!B(;4o%&2MvDIIj?CZ>*H z%Pi)C4keQMUgNnxEvc9LB`fz54gy&WGo zc{ZLy@W*G+eA4^G8TjM#R`b~g&(8SclkN}sOjzHT=UK8n*npv#)akewrD9^4tFApR zWv2*o3ij`V3k4wqACd@M%kV^3=>KquL))epWDzqQ_9}RvC~0tC)W|~oj43K8+3oFB zQ1YFxCl2sn%P0-!g31eCb&aklfV>7=zM_VncstPE6q}f?=;i2x-evirs6U!wEPoqg z2n9f$w8bdcjM9&l(&rWzB^A*MMZ}t80|FP)<aurxG+TVkdsenfMwezCF*sZa%36&UI#0 z=!Jis+JF8OUOY3@YRhaSa71s@(K#UaExVVwqQS&y52A5eK3?2nN$m~RJaPw-wIsO{*x)j>-i%@SI&(vEVZ1>JS@ zO=^&oUd$I#DwJl-NhFj~9Y;Ef>;fI#l^C6ZXxxMmr=yXQ-uq9|3d%bH?r7qX9}i9- zqD+c5CNY74gqRkCn6P;rC#I*mTEyhAO(8LTy;F$kX}?8G1;0CqX|dV@opzjsua=agtQlxMY%gO_S75w=e=Eb)cgrsfmBWK}KYt4%a00 zp`=M9sk2B@y&WVKdA1E_+$Hc)%CZ<>SFM$aUzIWt_Bkl}V@FoO32_y&ot?|DLW zqs{jHJCUxA)3I*!bGvGg9rhPlnVe&cyiS-_r2!*qKg1#jflbT#S1h;?~GqBoh|bGE-CKtW6}AL@rmfLkKf%hDDe! z{z}3W9w#kON5Yabh9lGbHQ&3b(4~Ijj92OH4wq++W=7 z$DL;`>gXsRpV|G^GF}YXd|f6Mo%%wkS^sKE*~lp2ROhbnXCQ|E@R}ZfO^d&}tk+OU zmR}NI#<4&9wq#V1Z%FpSa;x3>6R zt=}{GuJn60-)r--l4479g^* z{tb?``Zv|;-<>#`mB617!+-4G_$#ev%utv0`v2MfeF^p(Kv_Nh{4LObu>J+&)HB~F z_3wQMu=}^!H`2fV`zf)1BL{TC+K#Ic@Q_0?qPi#GZZ1#tqh?-y{UqMi*RC5*iDLu!B3;^saaM@v{iQSS`L z3G|m_=9rk6!}|d%x}_gZa0LEn;)Q+?o9z%T2(WYd5v?*DMkTro`*>?)Cv`1y)>`lCV&p7h< zxS))iaam0e|G{X&&;#hn&VCkX_mAlBvC24v-l;_W7W^k9z+YzKdig9$+Xp|x-n(yRjAh3AG09^#LIWK z$JB=&N|SzJ^(Mi2zI1enm>QU^S~@LJW9my!)?=Ec2eIz9Jz2cH6O(d#H?ZB`o;fAa zd;w&+N3}!SVw=#?1j_~-y3$@t_R|UrO`lVXQFbNRZesi8ya|SPnA5zk3);o5Ru^M^ z!9y1uNcNH7H+^WhK4)T|=V>H=-n<6#PdoJdN5fx1z4`|ndj5+`8_55=_mJT~x}p4U zHjv-4_rx8^z?-ZWRtVN2Yeqs%2mhfEY1O>jNDT~#xPO7lb<%mzno~%QcLw(I+~KFv zu#{Sxi63oGa?+*X$-sYbJN9E{ZDJKRZ5Qeq^4@$6Js0aN_M=vPT@&j|xvex%+j8>s zP?^VAxM|`iP?)9p#$yQ0HFqzk`!yF^bqVUD2Nf_k+8@o=!3%ZpN-KD&4!&E0;d=$* zHjK>mfHVyWCNM4_chS3y5^6+odH4iAXdUnm`IcB+R34H?2Ou<#5XX5;+g}e)9z7~} z{uoC>J@C&OxgKtNPJI<&v3BlIt$V%7q+^O90k4ce5{>+ zrqRtiKZa$PS!*}%U9l#;G1zb+PNKDPWZ?R$Wv-5YS-hxV?;AN9uN z_#;2!&L~!MKjI*YifggYe1+L))4J{RndqVEHCTMN1#Hk>mov&JfGs#Gg*IH)KE1JO zf*q?F1elRU$FxTb`N3qYpwtE5Ci4S}o~cIe0Ta@~tdYJO>HG!`T4=ooQ|lAd#u{KT zQ~@o#$9UyjFV!$VYA=@7>Y zvvTsv^RtGh7|W~ZX7?q7w5QD@fmFDhFweQ3xf!Z+^Mf0&RwA*X%s?a;0gE9&sHrh$ zbF{teW%T_>yNH1pob_#D=Y!EWPHBERfm4eHqLl!Fb1Vonk;iU?MIGAsY{ z8)xOVe*Usy{&l$+p-sHg000hYfQmh0~P?XI?{a{=PL4&Q=;uAHYaP^=2d`oU>{G=OsvB(Wi4m&mj*9V}v=H zHoQv(wK?tGbW|_)BOx75VUV<2~jC$wQ_p7s$ z^QdfukgZgLUpnBE%UwIe{~jEA)p>^$Mn+}weu7OojoWd+hlMmW z)th+PgA?>ekj`qyM&Z}RAWyx?3bvng587nNQ*C*+(7tq?7wptkV*YJ9X<)RHGnpNd za@)z#NJ_jVEtJ2PSb zWLnYXPdT`PnauLwY4Y#;k%Zh}5~hE3{%&wBo8Lm7XLW-t_%R-A_#eN3=+Lg3i7MdC zj`Qod94lWxN8EK1w@lmq$-w||n4&3ah|cJ?G6HjUp(pFOkyacqXU7>jZVKa0fFY}& z;{eeK`25C`j8C(DPywv}3C0i2BGwa|9WZ=Sv20=%i?Fah{iyN{$8b4p=&wF_^B;e}~@H0lzi z4;v89d~dndW*eaI>W+{5!NGwX&WU(d#^zn(yAQ<$-N>5i-HO|Zh=Leqfxt` zCBCMnsi{8!|BOzk?@VWXbUl)ep{YK6lRT_Wy}Sp=oV^1-)A8fPsDpp1Sx;VRBhr@Z zuYSeJDIEX}Mg)6n7|TA9#oGK)%cJnmnWj$N0o@Oehl3Q4bi-tw?6+C|L&5#p=Ka4rqz7f-`wwIpY{mLaQoCqVN)g zVNVC70RH-^cYo%g0LKx$yB3mMre=d&vV~lX;E^yvDT??UB=gHI2g%54Zj;Ib8Ifd; z2fc!19=%MHjF^xCFhAJmpYC9#QSvm^zZ>5t1w|jmy9w!K0x1qGXh=`M0*H`KNHZbb znG9+5GxZ>S2*o8rdSL^QKD=8)daDvhYc6dJ(o+cOaT?ODcsG^@<^dOA`KiX7I}zZH z44VKB-0K*;+8h{eOp(ZDL;O&E1lEOayc0*4p2z{xEK3sMq{bc<*q|8z6ZZv87e*Eq zn~7_q>>_94@{Jr$f#FEN5{%#huFxZ^8K9zX!00`S063AF0zayLARjg4)m@4zAr4TP z@(!Xs;Y-t5^RMSYkMafr(7J0;fNtGx-MZmuT|eG4;b>j9S*=f)EUUciX#qF~?<{e0 z_vF?s!aM-@*nD-IZe2e!aff=XQ$$4^iAHd^z_MBpc_dpm1OehAD?D~ga??&moYk~W zY+48A#-T(1>NHrIVVI;+NQMt^0`vHG4#+?a-Z3VPk|>bn#%;j(#_)@N#!uu08W#}W z@Irl=)ZPXcFniUKJeh{(Bdy*4{80I?lBbvARoj1=g-+0gPT?ceSfRspp<|H9E|ec? z=nE`#Bwk(7+t?@#DJuk|0&t^+Hf5pkIEcJz4mQ*9UX2l_rt&=;;CjKXj2~(?7#t$z zIwSa@ZePL9H_2?Tx&S9y;fPh|25IkA8R-1-zFftY-Icf?R3$#Q=uoJ3G)D(46 zk9^_eEj+dlUC{1o1VU}E)I* zqD3wGRJy$k?_|Z0uU1#$9bF#FF|kMt1B=o_jbd@lAi<)ac*x@hPGof@v3MrmP1lle z-57zN#%KN`LE?8(f+naz%ZWLX@LqMy*U4zxxsGW27r-FeMv~qwv~_C$ZP)&<0kkdI zVWREMF9mI>7dM8sSBbV>m4dd#c&E~>-psyF4ftJdqS0LE6@bC{v;s4C^jUl~lBtC= z(=;>FJZ2hiW@=cy_aPkkB$Cny$_P}k+A5LlkiYy>$GE(>l5^Aqa-X+%C$r0kp)oBV zJO)N^x8S0(n_OP@NIzAD{Vo60n_cjp@0Mo z?1{L0>M<5rtZ_G-Ku5kz#@$uGc=_OB;Oal8n0|DRJ1L;O^DW>f`Ru z&o%D0LD0n@zx<*`aaZ!zL2>usuSvMeTFs_j?DA$|SZbG;6hkrCxngtp35h-rPMsJ; z1#cO)y5x=6riYM9cOfr#4zOs^-(#~b9WE&b9D^#05mR82P0Dl%XI5768A%Fs$m#t8% zVK{&m^)p-aCKjZLiSI&bz)UU@Xf9T!WhVxxB}>tsml2>wu{Im$FQ@7D77^#q;6n}8 z&{#=)0%Gj~%$I*yRO@sShK zR1?yL>=}B3RF5#e0au@URh?-51DxsXxtTC9tm?<|%dY7nMCQwTy)B6^7b3sdxPu~<&%*u|wR!X?|cm=>eG*^G}i zgD1?|$mx|4A2T9@5pN)ZL+UQX@X5VRKHmfP=JVg?Gi*Me*MLW7na`2tlWHBNKh7Mg zBLFhLd8Y!Oqs{OY`e{#0H;};lpkrer)TtU4%b&Bz0zCm~k}U8L_x~PyIGyD=0SQd0SbFoc?Dv#mrocIk%cb z5E&&i`Nr*W#%Bb}g*-67v!NVf7T+?0|3wSPL?<$;0v~EjBNbKkVMSw5(fz=NC2n1r zP|@v-L1|em?Pem)=AmQFidr%XhMz7~hn2OEm_z+=B-$%77v##*+BZdhi8O*ANXd2T z%4NvDUP?A&+DO55Dwi>wXw|P9EI5VP7dQ)k!;IMjks$gaK2(t| z*gv(Nolt2UH|hK`aWi8v zV8S60=ywQ{g_~Ij5j`V{h)q@*7Q7BJe*jVOGReBEGEZWeFR;w&cg%J=@?D*fuf&n> zN3hx0ZR!PNQvc@9(+y-PAy~uV2=N22SScd0z9J?s`QU8s{V)+I9U5YsF zukk!7w`iJ=h(3Ytb8a`={>bJe>$F0= z7WbMkC44FXc57EQdg48319lqFwOI1g$O_#@6;G^fgTZkTwm$}jt?GaIG>EW05b_t9 zYEglm=?-T48X*vgGVo9>-xl2j*LVP3EH-lSPKym}5HQ7_N=e~&q?l``SilrpAX`TF z13P{x6Pqkv1OqH-TX-Rf_)wd8HqzSAzSj%TW+Mc!xbRTtJOpcqh?MINNDzkkm+Tj7 zH0;KQYW5HSqBadMxLJ94A`2>TLuVZ2Y!6<8Iq}G2qfi zFjlaX)FU%h{jxx09Jb8rGd2%>Ho79f!^$`+6JUQ3S7msp!CETJ6_JSgh+MTGES0WA zH0wxlR0<)XPF2sB_@!q2&R`rUi7!Ju$0s4k@UQ*}>0FLma&pulR8Ss}aEtV1ZOe{~ zcE%4So|*jEVSbD@pVThOOr0d`*QwQ~Xv7&MS0D}AQLHj{psz1X%;D=8?@S-8a+aBW z=NlC5z?5NGDAuW)QCvKwcPn}}-t9wmq?r}+4jP!y^}UcF`VK+?YZ6hynAYsAwra>z z=sg%NSiN_{{m$M4vtUbXGpFbuC{PW9!oh(7qht@OvA}-)WK_JxtT-I-vjFtMStw;L z-la9%)(0FgLAvqb4#I6x{ zn)ayj+ObD5_Ih=v&W>A4L**txkcB^N2_23JXDkM8V>CPyf=8^q>SvagiPB=%@n;x* zK#5M`-Z)prfZ{KL_tAJhhQC?A)zzJh?;1R7@O>fN6=bC>K2cD5I z{>}60i{YT(6WZzt{o;o72_6~?LN=qsIR%P1Y+jXOJ88Z1{{P}ZzTjv&iVk{3%M5{cbn$0OpsjaIn58jGT zlpp}Ad6%ZRbWn#*jGFL_{?rFzc~WTH2{UPMGeBdLY63*OW<>gHXxbQ_4U&5ZY@~j5!t1 zO&QBmU);J5hslkSmGW5$`zfR3Gw5buLuCZl;ALr(C^xxB2iCmCg0NQ|*6sQ%tEJg4 z*Qy1m8fR+Q7$_~=k=NNZsuzgD1PI6P)!WCqT=~X|Mbp4iN9P58Z{ovA4BdcmgiyP~ z53;T9kp2ppUy>y6&2-e^Un8hBg3|$Rv;;pWL9&K|E15O&gp^<%+%8yv3jyGM0Tdi6 zSh`A-L6J2}L63lu$W(V>@5opYSSz@DkYJAv%{~z{1?l1?28P387#g~(69YrD+euu( zQtqchH?;u19TuCn4&Wve4Miwe$|}M_hDcP2d{ao6;es-}PSCG7A~$;sUPtGL7UctT zYRps^%4mNH(wDmH<<;!yNNU^D%g}AEbs2z7ABUgV75sn$rAE*Zp-)wJ$PFjtRWN>rV%o@1mB$#sVw6t1G#iE(sr8*x+-RCq{R zBB|Fb(9DOV;-E65L5P{=^nqwu0)x>JCg&+wfS%Sv4;MN|Qh$4rMPgh;5W_2-D+cG=?u-PO(wKk9n_}BOe7!(w#>W?bCg@wv2-L_77olhdhNJ@v<;Tndh z^Sy|TtRXq7RsXH4%X^cKMZl(gTcccZfs3!+46L@kEdi^~A&gkP{GJ4?mLk~3>ib~1 z?#N+bb&8-sBc(B{etynjVRg|He}UC!7Z9tdreXiY(y6Wb~onVtg%4iH~V23g8#%z0YuA zX5jZWzN4tdzi7r}OkcH=2R4kY9bL&U)8J1#X1c#R?l;+ihZI5^3ewTYq%7Y?Qm zsI}cl<&lA(p=V>Q)^^ojzq6ksZQpu)8RUuA06@3?FM$7qg90yWpW0YQD@B{#yV$}0qnsv(LtQCTn$$-<5)8~M%6(B&3 zdOeVs>`_Ou%a|<0WCM^a`ZB7EL36p02=DMQ;$B8vl!9#Ze*6%M8vR7gCQmR*{)Zq9 z!pDq^Xx?zr1mxd<096hA6Yx00nXK-{%_^}8u@ew(FYo_lF7NlNUdKcJ{s-b>MfkC1 zk~|d6nMCb{r8Vvdn5)Z;-OPkIVMf%*^z#(<&aF%`QiMMt6QCylOJs4g0BF29am#Am zj8WqeYqGdcK4iHf0>ww*s~^ZDETK(=^~DOU%5gEPhIk+$?xwb)zZvvx4)hBEjKdVp?5u@Pvmgv?_2_?+s!4w4n!7)u7|)>P=;jy<`X^(mg3^O z1-MIRF^=OFL#V`o)CGl+Tb6Qt0cy|d=8*SKT1Ignm-7y6Bf(nSZ}&08{ri@QxUa*t zxc_}uoprcF+Mhdu!af!|rYorq_xxGs|E-D1zglgb;tB{9$B>1AUjX>%ZGZ|Q4uR7G zOLzntv4fHdMZxg&N@}A++i+1PJop?V&8!BCAvPQ=1{xmLq&wl6Ez$``zAEY+M>(vu z<0>G&<`u_zEpvTEomgS0Xf6(K;od!P#ez&!kGdmVDixX>DYS-S82HmlK6r=LrarAf zF$D{>m@D!D^3*U-`1+-YVW(8NBS98}jG5BnqrTg~87Pu1UuLdg4!=T?eiE3v;X#?& z7C=x~tS6*`GBg`KrwgGhQBk1Ji0I?i5F-|-g}=eWoj%Wv>WEn*JvfGsp0ZLZ3@=dx zCHx?P#C?h0fyUfhxR()0-FBh~&uf7TK=-jb^oi=zzA0WS==%sZ{O#B2sI98-1@I#p zh?pU3hNFtY(Dxuezq%AyE(-4U=EAc@6>oIrQq%+Xlu6ny63$~5Mt+>^-iB}lH1NV0%*4+@@_ZgK0{$YlG@x+ z9S7d^+$Rlf61k9e)m)A7s5#ETFJJ-aQqUtiSv}gbHMCF#3yOkeg`tAEMhSZXqYSfO z0l*4QVK<2v#K;7By%Y;6AJ#pu6WgR+2%6Htq1T-~8w%zMs?1(oN8y`sGB9o8ICo@53wK~oEl-H|tYL8fs>wJY*2xIg0^#od z``>_`0f)Ks*SjMZ)VljuPU;+Au8b~q2Ty2j1m9=UKv^21Cw_;Z*4|EH1u(kQKdm*^ zKB4u--2X652&aWq%A_bNPoH!KsqnnsWzO>a1DX#sN`7J5x-xhF4ZiPVna=oi0|AZN zx^|{su9s{=N?gI2Q`CR25$ucx8Y>DQ=HSu-Drqj7fLEd&uVe7aA%@qHcxBh%bvRyS zY=))JJfX{QvGYZ4gpNc4j23n(LZ)~^5BZ6Ru=KhobdPZ6aD?>l2|UdPUlG)H@ON!bk?q2O406mvZpW19IQz{ZL1JbuH)r3BJNOlJY596h{>GKIt8}jF)1RAp5OC-wY*VWAR9xX8t4N2eXEW}!*Jlbu{ zC}&gbBqVlqjIL1IeQd>4QW&bijLrGgF=MN{YtY-rs~{i8n!NlAweML-;;CvpLTwkZ z!phX+II9uEolcY?IZoA)Z>P8ldhf%Pnh?R3r^GH4)-3OEqLJ?Mb}%8I4u~rG_CLBK$Dfa5f!re%04e#$TYJ6_OT|?DM6@aHNYa zE^^e{Yp`#EIp`6HAL{1+I1hxG_i4)IabUw`IR07Nj8;KlxaUEfONEbfZ0xj}>rPo; zx05Hl;De(U;k!-=V=Sfai*VsnRJ#gximuotX5jY(1sX}7(-(0S;mXPCaN~f>zDd-0X*Wxo8CUy?>mBT-Z+<)XEOA7tOlkpX@ z!bOc#HOI(Pi_qWJ5``0EYU zYhXq{mr>$Fq3+1wewbs4^eOGiFzPtLKz)^tIH<2~F4O9(6!{eORY$6?nn8VaETrcF zh*#^b)9RGZ0VA|g*$AULC2hJ^r@W1kgrGH3ir^(78pv zNG+7|sJTLngK>*0H{x5WE`-JnvrMHsjA^Vm9g@>hb;FKnkVU31rQd@Y;80NbURs6$ zyBILQ&yDJPY)g>~EoQ`}g4)%J15WG;uOyj71{a(7uRXRbj{hGt{+q4S_}^vY-zYhN zmWn=}3ti~rzhTR5$(zk)>r!uwP9wG!;PsyHUtW z8qi)p+RIqB_u=Q$0Em==*#z={#&9@7RU@Wc%rnhLV+wx_05_?RnaU%98CrDKy@{pz zP-t~QU_Y$^fn9TL0)g#77zymTI}!-262Ufs#!9K|)A z#_&0)FIL!4x}7bY>5gH#EU~L$iCT&=OI*Q}X)5Pwt=iCxRqX`Sg#PW-gnqy3578oS zzexQC7%IIx(NqeP8IBY`Cye%}{oEO`%|#-sxkaP?(Sto5NW;6OhZCzi<++s%F2IS< zj^KwXyB-y5qe7ft&0su_{~N*6P)*`Nw(g7SAI7@%Iei%GLZ}qLXx_;vL;Ve%xa5LF z{dBJ!9bAof*xVJ%W1-gGh$W@1t+dXG)G2>+8tPquq$pn+>0eC;HqE?wQ7)nmwVZw^ zC$RvZ7tR(~E=Sn1Y`k%h!JUSAeQ0y$h~v_GdF)?@TG_iWFfR{y8UXrk^>X({y6E3j zhBnki9j|Moi^$y)yJ+^p`d#z^x{cQMi$PlGq8{xV?joEuyyTvPo|n5Gdau~=jU3-} zBhs{O*2{-a0&qe%5-70TG$p!ih(1U64=@8eK?Yd^lzAffxkZ_hH`0| zF%gwSskpGss-H7shBM|-e5kcg$cSrzwz2?%*-f#50K-m_W81=|Ac=XHte#clS50lw zv}p1Mlf=~9*f?I-~Wl>4}Ya!X-2 zLna_>Ot}GE^bSlTHfG?EP6|1fh4}HIo_$;}(|8vw#02Z;f=yr9F!`<`JU`6>zq{D# zb}`VaW>9zK(M4NPr!w_hjOwO(nYA9LvJw-Ced+=vN+26G1IE~7jh(Q*R6jfh{@4a~ zcK?AC#=lm-*VS#p_w9H#sDD2!{@Di8LWAA*pNWlhn;$C@3q^myKfija{^0EWj2@gv z{#yp;UB@&$IE@nFpUdt#Z2p;>ViRd1`#VhjS?fAn{#ni(e~*8Lk+m`YIX<(IE^6M` z6!$+!Qw?@eeg1jgll8mko&~y##(@67KldEna2J7p9veC+|LhLMSEKwh4UyJpk%92= zjHH2(#6NF<-PA$(=hq|R&Bo|!vCFO?&Oc8_B@Oe>48{omoH4&K{<-_lCRR5!#y{61 zNn`wTkz|*ty&nGzb!w!SGaH*F_g|gR+>D)$=34x7@bp9GpJ@QDVgC8&G>d;;_wZlv z&ryjml~mg>Y5utkMJ4gi1q|x0TI!-LiV*%8WK=ix{X@FeZ9(1z8TAe?tEw!skk?KgBc9HcT5Z%LzV-fWpXB9NVr_tryvojGp<|l&~jo z(LLOVL72RU^0@DKPh_o3I`^J|*?JbXA~_r3-o@kL{5;%3gi>jMfj)9Oy*QmaNs7xv zahdgtbDfz`+^xyQWnLk&GflqNdjky%2j(e6xInUiyK;S^E8(_NYgZaqm31Gg{fvt9C&p^K=;9&@69Mo8h z@`~%1*RoGSd3Q*84lMS>S`)c($`kgI3(&%55Ct#+l%ieglw;Yr)o#8o{Rg!1;bn`d zVW2)3Lc{{RYaya3d~1M(4`(EPCOLLBJ98xQpG(Wr;Ed2mP(4);SHf%P>|3&{>CoaoVg-XLh$&k2>`)t4O* zzqL)gCj)dYBM5qDfKGYdlz&hX)VHPw+|Qr|#XEIyYDPLBh{)ob*xB(^65{Xi6Lqrg zFVyb;>ZAXz#P0kpBZ-Kghi(8ojg6=C$Am-NXzBVuHfwUBDZkx0=tSgE`(i zY=O9@7I+#vMuT2x2+Ai-tN66&YK=)>cW8`9FEyV7%x8Q3w0mMazKQ4A z?1^jfq0)2>c8YgVB2(1B>?BHyX7x3c3Gv?a-NM+@(SX<}^=@L+>5N*z*)v-$)lm)x z@Wo>`BK7czAf?3skg-=XgLwZRjSueoZcZHB$UiPQ|EXvKdT}J7+U)Gb8-YazP9vVL zCQ9|hXaq%Lf|wttBIYH;D227U9sRhO@eDvFH_xfJozc_H=q#2yfw`Y|Mqgt_KL~Tw z=*5fmG_DZ#)Pg>F$V)TVFm)pNgtuXDhEG{1k?7EJk=&b+se>ScYGS@?%G+e1xk({5cyx zqf6KAudBQHfc~5DD~PDJuI?-R9l&3FH#%|uP2?{ZbbTU!8R#9#Uq>MTBucrA^@Wp3 z_-u3#;yDLk4&$T#6w~}9bZ%S_>)R%24!aX_7x;KJGFy_tHoWWUHTt9Q@fwy)2f}38 z{7|JgO3jscN6mcHuetE#gqqhJomBJ9L#2!=mVwp{oNsrZ5j@5WR8v5L(9ltAqmZG+ zwqN)bIcid(*tWXXr0`LX+9hc!X@iaeo+zOLT0ZJS`$cvFv_>+t*NAFhSthGCC8!L% zYdo$0LGYBrk}W*(LyZ|DHK*YnHSOmuTBubJgpM|L(Te8Jd-RcootYP@)5-)$?V5rHUbg#dt8E`*{Uj6E0{iVeI z?rbDs{ewcXe=ZeVa&q3vun6(=prWpzQI;AD4FTK#%& zJ28RIo@<>{?>?@4u~qOSx;bHiRD?-=Ew6;EC+-afD9&lw@@ix`7#jyPGX8x1wDq5H zaW4fWnBtyDtg(9H-uUwmLRcHV7xF(iVcFu|bq2+~hN&V++#^}2K1d($`+cyVkiLHc zsHi9FQM@BDECnl%?!bro_Z+AE0PjdBk}1Bw04e+|za$}rZ!lvgKt7B0S2rd`$?WwO zCN_(iAmwf7rv$P)6In4F$sE)bLZ7Q;_#^E*4<)6&5kNSG_SyH_@kS6wc?8g}z@VeY zvMJl|v?nYhNb!!4mP6AV{THL(bVgIWV{{8P^E^gB;f$tu$LP5%yc?ruFd9Tcs|h|k zn$I0T5x;qch|inQEc8e);G4NU9bQIBN$#om>!P+|jlIZLBQ0au( zil%E)M*jv$C;AYhe<*Q8mzdE50BV#zk<~|twyV7!A*}XPR?A&BwT!vZHD=e@^?Ya| z{C=oVqZ^3ukWOi*um;EGAxPn8iW?GA=)o}zaAI&2CPvBNSS+~K5(!###RExwk%6oj z9F#EB0Ma0wq?)9-1h_N-(fw8kAP{fK2OUe3;@`sxJAompv%k^e-DhD4V@m=y4z+mq z_)P%&Z1tccT*SNG=OetUn(hb}@$P1n5Ap7LgsYMKxe7n5@A!8o%PNZ6TCMr-@(NMjR!BHV&m4r@YFOXoLrReM71l0+%;9Gw#7P z3hS$z!qU($EMHv}ZQ@!x9K9l+NFVdCAe!f96{JN$EapuD zaCM3bzHX)q|5E{X;Yo1GD>@Sv+8^in(__x_{29C-rK=|}Evv@m+iRWc|61-v(G&Fw z6cgKmwLhsxnqjsf*93aMdH_iRQ!|@*+XIq**0h?V^G`-3a+e~v%&hI<=Z_ztaBH(a zy6|#3Uf0(<(P@c2p^X#$g-l+==8?FRehbXEZpC!Y>YJQ%x`LSM7PGgwgiCxJA z%&QL(0;Eo1=^vxloGp%boNlyw28kPOaS)Nt78~&vt2Zvg5Wsq+CAJ*Y=l=Tkh~|A1 zlR+`Esjcs3QN5+i!5M2uNWFK5cQv(MXHGVCz?Z9ETlZtHffzHh+a#-G^r zMD$3D9!*~xdn6c#^a8c;x8aTy*T1I6nA0CD42CB+NL8)wa;I#r+sOmlFm0#q)R;Z2 z4mb~%MQ;+8r+svERHPcD!b-2?bR=lNM@JNW#nst1V$fW5RN-BZl?w&7gSqMGi4+t= zd7IS)@CtF$;So0-N0c7aKgZtP7{~BmA^u5>l6hQjfY-$Rb8M6l0lxwF7E6&G6=$;I z;ix!={G@lo{y{oee8lM=WV~5_WBxgY>I(k0e-6VcKbHht-#^FRFQoy0-#^DoDBxiJ zIqpGxWBxfN>dOC5{yBR6Mg6U<`X>+pN4v+?^s_nikGnV)L^n?Rb9j1NMg~9%G_N+Q z(kWzQn<*9~rg%xGSSq3L&r$rlQ1VKh$_UQDck~+t!%#!*9qHIqGK???|5k3MOwfN~)M3d``5vR9Wxl zn>uVHB5jT}{Im5CQw$Dl%#E#(p-KqcCyEx;q%;%^`15$7MntZ+WD z9Bwe4ansDSRvzmaLHS$p$EWk}2&5N&Y|R(!XW#{W*wi=Lzj`q~aq}Qtgf{b?fcavA zI=8dT7gLBm-aP0>3QigIMF4L#_nTiqJoeEM4-UBxx8H&L2y*3?s$!(EE=q~D({sro z6n$L0XwELLLLyMX+c~@B>-&jue@d5Te-7wiEH9JOjxg;vmaoUASfIAuA%T$d~_h;|brLmChoJRXZ~cF)s6MrHiEUv541`ycEX zs2r?lN*^e(+ldbVL@XH#H%}@EZ4T`0>|VdKMSi$hnmgi6!%3z!usp1LqchU~v?wo< z`wN)y#FO218*sudJ=T>a6o#tfg-l#ce0RxPc_eb=1-8}Yhp#u_>sgG z)nSy|?)SSWDSdi1j_*Szcc~s;jy@){?`IrVjPuh%M35_of{5O62X=vo(!E(u0>UuM z9ZfeFFC7Lu)yr!Ma0Kgr-5VSKi1D=KO zWv;`Fl0O&)KMkIWAwn5=rXdJ)1635$oy)bIkO&?XSO@>YLy%w$!w z6b#j_(*mx1-t5{bP@C>O#Z&iIQD|IxtQ*TS8H8En#3hm-z z4-)O<4?H(epFhYZ2>Anx(ENd3tUO_ys_uVxRtAENIXp@%{K2Y+x>uV&AdvrrKRDhA zo`h@uz^secf_m~2i=e(8>m;c7embcMr{xbyOB$qG z0Urq!kUz=%YJH!QASWtm1aloM;d~NhDF&I7w7nB!PaMUKOg^U$wY7Hc*{JK?fE#c};vx69x2s4x*?6QIHTU zqNt7&1uw`nrIN}Yge1cMut?(58$lBF&Ibs8$vFr`q}u!iZ}s^L0-gNjTqix)>ydld zx#TY_Lh~2Or9__jK<7s<3<^B2CSGEY7Ja+8(Kl0ObD+Zk3i&0mno<}Zt@O#V_nxJ$?AI=0SaE=Wb@ za*Iqm*yEUIEWe~CbMB?+`Acdr{^24CFW@bgmVxcmfbGaG z^v}cjHC@4qLRDFv2AtsSVUb!V)@1S@UD?F@h187uH~8Nca4#!cdLp!j!sIlu6ZDw+37*nLG5U`{Qa9F^2$PVscy(w{aa8gKIMp zp+5T;I-Unj-8>RrxJPf^6pn|MsWWII-k1i~OPI6XU{$1#p@9E=Pv9%?()MVe`{dc= z0ichaouhPs;0b~GoAg1!9quXnS2jo=h5esrR-@!B$@X7&c%F>>;71mHyq3iTAdnfK zn*@SSO(5IfGYMoUG7Eu}gFu!_dJqWG@gE5!{+eOF>Yl$li>Z96SX;zKqW?KxAwbV+ zv-qlKwY!+idoH|J#Bn6+^*b9(evh;vRGv&9Si_;5IDs4x0zt}h^@g-{ z>`3>=dkRCxZm4m$TqSctgH!_;)U*F|Qq65KO*QRqNhFxu`uyZz^n&U9@6wA17!G>D zH@rVN=!F51)Qdhd=>?yfUS4>|q!&*jy)ZrK1rPosy~JNBDe<38FZfQR7X(=Jf>(=P z@Y*oFG?e@v5y2Xy7bHJadSS^5DFqUDc!H%F=f@PSw^e7saVmA&TW>lj{S*sdBeUUX zsPF{#fY}&@p#$!d@8g*Bbl^QE5CrV7 z8fA+D8W05(#~>hyNuXOg8re}$#szT&r5kZD66i$IwykkNamEG3g>e~C1S4xAm;^

AjHe`GbF8S9+b`+%G$Q+Z}$NbllRd_EM?>1^#EGdk0by>tkilWwiz`?L$IH z4s2GUmo1a@M<#n7G)2#Q^v5ZxGJCuXP9je=E8Q!i=S+wmjz<=GV@V^RkRn#z+z}Bs zIVEq}OOAoojPaa$dRu$xA9_5(#t|rdM>BCFnR8Z)xDguJ#Sv++1lf!+h0@`UOGKs3 zi>#04h`)eCwI6t;S^FVOPvax&EJxaY$Qo`xg0Z$AzXK`f!3Dc07x>h&;PLAC?Z@;- zCJP>9r==)}v>!7Y?T1&h{qX9Jv|qe50xE9%A+_%Qhi^Xuws!wJ*!#onhxg{~hd@<5 zE8-(bt?<97jicP&yjikfl8Op>CvXgy=^4 zZHv)J?2X}0mf@($mIZD+Wx*TIbR;lj^u$!%DB04fj0Q>6jd4+`yC3L`DOesh6VRVp z>Gm?BAqLTjb{XsaPXDMh3-L!pb)JFvf-&;K6?!J0q{r z%J_p!6y0B#+2}8LHTw%*E&U~48UYozzaX`x$qp&+2spaGASB#h@ZP+?AW%Ix@o4+Y zz1)^-ChrjT-?ksJhTD%|tnJ6|K+0J0zK-_8r|wEGRmE>VrbqkXVYXl7m3x%@hlYWM z`XCcUw;uw`_QR{$et5OCU%WH|DsKBB^^vw80Y|qVLc;Bb_vY<~K=tu>Yx`j-4sxOq zvlT4)*d0Unxd%FY7oG=Gr8i)&Kc5ExssvE}5$hO~aG$**Nn zxX@ddO~*bH8sQPIR;$?Xc31u80xtPL-kA1bw2AwGe(Yd2fZL}IIJ~z4@JS9oia`+E zzzn6H098tJvB6tP8e~pHO2j|2uhf&(L>lrnngJ_1+0hj zxd!5e)mRn68e@I~K0vRcO3-vf>ym-S5s$vrf3+t}S$b zge7MmLDS^^dHAMjdZdL)&A7-lr7zIdwjWLx;l7+)*!JF2LsZ6-7!u=b*^0?k@k&~zS1b8eZ2If-@@HC93yu4d(EiH-;#uv`Kc=HZ?InSBE(wf+_7&R4;iT!Y5 zZ;!#=kdNA)8B!VxvN&voy%O55)NpeELm^C-QdHmb;k>1WE9oeQi?rM%7>5xA`%e(U z(>9wOoZ|rnJ~;bW69mQ^fV?0zlsI^+gN9Evtu?b>m}<3c3iBKJf#yuGL_u0&0khV@ zjv8hHiD@~NWmxvN6=UlZq`7>9Rwfuy6qx$kxO{`L=&sJ;oGvVXe7~!& z9>Ex6c*B4*T9~@SRC)k(+c1@_t};3yf`t6}Vi2;LLM?*tq@0P|PnGkedqFnzm3cf< zT3QK&afosjMiy91wze-GLM92cKZ5~bi^;&cLD&XV?;$5_(wCu{QY)U_;)hB-4n+sn zWg-!+7O&|LzIW7K`fns)U>-Jo2cYHgb*@r_mQ;IAly&lmMG ze5~k7qoDqP8=OQyX&45OGJJ9)(qwbjG_OzSvQUPss(a0rxWLj9=czX?jD{9I_@Xia zttH1q?GP8u9H0-GLyg70XAH?Up|wJP(?~S$7W+DZF1lMN4~P-+AZ2Jhf5zg+Jl6C) zoA=vxXx=B(u^Q*l7{mwfjv|<+C)53zfpneKcNgeWE4sPVangU{G|i1fA>1^|j%KCaiRv`A`1MbVLP3JM}Ahinm;lMXBHDR8FkzKNkFq(y0^y|g!C zAxE=>19>zrOWg^>HUt$i$X-edK8(eMq28vz5bUqgiPChUF91yjY~%b(coil1P8*0a z{}t0+{_AGKbTX%D0`?|7Vg@_e>7Ri0*cat2Hy8}=QX|_+)f^JS3)LNLq<+BB z>2D>0UD2F+nqe*k1^d#sG>O^HB<3TpfN%kvlTN}xxlk8? zFg=%0>g-a(v7CU`jUmCwz`!H{Xm>!B!Zsn)Q*9q(qAe{A*926{fbxG}56}Md5#}sv z1yZTy_%ZimWju$YRkkR&tmG3sh3!6-mt=b>55D@nBooHTWP8bOzA@=tk^(pQF=>m3 za@M>|_E@!7a%oRX3h!c64Zre?l&jIrgB9j^cjI8iEjoJ!c^kS*^mXPJGtw(eW^+$+ z1iWN76jo^zmIrM_7c>YdLuZj3cYxJGIKf3EV3BX~Xs^48iC5>;TwIG3991qd?vMh01ByQDGqY>C-<#^W(@vP41Ff$ffGWvDgbTe+IC2p3E!Sv|iVf)6`+(MTgXc4msq}{Rf9R9%wT@^};kJ9>gh<;((fxizkbKKAD66@SD1B1v zzp!dnMGi_eeIBbV=p@SnP19+PGmWP(%{U$g90Wch#ES^A4`#7Lg zzfzRgRZe>=C8D87F60h z$gMKClX5zio_Xr;bDDn?6=TxG5V?a#ty~Jge%uJ)FDQe@`4upw&%|>Xo*8&9#S=4} z3FS1g7ccYv3t*tcYi3$uEh^hlQ)vS%XVNHyj>5_H0~;~!L+APw%{?!&6%bsy80GkI z|C=7T!m@S{a3*c*WVnu@59S98cMpP&V^AmXS|&c!wqNJkc#rNXl;jM|rJwVP@Z`2H zT9SV7+aYBV@4zj302kmkK^lr%c7JIdl46Ej3lI9W`n3|T1mN%oDkX$gHMFitf?!Q_ zqc2suPo+IR&jy|p?*MZ|E1doUc?8gXEt=|JUdlR|69!nVr}RIK{?1V(F5!Ye#k4WM z4i7X}O3gO3nlHZ+L6mz4I;$O1^Nxg0xnNkDal}zicRYVsM97_!3q*kB*k7x`;UW8L zupYQ50oNz-yp8?5H$Z>{$R8{d_A#ie&ix7Et*gT;G`GP&J+9s*)o`H}M#lrH6(Hg! z15MkVIZekojZ;Qn>r0|`s^LJ5DL?1f-Ybz+_{s9gekbOuV_V1aT5klgBfbMOsAQF_lF3f z{rb*pf1pA_{s+u3?zzLZ0hs})S(%~7sVy?Y+P9i9LsNf)8CvDE%nWb+^RS4pLB@!x zQk_#=^GA+-4UD773dQj_L2fnM@{7R<{L-8tBr`eT4~(1O1WnkuoNxy4V!`htWiw9b zf=E?<9yq~|pU4W5tVhWBsK#C}50U`hZo-GgE9py8k2F|ph{zM2{-kE<%a1!$`kxA7 z;Wuuf1szPynG5Jt3Vb(jQaU>uMkG%%qS3-f9LiEWIkr5Kc(I7ayc^)jB0 z%QWtPTwRYvW(V#Rl1D(vV+mKDUB1K4-h8un0=ciz_ zyO0IK?Vjoj%Vwx_nYgHk2tuj??@~d;x1>P^c3GXqYB>gJ_1)#*86U0qCp4g5)FK4Q zz-s2!E9Lc|9Xs2_%KOAtw$WXYrX1m1p)0;ebMKFFQL@p4J_2=b~E&)QS)rW zlRUGS#Tz&(4D*fv!@n39Ry>(t3r>M5Hh6!K=bwisx^afCl1^NDp=jRJ_H>@cvxieS zN+u*7*!&B(kPDz5i?uqhMT@TK`=gASo(Y6PS3`|6ctD+pQbQ9}XgCr?L`=TfKI4{a z7W^3_x#Wt5`!^HrXMg1iyan#}Pk>M$-dgGb0YERm1?x3EQLjr-#c}wHaJ2P2#lqd0 zl`1Q~icBc(OQJyn#j9 z+&8l|zR49GnZ6Q(K05Z3{s6-Y9V@YB(N$QR6M-vB|#*b&Suy7rbyt{@tVHF-!m7;NR@K zPyzOXBjMjG9uMCS z*C+1&XEXk_>J#t&@9GofR0_zyN1{(G$L?lCpZKUW%pymkPds>WGbU-KPn3a-WRhb@ z)|gTDdbSOj_#FYXQQbApLhn_N%7_XTX=M^?M=~x~$*T*s6$pJA4PR>z)R4_iRVPfoZ`N z=b%4W=A*IkwK4G)`wnO`&!N$|;w7sV)OCk?!@Nm@3qw8Fi&v-zjq=!FqnkfihCtW- zZIZNn1Fb>~UALK4$ZpVvym{kN;mxpB2*c_~a9V{7o-Az+No5*_1W$)|4brw+aKvH} zCZd+;m#`mc`G&z9^~)&eH=EEu0GejIi5V%{3O%dvt-v)KUb}EEE-h{pyXqwbvrPQmOM}j&J zK(A0&4<>brL4ff3x?vv#`dm9ahJSvI(C0|_XYGV$6l%slFQAQx@9COCQ7v3fy^8#^ zPXI+R$Yb=8j9T0wIGPj+v)3L?A@e&P|D0h$zaP*|3JL!_X;A3qEKn$aP>cL?K13P& zSD1gM+^)ccYC+9UB~I#`4e2h!g63Ab_IyCj(N5)R`$5n$$7*CHNjV z+rn<~_@}c8-2><*b%cN1_iO$ck8xd{GBBEd!uB~3V;Qo!#jWiOwFjp~@G{8n* zZ66gw|5-Rp%BsLbifh`*f7sU;YxdTKT7?L2DoKYqWEKbwqYkl%rKAwQnY$Uh6| zIj{8__YqDAS9=0tLZe9j9E1EvfOA)MC18yH1X|JL}_-;M<>0$wv~OZGn`{rBA468%3y%zr`u zAK7K&aKDMs(bE3{prN+*2kE!)XA^#!(Z4^^kp6FBh(8SdM<#3fADR5QcgImTz+>e{ zCx324dQ>Rf0V48eJYxPE`Sbb5@ms(YiAO7cw%vmk7~K!VKaW2n@FOi?k)~<|(y#>_ zP$NuxDDh7MR|XC0&NF0$tH&sXKTm^l&c)EdEefb}PT$AI7R6jKO2QTeJ?iaL;{ns* zFKVEF4fq?&K+Za~U?4zYS#l#*YVh)G9~>&x&t%&JPYv--iL3^c@->-@grtp>MwrA^JbvS*DultW14y$vnHxB%H9XL@O&$&^{u_MfTTGf2;Ah!+*SCJnq8Aq2W3Z z9o{q^&w>UCYd424-7p+?!gk$vJdMUvVoC_h6K(IZaQ9@)l#4fJQvkTz*0jc2oh?|7 zX`<8jAvX3YEow@aVuHg6xGj0{{!O-~;~d^BIdoN-8tR0=r8>}8GkCvRUkCnx*}Jcx z(h&$Sr^A;DU4t9z*wE^S;w&3lxtNs0ENC3k!;O<~93)0=hTI+nOJj10E3hgH4*=j7 z0Q|uzthpnGN(Z@?w6V9wt`{0K)NbQR`YT78x69gNSJ~8mPQ+dJ-=dZ-pQqMLkiq28 z3K3!e`0@pEM3-mVA}l2b9Y&^SAM zUZQSPq*^LqtIn^WK?$uR_*@}RpVlyHyi_hE#Gk(mMnEe7qL9`0`6u&1FEc*xbiBe3 zO+}e^Cf;0u=S3L^Y$(TSw#)aU%l9>Fq&Ck@gm0Jc^88OTBFFnjn!RKVfMde*00Myc zT@dZsNna84FqdzS8aYFTTcTm=n=GGpS%DYJ*z*Ic!?~D&TAZ#~LZ0u6Oz2_*1S0TI znTSKNcK29EU{0p^M!|?utGXh*!1s%HoiwZm!wj07OXQ#wgTPRu?+tU=IXKIh8XBEb z-8v~}O+wDM|TG!Y!~XzB&rZmd1cQJ(x^V7ONj0e zi!H@I{|-9@23^tE6-tKE1f|vZ&4MKW`cs0sAlG(BbRf5lh7u6sXpibq_$@rO3-T;p4 zhlsQB_Xpm;0QuYFeJuX6@t1~gQ$CyWEDIeLXGe=SvVADhY#^B}SS0;ci?saOno`)Y zH!%W;eR{WvC(n@@BJE8bDA)$yW(%4kjXAYQW9NlL>Ub0)jbjzW1G_&&8ovPGTj18B zNOP^QinJT?1^KkA4dl~FJs_Xn)grCV6ln!aPLWn;inO*m%ZIIzWlwix!MeJLGF<&D z&tpxICNvR|#y6FC25^N)d*fsgX~Y@QhYxgAqFyZ(Xi21rl`-ttkdXf%yiAc+%TJ%b zPKQ#Y(Ii}pv-lDFmPo_rb&PNlZ4K z^;eN+l}uyIpIJEMnIllT0^Ea~;Vc*~e|}omDJ;wc7S2S&#j*E~WL{?rNmfj7;;ZQt zLz0mw$%Z6*k2vGp1rr5E6x|hOuCs-?@=QtgYEtM{Q;Z#VO+<{nYKXB_iA^HL#skXP z8j5h^C0ogjtdG6qbreD|_G+>>E7{ZE5m-XPyq?CgeLEn>es(+!DMm&&0&5(;j}e$x zwtR&~@N<6{!3g))=s+niRLk-yFs|c(@|tsZ8B2S`Vw%Q4%Uc))r`{xiuGj; zN`&xY*Nhfk7i-?EY-I|s8;@^Mcr8zW%(zsw0}E^6m8^x=B?DuGS0yWk)~4_>S{uUa z!)}s~T;XdM7G8B~J#EM+yzYnetoD*B6kc!MX_7^R*BbpP1o^ZkR(MrG7O6QXK;6in zYw%Nk0P>15>H_?A!e0p7)(6jP@HYv6r{LS%Z^l$9Ee9tNeeXGZKSAYcgk7mSNlXbF z)n|ilqdJ+!BZ_%?J(;WRina8g4W6IL&f0ehkNSJ%ql5bfuy;D;RA4n@#VI}68_nR$ zS1@FqaT6ka`Fru&sp%CkOMV5k5gcp>(3*U9M-T-mX=()XSBg?hH!IWyw*r~K2EtY+ zo!!(_Au$WL5F04Vn1GtG$%v(@TXGU8GUc+HvY}QqI_G+vbeVnV>#6USZX| zxG1?GFeR-Za8s%?;Dq_PiPwnJfR`(974SN(^)oEH$Eg~VhNlISjZXj*?8{j&nUpjB z+SWM}#^p@B){ge5Lc&5kH-iBRbH-hpiubG0PYTBYRp^^3{{)D_aVn`B@LjlNDPUPp zmia9C36!Jn1YZG|sr^I5!PgFE!)HCH@%RgXxB>-@Yta`XxTp(`6Cwz+McShoywMSO z>VB!$cgqZTlr>>0tAkzR!PBb)MA7B9gMe`6P=Eu{Y}hWlZ6x3{FlmoUfqB;VWYEA_ z1sd@p1V$sBGZs{82lAC=&g1 z3=jl52Oi_sXA1rnIy(XUr1#Jrt7UOr$vDsyw-EsmfcrU(vdlw$G zr6Rmrm1@ zm-4(lfA?C-b=-u6b++BA9%uEjXiX(cZrI^*vlMkRIxwBU;Px*2l1i#9B8SB<3|6A% ziw+>;JLwrXt3Q}&TJW|+D~Ysx(edX<{M0z{@${d+sr zU~_s%nWexphj|Th4c4X*nHhS!yc&t^F@Fp*!};W~05Jv%G#6F4gAMmQi9zA}239a$i82rNa0xth4xJ=sBXS(N_f`GeE zChy$LM0fRcS93bSBMK%o;zsOTH&%>l)TS;)=)%~^0n=h|OJBSR6|_0tYaq$msKSGb zY(o;@1*Os%xUEkbrhcwIgL10#`b?5t2Yxi5Lca`!mTBxqUN=G_{B% zX(o3?Wllw9A~I9&&uIGWn-T#YruSU}*gQXh#eugQ?wv($ zQNUUKr+k12BDtyy;N1}oFHCQo5&!S~r{rLq!s6R9%&El2BkVt=7HbMvQpkh|XY2Ia zHpN`@jQCGU#>H+?{!^A?zT+_br|iNg5>=VGfN1fbvg7S3;rOU#`xhL5g_{k|MUKdS zO7P}b7a2$AKgHQjJRz7~JN_&GDOU*&E&EUT_R|EDh92>sQnD3mqetvNr4_&*t^btE zvBk@UAv7;r@rt*?t*F6i)_0|`V*RJQ0j&>AdRYG{-+vCy5dSH4$H-=L zcy~Nj3LeZrwoKyXUqOmUfxdY z8|fAbiufV@r#xMQ=6ynKZzB|F*?-E0&ycROdPb)MbT*fIw!8Gqa%<1zhdP}oMEs`= zgq1L5#61}A)#U~ZtN)Zs2|iPej*b#}^>6qiwRFiLD3YM^2aQ;*J z>O^T2T=vqI{ig)BK$Q8fIHdoSf8Gf8iSeKE^cc!&Z!wh)j74$$r*ujcsll}?Gera5 zW$#M+PkH$wuCgZg5#fsC(YsXBn^LtH=OIDdQfoR7iQ_-zoNdS?`@5z~l_T|^f+mIk zl=EAoMf33^?oi_SPnih>j@Ez5FRcV%vorluv1X3-%@+Nq{DB5R>&B4ayEh^v$Rr!) zWAuanl)H5)$RI5p@t?9987S43VDwfqkxE^GpNRjI;ssero(xfI;T2+sldXx(Uqcg1 zZ?1_+95u0YLlYZD$j1U`L^%krk4zjF4gZ$^0{&+h($&9G;=;%Hj`P9(%b*^9=Dxw@ zKa)2U}&HNY(UVg{8ls8GF^ zY>0o^FV%z24TwTZG(+pGShQ3pAj4X&Y6m*q0Z?ioeoXz$Kv z&cMcE)J&~-2J^**)tILWgrJW-HAZiK3iOGqcli;)a)+_pV^L)D_K%%UX?;5Eug85N zeD%0bhF>1f4PM!pNp|N_v=g`PICHLj-rRQ~#7=XcH>Zvk$y15Mrd+ATJNJ+bpEpyG zu~~h7fqlDKpCj;j)5QWqeBQi@{P20xBMG%m$B$Wnj1><#4|m(nE*OR0EAMN&8VT# z4)0lLIE92L2AI%=>XU>R^36oJ+Kf=O5kKfmCIUjf^O@^-wLCgX$TtvCB;QLIkJTb1 zFxEq5ep0-kUn1_TGOixxY}dG4;ghRb#ayf5_8rix4KZ>~^Zqh#c~pOS{f;>O#l0uO zU#zPedrH9i2U}Ey1ZyXf66;@6f%P^di1eUn{5vLMJqJPwn=>MzQq-5wNn6IV?#U=T zJH*3t+mF$BZo|G9@XU{c=MzXuJTD@ieUQME@20<3&~&7%NlXit!cv7hVv+r#@#A>Q zWRfG`z{SPCCf=Na-s))+p1e2$m!T%N;P2|zC?uz;bDw6~Db7m(?8bC-0de;Vx|;ce zoe?9(kA`WrsXN23>Qym$ltPHeT@3P3_6b>u$det^FzBJg}DiNH;xJ6 zOi(7=%i-^eET{L)RA=lJmS#pbQS8AtBnR ziC8&cgy4ZD9(5gpPY#Wi#H{!dm_Z`l=`rbgA{}}Zy#BzenH3LJ!jk<(b*eX10wakh zMg8#SB8Q#%mKqQEbpmixtmKv9}mWzY^+V1;(6SByjvVw3-n-d;j$_BeU| zt!_u2==5xF?MnnZoPokdTyL22Iz%3>cf%#x-d~e$IT5=)9TDQVqTQX2g!h`h;_%x9 zKeUZWb4CO?w#a}iAqjI&4T{m0d9^*gA6i%4QbWVM^Hbp#v0U=WdY-++%MVD!&?#I7 zaE9bjzg~{i-pyH| zm4Z0E6g|nI@=?8XxEXQjp$7mDPSSKn?T<`V>WrB|Hy8MN*$%*X0ba$L{(?XH6_|#< z%9uZfnc;k5Gd?Pf8P6vyuOzKCjPJE5r?2tkyZOhJP3f;9&&~cMGW4U@L{Ac}w5te5 z+^?}&ua&^-?wU0gDQ76Q9VJ=V!{Gf$Lg_Y#!}h4(!8eipe31+B{mVTfCM@y&%N6T5 z^p58K<*t;t7W~VN))^gU#zHoX;k52l9XH*Kn`w!&>$pSvm-~J?*}-tCEb_0Jex}#U z{C02ELGQ2aD=^EqVS&4;*4x;|zIYy%xhN+C?VsXXm|rzN;&x<)nmien&u)|o>4LFq z4p7%@Hd*uM6h!5C&uwon>4B_hgK(w`F=#Rq+hz0R1S@kAd&w_QhA2jG15njh*nuBX zCDJcc?(nbDGfeGeu@0E)LVmf7T}JGpNIAF~4|{Vo2>U)#xUfb}J^5A_BqYyYjV%bw zfDvs(hTzJgOlQ-(?x9ZqkUp%)k6g2D)P>vw5TP%Oo@p<+09cX|kj{y+K@w&;zrs&|fZf}+}JgL`F7e14P--5#DvGDOy zcy#+6qWtaHGB{NE|3bW!Kf8JP_sMp{x?&1(luQmQllO4fovl;QB*aXyEIP#nIt6Dw zOpyi{6*`5z^aXSVvuAKc!{np%I2}Qy01#E2r!iocmm%j>mcI>n58>}E$W#6?Zq}a> zdnehiA3v^m(|NEy!Pxb-?(vwgE#>g$Z9LY#IE!I{_S3LvY7qfqP6*Q2OVSZf0c$U% z{h}kVt`hZ7kFCYZ$)D&JSgYnbI{a*};6ppY4t0qeZ0dpblHtkdT4^sG&ScxLFcUn3!G;^}&@Xe5#9PlG@HnSr4S462EU?ao>Z+|eMF!r@ z6m*55Q)Dy6v)HK!%>XeKa)QQt`DoGE_$L=rG_KMm8gdgEbdOxGBP$WW&PqS172(Lo z5n1iUDP0tobI7)HoBDW@x)zzd>-Hi~dm6LKo4RVhSY^%wD6;K$uS6E#PiMfJSP2aE zF^BvVb(O4VdRae{2CO7#fMtIiWX8X0FAl^bIr#fVekS$5de8 z53HMvL@en#OVP42bUunkJmogn zR5cJh75tL5?y^s6jR*=7v%`BJ!1YwUi&}+iM?+B7&8hnb8>Q(C4z`y(q-kkzagalY z+O#*CmUF{3?@Rozw$l09a9kV4T@tdkg1zKJlGmi$u89yDT!rDi#n z8efbkV8s5ev<7$BzFo7bS>L8)W8YR{4~|_hcF2)G(=xpe53wf0zZv-3f$tyjSAh54Sd9qcZy3&0hVb_s{wCx5HvGMeKXZM? zYJc~;`fXJTI*nx~{#IZwTDJeXR4jHCO!r)g$uw*ciZGL;DT4Y5RyC$6!bqATY*9o0 za~lNKE_Lj$i_m^4ff>=J2ycE7F-0h%B|-rV5%LW?goEni4vA<^?E+u4`>Q@+Z!mT( zU_~QSx9F9N;6C)A=pfnHfqUheP-jtyER}ld6}BQ4@cmzcIE;=e??3Nb$_vi{??DOV zj#>W!_0RhOKO^uHQU1;KEN$;_(Oo>)i6tmZFjxPeO|G!g_Z(i?qWuZv&)qHOPk14+ zs~=uk{TyP!T$he&rOk*S*bjaI*k=efdVY%K42%G{Z2{h!Mep>_LGwi|1neD4aXBa3 z3^v@#e$GYrPUh7E_By_-3yOJxc;UyoX+SRl!o z-QPog99IaB;hwg-J;jQZm%9ZnOD$e-TB4_$S@oSDa3oFeZg|*p`sd0*1$;)_o`$Ja zik=#DLRrqh?V0NQ3vadM_-`MihJsQioQI;}jCuiZz&7phBWc@P(#nEDAEY2FT=_G| zeRgOO7CVa}TJ(CMUVotf^bsLyYkIzQr2f-85ac)C6Qsp{nD)A`6~+n6-|cHg;|@*S znn9=Cysn^hI21Y;Jc?ks=tjA}AQ#d}l5qThzFm3(jZ=7?M%y4b(HLb!fBE}M?B4Tb z%~HCzy|gWcvVwre(#2EuSh~1a8*Nb+?bBWSR4_8S_;Z)*E-tHOK&%)RaJY`I)?V@i zjDpn%pRmUVAHutV=|sWw78BF%5X8iEcB+BtiLsdOg*Fp|>4N|ljp-#nHpleYy&BVn zY{fu|twl@+5Yv7d)06OyLtgiBi1#+8*cab{07qclY)orTr@>xiWy70|MByQZA1Y69 zUGBg;#o$$EP@pCEkwhT-E_MHQ3ZQksF1cbnKt-a@qL+P)3;S%R-40JXau0CerX(Y2e5 z+GW8K)LJ`Qu7qpH4>bdtBM=^hch+U`;Mm%&rv4pR$Lgyox^`Jc;{N}Mtz9EY0XH2; zpldf-a9JmW?8e%SMgVFzz4^5*_L5T(XIAZW49LL~nAR{7^oaH{gt4G2VF`>tYz{VKH7O z0&DM4nP~iK@4ZCR6}S#8dBr>k7FaRbOM9ZoXiLVP>Yv|Rdo0%ZYhkPS%WeevaoqSF zXpiW#u1i~zE-!)*%JY#(7q}KSn!X;TC%JL>ZXL;@R(~taUWs=OgTv9}wRlI9hXxt# zO$vjG(n2j#@trY3Mb=#{gzYNe*OH1JzWa0M38iQmFi*X*n)J(^9S)kUE~J%3fHx2A zQN6J*9!<7=u+gaY{uOADY}3i_CfRz&A=}NtIAq%pGRXEIG*^(V%e0or_6o^%?uSA) z&Piw#+DsGMuUx6@+M@p2OJ4>W9Q1a;*e>`KK3d3hoHf&JMy4m3X_k>GzWM3S)-24* zN;e=Aw}~S2qR@(iO~vzP+T1-|fh%TH`h2oCR-il!J*_%-rmZ^n23zs`YvFoIhQ2g3 zQt|xjZQP2oDD)2t#Otv9a*vSSG8B4dMGr0qcUft!HQn>UzC@!Bv~f^;`6clw4xX-i z{}4*=e)UzWFsZe1$82nD6wklLW-rY`1Bne_%ci@_CAXD!gONR&b}v0kfQ6cNlZo`B z*jtVsYOVvtt8)uMy9uD(Sd(@Sd_~%gkEPu-fjI6+X!pi<&1rWmc$jD?=&PXJ)fcx& zy9eGoB<-F~iJ{#P7{CkdpteY%C%Mnb0ep&|2vHgj%9_8(&ry-t{ zxUCw!B!h{=QN3~AkWqhSR9Aecng(6iy9V&T>nCswk85ztVjb6th-10V1{@rebpW}& zpB0C31`drJaz{ns@HiDrWcY$n_u)h3YGCGi416+323dUFqn;jxf%s*ORwT&*Ym!Aw zVk{z=mGw+yAqo`@xztxXrIv;zs#P7D1S}wVSqt?$=5MG`mQkZ^yJH#p?|=r%WFrCD zz+PIZbteX>4eL>#mk^-lu(UAEUrN>Wokp5Ji4QeSV`C=Kn4YUKJ-bCrU!-}Sq2=BC zMU<9zQZr2VvRYOxZ-K^iGBNE$Olc6Uwti{FG{wMl6^>dT!i37%V^3g%|=2 zB?w?e^>AshqIzT#ET;>wn`Hp{rW(Mo!K}vDSRz0KhgU{)VnjM4wjzRE>Q2P)`Ks~U z2JHF$jPdjv&*wDa!G*?iy7A=69Hu|s=&I9zGQR`HbA}QAntp}{rmH!8=b>Rk)6@u! zi*e2C9K~@8){78P2J(m5fgh^y^(e*h#9(Z#_W&8I;s^u=^tIM{E5Hz~iCBXR zt|!d(pIK|&i2lL&XIQHcJIfHTF}HzC5V%4{@(*BxWC|yHX|=Ei#&=efT`UsyA!h?I90y-D;%8}4> z!^-A%fsFm2O~_s)kPS7oqX32{AI5N?RckP17v8l1e&ewS;O|bd0DjQ`+=1DbSpmOp z#2kQ15PSh2YMKTdNAtM?;EU%|^Ld21j2aYK3-TJ^RuJ4=e1z*(XvEyjm|T3QU+Rq- zSjV}Yz%Y(3mRcWI7klqfjgh;DiOrr9!`0RrWlxkxt;k+-4hl6jBYWuperfGUJqMv3 z>_(iX6DL#me^fZCNqvTCp=<=H9F1}uje4|TLXG-0;ZWVWe~n;cFU4IB;F~6O7s1^t z3~IFQ5F_Sh#+-r=Rlg$+ZMfbUN5>xke~)o6TKxzsew{5sn-4N#Xp@NYMB6Uui9#c^ zN#mD6o4c`b5ag{qDvvmsv{@)(sYz|Z7#+GrWt#X}xbZ1OMPO2NnJ~{G%;yPn@5e?x zE%~mG%2#5^mxz3!xoRCUsWtq0IZpP|kX_W^0<&;Wu32yuSWbo}cZ;o&;{Y zJ^XLw`{lnsQ zt7*Z&M=&Yd99gl~_S5=&0NoWX$Rbl-ja@=>AslnXkyu4e5<3$0&M>GtAi@N!O>Uft z*3ed!QH#+3L>dUAP+$DShqBm!VvmKQZa@qx(w-G*!0ep#G0(5xk|wSt+I)F?bp7;t zd5&+t!}q&!6#ZlroaPudClyCLfbPdd9IFxHPs%GBGRV=Cn-+W<*w^HLgI^n*n&lX0 z)w>&K)xXKXS@j&8RnIH)e4Dco;s9q~n8=3H>ivw<>faz^__+GFmK@*ZY=l_Gra#WB z=gEQfy!a>9bHYc~dr#Fz)=!n^?fKv2Y{byZewYeloita!M%U22H=|y|TnSLAJ>R%| zKdBOssUYEi%Qru5aAjm407k4k;XR2dT<0#pst%4vS4Z|k4Eq&_?*pgr0JjzVqfy4y zD5JqKwC?8KFqm;A>;eE>y{S$_5zd6q3w$$BM0jf)ZRGNO$N12Q1-1hJjI_|!@P12p zKMj6<>RAW+Y^8t4{91?4Q|a(^b@_)n{8LcqP4M+~K<&CoT!1dcO4Ks=?ZGpDrOQ{e z!WkHa_5S<{c<*z-4u^(3-kLO3kL2{Qeheg&(|da=76|sCft)p?QjrSDuwU3g)Sma_ZN2X`0iA&%lT;&ZB=M`xaJ(bBl?xD+*;`Rx>IM#KQXAXZDg2Mx+GzOIiEZG3x{_0tb$f3K2wyNZ!Vd z_EOvv18Lkf&;R5gyyeqHV0XMg9u?1@4)SpJ-IR+PzW?IzR-+f~R8P&AhfZ1}Yrv_@ zt?7unM4HjDyW+*?CLPlv!h`!WSdfWOb#YEys!o<*P1ULUK-C@Z2~~Btrs@zQYcy3^ z@3MdszZ6Th;kO7iMS~poOPG=yL6}J6$52vs*TEU2WDbm>OEK3#WpLBp8{|D+X4ZHe z*>7|35wHt1*9!IQY!F8$f#cXujAVmBGA8p#vI%t#-wBSI^HS;e1dM#?M60`rW9{hCpdiPrNYxdV8pQ3UxELvZHsK7srdS63cY}I zITnE%X_KNlzk`_b5OXTijbgeX`0By0EPkDguLBkM>d!A2Lyfps!*~mU8b%#r>}`X) z0S{Z$Y`37;4dA_LRB9**f!+-yc}IH*ZB@W*{8H%~G4-s{xxmf#lGQp=IQs3MZm|WQ zLVz0lE{E?e#gNyJH@*tWGx$Dzg(1G1I@qO4iw}_?2meAz}Qi2RO z(FtiPATimiI?K6yPi2-NOii>;#Y^a9{IH|-G;tmRwBR=F(d}WJIs%fVov5@w%YplE zNTNLWiIQLR(P2Y>bkrpG0qU5E?{0*-0!A2=!22N9+Bg?af({5$-+iuy@dt1hk8WKN zF-;;MO|JYA3-EAJ@cDLOeH|{Wzd?Nu!~&}$K>r2(33*S{dEvRS0H z_o9B>1fz@GgoKp|p$l=_ssWD~UASijJ0;;83y%@~?>K<^n+6q_hiuS*G@)|V8Kzk$5Z>w^InKM2(u zpWmAC3~~8xD1)L=?($u=6ihe>SulPh=u6ejod5;uMIE#{OJa)3UZ)Q{NN}h3wmvNF zWfPh%4cj}^KLLouL7%yikaNyqg!1P#X8yqMqITD&5}`Vj0=m$$!L;+Ks^#vGX_e@h`vnM z_@*>pAZ0YZK!!5-Oe}{Y5b^LFNa;KlAbe2GYVwyM2JBr_#{T{}AVJU9^=d-BLOrPV zqdDH#3LeN(-O#xa!d0nq%!#~3WgX!L2)R|&Ye--Z9fMe>fp%( zG*XJ1SIhED&rf1q#7~Or(mL3OTmK0>p8pVg6x^{0Js#r) zuc~-oLfPGX&DmfFE+x=eIVk36hvkXxzG(bP_D$b@m+v=~u^jY~fHZsQekR;Ne$5Hw z?}M6ZU;HrI1RPqIv!2iZh3-re-5B{LlfzFR^1rE1p0t3u0eN!P3mEvawwJaCemUMh z;Y_;?-ehY&3@C!mcZ74V70%}7=urI*qk^R}pb~)~6}r$0f#%#+OuYOSOcvm+CW&tOOjk>x@IuDzrPU{OMvC$%PtED}o3^YwNF=EFna z>IfNoA-x{E$?R4+z1XN>Tw8fl{EvogMe2Qj|8{C|NhBl|e^J_n&aI54YRutlC<-gCT7X`Zy4 zP1M{&r_?0Dn8_A82X+2NllgP9T{1XP^`ZJ$gZ&V$5e!4|5Wyr)Bt;@pXyT-!bYonM zkyo(hlUa7p*I82W{H!Fm!18^p+HaX_d!2ZcRC-R47)*F~s#XZb%s+#bpc9Eq7;04K zW+lBYPGEhjI|VPadI(wJ)+e;o2{}mqVK|9Z{hA@V4V_wKDVf6)g1^d<|c!_SXu&o8c?iO&G~Y zvJ^>{AvtCQ6Sm=d1>Qfzb0wai19C-K!8ZcQ7nscfT4rK_dHR**6eEb`mf`sYo&oXh z?1M$3kzt7>_Kkrn*KzHTs2DmA4(lU>ZwwqU7XZd%A9T z5>8qJ<7tscM%shb7-@SWTn(=Te*{J>(c#}Q{3M3=K{%_I$Wf*jlpf60u?Z<>LF<7y z4qb%plhrB6VHwZld~Opi%BhznpJwZM;_sFYiZ8?%mcJMEZNxj2{Ikw|38Q47Xz$?n zb1Kl3w*0|c)pK)ivkb7&;~VWQ{jG89fXhD<`O(C#t+(3>N`G*l>8$z|J)y^|fGD?| zz$q!$12{h63?2oMv4GTn>Fqq{z1Q=N0GR)QEz8LRI#FMnHYbosyh>u}{i z_fS;%zXP2ZbB9QGJ$(7DnDWOTw*3Cl<p{ls_14 zU;m<&_9fsat)Jk;f28?OW${h#c)pX?FFI7|E!q3Jupa530gd^_G#8AULz5y6R_?rR z`%IVr%2b>ZAD)_kMI`)ldUs%<&Xt<(yzb+fjzC^oHo5`D0L08r=-hQs9jCs)o={Nh z3Z&eGSJhcssVULZ)7eyAFwB!R=W^^=W`-V*lqK>K4vMmzL-)_Y&0P7JPH$6!z4TUe zR|FS2hyF6>0;j(qdrYA7HxBP@@1@z??Sb2S={cL&*+Q*yHerlFv99+rg3~FTqz7A! zaWDh!(*J2t6%u>w21<@DXUgX;m5Wb{ef|H6ydH@ypZ~Yz^*ggfUSCjU%ImwkVk_m=P6p)_P(*9#;5kNX zEi02km_s$!SKQF7Rwn0^jY^}sq7}J_t};>dE-u1YbQKIvwKob8oRuaK7QZe;Xwcz< z87@Sah43&DuB9?jem>Z^3V)yAZyf%N`BqE%PLFkQ^_{K=j;FaCLf;9!aY%h<8=}?Y zXtbFAYmRS+)fYQqqb@@EBh(jv0Zk6AFTRfyN1!ia2#3(3DjQbDOxC$gSVwkHThhcT zR2T90fLjr~jjcUxL=Af-Dbx#^4CSE0(^R_}@Lex-eg%v(F%3$Q4?Z{i`SnPI$lNrj zKF|Vqn?i1emRQ-Qx^wsS!a4ShCg&8qCY&$e7Gsl{sbly{?YgoIM^c* zi-0Zr6ZjJGa-JWDpJM$9yn#6QgMbeM?N4Af3qMMK0=FNg{7cR9XErbYJj7vYG>>aI zbS6+tVG3LfcNM)QdR@7M>J&77(D@FrIDhe9OE)~JA*sAC(67x<~D(_ zzM{{&z1%;}mi@LTTiCK+g$NGwy*ENo?O)w&K3gavRA0P@!{O)ZgJlK4#Oc2@y}*Av z`r=`3^2yn{(-{1 z-ro{mrwRjKKybvJMn~M8yp4AEvD1Pyf5pM9e#5(aa7AMB!Qm&^*Hp?fsr|fK`AlyWggjf>d%^@M>UXhOZLq1=D}iwBQ)TVeG}?V$-8B ze_!F-{A(#bHjnk2dH5F*FOm5G&z?E#YvAA<2hSEg!y5R0$Gdv~C&~`f3(JO{h@hbX zoXD3HBNg|oc?K^P?;)%?N|gH=EC8fdF~ATAYzwL)$>)?3M- zD2=n-3B2Z}*7$}bpHMHS%|gk8w_^X_SFj9!c;+`i*#fh%Qt*cX|z=1 z@nnJ~wRD}fx6t+!Ex5PI(@G7R@fyBGn$f6qABI|LXI?9LKMFzd)7jSa$z(XUxlMvG z;CLI`+e>zFeIcILDf?m?h(jF)OQX=R=czQq^OSwj3y2T$L^EU(1-iZDBhU#0N2+sS z&0f5QGT2|8flcXXV)X!a0}&xx-%Z=?B_uL>hZ6Lh{so4^l`o(v;j57X0+-R9&FJ;I zE53m!x{PYUq0VwdJN$=osI!nMcsi8JO5y7_e{bXhhC$37z>36-c*uEyG_v7S3l8hVh~(3zTC_cPeLIXkotMJ3FAIZ|ah*vbe!1=ty8o^+k( zGM#5oXmRicY1^8oQ;j2M_N_6YiU`Sp5FZ?`)pGa$j$LsL^jd%BCNK7mXcq*N~KOLp- z+e=U`T$Lk;z|JfZUR=LC`snT)atJ%1MzQ%?7&Z-))I60xx5om{1JgjX7 zF2@uvi<4DjKy*FW4wQWR?6&XFeGby(PU_EEbssdKo)T9-QFzv{PX&P{^$>&(ZCzte* zNd>=$(9Bt{L0q*ImQ~Bb!-^QLKm-+(xnM(3FchnHH-1Lt0Yqy3 zwj5t_A1Ucm#1;gu@0^UuL^4Y`%_yb7x7#snT7_qA@Xkmf+^vcf0{DscMc6a9z=uIy zey#mA+l+7t^NbP_Q9>e1cpC~I>tU8q5zLH~&;ze#{{(#K8(C5C{{)#KL2?pv%JTXo z+FwhE6l6CFN%PBL+MO$5x zD?!%zcB!UUqwBIhbeXh=douJiXTR+?7diYe{($#PIM4u2V4hm^o0Y1X8F48v80Y3G z&V(&v0?7lAu2QGLUgq~|xg;S|Nt;(nb39+r4{Tbr0(r|_zIo7-CM*R>p!_(%$>?QU zCR=x@0wYS#k-j$lVRM@L3_6Uxt$KVf?+}4?mS>qU@)RxABhR;KiHO;$N?*bLuLENW z{9!b;#@{vgdlKJf`-JDKrhfulS>p1~(u?K2UeSxSu+-}D{L;u`X@us$AM54T_0r#q zt?Q))iw?0`+f1Gn>Lmj%l;&*0-mt9HpA8A%s8S<5Q!fbg;dP@3{lBZ%?8Nb1>gf*wONG!oC&v7{0c z&y&xBWn+AnfG03Q9*k_f_M(EGE_62zZ_xeleS~l00jQL zi>gBkik-SBEl$j zC7#gBN_B&9_oh^s1lh8X?Q|ns7PGC0WUJ8G^3isZM>qy~cv`HTkq1(8r@9hH{){x5 zn@j^YQC6NqGcDTn0X4%8qbJ7m0u zNK>FGVoj2k;;dzpG|Nij4{DWi@RE=UhJY5OzaRuzSxGZ%q@tzAu?G5*amHF}QF;#I z1lBSJb4d-A^At+ZiZT922CPI71$OD9cnNlg&0z%P8RZqI0xFfi4Ex>~Tc~(Cd~d0B zFD#N`40!I9gtS6Ka-V81tK@4S<=u2Ek#?%n+sKIJIW|b5k{?a@D@^#)%6UrR62P}2 zS5g9BU~CKlj0Kmo=gkHDSyAxcg`uH(JC&1)eVn5}=k6NHj?{+b|;h<0;mT_~t4J!b1-HKnYs`R|j~M+uX;AUIV)$Xic7Sm4aG{!8c-; z+1$tDQ3jWcW};di2!*dd>*wd%zp8_&P2{KGx1%m z(wVX)+`5*`OmmsZTU23l4~AT0r)7^R%|mSvTx^5IpdWqO>JS)JsZi(Yd@F74vyqPi zLh{i^p2NFg9=>tn4XE-hHup+p)2Ool5Y^KFq7m=p=Npk}uY||$8xY-^R)X$Qxc4#z z_6&#pc5n#RwoDo>Rm+&nzq(xDU_naw*)Q@}Yncm>Ab1~;#ev1t5PTSCW4=-Y|H)X8 znh%tX1*Z^KpmdG`3f*zF*}V;{}i!m zmi~tn!YA_>v9{1pVMBsr zK~R5hSn3|*sBqrbhyN3uL*LYMM<{^K>%PFg2QI8Z$Nac+wAObP3N*Up_^{$v`0yez zSp|}OQV@auupZ*%9CHQebWm<4pa)<=Vayev-yxMnzsuRk>@J^Y1#m;MY0EJG#MRyT zWg_A#5mOs1LK1C%Rzc+%_6<3H+$D%fR~8B=cKDXel;&7HTOPuRP$N0v#N*m+5tySt6-;h>N1zM$Fh_4L(Waj!@tp<%Q8{cXOsAeze2Pm## zSCwI$C%nK07DBDN;pZY-zJ1O3K0^w4Pa+l*>?Ko~q~baK?-=LM8vEi>U|az2(&^_1 zk~iQTg0*`#34JCAeM2WrXjTiXo>w+uhpJ6VwB^~?OxQsQ*eP^jL;^ydGvVN^uouw=`GI}F3kUe@UqgRdi@)suf5C~C??Av zl37_Bgkn|}%8;qqYU#V+Y8XvQO?5}e15PsL^6Jw-(F!#V@(0PHVfg9Vl)4*#WCt^dq@`n*Y~{*4`@2bgyf!^lCI zf?Py#qvk~`$w80p!*J8|CfYBrPX@Y4CAto}%LHg+o(imzEyI?>Qu-ZF2dif~eXgD` zW_R~Ql{@!z`flr)junZX8I(x{L-%-=qk*t$GYE5Z%o;IIm%Rwn@yuqG@f8QR8Zfoz zcxgH;-l3p6b#(&8Nt0^59P3(vOH)G~!Cboiw7h%A{jMRq_C#deVB`wzj8skZBblFL zf6jlIv@(X5v%!_A7Juv2nU1En-S86r7s}2(I6Y{{&aZ5QCtKYSpyqskT%pUqfDMP+ zg#5jLRW`h~huUg+?5$~+4{+7aheAn5PAQuy8+-aFV=f0N`oIH;I)&_9pwBA3H%+k6mrp|pNYS5 zpS*uG$WrNcx%?wB@}z67cJ|v6>TK8>A~X%_6LQVU$pzRTDe%wQ3*0Q;_1vFn_j9;c zs0oLO-qDo_H#2&1%&l$*)E!8ORR}nC0G1~{fmS~7d8oZH{-L~W?(a}mV}T#eXrqd1 zFpJ7#QSUbcd>Vq)ilr^pm#190`f;Idv&>K%P0ww(`O812!K7!srf0)J9{rfV7wcAy zU`K0}Yc(ECYCY0~*2Yv>maw(g3V83I0BO*q?ngqdhoNpA=%0W!w|`B+{d?$pHuee2 zuweZIL|}y3kUrdA@P3K29{!OoKRZ$l296p{uciby+<}f(*c{mF@K0)V1TJ%c7n=&x zPz3oma%-)W|E{|mTv<54hsXjR@{emoLL_(j{vB!{CgqO%Lp~{%`*+ox3A6Yiaf&}tibt{Nq-Zbc-bP1k#j;9+PZ(IqG@Sa=!Uyk-I>29 zvz#{(ow=d8q=0BWpuTt%st@)Oodl?LTNi?^i zd@H|sccZzb!`MqWdDWdJ!xiu>4IOXD2el6O2cVD)Ft)v98B$>f5m+`R-5lihcqX^U z&j!OQc7n&KjTnOKE$vvq*cyM$490%{d@avH7(d22vj!;wh&*;Ay zB;(GVmi~J&CT{Aq2cjuzr6;cMO3PVKd|gSWg!&o!68v2WQC5j^7+9w@#`~#1qMOb{ zzbwEZeeaJ6H}^ybP@lgPsF$JtmLpMUO>~`FhRVc$Q6=|7=wkD2fVFyP zf0hYKR|0e`K-ZyZ>%-!KjC8yR4q)(+5H2h|LT{4F6aE1{jGG;E+BB4@+TtftX4wA( z^f8PybUEWLeH>85;ueElEV`}Ms?JTU#Aw)cB1Pc~9|J!o#EOuGl|9T>4jhqq?< zNuZj_M|jxYFB|&D;q3jQ?J=7fJszpO?1uY}%3d}PZPK#6?8%7bPDiZ0?9yDJ!tqN? zDonatsIXFpCoo*7FcRTmDx3qYqy>9fjt{UGo-B(uIM?yJ_Lc#y8_p_x`77|mV4lCs z5x~4(COj#B+y?t~?3E#C1)jB-4s-@Cjlp9-vjf657xfT!>Np=!7m}JQe&g{~ zEq~1M_-OgV^|xmH@mC#W<&U{K$lwoK=l@gu@l2=x8~9_;j-%&~Kj2SG^VE^^M=kO+ z=Z|_QTZiS3AIJnIe-!$KKL&Rb{`hI0$sc8n&G|#`uZn+soC4MhZ1xhkE5dM$uHc`H z4qj9n%Bl+D;6Tdl9q;6d&JgsKqFPR5UBecn+Do`QjPqWj%7$=y;qq~Uiv_0&1Y?Pd zfLy+rX`vyO@fNFovI6pkx;d8{16T*UBhB|#)%V@FRpq;b-ow1V^_;sHwna|Ad_n|e z-@KzBfOU_+GZ~0i&%Qke6NS6kRiN(O{=9SO9nM61a6|aULVCOidHLXwYXI*1z7~bmf%vv9hWLvm$_c5pcQZ<|MzF+dG3+~ zZGYc?UayHd8M;My-I8Fh*J=b6lLLJiflRz z|KQ3=Aor-XSa~@IXIb;i@{tr_O)zHaW}wRJdS9*iL|2tZi?AP;)_fD1S}Z}Y-JSBz zD(mH1N`fd9!Nwz=`8?RbcS1mC|O=WmU3^@jKuLtdx@RNg5N^n zH})G*X2inNqgS7}-IaW5XljQOQMY8)lm)=rM!ludN#)>4w754cTG$}S@w&>0JuPk3 zGRG>uLwR-5S4EWa6RR4k9)wlqTGG@YGksWQ+KNe8ajg-S;ZsFMR_mUDr+vxO3)`Ae z+)k&iYjJoLUi_qQxD0RmxcvCXKb9%o7IYr!TX83%vG#*psD{ytzfmTgqd$QL(xO2w+0;?G=r7 zKG=r+=pkSyK7?~;xE1u7@*ddJI`k-yZbb7Ce@fXL z;f4@v*;_VJsQ+%dtfkU^#X`yT2e*c!$yRrj&&C_rY@6wWKV$s0dN(6dc9!KU^X0$& zEaGUBMIMZ`3*r8?vPt25jNzEN1ScIF5e0re88rwFL+@*OUt+#=Vm8mVz7KM$iuUPP^9H%1HuyX$tUQ{sd`mqzPxNMX)@-G@y zFyWG`t458tX8uK&RgJs)ic2r4#8XaVasFlDX!~$e|6GCMnWtxBoIE(tO~O(1uNTXs zD=MOEOPcW##iEq0wmnmfQWdS($oG1>ozYy#9*a@qF+30xW&3utJzE;FF)9*wW68*} z=;<`oE`Gn|*Eg2O)Mxhpjv4FMASa6WqD=#r*^SZCOpHgMOB zDi^e@^1V~3a)!Q>tZ(GxoT{VS#N-^2cLSn$qtLm6qC;K!=O(U#Ri601C22Y)ENLpw z`#+Oqx029anJw6=IxkL1Z$YcSrParAbH`RFUiO9GdiVeT(R!!<49!HZec{#Euuajk zIO9I-6MN=8+Fni94IQ|oX&3P$4cFo48*bxd-#_ER<4#$9@wJ z{n?Y8VNaX3X*O&hj(&rFAq>W11FykeEr-Ebq1)b5t)q3rwQ+^DMs_aydi4ip_N~*i z8cR(UExUfZYgvJEBkIv{*RoTXhog|&jIN+2b2%ANx&L^LxLJeAGJTqtZbZ!sIXNu=W-$RF z+?j!&t(e)jP+&ha*?{9J`R}J;7x~afn?-19jfBe7GQ(C1@&zfy5 z>G@AiV5oW8qUSzV9qsn;b*<_7TOUx0o_G0x+M?$=Y9#_>m05cB2H?)=IcZW0dR|FD z20dRm#?kZHu%+h{NKo@A|I+BW_eqYP3+joBO2lT!o8)?&JF{CBeFH{ic@RfFv&6Mt z=N0sbwN(q$_ zS>~s*TuBx=kFl;NRhId~AZ1nu@bNF_T21iZT-JPR5B0>V{mZ=Pd(@D?Ea)!l`f6<) z)3W}y4tUmbd-6;Ep6y&I&%0(vb4B!+0riiFM6Uf*^)zJ#!_d+$cJ6Z9SmrK=2=Y)nWUc)h72;V*7M`=K+?ZPa9(>Yh_J}H(H>*tnz-BfmLP4iTV3RO z1<_IdAJ=D6to}IL&gnBupTrdMVmH4hB`j77iH{Gd21LHi()d?p-m)4Z%%#7w3mA^X z+ss|4|8`860J4A;Rpp0PY7=pUY zO0B$o*i(HR663H~Y{(JOiq}HV4LJr+DsMFo>ea5klv52$h1xQeYChVFBK^&=wjdj4 zzNnLrtR@{U^Us6)rZx6656Zy)t#-oREij+}v48L?oo+ml8lfo#oA}o9>df1yk^Gsgk^xQ5!z~H-yoAFrMpf{i5WpQ?Fq1A#-2#YsNBLUUFA@Z%>73rbj~n+ z5%RF2Phay{5up|4AV1V^SGky_F*{uf3m2MpnOWK&L6$CN6VlBBnmpHx?CCfEK8LG^ zZ8O^jb&Jo}Gapu%Wz^7O+?75{j`1IfVXJC1Z#WIag|2-zfr`AP~ zzrngr#lw4IS@E9FhGNdf(i*YhfX$AMVTkV7@S%+vY$yoMXK%oU4OgbIp&F|-8+w%~ zHWXxYBLO>M!`?pb9=C*bJJPb@UvCK5P^FvOk0L$@G!1;R$9^W|kXa zH8v%VN@iJaH!EDvjl1L-qgb}8TiKw#?yht45pQYB?r@{ z{w4U-&Ti~qiqDp%^=ub)t=>OmTYVt`eyc0aTs>8-{$^wUQ%OF!KnxU)_UDNYsr2j} z+Rk2q%d^J*CE2Xd^hE9D_hEUICDD~;{QdjE{P-UP-uOab7A26Uyv6z#`H-e<4w)Zvk*L43AGo^(8hj8c*T4hIN-X?|Nc?AtX1htpc( zaPJ7Ksg!wB*nvJ@)CgK;ZgzeDVyC)@Pcv1QcAc#1a^&TK>T(@j5!Gcs7rvLmt?F_f z;fU4^nIn!57E+ov>?<|&T^UQd4tT18m9&n1ieL5b6K?w2d?8bW$;`0j;mnV|U z{Ikl!&Y;Tiw2r6}s&$JkoSfWRfcChnGCY-$Aymf^aE6X%^PeI>KEa2%B_oAvrU}UB zput165t4y(fw`FaC92KvAV(#BOxbdDeDbF0W$$6YIf5!kOWZKP6avqdm${u@&>=aJ<42S7%N0%-)B| zuO5t|&wTUwLCWo#V->@!xtk^$J!2+KeHu2x=cCcu|hiZjpu-j`SBNnYjo@`|UGSE=l0x1IfgYBkJo z$t$$Hv+}84p)auhFmsQjz``(!@dJ-Z!B$)=n|IZ>D|<>!voRPz%F{JBWdU<){3rtvGq?=T8NCNF17@N8_siL zBah1DwIwzl?vf!k_S)V;bgk?wNaq3R{H)3&#KOV$utK*zY{dq~d+HbrkdwmZ+95*! zLWf|15PZ3&1%i_pc55bG;E?MHay{EZt~8W^+=Oi{kXti6U8adlLGwwbjqs;q@N%Y1 zJEnt`Y3KefkZBK$wK8p>3qM8SbipiBM>svNvHu7w)229eAmL;h^^;61Fb}GeTbah8 z@SVuCQ-~2E_5$PhaeSCg*R_^uqi8l!B~K1^ZKo;}? zq(MTF=jU7b4{p+1&aJ7#wL?6>ZN2!k*4x&?mcaq^8%3uQ%P7An%`4T%QN~c zFoV166aLU=PqRPn(t}pm&XmNwM9Z*m>CROU}A-m$ORFF*VoP!>YyBB$igb=GXG)6xrm;+^51j zjov$KLs?|y{;u2u-ndAmjMzYd_tJM`Erv25RJSNuVI`Ng*b2^D|VSyy%h z{<$S*Ub%b8*(K+i7aSTR#riEg_N3d>cT)e6$@)Lk-q!z!OKkn?`C=@%iN|9474_Fr zWKjQ(w*J@rO#L;!AQnaP3h#^#72bKdWnLNE<56HCJ@kHdgob5wPoYD11L z;tLYo<1pBtuf?4$20jTW`^w!Qz}Ym!?pg>IDVU=CXGb(^Xvx`TmLo`Ynk>lB*ZqbG z$3o#4Tb=s;Srxmq>)qk(ubV$++kP%cZYO+^B}h&$uwwJb_Ql%dfKRbhf+t*p+#rE0 zRZz&>e4Qmsp0+^roh1tH=VDj^$r};RzlvzD@4br1PmgH6(ni=E^d7--IX)v|^o&sq zHaGE`$M0o+@_7-=htv7Z5*%Wy9xS?u&kxu{JNx|h!Ve;LzdbLs{I>ijOYCLsY;!-u z*J9bsN*1Q^TW$uwop-gZ-Ol;V(l^#Iv>>-;g$XTqA?%%z-MhKwyY}JGso%p>^{U#X zT^EJ3UxeP#QfQqs6Gq23<Oq1TSxN}wN5g} zB`(30K>`d8P?UpfjpnnlK?6;LhU@wLiQhBn^!#Q1-Ew}CfB*2K<=^EtvR$%Sfos5{Mdz`6J(U6Qk8O&RbuSWUc8|1 z+{61qeroep`tZ-otL*cV?fvlgw!L2&u8^ba`J%lavX9PJ^H?lq{KfVjKuWc@x#H*B z+m0u`zHT6my$0feJVr#B9`}225~VM-)%Ya zS4`EbC0p09$H)35(5(x*7njAlt}Ba`ugkMr|Ds*Fm8*Ogl>JAYW#Ivt8?@Iax&^Mv z3k(|3`8BFylQle`lCgmFHov#{y~*#5tkF$%+7}3ZUQQ?EB~_WlH#s)iU`2FmzyukN z&fGu<>2)m9CaiY}8-j$_v>*zB#Dl}SWT%?^VS^&e|Byzip%tD(3dM*zK zeHg1zGxHQ0t;=_j1w7OYVbAT>jLz(-2>guO(w7#xWJRfDB06A-ZL)5+*<>@rE}0fa z1+Cnxt0!4GY^Vs>)WwfU#j9nAA7|rdR=fC`RQwnhU+>~)xcFJA_^^wg?c(RS__?Wg zwI}cw5`uW^2%3B~xMXWn$<(?;tar(>T(S)=*+w2BT)9{JI%$kTqjj5IF=eWqZE^;9cze#&KS~b}CrE6XMdLF_F ztILZt^adMQx6wr!9*(=}a>*>}+4z~;^GbkKw*}-L-6r#Qe zp~<$lS$0}p5j7RjkIW~NZqN=#dre+R4L+Lco<;LXS}OT>n+Q z*H5dS>xZiM+E;&&;hqvg%&GP4ag9A-#~rypsG_{kf)Q_nMb%q)*?zOWbQzB~>Pwe@ z&4#(zR5jGAu8^$kF59TDJnPDVzyd1tO=yZ0k#f9IY!f}*Kq5w^`Vr4_Ddp12PGne1 z5W0q!GyiS393frR?T^}Xtv|fHguYQ0T@zk-dBItuuAeaK`m$(g$MC{at12tUU0roK zUs<7^IgziUSrk2&qQagh(Ti}AyoJ`1ee4lu>~p7aW4*&MY18iVgy?)*=h&{{*!5De zXW4_IF&xQoN+*_1k@c2i4MI(=w>noagyi{MYRzxfmm|k^5L7LDP>nmOe$HJ8BR&in&@QcC7 zE#^c$@d<;W71Wq9yM<%c=#+G_XTIXvXaYBj1{@m0>A-v|lO&)urv z1*OlI)ZaYAy)NbT4)?l@SNS*~!E#>jbgvD(-sN6b@H*4IuH^M@_qvMLd)(`4UT3-2 zHN4*IUK@G6&%HMB`bYP=me>2;>kGU-z-!>JU^rBurAG2FIcwC?59IQWdY8`wuMd@d zb#N#1{2b?;*}u51a=*6rFD_rL{fp2pPoUX0lesZc+UWfxahG&SQ%#$JQ~Eepx*D5p zST*JN+{3J;lkf}r-bgMh*y!5}UqvwaT=Zv9qe&)MP-h?0DKLHyIZaTeXnHFApnK>_R zw(>r$OoxmsvnypfxZfv$I}o_scQrXHeiCnX9X@E9Th7IO%3&%u_JA0dZZ1~##bRhd z-MM_N*q9f3&Kt&CrxoE99~I!K{R}?JI=zxOfDEFnpMmi~q%xN>1u0p8GQ8AEGpf#x z-1+%1y}GSm`!82o0Wj2tx)j4RQ@rd_j7v*VotfeZmqNl?1Xd}M(rKmCyA+c7K?;+Z zVl*klHAsv4(&yY;!RTn|`~lI)&*GC}mfViGQDSQ8Y(|5*rL|kDeuqf1qS(thwA`|c z=s@$mUEZ?!Ag{){G?uX$cgixO7Ej9JsLhS35>^dPE5V-uIrG1l^Ovh3W3;q}qHk9JXp5fTaPLyI0ByFt|>n+nbXD%M*7RT{x?6|o!;O3K@iT=P9bkIU}v-EyX z$G*b>*^;}Ze`C|h()&$Ac2@8AbZIpX3AR?|*$BHlyw$u-oD9wre@ z?qd6e_737xlGihaio4;qrqX)H*QK-J4lvjD4cxvomCkbFZ}Qx*S5;&3kvmXcpgD_MT0zJsYK^}SV~lJ#vIzVrINi02oz^pzLwq`vQ*YY)5SR9*LfY|ga< zTU2kzh#OSBV|LP<30f%0PZ@1nZ){yJrjpckw%~fhwz;-_m+^LIZTrCzSJx>csB5af zy7ioL9D79Zk+!1(&F7fvi($ZHUvg$H%fry;C@>^C?TkNv@X$#A*)3~Nr!fTs3 z=3U)0d!{)NkvnN-wQI&h%E|6N+Y`&wmP^G7&V%F{=X2;udi z=}DyOvG4-w5j!hgK)L=p)QVo`Tf8%in{M#@2yY6kZ|B?f?LBb>zz&2DvBT$HfIKf` zCzyRrJA5C=e|wOADqBUGD>+{<4i7V1D|fRnN5pRh=>L2BUAv);_S<*wowQ#T5vq5? z`PBQ)GgIwn`Ndo^QfKB{FvH8;b^>f35dt<|zy<;=tv@(;*Wqoa6}=LTw4ai9z6Ra1fTC=?LY9yOB*ww*q1vmZ#>d82gIcI=8Xs}_e;pl} z)N{{JEqg=gGn4XIhLG3XI1Ip4yfHCC|Fq$tZEVjM4&Ee-?U&E}9JYlmvAy`}me_Vq zVXLX1#Wa}wY?&`DcbmC`0U@)FZxdtAL~N_V_kFjc*_84z<6oEqr~AL}c=n`1`o4hY zBz_0C_(_kn>$5wT*Znf(^^`Z-=c+d! zf}3k#dbs<1d^%K}U$dl|&-PVE)+{OFr9;)hVQ)z>Z)V}wLLd_6U2Kk>Zpl#I*~=QS z=Tqz<5&LGY>4uUSnMN$Oii<|9ikuj#%JJ1+H(CxRg&1~U%dkHO6b}gwXg*mIolO@i zV|M2sIsGz3;DedOr6vVFf7DDJ*`D*J(I0B27IdgOK$695*`jK=4$aN2lZu2_^T>RQ zURw8I8{DKKZPW$$8b)n1t6Z!g+f{P^OU=~04pjxf$CXyTxyM09qBK+ra?jR~ZJZ$M zDqcapN{~+matilk`&jv{lOxd|n)kN1K3ESiMHHOH(w?C0=oNMzud-4>qD|27lPO>8{`&%SNoc?U^_XNmCaN`js7 zZyVRzjCw|DVhepc)-k#w@=<%X&!DY*-|qSxoJCZ1N~*nK9QSjH3BQpYDYwnN_S?*E zKwhRLDrfLW)1kNgRg)FEpuZ)MTi4F+!N&A$=51m!@|ZP*s9TO2nofQnU+we4g^$yx z+4O#5YB9hgADo0z(pFKM@OEx^Bl>$ZWX+g0&ZHYqceqUt3Y#ZBLNn>6#B0i_$MmPE( zEE3iFH%$MymZCB7EB>{G)@3_Et9&PD_4!$}_O`J}v~o;0P!cCpp$M4pz*gf44Q^I! zVF!5RMD{NCZVul}x1)`7jBWsSm3mZU>xnks6x?n zFxYtYp?Q&{iOi!QpL1YEsO=-vz8H|+r2>61a!OWZposjCPTvbYPtn(r>WaZ!BqA;e zh(4SEfnUgIZDJYVlm1|ApJkNPu~DjhrB$im(mV}&H*eK4(L9}&4NqI8M{6M;`7A?t zu6`jU)e~skxa1iQ`NS_6AF+R12H;Ns`#djPj#gZPjf3|0CNg^WVV`aUjuY`mn#hS8B$f z5tOQi+B6|6QQ1bxwXI9;omR3|-ZRKBppBBNl81@+&Mb8hr3QUYT3Ike#&2Va z7JSIla9j(sVgc3@D%uIQ{ zm}*;ln0lz0kr{QIqHa8zsGg=Oh-xwRH=Fk!gGF?xXwNU%Kc=Gq+T&mPZ+)Dnk3zE$ zG%W>h-(tnB#r;w+Qh(_mroZeB_?`5ZV)d7=z})ti^C8?XpBEeiPJx-@hrum4<%y%j z?j=f40I%xUUW*Ph=YtF$-FHok4zsqMAe@?HA**%Xxxeif=tI!6qD7gHK}FrWNyF)g zo-409=o8iNXO#E&YWl9L8a^wr{LvE z`EI|~o#Z!ZDZe+Q)cy%GH#4PW{U5U|>(9)LvaCPt2+R7v529MJ{>Dcv>-RMKz{~bz zpTxvzU+AL+cU0{M>gpJ`(o2Fmj07`vfnt;mvlqo=>c^NjhoZQCpMyyl@^GgxHpuo9 z4-0$U+KHm6TV7cW3R+fsR?c+w)whE9FH;b31vzeBQ=HPSdZ+AEV4Q)xYM=cZ$7Mn!r4{Rrh>~{a8G4X zaDf|E{-WT>s-nbPAIt2@howwC;A`$8P~tA&lJX}`9% zI$X?eWs9G}^i#N=FZl04I)w$lSJK{tFg+POnh*D%dJldV5EkfP=(pExRM&!f)I?U2 zyw+9{8z(DCo^K^7MNu&MC$^<82fD5m0DZUpq*(=8GM>`x6d?~Hxem;XVDGIzF>Yax zvg(RU7R)4k!^1b<{$!c$^;0SFu@lnetv??-MJl+Ap0LyS^5d}cBzJ>s zba8gFrhG+dajR|IJgvkk6n)lSHSV{+%NP!T4o%A#b8#bsxG`yQV_h6`sOHN3xmmcz zhwg7ia5KQulqi@1rmsh_5{HNG;97!Sb}v&Ww}0uCw)ZbJKdAjnzK1-{Or(3KLkI<$ zLi}yg1s`p!_qh3^>AqJ=^x8(9f$U*a$d#q^1e%irPg6MWws=BTWFzidbE|fvX#D+6 z$;T%(LR*a=w5mVt>9o#s;S`zqe;bbeQ07f7G_Ng6$8!*PP8FUEZ=tFd8vQ+;RZdc)2ThyG zmOF_!m3yMf-9zQ3ZGcESe|+{?JGpSXni&Z=A+7$bx1_Xk(kN6rT%mz+Drlv6k3UI8 zfYoE;VKpb6hCA-;L{v%SWUkvjfUMw_%yjYh2y8M5-|@2%cVdfsrV}$@ z(hX@{U_I}ykUu}5e)V(LUr#4Rz#TWB^KfZ*bLE-VdEj0t8rgeB@E^#T^Va?YPXUDX z-}$#?pAMFygk2BPLRtLZNV7n!1bg#p{H2?1Cd*+^ApRUKtxFj6wis|1ld~5G<+r{6 z?|xT)|DIyq)&)FBJXI`G0q0UcSOpZe^pDt6{t?@Re{lf6xNZ2SIQT;azY_R%o$3tW zr{B-88egujRGuiamJug#BgKt9{2Ll}{82YFu!$P<-&8nT&eHE__<;Dt^H6ZOQgmSn zttd&omBdlGF)Dl_g;%R`XWPOv+wW(}pYjXkUlf!-u66mR5(kIXSoX8~?B+QmQ&N5x zxD-xCyA-o+>ST%?_gNToeHaL#c?(^NP~B4;6$pBUO!EOB;pwwgM=EVrQ^YnSP*veywyO+`+0ABGGDVhbCQoNMhqG^Hl&m}6l4?MS zjc?jK9MU>l%o9@Fyd}d)q>^?^E85z(zF;;={7^qW@l^^n8~-Bl0M^hWRDM;n_B;8 zIZd%66U0(|V4KQsnKea92u^8IGNY8!JN3K{oZ~b2r;kqh_|*SUODQnReN&vzd7;{m zh=Mc#%@yE!%GshJZ^xG;9KLjjUbvW-n2UZm& zexK}g%W3IUvdVYBCB?Z9yU2iZ2N1cCDmb>TBQnvOYEhjHga%Bsk$2aTw)18#64Usr z*bnpWGdn@miv9}X#XnH3=O5#=zswF_g+LDs>}Tb|!D$Be@ju$8^Eo(FtFs26=yP%0 zu1;L+pawLloRF;f8aiEqqciyK@#%bJGVXE3U0^-@1hJvoH$+~yp44n^CPjRu@c!v& zi+5swwea!O$%1q^TkhV}{1b;I+wM}cNuQWv7C9L4gI)IcbQJ}-RsQoC_e}9=sCFAc zZgluJZ;;dS>s$_g#os5ujCLSX=xf@YM1L*4DBu^MZX_<*E%agD-eMVlxY}qi0x@xH zTD7>+tJ!p;S}5&1j`Eo`t;XN)u$k50%^qZ?gkS30ms4JgzAee7zHNTk1r^X+V!P{9 z+2{NY`7hr64k>l_{ywPZV?oDUsehyNZzTVo+TPs!25YhUjpp|@-(T{p;Qf&A=r{aM zL~Ty+dxGC^zHj9BEWcoUPo7uSx}dplO9$%YOzw7uurJtKtvhyAF7t+pkyV#fc$3*n zI2pB4TM6q6)3y?xqOF9h%^SyQP2+R(*WcK!gh&55b1UJfU!}GZPS#Gs3N{j!`uhlX zm%n&akohPszbvlI1g9EGiI95zlijzR>LAYLMfeSp}i zz1jDTF;A-^d9v=-&ZBd%^8(eQ6T=P0G>lQ#DxkJM+-{Rd9$^u#+m95`ugF~WA-lxV z*L%MBQtZMWx7bx$gQyr8s@shdeidF-8p{kjCXHq6?$g!gA=pSPGYM8_pWpWnIhI*O ziTbOty8!FfhH4+;OXdNA*y1(82M3smHs(9Jgy5cbX*hnjp0v;TB8 zxtK&rk);oF*S|&8N5Z^|M)MhuH8Bc$$mix?n&Trol=$s`N?UqlsGoRvUzx+x6CV~5 zdq;+oKoCN8-@AcK0j7-gsCb+JoIh2U$DXW#_>`G;ysSfUTJ06hhS3wc-V-X7Pob~&zgs=is|YFFeZ{ykon zGHVyc;zI2LB8KXQTU?e{LSEH@+6^Lr+Kq%q$F!{4k;Da6o8nQm{gj)_+iI5NqBqk` za$qqqUoT{SJj|-&n|Vh^2-!Q>!?7jX`KJ5DaqeLALdMy`m-&ny(XZOv{qdFQOo5<2 zi$uxx*N6G@PZ~mI@R}8`O934xXt77C_1G!Ug|}LuV@Q+)st@xFX3NHiSSBkzL6xGG zV5$NEY7yQk&`Sl>TcXLUIs9EaZf&H;nP2HW7MVeKvM_y^kDWpz#U&YGwU~FT0`0Te zSLO-Ui_2oAE)l~2D^tx@kH*LyLbKev3YNUI8o|P@cDz_nWaiHH1I>56(t9jNPu5m; zG6RkxFop}i0}5@Qz5juoNf&uZHfy@tKFb1w-}D|4$KgVeRHIu)vW7Bn=T9^Q#Q`DZ?MlIimFOgH+OzGg6v zkM%RPeH`Ifn=hS}mP$v6OdqJiS)`mNM9?Y=2h?sVEs zBYP(8nm<4Rn4TcThi`n3-PS~hIV@% z)|z$~!NWqM2+bJUJ$LU;Y4=Iq&(iMO0WD}(yNhUdMph+8hW>@N4@wQCvww)r$sXUN z8oI0I2N^+jCxbOnGwbQ^Ce(;XUwDLS-+_r!0wn$-pQg6J&OG7^_|Rl2$DfB!r_uCX z;ht%O=EGMAWjD%)>W(H}lz3T#d4UoqqYjaeA)=mD)ZToUef+{+@quG3R3YG)9M^7j zIBs`BEuFyjPbWCp}8cc6?acyAw6Lu~z9jUUmyq=-uU4LXtOp6_+!;_d!b(ku^ zT>1l;UMo!Z&A>Fr$F#jL-HyUzzB?eJWs;`4ugt}@J5emoL9=djiUru((XIV!snKoQ zt4vIL1x?k$5cHMFbzo=tcw045ALhaTB$Xh*TGitzK=E!>kJ$pN=>nVJ6rg3bTNTz@ z)i{o75TW5!5#tq+uZVqJ{o=O}qptOL|M@b~Ti=iQ&zS#w!XX}?=08XJ&xL-zef_RF z0+f~C^Pi*r@aNn!DO@kt@O_sIm?Mn0zom5|L`JG*b%7Vwx6%c+TDx9`E^sF&TmoI- z@?K(vblKe(@aeh$C0;)&CE!DK=$&-Pugv|Z6xL2{+6fgO2%Dp%F%!QDWi9>@ALe7G z@TvH9e*A^Xze4dV6)y(&@tC0OPm?`ywRz0N1=X~z_c6==Z7PnBe=Wtw?$EVzH@P`? zHme2YUQ%(qu4l_ypF(NriX#Zzcv*U_U!X~a)?>1=%Wa<7J)>6J=^u*Us#+z~SvKvL zUTb;fR{Ut?e@XE#E1pJwn-4vE`AkvgKezhfNBhhWZNUsy;oV2;!m(1c6sHAWqG8wE z@gX*;bIg^lgd|;Uj!&^yrR50K$#;p(bpg5JH>qm9gN*LxcaCuA=J(Idy*1g4%tIM- zH;M_oOYKO02uB72;S{QCwCut7u8OLQrJ~-T1_JY%qI6c=tYvC$TfRj>g|?tE6m%!l z2-K~`hou*EgJOVID`;1XXh|7*m0!>min>SzT^tmYW}dr>J;m1ifL?j~?~c@PbnErg20j{8cdT!`C z7A|Q+7aOy#Omg+BOZ{Y>pJlGx#ufC|a~>rBUDWexOl5r(8a5o<;B`!Let+f_q;B@Ev?4WBT|p zD;0A%AEu`(D3dmO(ME0P__yM?wGE7Ne2h}GIV6RRqs^I=XSMCx11U5`n>>B_wE5s0 zaB5cPyld|?+Ds$F+8F_XFX(E;CEf5l=>K8(PQkPuKYf_D2gx=QHxvk}SaG zO!6frnBB-^cG17=HnLA9yH$fLg2Jo%2LQSVKwtA>x7OGWwArr6lD8ROdzMjE+Ov5V z@h&svVuoSkk=fMiUxa_yQ(t8x>qFnT-}KGR&G~G2oX7J$_Ow>8E~MXB_Vhi;Zy0gf z4<@IvUf<4-_)DZ~D*c52Sp%Y*OQ!9}LQ@*Q{|d9q?hW;&pOn;mc1lUjx*D9_ zd|I*$cF#(TSE8)!tns~8nB8~ZNFp+lzQ-xM*VLDOnwI0U5__p`qGW~Hb3k;;dUYOA81^Wy{$YtDX({fvz5D>pLNX$w|{+Yo}V%WtHq?e zL}Qx$IoLn{dRcUv-NiMCGA^f#jp5_hUw;T24$8CLHM{ScJ1C+o`+b}xP(*Tn0u8L| zTBGlp3n-u>HaaiyLdw1^_`bi?FqGr|l(6nM!)Mw}HIgJ==cP#Hq=B^D9d&SLH1Ty~ z4?!faIm-iquyZ&X=VM!c81Uz{_K7 zMx9sS!1Q!r8VJ!VGoKAEvbYchRlnI^u$(Iecx*C6U~sXbT6} zM2eNV$sSR)A-GAy`N>>jB+tXq*l;~`?`kwM(xn~41JGGbk#YW8W2BNdP?;ximd;lq_c!r1J* zy?Ff=KO$cx-4gABy9mD9Lk!pNdKdn>!VjTP^O3^Ixa?rQNHC2Ai98#kctTEbSr(GT z%p-N;nDq2#v`Qax>4z(Qg!H<2sVPyef2Z*bo0LKJ<^`yKM?jOe!+TG zIQljAIu0yCyrvQHPW#)-0yK6xc^>$`_J(BFa11N(tzG|T>x234xk8p|2!Wgu&s4aT7vd2!5@PJ zK04;bE?v5``Ds<({Zj>Vn-0jR_ad6{GIGVT0szqMEYzwyAM8Gc7g#~6r zr#9BF>1-MIb7=o`TmH|UQHy2xKO2E4_x+#IzZr1XV}(7Vy$DlU!^l^UjL--;n+F}C z6vDLS|LmN${hzVsiBy81Y_R{I{hui_n%&u~P_%4ce?Mb*+NLZ954D0tuhnNEjT4Uk z&{+39H#va*(it$6`J($oc@5Sfi0o{6aP*dDeWsCOzKz~(--%ff8-lk39lj~|Z=Cn$ zE7>B+2ZScxlemhFykQht@-BRbAup_5TE$&8yiA^pf@V&iuOqzfs{6_lA^r@Y`K2kN z%^?xI8=2@$6MlSFwFbD|)>Iz-&J3PU#~V`aJvtJEap^gO!qT$hodgP%M<=f>kB)+8 ztGMwb=R+qYX)URVyAD ztu8z)ZG#z}NpnRiJW|_Q_iO)G%l5zh;aOon#uhtMam%=7Cd<6Co5s8_4(?p7%^sAE z=ZoK?b$nFN}y!WS{p8_vhv( zn?nmUmP|#4hhtq|M1cN1hfWgfgYSMuxWDX@F<(LUxbzqQJ(>Qg^z;*3rRT1c7|Vv; zmbzpw27}Cq_+ZkeI)FW2YzNn(5%G{-T9c}tFTau9u~2A%2(mll zkWccG4rwIslOvM5^A2{rm%@P()wB%g#-Zf(th8a2KK^Z!qcm%~KZ1 z`fLE}0-C+Wv`6d~j86zVjg|j$siu=EaV5U4*konHKXl=@1i7WEn@zhWbEi@^x|B6R zN}U}sE89x>j7vEoNQskK{LLg&j-GKUQs8QSHT<672T!*i|I+C9pSc13`b~S5*Gv1{ z9?srjxpqtYDbD|$#>#-+PbraO@$c050gJCDvFL4ikMncgZU(b7y(*^@nEPssu7HW( zNd^X!JrvA-5?b8`-$=0SQ@Xq^b6=+geKpo3t`>=6sS8$(-E|SEZOQSH!4pU3V92WUt5x)@8U)H?R zkBPXL0~I6lP?;`7E6;YIb^yw9B=gS{j1CUQC2hetDh1;R2jc|6aQ(BX0s`EZB0#dc?BkM# zlsV`G68r0r+7kOCR^5WW`6$2T{J!RQC`0dXepmC;Z55C3YvRY2_hvS~HRtnV$4v7u ze&hJv#qV`~pYW3(IL$@-@zZ@%l8M22tE8;4GR|H{rbVQ-u3Pf!x1V${A$_pOEgt~T zuaF8Y-dFFz)NtMoI}+LmpBipjcb|HpZ%(skFQeI~VkJvd@K7P&QvbA4-O=-#TzU*S8-U_U}FIT!A_Jj@MJ9F@gNnD{U_ zU3>^93vu1mr@>d1wXFxIq{(eP<1b|bnGv)Ky=^^^Di5l_9d5WRHlT;m-jvNch_D^t z6j2fVG4Xy-L~sBzS%f)IKxJWD+JQO5j31{Z*C*WlfCWr9nb0)IE%EQLh?HZU(=o>L z(a0NY{mWyc*5h!0!(gw&Wo5CyH;q$YDlbi~f>YL5K z&{@#a1zFo#eaKbMP)D?A-&3!fPi-)b47-}@>@76oKTOl+^jcaqwVon;t&d|Jx4b|r z2*R_EJxkg(B|vD8)jK~=8UjU~mvv|O19GJf#D2y4BS$(piR;d*_WU2ut3E@13%@|d z?$+>ccknr9>);pvkMM^C@HvU!7W`u!e2&?=^RUAO|9?3T`=woE-1&Lfb;R5Au$<^` zc^>v}#6djH;JWj$<5c+ncpmoJUnu|dp!_kd%Ri2|FvoD^Jb-1uc{OlPns0%oLz#nBQaGQs?p0a!PMhtM0e9RrmWfI3=FV=v{%lOLuxF{i5Y} z;Hr<)VW-%NA`j6oll})=rf>Nj*tf9Zg%)&Vdw%=zok4`_0+QYQ2Lda5%IoGpme(1; zo6R47hk3&tU9WuAdLI5P$I8Y8PK}+Xk;SxU(t~pnTs#bNT%?_g`@_m(akh-Lu75sO zzZwXL7^$d7mC>ySv;FTme9yJVJQ5vxzrey|)W7afS2gM400f}-Ks6(T+Ua~`kuR-6 zwS5VcEKJIy|6U$GJR(CLO8N6!cROM;DG%eX5y9$vQ0GI_Nnu6+MAnXLT~(|x$ zO&M9ay=rB+saR$^Y})#t#jORP2cu5OE$!XhyCL-4?blOy+3~N0A_YP`x~44pqrF(P zlFz}h+8?#5r>j1jU#KiB^M+yRSr?9c*0FNm-l%H>fE=rF_&0@*-vR!;zGEGtV<^&( z{Jmd`PZHGF>A4lLDUf4eep%#XVIgEfwKe>QKB3yFq^gMS&}|K|n;8fA(47pGCDvth zd2|a5;_u(kdZl+=HrbYK5Z$=8%nBv*`gwF`m)m6kK-H@Zb_<1Hka)9AEb;aT=_{fe z%N%9m_ME9&@^y>xz&tR{PovNDjaELCuC*woTChC!7mIM+C!t!DIr{9F>;a+YmX8y1 zbqzteK9a{!D2gGMu#PT0@%bJi{`jTkth9>eb+<~=c;{ww`C6j1_iGvS^~wC-Kd@X@ zt%OZ;%bEsiRzu^SlV1@nsECfqt%z1*EKA?DzDnc{%YRDbqmGq>RJhacDgypo89x41 z@#l(guUBQ|$3M>aerV`L8Qd z9xYUShvSrG*XYbU+-!6ELdBD!LAPDS*qvR<5kooFOH_rR5q?|^0UIqFq|w%d)jce05>vf3Q} z8aut}!Z9suZdU$qb|b5f+`7nR@!n-U(vCyOh4%5`UaW36ZCq^4d`AFMi|dZRELnY5 z#D``=lW*5k(zA|;e>p5uoVOZJV;4i+_uK(;nUMu}J2JfOS5B~7UIMly^>iu6h)n4!!adO*+yUE6}8i3v?!KcAlK*>l6a zgU_#lCc7Yo!o5~-E#(H$^etIbQW&jFjW5Zc>MkRZ>IJjg<*x{`Z5zT@H58S3Co#TO?y_Fwo25InV^h~!_1ApP$rAW5F&!2}H5{0| zsK^rbqn3m{$S0X2SBAukKMar-LJ;}1bNYPi=wth5I5tEhd#Ls?1={{uq?&acJs|Y9 zDcSaBnRjtsVsGI2`~+jrIT|#KPCx^07+qTT@2W$H=f=18HdEQOCiPERIJvr)~gYQHFzo8ZdP;qVde(b>3{u+4ch}Z+pbzqKi@1RwESsygHDv{+-7gB zJh(;o%%n(s@|mrOgv3mA<6ma!9nwqRJt%$MQ|wYjs($bdQuW!yG`BvKpr6Y5tq6mEFiN8ilopDB90*#u1utjZpb5~)Euv*x%*npc$t4Ub7S$a*`eB3&}|W1 zvqr-#X*q2Fl76u{JZ+`xUFa9CbA7VyE%rXmLB~k%USV&4)|!UR4#z6nwd`S`)2VQD zL<7h2x7%6BF)CGCeqv$M`#s8MN6Ixb@J7S-CMhBxFo0O4qj^>N@rh6^+pV+0SFD<= zmiJELRXb)dsP=jU0qT>pikOp$j9*}b zCKfBxp7{QARutHOp*fIvvJNN8HAs2vni-Y89@N392i>vd#-O`Y(rkH4YU#X zFDyIJ2z!fH{2DT62DKrt0(;dl7J94xFIBONJd#Sev-KGf?*`nYJ*(~UVVUJX^y6TB z@Kxk%32#d`LFGVR(CeCC>Ms450k(*i5XlDNyx6MO$B|d+NzbHw%+OD=zR+;dmVRF`>39iw~V#{aq?l_}luo`#yLK}(Avn=*pgP+iM?s||*u|6%uhRhT{ zon~Q}v=o~&Q@m$W+?=HWh&i0^;;YPCt`Kw0pQRKm*NUdKs)9qFeNVa={G%(Oz@-S) zz65wu^>nF1wM+Q+$3IfWpHk^kB{a~924O_|e=*SYAv27VHZx%P1Rdh%P|M0d%@WW@ zE4UKugEGjIYS*!!gB>$)zR!1WbOptb&`S@2b<-L;Gpdgh1ErX8FmV zZ&{(#ytZ-_5E{fmhxz4Y@{efQntzxuxyeC!>;`s`T%tKuhCh(|lCG?N3L{-&t#!A` zLsF9gfB48CZhSQv+oE@i!?w-lk4gy5PW(bNL)!Y}c@Ofm7;G_Crq8EtmXwVhq8j@e zgVoEf?va-GuD|@2u zvzp3vDW!G=Y+@nfdm)}ST6ncz$+qOQt3LaW*2#+&-l4u^$6%Y@q244y>ikTDB0XlK znksGn9Niq#cEa`l#269lleXFKq7Se+B(2YZy)?BRkjIR>Ec#u!cWyqrn+q9WH@LO< z16B)`H)2D%*Y|u+rjCApAf((o^vFNRzS6e`f$VAdEf2c^q+}tBh%i!9$ysMzxhv;+ z&Mi6f%G{E(OU^a#d}vJ~Ba_PwDU4do-`Rnii%8*=5tPK8=yrkhIuF1{LGtiVIELRV z76`Sh;NhS=T1B%DW+3lh9FC$Pd*iu_t7?`mKfo1>*PpM_S-4rs$CuT40PC0nh8nV- zJ04@?j*&YiKiq?X*uMZsC{{!B!p$<=ZVr1l?uy5771EQaLT4?EO&Up_G4W?Cmi@lI z)f%3TgiQ9thxzFJX<*;)2^YSX!Ve*-d4X{IMx;k%V)x*L$TKeK><^#CKLDw8uTWFs z*Zh-N+)nJ+Z!sxs9=k8&xNlV_NduF`CKm+Ltl-#2;VC*&BOmz&pFK zi?{jA{93$Yy@7Vf>cL2P%B6#qr0#>WSG*BqZWw?UPkXV1YF{^;KH6A115O(sW+bN- zmTJ&4XZ{IyXC9t-<j>M!xcX1Fiyc_6OdeT{Kn zHSS9#hGX+b+CZ*^j1C?b_LfMa348NZw!J7++oz-bN76oHV1kkCa8{JHwtjEkT=gS| zjGk5qI|6b-wHx5G0kQcT34o&GOb>L0GOyw%*|>Ey?z?tu_gpD0s%|AoOCmpU-{&q6 z3yX57u0%Sumvj5zWmF0|yS-iLX6c^g-qEjryEKb!fu(s+w^lo{LJQVLzRRvW0FYH3 z=C(_8rP=>VBJ=9K)3TIk4T;b$Nx0b@@V9CkrnN?eA?=E+Di_UBiFDD}xrL#;LGb!a zOO|Mz$P(&OXGzv%Z@4F~u#2h-N9$DQa8sRXN<~--sN2q~pXQ&pz_igit6wzLNwshh zww38Qv)Khc2UwrJD_Be}ywce`7qWWSV4+1TPz9B9*qiz;XeDP`qV zi0QS-)`pj$@j3R*sXFf;tQ?Gx?ha^|gKR(-uu1IOTP~H8MJGWi@aa(-OAJSpuIT*X7!}t*< z31BeI&$2Ld8W|WRJTM{9ftvEn_WRUxa!S$xE?2+w`aSSX8d6WD0en9IxZDAJSpZ#n zQ+|Z=r4tGhN+Q5$4yevtKs}JFTz=;^0+FlK-jQ9)9PS+il%V|6SeQdg~YJHmU(} z;9c5Nx+C)i=^3aPCB#mqQ7&GX2_E;XE5Dnc|oWvInbNF&6 zkJiE`#Pl>{d5N#UK4SWU!;Cd7OpNF20)Aifz6;Mu{G$Bc0n?LtW=wg|M`uZhSRGRe zsdb0tb$-1&f$khLXPBK2%dj_ZGlNJ#wF>69yBC~0p^5~KR zjTIaqx1x7RA&tYLyEq*s(fg4adCodPJrEmDZbOdyc0Ls0~eZ zI>QZC8qH_hoeCguhW+ADCYPgh3pWqRtqLt0CnDtm*xYkG63UxcT^5;I4T7bj zVpdsbz_+|F1iVHnXj<$vQv^;rzM8T5D4{wp7?S>&)x$5O#uv zieb@W@?01EybZ3iU}D}lL5tRn5rn8WPLEh!wF|7)mzT4oI88Nr141wZyf|UCkbzb; zlHM1nH7|j;Rcrpr3u?_0)hL5?lkC61F|^nDu>(ny>^w2s9li;Tb-g2IyG49Yp%hzE ztu7F|vxY~!cS!F`tH&trBiIGHO|xZs^#pscs?o zlbO^$t!)Fq3$_8goSR;0$qVARG+t0f*DNj7ch9lA)x}+(lREC@^tT{O8|XJ;3Sfy( zEZC^G(6;S-MVJ>C!s7v6rS!8=%HE?DMyg1MObN;w>?YI^-@OO|Cd?_;kB-bGu<6MGRj)&)kJ zdT%x3IoTbKb-vp6BF~DTSm$%xm!(mxbFuqcugb`^cvdKvQwFXtbVC4>g_V0Gc79^s||JtQ9>SKm7o;VNv;5|zguRXr-AADK9p z1J*1(oiC*2n^1;XsR*-p0a+!0r)*%(y`XLgDH`jhFkQ>8ubZmLtb@n=sa~#EvajEj zlfuf$wIiE>!^k2r%`iMC?9b6+rL%c;wMXjuv%6Sny_<3S(%13@4RK1l$^u3M-L)b- zhCUz`PxGq&RZRZ$?2th781O5L4l3YP1@MZo)Jk|>^LQ00eF!49Y&j4Y1#GRL6wW}t{AmUlWYT4#%R*A*dRx(!O- zt)qxR|FatY15wyR}4J37SvG=vWN#(3$i8PJ9&v21GsLJ^ntlfu53;WNIC!P&#ADa}o zQ0;hxLgGnVr_?a7n#@VoWK&^KlQstXSBR7cf@FO{wMPLmu0=^7s?|{Zo@s>?Rn0PY zlQFD=^G`p5e@06vKI_ftDBAI}_jbraXXQXyJXImF`BrqRBOhnKmkPF{_dwvq_xJO~ z_u^%_h7)tqCXC)*%#OuTPgLd0j`C5jhA+AD&ed%YcrSWoPIguQtt+yt4%g%&94qwI zQ`V!`n^BMNXm$dL<=v`FY?iGn+ErB}=OD~_)904q7}6?#pSZ4M{Z}P5pJ!Kf3!?UQ zQ5XA}D5Z@8I;0m+iMy!zFI#La2^JkhWxjc|q^2S(JF>lF)q#oK7D_`c+1iv{)dlxT zVT{a*ZMRSpN2j-EN0|u3N^8PiHLgRf;%MRE7welxkpqe#CuAx|%DbiE1v6;5HqNh@cNWKk;73dMw$z`0Pz#|=HNH8TGULhz!g6R&PQ=a!HEP!_`!?GoT{7(Y!ARfRt zAsxovD6hcSBOOLN!U7n*A*qGYl^0-i=iw}!mrFVJayIozt6?>S0a`&iw95z!pgjj< z3++B$fc6(2z?hQ`qmP5J`opw_El7hggbn8w#&Ns=;}jkYC6|%jd^p|d+MS`CZ{RxW zk51SAo+h&ft|8dF*;qHyqCcoGW$zxwGD5|SP#4smrqVeihbNr~iF%U%@b4=JO@SZX z=o|An#*O-3=Wk>bh+4(5JUZXF3}1dC!RT#vUxjO=l{=4ZO;)9+MWmH4l-Sd&=Sqrt zR`j7_6JgVMTI8tkmFdpUtr8$MVtDfA=1F>I=;L(@ZGlc7KjCTgaV|`NCd^M}*~e+D zJiWkH?9E|sKz5$%3&hTsj10$4$DrVCx3A3fCeZ!n+ZseYRck=Z??CDjpuALzs(zP{ zj~Uk`=pS}|9qMWO0t*OIWCld*B<7l|sz<|--75E3*jX>KcJ{~yz=orC1}1C8|Hs~& zfJap{{i6v@*S>T}MVnM_#j|GnS6-}77^CUfR=cXf4jbyanB zcQr@Sc(>~|=t6IuEGl^iVd}+P9$ZbwFD@$`jcqR2nv3u$IPf99onuc*MBE(Hmti(B z^b+#VYaU94Gyv0_^F5g6l`_pVn}CivLEAlBGtDRZl|4bb<8T(!UeSY`parzM#a|(v z6im6NGg(OHPT>6U(vjNm)pK@qPs}_`3N~71!L(`?W?8kM4m58iU_HBnOablI`&pP`E1JCNChV#u1()v_p&5=Io0CyA<&?lTu zLpq{QLdSu5=d}nuhA)u2@>`I*|Lu*)J?qi<L(U z`~8;>L~gACG48bL3qbW*)<5FnU4U`-uvq_onPBKa1NqyiL&QPhe~=13(jjBfAxuDr zFhO@n%pk$JvJ)^!d@>EhTn_#|nGouEqndo9W5W0`WVMNK2**ql<|T)?aEWeR`whDF zs#4vpALt=NH^-X~>u!BZzp_VBSCQCU>LAHPR(@3-qxCf~@(wbMC|n$hyuky5h! z0A1H&?t!{acLqoj(;3!q$BKW22va`{3R7;mD()jXf%&vQ&@D1tWSlhWmhs2)VoUMH zR{JI(JE{@it7)UE{M$!E)4s|i_`~RWMNCW%JcRO;uiz5l3N2nmIzu#j{MvKn*Pg4| zKd_dW0xdTSQp8-!EYXs&XdU{ra=Px*XVA~4Wc>a?-KY2JS9YI1NxL9=`IxpmdV@wg zq`#@qBAPDc0qKSP_vq8tA6$>Vxby%$+7B+b&^JQIf!BVGw!M98BYsUZ+ZM~O{}GZL zBEP;Z8127xRTB@cb+tZnRe&Jf@YEcb2;0I*I`P#JyBOj`u)CmDV}6coaKB&U9$~76{Ih#DYbl zf#B~t$ubX5)xdEb^;F zr%4vmPhL|o88ibKP=Bz5AVCw8*mN<#tj|si}VzD2v$9DGI=hi zbYJ_~G5K?42M=6}yOkFe8NrlcnHKr&4J7^E`ocl}rZ$iSkx5lfYcxi_zc0Q_ze6T| zherOCjhZI4Y;zOVPs)=M4sMJ*zvuvCr0=sO^c}-xnOU}kF3E%_-{nKI$YKuPW#4I* zBME{{UyYo09QjwTfq}-Cm+&TDN0A)3J55VldIFLBmeA~0HKk0@OKqI-mX@hM01L@I zAUD|P>753RLscyO^9;x74p3TDM+FQ?s@UU@a34FwtX;~bH z;BP$dT2vHl?MC;(rP+*>4?axPw7=267*%lT7q-EM@yyz;3-X9-P(Z$IwvNCUP8LQ_V{|1J`I8BSvtfB;US#kO$c?xt58S&p=%(NX67(? z&Q)<1a&oZGD#lVcFZ@t%uy++g*M}Ao`cW(<&c>E_66k}FO&&U#50>0;ReVe<0^qU< zj{Y(93ChYY(rK)*yz4u!tVef z8+wZH8_=ba*N0!>=Hc<-tHKxZMbyMEbOw+QpBp|aJd|mcI~Lc8vQf56)>ZzT{C2oy zyLJMdMQf3;_0TiW5$xLvzD@*12|Ef!YWB6DWF|9Oxi@Kg=?p8~oz(Sa5 znoX5CsH=P^URXIEXO4c+If}Y430=NTdWlLl!zqlh8Qra;xi?y1v12J1wLr0pKlBH~kOy}iBbj}yl zgXnJU_5u|8$`X)|^=XSPZV(SZ0L)z5HDmo1^= zk8!m1l#z-J3puias-avXP$U=Fv&@&3GUep5C1MWCxvnzR4=!KRKn@=*_23#PKvl0D zYbRJXP;om;;8P%Tf}_5YT%rXm;oi418irk;Ahgw0hsydIUUGl_M(j^kI7vyz_eQZxWV`BO3Ji79 zQf}(Nz0e>u3=*bG0^c2hG`R0Ks!0G8K5A}Su?ri|d!raruiG*e_blQn21Mf}4zl0e zU?|*ZD77GtK*=PO4w7TpMjAdnP-i$*ZF-Z^0mnEtsD;n)@$>M@>NUJE9t{Q)AE_&e0DE#C0QaLLGuDfJCEka+un_waH zApjj5{{5^XkDy2t{tu%9;(v<9e<)B_-J|hO;JT{+@9{PHtCBE!&;xZ}M74lDu=7{3 zZxuG2Ev~2S^ZvWK1$nv$m@Wxy!HY~IpS7@Bz&fn+3sw(A6`5ic`2uxYEnsbGi`jyS z|B@ak|2JAN7Jnkl6d6Be{3eVc-6m|%TF1@&<9*Aw1L;K9T?-(<-2Oid#Ai{V&!@^A zvGm^5a+{t1;W~Z=y>%qnVYsk1S2m9^QS}F6`Q;7X(TM5I%hi*hC}w1&s^J6|{7BFNEIqxDtjOP?ZtBw^QmYUmU=n$@ew zq^j{JR^Dm;i^#i6G$)G08~Ry<6HSRnw!x5BXqx84EFeu{GWstPm~IoelWx#PRSH11 z#One74@;D+k4QY5L$$<B z;?WlRB>;4A0%a==JhnI=MXcc{GCq$RsX)8$o{-`ACs;|<;g7vP67l|KZto^K49CLs z_``iYso>R&<^!ei0|QEt1Mpb9 zbqqiO6I@VbDL$2swh-gHxls%WfMjdLe=seO0ayeejRqiF;T(XI-;e<)HE2hoIRG~T zra1svF9u*8-e8c@$)FSZ4PoKnG8R^2=SBu#6h7Bm_^kO9beFxYC<2h`V+aEbz=~I_ z0Vsf8WVTc_$$EEa%$H|C}0eBKJseJs2$V=fz8GnJUmi&hXtNSF1;i$nH zjk@eX{y@eMdUxzME(OkVK{qqIW%xokttS@FHpC|a5BWUpyBMkiH~Xd|1#x2 z{zQgWq&>F$KUn_zam{}DZ`y}Z{FepX8uQghV{`<0uBDfugip zpvKc`p}Sb28`N_^och923uMp~-OP<@JOF8lD7yAC1lNw3h*3p8gV7{B-4{hH24!vP zY*au7UHynK=$04J%;oswWYC-#`FK$FiTk4nb5c#m*eBPmwV0EM>IvkIXP+eDy@Ndk zkkdZd16zvdPnR{)XnWv$qzO9=0+2@R8Ec=M|FW>B)Nsi5Nd^m>_DRlj5%wfBTb&nJ z_`I)xkPa&LQ=ucMSn0FT2Yiv8@C_d-aD*%q=nGH~{=lku2ilX>3x!e@xJoOezgNuUEa&tcCWUkZeQ$xjzbci%wtx#%A0 zZk%^+VV-wxCFh+(pc+n`kF!mRh=efDJ3}5?xVR829h3YOxN1aVpx-043ctC8p8YPt z8zAtcM&Lz!Nf@zQ*;;1tTMGGY4hV#bqxek-=GXBqv9qRu`^hG!6@{*P6?p?C*h9r% zqwp&-9uS$MD75kzFXI77dH()b76bIfDu>V)*L<>Fo!|bKP2V%6 z(+1vwH=u84{6g~@h6#OJv%@jfjHYi&6n*`=nepknAO2iWAk1=|VB#2E{ueA}0Uq}t zlQr%_UH{dHKO+ptap227!rR>uVE=No0{qy*s)E4;!pE4S`%PW{>Zi@|!L8*S-7W3< zEqZI_;5ZgGZ~YF7=$j*kL*Br*KN4RO?;pknXoX3yfcoWWt0`7|08NkazFX4U$cTE) z<7nStWREmRghVCM(SnDcGm*4J&{bNNK?Fs(+46VA>;KsCmHfQj{~wE#8+gZ4y8l5H z(EWA1M7vs({L$hR?Q#3l*(Q?1Y7b)&oRiDr z%2<3#V1(p8h>+~6con}8;oM-<-Pq6_>2~Ojvr`fi!aS}&TGe2M+7ra3tWZb+Mb~o+ zYbmfn{bvk)mgcRv%->tpT*6m6HbgEA8B3Ccx?CxFyGd#0?WPXbud?J-Tg)4?oCQh& z$trDz>(x1LHFK&7rBXAu4{h`sF9YGXIXn~cUJAq{n=siQF;3b&PAwsf{(&di{U;oX0us89LeFZzh z2u$f=F1AkZrXA8>B_;B8j`i9MdH^Y10iEOG3bJ57}F6|=dz-Paq?yMvZUb(tLf?7 zI1IR#5^gWTjT;YSL?Hql1AZj_1L75pg3HXj2Z7fFhbA>6aTrTQZViS7W}VoSU=i$K z53-QWx6`&md{S#XF}8*k(j#d6<65}Z2;Q97=fkqUxQF=@?D;GnfG`Q(n+#w7gyM-9 zUa5>ucZCtSl*6Wh-6uU!$jBdf6Tu_2E-_I?XAZ)9^@$?tFJooAq{-lDFHV)H23>X$ z(jyH*2DoaRE&dsyQpxoow!r9W!cZ9~89q{dkJ-1R3v#@gd$;=aS(uy}Ni`6t@!j`$ z7nu)X{wnkc-1QwKx36lS>mB$MxuttNw$7S+x{LKb-e<}2poxwJYtqG49*}_$Lz`O~ z(`G4F3vdrF*E}e|t^kQf80K<5*xbab{eU07M%@g@ zfFnteJR%y&Nuwi3p24ESShS})6GfvMcLv_8?s%&@Sx_Av*qf^vW(UrIUx$cw!aJLv zWqc##Pm;HTfoS>an(s(FJszzwhXg~dpUu7eLnc@Q6*2Oo25R^yX;Dl`-^v^!e>rFp z?yPQ|4K%&@qq7PuRx;Tf*muC?uSOz0!e4?P=Gsm@@%v5aB`TNeBxas32Qr*!Vav)A z1J5y-N!G#0ig{H%rub61U5JMgSja@70X}>68FEGJTS%(t`lnd+|E25Cf^*iYKL^k8 z>i<;N&v+KPeyb4cXCbrx+gbkw`>+4FtF889NE-pWDf?|dvaTHU%Gy)DXhQA_Urmf?E0-jvF&I57ufYXb&|+m;RhUFp9`UZE>EW<=*-I=u7W6- zhnI@63Bvuzb>U6mx--j`z)VR<@*ax}i-0U18xtPO z``2My_^fUi=IDmARap$Q-gfW*SdT&49cAOxv>IvAoB`sHGgKA&C48Q)u@dMC1?)|5 z?~jV&)CW-_d>b;$uw|eQROX=M{Ndbx7e)L^imT()hxeOA(7C&?BR;?^CEQlMp_70R zdq~M~G)Hf^BE6yd0v(Rg=cuKpqTKk(2cZroVxaMphmPKg-`uImd;Lzq$I{PMJU@um z!D6%*g%<2ih{P8)7|PJ_^JjCcnfrk%@ho&x7wLkA zRj|-eu)j_lXQjb@v4M8gX(deS#LY`4biE16oNE2`C#s~49*GaD=T|d_*|OAYE1WTx zH$k`|NFd=xz)Vml+y}zh^y2;I5bc~FJty9p&|Op?U|T3)Q12Q2&Qb0UiH&)QIuiD4QWzYc47- zBJh~Wrpwa=F?OA&i7^y5gX#d(L5y+`-x2Z?>$|?~<5)vYJ~cg{55?pte-6GeEo8`- z<~WK5rnGjY^XdvjD!?&ftn1EFrzJrp`bujPif_Xvv2}(YcR(QwH3AjXA%Y)3Ac$iP zrqR?<-g)MIOU0+jjd5*kd=RZYosmO3x&xl`zAK7Pj(;hoxIg)w$5ld<-%>K#?<|O9%^LJ*~cr)_+ zRZ?nOH=`vY2-fa2TyNf*?(GpiD?-2A?E2!7lJQfc`)+4G+-zc33HYeh`)s(aYay=u z!12vMG8T366|nU72YVTiUTX5KvR}XATwoOb$%-umZ)?qc?0WAXxNLVP7Je4J$5Ej+ z?E?9OrAnp4!a>^;nade_u_k{V8;GQZ1K>U7-7z)!b^2AmE%y>8VvPUiE~k=^{-!_w z!8Nynhs8ewdBr88Jx6-sb`wD>f@Q_;c$ch~wOnVfV7GOoPXcik;EVIZp`$$|MWKr% zHV?KnN$JpNtdt_!YHH9>4nI$l<>$#_ILstEIuI|Cqw8)6LtN&7pWr@(6PU&xg9Atg zxe4=+9cZYpzMbo?ib#86iLQlp+(6vxH4w?v3Xr&wsm6jEqHSC&lh_!ukw{h91LlSLJBoem`v=G~ zT{+Hg@C5pD<8oV;c;msTjJhChux7t|>GZ}hZ%}8zQj4-4M`8~<93!b@Dwo)y^k%23 z&gbrJSYC*(6&Y@En2tUF>(68Xhxf5MJdyS(BF9x*6|I2@YE^UwYu-KuhG$Rf)g^rO z4PO91tcVn zKp+e6eS2KRxA<1<^X+LZ>yc0y4Yj`dmeb&5YW+G@m@TaX^XWXK=r;^_zwoT>ITwz* zX)n~(Yw-jx)MTV-FBEgBebp!y@afXp3ss2s4lh(s6tsvDCGkEla7a9y5+giJIcD<< zi12_zC7v}RcZRU4>KoL$crHm*0-GfKG~5a-Ltfe)7LKvd@G)?Oe+BMVj%OKvpnx(gV~fzP@^8gMB~8E`B+X=vJ9M{pTUiZhd?Rux-~f%$CK{uF#sm|M z%xE;?8t8*eG<@Swh{L~e4aevj*wJh#YbZN}8oqdLL3xP~1n6JN>;n@G1iZmS16-Y;E+z^~ zfdcu5jXctrxHHS1gq)?TpW~>0-l0_g7u-+#tNuSom+I%nt$qoT!D@>nQL|c=Jlm}H zn9fn>$gwUu$26To=^VHs1L_>SwNvMERSd%K(5=+*BBl*_52s?BaiLBox?PabatB+v z=~6C4NylIwyN0;yNv*hpkAQgqckng0Lv~$(KUSicEx$rZD-V;-!5=}z;ST;Bsc;AP zj82k*i;%=|o&}3Q9gYmJi`T=D7~}Y~LF@AInTL1$Fzo~Urai6w2W7WsHY+~KG-A1| zVj8e2`v6HPqdgbr8b$YA;N8m(vO{lETtALskVK1@@Z-JF7v=WS^l4n}Y+C_D|HYg(Z3 zalPof)ze!r*-XbEw#-ede5f2Lvc4U2VG7Sr#gtK_@rG)lzTDg&ul-Y-W{5AT8$|+r zg*_Vkk|d43q#mX(X#qf}Su@yn+Bn+2i`#yEADnhu$(s4_NVmPD*P7DRFhr2>1gG@C zgv`P(?_R-GNkAt2V+7oyku>47&oD*ZjRSRYV4Cx5 zf!8)ZyeaT;?JDkyNCD75$(rP1&)e5a9kCfhCF&IpTjbYSmBasv%EK+y_~{t?NDw^0 z+M^W0)}0VOM>1p1p+^3W;m}eIipkdt`7lBS4_ww1!9zW?iGvhp0{i+XRwRozMeW6u zJu2Vz$fvg9Evtf@;N4)a7X(YwtR{nY1^&I^ZR&k9Q)IM}pON2HehX}aIAyk|dr>Aj zKjn+*Pi$cX3+r*aa>~1qlDPT!Y}`$c=0I9=V?yf&)i5PWOnZqjNSBWOn@bFg0-2aC0}D7Q+S>r zPLIR0979i;a~PS{KLmK$ok(x3Y&^o{GNVrDz>N>ND^eflm=WRWTpFv)=Q& zripZ>tugajWvp)=tv?=V{C0lmsc`h)?HKLau`Vq(4ZUMzFHa-dB+KjRa0crlIS$)U zttUC-Z)^Hkr%hlvdXp!!T$DHY73R>h!HE9{awPtG!3+%#q}F(#4YuJhPN!isHC`{s zle8w*3r^Gp4Xa?G1L)y8ZJd>cme>{U_+A=b!n7vW3sy5zRQs@tuY2;o0UccntKQ|_ zLf6@~aMNMijjz7_w6np;gYh!L$Y!9j%*g7|G^tnn^V^V6miQ_PjX@IRbLDFEHOzsi z4~_^oSf8fSW6L;yvkX5GiQv@N>V8?mO~P<&R@|3kmxBa%CTpXoJLdmXIH8lURA#-j zmq~uW>YX@UX(qvZ$WNjQ+pYS+JW#1qqxFxrZ`9i4X^?swRELAB_pKpu>b)VR-Zhx@ zgwxa`UTqEl`Y~uQF?kgRfVvIuBdxdW0ok8v=|A<;S;-g;y3u0qTzeMmo#2#ID7{n| zR|Vs|S3%gq*H+pCj00EOx?3Esw!w6@tx_2?=xW1_12F&KYAgMD8Gt4j;%A1dZNXI$ zS6eAPZ3S?&<(q!CeX1JkVo{++Mqa|ko14bqHHCZ9+E->PyG>XP7e=+OSH#}Ens65X zU~^?nRHGisMrL}*Ud3T^Nsg-T2ia(8)`vaUQlG51(=ZtegF>BFj6bK~kCUK!f1b8i za*vY!6{dL@*CCj!aW@{>Asq?i=P6B>|Mj#u>v13FI~dK`OY@OHuq&aW)guHOS&tL{ z8CJNwhim$nyAAgl!Lg}jx1Z9?dyGY!4K`V2gJQ4IyzX$SCe|<9tOc|tz z-cBvsSDO`|$R$M%N-QyJi@IG==n1-w%%9C6KRkOI8rgS|^~k4gKJ@j-n_xt!JVD9f z&*6B%IttcFxT`r0)`32vDPEibEoswD?*{dLqinn#0=q!6aL&h-mX62){>xH_!?Lp6 zsqpjS{?Riy+@_0-DZ|ZGad>k~uY+F4kh^-SW5|hjdzE^#L=U+D7z;!0u%Gmh6YB<) zEW^I~eMUvCtDLc7Ro}}w0z;4D*~D~|U^>mhv=c-LF`b-hV%j|x)56A>J_2yjm@e@) z##jTT!rQR1ea^r$#nK1wQotle{am z)Z|^fK)PqovH9v^ z-MTC@^W8IITQ{0JSFoectj1L_T5wq+gq)567CHwn(7JI@2@_(Qb~4herrrA`n%0q} z5lx_MNoouF$IDY_BnOw&5t&w#I3Q&|Ek?Gh9Bw-NUQ&-VSpK2^@F&WGjB|)@;JLZ{ z^6!W{0o|cGqe6h2jZAj`^M`sH;<4ISiAP)<6ahM!&~UK@znTPE`-K3VfJ`<}{!s4? zB2cnSLTD-*r7>lN04fMK33Lj92A4q5LEhp1Ts&{Yh*KZ&8NM&Pw=3fh^_$oozFE!$ z{!k$}aS$7^49{qTT6`<}GhdemYwu9AE+m@w6HQNWB3Sau5(pNonz<^vpvvf#vo5OT z&CU^vd08zK_JzfGiDi6s3Kq#QW?%cEsWJOH2%)|lBV+bClPG0N)}i*K;tSDAl0~(< zLAt#P&lKnb(B-vw=0v%-Nkvi^RFocSl8UE%E>vXO)%{ASSW7Ba@HsG~L`cY`uoBf~ zAh~+TWc$@*^=~?=f@I+x%6CgF+0Gw9vRw`|NVak0cZ+Pt#Ua~gljD%B^AwY8yI=!? zY~HO+k?k##?deN}Y;*Ck){ah7q0u8E+Ghz9Jp2v?S3Qcnsnqd}d z#zK?KLh+Y72TM68E3GLc5pmJH?b150_uhuG=@Sx)yLf_EPNww9Ml8N)aoOSmP;$rw z+Sc&`0%DP7zh;ofNHHE}P_} zxwbrCxk;%DPEor`t6D8%YuY?n>HHo;Yqg$@c`WcE^g z+9gS8C++S>@o3t)q@{(LcB4tVy;Eap_Yo*wJ){t{8wuK7VA1X&n5|{gFN~$#vR*`S z#KF++*c%(u?ndx1(J)}vf_62CHczWP)`S4<{usSq+NA_zX!j8I*_BN{KLMMptg~4( z<1yH|>A`W0b*SS|kSXdFkKly<0H^YM2xeBaq_KBe3lCTMH%N*IkkD%UR1Zy%8Bl1U zSu8~t3*CWEBbWmH?Fl~Dn{oziehYVmT5Rj8I0fl^`yG{eH)b}i1y{v!nDa7e1(Vw2 zhdR-$>{Ao?2k=8Zr-4};SaonWbG3GdO8Eo~`=&-Kl4Unv=mp&!YBLrGLO)npOw(u-D>2Y_ zVUNnyHJJNkown0Eun8d9*$VYHBrjT&Wwxj%HYQl4<8hvC>Mx)S%H$veMX{@*O509+ zp*lm!h5n5f>htmR6k6^5cdBmhGPd_w{800m&ONkFOrJ(FFnv^~#lf_-#&jI(x*xZj z1Jgni(>t(N!G0>gkkDAWb_57j6!?Lc{h6U&<+HF2OA9xn+_7a{YM4k|!5!iGMcD55Nf2e;CAlOPg zVsvZMV~hqXrbi*ca;#%Loi8vp)d0Th!)Ba)HDtofl|+CE$1x$D37JUXkh&Ww{C?Z~ z1{U)BMe{pge!rr5EHu;n9%p`YXB5kKFo$Xp@Z|5H`90oz|Bn8)ZJcYUzMsbq%y5x< z3VsEYF#}C#YTdH2kuA_1vw;{};5lqguxx>8H<1;bvO6E(owfjKyyJDCXJ&F$1kniM z@fu8uP#J!xHbliv|AiJa(*J?67TSa#>bEPM>7SVC*R%WzrhmqCGPsGyR2E;x1-t9j zLY-zcQ+n@#4Qyr{!|`4CZ;&tx9*)|ah9eNT2Tp1WC0E6V z07JAE8o+ufVRnjYRXxTB)0?x^VGfpmu5h+`otZwB-^67kH5pxr2StFFOn1clNL_2)TJC0rE`p)pcw zB1(nsWYco3f-;BW#S41=_Hr#I*V7B3b2pL+f>(+r?>i|XPFxk$!XD7?Y$%7AC24SD zI9fotxS2_eW2V+&YA!t=Q&EmoGyxUyFo9)mt-jG&(Jf2?w1)`odJ@f+p%cxDZeh}8 ztZ0%|k;D3$egc^SHWw_hf4#!;rm^{nK*oJ{(9fY20@+OAeJjj9k115Ns(l>5$2tHH zbpn3f1bh>V&v62N*G##HDX-y&S_WSLNE65MS$Vu=`8>%|W(&T5+0g<Ox(SMLn&$27^oD*kY;Jv=|4YJ|;%Roh@vJN3bEl26Y?iqgCW8 zKMR#wmXWKXCx2<{NF9cGOXwKlR5g}k$0Yhw!cmA5!$5jmr0vn`U9s14$kK2ahqf$MPO2N zSuh_b%vTAsFiyFT#S5>a3%DxE9p$b-x$snV3<|0C{BvZS;z1M_Gq}L2+&jdoxH|## zQ~xPyjO{2Xc5MQ8HkpwP=#-}Q41YZaEF8b9p@!8{D6D4l&x81b^{BN7qWlaTcl_M3 zv!NkVZ6Lw@7|`NPNKPkboXm{5ktLQw@sVdH*=GF4S@Dp>gG z^Mv(6|N0|bclAsnB0Nvn5$1x!TQ&qMY*nuER!G<8W;5p0XNBzD3GKUshS-@2)`H6+ zm0#uozjkq7M@;B!3`~1Z8T;>dZztyOT)PcLjO zu8BhRC5$O-P+SKXKv9kF5IOhQi!btfVyt2+s}*O8`T@%qu(8-OtIyax^chZE;y@Dq zRr_!l4#~kKRrpdqUX>LXk|QP={UJH3vI|wOoDXIlzothj6>U*>vZT*Lai*`0O`nH! z$_HYQUbX~>YY=rhvKzd&Iu#XE`{cdF`ZBj>N1B(QSBGxrj}7>P;Tjrme$%@tA~a^Q zf%v5FX~Mb6FGe1;qfpIW59T{Bx`da}ug%W%VprFEv+ulvLmipZ+EzRU;37GTze3MO zx_z)tG>gLCLIb0^z6&yhR^u&2O*B(_)2!ZVr_MYLy@!nsR_|SOg0uG^EZ7oz_grW% z0IDHycsMBFD&NLxEVN%(j*8)XmWs_A_0S7v0Lm-?qhIqRm7qa@PvVd5(a5RJL$GY1 zK8Mfu;o0P5ydpEI@3vsMa*|qbQ4}`CH`tgQ15Cn~g`Kz-7u%_Omm&3PHB}c6pMVyb z3_&S-m!;S>VT9=}&D@I+g7JCyJaEM5Iw}BEmEq40?3YX3 zt3PwFIiTZT4Gn$p3F3J?zMsHnCiWtpjNd!)y%WFN;@gdnbG@9=T49cZ%#8BlN^9oI z#P+Gct=I%KaB?;7h&$S~5G#I(#XY%(whB3sFjx|B5^d;IhfQJa9KAjCjfj)*#MJWe}!CM ztzs?^`uk!{=#e9Z(E2?HjXZBjp0bi*2!k}113ozLU-Bw%R>?4TATJ};?HiDh@GeK< z;#4Sg!NXL@DDd$w?^Y729Jph`@xryg-Q&K3q+|cq$t3 z0os7nL6TaNlLMFu{?U1P{>cWqb|(xm1BY(>n^mWqsQfGBO(0k=2|;}VE0_Qq&hSg$ zqT3M8i3$aMsgoaOpMxIrK$p2l$3ojIru%U{9&fx36d(mR=lKg}=lO4#ljkpe-UvR$ ziWVCnGP^(EtySI8CqPMH2EAV+uDz;%aBqW8-n4O*&n3*@0;bF6A0tq-2xW2G7EZ^_ zQk}jh5)8x5o}-p2(yRk_a_VRvxYKQ`sbJek288=fL&NX{xG4itc=E17np#tlYA0wK z;d&8uNg?8ef@%XtG#AFZ;v!+Z2l0jTeqU>@`x8tRJ`S16TS%sXI@2Rorgo@J)ghDX za4@G}e#LhXN=JlIyPQ{5$9~L~Y*062l|bcRKx;Zr??SabqebloVj z=&D@*m#FOtNi|s%{0SZ{A&<(vPmt>1hmsqGN99dGUmfocred=mcv11oA57zy@aR_@ zIRP{IVR`R=c(kyph$hXcE&Nks|Y`j=70sgp-fr7rXYU#|pC9`GnG3pSV`_!Mz=?%qNF8i55Y4WAI@ z?7g_#!6&y>LrCl(hw5a*SDgx)6r#MkHAkp1i!FvE0{Uh8aSE@U z^xHXj9H$>~`di?>L0v;| z0f{GS0W8b09vE4Mxz^MRG3c-=4B@5DF2|nX3-vFYd&N$j-~tlZRwfh=ots7jXPARR zYLyB!tmiR61<%xQs%jmc1NpTOE*y4I!e!v|$uiI{93j%+Pkf0qIEDj#8$<>MdNAcq zzK*&v(Ud^-KomJqCS`GgNFc@L*GPPMouIoQAfr-!c^;+Yz`8`Kbi)NwX_{53D88Ff zsmK=Hs0R^tICKZG*;4@7G)%;d?vIfm8v6q)7vD2&jHB2X6blbiAMibnBSJLkGTp5* z>FQ;qA;pqiBy)9L10**4tQjUpCRs242B4tkA?`FiCx4A5Lc&#!goL{iP}F7k;~Wr; z_d8|5+Cd~LZo|rTJzRq$0ckj9gvV9ntmAp)s2g^Lq{EzaYcFFIyjg|*?0q%y|03kpur4i~f@m9>$ov*m1&)h{50eYeXD4BiQ0HKJR3Oc13 zItSx!4sSWuy`5jBdlbvqegs#j$zP;@d*`U97~l>KffT7x8$SWlg$t*fmp=G6@Cfk4 z4=5cFCke_!_443POZ>6pE5zC_SrBY)+AsTzKo@NA;So^`oIkN-XFDm(laB0))?4<$ zcIBDP#Ihy#6RqOw(1wNQ3*Y9DCxavld1Z!7w zM}Up;{I9kphXl-O%u0Rj`O+Wgf-l!Q`i^M7?*#l(-=<=hXpP)_VahVnL>|o!52nm| zZyEY4;k|S;P{)n<;opEqzgRnv%LoPp>)?Yuq;B)}Ys9Vyh#oNl%QT%4-q_z8O^|Fs zUk-EE_}Ln8=AstG3J%Ci7D=z=kaK~_7##k z{`sSYNb}{F#Tpj9<(;WNa66Pg^-WH>1Sq|QNbY`(kJ^p=Sl`ffs zY-%MpOqi#zPlER;0X296uj*6S&dqt2SlOoP-T*FvAmRE~`!?fT)QTN_s(gR7!AwBH zHw=RDlIW_qUFuI+yU-djxO_4V?ZSv@eYqYniSo0Sks5kow0PUiYZg8pd`H--b{SN| zKWsl{Q{!+EWs4Mj5#>jG7Z|t*?|8v*VP}0A<=gu8Gk6VAj3W)`$EyX0;k_gGyFW~> zf|!_xFI-5wh`(_A2EI@nRi&&b5TQbHnu3FU5hXZMUf(kd-Jyq|796^;d3$1h6=tfi zcT>Lfh>*pI!oc95sL7uv(EJ69Fr%ESoNQS1Meh~D^u^{NeBu!A9g&;wP;~fdw zaEvBsjeebl*ET_W(ISn$;g_8SVi0c-v{2J+9KJM7QmW27FhR%EH$hMnxO7@jhBK;S z-+{W*G+^n%piO$vxYndG=#H6DPA}3p#jkS{=VMYghv2>%dZ-@-MfAa{*FZhlkn$6*(vt zI-F0<`R66T3_Z&~oW^sC0;^(gGw%5p8tK)F;mFE_FWSL>el~un#X~>_XO_p!EN?Ok z_aUf9ktOsDpoa4!7geH$5XBI_BSXqn{tL3{sO8=bBG!1- z(IV7J*g@gaa7UzB_ShtAMf_2$bA~TRN_Y(ZSW>qTz$tar=+2laoUMLEzcJ5r{DCHr zKo!mChD?BQjd#dChZwZ{F(SEJSuolHMqH8cEijL?FIHqM+ly2)KF0Yt3skm5s@3c} z2Vy7+k!k17v?F(%iM=nxo_zjjCmxSfy~%hH>C`wF#c{OT+EpWw5n z_;eW9?iIfzyD`}dyYzVzJR`o?C&h@{ekPY@cDMt#o6*H)qSo++IQZqn;&;)3@yj*O zUzE@b==Sf1B@ZE3I!Ap}!YM=PoCKVj3_e8{0OtF26L^9*%ptwDdHlbq4~~Y@#V3vy zSOMD85=b%v=RuAk`WYOf-VDrTyyuD|U?1+6Hlcc#i>+4!#w3r!`vrqirZILzZSx@F z121yq%0aUHKD)xnxDBIH$_7TlGXT%4pOqcu@q1@sHjSi$*@oXpH~fV-6@W-yH3=B3 z?4}ZjT$Fe-I5Afg8Zzf*uJ4k6BwkI~?WqY~95+vCvq+mEa@5LumWiD{`BN0S6)dez z%tPxXHWDIq^)KFP_*beaL-~%IF%cOsG=kaEPNmlLE~_4rnizg3`aBU&zrfqo;9wr{ zj~Twd6A`;8_zve(M#D#nyL!N+;UC!w^WafUgoBZ#xNSl3MP?^2KZ)!G{vX5WCBy|8 z3M^Jb>_+liLPqfd*HmL&`BHl48?ve7Y2ArcW|L!C5wz(d1tC}C|? z8!&H=G$sl^8Sg?vT#EcVrqfsvK;PspBQe8A+w?v!nAbDW-S7b|^WtNM2WI?I&#t-J zkRIQ}=XYO1H+`)MYk3;Pt&sh_7k-NdRhCC*ugqX^zWf7EcDPs#4`lqpeN~+_AoTY( zHJO0ct4v~T<+u3r(CK+IR6>*V{FzGs;QRXo!rH3t>)#|j4;{Y;y6y+Rf=r z$bm*!gbZt8o40~iPse9Io~_UI_&pq-*zqX(3ZBc@AhO$^X1m1iMPDTLSJ`LmO+CI^ zax@AvJ72%X>{|z0=)IUspq|vPMN*w$1d|sW#m@3=+-W3MW7XhD?p2v?7@0MT>8(;X zAUm`Y&SWj&Vx1L^svC7f8D1cQ$g189rG(f&aY8BeLUA2I3Ale@1+Mx?qjDq?!|%aB zB_KLAJHsA?84?NTYH7XDk5B2@mtN#`1TeGg3o>*I!Z;ps6}L2S$qB!3>@|_Y%H%rl z$=ZB?m%32^1|O9 z3cFOz_ZTF+uOe_B6v%Hz=4vCmZt8WOz;q{5uq=(8})Th+?Qp5xD(fA zMF>Mt1d71mN&q6{0*35>NJEj^brD1h-UQ*&)~$YkJ=7$|wta-P^Hl09|L2|{gfhb- zpH~n#15OzFn&qZp^)MjqbT>42-AiMvAb4AvJGk6nso(8ds$8pe-XqF#R9^p_^kMF_6gvemW@?N*~vgW%?&WT z{#yckJTy=Y$`h#4W<3Qvu#@V3npSCeGgYUG>bef8oK2hrV?yoi6K(O>`&qf4s2)o& zap=J-UG?3p6|m=;q6c%C^r)Teq{q2A5qd;GouxrV(L;j}dMwZ+b<*S5EQ=n*GnO9Z z10wV&c~a|ae^51 zrsY;w%*KmEgds_T=0+Hj^ZQw|S{?D1v)ZT5lv%BshUQ{!ylbvwZtSXf1F&lHzW^9u zIs)Da@Bn!HH_UUD9|i9^4vdV0bD+|louB3M{RzC>!TfG`Gdt&< zM0g9=fgu@mS?9nzmv1F95sn*s0#JuI>gV&FAJM@ICc|A;!dttb50(=L3Fy508zbmB zEYa;RC_&UIw_lfBu{qftXw|+T;Asyc7R`ZmGQ|t|6Zr4Txa1d8a2Z zjh0qXDc80+j{Fx%I}So#V7}&4S_hTGp?;C7Hxu4IH3q=k4FD3zpQBxzm$6oQ zi59emuaq8qP$kzjZ?LQUC;Wi@0Ul_9h|B8tO8w;B75>g-1-&oS9eApY)mD7#D(9LF zoS*2({E|KmM)pnv!q#>6r;yvQ0o?wb?o5PK%joFNUgvS0{iES8s={V9`1V#J*9K4a z=HeR+^sFcGH}{II$pwjjxHG?Suh^a}(wE{iv$h~Oqj_p%PF#s&8AiZBzwfd8eXZH= z?xc(AjfM}6nVW>{!KFv81AZVdd~#`sljh~-0m%LQs;NWaE=-mAHKN`$4R2Ia@T$|$ zzuuJ~%xH`eS9uax${i@m0Wk~^qp&Gr3=3wQR*=1u#K3?PViaUnsoQ za3_A(m>8bmj3fs!XpjAu=mE=A(}U`*3HlmIBjVG87BGCC-j!vgUnF3ob1>!J=e3-9 z7yQqEw;PDNQt=4+hTG-DVF-!!uilo#5>>aLaHDbs0gju=FGmU-fJp#Ier| zv<_hI*Wm4@zUgHm4;Stt-g%IX@RaDu?q&m8paE2PnXnJk(hkxFdXeW<=cFfw-&P^e zt&#u8@^5EFDZhH?q4>)0LJJ8q+&vMPBkZ+7-Fmtxzdg@HDZeFv6;XckY~{CHbY0N| zk#HAb-c=B|dR#&F)lhnuahPkRSDU*qG2Ci=rB0whh4CMy=z7SzC@q(Zs5{8$I{QPT zNi}B#PR9hza}?B^R~+$1;Cx7%)dn`u`nK&Xn{j3u_8I4$d8Eg`((TIo##Me15QZ4f zcg^eVs=!<>A)~X07)7n1yLp10ff2zc^ZL5Vxd0In-{UJ? z3zMK;HvX<3yt~7QfNat_4Act(3(ELKq53Tz4y0Y81!^s{%Up**9dpP6)t0BwBYv?a zM638Vk!nXC^cF!SlgBE(g3w-Bpno-G3(IH|D=T;Eg6z*R7lF%@%cja#X1ZWqx6 z_UJ7?8|M}%TeyrxHGu6H!GT-96CE(Cr|5uZ@P)mRi?lrd=tNNf8GuFwaILKX#%cx7 z>w8fEF2pP8eC`i>{#phTgL z-Y|uFvV|6e`aFkF_n4@i2Gl6jFYF1SzU?S2)J1cK-%&@SMo0WQ=YH`<^BG><7hj~$ z>|s$RGM`x^OtL|})JsJA31&lNtq&JZ09Hh#N9Hs4vkvEc=68s7b3Rk6=QE#2L_6m* z;dB#!5JhsxeC8QsA{^&@=KjWF{-7r_#nxoTJGUS(J`Ia>+NgEAhJ0ZfwMJl!Ihlbz zGF4WkC406pU(xy`6wxQ^&5m}JA0a&xnXT*tQ4XX} z_CH&hbcnMR;P+p$&;S4VO7#5gzdT=A|7c@@7-zn+<2XwqMdmC0PtdZuJ51*|^OcW} zh-fKWAeB#w%vU(%WWGX&9&}aKSE8$)JYMhP#~0=+%%rtXr|zPzyZ{?_zH+-1Z}%n2 z=>o5IGS$`9I^}aa<$k1C^A%Q5CZ0#FwAMV*m>>?N_2aRP331x-nh@zQ=Vf!3s%ssk zv=X}jlR@FurrJVCS}RVCOq5h2;t@gIimSq$np`GR6IIh0C6mL=qP19NJRGB^CW9yMcWbYlcdp(Fj_Hc;ua>fL5YDN;jD}A+ zaq$F-&rIXQ1zx#b1+M&^uJXIIBE!Tb%T?inv_=Dmrsh@;O-&wv(|vb{=0Yh1-pw-n z%dSCN@Q6JmvTq5GSfyPyTE9hj>Scxcu>&4?Y6uxx76gW3qEwNCpLk0xmRsE%M!E*( zpOJAYp1C{9jprVC7I1j(hG&6?XRK9dfOy85f`IX0hdPQC`15d1(mx6Uk>_*Np{1+zn#=~qr0JV{od;ne}XYm0@jV$8>FnXBv zSx2+{#fg|ZwzZ~cbM+K0S)@zpT=nfn>}=eH)jd6B9ONp$6G`^`8(q*G6SU3Z|HBjf zf1Ih%73?Z+9-~or9kNE{tYwkI|98zHYE*mvvLFASZxg%W$kC3;+K04^WwIuozsQgV zyaW3GqTp%I--jTH_Wb=WBsf&hpOC>ZQ5|a4N7dcWKo z2T7_<^q4sTOtKJ#>a2210M9d#?E_@FS!@Kfy81Ci@Lg_A0NbNhh?Km@`n#nsXQ6pf z`m$M*`f_GRi&PPPxkmU1^S^F-{%5ws)R&w~#?zPFgJ}z~+$eo{N|e65x{S)wv7r#F zUDT?7LGTfPbK>`t2*dwLeR(08p`|wTgQ(p9A0jivF|V#nFHM#*)-k z@gN6epva;B+F7#9q5smg*x!b=C(Ilv8Kd-HLOlJ~FQWg*^Wx$xGlByXYeo4Tf3zsS z<@kc~V-Bs$erO}gZxCQo`EelYWv)>iIKhF26mR!5%IN~dm|%+X>!nkkv{NoYilzKm zL0M^;)_jl6YD@};=6kDcV-oCZuSu{KD_eSv>&b>PVCc2hxYoFU2G+Q!=~$WaoFHpl z3-CUkHk3R)kO#WVsSVrxOl>G@T(=S=3)|Xo<6UtOkJg5N9%UjQqYVd|4LA-Bpf=1u z8rpE(K52uk4O3C0HUE2$ zDRjMl10@@|f7iN?17}va@4;36weVmIIKt~>+h^dMw5FG(d!AL0U5|C>Ukb284@>l> zZR*ba(p7<-gbAMhrL~^G)pf2r%kaw`9Fx&4zfVKBbtOgwuDYz@k(X<6+s8)kiaeQn zB!9$aKxN>b`tRKnYqC6v8*%p2@KvRSPl`xe_{Xp*aVK{fVHYWPhN{I-YYA$UY)4v$ z`{TJ|xcG5cB|2ds62bv21*AKMiZSsw&Y0?q#ILYuRwWati63ThlUHy|8W7z|cWyZV zV^j*htK1E1T;(T%p)8zFB+i>HoWF5TT$N=cn502!@lgl`ZD;XtIt z@%rl=^cPOB5O)$Ayb z|9wy9X8b~4P#|-U7x7T&vR*ai43F!ajUur!(cV?zBRPN25=@^5!QDHSWyna7LtUdOrm+;LHI0m2hY8O>~vt z2qK>wNbW23Y&thMps&heJzs&ZanhuC2v3-_vFD!}zmJQ1VqzjiWA#dUVH&YyX7VZl!T zxJBIvfa+TOvFo??=UMB|@NWNqrhmGv{h#TdMRkYTKXeIQ@e&vFx9dp@9y* zfBF&N7WGL>^v{R*^S`2h=Kc6T(?165Ii&H^o+WVpDYbF`1kCXhNIR7N`QQiXpI!i{ zGV$ksMgOGz{y)<{bALP3{+Y@WIRAxdzlcSLe0vp#TRDEhFuM+Z{2Wh!xc?IXl^=f& zqJQqBc7%~Y(?s+Sc5EB|wNNde;H;#P`Ki`F!-74je_$*8)L8$xGxvH6E&Y>4{o~&K zg*$N-rF!@XTmSf0HB7M&BOca9cFtl$+-}tc(ci+~#cH62HI5B|o?vl$n!}$hisplc zDgJ`MZ8+T6pcWr#!D~>TOeQ?4E~t#omdaRE4IA<-kR%VL49i15Y$*twK*caamsWhP zWa;(F4d;f+!ykdO)!UA>jKN}o-5%W88pid@Y{3A#{BBjK%eO?)Ch3p6T}=J*gp>Zm zQ~P{|9iE2&6VM+gC}1OfVq{iBeI|IatMP7+I8t#*yx$A0&s~?;A%sJ`I&$><3pd&gSsE;IP1q-|N}DerZBP zIWOqP6;*Ox5El;H=LJ2%o-0vDEzclos7DJu0q=ARo~wK+lt0cO{wXjwxdi6-0-rEH z2SGjky|rGReu6TuQb*LFX9^?ejjsf1o@{Sz@%O_6SN#dIcbj@#g8{#6Q@cR^x-^@^x>jNAI{c&ILB4d2UVas zbX?DK-PsnuXmfXTHUP`>AYtijSNWgl+4F+QIE{caPCQ;6@L(N)_BZ&VmbR=BNW~+9 zbdH0;xz$z9@Jb$-P~&r5lbVlreZ6k?=LNwV)0`)WN&k<7LmIlT^RJ|_cKP^v4tuh>pX#_jL zakM4bNGhrVxv=MWE{@0A4jxUfIj-{OP&7g>Pm<7Tlh7&=hP+9t2_V(aSR#o>s_|*z zG|*>_O`o5epigo}6n$153Vl4+9Ed*fGt70BXT+nC3xz|6AtloOD3*n&9-dAf>FEhf zGC9_ht+4&%OKd6k_H5bp5%{w;lvI(3{RZiM!pI zAHeG8eg_!+JpcZZ>_%@`qdt;&VcT&3cf(4~_jo@3X!F23Hc?Y%&P5iUdEbJr#Q85< z#>mta=i>_tf^TQ&P4e5+bjkcj_(%07Tm{S$X&mc^EN@p3Tx#b(PxAj0rhefjlm1nj znbhN02v9cwhMIss)_fs~KD^)39`OI~&(G4f{14eLn-AH3VF}p(aD2qtFM;<>`(JFE zgPorpPk^xh_o90~#2;J!M)gmjCvXjAS#hZtEpde|SQgAVEI6QBLG}-@TA(pY7YgT-$N1rcrC$6VHAU~GCK7cgS9Q>(wyC?gGx~Uzty+DV}Xrv<=icbI7yFG?& zE1mxYU-)}`+cDU>Vh@-1SRCG0{gUZVS_v;S);78nV`WE9RUMJS`^OMOb%WXg_Vnj( zuc-2NEL&0s`IF!+!i3mYizifANGH)sU;W|5!+rI~nKv;6Q}!mq@y7@rHThN4_4r=L zve;Yjzyf#(;W5A~0f!K*8cANjjp|nAjp;BbMuW2Zr#!zmupj7PvlpyHg$5wz~ z%BI$+*N;7g!Ibu~0E3Jhr*Vl!v)z<;XEBcQA4x>5U{Rk2b@7DK=>DgE2)JAe5jDQu zszqp3pzUh-Fn{Iam8ai_vx6{Li$ZVinW6n-5--G;T#7*+QQ2~PZ8uNgM8qY5#@V2* zNGb*GuU_W~_S+Gf2OLV*;WbYP`hQa+KbrxsS6)UUuy(v2WWH_|{rW_{_N_`HxCo3R z@s<@``#HXStGZFr#T;4H=NZ8)X;vE%y|SMKhrP1xBSzwH4Tyf)ZwmTgF;21r8WiHH zw4zXTJwOKgjRgfl49$Y)B4+C1%=C=TbOjQ^J&|K7b98g&xLxNcMM7wc26GoPb#`XD zL}yAuUE#|B<__jacjm}q4&Mr@(0XLJ1sTwzm!!Oz5W0dUjc!4BsL=rPRk9EjWVwi0 z2J0;I-vQV(C)iE9rI8mQZ-^W20cR}hKFXPCsm^pUGd;|NV85%Fshu;^qdL<#CbV}Z z+@=$Rb_}j(6ZmQ-*ys*NL7>|$QFyd|@zKZ{s$_mU%MhJqZ-SYnEmFgifz2RR$^tg* zmQk=jS}3rumqArfFC++`iGrP2u#>Z3-7Y6m>AJ>%RU<|p>rj9F!`=XwAgEZs1Og#0 zcI^QG!MJ!CJ3`*a=M#Lk;j+{)NvXd~oA~9q) zDVUP|CSH)*vUU$2H`=SM3KrA7D_;FM16lbM<35T<<;A9wu$3Td4GnJ)!@ zwhA(9ILA@@Bn^4HmEkaE=<3LDp3Y$NA(q?C%G9L4ELN<12fR{?&o}t&#fLV2Z+tGq z$BPeR58RK>8~8*FyvTWPC;z~lJQoYuBiFfo?{_l!$0K7?_~*R0*rb8K{UiMI^y|Vu zr{E@GSPS zHav#Uyg2+D%OCxY7j8&dw3l>5bvR#+>T1+ryRInvH@1B1i~h3t>mDr^7rtWh7v+-O z5vmJ`AiBWGUx?0Sf<)(|)05HZ3U45X+x@eLU0kHl|5pjjey`vSx}&$Qr~ofT_}P`@ zUVv_Hg+5o~bZt3esvfAnCQ_0|=p6cehxFH#Z{W422jx}hJG^e(UoSo){dJ$97TsTe z>(Q(G>x3!M{dF&(9YlY{jHg-WawI*A0bdmAiBaVoe|iMDec1`c*FOX@0E{%BGUC&38&aYRaNB@=-+cf@?zW z{(?q1`!`m8tTP1v{`@;&Ks5e>Gvc+y%GXp=zT(<7(a)z-q-p*9m~ijF2X>2meHFie zQCnaSVNg$DKxLV`NRP!R{hTWLxutH*0ra!j{H8p;2348zbfFeH)i0U+t_eml!2#3@ zq-f0VvGh=GQsOhA$Cwy;Xgk~p&<=l|P#t!7@ylqOX-tKN{7ioBC-0~e*%PPYoz1Kf zgZL7ZgLDa5+-jQgs?e7H0F>th{^NE5F7HgcF7%mxH<0m$J0 zHF+6n(uaXd;Y4FFOm8PO;txd3jKr9f6Va#s$#)wtjla*F#yi|yp`?0vPf*EZyOIgI z5(Aa+LY{Ou>01|98o|PP?66OH7ltW~R2);?ljORq5QY}?;7bq|wjRtyscuHlfRhwi z?zjLoKg$x)?xW8lMKI{=>KJG#|6WKIC0pqw9pM{fJQur4HI57jL<^Vu=z10t{av$tQ=?etoX(mcN#OaCEnBsQu zA~RS|nKXf(oqgwP6nYbdkwhVfDD)H*TFZKXPuJfePW@FV&HD2)ut&Bk4)}kW;0=Nw zMew5u{uBX^<*z&tX+QAC+3*oQEgt;ACj4=Pe-q(PCVUUzcjNM!hL8O?5--gwzV;(P zKhxKqfZ{my2(nfce@(K2KFuT^8h8froeR;t_t?A%%yFcF@K848Rw0p{S7LVF(u`Rs z!`g>Q?U8tGA2eBi8DQ+E{>#n!%QOBj>dpl|s^WV58z2x=+@PTGNvNoxC`knc0Zk-< zyRZwfilP<87p3)uu!~rTtWBc1y`Sq8mnM@0Es{nd|>d2qC9+Y*Y$xf zh+4`2duHz4y_*El{`&v?{(p3H@0~mM%$YN1&N(x4=1d&Wolz)OpFcUMM!j`;Y>9eE z@z@b=o~8agb(wj-oT7QPLFWlpj%LrW@T=;R>~pBfCn0gPN|k<5(bg?GRo2JK61gPu z-19mD%=G!Q8X5Mu(a36P-zu|1`N@-tE7&{2ag*Cw0!ilML#hGv58nK;c<$MK4(|BT zVApFXSoyHzutp~S$W^#}a7qy5>t1%c!aO>tDD}d1i#kSLfIwODUz+;`+dl~j?@3G- zXuK;({z`xrq`n=jfxbUke_NE8D}7wTS!-b+F^oG20_O>`rzIZKS;rwvq;E~!!CdVT zPCQUEni5~(+&J%dAI}^4eN3ACB>h4Nc?oGU4t$B`yFtXz#GScJ9;j&-idZ$kSAY`s{^^>JF^m}gSYc{5^(r@ zptxy5epd1?hWRN|xi4K&?fRj9@HT5RqC7JYI4O<5k2@kD#QVz!ns~QRq)fT~^FxX* z)+MdcC9QC-eHUI$w?FGy7zVe-sdub@am8spqS(BS|7~}*{NSh<7JnRtbqO_$jqzg#dnUEAErzf_3?1z=IcRIj(EyYf0U*lz}j7-a8 zdgAsy!ZW`vqQNDc_Ua3?bFAXKPT{nV2ZFQF$smOar#(m^p;=&hqK9N_d{MQu8&2CB z4@%&>tkwQzxGtxwb~p)+Ot(XB%Farr+CN>}W?gtjJKXn?Eb=M)SLih$6)*g)ANwoF ziKVUqcSje1uhxK@Zf=DgWMm<+!Y2XQdFKUHxkeS6=ZSQK8@hgY1LS~CPOMjRQLc;hN4 zY&BG}(k_zhDwlOCc>y*_dz8>LbEo-ix(D&T&~O1HTUl#?#T>wjtf ze)~Ls^LGpvKj{P7w(Z@{{9U4W-sA5{0*T1KVXzLE zv}3yxo6gfo5&2_7U?$-Mbk92*0YAPVWL;Qf$XvSoTNJW_Mpa`hl7<`U2v?-x65xs` zy8*c3rL5GET6uC#0A~PCR)7)1_a+~94$<}a8yj&8vXb|vdD$C3rsfNo3z&u5aRV+# z^wUqsy_(|mQ0 z9_Lg&A7?f6C1p>6YY8ThoU$V$mM0MmY=cli!IA^I$`Pi+x!c0T0>Z2b4;m>r<{JZ_ zH|%194T?!WYFDu0w`66Kp;l~bb}J8E6>5Ap8#j?*6jwLNI((R{;2!17drzvw@-0%6(VgovNijZb31QTAaWmXoy*okpw;ouvc_R@4$F~E9&eF8#f}a`!j#rdGAoBE zTbX?ka$m#CaTN=P<+^I_C2X}Qc%8-rDUmh5%>DcqE*Vdar<3{dL~y&1Inp81ksk8NW*5L0``dom-Hy@3mxVPsRA z-rKTqOFWQ}=pc~vovB@sv=4cmzRyX24ytqHaBCZu!{MZf&#)N(m?e7xRW!JKk3PUv6LA9@q4$SToD-5yN>v@74vJ zW8R1dl2gR8SuYt`Y9iI80tZ+L8K|DD{!2SchPxI+60z-T*2~6e=7{=w79P15KPqXjqf;4Qu>hqj`M3dM9p<&Ep5Fd%Dj6 z0ywc9@Jy`MNSzV`A4|_M%ko4n5bN45<+XA$!2dwq$D1GqtN4EQ1 z`;^cy(vmz#{Km)_Twauq|5z)h4JpQ|Xk$Qk$J)6I==E`R>Z-_}Go;{AEph~8uyTgt z^Riq5#|A5pkT*8R$SFK0VqLpiHJfFoDG;BZ52H)ig{Go>Fe@;uGCB4{A%zaBF6Gcf zwmq>D>tvV30*NTiN({DOWdm725X4Y+?Xly@=$y4B%~!2j${rXp*T}0SupAvx*^BZ# z@7;L72Rot8Bvn>Vp}g+xK@upVqer+hc3wJ(ezT2OmiHJCJ9oY*SHAR-z{lv}2YcLq#STj*()*n>&#~ zbuV7szEyWGZlmuA#)`D^(e}yAHMx|Y1U2w)!!0K63?uS6MK2M{iTTp-kbF1zfcCM_+xCbDHVRg-b@U}yJh5T-*!*kiX`=ni_=%hck0_6l8mB*{>KI8pwSMmOM-aC)+QV*F5KTIAcz4k=u!sf10 z^WCHngYS|(b&^->sfq$rdCVuBt6W<7VYCm56~$2A>O9T~PSVNG-%2MxVPocqMA>g0 z>;sYP6i2vIYhF&+nw1|J_yuzwd7)8X1S_tUDOS@xj(uuP*qWa^$-dwLrY8sCd$Zkn z@^yA92A7Aouo_viCAV^2u&PRZQd*05&C>9w**U?=i|BPBiy$1zwtCHD0r9OGGf0Nh zYn(@5YT$W80_Rt6!2u!+EL6mNWwqdxs*IK&NSpO|!{s9Za=K{uHIf_wHelp-kU+4r z@13HXURi0;puE}G6jw1yTa&$9Un@=tTtaCrNECWGrv_U2+7b~Gl%on|YArWn58aID zN$p_&*jf3SuKi}I{bp7BN5~yo3G>LmMX(NZxN50k6=7wI*Y9~b2GMqj7#zDkUfzm; zxl9q~bfL`;#MU})Q>U6q^4vF7&E)o+ZJIV=+0KUTfS>nLaS;c8*t}NCsW;4GM#mTD zdJ_eiYARw~#@uq&RxpXpk$T7HPXm*gV8Rp5X>?`jyZVSHjiwmvGT-E(S@C)%n!>l> z_N;1`Epq!H3@Fa8+BOMRi3fDzC4ozc@YzTWcxW2%v2_wTR+{MO4$yHNm*lH~&YXBE zTbLpuL*5N>GENy#8;tg%oZ#TnTB${_FC^E}I`MBU(0(0Jyb!J;xQ$7YVEN1%-TAMV zEFjiYRFIXpQa?b>SvjF0Zwfde3UYcPTJAY9`25_ncws#f#}?SU-YWUM19yyfR-+{8_Gc_VeL%JsJU*qQ~ylx-$Rp zSH_j*cl$m%iT6_Z^=|&7{P_>!K^)ny=WIkV$_xu5>G~W*6{~Ecb7LG=ab}J&x-2J_ zr(&OuF3XKEwhZMNqm8^^ks)aM@`fqSH{x{R#*x~K5Lbta?kTtb_rYH|E!Edhiy}nj;oYYv{_a?MC z9uQ`eZWrYgK*hxcsSNKq%U{i4=Kipo?`_*_itBtSFTDxhVFK(+parRngxT|$geLNO zPNGt#qwVYglf3qd{=x^P>?z$^S12O8taqV2*!@4)gl)`G=WlGl7Qo!G`|tBcoi|F7 z7pr-ZjL9n~?4xP0Y9;NL5che6PaGj!jS{-aQWp36*OkS6Kfp22;#wd5^d%r2uQOjI zna|Ui|EM$nEhF<7G6(l9vC3b9_{mB9QJT2_hf0+S+Z^ZAgPQl^--H?DEXDhz8sgEk zI(aNxnBDI&Q?Zc_MNgB_SJ~Hb8Wm^P-mO14OD1P*UB>&}q1?1dx~FESXko-8TAo$Wv=?lIT}!t2RNJ zZ&7O}yzB##R%`R%Pgku)1cIIYtf5#+Pd;e1meugR)LOhpTCE*P!?}zpytVxWO@JeX z07ohUJWB4a)LL9f@f|f=*-M=&Cqn2quc*q&?Lvk*LZ1Is&Gy$9Gtq=;1-DOC(Ac9-3{%cu&HlHQOgE{yUm&NQx)Znk}0)qf4eV+ji{C z|AuD!qBLEP49zyktxQ*%t-<$^r`bM#Qdj=}A4vmHsfa9s-Ed(Kx3PC82BZ_#X}C0=`FXtsGz>{+uN@Uqry-JbC@ zTLCFP>63W+`)Ia*R4UCj{3WH?p5v0%Y_~B(l%d%c>CC-!=GKhNmyo#&%{KZypJv+( zYMy5M0WZ*O&ye&jnr&#}+cev)?`qBVPgWC8kqd{&OsWZ&PKLtoH#)tFphtkgh8Gg+Q>gv(D(G%1(al zd#N)22(5!EJDl(aQhT2&`yY?cs-NprGf@y5o>w)K+ecVR`(M{%+n&ut)74|gfhM9` z(Cnko{Le;c6&;|vdhA(R-LJ>~24{Z{J@&=vo;*qGu_2HCcl6lBDTYkzv9X#MDW)C( zy8jJ5c7m@S8G7u3<+?Im>9Mxc(v|o0*ibkB|3iB0uUG6*kL~s|MQ1(syy`ez>9PA+ z)B4sCTEC|=n7M-G?>9O;9 zfgbBF)!6e0?XtJNO^-Eg)_Uwcbh`5xlL{IB&HnjDgZ0Q3bwcvL4eJzykPPe|{XC}J zqnH~YH~>p~Oo+(IH3M4QMrVNG&Y3e=xYqdz%pl{GViwg{jBFU~UyK~%wEat_ve$;} zvj^oO`||X#~h($|W??FiZAjBFTMd z?y)bGU_PZG$|4~^PEeTK+HTmpHSc0A|w^N=~O16dda>F;>&rC3l&I~ql;p^W}OrOjpG1-$prREnhTh1}M z(0RwRiq5h&*5ZuAqfC65m^R(+9Ld^-(0aYj!H(H2&JW0te9PIyD7%aK2X<(@6X%S? zKn`>^pP`a$BPPt_paOj~;?Kl#Z0<4WS!o9xlF7!6oqhIdD9Q3RbBeT~B!*RBPpHV^ zTIHa@y(CS(sT@?`yC3P@+u0LOUcoU7fmLymR>sNe+RHUx)27QPqq z6bU2p52~Ir!X*hwnk07}%?m$C@XN*ZKH~ISmnKfm5Jj9nGK6=D({!{Z&hoVo$0YrG^UI;2))jp& zW0`GF{b|qq((9y-{Bqe*9Z2Hx%b#e@G)azB3+i2WA>o(Fn64>)$!bZH*61(UOORMolqd_?(@UA2QE1_#(ERq_XHFl;Ht>KdAl159*vW z=A|7mM^ZU8Pf2xLw^Wfvi7TOY$Ue6$A(QM*{@-O(n8H1%BK#-sa&kzgz(3+RibIqy zSdBlPfa~8d4f&(vTSsODtG4mPN`p(zx>Y`Mmb*@0UpFeGoR?u$k=JkvYmy#0698cD z6r4&62-rF;3njT!Xv4MMy*9|TskDWXB8Hqk8EP&yB#mpCT*cpL0M_18*I}YTEe&l3 zwCgZYuN)?L%`z0>i#R_5_jYmAiPSWe){=`QaMy1{c}h(9qjZ8uYZ4PeWqTRJEkv z0GptXefm~X&sh@>_+YOCwg;_1-a9KYp&jNzE9eLf{*e4%t&U66USFu2)^8IAD<5Ye zMKayHH0>YpS6N)KvyCo45dVn6P0n2Mi+e;r9^niY6=mx^%_Y7O(Q*&rqr_d{lnw}c z9ubQaLvE2Qmna++G3D`Pj6jdJqo_aj5KARB&Ji2HOb)(tJtFF~M}%;_&qMs2lKAVC zw(@OK#m+58V7N?Hpojt$4sPvC1@VFkL3#-@o*9{HCYOh+Q7CFBEp2ffx>@^W2&Yzlk9W?Y9KAU}d5;{*;KKQ#qPZ`a zfhsRGGnDP3G{;V6ODy8^I}AIVU;LTQA#LJOfZkuZAKgYs(}^0DvH`}K%r_z=-sJ%X z!hdm-7A+C&c2t8{UjlVSoz!s=X874v^cUPpNYa|d9x+UEOZVT*ph~$G@zmhti!i`m zFT!^+e;P}*Kb$1( ze_TfU3mbli{=bZDX*n~lt8#92%ZW-k(!Y!8`z?feYDo6e{a>(XS&gYIZ;zsdkbLz1 zwJgS{-XGoUNr>nhU3Sw=wOurm?8xrAn@$qFcR$}qGo8kR?xw@Jqc8sD$vrmH>YsLM zrfSJ8&2-8?r7hynBjt~G7IOz1c~(|_&#*lnqkJC}n{vRBL+zh(`fiars+2%mWu(eDK=U}e#j|~pd=L#?wsA%gE`(a^&-jiF0fNAcY&Buu` zVsl!h@iZ(Ye9UpViGlLU?(>LTE=}#JoW~Yqg^}}FHe28=b?A>|mS83jw@D^(t}o z5=TAdoE)hGommRy12u}WWrj4Vw!-}1Jyf;jo@xu=WH+(F)my_}ChhlFZ?MB*AGm^E zOBy}dnh~j2QB&MH^NGOnebPdft$YGn#LhQk)GE?y9#~>7AP&g5oM7K^3Cw4f@Ar7$VopjeeBjQo*q~o1FkLEO)h&|jnW|>bY zoTkT_-RQvd#*~13hvC1>CEd72_}HCJk_jjal=1BuVW5Hamezy&F?c*$y<4W*g4f3y zmZF)?@x_7UAcj2NMVh@TL5?s+X>g1>J#a0Oxx3CRRdSjMQ!9$^Tr5fFxCb!EYNleY z{+!>9{9fkg-_NAutK@g+dJ)eXZ)+)6w5FJPb>ZRgEQt|Q4-GfqPcQzn#$o?W~uB!hmcui^j%;2J`B8-?) zE0$Yau{#($sd%O2E^JRU?kNbo z8^WAXl(=MH)Q}y^RW9WS zFBibeA$!?YDbZe0!;_OE=vAy}BZ)PofAg0N@}$W2{%&G~TIF@A-cZIjiPw1T5ohH- zJY*6Duf^I#OHPNTa5=Lyxcu@l3ij`Jf3vr0`PuW!;v2W87?sW^>qhQ&4T#!6l#;eo zloIJ=tEE?Zos52wUk^r#(7Zeqo||~-es!t`7B&>_EL@kk020EdrPk&BLKWqC0m6>Z zv!GL}(5ZIc-R*2kYOaze0710!fvk?}ZJ1R#ToeSk zaUmEQf}tRcO+zS>Pt+0V;{I-r)DVQ96a=|(A6q4wSehXxK4Vj==SQ;JLFbay1MjE&NY?xHLMj9V-iMQ61MJ<_6l37 z8L5YE46Dkes5(hmA5BL=JJiR@H07y{C#y;bXI7~Wzr5;79uN?p26GonBXU*T5yvX;MteN=OIy};bNv~|Wn`RY5GNC{ME9#rNdU6vdvN=a zJt4Lk!YD>+_TLedDRBThLP5&U_w$}a`iR8Vf}@nY`Q-H@^sg@$ z1n>*5v!*@*%S^5Ja_&s*M8TI@QwO1?2N$mti^>&0Z}P$q;+hU1w2E^x*Xhiu8l6Gr zgrmuqN<2XlUnJ2h4@AdNYeW`#)G5PGZ}RXwl4ogL=gT%x2WuI%=q5<;i~+5hPoKjG z#|lTx3|^zUm-J+5)z5-A+#?XUE*9A{GkE2T$(eqt{~l1u3I3E@BxQu#{#n;u>aYH6 zRj|@LwEYqO&!(zZu{snJX4(x?8%oSi8WTAs=FY~Ca!bq|M^k0&nNLH?-cb#hSVX=PnYD?vS`m5=D&)EurIK9o{#}`yILgQvCZ5N!&zYgvO=_ zr6`24@8kspoLWc!FKqzavmL&iBVYcpL*jHvyhRf27-i@NGe`tNi2!~H2cc9QY~f68V_;h?Q_|9qAdu?{*GG*y|J zGmYTY&)16qsQXG$aQRMxXXP5bn}W-U__a01=)Hr^w%+L77-HZM>ix8gA4<$NqjxKx z#F1knBN^0c{bwubYF4=-w@BV;AsaSd5otCv6ujX@SEPmU%t%QpUYvT+hOBQFSiwgl zbu-Nf(l_$2>d3F$&iO(}M8I45Y{)cvzY6{!_=3^0Nl2~dDR^w)R*7)4w5fy*@eh_*%FYa1_lct9tuO-$P4rUOdZ0yJBJmRQ zq!KH3ONlv`LHL3k!#pcDY)-;poy%}x++YUf1)l{MO)6r@T?P=ro!e>L>e`H(5jKB3 zi!uD{lIpXf=&>Af%rwWv&|^}k>T%bF%_|taD^tKQE8_4(aB$TO$`AIfs1^>fs_F$r zvto&UH(S4}m3O99r?Y4_sA$kniZ{#((K*oXj%pRifV(@ZE7qwTqSGq2>RZHA#q0VO zomTOJzGY}s@iez#^Ij32;8do|m7W|t@J{jOpraL$=nSY6{A5Z%hMB$vDBT+wZ>{)j zfeZp71NjsCLDwB4!C3>Cm{SL(Gt&K^Q{F4gE~uFbnP7m>s(-WUB+~?`bew%ux}I71 zE&4-G7Ff$vTkxgikS5YOuJ`3oxa4b@(N@!2#y`f1E z;Q*rT8q|pbs;AD&)LlMb2cpNz2hxzK4-Qee0WTSxF9Gj;+@%*Oo`x(E5 z{BETSHt-X;FHzPOu7BY-kusj(dI8s~`Q6FyAfBHGNBI?Te;z+Mha+JX{oKD^nn>>D z*(&akAJ+ljfgav^t9L%65i)m%SS7H>{wZfgp#5N@Vq_r71b9PE@^BJuok$$eoz9I< zs8$bF*3)YxAB+ETCtJ54gTdNQhb=;*C*%jKUZds013xj$=ZVgiZ!{))K2gNWdifL0 zF@h@^jfx$o8$(uytm|;h{499$dLRWWUga-IZ0h|iSn-;A;6OKfzu$6122&k)#!6g@ zKS`-J3CAyN$u~y-oMq74B(M2R*u)(8i0Epv^u3f1IZkR@HscSOCus;tC0KCTT!01jEL&f3*2Gzt?ziug8j-S{pGxiI@&^k6^cj9eEfJvHIkZY4mD9 z9`BExjaktH6J^wx^Q9ij;xSlt22Va>RsN9Y#Ic|(ZARmUn0#^@ca^kjr^aoTh(tF_ z8i*_#`z`We@)m zrV@?GF|m-?urByv8E%@4rD)8rf>pODNF^<~G<^fDN?n=g(5(t9L}}G0Gg|d#-Ky94 zTGb(3l4{k3gJ{-GGPq6CO0Tao4>s_taPRlg+tQu~#md7~TZ5I`pg@WFn%kDAXSU@4 z)s}91Wwz*^+VksP^M>Og8#br6IBkzeYjVnq6|03J9oi2pSL^nhq1tb?+kQXdNsJ4{ z>}|w(;W_y;qq%`=dtxG_5dY4h$Cd{YW932i8Lxb%fDVD9mDS^Q$R{OY<&+do3!6h< z7x`bl)VW*dfyC^;mvtoC!VVW=yT$5e));1%kmZN5ogLQy4ZHu=+Bz(+EzaP(;RojvH9mW?I6I)r+DT zgWgx|&a_R{>YdAv;L zOA%pn0k-U1Y*~p!HqvLctr9ruQzv$7Tss=D0*g>`US`Z9Re$%lXs-G@dFhK6=lB25 zld*v{9(O|o#6~I3x*<38M2d06Gz}E-Gpy4j9*Ne}hsT*NP4;8`ngfoBKfD&7#Erqq zCFF~Y`Y2fWDL0%D_;F;^Px7wo6*1RDZvIIwr(nvl!YZyFe(2ZbghqXi)Fmqq`IGE^ zmoZ48zlC$l!d0)u?n@G7lvA{&LQ@-@d%KkfLOyKDThdq}dKxs~*!?JxYtLq>*X}adAT7ZSmk1&qIGpn$eNrd#~iMD?pgg$rr&pMmt#d6Kj;}Y z9b<#T$&JB^Dn5WA8-yK%F}cXKRj!=!nF}x?S3BV$ZT`=%f?3P!a2ui=G?BP3mexjw zd=ov>V12)ECz{0Bzg?CsWdC=pHCe2Y8lNYC9!nv$YnzKva$mLl|FqK&rVE>+88G3z ze`#(qgx{E&xt?T?S#C6L?_p#$t8=2>citBBE$eflBB09%6d>URhV0W#3Z-9-%ay{F zU|{9VFj-UV*ar|s($~J|-7S#Jan{#Bb6KRs+ol`y*+g#qGuTctZH*Rer^KDw`J>FKKrH{s-FAJHy3>8)Fs zMbjwd5t2~~w#s)n>r^V|R!PBQC^#)(I>z@BJj91MpYSW_DzM&f$wKx?eHbmIm?9PM zfjB@c(R=+@D8=FAipLo7yzV4tvQ*#x9OuW&=VNElV3}N*ENwks}0B;qKiC;wu55q7Xx#mlffVpS}>{zvq4ONeEab z2xLYO|Aj7mhBVN16s|&-pREc%Fx^13&$pC++Fr^((kp*f=kmMpjtHgmS>Tod`NMI# ziPX=HPXG32^7@Gym8x@y`1j>#)H#;AIgSKIots0C%0!hZxAI?;(|hopMUdiG6>r)p zJ_+zCUL)+R7jIow(-UVY7@YAZ{`+pOz7p!l%jFc3LuAEq^gn6H#LpbK3%woaBDWovbL>n*%L@=HyC1g8yQ-ZUYKWX_`hLXl5 zDOmX%X)iP;%=xX6a9?2*$zFvbX?qxlw>Q82SpSY25Z;|A^N5Z{aWmA!G z(|sYuFZw(d+3;lz2wRJkXd4l>FU?Q(_T` zIWgFohX+jZ9j~yXIu@46B8gcPnVE#{DMdw;z^DT|_Uu1smY#Wr8Cj>$s4b`*N=?-E?DVfs#k+iK>IZw-V$mzUB zE-B-B%Fyv5H2m9t&?Wr1;x7gN58n=7=X9=j;UAKMFZ`{}XK{^3`WexTC)uNLowzha;{0mWl!jg2!iiNpZ+3dl;`55~7N+2e z8O<}=ZE^Jxvrt=w`FqTkk*aKEbzb|4n>qHD@@`QIStHG`FI^X>HmN&Kkqtr7+IIO? z=Z)zKjx&@rr@hk8Dk=RW<5v}<-LMv68R{tOgN0VEZ8AXsyQKVazL1iU1Ps+*70-F^ z_V6Mt<&PjIgv9=9N5;Dvte;0#RJ9T`yEqLhQ_$=g;xm%hg@{k2)`>1&5AsfkHRTr3 zwsG1-$wRhj4D7Lc%mKmW4UdTr6drag#8otWLm=$ySZ3%W6P+n1UoX)65RT=7FM6no zVE?FcwX8%1pRVe_d1WLM-@b;xHtkRQe)24X{H}hIuakYmcmW#qGutZUj38q-PGH^U zWJA?h@09v8?2EAXujBWVUevR=y&ukhQHdU~GukI)vHf3a|5rlrtjwcIp7`;;Pu#{E znK9}7O|0WL&ZVSCSLu%Bk~RTUe}gS@rYB_nDc%44@`c0Ob7juL+=4ul^Vj=^?Vps< zi=E%2D>0Fh2~P@$AQ5)aqBx~~Qlj!r$KwnyNvYyALLwUukh7!8#Pm8%>EeH<;fs{X zfbUoWQFQTfzoZ9zbECg@zWD?AUu>I`MB?@nsy=M1-K>a@T~4nLqihRUz@Wd~xne?h z=2vCaT|p9OtQ*djwXN`I;ro@rj)r&qxnVo-Thlkej}`AkW## zIzqA^PZ{vf-vj(hI>L8qfhy=0VI4RJQd4LD4%IEv_QE-5Y023u%2uE3x!Fo5E5Vr^ z!v}brcFIktqZ7n5!!9XVkNLqd3b<2uziwd2S}q}&gb$GcEA!<(W$7Ivm9uUtB2kee z$XVv{AgFzV6(fRnWf=*IUlsKC*xn#i$av$lk}4m~u9ogy2`P2|M)Vg1mp{d1kj#tG zk$+)iwYF~+4+6W7c(bJXwoW>{bJ7?3Lw$6T&b7XC(*6D<&Pr!u^b}gLK#nrbzT_5} zv|w6=BhD#6W{7rhVag->e%bP8;!53I>gc2qC6ZgV1{_u%mn`8ufBnPv-nD<#!3cYuxJt?sYQPAM=yzZ`|vtTqp38Yn6LFhU-cERWQ-sPpD2u z8e_VWidm~Kov%2SS;XEzHT}vwmeV$$_TJaa!`_z=5y(EpQgK#8lGYvpY0At zOT=FXWL%$oItC9m)6Dbs6OQB^mZgz7aAxLRZTc^ftm|{{FT%{8an;@XKi4!#d%2 zNG5*ozx5sP`@$vP<(1$!^1I;oo%!$Ql%L6e^XFv{F!WsztaJ&u22U2}*9-REz7c8P zD?S-1Z96z}#cqAn9kZa)sPD#5{janPL`76Ym9ItZ4o7i=mqE{ilmhX5{VzQ`} z7qqz3AACfBgY(&{AB*8y0M23@=THXMIxYx**@wi!oQ&ljsQ!e(r#yGUCbvU?nkbgdTinyGX%){-da8@--d--BC>1UX!@Kqm7j0Fzt0 zM_FnMk)dN68>aG_G0bJtkZ)m@kRw+#GWXXQW~q6Sd3Mj-N#??yIg`xcJtvtZJ@cmU zlrMhDhyZ%W*C;SsSdp zK(f^TP5;{`G^#mxvn)5Lb15g+sre+E?Pv*JqV3YqK+ZuJD|bAeFiJWWJh^S3B-R@iQ5ywk|2d*ck*)YH>kg zIM^&RzI~`?kXnp;Sow6aBn!Oq$2cOoqkPf)$bM~EFN0FDR27|S)SsmPbyt*n9U{Pp z(CHgZr!jGiXqj9jl82o=@S`+SIu)B!9C^6rNY-4Od*-lmr8p`%M_&s!vGkUvpfPGX zp|hw#owVTY=kTO#Ukm+8IIKr)n`2!^cDu-`DXYse{*zHNQKlHTn&Bgf#1thKquKAs zkh$>4yyEJTBlEGN21iDH9J?0+wS>)rusI(kHlM&F8G)Ug_zFtX!{$Sjh({t*P^;7Y zrby>@=O>F8*x486Bo9c@Phg8p{JdeEB(3r>Hk7-Xa64Zmx1_60gY%9TD{i&v7A8VA3E z;k>M{2@u0PI}h|0>zB5;Gf5K5Ug11Ag8`f*g!2Z|AO(?8?*=Oe0yH#gbFeZ`ZfyKy z>=ja;^VesTPv9xV|6=xHcduaOg;KoT=Uu9b<@%61&Qq`_tY==9xRQ@0L-D_QBt}R^ z;UQhEti+(qgznz%7oEefzkh6<4 zwys8CRk*a(`R(f>yfMS!xtzoRzLHoWVwa05#UJHUXFcW?LarfX&&zo{Kn`gM+RIs{ zY;jc$osPegt=iwYn^*22CS=`e$VaFJ#xoGJ8SYY}mGY%VMY9KTnNY*IM3sf_lHUIj zGR1>*wzOZcZ(N82_3J`rTnNN%E4M-sbUKLY8Bkw5NQHT|us_Ai!Rl!(va-f0WpP+rrB-!cXW-?hand=CC7x7!f@8J%=`Lt77gr)6yPkvQXb^It$ z88o`up(FBZz``Aky#}z5JE|#obFW^K<(M#=U2rg;Xdk`<<;v;JA|veV54NY}muRO+ z8x{Y@uGC5cGv=pPQiEnCqqGRCng%8KT2g1Yw_#K5Hg-KM!{%%e79!S=4U*kw-+*yP zi59l&6U{%VF9lCAP#xzA&^ATat6^Po^yDfWZpF_SEsj1 znpB@Wb#kvt)_dpWQK4no`m0-pDV%X5lUJ%XY^|4jRZqQrOCAjc(5>iVslB91>q*hm z^jjg3B+t-~x~_|b0FpY(%{*Jb6)H*ceDxUN_`C2h`bDH#Zq%O|o|ekf5^iebMrB$$ z#f%Q4W)}~-yXshZ$E2Kr8m)0x@OsaTtsH6IYJ-s11LbAxC^r~gN7GZ^8ULqU+ zT4d|#Y(DfmN67qwGU}I%vw93Q)yBASR>{yF`gpxb6$^*vFk^n6Dn2?C{k6i8vg>g> zkeB(qJj;EVFQxv07jCI_TwADvZV=H9YD^V&2X8tLa;IcaVFW(p|b?QrD*_~Yf}IQ z3lEuUqr?=bALlEiU9hrAKDTZeTEkTxup`q?!Ro%EsX5r|Z7tV8k`{QLn3T@!7X{F3 zqTQ?3k(_vymucCd>_eoD(3H0{ry^<913ar{sdK4S^@5jD@6w{`b5i(J`k41=x}sGw zVZ~eNtMb-giz=CjQqXH9S&Ty}7b{aqOD9>s8!E#_5!hAtaFaNkRkt+CGi&N~{Yq<< zx<>~@stxmLXA?tDAG|1MXZ~*JQVl73e6YGfZtd)kxA}>*#hLs9h+;_WpAe!7KYH+& zdhn;$h?md;;QNuQto#bbpfMC+R*O!VKM(k~Wx#(vgllhdgUD{YZ`EM=pkz_HHd0>k zN~w?-{u0FW8L3N)jM8&)T$Eli1}xpP=6-4PLTfwKNbtl1oh>da$wt#9lz# z*EmO0E3p|QQ*D5Aa4X8I*)8p5s#PXIfJ_J%C9)abV$tahA@$*oWgfG-gj?64Ys$4>-^VNK`L#220 z>ykQde_o-xgxD*dz)o$r*x#e!66O=gW-Y5xa1a2BpDiVSwO#fHGN?T#vRLP>?}|U^ z`e5Y(kPlg>$QUt+Z;d-fyoxW9oU_UXKzmwFa{n4Vo+ST%dW6p714}8}-g$OGSrqURf`lWVOs~Y!7;XmP4StLxc|wV%V&EyUcG0^cj>wZ;#?L+N`#b zW3OTui=*am8MB5xm&+@1wNs+c(`dEx;sXl;s!W+D7=HU&in*zM|>@;9~&af|HeeQW@x6Ct|Tat+sFyxY7ATj&#ye#Kk zs+8RGWDlEfC*PNW{_9sWtN6go%m(T(zo`5%aXyd(Ce@fyC~uw4P(68|rkD6$j=sDl zSou3?s4G4gImuc$EMF~+PO_rI{HxH7&x(lU99$XQP2r{TgM`3nW?@FFK}F%Fuy|bDNZ4z} zWU5I+Lz?!`a`%3udsty>W`RDAjaHbV!Gsu%XEH&T7^j85TOT`OW zSqPb%73~fQS@YnUozX3vMeZKVemm>#$>;r?oy@I)l?w!w&owH--g0QW`u1%I<$gO= zzI{bAN&KhM*Y+O{v$j zePgxf!DTF#ag<0SnpTBL>V59w+XkN%VS{l&--KfC&*58Z${Kl*b6Yd^wlh(u1ZRx$U)zh7`xKPY2;Ciimq_htw6~sjfG}EMv z?B-TeehrzD%l(Lc8&t`BvU4`*2^S1aliuTpSyZh7&@F&w%f#x9sp`4hOvSbA z*Gkoo{wZwI<>xTX))~-c6MxcWru?nE`T3E`nM|hFL}vEEpb`$SFD#N>betl=++M~8 zHJT9=Y0YQDqw%`0+yr?;SJ1pxxF;OBj(CQ+O|e%21ABT)$S&!bV^|0a+3hzU0pA|I zn(c25OnqHbii&-8>*>Qf$Oq@Ngec(oOHROvuh^1O5aZ$)+WHlKTO=q(2j`>vfB4O+X zE00(0&*|an`-aDJsgQF_6I!CLykW&j8rogFq6IOLTYUJ5Kk5Fk@JQzexFrY&e<)60mrz0PUSQv(9bRY{-pdVJ$)F}f)I~23|af@@uV?6@N zt(gW!%Bc9}GUSAOieb?|4U+wV3Z615G^~#V)_8&Sj`N2LGPwc$<=IDF%a493`C)vk z{3uGvkGG(C7{iwCnGzxFp!{|b^3y$t5b*mp`4LBMbRj=>Z8Yp2EG8^myVaRa4Sdq$ zAtgQR@mY@<;A!mI#zyR*QL%N079}j1`bCKv2orY&QKH4jmPW+LK6?}+N*}uNqsaO6 z2%r3jh`!JNu}^-8{iHqhV_JCR%ZBg;j`P)d)H>xMLwn|n+9(Sy9|tqEb)WNL%6*nC z8*?4$PWLOBhc1PG*Gr7X4EI@;{3v3`(PHQjYLUD@Q{CxrIazsuYzff5x6Y0RGIH>Z zZ^Tg}xX5@TU)U=6lFwfJ8DlJG?D?4-*0KLxApP&grX5f}dAOpNy)qB%owG6Mcp)>L z(jAF~-l;oY3_7YCqI8g#%5G`URT?jtKGLBts{ZBice+2GqeZ}sbf3&ilNQDt4sn>iLZvO){h?BM~X3C+zJM^$sxS-?_H52VICp})K@_ytjm;wFTS!QMPa77auNiB7W zaplz;qCDM)LM%1gj(q7AEmL)2W`j(*z@|h95*?+I!A8=UQ&H%uuP_`NVmGV4z(OLs zYYQy7Yw<6sABsQff=+SmJAZ(Jj7<}=FF!rn@un{#U!np_lobAOrs$;l@)yIIPpP~#W;o1@ylS>_`nY?$-Dk7YZfDID#W3FI#TaR&0nIh;Rf zlsfQl8EngBSx(rRnM>>obGurUj|}-Z96aO8;7zii(ZS>9Ad=V=)4}5=dOTBE4?nG^ zvJ@BNg5&fB3F^p1mP!)Gl@q7L^};_+1cmF2mGDiVh@YAlNshu^EUwSz86TUlwa*m0 zAI=sBgzbLj#O5BYqz5LN(bn9_W=U(_WHa2FZ?re!TM?aE$~@oNVqDE*!Q%QN@+DWe z_GGczeNkNBjl@#({ZccTriPkd-}w}a=S|^Y$*xH7!S%%(l3W^!E57PpYQBEmHXaB( zwlzEPGhr+fe^Uv5H7U1?3BVVAL%=reA73${fLyV*ur&d{7<%B%lwPcak@^!J@|02W zRSr~sp;Weoget!3fg40{+`8bM4TRK?=seP>-NK_b%snXhXf(Uc-ft~w0prE@LcKpR zDq48eIyX1CoL9_Iv71`GIK#~rdU0EL-zg)*=9H14ing42`-cbs6E-IlvBmm@)gCBMTWE1g`_;|g8pqG zSfH^nKT`O5IO~;A<5Rhz!cW6l8@THq&RS2lzM(>VT$}Pkg-?eIU*l{hRK`-~R(pj&d{j!MVy(Wor@7F{Y=rZBC1&D*jEdh9&rrpjVO+-y04cy$sBnS ze38g-aAc$NqRjux`6LEH5_+hGGcv@DQO!&^Gh5l;`NOXkpos`%fJVoSUfENI$cdhl zkXmVb%2%J?NEv&r&v4gEFjXJV*}RJivE=ieD%9;eRA~L;JydAKL>VG>(LVNfs?S8% z{Wevf&=s$Y^cn_U+t;|Ffu-ubHj3r)A)};4Vg@4?! zhbkOM6+HRs>+iq(9{8Us_{(k(33KC0Ef@Xl?|}Zm?|}Y?x9Z?N+F z(0g>6-aR_dn<$}s6-E+%Z*S~UUb6>!zf+Q?H_8r)!K{9)O{|SkpRhOAoXo!5@oESq zv&!IuVm1qmiutH%(WIzz!(_F846Q(CNbjX|1 zCtcvvpzO@)iF-PHqvs1{{bzs}B1g)!z`bY111k&Q1#h%0dN^?@Un+$x17iPMC&U{W z5GNQcrRE$-04>Fi#c0Mi>scPm*?4+ZJd5|Nany9ZY=0Pfq!MuOMinex%w2HB{#$y|2 zacne;>y!EQtnUeGiC2NmSiAw`>r$B6MKE9K(ug&GaKxH5lDz@*4R*cuz!!E29?A8= zn`)qm8t@G%tqb0@x~P(49WEek=jtr&pq94bY9bP2@0Z@!ZQ#oCqV1S1n=zz8n?k|d|)+=Y;Yfv~(e zGI26*lr<*L!K!0vUMMrba+d71d$#Ty^KRXnDF`thB!kHYn)v%yv9c+*APD1L&{ zjMo{6UC76YY-%j+QB+<2YVwFQERo+tNUU7P!qt*sr9P0fw85W&@N2ZsW|(1*6+fX< z`<&cW``if(^qpJfqt98$ZTYLIW;!?-OVv5{vos2+`m*j49+C|H;tJ}ho9JThLiU)$ zv7ncR&G(&clM#_FOa`G<#k{9wa~`67|4k<5nLi6w?n`QNdTRYFV$L4S0w#waNI!&C zV?+tWRh}q)D!%_}3A9F3&$ z*Ca~G9mn~-B4*rB#(irM#nv$oLBSJBkGA+?R|%OmNhtI}r*JSQ{#9z@lcRFbyC+D)gOH>>28rtUCz2yQ zzEgAMMF_QErR?Z3+FJ~U+lEXWh~iuqtbA6Ig@;$mjV(>iVi!{ia%l6<4I)5RyvN2F z*`iWf=oMJA;o_&!KE%)YEg}+s5R1BAiuBB~_^rKT$xsPMkPW>EiV&1?Z{w#*!TyA&|@b(wM~4qKHQ;_3z4Qd*)XFd@A=WHyE>w)Ki0 z%C;d@--t(#ry`>^#6AfR!DC=|uep6VdG<$!JtvDOu*p#2&a^zx`Q6XH`$dl1fj)K* zpjI}{k}8N*o<-bT+O&Csw#=AJ@+cy0_!VJduYmg!%6ZTp`-gxEG?`Q89hH0aX^6Ca znZ2*lZ`Mb=H)r!k&2g9Sa*UhBXx!o$jPjhrieR-&drbK=x%2n30K|l*nCbS2CxEKv zm4!#oxDcF$=Ptw!!HuD|sdQ;p*gBq=QcR_N?EGR*0j0PbG!|c#(#eH`E_n3Ue-u{+39oFQxm9R z>obGVjWbJvuRc@5)aJVAsipRr?WF^s{;V|kWMe3+Ei|wpLc_BAJ7m5X8S+eokTj9P zPa@V~k;1Pdy`L#HH^iEf14W+!X@fv|s#L1-xfn3^!c$m;Y06F7pO75R z3ogHBKAGZQ_bg^e7OYYZvz)W29RFqQ)v$o24oqhi!jLxvBF1K`CspecCgAN6i`s97 zAmz1K`*n}Yl83WtkuXHFl15(%+se*Px)+M1yiPB`8Gi;Gvs%vShhR;JNfG}#J6QEo za)-?aL~&J5e^tyslt3Kots09!xpxN_KgCD{|7aAF&O*r^6hT2{>Edj?32^d1BeDW|F$ z>VpB4lS_7RdB3dqS3TL}A+NGp7_7`QtS3L2FOR0y#XPDWZQb(8Y?bU%ST#Yl-V|sV zc_EV{%`BrYR~G9GOt7NfA+wZU1g#<-?P8|amOEtRICz{S9j^z6aMUOyqe|Q1j+v1#l3}3OoS_TFm zJAJQ4fLKOu*ec2c)qfS;s#sASQtAv(VHYL*`4~cjGH5suG@W0b;X4X(%%EW9H-f9V z+PQd~yx5ZXkmoqA`N7JER4s(NM{NH3W-Z#BpPff`(Y4Fecg@cAk1i69PnGfj=}CB3 z?~R4^X*^XE-2@Z=2##nXUi29Nt}UM zbypRR9h2B!vA2>hPUAr|%xXA1og-NJAv}vG`H*Hi0gIzNGQs^GC4JxY^2i-f0bV6NYe#isQupp$Kn& z&GRSY4BlA`Y(wT3vXWtsc>GJ3Nu+(xI2Xc*(l`@ZMl77M#tahwyZng#Xb!`BiWM0y zJ4f%o6i%*Cj{(j-wMRt#fWAD(1vC&qY*`e4{2SLu!M+w^<2PR0i$xD0)p8jFfP=u^ zG)sDkEh)+fdK_|x)WV^Jk~Uallz+IsaGa{-v6kg?5x+}J$Ksq|rD{y8xGZ_3=);hG zPIqJAQY)L_082~gCU z+>)Y%r=<@VG+hm-)Fkgls@xi&y995##|N#@QdJ*oa?Vc`(FGLcE83e?ioB*R&Uw!U+SAEYu7y8O>Xu-{-<(GA#73peCTGzhuL7-#i1G8*4z$6EN9?YT{+*8U=bMkM2-%3fFUN{i7v-DtxUx zBb+a7npW4=x$3@D&7Ft-rtU>QJ1>(baiFZWxF4+{fyzr$1*_^5eu`es@jyUx3+-eN z%9R4d(n=nt6?RPy&XBK7#y|qzk6FP7?MCli!h_eB1uJjj*=(v{t*&CXu&^AKcd8l< zG_!%en=x=p#qKP|{1xq4vB%}W+kr&%U$0pBT3DFwBh2A$@pkU}EqeAOK&l243i?{g z)~rymLRv~SlS&V(ZIxzXd0sbDtJ_Q^tuzzUP^y_QKE71#ZKvADYq9UxOiCRg zC6G7WzqmQz-2Nk1&iqxAcfP6*tBEZIz`HKw_rnGX^*7eU)YroSUt-$fnN~< zUkiah<;#vTqFgu`)2{I&2)tQj#45<26??3+jDWy1G=XPvaZ2unz<*E#Xm)lzsQdff z!Z7Ay-4pfxH&ZjFo&7dJ)9DZ+!So))TTfi-eIBn$f7x^V$j3lwCs))a= zbY?&Kn>tBUv}rDlgFhPcDv4QHEB9_kaJ8bg3sZf=HQCS8n24wr13X>)_rv6eU15UF zoW?|zXO>ozBvYs$H=>Vxf~Z)FI%LjRj+ZB+G-M&R=d|F zz{{Xhsf_Q0LU%7w6jFsZtAUA27)3Mp{LW@I7II&xGTo7&-Y)B6dy#KnsRTOVc|G&1?eklaLJhpv>D( zsH0`~`Q#9-KM{rR9KqLV>9JS+|A}A!PXT5Z`u~WC&GJNA`Ty<51)0kKIzN|B3#uK$`p)_5YoyCs8N=pXmP&MgLE9MNKFD|AE(t{}1W^ zJN)|p{_mjw=l^%~|Lv%x|DpcZnEa3Re^;37RsYLJp8h{JzGwY^-G8qCYZQh4EBaqR zdHNr0yVC!^*ZO}*XZ;D_O(*I2;R|--?kMqf)^gpWKIfAb{>3{qsWW3bI zGWHHad6}mOmQ!~)Gx`>w$=Bo(&pI_>F8diePaJl@!oc*zTH0@VVila0Mn%o92|gM5pXn<(7pwfYb)8?IN8klB&vu+) zOq3Cp4Js*Dho#$Pq|d65N^*X~qbvaQE`We<&}?ZGT>okOC(N&%EcSk}cT%}_;AYgt z`33`SP5V%IIs13a$#_z<{4VD=ScobA4B+?uHLAcxaq91~6pCWkaVyz>Ms{ax26|oC zch$-O8o+cB=-h!QdIao+?huTl@?IvRiCeDxHOg+U@Uu)!~6mE!A@ioC^4iHxuq z8O)XogB-E@;KgeAy+*l%d%^hC_5|{4%f56;vah$e^X{Mkvt=d12(-<6&gCrgLAP2( zw>Onp#@<%8hVGpjhu+eO8h>-CQ6SW~#iPcVvL(r-MzxUe7!g;F) zrRNiMf4KOrG{4@*jJk9w3b>nFY3#@4E1R#<-KitLmML#Je8=%qIfSuCY$n@z6n9K# zZ;x*OWJG$B9Kgt6?M%YtGhv7C9E)UOLI;Me8T@ATVk*VIW7ORUy4|sV>5q*sXf2SG z!ElJ@{iGHoQ(JZuKjyuf9oHLYQ;^1Wf>hWMk~4r5*<`!wc%fCCLQ?x5zu$QkC%4d8 zE-Ajxc@@7m<-19$uMGPyo>y^BHa+TF&#O4QkMtc`<8g*~nfG>H#g1w%2y2duE9Q~& zDu&`8AS81l_S?t!a*{!F|gSc#kk* zcJVX4%(1s<`+V(%u4eHa=K=8vg^9mGk2NR4ZPH6dSS zE~M3wK1;;ojc1wrlV`;7)P@XcBm#)^O)ERnVMreo%1b;Q(Lj&1=@PC+l6Y!|2 z^YK3kBt*6w6%<#Zf|BAAlvJW18Ogwm%m`X>siM{;VBJXu)DQ?vMlz1KV(UV+ev7qQ zYOP?ERfU8l2`&)SD!8$@-EmM6l|?Z5ecp5Kow<`lrN3|gzvrLlxtV*<{+{^gs3+Y@c(;L-t8~Fu&<( z;J8`z9qw1ism9d!xZH-}Zhad5ZWDtKyYo;VV&Cz<>AdlD=7*LTm1#QYFLWUN<>0?- z3jaO>>m697_VF})N~0A7>lFILd2ee%txY#y*uzrcC0S#Z1ua!NEMhM=j-kVwRJQo|F$o^&G z;1m+@zolkB(S?g{JZxneGuKJu)vdetZW8O6xL@X$7@9aawTaJGHpbY6B9*O!{mdF1 zVG4Sd5CPT(bP$kF%H`a>Q6r-OMSqD99^Q6UapL6LR{qMZIQC?${XsQGWDX}2?RZSh zb8X8aJ-Bcm?wA1Jf9$&p`|3Z+=KT1vlpmZYFH{i3Koz&me1JtYerNl{gj89ZVf%{ODW zXEqfW!amR?xBU1>J&s(G+wov56yw_XN}(bt-=^$S@Rx*fik~gb*vJyKwQ-tA`mIe^ zsFq;i%1K=C!H!401j`n&7!CT(kqAXxGb=4+MBRzkIA3@h22vY9CWa?T>AsA%tq=@j zR^%(*DfUsX_zKwD+MBYEx=+Q&q6hr5RHY2BRQ6FNxeAGm@;}4hm_zg6?bCAE!yQy- zEWS_3-(S4m2)MJ!zc~)ySDe-Qv`fVigYZTH z|8NYqID1*#Li-E$A`x^k!o$dqr{qd0mHSu4_Ln*MO5nOl_5>1|R?N?|Y%`a`pByBRY6@F8ZEdCz{SpE4eM8LP)8>GR0FRN*%-!8T({ z!m$@~`d6EQ{Rdxi5%x;RG?$ZXd2}?$y|_;>njef#%*6^73#9bBed%tWI;e-W+9)wr ztC37>Jlph%g){bQlA>UPcy#7iWBKXv08LiZy%*E5u}oC)DF29$pRQu+?WD%c!n&DsVXb73-O zE-`9pU-gdlz}4Dj?Ez#AYr+xj(^?q{>74DDwc)gbATFF#_*1o%h z1Y4~~j}{o)$=3pjKl*RH0r+AUGL7TUDfUaRv3R)>9Kx*}ms55}<){io+Sc~CIDq$= zS7u^^457?5^+r>oXce}Y&~cDYPGKuC0U7pX+6mzMu|_C z^`!6Q&U&sLXsi~|Nd7#=;=6@l$KIYDSI7(=vKLJi)$8pLNO1jPT`$}g0kght$-`9Ku>7UCK_cE&PlLt#;kYH zhR7v_nH=c~6k8ZXi+Y4UacIGOQCdK2rek^1gnNxIq}f6QR{l|7pA~*EbGN_#6ArR& zX2C9ovt5XwyPpy`xc=ucWrCh`tE+sJ#vGv1>VBGz@YN%S$2F&RkAXuls5W_4e z+YJizJQsQ{tsOtd8hfM=ns>IG2;q00kTQ!WZ|(n*rd>S+R}p}utF|Ffsm8}bbLpz_ za}s!E{qf4jF`zI)a@c|_+ikXx1$e%g*o?V31Huvm`2S+Cc%qA>YZ)vGUD3!CwK8^$ z(e%PM-HP2-ZmVUo2Lt;6qc?P{Gu+fo2@mSELZL4@HaC7hMvD( zRGZGk^ujx4mv1i7#Ib-Me{7}oyGBo_r_Z@jX5ZwTG{=FXRgksyeKiI=siDtPLXN-LbRS<@r9d#xLInEbY|V3`zrrfzlYTn;>(cMt%o<~j!w&&7p~&5jj|k%3=b zH76rzcy~kOzY{1JTFpW8j!a~`lA!sFl3#+wI5`ehPrgz!E-&p7uIYtoM&_z9=#`7+muS>`{MQG(`gvixQVE|j(i_bf-T z^gF@qdFJ4~%vtq;=quu(2~zMzKd_!cDwj$nDej}BT94@gw{nZiy$#i5gtoPKfpv3u z34K`_Z7MCOYpvrh=ZaHDn-8c|gVqYahz;fl+#;bMk2%yRi!K)`!jF}&xGA*FpSeC* zz=^%RohDUie4qnsQA8SDps21ixi4h~mR7{pDW_DUkCp!im zac2yDLcfQA?1|`Mp$=!zMP}=-v~g$O+!LuLP9`FwCWpewqp~LF7?m|S$4FvEZms-8 zJD6jbq>%tf5?tbsu4U{t`J+t6_AG-Y^nKy0k%urb#{g0(t;eCjRq-fk;VkxLMubL{ zWQwW$9^HC11!2ann1^F8s+{z;nSsoMBuO-q$qzG_4C+Ai!F=_j&E%tx6{;k*&9qto z1Y$#iv6GaxyANvvPE_E!R;1NOs@l#EyV=oJ^TR3%baJXO$KV$6J0r3Y;o3Po8s6K@2)|E&c>&ZgTZ)2J`>{M$JrI3qhnhEH z+IfP$fFcmB*`a5amv-pcW}RZ=rdksD@wx1aPA%-i3p2{pLX@aLS;8W*w2;|kC^E*M znuHL2(Xi%mp11aLE=Cm|7&g*m++EO;x)oW!&ofjJstIfY-9am`l3sJ3}jj^>tV zBjvIL6#lXx=B}M0y4vP4U)fxS<5_d9=TuI&NW}F?MHyVOR3r>n1Sbh_IIg_+VGj90 zO%QMhzxmP{8HG^r66-n&!*C)H8_xy=;>fwdXwRT%M%Bd)>^&$BCY+mZskC4NuJH=qWS3kR&d$<~AKur=n0XfE$axv=uu(t-qJOvf&r(S* z!J7Z5U=Ld3vgrLzjOIU14E!e42QRL}l#|ZzS^`YO#SBZYr9JanuDNQyXiqfPA z#9N`P>WugiG}>qO{-cC;BUE<3?(ITE1`*ne<3`H2np&o3#J7`xlE&+jf|6%|lr&IE zTCXEZbYx*NvZqA;OGWlRPeR!x&aehZ9daLqu0wEaT_<(a>Xf;u27P7i%fXUs5;cF+ zpkR3O5U1wnGKsmAn5I=K=5~o0C>1;`G3U4-$f5MaDZqNYq$yO@47-K`6NeHwQ3CUI z;2UeOe7uDG;)y#;2CJdZnna;?6dsznM{JN2o{ca|{6Hd)~tq^Fh1vNd5digVeT zvA&=KbUDKHtn-Pm_xVNnp?3RV(W(UH5y5&%XGol-bIBUi>f_{UTc<&tO5}2EEvz5d z=A*!7>*EjM=r>z8Q=B!Ce+g+uVyvsw-)|+wDc0y@3rnPh&ycS}_@1C-wfm8*>wc+A zdr`GQIve*FCGR9+XoTijH<3tAzjg0QLpIZ|*1P;miTtwvYu{{+dzgGqYmIN+nu=ET zTjS#+1BJFcm7X4E+Ch4?e_q1*zB81HthhY4VkC#I8#)(Oi5@m$X`9@1@#f+hlyV z&6WIjBxm1#Bb>RJi2;Sp3yn#2C)Q_;YT}C7)@M(b!8;Kcu|Dg3lBhc;{Uez9ndmqR zM8|0c%?VWbnYE2m+&HjM=0#C;;*=>t5laFiC>8FQo=w-LN7fjMR`zFXUSTI-Uo@di ztaLetrBv+hb=7aQ@;c6i}2a1#}_*St|b&rbbsZx9i!_x_DsZPKE|=Gb^kHB%7jqYKqTM z$ZXfR-Bi{=5 zYwVf?qeB#ACZm%LN=LzK^){3gte`x*#IEW?S{%O{0ka*Hb4jbwo-EYtT}werQPgL| zk5r(x>6w`w<(VLPgwo=lO6~0_^ct0`9fb~+d!q?W(!|ke8NV6v(EVt{P)gryCQIRav?EM4rjMk+)*=myE!u0)7b}(YxbEBENQL_V@P3Qm0 znM@y-_#BMk$+vgg9G#Ye7MA> zR#Oi|5@uMB4zuey2bS+Q&&L~H(FEF}hN=*;b zBFy|T3GQ!PfB zxU_TV`Uz=SJ6Xqw$l0l+^m69)T6&3pj{#vaZ)7`PiFf6|{Gtk^@h>EjZN@ailK7)U zse)u*^ULeF1DcTHAlDsBGI9sFuCc#i|OwC;su@Eiv-BDX!}6uoeFvglT8 zmJ_<%9eTSHdZN2CE_XstbBB7J&@JxJ)11(_JM;)A^i6lab#g-AcZYs)jolRkQ!wMt z-w7S;4y|`Wgm2`6$7fND8@$^^gh#O`v+Ag5W8nJL-iEc*w@{LR9c zu}DVY%DI@Ere-9{Bv0rJ*c4&Atk7fPbEY{XbY6AUh73f+9<+E%H#u0;JFb3M<5f?R zRc*MX(umwlLp&|#7aBDp$m=?FNdxVYaB&jzZuCV*V02Dyqv;C$B&T`9V;MN@Ntuk|crmUzzr#@6z_y1uDd8b%x6T{!Mv{d# zd0Ivm?lkhetHl~ox4fymD2W}Ey*1P)?bZ0mpK_+c$Doe!A#HW=5xpIjL_dk?XGX#Z zw^W6ONG{{h5uFFsMLWgonKcAJnLFdZv_JaDM}hqz96NrrD_P<%F8cB*`WvwX`eWjS z{yy80Mt?f~5{d7p;v0#dt^d;PrNi5O{^%?I=!QV7i$8W764Pz0#k|c%O)ntw$1;$b zj#uK(ZFytNp$7+|@A!7V<2OApcJG`)Zv@O^etpX0u*+Am>r?ARw0~y=iuV{brA&Y9 z3k(=#Eb2GV-`e2inzU`io=(nr=b3@iTk*qZgq2GqRLbJPHNt)AU4(G{2`6ZtFLRF(StcLYexq-!!*>KL zO5D3)%2CX)2+lQTjsYp`d!sSoN~%mW+8Fc4hWIi$8L`gt?wigOjG-|0)UvN|o>}or z^nSM?F^;Q4Ez$(MzdadvGf|9|_WNsi&knQ6WQa80ESe=j19_>Dm*aVI;?tp&(x?^QVtDGmKw|0f^uWh6MjDF-7k~lw-|RlXIA-!4l+oC^@QP4j zVQFneVdv7?>k6|eEGO}tbe-xuQ2?>gBwc6)#^bBjJf?yIRR_=!!RS`$9HAF|4F}1= zA6<%W^=Q(|i|$70TvEko-!h?TZIv&jzphIE@(NY@VQHnulclQ-)8aQOt{1nG{escA z`~`1K?gHKqUNOB7zMFnIHZ42{JNM}FEn0b#>>%#Ikf#^Ef zySi-ebei*_)D_75RJu}#zhY!M(JP_e=Mw7Gydxb1%?G1zTPFiSFuKzp-IQ$g8fVIp zWL7r;(eAFqUv$oGWVUu*&eX?k@2YKd(k1XLVEU$Yz6}%IxWJnFEzLBCEqp<^UGJxe z)N0djw@=Ubn3>-qSKH^YHsMR#e78-%vQ7M}_V-)-_5gJ$7T)H*8s<1S+Xhr50rO;h zXf^wGLkWyTbEGhc1>7fM_AV}fbfO_5IGP`3 z(v{CMR!ezV%!?=7dVIy1@qI#QX3^gzid)c&{vt1MhoVR2<#1jekQXkOEHZhq`MDZ& zR+*}tJ2kQX;^c^8K{Unez5k@gF^pdW5)yZoMz^RDzMT=?yNL)42)iGTRxJx}=`x^e zgRj+kU)KZ83^gU@(MKVsoWwcOW4~Y<)yFm}%dN>digosd+-~||KG@;R(K>OF6J2X{ z+X)XOCCRuH&w5QXCFz%DlIwiQr3Qgyv)=hy5ozAP6p>~Usfl#V=b}{05VskhK&Ne= z&)bB5)8@Nv`u%OP_9qI3UN`KdCED{CYaClHsfd?LTJ_kY$@li&8 zXM&W|Kv=Sze>vs+k0gq4-a$5EY<+PERH@R$EK{_<{_yH8Cu$hgrvZN>Ev>uC9eJ4(d5=We=7rm=nXE=smnvz)EE?#})8EN+ zu`ciwcck(TC~U2mNE<w2K@kmJ zPI7C33@0gfE6JQlF_3-OiD)81K>&$;Zq>1-Qt6*-lYWAeevT`GS|&&>=Q)u|ufy&z zyBCMqt*;3(?Bkben9m}$(+aDXovTJ*)>;VHG#>ALop7uo>z`y%YbgfCR$ioe%5Ea@ zs?bFGNR}zeql1<^Bbm8*8}%mXS&ipU-Q#(!r=Z?@!v;N`KW99zWIWe1p4VdYvVSCl z_!1e!+4u6=eGIRGY{qk4+IZds!R_=Id84>k`P4e&o)T82Wj=#DCYRCy@;BXgT)j^b zW=6)2>AvE6t{Ef|yE?OFjTrjsRvQt*uXi(Y6r@~noRK(D9q>AsS9;{FXI!1Q-bweZ zBKSt@!)ws%#MK8U*uKAZ@~Ot+SL)+gH>?%#>f;CBxc9n(?_pJR%d7OQ0uI=Ihw(5+ z#UxMH@^RHG3u`aRzK>&biSatHgMz-ku3)DssA#4x=;E@r1)b(9=uFuAWh!C!3(BMm zRgIBdcOKhNntk6XQdcjM{IYG5Wr{H~Et(bCvxPmrC)0osb$5ETo%lEV6=+!W8X1hn zr+Ier+($<{>qWJ`Qs?ivEW}!ec0ue7;a42ttz>UYE)$(|gbc%SSOaH6>(u#H`4q)j z|1YMe>jT=Z*Y03A!gA^sWJbMj$zj4@a2CctW3_mfn{*N<#eDr+`*N9f@1+^}0D|#S z=4;09>qwk9DAA?S`xeN95~}9-W0xqlhy01a!EAmhX8<`Yi`azgZ{#f2fyi6eS7XXq z%N;IySopaCC3C%)@f9?2ga8S9QYY>ytgd=1BVc&( za!$}q?Bg$9gRtc{&i#%>nH=#eZk*JK9`bi8lv{LG1Aegh+bNX!Ej}5Ln=vYpv$kr% zHajti`#AO*v%0DpUPT(5C+igB+>bge-yi+ZSG>wy{&keE3N8LNXpH=nDx`RS@%zRs z#j03E`ioaP)lH#gs{;iX@?N~(m^FcyK<3wMsMcZ$ zgcgL?>#L2(YMBPl4lQ6^%A2&;xTMY~Q1&YPC{q&Yvadi27qR3q_h3adiE9ma`3rUh zioXH2Z~Wnw{7E?;Wnn-+@yRtMC^8tX%7vkHT#V%a(9lwFHnC6JM&CzjF|3J&7D(zT zV?^tQAj7^eMo}0M4G&~Gmx4-yp%f>ly7W4@3D5*Ac zsTnCqkyQL`(in?!Y88Oo9jS2G`l{29@!J_%vH?cSCO;nZY{b&L*qTZOO?Y_YoOkkvYkOcr}TW=y4x&*XV=+24)4 zVbnY#HOu{hShT@2uVY}IQLcu@YQAo3^ zn$&fJRn5^oSQ+}SEsa1CR_m7P>3JtqtVs;B<$aNwg$oQ9{aL}DNnGjyV_Ze4p{Emv zRZllgsF;(071*_&P;pNp3qx-iapPw0hKXE@M9IMesT3~-ifwI$ zRoa_e%5i~Y(J_t02=AO=P0z5-+TvzmQorgEnD4jJ%g!pwSTqX9M*KG@tp2O~*7XYp zgj>%q@9Ddi`+s{J_jhKGMV)hXWVm&}6xet6N>xJlCBDr1)~$o;#;;mXz>~?7#nXwW zGfy^84o?>z3RrLuPgkC9Jl%PE@bu)N<^{B2!NEL-@Epq1i>EiwVLXTP^x-*z=SZHT zc#h^dhUZwGzC8In$MGD`a{^C4p8h;1@|?soVEn4ty}`p#Jjd~z!y{{zF+9KGkyZcY zJXi5t%QJ!JMxI-F%6X>nRPs#c3G>Y2!3j+3eLVPtYkipKQJz2ZJi+rfo`3Mn=XsuI zG0%%UD|lA%H1fR4v!3Too_BcOJXbNqd&(xUX_o#V>r^0A-gTew&XBa6rshbbelJWUr`qUu@*TQ6`Ys z#eEXlgSdvZ&MB1&*vKbj-m~h=DstsZ81TD0>~Lf{B7_0XTLRyBKd3 zNPy5=7)J}))^~5-iD9Q!T$}h`K|Sk>{)%zd1c~QD;%<1wKUH{pzSiDDq40>hii5-n z&f$aJOWcfA4%j>dV_@1t zuP(C?U9DG`yQJwu+14gP;#Gu%JxiPd)^G#chvk~Yc69+OZEyjbR?0-Dl(jU+0ahAd zHT74(&e)U$_Tse;umJ*7EG^}4ZpQXJ(b>7+y-IwZQ5@?Bge$<_`a?Ugx8V62=p@-P zxlYe|bDIYH`ZE;R60afzu*JkFu=_}Z9UL#P!9KKW3dhnE7uac~-0qa}2F-E6mIhc~ zpRT~ZXJZoVtC}3J#}U|uo;7~=304`sxmK17Jcc=&lrOi#>bF~^z|B@!zjUlh*hYyH zR#!|xu*ey!lh|WHkYJ;&!A%H~bOm*<+1tX}(}BdWS)IKmU^c z`(|uc?T_`M;ZY?HI7KtMQBgK&m`(35|u(c_-KZ2ky7G*@Jj8DP!-J`J7@ zx#HuSH9UVfrae3ni4&6gl!6Wno(r8U&yyt$p3|v7;5l!NLdmuN2A*^H_tWsmHE3g) z3(Y?8abHwl^bor$-^lC2f=@b11I!qz%(a&9O#`??1TOec1N@hx+XMW7#0kLPQP6<_ z{2M3BO0uK@?4bey__Eas;7M-*aFBm)fVF*t;`f^W?Q?NGMU#m=?LcbB^*;DOgLLbu z3Zx{z5}K@+I05N+2c#r-bJ1j4mfty9zM^giB*o%-Qh|VU_bLU_pWg(eyZDy^$Sc4A zXX+K8Yc>GrT>iDiXWumXgvX5Dm4+_iG41Gcm{d!P*AHxuuH&30&7`0ML)VugMG1z- zkR=UWw@`tg>(e>~MQbxqyvx7#^vQZe?g+;2rD_)X`q0Lu>~g5QzgUm)$Knwa%c9=x z$o)tEQR1`zv`rTG!R=}{P^$RmFC<$u`nR<~xu9eJ9F^)Jo$4!PlP!|%>!c$3V;%i4 z(N2_TI_67kc-3vBcz>!Y;6X`&{6=@-rC^g~N(#!!eo|7}>y{KWT7D8$1P1k(U7+$B zANOynY(t;uXMQ!d(fcvwX3S`*=6`w5lG@P6FN&BRzn_269Wz=o=z;R1>aCpab+z7) zOR7H|UQ)fTnslGMD1$R`6GfU_|NuoPQ+;4dI>RRt7uH>J-C?Z>8SiN;f z^y~U~_vp_0&vVL*Tk6V;v-0aR<^Reo`QOl~%y=*Ro=ZgCpUD2b`km(e_(g#~5Ia*A zd*as&pAx>}jgwBqtx6yhaWC|-+^ZT#qVi{M4o0WtK{c}I)E*$g4XPwbvGr^;Y2;5d zq&iHmm+%kW=-p2(?%vq1R!JTA#(o!gKd3F{cD=FR)f+#!lDCMp?1A^j)Qfd*)TrNS z-u;>y%+P-8H~El78~4>oc}BUs-q+}rV_|Nnw*LfF+g;84qGPDGyP*2QmHf;9463Kb zX{er6ztg^#bYQ<%_><7TS@iVg`Iv46 zUWWKx{{K?(=Y1&gC;w>tSt@_`AC13D#czM9efdd$h8*W=QErQFMe?W|f~Iyh{!uc; z0&5hyiYctFFWD0?C;0rWueXjxJN;Q=vrxG#giqj@Bp!bU*E#38G)+62+xYXRGm$7V zcY;_(Vsg>?dPQGxz2cKA!O%HW^xJ`dgnoM{oGS3Vka*vzqIcUWtShBZG^o}OGLtv6 zj#vF9$^=xDIpgEQpeDDHmy~H%4v=!^Oq5<7Q7CA| z8Pss!jXNf)23ubiN=#)*Aa?CoU$_wpS)C$QwLZkRLpyqz4!yjl=%qEWnSy;%FkWRU zOVSaVMji2)Qde5gDp}xl*shCJ+EpboN&kY)hQugq6-#!~Q**^pxX*yRMnPRuATCHa zib5RP`YM68N;e08p>3LDWm2dh?QxMMDk#obuPA-haG|hXw!_t=it6>#(p6NNU$Z>6 z>G7X5&W#?;|J3~EL46nNYfo<{Dl7W4IX2i`U>aE^{mzzPtW#<2;6h*Ph`ji#kdZwn zaU?<@nUITycF5b6}~O1WP-f z1wF}WFg#YX$e8+N8uX}p=;>dMa8=4A7%1K`3AoO-Cqda)`k1c8Z&DyynLY^uv))g! z-XARHa+NX(CiM?WUKkF`obs-)#3Pn;ATKap)dtS)nHmv_?e7t&khxkzbH^;J1-OPr#Uv5AD z0nArV&xITLWB6ZU@W>(E8yG?uF`tYPvmD&@GA{G_9Q=H+Xm`e&Ze!dj5)+^q&Ge#xYEXsE0Y2_5J zOk*OzcXLO4YDZi`#GCiH+VQ#_agH9LVsB~f{kJaV7bJelop`RD_+UrCb}WgI11GQ&{oQH%y5Je;j>!2*c5cr`u@-o|rqL%#P?7o{enwwx_oXhaEV640mOFS-wc~lK9zrw+q_$>{u5( zxh{AXy3@|L(+WHYO99tg+0=Ir+UYj2gK(I>w}-0?@JXmLl;;WjJl70zZW zTE>ve<+q~ZH2ZM1K4mOED`e99UJg31TWi}ux~A?`O3-1sZWR`Y85tQ8FWX_TsbI6! zhj6R{I3dIt*Be{i2S^TZe!Oa?i$eYH>fTJ!?;v;VKs(k&zn8wQGYI`=yVJIA(h)+x z-P{qM+7TV|D{Cc}SG1e&-#GKY@YC0YAEV~4u$mvo(Una3(s=T1@Tq_~C@ia-?$zZqL5 zHKa#Nuvv7NJ5QdI=Tstt97r{bdb{Iyh#V*UpeOO#uG{RXh>v92}VP4`o_?lCgLv_gLSsOG>K$^57d=v}rXq)mS)Rl>Mx>spfJJ zY^o2}rqJ`n&bg1+C1RXCWqINwYE$OWD)BM}NrAF;ULc(GE4^3giJIN3BQot)`f1Aaa{;uPG#*jXA8ih2m>yjk; zCAtu9pl{bpFQ0)uhso(t=H1M?TXoCP8?3a#cFmggyLwicBt^)V_^jP}QK>Xo*q#$W zBjK!XWkGa~vvyqc5=|g*EAq?_! zcf=YyqGJX*i>XETg=?OOKX5az|YIvh&^qeCBOxl;^wQpm+LDf$?X zeWRj}@e*tn<+$@?IC)Bl)chdZ9lu4dLySm1@l1bmNLl{}jU2JR^Ck zOP!x-cb@C#&wpI3&VL9$=zhLB|M6^_^B)dB=H z1(u_Z^1LKo1F&Aa33$-&>UruJ!j?oewW;6TzTH+(ON)daQ2 zbHg4rt$cN8>5c2J^Ag&ctaKQ`N22typ9tQi`PP1zOr+pf&Nc%SPz9OXR(hA@9kQCM0I`PxwV1* ze?vi^IFeSWVxY#&%z~1mROj$0FoFf2woxRPau&b;JgrTZCDkJ@rfVjLxF#>f&V-HJ zcdVREpa<~}v#>>Yl%r-25u?=1^PI$@nzOD{!E$Py96oZS%d0;n&pb25CSj@gA!nr_ zhQbd2y33uS!bx$FP=~Zj$up0wwE36Zmj%_1bmvK~UxYtFEyR1>@%c`f==?L5+H_KS zhl@_0fJ9bE#4@21;a8<-w~YBaef3|Sa>KeLeKe&BFl!ND6oL56F-m~(r39D~M}S$M zq>)`yo{sJew_H2;iS@WkO`27+7q9Q&F4fBmBO*5~ILLj>o#J69 zg_tU&kXy$fmuYtzCEn~#KfzwGT<PdN!q{LoSrOeVPE8cF;+PVxBWo$JGNy)llct*t_wNa{e>9K}pE&OX`@6o?bnU(CZ z>uhnC$0tu3| zU$hapYKWZ_Fi-iMFqsB7+UI$Uh+`t3i^^Cm_$x8esnY{d7QeU8F0VXIoDI4xG=?R)qW8h2u-s0cZMtsINx)bKT}QsQhey~#F5pNobS2U)ru30n!8v} zCAx7+AM2iD`Y-3OQw(>=>LNioEO;ZTTO1STauGt?6F|KUNsU{Zzs;Au&nr1B&}e=1 zg0eIC4W&NB(}(AOc%1VM3c1~|BYJU#SikRCC3vxW-u)rO^1*-wqsU>kigx5GT``XD_v|l9r>^ubu$H*GJ zbK!hq$ghuRo1_$X6x{Nv!p)-V=`k_I;(qlxR`a8k88vkw+4T7EcDoHSrZ(zDM#W*$ zpNW%%YpepVa@Z-26moMoz)LFk=0ezIb8NF_lR-=rJ++!e6}Q42l8+j%Vh$T zzJT9q7XPG?1MuFtd^d?QfHTJBrOKzq?v3IvfBBF2vzppf9604qxzuMo(Ncb)Xo!5~ z)LeW$)e|oMtYTCq2S~)NPZXrbq!Ou24w-cF#W*a(=)_v1YNML1txNKpUcWTfvwuwlaIPWLqynI>yA?y`BVXm;_J8am23Us?{>GhD}AparEj+W_*@6;mp-cB zr?H=TeqIp2?t$pVIF9+=2tP%amqzRSFV6X+`a8nQr369t`tX+o3kcU|1v(vu^OHn@ zn`3Z~%A!xkm?sYkL~lXm*gfhuy9e-o5-i?b5fax)r+dwt`r+#6hpy%LN!c`cebBr% zlS?i_IfP|Tt}89rVJv!s=6a%HRp#fB;(ZPZpp73k=_#?VLG(cx+ zljAgwOnJn4lbkpAWY&2K_OLjNao$ejvihG{pI3~pc_Wldwb^578ms;hxy*&oO z9%O_c=Bv8C*;uqz)$$&>{YxAQ^(b%A!GaBFlCpy4*v!NUv!TZieYDJ`#nD0Y3gvnZ zFZ5YP&7VODM7>d-8I-byn7K^pc!tGit`s3P$x7 z)oEgA0(#=d5;&-?<_+Tkxie(AvFH_Fl-uJ*)9ReDjV-85-NsbugUJwLs4;dZ}mH%2`X-aikpPS z);j(ZGOB%pni3ajBbqS~z(z$b7pL|6NBiIs0$%7i0d3IQ_%NAfHEN`RE1d)taA)rp z(aw?#UC< zC=ahR#cvzoGod9si9=q4lvTr&yrG4mUPP69B&>7u(5~fY#%I%eo!1Y|HD+~@^u(Sp zs19s*9^|R61KE2HnsSJpUG66SgaO9sS5?6}vPwcB(Ha@$5Uf%2H}!I=5t&akKB2e( zisKPN?frH7Olm&Jn02^BhZ{OAq1p^zf$Mtsve^N%Gbi5nbTVoZMADklLC~JBnT9~& zT_LVt7z(MC8hDRvlqIHAd!BhwPNu)L4n7O#)LQkDyu_Vg-qJ)8vaEbW zU%S&Wi~~Q{DC{^ro5a#+noxd@N3kb=L9?_!SwGbeN>+cCst3r-iwc>K8&vfl#KqN) zT22Uh-3^#86RW~{y8ah=QAkenJDC~rR7B5=%qv;UT-98T?cX^x_2@2qGmr;X(@+UW}fPl}(f4k)kUJ#Eyjvb?+1~Zv!Wj^E@yx!L<<Mlp}_oEMZ{#S0~OjAc~>iMgl~H{-0NFczF_*Kup)jJ>bE_FDI8Yk7H% z7vW*wcbU8l=(&gbfjSDK-B`A7#=(+38nOSGno&~IT5<3QvvY3!9;|`jvEIxkB*Qvy zag*`KI&n-j9i>XCQBs$jK!2aBC(uXK?~hKPXE_t-wr^@#Kc&r|PgB#+&7V&+yXMc* z1DQWBapuoFT9#ra4!q9H`9b0%;X}!pvn})beVdtcg`~D;PKUwWVyDqF=Of_DUS`6t z#=x&+z&4c+_r(rZ&O;gz%?{M14MH-9W7y8Ru;1XWzzaT@cR$nUxK5%Kn7``pfs z*nTNuyUbnBkf+I6Oq|)#Vgi4$_WI!zwSG9M{rW-tsx}I~nd6i&AG$XoYr%Q0MZrAl zqh3=p;^P^Z3AjGXxprcImTKK*>n~5T7EW5^D|ybfe}VrUrtp1gz2)}l8?M9k+Irva z&Hk6t=t2C)?o;?H!hh_y)0(6ZYqlGZLI#GLjd zizj2&ObCW!J-2h_#eeP4C4tPw*3Y!V-ajL>!~Q4~sjX4DmLUeqm1G zn}oxfRZ-8&l4{T{ae2$tcHHje$9o-YGzGiT4>I1)(&O#7LF0+l@0 zFox!Mqo$BIDb0v1m#}IHdz3eXUpi@*bv5&pvB zAB%u}K9TsCHfo+FJlt|hXk?P=%qm*8YtS23%T9rYE|%+EeuW}ywy1Mz0+n5j+!x5|+v&N2Z(-@f&Rs54GK9JSIew?n4rixtT z9rQ(ft2D_C`V_k~H|Ud$$Zws}F0td?wb7dMocJ?Uyt_7_JDEVBTaX#QUEoxH!Nq}b z8-!~ly<0CyMivSMp1S8hqQH>fO?|D@nxwv(fAghufp4o|F-sC%hPdfcM5!wewzRay zUm#4;?>lfbVGh>aM+*QscqWVgUCOc9BmQ3d_!~zKP|VO~B4^)uD=xtoWQBeWZ7oUo zl0+-QmQA!Zqklj{9Od52uZC;Fy-Z4FWGAJe1qZ3RHTRw+Gb}TqsMG?a#2FY4kwaXz z1Ozb>8nxn^64hnT9!jIC7^HOI%|En2WR0>*aMKEMD)nyd{it*od7p~~|0N#876%uV zMT5^s*L`E$>aB}6NYzW=Sn@YLaNG`&IqR5Tdpz6nSJA*U8F#-$ng*|OhrYm?aFhZq zzLG$XT@C9HcA$1zp1DkaGC0eO+v-X^3p*ul>$vO-lV!i*F1wp9+p_`ybwP>Kq^IN* zRQwn`=V_KwdL+|=AVP6Du_l{|dsksg6_bJRnX>5U9CU!u(OIRn18YaH5U9-k#+Z(F zFx^2IgTh_aYM-fZy^3)ms2@FmIgvi`MHS0j&^fN$xX_xe)a=Z)Yr6|aW;2#9*k%2r zGc)gS7o^FOou}ODDz6lA?zlA-Z%Y;v$LomhP~A z@!nlZB7yN)>+lSiD6n=vzz&rJruWd*`&yJ@GUG8j+L=Ul=aX%;RYx`@+a#wGM5;E^ z$t>3aJ!f}o>y^N8AkPColkPa?sE*1J zABr7?OIRy$j{Ki4kImTLBvV%O-udj3)Ik8=izb*oI(99S!x18fxN_NcuBEfhsZr`uyo=>$36RfX5G3=X1_IR+TTTfdusaB zy89lmu~KDH4YKRCruDduLGqxqksw9CrW(HX4NKVYeBaZE45cj9Ll0JiU^@;sstp8s z8fyCK)vg)IOU0t|d0S<9Sw@nbMbg9JolVAhs;A)i@@p)L{EL*e-r2_D$O7KV7`6QP zOp&}Jd(>-ok8b7QT={|VnL0ii$(7+?W?yi$ip$eqe|SRSu8({*M)LVljHod(gjbCs zU1&5iK&L6>hu)=Qy>p?fCA73oCoJmusNhmO%0DOtT5nIQWJgF=3U%HZu(DUOiKPA= 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�z%keAH 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øDKN@z#LUOwAl~9IIHo#p`)26P266(e+caR&#Ip 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

QdQ{_ehZ@)TJKdCCr7n4alx(~kv}SWbU-=z2|s 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

#vjm+^(HvLEd4rbK2uoN+Qlis{Z=5 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 z zdtO4BqDR-lI`Ad-81{lkylYl+oY#GgN!ZVTs7*I^HHuu450#`3C!-}$>j#Fw#IPYE zLCTO$5hn4FMfw{|{n{t}4a0`^Nq@t|0NN-0P20?oPx>1~w~mt@W?FWCV+#T)X;VvV zYY-Jc-M}9X=>09t>wSVs%M0)U=D81`NCy zheI2npg zN{6pK^fZe=l6pbXY|<&SB)gfdGqmc!9PR7WzFh6=(!M*Qh_Go^fsY(YVc)bt1aED{y`ArvlL zWrm;8U-bp%gKUce^YP~xf{TuHM2&wv@j`%DIqf$ppzsF{RPGS~4_}`+P=2 zz4mGDYiN=r+Ined>!l&qOUP+$0cRWRK&tG69+f8RSU-}EA}(0h zB+P*`B$FNQ)-KeA*!fAqEJ`D4>6NU1fUGZ}%G^A3dQu9}mN zChvnk)-5eU_+G6qt|hPoEjelEA_mjFhxWLp;jlY!w%)IKDtt znFo-Sc@aKbWX}>nIS<)zKC~QhWEKvu%m#a~iz;gfnzV&|P&a8+Gv_%v?xQ~wuw-gtPM}x^ z<*RV=jz|z*_0bZkUrc{P1X{<{;6lE^5x)=lb$^o@VIDj%@{eS4!mjb){u$ztzZT=a z-Ey3R=b;VNR!~^4i28@M7gob0GL_W88VXc&$Pv!!0#-}L`?2Y2FSte~pf(6@ySfo1 z2pA3Xm=)W59r;*TZ-f>htiZTGD9)qRIt7|ci&t!$Lx|0iy8s!jy_sq3rOQqbQH>J< z%W74-ELIV*S`1Ir{-Mos%?UVi;1|TeYql+1eZCHDW7+~*4^UVqqh$;;I&B~$X6#bh zSEGHh_=!RUm6k3@8o^NzY~fm{OmS)K3!{YCnwXf<*0lm@a_{9VTrZyCrV6b;%7Pb{ z@F9oACg?2ZQ;cyr-!{fOtNL23g|)WRAmS9QfwX##Jyc2;-UG>m0zPOy>}_8@OT=W= zZJiF2C6>1ljOKNg=i229qXG7&W2?+gB7sZipjGQn#1uhFTUqcTG?R|ikjE7DsZzn!*LM9qk>f#UWO07D* z9sO{0*Gx+0fd`KEbalRNs`Yj@N^B?TyKOzN?5!*JTyu@l@d80E2x;I zk*1i5iJl%a%u+(4D~kF7a|tMnKC>E-^w=ZQJ8B&9>0Pe&Q4|8GPy5)Z;49HSc5L{{ zwa)_|HI)VMVzNi!6|TWI=vs#=z*nn%tF>>H_SI`&o%S_p-)ik^r4PH9=(AdKUkB}b zC}*~<#c>GikEk5YrfFWz=;l=zqtq>zV?G<&gkQg zrd9%ZiArdd{$$^+!zV0L-6-8VDzsYrgb<@bJiCuLA;hRqr}haUMuj$O9|?hc3O*oE zSYPIS2Tw)9!;PFF571;2YMNL=49sE>3KcSg4pem38`B=`6PmyfrF}vZBa}^FM~IAv ziZYXq2(Qu<)R~-X@HD`1jgCtw+6qcxav@xqcV64+oTz7^3icQ+jKl#gQY0O}8~fi# zM1R}Yu&gvPC1ZnP^a37@BsgJ^U~rv{m$DHPFL>|?8ySLpCN`sgxCbSWmH9d zi4~+GExThCW<`?8T}jZeTuguAtzr@lmulZ;?JLo~F75M)V--uF)v4on zWE5K)J#UjC8|U@g-g)b565;<4jBEjA>I4TjQijV;FQ^6hlEN`NmIA_3I4-r-J}Dft zW9?&c6cBV^OA{x&iVk+j#0$5#Hog-tb%%N!Bw^pV;C!^?268O^hzHx#Kehumyg@FC z4_8-8gZtX%)Mpi#b8tbeLNq?FTJ0aUDQ>J54I^%-P923aJxQ8DlIGOI`klVry99ci z-+T2dW!@`0$sFXQfO%DIWaV3Imj?1Px)*r}U1$M(z=?_eANN_B_1I@odO~mczwD@1 za}N8f)fksylNx0B+=`Rf>qsP>a)5i3dK!%= zswT!3>wZSW2At10*j#uJ>|royV?;=R2l2?&&HB_x5K$1?A%P7GiEIc+`a>v3zDV*C0SOUM(mHM5hhHQW`dQOB;j*6Kw9* zK8>>_$Qpe{5fL1&2AH!7jM<7!=Q4id^rAW(=%L2a*07oCT1h#WA#0zMgR^AX$JPZe z>(R>E%s{L+!$HNfUlB663PAmzWC4YBTBu3^Q2R9MQUIiz_DKOy{vIy^tLC2cnNtW6NUi+(YKUD4BXgZ_3+ zlC7w14f$lLE>EfhYpo1Bx;n7pYoAmHDz^5q0wAKUj+MV$*f8xgf1>MJX9G98Fd!*$DfzPf7-I+Q+hhfG*j}Wgw8FgL@+5L!+*6%TXUl z$$4M8YALumL=RK@!NiuI4Ey9%#JrK;prvKoCfR7ZEQ!;i1B; zi-M?t7yJGH)iblRo6QCC-skU^&CGQ7bXQkZS5;T{RIkqmk$^N4bTw6b@+(Ot_zLb% zUc%>m0QVs3P{tf=&UOf$h(z(0N*@*zqd1RcnoP}cE{pA>ILKgC0B+V4b{47MFjX%z zO+IyJ>gP<=%S>BpB4$(pPk6C?AT?1BV6hE;5jdv}1#Vx0*5~d-yXmxv(=oXfO@r#h z*7i{-A&u$^`LbbzUwA?+W79J zQ+@g&w|wXRKy-Tar4(afg)$PoDCGqk*#QMADdUrOCG$3(h1RsBfwl4VMlpo|h@pLk zS=Aai3up!u2*UJ90O(7iUew&4PlO4RLtQ9-7A6OT>PeU!(5ok5Yn;;}Ozxc{m)z;N zzuh(m1{vQcr9SGD0=3 zTk^RMCVJOfYQnsTWvef-({mt}?n_*JCo0>EdbE*`A(a4Jt^;88 zC?9@SO;j>iyc>&mL2Gs>?@N?S)hW8LE(hs+AL&*2 z)Ed9uWslmgrA#LAKq-^yoEVx+YFNBA9Hqv}&>lOIgVA?EIz9Nl5RkfM=Q7SMJ~Q5 z?pn1j%*H96wUmq4piKX5IX{zil-5O{hVSqsD0je5pt}{c!dlq;^bT^gj*sH&^|ttD zqGJhP*E@c6p7ayOA3p3np#9d3kD{9;;HpF~(az76R3$nHk_I87W!*?%1tkA$ZQ~)!9@;k^tlozUFg$^Y5v;u64t%&jQk%#MZ^S>s8|MD_0m#yQ zAD}_F+v5(fT$tN~XqL)9oWVSCYpAVA+&^2Y-F_+BY$*KEU+0+MoZXf)f@#(bW;kCf z;OmD}?X8Cq!JwZeL|I6X4cKKI(IVN|Z^#xs zSEu>He)v8I>n;URE_{8HSzzue1Sim1(E6iZj2?M~>@kFiU!PB=G4|($xjY)-4U8pj z%hNi{BpqcR9>)1z_u}t(B!qe{3zQw@w)q*b6E_w*; z(u4oH@n2{D>xh3D`KvYr0$rdL2jDkyV<0dcztOm#ieKN7K;Uxx9>o1K_>IE-D*WEZ zuXb4=&u@AkYx- zJd5Yo@%tTh+VGwW_1uZy1l$|((}p3I4!rn(qDCM$%9mS64Toe=8i~5|4|1d;1TT%03_(JG<83kGV%jZs@jeRjCe+j zu9HW>;Qj+B{`w0vipewhAI51nT%P+7c_kuH(HO0s7D&{X71E_yfy?=Fg|w59EF^ddmcWFPOJ3@x* zA*~Uug|Lo9G-!{U?P9>{O@8NP+EEQZ=q2V*J7o^B&JAY}NvTU9;F2BQr55Pd6|zI1 z#9h)xa-OQxERdkq1q$jYM8B;F&s4R^l5KNIQRE&O8DjlZ>N@z7iE}ADJpVIGx`HX6Rb^K*|J0Ub+#IEHU3(;? zV{*Jg%aNXf*`pWJ&>VhrLkF~|eNR3zBPtu?SDlVYzayeyk+Iy1h1iHqfZlOk+rcRL zCH7?~A}qyZZ{`wh-7euLJl3)0at|X$bvF0~@r@Nz!X+SOV@G#x2+ZdaT@J4VucIUf z3-?SK%Zv%?>E8sG`=m=%Jwy?QB@J0oh5eeb0!>+!wQamUr$BTM$|q|Y$eMK ztyaJ~(>$5jTU!TS0(@tFm}7{?|L_JUKF34&*m8XGFjt-Eu6_C2p@8ob7SuyS;kYQw z(Bj!DPXcogt6e5ePe|0Foy}cedLMg7oNdPKB%OVhl zcnNrB_q{N7iQwl~V^;-_+_2?5C4evlQ~w0KT8i>zh=Ul9XU0B+l^ErlhB9dw@~TBT zu1Da|M)osjBya}#bhJC!g2&oOP|&rLdE&7sP|)I?odxz_m*;sUyl`1b-I zW#}cpLjd9?9%KOtO{ygvr4|v4XzyN+5r3J}J2y^y6mbKnRHssL7riW+b? z4+k|Ak#({Y_wHf9`C#H)pq;mcBgYJ$DWE9#i6eXvj7+i&0yXW#44AEXW6$ki9S80{ zH9_-H3Lmn|MPCS-<5;DziGEz09J^{^76Pt&$@CH7Lg>+=%y#-naJA$nDK)S9MuuZ;Ei!#_E~qzo-}55UA3IM3&%TR9@GRMYFI1znn?+GW^!hgA5!cYxZMnHf zmNr_T4c}vU^1Y@?`u?r19243tL%@uR*tVRPm=R9!vk1|Bk|R7}%i-pua>b%hOuOw~ zQ3n>mP%#>||7xPag}GWN^Sp{oYK@^VEJAaZAV+JW+A;WWz$lVum)0JowIlZk48q@m z?Y5jYpk2E6S#mJh(s7^>j&$7X|3-Ts1w+S!DZk}>g zd}qvEN?0@W#*{ju;W5a9G)EY)x3sVB#n|^`K`vrm>W!Tiqs+Bzv@9R2Yw!MoUQu>j zqNcG$5WS_$#(IzM6XvUPU8C#4)28Yid(G9q{8=j0!rjCL^R1FVqh2L|vm3 zH&XyIm|oSLI3J=gd3;Sw? zcVWQKIvqq8Rj&(WVRRT6-UWWx9@Yf~|1JQY=3NnoZV>*n>Qn{);&~zPpH&Y2oI^VN zx?iL^B#1vVlmx}Zs+9!qA|V3&I5XZm%|XC7)KY-^P^y5+Asvc=RKavvPw9gbIk6EM zW8;ENnDcU~i77}2%s1=!u_;fz)*Pd!HcAw!!=J#f+UB3oAvkMr);V@s%%lotz+2P} zWxd5=4YUa;qc&vYpZ0PtJbcM`me0ji+QUri6q>exY0W~@W-u)pX@IemFrJEWQ>5hc zg#ZToCWcy;T+8Utq1` zB~;;`8{z%eg72?Z@Bh|CKzJeK{mFd);t22048A{Gy}wqyKPlw>E_h#A^$H8NocEhk;%xUeAb@24LYy~2B=TEKy6u#y1NGJ-Z3n^?s%i_g}0*a&j7NIDn>MM zHR}H0M-%Q@dL-ix1fU8luH`75+` z`2I_J7tHsY=@Km{nL7OdQoyv>24g{c6!q0Q8VFqSdmvDP>s?qe3SuZ2zdKdzhoE0! z{zcrftRiRnX4Qipz+}O*fOF0?@5=?aU=GDE%z5YO7l)&X6Rh zq}hy*BIP0rop=&k8eahcD0B~|jzq5oEWG8^PftzIZ;NF|MK)|Z=|48ZqB>6Y&k z6EQdDN6`qoDU)Hf5l`lu!!T=ec-GTiSHgUvAJ%KKq{?@b+|r3m&NqDDVe>1fLZ<>4 zi1Qs=&Q7K&9?mwnpin!LwX6>oPu&P2f_5FgKcB?h>Q9t-vQ7`qaoDssM$MFd{QeNW zir$*!47~4poYAS;#vJS0*tV)D)z-hH@2RuD!L4&_Oio(#?!a!RCzI~F%s2h-202Pk zbggB@(jWix|21@P+)Y=6j_&mwaplo{h1fh6bpP%HqIklJ38qd)#lv4;l!05_BTMl(XZC3v8q2lWA;MCbg<4BDhCGk)y&BX=U9ZTHJQietNH6rCiTRdt zdpbQAD-IYBkeu_2L56p2IcM@M_$Mu-*a}kYQlwaz7JZbYP*uE*DokqnSDQUL*?c}w zd_X$lZxD089H0LoM!yB|^E4p-J1M-J*wp#l)(M}-{VHQc#0iiuxE61T1>ehM(u@Gv z#4{GFIYfGInwf@AF*y7jM|ScQ>dt5YMgr6aE2k0Endi90I;27Py?@%B$`%jGOX#!~$?7%F{fpmGI1c^6x zYJyDm)!bZSLkgJQSbH;>>9az}x5qnkrmtLA2&#reup?#71l$s8Ea-~}z~%!Z({RSh z$p)JJovGlakw;_W=bX9_<*9)dz9b>i@lfN^3aDY8XK0}ZzKGW8F@twCqDPOt20c0z;S@gH5?r^p~qFwo@#th zoz{#V&wOjp<8k4g3dYB!%_^WrhsIWV+>vym^ypAp1wF9J2;bKv!}m4D^nLj+FGr*q z{Xrnt#gU2Q^vo7%-T)yS;<=6C;cpHFWcp?3<}z&|laes5C5bMcOr&t1F-H1LakeB_ zL5=!jN?BWlyO#x&;K>cp{DrWT;F}Z|N&)tAVK>M)h#!8%63|9GN++`|=Wekf;4Rl3 zjGWBs?svMMJ?ZcQ>BsLV*%K;Le!3riXOAoziJ|f;cd6?-gn9W@8 zf7d|rX4IyPjMsH@2y4vcOrZp{0>EW?MtMXU16fi8qN6LnHKf{#3`5ZvO# z5Ih|pit9%tiCZi+1i_HrCW4*brU=$6CIub((zrWqv5Vb|v{&5kNVE5o2pW^iHHa)TKKCv*gyZx%$ z-J>HEJB?sh)4VPQwq$<{qz(GhJgk*2I(ozLBg-UPDWe`zXM&tU*pnOqhh$e5d zq_dv|#>B9pIQ#4#gvVkd_IxaW+Hy-^twHLn((Pt|o;eVs?M&fDykX5oG9i4~n-U!AQY^!18H z*1kTQ_&4>nVNLovDYUPzd|bY-KYXG0bv;ccZ!>Sx@V*Yd%-Yvcr$y-Ngm`OT*PZb< z^|kHB8qihzO~F;xtsm)q#UR@a`h#~}Siu#R2w7`=>GMN~EdU9EefYLJJ7LE&Z*u+s z|H^*M^4lYReCnUahqDYLwB`%J8Nxv^4e6dq%Gei&ZJY@EQ8Mah4f~p({l`dSeS> zWpGkVLfZb`DqPoAXOf=H!J>4TR`7-lKqf)3=J6tv^pzx~IZt=}%!hLG^mmag^TN%% zi99dNW>)3>{jzSw{Vj~K_V<(%?r-6`>hw1U8Z|jg;@WOp4Wxnh2e@XUjC(S63j^8tIt%9e8w%C)Ajbq|H@)%hWK zn;+5wVDqAh?nUr7v4~mIupw9?Jd*MykxRFmG z4c*fJV@GJ&-JdybEs9 zpq$bW8{Od)$#t1W&l++b?L@SfIYvoR%M z6!6TtGCur$ty)gPGbmUtUL2H->;bbYo}&lcSESg@V`O`M7)a=^m)Wf!k&K-_qq?r z^n>0AP)e+dqa;LebOR{PP2WP~U;{!xdu1+$yn7ejEek>#$z1O1k5;s73>@t?{KGWJ zmh&N~TCaA?OK+(3jfH3il*4b9;E3JXs+@!&5H}t^b*vCIx)Zc zFVXa&LJLjj!Ve+7n3~XZ-`gQHosebHG&xu|XxbK)YZu*Ej;1Z7RFI}0H$HBfUJFnx zH2vy!lcuk(urdy4It{I8FO3Dgp2I((DP5NaP2bvR&@_)_=Hp+GrdQQBY3e$Q^c)Z} zMj21f7^AnM9)q4`QMR1ccvTD+noBgKv}N01GQ}eKzeVxqUbayDZjmQ79L2wuhEROg zZ6?JB2kQpK&qd{$T7KaRV~NRJ$J>Fjq3d|Q zsTk(uA=pN)(dpjVSe)qE0$k`n10hCf+`@}IS6^zmAFu0sI$Rf|dIoZ7M%E<;?8V6ERAf~|{#U^NM81YrFFccs>lV8!8|?>~6-eaU~H;vb=;{2J=? zUfUif$Ud#fS_-f){XXrpYgI3pkMpDT{GZnt`D-otjm`WIjeK1IX0nxX0`RZ5psKDx zmNrwb1?HJruv62&v}J-_CW%ZKA_GQka5PK`IqjipOYz@m%VH@u&NNB5?>TEDz}5E< ztlED@0#{$+pH4z6SSv%`u;r{3gX_4!`h8OfShu-Mu!e**0rF^T?X_zF*30-uY=Kmn=jeog47pGk(0uX znL6|P7U`2mtO40_*5kp@_(y)p?`^&wlRF`&_zfQDtU^QD!7T{Y0cp?GhcQti- zA2T$0nuxKl{n+nb`NHG*s42Mc_&nH3*1#T=o0!awXayUlMlCb#iK~%Ao1VtRv#%L8 zJvT++T&X(rC}QG$0zT}BzS1SMXmrooPfyA?W|D~3UoioN(&lqeJ1&zKs#4k)t`Cu6 ztEZX5;_i?}Aj9rOE82o9fo**WQHN%%6qHp(nTN~rsdp)trT`ROQ7|yd@B{~L74z_A zZ-!X#odAtK4?p$MsGBu?Q%iNPtizw$rel#+r_PI(8@+T-Mu25*FL zig$|1DK~^P0@{p2E84YJl;f1%QqUlxE$0Yj`SEee+;t(G5}0gq%14ifamv5ZiuV36 zFu*qa6Heh*q6VjYyTag<7g**Q{wrX?2%K^hqn+NJDmi7>+90RQxEfsI8cg57v@luX zYGiQ7b$|kV>o*qsUG1f)G3V6oL4`;u)wjjk1?39>eEjvS%YRR!e3X>!uCu#nse*e7`OK zwdTJTECoh1cb+|oe#p+V#@cNtuYYo5%W+~u$nowjGrqie)!ez}e=;L~I%4*m7vVP& zX~r*78RoqV+E0w|djM(1FH#xit=Sm}Y>)8!6KTdTQW@rrc^fO_h%Hq1P9QKFaLmCz zn0q4pRwK>$MJmI*r||yT2tUSEGJcWDFmE&#FS&pj{u_=orI zeyq4fV?{9h*9K|E&zi^b{H1@4mAVMO=14Ps)_j)dkMRV|_yAWhYS3tibOv`(AM(j& z%>=P;TOecpMYS_ehoas93jxRTdR7&1wBbX-B^&YO;jQ6url zZyQ)M>%oThorq@v(;Ts)7)gMeyV5+FJ82j@d(Vo?Y$RqRO@;Gsnhxt1$(}mJG2KQv z0>w`EtoSrf7DB;hV)ZcKnu>)EY;={HwE;Z=xc=#OntQDI>9(7Zd5ET9Fb{9D)kmL- z>dqtVHl*R?aRR75-QG0_W-dQw&KGAN1VNrMYoC2hKBmS(YVr#iva+}Tz*A7!vAIW{ zLg$9(sqe9`zfAv_*`I_DSB-jF2kW^G_4pew&zqH}6`V$tDEM^^RKOaF5EvXM^AT zfDXt<1}j-m`*1yuSOZDamS;PPVH=9aUW6;ZJ1RYaM%iGnB`)P;=#4!Apg_enkex-a z%}dkVKRY^o=(P3w1Wn=_2&_Bp)h5C~Om&x}=lK|f+WiaIqDn@130%;cLt zUO5!7=LVc(OB}WVo4ao#pDo_BhM2H9@fp~bIhIfPLC=M5iQ#$ek3!GC_6t2fRRKKj zO$R@mi9$E1LOoTXogsxLp^&XUcI*L`B7<+%D888rV8qYs>Ldx^1Rxc2@n(_BUySm^ z&(}jid-{4&R0DZsp+1m%W2_UlH8ax3&73)A{5Yq3P(#O>VdG}Z z8iyo2#W~ma%XGP>PtF{l?midXREQdzZ6R3T8gJ~3Ux7kBig}6bc2~SApVFa00Kl&? zRHT0d?1fyA0xF=7!@DvcDcXQV+-kyz(bw#NA@r?@bRwm$ouFwI0kce5U zpqx3=;daD3)()FKZtRuk4I782xHNZCNlFX$DBV3b&RH@rp1sF4f!B0*Mj}J)7X6%R zyJKJyV!{z7r+Z*8lt^K7xH@>%aoND1;sA1;CUWcg&vkfb#_2J18Dv{8S-UX0`{7rj zUyb&+2%$z?VKh@yRz(l+)J~mWbSxDM2pi$zfXlt#(fNTm+rkS01cb~{bj>-o@0zse zlEA){9PFT)D;c-NVMae%XSv%(D3<%d9uRS)L zM<57IRZ~J`)tVmH-pl!LXq&NUbDQrcq+_0(hfg-vsjurH5Wm)LhOL#l5)FN;H^imr z!$aDDjf7LyX}}m2h64p(iSAzHlPNYt>6o*jZm-JO<{FmfWlWENcCL+I72rcG>~_AG zA1(zy)faznRN!(LTKt9w2wIFeamULunp%HP%JlJ}n-_ z{IyYF1KZP+1KMvd;ak1eqtU)(dg_;#6Eh$uit&yqC$Odz$9|7GgKG4MHVQ4i3jat`^>2P zv46lOL2FrDzC zE|d7dUd@E*(geVaO1C1ai$k3VgQqhNQlw%NzF|%wTpmGicypyZ$0j2AQDk9|0Liqp z^0laYMTYX3M@8{t6Gne0YEbF0b>XtK@C6<2AE`nj$We z=YYr4ybULTAuhuhNRKW}4eUYbkpKarNPvE&dZ0*5 z#G^U@4IYQbw%Yv`z3S^t{F+tjrySjs;2E5VBar&HhvA5!Gy#Rk{ktIy-064Qa=7ov zme*7b;(@DWFo-e4uq@9!hgm$#AWl-!QBXuUjm|gwV69KS=@#WE(L+?XB&LW34Eg9l zeH19XLH#96=UsUeFi<^QcDbm_8u14xQFAS{0;@NBW*g5SaIA z?(a3PlU^5f?v=%u->02}D#_8DfWmBxPj^pEz%S8bzZ<*^Gi_iOgGE1!iq!nQp`x2xRP^Ueh}DMWPOXNf_C7;aKcaQT%u#7-5qlAo z^;ndQpsdr746qO^LaYNHvF0)Z8V-|;I|c|D!_F;u8-q40>A6<`!{~f zAE9ok>4m$MrWcv&(Z6m;e;PGBYN&T;8LS+pQ==N%m0FeBwGdah`0ZPUiXj}!rfcL*-4s^y4fH^R-ygATPaw3`o z6AP3%u&Dzi0pt5aNzxnu#l#$-Ss*h}m;)xEP#x7=rGzTi??~oAdUl#8+!mMvmZ2>W zg{wP#kzoroQUm;=6`{7kLyuQr3lyHueLrT0bd!>OlK5f4Zg~@gN5xn$Z2{p>uf!vw zEig7sY=Igvhi(hh3`yI3O~9(iDXg<0MWh2h97K&dV()FFQ-fIvQrt;HVED0N1h6i=$hto5|=QGx}vt-DaEdnuI}0wV~! zdzUxmlSG9dRhFizO7lL$D*Sy6e}%)Fp5ySO#zUs0us#n?{&Heqg`KjeD&DL81>g`+ zLUm|qFT7E#{I0q$Jw3j46wcm6!?H(WB!pM0Cp`fUJ)F&rM$!@VBOU85!_kC_c`s2R zX9?Utt3&+|ge3tVB3*#W-TmOd;t}8duufygdpzI!68vi6@d6}YfNK|AyWrXy+3k^y zU%%F{Np?K1Y?5qXPkEuweOR|i7Euyo;em?|%*M3{7vNo7$20`6#|g;gotBgkP2*c8 zYp3x|C~~YHtYJbJqM+IvzYFUee?+<)Md17A>$$- z)a8(2D%2&HT5PKr>e6*OkDZMvtmSWt)rLgmYu_B0At7kCu-l&G21sLMnl5oFGR<<8 z{OeFlWEzAY0){T@W{FHgN`rM0a6x36L_Vn)FnAqhV^9BDob|#lIAH`ZqYj{34pP+1 z+%j1XBoUO9$N`Yd04{;garF3i`%27Jpq12ty@~ZisRrx>9A|3_Pn(3s)PTT8NL<^| zepZ7-Mn})O#1%G8e0|VK>XjaJ1mfiAms0JEi*fXeH>*q=`dJg^m6>^E+GXb=&%G-( z(A?PCh~52Hf*p5hzdQ(v&D+A^Zkc~Ngez32VS)WYl;x=f8pfE|-Qm;10Xa1XMa|r#}E?*The-{IIkU@e1EDzxWp-swk1G zU0)`Zm!7M@QXHavCfpzbRy#db=Zs%qMhF{p{uJ+{;~?cSZLSy>0qy0USTLQ3YSeiy zSEXL5&Oa$Yk928|jg)Dgx$$Y8j$)ZSdUjKOAkTFJE+>?vO^-@Prqfd=qhCo(uZE`} zh*>Q<9I#OO`O*~-Y%%Tmnr&e`@Q)!p>M}Ki8NWNy5blb6EpfjZ!e62#4B?hY;}D)0 zqlWNSm0SzSW^k#tlvbfbSR|D?c*NF723I~_UZNE?pCo9* z@lLdLot`%7++pngI?eriV8|R1zn#$ps>TYxU@*qS;Q5zUj=|c<*S`Kf1cL|C6$a0$ z9fHA~NH#GjA;GJKL7-zNKqD3p&zejqiN%r9YlVlu1B*>|R)NJy%_tmkc+pR=pAa)y zU*v`m<0gzQ_lq1W0Qo4#KBl5_B|f%v(gn){D(7}H=LO`b^=US8HyZJ` z(S~=CA!mq9oDrfz)%u%YoR$OPx%<=%ZqNmx$5jl73hqbI{VNmTDu)?`^+60#w{Bq> zYZJz@h3?Kk=(ntgK|0|7Q(;|Y7d-zj?&9<2vUAqplA_KfkURtoy9 zkf>`_+WJ!JT<+y^e-1ggBrqfat~4e_xz2KU)k&Do`f_G`x#M+X}{-4 z^dt{MvdOg9z=8}L_F|AIqYs+fLC`T~*%!X=)t55#fNQbC7fu7(l`q5_yYUl2C-I1v z=HNnMhueJI>hBMcF`t{Q%H-jq3j@93gJ>$v{mfA|?2S$TSZd^)3T-nFtu3PojB|Ez zk#`Yxn!`(@^Y`I67=~+&I z9iF8EnwWA~YbdsR@0{5L)WWt91S9`kYdmN=3gbu;?5RkL2CP3awIA5Q8I7UCjLc;S zY8F4UjckB^6+m?_%I;g|6zt**6ghjBWFGQyO0f|iNC2kawS&D045WPS0wkNX@1|(~ zwo}o*Z3VP{82MV)y^8jK65pQW1xO?9XC0d;#@u%*c^Z;U+7CjfYesvC04nr@{O<`| znS?(_k;y`MA1cSW@IWS(*plOoSXV3-FSac{rOB6D;ac#RE`UG_9fb4-Zm2@PNq!mm3#)0P5$eOMT460pKc_m zD39J)=eiq6x83ZUH};Pm;j#zdg~^_sf`$rZk3Aa`i#*izX&LLnnxGeUPkF<|?WJV{ zdBd@wwL6va245p6!ZCCuzB2tDc$JAEZ}1H;_j1^BzLJMK^!*&A9?aL?W(C1%ivd-j8EJ z&_|kWc=CQwH5TPXcLXfz4HL_d;5uDA+oeWLsH6wzj4)OEvH`GYo+b$SEyqFS^62n& zv^$mTCg|FyU1wtCal-~vwH;BdqkIpb945swvSG^Lz#YrSL8I^DELv^Y<6$?;)C|nY zWWz+@6tW~m7YS&O1Q=BW5#pgJ$?SszU$c=Y{(^%J+osp@@T9G(ji_L2amPXsIQ8-n zaxuy=Z?nX8g_RKdJWu|#v!Xa#?sK#qyjexsr4upjc?eJDK-YzRhXIuf`(OKmO;UD; z2>bsajcnpR8Y1l9MzYB!9?F?eHZj-$D2=4(gPiY;wPnyuHMD%a_p9a+ofWF7<;TA# zHAV>!R!_^nbc$H7+1mL(91E&UZa;?fI?_*Jk=wZ<&5}xxul@eD!s0ie90uEKNFx^e zA5mC*S0z7+WD|?0gUVr86qScr5=;kRQSWci+=+c!M;0j$lL!|>Ea4VSpuX7rk>cpc zR%P<^3=AQqIC7QADfSLZU-YgZOPM^%7E)p!^;5u0{fMt618${^m^!z85spu7fM&_~$_)r>(4~4#k6$=2^ zye+iptxgnga`%g5`f&s(P}2|l=~xPp9cA9+rYiGQGc$>q&np}cV5*qw?oWB7OzSg| z$FDUVUazwI35+n0Xt{!OPlrZ880Ef+|gsrz!7r=;cCaKZbgoM&MamI*J3T(*95f0rfuH^ z`t?k8HJvg%?F-Tc>oB@gW>zi`2eH%qEPBwf6Wnmh9Fm^GDf7{dkUVtmXm7VM%IHoR z@e9x!w!1URaA&>ttXW2vVDnTxMcUn{$3IKUMFIcmez;mUTR-0nX!{Y4(cjJA(GRaH zcAbl#Q|q|_)16i-fm%dsz8?vv_+yde@5J`HE=UNP(Xr+dBju4t+p<|34A`qpnW3cn0qmO#0cau_Wl(NW?_%o$g|Vb;nf@F zqdU1pI-l5bp5fYm32Vb8g<>nJI3*qciTZ};Ua9Bx%dlFZT-K8b1m=uLK&d=Yf4QaV ziI5?$NIlI_PixfEboIoFaM($qBzh+>5pD4Tn;jPbz&^5L3aDIenBcAI$_U)4uKawb zbj6l)2pAM++e*GAYZGdR8Z0Szcr36NzWV;<3^Wdd%O;mq*`GG}q(gr|Etph^&3 z3@se&t0pq>($1HlQxX}=la-H`AaPEA#SP7M4`X6rgcM*EhRmY%`GWF1eHmVkw%zj~ zb8(Wa%y89$u~J%qL3m5I=iFY-$dM>*V>dmXigTaCe^gc*rfn_T!WTh%DA~{ZC?!kp zt*>a6WP_RulRl|1Leh2q-Y75PLC}WD2njH<&_vB4aE04iwcUeM)`o8UkHB4bRlY zs}E2YyOJHA9@iqt;T_lw8)e2^L3QaRYQdu9OF$rFg(>j$LP87POMjRc<&TGnr_Ojb z4;o!BLjvvsPK;9H^yT8rK&xAYT$2&9;nnD7Ke%`gL=2Z(Erl##C#JPL!J#p>lDaG>H3z4gX! z@AC{Qx0e>%KM0cj4Mp~MdMmQO6eN4dBGMzs*B<*=*;Wfl7*Fy-q>-NcKoHQ=mFDT; zLXy$XA^Rs{@2k)@cc{>o91hxc!v!?}7JY}3lC(uA&rWj~7^2bOX)!#NumR>}BwU_( zDt6kTI?@|dpkOP-t<ehQF?% z*d?KKoWFteNv4bi@QBAElC>+bDL;H$YC0QTDj#=R>3+W<9QPmhvf(yIgY<$ZFFyx$1# z@Im{e6|7W#sY2l{S*HrFHkj!;1nbw)tQ2cYinT`#qY1$xRPArBEp4J>3#R#|RmZU1 zB;Yz9WhSu9bU+4YGIe=WCflX~s7*qZs%^FEul0WY806Iv?Uq(BLeo&8)!)JILmcqG zfXeI60**$7oj=NaetC;62Vm7dP;}iqWuwaS;CFZhI`_H@lyLq;9%Y@NzUW(?<5O4* zgR%=sa8O>WsX<9Gj^t)YHU}jSM-83k4lls4ScYXl?u;nHE69(%MMh1ocy>x;){gfm zT;qrcRc2+H48)_HQ&|qe^x9eBZiiRB?Y3*EZ_Iibg$FSTcO#cyewIm%?)05l_bb)b zzz+s11OzhuyK`@GxTTI_`x3%*cp*B`^mo z+Q^3a!7i~oaunt($uZ|cpndwj2(;WSc*&ouMkU|X&S@ZXHE(i3XBm}Oq6Rf8Uq4mN zs=RW%iPmftpj2u*8S--;f)bsauQ=eAaRxKz*9&8*&RyRNXag_9z zDS^X1GO>96GQQ4@^x))Dt|CXbra3sS6i05yWS*M3x_0WD2*4WUV?*HkGUybnH_A?w zHT)Xw-&-+|=HrxyToOOc(+8vJUghO-dN*bxO?kPTwoR+^@T5h3-yqz}1zQ5g_He?& z8qauu20aNA$K7OaHpE*v(-Zw39$Ob1=sOO`dxIV0e!Tfxx>*+#U1Sh%vr!ui1P&tt zy~$lvx}E7~5{N!Xhw)sB9$|$=dIJ-ToRR!u7n!4Xe@*7-XX6#@pD5js!q*0fl!OE* zo=*sBaR44|p$4;pIP)R``ce$Wc{gn(#H~n0OoM-W5d*lH_M}Sk^XoZwb||=kZ`=hj zV5#&eRI1HF*^K-lV3$;kflm01#l5i~jN?~W&r>&qhsT14X>S+X4+8So^K!#^_})y# z!<`imv#iO(+Y*F_(`4|FhuH#n*ut&Z^-Rx#IH|Qe@MRjiaG*J0ehY}TeD7UNeiS<@ zGC$tjvS$1ky}5?`IDKCg{CMyE74hTNT2=7lw@%^5)891sadUm)$46CqEYpP_UqpHZ z{MhPj;m0Qmg&)6v!^)4ZgG1y)ObhEwXjYydTLVz=V~2)8ew_Hc@MB|@Wb)%%n-npB ze=UR`o1ju{FXU9k{0M=cU|W?EkL{I-H$uc;x`7PYRoUPNht}U0= ztC+T_8{j92O5KR(sExc;^-eeH?TC8Q-2ZX9x0IyR9zSu$7v@4GDYi?eO&wQUJ05Wz;vj?L*&?n9 za&==bc}f2y){AR5xq34BA->uI<=c&%%Aj6%vyP4F6sBPy!$nXAJqQU0B@$|JcyaOaVi_0f^jDb@Kzi3U;-ZCAqd*;UE*~ZL1Qxn=ah<2Se?+p{$j1Wo)Z6p`dFr@gd2dH+> ztOkPB%#ZqFe9R+O`(zenHY9Gf^dE>;pc1GZkas~hM*vZRROb>=GF7y}M&2r`D0!NW z!k>{uS}2zQmd8EAiyUro24s|^B;X8VcYk4iVJI*^uf??!e9={)?~AE=3yif=3HmnA zHqp0pRZY-G=YWB}dxi@7s2Bk+SzB^F-d;psB9;n8W+)cCxfUfiO!32725$X{Dvu*r z8_op%!+A*iA<+KlHSEpu|bQ_S@3j~U8c!~q3 zyTU+ZFbR^fb{Dm-UKOzFBXMzsl{~?V1=0$n6eTQQ9`>W+K5TRDzw3P6h*ax zxe}&;ooNafXhYG?4WGXR^}+o85GGIqJu+^WF4ke}OHMn{_tZBDkit3dv{xqUoKhD9 zv^WYlvll_6l`_+q0{|6uQrFY0-N=7RlFu<-+=QaE+T5eS{Jn}(qMHt|txn1q;GR&+ z!;g;+ zMis%-F2k~|({pK^OWbK^;$O^}&iPwTg)sn;9qYPHS#Okf3d|2~()-7-8t{;(W^Zje zATJ4E?#FN~P3yFqTLxygWPAGV(7oDA?SieP+E&-i=%<>20Xwct_*mz`fHn{HZy<k4`p;IPr5>2E;8W$WUogWw_DV7Vc7zkzrbCgOQjh)?9*n{oJW zks-fLQmi@<@&k&BUL%<0h^Awe9}tZZ6qG88da8p$Fn_2F71c+)OocfjGF*Ej58hx@3*(>%j{ z34F+d;@Ep!<8k3Nf!E@?38OZL#>=sc?}@jRAKzOhDx}?Hj_)98mg#xdl|&7%T{~(( z-kcbW^jKW6KqiA+QKmna0*-HxXZ~d%Q*f7o#|VS`TmZsBzWo%)fHSh$)6n=87~dkr z4l83XdydgjB1v)m7ZaqTww#wR62L{LA~+Ikz8COyM=c1h+O=wf<)YEII=00rbq&^2 zNVb>pO4d78l)9h});ciiGRv?(lwp6k$Idm-mN!#X9MfJJB)sE|Hm^sP)4dgH2OrgA zj-2K`q!oa!&iTjUW;TJJ3s!^gC$vGA7gt%4kvOw1o)E2dmP}K3@6NCtDC)iq|F_xB zh{9*4)0#HG!&|(&qCq@v-*(L3l<4SPnz;uLr5U#An|{R2Cft+`S1Hr*Fr$oRaWf4? zZvG%na#C$`w>x_m+j8z;M-LY#xJCm;$NW7eVM-+%8UxJ$9PcQ+hN756;P4i z01TK%>#N6Uc>}s*FLz9P2-NO43ZNdA%*t%5YFi}E!VF{ZR4Q>i2n`ik z>TDnoMt?O2t1BmmlxQIXYJ+~qXc3l9skeZ)`J=2pkK{*FEw8j)v zpIr3;?66nY;F)uYb`N0otnAez%V}`ggPyh$yN1HXL}DkDz;0>>&@W#+a2=hrvsADQ zyto|>m{0Lsfcss=wPDPoE+I{S*o}h`kd!;!`(rnjeHX3?3fU9joe+D-0`I96!#iWK z3Gbkq!aK`xlHk3rRfYI{Ymo`>gD=$(zr}-23cT*&AU%E>B$m}AD0?Ro>4;}5jPNU{pDvusn9`f4^ zd5v_=HPc`+ZrUA-FHRxs(rV)?Res%?RvVvq8K1Xa0XgYzP#cF<13mP>1SeRG0QB1R z(7>K41-^e{f{lqROQ1suxMjm|*AO_TI~@V^>~X2Z_9#r~H28f z_`;O9?_$BdbYI6k)0KK}2LMF9H|OhXr%iRum^OLx7#R482-h(#aq2WzB0SbuFJ7DI zx@G#fnTgCp)Wb1jU72HC(`Miap0wdpZ<;!7_S8i2q$S-jdE7bd72%B|;G_%N#5I9e z-(WG>zJ`Jt(L!WvKD5u0HU!s;vA|VXgcG?}hE*PJ`#dMZY8gruDmv=HNM+Bqaw|%@ zTBL*eTBeQfHx*wSA{EF$6%RKLHq1XE@;Sqqr%%G&4PGq9g4TDUK4K*KT~tO6{k@28M~r3 z8oo)-;^}04_wdzFV=Kr1`FoqF<+csB%p}zUZ#3v z-5P}{!?eVMunTpkkxZ*>NYJ-(u1{czulK@7uLOyB;9IIU~OlzoKy*PHjD%EATKhk> zj}e9%dm#(@CfIVX5O2L4=8LcNiutQ%XiVCEBSp2@WPU5lj!_dLYEL zxZjLbI(%3;%J{Uh;YD1IFycL8EO(x$97#dRoOiWIW;mdh*mBfNUh+O}F^|<>k}90;E9)UOIyDa-s&PwXpj;}A zs_oj;A+}H*vJdCaK!^N>{j|!>z>%iy_EB9R;J56Qr;O8<k_)c&_L6xO3f z!Gh_|itOuRk(P|fjHe8K>@!TtbIE(VJu$=KhLKB)b3v7=>1!!&3_*Chhu&TRvmtGbr^s( zfs35<_3THe=IG3xw$%eJipfA=f0S2+GQWV{hgkuKuRfRaq-Vn)3{Ob^IPM*gZy~%5 zqkybS#x_NS^S1+gQ>>D70m@9K_GyNKqdYNnB;8QsJ+nsEi2an`h% zIc%nDu$ir~751iKu$euJYuKAcY^InPRJ~bJaWl_mnMk{>rp>(24HD=Ey^RD*8@lK= zFxD^FMvI!ZF%WIQ3N1h@yI=}Js}ElSw*$TyO~+aX`56lwZY*xdXCwX11rA{)ZocFQ z;^s>rJ!*p(ceU}cwjm2R=d|xuF@G;b12TXA z6?;jlHHEKi`ktcZ?+67DasGY|(>Z_VV%MSn1gG$0WD38$7XZfWT;}3l1ZiU2z~F4& zj2$Qe`ht^rdPW@TYsoZ^Oy*^#UD;%QRZI;h^DhF)A(MGp*X1Yk7hfWid3FGCVAvfA z9S!kChk=@_R6d_4Jwm;&;q&>CSBFcsHBOOi|Ks_*FIuER1@rk|Zjlko`TVwji(shf zeEv|E(D{6OOMB(#^Etuxu0Fo@?ljud=kwd6D(hdEB|G9NOPcf%` zRVD^t3hzJQJq*B`_l3;o*XhaEAh~+;d2_wg8~fT{{LV(LdW7l2^JbYkx9&YPRP7gb z`kR&_!`J)Iu)rH;@!Xkd!h4mshVU*(I!W+O`!k5&FnD*kOn9HWyN2+7a@I+LcjF%w z!rLwg?-5T8;q7>`;62*{ZzZs-&=nV;x`Q5w`Q2|K6qCR@mt*C zB*FXkZxzDZI0)}PcMaifezM^0Wq~(Lp51V>iQk?zg*T)9Ny2a5(I9@q;C*$v3Gc$Z z8sc}=nI{R}okuE!w^k6|PZ!n@-a01>-T@YP!^YdtX(oQpswuozwmV7qU355z-!OQe zoNB^5dqEBH`)u2j1n;-MRtWE*DJHxnxiy6MaNtQ`Q+NlS zEO?*%C5YcJc<-BR;&*&b4e|TH87B$9hkmXQ-aR*&@UEU;LwNVL`8(lFy^&EzQi6qEkU~eaOTOTIK=$8<_4nRGLZnFjO`aq~Vt*UoDMYG% ze^XBvBK?j1-PNla{aq)8j%e3l_7u6lkN;F*f72(L{cSg|hW)*~_21p!13jzJ-?ydE z5pB|EMt?2yxjhGi<1bAyr{UkcVS+jSdS=&f{AINIJI9{|-t#Jk_to(xybJHBA-tD(H^TjylK+r|PfzhSWGyP+8-e$T2YyjQk7N%)=mV-UY#@IE=t zgm-pU4e|SI!byU6!w(h0d+0_J-jdsE2=Cz*ec z?*9$J{@+^D{x>@r{qI)Y{!2mhe@Ddr&)Xjl;|$?)5HUc*_pPxh>I37AJs=g;2KF(m zfss4Ep`cvra*dmDOaCc1Vq1Dw$J)skCH5PGBs?Wy1N-zD(_GWWPQw#6w`WY7k?5K* zaVDOyxqaM}aZ_F6ZcM}zHn(%v`@|{JC*uj5+xt(OGG)wE=Eapr0CF3eDwaS*SW{LJ zj7xGE^@w0$c`gc$U*2MOY@Lm9=z;p$d)2uDsw-V$&aA|aE_DVygA*MD0uUyqzMMy- zY3~%)fz)qy#T*0`kt1%22eBU2Vk2wU9@s295#n&afvsq{NRSUav3r2EYfW!P5Ro|T zz0w(2J}kD>e-rBGzSb|wW<+T(BRj}^=Ke9*pW*n=y|^6y|8vei2LBf-P$S}h`UfHS zAG|{F|Iw_<@ZbEcF#N|NAq4-6aDY7UpI#Duo zU)7}&{s$r~{Q1su#s8U=;s1f6F#P8tAq4+Tu{oanzcn2HH=%yv|M$rM$gT$dvu|w> zo!JBj4{2SSb2%On2tM>3!Qg{nnv8&@GTM7_Fk&o5X{DWY!tBKpzNHyDZp@8JFm)5b zG;G||nG{9;6~RQXbiu^iFu`=X0@XDnf?&D|QPD^kgq|&)`BaoHpE|!p{2k;GIP%-`AH4;MTp-mEcJOLRNsw@5_bsy1I zybXHXiR>!rF{(v4J<@uWqsOwOe+)hTI;&!O^nAyp$FtK-dencu3VMA0Mi@P|At8hw zBPI$x8f^-v$BJcYe4Mcj^f&~OS0z2Zf{73+uim_{96b_LCv7?Z|K-(`juq46IbcN} zAI+zk^tkQ0D(G>^x-fe5MnVWZO2-R5=4}k8#~D)h5$#^6aqR|VS4oe*u;(z89$k8r zqeotcf6Vy!s(r=uXaVC=r^kXRCO!PmR6&n*Yr^R9JQ70a(JMpf@e|}&sJyyY>OP_c zpw_h=$gYwe4RJPCC_NrUK+rJ#arDf83_a2ns1fz~!eWyihi@|JG4kmu=yCSyFnY8^ zLI^#U-6-@J^JX|b0#7MxXQe9+r556JRmPM4uDAvNX@s6r7?tgkN=@ZOdDL zjl=MN)H_dh)QNG$$ea_}@xb&gnEPec_YFfC6>3Ta7UDr`OF{qcMe;o;j$w1%n3~-; zCdT1SiOxL8n&XYgApF?7Gb%$HSDekjxICV%mTms|7^P|6uo9U-MFGehW;a(N7_+^!3Mk{`jjfI2|AHEDr zGlhs&%zfM3m`P?C1|ZNk!iT=Gt9XwVF#D#Lsr$>VEMw`v%D{$iISov`%`Zl=DVO3)&^jR8xf2xOY&rdr?i+-E;%t!d@fwDIs`m7; zDP{z7l3i=UbUlK(*!{JbzzF899dK89o4q>T2(6m8GAJG34B}=p zbCn8VoM8%LNe|D)ro(yHfbcg-_mnYA)u3Vmc1yc%aIb>XjJb7hlrSjyy z&md14&MYTSuJN3ZJgE&JjDcE_JXw99`toG#=xWK6*O&f%@?;xy8-t|>dTWR*H%lO-1yMnCr@sHZVQzspEN(I^5ov@E0!mo7et=K91fEwGnsCc zCpR#G^5mm!B2OBlQYBBcm%`-9>Z?Vb^Kp5vZtxYlWW^oAWvRJ{y#*X)HOh@ zV7`+KLPMSuV(3}epwZ$=<;kHk$df6P%E^;;cb(!Sh{&vHo-}5|{|tFDzJBHMWGM&@`y~E~5P5R*-IdCdp{0-~?~N%ZPfok_gyhL)8UK~r zC$qnU@jTqt#+P=128A5;-M5%dZJc`*?FCB-ACwC0~BLh2Ejlgtk==D~qrMMLbK3)4f zg_Ut#aPTtp9pgXXmM;DgxJ?HbJew)qGbIVTg;E2(*#Y+^T$Z^(!PwO{Ll`0=$*5A>!hB$r>04d~W6Hr^Iax^3 zk7u67io4$=7Q12VZrf;w!fP-u5eGLq#uBr%kZf^oy@91YH3Fa^M&!b_xMfN_|&JtI4ToReO4r5)^eLtzlQBIXu0&e)D~%k{A2=x;M6o zF!=t zM4iQrD!LhMxaG(pto|^TiB>0XVw7Xkl%hE2rf(C|YLCO&72^t1-)ulAa=&mjQc>oB zOYR|C8+%ACuXI;u1duXz_gVO~Xjy9BWpSzQ+4UUmpB$Tf-SB90fEqZ`W_ClT`;K_0 z`>F)zroD;Idd2DP*`O%{DGo|(Zy9a0GL)Ej>Cu!!U*-Fe3I4z^DC$OE3-)883?8wkbkHU*i~mTm^9FOp-QvthbW7{4SuebemRG>!O4?7z8HHE#V z^~sU_m|F%{upd*_{^~pk9fcfBT+xK**nnV+GEJB9{w}q%i;fnsDBLpJ1S5k;(zp0A^7hzPw~H_ zGW^$B6o&s_?+?R&PO9R62+J`3&(`@L(?6{ZvdiNiQaRT7RFp(e4n4k8ohO6*?*Lw9 z`CBW>cX&e2sO?OFhu#1AlwoSSL$UoR^ne_Dt-UwB6%U4IE{>1Y zv|;3A*Ll7&|}nyWY^ z0eU2tO+W?0oXCw+x1Df%6ipzAZ=k{)q8P|3(8f|xByXEf?yJG!{rLDfE(Qo zDvPqXkpF#8b@%in6S#W)zW@3Ed7hf?K3!Gk)Tyddr%s)&>LLWLYd~NP=%cQu<-UdU z{YK)@<>u}M%@7rLN!{HG#BV(04}hRDs0roJMQd^&gY(E@i-zn_joy9wQLdcOOq}^} zN?vFV_C%kMZrlM9uz4Z=(PM3Jc3{;)ba}(8D)6W$ zgbH2x;V0?3frY| zmVPz3)p08+v@qRk@Ui$-KsO^F+1)Pe->hf7IMP)jk0<%ZA!nj|bs>>~&;uY8McS-i zkE5d%FU!bFoJy`K&m>dn3=jHX2^FifkI#k(!nsblP*21663eQt$V~Tg@Ezm{KjbLD ztCc32zX_T_adVm$P9Am&KYNpznkOvtH%=CzyC2iz8orpMo{9!j zlgAtn+s|WKh3=laQK3_lpb(~6@Ens@a6*zqAfm??lZiTjq}8Ylfx~4=$mf>hxs^Dj zuFR{Y@H|I#-X*7QK^}aGj~&zHREg{5;nq}9JM}jX?5bDuC+vX^O}_#Ys&c5N3(+7` zC1W{Z0PK;8jyc0ITd8U}9Hdtr_+81yAB1Tgt~!HF!e5Se9te%DliQ-pE>#6dzTot> zH17Z#}VpeJg7K-QHHf=twn@LHnv?#wyUzQMxP9=jrdh>DA#*j2*$E$(pp$fq8gUyqkX&T zBR8{E>sQ>?(WMW&Tl$it+4#C3wf|VNx%fJHHLI!I&$KP1Waq+zCAMV6c*!nz3>1af zHxuwi{{li*s8mdH<3M4?{&68X=z)b3^NJZ-ijd+Hb%taUgFeoOzcg;UGLh#~Qu`Qy>oP_!^^^W5wO0ow>n0 zWEQbTAXeP`CH}ZZ@lU@!UVMBnoui%Y(Yj!BjdV}{nW?@`*@1U@d9*}zL^3|tnu%SD zzm)GErDA!wtsiHI?9=yD!{-+!9v|Ce1>2`;u@O8z zSh7E{Xk@4wLi#f{2m5r7T9~O^uE_D8Dqh*ZBS)%x%A80`bz@G<*PYIIYF2V08%FuTrvw(+<8OkCaO!V2^sN!{bIg>gsVb9=9T!Z-!9{ zDEU|`l1)05xg|7Yhe!(;P|UtYL8{MMJk@2i#2w`OX}Fw)Fa&{zAaH!eiCw@n1;vY& zJe)iOn2inuhLfl9zMHxq@LUu=p71gjKb(9G?q6*ste`L(Yh;(A$l>JCjPtgNa}n+% zT>-p|k=r^Vw^xxbBwP$vA`!y+f*(t`?4n@CKUcwzAiSL; z{)vF2E*`*W{S?AW2&)m^MEDBfM+92YDCK$}a7f8Rn20bLA&Br0!cv5{5x6h0rT<0i zb3tr<4ogK3et0?9B|A-r<#{2VUm?Xtwp6YFFMrkoo*D%fF(#R7bc_P0638kys2_V& zo(06Qo~2dKS2Gf;)c8CKyo^BBzd^rmGv;VJ=1WoFNCH{&#=}wIFam|{P!xC$fg~|f zWM?Va=3gB>QqChKv;^f0bvUQ>pKZ`*a_iugrNvy5UxikLI@!| zfUpE%HNtxc&iZEa4EJ5V%xq<2jpb!*Ujfi4@(`aubW1uou(NwvwG_oYq|Uu;4Z6Ij zke0C1nuFMq+6?oW%4=cycfiH)gL$={Eg0ceaK5wNH-zzdubG!KowGb@|BP|aIi+z7agFVSwJ z$$ybnoP1fM}w6pBNfPu*HjK28|C1$awxNNc)A!l!sBG(sjI$B?FGOZ9G|H@vl^J=c z%Cz~Oxvp2)5cr`>4)nOZ5VrZM9hxpMOvibxatz@m>&D6W9mVynu^m)#4G7H^ZWUB|8eltn;<5x+LK0<}UdT~r5X0$TxJjAxofz>4BJ=;sUd zTi%0yUYjWRqo?v(x-*9Tp&3RY`U~=Y{kMj^>-xP^q3>)})KA|FsG?Hexs2+f$~az$ zjkd^C?MOie=t=WtxTn@yqMK0Cd()Fa0FxC?u=;>wr!x>TQZCie5>K`JZ%J8 z-0K*meMw&Jl8h|(y){|xWk{xuE>vgDA{jcftQmUD^}>*xBni8d2e{4mqi~D&9I;^~ zQHG4-3fPM>0nvYbrv>IIFc<{a`#QsFfVuZZ9z6^4PEE)T{0>veW1y-gw*nhA^bHZaW06+aNq21!t>5@0nfel(;M*I=)@w2+h3Tct$1$|YHN>s zYUz8^a8n3=bKM(70_!&NPV-=qe-xI0!|(AibnnLs+7^&)a+^hBWzjsmvWgJ1scd|U zO(iHGw9M(Ky*hc_-s{m`-Z%^RFyd5tv=tjkgh#t)BWXZAfH$bHHQSQ&w4Bt8JS{IZ zJx^<&>cJDrzmiM_A=Bg{Q^Y*h9gcy?3+2Q3l)Erc97ypG_k@E&vxbzT$T(?3p?jqb zY1m%Lw7h6p9Z>>lHfE#j`&dixVyf`MmE5 zfQ(P^=ftsgf|Y_EBUXwOm4dp1@vjCcdS7j&nC3{)T&0-86g>XZiR1aP%^=!Y^wL3m zb=Z!Tsxs@w%ua5Q*%{Z^neCL;ceq~KLS^#;}@ayCS}y24^LT3mDzk| zR^A{p4(P|YKV=@!{n**JDd4sHOMdZN{i9W@kYyiSqY&hAjY4K3Zd32 zho3PD7za60IEuFyj8{$W4ZcC`D#4Ye(yU>c4Gq!^u^Zjpc%$V$OB1S{vW;1Orlg6< zi7oYVh0T9O!&Gjj@{f*;cSdi4;tB74ryPby5Vh%&!x1pr(D1EBB7%G*DA|XFt$q5W z^Q{#Sj=ql7Bq!DqwBA7Rv&p_fuA8P4}^ZgartnBJ_ZKrJnvO!Vd^s0>!sY^=~5_L|_qO=F|AT`XcN|^pTf# zsb4+eA-`eeBi%ipa>Nr(TgQtvE@#g>chq%Lu5|}50<>mmLV_XRBV(hiMNl3?klVZU zeV~@M^O2Ii?@9ODZ$3BQIA zoUkBqOXGJH<%cJ1%oEHg52`3Fj87P)>LTCNX%|fxKgHXpdA2q()iZC`6qL@>VvRdE zL&Z!qD$SVVXZR2mF+Hy^2_t&@j7(V0N6Vm`}Lxi&3K9 zxlI@qq#Oa=ZX?%3HFa9{jW^~kXix3?QS{w6m_Bkn1n<%#6Y%b>=)3jmT?*c{jhqMVHXW;8VlR{Cv{&E1 zfMfm8)XId&$%xcE!fa9^N8`U)~9}WL7t(A$vy<}Y~X6szyDJ;)L zUs!~;?+jM}_9DWM2<^}}1|rbr`XK`2?ZcHeRo>IiX3ZzKXYwqy^r@wkR39wapO(Fv z6Vn{`kp0;u^)21=*GcsxAA~A!{)E<5o`f~^+p@J`NwtY+*{;ygBsn?|3MnK395XfS z>VVxTl&+eKbw`Iz07Ik}=i= zNdr{ZTX+Fhi22qKxuv*okL#Vd96@B)+?4TZ*S`r< zr`%L9LpCSP#FnGnbM%@5@W+GgNN3I*e{DhL1jfX6q!$&;K+Jq@V~XuahxmQIX*c?> z#df4P1-aMc0@$Ha*;qhYI?uHveq1wotxe?IUp2MYahC&6&~Vxcl4Hqgd$IZy@H)Bz znE~3341n^nyh^qB(t&MRgIL&x(5^>|$5t)$PhPVPE$YlQY8Cg(PmtPExR?a5Hfh)kDlUWM;hM5+t|< z56bq$g6d`XNLxG@Od5UIo47H3Ly!%J$}i{08Yvl5beUp`_!`(uK|f&;UW6%u@n1xI zK7Waig8BRyo~>ou=WV7%9%27tyxC(gM*o9%S)es?rxmv(rc}m_;IDrAOxpEZVN5PW zSPdD&a18FhLO2Ka7vcHdfQT*S`kdNzRgvSy1j)Abv2z?lI@9UoGE*&V->ZI;9NxkNH>TA3qyn^VS{VGzASaPgWn+cJZ*qi zD?$!M$Y29AD5-&Yr8)9ANAf7btke-@rQqOeg`x-(%&{A5aI6CckPmMRxQycbLMSA}jk1XIFg~l-iG8$<-6oFe(HHuC=XT-pjXRixWX6~ANjN_~ z30FU4E*GJtkw0(0XY%I_WYdTQT{4N`k0N33Fq4FNNM>9epM)=%Wn(UU`(P{y=UXHU ziATbmrbt-3p`+r$K~%T#8UEr_#EkePOeP7GUM3f6H=0~n&1{^N(5@-;-TRpwm`n7S zPQ^ptGCukP4*)$amL__Sg+2?}uuaC0ut+kAQwcAO$W$Dl$|~w)91c9pEE`us2}z)V z(IXtQVu>-C8ibgC0N!h&vgLi<_J+-ULe zU5N#K&IxU8L0@x1_m;8DD8=mzHi#4E|TvC$3m_*!2lICD*9+iEmnnnf3>{z)bu0 zt(KX#on`zu`A)1)ypO^4e`$T9^N9i`%KaU1Bu1|aep$SQP zxb+Ex-%3H7{WGf)8@6NlA>8+wRN-`~T)^ps?~P>Uy=aW=UyU{p6qw;eoE zb@Kq<*hc*{;~x!T4gxC})9-I+%5M{y>?EZ^l#yS#cxNK*p~Pb3xhVd&kw+Vv*t;Y9hTX_vV$a>s zz{I{T*o2AwQ+TJunAkS}K;7)=8(?BDo-o5zemutPo6#K~MOcrp3!xLFLpDMwLM;OQ zT~0$NK)4Hmi?Uq3rJr8B@x8HqJXKa(#qvz=E>G2kQ+?xour@b*9o&b;O5>=Z;$3pxH8U7d;w=}0_vDGl zfHv%1Y}Zv6jxUk}E#kxoKCLoqY3NqeOJ`i?D?n77vtydOJ@eM={Fn&-xa^0R+Z71HrPNoAxIdn_z-+FPr}FMnnt#sT^c5T=o!`odt$XY`OHE5m=?p6kPPC?h%-(zZ67xviQ#3s z#s<0<0FHzHi#uW`<#`tRQyZeczA5xKpJ}4sfr1+w;+LLO#X)~v1N3jNGE2XN**Gmf z2~DBz3v39P<0aA9Z5m9T;cKuEpywM5v+u(jt%g%QFDjQtk1fOSvQ=zKaCaPXG zc$yR3$p&wBf}7dkM=^%knM7`~=x%{w%m#mGgQrBn_4-Ny!*KL8>_4_q>?sTSk`sEj z1??CudA&Zzf(D$>0t;$5p(8Emg;8$Q>-{b0Yfk8K7PNb`&{&_dpr<*Z`~0T)%fX;} zeVYZP9&DHGO$+*X6pHmhfx;+u3i3T4HnFb|u0iRyA&f&Awjf*u`Ud0uN`(GMZGBI8 zID6Pf=p6K!aRezpaohngr;Ip5}2ymd)hqP1i>q-X)j5jgb zE1R5hkXCNPmq}r4x8V!;7`oSsOIg^1f8{oeV*{eoC*TOc&w+3Coqag9eK5%#yj`-- z4H#bDH07vEdyP2iP7Xx9bo1xIe>Q|?_~+)|?a}C*%P%%9&s?d%vmSNYz}%$)^7F6q z&ShCpY~@D2bPS&IOgD1%p=VwwOwZjs zUOOqa)fWf!ixHdid7_Cr>qeYXXgV@BJ_f{Wx>Bb{_gCf$cknh0W;8nuO{zkFgL5m! zbZ5*jG2vB46*vl7F>wd2sX@#PxSFY$r$=KVj#^)K=6QNQD`rwOCR8<-aRATGm`_OC zqf_xGpw6TdjSt^XshD;vJ^2hVO$D$HM@t{nqJ?N-D{w8x^<`Yq8gUR!h|Z$(5;W2z{sjh#1#2d-z>yZE7r&%JMN)+&4t6O+<1mlv@g3D<*=?!o+}NL;oRVA#k9(9u`w+Ev5IUf-N@oAfB`EXG6Z4g{SS{FDkrz zX2o2{ak<*Y_S)>av+3Y(5odXWK&Cv5ynb^=$t0=`o;wR};$@e@pm^%Y8Lk_l^JGESxgOyjgjEPSLOaN| zVgw!GB1qaf2(Kf2gD?tm@l^!NUeefpc!YcYNa^2c3wdc|KSXO+_CqBF`o49uZMC{| zjF{C*DehoE3Qe)!3^L!Gs@_bSZNE8Ay$ODbMo;sSk*1>D5Y5(QCRWb;eNT!e{uZpD z9q(b4xV5p7UFT5Fw>}j!(Rk8~c_@n?J#|%XOj&jflX_py&%raxmrvrjSPi#MVPgtDMKk0kE{VW|5(gR*CBq) z?D=dA-}DY@Fmrd>6;5UpacGNU7&&%Wz-2rQy&?{A=fo%OwNR|F@L?RFEX2KqY#O<- zye^rtn{Mqzvs-eH!FJ(Zrm3H-q;i$6zMBzPIWk<(mLBuqTYBq15e zjIY4(I9#|UJ_#q21o7onRkRSt77G_@kWC{Jbjc(R7uIB&Bv5lS#>FRLFSBgSg%|v> zBy_Myz=~gE66Q2T!s&}l+hslEihT4GhYNSaC!rrnaM&*YhJ%QO3)RT05f|DtMZ$pg zCKqlY376w94hdc2lThsg2@dyvQsY zSH$@w!C~mS6GtWs7hYvH&b|m$ooqQ&cRj_XFiv-MFAPxAirO)^!RH>R{KII&^l`Z~ z)?sdsQ0%l{{&}x4|5}GNZPLU>*0j+8DQntEP$W!a%yxaS4SwDUKG6mr1y#e2oo<8Y zJHZDa?^WJ=oZv5Q@YRsrb|!DyU~UIsgI~76TnRG4_4-2shJEZMryXm)1+8{Mr(4h- z(X!O*S6I+{ozPqh+AK%S{4v9p!DW8 zq5JeT0)@?MAE0xg^Bs-SJc4j6C|!im1NfdnI34dB`D2gfh&FEr6%O@TN%Z^l|Eu<{ zE6NXR@1lxUWBPx6^%y!$hacpEng82kteL-v4b#SOVj=8ZD=<|2FWI{~W;AK|G8H7_UM+|5n7#%q`2WWARX)LC`kI1HdN|Y9yH6?8*L>_!Yj%LI zw@L^2UM{Hqw?@Zy0L(luL+r+;udPmDbQ3Z*-T}l}z1>c*s+ZnPrb!8RF5?RPBWA#| zbnL_Utqh-q7~wEb1&p35N`)0=-LY0?ZKIi?g{bX;oM?Zs(Qe0U6D_)l%lI09&Y0=P zTY0XG#zbRv862FQF>lYbVsb8H<|!tt@&+;AGGqED+w*zan<6(jv+LMR>@BeDoQGK0 ziQ=%99U77%Cpz=^yTy>w2gxdBPfM+0r)_NB_(xh(<_$+J^hS3ytw5CE$nr0+d{l`| z>UzwCK)hYy-*z`qaWmV$1dSL?5)~S|(e#AXkR~AiHNa9~e2S4BH)Y2A>gKN~9@?wR z;3jCq5M$mE^Vf8|X<*(FTOYpNg3ZNY-ubCj<4)!}I!QB{WmpPQ}<}x$R)M-uIZnzjv z%YzYh?P}U~^A%bUBBvNFkgBmc=2M@t-Fzii+jg@VsTxOq$Bg_@Oypodp-48K#0^+~ z;k7pFf6EcKFB)oE%YIH#94wTwD6)U=57 zgqF2`-(zYzW*TZXUSJz)+94A5AH{#7IB_*=Y@8`9Uy3%l5?$OGsKj&60Kx{KozlN? z8G;pu`%eyYq$x1(@5VJ|{Z@TnsQkPB8~aR;LQME56-@ig1NWN~zQ5c)bK9ALKWd*j zYF4a$<{*w7mf7fA7)l$>$(yv#oR|9N?K3S4z#k6WCV%EwB>XY^%(@nT-ad23M3CUH z&+K1la-jzG)`$yD+Go1C|Ga&sZ37bg772gMK6BMQf8IW`a00mCu+Qwqsln0~{+NBH zRnnig&t#GWnPw!KW3lV+#yp@{wM4+PhSHP9QK(V|1i1mm)mEi-X4JLb=YUJ zcMGcj75mJ;UvSuG>Mm?#pIHh}9Q(|}HaNyUGv5Zs*k`8M;28VNWi~j*J~PAy$Jl31 zvB5F+nf5j~#y;~qh7kGiEyg~x-Gav0XWp}*G4`3)ENF~w_L2IHCOt1O%4wxgpmXCk(v@(?Jfww4yhpt%=w zjyML*9ao{la7$rRe!up2v%@Sy{1}7gTarN>duqR@+N%CK8!?QlnXa)v@Dq}{(elR_ zqVEtzKhQ#dHnVZsQ<-^#r4O~bu)d`!v3>KgZ{$!=rf4ET@?MwznP`4Vm40n zJ(@y)e=AF168-r2=w0#AmyZQ{P9RL?54OKp>sF$l5Fh=O@zK9}MQrJ_Ec62!qCcZ4^lw{D zuO9P!gC9u7DSgZM=-Z8oMbGn)Wx!m)Y@DUv3VPx)|BFPE`P|RmD2R`qzA$k*-ussW zy<@x{Vxb?@5IqjDiI2W(*Gxq*oz;zRVHAl|`oj3=uOfO!-LJjNEImIBjVb+mO))=^ zVWPhcNsMdbqdy4J;*`GjGN5;;3ON?~a~q=nP%?-kcBWg*=e9%!)w(#Pe>Oh)>xo_* z0F|cl26(KLC1&HS``emAzxyb&^rc8*To)hxT*Q<1GCbU~Sx%|C1$lZbuU1hWO~4*azikqNh2< zlzJWuJ(cAc^mjIe-fy9APV_r4(~eX6iITdJ)ce<^K<^N`>v3+el%5-A#h_QK;&GbZ zS$CRxdKr=!O?)Mw_6});z7NqmTK@SKdhUl2gTBd`%Dyd~6~#0$H1(B0HJVbKj<@C# zpm&UTZ)#@gYfvFE=>H)Z#3{YUD*YWu689^C>G5%2O5E+E6+cqp_K%3c%TH?Jwz-X( z`bywPj|M-HzSAepRy$khPeJ47`78EeIlt=rBMQd;u~y{v`yFIN zhFLTZh=S|&4+RXG3!~8O`YJneI0~-UpRyuXMWNgEyY0wZqTqUcwiUT0mJm%IZPzE- zk$XqM^?JS)`N}ACyMDGExx@+1w84=m80Udmc^nyCeci6_$+gNoC*&JncKt>>vSS~VdVRDNncooDOgh(& z9E^hN^&VE_$|!WZ-p-D^DGG*PUXD2fa?Dh=>)!|zdt4bO!LVz$+;^P!# zd=23ou<;cHek!vZp%3zpu`kPcM=r=J?Cyy*tsbz|asRT+oJ3clI>655>x!=idf^3~ zItzL9kvgu3spPl=_wpe3KXos!n|I(Y0OuYTzPld)CBLK;K^mmhGJ9(uex8d|=ZdTd z-#rcX!jfN-ijGGV8bV^ClqW>)D>*RHKZ)@tx*~VZJMc5&_{Z@1=LF+spnE`$4; z@pc20T=VvAmodh?eFsk6=I!4S44z%YxPMPD&NgrFNia^uZDA<)2l&PRfKMaH1nhIR zqnKwisFH`%-nx)yEvciQtuv|9UQs~$8YAW?NtgDd0+Ij##X%ltpDW-b1)Qd01{83X z0O89WPManWx^%>+s0qpL(jt&3N33 z(j58KV=T>nFdci)(;HQW`C9o91acpr0juNaYUL{!d5JSK5nZ1-7>7XB!}42LJ_OHU zgoOy7n1TDxJ%@n(XzN!YJcO_qfoBuN``%so=Vh9Q19F>n?l0KCZf3SuJJM5M?b-LS zceU#Tb!b*JgL3yWUo)JYaq!rpF<$rM`)2m=hLA4oOGsd%l7k8U&v~RD^ePw5$Eag7 zKI!zSuE?cKKIq-htY8dJfa7qVl7n;HL9T~p9~{xk zUCM9E6%v*74l}8b&h;DF9V!#7y+kvuacwPkj+d`tP^2Mn)hJkRmn&Kt_&-|ZImbPp zi-1z5u8qp{G0TJ&3kL)?lahnyxPwnIIttGso`3^DL`C9Oq}d0DVVkZf`kpps2foar zfr9I-M!1B3#AWgCKp)h6dt}Tt12_t}aa(e**e^+Q$|itm#;>Sm(#Q#mQDQ!1@Zl!& z0ka%v;f`pLN38XLz`4McmXGNkny8l-cg`A|-a#h_G*=u2c0wl3eRFrsQRfkPtn=r1 zf`Vs4>pMIN@6~Vfgr{LQ$_}lO-XL$x=LF6op=ctbTK!fYrp!$&R{>yfZP|>qWh72| zI^BHOj0bb-RjUuTl4yv{t!V|zYDQs^m}?Ie#djlj&XCtnGCORCFAo)b7;HY=&xhXT z!?J7a<$+rLOCB_gZTn9^mSc^39-_C1q@O}unBxhq6)Kkh6P^u)`fQ2H=!}qsKoLiw zau>pb2>(J@hVU6ejJ)T5&e+{CqjB#WYPXemz0c8pjxD<85dCkX+5a}OasKOM^uO`a z|G?p5!1n5ker5mL=)>#+m29-{n28c9w{jPgHwyFS{iL9jYGvFC8SHO!YI({&!0=B~$7X z{Oo@l9sLi{gWGJmklay-w>HB>k^fPT^>#Y6UklcwdkjWgW+C0H7Gqb3-)a5DO5E6uMX^FaA1GpL=q%I-fqFB?jk_5whxG?83A%?H+CV;0BC9fL4h~ea~)K91UvU!CtYwu z@Mj=OVuU-0yCVJY-z>sU7?LBWV&LffDOS5#J#yOOM>w8G-*Se%;N2SWQe>$c9mN{1 zQ*qidWEyo89+dJs0#(+vW>|nLzbEim<4q9^qUyZUzF&U_O-eiS9TC>^J56z(mlyp$ zxnu|Q6CNhy(auYS4pxAXga} z+1m={q`=wo1X+?YcktbU>`nWG+5`c!8`F`XXg_*Ju$o77``p;gvIo_kvF1s+CB;=P zoNgP&;SAxvCt0LJLb~*>HA1@ot^8oUM9D;yR4WSQtNz;?D$2idgWvm(!Rs9!v+y#c zgg(|!{!GP~&+&uPlH59vmSOL{ImXjq_f6vpRHHp38+f)keY*pdZBGnO5Gbc_l%{rM zw-ve4iVTaGe&8%~IqzPy9o0T~exeVAzM6?Lj5Ufn+U)`7l6gvAKjCD}dyF1$rg z-pGqJ6>=|cGw;B46EUmt)np|!t8uy360~c=WUL)6yQEpk?umshHux{a%S67MH`sUc zv;v=h-rz$2lnK7#d4ngSuldi$`xL%^r2zYf_i2NqNhP~yAmuT5lO%5-9{hN-{F0=3 zyKnTNLvQe%f{3S$0JvB7xF&0Ch~QQP5#eo5}NZZvT~W%Wb>N9 zYhihR@Qo*AT!#=scpRY)AkIAlgzvgTc=S(dTb^)H zR$lnLF?r#;%J7&MzBDy2eD$=v(AfQ+kUEb$oVIoor!@Hie1%;G-hQYa%W=>VKEh7> zMm<*Gj3P{!==N7!1@IS}B~dkwFRH`ikLnSl!RXC+bbTyuw|a0c91`gOr76%(Pi<0n zEER#YzE2Ee!%RB@Y4gHD&8ys2KU>cIqgptzlg3MeXS$oo76=KBDq#-i{1N z5}cx$PGx2UrAi3rJ7e6`3XxMmomb20-UEWIf;atev)HR$**!g9yRmy_K6>!k?y`KO zLdkOOl#;E&6L9~iKYq)udJqLM;?I!1-19;|=&RCkf(hqh*(L~+=P&X?-|265!Q+E3@TGQ;+6{SK#Qy`iH)*d@J+s@KQz+lky(VB9B&F z>4E$?0&%OjEqzPr@A|PI2q`!azzLQKtrR=G^{u=6TTle+r~aPo@?uYWL}5%Tinn$c zH<4jMTf(&$TIv`tRZ<1xO+(4o}{Z8=_+s7J~vbK z4()L-yS*h5p+CZQZmLP3x6Tu~w;xon`mKevC8>zv!r^KqE}^MpCmzu$TIOM1#$8PbRsRHJ^fa!> z=owx@qbq7kc;|XCq4(b0-qpw_fTum~^b)Fld)#ev%lWWS0ksNs{reNR;-pag^X!RK z^O|m6Gt6tIdF^3ddzsgMyp|nNHar2wo2;_pP5yrF(>rwN7{GxQx%Uw1I{f7?blanc%&a zEV^)xVhdFz>ESJBtQqh>6 z#wAZfQ_yahm7_@`&|V^0#wjGU$LnC{=m+)DCdQXK1VF}^w3SBT>%3IcEDWk9DezT}n>E?i|+v zyj?}xk$dPakc3aFS&+=v6Zl`#42f%bSDjeszIA9b_p;(mIXM1>l&+H|R{9VmN>zQMcjoK|_EZ#i(aLy7XV*8;$n7w&s*@HrQ#_rLr@4F+z1ql0 zkc0{D1=!sMsl%ygDtVzr`%zF2w(h}GO|UKg74>X)O5%U+GpX+i>X~hLDbu{l7?k=) zWKilSKlkM06i?$o*CYscMgf03nv%_>S?ihBH4&pp`N%&7oHZXrvq{cCkQZH&ZkhY z43|7@&Ny_UNzjtA>)UtdyeO5rLYh~*Sf)Yxo|!1QHq#>q+jz7&S!$g9Ou!;I!O&EH zYfo4zU*Gc+$67^jC`d~Uo`hi29`&rt=1>RpCPClq2!Bmsu0uz{vjdB|q z9W9<{sUDSFaxqt5G<8yIC@9(=+KS3-oQl~?Jxx+iLUkxORi1Lu(1=K$03$ zCG{k^U`0ng2?iiiPoq@UqtufSs3`(LCxKWq!X-O!FvA@jgK?^+gdPGA5HIcI1-p&m zH58GK^F&T0bzjZlQ+2f&)6K4S9C`pX=USzm)MklZg9D+`+2?{ptF#(?gN{5`rjn}K zAigT2%!51#HjmzNMTbyGC1B%Vtgt0n*w$m-?G3%r0Gmg!p#WJKY}L%$8_I>e3Q}_5 z7SomBeim5^Q+jwq`P~4;A%=3uEtJq)s9i0Dz$L7Dg+E%_(rKI?tfLXNRGf4$@gl3d zwK?6TyxBE5-P2LLMP*2h{F1u67x3^NQ);2y#LM+8xhzS?r6!nxe+VRzKzd+PXW>sY z0unO@SVY=I`NJ|9AaWZ{o;z2mygh6_eKyssl}$;iRy4uk4V?#J9VAlRLSCDEIS(Q` zmMa31h!VeTG{y`4h&tC<21U|%{fYVR(Y=K_I1a?7mN6YiVx;bX4smvM0K zw;uM*%y&)5`^@+R-DS4*_rJaU?A`&&#hOt2$%de^S9SVvlMHf&sh?qt9 zP){O)!^tX@>UPkP-HlP51iDP&8nD#*NkDz*uk0$!whs$jXiZv2hc&Bjxzr)nrp zO2h$Z*MSWX{~d}>^MsS(ZpAb4D&=%3PgttJqhU3KBG{w#Q?hm%@MuBq%ddrt@o#gE zy$FTwq3E0?y%H7zEMN;Hw+tFMJDe?{`Ji9$W3tsDvt{a>{c>{PHEC?VPUft^PQkvX zcSVZavI2adxI)WcogK^F#i0Z*6V{8#M3=30i&tT_6)(0pmFi@I!yW z%3%rTEqNgwlS9sB9Fs%Qef1@n5>riV)mrIk&E=Xt8d|Z^(|&2i7fwCR0|<1c3*<$7 zJ?-D}E=EsVZR%+UEIn=2xgZ|L74FOqyd!!VwEwG;A3;hz!zAh^V(O8$simc-eU7`P zbi?scod1EI_DhZn%GqJ`w3?`%2D5kZrWmE{_8Z_6fhp&GFF)p5-HH_vs?l$00Sm+3 zV7WK+I|lf19&P9(<2pD^pp{Wl823us5vjq}*4CqmAW<#u;0$*D9j75Bx_W}9)urB_y~)bNioFSfhX|gA`&wN#6(W8;$_9eyGF%3 zg7JnS9#8Pgt*ep#&UY0<0Z6${zJ;w_xv(lohKEIL* zmVOFeG#^)$y;PcOa>_MX1_+h8mcTctj2Mw%Y-_w+o%^|-$UVL9&KKuF$MU*8eoOz?aNLOJdqL*RLf zmm_S0&(s|FQ7vo`2(#e4GM+Pz^`6)7%{-hi-dpypChWm&iX4M$Dj2WdaIFlkzC+l9 zv)(?GJ^1opr#G|*U#cs6a4p1_e!r`s{m*F+W~;UA!JVY{aD)ClZ3@i6lQ-sT#Xa)1 zf_@mnFTP1pj*;A)>Ap~Css%?P9n{sN-dESUE*aB{?XU_9t=NGdEgeoIat){D3=#ux z5A+%sc&oCjxB`Sj5%WS{>OWs4=G|!=+LgnaWr_7@u<)Da-D*m3)4V&B*uyKgQoRW; zWkM?j#74eL%)1-){Oz`Rmocp<4)bo}TQTO{nxU3ymz;5o-j->1_y7@yJKnU!`{lpW zvt!T%1^f1~!d=^NGl&LfGPV@S06 zhq<4dYI^=+^{th;3V}77PJcF7$q#Jc8 zLAzBA?Ui({itnbcr&feBO|ON2#7f!;;FyzLe{uJW5_wAZC*eTtJiOZo8Hhf^D01Mk zJ_z-MHHWyCk$w8d*RZE8Wh(1@X1x_sz@j{F9Vuonkt4TJEB4T3SyuMx_r*#7CRo5h z|M(=Qa5C3lMLr2XDp+I_~wEmvj$SIbeL|}&r|Nk94Rih z*->2HMtA|!zKr2;94Qx11FR-B&4%~K3mZ7-Ti@{@zA%Ag9)=0`#7#{W91CqH+J&Wm z$ZBGy>Jx#%&HVjgA54X2ivye2`?A4_1pf%nAWm6k41lo3VxxEf)S-=|?QcYRe$*NeJGgVULi2N%zJ&bqL)*P;wkJVS+%Q!nkC;tZKO3&5 z<>C!mE`oO`7OcMHZMFk(_8#P^iV!2A3Ak0DrYV4K-4w|N7C9pb;SMXuam!q`Xk~UU{KgdZBi)b`PH}F5x@M zK(9-b!Ecqp9lQ*=gM3d(4dAqT!waXN8l~~~j9@z)HHsE`s5c;g#k3ArVKluEsT|RL zLp=R=`o>`Ce`GByu)`Q$wBmC8pJ_3bh(_WY=w0)*$_tC#uyyNe$0ElQ@)l25BW2<-Q8t5*>Ij8~7$ccCn zIgyQ9ZrH2L;9=-cyfWB2WJ>D%Z%4f^&|%s!m_ zj~i5{MngxM?fTDGL_75zfQh2UYHhvK?9{Kl5$)7P^;1N?IXgAKfpc_f%O51RKaaSe zVSnbbaxBwkgB02ISS>jpsy`pC_iVdFbD6@HasJjVYMX1d0PL|5#L5!93}=(XL#+Iog$T%DTf^9JdD#ZPbH{ zNP*phBgdovmRT*i4O_CZ&WyW!SH1M82)@O)d#*s}i!zwqcO<%R`C93|_wmB+ySYW9 z?%PLlG`nsp@{M$B&~^28)6r|&H|VwcZ_^wdc5bEWuqEqeIeM$vAK7F3JJ3Ws>Ty<& zJs2E8>0im|i5zB}U3 z{k49K>aUMrDAs2nzlQyF-VPmYNxCc!-$*IT-82y6*+YbBc9+eN+LRAWuttsXcu6K9 zYP+&@-0Dy5k}ez2-@y&se(EqB7Zzd!Tg88L+1+Y5-kHxK?-gW!emLo8TresP450gN zx;A!9J`04Ks|mq!M6<`_{2gZZ{cVkO-__(=)vxTnXxO#QnWv1&U17@3hwl^QmpAm8 zN4p}!Q%~PfPsy+5c-B>L6?BP_Q4~ zg~9_FF(l{aU~sL>8!&mXA2X0*FyIG0f5VYb2msXzDu#!1mVguCG0ZZQw=NU+qs)8E zeq~{ea8Rqh$kHTJZ|LH6AiDKBZ~Yq(j+G8xx=V}6+!!W8r9qj%J-BItw{?+mFv_tM z5DgU`ZEPj#Im)qeyS{s{z7H1I@)}wcCK>qj6{*&2g<^bWK&cWNMx(cCW2;#^ks_%k zRI~}85SV~fCk|s+tK!&&3ZF&v(8n-Y>HF0x5mq~R(d6tFy+<QzA<$o<<~yy8>%{{H>!@vW%?`M zW0o$6u>a=Kpd)g=zDQu`V1PR@Kt8_hYwHbPE&02Vzc;ic@*NoG>(Gd4TQ3s19MJb& z-vX7DTOH_^OZw-@Lq0k__re_c(=q7;-{<;!IG zdV0nZaL<6}pmL#A`_1}I%e(yrMMf0-1pK{vs77AOTVsYd=3oFx**P;VO6hvoJ$6OODxo^2J zs(8^0&6eDM$9d*5n;No0BzLWhcRx3l+=Y;XrsQrkp(-qo)xX|3&+gANF?m+v`!r+_ ztAg#j0Mh$NfbA*OVknlCklri|s~*yOG^BTQN(GUvrc}pbN=1vcs9)%P6*8^591zHa zI-?72pnvfUD@g5PT$~k{1@Av$xzfiDIp3lzu_|boHvubo%a-24Y&B7lQPs_rjYxZl z@+RB8yg5F9{SXWB=QS(K{RsM16{ca8G7Vd-`__x@RwX^loQ8$2?3J2R=Ihnky*&TJ z!cbnXG<;z7QCVIuH^#0iH8*1dn;BP|nw`ZAcknb48P)8vffdfVdpS`kUL2i{-9AcW zXr1sYbgfgAp;-P+dhlAvv)M}PTa3X21Bl{m>64W1Q2eqWOaJ+b$kGa4)MQitOjLDS zmQo&fYcP${Q-M9wDnHaSpQuC7e%a1ZTMBmz;I;+eo!IPJ2|)HNhX91?#muuCWFEl> zN;Q#Fr1zlb@PV_oCirmcNK?YxTPPByE-GQJWw#dz(`gCB${3LX2N&TM`kxMA@H+my zq0fSiN7#iLsTN}|iG`ur38;Wm-^K9$ahW1J2!~uw-wJvki~7tqOrWAC~0V-qNjypzN^}SxDlHAlQaosf)-_X z`Iin8^e1?*%~Va9pgBv7Doy&BSXpxyo708x#SAA~Ex-@uQSSIN8I~vQno~Ep8 zq%p{_W5)R!&X<8HnvX7bkkz@{oi3iEyYcNoS&p(!V?1^mr3;m` zqTyML#z>M|hWJUnazYcEG)-UF$gnknq}u8aCcd_5`mD%JP}IgqQQ}&tXP$?S)ue@b zNu>yyWxUYD_4D4CI;Ny*WTEcH9OGN4Pq+%gCBB8a6<*oGWWht0Fd-uwYd?S9LR~sc zG@pg~17iiBY4gIi0&6kUY|*e;PLQF!QI} z%m0)4)1}XfR2j#MIe&U^cT9_+U}-desv82q()9dk{bddbl6M~^2n|U86Z5CRphWbD z(ZC7e9e4ip@goo*YW}opA#U^a`Jb}?nDeIvxcM{o^M8(tl_GnyqLZf>`*|7;@fIu0il;@2tfmB>^>s{}!06x(y8k2l z`G~XZ`4c|Iw+t|!${Z@je(ncB##-kjs^ZVu&$FORG_apPKqcb<{ygD_GN>mgzYp$L z6rDeL!uN8fU(D#Dq_p;#` z*<~X$=&&I61@&2%H*_gM9^H_E+6_^pxZth$k5qtTR==x@p_VW7&i>&&y_VSmW5*f9E7jufW|NEHs zcnEv>JEP3@*U(;m{AkF>L)go|83YlRY0tj!l|zHsSJYnq$;A$FH})P&+_B?36edi8 zs!eOSOc9=V>~Qw--PC*jn7w?0GXrz#J?Z$7i+P%=66Mzw3pZSHp|zfz5Fzi zz!~FPm>KDhAit=t7}s9D8P(*)bQ$|dSOzW_8|vJ_NBBa^!Uje7EHf0Q*#$;(c2uu6 z1|Mz8(iW}NF%0*R z*bSF4Z(q_t24{zkUY8s4t;5Gbx2ywK^A}nxmzktUyO;S81TU(K*TJ{TTDr9O;x2uY z^`n+9O@_FG2V-O}Y~G8-8c6GaF$9cK8=|GfRJioVCbTI*(R=l)x;5O48nx9%4&27OyU$iR0^QQ|Ir zo%A+Z4PAjqYI{CeuNHbs`5gnMJLAa9kl4RqDx5~f^xx<%eUTZ3`+oAM2==dd(N?mN z=v^^gY0!dchMMFJV-J$-Rq@J$`65?FeL31tRh%DCoSK=sN9)7lY{f#4S)6t(&PEgm z<_dI#T2MhcRB!Dt65~N0w=o(3H$bkPuD0!SAD@kc-7x@23AEAZU_&?_uy`C3IkThxIhzjSPbHkb8#?_LTPyt`p{N$ht7q9|!ai1VaC4tKdCs>!!c`{zYa5{23 zH-l9hexmOE=SQxA8(_Bzk*Ql)g5r-=jGDxR?7+b8iT?if&;wrxsIaQ5EbEKPI6=0V zD@$Z6>TK54K01mnxWt*q55w8y z;9gvt!WxS7FeB2#_;P1NKaepZR`)UJ!0wGA@4AD!RwF0lPXxSA-$0Gxp|_pIxBSbc z{20~giHNr6$Jd}k(TlM0tTr@NDeYoi=l-7^&TtfO$|gmI?FcAoWoa4Cw%Q!CIXu;e z6;2xSZ5q=pN9e$SM1NPyfwD_9(F`PFgKsBF&=$R&S&n8b$G_jgfN$-W>Rj*V=d7Z? zh~$9^1DTEwyZq(uQV+)GlKsi<;Bt=Nq1=E&ouThP20eZO2Po8;pspbNN(LXk)#iSv zx{z!Zj1iVG^`38ycU2~Ya_`IwPp+yJ0mxXjA{lvC2q*g=5qm#lx6KeKh_74l&G);c zf&PKv_TD`0<&Bd-w?}($<1}3Jv?n&s;`5qq$ykCNh$^@^H35E63whImJK69CU$%{2 z?9p;kL2mBza1Bp!m(D`A0U6sqAQK@ZMK5k+4rT#i11+X`s zJ9s-j700%xuYmQ5H(h|0HKMDL|CE6sG6J_VlQxfrSz*|JpC?4;tdS@ZowG(l3Aq%6 zaHXwH8I=>bx3)tmj3um1ZMlGo_h(&(x#?Ail^|RWvLe(oO#^o;MuARn1;P&3!JMk^brEyWu z0rXFyPI(tQc;|9yL$MUhEX(}>O-l`cNpp{kT_uuDh zpC9I0Rl#B`wKhlN2zCRe-l*fgugb8~;e&YPD_!p{oq;QT_wuzOe1hOGpyLyL z_&a*wFyO6!M}N3GR!rd#Wr)ikb^rcm!sy_>;dE$x#{%5D+G>fVci~e$shZN`K}JCI z88n)k@KB1*KNnZ5$xt;1bT_&S%G(kJMcKakCoY=WAFQj)VC*u9us422^fHsx=Otig z8?;-~$1ltY0`|Z`s}8nMw-jaRxJ4aQS#^*KFJ{@rasv8&bt9&kHKw=CZ2{@ldp(&5 zcb|YTup>%la3kG@?adF*<3U-i=D1d+gYmkLHFh6J&F}w{uTzdzumXz`S#ShkMW2_+ znzsGSjW)<{m3+Y-9yBN&`&(bZGP2+Qr+rox51sa{H|e1bDOCC}$YA-5BaoSVy#fOJ z&b--W{Em*ZiXU4NKy*6*uvrSVW8_JVSlTi88W`gGT{W@anMnjR*e{jJQ(=j1-FhA;?S_DIhQHk%IDan2Z$1f_iRxU44!kCXR6q6VIH2VFJ5FZReQrFk+}N zf_n-dYK-7~{g00kKg`1zQHiWEMx22z*?5eoK*<|6U3aMt=pSltQeS9pD{(vp8<~j9 z{1u@v9ZHs0Bb zN|)uoQkMV03kjj{ILI4!=}E*cU+{+q^=NL%g)2XWT$qO*fXe>>j>MT-m^AYY=4H8e z0?@DR@Ct z3XX{*1xMDH!Z-Lh_#sjd9+R)+ho29C`IaOcH!#KDay0~-%jmFQFtfqfn8yS2b&W7j zk7Aw`2lKz*urQw_n1Ar~z>qq>T!z$gUNHIC_)$!)%WxVwU8ImEjTQ=brYBJt5!(`T zLgVd5Xbq3M2eoh+pP>MT#-beLpL{*|6YqY+AB+cRK4wF8m;L~dDbn=ZVhF0w0nl4j zW1o^WxQkq4aOp`lQIri%jA!`xB>x`8UxVB#0J3u1cMEdkx0w3M)nc=t#-(2X0xcCR zGDm+*y^0aIVV3d`5xyrI=NYbYC`KL+tl zXg-%gT>Km1ChVPI+h@%0araA2&^}%lom?(-mu`Z1k;&ySj@UTZ#xc3%n1D9R8KpV7 zbm+_3FFPies(;GHvikcg)#MUPJ>~?+&&W8hmh1BLNuJdv0Nph|(bFew8gAwI`m>=} z)X3R9DPVxdGUjG;uJfpx>tsVK#9_dm9y47?OAiy`m$3U!Ph|MthK_LwPLcWX04UhtaW*I;5SSN z7a-?=xG1Sv>nNf>78K=_E#f_z*>cQUAEEmA3; zqAaB-CDCL?Gu5sbI+OQob&9@dwo6chfUYtK#ufP5Y-MNr;YZ<9cL^|;XFAR zc~!OrV0d zMb`sXJ!6?$*ULw*h^|)?(?@i@m5&Ia-t_=mYXOG?HQtPJQwl^*1y#oQw4=z0g% zl8^&73|l3S>Ovi{9l^7t9rZkH?1rK@2i-|UZxODk!6`5df7UBF1-jmP_waXx{lBP! z_l8u__cmIu)zkVObUA9)zTH??ocoL+2#qZjwLmIJ66(}`5UPtBw&ev;wD8Otw}~}_ zSqBn}QrAY{T@Alvl|8<*P@_o1baqo{kS8HITS7oWfir3yl{j$bI=E=H?sRoawXP{2 znsHT2wsi<yO zPY^XDdCaW{jcGd)sM$3FevorVD|Z}OrQ9{e3#&LXc4N%$>=aCjvdq;XKZP6Aj}5ZN zk-nmbmHQ!(R5{Sk$c93-KKz=pAzOrXau;5XAh1lg3NyeihvJc*_bF>bea)Iby*k#s zZyjo`ms`o}?aQ;`Vr9Q5!6HiD9MT;S%UwO+yNG~Kk^o}4o%^0JoUs1J8 zR9dLt0p8-klHQtR^$uMx^wYNpqs?zT{^h(=9BUok)*Nf4`VgCDN%YP`eHD>@2I=0^ zc(nB9#)_70-L8$Wb;4eafBM`%=Vz*^N!r@-QAl#e%$PD!w)e-I{T ziiBWZ%QCz13ul>m>%}gyQ3yvzC5d!7HJAbW(U3wR%)Xl-SatO*+2E*3*p~`3?-y3L z%~X|m*AgGA82Xg9+-lNE(yYd(qi&&Y=+sSrnoh0!KXht8tZucYQv#za!`TAL0OyDy zdtKW>Vy}!gg0re-qE9-bPi%6qP=6-s7eDQp&x{n zOuY@Xq#6>eZi^tuhxo}({6u}SLn^L5N#iGUCs-bQf)_;qd#28 z2$VQ`Bx)K$L?eYlMj7pt(ADo^58hKHz8*#(4rp8nvFX@Vxu{%ZKW`dO0W)t3DtY|)O4ByauN=}_XrV=)! zuQ`G+=rqPrJekEtQWB2qO^PrRI&%4J$z3^=W=~{EN;;n{f}(OO`DY+q$>^<7gt56e zo~7yIg|)D8&=mMG+9m&qn67jOk<|UFG^Ja+yi8YMLpKEQ04H|Vk!oZ(M<9mNZUmNG z6;k-!zfFe}ejgIJj{RGdXWY&~g2?auoFNkUImVrXDp_RXPVtsblEY;DZ}-G>NeWiI zsLGlH({a-qsP^7*!M+Q|H!`SXUf1)wRn_eDCYW* zF3$fRUdftPfac>=7BVnbCYM#kRx)g-$N++*X;m^4HCswC!}N6Gch>LUv8Y@)yXGoq zmv9EI0*}wnnhrz_u)bvg=w`5M;wNi`ECP@JmSXGoD4v$HepkEeCss~bf9PC@Yd?bZ z*-Oxs><-4v@V|q9qWjC^+lJI~*5mp`L{DYpGJpe1@@ zGOlr*WlDdB`;(kf=};T2o2x4wYKNH|zUHV5r*U|~UWpXxy*aoEd%{|vAm~*IXa?&2 z)l^)964BDCi$;mO482NY`H1@Rox!SwBT)ffveW8xD%7cpQfI{J;20rZj5HwZw5!W^ zh>kI4$E%=n(W4RRNuz&Qd(z+naXe{sOvyN{{8p_Rk8d7(K-nYQeHuBu*2-3nOAR)V z0W-y=b^xE+k6>~b(W~PhIHpH0?$9|9bL>4@%rU7}U1-3eIz}a{jt{KO1?VCoVD@{5 zaGS!Q=zeK-3fO+P^iI2|wT+vL`P4N$pRN*@++kEjX>If!h^4bj5Sg!py#evCR0(J% znmEV>8I!)~|G%(N{uGCSl44l{VJFfibEnz9XHh~tlli5E#$?_UpGjdc=SnfPR{(L+ zhQZ2|L&F+R3sJ5F93K)CH%uV45tygcZOKPY-QfF0l_Kl6^d?AT*CE-N4Uoutw~Cn! zl*pA|^(so_wef|UCFgI^v%$|(G1<{)1k>5i!(9C=e!%D0&zPYJ_7xyq5RQeG_*2ND zs2E9qL)P&8u4Y2$3>j*qH2DppZxxv-W-`#vkb$AGk2+(v>=z>!|NJf1SBZK1fNb7})TFP4gR+^fU z2NG16-svy`H|Dh8FOXSI_9V;kU9vOrR!sO5LX*-!wcq8f}}n1$o9J-(MQ2vUSQ_X8(`I*2iT zI4MWqJwcd`#=Q+Gl?fsxI+p!Akcg=!bN!Z4m`gPJSZ(K1et%D<+9tapzdnUOMEFu( zv@7E#Ca-glX!1IfdDTOLwc|y}%Ls#awjdpG@ei8{pS4QAg+1OzW7vvxlmU%_wJU>= zMp5rF$M*PYXU)u?d@hjQiIbrS)=d`8ZV3aC6EP|lpd*SoSO+oIKV+nDF-oFu^d=8Oz~_?M z|HY^&8mcrFc;z5Y+tBzWWfJTLY^X69icLRz2>27!sP8cg z(Pzr;tL%dh{Ys@FY|^jG%4#zdQD^8`aGqFuzGq1z5ZdE|&@vCf=vIJCj1fv)pMy}5 z>?f%%W5F&&v?W0k;Od|Wuqg7j5;P^p=oq z5MX2V&X;8`F+!BpdjhhGG$#C~I*9BbBxmQam(<>}z7WB3lo@O`t=>q52$n-LSgOKh zHsx*PtnT>)J2)B9PB36M3<)8^8JFE`7k4U@g2;_8ebp-cK=$( zxTU0DtWR>;hi?Eq9)mB_J010oLtmVIyYxjHUckO4EQ{)g&_LiSusn~qWSs^9QgZVr z;nuWaYwSWy0%g`>!*pHUt-1-Pli4lM4&%sSn?fD*iYP((hGe`pG=^kc_e&(nXpG97 zaFS7o=@LOQTA(5&CmCtcBxC6l@kvILYC1a$`c>aXkhS!1{aEMww7UH`?_vf}v@4ZCqdj6zbxbHa$q> zOrMAE?TYxvy5(t@HGkxCj(+zCB=X(6`0nTIlPmZx_ZldpX0ElNQFWJ5&|bus8sa59 zFX`z1;vJ`@4`9r8Th~{C^l=^Y2kJ@*Im<#f;C~Yz&~4A$_Lm1WblEc}MUo&7GNYk! zA^HBjPbqV&wr5^BOi394u>J^qQ)O>s02r2uHIs%*N*DzqVLb4Tk}v>jpfyt^W`O01 zHM79F_Bu)!2do|}q%jJy8sNv!-)Q+FTSkTW0st$FJ#(4Imk$;s@$WF{C%_Mkj2XHMctOHgeqrE^fkyNst56N=%W+E|aD&Zsyk&gfyoNuI)*@~42N`AKRXl>MNz~Zz~ z^Gw_)Wgda3G76<+3f5Ku57;Q{rNK06zN#AN=gTl^%74nJDOo9_rYcRJ*k_>gKYDvW z>Nwfsd!8#H>u3$^Vb1eTRFVjnfDvq-*-Fdivq+()P0J=RtM*Iy8Exi=%4su_m=mOK zV9ilUmDzaQDHG>4lGRZB&%#9i;Mw*V%$h&I(CJy)t2u|W8vgMt<#1-ShUX4tX0#4n zrr-Q|I}M(_n#1^6YbWmU7Blns=wVM<5@GceH0P!Y;+d05?L`e82OS)an5-4OSHkcq z{ivsnbh>{PG)((K8DGw}3>Fpa$xraF(QCG&Up4pr5wQKnkq5l|A?J6ghhflHr_` zL1H{ryE5Jo4bs0_nLeYc_NACSRWYSlE2x@Y82r>4Dpg|&Ds??8<)4evjcpc=zBj-N z>{h59`wAkm$KO0|eTJTp`fNab^eWY1?Zy4D7@3>J8pxT+{#l^Rpl&iXAL$@UT=D6_ ziP+4xI3Ks7#ulzm*@OuMxzdb`(1jVfG=t9Lg2S#(N`AB(oX+i!O|g-d>6mkso6{D0 zKIWX*Lc84tVJxTa6JuZt-TE3Gp6l#e@lXgM9-MMBpJzO*3Z^7I|5@S7GgAW<)+aT> z#6)8TVEeNRPVyXhJ|$`L{wPV>iM=EKDUqjV7Q##)f9728_qba10IszHkWg z^>^ro1ds1CBtWLDh>D|{TW-Q7xFQ?RtompMWG;6FK`neA;{&&5-u38SxSNrv@g^Rh z2i1*ad5!qapLi!*27<@h!}8gyIpl8tGbjtfHWBPhr|t7~eNU#cjE|l9DFd{!kV{AA zr^mMw9S5WJFpLVAGj={*xW23OX5`>nZ=I%OaCR~Tn_LChNkX0MIZ{NIOTN=m7AOJd zwYC2hNLF-ONg}n~k`e)SQ41}KD*dZAbm&pY#KzwAgb>+ARNp>_x`g}olRwe7Vk3sCDhdw;INFQt zaVkLx)e@(`zLe?hRk|=Dhs^XtqFLB&`hdW6MS}ImEbeZGBv&EcH==`UVsNN8z9Ep( zdKceNG178&e~-2i8|G^Nj0RXw=(n)@Ua3#Hf20t(Q*Tp=E3Vdh+cN9fbfvfbCl?hN zg^F0i@Dr`CQN0ewOVOK+p}*9JvLyQ21GoVN%y;Q)B;uIyWcylQ`%|Ut#fA0%C_Fb4 zWRWc9yH>%&!xPq}d{GTl8Gk)V^Od@tHJL=egY=iyALR8rAT!a07 zTB%^$QSVFv)+!Z@HMh=2bub-OD^i|L&6zE?3j3X_vERs>B9T$M_Iv+@;GK!yEAd+~ zBMmwa(IbDoJUt=fGTPUn>s%IsW_CEygYCNn+UtEU%{|fhJYuBEwQ`8OyD#EBs?av%83dq~dKU1fYeexh-} zl$B#z_Wo+Tcms5+uxc|!R2NoX;mi^!9qeE25z?`ejMd!fd#f6Dg6N&V1z@Q8Y9}!2 zV*iX8WkjcYK85JiD-V)-Pbf8H`Dk(;^UrC2!F4hiRe1?2H(s}A!aXhut$m-o+vU&( zBXPBPF8qpPFcspoV*w>~uAQphsbOl#1k3IY8h(>Or*j!-bUNpVLZ|;1B`Nv*6D21s z3(n?B!Cu2`XRDzUG}TqmsZj-Gq96@xaJt3!H8P9`YZ&<=rEuCy)9@Lja0b7LGR`_f z3n5(gAV&@@MQ}Z|9peve6P&7PR-nHH#zp~xmx;6DuE8<}_woXaJKAY9j4 zww6|ftn~^yDs;2miZea1Ru-lnQID@B5<%ExI2&FC0f#ng>$_~2mt(frMSiI_*~ypR zrQl21WcLETlYNRYQ0pD`JnupTI_WN}k)J~J<(v+-YWQELW`AXQy*TN3u zny`_2$MZ_q`N(ag-UKwHHc~Ifh8vbN?_rcQ86{bF;0N`MmUj|mxb~(7gwBUe)Oj8s z0~3hILogubC*^mS)bk~$%dtYNa6pWlih<|S1I6EjPpl8_6RD>PCgqu%sDAh`im$_qbQ)PLJ;wQ0=(#(LKe>N15P0nbvF|)^Ic5u%VRA zg1%)?L62__8V*@xS>&#`Me$;}ge9X)BN>T^REMWt8Oi7|B^l)+TSMcBxRp6w6BP;1 z$j2fjBS=HCD-L;MkDhB+Tqg)SfXVvNPq?e$9ioJvRrp^CKaahIp7Jlm{}7dA<{N*C ze5mZthiiCzkD>3?#|v?%g{;By^;1Z&k01->MYx`c%8MY+mD#xu;IpB0^+t2Np&_r0 zcuRzB2d;eaLevRAt!|z+#nUi0gLsIfMU{zobM3y{Z*>gqg?;~Ur8{qkE0G-m;jufS zbJc`-YS|3j3C{OX+)6DjNoc?ll^3OR1cua>#wZErdy2mFW8r;a4Om*#E2tZWK{v9vCc^h?RK z+SKimY3b}HF~K}g0$J`oBGY3156Ok`!ikA9)5x?0cZp29?pk5ttNKBvt(XgLOGYWQ z6Ef{x|K`KRx1em{Zxn0)7o-HGQTG+rCDp6~u{JM4to;aCP^{gFt4pkP)<5J~jStyi zJ@l<3&tjJQcA#DYOf+NfZO8he-%#V{9m}zb><0%L2$(L^KP z=D{pW#w8*ykKM7UdK(eATKwX9X&vr{aF>C4U4$Zl4sQ}j^ydCuN_6*+|JFFZLxS+LONvip&FiZH)0&*@T+kNXp& z1p0-YAuv9VbOWr;Uym_uE~5`&IBYXs$8;wa#~#dR>$gX+9NV!za5tq{>$%tXJMjvf|{&JhHW3#6}g3LUN^b3_(;Te#54aSDB9gJu~1 z$tbi}r;zt-=!3uXl8Ln+7aIFI{5N_Pgw7&|fwEbc`tJ6oy{d0_R&O1#;3j4#)pRf6 z8~;j7usaGb5M!%WDGD8xq7$fz5u(=PA0eGq&Qz!rHSox;!k+~G971mho;D^A9>Hqz z$YLHpBEd>S9!j~$w7xw^N&<(6uABWn-#ACVf&Bqub5*vG*YGGpzbJ_`M`34}GJrDF zz<#UecIX$qJidEbX3%}+*-7}GlK(4N5c;Rz9id}f0W#y3%rgaKSJ~SP z?43k1Qq#y2v+CWsO4HDQTa`Ha3ax46Sv@-{O`|i*I~nC!)$ud){ryEns}Xo+i;6M?^NeNha_*z#^9$q?V)iH7XQ;BV();+LFc z#Ncl~c`rW6cxsD~jMCt5vsG3af7=)yWD&=#ENC`@zx`;Lp%n>O2C?|tpH`Sp@&n=N z;h2-Ds#%Xd>P$EXfBS4(2W3%^$_**U$KTGFMKPNp3`XJO^5Ab<;CqF?4c&1({Ov(l zD-`~A72jPZVg=m5fV=m`evj~;1ckqS952D4TGG*t!ry-L6~v8_;%{%*80qizM&WNC zMrIWM+E5IrsOkldDMPXbYn`&kaq+h`W-5Ur0)P7lSe`a*e%*!w2jX8(K_O4xj-Ooo z9811v06F3xiYM^vZ4@!O^mwP(cmkiTnW5qdY{bn8j3=U|#G?8CH=aOi zRI2P-)hHWZfzAKL#}l~ZUC^d-#S{3WfH}}95{@U(dNs_>5>Mb9+{KG0@Gid6cE-1G zD|SYz8u8)@-1)iqmrEZ{;0)Nhl=-wj%TVzIdg$U@@dW-*X2Gr?eokO+v!B%CYd||? z`QiyYpGRG@n0NwxPy^)>_lO5GGM>Q5V(a%1o|dzImEHA=8&BXhbfptd;7$Akr6;1l z5cChJ<*dh4)FUFEK%tD_363YwVH`-!@#6`={GsfOy;DT48rTJP#>cZD2h+eTnjq|q z{jT7{sCWW5P7>YilZ{ajj1BphNoxYU1XVnN_e6N7lfv=jZ}`;C1!Xc8%byoT#S(aOp%$0Sa<|^c0Ec4eVG_d6-!_+ zfwfn=`{b*SAp(>%j=(}#u2dX>y~tR_5ooD$M-$QigQDXI)X1SM#+6o8178au6Yzh_ z19Nvw9D$cnLOh%2zWa^M^Gochmcq&%M_~MePTk_g5tx92PCy)iF;D23;NOq7l`M`x zcQJ_SI09*8P3|}X-Z!J;2z>qqESRxz1TMhP*cI`)8ncP78rk~!d#H!w0gRK^I;jsa zRUi~OU6P&D$xK~=s-Lhp0@t8NNF^nX!1vNrEDs$=0LJ(BPj-|g{sJ#h1b0r4p+*ql zC62&_W-42CHew!^I)=cZ9nkfBr~lgwrV9}XeS&X%G11N%ELx~5)i=-`ni63x> zN)TG=#1EK&L^H?FYk@gLNU8PfO%&8i8$aM*uDrH2M_#8euX!pj6f%YjsRJ4j89!hj z+F;GlZ@Jpn@r^sNW0s&3E&1!}B(eOVpd987vAky~&&MhcDc0hhsgegl%Zf_^0fbkBp*nAvTn<#t(SrtQccN@7E)Z5&w++ zvH>bmQgt$+0gFW+|D9gH6^ zSi$J#H?bw1ha4Ns3q`{n2NI1|pXUv3B9S?>}nARjD& z{c_b*W51k-kIQ4f9EIv#!F?lUp9KL6!y!f z-!9&MxpA$sUrr$J@22VnNkij3L8nahUMm`LhcfBAeP2y%;XX2$Sz^qTe=Enp0Tx78dFNwtwr?kRs zlOMgU(E?ZoQUhOG`Q6V1+fsFd>G5o>1MISvuEr#*FZ+SnUi}Kbn2s+1)P?nsFcu&j zUgwUXcxU9@!T!)S3id$!m<;UW>5UKzJ%D-Q8F@W$j6?tG&KY@X8_#Z-uk|L{S}$XN zqYIU|0EONPyI!mn>v3B9po+VL(-ymHNX8J`O$r{Qo|+F(;vx;oO<92Pf#HS0_Q(7X$Drr&4KHiaDJVJ&0d^|E?Fb%UE>urZp#XuzNvYG~7A-c!vb4I#1H@Kh z3^96wfRuxdc;1TwA%-w=v7J1eCd;xEcU{owWGqlwRAxI*KH)BRW$Dx9{LjTLcr#MV zRPc7R)9F}cAsvRLq6WCV(!rP6*VDungY{0}no>a3^x$M{^%t5*a=5AO7I+=FokwWE zlY?lO%)q9wA$e(?wi5a{x+wxGbE}4gIJMEQ0)0G5iArl*!X#O30z_Mo#e_F`LPUl0 zC`3i#9zPoq%_?Dy%#6T2?!))AM%F|Nj$w^V#*>Ki03TYU@<=|qIW*l^5}(b3#po7;Z(Nj~GrlV@V;m?IJCvJ} zSK%+g?v0ELf^Iy&YA-9}5fJxU^Pd58$mz0>7fEkhj@hpXfcNk0IYxokKSBR}SbOgFK$cK%} zPorwEI9+$Pi0&8j5?n!UX-#z1cbW7Aw~#o43S?x7V~RS1dj0)sP(A*0P=rQCvh#s z#PqQbW+j`O0c2A>xc(fL5$gllbrIr_>Ikw{O8>uFFc| zjX7rST@3BiE&?G(>QA{QwFy&gmHMfZn#fdbgR?!#z^6%skjcT&G$Dudf%#~g(U zXLNw5EOC5OXLK(2X~3ODh@n*Jw4~OOpLr4As3|bB0ws$(-%0U0#ey~EGQ*o z%AiI>R;C57BBWAn=evrK%G#u+IS6Q}iDs(b%!yNVsm;KG@gnIn%FYXyeIM%~h)%G9 z1bYzC!2)udb?lah2SP(jnL>6@Uac1B@1 ztYILgJWarFhEG_#hDq92@Ph{v6dS-2te5&jtKc>>8|Kgi8#;J`ipE-(cMO9Tl?}dh zvYE?lc($800@?6IvM=k8jU=SP&g@-$nyjBiC&? z15UEM6u8d;z=5vC-xv6w`+K7CpB*ta3ZD_yZzSZ5$H#pqqT(b&*20V)gmG}~KbtR0 zOh>(uC~3=7NxD~lenTExjzoGVJ6lk zzpyTx%P?j?W9(;&PScb1;Hlc8(=6A~RkcoY3}vPir!p{rnT0lIin~+oo~Pr}vTBNA z!+SveXYi6UTmCEAsSHKlR%{lcD?rOh5A4AC-)GXj>TRwkBFyjmt<8%u2~SZk?$UwIes~{ z8rMQr&h{%EP02q9ABxiBxQ5N6H2k6i&v@w|SNWlLMs-Wfr<|U-P zU#NQ2|Bik$I?s$DfOW&@T2?cFI!wMf{sN zEgNc1Pbn+9pBE#woDCj4jZ6-Mx+G;5GzpI{k&SH2a1iRq<3lpm(IruYM>B1AeN>2A+qzdZLG39Eb;;jfISIpP;G3O9=9srAhn#G@F_aM8Ffl~!plH^ z=X-pAf+5+>s0f);9B|-KPTlt#K~?E>4cMPLYeqk{(yCWTkfBr{mz1T=D?pF5-#{+0 zREt^?Qb}L*PO=1yy!h_s>z%Josfr5q=t-4o-ek_M;E+ra*wb^SHg5_ojENA~Rm8OK zF=Iuw`c84|v1g#Z3x=zRX_V%LD54<+jmgn7W~x%Tt?bSLhN)vuS+j}=&PHw?paM3b(azMaVMEt0QtBxD%I>K zp;B?XMz(ZaM3^&fl7y^9k;{ZRQ*u{w^9JZ@TJPLc{p-8c$a^O$MKz@mkpNkjcz5K0SRXia*};y48pF|E9~%-MU!z$Xa?lc+7B7YHW>)~4{_LCqP=mohU|F<5gYILgT)`_tvo?3O=XropQ#K%(HJ!{FoBh)H6 zt9?G2q9`WSWpqrnN6;~KaBm$NB2AIdhOCL5jGyqRLa9>W%A!WKEk@FeYR5RET6u~Z zRgeE{&I9yx<6ydU^e}fvi*mIYbynNXHiFP7Apmte{g=rJD?#cLtbwYIHY4XjYP%3M zOz;wx(4m3I!X93ND=2SRJvlU@o6FMS*xYFR)iO3yUISn4CtD}C!^Q_Kp4xl>F~7$q zf}NA#0ku>+D7+_-)F3FwRv~g6=yP^iIaPVh0%uw0Qz%SNMSHhiBryhSCRkR{iJ6M!my- z8F*%GMaS58fL%D9)+A_VeE%EpY#m#Z(9x(5o&D8T$>NiemZKl>$ zsq387ztF*U5eBMPAY|9))8Lb0-d4QzgZ=Q!Lg{QZ#c_#jc zc9@K*xm5Yp&5X^qK70k_d8g==sxu#Keh)rR z3qI0ZX_h&vMY9#XeXzMwEw!rqU~{EgN(lJNDr8*Gqq5`!JzX1Bg!cpC7RRHC%TANk z^e!$iL0c72LDx!(uBdlRxRPh1lA%FhW$n>Cy%NaLtXF$WBhBJ?4dK@88W=F4RuV)Z z(d3Khaa|LW17ol=buEsTfu8?Gc52h)>|xEK7{OQAv0?ASIntr})Xz-b{gHR5x^+gf z(yvUm;eP!9-4?F$9WT?2h$Qq3?UkK)% zNU`t5kFJOau+x_ms5 z(mpI8Tg2B!T(KekBv_~E*Pt)60cFrrLQSMmK^0h%hmecLC&4TDgbIrZ9WDw>vzIUl zuG3nx@t;NL%L|{1(U)J9xjYr8<~fm=zM8M~<;gvuz4q+J5OqIGUDW9%1WYOj(W zS}*boJ)uLDlwVM5o0$?lwX(N4Wcoqq2yUsokO3CF9l$ZfM#2*lTigI%+B_4nCA>}C z>9xRFLp61ZwFicZRBG~D(@?Y5lkl?uKR@p)D%$aTQPFq5;cRnUy||k8N9)&d@kxKn z`R4n&4mT2JDDYd1IvLO#^j#d#v-#KcC0_3I9jWH*YnO8~fK{ z;X-BLfFl^*R9sH@`R3nsp{6yh1m~M?6}D5i+R4zcdRz_pBpEc2yB~7uX4NJ~iag)E zekwUz6f`S0A|Q3y&NtsM$H8Zn;C%DRwS?dH<3%I2a{g_2t~u#t1X^;O^Udc!2Ud2H z=-^y<;p2+L$PE!m$1JD=5?=iI=Do**Lh7BS!@#3675_IO`xxdC=g(UMaZVWH)gAkM z^T#rcX!#+B!+pN_az9kZf9ibmY2(5TD%ttwp&^vtNi|^pi+{ek1tNZ|^UXUwh&5l% z^Ubr7KiHX@mbSk?l9v9H=bImdB3ybx8s~iTGlLHGtIyjKpKreN0f%F4#Vt8j^!euR zB0c{3<`3j4TKa$NeDfb}7AZK>kkI3uZ=N#Etf;&CVMVRayf&2K;*bouemH-8~f zDAYn;xc^(E`KuDeHfL`~7341N`R1S81O4==^e{P#MAZ4Nb(UGY^UeLREopEaunQ$R z-+aUXnnSobI29kq1=ndCPUB9fTZreI@4ee}YV*G6)P7j?#hhiT2x>=vY3-lj8zpsIPxVq_I&e1ve&>~C(zfa1>8XSa38cm^E6oLCb4aZr^^*_n!Y>^4kvxXDCGEYPZc4|xT6H*tRh zS$)QFj(c+XF``Q6nb?W*O;l;@fJ;tnfPPr2VkagbTN67`g06o0E186eD7{o4LYS`) zAw-7h^TUS_La;@Q!$j{G{8sV!v(Z~}X!yvxd6v$S-j&y>U`p(daUA4zketHhuOfjrzGBP z;nc_VZeiM)Q9nkc#_qmCL~F#iJcy@T+(3wzu=tuX0E{F4z!VlY44-fZapx*MP`qU0 zuZ9=*%ai~#C#YO3sTfK<85p;EDaE^#JVb~hRuS`}H|9kj%!}SQp0ZDcwBSI4RlE#- zv8VAiyByO1@K1ONc-Tg2)~6&v^b}S(MiK*h4+?}bk!^RNhbod%P#g!P;IfR0Q~0SMF0g>r zn*HNKsyd^v%!VwZN2#9nD9H|A)0KdccBC+tc^N$M=39THyL{|EaOF`eN&aD{ObJ_@X3!ay}OHN-Pz$t;>CP z$==XHYgRH`P<4cds@np*_Y(0gP9N%Bw!LI1solm&b$RgEiHgU&2%)s z@B2Cx@Yabad>6zNS72^wxNkX1iRY&Jpr>(D<>Rwnf$sqRBiD6#sltQixSOH|tu0oO z8MKbLj~=wyH|Rn0_e9qdDAt(tCS?;lW*C5Cs$<06Bpri^o?tJ;(v@N22xDNjOcH-f zq8hlDpu_5b-FSB0*OL>h@fbpzB_LtZZDtg$6r{FSsZTkno0)p1O3ijsmov4xq}H8( z=3;k(2rWYM3SMz8avFoP>W~U`lN ziaK|cYb14sO{mC4o%yesM{faRY~m6QILs#39f}Jjw5Pg_7ZxbgNfvtOERF?dE3?qE zH6<_=^E73XYm(|E_&@A%uo?K!CZbiM1ghF6qtMU{tJe7xG7&@=5^`H4*%x5uSqIL8 zsNEEI0&>Q4V%+pfYlvhnuu6Qp7T8UiJ660w zsHvp)c5CUpz&YpH3mOMzAKTvyx_#gBV5}`#PhzK#$`MY{NtUZ_Yr2B z=^2q`n}23MZz?KM^38cM=Yfy;k8HrD=Uj#T#%K}Lko0hw_Vb>uvMY8!@0eQ+EuGsH z^s$`#dFP)q9DMuu`+0LAL4g>3eBc=fR@Nz(qvUp2@UmEu9{7v2%GuAmy)A7SQAXo} z2%~YS&jWud%dro zt;EOK&wIi1+EV-ig=17X?s?#oQXOMZ#D3lxKY*aR_w&}DO89i@{BpLtAe%`vMNXbb?%zobX55*@LCkIQtpZBL6 z$x6o~%ozv5Kv~WD?NUh3JP-V`F@{!5#PG-N=e^eXq-m${^oX=RR=vuZaL#_-Q@(dh zjs-9|VuR0+LOD9qcg*v^_uym#Wpe!NI}Btw&I6x~@6~?Z>;464<42JPqRtM-Vh}N7 zEZ>#=ylwdIGW9M*oLp;VUhIC}8hEMf`+0i>=+vi?(GgdUeIEG6=~4E-sCa}$+1ma` zu7CSkQZH~!3aZvcXtPjWn0tyn4}8iM==3Hcau5NpYd3rx@k8SLx1J`e!O^u55q(t_P?4mr36xDx{&U)=RpS{=t*zpC14#XGz_v03hPmTrv1qW zIg9zKHM|)`j4p5Ae5`ncH>t>S+wQ;$Skg1GU9E5BPMr=u33y-~N-ovClXSMibr*9w z_&n-&s0%OF`LJPes-RM=oAu4DVk}f)2_HwJ#cUMUSh&EwI~afs95@HuNhtvJhoQ(4 zXb`hg__1%r!$g}v7^ouul?+h7-FpgV9T(&rr#mh+g&2MgqN< zJWG;5DVyemDdd1sl!|bNLF(2Tt7}9Imo2d?K~G}NpB3> z*|>%6lK!oh>U6t|mZ1*nwKMQ7_9Wq8?pmkfmaZ({v7!`i@|QkJ;dfBj?9*i&dHDB& z369I{dEU}YO|(NPLNqgt7dt^_W56C-2!7vrDk{_^;~LTWkdv9pVc zzXjb_9bWx`j9@rQ;g5h(%%D~JqbXV&`6Ml>=mre7HaWu|x9 z>8+ohGregTu_#-DJ7G?Xp>gsbB5l3?^D_z7@9iKRPrwtQZ;(fWd-yOaO5w`0h2v(s z!u}D!5n*c_1a?ka4y?5y*ReptbgW|(61Q$Y zj#?PBd+Lo*F$xb3)glz8!7|QntHnjMO&W~*>G;6f-UeNyViXP`+IAmUYx@9 zkj_p(oWg=0dN%m?p=~9LQ<$Q>5kf`$DX6}RQ^@{?>~ToXgwPo>)JSPP0!Gf*IE8); zjeXP^v%>3*%zgMm>gUK8lK2}=>Q1I^#Op|%>!faC>RU)XVQ~sqc2smy*7~>7R4fsK zQ9B*>CSj@nu}hZvQC^@RUfw!pnWySFg%<;G>MV0>)O5_{QpYOnGaGu~R8%7ztMFx6 zw+Myk&b=CPKSsR5Ng!DGTBxcMuka31F+JDshBMh7fdnh5J_Y8|#w$d~Oee24%&Q*r z`lFuYWu(IU9w8k;M;gu{=d)NF^;@oZg>-?Q*m#9MO-0wok5@S3cE?_6;uYqx{9puL z_$6e(Fo9`JAnP~MRi<;w+gNYV!I&>|1|*dyw`brRvzXrkS#U}1k`mW8WlaQBC_m3N3zkmyBO=jSgJij4jc3huw!2oUdZINW&P z1%v-VJn*=raDz&Q2j0@wF%=#Q5B%jvV5>u6pV2t@l(nJ0usWn9jP6{e)iA92a^is} zBY!X}H!W>(T_i32C-K1chh-t8aqz&N8yxCajkhJn1Aji$;aD4RD^?ALqw7}2cF{nKZytaGme-e!QK+GH$4?LKk2p;%Md}8px zZ)TGwtMh#n9=L*jdcyI*EpLMa9}f?_YIKx8APNt>XQJ{4JbVh|Qz=RZX@MQ^ zda*~U14W2nR#vxl(~Sh3rK3Z=9)|k(behFyF0}Xj&)C_e;40K-lBM@Fwu#vz5)mxpK#cj}#z} zq?T*LXa*22q8aWOuZ`=3#=<~JP%nZNq5<3@%^K>imzMeOCVS~v&Fw5u_!?b3kH0_O zND8JTTvVkKs)iiXQOkCwmfjBP+0pQ`1Lm2>FY!EQf_cF=AsdVPqkMY^e)h}kK+V>m z>{ul0Dx_uu<6GkCp=LxzzBLl2l=YH1+7EN88=$M8$Vm41-lkE9=+?gQ21HHzM9xTs zZq*j(+DH*Q!X`RdR7f?>c&lzzitghIFp{v<{Nb&eo-?g!uYkZ%Q?Nze<9`jsiPgE? zcfw;je-7DwIt6pUTffIcCB9$%6`vB^ipp#vy0u4b#e~w;ipp5Ns6VTp# z1lQEyl*F{aXT5?`8l)AiXZ)+QtfC5DfHH4rnpU*YI(dYa*Y%D&%q@Hsd7$g1w?ewk zN3sFurNGpij%6Wn1RS7g3f6~)ET#ZBAA?x@p#zP3ndoA=a@ob46X+Ggo)^2e?dllh}jLnzd}=(kvf9fU*NT21A!@IXc%+*Bg@Na z|JSF|&!6z3F}I#G-29yNik@*9SEH1-Qw^8gjq$O$RRXC!dm|OKO0edij?~6TP49Go zhjkO4I;tz8juv25q%`Gde}?xIIJE|rjm%(06;v!<5V&K;;sv@fLx=?&(t>RVvC;zuT<4YIdB{M0~fn*)fDjKhu-qwL@rUS;R(V8Croy$HARYRATov-`^=O{ADgc2=F z`|;i`zVan#*x$fcoMi z?oBpyV@U&9IxcEw*5j>bIqT6|H)bu4U*V_$VOr>Gg6Jq+JxexZ9juaZim$+1FEwj* zA~yo|X>3%0_V^G`mRRUH7Im{tT+~`J!@53LU9W2eeEn-Vmi90dAxJxN9Yb3^{yZex zKKC;>?e+LG`TR!wp!Mgafi_nHPFNAif7Jt#RPc~4W3MzF^JIObZpR=xOZ=VDYKgCr zYvd9q<##P{{%iU%8MUT^mk~q1+aQ$Q<^@_?tGWbTlhuo;jfazsr@=+_?NuW?X z$M`z5_g_dy<%Q(l&reR_C+YYkG|K*+3ncP=?D2EnAISH&v-HL+0)j8!7HYTPZtdBi zM56H52aimY$3TdxeUS!#y{>fBgd(Lnc}a_uO>d+p10{#e{WBp|cFIqzvnw>&j$cu*<%Y@KCwPS9~7#h>g0aw)4MaaE< znSrQ9v+v?9HcaAQ2w&Z5X1gC~Wf^kMB8jy!wv8)s*e*CVb}c&%yt)ZV6oKT;=D{$SVfUbU9wtaHbBp72gqd zf?}pt;w}Y)AD3MU6^3ih_`TFnG%jxnwohV19@aXyP_or}Xr;IOXRs18MLHs!Y2!%8 zVz{2SgfsmL_M)~eo(Jg@oXwR9L`~n7BC4yAFU4%pQ-j}Gmz>8U^kJ*qCh2TpdBleI!-ug4r45LK%+m|)pzNJ}$^-L-n=Tvx3qim3&I%3zV4MW*Xj zvGC7BS+V`Xox$a-!P6}noh=ucr_7O~8Ww1myj_8EU?f$jjT%A^;#$+%VguZg9Bc}s zTGTKpf8qBBhJjB_qh2(Vn#5`8IX5+h7Lg6Hry7-rZD^^ej1z=|*G(*h%GmQ{a8Pba z6hZ^`-t9wjzr}Z$!l*OWs|Xe!#AzsSt0+4p3R;GI>%U$hzk=-JdjMHbZG0YA7fcCa zS_N;4(ib;aTmP-~MKju>%&Co$+$@BS`QkFfj?F+OCg9(-J>c*71`nO>j7hqPa0sl= zhd{?X7s-xE7dmDi>X_X3<>(OH7akkYB}~$0V0<`lK{JsTgyg))Mo0F$mFZQQCi?=~ zX1?^py{M`E8`4&%@}UEqK9t{-o$02CWl1`#^)RrT5e@ zBjEb59(vOO_Bb{0-ATf<Sjxu*cT~A4D~J&Kv0A zsz`SR8@gj3=#Ei?4c*ZUHgrdSQx@&wU;jB<54NA-C23?iEtt+m3^R?u?#GNND$wS7 zEL4N`I`47}XgwKTbY^(Rd7Z3!Nq=p^0fRP3#wL;-EN9Y|~uR8~=sKFTK-lkcI+pGYsvKH8QkS*Wv;} z>#7$lO1^Cik^)tu7QhVby|Dj6*Muh6ZMi4|YlVt9@qjMm zGSWPIJNDd2uzPF%ZxA{w;E{cpi$(Bv`?$cPKPP82pFhXXze9pG7N5&zK_!>`HBlMv z4OO&P^QC0{5@MAqp*3Fu@u^LNTsxTmC6pV;mdO<2F4dd_4 z^I$Cl)URPRDsko#Ewe7OG8R&1-DQnpNgYv=brF8BKRsGrJrt$iLbNR$YYAHCj`jf8bug*rgP-i2844&J=wT2 z0{O2{0Q>;@5qH(RBNX`lG5oKE+Rh+2X*Sg=wF~5RR8m8OUg9l9-S_Z{LhjR;4Ux{3 z$z@dynAhWL3R`_S5$VZIUBV@8hsOF*;PLrc(}Adg5qh~Lc- z`$Qo3KmQq|=J?3{D=@c2Al^+8C#UX#<-|W#0{^7|Y6Rkb1$-EV+^>9K94Q8L%_JNc zkGI)*QONzF5b7xsPsY_H5{IoFPP~x+;BzA*znxlM{C;0F1FdPri^lJdQUbiYy2r%t z2l_*pJ`R3=6yGU7e*fggS_Ug2e*fgLj>PQ%+5I9vJc1=>B<}2sqwxEk+Gs({EO~1b z201K&55@=9SqWmsq?I5(e*d<9VEZM-@AF6}h2OvM5)=-%V}eysggJvK`0?@k&(@^a zO9~Z(-+%E%N6dGc?Ryp_#1r!$sAk0ciTF$kD>r_>YPfFk@cY$J&YLn-k4 zSBM5ZBpScZ{)VivsJ)sAVf_C1b`aiU@%!&#Xk7UH#0!k%epv-j1C8I`cfLtIo2eSV z|BaJco2e%jzklc`wjO2V9uvRcewi%w%XxtuKmBM7Re}q&Fcot;62CvMH|BDw@%s;t zDj9yiJ8~~8e*c~4F_#3tf6p!o$mPNBPhehx-*2z-f-)i8aNUjC${mT{_vp9&R{Z|C z>9l$y>^Itm{gdu^BdfYO`a?1JeY=;!?+126tiOJzbdqvf9~-~F7~i1rBKaP~Y8Bol zAe(~X@%xumicmBZe*YZo+K}DD`Bu&6u+V_tKl}?SvvCK0KEO|y#YO8II(}ekV8ujG zy0D2n&*S?8l7Ofj6o#P9(zfNYl79&bkJR{(A!$$8P5>bT%~gQ}8}1M*c@>a@39aQM zV2Wqq!&)^IoACasFqyXao_@lmy%R@YRI3^8JxkSo;$OhT<2r%wDb|EOE)!B%rnTc4 zGI;nKv=eytg`$1TmzaZlL<9ny2gdU-xJaGL#j}SeL%fJNWH{4+i(oKU;G&tva{idI zoaZ9j7$@-cs7N?$&SS8gr?Rh<<$R{HoTngfN;W-UK`t+$ghgZn{MaaY4TM47-> z;eVwfe7=<`0+dcF8KP-B`x9wD->g4G1VHq?`k286wThA}Uq6Ke`v~4t0{z@=?EIb_ zhdFX98-)8neF&wiH&)^^E%GnnEwx2D&eYR>_((rZ<1L>y#nbTIB%UQ{QDt&`Wq1b( z%cI?)c5$`SNedfY?|h4QBT3>M4*?7n}2G`!ACpqRI=9j2r9Th zZGpwCM+IQ%9L>ty#>ybHAy2x1uiv(Dg)O{_$KNAvMaCnwY!x~GqS`oFXFe^xFNq0! zCv^`Rda_o~?T)tdxDV(aQElIW)Up-%(kV{cK|jKaU$>v;E3a~h+!D9sSIb;-n{dei z|6%kgD3mI7FSQ)78M`aUN-V8Qlrff%r7zg z???BFo^$qFA})CHq387950R%Os$=w=z?*y+d2VszpD0ks$)u?P91v6!*urUf$Tw{G z{|H%7%h`#mOUrTAKkWYljBc~Fv$6kkmiu;~USd@>WACHmTDb#woU$A`^cQB~bNFXv z4LpOT^y`-J2UM2A^!DOgb;)6Wz`7I&AOnzW;6>eyKOiDbp7;Y)m^?(bbTDTQm7V|} z3|EbJEXOLc9~@ICsQaYr9knD6=WLO2i7()F)Yzu0)@UZX&w=#W6ODNBEF(&8!7zky zHdB{R`K*mO&v=2hrgIEwP51a2C{0<^wRt)5JZLSq{uVtzVDn^uR{w-BGQ{OK;Igu= zdBRaB+!gj+jJn3tDLNcV)UJa@_!6cnGVeIx5GPJ$o{Uxdb+5{Ndzu%GncEUmVf#tE z>6hU%C*se2@PiyATU5!QLxs zgTzQxrxH^#l2eJzTo1~Eg?69akLEh*(xRh@hNF6X%kf26;*f4FnuDyLN4jwpB%F;g zZSJ@V8k#v=kLfkdTUWHgKwgP{vD>j0Ib8xx&Fon5J5n2|)H|Hi7nxdBr4DgYXEAjz z$T@Q8?xfz$)UTN;?gX|20g{b7A+ne0PSCwfcS3Y8536N*`4@B_d%1ov9lg9T6J2UL zdKjE0HCDl93w#TRoSbT<3mpz0##rPVS?F!yLMO*5^w9a5VfY!g(8NXT@`_BXt8iiL zn)`l@UIn4E$YJ1T!p`FDO?y?}?yTNA2)`camzbSY)4hZj4T5UZQFwuUDd~yhi{QwD z_jW=e=7EfJeZ)->(rJDBHC!1r@W`&hp9KEU$SM1QWAcz#t~!rTV4{_{Mb;eTA^r?d zk_%7`(qlvBZEVFzuqNp@;E;5k%PXJ+cM!yqNOKf+hKVyn3p-DAg*wt(IWuUFa_b{) zIym}>_%l>s+en|rb@-m1hC|;&_TTW8@oC6@Thxr-d3U=4mUy%5S`+i2r?J%umh9EudWj=P| zBd-3AG%IQoZ9xPSztr&&r?=DcRojAN#z$<2>Y+9#@uGLlc1KmA@)d@6&6XfO;)u&2 zW1W!rh>6v}S7e?ic#jhwvDUwpq-7TyA93IT@@aZ`LAYss$ND7h;Re{*BjO|Oe_r~c zh!>d8t_Vf-Ls{Y@UJ7V}X-x^^BVN)U%;!YJN1Q$@hGd-AG?HZeGw~7sm{}T<5fdNr zp3d<}#_mp~j*r+uWu@aIj%x(MKnc+L#D?6>_=t__8(Ps9!yg+T@lxj#gx__RN#t(K zoxeL1&WVq>?_mdfU65L`_=p?#P|PM0doezay9G0Jqg@{~B{a>hjSH}|LS3B6&K(_` z=^6N5#YgPC84}8m!u6uw{Q-%5H;wOd^NQu+yMR_QUx?Sa)>D0A<0Jm`F?syDk}`x} zoI?+V=%3#a;zmj1BQCrk3jZ4wA933y8vjc%pueh@=EK&h*tcMKbFuLeuidQ#4uoWG zkZR&1rhw&%z)@hG`w+Y7fYp$N{IUr@7JiN|Ux1WXa8kzo*B=|6XLLyHTYlL zicylruXvz{3hm2}|GgxP|K%+~5&s1Kx9F(gD1#|;1OERz_}`!kVVf$BOJV>vGnr6WFquU(( zuao*6Qw{#tN&SGSCkX!w1BK9=Sp4r}GPG55aUuS9>o~}CW_w%7@xLjh!T&>zoV2o7N3i~Oyhr(qfBP2`BJie>2JaRUH}<3F8=qdNPC$#8vlzAX}j9E z0aE0%>r6Amv@?7O&|6A_!{QmnMxKsS|{H`YM*RBsCN_G_gAa}B(_%zs&wePhwC;Uyi zS47oJuraYio>NCeRTau3gAF?IC;T-*w#M5on=JO-`(@!>=xMHdhaAr8ZZO zmTTnZYFf!%o2$iW&SRti#&(72v2Ud3Es~yy-Ml2H{uLEa!bQBEW1srh9@9!(-5)C9 zrTHw#xHo+P;R<0<#8IqI{X6ssIiTy*zjhyz2Nrkg-#{3S=;^)B@KQ&S^uRi~;2`VVD4Ie20^kZ9fIRfyC8n}3p559F0K2!(cd6IusrvVmw5a6hp z!pAS?MLSrhKvoZ*4`z=Fm1yn_I{WA8=$ zg8&(o&Ir!$ChCI#vp=P{3<>(SN=BfXr$#jHL4bq5r~H_T*1-A;<4yP&E?T>;n+hgb z!h-+_)Nw~eDd9nYUw-FQAnG8%t#>=}dI5Zs>L9?EP)aqYW|Sj_c`|P7Q>#HPZlavspidaDqN?KN1_{J!=yENdTi0VO?QZxA z3C~tA!}dQ<`kkq=5=5YG!69I2qFRPsYTNzWp8MmTi z4X)sCIT5hF6ff8SiEy)Lovwj`3+%lMmG~1~<9fmEBM%s!nzr}2ljXUOHQgZ@rN3fJ7O$#~2Sf7Yw~ZYSnL<@Km5%4 zQSyD1J-QEaq13%+H3aU}ZyWhu#xM(Xr-bJL7Jh++A9)_&VlYu{kA8d-`)Zf<01Fv{ zLaagfIhH*-yuWXzBjab}d3+M`@3D(TMk5~AcwKS_0(U? zSFP9I5_5D#0Bu);Q1cz}kcWmUKxWOFBH`n}ml|@XaJ4Ukna0J{zEnJ}79g!@^R1ja zNm>NdZG`f_w4KQLc`Se}WFZy358{Rb*uuo3 z4)tE80Jim!vl027=zWJW++zQ#NPz7!4X{Pt>G=j=OS|+S$mrD}t#cO38Q<6qss!`S z6&%6*V%&;g4zQhh{6-Du@hiAha{CmBsiDa_-X8NMnO6DE!X4GE9}{FSAntFKJ5jeD zN3MK0L~>$ur-3F`G!OT=u<33u4X;%1ODX)@+p z*+6V$$s9sNVhY>=KQsYn2OpG`Ijl_pWdIb5kRiJ<@UaqiT~h~lWH!{{*pb-~f~_V# z(pXrT(97=t1w0qUVJAM}C1~+OaZ6i))NE{<(*SN22d>!CQ1Q+9NTwdlBE^XLlNu{F zHAAkEY>IG37n|b0Qt?WtxZd+9tKJ?}azP*Tr*M5rCguXUIohPu_S%bwVR;IMbav~NJD@C zTcMUl0bBoz3@Gluit91N{jMVKdwUsK|7dM(-xe8OCajORO=mED7XCx1%P%qyVmP?B zRgQLnfOAs<%-kR2sUxgYm0`JISnHmK5Z1|cjZ{+_SZf54oV~-D@*dx*$T2neq(~gW z6!b@fbzN&#bPb60Xj?~M&(m^i#w2^2jD45Sj@*?HYKSImK5$pU%GzjxRrMoC>>!C< zM&p@PSg6FJaNb6+dF`{Xq|GNSTSd65C?%DrBBu z--Csk`8|RrrOc$Bz{Rl7Qzs!foAe{lH!(Za!H%x^)M={6_b+4_+1#}gkX=nAo1yIk zAnd?a2wkGklKKGaJ^;ezD2Qes0AbDX)i_Hy>iBApkHVJJiW ze1O!-Ds`!o8bUYQyGh`3x;*2ge#X=PjO6F0`abOG^AMO z0mFmTQ2NkaK)N~u2W;)Yw3vYdw$=zK}7w2n52U;*{Hh1 zaiOUH47H0ey$W54XMe~m5hHo?+Yuvq3o^7@h`uJ1G$oTWG#Mv1C1+0t1U3`%Sh~)7 z{Q_tL^{5GafFxyM7tysPvv><>*6xKy8JKUK!qoAYTGp4Y)Wf$Tbr4fmn^dL4{D23c zN!9|S+CteBz&6v-)Gx+I=xJ%f~Iz>`l=oEdmPGRKp2z>3v z8d3Vh-I3VZqSKT<@$?c%`M19op-)@{Lg$jjBO}}aREx+U3>TvCvv+=|+y$8m!9vJnO1kluprs1yx5uR%QHfe^m7Ty|6x!9o8rEVP}D4A^HTZr0C-l5HDo-t6=|# zp1c1p2!Zk9g^Z%CTH|HeCRQ2S#45?HNV1c~aX@-suAm{UZ zj$2RMW1D5XAR=4vsdhMgf?IJo9AY)&1QGeTPU(Y)Yy(@c8_Gb^*>Ee%P|k)Mb#by= zPX!VAQ)KmH1ra%;D&;bAtklwksR7sG^b$^2w1vhv9XF2#bS+TB%;C#mP5Yw;#sxvH z5g9~ebg}iDg{S4L-wp2iQN&R}d@!a79^a?r9IvA*oggBNC=we)@ekdat4kGdux7S4yA#yTpkSO8tpR?wJ{v1Du$fan$C?Ri&+*0?A$xuT6SP6NC z<^_`ILNMx&rjnOO1rb^GhH!LuR1Rn%`4BS0+v^5vr^6kQP6vmdh`)i0)94^mDjR=8 zna}@33s7Zy5-#TaPqYWL&Rx@E#t%t58CuG5;)k^0JId`q!dm9@KOwm*z|K7O09bfb zC7mrkYTy3`?4Qt%2UvC7=YKMKr*S-_!f=bJB`1A`&VihI@Fy+PnpCR=bjL7)=X88v zZC4^EtvT`IhqSE)d7z~6Ll$7UtN0-ng=Ekc!~@nsZT$ElBMPZt2+Q*-U8=xvjGIO} zx|GvwA0_8_x>S!fMwhw}pP^5)z%sAiyyLn1bEAJSfJTrI>2mz^3xm2 zkN+TsMT^o%h4LdY{%{NB$6s4$t&mUQ&IO;NB!tp~| z?}h>t8$ZO4p>f3zDYT3dbQl7?i68QYle&|sI)2DpCv_83Pi*`U7-ox&AM(c?veb|A z0vyog)Ey$1d1~DFA){(wE|)rfNS|iVFiLX%CvvxEVhHTvAfbqpL0aRd?a@B|`Jcn^ zmOB6QISS0>i67F2dDTO))*sJGURY4VsPDt33Q;8@!!!S} zNjl@4P%iS|h^j<3r+L;2szJ~mpTK{yJ+dCD(j#hGDklim*|A+Nu)5D@#>dAx-CkK438%<4 z!bq6236*j=LHMt%-lK!VP7qeyZcFhZk{TtTZ$U=5w9|tV8}tgu)?RIx5>kXI1sXt9 zgR(j#&ZQ!PQ*;FO6prsfMM3-^bSj7nQZGZ;d7E3Ig4|B!0)CKYn3RUdL8>1)k*_Rf z_p37L3hD5I@O|wHsfNM|B9xF>$b+tsS8#Q?LbzX?@x8kn-Q(zilPO1pY~}jc%7&OB z^l_hya(!TilaH^gDGlwi=f}GeYz8NHTpw5Ja>A~U-zz{Qpds6ch>q(cLPV5^9>n|$ z?$3ybGTBUTKK_w2{X9N)4!SiHR80Fls;!S01M7(fj>=G=T_5Vq06T;cR9LN?E+3-_ z0`lLm)kuC7-xL*rk|b1!%DbQ3-R;T=k$q>5II6|i4EA0s3 z)DuU@HOdi^2{OXc=mp_wP+kx&YsU*BylllgPCGq51mF&{U6M;{2L{?W&qUOtCS3j`(+nMN-N ztMzkgfV8C3hSm9Anl>cUPC;wTl>L9yeF=ONMfU&XWH>t@k*Ej(SqX}ofGFV}$UqNF z1m%!jjp6}b+O*y{dXu)#n?~`(m*U!e@Z1WWM}6ka;%9>}!qGp!=3D zHGcRRXyqXSLRadcUs9+-AiRAa)k8}ubT5a-zd4br$Dx0q{{Sbfoh_%9%aEe(@bm-4UBH<4RP@Y2xS_QkK z+M!Co_W`Avqoy)=JFO95&dxHU1&Z;;1&YGokJb7|YDa(MqD)ji==_hL_3?yy{>MT} z;>k9wN#BM-$Q|kAGT81PJ`sf5#gIW7GKGB|yi9QoFHdM0Z#cFe(E1Dm_d~~=Y1@Za;sp6@pxepSp#l9(8zG)$A0R) z4IMU!fnNpT3v6NHek2YXT=lr-10^`$c-|N#FSEWwk3fCl^#pZ_H5^) z?DRs-&PT;DDtBCGcORDBpDQm;YipvZFYN{!Z1(HpiYTGi%swDUPIgSiC3l-!Br znl+kt8zQtW?y8BJbu&I_8PMS0(}i#mR%mGZ`t%X#X-~5tZoaQEO1LL_ zp&S9t+IKueZEdA1`yH5;K4Id9Kyns~&H|;^4&A=c%v)?LgcJWe zpcm%J=>kXJM7)cw1H;2YpUDO`T5-0}-`QRVI*B=b3jy86;rkvH5uQwRqIX?vH_@OQ zJ((IpcprE&wc&>F#WsxmpKk*4F9$g7aJRfgVS&Ac&~rlco^2sbMTaG$TO92vkiCqw zjK`Vd8v`Dz+s)0?b;IsFzyVCfz!GU*TAtw!nzMxMaCE4QBBMXjO3e;GfedViZxL42 zigB>RzbD%ocKEfZ5riRjU3%kB-Af8jHNtV)6WQQzKFwOMJm8MBB*+Fofc#{GpTN^# zg9k*3cE7HEKkJ9ew4%17Wdc74BroXp9>B8NM!J zMhG0ecPEl4K$A7V zG|}WzjV7yeKzEHShO_#Hz`%E>zoS7PeixjWCaEhgvRm^$`#VBZ@3Yx>O#nmp3FE|6 zEdvH@dvaoW>^5e_XYe4~{>$Y-Z0H{fX_$OFCDH6CM$b!6u+Y>x)XON)_X92J(j{ai z2NUg$4{}#x5P&#;Ks4<{H z8U_DO!A%hC`%%rs0$X=cBBLGUFt=Sq8NQ?ppFM;OoAJg+=lE!r)Au_4{2M<6I=GOP z6si{T;SeNSiU8$t6e6mL%5+BUDU+sz{PPuu8Xwr;a3)3?S!7qKCO=zbtEyn~V+I`f zz-V0@CP)I*-`0queULOV) z+2zW^|0Me#); z5+%I<65n_9+zZ*_zN4q`LT6N8p!<$8t;A-5#nCH1Hn=YRx9&UoI_-R2m--8bBRBdC z-oo8?Q~*4l-+f18xP;jd{ek3y6+5yYsjPEk~#FFlxh@OlA#sGSV z3t=bGYyBe}m7OS`GHM;POg*kjeBTj`YwCAZx~IYVJ%ZTttl!&f4fP9kRpR@OUI!|5 zS0x&RK)4Yu)HNI0Rk9DE=UI=gz!R;&>#j=WOu>Mw(gnHi=&%c-=Jc*gy&?Q~d~z*o z-1tVLFg_WIaR(m&PZA$$GJfG$QpX{#O06GZy`A6CeMdCLq7ljrJnI>u@OpvRm8-28 z>^dOEDBo$9Veu*bjavIcmdyE^&CPpefRDUJs zQ+2A#{z?}ihc*RqVd8J`hjG`%97^*Hg0)HM!4c@^jbVrdO@Iz= zi4ZX zedfIoU#0X?)l}86r_2F?1HMXAkwLj(DVtYh9{iPNaYh+&;#OcIoT;A@os1y-lnPO> zxaVj;Y+HpVHQT`q)Tsa_%dD5N=@f{IlA?C?DAv zSlvAzXX&TZE>O2{eoE~D=mPjDCA_I}Lf)@vTYBmd44LTW(fQ--ZZ_qi5eD;+=>_0T z44H<&kjI#q-5q(P<>RgLjgSB~MyFk&eo7DS#Av6kpVC(#jV}`XBWRYmLmStODnNvK z&ruUSv>%0jL?aV#-(R+CX_F{)GeYg|L%cuRonE2$4Gddu!tRHVzCptlwQmF#2Li@P zEHI+`DIMgdqI*CbrKkSxz~T5k(uZ>wA43oLDLqNUgW%pHtA0w!8Y?R$-+_1QyCa-EvW;Gaah(@@`Y_a~=Sg}Zd@xW870ehajR_fIuli*L-*=f@P1+LH;PFmuH^k!Jjz~E#-ok@`}>XN^)xPIoXLs! z#K5P$-{@B-Fm=xN8?EQuA@>`-GmDVV_Zw~C*E;tbeT{6YiT^3R(&+F8>i!C0GG9iz|EF`l-{`lkSWqEn0)0p_ zg+Gi#lEYuZ02z&7ZNBzw7F_~TdhrUuIj6hdXz6h>CsKBT2!##aZ`1;H_tX7GWg9eO z@g&H=_Z$7P1#xF{zfsaQj8qMXL%>ZT7Qj1{i;exosuYGa8$ z$a&`X8y!w#e%ne9b)Ds8oeE!o`;892Bnb5<-*43ZNgbtO?>B0n0(+Cr4b)b}5;udU zVeU7&fx`9sjqWT4A@2cRv_+PGuhY2WD-S}|MV80(&@u{D7g@6P&^IVlU1YgW5B(Q~ zUYPrha?mtVB2wP};r&LJ?NAj)(EUak1DUZV;6bY8J+DH`=rh!;yOK zHyZwdJ|3y}extd_PYy?y%^~}LhUVYIB4{;)1#1_5orD&z#5xJR1=dLdTe1D#pg~6= zFP?mQy*lV9R5o2hgN`H0tFr-bKHw>H@YCS^M)LY@{de@cWB#ygd1IrKk2RUz_2sr1 z+b6I;KprBSiIUqDDq zFj5fD!_h${NRohWsLw=txV>ZfkvD=KWma1|MytwmpU}t=i&JAB22n05jf#=W2ANR? z>OCldpYHuwZYQJ#IndVja$>=ZDuL5!+@;Fl_sF4UeXR2@n1?F%d(`S+n%!8PI8?_+ zr->j@1xz*KA-rO}n^(K>ilc6@zUdar;%>fi3M5LRbYABY%>l~m#eqe&%1`SW!OMUm zV;!_%gWi;RR|DDN-R>Q~5>81p&3UDuEu|nbCgUmP(b)}5%=_^o#pU&+&@SvuiK-as zB)Pt(mT0sJj4&o(2~npHxri`*+SH{F>p&)B-WODq0e7$LqN#W5dYW*j@r&#oy+QU2 zZ38;Kfo7_1UU7KF$(|;%=N7Z<9)rIY;3;x7hR5+Zs(H&ia@x!1Z9YsFfiX&gRgNM& zl&x!lF_1~h{gy+s*DLm`Af~Wy5F8thgEF#cnZ9g-G@XIK&31k%-KHJjq1!$p`7oDz zNfFJIiE=_nACGeUYt!A;{*Qp$Ld?wU#uFB8dI1*w%kaIGxKHPRL72Q5))?PljzP4? zW;dP*zNs|n25-sG`bd0imCpe@_<>yXeM5cytr3EWF#LdNF)bUWCp@uN?Fn`_PEW%O zTUQ4pPwnL3>5ep0$axU1qnOR3E+C`{e5R=Pfbj~@@yqc_0)YJ_?Ko=HjtK&Pp8)sJ z{0W*?EW3XqKStTz)@*lAF`I3k)}6$hkb9IFgr8?lkZVf;1b$N0cK0b|U0;YQkCo1I zc3eptZu((pkZ<=)1wx$_a&Kq3a|KwSSb04y9toWlez-2e%L->n+1x|GMu3Uyu59k% zW}CZ_e+mMSnppdN1HW zsEXp4G7BX!)|*4TQuk;Mi-r0UQQ`zd2!)*>J+158Q6pv7(Gdn!iw?nSHk#K`nUxN@ zL}ziXr;Y*am-{a!2HsCi0J5K=V65v&h!l zS>fDHXkI7BoBV5-bkKe(nwb*7Aa+UMkoS_qksGNx%D+BTk+fe$QaQQ?5N1Hq2x8Vd zEO%yXXYm1oq8MUrLouUJ3?bo{=|*-8^}ncBUM#Q6l#mr^6VNbnm~6Hd!U0}(Q_3M6 zMs)%c%-JLqcO4ga-EIISVbWQ<09& z_>E$@kwcuTvnlQp0!eSMsB$BRxTik30p}Mha)*^0J$1Qpae$e5zf@@w$q(=|iw!ho zzRJ%nKQQw1#Rh)P5&T^Bem&x&j^rpsN^VF-J0UqTrUfL2O%1alEWod$EzGg?$nzzk z^zru+_GK9QwC==|v4Bu!&>|tt?I>?+2Sp$_S&9=yV9%^nt^-4-d7RH!7M?PhTACc! z;w6G!1_G;v5W&H;d5oL%bbpmLxed|gz6NO1Ri{mpB@pfP(PQCzr=iC(Ju{ zq~yx4YAxvT!IS_!o>Id$AS^(SKS6$s!_mEGBtNpCHqTUk+_vk2$dA@2hUCZFK_*9C z`O#BIR8613UL+GE)YK?~L>2n1y|MSfe&LP|nUa>@6(bK_jm6{iv7GE8le2wJ_8TUL z1%hJgo4Qc=kc8^MAwWto*b3&3QK+(_?@YZ_sHLGhRfN>9b$S}KzYwWhNQ*!rF(`!4 z@zVW9aSHjN>lf~?3y&s2h=(=7rao`?ZpN%Q4aGvx!+YE9-j~+Hn)Ig_5i|h!f!#Cd zWDVgp3QeLH8bNFXUF2FQfDF?7+vZBIP3md&X=xf7p(9zoNT}KtS)$Ud^}_3v7r#pf^||AB@lA8pp1~s z13h3fgf`yIgeK*eB#hAiN+!a!+R-}#UhQs2>vZqS0#DV-YhSm3YvW=65e?k6b-;CD za0ir~6JcUMGcI6AR5c}99#D!X!i9)1^j=vXy*Kya!AB^qUz!1=*}YR&%HCx?!_b?I zFWaP3J!#-Y^yU{(WY;7JsM=Cmhh~EQsIhB@5gT#hMBLtd-&rHT@LJwSL^`ceWx-}Ucm z^d;=op)WN-+0nUS`ci2CqqMD$z5#GH26sU5O#m6+xg$W|$|i!o6%_FTBEr!ZTq*kV z8XAx1i;eC2z-m=C0%dQ;nlQauMilxyWn)wRW_^4$`NN*@AS!}dHYej{CA}o!rI20{ z@lrr933ypTFX()ubHKLwH1vY4+!_YIarjlp-N)8XIvyge9!j_iT+j)Cb?(~$&=Ea zWUt+5^UPAn?ri~stx`z(aodk!J8UeCKKAo)u%r@OKrs4f0)MKpzyZ()F!zNGjxk`T{QTSV%^=2T5Mxw+V~}TbWd5l9rUq3y zv{MB346QUdJ3=|UopUnMkq%e1*EGsG-{59BZiF;=9wmcMSmFmHx)9UdS#Ablw5kLc zy{rKVBF1!b2s%}{uNl+^5z`vrTHL>4($pLC zW5sJ=ebZJ#;}$0KFe(Eaa7mgwSz3!U@yn+#M;9)=&2mSEZ|ZZCjEQd=9ZWFwe9bW< zW%qH5`xF3pRR9SDz>FW|`(gnAQ^>zsCPgB`568#eMsBRErE%L>8y)FQ>=2-xx zyj!Rg<+D*}T~pqvlxZdwZZ3Oz3l4r3Ws_9vcQ@+A`b_5^*q`o?Z0=ty*r1xX*U?SN ze*%S}hW_1*f-Mk;tgVKk44%R$c3#B$rbwZW2TThmLGkJq(JWvY`Ck?Jw+32hR$F)_ zwo$RepnGf_ngux*Kl)m=Sz-X{yF9pQr$$oKl&t3_(<~j$qGCv*MbvK(gD?(2F)Y(C3=RjdT3CjUlg2P#P1En-xnO8 z;rsQU#_~eT&+yF(f|udDGUWTohlBIK9P<DULcrNaC0fl#A z&AenKUhlbnu^e#faiC zN%r6xrXDX+Irp@FQjYk!_8Zw%0x`su`TTjV%t7k2RGC&(nf8VR?}-G(T7rwz3N_Lz zgwi)4(MC*eQdPN@zJigcueZlWiXf?>M=TH#oa1t1!~{f4STY{G`5^w@!r%M&`wo93 z-^9dR5Iz${6VMEIx*~g<$A5d0Y?LazwgUS6?Ly-Jb4ZW>hDB8RdeW}wmoyyRj|ZVZ zL9TLqS8zBc`Uv~q-@@1*LFy&seB}`~=m1Z9yJvcwt@d4Xr3tWi|KRb=iW(GYtNlP3 z1{V|9J^sTu1QF7_*wIlojAf7qI5P({pl{PgsE?o^4C1U6T7O27j`(!%JDsR}vZwre zXaMtjp#0V$zkmo1NR+_*1&vP|Y7g1V)SmakwMRFm>$b~+_-d1{$HQ&onZF2HniX7 z+L44|iQ`h6=lV{hY_UEtuai2%cO4-4zmh$eJ^yGLqRLcHCRnLsdZ1&kzu zk<2jSRQcIp`McMvLJ!ezI2nfU_)rx>kPA@Z}E|<;zsQ1N9$E<=>3@C;AQb z?@9RSO-B?egdm9!q*~N1P=L)74a5~YK4HWGM+SrK$8~7nJ3!zFO3_l*>}f*YUc{ks z;|O>bfX^V{qZoM5dcuwd;6H*g8iGGfgFmq@{96zwd*;rjMIqRl!jwQ=ng~;?J4bJ# zRdFpv0l(`hT8b1jAfOcOP)3oOLU=suiuK6aW3}2x(1e7LCnHDDB$+1*TxK-(-asy( zj(MXkYMKy)Tb2X~G^>?Ile(EnwE~V)x!-_BU>jAN!*)|5uuzx;%*A zjfO&-hT9Vs{d_K;=EQ{s$dE6Adi@`FAA1Do5)}zn#L$oM&ECe z7j7rxv94^}jX_^PmN5R)J=X@8=zsfIZMyqMtcyj`<_J%kyJnB#s%-D7Y46x8d!q-~ zJoZwolFTcOtGzkFzmH6F9iB235d2BXl{bm$XJgIwjxyFv8HAM7f-A(_L9aySmj?P@3pB2w{`ccs)c-YxxI6Pm1Df5v&fLq;OQ0u#>h}jBbPua7HhYUf>pCxZH?Pm(vw;6>tSKbw&{zS@P z1T)0|rm}Ge7^MY3P~%^R5(d)|975naBm~pVK%vTH`~*-Eus1aQZ1-&CN_!Tda~?+L zJc7=7$_a&0>yWmrM@eD^=7l#xdgk7njr^~1kgqp#7~o+(2>q_wQIzJcs;*es&-o*y zK@l}1P_&GqVS4y6d^YyIpD-k+#_hQU&3JJr4M`35->8u}TT6iLNNjQh=4IX3xI;5G zZe&BCO`tNAzd`xCwTR?z{r1Llh(8~D<4&!7)+u%Enf{{ubGA2XSF81}$KE)Ac+~&g z?Tu$qKtu9oK2@L|d*f~a{JiXqcBg@V>U9-<7<=Oz#5G`VZ0G2P?2Y9j#TnQeSxBjM z2!pH-;oo3+e%tQnUs_i0@ zMcs{vtSb-iLU{&x*b0dt58oRcBoBYbBq8MC8WCDo9^P&MQ-QQWV3bp@33>P|^tC}A zuAo9=lyN9jxeY%7k-+kh?LSW=SB>Pj$W;^PkRd}=^X>!4AZabeAFi7CtYnOCN0ERR z$D-9%LSbQcQA`qEq)ig4IWtie)i6Xd7#2vFKn5mOE$50^H)S}d*`DOzxMU5++Mk5{ zQJ5A^&oAqVr?_v_v|1kRso57JN8r4sWEw?bAOeIM|L!sB?;6TOVkjsd=$qvLjX@$_qjP5 z%Mo{EY$wiE6Rsqa<`U(nL8{RxvS8K+eo#nGI_(cq%@s(%^r;{I)V~Gbmqdnv|IUcI z@RJ1mzlVYEMRJ0lP4GvY9{w_G0KO$0{61meuOyoW?H?GX{VM!Fpw5*FB+&TN!t)!+!%nrNpC4Q94`Cd19`T{I7Qu})a!$2-dRzEBL|c~~ z{sbdD_V?R?Bi!x(N25%eTsc0nBj(pj-V7|LkQnT_tQS?rEvsNd7< zAvt1C?LnH}sx4=}ALjd<(V>MzNQ-tNfOxeg76)#4n~&g}d@LvQkH)7jQZBHwKg~7Q z93}D90II%`aup?FW2MmX8hfT zzilCZ6sCpKb7wvA6t`PVtL4$2bT%F>kJHomM+@(&e1-s0QpRDo*IYT)8N&h}^&~@q zwZIK0>HLFIipACf5utQIAn{g9GCRKQ8_+*t=Vt=;ANaeT`Ox++hO_?$1P0maLQ?e$ zh8`E-O-=t1{E;I(lB?vD>qPVQjS(dM{A~{rsR)WrXrRpEWEysI+LLvTp^{ofA)b!gHcs9_;*{9h(?REW9SF;^lPIxdbcJRtZ06NRp zApLa*%4hwhl^@VwWX&w55=nnu3rj+Y=-rV1>K;%p!TPHd{I2VlSWSObD~}E_>aWWo zl!Ek^rcr!NPzmh=>ZOdN|CRMi|1Sy!jpmYd;sS7JmZ14=s?Yn5EpSxfxHx`izBGPahtLGm^-Ie1Q;}8NS;A9`-LABN#I9Cgo`6@eJPp z#L*gKId}pcq|RR@!n8kQJf){Ut$)MP?+|^ePn@*2oF-YQbN6YSWtG+zqlP%}BdCUK z=y!o74$jdkvhF#qBu5#H^g;wv{b*g#2w!{Og>dbU(uCBfm9ai8&Za({!`CP7EbF7y zQ+rZf4f6f2>cJ31A@=?4Fo1RYUX5f+eh?yvHM)}x5Ze=sq4R?(-yucMX#J~xd4Jur zB<};fY_#79wuE@LoiJAiX3B&mrmv11Uxql>_GDI3s$ST7)F^E9`l|K{yMSr}mSm_9 zu&+=-p10yi8>rHkTrWhVmm@bNa-@*HG+k<_$7GR$1U5}6(n^me$W{4l6E)T4bB3=C z>S>&B7XBx}^Cc-Z_m_V1N8iEg867P-^EzD;k%j#M4jh1qihgJF^by;Glq1gok60gT zXh~x`(&%C&AQOYfC&5)1f+_kq%jRgB;y0|<@p|Uf7EfBID#(SVSx2$S@7+wSKZ^xU ztncUxoHtR$-q+^muLxc636|ErM5GQ5+8&tCZD{?N^aX15f$}4~<5Ybi7Q;^ma@D`; zfD9h+=;IwsB^*&6LHVk_5akEYagxrsjY=e)@mn8soDZ%KmZ;iz7=1@cF|lC)V)Bf= zCjQ0j6q{WV$_jK&7|k@l5l|HBJeKciF_v%x;9279j#X!guWY~yAyGs4I`!IV@pUzo zNch?X^{OoE9tK}2#WZ!2iykJ{AM4C-Q2$Z=-({LB&)e&SPa7sk^7cx(YcM%x_udb~ zWg4b{Zm>;ym%6&e(<~Oll{hK)3B+4Gj@W3c6gMx{j9*7=0)D5&CgJzq*q->kJyyo= zsMxXiwZ~4xZ(8hZixl@xY(DCQm$zeS@fI(y#nSvKUS5n{FJ7LBEf+73$C6+`)Wfl4 z&EX|CwgxXYPi`zp9NsH;Gtc$oNRE=jiE`r)ZJrkJ8L6fC>>Xp(h2%2&fbRcgPel76DZvV9Zzw zn1}!q)CbDAX(9#8MnIeh7)&jHkQ$D#M1)zSmRsnPf(Z=>rX9ryUQ3@8yix=Y5W%n0 zCk3w;!Q|wN)GyN~1(%E9aU%Fx`lR6fBACWbNc|*zQn13o)*OUALhlq-Bf^$o+gvfi z`P=4sgwPCp7Teqp@~d|<-FF7Z#*M@i3zy-^E}=n0i>g>y&rEug$d*7N4@E?r_SsNncXVbZ^&own??dLTFp)btp&n zuA!Ew%{Zo9hOl(cYwf5ae)t}4^Ib``oOFOP+q`|+88aw9qy|!xm&7p0IL*JrdwVAg z{SMgn98+78p8DDiRP6jDd&IA{NxvJbqr5;R;Us6*$;iwdBq^id?xyQ8eNQcW>XYFoQV>M z6Hx$h9`X~XAvN$EMXxf1@!xVAnYd_!H&T`o7SlHHBcq?QZJ_{mDZ&-5hx z+}9I7cgpy=bu4~{PsGoV*;31`lvQfEu7Dq_SMp=UdVV}t&X1+Uu~N&$3O^PRkIL?) zgbJBmze#qHiq<9ty?xuyfD52EeqGdZ)0V4|Tv^sNjC`b>rDLgxAi1{><=VY}gWS6V zaxd04`S@6yr&%(DUJDFa5s7|cPbLvEDw*WQ?a3r8?oB2MF(nymXkSRVhX6C(gH6$t zYyf^*%Je29eajJ)X$11L9E+d0vB=kQ9AzFS<87i0x9-9Xn5jj#Dm^a0l=6km<&U&W z1HZ7aX@!ZS=$Yv$J45@^U|WYk}td}6FUqSPKy#s#BP zyLZ%O*c$&?dg|x1cF3-6=r4PnY3Y+cA3Mz3IzgU%66r-^+5IWfW22I&l`kA%7gbb?$9%GhYU4)nHqgh> z&h9o#EeGIFP5`Epfa9LPt_;;X7M?h84vm?{oUtrI;|$kTJSNxeIjn!Xjt;Q7Keb_I zg62E0jrBl3ay85@HaVwZlT=xAH&52WB*IQwxI`p~S2xz?1SqxAogW+;vEyFVr zuHm3kpy^^lIJjCjQngSC9%y}jL`PGetsA%jFf%OAH&-&Z{kxPOF5!(JG!R;Sx zwv@)k1lkYK|CRPrweY(xztVoHmfrq@YWrc@Da$&AX+N2EWsP7QnliSNeiz^P#NL7-WIoa}j=n`a zY5tzj`8oY!9X(_Zojz}^!V_xQs>s-&h&!#J)hhA1A1Zi1slw|&I)!l%9f8sl21cp1 zxH)!MEImPbI=<>StLtLr*z)NxRijD=b%^xu4a^6g3%pL>gn`#tz{}C#Ens+q%wh4c>JO?}Fg-#fQVdyHCI?{z+}$*5|bLoj1QYTw&-}{VTU`ga&W8fLAuCE#`F2 zk6+SoZ(<$#EfVl5tJL-#c$V6CVemOK3_jZkcr!G3(^Ytysr;c>Pdk_X5PfYJcq{(H z_%vzoYL|)jT>yBwPlkbaqky;Mn2OKE7Y^PpxZ|Y`{mOpf_9bfY+NMZygKH_&5!obm7|f%fvA7h6s3teifh3J$2#a%g`|N+sA?|K3RizoeJ*)^!Hqx zY*I(Q+$Z1_f3LQ0YrzHU52M}=1FxC|S^NkM-tY?tuXRlrc#8zQN}t-k14}O${aWMb z@jCcyBjC-@;7z}9@P6qZhF?~&;EXqE@M@o|LqFMbv0N65^ENP%_FD@_8?wc58YG?C zyMcTWFpVd>>tdITC5Y&Q%(X zQlmH0(eKKzjx$VY?(V=4uLoiR@NrRev|jY{R5Y*uVSf`XnB|~2o~DoJ2c{<%m`xaRcw;{G@``<>wM$_ zbr3xPk{+RJG%;mZseJe;To!nglD%KqvkxEa)5=Hi zVXV^Igsn~(yey(*M(2eGJCXB3Z_LS6B0FuxCZAngeNu#9B*mFSxC^Hgha;h`SE+SP zLX@cMqHL}!9OZE;D2~`j#IqProQQ*c-F)N*9b!W#=WXN(C`<(iK$ zV*QIUOAp$wT#A(bD3k@(h>P=mp2sdg%2JkEm;aUi;>rHNDbECxoTfMk$D1 zui~>FdL^p0CVD;orB1KUS_kO$M+MWXR1ey(+>ex@^qO$BpjT;I(CaBAJ{`SgJrqi> zkNy#sUTvWp>ZjMVj|}wsJ5ePpy*g7eBd1>3p$@&szzpBNcDY08)mhZ_Z2H&RB$LC^ zt4WI>dYx=uFTG|YidqxBzWrRMSC@+d^!ngKrq{)K(0*kjQijs26#mgPXLa#qpqH;z zD7~=%XyH-XvEyetLbQ4fQpJ)EE9|o+0eKlR^`AAO|V6DoE-orP&^I zEqd9$oBEiwik&h^idQMcmt%8^H|C)SL;L!XSwh~$2lVLmhq-^yK7E7k`LPMG%Qr8I za@%sb6H%_erIJFd!eyV>21?17V=4#n z$&!2v#cEFF$}3LcJ~gzBW4=bUTY57FDRw&WUT1At>t)a^&L3C4M&DDYXMaYPhstN zkY{YlO{h@03L0iI&pnPI2jO zcploy(mKUao#`ckUVMaNIN#2X7Ol;rgZEOtC^KF0H=^Ev=!kKp17f2<-bVRj%?N;* z%(XAGmQ#MztAd|cq2_yJ6y>MZkgntNEv5sOoHDxDy%>g9MOuCzY$UN(2u7l&2=srJ zsiJ=o!b(k7gdm}iQsPYK3T&NPoi%3eDf8c1O3(*h;th1b)N8$CXolpA;3b(r} z(T!#YIiJMO`KHk1Pu$uJdAHCHtlaq&)EvwHIL{8Bi}0!Zt?3Nh<0SeS(NUQbt93g9 ztK5%Iza)fGA_e>v0a8;)1g17SgFu&J4-j2Q;0JHuN&;trR?8*A5jUDpP`C0w{2jrN zTV5z^-QU;Pe-kY3_i1S1?J;N}_uNR) z3AT&1Y^GtvR{9aVm!aiNLSFP)9IsYf8J%XXBxm#u5$Zo#T3v2)x4@aVSa=~er}Fsh zGNo(MR50iGV&RW570kVEuzA8DcUo7R*%3R;9o^ODdbf$)J+)#BLDjIO{4xW_ex&~4 zY)$2n|HE59qSJ6eQ!56QMt22IIV-dSw&~ziEa<=m0 z7BJC9Zu#thQw@*{KdKp*J z^h#vufXGH^`7?k^41de4`&H(yB(EDoa#=C9s$nU;BKd_!*L22R|=Re(Lo`{FqOVpJ9IBr{=WyNfX6iVEnX;2*Qtq&-(E5 z(G-E7Obm}g@I$znNK;JSm_j@3TQNgY+#4u|X@Ln2cshAw?q1fIqKfcZ_GKZx29B;P zvnohTsaGO=Ke(xqdp-0S?22+_!U(b}NT<<#Hgs7{I?e~M7UKOtX_OhScqRyuF%h;b(^Idndo(Hs^%|(;=4bRuc0AikmJGi@l?TQFiR z<>mp|=#SBzusg(j>OJhjXyiBy9Z`T`p_KPLVsUYJBC^mXjo;mQeef!+ja;9|h36&V zQw7A1+JSD3BSe*l?pHg;hY$?73Yt4US>i%CPS&D#AR2}u)hy|=oRX@1v&Tz-@@4qP zSz&ir*^b9k*zuM!D-3zNdle0K(fT+%m}$y*;7hM|57*kBx|vYp?9M$M17gA(>A3ct z;40|ho5PTlaAw@v#`+(Uq7YUr*9ttvFLbbSNo9=9lMc?Z$6{+^I$R;_v2l2T=k{nb z4!MrS4|2Mj#p39AV2=t9j1%bA=LaT18hfS|fGjn$Uo-ip!u1%CC?VPl%ZkYhj8NTe z?({f>!rjhl!XQP#*qu1Rpaij1ttJW>)Hc%*eYzUx!>Dl!`cSyQ{tpvX;-paC4b!JN zW=@|nI}-1~SAx7D(J^Pn_{>C#i<39pb&tb&mt*=&e3|79qo+-t zHa%-vBF+mg8<2GOl=0V6%c!#O^|iuyw8jxkJQL{Y`y1#FIZ$q6X_1fqzN8)1)oaZM zj%TC6h)sEl`(h4WpWI(aT)Ywqiv*3;bLhPyu_|#m%DZ_S=coHW?2}DC8l<3zMg~}y z)q(YHfe!1cbAz>g7-01gu-3{Awd=0|SX=g;Q@d^@SQXrenA`?o{jgMT*DdD;%Rh9o z$$uXZSUV)psJ3+wm>U4(`}CX|^#A~Y>1Pn}a9tS~pXum%Vj_nK$5~=4(L1aw@r;1v zhX<`y^`5o1WR`;;av^Oy=w){w_Z!Y;p!Eq%Nb>%-b~$sg`|T%e0>nhhuMS1q!>{97%jx6zbWWOsPC;NCYYsC#KWLgt$=55Nt(&(5GI$ z_fWZ`9I1u;QEs7k3^h775>{#=vhgGW35W3jp(X61COm<04%w}0{#I)6Hwd1vq$R5J z6e`gUyEY!e-<$Zp6B6ZDyf>sz$^li^C)8wvJ|R(rXqcvaIUT)jqG+K@202~>T-F~M zXtJ(9SbHeY9)+wu<{=L9kMZPQ))PfqJhylH-Jm{5wrc7_#(S{(7EKUtR4z|{}g(G zQV7l$7hsCZ4Z`RJqG+&Qs5I&YoBL~nYGB-R^WCg&wgyzg-n&)AUwq+JLt*`@VHi(V zeGP&0${-dvJOQO@hb52YMxSqacC;&X1%^!fpP@lU-) z1I_`^muXN3_X;RKSOR!cHG+mWX8_9Q6=&a^S%3mvFdICt>Vk>%>fs$$vRl^$g`!6^ zpbJP3bR#_=3IEd5%l|u7`A>bH<^M}{9PVygvE}ErC1oZ;)A0V`ZUDSjpOq%@X{H@gBZxB3TNf%ZA-vD|4 z9R5DQ_cTZjGyWQq|Ld7&Xv!S|kXk_kUiP-7@dULEUnCj{BE8a0KiZh0fb~FjVW4=7 zCv2%-O1ZxyWr#jtUC<6a!Q!!Z`dxX6cC4?p7WPTN)d-N>xNDWfrp;rGlf6&eiC5V@ z5W*4y+>;JDITU}9b`MS|8i)-+YZ5sD3v9dRejK^BDw#sm+gG~O*i)6vj=&!^2ol@w z{$A;xKtfyC?;fUrA6Fk(3ov;kmmI-NjI}_HfTjMuT=Go}ZA(f5UD6|tL3dH(RUJ>Z zLf}jfG6ptfkeue)6LNgt3vo?(uziQjc&Y@f8Nwzu`oN55uX$c-Sh$1mA1tkV(Ktx6 z;vt>Bm?EZc1CqHXKw_!^vvUQwM*RXyXRLz2W*^L}Bf@4M%r-kZl9ZPP;q2=~5WO)? z`vvU5y2iW1%VLIv^=I!FlJQ;$<6SHm;2?Xn8f9o5ya-Y2Sqpht<;vJ2r_3BMnI<3$ zd=!IX2KNoXt82hV2jERQH+Yd6JXyf|sZRi2-S$2Hu-?8C@10Zo9__ETj|OsR-=+rP zbqc_9pBuc6Dm0mK zn0r|v`iK>Rd@vdFFzN@BF%P4DFpT+FGqGLno4}CWeF!pqi7LOP+-DKSHvA8o4galf z!*~80WcVkT5yJG2cRF{!^f&OzRq>=R$GqadWw%-nwN|t#{-$K)DaSJj&tg0iQEAGL zSM+4gk5}x`Gd9KM9@7}15!lp6{K_5WCI%|*B&RWi6s$vzD7k-y4mp7nuf%YHdYZE2 z2T~V)EI5&oPclxq<{h9)$T6h@y+dLA^c#7RQ4*3YN)t8sa|BOVvKvJfBX}PG4uKxH z56?~zN$c>g`DX>zGZr2_d--3e$^QzL|IL3Td4-#ugnniD-=5^WHlHNM1G+?0<^T7X zYrz3^sydj3!=<1O3P>HaMP^mRtLk6@+7m_{$eu{t;|;~YdI01VI$$8?V)(9cNaZBt zw0l;OY6(^jNx{nD;#PH(Llf0rz*<~DMN|Zyl>;Qq=C(2y6E_nV6E|aTDRFc9Vm!gh>G^mPAB*Ip za|}%E%Y~HZfk4Wy%ERSY-?@PELb`f!kBOs&cVc|sMPfQgzL6xZ5Ex}V5gO}}0j@t2*c(*`XxPTSoo8(9#pece zbx)oV&xiJ3ZQwO<>I!h~bE@pegbvGo(g7sZ`g(&mX8iSRRPd-&)w|G9ygo88mz6H9kF40vG(Pk7 zk-;}!prwc4^$~B(p6-GAsz#Sq-$z|~eXF;fWqqH#;ZLe>A47drqfM*tHxKCb9dfqy zJ>26@s_!e^0{9K#hi-xTE-g7r{NC_q)%RjUeM9j3z(O6rM~cs~z7JmiC*e0YC4k?7 zEOqtu$h|pweQ!M5`hME|Le^KTzR%$M5OLRHOiNK|9u-|HDh-WqEkxAiqSCaU`oLC3 zaxoNMIrJDt>DEd-p!kqdU6SW;Z#L%1oW)89QE4(5mLNeHMDT8i+XB4rBejh8V#LAz z)lZ~=P0S}!;FcE}%8I%2!1az>Z-QaN9&A*0UmxE!$`ANsEhLZXi;7}Ua%#d z46B``sZ6nBZi7911WRF{6F%V}PIy2$gh5ka21@vAu>Udn4Z%+u%diT(wVt?5cx!F# z0ji0$&!2{=6WoW0kQ*G1@iXTPntCr*G_R32OzD+4@Gb=5D+z0#GiFYAOuuJ3zOXJj zVfxHO$HYmQ_`zp5_ zo8aWzl(%Xq%5CpQfh*%3n+h?CA|G$U1NTlb(xlRrD-ZBYCC&A1p>mXX1hB^tEFdaf zY5gqBBeRn6?Q|1u1qqaY^1Ub&T&+w#I^Cr7Lv#T7`uH*w|2h9?7J++AabxNa2{c8G z%bq{-RRcH(^ZQ>_!t|udpe`n5>`;|3hw+7F=v&6$b*~^yG81Ox_-UC$ivJVBP_v4{sji||(^yFaf>8v>v_^i>FL<{%)5HnX2$ z+LU|~N}D^m>}qBA_n^)5h*tea>Zix$n5Pb=$CR;k=us~J&(Py?QPr^YxYe)IW6XM; z9#`)?4LyGQB7`131O(ATd79~waxj!0yURsi>F)zQS|R$h^!N&0GMFA;j;TYBol#hzsgQSkNZClp~qhl5JZo$SO|ygS`L{8TpDCoe=fUPS$zcb zcmUC-rN<8t*unI$kFG$=VTobU2_g421!PV<?NRvx6^RpZDimB{N`#33G8a-pE|c!4sxPJ|3!7vP69iu}a!#RsEf*MJ6MarkjlE zpfB(>;*G+9reJqdF5dQk-YM7VvM4Jj=TaY(mfc{^4v(gVrHJnidPJ?xuJNC!z%;CG(Bgz$&8&_ zAlw18ktBnZI|$*vA^2hAp8Ll~=>8UEM?1{-_7YnJ*uw8l;ax-k+nF6HfcAWLxE$E^ z#@~%X#oo@9p9BO3!B>tv3W3p183Dmgjqz^g(4YRvVx*S{)zxf;vVW@(>vAQ;$YqEQ z3=zcm>@4NUXX(N6q-Vd=$djoswa!$Yob1c;q|@NK@+9u$`N)&!Q8465TU4I9XB~Mm zlK|6(f&c&INm(DYs`bc|KVV9MElsO}+V{OkG1lUqS?m;C^Cr`>+ow+>O^zs?WliUp# zPM$mk-4-lQe!byOl_&jI)Gtq7-No{x)5Rh3S&4y>G8fV3DNj#UjIKMPdaN=t;ase0HGmI#=RIMPg2%2C{J4b z1bO0psE$1O{Q2{eCl{d-r;{gHEzVq?On&~1<;gL$u|E6c zwo;ZSAGZvVCxa;5C{Mak0Lhb-IF=_fQK*n7>&rvrNp&8}lX33_$&&~QH7i3!s6n16 zZwh%b7N&`EHKNZ`p7;g?%M&@}H1Z@HhSZtLlcp#P^5pu|y7DCP$McaVZzi)m>59sS z9q&AV`2P|6WZ!jaRqK%_%|U3$leoeld2+C*L3y(6DC9}s2kXd_hn_tzd9wYv)60|2 zP0n1NT=wi4$&+u3E}T3$0o@jCpNzToPn9Rnp^f#)lcw8Pp5!(UktfGXLgdLe6hQLi zU{jVS9Z{%|Clhys$deTdS)Rm|1<8{)a#)`H2DubG-YIxp$P+V66Xgp;Hy}^SF?nTk z|HtNr|Lovo+1vav*+yIxwG;Ldo_>TyO}JXTDQT8nTd&iH1KZYz2Vjsh;! zlOUo|n3$HN%+vr}nTrOxLBW{L*K5KMKIj?c(xN56Duw%A1!E52`Q&T_iTPy5bUMFj zOi`qNf~Dl!xU|NH}!E+YNjlTv4L{o)_xZ9h62{g1njvjEf0i|svKPI}1E$`6e zuI$NPPmO{DZ@KSQhT8WH1%jgW142;5a#-_a2$MajG~fESr-i&YO4+?JE{^G`PrH7^ z8I04ePmsF-s!)Xo&W5X@uQEO&4ke%n>x+mSKy>xSY`%O7Stsl}>5Vz?uR{7FMnR5= zc%X31&02FrPLT_fEg}Jto)dW4!vQ(tD8efWaPzi&z}WB%D{$)E-f(#dLWb1#Uqxo=Id;kqtc{dK;( zQJ4{i1sDs8pt|Sbz!RuS0Wl=o2Qih+ab$V4m#ERSoN}QvrnN#-pOV zx|02Mb}X&OUx!LpW^DowsApdBZ2ouz1g+`a`wvzotH2UQWuhpQWf?X6o@Nip5qoM6(lN!dJG)%=(z&+SZsTp< zd-zERoAhG5jzvfJcMOxJO(0Dg3j>@2g#(1Rchsa>1lw&vO~B4hhN5N`thUdP`${1xL*zweCC zBP9PZ55Xxx9rP_Mc2Abs?pct4>umA78eJsLmg+Q1xl@pe_AKHAthqQU3tAVIjlZJV z9MgtY)P|n*=9I(cJPFHU!$pJ*_W`pP z%4m_(nIU^{br~*HOU*=mU#6lxQK)V#6>{oFCvcn&9&mS&YyT2zP%mg=~U2 zUnh`72p4$d+Yw3)@TF;?l=cQK?R*l^#4i+@sD4`!__9WlsyZ7b?9yP zPQdBg{ej*EAZ}KI14o${NPHY+*Cp}5=4e|}MESc0rT!vp>PD2hIigguuBUT3ajfed zhP;mZ>LKTEcK1)pgKCbh26EErw?qohTv2n*ikyXc|qd4)p(Fh47S zt`fX!PHW{v1nni{us8}!pM4Zo#Eul>Ah}w(qN6@Y?xrq={;Kp_3-VmLe$xcGH?-Msq+2%WHJph zYnPgQu%thbFcN=Q<)|&dUjQM(pMv~}lT=L9mec+?Y0)-;h!~@sfkhuN!96H)0^F8N zz9*3ahxtVYLUIw}85~Xfn9;DlCR2oICeEL;R+d7R;`~Et3-;CI70>Q~!viUo|7Ka* zIye$Ra|ZdF$@dJ7Rx|ZbGex3xC!e6!W$(vAc(rosL(#Sg&~Aq$NeIFLd)I2V z2kAc?q8TZ>YCC3KB}*@y%4{ds7W2w`YKik(*-gIiJPh^!+jv+snlkIqfjF1lt?j);;U|dYK0m`WQ=tUoQ z7uKYDIKsPE1LI#)oHxGlyWVk(EPRd5acVuH*WMpb7*jFRWv` zGXZJo4=V)xXMESf&h@F4r9Dqq&Y7kQE$3YGg_d(Z-&!5$8R$WpJX?5_3>fZqd@CHr zv)Zk2unRHR4p?`UpgVX#9Qapit;zut6fvQ(MdkI+;Hbr)kvNIeleeC^gJmoA6hGK_ zb5GO&d`EdU<|9y9Kpdc*0GL{m*&l=HV!3+1Tw4<8^?ILQJFf|DoUcvH8o?cYC``l( z**ni1LCIaU5zenrIKkk;iNo4+`OZo@`+?56-OtKU*>)Lhd}erRI|;uszBgSkc6PB^ zN97+|b^SnXz&yqhlY_%6hEIle1okS;A8=>qHqy&&oI8_V>& zB@F%Os&hK^5uo*GuqD3HEp(0~U z<_8FD!N*rG`Z6os-x4&bTl!O6`T->sA}qxJ31_Y{-pRPRDK6c6GtTA5zUb87B-hJe zsx)`8ZBxNh{O=O0*AkJABWSDl*&=YCd`YA|>SAlkul_DU_`wX=cf-A1Q|#_(kj~BA zHg7Y#t+q5hwc6nvBCYMz&FY=fslt-;N0ZF%_SDa2?N0aJ6Jbw1=!`{J%&g+HE>+Un zy%P$P|*}x>zJkt&wuktxcAQ zVoR5r39>Y8=LG5Q=9!l~0nK-N^SS&?Dw!a~m;5Y^EkT>B_gf^nxGyK;a}APFrgzOcdye7urXB$Patc{L1sEKGb*@k z+X1&Ecduig|10oIaSU?9z{DHd^?XD++duO*>AfFyGWj=9nihD21&LBQ&BSdY4G+Nm zj|b6{$0wK{aUD$rr`SDX*s8IoR!FY5P@wGTC#`MP$PQmwI~)dcP9!^TNvFu40Ro4E zM>q1y6*(uGNDt8AnXZ~^rQ8RR%~fM{G zNa>r7pER#+w+Ic5K;qlFSjYBOP5Nk^BvIq8kWV&}mg#U^q;K#3J za%B{}I4s?Jdjv#nvCVZdQp)`o(qoGG_C~c>mrGUdoA<^EB8CZK;f7+^oM%a|a%AHt*>gysJPXQInQyahe2gX6jzr!G7AEP(>!+CfAEBdI zD+4U=|A6HcGoR;Ha9$S7*H0zajo>BB27$d&c-|l@u1_-bb?T>?m*2HDv{}qH-;+a)>tSA{GG+%3g)`p`H^7u68uR?=?~$$q?C{ z73bsAYEU~n(%VuiGB2fm7(ppxkkHu_Rl~I@S+L@(5G}cU$cQA@N7&Gd3CMt)(ux5& zr_d6D#0}hx7v@H}%cnN_)q~8Feh`*$H9~Rc+e{-{{C!JIwgK#@ReY=tUf|Wp|gejC>ljvwPY>3N?$eduM0q9H)2rlq8t{a_AdG?;Qf!g}`V2tEIjev`|mfKzY{O-rjOzw#daG~Mg6kW z`c+Z=B%XJuvSHM+QJbjX{V=GXoy@%xU9%>ke!DW;5`c8C-6S~igjzpHSd)JSrE^*+ zg`8TI`BxOG_1Y>`UPx;l5zsTI60^F(e*QW0N=j_=I=DE5M>@aqcd)olWH>J~w#0QR z!_ZVRbQEDC10zqpsbNILKh4DKM}5e&bz@c3J(_p!BZLNi`_bv>S*d<2^i&6eiC}ad zPQ+gt3DLx7V3`~U8F?{gfh9<~BQxk@P1Fq%^H|C@H9c{dKH;)%?4>MlC?iiHL z#iD1TWPdA+J!$5NG^;wV7iQQ{+*}(0QftKskXjHJJaB!L*>C7-nA$3PcngX+O3=eC z6C=tQR31)iQ1&&xL>&Rvm(;2yeT|Zul{GKdH~P4YD|tZK^g7RnQ2!wMtfY#ZHGOF2 zh3Vt$$n>FalaxzlAgGap;T(o}nhO9%dfI8uEAdLp$6~yvt_PEkK=5KYpG%Q%r0cM7 zbT#U8oxai{57h#bc#>-&H!fsckMrPoT$qd}jSG|T#F%hUBA$hK(s;1|PZ}?x4pbK& zFETTX<;pk23~x2nn1N6$n1Rq^UPs*O`LJ@om zg8dJQQD?s5!09X6H721m6G>c^14{X8(^(!8y$cv6XWJje{3C|V^8c=xhdcKuLI2&?|60AKw=iI-Na;rn6neII?uNTz$Z{IY?hXzDMG&SIGAsHtB`` zWL_tGXZ&u1)gyZyjYwr6F2?y8kxtF>Oc$iO%%L8wvLue!_Th(fHBs9q$&G z0Hyp&mG{oZl@2>?(8n;d0==2$<4GU)68iZ5|Hs|Cz(-M?@8d}b5EPi8AW^GCp&Aqw z6fuZMA_R9eQ4~aMI^Xc&33wqR+QRWX)P_)T4NQAAQ}`Qh!<)V@k(e_ zW?TilaZw=u=XuYW%U%MZUxfaDd_H7n=A1c~_kGWMJLi3;%y{h8io=4@J0S0d^vB?r zQ%WL}Z0LPE56y}I9#XVM>en!Twq`_1_^gW0j^=D*(*UH+)>!DV$WmB)MjN9#Q=W&OHanUZwJMH| z=z%}&p_gLU+PugJn74Kf;`3(sGopu4!xK>8CuXQBFhF=e_l1S=TQ~edzMoVDpTAl& zoA_x7v@-`^OKS@nF2j+b(zYOCc+AX^GtppML;<#ME0$BJigAhD5-3`b3023q^AW1x zKrZzG2f14x$Ic#4YDgD23Q`qpde!+pS$GEmWT&EfY3v$g#(%?lczXwIfUS>z7T$TZ zQQZ%UPk84EP%0dhLqGu-ecralZA4e(0x+j4&qLCEFfxR*QB^9QpCt)@2jUu8B5eas z1#Q(p?PjWW$~iQnSX)m|AV7{Tno|*7hP?B_Ud2sLP4S z+rM)tjyr9!e)Anq11(kTmA+ew&60Z16)04EymdI*hZQp(meGzjMr0*GhwqWq70+)| z7Wve`hYE2YU2hfjfS)BsxO!?1b{N${a6Y(TU7EeIskRL}$2!923bBq7WeU45o5PVk zx@RK`o$8IM@-U9*@7=*X3NRv_h=aE}kb)NiUx2SD0Qfx+S<| z;~-lc0h(uvpRu-`G^e=tv42-Gh%R?}6OcF&rwT*$*ey4zAI1Zt=2sk1to1zyCGMJk zmBn52+Kj5P`o-12W9xeMDVfC$XQ%ODN8JeILL>)vR|4lDF zY7;HfdU%jJ6lBvfJ+a}|gAie@pw#6knHM)pzbbwSRF+X5G$t;CsiAv?+X7!4`o{Xl zTx?OWsN9%TKcskmD|G+2^60s3;J}Zbn>D27_?p46;-}_(YfOh|Px{CpAe4u;?VoR> zo~o0Z;!I}{9z2!(SDj|8&9 zfvIJu)!B1#!G>rAIt|^$8c|)))>m*N3nrn!>b~weDB#>esIj(mgEDudwdrA;^6DJt z;{+m%-zXK8z<2^A8XspZMP280T2%4#oV(X}S7be=DuAO`9#j^q?2%9UesOb$jI!u= zaeJ35&dQ+bv(~ElBlb}*Lp!kRvbQ!horQ6?pf;hS1Lhde@mebf zW5X7>C8dhhNl0`l{$KSk{Zw1F#%|QVq+vplFC&@YN-op8% z#rJk{grlT$6NX1Z(^6wTYVhKfl#YLk5_UWQ9c%vp{d>_LtxlK*(|J1+$izKf*N?1k z&=FtE!i(0sWJ%o|{9ZJ?YS1AbJho!OsY5zi56S*38cG>fwjS1>9!&!eb)G~K56>45 zE5pGJCJgDzBY*MEp2`Y(TACMZdaLrVpxL(vEw&9o^Y$KFmDGH6$A+f(#|~ljhGy3) z5bIkMN6Nb^1ej;0j$EBHvaiOg?jeel(GNu_Ve|R#{iAo*hu9AzhC9SRU50+5480x3 zE8joD`49|~2>;3%`KM~oUu?&q*EmV{4s|o<3YzrjmZ6S2Iu9BSe)V}A?pK}06I+*+ zno|}0%5b_a8GZ%L!fy9m%1g}(IVpBA`Y0fddP^U@9%J0BsPAMBwN^stejXl_ zMV5S-Ft+h|>40{xw6tiI#u%}_CK0DMqDIxC6?m8xYApf<;(#rRlz9|NKngEB9j_4H zANd3lByQZ7P z3RFuO#j|+GQHAb?}98Ej5kf7hIWnG}V z_?jAmqi<+>t$K;4`&x1DxEr8leFisGsz@|+ANH*{*_|?luQ#hH+?TffK2X}d_9JQA ze+n(gWLBqZ|32M*pET|B#5FW8t>7G+w)G3}K7$FQhd=!+%?wV`J-j8_LKPsQ&L4}u zkwBlXLR(LT&&Kab>CaGgBa#6AMVoM~7}DFSP{LGnVGfre{%2V8rEpO`ZXAAAAlEKG z`?adE3);UKHJYdW$Dn|xpzKV%LaO`ZK_Ll8KZ5)nJ`78;)EpEHH)Vz38db~k&CW^F zR-A$-o9%DDBY3BdlEZ0JM_Dg_n+H>uyjiV4U)5s|$23I;mNU^97Av;b6|Ec;b5sG0 z$~qhwIa0=b7y4q2V>oViwK)7(#;(=TgPpaY#X>1ZX->@}ln+H&J`tr7#L0+8+sDZ~ zprDU_B}pGq%(q;auTqNA>T}KO3vYc(eZkS^j!4i){OZwPP;VFV2G}Y037Gx|Cm}@$ z{3>Z9okkr*34v!n;G8ED`qltDKM7!mqqYMloL-!orwBG%9#8E}I6~#GfQEw8jaqEN zn)vh^mlrD1`86U~Qdi7kR7=6`JUkTqV}P>XL|P1((~H;{5gK4;8lh8B8N(Xol#TV3 zjX_y?cxvI5m4&DR#;IP<^;J1Ty$&)^Wd**nd{s7yWuz6T8cDRW^J~()rj;rzWS3u% zAGH%i9QR`$*tW8~?!hU?R3Ox$l@uU6hKB^g;9vVm+>@7%eCif3i!if#Owq5pN!MdI zJZ*O!oVM$MsKKhKc2{@Z|0`+b^^ED@pPe#Xc`+YCFm+;UH?eoHz9ZXZ>9?oaY-Hg({e~uZm_{yhOLS?LHs9d-ypW`k8~D4T#rEokkuSNWo7l z-Rfg#)nh?P`kH3~4lXk%I!**1!}9bs3JuZM+9v61r)qoOv-$$bqg1@~^5W4FV`5L( zsHqY`C+d;77-VAcLV6p#0jKyI%rv*HWh*C3uoMMu)$@V=Hb zS}H%lLd9u4bbI`PEc!@D39A=kx)X3CjPN2ELpnBh21-arAH~RSid_Ef>i-CLRQ{~K z(6_U=1EiGwRx(;e+|M1DuG4k#=7@JWO4#W&=+r+ONBOxweB zv;&9jY`l zbGc{Ob(PLRK8`S5hTW5-aYEpZzI~dEQvoK8e<#5oO8?7^4!%YTFHQ32?!w>o=K5Xp z)4!wK^(0OZ1?&-L21Za6 z{8LXAfw+2vb)kAJhAPfyPWA0iora?Hv~vVXIMBrra_#{YvcgoHt@YTkdg#0)Oa3mq@edtc*u^2pyPD(LxWiM+fGdC|9bYXmq%ZB_M!z1 zlOi>g?6gBU5jD~SqO%^)v(@Rx{Aq-%e;ZvWe`e*$URKWDwy{wL7;Q^%i^uKjP&xEu`C&lNjoh>Bj^P?!XwAuP}H7DW!*tURTaZ~3W+*wm9c+ect zBbP+{`PvOlFXjObj?v6RzzBYV$ik+@bOlXEV%v47?cBf-gB(jK4bDn#&30{ihKFA)SSz;;fUd;DHik>z_d#vfh zpR)hl5!*99fph}lm8?o^U=$xY(;1d92n5;qogc6tHT~%GEk|NL`h1ImhM#_#ECW3X z{rr78=x4@c(9c4g@7a_8D|CJ5m+u~jdGfaqzf2nCp)Z9HJiy+!hCHRuG4+7D1~{LcCWJLpZIcusVnO!*nC zM?WNnrUulOO2E1oT2QI^%qDcIj}$CoN)m3K94Dt14&Zr`=JmPr(H`d;Ry$PbjuiA_ zm*yhwOmS53A3WpiSatLU)?ltuK)8JMZ%wBm}(0w=|~mWOd{3VQ$9#b$nhb<2x77aXPxpnn8|J@ zc7inJOzfurq?y<+c<^t=E3#FG$*+7L>};@AS;6ykC9AYQ^;!4))_|`SOYzSq;RqMm z=7RV2!WlUg3#R~WrP#wRy-*Vpu#a1l2Wn8KOGZPm7b(H+CpWBL2fjoK250?<@rZvD z(i^(40iNIWgH56z%ar-!{F>7rC-3ji zdVY`@kr!IZE=n&V7t^edje0qqky z?Lb&Nq)Dg^MPy5b!j=-x1Lcz+H-CQY@zr2bYn+Zf0Ym)VgEEv1qau}h9>bg(@Sn-B z#U8VVSsINe9u4VVn$&`pl8eCduHGT72op`=C9&=y22f=;(Na1Y!S1? z1K&EnXXY7)7}fuh=b`&j;(KPNiSN+?jWLNTGv^aH2=pPi@YUOxM6p`op$znqGQ|22 zs_HxvVtwSCx(@e2U<$oa67dsbfLXwt#by)Zex#Y?&>w!OjOH9L%Y*2G_Z_!7p+D@g z)O?a-gPd{sC*_M#T?KERql12+ZAcaWGaOD!#{c}>B?$#A#{Vqh=n&Tw-qtE~vdx-a zjL-d`84Xu;;NTQrZKL`aRL1G~*-O^7Dqeg*c1}j|zrM29<6%PFOB*~$6YsN)u~!Vi z`5YI?aW6L*k@ubQWx6~m-sgFz{LfPEkN5dKo*+a4@jjO(59T)Am_G;yK{huyja{P4 z{XsYwOsP}eU&{SKI4C_44~yp?WPiz8{*a#orFLSd6GDD=Vo}S~QM}8&w^?FSng>b|j6`dr`ooV@yU(bFIq>7wdy+Q+ISym4q z%$)>$U@Vma1Zg0D@^R8Y54W5R3`d1<(=?;HEiTm39*H&(7Iw4|S;CpA*1Y%|31P)z z$FkyZtzPFMBVAHJ5dw$#S;^{)I6NJW1o?b2lC1aHZ2h7b3ppxDwHXD)xH^0Y6JN31 z0?h}?U~w&s(S(v1BKe*>{u+fXZdPOB&qFVD^3 zqv-q``B|KcA7_CxurF)^cL*|~V31S>6a3jr2QJ|`61f1@ zMJ5-Bo&$w8%Rjf$Sjm0G(Ex%XLDn%&GhiaAlNsz9(D}r5JdQcCCKw%d8bTYZ@Ou)_ zBHgKguwZo3v3S}o7!6=*MaGbt@!)FHz=G!wW4{CDlSV^bth>rOJG7|F;>d}l(wLhv zDaCBtfM0=vOWPLW0*68UX+#k0ZtK#G4tYMeoKVMHo5wG3ViF2<0=&q8o$Z zuQG4>Supw$ZL`vUcE||QJr;~z-lNDGh}-ywm?I|+EeZ{BHS#>Enx^BgvAVypp{e!| z37eCVn31nh(TsgZl9M$4(b&~&#Kdr-kqL4cX%I}ssEOmDpaNgJL>Wgv=LO0k1pcLq z^u}D2xKd5w3jhcL1h$Z;y=uoHM&v($1UY{3{6i#wZYl3!Ukt$3qCJ;jGDTuiHRNn4 zuUzMcHS+bu*_1{X>k&&jdo!k1Px6TG`R_+8!GU_TDmd`II9y!?7^(IzthZiTxq-of zm|ZVuB=&s#k-5FV=`axdL`;qomf%2CV|rKn9{h1QZc=a{;I-NM%}}x=1X6+tg+QMr zv*Slnu4DPC9Ah(~$Dn;B;g5%eN0d9#?HyvTz;nVFv43-DQCvkY!z81ol8h|Y`o0hN zIRm9V5ucl0qpNx;YKAUwgZ~a31HE}c$$e(o{ZaXb0Rr$IERV)6ClR1+h5*jtq(cL2 z;;?vrhxoA^9^Iw(ufE5GU%&*3TYQd`A$@Caya~110|;JVpYfbDD1m*_OPbg|$*oBJ zn5wjM4l1TNj_CyTX}psPYCGE>V&w%*Bxnv`nJQwA3NhDqvA^C9g2FhV*tx*_!?Zg)pAzcvj%5>KiRg|I2P>yiM^f->j>nd_2!s9tV+@ObjH>wbW_68t{ zkkAo}Ai6EqJE tqUMRT@Wo|!ShleBNgSqYyEdl>peLDQ)f*9kjV3`Gv_%$jx(*S z*B}wEvktrxL5_eUA|Dlu4zTh3LhIXcI-pS`wDp~Zr`@fO@icyNylZMur2QEODb0{o zSl=RsTw+qKzq&0IvEUc0P_P)4t(k7YSQb3J0tJ6^Tajmv@EJEmtgBRI?LT$mCs(@u zWtUlv_c5#ZdDijjy*LE_E5f*~C|-hFuSoVEX*)|iW)YcR$A`W4G)GUv%114S9Sm8p zbppHwE63u`GW;o@IqaLJruz}{+>-zA?55s0U^rbnZ#DCrbq9fd6YW_ipQV?3X=uPa zmm3=q6b^Vz=uo4amvLd=>SSrS=L`lIoFb zcojtq@bbZA%211;B?a)1@$;RX_7UMO1t-aS^{v%FJc$c?^!BVDaZ3J#$wQDLf*GJ= zQ?>`9%x&xrpmk`Cy#d{GzX2JbjcVqn<2%UX0M(hJu;0fcln;sS3@@9D{2RvIi|_>B z_xL4yzN+tYfy|vvpCdosyWxL>c`;2%MM0qFCZ>10Gla&AH@})$c_8=XhSc=vE$JOl zp=oe#A4qxZ+L@Rtrg-NEXx9ECUZA}Yh+?0ErVw04Vh@OQ!lx=V!qu$D@(XmiSSPw1 z_Qw#XypJvyQ%RR2H9`-kypxo}R1&72(Di0W7edkBHB1qkLWfvDfr7|In+`MFZ=?`nKyUwaUXH6FRnW)B{N zIPBus*~nvPgkvnl({J#Z2#87}av>f-)f0T>mqge5uyae1%{-ePc|mPNq9LZmU=D^r zEP#c4E>z8P^GJBe#O1?m_zhOUa>0?mQoL3Y-CjNu)!JuC`mZBEo^Of)B~%Xs>Oc1H z@dgVkM=@nrWk>v-7CNK2YWvj6oOoaSUKTo0R^Q;^3`Hu~wn|^U z<#+PoA-$hWBdW5iEnhq0c?r2kvJtG{!MSYMi2RlEjEn6WUWhT`P1rF@jyCRo2a6JB z$>s{200HeLnkC2MUHVU9n!r^1E7vb80nUe=1@(t;{(=wv@Yy0F#$zXZ-{l{ZFGXMJ zc*n=~OL))W2jm^0lh~KNj?KlU=2=_e9OG&vMvcfXFfzM}Q*-jVj^Y(1bo{(N_3?{% zM;VJxk~lS(5UpNoWq{OLYZk;}ycaMiIVgz;Ajep+6zR}IL7lP``CpManYAw-j{zW% z*r({!Q3lI$;<@XIHsfULT_d+Ho@(7{?c3UV|y@SWu6&)_-u z({xPwIA}>N`M+{Eb%z2->Dqa^ndhv_{yl0@`=k1M2%F%54w(H)8HbOYkH`aC5e(4W zT~Zc(Ik@G6z)Mc1Bd-CjkJ1AqKb~>-Jpc-FYIrwlcw;t_=J@6-0q=V;ARoNT_W<5!3cL%`!n@H2@Amv&hDz70p&fLgeKMfk zXs!RFfn?>48I?HIQ36oXddidqh?ubjCF_u4WEsB7#1$zSOB)5IeH2U^1*Sa&rs{k$ z>32WC^Qduv=Y5Iryk-yJ$$Xb@RrKF2JUj67BUd`$5b{0W1t>my0f1igfRRxiCPZ;8 zQ$Z9+$aLN@o-6q`zZN1NGD!w2PfvhU6Pf(~&F`%ycZmp?5!j zAgpB0eL3f3{vhA-QY0&vnrat~0hAwdpnO3hmpIkWB}Bh>`^%p^RQf7P2Vd#HN3xxk zg}+7@+4y<}C+cvC@h+Ipg|(Cc*jSf?QB+O)IveRZO+Cz3>gCqn%P?A5d7%Q@T5I$b zkO^+nFcVoSG@XkJeJ^Cqf;8~oFZ5k}1t9;d19`=tuigXtK11N&FCF|#{QTkoSP+z~ z_&!$}-rQ(iGM@aE#C^;zxG)=VNLw!faB$6=6Zi-{z%IeJPXM?l55eYsYW`fW`7=}y z;m`lP9Ps{$O%0s@TF+ukj88}pGk(&AV zU4whd$p*;DRjG1P-i8V#^uL3SPTUCbZ^F%fl#dr&2KetQ`Pf?1s!)8geBAQqj{gtH z$IMIjAw2OBDbW_v!gKje{5Z;9)i?G7e|UNn;Q15j8-D)Kp?vw^-s8wjUG{LB%O0*2 z_OSY1(Kj}YV;Bg(qtS}*jCJ0@GceD=yJ8Mt3@|tOuIvcGzan4wNMH^WhAwmX7R~rz|3O%0|-Rt`EexT=dBLUC<5qZ~o#(tJ}1wXyMk!*jD8}ZY@e^2f2kq_-t z`+LTh4OAD?sd#(Op6LztrR^DBYAr8*A)vn3?HP8EXwNLc1Y5!A;6xoQFVUXiJ610M z9`;Ntv1imUVbAbo8bkVJ*fT6zsDQTCid`V~j8m$PqxtO_*8ZQfXKub=AM)>A`ah2S z_5UCFcZ0T9U=4`9a?~)u^L0>)&!4on?862hF?;smFwyQ3ZIuSg9xV1@Lq_G9El@m? ztrCpir?yZnq32KAjanUP5ZcZJQ9~VR5W?m$4*I|MqrLKn^Y$S+#v^(}Xf5=NK?DndEKiS`$SqgamMD~i`e+^v5!n~ql3X-XH7toxp7-75#_&v4^8=sbVXe$e0ka1P-66Y0-;s=s|7*{Ay3 z{;~gpfVZo;DSzn1J@AL_!XKUB5ACeJTPV_2jN)d=`lcEKY3$+Gz=1vG^>-x~-@(IA zAJDb&1Q{ieoaF22yB1P<(Tw1d6e4wT0nzk z9?4GyG-QQvdbUK=1KF00kHb-}RXFIkhG+avHfqS|aK`V+eIa@!2*V9*M2!B|MGRfshpD^t5uIHgrPw_Mh}k z4sRa9jWzJj>wKpnwEslsW0B9GIVR9gh2QNZ|Ks?5;%9q=-#2O#@!RVUY4CgYsj2wA zWXMl}-_ccR@VnRdLr>)jPTsF8Y1B)(QQHHZhA32HFV~(83Y2ABCd>FzhfVgyGIO@| zllSZT%YM-*QZ;!$-;?*#LT$N?nWZ<2#yG1uq_&nny1$EZ^&;1%Vu`hxHLcTTsd z^)-4?kwN;Glalo(Xr?I3DPP~naynQzWQ_qqjx#5KE4I_{HEc&Ph>&;G)aKoR?awSTq1ob-f7c{LdJNig$VbXQ0sUY3b-U!VY{a z1R{?;$4iBYc!vXnIQGM;)@S!;W`yN33n9g(4s98X_b4mlo#7#8y@d))Ypv@~hlgAO zX!t}JhV&^q`{6>naxdh2ppb7h$=9Xdec(@6rTw`uYQ&#=!Rdf>()ow097wl7zZf9! z7F{ugU##*0yWR4^lKeV;i9q{0mro1_pIBvm@kU0*jA>s=dTj0xV|cCbMkdl_BhX24 z4jwb1>Y>;yj!L(k5>A!bGRzmb^AhleKdjsk|5<#%y@gHF3W+zOww_Z8rM$&Q@OK>N9Z248%K81sFP`oTNGI8U zdyBsP_Fp@PzRwc+9_|AB4AJAh2q5O4Y8;ufa17;ij2{dug`T`RE)Lm1OKYdJJFqko6x(;QrOv`q(>t1&6S zC1fF*t5xW9nmV zHnY6lYuHAJb!qk4qZ!XrGqk=w17rF*fa*dPj%X%vk9C=t?LqcZ3>}aqOyBD7!t^a2 z&qjW^kLfFV((dVNew%b~Or)=ImAj#@hE^UFMxfIK`g#T0-7e{CpRKpsPTV~_=CV|^v5@1e$m-0HWd6d-~bLC;%^$ZuJbqHrOt z8Gu8cM);J$mBrCj#o@+o*fJZISsecNpsF9%-Z~0*fvn;s|87$pUN@+u-9M{-*ks%( z@tLtH*{InHue2>*(s)qul67tH(vWtq4Qcl>8V>cgXQ5H7&cdCKlJ9NgL|^Cyp~fH% z3<}LQwkc`1YDkpzE3Y#aoK{r5`L^4Ns&+QsQh~plZn+WNpN+vZ4#LIxSsa70V0x?Y z=WUmKjvgD^v)7V#OTz2X@muY-%s_^sP8mhU1IuRoAQoGG{5bT~id9i_J4j zs`ASA=&`bGba*x*IS~d#{kW`gS;?x_7A)$&ykc?VQnh8eQD%F6YK?~Tegc@`SklPmKW#yBc4V;gDbmV*JJH2_f-zC*1Z zRb1ZZ?drEf-D}QGk$J!S(ZhZHaV`i?h3=?V-&?vlWM=Mi$R;1e*F7>Z;~$yvKkM>L zl%FT9X^h;AHc)<-CoL1tV`H1x%R4ZLfz;u8IINj?zzZD(Sq;hBjyTQy$)~|zu)LyA zX{=}mLZazol!OB)%a(Xi(MdrIjSSI!wkIZ_tkB}{)`_9p08cPymi&I68UcvM-_ykZjl^S%*k1vf*&9Ohnd!;4@ zVsaqtTGs}#J1NsJ0-Y$$ESZN(4#qy6BZ_so`+MOm?{Q$ybSG4n#;0?6=AmKxa->PX z@KkcKzK3`K9BI#>sjF26D`@l1>l*Ww|6jhcFI?-nT zfn!GaZ41bbC$Ch$v8(Xwv38fDBww>m)47hoF&_J_B3+u!xhPcpox*BJO&OSmWDHdl zpb`|nv;~7FA7VnGU&&~Zl+rvWAKQOS@`248aI|y4!_LdYZ!R};0_Fh$^TM1!6z3n{oq8aKK5ZsoH*IERYwI^RAw{!{n1t^DVF!_RHv zKLfY9pKxJ<$|GjrBi~WzE+Q1}g{GJy6vzP+go0#&Rk%~>tTDh@Z1oJbs)DhUba0Dr zW$_Uxc22xeKqTZJ9KjktYQoS0LI`633;xXlGctjYiR!ejN)$(xLTYMtMsi7lk_%PM z-U3RUwzi}y5Nmz=h+&vwNewRBT{DN5GclCem?IdZ{`64{HKQeSa6eC;6Hr57blaEd z@oDiS$oL(wG^NlXE9)Bd#M77o52Ihh#zg`m?ff{hrL}SBnaYieoz7`5tWjr_XP4!M}RxOH3qmUqP%4_mY zO>8^gl-Hud@R4(R3LZJo`xeu#!hKDINioW!vv%UA6rP3Hd;&QTo5k9t(SKTXhaLzk z=Z&n&60kkd@p0I7T9xuBJy8ilm;AH%ydxgZR*xT0kLzd=@NunrJPnWeL73<#HYWz| zk%PW~3>3GELrU$NOELVCY38u!Pih-suj#yCACLFOq9)ps34<&v5Q}%+npw2 z;x|f6z+e~&Q&_|T#l##fCP3ARVuBGgdfu9A5(IEUSVdj2@LKUE*5!8FGbJYAIZcT( z!J(8XaRE#TNP`+mg91u}&+bo_1_xI_8nhR!cnSox$Mhf02h&#*PT~FJE7R4vqcNRXG{BmW1 zi}SNkGk&Pb081QM_uY#YJ6n$*=x|t}1#_a}u!{}`E4>G0eg(8BMc=QH)wEfHPR_%+ z7tOW8r|&n*Pfruuy^qq@68$m45|t2kGxuKA1;`D9(#0#2iwnh0kHnQ`r^5i$Wx|8V zPG7z~4Lf~OJrs8O&yJd%f+ERFC6O-J={9H#5S~*=NDfEU=ChKFNj7j2Yb~jD_$t2f zF^@=9>T@7ExmsO(~ ztA`@!&n|yudQ8ALJ%4?I?+btZGpZ^6DgYpheQ0hb3gs5DH&>CnGJzuW(qWtrd7RcJ zmVseH#x=-LZz`!JQ(T1`dRSdP$kNj260A=szNYF03S#vJRy606b&x&j4~;#16DT^i znBcc|UZ0m?FK4y1jPCq{WnqKp0rW&JM{QsjTQW!Eql${njjc?_<~SuTn@0R%fo_u9 z>5;L#?HQYdAF{c3u5kDp>!Y5O7tCTgRN*RC#fV`ZjupCrnxx5uwg*os2(z0fXj8r! zCv`tWg3^q^9H|-4SCp5?^&a4h3J6JD@0^3MFg9Zt;Cg@l)Z==$;5oV8*?5g(5+BMF z!uaMA#BLr5=o1ml~9GVi>F&%ZGn=MkYl2BSNWb2A;kYu3L( ze)nBPdVW_Av}k_EOA=f~F3|d-!|%>@`Q0ThzYEnaE2$%=TQk|=bnpT;_&m}tsRH44 z|7q8WTm>EgtYh`*fmrJeMdJA&;{=sZdjpw~&PXu&lC;80SIvtp&SQOeF9WehI9%)E z6}S(}W9W*q*o;Vb43soqeGD$h&kFdK__|#_1{+zvh56{Mbc{1h#@CtLss3VIQe1yFn9xcX%_t zK|Ojg>a|N_DPGDps^`14V~eYP;PmIS8S7-cg^w#_U~Z(pIb?u2xPe=MX$p(2e}y98s1UCL zwAB1~Ne$@CjxIx-lf)3YUgkG%6 zZ`XRP@@zbJSS3d%ta1`AVEAwtE~|X8CYe=!IYF~ZzGuC7jh|IcI)u%ZVgs`X2}^ z--?wHZo15fynuzPG{rY?r8PyeqGh7Yk$=v<#o?b&Wu~CW$3kycWx_(|WIGCDm2lCy zqfi$r9dyQ@N3fKz{;RP5OX@(@ECLaej}l|R;v77kpl;{ka+12_US1w9OJh%RP~fP! z`0@CkXp9@I@hedVYaC@*8^WHEm7B}vJpdG|iEjnXAw6<~W@!(shx2oS(YCN&(DNtO zmW%^4;`4=?%o2X-#Hh{@t&ds?2Zs$wb98Nh+UH^tsyV))yx6!YyGQvD+ z-OwX9o>x9I(6kbX-kXLTwY3;39$(-I*Yc7`Q|K7to3E8*$ZNqFORGS4!SJiO#WOhY zjLLOr>f2)Dh2?=QYXY(CB7FII=_cxa^MbK#d?;s%rOez1$AjV?puY|l5dbGUMTKYs zm+&8I9~J=ZIJbD#N0v^!f4~gE@j5i~d9LEXmUY+|H3H$rO@Yj1f$*|UJmo#D!QDdZ zg`P_Kd`iPhZKI*fD7)0Ilvoja#by~WNJTuLZi!+NJxc0Hb0bG`Y(hNn%0k-V1yjbS z2tme2V&DeW2<*0nDnKbb5SmCS*kMDy`_gE4*-um7#p#m!p~tFzmqVWNs%>&|aKs6# z%7PaSZE|O9qjgwyB9Gc=1+FIB-x0r*d~Brt%n)o5*qQ<3^g~|B1Rjye+YD9h0&aSC z1RmJU%*qZf2<@w=hGD~Ovvo(OG|C~DypQ2EM_h-?dQYVme@wC z8y=G%zLc#Q+qBu%;WvZVb+W3rPsB3gF4=4=aD!rWvr)~u9tGZV^}Y`({zk-crZT%h z?!HF?v#SP}xaF-8B&}ZmU?B{}dv7`p)fDUu*yU{pA=Dal?9d<^i z@b|5g`sn#efWU71eP>HC+q8cgnFa( zFe+jspifZMX6tw(g`}A1()+|wS!{exyp!Ya#fM|$d!&yB&AvUzSvCaC+k0$PY-JF~ z@Np8_*INa6Otd#-IcT3}^`Kh|&z{9I>+T;WLYP$n3ZDOC1kYgSr((A_9d`ZuTP?w_ zgv&z17T$7gHtU^oe#dD1qFm#5#4HcL4d6_`4VEfUI=+G5wH`pAUksqH3PcB# zB5eh5n;Q=Sso$;^q^>0;4MI;^4=Sk_q)ri}HdUTV^|5|>B2t^I4PyY%L&?)R1($rP zzT#aP{oGoO=bp(p0qRwf$rxUmPZVBJJO<~J6L+SYtl4;*urGA<3nVxmQK9hB1JA52 zTlXhE-p>L)>UM*VcOLNYQFwj}@o_Wo5q{Uh$5ZHu_!x{umWYoFNtlJRlH6~IRq z;=}Rver}zEXC5v-f^xJcxM+{JiHpBAIsC8Q+Ioe;#cVvYuHTZL|Lwc=5zK7C`uHy9 z;bUG|3-Q7Aaqv4HKDwc&U968ew1+c6vDJJ4xXr z8_%rwzE52r`%WG`-*i2`ovhbKbMokc2R(e`mF}TD3ZrqLX7<~jJgP>glt&{|YmAAw&)5BT(vD^v8%cV>F)yAVc`U)d~%R)USq`q1V2 z;2;!|T>BZds9U||A@wQr1f<$`vdGahLr_V$UM9ie1!im=H#r%#qb>$mFHol0w1!~Q zQdlRRez-levU6$dr9v3M!KT-(4{z!K$4pcFb8rBtO7-|6%e9+W=n_CXGzS8Jt|bcT z!%&iTNdU>qHGZyx#PebQ$Ir3~Hwj*4ePRfeoy%g+u}8}EQVgdox+T6ICxnn8wM*dI zP(#9Kre36o<8bIe)`pFK;hXAj*(d9L#kLmk`w`d=aO{tQp?kRAHNVe!!y}Cc(CIGt zeHTzkqWv*=B#6S#@9`-yaN|zyH*;w_ABjr7wNCwOm#7xoBbndl>-7$^gR1vejwSM` z;`s|lU?6LfiNtygkGa4HZ}t}bOV_DIe-fTqSsQ@s{b66)TUxN*zx$A+$*AMzsg{g(T&g}_YH#&We5oTgB03_MyHSX9 zm=}n(zUmlmMd6?s4!U6u;@r}|bNGvC7~w;~CHt&^6Q+(6id~#p7PW#~*5L4VmbT9k zACQab?CdppqU^UF7GzLEtTGp$wtHD-gs;4RV6Q@ptQ87uUXob}bNV8D#qJ9u%%i-| zqmzu%p0@C3z^9V%*_l82Bx$f`5_}l%a2(zW?;LGZ2kBdS%u$Pb~p^aQb=TpC16lA>`)`} z93d^0B#=P8CxHYIhIEm`a6wCnfdos50rSQhEJOHmd1f~Y=X2q-&>nR4l6e+(MbtSB z^Q=6KqRJL;ZLG_Y%RQ!Y-M0k8()eh=rzQ^#+kM4dssjn)6O-A=q34Tn7VkxODI~^L zLQRDT997vBAp-DdD~O5LbEjpU2Zo_egihOjeX_)uv6O4l=ddE4^l}nBMZdvv8V&@K z>1b>jk@N7to~Y5PLj$DxrL5jV7ho?5w50G|%z^_^kh0UW-YUTmDP2B;!l1N~8tc9h z%8mI?-?Oji$40%ycxKI9Khg7d?K}JNwy!ad-PsR)r+e~d&A>g>C$#;L_o_!FL(u6i z?1xtoN0%sczAc5&X^H*t8Y=p9ipzdTp^)A9Gn=;`ZsHhH?T1l#OeAjo%0c!#>m4u> zKKm5Utmi&UwIBAKzved^fnRPj?aH6Iw8q2l)&azC3;db4!YOdoD}q$9 za*6)4ew4kNpkDcr+GHJhE&zHM{bvW!pLuSq@6`*%5O0kF&tdb>)-*WWg+p`sISL`y zC`AA)yWZ-KEpsAdIG$O@e41ddBfrOtFXsS4sqW>WyL2y?^Zb{59~}8C{!ZS&80iz0 zb>`bMMLrAJfK+T~K3Omsc+*$cBhv?tg&iHLeQ!Na2!C+q}_ zqoF#=nCdb!;wzv_Fi;-*KV5EE!1_82xa}A$2Utt--{~6IrSEdTw5V&$LOZNs!}#~@ zmTUWHFXYELVe;6P;$y`ZEqNUAOq>q{OIUV>qEzs z(GxSoc8x#c!^hFmrp8BW=$cX`2_fn7^Dr?zj|s1;I45X!#P)n^oYzlCI^a1_89z59 z^GAs{K2`D$oP_)X+sha~;pHD_E%^r$l0NjcA!L}20ddIXm6Pzd(uic^9(f412cx&5 z|J6o#3FZxsnTeC|lXmbaQa;>bL?r(P%m1LuC0Bti4;c|TjLGsDQeK+5GtksP)YoQK zZ5v;CO&o&A?WJN&au4G|7om5_f{^KN`37b|SS?u)&?0nP-D5=vSrArB7KBVZ8;UFl z;&k>FNMzK=KDW!${i2_OD;^z1)o1SO)mHW?@dg}^!(D8S+6~ zNxMo^qB=yS#NF{#2~Ev}Ig3Eo=q#QwD~k=yL#(KU%RqD_g-Q zZwJkO#)31DF`=o~qap$1$ologmnN3V#AQA%rwv!1b~<+f!OknKBg@=eIhg z!_ByAw*&x2QFt){hFIS%7?~6GDG(ii0lLbaFU`Rh9q}AThmCOWOpTV9FI?hXJ4;?{ z8#twP7u99XDIE^RRiNFH(9OZ{jw~aB@0TTZc1Sawz3O(>IeljzAIO&2*`t#&KO`N> zIl05{aA_=9fetHAC#`kGZVMH595joJBiv1aJHmhoUT4-4>uTJ|D0ka}HwhkZW`fwn zA^0;vG)R~DXn8%HS3ba8q>sS1k=FamOpXTByfc;^hy zh&+WBzcF$nz3>z#`KvH85slCsi8UK`2r-WaAMqMg3v9EMb*O=so|IcfF#`MQd(kMo zH$pY$P<;P=)>gC?h@MplG1wcwz42Rs-va#R<2N6_@MgfHK`|MHlf!Hyhs~q(fMm%@ z9h~#FpJX#Kn$dbR{00fm$GP-uO>A!f0!|R0BIC%Z2?NT9f2C&ky=pkn(KBt8eLT8W ztl~&4Swa@kjI#kQP;$jdz?73c1pJ?wdl;|I^Y5=a=ihzlLXdw&_?560c)8FtX{chI zGRVh-x50~cHrUOw$Q<+lSjv2e!;Kq>L%xv_>P^I5j!Q(DIUoSoIVkJBFh+)xb|{5v zjP1{swnSRB%rE{Rj(JRJLM{j6so&ns;q!_ zW~{e7j0N~m9h4+A=l4=8(v9@wR2R}QWldU3;kLLD4{)5AFbamZXNCHJmdE0zm@$rJfHD_*d;3R zTuzxu7&o5QV!-qdVtWwk%XpY$f->NW3y34*R4!dBgc02GDj?ewIuL$B9$^c0jdw>^ z#2uel&x})NB0JKWZwJ$&%F4$G)R5Iq)RP1Prp|Zv6TT5sDlSW8C|7i%(O$3aG}`Ob zoksgS-kGslc^DJyt7EW)POsydMfBYtr$zMX$%y7L(kAO)@J}Q0>R4`gF8spDGv zbzqVX(n1H@mF*o&*A?OvJfO}8Bq8fq%tO(Uyxhya7ccAe=di}u;v7uqc?hZu#FVj~ zQ9VJ(XDT)n=KBlv@mQ6Eg$k6 z?ivVQo|GOSB&+dLG6#gBkONn^8Bv&#U@zT~LW|1eWJ`)eMaANIzF{*_N3*;ImfO5M~Uhi_$)6`Yx z({d)oob!>aC*Yhc^@Y!%vA*;D9t=~j(j;~B*$>gqNW>-}KT&D)NiJ)EYqpT?Bp85< z5C6L2jDVSo*zjO<6LxWAzXkg30btTiy^On$1ZJt^8R5q{aD;#dW4Fs^a8RBZdN);W zFa%}*I)?5cn-KX3RsapMbE|tlupdJnoO-e!>5$xq1Kp89M-zZ|6vvv0^BndQ1eV$X0bHGemw9HBOm&RHPVEgjAu5{TKmE4gTt?#dGig z`rItCZ^rKf-%t&f6pJbm?77K7b^hdGqRXG7P+X}|yfcfbh-Df++9HZay$`(PVGQ9W zWXtbUZ~qaL;`CQN9P$Dx|L9OR{kGaX5&6Nl598Y(a6VcXB1mkg0X@mDAiNKX(+rA~ z6j{K@{S)bAii`!znXxI*;$@sV3a+{b)?gH;lHyv*4s<&z*M}<&OWDp>Tlc)3B&nLs zcINJ3I|aZ2+fhOlJcSQ9y9Mtlo}xsv5t)L9?HSFt?%A0>+3&ROXti$Zqg3nax&1A$ z(qbUmucEdid0ZJ`2|Y`!FIeU#b*I*WUh0mF$Phl}$OxtWNfbZcQ|e!AHeZkG{5p~~ z0eAWG9(GPu9twE%X5%s-J(bPGWs$msCLSx){mUy%W-+U`YLWoKYFDGxCU#6M>{)7I zJBf+Z!dA*^G^Q4IOh$|8k@QV9S|qkmcX{j#+O6tAMjKVhH3~{+T{xDS=&#ry|oR}9?u{`nWyh_c3F z)QEFbiK^`}C#em(Wvi$nk4I;(#9`9Pg=1(OD*g%Na0yStw?fVoi{i}_@-pJ5pd0cG zs|el1-?uJNqrg+HRO{jXcxs?U=Rp(?xbt@jI?j?)-ypiVd9S zN%RlyKqd|t=g6&-=pQTu!n9E3C0TZ>x0SCL2@cUE@)kP&!4BZ?;vbCQi8A^R$Cb3Z zT(Tyhy0?|aymd$875W7GAjvX3fA#zuS_SVP_a}Y+za0tb@IJMFgZF&?ziIT}`22tU z&~1YMZ%0L<|F4UT8UDXtf=!A4?+G-a{C}S#gGH+2Pt6{VzY?6Sc-cB{9=(2i2(O=5 zW=3@(M`6wvgF3vkZRK?MTn;cI_h8a;bo-Rn*IY$U*mI>la*(S3O57OF(H9n)D5PRU zzCjBK9<7D#_#oAzbtWqsk9}{1Ut;Tmxde~a47^y3^Wvwp-f< z@ihOIisx-QW{f@SfQiij#3DK)_y-P6t*6KFPKF%Yy~JRjRu4^Wc=9-}Z)Thyqh&SD zSo(3Ej2D$_>UvhiM1&iz!V=IBxBj)QBOL|21>aDxj${+oh^)s$afZdTl-r$8Ox#WO zA$(07VrTe!t@ri%$))fdIL^qry9Z#Xdz=heT{RyD1KmwD(egja{Fo0y1F+`PC zf&5c4M5R@jPP(=^XdE@isv~SDQ zri`P&kfos}d6B}Nk^#BiGB(?BZMCxR*;t=2-QwM-^c-NC{hYP*(C;i>5fg0auR4da-jbJ+|AtNQj#?P9;F?MWQR2!p+SC%7+G^$sK4 zk$gCvy-h*}<#LS*O~ag8xl-HP%HPA@t>=!(Q>Q4weiW1?f1{=kD8HZ{9O~1mc2qgU zP0@}OaLeYQP*E(RuC;0%jcBkI$qbeDoC4OBU0Vp&%7MusRgSL@h9*0{a*h?pm#7tw zWA^p~05)kVAIKw8tf7b~b1(zlBf?5I3DTq-=m3sL1H%+@w9{^sx*Mg+#;Uuq>TZI% zo1pF{sk=$)Zi>2_qVB5Xj>j;?0|6@FNF(r#bNSb>G&&ges&Yz12N&T|T8IwD7KFC` z2lvLM^cj_NnlhNEoYPcej>%x%bDC4}SzG<#KBTn3RDC`;z52!D^)Rh7YD`8oKFLTH zyGe#yoR8tk#FcAAAfj9&0xH)vLinO;A$~wj_AqIr%e3E%59>5Mc;Wp6HdR zW>3#TZFYPbXJDdL@&!wP?knKZ^=a^J?bF~T-yX`hZ^hdVH-S&%<;|X`Gpb)h3tIRH zbua^-Jqmw7E?A5W;FXAnsINRc5aan?$9=d;s7F4Z8P9?mr_&Wgl~i$ZASkKg68Rj# zaAE=lhojC^WexHpNd$r1I_X9DB)mCS)0|Z3(AK6i%`wX{&3lOsExKJ{soT@SQbuiR zgO_O=v?UC-;^gk-Boi%ZG9)slm}*Nh7lQQ^$=GHE@Y837eIhzfAtp}?_K1m%fQxD& z4}Qr9B-P(86CsGzqeP$)*|rs^7(rK%a~w_VA^MkT_9RiM(=hY~U#lgmRl6OUaa>dg zvuYvL`>2US-1;iOJRGBHaRb^ZMLe;A=h(nO2@N3SMij|NQf4F;<`yss`@)3!^pQ6M z0rmn#-w{IWa40+c16oNLadWtFEp+IlE^eBZqM0#7cuO(CW)d;6h;7`=Hev&VdD^%? z2Nx+rOM!*;)+)UF0lXk7byKEcFQOyC8)g!rz!Gn;GXRkI4YWLEn@y6vq=FS{mtukO z(lnNF`+Q{?|80q9T0bwqmmNdv^&?@-&%*=j%I9f2lj5e;vClAUipt3_lV@AU9^(uo zrrzp@?<*kt0BY$6Kj(w1ts~I}o_gxZOvX|nK5jnMKSpTvDrCIO_lS=(OPW#tF6o9L zi;<2m+92Y>Q~kPOu(Z6_*2D7tM;-n=i9cR%u%F%YPC8%kJlaIe_XayEHQ$>$pOfDH z9ztEJ;>@)6_b{+HEdY2)5)QvizL4Fccv*E1W+iK7cfhK`5ou^mR053Zo5i}tL7gQi zP)0~ouClJkEX+QTO>$cbu3zPGI8 zu2#!RR%e5V<}53@yHzo*QGOE(tw(232hrCf>z#`_G4yNrcUB|%RA+sV4``S6{$z~6 zXYcnp47WaeKMV8RrMI{9qF_XU>9uIU?n&>iTk^oTDx&XmXneLxiORz;VEoYI8;UHa`#m$Z>CsbuQuMhrvDxRBFCxZ?7G>m@M91oxzG`Hy&!oUPq(ER!fQP}dughd{Yl zW(D9OI1R=%=ztri!J_h9TvIPX&$7p09Vma!AVNlfEK86Z)xU1S*B+e(S&xD11zA&a z7mg{57w9V@-|;=wV`7Ezr&3Ic|zDICUi^-N&b&^YlUF^IV48q)BBCP=;3 zUdl%@zcMaR1r=vzH-6s{fQS_<9hpz@+E~0%Q?|Nl8}e8_fQ}d18Jz0kT(Em2oRb+N zOWZY!CT5u7FQhESvgi!n7|(?_;HNw~gFnc;zPhI5J!Au8t9Ea9FjxCP0N;fN?1w*1 z1MI&6VNl}L{3Em33d~P6+yH*Wbb|(1W4}v1N2bdUIk-Tk6!LZQ^SHkg0Wv1O2JIS= zzoV~(b1-()56Je*eD-TiUN})Xf>2YM(_hL!RHHr0?X@4t+##YmUzc}&?(b3)Q8|_y z>L?;Qy8r|v4h=cfcQ#C39_l+gPaWzz8#H!)ZW3`pb=m}%T7$h>gbU9azNSZjb}4^I z{1<_MUE+TQeA6ZVyX{BZ7w3~HV(2A(95Kds7cLQCvnf#4Z2r(&_yZXQf;7yzbNDD4 zs=Z{se-|(4S@}eZ0>C*(MoZ!&K(r0J)qz>xNOr5Jx6|Y|Gq_jm2BuDU02di|^tw zU*wP;NEq2z%zcRuD=$GZzfVIwb-cEhFS0Q>V|f*(ukuBL^i;mccbG47sh2NuxtlK% z0fA1w$nt{`xA#DRF=)+ae&n137$xE0OJ8^#-gUGUP{mBrx4D?Cwla_2>4TXjq9f8o zsPtym4+n{PQBU#{BuydIE6Spu$!5zV;=aN>5fUfmrLidq`Cyh8049}rLGv^=yfJ7_ z*V*a*fQI91@s_x}BK7d2mqowCSfrPObfP?!n8vDm z6t zNo^|`I}|Et%H7b3#Et6e1TV=M5G)WRI)~px&f!FcDl23e+{WszNZl2vyMVgu&AaHV zLi{kFa}jSL(Bxd}&tmG)H8sycNr!Cx^x<_6BeX^DP%YPHJDa zmnV-G7pRJ4HNDj(7FMK?mvAe~&-@8+1}x-iwpKhdF{9>@Lf`_arTgOt=MXX4XykNU z8_z|k7T{}zXX1`Z*HXwGwYxwVgU=E&3k!i+YdTtj$zOvdW-NGQ27ao3gi5)U7PdK; z)t_l48w_vr2{srS5Rqm-gBwjeB3FL`fG;M%0e8Y17Fs~=<}0u-9>u$ug8m!=r0yS_ z#*+edtTbW{`(p}$f&=Uz2w3$82_i%TXhRk__7c<`l`TL$U+#qMYqWrC3tE6bq67d_ zC|Mj}Rh;K1X2>M1lQ0nQ)%u!9A2g=6iK3B{aSgQmNui}5?iBXSlA4-`!XG~k=;H4f zRnfuU)%coBGx&Sy=`{EYo#Drw+R4a0F?lEB%#Pg2SdXf7DFE%E>+N3wu|T(e2A-!> zH|wmENeHZSw#|dM@E&VY672@tRyY^3uqP?%1dPax+zCpGimMp&z6&=X$Ja3{Qdjjc zXaUDJd*lFg-izPW^2G*JDvnn7I2mo>RlZZs`+m4Di=NS=xaN1_5-E)~B7ZhLGKrfF z92RuL4ExCqMCRU*=;Gxd3!om@j6~;ml_D$1ZOCAaAxl6pir2nvRR03=1th6uY29-^ zbx$h`Gq$gi!Y*qfvWf8$=F26!q}IQQamqsY0^?uptqCa&7wlyh6H@#*$uAXuiat^B zyg=;Kr)JB!+4>oBZuSq0P%<6MKwLN~1sH-l`+17tY9yDTH25Lkxceijkj7*08sWFK zG8u@C(5F&<$dc2%#A8zLH==h+1N$qiI&6*LL$M$V45fz}%BdL2OMqsEbudOFHD5tZ zQTOJFW25p&7J035iYCW}pt55YF56DnL%?rU7~66^Xdd^Bo7gM^6~LmEU) zQlA8@9OS6?{Gwn~9SW4M398eA@=K_KW10<*DF%EO=;{&iZgzT@wq1vsc1%Mqv3ckTErQYh%(hg8bsIB zl+BXjqjlsajW{VURW91K4P24dY!@F<8A* zh}EZ8*4)`!)aTIkrlUTfu6HBV3Fp{i@=)|lyen4v>EFl?lw6yGwlN_s*T_fV zk`uLsABoax4R%Vfi%SIw>}f3Oz^g#}(R_qDgMBf1wIXZ1mBhZd*g8L{$>jmezDOPF zMF1GcZ|^XWmajLx`Qi+0>ff-cHhxQB?+r%QvT+div`Jh8Nz(%%^~Dp{Gv|`>Mc5Y4a?lpa{Wo(j6KyP(B?E3XTg9#L29N{0JoZLgj zPT@I;t^W!2L_O)TFPDP-*L|u$DtDsYcb|5uz)c+obmE}p)VV;*U%v#^dXDJKcl{2; z?c7{Y4n)DrubL(CpTZlcNSvn!e8gS#Ck*;^(Aa+~`u|&=q)st7su=m?_m5#H*KikM zA8R2TN;)m%Y7QtwO?5vFh{8R9KzxyraV zB!@Gg1j(`R4;amoW?}Qw2@H2Meu2@8qj{~_(fl-Pn_P&a@iC-7&A~YGti41rE!uHV zj4^2(KjS!Nt`~br`Eg`33~Z7+LE@^gu6R@&OjPLn{@&9P{Jox^_Z0{|<>xKoRSW&R zzkc+3x}C^-jcVfy07jp*c(?})x1BazR~-d}1DAd?IU_#tMQjQIpaY-e-Pjkwy?HnH zTijjvqMGEu8kP-VW*e4mTaUYb{DdO!Zedx0Q*--9+#TkWm9eb-i`Y(O%}X{+hNy1& zN|M7>|Lwkz^&zc@rq3{cEj|A~_TD@`%If;#40rARpWvn6^&IPZZ&n^s#vK$kCD0-&?@=8Kj%Kr z%rnCTwO`xc?~fm^7n$dI?so3E=bn4cx#yl+BLjzy(4Ncwk!`gYN_)1f>`f1yWo0)# z8UDZ0vf?&`>YDuZZ=n4tXwGsx-4@Hr6PKHj=e6^&tN==xe?KyFaJ2MqM^QzZ^b@m4 z-c!ln0B8Rv?h{n&fM3bh{tMhCxT?q2{tMhAIQiRBu)lg$;r>L1EqEM>6paK^*GnN% z3lUuPQd3r*VQy=*iv5bvhg-I*@O*4lJCDPpkrt^TVR+xHvpbq!e|~FJzWr4*gB$** zq8DBV>h)>#8kxOz=aTYzZhE}`YpDBJ2|_tRGM9GLD|vyEYXd@I(so+wnu0+T!YE}- zHs|Ru%1{(}I>;=^#)9w`XS5@FV6@LM8^vg+{A4vItAL(bbu?jPtIi%k&uww=*_z$y zfEw~YKW0M-z6J>!m(c}WZeLN`JzFkc#xQEXxUPvSD}&=Ck%}Q57crteN||`4P7@QF za=~g0NT>J(Tajt^nqPt06M-mVJV#$A;dNs-}pRAAh`12R%TKE9~=^?xBU>@OQR}o zXZgbs<7ldDvQ4MaeYmAGJ8~LE>Qr`scNQJfy5*mNps!2(E|$7jSn)Oo85qKsofxC? z*#=*g^0L9D1dr*Ka~_f{nYYk+$SkrLW-VK2e9lgDZ}l!`y?blY8w7A6y|(Av`5Ma? zo@L6JbNdMiMTXzdtv;^vf2djuyLA6vd0g!jcBkuH@N!bU;pHc1f)^2oeo?An6J5w@f7#u`DLFh>kiuVnP@~pB70yMdYtKc=yft( zA4I$Eln{wdFj&J>#e5rN$l1cPK>!|-D$?oPz7Wre%&DZ%ti|Raz@?QFL zI52gpGU{Aq{CKuDb(?01ITxX!b{{@Dw^nWH3fh{jY$Hzh822(6cha$7>6?PbqG{26xLw%w-*3ha z%sOF;qYkARbxitv3!TXiV{nN^YJN~mADjb^oF-DDjinzh>+TvJmC3W${R`YS#9kLD z=MGWMkSV9XSj8dnNZ^YS&4ak{daw*=636|zE$P$Gg!WH7HWJ@ZQWO;bKa*J3U^6f~ zG}rU3=FHSpV;(>`1a&Zp=E0weeKit|zZKVtA*v(z8DF|0pbJjnyAyMwGFNf1yRp29 zbHaC4u|(qxLq=V*fA9xjjOe#6P+B;um#kdX?TQtCuh#bgROdg?By!2s$@v1ie`l^} zN#_eLUOPHpVB@a)ciNPe^QQXuKbJ{Vk{4C)3vwP*<2TWK(_sUhIpE?RrO;@%zxB#3 za?a2-L^L(eqOuy|H!o}^y{u-N$muALCd=brO-qh4RhcH1|6`Ui3X0InaD>4>MoH%N zbLtibK~tGEqJ3!B$jn?LdWwyO`33pAsgcaWNvgf$Do#XPe+7T8<4<+-0e|J=v)$eA z@;jQ}U+_Ejx$f>3{$I;`z;E$+iAgMQ|5?0(auaR#Urn@;_|OcS4aEmN%0l)1t7TB_ zv&drj_6|IJeK{m2*rYJXk8)4cCq7~g6Q@edxOc9XPR z{L|gAAtPxysf)(BDhBz&%Decd#qkd+$zbOp)}pI+9%3pU<1YR|r5xQ?3w-LZX@O6{ zgU&-7eumCN=)2BC%;Y!GI8K0MT3UI5-0&>w_OE?sLp)IRh}-=2q$BwB;tio??Ww1y zvK!v>UCPAHLck-^N8^bb`FqRFyWzfsK5PzLg`qtU%=wldgGB2{q971L9R)=Nw__}j z=cIhg|6)GH+?h(4Q6PyLl4Ch{Jt^S9WJWbOO?$j{A~pStd|u=3{txy5&jC4jb|?)` znu1h1hfX#XSGuZ)N~h&2-M4h5kGV=)skFSf(gSqzrv&Ei&Q&V!zY>`1OFqxAa+RJ^y3zwFSYP)Lku~ovuJe%|>f9lBGGkilI)6sN^7?M-Jh!k;^pe&@ z!>2veJ3d$M@ulni69t_^`71hy0Yk7|!VV}qoDKfePSX(d3f;R&kbW2_a3!%x5W13N zTPBF)3xh;-1k*K7%w>J;&_mx^Q1pwag#iUESX?{^*jjMYEc6)3&Yfm05HsD|C_EHU z)tSmb&~lF7IM>py@s{SqTDt9-cwfSno-5UoR+yAm&=P(YweX)ugE^9VtxHG88)}U; z^t;6+8hWKvL+5KDDr~4V>{4@ZK(3`J@s`?REsZMG(i^2(dRdhfw$v83G&6V}@!a)k zX4n#Kh@;6%zHy;E>_h%G8JY_DTT}9(;Fr0A{^|t}j~CpFg6J{}#TkQ>DCSn8k??sD z9`5u@z{Mgv2&32`B9BzoKKj>;^QiL6FZJ%9a-7mIgyilTcE?@ zsHDn^UTE~{xs%oz7Y)zXb4PDX9{;gjVd#B;q9#-E?vedlf+-Xz2+r8 z>!PUG<*k1ux$7bDWK@`D9=%z!N$z^tREC4GcaQ}=R0<1*Gf6HcDSQS(NTNGLVIrS1Ak|7(kohPuQ@~AJB99@6n1Y9 z*S$pbSM~3$zlZ&sKuKt#=l;zjCvu~?P&;7-qIMG{J>TX_wp~AN%3xV_e5^$jT0C3R zzU9n*$PaU8rOP6=!i4tqL$n{U0^FhPXKsIE4C!f>Gh1)P(*s?W!S=Ioh|6-4%QDHb zI1?^T(MnrvIw7wrU)2TYhxE0%bEfm};NBtj*}~)SfpUAX~Ih6k&7YQC6YD=4TAB{K+G1?zWyl9Z)+# z*qgfoA`sae(BN=)7WxxdY6I>f+Vk0wEaC4TdIGl@81MU>BtUH|?Ep?zK2DTjp4mEe0)EJrc;n6xV?k z!*RGX7M>0$obupW6@r=Scf{o=){(pljZx8B0>g*XV)Vmy9_g&(ArmH%GpKAB`n*g=g z4v|2CtUO;+6z&-)G{GED+eJXl36^qnr!-KkFj^PXJQ-LU{$u&PBv8)tH5$IF>dq#5 zPIoX~;4C&)8#esys|zK;F~UK$%;D(Ei$zezP$dAQF9fn+t#3Mn|A97B0G{Stkv4N0 zfCamM($lbgJ1W&z0rBQ^fS7~aF*Z6d;W;|_-!7D)Ypt*(CQvD;Hjy;+O{UqmF-D;; za0E#EMF8UAR{-C>_9RJpXd(2MMpQ{xtJMx1c+aP^-*o|fWbB#7Wtbtkz{olXK zPD|G9k<8Sy1(e!@Pm(nKmNDi;aX!zI_ct%t)lm`~=KRA84WP961 z?U{&2d&P?R2mY$(a?Q2%uJXQ=28(GX6dp{J;D|2k$Nlo%QykNnq8L*KxqVh*1^+6V zW=pASN=v81*#O)-Ee`$eVqQZ1PV@YuM|#xh{&-;zI^7kbiMUSZPR1^07rbEa(cgid zVW0_dDJrR%l*&%;2SJ^W-EP7CROBaVCS%?XUc;aH0F3P00%OA>-o|5j{2a}YdI zD+rFEQFqb;2#zxd3=l`$NeH0pw*Lx`S(AXqlnTv~vGw%!TKe?E|2O2a95`{g>^lPI z)NcyTw;_?`z==y_SJeQ{nLUE@UzEiJPN6K;N3fhHSpL_7SPnIDL9Av9;9SrnYW|CA zxWI`mBV88&$i28D_b{Qp6#j`)dJ#s0-{hwyJ4%mik6;;2&6bbunzN)8qEz_ zTgZNp39bJv&c5#~SVWx?j|n5FW?F2K@xtu_r$Oezjkmd+TKO=5*`nuV=j)@_((cmC z;^1XF+}jYBbC`ZmF(_9kmFX4oX8kfbh*oFL>_1rN)$86@oK9R6i_yw;NWw@(0ZIcMgvtok;QRK^r%}%pGIy8sCIYL=D2e_hYS`PuDk{I*no zDWfc3TY*`ECy!stXhA*<+L6m3_IS6cn4gSYW4hE}p_I6)1Nj$dZaB+969TzU2;>!f z#)l7B6#llYtadxIqSo%t&z!Q_eNBm|)eSNoWwl2K^~Qh}YD)Nfy=FQFCfDca`XqYd zZ|6SEDXY;X0mFoizq}b~B7fr3`TF!H_X#~?FFqZmPjmDMC|8~tL208loX^okH1=U| zn6Hz3{!J$n#b!|1aj$oGzr+9i|JL2z%>RGzf4?`nyMNCA#GtXO#mCjqnZK9qm&Ie` zrb73Wq8PbF`pDP1uO>OiIe*o%L9xO={%mYCxIfd?l-Fx}v)!hiQKk5H@e8cq4tAk#CDtA$@2kdpIkOaZ;Ccc$iuxbbH+bqUR^JY}{14Z@ z9sG&{d z1efwb8cTgR^Kp&M9E=?$e30&@phofof*fhC$a`xx>N}oWCPy$7QA6P+(HAozf~T;{ zFSp&MUWxQvH4=ATn$iO_Pg1diW}H_k zZj7tdcZ;k2h}2TJJ2F@8Hl?ebPeJ1&iL`~(iKF0w9xB~5SLvrVT@{I~z@4taDpjz_ zMs?SYkm>Npa{rGPbH2i;WJ6Li$t%4y&L2^HPGg!ulEHC~G$$67-e@%Psg-_)7DQuB z$(!47$g@!lHpmq`u&Ce*`$q+@%N4xE3Tm8!=Oh`LJJO({f8Lg1~=z2 zuODVMvoCs~>*AJ|YT2l2V*8(^gQWm5K)WXQlAC2hrs%~-82ayM8Czt_ z2>v_77bGwkU;OlNfiVY)u50^~kwD`=Ks|wWgIyTc5P-$WInK;$jE%gV{>9ZYKyztY zcg?mk7!536sNxGKL}{k=JN{4q%qqIJ`z`~FoHjgpH2<3r`)zXB=X^+oH~G<~@f~BE zY9Hs&1|WIKComSA!&9}F{EKE^ue(=uS9tGPl(FReOsbzNr%DoqY(@1To`y(4h?}MW_Mh@l%>Uyn$L+k7QK>BX5 zN|@j2x5hJlC(OhJZ&U;nZLWhlh=4Czx$2h%MQ~Vy}}5QC~l^zK+QCwdQd3^GVkBLLuO@cDy%cd}+Cd z2Uj^1)STtY$tSx%>@^&)cl{^Ht!r>xftpiuE7$S;=+G$ZNqK*FQo<`AIL_Oy!aEb6 zaJfH~4;DSnc(j8yVwR+G?`fnQ-11e}$uX)Yf@#(`@7=EPgddq>egcoJ40R;O$U*&6 zRG0L=3|XnjE|K0r_|A@bxNT}#u&xc=fS>Lw>uBv2qLm#_6Im`6NBH$*l$499R4v5T zWh38(r;<3DiQ)$N9o3YvDUl*_q+MvwLDq5xzUtPLg^#TCIxAPa%;MSzRN@i2_>qtD zYChrLOTmx`9#_^&j>5Y8m*Z~9In-SiT*(9i?lRyO0D&EoQuxVqn&f)tD(`MyUW32#vl(r=%adV``cI>vQPGnOGo&hZwu^|9UbJd&d@k{gb}#Qv7wczHV0h^(wx? z>}=rHi?v{uDJSfmLzdtyBhHa+hZ=s%M?|hJgG7q2QqVZlJwR>_ecTOU96OWMQbiYU zPTW^}OVG(ie|h4*hjo4LwgScNBjtH-ncBKk?f@jZy`6mG+b5BD3W)~okCZDjvDsdZ z)Jt~c#tyvS?HPFx)C+U_hy7v+)@+glt3v)SRNp3)w9bwh(tKf=9cuS?LA>pnE)ZD2 zq9Xoj%5LruMG1#1VV)M!qJ%w_a6^fNEtQatCB)GE<%wr=4XRih;}YB;>k-uoQC--s zNA7Wmjle_0BX5LR02|m@II^)`0Y33ZKw;@s5 z(R$k|BD`^W+aNmRzrj@(+T`}{RBLaD^<+ohlr&KG5-2PsW&S2gd>V)y{Nud0Eo;|~ zUEl3eZwi_CUVn0$-19#&l?`Sqm5qx%M`_g^VeC7_IBCJ{7v`NqUggs)UHUl6)CSSp zi@ZtWx||&T@yDK9*8Bt;#}hEP+{yp7F=I~T|LXcv!}}?_Tm)LmUoLWBf#UQ)*-m9; z&_9Q(22~h;?9Jrw9z1nN_|+Fv203A^@P5zaeDUR=o!M#^h}1PF8Xtxkm|C<6*m7db zOwz5m)S^>)smdNPaB=c^$}&K8^A{)E^f-Ju07d*6&b?Oe%7&G@O|3;=d34I40)6E> zR1#Nk#-a_aL>n5rd=U!7#k8EuPLspQ9o08@>b_Rrh+GEgKZ(`qD`)l+#h%Vso#_ec zP5nyLp?>+=BXtOoh!v~KduE*Xgnz+a(uU@9vFGG=)X}IYlpNI!bbpYB1pyP`Ht+l4YgE#pR)BUVDcrR7;z&qur)nI)k z*oz9B1U^C8oW{UT)^h*7a}hDk#X3Ecq-sL>d&%b$^OCQQJ$JhLeO-7lUp`T+7yZ}zeVEWqsd0Det(?S#1pnctnwGKZx?4I@A_T$En`VI zy)BSxCAy%&%|p!dxFwI}^LmA|s_PWk>3jyGtn0uKI0eQ{%$xW?`P?W|aG_8{K8bJi zi~E^Y_^164?$)XgB!p6zB^*uyXUTJY0Y}=CUEyzkbJzzqz~|Ndkv8tA8BRwy42|?y zUExjZjp$$PO(1A~*U@+v{^5J#sI|AL@JOrm(XQ=tJ%8kd;+}srSCZ}fphd&pfaJ%* z)?Dcw+E2g`!FL_hom9i4shH>r-{0ousb$9XVV~JCTj&kLLYcoOB4%JRyQ7%lG8NKU zt%3oA)*W`yyj)oT?mo~KfDya0dB6GT5+sssx=eKxw9m9{*D}AMD$wc`Jnh!I`C8V4 zc3#5T;0CS1BHs1DLKuDy?hEs4*$$fZk{xr(>=1H)C)x`xcVEZrtM#D2zRFv2we{v* z|IvHhdUM)wwuWTto>vIh?>rou(Jk zFK=HPZR^F}ZmJfo7jZe>|Lg}s=E415(u?Ca0|=y%-udBYy|)wTiWp z{DE}4{aNQDoi$CCN;9ItUt;GUzbG)DEe&cZ89V>@F!kq_11eq!AO+_izbLx@`8NhB z>%&MM%v$zKsu)|}&GK+ezOvl%z(Nk`#w=z>?BOhC5CayoFU2=>r$EE1wFr~I<gu%`N-yL*(&p?RX?X*n~F#Ss3 z#q*CX!SmnM3Tv$Ucx7`u->gK-p$zz$?z?Ix37-8knElO~OreoI_`aB$71rRWaLx*& zLGU+i-bm2SF|D7uT%SmvPDWUYVivcDCL<~Y2CfSZ`cR)Ez8#?&)yHzsv?$pe+F@#& z{I-4u6^AnCjsK&SOfWQZgoC4SLeQW8(gwzi&7TnlwTR7jtxdU2|FO zq)6=^#Z=Cz-K**QgQt$PwnAOMl>XgyjcL-G(jV2FXw)@%Om4L6kA*df2olMCP76TO7QAA@YQPsR&!`oF%!^sG_;Vimwv~XmPyU~qo zW@1RJITKp5hIWh%(vD2ZXv~)3Tvcc(`oRC~9d;OuLDt#3YgB#4C?VzcC zT%y8fDF-ihS*-21f}fj%4X|z?I5h8Ug2Qal_!mcqGv@T^$UONkqRpJ@P?(~>ek z>I(lVG6&bngpnOHWERV)G)RBwkNA3teH}S@A6w*)`0kCGwZpsp-6lFJ6EanuE$$Z@ z93#iN%-fOK9fj$pCYYtQPVr#pu#lPw%2kLOB#lJ?tvZUP`>5%~$tER4JgT-y@V-eh z^*M$RtWUnN&Jng&l1kj3;NPp7?hkeUm@UD-UJ0$M8wLE!lyF6uz|xQd>P#h^>k^uj zPzcmvO0E`n&5n8ddi3UXczEpjT249%ks~PxA7dPwK|zd{v4KQVkWxB>9B@Zxch`1Z zgGvZ5>-^CPFSk@lSzaaDGF^GJ}x$L#nG_2aEx%jw5k@c2K~k8gQ3uOHvUb6h|E)!+X=tsg&e zqDdtjLH>sN@zwc)|Dk?-WA`eFX=~Jvr$>3#q#sw$40X$5{dm^m;>GF7TmC2damC^A zx>j+`BK>$*5=!dFy?+_@;p^(hj}Ol4#{;a^xPE*SN@SsB;IB8w_2W|!DZiF}{Ka*l zmTCI&3cZq3x?U!x#>3O$IB^;B=cX^j}M9<_t!oSSVR4IWUdDvss}yj z$G@NL){Kfnq9A~UQ)s1DUh3S(J#GT)r-rAol+LOg^XeDC}$!@n6})XrQ0biSBDCaX@^AXeltn_2)m*Zh`(>96u;S z28$mg_0aU^(bzwn{(Nq}vY7r10;E4{CsH0K8x7JLQjd+5s|Fjlr!bmFGiu-3HPiXa z{iE+{iZ-n3ok#~fVd7kChwA`;mC6WG@H4;;kS5UZAtM$27 zweek|Rc&Ob)&2V(PeV?1?}d|`>Fw)K8ogaei~4wXFYV$hM$x)b-4~fY=PuSLNieN}SLp@KN=h|I>}Ih}tVddOsQPK=>hvURnqbR!ST}8Vm*!+9fZi)EYR9*fMvvyM^qe<7Aeq9G^v>Hca^$WHY&y3e~R;;c>TKmtc zFVOb1#&mJAUWx=7hL{CO9sbM;mICi>49v`qPU(A`{=v+_LqekTdL~NySGO+X9yGvG z{EMxnE^bc#cIDX63EMEjbI9b(4sR35q~69#4jkTGjTO;RfLS4X4Toa9vv_eHb~tq5G8DArT;n#yjblBIVuvP~n32 zL69K@SQCv`tHZ!MklEZ$pt=ZJf$uN4G3*wJ^U>meL@D8cekB@@d&JRh}6b+R5OYG=& zb8i}I%jff(MatyeN0=ZHJfqHO=SUGCK(^o1P`IT zqKe71f0+#t9&sv?9r@l61AJ=%4mQjD&#DaYh=7FX7y<2iLypRp7896EO6!yE2yAj` z>cZsVP3)1n)TdED*P{K1qokomNdl%?(*qJdb73JN5&vZt9!`fU&q1R70y2X1jEts` z$5kaVQWQlap_)x|S&QRb7FZv>?3ZDl=o+d=tVixFm$_#0_>L$ zahJGy<$FRuBAjZkeD9REB~$08!<=`HM2?sVg)WKtO*xEF`iCy8$d3Gh8At{+ZDNig zXO6S+FyMpVLIsLMo1+m&96#f8WLp?4ItYCg>SJ_p^jKP$hx)Gc(8Lf=AFgzZRmI6W zAQv0bUYFy68kht*w9TarFk?iC^c2|yE)Od$W?XL`NR3HLjMYdFjjKlVc|W-nGi+>F z3rl%1316p*zF?w-JWyc=%TE(%{$GJ)^BEgaTQ3?yf{NO|q zy4KRG5g#nP(pwayfr($EURWG11^dVNU#Gv|*HGmUa&)cDAE-00HE1?mPqM~l|Iz2F z8nYbA$IMu1qOp-jtB$!ztL^^TVgB{W9|ME+MGMPj#f!>lvTIHqDERhs{5kY?(CJ4i z+$yYa!Ttt-c&xwEJ+j`YS9%-Bn?RgN4*%>CSZ{I`((J;|x*eySt49GhVvO{yxoVXn{VErW7RrKyaBViZyoF`m zm2)EGtd}KexJ#b=H&MiH_cU+m){pUY$3uY z@pSpKf5fK9@Agr_KL^rBmSk8Dr@jXBf^65Hb;rMAEUx4Bh+OB9&apEWig0D0si)#V z{_G&iL=NOoS|a_sEx~QvS9!M{;y2z-b&ND#5|ylHZnO)$Bt9W3rUv+KhQP$>r#S#% z7S3d6)Plt66(&w!3fRFS#>dT{^pIjW_U!?Vwj3NoO2biRaU>K)M%wTeh*E| zS$YizT_e`G$<`n(o3(Mzury{{q_CvCgIFb5F};IWHHqd^$tKoe{O=u1R|O`{*F?>< zn>^~MMosSi8!b8%9wHQ?D}*Ryx7Sd(w(-Oeg(GRz z@uE9n1sW+rMEZPOl-6NLbQo)$I`z@N(*hINr?Q%%tWoNHup^vMN{p#Jrp>h5-}&e? zfp!md$X#&YC28OoU*m0vdt=vBX~W!`p$kdLy$y6}W8K?ey@^)ln5Lh$_vi}1wB_~e zen6^oXtzk0yor;7J8R0_EDF3YTdfwi9Wqc4D>GGGH=o39w`0oC%FOsO{0H{x&A4#A ze2Y_eVH5*+GCrw{57(k|*@7V9SL02s(pR?M$HWpEw|1o3{Tl&CswJ8e_?n1>KFb#j z>e3%bV`=ZKE>E17EUT_aytJfz#q(9!y8d0;=hvv_RQHqR*@_*yE4Euwjy|W7=TWjc ziKER9?5C>uI##-J#$)wVUfHm?f4MGQFDtA0J2ie%o_OHV)QXo=*|o-2W@;Y$P~!O? zDzg=jF;3HbTkHMHuR&(GR)w2cNL@?}O!n4x_(OXg3 zEwnh9pwkfF(hz5zqr&th<8_tQ1oD$b;YoqvXb zG~RKT8%I@LuToDdYsA~8;ItA1y|2Y{r{Q*g7i$b^OyVW^o@hpc_?A6DBQNVg$15_k zQW3dZ=+MmRb2PZvub>UTe8me@TyNgLYjB=8p^)+7qdU zB_BFGZ%k+B)NBZz9gas(=99!F$+qgml$HIY;Z-LtO&e#q`+D{lAIc>+eiTUSpmT69T={DX(M;>dk{uNDM|={;veZ7|3UnhmX`dy6N}s#NA;SFLa$Hp~tQhDj!$gT-QfkWm^*M z!(Ved{IdiA&Dwgj#?BXAbKxR2dM>hDblF9^)%Dt_C5MBfY$E1xuw&0SSTei>4r=zL zLaaOPi#!}svlsyOFS8RCV}8Z4}F>j2u*f|%BMd~}!01harm-B(wvYdLWR z{rl+Y?0Bi}O79u#pg#~av+(dTuUD`UWuqQ7o`{s>L?g7ERb0SZrd~U|A!^5$|L+RC zFPuGQ=K*FSTUloIm{+J?_KIcB>>xTYlLh)-z6T;3bp~*aM%=145k5FXloa0loD1eV zjO?U^BG3@`7K%WF-J6>ikqG2uVdKAxlbvd*i(3>-wDSjUw;t3RiD08#@lZSq8wy3Y zup#3FoLUT>=anWpciRDGwhnU@Ce;!v_MWL`CaeSYT zOvHBkv8l$4Q_D_vLMR`{x;KGC&JehiJ`&f#rCB$;^aS^2 zT|~BZZ`S=NMq%1e!=ZkcWP%q$A$wUw?AK zS*&A2T87!%EJ2+ZI;&k-hPJfXkHsvd?^-nBHQ0p4v$mdREGqa7^TH@TJ7&G(FD|ny zD*drYq{wP*8fW_NmtD05W3W(I^H0mHawmiA;D2n+Z z&!kqo8F2~Z?;B969hdm7o;-1hnvhGZ>XqXXMN;^0c6CyC)*A4ier*E)nya?W{{LgG z81!lmi9p=X!f)r&LL!yk7$QHz2f3b@jkGt;~a0bfZ&uFIDZ^C z+fM8evW!|el0hBKm4Yh`R0sSc6)2L zN5-7m5xnYXZV$cxR@iX?7;9w5_wN8W=LnqGj={IhfD6G{69e8w;9S%*cD@ysn*(Rf zEcb@*I+hzW{omnPBV&>P|5c1>V}J=3eatxJ1*Y2xK!JcHfk}G{jc-y9l9I`+UU-Rd zRze_h(=e@gnXD7NvnH1!!744>E%92M=o*Q&TAPrjLW^dnM5`(%TD{~%E1kTMX|oAo z-0?l#S@?BDtMct5(Mk>ZcQlE>OSt&xaAcBMHo%)tdxtvG2v~UhgaBntEyzEKtZJ4WNl6!ONTlRdt z5$95Rl#_2F8)Pu=ZZn#b`?b;a{iZ7!@h|OrWiVAF^?~_c|kJ@p!f}{EVRzk8}4%Dj0O60f_oLReR#D;+;H|v38+ij&+hJJE?|p-ly7L11%i14 zy?u2fC2Np zb?A@41kp9Jogmf!Js7k76x}b&ehO!&U4XX~E8T?;8 zp2dv!SEBEK)%oOyqL3B^=ac1c-94rB{jVRwCqf3TM}hVIttCnv+;4FoSr~!_yg1CS z<6<;5^XvGCjSIJzdNWVjORZjPTH?uN*fkj7^QkG(@EZB6vd0Y^m(8{r8)})OA8-78 z=aD@YM3z6GHWnopueT^UuXpu=lgqsE1ST+}G$$=zv_OH)6f>8PnfAB2#ChlLB7f~V z+K%~q3?(A1?PDrV5pE?DfV;roqr2$5^FCxSf9>b#z4?3GM-|TB<2n{^JhN>DS?$_a zheX^yS{%7O>mU2kL_9zA9p~-aR|++aI}4snOPTQD;@-=qw9E2;v*b+@!6nk$kOk+D zGkL?8cAdl(n}DfQcEgcu<>wqg>g(p=@BMH2KEyph9>12k;h$Tbo1(Z5;L5y#@>9y%=l90ypsG+=vC5Rc)ulN0Iniz~gp zhu&_I>+ST?m7Zc)l&{S`Y9FqXn>x$=^N!nyNoG^0u=k1da{yD3nSBnObiSuvx`O9m zsV1NKp=`5yeRsZ_n~KHtJ)EDIP04w|tXwtQi|FJ6Btu~{z=gcP|M)O@|GT}Shy|p_ zf*8b8V*!}pfrz($stk7nm_&3KfSs({oA?~;lxt}4>hNCrUXSo@9EW#tu#CE0x9`&M zM)1yz!Fy0Cc)O`42XC@94{Uu5Si;my?g%c1tLPi zg$c#mOfMk^gCQJ+$gwJet#i$tA=)Y=j6+g(QlcbftN@Sr9-l>%?x0Oz`xHhK4I$() zfV&Rgi0tO@#3*WTs~bK)InnqlC>L?sI*>VJa0q>+S3a1id;|H#A&OJ}o}8i0C#lk_ z>{sdaO3XWC4`R8L?~yrV7k+kO-P;uEvt zMJ^kW1dBr2s-*-?L$%5f59ahJKKAM+QnMe6SY^%5Jc%C4C^&>A`HRk7 z){U9Eq5VdV2K2t5B9&PvyvbjMGaYkH@Ssq5@M9*q$k6XF3+Agk+&-Y6+-01GrQBtloi43Sh>q?M3~wz6 zRpPlmSrQvN7d6l1>BPq2j;!0e&7@CK@l1A-t7QlS&HNwC4<`Uxq^EE#sZM29G-XHd zBMM1Pj2v9lUr0y&SfHxH++d8(*VBNsMG8$UnmTjpUV~ciV|@s zW`^KkUfj5W8rA5v6d=g?<#;WInecMW2tm=cg$_Z{{eTWZEe=7UFq>XN%^BO(_0k-q z);+6_0u@u^9p3Qc7S7;=Mmag}zG;RYyBY_fvkXKqwOYYcKf}qa{`S){(0;N)9|E|L zS?w-ItY}&&B#v#GD!fznV;h!ZK#!|703>^ti$B-nC(BypKHG3dEW|R~yOq!&9q zGH881cw{3LOn$qMqpX?DGg*K=S|J?RTT zRK%?>kPoS25#~bFUzS;?wu{o63 z(que)L-Ci$W9M(1V?z0`H?cl$)G44C`I4P~4Z94iUG zwgO1Xemk8W)wNpeN-ZM(54WJylWch^dQJK{qo9%FUGWPk?n0FuJCIyD{W4C0TZsLW zew<0xBpfCx9%drhqYO1lz#L&;lO4m`r3qDV3N4eBz?i7$@a)04qv<5t{ilMMM6!eM z&eiizDZ^u+x?$DHHAhrt$_G<%f7;-2peCz(l*@-`v@+AHGIKOE-C|M$lO19x&maR> zm>JH}mhS;ykj(0R=wwF?~ zT&V{s<^MJ;pkS<}q3J>*HXqO;T7~7G58VqR!cfqb_wOmn84{5Bd=VO@&8^KlM~l1g3%|=j%f%emG0+*DGE; zv+7m+w`(e{8B_?if4BNpEqggru?V>W~4sy&G&51m%Ydw5gGY!B*5n=z>Y#~m(QGD)^$?!c4v|KRncYiRo2W}Cu z1HVI1{pv$8hyp%Qn#_U=$VpNY_~;bM6xYE^ci5xDo|kTSZ^9SKoWow$>5%C*(%f+d zFa0XdAkkqj{RVF+pv64N=?BnsCrI|sBE~v(YL;QgfK_T+ClYEca(&6!5%o6Mex<>z zUB#k?!sRM>zDG_*GorR!T{F4vwltPM6$quDi&TzTIkxPtBk}#)%2RM?4Fe6fEs7F!i&Wg3PEKxyXEXo z+w&y3x2$Gh1hMfTXN~eJsVHWA((a%L&42g|2-l2AgZbeCu`T&&Evwlif*%*=+E#x( z!J%D|nqz6F$=W`QC-K&@nz2!fN(c=~{!1sgZcqJkvicP@*jyV%bBaD($_Jf!Kaza@ z_Wzn(R^9wO*Ui1aZFBYfAIeRLL-^go@9sX2|CjJyc)q;heMsovsmzi6Qkg@wX*T7c zRAy7u<YpxL4FbsDmgAYW#I7T;}l#xb2vaymrR{&DLJ#L?Qf3eykhrmQ!hka|8mM; z!KM~Dr?@l_Th0S#_E6gn4CCcDs+K4}wazCy`+=&@g-iX??lQ^O_siAmV|%cs#)Zm1 zi0a(lpuCEriWeU|gi=r#Bk{&K?_>Y47uX3TPJY5}EYk3#ezB@s@#UrP4`9^04oTd1 z_%QE@RZld1e^|`~wcm93Fy%brFb0%>En~aRX6L?ZJE2l5L>IxN^I^-C^V%=ZLMVQ8 z)xlQo!b%x>6zrgOpQ`lo+GB^ecb%XjvIL|EfvzGaQ=}`I$_{8}-t+M#eZ11@S)@Sa z%XPkKg}>EL3ynP3sTeJs1p=Xh3o{t+oj;{hl5_NE3 z_#$!CLa`N1+7+HQIyqi4J66Zzsy`@f*9vrIvfvq`r*^yc zy8H5U>s**Sih#f&F3gpaz_g+t9QCXyzl{y>y7`GlcXtu-mKs*An`pdIgxIiZgGA%n znmi4wHcq59jX0ip-a1$gHoR!$be4k;ItV>~X#d20;rqGm)roWe%JIrKwsYR_A-wG#8R8Ax>|+d9vU=2tU-AQm1wX7Ojl;q;Ng4HARKtahLt>VMMlj&qN+_T zeAHsw?!6wM*%K3*FSXV#15t6nw6HZf{w?w`y#+L((85iV`Iz z*7w*b3KTc0&}hbKIT<@~$&MNfx{8I(E@A8RRzB?aZ%RH_?bZF23+TA}BV7v`s=ee3 zn3$*X*pz%pG;-;|V*A`~n*1v)m?czoXiRkavub9hUuJ9{FDpUAOP|1B5pnI71}XNp zQFKd3goaK*#OtEl7C~qozA}KSWG46@MKQ*57(Z^$B9m23fh^CQnj%QVYc=bM|1*>w zT3z~He+p64?_;Y)$a+YB%=Yeodl_KE15z;NFROeSghUwb!TI z^5=%-s$1w^ZXD{l5w>O%jg2;U(to1n;3UQtgx2fi46Lp0F0%$>+g_)Z<9{Q6{JIIc zM|SYT(G-7=-mG2T!}&V3V%7#*iJ}-@t(JksFVjicK$O6Kgg24#(ydI4QglEu**?5I zcu^Tb60+(C-HVkID2aOj1Kh^&8z`lq!9?S&%vdM)Dc03HDep;t>CsyFUU3JipJen{ zS{PA6dsw8v$xl@@>B@^0{;mf_W8SWrk`IK>XjL_5l7G!qJ@0gAFRQy^Y|MwbF|SE! zy!ZV{;R4_7pF!i6Zx2KQyG>XdqUVPs?KVb9(OpiX$;u^R%3UMVv{u=1-YKlIMk6S4 zj$(*z;vF{7-A9_qPA8Xl(01NoJEXj=Dw@t3%++ZefYzjsi4i@KU5e5f>x_%h;8}eF zf!l;g3l8BAa!tP{O|H30Xu9`P7G-zg-q2NNl?5lPbVD31+~EwaB3rO83cMn-GnD=| zeKy4LU7WObGa?Q=h+`OIJf`8msm%1(y9OGXF4BA_ab1^q0g3)Sw4%AFlk`mejZ)lP zX=CiKd(<*^V||BBZYV&R3O?jdO5HEh`Y>)g-J@ zgEx6+nu!{rjF5v^jns2Xcjyg&E@(>v)*4 zIsQFik?*@AM!ZK>=fjM(`Q^N+(c$Fq*Lrs{*HahYKi%;D1cc>EbeEW*d|-i~oYw-2 z;)&`0v@d(OKh5Oh;0BmKQZW3P$RM*JYmyhswx-=BsYJicRb z@{bI8bcfnllV7<%jr*f@f7;VU_oux;BXNOuY$zSO`_pQ)@WjO91WigFR(ka z-^xuhvXU^c{x`1X2&V@0M$SHZF!~-2#}RcrP({6zjA{c%Gyw2hWfq zc(w}RNu+;53iKtYfX7Q-84yV`6cu0PV<;*{cce*FoauLA^>l0e>GNwwg`MKm78ADX zB3)m`9nXoz$yDm@@jZtpA{&Kdtq2SfXvp1AcQ4}RsU&NRtnRDgb#I=p+YA9Fe0E`j zQ!&|3lHSsMt&z*e2Kz}oc#K<9YR|`O9ZtsFyT@Amz(4RzB)w~S5i6Cj6LHK#mca$D z4-=v#QpB}8378r3plH;hw#xR6+Cs+ZsM$SiulBHV@5Hr|-WlAJ(sc~$a`Pj$F5AUu z+gOEpmd)V<|7J{yaqHa&{_`o>9R5L~XsCL*z&Ny@c?9MzMw<|q9kOF)jD@!= z0%aW!W_0(zvx0t&hQ`7UAQGPNf{BEqAH0DTMmM5tWkUR;!Gcf-)DjbX!Ari(&aO;9 z$~bR>cc>S%P(jc@PUPR#;7!p^xY)}6VT)}*s7G4{&Hiz7n3rfnoI}VRXTgkh7f>oIj91%@>hBO`*NSoSj5gfns9Yl3;#)iN?E` z^|mUMqe#0|VIEm>tHNuf=OaU=va_Vj*!h5VqOKOlhGcyU{rz{F`U3-J;~c-2y-%&84gS0y5ZnfdhCj>&TA@6zOb&$K@-F*uRO) ziVcaM=b!yOAJz#0!B1>RJL8{dtfY7NeRG7;2 z!7#BU%_Qa>t}8S*w@2OISzFD-O{8}zY%d&`M8n@GU8>nxxn^bBEz#`n!)EvITYeFD zwe2P5)Bh64)eX6sK?YI@ZYuMmj)wLRd6NVWi;pVWSt5O-bvJ-%%lbC?#LsHpTSctu+x-O3E%gBgL`ZSHOx&LRVrFQot6?JMSC03R6# zxIG5&+1((u1i*xl#DbGik8=R`a{zY=>ES>G1l|gl$c@5<6(8k+WL#thAB9*H?CkF8 zqyIiCe6-n-X!O)^NBqH3o*g>vujaE{qH!)zd1flBQ!FlWr~lh`q|!Yi=BXoGiAJs5 zJhm}1uZM4$S{YtanTgmLZX`L}T|u#HI7sFPjD}f02NHPl*k!QDzZ?OM(~pMWD1NmY zv%)TIS; z9))8YY6lNn<--2-24ULZ(RFTa;YuIFr%La{{@}VD$z&kEo%{~2^3EH=GZw-_hw(dy z-%(ZG8DlHG19|P>wO=sJh6z%4p`#wK;Q&OtEv_@sm^HMTZ4KSO4Ohh{C1D`Tbzld; z7BF{+h#<4DpL*m%g9a-^9@zmE3nbpm{eks$g@60oW(Em#!C!24IT0@!A%*Gm4<=_Y z3rmPmP0C<`h(nUOTko;%j}6n!(H;90Bg7=id4_C$AR`zCl;0?tgYACz0s4%vn+9w{ zB$?(U(%M-I#;Ho}@LElrce9D*?lnmFb?vF7E0RzVT@H*$H_hxm1J1lR63-6(r*Vql zY;`BxnZX5JNOSJe%p*71oV7}mK(T)z?qP=6(1;aIw$Ls6ZH=*F<2pkNL(&m!PYcnS zFy@W#A*#Wp;UXaPckhGHaWap1&s2I(`G3Z%J=g1r9lDlhF*2loE8m$59dY^h-LBEj zcJ%a^93ly~$`I#~dAB7QGKG?Yt1qronp;nH?Q)`XzlcgnM4J)MtBQa!p0^ckca3FO-g?}seD-dJ z1&S{7+rWq$;ZA5J(fAY=7AqAL>OA9We6f9085-v}A6cb+C@+I2@ zi1->z2|PiqtT)?20>SS5iNTd?usv0{#w~m^-(Y*NaUqzj&6?ZsPG`vszQD~A8eH>hv_D06nq zle?kDY$HevHQ6z3`j9ZtvSaSNyw=T?&7r4Ya0qjV?crf9_Szn7&nu=gIvBhFkTSOE zo>7*T4XeUL9xH)XBwuY@f_Rp=p9dg;VfBr)Q znhONpVTL#Z;rUeQG{h%K40Go+L^nPt5=erYbp8hS#I!_{{@I99L3i%8Z|#kQclQ&u&2k@{i{=%{&qf#3Cme}E@i5`C9GAdHqw}!Suk> zD2KVc&Hbn+Gc_B)yNO{XqYL`Q}+)Om<$ zUY?xEnFi_8%oC~ZjlYHFjk7J~0a^Gc3K6_HWj{!m#BrBfp6Vjz&wiUfsx>~*xUF)- zKJx*$3E5qlJ+UC1dv$YV_fzHBC|$~J*8f3y4x#=(9gAl#)#e8l z%YNs?pn7V^^?yl0|B)hH|BJ)fm+t=v^&d4rWA;^HyE}4WyJt`g;iNN^a-n_1&u@_+ zKf;e1)AQFQ$bFf2hS~o1z$koQGx2K^yod4QYtGt^9 z+E8YotGxG(3Eb)^&?x+q#HILA7F{KA@L=vZA2QC{f1Gz}zwj_7W#YO*UdIo{n8c>p zcDiFSGsv6D5?slhhZ|!3DuTC znb^*hO!*e)t=z;ueP%eT3zb;^G71GdGLz^p2K2)QM|SfqCF5>nt&Duy)Z+mM+#Ff| zw?T4e8U&}JXkddkaYEgp4Xqup7vYZuN^gQ~Yc-?5#WA(SVITynP&M(po+JOyP5dv& zR;Zfzk1E?4v1}Tz^oe{3zE5K%K$8q!2wJ`B5C)16Rj4=k$19sI56flCj@f2VgsqHe z6vf!^Rt8T2i)k63MdiA7EU^=@_4iEm^#9Z;0r)dYU{K)t3jD_WBS&qa$Vt;WBDZD< z1O8{D^KQ-d!RG_ot3Qn@{KLr{o6m*&74Cj>b79UqdKT_q=Yl0Ud64t=ikE-`u=cOJ zd)U8r{>wjSJuwmVEf|xDpwIEe2_9$hWFn|SAx&&fG}vw=;%E82y@xNSxANWTlo%TG zR;^&f*l)H?Y1_YkrfC0qJ!*{?7+bJ^orD^5;wI8*H(*8ex&7;BiuSMnMvlVz-2Sz! zS57=#r5@FPwtXV~SDuQ*Q_a5VbF_0kALoe4SV?Z8Ac{xF+O^x3XOd+j`hGUiT_mnM zVL#&8?u4z`Q#0l0>QELvn?jL%=_F9hSe?RA;xZi=2{t7|dA$M>T`aW5ccxAM$c4=r zgw&hck5=F+#&AW+{pfaaBC~|+a!RL!g!|F&tm>}U352xHh_nBH`mcf?Lx*l$r9Ub+ zE`rg%FQ#wyeQ(0oz8)=31@0%pSI7dwVQRJaX;(K(q8xUiUQG3a|!#9 zko)M?-4*_iw$Y-wxDkJ|`)Hb3&y999r?^`(BkynX19w){TK1Aw_}4wd6rQIp#@xb{ zP)7o5u!UB0*K_FW54H{)(H^Z~|a-k$%oo_Gwnh;;tjY z%vx!>{oaQct~A~LuwAuB`+@dy4Qk8w8ZPX4eOLw8B^#2{98;i|`@cr|lA_nvtBKPf zFXKv{iZ3tOG0V1s7m2(1C%!^Ach@4qc}uK&z}eW!f$`U{Po4TIY1)hs3Y6Qf!-Yy) zhreds4_1*F-;kXz&Kx`&7O@T4$HEtJ$iR*>WyhSGYrbAhD2C-~Y_8kiYZu4no`2GK z8Lo%emH+A2u_exRi1Kda!W8NCXY)nO>^3s`mpl?@W~KabQmZT5|35!tKI*{7+rhWM z&u+VEjr?rr@p*o>9nUd-Hsj>~Px7-@xw!W~;AhWaDfln&vn#jwPx#rQCwky#x0A3s zKf7Y{ujFUH`E8z`&9O>~`PrVBzzP}FNjsI`XX~$)ZC|p*_}LSPQ)}dB+io85v#TUK zhWzZ4JB^>+dws~ye(}P8iJ#ptAZor%P4vLePTSG(v$Yl%@Uz?ZD&}X`^F{pZwMFo= zJ04s!Kb!IXB(?=tXK7!@pQN0%{fi#rSq_0IhvL5;wP-bTXc+n|YLL4`pWqdC-c5G< z6rssvx2G{QxiwySLy_vw+tQFbyUlbh2 zSsENb;h29(`TD%Z{0(&zedwQ3+P@@42JN_Ia?d)J;V|zt_aCz(ab$k8MmVgK!qHzbR_0;wC=^mHmtWy33h-2FmXUH4@dikh<=_P-9Zm%8c=gJJcy zAs%aC_~-c+WFr#kqz_gL`2g;c#WF5xHDRtn$^9Uld1u?HLZIx8!F`U<2;w+C>`wW- zKCzZ=S$8AJ(F+6R%Y^r4Cfhl-(I?Tkk|GOaw-}ebeH1NV-b4KsG=ASlVNR~QnHhJJ zrQAy|;3qL}hJrrPoID$EE!S%XeNQ*2aC)sktwi{t|qhWJLO0f5+Gr<4~ zf)?$zwqqa>i|N`)C?uAb_>ogC(!+!Twwf_Yv_gzX(IDADB;!O3q8X3aTB*QJQ*=mK zCH>bi%B65;2hD1My#X--o>srw`s6_@e{AQT=k}i_;jY0l$6=dpJkYiEo#p1pfpK-R zg7zC88Cco<40p_DM#xml4+MblZG4*x5NlErW+uh}n4=;fX_8J>q9@*(H`wk~h z?(O5Wq1y$q=)qChF#UuVgK-c{X^f)%v>e3`OmBj{Ewn@QMA+3ETM1Y|jDY+X9-d6l zuG!mxZmjX11$rQS(6z*O*okjq0;4xFQ6d~M5gL^&kk;w{lG2+CK0MUi9f zUt>h|H#}cN41f=c5{=vQRqD>GV=zT4@-CYS8fZFXjMw>WjnxfHmT2-}7|2DXe?C6Bm*X!I>0{nK(GO99I>%Uw} z0orUjg(Tuob!+?NvP}9tvJyvw184tKy|_ek-i02&L3hx>-u#2fEM>olcJ$wP$|eB> z#*V&){tz6A#@E1KJ^+Ze9vn%m+J;SjP0^5orPBucU`32*-g(3)L?*Pd6W)E;S!|(RrH>IA*nT zYioQmh;ZK8+S%vJ=l0=d%Fr3zY> z7yVPWn+tQ0LH@u}|@n?@@;iQ*epG%_VCp z!BV1{a*KMbzBm7LR++A-Fli|`iYg=3!?V?T4b_

_WLDgrQzee=}_3IaAyzB*gT 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 r8tM|FCKL6D(2mP@K5CO7_JXdZ@&nQ-8VlO zG5rve6_}mu=CyXuAskMdSbX9kEm)M2OD(xnIbbp1(*S>-hEEfCZy3HP3~!v9EAHnw zqsc9sVCyiQ|N4=VZr)roAAMYam6di>#^H^W4gT5rlJr{^#((`xNqS{CDHpUn}s+E`5eooLwrrQt@KljW6|;?R>pZO zpp^hxq4tb0fv~5X8MMdx1TtgYsh0XTYgaX7#({Z@Rh<0L)cj5WP;(Wi35zdd{hB+E zy89QwZ|*#lB`?@&KZPgDr~RW#v9!Dy0_|uM*P`VJgzmJ8uQ4s|bH~41vuFME(bL9t zZQ@#UeLdg7f`;#U3oA3?<0|Pd>JGT$-5UzV&6+)F%(wz~&$B!eE92`)6!vb^cdZ$M zeSFimk9X})_;q9fb|dU>{HMG_+i-qntL@%PfGXaCN17pZ3G}Q6PIyHFR}h$2d>}g$ ze`S1KNe2XVFa5y.hck`!L|b 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≺vOKQK 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�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
#8?DZ7H^|rx7h-tN&or&3BK;cpKQYW~SOq55 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 z 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�ZtCyGfJb)WCYCC4G1wUXJt}KA{ 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

RJa`5Ac()@1$ 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

8Ux(^1FO!>piV_n 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

8xnli@T8%9!lKvHM< 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%0DB@#EW7rYAgo1!tV4>y?X({%Ed*g?yCT=(5 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

4zClZmT6;JNTHDJw_H z%5i6}*$_GpLv2>D_uzX7MgzQWkPewsg_q%txHBL2vVxZ~8i80p$4$h%o3GmY;5pKN zlwo>Z<#8A%wRvN2>I$bMKR^KlN&pXhE0+d2=!R_s{H9p$bY!LzYHIwzW1{2o%3~LB zDAEZ&&U%#%(WtyL)a*RrX=iqx_!hXJ{7(kD_$7OOc&o3Kb(6?2Q&!5@x1&}B4@FX)G^b7v2E;tlJii!GQ;Yb zVGZ=Ejv2O^ox~Amm_9&;&`oke2_F_j%QiWCZVKi! zkTu5AiyExSG$B~HzhZ9C^A!!eDIe;&N-uWOMj9jv)g`nw`Q}-=p}K*exEd%Wk&E!H z`xFGGK@E-##O{!I_N`6qMtyI9A`Q*|3uzbt)+7(DSIfjs5|j*NSMo0qi!?=UCmy?; zau;KK-_k?OGS)*-Ne^|iCv?3CVHPMBh9N=@v~l-ytw(61QbRi zb3_=W%dd@7roT4zN9uMU)6_*nvo}1rQUZ|WK>y79x`i=7wx;*Q2 zVaYHk8q#74Pv#ibIi9yT6yXz%Dm~35q}ImOY`zn7e&hS$nqO0135THv5?$d?pD((Q zDNbOFhyB>GTn57t8>Oss?w$Gv_PY`pV}jU^HY9UUy8U`RZZYxf`Nr>?@dq^`HI(XY z%-AEL`Y>&HZLv2x$CGwfv7=_JfQ8Ahe&Vlw@#l~ne5v~y3wy(-QCTeoOuVM}r+A>Y z>?HnL#>#uFfzn$sf0dmYKelgoE?MmyJ=O0M-o}#5S5)Co)mX2E5TPvQjJEZY68$q_X90}3#fZWmJX78=uOiVfIqzdM7Otg3wk=UHh2Hn>d&i4= z3?WI82`6U_9l|kDmJw-2)RD5+!l<~om&itDQQ ze52`PS#+e@(21(esCh=epW9zYxh+%~?(it#3OTT#6NZ}-=JprE2qP+H!evCcRYDhX zWQAs_w>rYDDVd{pWGO)mZ?i*}sJ9r=@$Jj{ZMG85@HQuOzIv;p+y0M!o1+9ayv+^u zQg3y1+xzv~+~?3LWLTL)I7sm#4Cz9nB^ZI;Z}{Wcz5MY|FQiGOy@^LKtasX;F3`6* z(Dx8Vss4^lV*f3o_BXJnQ(8-*OaYc;6+2eh)6K*(4wJ{kxykb<;h}M6mvy+dTuc^s z2v{s2ooo#{+sCg;?*2HPm5$V*WJmGMq(o^J)^;-&r-`qczl7IlA%yc?n8)F&Gl`r5 zan%{a4O-GbCdPPv4CuyGbm7KRwf}d<{0Y3{;WyBueZC*=mFXq?ZKC)%+;)zW*@e%J znq608H+1iv&a|2?;Ru;l-gxN(3?_e%4W{@pL*Z-LJQeIQmVO%BXHToK(YXbl)`5iz z(jjRIvaIWE{>@k2By-FcX>iMU)C%rP=ThvY0-30;oGoWy2jpo%5Dg+|UN;3TY>j`w(F zU)yt>g|(LW8K-IETw*Yt=27Ns*6$>Ol5Hk6k1WFm*z|<6EC!?lXbi|yv)j~)gR)w} z92bBea1_dfN@lyih4Y38n9&swD0+#Y&xIeq9ih-@?aPk4z&hJqz_xJ0ED&5T?$ru; z=C5RdLtv{!g;tle=Rh*x*{w8qtvm;W&|qIRF3*~vi1pdZi&ce5u+Gujmn>_LP;K&A z{kUP!*36k<(|e9^2`<6TzchNAiVi`Xi9qa{{KLK5mFaoq>Gs%SkFSSS`H^ei`7e;H zX}T&kEprGqez_yk^x7U?Wn-+MVZOj;Y=nb<5{_kE^584TM88kk_1K8rVgJhg|Enuv z*C|ms&jl14z%JoW<@f*PHPxqc+7QVZG*{{(v%Rqw zz11&@P5|??cf1W&C*rwpD~tB<;;ZMy(AA6CUm39vw6k_erY=Zi^c2LY)T*4^SlOF! zRc%R8Bjcp^aqc`>v2YMMb#e5!2T+BJDYmLYZ9yrZ2 zyC+>Nk+|uyrt@_vP7u=d)e>dQO3ai3|do6+_`)B6>~?ibspE4J>ml?Sa-aG zbbLZ|`Uur?A~=qKFg0a)pUJB2Z=TP1N#O(erCB(9Q}BT?oH_!h!9c#19@Edf&?GOW zn-ikLMz{yHy|Odyrkfi*885voVL__+5OkNpwR8_ZkCPnQ0nWB5PNSTG?~dan1GTyvVduKH?VxMT6y za1MiOovR)@P)hN{&_L%Qv)CUxiHH8if_{|17Vx>W5Mwx2+j~JJ(DY|G1pTy z@68Njftb8=lFr{Sy}Ia4Gs$cKHre6g;u)1A1SVoi{>@=>s`*DsC?<^EFDX}$CwSvt zISwm{cf(ne6HlL|JnyRyDR+&FVMy=&7Yr#;?8Yh|SPA%}hUon&f_RU}d_jP16$rw4 zD6kd6?E(93gi8;n*^l}IiCQsO_g5d1P;QmosOD{W4ONZUlbSQAhD>6UP9_OTp)w6N z?Mz~juA`KzST&Jm!k{7eRwvg761T>@%Nb7Oorj2nCd?jX-3AVNm&=xlWTIC*rjtc; z=UpyF+9Vssd{H2fTl9h6<;Usdyo&HBk#L2N^)43^ZGrGLWRiGj-sN3&rhgOdUCkza8s9xrf5F(k59?(p1_(_^U z_yRq1nQ3d8Xtr#eO^r9n zqWL1Xh(A)}jZwVt-Xx1|Gd12o=Xjlbj7pXdp3m^3^S065MOTC86 zkta->!rANCZ&8FlWzXb~eeN$LrgF9+2Zil>+Z)+VEP<)GCA~B2dsu~<>!>BYc8h#C zD9imqk|Cj!m#`7DkD)hOmdiM(DS+~(2serKN0AdE#__uZ>6vP~l!-Rs&xn)8~9dQiRyhGO^ZAEkRp2s6XO z!nT&{-Y!+tU3y9cZG;eh=g18H%!h|=AqC2Rf#lwK2ryE&iF^=5WzDJr< zwSQZvRt@D95HnLYH!E2@f(`nj)K zY{OO~qJ?!98>O3aY=RPGKWd|C8$_6{d^2{%MR{ssN`i;^C>o3g8`_X}j;qoodEAikI`|(Qs_hH!i_irPhi z*z!4`0^zR-NY4hlUXHdsnSDI_;N8ajCuLkE#C{qb7nR1szw#FzBxon;K`gmr*Hs~M zMnqQYFMQ9Kzno+m6ZIu}ogXaXP|!nuW9%15eUn$Sc=%-l&}=MxQa&#Fm$C3^$&Q3U z=53;w_HRXR&dJotCsr{unAik7I|H5%RFlMdFMiWvr0y6=h3knLSydVj|4Nz~5wlQV z;sWF~YYYx=kY)7>fRTN^91OHT&WX42L0G##(l2i`yHBw2U1R=!`BIK$O!q;Og0Za= z6TN!2?!sdbSf>j~$s}F)R0^OAfw&q>y3rxsjSpTLK~bLvJ)8zgOo5vg2Soz7P0iPF z;`7PbN`z+ZqRO~vk=h5bkkHE5r9cL-6k}%^t~cg)BTMnN%9DLfoRmTb`u72u_mswF z<$INVol-*;@2Nbocw1<=@eHR7enPJB(8lrI9&0Sy^q5sx{Dl#DjZcgJ9XeZO5dJGX zsBwJPMU7<}7g?upx0t)dQU$eT^f$Z`+?oTkDdc_%xnJG@v5fv5ywA(8(*#qb9Or{@ zDh}KEWt)tJ63t4SKM}96{B^D3;G4Y-J8~o2#*`+qb4z0r&~9B+=Wls25bI8*RTRG> z5ZlDD8#tA{Z!EZ;5^Jbf^bpLt(WCrS)DksKZyVd&~Yn>>rAX-#kLF=UC^P1rt$gm zr3|S46(WX>773TaZNl)#OxVGLKRVQ$GqeQn-=y{qQ>Y6f?Tb(Vm@Mwo!Z*+z_#|4Cv~6#)7+muY@vP@IIAFs6&v!%alc29rNI-}-G#5-ltL7l|62oDYh?z z$-xA^r4VRwcw7v@emEr$_9hY;1ECB{*I;!*VY5clr&pbLQKGu?7i}>jpYY0dgq`zcW@7Qi` zXGgN8YJ4=%+e6D>Ajr^-4DKlFy)$_Qx4^4Tydo}wI;%m3#F~`ScSvu$$d{&s;&i&I zzUob~+aDaEx2{gvn5itCbrwe`-f1`y>I4idH3Z`PUxr0SUk0V-cQQtiUG#nep!F)y z(k2C6W8t;1PvfJ580Tv|lR17lQ1~J^A}6Vf;J$Fjq{OwoG0pmn#Y}KZocl!~sp?tq zqA+Wjln;N7K{tpp|6-oZUC2-rb}yn<2fH8QUa-5e8+naqW^PjX<%lLzVzOOeqkBL? zRe`KF#@i4CqA}Fly>R|oDIOe*s9^%Hq z76e-lE{54p;b*YuRq!9AmNQ`{l}Gl2`9Z;a4{03!)5+d8Y%*mpBcy#&qStW@`NPCo zqz{wRn12&2L9ng9DDjj=|Gfkt19r2u8xj27={lj_+_Ny=i z0`&O@$!AI)=BvX0LpJ_Xe^A&78zvpuefE5gkjJXU#jWR0W%oK$Q zbplSWpgRyX7S00OnQDydH6B?nCnkn@#W1CCRa>N|`l2sDdQj_K2kDIkYe9Hxm?+j2 z5oNQ8_s!cf8E|u#qh|>ADdf)@?9PKO=Iz$+N= zM1BR~L*@aWi{yL@55dF?50VhVD#{{L^COa2p!OO|_r~Yl+i_pRjy!1F%&52H=QUeO zjk5Q=jd-Ax#( zf#h&+XyGIE+0K$}onv!w!%AcCNNK_gbS1QjK9065dRc}FDwrP8@tUtgk-f^!mf*8H-P1gR8Vi&7b%6sB0@*AD9Q0I}9dv!`8opQTQ z`FT3!2A#4!UCs=5IjZDRo$^-tt8;XU-5#l{K&R;T;AXrvd7Mfa^;NDCq%DafNbAkG zC;#}QYWY%C8vEmQ$?3H!McRo3PE?m;NjZGK4F@hEq}XPQCs0$_YKnvAjAk6!T8jtS zYG2_VWBz^69e5%F;Ln5KdKJ$aOhAIMT`Zn^P!OM27Ta7lWSc}-k`)LJbBP>7wb{FG zvp2F0q1+V2SD(#-e0&1^F(RUvRs5wympMZTal~E(nfD-0^9UC0!d~Q2@&v^ULhRiU z-<+VbNvPqnXxIKa!m?L9w`!K_4AXSPC2cP<-HDV>7A!^{v9oAdo6QIG zV!h_9&>d7UO-EhYDVcelufDo=XFkKl)To$zCYWqbG*x8 z4dmI!d^u5W)d&Zkl0Ht4ZE|flNo2LKeA3jmyovK z%2`oDUA*!|nmBm)pc;0OhXytx{aK9cfx$t70QGuN4Bnxd&rir;qfibh zs8OParTc8c)i>6x#M&%Ub%?h0n(o!M0cR`tirkw}#7+hmof;Pnc|7`9YQ+c#JujA2 z?Hq#<6^fDKE&&gY65-X#?-VB+RtcozBg^WI$kX&B#ow^y=}BXuICI1~wyq>vJeU=R z7*n@OluJU+wv3#8E?x>oO^ol<;Xss9(PZ7K+6UQgO7+km+asM^a1y<>?x4-}QvKb{ zVj!027K_PTV)m{}?)}RMf-umWCAh2vSgt*L`4(%;Iv>nAU;8?)r8Vn)u^ztIl)ON! zB;V>K39|Vmk?58BfdVo7zV$HMN#3US!1BTK&IeY#mfZe~7QGjh7D2n#C9kDL0#CJH zoiR-XT0bO?T^ITyoX-|2@Wp?UFVEe5@gfBvLxW}p=e{4KXoBr74`Tkh0a@+t!rMMz7iCOeo)ImtiX1zQm zCd8cRE+_!S#LAagcpIbUM0Y`Fq~nY%6#bul3QsfYziORV)PKuF`-ko&kK>W5Ta^B< zqdJ3!UG_}M6YZaU`c88}#RXCW0z3QUo#yTpnEovk-Jc5PLOH!F29P4EKl{ubO74a= zk!b#w6-ZqYM6xAoHrcwB?2u@q#S?v=CMw^}+u0{Db~mczu5-#6l9fa1R|+u5eZxXq z7m}Rxr`86O8eYaT9k2vcj_8hWmoHARO;`nAyq;hqh=yja#3u~D zgUKFTCAiHpp1C+jLT`B1^3(wbcb}(GpHO7(r-3Arvk@;aZ|U;D_vY+RnEv?`O=hNRaAsPY68dY!3fmU6U?>VTd*D)u^yS(1e6E$UlO?k z+l~zxKF`LAa`HXcfY|TBdfMeFSS_M6)uhT}EzCVtTPjLiE?~aci^fmMOvh?HYD1{* z2_6@@3x9WM5{=7*A=)fVR3^nq%knURrv*|P9$%YGutii8%AaaH_b%=M=i+D## zw^a=Ut9{C|cYOh)`x&!&@9PDO%!`=}v}*Otm5W4jSqY8(1=lLBkGVvDDropyE-}H9 zJaf4O9kPAsy9V_svsPnoG&_p1#5hW(xpcw=3Wh}{|s4CpPCzVZUx!- zG6@dvZRAC9{WE1R;RbKz6crZxDB=2pBf|AN1G9q-%x?fP_K81dtQ&yCyIjX|FWPVM z6?S~V#J^JV{DaHQKMQ=OO;Nr_WvHD-W83g&py9u!_}PGGQwvTBjc6O{#jYCSw{9dTsUJwHXfz+-MvSeD1;Sn^xnxB65V5Rt{H0_rlQ|S(o4400()8IIJK(Js8>zLw zf+-oSPZ(zj_D1IpMzuF1t7PeJP?SB!-~a&+iW)**pYmXPt#X){Im*KO9Qi!f+lro~ zMq}m2tfAw@#81weId{kgRcj}l(XgmT6-8;$Y0OsCQaBQwEDG(kZD1SIXKnA7_XFnQ zmB4#8*L_@n;Chy8J=YGduego}-eb5PG z)YtF<`o=*&z~*bwAJ`Hk(8wf&HNI}WKk`x!wM952&iAL^HjDvYl?;EV3b^BT3Lt|^ zg54J1-2NhM>wo3Xhu44W@4v48C+4)O|4W*4^z{egH`x8Be(}8<8uWZZ*WW^I?{rAL=}oc@2S`cwG#%AZ=p|54g7*fj=r{|Bb)e`1#E|7NHE zH0QhYpZXR2?eXv03IW<1|I>B-&iLQ)t?Ezr|BtQvujU^HA`T85KL4Hwx5j^(^IiH+ z{ciksRedD<*Y&6H|GU-y%HwUuAAf15?`nT`IR1xP<3G(g`u?ZJKS2Es{loG>(Z4;v zPPf4xe~5o-{_FbJJNWVM@A>G~b|d+VUZOR$W?dy zHZVa>*UQ?hNN*{M2pCr1pixbw{Xz!$)C{umRG}Atgw6^q%lYA{Wn_wsbBR! zaHB;iiId-a)ZK;@{Tq>P!0FO}$g0&2{(oHy4wttbw*LRN_4o_@Z)g17^#4{>e~SLo zoFk6F5$jKle}MWO{Fn7F)PDcn>z}Sawf=p#`d?Yxy8fLsg zn)6NiKOLFKmoR^9_48++&3?NP$wX>@=8JRQi5zzSCrORpk>_jJk*UN|<{c`$oSJ~W@@P3bqe}kO1_us zPs0()J64tFixclpWW~}KU&FR6>;tOIh&<>w;R;itsHEU5+hJgw!x0C1bVFU_Q5{{% zTu(mz)ly=tRTj{;!Rjm)H9*J6_{jK%dOBmX%LTi;_{e&f8VAyr&=qz&N}NKip>|_J z-P*oNmhvfvI|Z}`!0!#6;){<|2qF6lG1xOt(K#R>Do1#$^Je87L|x!vuXr_=Ix?&VjWois=PrR0aQUsChMSSs_S^KAACop;EHIr5CuIIdEI zdPkmWt3K!4nMx8N#hw)w0^rn?2;Hp4@;Jp`IpcY0d*gZbmolF2Plu{cPe|{uobTI( z$L<3*JOno|1k`wuf`>DJW)u0Ghn3}vMl&{F*jGP(r*p}#lP16S+s~5jylb`IsPT(W z?h$Et2OVvuvg|R&Hk8wl(HQzm@S9*DJ{0`Q7yO#u2ER(%8;?GAe>92^A97@hOj&~* z%o*%pj&&mF1~PqJ&tKi|>iOaA_r+%`Y(&4Nu`&58J^&y+0`Y4GigjfHmX2v?5RW+4 zlAHtJaXf*Jyb|6`vkC;EPjpW&XRys+d-caB^oZ0mYRy?nnq`b#y|=*=&Xho3x;bC? z;$sxT%``hvfV=+I`1|$aKioC`quPxBneC1LW6c_$^!OjuKwrzJPOn#{8=SU(oj%Ra z{yN?#5Wh*PpNIm-VWBdUrqN zTJN^4ze=C~?5h9zZ(09;?0>uU>-pWP|9ih(|8@Pc9v-3plq>z8r6x%l!`*e?*sAXK z;C(&t{xH;?b5&TsW&ZdiUVNkpS3u^EGrA}GZrn5Cu#xTTF8v7bJgod42UPjM)m6Sj z9S?`zpTBU8o@;(N_;OhJ&ANO&|G$28g6^_gwf`bnfruZ$ln@I_#N{aT%j(o3AAxDW z=}uV?$;l;F&lJCanrw-P)WsQFnQ`#Z5){-W{)P{;C&okl6sWpPOl0Hjtq&ASuKxGZ zmPzrs{n%t)S34bBlZQxDyOV%m*YDJ*zKXBISqrQDQbsS8DRXle?n9nAh@A z>!g*ceJOkrcu#RqN|QjJHp=$L-WA?i?+4j=srfj_OCT6~m0+x2TH* zh(fJ5zrL##ttxil*9zXuZy1RIf%q+27`@_WdNVj&3!_(yIg2facfPmf5iWW3BUh>Y zpd*j7uKs5GL7Tov{k}NIsfaXT4E2jJV7N;e@Ik9aIPz$hJgTRz-;syhc=YwB`~OqB z{|IAcGyW$m4$=cq1+{VNckPECxw6%M*rGY$@i*2-xW|8tQ@G@CnZRdZaRU4f7=brz%{?zAxI5hfpo-rvxLzVN^a+^FC2r!ah-0A;Lu_avuCLgiS`q3weqrv?Tv+v3$W^ zuoj04R_N42$>TV7KplK$){;*jfkq~*!<2PjJ+ zx({1IxRpt<;(?Q5*AB!s?b?C)ti%w{>o^PdpO}deWuHK%A-1iXfjfm)}KL>eHnzvC{O#Febbn>#6H)Th4*9bk5ZN zi^;#O9V(HppX5iC#YwH2J(j~9uwzet`Y~Ho*y*3%tD8^cfjp~6y0fk;z zG+ef+@Y{FVlDMb%-g>W1{B}#Zh@_b{#IT~`o*iL`L&YTp)KG@$HVq+=( zaEM)YrvtI3BSUOTx>0U;K@=3cMkm^Xmoczx@#kZWE~Nu|2ovQ7-NgdB3qSK3`Qv*S zg=LFfKzvLA5v^QKKfC=75a*k2AQ}tAmna3u2j_h)AYGi{%A~nk0rGu*+6Ux7Y7#)M zzQ+YfL)$NarUe4OR}Y8Zr^#;sze@t~o0)%~gr@uIhU!0DTviziA5~Bs&HNL;L&$Ld zDs}}xvmRT4L{7J6H#B!9LsTYnua`adb|il`*MX#X1*^H|PfW(*Ay_L`%EX_>Ej4!2 zVl@Y^P4hQ|{eM4sM;t>jzj5EmWRWxaA8j7&@rs(I!EoF;v&p%U2mUvY%(Qjd*!w0IPnlEup^b}5c?*ONAlFv3O zboo0!)?o-E&WUx&eLFP5{35ClhL~x$=39=uv5^scIkfI@d}-jT|2W@M^g2D?wFrB7 zdcM~y3jO&PZVYKjUP$qW&-WkS?qG>Xqz|Lebzn!WHKV=xo)}-CQAo}Ci80QJh>u4) z927cT2#GEfI$fAQHdb0_&-n0aFsW7(?7G7V_V0o6YDKWmv)k^>^@l!k&GpscsuWEA z=Qh_o*Kj-{!S<|DfIIL~`}4dmSwbx`&$r#}n&+;wC4_%)=KHF{;pgG=Zw|ksTyIbP zcWY?YeApf|e>2B{=66|d?_Ag({XUBIcFyOmC+MaRT;OxBx4UM$!1o{4+p#MZ_(t;6 zKAEnj76D)11upO%#d_=I`}X07J+o}l*qIFp#Loi-l&(vtk>G<`zk3{x51+m-hwiil`c)>DOeFM*#Vi0tVG_nF1)+F_8?!tCeiMqmnL~t1Ul!_;)tfzR`1sMBeFOp&m{W=WQXS02G|V1TV`JnC)B8Ltz8HYHaaEGY<_QP%LVbv zM#I0)tD8(7p{mGqtLJteMu2Q{} zCgHA(OMd6jAmB%P2OTT@YoLFxh4)zX?(UbcwO21ff2M!O>i%7Otm@zL&KZG`;d*0% zc#P z6(jN@NrV#CvlU5vaS33)#Y%H6;Mn@)t6OX+KdiE^@+T(vIB$Yc9muvr$^UO<{>(|@ z&g3s_uDHsVHHRU(b$uZ2Lx(?QPauv*(`}mrG4D2C>?g@U%)ciPo7xN7TR|LVDX7XI7$SFZd}ym*l0kIs$dczR6CQ9Ct4f&Tm&@>yE2|3~ z@0Px-PFB7x+~Dry3GCX)v)-4uBoF-pe2~&_fn-CKyafvpTi)X3i^J%DYkA9m6`mI+ zUGRK*b9?Yy_v7yf&(1$f!E^0p-wB>WpZ~uH&+C`|XL$a8lZNLwc6{Fqo{{T<) zKOE~IVWZ^;Hx@%*;oFKt?DrUV?-3j)OuavTTzQk2vjyXKB6V!SxGc_~eX0VRN8pTg6zo=YR)X z-6evTO!niPO(K~DReeP>WdW-X4GzYyJvl!(^3J^QU$pE!$+K+&PuKHB0fBvNhDA%c}O<*~pPk7y&RRwjoOCo}jd%A(!*=04$7 z65XmNLnbe)WcU-^!rUv*&qK*~D%>P6HD5%($H*dIX*;sBew-RnHaB#$G1E`jEjTS@ zCUqK|po}F9UzMCMemyJ0-ek?AN_5NcZw_1Pv&1<1_T|CZ=MkW8HgezG!mXV5UEa`` zR~{SIBc?Bs@@;(gpU{Jr7BiZ;Z2>w zoAuVY=_Q4AVPc|qxQ!hjvPcCzJHUwbQmBm~SQ;#pLg6d|@oRff7drP?L!gk8)b?l2 znu6m@X>7Z(CbqWWIsr~{9@P8E zC11#}ofl+}Y5tgzQ{IvG`JngmPD~2WeUqmw&w4P35rER-6RZaSeKq@nK+)dW7kLY} zdLxYoy~esy@yX637;O)U29{awjY&|km)yd2rv^d8)9o6}#TpHd4=SJ~HwcrH=$54( z;XC#wr;w7uKS#ggU?Fomw$)#Bd0uE7xYC$CI71!PK8v}i73yR4TTKGay&&4SZFohs*+sxr!svMAU(6zr>5=T)TD{5$|h=FXqsxS z-9**umhJMBWxc?UCyQ9A-W8cyRxLkSS=OKV$4>rs9V92Od3JCW`}p{#^GtLz-fkN2q8@{TN0k@W|< zCD_e@>3R(rBP7bNNt7&(tRZEw(8+BTxlYMKmVQpLiXy(P$;GU<|os`A_pn*SZDE*?Xd>fRHu*A-sCwn zR@21e6iqx{;jc1BWOFJb^k#}44snKvErrlSqvj;&5i~LTbbBzUrF%xpwng=%U&?hA zmuy*X;hM!YkE@0Yzvz~qas86(|0X?q`nLZ9Ju`N-rf2V!r2zEw5B2<4Da?N!ThITa zre_ZJwNIb3|MXwz&zMhI_s2;0=ffLRe-4&P51W$L@z}aQw){e~oU+(&_OaL-HR2p% zbMcKZ@rre1`w7G8bZAyEJ|^h-P(s$6w1^cr+H0^Y7Z}C48vhDSAu3q**>L=!USc~x z;O`#)$XR*e*Q~-cu|s|_WQ$6!<2WqUKEAr_Y@PKF@C(UaqjVdrhZKWew6F49VHoz? z41@6FZs~-Z&*=LvdvuiAk~0y;!H>_q#?5`Z?CTDv@1kiA6iUz}nLWnctf&l!lA4xt zBGF(siN8!XH(NqKVH>kL81K*K=7UVDAN^wiCVm)EEM*TS!nVNgsn zA*37{vI%(*Y^iMaYKL^nT7HQo9kIo=Q0yn|2iRKT=7f<896UICtdQhDS>Z0YMop6K z8ix&RLz&V=?@Av0*rv*2P6~l~bu1Q4NC6%%SLpKsk80bpH`$LA`g25joI)Y7DLL*4 zs51u4f@$lZ(TBBfy+j-y=v_*b#FO6=%+sV8G7Md&C2C`J35}GEmG#GO!Z3d3Rg*gT zv#WsgB86R@1d}$LuQ3VqDJ42WJ19FzMocxxZU*gY+2&oEX)W_E&9a{MF3q<7*Sj>w zdcwOj*LvK$w5zq)yR^i5)VtJcJ>*?F*7~WGKqT(D13ii#Ty4r3;=&IKFSwFxHJ6-o zOq7Y1Ozzk9bCI1LalPA}l!1mb|90!$qLLIjz3y6tKX zrsNKpbu3?*)-C*avaK8BDcibAo^q^9|X!g{+jjgSjN81`sc~C*FS-w#Eub}-W6Qs zTsLurxMXKMpDV_-i0cQwD|f{ z$y0eeeEkr6U}wMBMry(S{%lZ9NI|KG-MtbBsX506-zC0qjPhr$XH`L3(Sz+h((qm- z)?ig1r<4gVd=l$d(DP9+21!=??BvSNlo2;OyOji&oe#BOeQFkP2cg@FH%3e@+j+H@ zM`+~Q&Y!Ke^JlYGA#AuAK6iE!N-taa`xVVW3!=qK?|vls6ozJvmSRl-yS>?lSKXCd z&U>d$>mk)Y#V3!`TX~i_SOe zG{Zb`R0=p9AZ-xq5h|rA8NE_~(}rLEFXP+OoBj*OSBUAmkmJZOLc`BtT`O)QV z`_n%E6)HJ=@$^g7DdGT))NENFpJ$Ddw>*=5hD3NzjH=fQ=R%*Sx%I-?$8MkXM7s;8 zn{lG8%g$G=Pk#SWh_!=HYW+N(N#Wj+xHFOKf;FpB}armr)7R;_-B4Q_}l#XKws=rpP2Z> zr{?>LHirA5dE2{b5?m_M@TUL6-n)QDRb7qWlN*GaCn!in(4Y|mqJn~efD%b?A~T?J zk*X*yGEx1QI0UI2El{>ZPWw+NiaSHwXwJ0Zf9niqtCAR)JbQ)1iu@2&m-y zt+mgYnOwN|f9>;szW4j`JUesFKKtyw&)#dVy>5H03$sP{i__XpsDXuojCK`z2mLH2 z8KL|vtLzxrltfobNDHy^^o9H2>T_f_|M0z>dqrv7k+(D$6P0m^BH2{b$Tg8%{3+;8 zsc5k{5kv!tIrT1U=@(kCuvVIMowD+~nOnRyGzG6G0_mVV671@XWbUVcDx2z|8EeaX z%_%6q0T-AkOOdl;*tgj~{Hx&E`28F(IDg@{DR{tpE;X;NuzZy&qXsDD?029pOM z>AaTCuhAFE6pQZ%ndRH*_bzY0y>LYY*F`VIsTd7f*{UUev zw+a}^%x{;A6oN5FM9u3p0d1K2g{HQ`T2ZLC1c|_sEmoPR%Y2b%uj4geWae*tk(Weu z?2D|Giei2@evr%{<59Og1G=`t8=92KtWHLeJSh`B@#J#Gd6_pfFB5TKw@e3gnD&L< z5o+OWm5MSL{Ebq>zUNiIX5|u*<9NdnY0evdK&V>uDwT-8s>oIKG=A?n&Yc%5X4w4j zuOT1KbHjePRCF)|jiKQx-YMsuW!zVDy*walZ~D$dc-T^l) z3*|y%-_V%p3k4gqyiJ0$nD-HdRmHgVA?_03x_K-?)l27>^GP$8A?#Srlvk9Da)GSm z1qHB&aLcHe?{R84By=4E1d3scFLXUzL~*v`wUAnYs6EJHfEHMg%vdvj6%A_tfIZ?+ zwSOoI-{IOnRExfxMu9hs{a%X0n|d=b2W#zK6w=^f;L@#1uh-k&$qI9u9P)kBB)wg2 zZUyE}H3cfk5tyr#0-+6Z>cO1n)Id0&*tILcs&WqUS{8u7-(^2Yz~4kCZwz^f31|U- zM}TjCx%u!QI3Wq&Uix3bx1FQ~!M75H@BcOU_6^*8eg}Np@B6^FS8xzbmc#dlZ_Vns zNLGhA;N4<YIwQVh98W&>e_mv{e1e}F zmdjJhkJQ`8U8?KjA-!#|AG$0H^KNf0ad~<5#4@n3bNiVb0 zm3^}kg5+G{`5=?3%Oq&UCW3|(pDwPtg#z`5#%rarD;70~`+GhO(Qq>ZSPd-bua=k) zN|Mf?7#5ry7-6Bzl9s^Dte3Xv55cxp+1os1qfaePhcvyzn=-!=RTFvemqbd{^Bcn( ztflb&^t!MT0oll5LPFVJ;)FLuJngr9BW5>ZSOFFiamaZ9pBP(ExE4iZuS&5jtxT0H z!UP~3S1gYqZ1L4%7{sQ1fEcZ*#lKXLh-8$eP2hdLz!}p{G^}F^3363Obc}({&S>Zs zA5FlIW2^b>^T3b9Ri_8oKx$2KYNJR76~E_HLA@UJ!w;P0!}lOmq6^jbs0n~VCo%^p zGgNOsLI$_J^|rz8ZElY;w*q`~P0lw%4e)(4o)a1heufTFV^X0(oDO!TgMzAmKT%+= zCH-5vbJij0fzGcT9vRD7AD13jFA&id@q2iBU{;a=VKO}+-jx-=mdb_F1IwWYDuA_0 z8P!A31LiOr2c*lP3zo-5$oC7RIP@(f0bBD8P_jZ@iV3dLxX`wo7*Uo;U=R|aqWD5@ zM1vg)mGID2@{Ld2CYyVB_Cf>`MPdVj**#QgwYX|YPz?9#b~)?>hhkVPP;w}G^fMp{ zYJnb!hYg`~$7Df|wxk?Ri&GBx{}De*uLs+p7rIs%dcmPjA4mXihMHp9yZ#99E|Ba< z_umh>5h$v+d-)aq9@X0h`%$0X{>o!63@cfzdKP;3Ay7fh#Jy#$q^2Cqy=cQr#Grv6cqvR1X@Ehs80+?M0yf)^*Q3)u@ zHHhZ{!xc_~#0@{7tW|ievR|QjjlgKP#sp+92eOx0r4seRVb^NWc|$%(%OGjXD!Z3w zMPdK30QL%g0Y!fmzvNA(vdNX)S9rrOO_diMLt_Qp`74S-^Ky?Z3Som;6q=NaQL)(4 zl`IrO!SHK?rO!f3zIVJsKb#~vhgly%g<)g!94cfGBBS-K2fXqVn*0ZP^rSAZ&_r1{ z!ss!$Ot@jOHXBdj=klIYeop*Y2|wr1*O~G4V!Q>KHM8dTteO89g5kEa%$l)_ zbdmg6ZyW3%o7>CHt*n^_lj9{v){IwfL-2HKWrpmhs+^&izCu3Y1KR^mHv~nk?Q`;W zvM#?n{`S3c_{Fh7@T#*o>ID+NU;Mq8DiI_bxm5y(SFk!NSshh}Ssf);D@=r^2`-H9 ztVuk&ydRY#9Y)?xY2o))_(CJ0Qmzqx?}kRWuOO=MTkgVd3AXsa?uo}ah&{x^>O-)4=Q;>Gs}27G4RY?U zE&P4S)6Mw31pZEj#{m?I{?y=b`%D9mQ!i9_{F~l3*nbQYAPZEsE4@J^aJjJGy{Df$_*qc6}BQ#MZ|MOTxyz^&_@_~X+imbIptTj zl9%?we5BXlgnD#zcaMqGVsyC_z{`EI6q=U z;KGRPu5F7E$xog`^?-{(MZX4X@pZcCrVvN03hDQNEMizE^By<0&3hyZjCE3N!*`q} zwS`K|qz>dpCY7HyCiOq&P$b94QcBtn+7p#{f!>tKRfg>tv%e#nXkg^j;~& zPKLVwnqf_FOdB&1Ol}Ok+`%*IYl5`jF+5W4VGk(XmwxL6h^K!_`5EbV5y7TuTi|8p zTx61EchaTk&-j;UV%ex~ct1FF)VK08a#RyPC07JqZl|vVFN^(Xl!q@V@#6o1I)Y;{ z(R(?=JUkZ@g_jAJA^B$zpX25B=K7@A>4BHi%=NLcK7p6hlNwZD?4rQf^;iRpf+7Q< zUR9hg;1r&sG*<)gX>m?6pF~_*FiUK3;AI43((KCEdI4mRB0=87nE=QZaeqrjXOwQ8 z(4CQt#dYIBsajko*bWr2(^1=f%w3uFxi4#hwH>2b40ZU9I2rE~j850RcENmR`weIe4- z>4zj$Yu1jZQ&9AWP$fu|I~VgwNbxpzPWe0lb33A){&}` zSXWz_FAw^I;7s@^4i?W}j`E;UOwEk`9}sB7bIiisR@d|@#Hw4#Fg(*>hpIgHb;8c9 zD6AUUt)y_bl~wpW9%O_N6m8Pxl67K`b}L#k$%#G3+gqKDz7fcRSsDi&mk`*Wz($V) zljp3Jlj{Sai6=k?*LXt{kL7m-zej~9KVLp3vwU2K(8P{zkQkvkML@rU=>q?8pu>f& zPk#e!y(Za_?$6{2#MIlzk5-6zL~k4HN6y#Vh`AL2+HZ2^k|O{#S8f%GWLq0brw z+X0J0n{IIOULY@N|B2%(N8UK~kQl4;s{b#;U(Ojv0)KaP`o9E!gMM`c@Yk6_F8no~ zY~XL$2!+2@dfQ;HI#+L>Hn#$QJxqb+fxinKTqy82#>qRI zyhFgB@&}=VDc|p2(FXjr5O)XIvD_W=$6On6cU7C>Zg=1G$+ps31>gLT8#^b;$Aq~1 zcxgyvJh{@!K}b%vO3)CZ?u$UnD(V)pb0#-PyW?c13cDA|){1P}TKY42Z0OD0VF_|G ze{Dxk#2YQ$*Z!7a86I{%;>=o0B~mT!_P>&MTzC5ci8Lz|npL)l$59dLIQ(#=`?IE` zp-z#sDjx#6zqW%Z)+=@@Hx3DE z;Q?9BvZHUMiV{O_{@Pg>d|55DCT<^E5}YzpBAmw+Swc8(mD=pcu|ZVmP{q%g=%$Af z0Gy|LyHcF5b)NvV8Y)Xv8-$qaM9bHAR!^K?g$+BuUHPe~8s0p%EYm9?B8u zH)8r<40Wi@C1eVf@Ff|PxkYaq>|4z3wdPiq&|4;FvR2YyPv-VeWadm77CIqgBt9Rm zq+cTGk{EVtlF}lsuO%H#l6ZFIB#{ctCAsuiOZ+}d`8Uo_x6&u|hB_bcg0OKSrE4h2 zbu>x^xu}$ghnj5QlA5%}Oni|x3|t0DC8|vl>7S{R@kgIT)Np>qgFxxVgUR^;KT3%A zF;0RL`v?%o;&WY$GcBjPy3m369o zR&e5(NO~nZDi+-UKa3O~%=jm9Qa%xxGLAB8GI~*oC@RRo7n+V7b)zpd3yOFuDglXl zEWA~%m^I32kdee%h_&*E)}a1~#9!4N#$T0Dl719dl13k7A9;s<89SEA(w=L>BI40a zJdd6)xsmQmdOPqx*ucNu0{`arT63%LZ*nG+BU{L1xeaZQk?I@l*UGXWKod%}%zuJr zSO?z@)AE}4V<#_4-Vw={rc}wUaVYtcMAmfo3^5x&VynD&8S-TLQVK7}a^A-6T-=9nX{}Bv4c$5Q+B*vLX!fg?`0HTwX_^}6-S`KYX@l!U{3f_Q z_Cs(NQA5=@?;C6B3rTamLS`u3m5{`p&*c>LxhZuYXXV#z&&==UcK!z(TiX2|pdX;+Y$STsrCWmT9Q-jIo~PQq+s$b`crdaLs6BeP%n6EJXC z`=xjJI)#+O@=LwIQil*~e^>jZML%ywuhuAD6MMO2`=u)>6#cD1HrdAsjMdxa0~O>t z=xu}D!QAf8RtOZ3yVm5`N?u|KwZJ!v zb~XZK2Vt2ENWS;X;X(5Kr0sOO5R=~tBoD8slujN*QMpK(7O1>S+7+mD)Q5NlYA7t{ zMMYtm=2t3`dm{~!cw@*AMOT?4pb>dOOgep$m$LOo^(L`f5`!1lw_|^YL1}tIJ(-!u zwb4sX%FJ<9m2ALlgpPrznwuKEUU;pVj2(dKKGShz*E>@sPeqXePQ<%GOO9EF*>Sj_Hy>75?Wd49`3v?z5mlX-Arp_u z{)HZG5<7wt{8>y60lIp}>1~5O&fJbPx3YSlGCBRpk=5H@ZrLy*Yh^y{@B_|Zr#cIChb(q^ z4ng$^$H0YLc%8hq_Kzd5H|$rLSg$MzvxWTs_T5;;9NxbBL;~o22YbWs#lAa+uNPf& z|2_Netv^39`|hf{*{dA;?i-Fa(Ej&+3hmSMw!xleZpWKjf%cb8&PZ|u+DFQ*LUXx2 zop#OsWH`y}L4t}x^OwbLO^l99 zKVAR&FcbvkV&65;F`UsINEtISbJ%qp!x`OyW(hhcUyNv`%5_*RHQG4#P{9tg+$vp0 zmz^Ex`mq9^OQbtVJ5VJ%keJTEy7{X)TXM8jwvczo$&(Exug(3)G>wQvICL;?CHoPZ zQ>*<*b~}ZePu;cAPCE^~e+Zk2sb)W_cFJhw@%^Z|+0606Wg7e{3}NG4x<2r?+orvY z8;8tZ7GiyTW_AOgW!A@1~5O%G{n|Ze@KuY;t;$BkQA=+{*e`E2CliX<9$^ zt@~t(KCs{FpI9QbPF^i}2a|^!jGr)zqt|Z^zc~K)>RUErymom0;UNy69U1@dJ?mTY zmp0=c+Sa%9qL3@^-rCu~oHtitZj;_N*qct)+tub)VD3~?ppqPcxk@R}hP=D>PKSTE zmgt@We3#`VfN!FcH-@|f25NzyOLyL;C(XpU0uBU2b>4pavyVO22JnsZhCcU3 zCUDqnymQzr1x8nty8Rlh#pzu8!X1%3jT|0Q-+I={J>b=3wzarzN%w8dFmq#3$}V5% z0?rw3P|RFwE&Y>X=1u1OO-U7)S@8KGFf-hN8hb@Dyq*b=V?W7wZy~I3o<>5`S5!93J5#ctr%otPP4#E@b z%TKB&b|OC=JeY0a2f`EU%1@>z){&ofMxP5ZD#v!L(*F6;&f>9_R4_~^x|du1)cGnx zJ|u=Xc5P<5e)8u^+9Q%FtQ8Nt9Jmt!CBvpK?IvhPrnrDaNXh?TX3w}mJ9D98966?V z%Q13L(JB=oVIbeSvHrPEu|ldmB-KeI@I0osZ-~6W zK2dZ2W^!bKk2Pf)$YFs?nT=8gfuu9sKd;d)MX9Kn2SZ&~cD_I>!AlGXlWu!ND} z3+wSuCwC&b&>7Wqdn0KJX>U?`jqA0fd8F4#wWJ2pDw2%Xk;=OaikSCs8z`a$v+}=p ze;Q~V$^NvTcs&1C_NQMjJc9jc9);ZfX;?df;Cj2Vx58^by=}1jncJS`R={_u$;l)~ z_NPp_ZDW7Rp>8FP8p;jCuI!@)HSYx{@3-U~Vt?``GY`hzPfRw`e%S`#jZ8N86BVb+ zGyFuc^>AxNw;n~qHz#jK6WiX5yv;VF+M<-r#?o(yR4VxYJgG5-l`DsjIgOmeCh$Zy zr52*9Ex`cFAR@cM5%f*^UO~5F%vn%=4bpaV3{;8u;&U7V{@s74ioFtB&5GGi@o(nS zSS}@wbkyi*7VdI@?2m^-w&Lgxx*al`V;o`sGw>fTV5xKr_nk0RDk#6cLqYkBBx5C` zh51ma^CV-cU9k1{cm0Z9h+EZ`eHMask7n%Z%g^a+l1R__%pLD$|DB)Dkl*vimYKUOF(jmf30KI@241 z(rV`J)(%`rFsUwb(upQNvERwkJ*bT(_~<-m2^K6dOK|WBW~^n)80h5XkasZtWSAJ+ zMn=7|H0WvS;Vm8J3AV#=K1YPftTLIQhC%pSeLKxVm@J&+@^gonVP@Q$BJ(eb$BYH$ z5<(&4dUFYTmoe2`R)}vi6)*M`N+>d|)*tSRZ_tIrDBkFc3>iW$>xSrGE7Nm}W~ATg zOWD=5El|_R6T69Hd$Y+8=H@_tL1z^&Eo~YnUhFq6?=Xlqz|9&=zl>MuwU)fZJV^228 zN+o$HevVVT9!H&BgJLFL;l5&TqWqxR7H2^Pf5@jkf@)vTg%1?-4``ZylCtT?NK!k} zK+*{$v03ntI+Oa7&LLeu$|Zg5yd&==C!wd3@7?QPw~_xUd7DZ9q>i`w{X1y~$tKD9 z-ks!sNjgAk&-iAMjw8vbqc3>ApL816axO{wDSaQswa{l6_QI>}@`f#>H+zBlpL{)= zkLE~IWJty3Y>bgEyRI0|n(^;l-IYPkukNBl-C+MAOM{JOP213Hy%UefROt&_MUkRx zs>Y5v5C*R{`|l7CtLrPp=LpOin@KD(=ada`!ZrFRqK87RGd zSf`TSW>|;3I!W5f81%Wc#aN2(nAq{o!;&B9!*1FU9%h(^?c=*AhPc3E=;`F~g@3h+ zO6%}^rsI1*l{@2mlz!TfADK`4JM}ZZJNa4NLqE-#L>=FDGQP_!ZL0P7w$WaW(_X>e zczf;j3x*s`4nz45GoL&8S$(XwCx?XDzqP$IX)oun?E#X=W?O*JO^GHerzi-W_?0&K zo@uhXG)LU1GsQ3FcjlhiWKO(} zXvY~#B@fuT^t$$LiTp|SGXnIBHZG^?Bq9=FrLj+U*6$o={YLH;Oze%^1k-f;EMFu) z+s8rxM)oRM8R`DkZiXr(j&DGYk?#L8w^d5@M7r-Wx3$1zBf!#LmL`jcb1hrB%{I5& z1bE424R<-kWbN`|&7<=h8REG_0j(2Nfiae^K3WIGnSA>jvxetPgEc+Tf#+uHCA)8Y zy}Wd(E{T*~GP^7ZS&Q-YGM{ExOu5O6NvOk^S(l2ETGj8YwGL(>=6&i^EM1g${}_L_ z+4vHj&go)nd{)K)IO}cpT?&ks%8*2c{AIij!z40wXUeZmH?1iArz`w-ZU&4CdER<` zw*daZ^x0`|&O~i5Rlj1$h1@YAm+<2tX)z9Tfxo@9SJkQQ_7dYCzA3x3{#}t^sRvN& zg16;p#3|OwEv5TYO3rnLZ{}nj`c3+w%*##=yS*R7t&3VZ4J>&G-L<%+>Pc`FdWh`S*7`-1j@* zFxtR}S8L`2Wz!S*xW^zYV5=E?==g=(hrQXQbqwCVG<7>^UGS#0@>SMYMBbj!8F}2B zP20VpLU!1UZ+GfIv;&7IXbaAW@$LGs-i*>y?hs1zGQRq732+764{#s4n}|Mq)Vz7m zPN!P4>Tvp7Z~w($KKi~){OA6KgvPCjV-=+8%#))hYR6uW#^g4}avM0)OQ4(M6GqV8_fJ4!v+3Py^2k?j2R7Kz7Q< z3<8+=eL4aJoak2wST7J@$P@ug<_*|q)4mMUI`O*B`I8y`qj>RR*~+<|MR`HRt3M&n z9%*1CS$dpIQ6F}FzNnp4`sRK!K8qFDhe$KP=WWtEv;QVOEWkJO|{>wD&_;`6BoJ9P=LV1vAIp6f|B)4UmmMCGKq>S702s30SxMdU-|1_zR z$4r6w?kDPY_k*MY>rH_x-2&M(05XpZd8df}IqZcQ@olNi`uDI`zxo3AO?UD;7&NLB zjz`Qh3Q1RyZYAAET0wf3B)nh`@cTg0B$5b)Fon`sI-B`zy&l3!K9;WE6DZx^y@pBf zSQmV5t$dsAj#Ej93sjLIF&SQ&i1_gKk?xxbd)Ex@g#dN*?=qJr`*o9jv1GrJ$PNHv zfXNReTaPB2($AREKa%VR6Qv(2)Y8{W_9ks#VWixY4obE!QF^h-o=>)Jv_k4dReoz4 z3AT7HkQAMec>j9yd>Sh-`lYlM8PYhGFPC$^@h?9$MImmPJaG0LGowez1JlsirlP?g zQjwVQJJ}=ieDdwR-Tui+i@uR~-o?BYf8Jf5|1t4A)jWUH1rmY3=sk(&Uz(-!txFLo z4SloI_=Cf=@rr*sgX2;mI-pM)z@6dN>{226@GoW(0`8mQSSpUSc9@4n?n4)FFK#FB z4Q|;GSXP5P;vJI6F2rqFFVfkhi%4QgxQO&?QZ?yK(!WV5z-%8%y=C(3bs6yvwT<89tW{*lq-LO>Kp+p8@9e{rDr_k}?IDE|WsWgT z_jb!j)6v}mUx_kTnR<>B&rDsJgtu=%^AThuSW67Af)%;~0#)UU&(Slp&y zQd@sF-~0M@r;HG=(T!3jGGw1DujA#~-J<^ZEioYzAGwt* zMD`~##p$Fn(j%l=lE^_tUMh0cLeezSEhLGHAaMUCDM8_I9>~b?gpL}Npbd1*b~D5C z{0Gk1x)P>Uy6s4p7&DtMR>2g59G&pZ*-5&z1i!9rSSvcf+zgltSsU&KpEK$bxtuZh z9&gG4UY-{1%G+um0)02fl}}s}Ksb?uaAG>biE9u}c$0(^LuIs7IDyzZ(#5N{{wib@ z)!hET+}0wi5aGnX&8;h(m@8lv@^2H+;#Y(d;(S?tKNR zo89>nc|t6i7QT*;1O9Jv3%D@1)qIxX-2_Y|$J%3obVFmy$x!G~o+Yj@^7cL&?3tvB4 zO;)~2{$kW3-=+k+`Xbk2J@{vP0nX0Q*TtgV@R(tu#5>XJS`VU)W$rT*GQDWNwAn06 zqScYqN3DoZoeUqraYjXYer_<#t2z&jr)L|a`hx>;noi7vr z{|CI`6Mf-32w2|~?B|Qj$c*7{ZzKMB-w5_B3J=beuP3hEyj;ga?_<;#`-g^r;ahq) zJK2JgM84&!{Hv!$Z>5}j(+2+~e7=l(p41Nz%*`=g%|~l@i!&wr7^XvWbws8`bLE)~ zPBJh!@ZwG(amI<<>Nvlc7X9pMne*h~bLD}FDL>zx*J;u9T3p~$;p6{geD0u%BN?B| zD0hhQNx-K&ML)@sb9A8(h`-bfzD~e6SmDc^lLUNGx;ZdKw_o+0;j89q2fp0;6YwQU zv3sOOfv+<>z*oxN|0#T(Pkl!+emy96xbZvq{BaKCAn?6znrWZ2#DL&&i31`@u>CM) z5^cAze{|1d>}KLP)8dQFt`!T71Pm@47fJ6ctD4~DoB6Fp@U-azQ89Av#6&rVe#H1; z$t*T@uH;h8(wyAe+}!FMo(Uz!n+xj;%hRZ6D-tYjmtnp@7+G;BIqRb*957A|8e zxUSU4M%R4T7iW9QYD>BlHEk>^{U*m+@&npv?X5pa-zFwBdfu8Nh*)p-TkkF1pHrNp zVIm?K=L}=xb55rU`Bs%uPN=oL(>C}bqjSXU1&h89ZaoRJms<&f*}=+6PqDImDOpz6 z30=8OJ)F3tIetf-no$(J}okQf`K31v9 zBbK~pm93;BCbE*5lbOq$?;-wt@?4C1|9hGXpD=VsJ{M}6^O1evbDaxTdxN*>HEYRL zOvRwuSZY;D>j_~n*1a{`QcO*eoz;%Zr+?FkGUb^rZ+M4lqU;b^$u?=`Drww zos_zFVX|P6+6Amnx!;!+Jes=+S^S$q4WDAk5W~=6PU9!0hB)!8=nbcpcZO0ZWZLaFoZ7bC zJl?JCfW-PbQ){E*;;cC0qQ@G&cE3IDr-Y}ahtZ!hbgK0+&+N0D2eGhQc!zz0oA;|$ zHwAT~e5JJV%GocsND&##AqM|OGZY&>Z06XzfvPiRaBV{9|9e4@pZoIq$y z7dbNG3(d{;g-$CdFV4hr?(On1IsCj+KBiA>3PvK!>|6f@)+n97%oDr<$S7IP)5q$z zWfAM+(GGQ3KIeoBf9dTY#yW)++6bA^f#u`kji}MFRFB~?J!Poch?m0A#^u;^Re)A% zv0#Qn(sQHO3yCq?`Y}A zX&1oML^M{4H>A55ukFDD40p1Tad+|N7P!%MlNvGQLwuvVM@71yC8ZhV8X1^Xg0~6> z)!Jq4PopDxBv%fULoVWdmyhdcNXaiJuWS;(F7(cPwY5af3`MiG2i<@59(5W6LzbM~ zez)!|<>W$5i2>FUP=I~$kh49GP22%{LzFUNR2Xlwr`u*%)8-=DjAa-L>eBhOo}kG$ zK2~b&AMscaMXKQGxK1L8-Zc2dT8aAtbnO6Sl7ask?92)R`D?O0u~GaG;rJYWh;V!+ zKSVgrP8Y%RIzuGnDHX>9!k>jRsGq;?Ek`dM4(rH zu}N)UH)HvlFNXuR;Ipqno=7OWr-(tsYToP#PGY&)EH@Cje=8=G+YnCFB3!6eR2G_u zmZ}q83|9Ej^iKW=e|_So?|t#p$M4(xwhK?*Ql3^mE+sTEH2~_v#Bjh7)QQ8v3LFk{ zjv72ry76K)ctYju@Go(C=VCy{OB@ww7+?6>ELc*VTVKd#T6Dv>#@R4@%Q%@Z07EK>kf%0A(W^mx>OOuH0LpFAkk+4 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

F1kB8Hgz& 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≀)6ErN&og^&Ioora1$Az?h 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

IP(EkJExOuFvS@i3!U!MflWZDp|Glnh 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%0DxraY<`UfgsmZSM_9! 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⪼i`DtOaN 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

=cmy2cW|#1wY@5>t$Z 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%0DamL`J}&PhD~4G(1UYQyx;e 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≈5%W)o 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

LJvM22 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 BiZ*byw)Ce_HGf#y^}=Vh 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Χ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

F(N9Kqw^ewdy$AVY5y)A$ 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
y>y&emHt-fjexN& zHiD@b;%veOc_B~-UO4w@&iyv$eh(VK{2cI@f2VV=P}E(ahd+ktcuwyC^NYQP`#jMY zObDI#dpY+UFqxl&9MQNL1PtFc9abp24FhsUY#;n!$Nebrvr*mf`)wOdzrklXZy6GG|92S42m|qyOvNjJ#Y9DrcK3-wBlzjk8 z0{51`gpPVxLk%M(S10LgYpSLh@pdzF^&jB-LkX~RW zNr6mhi00|pi7F&m2^Hc<$+2oWe$z>TpT+q3y7~z(n(L`>{4>pxUs<+%NRI_oPzZ&4 z*OpME1ggt(P8{%1#(2~q-WnO>!NM?_n3ymiEP-P`(u*<9s2Oi3gX1weL8hawW^&Ga zOsoPrgJ>1-ImtlVOGXgnn}n|j)5S8GS3H-IhHb??ZVv=akef>vNZgqqGzBahsjkR8 zyA%bJ`ZKE05Hw9Zv~`mBt$igD<#0BK?yvjTW;w9is^4f$AW}94$EfrZGnuz|U;_{LslF_MFH99!y|Il?mtA zb7E1V0&PhkJrqt6XGg$s+&Pl2 zTtzUdr5g}QpoOT9bI)NRJ`y#r0N`NiJRMP!$2(o1SFOZYj}pbP27l#rnhLPo5mZZp zWs0!Fw@KFFKFli#hV&AnA@(@Fmlg-zUxT?(6G;MH(hJRX2}M2=Y!m(<*9gI(mfWBT zePtf|gYj5Yy+XEZIt&HzU5!@);JS=D*7#(Gr_%UcRig32Rmc02tnuKCV(OhT##6im z0njI%+U4pr6`blPx~;g0tOD^U!f~FaRPn?tjb0myEM8D-SK7^c#da)!p-$pSJ1y^c z);8>)N~`C`mmnT_-_h#3AxvJaW)^DoJC*IU`k*3cbs6>)%h{=`xL9G&E60apE+w?H z_nrq+`Ctg{F4T?W^O%GY|_}8usF4 z7>S4Dmy^h`*S>lq63^u0@zc?8o=&^l?z9exM>A1Zi5OU7_lWl3J2om@EHUh_fSB5w z5b7ManlyY!)>!M_Vn2}Egc#1jYB`-n(58|ia`}*V_MIrACChD`%s(2D9VeYirIa(i z0qo=DtmVm{znhitKd*)eXlV``%T^dy1W> z>XAG-NS?pm=_&J^@f2>bf9{Oi6xC3W$jETAlOh?bbvlnH($$iccyfu;0;%VpU?t1= z=PW5B_B-`P%X!|0cW1)~IVmFJi_TVU6&&0b4R1Ntj)daO<3hYhod^)`?1QoH_me?V zcOw(wDk(_nGxg?3(A^2ID#p)5@w~Io=bPxq3FwFYeFgq}gFo}H#p=c|MB*NZ|NG$o z&DacgHLkPpzxVtF?w3gLh8=YR!Vf1AL2zKW~-=p{ca-=t3!!ZE`t7HqG7OAxLiBy>d$&&tbywsi8- z$~vzffeCwqChnB|c_d6WjrRin%9O=X-Ry$Hk^^XtEVSccj&2oQagOW~da4h1^Z4E& zz**dYJvzJ855%i&=lXJWUVyFZ!xdqCmOuzwVXd^e(QG>OL;<51`Q zu+ODx)>2>ST6|lrmX8(j%9?n^X~)~D$2SA0kBcc1<{(v>ewA-35>CZQ#m%~*WBwA{ zhAWorgN-;ZzX|8&gEHV%*1aS`6~9I%hpNi~(?(e{t}C$Pb{nos@lvhqg~FFpK*S@1 zLc|--5F*}NKq8K5R5bh!vej}Bc1mqiBLSOa=icCq1c>q0LZ=Z$wj;#7WqAbBc?F6DLBAkDAf2<S;?vuxi8wP$o(%2x}NiOTm(p?$1@cIT(Q$ZfLjFt0)hZx45@H9 z5(NBUA3>lFNhv|#ijNhsnL&X--4-Rm)8Zf?FN4hgo*`sD%^|Zj(T>yj=fc3n!-Tw# zHy9dnwH^)`TP0vMVnrvQe1uknhk07D}ts{n>kfL?IELtuE~ zbtS2zfZ56C0STIpRB&1cMMWEC)c{WG?3JIBd^G@t`AimI8=eVZvvqu3#XJ{)I0i~e zpv1SP8p_Blh^vFT*r5A?qGleF6(StYRuB;)QXmR4^j=VCl%nV0O2{SjLcs-k>j1rt z3Fv+BOrh{dXAp}6Zml%HEUUq*OVJ>_f>ZykqKAeGeZM(H=zApa7xb-DkPwCtx#l+; zX#f3cM{3dkI{V9qA-4VP@2^*4JFBkC6nw=5pMd}d90a^=Q~+?{Yp%>Xr#oj*T6-c; ziE#2Et%qk&gy;O@guH%LV*E&Ip>on(4PpMz9Fe`z71`42P;>S8?Qyy`sL>44ddZHq z()!%1KU-SU6fJ+jFn0bBq2?ne3pJbaz0!I*#IM~jHvX!1(t21xr1j5$-n~g{XZ8bx z{4;PnVFJi_hArmF=W(~ax8`!lVji_e+nSrx<~|INia(F<7sl6{9_E|Qrpevpit#V* zNX&uAR$StTag>Rf{Aw(eOl)E#@Yr*#0iP@G`Ce@nUWk|z_VPD7lKucP!1^hv`k~X5 z1O3)CEVAvk-vwk2w@L@@(Hr=FT1(IPr#M==;d>nFuAwRi0|@^Gj6e6n&w%k%o?IR+ zP!~=H^oA-O7yiS~9AEtBxcJY`m?7|C9j@{dqit2v7nEdJ#5X4Gzg(H%*?zep?5)Rn z9#;-iCUH+R+x~YXq69(sBC+%*yA_eVw`4#Q9 z0nhD6C$*F3{{sESzL!kDWv}dwewU#kzfSs{a(N2+*+Uim76GsA>wwX1@W4yIhpFlR znGE)LH<^Yvzq~gZ{sxWtbZI^e=Vu8IBOhPoHcM<6c+%&cScJ^D|A%*Lj}J3qGkf z!rE_`KYg`7eRH7mybNUVTU}n%tuD2Gt27N~&^YJ$R5fIbk9A7Vh<~qOZYByy8h<&T zFYx1Iay$WS1`NO%IXX@j>HS^#K@5n2Kat~Afjez6c9xkL{?-@$=Ew}cIT@e+!_i-b zdf{$ut_3Ow%v#of56Deft(z+{_&fc3-Ppo!>cwD<;j2kY@yWL-Gx=fi79B56yAtNr z3S@L&_7}b~ErPcKW|;589LD6n0bgWqoo^$T*szx&-UV6w>074c>&CfQwJXnT7z~%S zvn?PthygKH)|sW}rP=AwI{faz-``B+Z{Nq5O~FuIfvW3RHLlzEG9I-IfT>020gOGB z)VGnjtywGVuGH{^{E06_2v>q{V)*e5#Kx)J@Zoj7)^dfJuD9YVhHMHKt937to zLc@EgKGF9g2e1<7 zOKo}M*Or>y!1;iQ?OEuHaK49LxS{+_M22_C3=h~REi|xYBm08S(rngyuda9@zpgC* zMbV!!gfL|e3J*9qEwn%7r?oDC2&!1iA9ZU`dZ4heB0tc3gKnIUPa>|tC9`3uhnrIs zHwy-lYxtJkEA}Zs0`&Pv_Cn2owmE#`T03SzN#O z%FnAEe%5EC;OVM8@TC4{JUwW)^J*%d4m?%*mx`x@`$_-2Jk4Ql^7PX2Df`FqTJ)VC zk976jpW`pwG_^~9UCVScQ*YhC5R~%61O2CGmbd6;amFApx1isUjEX`1hI9*U!-qr6 zVtk)-^|TB5^c<^Cfu4>ya-aF~xHR*&3~f17z=XNHs}&Qrx{5~vy?6Q3x8fU&trh*K z^!R8r_v3iAwLQ#OSr3k8&o>2(dbBoI@^=Esk7%^9G7oT{{`$I z%Fx*c>HO_xq29VlXF1k!;a4IH%9nj#6 zf_5~>WNy-6#6>?P4-WW`f-r0qdfb$NuY&{qXNWMAB!r=`UCp--4Ec4@=rRcLlWej)s6)FGdD>PxX?=i zuYVTfUtAdy{lD&K_kVPo{%_c8{|lA;XEY4XBq}MSZa2(Y``MzV4BsHv zUVMAB@h9=^%%8{GtVV{2Dr}nwqy}Th_7XCrvPUlJ(~hwP%uU8lJO8Kbk!h0>a-7WD z`_f!9l16=Zto|y@I*P+Xu#ix60r2-?B%r!265skyB`oh%J)Q zFf^g7v0Ica@|Xl1h%NFbpeuOz+vBCXO)xmx+9LO!F5UIoA{ER{2hUSulEx=~9{}BU zE%M6}7Www_ERX)=#m}w8S%4{Q@{ri%v|v3p`3rHIe1~I`kHNSCoBZKm`o~%oEqHX~ z#p62U+bj9)`1UAslW(7%2Qt8(zYYZ8v<4Ng;A8;ig*KP=cp!a8!lsAc7&iTP9-ICs zWWl$k(GpA$w90b6VU#BUOza0)a>}|C>nZk$Ky;Y({rUUIBy>-K2kplDnZJCzzaTN* zKfLbej`u$o6E^zeWBn+=HP|pHSJ;pW6Ncus!-QPsCMH~QZbF{K+QZ)4DVUxNf~iwK zbzg{3)j9|dJ^^WV$Cs*ga}dmVe6*Vrxnul=-alwdvf- z5SoKd-EgdQNooQc`GvBvg&E;weVA&?srF*O|b5AK=P8)O=Z zc~zVI6I-18p(dduvsk`+kLi$Ai%)IGsu|2pR;?ICRweusZQFlAqWzdfwrl&F-~Y0< z|K+<>ZGZdd4%^;*O1rkNWNxX z>nFn2kHS`$(b)2`2xQ@x(?ZNaVUsCFR_HmAMtIj?S-2$i_KZHctWY+_n6X(gR*^}rK8kVCQs{_5iEcdDuP_@+Ta)*wSu792&klX?v28*QNB|Mok}Lw4-oGeNb4Z~7 zWDx;1!^{&AsB3vchf_%}+%@e+T3?FwoK+n60$6`LNQy?hr+B_JiRX)vDYN4qX0`9( zt|Ofu=AXkZ`3{4BNM;*r>`lPX6#hRB%n)q!49qWVEYDD2O3z4l@r)=a70<{adf}Jl zMf8khga>p@(-sQu0xf`_Q}y1B6-WEi8}na{uLmP%ANWwtN(*5UzD6%>3VrUDuJ7Iq zP8Mzs{T8h}nXOLk@yI_>xY+FRcpRYm*klKT!nSY4N7P_{0X+3~usC@=2^}p6Vg_qo zD+5PaervFB{nVbN#-99Fl{YYcxU+7&)P5Yn%=w%0%~b7P7)LO39?F^X(C(p?oH_5D zcKJD0ZZ9=}T)Z-_)A0c$U~G2=5G&Aohd=!doTq~CNSDZte>nno3T*|eEFGQ$oM)P@ zMd%R3XU%b_>U9~h^F-jYX24y9>9d_KgNJX|5kk48u6cs1;|%ld?j@9yq1G9CUT1Es z4BH0<65}b)lUL^(bI$k@=|foneFO_)jlh5l;3pwl$CK@_*87P z9rhEj@_`EvwhU0h(@?flnOE|Tzi{I;Bar@S0t}W0jqM&VxQ3)jeq$o%W&EL8%fHPBKXDR~j5${ujU8g{Cvvd1|-1;6kyhD0EazZw-wY_*j9+eI5bp_Z-Q}Bd?;AEx)l3yjGAc?!csM1&tdsVpj`ke4n4q&cija z#(qEm()YW=IwZ%UQsJ&zi?Oi``kNwPTp zNQR@g@$eR$&vJ-#z6L!M=)$#5_0)IkvC?^Q5~!rU7ce&hq3lIN*!hHgyqEqnQ&Rt- z4ek2A^q;@H?-gJCU-o_G!5#KJd`!E(k7sW7eQ}w0gl^}rgrwghV~-3x-<9v1v`ClA z2!%rcM(FFHQ$T$TiHmdzBh+1_E5)3IMrbg7w^lV5xq+K2vZM>CW}+*PmM(Z#%l^RJ zoFcqg3Y!C?{S>fU6vwF;^8#&d09qo8e69(*f-8Ip6ZT~1dHOD`at1Z3YGy`S#hJR< zIb48aarS3Y>)_1#wDedye_L6@#D~^k_rL&y+hd*E&b&nfC|q%|E2_K*?Y8#caz2#Q z@^!tOO&+si)rrVtZwKml;&;VAjIoLIrbWAT+RZe2ykij7O2)fmPys==uqEh@K_e1w zM2O?raK82Ug+k@~b#7 z6(n1Qqm@;Nn65qr$|@Z4RD4wOScUF-ikD!QD}wdj8^N+}f{%!n;BKI4dumO+K&Z80 zj8N-emwKu71|SI3THd2WYCU&kJ8CUrZc=M&NxSh2-`GkxC`v)6c90Djk3)7dA^Wm- z1cI<&j7LG+^-=7cHXMsfAv!8#1-Q*y&%Ncm721G_1XiK8DoUN_P^vK@TFwIU<^!dZ z0>#b{MgJlDzvVa5$vP0vv6=fm#oYA!?J5?c)-tQ3XNdnidYlk7gcGEoU=Lry%wuYm zf`x%?9M3tQB013EoIqh+`9A21tTXrUw{CzFM}~4g*CTsi)=<73V|15v&Za`Aw!BVc z864O^&YupH@f%((HGgWU_3v)-7dBOl$Cow$9@t}%4)6&5UT-ZSaH!e< z70u$5YOuGVUFe~7Ivx;EbpH9$lSj{$p1d<&deWqNvYZeH|4*h+PCN<@<#sxhTYQ92 zt{LSz<9**5%uUztinCLXZ)$EqyrC0i)3jTXEWBGX%deq`h$6);ys-%j4^}TNJZE7x zYuDf7y5v}RyBrJe7weJ6=yTXKe`mMbVd|-4g;15Fg-}mjEQE3})dFsSP&aBqs8l0K z`Qbt+??^I|xv59<26_j>xIHB6SzdiAPSPis0PS??p-=u3UApPxU#d&d1Eiy=bm@-6 zq@!M4x|+GEOAi+bVcY1^8|MjOdviJ1@?CflGrPLfXAotm{rq8)-`E6iy5IO3i<=FV zZZvDvDt;Io`-1-o`Sf$&5gb%nsv>YH6PVn2Osu^F&*#q5rt2MvXf6}yUT^qC;9wD5M z(+{uhqwn4(L$Q8no!+ep=H%`#^(s3Zxf=AsdTq{3ROYW*C1JH%WHn-G{MK^b`OUi+ zfEzUDF!I(vdtDATZsN;&I1kUh6lP6{v983}T4p@Vu9g|Aa(RhB_@Vb ziO89PuQ=kcdQifwo{Y!+t1IwVi?(2S0hLSit`@l%?*y&C@eZ}B%I}iOotM!FQZu}w z5^twfObf55k{|G0RZqe%gvsRSR?lt$OjIt^t5!@vS~|Wo6~@=1si%jSdm zH36$^e#t)&%Y|Nj956oR_jSfTf{miHYGAU>TB=2!zzf((u~bF?hVqkbEr-g>@mG$; zD+tF2;NQfzkRPQN9h@y9H0Q^2DMF8QrwEOoFX8xfJ$?Zsifv#VS=A~DW7Z;5C93Qm z-X-@wUfp;0TtFq8r$r|qcd0q?!BSM&o(FQ+8yMINJkiaYb9DG@LWjz7a{jA+a}|lI z7k;l*J%ApzelWIvlZc z5px%Qr&W#S53|cF5LYcSm^TPg`>)v#jD;0NEu^CSop$h$|mJ%q2HZU_>4v5#5YZ+Il9`*(?h~BRXqU>robI zq&_(mnvbmv)g0fqV%RA)Ks&HDzmDyE5^@+Dh(GcHHr={;kAyu%r=uD65dhzSDZf#6 zlfR)fZ4cxC#DNUCVh}Xe2TY62wtGC3kRj~p2(wx(dQ7}AJ30r9FYM81gnWoBVEmJt zE$n~&>Au$XoQ$4{R)NND#KI)+neSH7RAQTz)wSDsX{!!Jo9r=##QmaI50Uh_U6HQ# zFRJusReEbY{Wz8WfJ%QRp1wcRO>FNos4PW8vqYSq`Im_EQe;aK=c53l+P+}Zj~RGk zl+|FcYCG}l%p#03@5Hm2xjFedssO>Je+VCvOp#a(HbFmzlh@J1SwEbcwu-t+pLh+b z!#;x~@;#5t+-`6&@VSLgb+dosB;4*y6g9{EPr^3Uj9)o(aQiO=kJ;-4w`Z?cNc~R{ zPJBb_OTQaa>Uxo5e|#kgo)7h#(e~)P52TrOIPg4P)xkR_yMOk2FCO3I;_+2&@K`T= zYwBnhkAeE2p~B%>aK8~aTimQFRXy-#vRod=K@B_}0eJctSs*@jDJh9XOuLTMT;W zZK`^H*gzz11QJh0Mxe|_AaPTv(F`nAlSh}<__~vWZMPyPwvp91z*dLJr{#-2o(yas zE)ihk3?eiv4s1W>LmjLB1yCd7S)IQ6gU$%m#ZEtr_HWspG4lbYZ3L!ap_G_53EYeA zX@_ZLOYPwpd;-*Mv#idGW{tolMSnrFV2wSr#>0l_YEa#+8r32br0iO~Kz8(0Y?Q0j@nuIWQ_T0s2>Nb9yz{)!OyEwwUZx00gB_m9o zeIYUvVZI0Yq(GSd&f~XWO#i52R04=TLB$D! zaH-cI{1&23ASzoz4OmK9tJNaA*iv-S0iueNV>~?+2Hx=puz$4voEH&>ZFj@FP%|iF zbR)8rnxV(a_`SC}0K_=&I9~Of13Gt-;Ir5Aj@~Zj?oD|X5hcFS_Le904xD>B9LbyO@ouA4f`+tN>p!U>$z0Dgr(c1 zFR+zg)DzRnk3%7_D{x{p&J^cJUI*j_X{!N4U0kCoLBxRZLC|Op;vD4OzhIsl{r%96+K@PBuwdj=nSkL}Tc1iayK{j-MX?$q$0jGdGtEL?i z#}l{N-O+5~$zOprDe$D_UiH|-<92w0GY&E!D(0M#oRpbMIs3t8rZRjxrHJrAF~ok( zvK$N}71zK%!EVkgxtsIx8rW08=!X@T4zmV)1h$~LzVt^DVgLzivM)v5cvFjD@dAZ4 z@Oybv4i&t$CWC*ic2{K|Hevru*FA}yogz17`5$s;=Z7VZ6x~n@Ymil8G+qJbLxLwZ zVwOn=!O;tBk^MPiWvrDM{Dg^B_QPyZPGHJb|%)}EK zaAD!fbT^_hbucB9Zd&q95JMU7m}oS!cd17_Q;^N zjPJ<_DfSMPE(tvEhNZnCX)`lWR6O1O2NQYrgi$5aL>LM9$xXOO1prm4nV);|huMoy z4B5V`TQXLlIPy_3@LDO(;flox6*H5ThRM%kqR=o4RX;I5t13`G!I7$B^%J^QrK_Jc z_&E|k1BMI+*epCj9tbhPZ$;XwNlY}%$&&M=Hrs)5_y%Oa1Hj76;w0>zUQ}0X*M>3$ z(?TJa;pZHHz1&yZTY-jh=7i#r4mVXxhP_&)av}Rjs@9>v*UpYf1g?E-=PcmPdG(@9 z5ibpse;Qh!xmnSncI*@P&X)dlCxvuE%N1=Vn7^ax$9JtecQxW#^&HiqbEp^_?+}k)mBD&UGgB_3)V7u# zJ8{}ir_9z-BRvg?a_KhzMd$qrwDEU!!oa7t@j^eB)$_^la}!WfS_ppEr-*R6xr$8= zm~(Ww+{JzbV0i@0OA7*>hmK?iMp#E&G~7C3IV@vr?^`>}>SE&mCcX2}aegEP(zofI z=dcqxELcTBIYA+-GlIoe^+N4-w-ez7_0m6K&&~dCDI$ zF(Y7FkAc|320xa^z`~4x#a>GbDbzn;M2iU>;et+D72QUOc`g@Sp1d32Ee(M80hop| zMzmmH{4?t1a4^set|*JNYSAyzJVSgIV$bO2O2JNKIR+Kh=;p|5^)2H7mgWx$7;9pj ze9+-j7lIA-pS<+4d3M77PD z52|W&4?^z{5~TK24$g#AOdStI@$w)PLYly}fH8pWCi8)@Yy>KS+llS4U%FSCFAvRy zI`g3UtVoLp(O_+3l3Y;@qvh@{VjLBJ1|ujBHQ57?=crLs@00Wiu;r8r>~n&oSE=+p z-?&E87m{DZ&>6^JM)(i*fl-QbmhUMBAkjv0qSJ9@r%;W;YVTU8)psFtL-OsOC|O)d zPkjqhD&_mW6`jyb=Y3UV--XQ0_g_Db5FPC$G>THbsMzX~MH!PYa!51m`Cnn?Vfg@PDeEw`#BRbdQ`X37-{)b>e8{ zhrgv*i%Yjt2tJ*%>Uf(g8PlL!G*y&+VfpG05)MyST+CBZP>aC58qkVdT%o9<@_VJr z>f1v_K`pZHK9(ZLs$#>XprXG~;H<0(J6*l_0$HFh*QxY9F#gqKVhhuGxZ$kE1TpQL zI~Diq+KlIk@ucdrN#Pfq!6bmD>c(rZ;r&Ky)$K40Z=?mRMTQIWug>$Eb2)~%tlvM5 zZwuD9bS_zj`L^SjMxgVX_6Gn~4g%=UQbq!Y27rJ~is?KiG|^5nJ!Ep$f&Vy<#XQyH zZ;tiGF@Qw>7qx|}u}h&O%{c=>=c9{5zQG!oQ{jUF->WDE_6LoNSLJ_&57A&R&7ivI_WyZtU_K|At|v zjF<2vveYcj(bKUDyRLjyrhS6dBuMdK<#_2}iH@TTTmups z%Ox@lA$FaO5s_alW}~EqS*Rdr{OGqXPT9bUgp4MvoEmt7XypVj_6{r)WO9TQa&c}D z4n|ny7{m+E0wt~u__9-iEfm-KYGRbzA=*1EZNd)Xl%&EqIU6QHY%2c9NK8)*gcAl3 zlys36y#N@lj0-_2jHZ)NpHn;Eh;nf_b{n#(@gL0&VVa_9np5hw8;5aGp3hK?mLa($ zTnGb=pO^MFdXs%18cmYI(1|_bS_s+Tn6&F#rfX3ir=HZVg=`l~mqz`YjrtR&`UuN} zPYqphA4Oh6NmzZzmY6}BZW%P)_@#o9s#$P&MX{BTh%n!rEiSg%;$n-$kP1fu9C~H6 z)zXCT(F|PTw%XDBvKDQ%Z2qwBr4`;FLneMeZydWwSpbGC;(>qE_4=~#Pnc;~rmfZ@ zUC;>cNH#zA9g5~u21cRN_sCzRrDfT$yLgbn33~MH(81vSeDehmD=&RDEHOQjP z9fRHn%`$W@n2E@hvR>#R02++dq1;#w3##VN`0}Wc`U)>I19R#|4Pcn&7xJW(0Y($*cB{H!8gY*OlJwM|#oZe(7Jx z8?9sYS_D(4v@krOj@_+AO|+Id#r7_irY|8GlP4#ohSiIS4un(;Fc-?b)uo55hzAfH zg@Z_!k@9*gFuzZO0uO9K>4Ef|c={$Wie|6l=-@GPQg$y-+VPrwOxwPd`;EyiZNmAk@RCfc8!b| zRr(N>{+#U^8BZX+9sBm{=4Ibh70#4`rm5IBPK7ho*juy3;4v(bX-kGq0EHtV{;r-X z1U>MKqY9Y#^0aJl$~B`~(N^$HswV`(aIV7z-IlUq56SPMlT^t{8@f$U~w2#y-Otd6R%ZUIY$z-{$QOxt*pOn`rM^`O9R<(4bx*OAROQkGF z_@on7-=WOSfP=rGp)F|YTE96kF*w`P!phJ)1ZJRjyH;t6`5K0Trnt>MSit@z8hzIJ znB5P}gMUP1RV({cAn$qT5ymkX^14=r{YhmQEaZUq1{okpU5q!pfY?i&tAJpASuIfi zdGQ-zCe#$3-U}@cHCCKi5`ICvNEmkT0`43Ga6x@+8xp)dKyc3BOf51Vt?(P~xi3~6 z>b|5cSle#fi|C3=wwM+X1_@i8vXCuVgxzfcpijGhV`XmaxTv zlYuDDlLY?iCZ>5fqA8-A*y+(7mIs}G5(e9)J2Y-^M(ipk$O+8LSQetNV3^d|M}?vH z@G@QP)`4Ox9*^D6Uh?yk(i&M%-OA?KH^Dq(er!bYw5cTHm5STgqR=&%%YgtHQzzgw z*YJS!w9xsg8R_XQK{OofSRvlDwWuK>4_u+T@-~Qs8NxJ2#mH5Z>$B_C8mJo)CltcK z-t9u3@UYH1p9Q1|jU*J|d-Sc*9(=p%o9VWdB#T^x-nSrLy=d^)f+EN5a8aZxOVA}v zrN8`viz3&lbo(pG|Hg-I`ni%$Pra+#PjnH@n@n0;zQY-d=B$V`l!YM>l(P`w2X z5G{wK`SQr>`#pk-U}Li%_SBvVU^v5Fksy>kaF$Y>_m1@XH&)2Jr?bq0k`H)m8$bEq zUC+wDv(0+eyj#&cnr9uZXPt$HQ@Q?I>sh~f9}<~jJ?o;QevRu{mp<@6zMl0CRIB}Z zRy|VpzMgd=8Ixi?tA|RDuUm0F>&M?PZ=3b37!&_{>sf!0;{Ly~o>jlUqpxk&vu^vU zGuN}a9t7IJ-Qlb`PJc<(v%c&hsU5FpjhxYDJ!>8o-5qJS%g1}yvpxc_aXo82tUY@X z3U0fe!kF@G7hJUnM?T$Pn2c_%nt(Y>&|H-x?hl;T`y%kwdajOB930>K2i(#zR&gjI zLvrAaNYf&-`8o~><{f`pvP$Tz-r6gM`0xgoS_`ZCcdEF_Zw<)<^l#I7Lb^3;n|=N| zyfb?(Crys5!o!hxT)@Xw>$2U$8Lgtqlf|)g6L#k-2jCkTMX>1Fw&^QX`e>CtH=h3? zq{sci<73Bv*xGtk{NC$d;(#t*VFV|(nutMGZkzJsJ#Li0rwwv8C zhhXwMH3yU5b9#B_>@p!l$j%Ui>^SHzLsoS#>?s-H7jDTB#5*gu)SLLhusq%R11T1? z9!s?h13L-slF%aWI!r^$Kye%W-6`in_Et1v13>YUigM^`d zhKOjWd5v;&!V^=W;{U|IFYcqt*GLj;87)Uln{w1}xZnq#cj~Mc_g-P>~^$Y}@c@_jurdR1}r+erH z%1&#!H@{Bx7LnGl$6n?tVH5J;L%dO*CIAa)QL@|VFG%&9=Ri1z(CtL7z)QjDcHHgM zADtAp)9L*2UvoPJ>0Hc2MOuVwC0@72qS%W_(TyYMz$Ud}$0=EpmBI%98~do3j`-#;yZl<96LFS6kpl$wu=6#%pw=JcF2CDh)(Mxlv@* z@(*mVxKNrZLSZcTplhU4=r`gv>4AcS#%X?>9ST9tEQ1ioSffnD>G*dh;vTxGDLpH; zb7v-KXNnJw)1->I>=WXYG1G3UfWN=!i%-O^U9t&wt<19T>n6y0Y)sNuZgK77E4oYi zzAD|f)lDBR>AwAtkXoY?>jo5EYy$rhWr{k_S5;ZIR5k2P*RcVVuiM8pc-RZ~ogXBe4)Y;-oemxSa39$qt)?K`q&MCwW+V_eKa! z(qiC=8rXE%LqbwJ7mqzH9l;{=Or|x)b|EIEK~tXyztw zYq|(d&{MLnDZZ81$sA@#7InI|3QD0)dh7?Md9l^ZYZVzE2we8x>>}`sC>H5AtMu#Q z=}$+ZIwPLo<0QWDIjRx z^$LPcJAl@An64Mz2LO zkt1%$E?6I$gAC;O2Ik_gkaO!(^#R0wQ{pqd}tnCjiAx{oEO) z>c@#2sQ+&YW*$*dQFA>(QOO{)ks!krQK4=eWVjpBzHdw$9X%6bO{r5Vx*yt_tfKv{ z^MnrA|9%A`{~>!xym%8o!m~C4EKF2Zn;zSM1Qn_PSU`Oes!(tOs|-50hERpG0SVQr zzCP{h+iXGR-`tLJ1Y$ZqJw^dMOV? z#k-*m5c=sLf|nMRUyE9bN&;+&umisouw@LxqbiOmm6&5*lmxc(RS?r6TT2Jn{vM5$ z=1CZZphG;2;+30{AVU*_IRO`nW|bQiTwoTk%mIjpcM4pv2WVPmhfPZrAG1qEIW4kp zPIKV`-z7yApmJO4!=+F(<9$)mlU{c5;2(Go>6fYWi{j~jl62qYNaz3$np{GGB*cTE z%t}1?xD|A;iavNxs;Z%}coMSM=cuY)Qt9L3>1QH61s>c!N#Vg!uo*kRgADLK$W044 zKw>lEJ8+CdshJNCf?#$zf?y>UUpJG3J({(uW;Do+CO;$|<#k4Pq{0<}uMk3Ib?%GV zf>XBLu z#&<(W*r_3PMXtu3%)A%lhu?SyVAD%vL1yp)YdH}EUGX4>n!g7Zq0~oE`8L$&H+EMH zj-%Pa^(}?*>Mmvl(yg=51*la9inlk_LEft5Hy~gKq6cD!VZz8Y5`@hGcg7)?iaD~6 z9VNJfcvmNq5+|51aps;(2VVfQ;9u7X(9YP zjv7lP?DcakdM4gR2vv&E9J35TnRQseB~7%dTD*?BmF6wuNPLxclMwtWUAqk%rgv(U zi!<2EvG}6Gt6Jqe+`w@F5+Z0I_?T`kB(*?5Oo_@?1dK6tT(?2^!6Vh!xhC78xV8ZO z+-_gL9z8TR$GV`YuwCa1myVaxFTtT5tLTn!mu+-IW(!(m4r+2&a1h?QzGWtk;L_&a z$nN4uZtFZ8x}idjy82r&b?v#%S*Kp3Row?4nOeMlJvNWO-AbPTXLPIMO6h{}Rw@hj zE-NLZ2e=koWM6x<%Sbp)fS;i;Fev6jgh)^Y>TjbeFC!c5Z?2@BCz1j_&P!|4ytU5dyZg`9q{Tou~%s3jQ zrRc{4Ic`5NwPio>84>m)u^?Y{Q=5Kl!uK-J4^#OL9HETmaJ`&OQ0rp|!v0*f_Bd3W z)Y>I%ZEOqL1#ESLBZeXkK_D~HHEtt|UPJrCoXe1xlKyj55D(*Aba+#A zpGdZ}bx5`o#&aAx73x`H&Ql$lr-FDE6GaRa#B(oRz>WoU?wm|*`H)^6#PAG+^h*p+ zU;J>?(HQ?2ObMuA5bI)N>JZG*=%`>4lY;XBzV`OjDwZc5??WX;Wu)=WWIzDHbqKv$ zYP=XUnsAtw?Y}l@P!7#Rhzn7pEq+xNtN0DYon;whfaTjaCPQHvP;4Cqa%J&3q{VKc(}$Z-!4C{1><6@h9q?N>Bc7^WtL%iP2rs^) zrV{GfOPQFp9flM*3gybi#aNkxzk~&Ml&dHL!I?PR>e6kv zbzV1&5X}-aBn)mv1VEp)4jAu{pdpq6JVyF!oRgNq7MQ(`R!737#j0x?#xc^0F=eYJ zdU)pvv>GkkR&Y`Uo`F{F2qWDCVg9P3!88yaw~kkys_feLt#qBsTZk!@Y&grWCaQ(^y18XEz*+-R?&s*hn3asIhdK^lkEBp zT4fc@dtK6vHLj(*Nz#4ukONdM|Nv1G2mH0qa>H(_Mm)5yP?F^NEv`T+&wOiX| zD*Zjxx^v_C{Y+PS3D_uLAL6k@9U5xP&=nA{PkcggFt$aVPY}Ie*)w zi^P2pomnKzNiw0s=FK4CP>wW39L6ZmGyK=F|&E-A~mxq z`{8hpv$frR;;PT4V_f|IT|CoSbfg0H|EJ@bMqC7e`33Pz_aiEu`TqyvnHF3?!}Mpx zGZpszIq^*87plH>5YJS;Nw9IuN*Ar3+KK#DQJzZwVU>$+_o?)3mF}am$yB~d(!KFa z+us)zbMR?6q7R{d)2S#wE1u~@zTm_&J^W9l?``9mZXBo7=78^^Hu3fN|5x!$mtEZ^ zp6P}2(L7o!9mX?V{T-EPlwkVVG{i9$;)BGy; z=YMNE`r0O*>2I${JkwcUpfibhrlk){Jk!xCwc~iE@Of?GnO?x~?MS=*XAH0{YV$sf zkF2ve*uQUo1KY}O{2Z-GabEV%jAwfD!K8Sm4Y>Vf@l5v7KM~I~7ecz1c&15woD|RW zWLJr2x_^H+p2^ojaV`2o+w{*rmGnxL{!Bdo8%U4iCC)3D4ktt6`?qplfnD+fU5GfK zt!ffo5T-dD0VSweRN4fH|sIZ+%6t z`go^qRqT@qb951AmQ7*+s_hAM-|oRIn1&zb{f)SkwBj2ch@#LU7fL%A1{@Cm!&yao zgD$?R8C*q5M}s-T)0P+asxCuhGd3Cd=##C-oq&z%GLl1DClHYh8 zGgF$7j{h2ABsBr^hNWE z5_9At+h0&b9`4}2+*++HSTwK-%e9dg!9SdR3XKut)m*lXtu+^_MvF(lzW5qWyVZIY zEv^Sq8vmUx7GZpt$FaFCwjK#M=4B)bm)YP#wpNRl zl8xp=<5;Jm9E)nR8_pjQBffC6(-y4~hp3}R{NnB&t@6e=t!cxT8V||5vJJ__Yk+cl zp?EN_1CpP{akae_J9~lA2f2}b0NTQ}v3lI%Bp%X~?sanvh7Ih?+O#j3fu&b- zd=0fGbSfO{VX&M03-`wg{FUHD!ZS<6yJ!Sm>^M~L+m`XLJt`(*ZK^DS^Iivm&W5yF z`7_LiC^SKw4u@QR3UuNm37iBN8i<|6vA^Oa0J2M`$Oj~~Y&bxd&`N9{h;2dRxxJAE zg`Qz3Sq0vzT1nl-GQuUeY3u(ShBQ@U{Ll$XKYB*#*R67O=)`-Jv%+m!TxTl>7ycPh66YZ|fv5lqIJ4M3Xa}{Pbh3Tj6(0k$Y ztI1fcYAjrt33f70@XlbIo!5#fIS*MP2-CwFY#Kh&tIhq8%`;{p$g2!NUK0_iSe8c8 zvoeW5dHm9QS&-AT!5El!g}l0gs^F z9@)}O0i+fm!VIwl=cpSE;bo-S3v3=eb&(0^L|jnd@PnX4a+PB_lB-O4-Mq|U?5@mkRMCYDbB9cefR%?QiM70|9T*rvj_w7Ks>rGmz($muu6B0lgE2*Xv` za#}9<EMWsmS9iZ$dAqnUPz|bK~Cc+h!>dXqq z2Cy^;<@Gqe1&afrTg4OHNF_05VbmKV`cYzx&yJmhtg>J)r?hy;p~4@@3;Vdy(r9^T zE*wdc2`4Axp->|-m%kAIxJu^DOCH8NSj9g!(@|P4G*{+;^5D0thl8)Z(nIz{J*2)2 zlCeWo&Dh{5_gF2}BF7-DC4#yaydZU7Q|r#bTTwUCZ&m5rA9vF~QR(wkdT*xpf(+W5 zn9lPilzst4C$ql7wNq}e1-HvZb84qqGWyw+d0e77J!ypE{?D(1V6 zN~H;Xr!gzz1XjI|1{q5TjJmtY$&GG2{S|R12rn$hUHVFHQ3e^>i$`8eiZ! zyy8@&`r5a*+p$Tg1|1+(6A@{H6*-0BmhW+dVx?x56S0sK05gxd*?|L4vYZ0+@}nKS zFX6iq&gL}hNoM8Co8Kj~g_E%ZpbRP8qIV5Z{+&}XpG^37yz>jLy!efc@QPxJ(VB=p z&56%14u>y6`&yf@S1I9zel6rk^Vsatg@x9M4 zAkhNi&?GV(r(3A`1?^1CFK7y>`2~*qj4FHsTgwbWu)}u z@o{odhj1CPLZxOFA~^2Mq7pU;rWM)93#&)kbM~f+1nh9Dqw+an0pO_DH{TSn|7Co9RGlh%JzJ^$)GaAWsr>_)u zNggJNNwzo6W`xLm;~n8QBMBs@4O#Ua){}(eT6CmhR4;Z*tsv^=O14>7D~bNXAGFGk zq?+?#iLB8oc{-jVCeg*P<* z6N}MtIj}bJXCX{k4MsU^kjcOX8FjW)jE7=z7%sy}Mi_~;C}%b*E>dP4EvNEnF-sO3 zQ|*SZ$GSy3eGEMiE5?hALXemvztL4~#ux zmF~r@n8yhH6A49hBO7F2{9_v`je^OT0Ya-tn0HWlGND>Z6rmiUQN;Svj@;)EtKt^g z{2&xN5POxvLnCfKuopCm=3?c>UW5YYiA z^7u>p0Jl~xI-Z5qfpBV15plAO{hsaA&l!xDMLZuYPIhh|@q@iBD@b$4@>N42!a*e< zAvT0ogc@3DBt^TUK*vywi&*6nSY1v`w7>+`FB@bCrPAq^kMV~Xf#zedUWE5Kgfg%T zy>w28E2}{g6&Xo=_h)YO-@bDzhEQ_T(>ztaGhic}YP&r|HBlZ=^rxYDtk=ui%3M$k z!z7vQ#Nr<%EyTpw^4+D}^S^}U%{*|wcqI669%h~?8l6+=1`+U7LCloL#1 zKk!*w`r=$M#H(z#jj|;AhW3NYhDZ|oO5Rexhf%PsqS?#Dau`crbiK;0tUm1tPLgV%XP$z3KF*tUFs z=p(jao)WW-=#g8k7=Wq8OdeT%S1~thK2B=BAsm-R*D77S)?<}Qlg6ovj#br8Pb>(c${<=O&VV}q4Dv-6=z(m!M)$S z6js&<7+L3MP=tc!)tPvY&RZ~aI!NHhXIaF{lhS{SNw$o7aZkW@m;mtK(h6~6Kb3t| z4f{$$TGb*++`d}FmMj0QtvV4-Wn3wlas9WH8FAXa3*$3FX@uTlOk{YKF@6P50v}ub zTC4mNB_hNaCIEa@@8YIGA_|0w&Jm?XRGES@Xk&__P)24GYVa3qa!I=puO{5IBD(I` zM&gRKmz~SWuo6Oe-9`lZi{H5XZ1K-NB(GyTqB0eL7n6ieh_>AWtBXWyU08rW7|yFP z_WZzkrPx#Xb+JFAmjY9B@B>=_eus;k=7I8DYvMb*4|XflorJ*+!Bp4-Pzr3#issI!qXE+7H+A?k8c2I>8UF#Pu9cnr5<}IvbQS) zTN+{M#>Xg5&A?1AF1hw)FXbpm??ESH3KRf-^JX#tw%b3XLsjJK*)Pj}0V?*7W{<=| z6^}YD9|uD`MI1WT3aZXRJKOIXIPws8&iN!~2R!+YC2vskLi>b!F?!ELj1u6iN#yi# zp{RL}s-4t^8odEv9Vf}lq+zC7sj|cpvoDroyk*kC6I7$W z2gL!IBoHR5TGiSEQ3lt*jzwV*%o<>F)0}=aC2CPqE9i#5p zttck$q1f5em6n(Q_e!Az?0tLSJiagY@bym5z;f9jyqV1VoBu=J^LtYmLR0eoolMly zhWCF!Gd;Y|1_6E%?l1 z$$w}ZZJoXHKOh6E2ng3dPXb5c{ND)vYvliW@Sp0Ng8$CG{V%cPnZ*CkgxcS`{6{gc zgD^rnve^a2apAN5q9*}Di#&#QBrSUWk)opFzu~gbq5}vG?uQiwd7Wm1#e%%*9K=B3 zD;Tm-FU}jUdxVSB6f?#ELH9UBV5aMHj&x1r!3$j|I7jmN7aMJ27w%#xq zA5TIPVg>xolO!mRJc#}Rc?Uz5d>2s`&|-smh-36^tV9T}A{O%`nkN1UL`>Ls+##r5 zoxrU+Odw)+?3a=#pMBPbD1%^KClO_MJEBa_15waUC4pnYGOF&hHv=qV$DtY_(2HoE zOQ2-{&h`X~Ekzc0;TqfH1)e@95n4{HT1mA_<3^XHojcJscoD+72Nx{HC8&VNytG(kU%ZZQ(BNU)Er@%d52P$C~?I}GD0M0$r>B{euUs93z6hg1mf$}AMhgVG-5YX#h4V!czQLoST}~!g2+J*Oo3JTRSWTRb@JCY3xizlA zUde;89VM2@9aJ7K)z1M%TsA~DL48cw+o>mx*4>4n@V10rD2Mue|OjTBxRv0fHANFKO>Q*Mvr@^)fyXoy{advVd$pno)G5;#5eM35^YvWAHcg9!#@~ZfhaX+ zRR#J{i~g4I1XC4V5d(D{_0XcP;l`{I@TgLe6&yC81SG5D2MsW?;u#2BJhI}ixar93 ziVwa*QWT-1Bri$ZL{@OiET&o>FZ^x*8V1T(Fr22BFu!*S|u@Hck z7K~cCj3c$IeGxwJ`7GU(&2;$sHgGltI`H6a2OY3i&OLY=;7~B$=VsU9@U%W9x-ikEI&%roCYS_mwo!8h!D)1rtf2V?@|5EnD&Vv5K^ zz~KMG-n)QDRbBnVxey5go}f@8Xo-S0c!esOh-ijn;Ec>5iXdJP>IG4}0GS{y0!bzV zIUbM3DvGt#w3as3YViUBiX?(b@EQdX>n)(-8OJJK3PF*4zu(&D%q@wRzF*((|9_s3 z=OJ^>KKruv+H0-7_S$Q&4Yo?4vB{({H}DRH^A{I0vovf@+9~C=Dwp5=r=}ED5#CI;@aq5&b!&z52Cy1P~h8Hk5mK63= z&tg;K5og}$k|}1N)CE%jA(31t1l-4oQLM!5RiV&{tZzXf{=%KXqr;o2GN6tE$@ov-3Db%)rS;XL#awI{K8o{0{-1{(fI2~sx$DFB4x3WG`>l|juAAlyOy8h!2(3U#Fx>L?;b7%P$le_|LLO;p!} zw&{X_IlvLuF{QH}Kw!bxj34`jLsAA6`;RS=F&rWiE>EXdy$$P%7UtP?ar0`#JOVJ3 z02VzwCbHx<0uctTIujnISOeE^1DLoGnx}SCXCO7ioagP#<2xH-idaMelwp?1Ibvd% zMbwDoa+r6rhy#gNp`6UPwzlgP)yPLv9j_Lu8N{=^AV-3&Rh^Ev$XtNhDSSKO>;~y2 zAWj>S0OE=`6-tazQ-SvhY6CfZ-vIb}rwl+Zff?(>XWmT>+gfL)|a2pOGtoLm6Nbb;DH3>d%+zA%{NVs!L>OzFy`3WvtqKrt?}w*G3$+Q9buRW+;Ed(jn2yoeXMPl`UW&BOAO* zY7$>Yt#Tuuam&1_|C3m|%};ezf3{QqI7k<%*>bczcWYz$3YqRXGwSLlg~$@NqM%I% zX3l6;+nlqpxpWy?hf%FF&0roYOAbOgiMgp6EMHB^Q+~0kJt&@v!n67$!9ukJ-)0D8 zSxfunqB-}hc+=u|Ozc+E`gvD?h-_ zx|N^ME$}s}96m<50@m7%t6WD&E9;5`;3QuRxU6e_3rb4HOoo+KTO88NWFcYKvXH?O6*4l2~CK@w{k~`sS|>> zztNvWX|j<+@!aW2^>2?~Z9`M%JkG zDdq0u^6g`iK2N1zUE!vGAnA$c(>;F_zM7?Y=i$GQaeu=3^jlfLIiG$IDrY>3)br`D z9HE%y#-|hgmw(Fn^fobhc5;7w15_g3J*h5_*Oeb>a4K(3GcS`X zCEl~1&5s{Zryb-d0!X#`YN@U%^liqRLwSE;8*h)_ylz0+SgYh0ZSKwShpM~chrJ!m z9`<&p_r}vSivJ1s#uE&C)qK!^wch@kf?3^Sz8xUhUjZ?x=hE|_W#Zm=0UwSuC{Ey0 z?u}XJ^kd6vuL>!P9&S&UWsQug4E(3h13P|e^lv`pe~UA%(hgT z^uSVi`N=M0I?emk32{bMO%K`pkvrtWIqDH83g@cFW<2Kc(ORD`KdU&V>JItiq`KrY z>T>WE^Kv%1jJr@OmOCD+S*c3J=qQ&FS%EobK5s2jWzs`@1Uz!agVVlDb*9o&Oc%#G z>oLT?8uomLa%!RRDzraKKeLSBa0CL7pDu*%$kWj4z0vR{A5kr{GE zUJKuebTls1xA>0Cv`9G;>|Xz1J-qruJ{0X-HHB# zDffZ=lfZXzAIN=>EeZF5+=|!K^Yc%zc$fEq)a~r1cqcd#_kn0t%aOaoogl^2h`tc5 zsy^#>bpSiC9lYHN1#7!K7@xuPiVz0luzfv9gSU&!bch1Ze8}xwFtTSVDoZ+XU(_t~ z&q=Si^T}NglQc%=r>4(W={YLh8_R#CN^fhDdZxtE$09xMqFKZE#yF3k528stkB^I1 z?8g>ir0D6nI2T`i=IwbhH*`3UkFBHvd`T<21bK!^o;zvk(9Oq)9o<|zgEGV%ljk?j zE6_798n0V@FF4QYV4@AKC9}rX1vN-fAsu$ z)su(eiLGYjioXp=6ZjL)=ddYUj%^m|Mw@f?A7^!{O9#fhUw#V+)%lz;n1g7Pe}}AO z$PO$<1n!oZNI7}~HGF6wHs~K=%8Qn`%?7(*E5!{ZJK|y#A_Q-0&Y)VC16^9U3t6B*$@R@+h z*vjIz1lgHK`BgZjS*xt0{aFqPwQ803^Tn`OQ6Wn=?YqgwB##$*yuvufpG{R!k&v>_czg zsD+0hTO^3u#2;#eoLeXzj87PAgiMf1M%INzZmbBp^5?L>4&b&p?2i%)|4O)3&&(+? zN^>KBBCZts2t?B`Lb!P?x$Mlz zHkUZ99D(ZNP5_)Rw&NIz0_=U||5Axyd4bTrnEzSCNqI zQShii9m}v~qbLEfw7Hoo;y^im--~XM2B%(kq`N+ci_807b{@dj+=UjU>HnAf2P_-ntAOr}Awi!grNXW8p zg&Tw+18+bO+%ib`iP#^RlH)g`4E_*VL2=<;9;D7ViA3y+GHQzn(XesBEJ*0_6cXx6 zBBDAB3V{mOS@KVa+NBqtl~Rm^)Kz>{PR6x zw(I1ux=b8UBNK1rxP!Un{PQ1SxBNBL77*W6*kt6%GN7sOIYm&@M5Eaj`70m*Svxxt zoawM^ARuZth^m79xS}WdXfEB&JTmotM(D-1-!Ap!fCwWbg9mP*IeU$2P3npilW|}wQh59A4S-)vNG*iG8W~XOS1|nql(W~U^l2*n zo0)F@S_N@!Oj}ZmR`A!Hg)r?Sa`2qFs4riYyDrwwjIPUZOMvCLCC~>2+-?Bk)NZ&m zsCqVh5OWicxBel9M^T5|^OA~it*mcuOCWR?$1=TISqr}tJc`0&WvxsY$P_#(zEcA! zpRD13atE>p0kB3Mv_QyaehiJXB|TB6#gIAN_q>$=RMshXb=mX8h6O3s@IK7Vp4Tjw z6||LgN&?`?n9DltH-IWRE=Ff8K28MX4NB!>l z%4fWaMH3MSxTF_u6askkxAKDdcIkt2s^cR}UCRifZEF=+9c~lp=8&YCftHn+?_weYL&MYBrdf! zA(4uvint^grmy15E5V>;H6w$)kQ){5@=C5sRCCO3v?bcc%aAVEm!^0?V?yi7QYVBC zkC@7LS%0A%ok0ijlDM>b#93P9pgfp;viyjDEou`fqiUOl4;|K2xDR3%>Vsa+F~XYa zG`vZl4r8(!5;ZxfHPui!L4u$$QsPX2Ll7C{7KD-r4@Yk!D^bip;)d$d!AQfXYGEGn zhN!x9o`|Z+*SHeD@jlq|;9uazk$4dUCoQiNwJG(CYp{1*ziH%(X^%k1Ykzjw{jpFX zRG3wji^EtbBSX<6r6V_?>NxLHM}8q`t_F~)>^L6}dcc=|iN-D%=Vg11n{u36Oe0a`3WWCrf9YVA49K== zQOBd*c!|?~aFHW1SXbnE7@O4s>ITXZXQ22AOL7(z_+d`PW7$B}CqxPO!k+8ar-grm zIwB_^gW#9v8GMNOB@3%H;-?-wJhl|s80}3?Ma%m!a4{cG(g15+30K!7Opi{&^j)Ck zWK5rv=3<(`9)RgD>~}7XVY(HbJCQp{Aw=?%C=DdT4W;V$Op7}QaY_;gG`bBE7W?BY zP9$n>qs|sS8~AmU+C-2lZ(z~b9g<{8%=>E>%QQm<$J?OWWG?J%2VL?fZ$M`;H)zMM zx(Ax*^MIL)Au)?5#LQ43AUKsIuC-EoM2BDpubp;tILsV9ZdMLYE5^KfEME;fHk zPew2|d$MjRXLYAd@mK-JJ`@y=ee`OVWBa1NNWW91pB_u!kJ7;6^H+A+HdzrGfjC|Q zU&uZDuguN1&t_?3d5sK(n6e2;R>0y`ShA>yfoSgZuSFZs~`@RQme*6>eYiReFm`ul$vpKZogR`=;EP zUK{|$^`(MM)Agl!&aa6oReTGp74`SEyT7Nnn+9_eo4fDg zE{U2&EQQ9H0(e!WU~{s&~!xO}pP_hN1~UW&%i>sfOI zncu~b`L?8I?eCI6veIXvNHT%E=Mu;tZeqs@<;)sRe&D4^mdtoaGr~to!%lbuWlJ(1k!fB9 zSaoz+1$YrMmoM0cCMQCXdx`ai|Z@ebt2#>ZU|{H3Nzj;RIU^^ns<}ciQRjD2YNxgRLq*R$Zm4!yF ztYx9N0&tsB5Srz#Wb5ru}v(&PDlGKlOHz$?vH2idgy>Nzcl;tjqQk zm`RiNmzO&28E6j+Q>9J0!GENHmG#|x>CimYSx12?M^CFhC^6FmNtxjAm0+W?<)ZB~phgov!HRlgBDl8Qhy*@|dH z6u>_*D%15)`Ia>^VGt=s5|kgQ%OM*1WDTFf+-!W4DadTNPI^5qhRhQQl$8}os5QAu zSr^Pek>u(66t~tJSu4G=rVr04ZZ4}U<1p{f!ngRm|7H$a zgIT0}tuyIAlZyna!kP5TS&{6Q!v~8eo2w4sySDm*{OXB_#8BgGmglg8V!u(kw}*2( z=VNVkMQp;CL{6L%MdDp9yN#vQc#n>Y$7eFWB|TxjlrES~q=5h~2y4Z1jqS8c4-yPG zGYF$8HEC7d(H~{NL13qsI6UGUB{M80Jkq?s@akn+ug2 zsp+yxt2Dv$C5}B*rd-t5h7W22<%B4c$D?<_=}S z*+c6Qr~S9VbFkn{Mr~l`mC~*oEM*Pf3cUb+0b{Ea%0fr0oF%bUbd(@hmKcwysFg14 z<5`vR%yMd-CMj;MGw`OmFbhwP4p5_o*D`)bXgvoEI=~HhlkWK?tcMH{2N*g4Teh#n zjeckavoFqB%jD1aonp+%N47`^#W3F^&=to}3r)oVcYO65-@-+M84d^8$DB&Kqf3gz z?jbk8;frm2?n8SadB%QPD+V``i)xY_O#TO4qP$87UI#AuEijwJC2Ir=U319^=)nJ+ zO9IA630$HBf69NP6aG;CBLqHyKcIj@cSz!oW)Lo&Q2ryN8!&nzdn`Xlv|@h22I6>T z5UqGFsetUE{6~a6(8@Bl5;L*Z@=e&|WSl#M|40oIw92FL5|8QnL+pWCe;j-Kj^UMJ z>@f~+!X76vSxK-&_9$_VzsA|aBuT~mN3KFKC)clb5Hx~ zBg8vi3$3OHm8qgF$@fhiQ9n#@ppL?!jcoLiqg#X2P06e;+o&=@f$N08#U<q0*YAF^RS$OBhJ^_lJn4@a>V%qjD(IO&QU-R z$tVdyQ{f;JS&B@YG_>#qR3#jaaEVWFNt{Bn2}jwEs>dG0veURDj+ivYx52^ejq24z z;7A-zAiL%PeETWL{m4-GDWN~p1c>q(BF2g&!kR)If~=KJW+kBwHJEuagGaa_SE?my zLbZyTFbdz)9OrlOj;;-8D;<2<%1QHDXjAt9SfDF`!0aGY7n zR}5%hMKeO%6Pe%q11K}@d2|;BInncIG2T;1`EJC34esq3xOK>+*L7-0xT}=mcjH-+VyryyOI4EF|2_d5_d>BJRHLYpALs+qln>> z3&=W&w(~QJZARM>;)ahGkl{vAP#1cjJ3~~?|p`_`te&bbpEOLUW7+Z8mWd zwnzWT?aB?Yu6%BnGckj4aMb!wEQyUZY$laxN zuJ@J$42@zI!mJ=MaePU>U0T&X4*eR}@3ATJsYoBS1?pS~W;ED`{V@e)c|5fe*w54s zf;!Ue3mJH=itOVKzM7#_PnW8}&r2PAu^&fjQA$@%dh8!D9Cy_7eIn*C^&w%&lm|3I zNfdlvf?dhZ2q<_G?Wv%RPlLGl9tOMAP#G^nLgDM&?vcqog=&=BCPs`h2C|CMNrjSu z6#_IK*9fY9&%UZSyomyekyBV$-7=mKIps$7GA5rSa>}KW1n&a#e2{{Kp`rAHWRMyp zs8y3zxdX6?WY~@e07W=rA!vvgb`oTyC_+dOE7fVLrWyEgC?e1~Mf^O8BA$=HH0{Vh zHP$kC!j2C)$Q&4cJ(UOhDNJI+T6Dt|lyCr5DJ(Z&L9rYniTB~jf`U_YOvIISrl?>S zWR2grp*}%Tanu5s|Ls3}RLqe>Fz_(qWnV1n@!6xH9z(xNv$xI@^|)eFHBb{b>TZmO zsUg~6bippNSQY%n3$}*1&1%w3iBYqP=eVf$4Fvs4jGA`z)|u8MOwDnSe35?C4wV<5 z)Sg7fl^=Ib#)A{cIE-3AdL#jWmCv6-ILuV`21=gP<%z=Y##s#sw&_r5qCEWI-LQPy%z-$&veBgdPE>{0!p#xC<&`vopYY~LX9O!gOc=pO;v+blRXg+MnegFA|#~?O~dW*&e!a7e{nD zb~4Ky&u#i1z^`(L zhVD0VRpcpnAiq(1CqiEaRs{5*pj6=;x{`=jWKZc68H0|ZgO0~@a?copWs@3+4jua@ z)-lE4jvlR5^?@H$q!ok>`jd)f<14vhNP%VcbzRha6W5AB87Z%dm(N9hi`u$^QK}l) zMO6nuG6?pK9Uy4DM9=N29`46&|Df|hoaa>IqFSrEgDKX?`^L*`q!(Z|8VVro(Q{;X z66i#5tr?(oK~T)B9gOsvs@<-<8UQB^%ZJMg}3M8uyuUeIU zluG|4(@!9D)l7Fpo^(KMCpu?(t*m*|Wb-JWO(M7j@pZD3f0@d!)K}T0)U7N%DZgZi zdEva&ayX_)#|tOxfG6HTa9!eNlTaa-YQX0`3ZFyIc6+jIw%~1oN^g$!oY2vNyNA^!VsB=5S_NfFj)ztKl1jK>WG2%FTSXMjokJxcnTq<;%KmK?R%H zUOK_SjUdHRNKwHRftwSj3NA(ZS#q*4avPiK6eQUdbluAzNAKNjPM{?fS1H7>iMdG( zC(Mcst}|GQbkr7vm32SjtO5%TK+a%ImZ8oX_^J%nH1&2q>C5nTw$I8*%LPEj(HdUN z+yvlnH*u`8#wL_b20v@OA8e7l19*~K`g)XxpW1fN8LVH@j+Heg5s6ukB{&!**X+1H zz~~hZ(s!5ZV00*Ij$YEC?r0)DvL^ndy3cUyUVWo%p{pxZ^_cIu1AhLLM3f7mSCfwn zaVJ4`XN1^kU~b=KlAVe)zLBb;qd+g*i%J;L=%LAJ4of<9tV*gwia9%3*#CW5MtQet zZDsNMg20c8!K|4L=d~xX0d2oeqDc`_7LRb(H zX%&?4qK}7UFB(c0Au67jG5wnN6PY*}9Tf|`(AgQf=4}MkKqVQ;QcYqBK`mTX@CRdF z=ls_2w-NVI190~)oTF7u z0TggZb_)iNa0_X7Z;T!iFEG94iF7QRF+tSBdeDMNeIC$d|Kbfy=TN5p+wo@3*@lS= ztKMs%r?6qpdBH~_a`iF2X9OC#JqWj;Pi(R8*eY=SH{#7yZKYxIN5z{Ng4nD-9B<~z zH&oxch&OZPxiZyyIR)oq5bXzN%9N3((*ITHPJX6J&sORGKGRJvmGs1TGq1tf89XSpx}Km?0I9%2LZ@E3kLccLCz z!}TKQ(YsO$-vv0ei|Vx@44u4SjoTzy@y(FYbnOq6i~n zWP<4Q1XF>ESYyp@(~TwwnmYS8(AMNs0HlYnsU)q9-4N`>G4MPT&szKRC*!Dt627u5 z$3>mf(R{cl2v~B==S%xx40sAe3QH3FLy3@XGg8P429UWIy5v>1 zP?6P2Af_5*wbCW4&m1?sgLy%A=vxfWAspj|4>&X!7Etp)?FXq4<2v;cIL}2vy9@Ba zDTwftRK{PFgZNWcB1gTky#&{jhc?Yf7_}G$Z4x3$prDgLK?~ncrl5CUjZ@H}F$&sy z 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

(rkgiZ!`)Muo>Z6@#2mWqLH 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 z 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�{X?!(UiuOkVe=n|bI|1x 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%0DJA{pR(Odhi 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�R*>5^<3*j=~SznMn9;rlRLbvq4x&vRql z_-K8dFZ$k6XHm4Kt|(f&v}VS}CQM+Ja~J@dieI&fM<<DSav-Svsr3DRw65+5fSOa`r_lLl(WP}q?r0J=E3@ZE2)>-Yn*JEU zosDd{$nUyC6YH0LGULwbxe&3ocdU(bqFs>bwG~!d+sa2RX~yb1b+4^ zVP%n^JUG>awqFN0(#YZNFW}4dS!gfCQ~anA@U#Qdeizyp{6cf*a?Rh8Yl%We=# zZ{*=rzBloGc@__Aco>z<1AKXsH3=u}We)7&|63;FQKrqcZvAdiRf=g1&UawyLVh#} z1o~x2gpJcqp+lNkiD(is&j71%qv$KEkD;&R!l(8``wF|D8IjEWNKw)fdBEc;cj{_) z=y0hmlPxVq31ulFlc<9#B4{E(L_kNo4tC~k#Z0uLPLghl-t5xa1VPL%YkXzD#4~bT z6lm+)QhR|Xd&<>NEh2R9w6XEYBldnOhD;TSPJ(7*VqzE1A|gKGTQrvs$OO}me#-EF z52a2q8PndW@7P-PIST*B09N#su@r$;_lmx(3iQg=0D{)o2qf&6;Xfn6Pd{{W zxJw0#Nc$v4gZU;6X0sr~dq9r8cr{P8H{^J7qoTp@p+k0D;7ptCy+LPlqmjjWD7rM> zn!TT5(PJZECGf)-Jx*LFgt-oqtjH->d1n1SM} zO_)dJz4^ZymaEhqRGmpeW&8L(#P|2Ka)f8Q<*!H+y8eQ13j&)v%SuVBtOU`tnN3Sm zpP@@lIHwxHN#cGgUHbCyixJtkRN46p)%25<7ZCsI{w0rb%8J5z{ zn+;5kN-h}}f?rRZaiqc9>q5+wab4iT{P@sDms*d;-oz24>)BFu;793#~e8c}nti2v~8+I{O~Si)+pM!GiV z#0*>tBsSdmHSSytRS|FDE-g3@qLw&9-ois#@b9=Gh@CsP!CP3Z&3=@hVp&E5mrWvV z(d!Z+tnTon^fW#)FQ_}@A9-Ef9{-rhxohk8Y(<0FcyRsK>%ZXE&5Elj>&vb8qB#U3 z>00m_2NeVdN{zb11t_C#%q(Y}(abH0qHSzP8k{QEUe4}K9&mO+@!&kIqASJpG0nXX zg;obPMcVU3F618j=V>z*^!ZMZP7FjN+Ml2 zDqT3@KMrkiOg26EmL435_ux-bRYDI==C?O|`x-5HyHrQ0Gb}@~URZrdrw{d7ur!_9 z8h)W#b%DM+Y1QqKsC+2PFr`WEY#-hpfal3w=GE`~-lyM`_B{?iYa-Lr1XL+hW#W9U z;9M0wG^rS=Jjp#-w)B0u%jl;k_;q@jCU?~cW$dwvuP{iTs1o$@FE- zGhe7q@T1K+3fcNX27}qPP@D=F&>pFEJGR1Z)go>+u^NnMx7d7kavxJkZ^Id?^S>&$ z?tDzZy;InIp7KwOpYG7I5(0}1=^TLCYtvcdqZ+ZE2t88IZYK&v>3u5&A4@21eQz}D#BU?6WV zb*DA}nHHSOP}urstW`(bt=_fq6FHv038kRjv^PfIn2v|y!RAKk>PL37Z<%3>OnIL8 z;u({22bjlwoWvgkSB=CI;r^lfKq2xZu_A5uM1(U3{V$j>WPtz5r2LU9cqQw}g!;AF z7hCyh=a*?UpJt(TzCJ)(RGe1RnAM@Fu-1Pk(FRaP*P{3Bmjvjc)*9S zZf(w6?CmojEGqa`sNgfGV8+H>E+U^Xo-?Z2X>%k3$F$dkcG)fPQi=P<^!wbYO(uq7 z#PD3?a#|FAmP8{DyU^}R24`p$19=@MrNHKhUv)P*zc%~Vq`I`%kDpL7ghCuhNG!A= zGK|-8;)vnb21A?O(<*P{tE9t9=sCl}SV@P5!dk83+2m>$M+_v0O)oN!M#tNjm)IX| z_B-UXiQ9ieLWed*{-!EPfS2oYNJ=h0lN6t*rLlM`&T!t4fq~_mC}H~4ruzzaOxbO> z5O{^L6edIfPjBiLr3XZsfZnI4ACD4PxqQ}z7AG16Cpw_b7AfEgXOs-d?Cf8mPiyXd zG;|>FQRHostzTM&#HUIw^@LO@Q0<#A&lS!q0id;UfNG{httta=MW%pYX`QwOu$j~F z!|z~K?Y}Cq+9{)~Dr3r~8ZWE<_u8y~QRD>bM{d_+U-A@ghMp!xrbT^21x{*f zn+2g(u@(%+Iv!mX%csQ6ltt#`L)1Jc`7BZMQS`|c`5usb5bq^vPG*|3LzDJ;p0>!7 zR__<3 zvi1mRKMLehc%EHNbz~7mMA*24Mmc)HLN;RNA=qwx(}Bd15YTe%iUb5EOt0=}_iYKu zt)e~K&M!J;Etg*Nx=th+VlsdCHx$zsi{p#Y_)BpGEozvl_H+Ksn|Jz>OVn@IHSCQn zCa&cM{?lPaCHy~s5MK&_{F473R4|>}JRaeHDgWQ_e?RY+qPGv^y&Utf^(WM#>%Pf@g{MdoHWOJ*>H=_)y%Hp2PQpO3^tq3H9a>c4~6O z8Nkw~@A7v|UHbGL{vI8an7nJ_I+v)O?@R5L61zp33CfBjraYN-+RD@Mapg&=PIqlw zqbd=Pu;}!buoVH*NH-s2JZKMCn=m{Bl$t+FpPr%M2?#tU!xnhN@KGa-ed;z~DeEg0 zsPeY%b9_wqQJT*T1wf#)np@W?3oX1xL1jchw!(`2!ptqJ%95Ip{q{MQx!VVfA~^fw&d`I4jLz(t1|7r_GHQQn*Ej?LwWmc zf8O3(+bDym=TD<17Pj*x6M?$u1fHLpjWv=9|6BL@d@FY#6&Q!_~}TLi^*e!Gj(6rA(9kiC8h3W1BYx@?>g=l4Vz zAR?t^N%DM8s#-$OlsXC#ScuAVCP9$3;Iq^M_eyW)(f)?d3Mqd9F}~0yo;?@}ptJ&* z$%0XOk8BE^fw!lk&r9|G1AK)aYe76|nS{Qo5!#~uc_Rk*9~hY8X`IW>6J#t zk%zF%oEDpp<-r@;EdGmMrE0S$i(V`_mhiwt=;v-;>D9+Jy9W11@!iZ`wf{qEAs#C3 z7p18FT-2Ppl<57LQtG}7VIGkSC^|;JX%NSjHYenZW$GfCI+4knx_OK~sG~S5W`hZD zXj6QIx$`$`gg*3coJI(%K4nk%PeL-`*LU*i&E*2el?rjbd9o7ohDskJU@X43WAy%K zItw=ju8*D{uS?+voU*6<(lX*?W}fZLt*7$4Jk3k(0t3{wX&`(B@sc{Ep!&;Y2jSAk z)ar&?o+J{dscTgLf{gUXQ(ge-$Z$s69Dg1d|7p8?C=dO{uTg4)#I}YE)Ifik*BtF( z>pL`@nb$m8FX^NZK1WWGx(jivI*1?B63*WAW7k3p-Ym6;b_4yOfl$Q$G8SF?8N;&k zN9#S#JVo}z;)>4-jv zKHA57gF2(Z*ggV~+waw~wHVI0yG=7w8qe zi17N=%pLrEPq5y^$6%f>mE)164Y3a2r$GkM4veCC;GG3Ap}U!@?gZyQq0zz`5Q581 zw@-Epmy?)-#%e-%lVX@DUQ!mDDPO4+PRp$_UNBQCzKoT6oD?sPMYzIxGLJmm##meTCz9 zoFEha$3Y;)N~?%!1uIq8EHF<3kNHofbF5n64$|}c3V4u7b|a2hyqva+)wjE! zTx#ZP2=^=rPfbVnsHWE>EHsZ7=dup=mD6?MF1G`C90A_YKkgI?JjL?w@})*)I;QuN zi7_XG_Jq$d1KhYp5V0Q5l+%LW4V=M^SgZBE~G)xWuTM=3_|IKPDg(%>;mwcyuMZ(*eD91y~NNh^@I zu!$4B!Y0zptb?*(6Ip?YvU5=Q0sLjij5TE!jMlr-P1l+U@E1c1?nTaUQA0Z~VljAt zAGDE~GB`6WP-3wcn*Ul0_NPu{h z5}Qb}JgF;3>zU97;(a$HDEsrlg9E4J=;?JfHE=TCrUuKUoU?k5(3VXKTxXur1|5`J zbP%4gu({q@C8XfgO5lbGq~O#pX=;NOLWMC>*o+9_%JX$xq53DuEHITq>C_GRVc7hHH z4;@fEc<2Q<^e9ghPvN(Lk7)x7C$&u^%P4&)F1NZMn=xH852qjW4LQoFYT3<$wkQuL z7UqUmzqZ*qco62b?a-}X!edrN?vepNuo)f59*O&=k`xg&O%dBhP%T5sSTc;!q%kWX zQ&N}vm{7;MT(&m3qw`|@yPl#y(!U4DqWXs!mcA){!|dOiz@++@NtPe(pF|93(Z5k7 zMP{ffz@j?Ao63dVs(YE9)LM&OP2)7WOGcAV@D*r18_+u9TY;?E2=%>-)^7>RYwb zs&AFC-c0GC@_c11HGiI^s;9wK#w(;)f>`3MY868SvwF81BnvD>fO>#DAQJ4jxv5gH za0)2%rZvk9n6i$*39zE6pGH#5q6cVRs=m@}tgrgH9sllXNW~P=455Vu(F5w!y;}K8`MIG+VJCwAzG?{=tJYa<0A9f2@Z=ABH zB>Zk8b(EMIF=B8bG>>tC4Qd}3Wc4`JRd^(DO|)-J-_RDdL%NIlJE(^zH-xV;12V%j0%p_%awBHCBLCSvuu3s+8gA+nkzwbkRRlEq0bPLr6k zxZ0s`y%rQ7adf^acj0D^T}e(k3Ia=L&}RRUpRAQxFJGA}n^5WP^pD9Z z$z|7ftN4!9tT)y-inP0dGTz*kUba-#W{0d%wBS&wSnre#7DwIKHNO*jS2rct_g(t% zW>@b`u28LM-Oe70*ypFjiWsM0y7hQabfu@7D_VhCFP zD!(d{4x!L#$%WQNhWR3&${HxG;tJK4 zJ@kRi(I-S=K(sRBu`8czk?tT!ci)t$;lV?OcGfDy0f0NddM^t#1-3=6vmX6dCS~@( z+#sAiOwkhI3@5vWbO~(0F9&+T$X&Q`N>o)BsE(|mCnljp#fi8YS>i3+ss&{;A3)?L zoRDz*#25~wTg_zx+sY|hl&D*D!r(4iMY-5J-OatZkRY%nTHP}1ODgN@CrlVZ-f;Q|HIORi@6Dwp*r7qjUs3 zxRk8-@c$zJyZMh`^DLr(C?SuupdWFqDO9G*sXbe+&H7?wfmKgEQ3aKgy@61TFVqm( zw1dV|_h5SIEL{6EIe8mmH(l_r>=%QkD1L1Szkaq6bTRkQYK z2+i0454hM>___aV=4au`GA~S9d#N6tJ+3IlnY(O+J_uV*y_E}lj>uePvv{W+Hj5c3 zN}R1#S7Tum;WlpqtG#Z9J&v{mI70o%*{$SpO*r48{P9IXt(jUPi`WOUVH#M0RInO6 zLZ1V60+3{A!B=^L)Jh84Yn9pP8=l-f%G{B++>?8VOYoLQz95x=Cd$*4RT$n1d!~#M z`)XgYuja;CaHz?gFPFeS5ikBV`*`Y+k;p)W0cn-JOts&T*3eAN8&yjgDjdBdGOc?|GM&w=%x z)aAb3oNrz0zgljQkjYg6988k}Zm@JfL>{7X;&t+ML;|RAILNZ);~lD|vY`EHS-e)7U=B>U!BoLdIvZ} z7UiZQxYw4Q>&?aWBi@)AAJtyB#P&Gob~r5{`(dFK>Kq1LBa|}TN{h&B<8?d#4iej` z#CDO5W@5VkJrdJZVtQnWndtDpPNG94IwH#3E_k@T{}~e72mVT(?IVwoGY*uRqgbm8 zm9Ozs4z)wClNsVR=(VhmNvnZ-TGOe7z7Xgm{k{O?|2cVFY?4Q8gus{oA!}^*MK&{t zCJo5;1)YKh#NMW8;5Sgwv1kA*AT;n;oCcEU@7x6X`@b0f#XoiYA0cC_@mII{1`j8X z|E*@us0#=#fqvE_#;(k2`dXpu5wGgY;Oi%ORc>J%H@rS$r)j=eYve5E8_3B+aC{FFe^>L=GKW0BAbcl*LTY}Ny-ZSktSf7u>3YlKk zOH+{}@w$>@eq1UQ@}@3t-oeq6!J2g4%rp_L^Kt(F z#=pIP$^KFBXc`_^WURnuD?2St6_mu4SDja_BHB3BC!x$)OT{L)vWJaIwO_F%6Opjj9f|b)&z!3N@!#=*;s~igPu#&o~=fQY=+!!Nx z=0tkQ3SLK_R}HAGLOGUcL&i$41!&pq-{^68P!Ku*lTQwEuRxD1dk2%rDS%Wab^(x^ z*{h&t%KHFQP&4(U7%bl0Edon-#qZmI#~0cX{X1iD??zdSuQoiOHYN|{Id(Unl)(?reg0q~DB^NsM4~h; z(@af&dTI0ZN$jCb{^Egg#l}`PaojqvuzBARM+^jeK#s zJko_!V9h&G!K&^licKM@&-A}nrh0;|xV4vAkrNh(3l>=JSN>jRf`lW|qzh+Bz$UpX zgzKeQ%lLb87=b`Sj zc)GiXxV!s%HfKpF1vGzRkg`VSXzTQh=CRnx)It8d<%&}ZU|cre5xv=tQXu&SoO%oe z07=o4ID0;a3wtC0SS(+2HXLct^@?%5w*ijSkKD!*BFb1T2zK6raasG>n1`}#`7X!I zxk$>yN??z)q0YQBv}~Q2$7P$`!QW&Z5$t?MO)|!Dl2rKp1rZ#MvO9k5e_T+70<=3I zWxS{kugm%ITO}q(ur?z)k!%C3YXqUfPVjP=upWswN`heuopz}~#;3A-V_!YAg5|Q&;GXccS@b}HD={|1TXmrM4+-Gc zQ9N(m8v=RcA3Xc?i5U@foL1Z>Sq8Jo!zLSMQQw+mgj^~J$=fPe)E;3cIKV=jt98cZ zO!fq^x5Jws{ih3Fm<99DJDmc2JbPG^PQ*`sa&^fBt*mJnqNm#mtwQb}7qPIs$!$e7 z7L;laR+1h$8{i};re3rGrsxZwpVY}Oe?lj3la7Txle>7$Au7o+$7nDwK;%8tD^%bM z&&cqFZw7mWZfQOK1+B;5-^oIrz#F|*O#UX)5JV>8S|aTpsYP(rtZ*e(9fdD3-MTWg z3Q=AJ6*bAIctBYQnmY^aq>^`*E5j3Vb@zmP(AW6vXj#jqTMoY(E^CyUuV9RZiIeT5 zku>>4t0o1iS&ysT*gWx-#B0XKen=OeYLuqXiCx)Z`A@ckG{|OqA}Jmd z76!?GdUEe)X`FUjE&xTuQh;#;P)r0wCXvA8et#A0W%31zy%3^YFl0POcrX}?$HJKL zIKSKCFF163qdc`7v;LLDW%@$A1Sf$XLY^SV<}zYRU_N@R+%{wA!YTLCIw|;w6pKKsFx{#W<3WL()eXwq6ep~pBFGreVGBxC*yoSK-9+0K_ZNE>XzXx zFoXMKsQ03Z>G^+`NyE5(g!|&M;R8}B9(h`^kFdKhwAX|}m(91qHy)3yL`1=ppjlxw zt+6;zuzi7tg&hj1zF5qd1hXp65_z?(xNoXxS_BZo7gdyd2%*|97mhX}B{Bjmgl04v z?}+xG7fmu-HkD`rHd&v={xTW$7qD=9m95keL2pd&A;5z1glNN#x1^*PV4=kT#>fE# z)U`oChIq`R z8kY@fCt-B%XW|%@GJ9lyz+V4w`t4_k7q{xsW5tVml{an2i~DoSGR9m|Bwk$Ki;fX5 zF2SH>tuIWI7*{#%76kl%7Y}&CqAXOmsAHn~ZW#~wD)xg+`D4Wco<<+yQEs7wzG6FL& z6J5WjdzMpFlJA=RgF(XRjKDxt1up$P+QAG{uMNk_SCYmBhab8RY;*TsMu1p+5@KuV zNc3SMK*fHlKrgaiB?f|F#sge_kTjD2LfXbhQZ43GY(D1XD7d$|UW@s<%axv?@doo3 zP{$j_gZr7oN+1dgj?Gu`H~-E!VXysCjB;&^pLt=NJ6MRUX6+olKFfc0@^VZRX-<5z z;84oN%z>7$2G4f7r5}i#zLCtLAC$rHxX|0W7*y*RXO5Qr0DJ_8r3KRQei|qX|M0bN z>}|%qXNg`Wu~yUkrwJ*Z3NikDapW@nIB-)8}T{wb4k_HPSL)e^36fonHeU5rPm7MaSAl~f#QdUmk2-nzI$tasOC>`#s0tv2-Opj^`g43ZGSVVkC&QW@87z?c1aC>%2Lgke{y1j=6?UrE6T0IJHqZ&S4?yXnr(@iW*L;0JJSvO&l5c|*NoII=c>N7UtASCNaPdGgX9lUy(Yhyd+ zznp>z9X9q4k{veJ#-TVjmedWUcQr?A@Ksz?Bfp*ZVFUGrZ_1Hq?SaMGB1dOx=XFJI zSxAK)PdyCbidfWGeB2;ELPw3XPcwK|bdCIkjI)iW`zB0{qT!_bJECkD5gZFeP}ZKO zRtcB#G>3M~KE2;3u}_moH~ZAh>eF{nlQM_BTEV3neRC9FNx?<9x)!Sf>n&;-CVmikM{D#2nCqYU(DJp z#$n790FwFQYqSbE%xgTw;TIW7In2DwQ9$*n5#dnAeb$Q$uZ2#}!3eGaq}>k^4SpkM2}GY5!=YPY+)trW z7*oh@+|EZ_+FJ89roZa>Pf%P|(nO>(u0I#z4h{ii*)bcQ)q0yl4oPyggRH!7lEVOI z2xzdZlGXyIK+#)T|0WybBY!dZX3gIM1d6EnVg|4_8pF;4cfGSfC{a<$A$ibeENF(S z^%8)zihoLyfTdX6olGofqOVMY+qu39s$H7pTr38JX!pe4vR>v@cTe*wZU+h8lhc&q zXY1phoP*pX*zDg4g^kGwe5_bR*ezxW%$J8dc(hACU`^2_VNLOd@%Q_)%jVQ>d}9w#mX;)kuXkj5;n;d(iV=lia{+ z>^=>CpsrD93$%Y%$e^~5Be4o33c_q83ep6LYxoun3 z_9kz5h_G7oMzQFLaiS$v(d#9i;4H|s2~?TX`ngH1+ht6XiFHE@Vtv~<5QJEX0s`$p ztfz}&l}M}hS}?MjeD)6!xt4t?QDL&jKXyNlX)u!up>P@C4{~f!)Akd7AbhJhnu+YC zPpUr7k$Q))uT`;H@-l{qy3xA#b~w#YEV7L_cQmNY_TXVI?{7dLCi0465yax?he(f5Z29P zu_DRd@PKG>VviIGNEKJ>;wdC*)n0^}=c>JLeXPPym%uKyhK}J!rn(HQaNel}Vk2Vv+#iEO?D*4ou$+=Wza zfo2)ucg|2O%A!{}{9HdW8}Q(jBfFd5mi-o;3_=yqMO{spj|uX~eJp;aRUDBz(KwYj z@*;s^BI$4PCMJ?TL-)5u(yc8-Qnxq($a(pnM;>)8{}Fk#Z`RKxkM4T)nDXe?m$Z^c z*GO)WM-Q_u6Wf|4kM^OP2=B5kQ2j6D(OOiAW6Gmrj-7v|Ic|s}(I49oNnLs!QzR{# z`E!V*;{O~|B%S4KC6dmN+#-^$?)F0>=`=w5pNXUpyAr0oCAd4AlLIWl*oR+72I0U%1$f`yPfyq8;F7RLWr<%O6Zc5RfwC?#o;6=^Bs-mOXX6Sp%*fn&w;r#shp0hP@w#L3 zO6SW8q6 zR2Boq?Knf!WdV-3V4#Mt*qts~Yg1q+)KG0izf{d8-fa{|K@0z(v1(T>jH4G)0UxgY z3=5~t?&80XXaHWle=$bhuJH=y$@C;9h3pCs>ftS%nHBgF4Y`NX+CIhl+ylt)CibmC z@sAQ?Kp#LD-}m=4^>lPc;PL062c_qj_f`uan`M2XW#O=ui>r>F|KY{Tr}}&T_HzUp7wOz{$vM`$@GGaW!i@^rA~OK45ouWfruh;_e|FK)YhY2=SR z)D()fXZm|v^Xm=sWd%fT?hm!}A75~rc#bc*RzAJgwYIm4->uA7>%NZPwyZC4yt~H+ z8(M9~FfIek?RK9Du@8GGk=V-x9=Xz24S$T@w=gu!0Gr5rIC&krJI#>vozA{`ozx0#xFVlB*{5m<^MVfIc?{E>$`OF-%QP=k!x@G z@%n$K^5?7k=eM1|rT*RWx8PrF;_H9XeOrg8u>sclzO8X{67So3&CK-k-?#NRV=jVN zn9{NC+j770i}C8uA?M{*6>ASKBOZaAi()o+^{`S@ZnmsrQze&qVCiN6r`(8l#!9~>{sH+z05;j(A1)`f^#;i(8KC&H?!3~%8M0EDm_gqdqx zDo#+2+g>aIXx~9&_$P{vv68|EfBgcf$dF65WC3RCqo(lUsKxjnt^QoQ`kgxxs&9VY ztp4lH$<-&r|5NJ!QUDe3D-!E}%BugtAF5wMi;Zt`hc5*`Bfw9C;HPs-{Jdy3&}5vM z*uceR0}>&pUs4;kzLKRZ%0Hq0+wA&l8xs(;?Ky=YsefgsL>$HHpF18Gz8?lX&#b!H zxFxabV7%(dR4x3+98Yi|R`4IG^n2+!=5XW0#7fVLS9)68@G4yYg!;KR81bnPo z5W~k?nMwHYgc{UYd^SHVV!T@^X5HQ46HLWy5PNRp24_Idk!z__by)9q4>cN-lIn`j z9|iF>_$nKgRPT5}vPwgtq8E8I4FHbkc&t*}9CI9}1KBc1XFgNC;WI@CJk3?{ zrPvLJTRZ3|UR1r^_zP7!%lD_2a6nA#sc{7b|E&gDK-D{j#M>JhZ?BL?Sx|Qs8!7kh zg^yD}I}A5f$}0IWb`gxf^kQBEs#) z)k2vtucyr!E3OT31yT(^sw#%vCPhXW&dyrye+cKNYjW8bkMHvDo+buYc77e|N!n)%uAz-b@INg-)K2!VTubJ*i!7IR^r8z)5Y+XAGkah(1?50DF2SqR z-P)^E{9|pub=Za+HpmC)vjAFws&~5oP6g?SCZshiY@+zqwHw+_dsMcX9<9!9nA*&fRAVxShc?G#0KOZ+ zgYEH{AXZ#Q?Y=(>GD96B511n|pRuHAH6puDjg83l2_rJT^@u1_a7pjmhV2>IaJd$$bx~QI3_f=!7+Ura@xX7)`UrD008xFzom%*;rz|pJxse zhd%OC={_e4cKsctoSAeuU=33v4-8X+-;HusR}18Ac-oAWozIV`mK;}^skYI$xe-#> z!!X;!Rdk9yT!ieUNPNh&3K^i*!={dFS;GdJ8L7be!2i)qd)ORK;A8Yw05?;<0i&nw zA0=w-iP1AW`lYx_nJ!a;nxsQ4is35erkB1)fW$)Bs* z%S)EHmOi+U8%>keyW#edAXO-S-Lky0uZqtSl?cCYxn6FWU*6j;pQe03E#v?ij#u6K z3qgjvt^my*dAxDZgKoLunR_93q&ZCcRML8^pIWANyG+(sPw^QSJ+c0@Z2!l8+w$+X z=K}y|z2E3a*F^q31qAXvauX8I+}t$b|L^R};y-jP9K&*F$?a(GN-K9HwJYt&OxojC zb`>y?r2EGDm+X&p!aYofu?)jag(iMKJQrLu;P@ zri`4iX@e9ReH~`r@bF9|s8%6rpgVlUE!==oF<(_LTXW+ZLoRm9Ts&4zX0HN8;ze-- z45^#pd9i`!%1K@HDrDX@Y7z77k#*#N-3Ej%R4BO?A)Re{ z#UI|fvJJDR=$U%{D>STVOLXCiqv|0ymM~fw59Jm8$PC)4h~RSEc@xSnAj2+w&;3QLranl2Rkgbo_7fCrEyw0!crQ z^iVAx&-X4ZCn+XGllh7GhQa^!Ze`?g-?-r>loQ6I=`$%V=fP2mDY^Ho|KujGiQ zwrF^ZrpgaZ(kd@AU!^CPs*>SUwdV0YA|EV{bmzN60kpch(UH+G^tb-sus{kPoTgP~ znw7MI>Uynm4;9gLTTp#yzG?wgmC$ARp@~}MA|4|0LHSly^Ip~hZB;!XFspTE72Bo9 z{#&Bgw^iTGfl+PMbwgla>$=Jh1p+-tZizIo0OY^%JIrCXcYw4-qf_cK0et1ftk>s?N$=3&#liaRl@{NI4S~r(hT@FP&T8)vjJo<2aeTE6L6@6Ye+@eqR z3M7Edq4o*1xe5lQ6h8>mq0M=hpD58ad=c*OWfksF(L>}PBncU`=nGU7R&QE&bAnbW z0pD9=R)C)%zz3@x5ua6WGI?ng$1AcjNi4^#rWGAPVjbFSK~e8lCSe|v#8&Y>A|I`& zn+f>2qA!|f0=mc(Jjew6t65_!IGBKDu&_2seS%r41srMujy7Mlq@~yd?8p0ve1ODO ztuhNbny*?-Fi_uQPLLL@+A~3`6c?w6e6&?HeO+k2YE|_OTBQWEp;U{iWn#=Exn*Yn zQ6@&_E)X;SxTAB zk3DAdU2OUGbF^>Tvzx5=RpY=bnp(R*q291lV9Q!#3L9H8MDews?f;p)o*OGGITx&} zG_sn{xT=t}-bq+LMUJG24rm|eQ0u3^7SD zwb@Mase>W3Vr=;A$JbA8)=%1^_E;Q_Bc%6(LJeU@?M*a~l|!qP1RT2WCjp;X0qe{tDOCaF~XtoL>Ufpm8Gs{wT1xTjk7|BgM5o79J z{IYaB972KlWK|LV#N$RamYgnysYAlTjR_@lZ+;A9y~|JIO;m0lp&oF1EfLqnXy^Ep=f1#s!p!0+^uF1@i{-yI zw-0r?EuY5AG6J6|l8q84W=sY_6T??#F(eCEI4^`NSGmLa*VCGNNdDz~1y07Vgpn&M z5(sXQc&p)jr@Rk4&XF%Yb1I&^RqoKZhAbWy5CN5H{0(f$bj8Bx=q8yYmXM>PJjswe zT#c4B|30p#`CUfI+#B&fZHI~iU04$+=2$|r|GthwOrnclmPvHhv;1TfwaTlJQjt9I z_n7ZdCF8LuwwWGv?q?CZ>>qyjtE<(S8+4)n-!uHpwkcdmn#A=}@f< zR<@iZxE;Y8J;@~L1;(T=If&53=q?jPIsMNwenpa)%=#aK%A1=KWoMi8-WOs=gsMYj zr^ zoD}mfRutzA1*)MmoSe7%@kzta*9=oNO1~#BD|$|xbX9%Q0u(LY$?9y4T^hF3Jazzt z)cy^HbJ_Y37udp#sd(Cm832W1t5zZLsbS=uwMsb)!kAPWccC>#a^zPMLTZhag&DAf zdI3z6GAbxSwc#PZjNRi07?Rt*P8^aJ{$lVS#zRz^_;_G^x5uNmaGr}I=g4@l#m6zT zWC$X?cD5W6DWX*zq>J8gUx})Qb%O}P(XO^W!ktpS!q2se57hXiPxa{DI(W~o>flgY z{nv{bpYTe}{*CyGiauwJ&uaoAG5S<3BUu`FO+@~sj{FZ zwBlWvIht!@eAlqO8l;QNLDIBJiKMCqX#>0<(yNU@y5`?9NNg#ZgQQu5^mp=$sQLzV z)2RP4Lmif}&&w!(My1?|0x?pBcL zgniM_=>DPMxwzphNKvsos)UusV|j?vz8TA-+IU#VOl^t_LmjKO%`AVp|NZzKisuCF z_#G#IqPSy)rbng3wgh5?>UzQwD$cx zfBgIy&dlul+H0@9*4k^YB`9;+#85b|4%wd#*x=|^<*{!j!KkVfw2==`Td$7eLUx}u$PuN?3GoIY8JkLuZbn}pk}sRS$x zGRLUBMX0z0Uds}0?Hb!62K zgl;aZN`b5sHPap%bVtAWa4fwNW!|P2N&zvA~-w^9>*8_bIbwiM}n9Jr(xBD&nOL*k7jPf0(A;(HW z>amnHqp|&x{4k0JFu<-riISd){|l>A6Kh}OMW-|Q-#XPZnd^hKH1A|P$?4a zvvwAbK!)(XtreRjC%h~n#3UxKWfS^{3m1>BBv0bIBGU)B*#wW$#??_ugq($SkfM;I zau8a8)Ua~`4l!Yr@uCCc8g_|08vC3$HPO1rxjY>awaT0$8_zy_){GJ^ygz z=MrV2V$;yTfUVJB;uop)r@oafzG&8r*>j_UWHpIzrI*9ZdX=u2qV1^o%c?Ir+o%=S zn$pw1@k?`k=$s5XYS31ni_hkou~Bm;Y5OYbIf1(sE(M_g&S0HDD=QKbhB2u>!y+s{ z9Q-tL;e_C|!*ZgX6P%I5fCv{Q!uE^aM8uUaaq%1lEL0-xlbqSZ^5QXo$Pl0}$U8qB zB=SzJN97#jb@Fop$rKOS%ev&F{h*H5)Ng{$nIiZH6$q(dGDyTmcz2YF}kA=?;ZPJX$9W5H84wajVC_`RHgQbhEc|334mIm@G&x zZpMt7?+G+wEm%ZE8=1HQxiTZ0UKp=9VbMIgelS32Ibl*?l>68^J|LTu%rI3*ZH_+D z7P-YCWSv|xl+d&81+(Zn3n~K|$1_IItp_MBI9F%O0L3w6Gi^6tfMYK!kRSKx<5f0S zZmR>aVt&8^_+7HB8?JKJma3fnK0H>fjX>>htMrwb;<*q_UZv%W@h*BhnY=TUF z1U0;!^4KwqP{bv2TFCtow;{Ko@aflv$Zr%EE7uj`}MdzgsaGoV z|Mk#PX7xGmv2k!EIwM*oD0K9D@fGARc@=_GU0r%)c zOe`&wDyPXeM$Wb>}i6BJ`% zI~6OaV3tgsx|kTQ##Dt-t4_J=)M9Z~EucYqDuka6H)N|G5I1CN%VK_Hk;0PHl5l=d9&Rn^>H+A25MV*bVlbp<4>~P7kIX7+f}0Kk_mEjgv*e8m4eak}{;O+P_he$|wCbYA?zLYxZphoPtey z52<}lpf}>t8>rcceIKBOB}DfJcpB-)@ay?J-oX*_c&EHLNsml-@RDQB$tu|rme>(K zVUlIwC_La&kWm|@rs{<|vgH2Mh-I^+_GQgE&EkqgsY;BBP8_fh%e?f+Xrmq7L=4Kd zaP9VxeZaC`@|USm`(78z?>j9xHeCaH3WdmAtF=>P{a*|BqLE}_gHih{vX!-r%kLAP zDk$sryK0KU{iljaSTCsJtu6=qg}1mD@?}0zaD!}jH=JY2W&S5-+*EMm%*c#+ycL*F z%!w4-ID7V-J9*1DpNLcz+&FJW!R@@|QSQchH%D)qA#XY66I15hc+2ctZoe7Tj)2#) z`&+H!a->my^W-=F6#uXeG=4=P_7#QVO5CXx%(d)sFe4hR9k)|`nFRglFN4X7*Qv7o zW*yyocl$O8hiq+^=xjNHJ$h>sLJb9fI+yb4%}s4~LVghg1-Q#)TdTQ;sgpfU=&+0> zY+o3*=g^ny^Q1Fy=3SV82(OlDzwY)Mcu41D>pi4%FGwHk+KkT0tkAi0zM^wi&^crE zbXmB+q@Z3b6~Eze7hvM+N*;If7%!$KXoXr5Y=o?7jla3)jd!M;2NAlUMm3(fA)Y3U z+pf$3JDn_Uy7Fz6&CTeeY>4ce`I2rwSfI1@)7c6&oQwGpI71GHt8B^L@XezRw;R&T zNJ+?;4%r`NI&R`2W5kMtIBLY2jHnR{89|2{$@BL{;sPJ^-YXNzu1Jgz6y9`sO@eG! z0ZoHZW|wqKo?N<3Sj<5#O3i;Naz?NRUe0j51V;Hc?wG+i5g zqCI{{dENKQ>wcWiHW=S1a)vwjk5#C))h1F$wcZ)8$@a!Er$cGgpR1KZ}ECYeNY-5ptwG5o~L#MyjSH1rHu%vnrBR^()*?(0cQz2;J` z)FXBy5T!`y*}X}qR)#B=umh7Ei0~3#jM5@8o%U9yM4Zx}B<11ZT!Y|#RGzi|vKej>@E7%|#BEym5niT#gg*^Y*D&*XX%bR~juP$klFmOd(C_+v)?%hgW zwHZq~wv)wF*eDzLK*@|XyP!~3JPxJ*s+xs7*HlUd1ji@OBs(A;{a?b*%xD55+ResD z!Q6Rs=HGJD1iO4>f!PR=gY?}#M_%*I#@lb4t!SUT=3xytcTVLkky})1&Ln%-$T6+u zBhR>L#!VOD-sDU%t>a35zFZOw2R`Mzs4-ET^D>IrTT)D$K= zofs;)GUh;g?TUXF8j#LCriFe;x1@{2MY<^Fj%@JXUL&1@?DI*N`^ z0L)dO&gN7q1Jr2hBR8v_s_tdqIk*Ry3o^Plx}|)0cERY@?BRz2v0sIN`MwM=cl<&R zFD~(NdPA<}Bk(!{{?WW7>@5T-g_J;LbPEk;z)@OCp+)hXqK#;J5_d3AmxJD1+EZN- zj26d7PXfOgm7wx?drGj7*W03%k%Ax0kkm}*A&GtJZwu91{fBalJL$Gx^ zBl#8Zf|&~ow?b?1&4Tl{ma6sqH!`!tB!FY$%#=JYdZpxi zzvT_uE%W`Zl#{DhB4{s6H`{x@i!+-&?0i$UalDgVthA9g6euzZr=1dz8=y=hgZm06I`=}LMG>&hjw*9D@SL-C$U154=WA` z?f&XU25!sKm+2DOxT28_LWs5KZn-Z9Y6zY6+Ah+hdlqW{lz!g#4>L^^iO}UHiOV9w zptAHNS}}oN2?DAAGt5()3CY14B%W*Og zQQyBG6qP@xolVj6)n+NU)_)s1+*a-)3QDwA$d)O;dGd=VqWF8TciLAH*YlTy4J+6w zR!XXdDpKm!IZ?ufG8wB z9C#n&m2lAqOi_c-Yh&qWvbx=VVvmSLa2-)Eu?Utq<(P}m+wxg%Rs#^Wv-Xl#slG|* z6(<-c=UYWPj3wpd;bh}vyhUdZ5Fv?yl#wnN)=sr=(`Y96 z%c()kcb9ZYZ=Cbxbc=QH1s!Q~IG)cQs#7qypW@q8^PtRx*jR3x-q=~=6&1FJsEkR?X{>U`W3#_7T^B_5}UE(e4 zR>b~y)e42B^yW)JwA&!gysNChCL(j6MZPATr(JgH%T*RZDmCW_mQ2UP;Uds<;Y!NZ zhiuX4PDN4(!(Jhl*{rfn(=sRnYwh7Iwbo|MW337E?_I%y;rwpW@!3AfSdkH(cCR;#F@7Jl4bA5;b3;9XgskH`@Mh_ z=1;M-y_i4x&z=QiCxWK|Si1X&Lvlu!TnoLw4LOYL@jm z-Yp-VVZ6h9hWZw>X!EdVoSZvIDhq=5Cmtvpi=wc9)U z0^llwxLga=4C0qU&eW_!xP4X_dSKtykOrq1X#af*@c{Dl_QVR$9F&qX-tgA6 zk(S;@j+JdBrH}Cz4%2vX@{V5iUUG)`&HQzYmntCNr-$u(auVl?;XoOX`u!LMDMSpR z=>2r2|7(98xHPso=@bKy+$@RyX^i`bz>EXRl%6nTjDh6uGYJjc{J|*t7#S=k0lq5^ zC<}l&oGT952|fYntokMv^ujhyi5ew4|5cm8*2q9~*U`aV$FZ{94&#kuT&qB{TJo#) zq|Qr=&F&VXMqPJ3T%Y@utyk<4eU^<%;a{mZ3b6MoZ1J6noT#0OaBPGH1HQ1-+B@th zJh9vQS3@}YtALQQS)48PmOB+im6Sq6<4qwwEb@5{J`!sJc%E(bnhbJ^cCn^2O}*`D$kR zaP6P#<(*%V?)w9JqIY`cdATWmKaYZOxkkF?+gW@2{*F+b8lRjWO0Wm&)559XcnLV( zRH_wo!k8$G^G+^Nivf!fJ3nM|6ygrGU6bPCB9lMgTV-E`5TeAEnaA9WMPLsbA0qe+P$4KVHfYRO$VDrN`cf z8ldcyJ5d{D>rUQ@BE)&1j@=A%R%W>geb6K70vs%;dvww4@+@_-r4gY=wyEFkmzCfe zh+s&Mgxu5nF%7Ex0LmxE?ltnp<%lbr%vOGWY${h@$yMM?%I;ZDHk0nx6CekV?JSpF z@L;lKb@Bru(qlj7sI2aIlYEpeDO*h$(o~q>)X;7e-H-0twp-IxO3}o_jCTtk6VrHT zmxoC_?39PGJiH+f7xVCrJPhOEeR(*OhmYmqJ3M?Q4+wxqOMerrmZNjzp+65s#t5Xj z^azeFKXA4Tu7gh=DGUm$H_Uo&YGM4CCE?CTxvLZF(^mB%UPMy;Sct=H{v@=zxOaYz zKhX?M=I<*0e!$Mdp#-> zt{q(WKGdEMc?CBc2gOncJ34q?F*j5J3u`{$2?4^W$rbL}?Y9^JK~GjPRP9LBXE{Rd z>6dh!jbJb%!$dT?Qj}ZQ(G|P7AyBi$sQpB$bIxHSUSVn@?P@B0M0tN#H)o&!QM!H~ zPueI$)97J+C&mi;uC6>l3JQ!UU17d1gx&`&whm~sZe^0@icukYHtMH z;^**>*SfUF{wl_v?gdr*pG5&YkhveJ^dCyP01f(gxb(5<^8F8&es;S2yBiKu z|KN0b>*3P7_odqZQ_pmQms>>#=H;2eZFe4L20k-wWQDEMiB7Y@8=}~^{g|xC+yB5= zWKNjgpW)SyA2gXsTj!$F%$0e8TrgT^V*H_;EMi1JXLeR&Ux>TB^FU^ zPk*Ck6;qA!KHb91degBB0IJp9MC^3p^J3glgpbtEa^{WE_6j=P&-QQp#9F$rCrX7; zqhEr~{S~s=VliK`&v^VlzeU?-u)T6P2epZ*DmslAqNzchPhN-{;~1Bp&N}ahMpEOxhkJ3? zrz&Og%w)>(q==BkG`dZfc53$iEuKW^>4|ETpJkoCtDv;Hr9JhguHUGHi_0b8m9{tT`V{s#Y8DprJtK*&*su-9)~G1Tr~3 zWM0=Bj>3&*BO`NwuhP&}K$zLZ$j=W! zb_jfW!80dc!Sg8j_YwX*G(X6Ruu=+VS(-0wP%1pUK5tXqC)dO~Cb zv0MEyn+4x*y`3?G$OJlDaKCi4)oXen+0pBI_`^9oz9EZ%Z@DmkNqp=4fq+qkpJ`9( ze-6R71dXKe?P7sZPq%OB!KCEHp6fAq$a<9cU>koTYf#}w4`b&w#|s!=Qpj3lAIxH%RG!rA9g*8qSMhdf^`23s)!V8|>!R-{%9NN*7PQ`# zXEb}cxgBJ&JIOqBRBm-$#XA|<_b5gtadESEto>1QJlEda{N53S?QWWBTvX5;kbgJy zk$+qI&NN=_H?CXbQaHr9Gd62rsDf*G)LoPu}Vt40cMbK<^d*@*O zAhr|ORLCv)l+`=m1OeaO*mHOA;iuto7+|cC-TfN?V~vpMZw`z#!qt6aU|cjt17o!M z1sH3xDNb-_i53`k?#Yvr>fo+<#4@}@PM*}Y&sV%(ZsJTLup1>83~2@^(vGe&EWoU4A*_|Z4ya4aj~&&G=h5Ue*0dAAoCsqp4hL*b3p4Lf-l z+}S(m@VEp2@oS_Dug_}XIq@BSVfht`j+q3_!%w!n+{a2;`NTvVxSEheUrB{7r`c^i{>G5m7GF{g{ z@^In=nhvTnS(cQyfRU-84 zi=3oLuk4`9PsUItmm?SI+3j6@Y*tpe4NoIi4b&YTx$dT&pBBAJ0`s9np7jF${+-rWP$M3xyon~tPQOqgu`VaC8yr#$hI3+V(7_el>qSJkCFnwU~Zyo3nnS+-OEkQbpO4juLaO>r0@U8e&^4Zxb*(|`4YCK z_EqK!XNXVx^L51)YQ98|N|07OR5M@NKw4(VJE^X__YA39qld}6mb|i4T}wDEZ6AVG z5u6!~m?XQ1G9bRBB@jT=^g&kYgG^EZQ)#}EIa^B${C5quQovTKz~+Z^xOju7fc7NX z3@uM}{I8x*umAQyroKV(UsEpEh-%bSNiz~4Y?PFC>) zxTi&2gP{VBJsQ_u`xdzSN)o3BrcQ1I|C&gX+g*~Kn>rHVYfoRriYHmu_=99gzHog@ z%LADNNy#T_Hg6DqA8TvwuA#`2pth|Q%N0oM@Cp{7=-rgvD+{rS_ck5gHoIht+yx2O z^Vh)oY=>m*0wwCbfef4jt6j1=OoNMubC1?1zLQ=oYQD72=bgLLdCxL$4SRFBY5*6~ zVFudJ^0UG0i@c~zCn-^Qty&MJDu>gGNkuqGHaI(W+FD`-xSyAk-SMVtitTYA5 zT+>}6FJ2g}sp;N*gZDOz(u}Q9irt7L%lVM^26sL9x{K#5^|eF3PU94$dQFz}Hrh{3 zzPWg#yaFJ3jrZpmM2Nan>||6N9h|HzdTO$QvlAG}>DK0EwziwEsx@v0BwHhXW~w3Y zx0uw)DtwD$V{a7%Gez%(I)24?rwjJPHr|lz=|6#=^i+THWImCv&tJeXZ3*Loh4A(TP@c6p!3C?5h<}+Ec_|{BtYu;7bt7MKN z$dUNHUc1RS-@VUE^E3?GWpq%GV^fGDU%XBC@!5&(@>5Yyn4OHyBbV8!?yP%WCt??E zXeUep<;5FSezur*j@E!a{c$F*i!1L*`B&kqlIQew!S2+a!^0KyNtU30`8PglFzYMz zx=~$S)|*+bpV=Ei7FokZ7B7eqpmx%iHGOQ+=Z)jmE*k`6`Ug@ck{Nq*ucXGJ^IB#Ka_s~FU) z3h(3ND1_ad_p?<9TKiwO?AO9YUnEY->@M^(*-Jw1JSHAtbSL9NwwiP4Blm?LJ%s-B zf)Bxd*mE~CmlEHM;igIPv)%+wU4#_xN%m9*nzA-~zQ>oK>_b zQK076T|bSP_i9KYhtO9QLhp+}FLB*26xaq?dtSFW6+A(`);E*1M8O zurlXwi2(5(>y~|)^U-s1;}ZrRcD}(_e?P^a%LhHDysJx3Is558+1-0o?|qi%Pxmij zC%xGZWlndm^HQeyW)+}o4xWzbiB8Vmi4n6}6jw_qEZR*^e*8>$=nlR(=_{ahL8-~ZLLZI*0$+R|f7@)y1PEAx5z z;&g&3^m+d$1Cz^`TB0d*aUplt|%^T0iX1PJitf#l7?(r?Y+L z^+UXl4oK~qraKLBaV~#1^ar|S-Ghc6#`DdqNA~i3lPn)^CPe}G5N|nu>RrZL#uwRi zFX+Kd`1H)jXRIh$UQm)`^yO+rD7>pEn^ZF(N-8yj4u!2TFg{!|Xk<+4`%2MY{pV%n z5DkP4j8woRR4o-9{2=cscSOn_OTR~(yx$*mu@3a^%mMNGtVBoV>l+VQubT&C zz+3gdv}Rw_Fr9wCJEezmR&9FBykDsrgLFpK2Y9Q*4azbUoP^uQOYg!ri7U z;O{ev$+8ZJVyE~%pBO)*@>I@}6(k(v4XF-!e-M|d;X`H}x``Q&TF{u1e0PrfTD_MhCVq}NXk18M*F z?C46`-_0eM#L@N1Ucgd5T~_^+?gQRQy1lnx01_SEga&Bmu z-ZD_yh~?{U-7m$b{G@NPo5{nUWM-5$DzkSpSp;AD_hL7E{urrSlwC4S$3RE!YhyJ{ zkH7dQwX1kn|3v+!6V{N>V}1Gitof0l=Wb&2DY4)|zNPpb zRi86T{M+^OVx&-qewnXcuo&2sBOm%BQ2dZj%2k|Cf5FqMG8VOF&_XWezV;_derScB zJ`>58m~!O(&~g@aX=?grfYrPkFCHQb%s+&PZXkK1<_|>Q&&)F)qVQLH+EJ>G>GA(2 zS8smU6r2Ae%~&hJy+ixD51)=_zT#eK$@T2dpT@AGp~t$vB{Y?sGWv11K6CH^I!F?G zPnXYsDS9jC4aoP()}jXGW~RI~T4-NN-cs?V54->THB0S3T6$WfASP(MoX6_3 znl7Y?W(t-4^C93lwjk_I33OY*twu~-EaOLK2A4dq0_OACYQ7!9CM0Y>E7w%RMPFiI zjZ2c-izm4w2k@z(%)j+Iy(wI@n-7iLwrj7bc^jXo_Qsj@qm9+s$6ChkTIN-R15bzS z>k1~igH9UnW}igF+Ierr#S3Y=cQfn98mk8#8#aEoqw?em`&}-4QcL2;=^T6%E%2;~ z?hxd@>k7=)vBiuzOKMdkC=-^UZ$*R8zcH98eY&N>d8g6=)5a@ns>qa_?ognOV)J&z z2T)E|&YjwHdve_@6vP?AZEbSV&luNQQPYhlz19!`ch8^bp7kw@3xDS%(V?E(xW}2n z=Zx48>KkLM9+@}hqN>4J(HT~^vbf#N;X_kKek-`ih%I9PSUppv5o^+eA&3Ffv6&ZQ zC!Liw_M)?njl2-*JAH)=8c#hdL-wu;`wQs|N@wocwM7dO!^qG`LMYHK1J&sf4wQ9{ zkjp((s$DW2MQP$B%z{;leMNB?hd;?gxfX8P6ASPkczQVSa)?J-;qcH0n=W%b(4Um_ zYA<~6@bvP*4tMbHM+l;FFL0Z;h3n^hd5A9|?Y!`DxsV>%Wd@r8XftVl)Vam6;jc)` zfKLivwLPWqw7xxMpa03Gz9=U-7r%Rv7y{0~!~zW5L)d!n)7fHAIW}!hslM*kU(?o< z>gyK$Rj$Nl)bMxxm5XYbUmw(8`}O>~RDYGb6B#w!Azx!H$i~r(uh;OEetLhujo%(t znkjnouj2igjk7<=opJqXLnfI|zPGjN$o|Jo{5yL@s(gwbbK+)lsI;8B^y>B(hURpU z^Hc5x;T=mIc1vt;e6bTbnqzTJ#kj;VvL)TNIR+nQl90sLOU~ehP7}5 zz9j<;-uRv^-z7tDx465`uiutx0L5a)l1LH=!Dl}nA`T6Lokpxv7JqQB5$li#yPeIe zpUFMnjs#Q%iHI(SJ8+ZcSzMWio{RQa(-2=NIGr z&$!U^W6mhb)H$qWH`QAs%nlnGUcx(=d^r&DLIXj?CV#<8cCh(^Ub&?3kA1E zw^(*pyo5qvyu>rchHhV*vPKya#2V!sdhcCUpW4sBTNL0vd^QPK1U`?+gPYAYh4NM} zQKa!*!^Z;Yk$=rn4~+`!oznW6C@JBbIKm2a^*f(N1gofDn%{!BBfldG7ds{t3WoEhH} zWr_u~xG^%q>a2Vy>|WJrIVXjY)5A7iUF{QP`?6mS1-C~z**uV_(`F0q#pkxFX`Fgt za!Ag9WDY4M-(>h>!Wm3*bdzMWmV4U!)C^06G-mi3MK;{>W{;KG0Qqc6oP}#NNC&$o zNBpca%U+0y#|(OhGurNrW~`ziKNS4fP?zpP?ntVrXdmy4?3(D@)Rlw#ye<#_V_lu% z`?%;O$Qh9*A!YaAcu1&7$f)o*-o5KFX&L6^z(jZU0g$Q`FP>q}Wu`)x_^fsRt;^I5VS;K^}D4nQBc^ck>ZwuY<=iU+Nc01u}4f|wj zvD^yJB;J8#(}u&cr#X8nfApZcRbr0>#r9=)^kL`|bS~Ny|EKKLz4zXWf3;c7N%IBC zIobbHk%p?JKZnwvuUKDaSg|HqR{TltCj)A_!pJjL*Agn!t1Hx+C(Em=vSXr~-5Pd4 zvdIw5sVuB8E5+n*GPO_%6**>?qGLT*mcO1ym|c~1-*|mp(}Sk`c9R--+py%o4`Mx& zW+syBOWXb>aWF@aPUuS)qXGMVCiG=j;zGv1i}CXZoy-`&0*R);jG{opqfk+s)fyf@ z8}In=@Os0e19~-&y&(73d15P>BsI%!Z>t2mY`{35c9& z)JuI-tuSmdOA~^&G)d4hcx_EDN0{un;&MFfPV2CoYjBG<4dMM7`ZbN!?$f-v;5z#k zG!JJL+x7l6Ov5QDi(NcygM!r6=OrOkZ)=UZuYXKYIZwbM7`CG~d`_!}n1=0u?7o(5 zF%EX!jBQ=u0)51NN57C8It4IhpJF8j z5_Sm9ZJ!^q5t5xd*y}67s5{vIaU&$KxldhVfYv9@omr2;KbUeC$H$HYrFr9aV<}`>ByP`ODCJq96 zJ(lzt;$&RB*c82P8e?8S((%^INl<$KGHeyB1P3f(cMhchEUY*@Hrr5`qWy6wDJ(a* zJ}yr@8F5>x%~&GZ8q`+BG{Zn&kgd}!+DIGi(#F+(8$P>#*G;Hgijiv$>h(k;)YgUi zMFK_9Kqs#rMxl}6mU}&&(A~G}7o}e8dZb=)IphV>orl!nc4jx4-vxh3^yP)TZI;bR znBuJ~*bEtm?DakDM}?1kZM}l=`{yKKeB`~EF!u3{f&x}$L7?%i(1-~}nl5;d!Z)T+ z;g`ZUa7m#Q=%vt1@Tm-BD6Jd;J{70%N$>}JO5#r^uU-cJz=)2cf}QhTOyUp75~Zay z{;0DX#*(MUQji+UCAFDjITT+OzrPYhvBQth?`noPxbhr@HD5Bhf%zG3N%whuu@S;& ztmMxSOOU1N;e?jA5OL*if$D`T#9J`l1|GmsaGkq=l?|`49ImV0=O1DVAIUOmrsiQ& zDw%73oh=mVWxNgb3Aw|FIG=678|Fa&UdeVVD5Bt2_^Hnc2OA2uh6Zls zU(*=9&2sPQM&Y_T?38~>!;w$(xcOaq0%TS0soS5SQ6wrxk{)qMI&ANiYtyl90bT6c zPxDIlg@YTz#+bcfWAw&S<7dQBYBLA!;NOrjn#=kN7}}s}T6l>Tro2Q88!88LJ=?OM zrv>yLDf@W2gl*GuyExBNWmNyEp8ju;>gm6#eXsm$jBeGP2z|;?-!Py@|E=Ihs{bMT zIm>QKF(02BmkLWIP`e;b_!ODo3BxkV&95oO7 zt6k>vp5=xM=+v()cgjm$n*TEL$~ug^@g2rMi@(u4mv!>q$vc0eLERG5xyWQ|u+QUK zZ6S`UAeL>>R%`zbEAU1`AaP>4d&sY04)Yj1m-xXe`R7RGD1Rh@2qYu{{(Y*!qI-F? zf^QhHTuj&^a$ck$SyVHl`iZQsq zvH%wPsY!0`Mp@t1hyn8q6Lw!<8$1~OkO>aCxvLT3wn{pLg)&C$MW!6$^@18=eubb#xyPZZJltIWd`~HJ63VDVXcuLq;^CsGn?fDb!n`q3LUKeuIoFIzw zs^)}8sHmC~9)Y-WON`TWff{@czz;A^8O)N;`4m4MVgo+&$yugg=d4n&v(XaSQ`rqg zDhfBS(E`88K$y>OSVaeoB}Za73*mVRCwQB)@OB3A8*Icb!w@$93D&CO=$Ko_doh9N z4nGo~s0?J)r(a(tRue|ed`<`ByU9xXkh;u>i71hlE6l7pN@FG>!E(#7z(VaJ+_Ca` z6bSPbEOZ6HmNS6xCut;f1-zE4vWky;R%vqql%tvbG13ffjBJLOG&7>0Nb{C`2NQ59 z_((fRSLBr7Sv6#bxX!G+Xv7!W9hX#nD)9xIu8AMinY)dvfVab zC%CybG_b8~T{XyFvc00@RaDlv?o*b6A-lGTOmWeRq^qYl*-t6;fgNfAUN~an0bt3M zpHPdBL2^ieg448fTev@Bb#KINzU*~K^ee)_9gS2;pFTH@aunEcbN|a$@C9)lp9K%} z9GF%ecC(@8+0s3%@)y<>7UDo`NdvaS_#FrpHJKO77nrZQ%Il2Bn{H`(_L;1#W^XW+ z6QZ8l%J?bE*@87kbwv%^TPqrf1EfN)38}Q3y`h`$(If5F=RY)y*etQi-C@*zKp%S3 z|J^D@=z$y{ewQ#_*&$a2!l^7|YhzY$`D%9&5y_~#{Xa4bXkRJapDG6U2d-ID_ z_B24b$5v5yQ8);q#9rwx$3sX(-FdunuU5VG;rRwW$t#RucC4vySsfpLQ%AMxZ7hyCv1rMzHdb#j_v6Vnmu8J--WJuq;rc<|AONk9f1IGuxK^vApicaPTIBNN(G+$__R| zwsx_VS%Igc@A%ck|Ci#a`C;)?o>^|Umlt)e3`8e}?dQdJ;r{1Cf#;3d-Hbo}BC9$* zKEcP>dOk^!T`OT@-T^r+o3I%#%j8P21#m0z2g$<*EeMI41kQ}`P`e=cZOr>ruyRTp z(>@ifl!&Kw~(i)Y;;$2na(|(A?G@z)9ZF|4BKJZL)yYNnZow9ZEO)$ zZR`{BrO#mNIfqGnTG#EaZf#Zz5eA zEAcVQ4uTS#?5{^1z;vqDFnvM=aUEo0kEPrHH+VH--VUshXT3 z+hi5~{+(PX+qHNn7Y=J0e+%g0sB;f=_-F8%pr(vyQDybCPvzWemMoN2w{dl}H4{ zcSOA2hU?kB2$FPsh2>t`T8Oa?iIrzy(k6B@&eUor{D?P$;Onr;)pE>X?#TC5k7r&xXy^hNQj#%RWar}rV5HIQg#`jebUsvqj)<_Bive9WLFlUqM>~SXZgRxkE~cs8cKnt+j>xu83_Vmy?ke30yogCD>9u4(hU}(0hDO*_I0huL zpsGl+sZqPjWK?7YRLi~HZ=`x)!XlI6*JZk{P!x*D0vh z{$3b^2L7p+Z(5nczI6>cif6p^Y{>b&GE%o!3Dm?amo1*y!1g)~Of@Q$5-eGYxkyAv5d5q zS)EqaT__c}*<@6-N{=l`tMtee(#UD1>F~cCr<`Efck)9C$5lAQ&c~z7D}t*orNw$z znW@ynA=HIfeW;e1-v;p?PGs$IIYyD9$(B2=0Cb+kyde_`O|qb@^QlrkneLEgr7v+R zVLgru+aFp*JE3RX8eG`m-HV4Pe?(n?WPu?ZdTb++FF%Ps3k{>9o7h{BoU@xVr?Zrk zSRsE#OfbN7r@_X|ZnJb05U@)yA?8e{4+0+`6M&6e zH6US7t7%6hhZOTeKG|dBQNvC}8zd4qIr=Jh2z!hrdx2{F`@n$@g8IU3iH(X;s9;xS z3@ir?i5g+qpN5M*HJ0qeCxLV@><-0QA3Xk-s8IeYDwL^8U-GWd(>cSm3guxw0Y~WM z8=e!?IuvojA0I_RPk7Nrbz)%po6_ymZ158!R-xMj{p3(x!9(lMl=?0Mj}YB(`sz%P z$n{m5K_XEHE#y~JLb{wyj-J>A3o2Pd6cX*9EwKqa^xf4V_jY!2a!<=K@=67rss#t_ ziWMPuZUNSXoXcW9Si=m1=FUA`mP7D>omSCqeeANs8^^wpfj)PAOI=Bpz^U(W*x3-> zirr#jfRbitAAHB8MY=rba8wz$S1q<$v2;$O=b_K9KNfV-7*-Cw- zVbQA4ov=G(Bifba`T3$Tj#r9?dPYo6DY$hl=Pa)}4gve1zteI^lBmUQyAaPM8cF(ToZ; z3AyX^#-ak1WqOzu`#9Ic&M;hGR>u+8B{)uC=sSgYSw$R3$RXMe%xAr0xfK?+;~8_- zg~q{Z{%{m-**H&wEra0Ln4>-${WJTdYS7Wm>i}tJsZ^hUr3|vRU3D7$$f@z}j(G%jMrMIr4VZ@L?!=={?ny8`! z5@n*uQ}&^wo8|DJrUmli4^gH^`Et*-pb6U`9U@N;+6I*nZHY*AQ=5=J!l1}jbN_af zbeD0=Zmb@KT4xc=^2aDi%F&cK*&nk#f6R164#GHRbIVbJ;S`B_p_@P)V*gD&m!f&$ z>}l9#DgBMKyN^A4%F|G#LHi&|`>3SqY5p1Xw6shK+%xFLM_xvgpG%Ybq{+|8{ki1c zCr$2?z57@3)uNNp;}3RMo`lk^s0(#O2}+Q-oX%#@PbNNgonk6G%8NWvKwPg-_RYAM za1n(>G!El{?4VN19pf>;9Y81wgof<^3beihAc-LnF_zdIE$42GbH;R9_Q)M9RJyrC z074-Lu-cb{9vE$MUTfKvWV+l#ox(~MB4cvYwSRjk@R?CFn8m63@2e9^fe_kOJu{e4 zBJk3nni6s)vOm6%wHHWqM-epYNL$Iz&lkP0QaoE&33Q4YZBpd3)cVlNTbg>TPFCyJSoVAcu^pBV$Ztx|}9An!%@yC6_R&xTWBU-bD>EevtxeXsE!od}z0p zW*MJ2QxU}Diq8Cu!A;o+P7LF2ewC2G?^^^Fv25}xXp)$2IwBbcZIq=SLTgM^6#*u} zwN<-DO*0c;ui&W!=>NkeQ_xIRT&Tx#MLvTmNY7Ny!OTahyr+QC6n^b!ilJb}k}-+` zbs}ZUzF|J`@I(4PC1t;4HUE?7c+bLdt_a&Fz?H}r3|Ar-lL%UD?;{40aj$sD4vkRT zlX1Tid9+ooJ4A$M;P3MchhaS-1|l2}B4d?^wCtpEWhcdbvR^6TH-r5I0h7WnK@vY= zzkW6?{1P1eCb{XejhJnfm=;5fh_0n&I!DQ6jJ~_@vuU+9s zanqs1W?j;LS(R#~lt|C&iiHvkVZKh;3oh7@d@bSlpOsqcNIumZd z9bBcqc-QLJ2i5C`URb{#JX*=n-d}D}nQu-O-{w{QNPU^g7s66ADDN}!r2DMwy^{C; zkY^V#C3bi%=(0R1%VMQ+7<+^Jchb|vn0lQGJm*lZXlHTOUR3FZcuU9a zuMo#W)L|+dM>%j2oovWfLxDAvQ)j3l)*L>!-OL$tGiz0jy`oLrLnILM2NKH-2$5gT zm=Q**Hi6Yu2UtTRH&H;qRDJ--U?d0fa{J~HnUC(R09WfHD49G@F6H@CRpGGt?0A@w z*j1mv^N1};RWo%|eL`&`KcVScF}1;bM>jtba$og@G}|oAenHtU$f$~pY^Jg3f5k7L zSxt|zDZq4A*%ZjCth_O7e~dU=vfVc+c$&G2KSPS1e{oB2u0RGy+u26!IZ{Keq7>*8 zSe5ZJ1gh>Tsf(K8KjYVQ9~Amvam4&ndF75@Y!Ai=x}D4oqLgFTvby8KL6%AERo@)p zd|nIvS1b=IN-OHlmsg0sHb>~o$7%9~XgoKV!5z^j{SN3M)Eq;jDfp&qKe&PXm}9p^ z-}Cdw-&RuSXJ+iJFZ@xJG==PcFtl{}K7_vuj_DHAQ|I4fI?C!so@Wi*>&_)W=y@u& zO;V{{_b>ZA3N(-dLme>6Gtuk>--|vbK7=)BQb*sjMK)Cq6|zf9wzGd#)O{}$EI%IW z13B;B%$O;@(G0v0ea9~wA5NJR{($0g-n}bz-u+7QK=@^&R%~42YZ2wrFqf4O6ZdqS zk?ZsBA2ESptc2Bhw>l;l*B+@8%+XmJdbzWGnE+z%8tfEi8zn7&v99 zuuGDsYA8b9Fw9`8wt$FIf|F1v=uqUqltxMNgvf29pVTMxFB>(uaL?#0@Su4)ZkMGf zhEeK#7E35ht!Q~_8y}iTk(Q@O%Mqz{5GI-tF_}`PR28&bE-i}$%CRnul83QK)%rlw zA05Kq*Nv`2swYp?P-M)*jSew1Jv#D)$Zc;DbDkv^upZ*)38dYt1*D8ADXUrjs0L^Y zv(%XI^x;5ZorutoftZl-LtYI@p~b1TBtz~d&f1YXfr!{G$UN3;VEXm+{a?2wwF0`0 z{#h`SV-@PTNgAIWei&i`cLx$Dxxa24#i8J<#*#8%CIdRNRyL$w5~rN&X2Vj*{$>Ss zFuQeBskVQ3FaRQ!pjeSQ(Ur+#+fxC*IYMoLa{8&Yv?+Ro^?#Xee%JJ*#nNCNO=dT;c>7A>y zt(5KGKYU$b#G)c-j!;R8Z+hYa1kEzu5i1|<9>X5UaoQfQ&om_|9+#y=N%_)wrTS8$ zzj$xz*Pp2(d%V%tsMOEZ>rU@?ysE?3_tb|SUY~3A;cJ+QfctTx4gRsK9IJ+JkSinT z-+IcQvG)r@?(Aa&R`63JHjw!d#ia_s$CBs129Eb*O?`-dQ8{jc8@f%HL~w1SRt=(- z(U*C}imGTQd-?O;!W-$NKHBOMRctu$VZumLKkmnHt|Lcfe`jr2!QDn|Ef162p*Kx( z&swA}CztQxs`RiAxTX97G-e~$rPZm~cl@ehWOj)Id1re2T{nV694_UeI+!eEvCTgn z6AppbMr@QpL3Ijf+Qp_VW+Y@(rZZ*oOAfh0EvBVdt7ngzye5@R+V03d2MrgNV|J-lRGv!&v>a3?qDMhdVZoE9Rc4@biyo%re%ok47O69^` zmaJ#FNJ)@UsL%}sytnaQNc`yHkUeWSp#XAP`c432#NnsHArHmoU{ZJGq zg4B%!bfDo<{_$dy6?)0RA?{qyRDoo1ad~UBX|8sVfl~zU66sxRVOv&o3<2A=K$030 zQNWCW&$PTmF7QCrJy-mTJVjKQ&a6nML@md6ho=T2pf915Gv4SdZdOjx(B7lHx5nS*oq57ie-) zgB69lP8GQ|ykf5QHveri07lJK4rI6x5B8*bIE5ang?!KprYj+Rf3oeF1X0{Vo}V`pBKyt>X%`fmBI;Nbm{g zDAVJo{V)|TDSh8*@%zKoB1SXK)eHpKZIvN)4D%bDy>r)reWSm{MG|Z)FO)i#wG4{VOV zfEEd!E&epWC0OolF=O#;j%v8P@k!?Bp+Bf82+9@QS~)+=DO#+$pYrOFdj>c$ygBlw z23xOkQ&x@@q1XVVV_H9h&H1QMkl9!?wVHppHx!!}c!Eg}H2Mke%B9KjBtnpu`-dE#?-k%{VUNmC`|H$?4Mar^<-*vL$>DHp! z2If&7l+6tO!dYqM#vJt~4?5kLqYD^w{0insZF6R<0EYnCoay!aGqsvq2+-Y%_VOG$ zRc3FF9~8dEy)#euGS#cE?vgi8I`IFuIT1@~uHY-1^N!Qif3x1t*VPsGs?OVXENkLx z2c9`iORl1t#1Y^ZSjPSzG*o?|U~}b=RDXo?BQ$};S zhc;)_)`F{L)$arn=U1;gl2TcbQDS3VyGurP9IF<@6Ph6JUh!&{T}(a0w=dgFKiM9I zqGoK5&;msooOKx_!B}0JL+x?_j{vHr@>{fH{(03SPiR_rUVIoeU@h5+(a^GuMhcfg zFq#(+%pp+G=CYjERWDtmRwACtj%c7}$UdQ>rfI=3<#=(N2f*jWOKF6+*q&2JopM5; zEcVu@vg)pmdFS&UI-yTl^IJ!h#oioMG2nSVch37hpUY3^OEA~wJ;#TiEZTr zS`r0#el8!dBY|g-!RLIecpC98bZa;#t9egu`G9Rq%)sPcD)5PS@Q(zf8wizL&9h3> z!R_V^X@n{f=}scr%`*DEVxRYR2$x1~zkZ*OfrxMOKILXnihq@OS=ca1s8rDTE;t1L=J=%ZjdL|;aUJ!N9$o|PygMqjxK(pP@? zD1BwAFnudtG*|dKZegKX`_A4)^V!L)T4RoNRn|GQDe8(}{LChSz-%Q0p zW8k$gwwxtRvM!X@L@m=u`Zd(fjrY97mehP@@+Tex2oXrn`9U74Efl21ptMnwEm&`d z8`$;K<|j<5xKpyHLa4>FQZ*;>Ik2TL9FH&k7O>|VTSfL}>H|?mmRhZwsfilH%hN0e z@&@`df@fWoufza+@udBRI18)2XW`F$d8MW=t)I3ZZ zVqm~*(v2hjwzNAge0a#YDCEq`q1Q&uVo4RFq#`bjVpdgAjYKfLNlOG$vz7>+Y)}$` zQS)C%k-wEf?82?p0;2#N(E^}07qQ?5#DbN1v}hDoR2u`U^Hn$drXz-pkwm&vD>LHP zlfaL0xB;6s-+R+fTMDF@vr6T$C!!+xX^WJzoCjKTjmpwjNuRjDQnovO4%^Rx>|xn{ zMT<8HKJ=ij6)Th*DSeOiE!88r*uYXXLCR8oE81qpx{fkp&yxrbgj6b~bMCO+n7GWp z-D-ZP?;tMMxvkB z4lm?cCYF5O-&LL{lA0>Y79cgVk=B#D+O&@d*@$q;y1AmQyUDU2*sXwK|8%ziC2ZI1 z7P!qUvlZ%McO*z|bywsm1+D)c{{=J^LqVLOQL*m5-`UEeH7&(bhjX?I@irX$@`z|b zBiu9NtZ0-ytzsn`b>fr;@zJJ)x5RO1L=QB=`Df$-g}$}EHwxYP7axV*k%J&aZjD9B zrKXI{ur%7g(+srEwATn~jdyd^(nB+8G26>cXAmCGrZQ7gj$!GFA;$xTf+tH@o;7wL zp~t$9GM3iUkmXJeup^kkE@gpKd!IC}swzJQ%C4Af%U!A~QSzSU)EEi@ZGDTt9fL&n z7Bf5YvJiI*@NNUWf$2#S*GuF=ywb-DMtN)h279?)Jay< zh--rk`#w!!+9tW>xJ+}g78TsOj)`d$I;3%I_H96+sz@Q1*wHX$N+?BdB*S1(E4{mD zX@dLMxzh9mckQ`?RiKaL^QNm_kWmC$xw+F5m#~p?w2g*c)2h496%zzZTe7vCoeJ&W$V~P*qt)`>2XJBSTk4{+xG-_{1&hm1tnW)v~p+f6a^?=vQe7 zp4QGH8K71t@F;SiUt~z^z!A}+vbBQNicOPrh1=DMq8Q%hn2xrwV}L z7p~DLUQJgum3-h~AH{bmNf>LgjaF*~#Y9D`cN9_TXcRBA*ZDa9j${xVM>TB-UN^`C z*!iyz{1Rz~L*^8Q|6w>|F=_{>?-*`78=$_q>Hk5Nr&j09^GSY>Jv-Z8%>`x?LkeuITY+NW9^i9;Axf3{?<(U zCxVRJfvxOE>ikzKYW9VUirbn%PglkW0#}E*TZ>|`l+ECs9B!W7In#0%<{;mEs^?T3 zHEIM50Kzu8WvmW@)It`RsZiqKmEI~?QP%J~dJU=~mb z_0LrN-2|uRQ|TH`A!nA`4N^cpN#lGfb0-EsyX4p6)Ym>4Ux%l@_VvGF!k0~#qrZ)Z zX-F+>K^>oB;pY?3BD zwcaaTJg(PG>;OzhIUn3h8C1PmODssCj$AYDWSa5B#{-kB z6^T6O^O2Rbwo_w^n2E0K)U&;AGA+of-qHTMO<=~AgPHdI(iz1a+>XcTGIvaX>o_6z zj)1rmh2wcQXJ&cuWo~&%kMW${6Q^0yg3!CnqP8^K^M+z~!quKCfGXa z-z58|@2Y)@epjB!rtV{Nr|DL;!JNJ#^a6B7Zx^;-^TyDFu>B7?O2c)jW!F3>un`iL z;-IEh%eh``2P_k(uSLRj6+JCj{k1ul-;kfcz6aD z@7Gv7yeAg#*H|oHGq8BS#$x%(3@VJ*SiA!)E~W{sN|#2w;au^EA19oEdvV2`qW2wq zvNtAceIfJd{c0qM`*`B(De@Jro_Hi>eC<$QFFsZmdGFn1ky%n?BZ<0=YH8y|EOX+2 zRRsojN=|%w;4e$65f_*ly?ID-*6N&pk({c*a&ji-(ZS!(R~@WMwf5NvQl^oz;SQDZ z${xy`DYbV<$|V_{m_*fyvl+-X$y2P_xOj8)?5xCbe0*L$7U+)`@X=dAc>~V@n@p_& z^zN(ao0Z7%W?hWP$=BGz_N>UUNvWv;{A>4~`5nt#P8^Jy`+;aOafPrk@hZMhFkVd~ zx`MWh3RE7?(G|2)!DSg0sM_PA(fq1{mn94K?oyD1^)k^($Kl=?I%|DaWU$}C)B^I3 zB27^<@i>v}esx@Ic4#>v;&L`$WEG;@CHjiDUlh$Nk4iHhAjhmWvT z-ZpG)^?uRwJPg0I%D+|@r&7dBLoPlSh+`sR*<(3qJc8Roh|GMJz?Hb;Flrx@8F9xV zc;3U`L_%k5iQFYu17dIWH)@_|lqLJp61w=Gc}k{2G(5q*(T^l&(O#I%oOxr^{$)D% zsdUHw#y?M}oUsjEoc3_~#zZCe7pwIMy2rfTlOtDsntVaRO8PIyV2XRHxQH-n=8_Sr z^MxicaZWQL#W+1e#j*`!o&J#%#bm9Vnw@Ihe?0pfr2j=?$JF15iIxFd+q(rE&O{s& z3OL5*Td_;B=!Nvj4>T=4Jr4;K4ci@-79-;y34~-8cdFiw#Y*a) z{0!JEc^mqOxYVY)lB*8KwxgCjT^Q>uJJrujB%3N5U%E4l>pVkW%pV!TimCV$IAyX!`&0_AY=?RoCKo zCJB%zc!D6(`XE?TQmX~E6{=`PGGqp3z*odp@mZtQt5Qe=D@b56lGAZ4SEc3l)?2FW zEq&dF%F73mfF=P{0w|(X<)Jvov4W2xppx&m);?!u0)d47?|0G3IcGoDUVH7e_g;JL zwF*Mbqp;p4y?%B7h+Q19Z%0*ZYSF=#^+0)$#VlrFdQ_E*s*$Nb;?d{I;PCZApN+wi z_2>d}b*5nQxlS0cmAdy8SkcQ+JaTOQ5bvC;G1#Kfq}Hs{_(q-=itF6!kxl3A3CFb) z*-OzL=kKBq6>I3AUz0cg7yKnL;-x#4>sM`uc`Mid0QCkgeJ4iz&BXjP9n(sTND~s% zUr)a9KpyY!Bwx6MQ_){sAky3#!P>vb4;mo{hds4AafX;rW5a$L%gZp4OCI z00&QK59I&+XFHxCg->3d<_V%4>G1^Aa6Nu26*7K~ z^6|gN542*8*8XqtgQIH*{6I6b=LZtx;nwtN@`_(7KX~po6iv$Jbtj~Cx#y^V$GMFecoaD!R^8L4TG(vakJaXA1Y=9P=l2jz@Cn}*=_yV^Z!}7 zeZ>AKRIh9oJqnqvi# z0aTzJ!M2M-x<#z7gNdhPn>0G{+=aT8Qz2hPYjPfOA$GZ;l9$=5w8+wB_={HTdIb=f zo>wf2Q-H#Dt190WABu=t<;(k%5vf3K>LnKC>t+lap{kR%KY6Z{uP%@BQA!SzIsTZY z3B?!Xo1G)Kzj@b9CAYDIuHYEqbSU0Cge?R_C%Q1rfH2DE=j)eVfts#~xSA5J`_YmNBy7V!6ldB1hR=tST5Wc4Hq#mgZB6_+Fy zy=c}YpR={BPo78kn8Z~V`RrEF*^N%0pEr5%(AAE5c#$QAm^sB{(-bST=ji zm^d>zHQJo#2}&5S^QFyMF4b9o9xSyIc?vqvJ6Ryyo_+F>7;)2&v=QHblSZ6JyOKXU zM+k4kw5;$mC47nrFEruX-tZcI1K}A~sr>BV`SlunqV-4OsZv~QT%y^%p8@q>h&6C& zGMK^iu#A;Z$;Z~L-w?<^`h^7W)Cd_sdu6X+RD!z;J$4t;h{S8V3-vH)=E%EH74J|L z*Yo2iGFp*}&%o8x$umaBr@dJ)HeUOtVnru5<{u_XN6F1FDdWgj4tkC6>tOk%KKx8}#^*VbqfRkOddo zQp*ry?$iW{zHiCU1A^A%YecH0g8=RqxcN`FZ4Ih`kUpr-$Wq+-QRIUc`xDc8<#=>& z1cdK}d@pl%Fn`h=84|3V!lEFrH?(s0v zT*=Cd`Dme3KOtO*%^ZiNuV{~4?(vCzhE0f08wj#$jU;5m_bYXT-SfIPV$MFxV-wzb zC%)(v!+^e<<`1yfR}8@4&E^jhY#^54G=Gp_k3WR%?{>l;7(Q-&=eknuEdFp!d;YNM zR)v1%CZIo;mL>1`rt*ikvci@5jW^-W4>f(`YhG(FAw1JL9q7io^hd<+JMAU#~=qHGKHUqN0PGh zC^3Mc_FH|U6IJIGhdzHT+AHfzzw*l9q@7B)JBI zER05kKYCxHM*)ZBn1JhD)`JO8^bI({m(#lTrNJGh^^l0n2sbN;ImyWs$eeec@R8B+ zT7A;KsZ_>+^LcU{C=BpCVSpG;86uq3*gZ>LoQ6fGW6sP~P|MwJNhSQOhncwru6kuu zx`Z(DT!#Ie^6x|=(v>5ch`3E#D5C{^XuI|ER)3-= zgRVi&XQK@VqTBMSPSg7_D1BoB;8X;vebd8Vm#Ul(yvpJ%Z_?e_6ef+{VOUas#{Ya7 z{}N=T+x~vh26YFu1e@trgFOx)!8)954bHHD7dRq#q59XAZMrs8fg8$Oa)g4hIPq#z z&8cGxO@b4uaF->Vj%@g#xAaJEJQw{d0RoEw(#W$xR}Cz$Spei5iuwC|)I{NT7j;j! zw*f;M)jPw!-70~o^hdwUn{+d*v`+Wm4>cS9F`ScSX)Y=fT3Xm1&VhHO{qJ6&=?Ma9 zYC2GwN=k0n(NYZs|M_y$^ml3T-R6f`dAo-6Vhv%dYM&;Ums zj{-A>>cK>NcJj(i${v2Q0rnt_GFg0vvXio#GvVKq@B+d;c}4s6#LN%tNWc=kKXMtf zMvs@v@Ndlwe`b)d&mI2v>oVg4b(m^~KYZpvU7VYK zvY@$hWJogC=@U3>n0(KX0Z+BH=ePr2`KM7QNk%d-)UX!Mll-oIDF%CohrHNP?gUM#MWciCYFJobX)Rj)yi-#v7|GvAv5 ze^+L}>wK>(jIce#8}Hy?rvOAy_IQ_I1D^(a<6VNyAkg4L$Gg8x7os}gIkJ)gk2Z`C zvpTKTgIj2kx5o%2{^pMN`t*3;!3x>WMLHkr8>@DMwx69(;xXL-3`M0p+nc1^SKt82 z@H;C#{=M^1tT0uyX7PZVNDsTx4NlM&ez#19-MB1v_eGlBjq_SBX{GgK=WsI9 z_-3=-aV4y;Ctv%i2sU=hsou;NWDI5vZD~V$$gHS%IZAQwcf@Vi>)?L;6$ZTy?z2wI zUK1STUu@=w!ax~9GDn2$&zR!{-ze~*+EwH!POuVI^#p9hg_sHluqOx)U}&m-d?-;h zpx7ORSmsijzB)!3$fSN~fX-azYDXloXn>56wiY{9MLn`%9l!up?E{&yzIisg;dt!; zv+*?=LVQXQu-O4RL~Pg0qA|=EUoL!5)%`z6roL5>Qx?~v+0W?uCc>RUhOwvEP)uUR zT#-C_>#05LeQ&qPKSA^@Te}BjuTQ&wAsx%YC>VcS=JKis*etecSlb$F>GQ(T;A{<- zvM}(eZp2c>Bi72qA0t~2mgx1|v{|Nl94d2|UK31I&ogH(_8ZAtIQn%yPy*E|oFd93 zbq%@d09dMptITnlNK+YICROHGwQ~fn_#B}(z}#&ueMTY@RTulB2YODvg&YQi=73BH zQlNqXNDUMWM=@ZC;?Nt(cm4_0{3xBLW3cBv5B77CBR>M3wpFQf(#a2Bg`4F@HOAt$ z2)p{I+tn~_)4B=p9l^I%`*jMBB<|+u`__4>ewB0NG-)cXSMb}T@%yFK=>z(FYqmpx zs0(saK{o}Ma`0J8bs&m8_i^EP?S9iy>u5B{V9&0%oy0TVUCV$TMBK$q8MD|;l=*y! zoF>hF9tl`Zumry#?*va-A{fl8GphJAW~93XyC|Sgw{X!XyoJK0yCSJw3y%ocVJ-sjEv57^sxr*Xylm+ce2NNPo0A7oE z9cEt9LNH59`%>n!m=HM&1kp(e+G<@lZ2x3P*q$^jX#b!Th9ZMLi=hM)-A1e)2^-)n zz8O1*(%cB$q~wJ;lfZyM5JS@@qFflcFq+1(pjS$!BT> zjCYcMJQGG__>b!k&BhDY1)=zZTcsKX-|@SHZ76Vu63-O2oK=>Jy*eOAfP`!cmYoUUVLe$=Rv-SS6}qGn=GXw3?G^ zryKB&1-#_jr)D!tktfM|NSswm1t*#cik=_lRWQN%79}6-Z(RIQ#s>rw_YY1k|Hub? zI1=OJ6m{AA&FN`!Pp!c7MO)P=6gj4#x}P4Ndka7Xc_T^GX=DhCe212>h-d--D%Nh< z^Ruqsw0=B*qk_Gss;4CTYOq}9s=9=d279m+D=$jkaR@Bw=Fx2mOSuP&6t#?^-X<>L9?%mu(JsV21^U3{SCqD1h{-4oLdy+A;a?)@LesRBIE0Q~g~ zLKJsKd*10mdKqu3N}uU1kG{-(235~LAfQ}{ntm{f&CIIP#MZ3@eJvOtj>?}f?KQKg zob%b!BOF7gzRgwHDnBE5&?BlLMYZU)C1WO0)fPFy#4~j-PB9ChT4P@*WM7Ytc6Y_1 zr{BL<%3PoNV>Wo4PkZzf{cs3p>{jhhDMRnKqV~oXQamSF<#xb6~3g1>;Gk@RuFf$_ESwZTm!Ib8?%U zfJUb`KrYi;$hb`S68~y~!<*@lSX=c8$;eH4WWNw!eFd~;hz=Ol8(DOM>}kySmGS7o zFUm2U!5@73>I(hWZRnoR@K?n41VTYqt&kmu+musGQ_xA49Yd$hIlc?cdEmywH0Qm( z(wzUt{urL=kM3S0-2Uj^g$7(MXUCoN$MPEv(||$RfJ6J^(JuAJy1TcHzvZ+M=zh5U z5&F?4o#frFI9a;lM-3X(c~8`#DA`#1F)aA3Q#~Mqe#IKDn9yed+dO z(bsCPYqIF8p$pyfH&iJ*Yt^ZTYgO#{{{{N`UWUH9d5v)COYS^$Hr_wRp;TuLm@wfm z-SPq#?K&FoU8Aojme=k%{>?G%=&N3q7VYUvgF0`>;4U=evFi@gkS~gkNMG~1G+tce zk(kzT$BQ!LZFs^ygnbd#CH8ft_(SYu^sl(~FpWAx8r32HN_43`qaPU*;{Qy0LU(Q& z=5>ye*qse5ZaXEhhgpPo)`g794z?J_%eJd?|{ z#lBsDw&weX!TkHZ1lk%ZIAlE%*IK_&iDPH$k&A>sAu2L6dHV$kBE?Rr=Q6hJol(zo z*Bqt|-_SN30{_vhr$)H&FBU`uxhIlYPl>e$<*x_>4$}+Ce`mMf8Tem~KMeRk?3u-1 z)AmiH9|nW*?ie%SMk7j(S5v#_d$zqCPTYvd{fw}EcY(Ep74#OX_BtZji6hRv=y7d8 zqT9sTx@Og@wxUiNM`$qR&Qhf{;rgN=m4oL}X2w>4Xx@|^iup%Vek|}h zS5U;Pq*Z$=^@yHV$@*}@e;`6xxe@!g2&-{wzpAgV%zi!k{)|BFhN&nOz7(-vv^fjD zkQ3_KU(-DGl@Un<4upocV#^z7!uA#l`brAoQb?wt+4wJb$5CkE>i~xeS;&4_%Bt=sz_6nqA`3!2O~W*{y=CZXYe~iHb?beRKO<&GE2n2Y z$842$xIR}eU{^Op*ulgnpeIlomBO;sXIfo zTkeIZ{pb(S>ny16E+C{%jQBo`*k^cqB?+s?6~^|u@`9%F!uHjN#glfsqH%yNS4A3k z<~}2EBzsruMm3lvX%U*rO?8t;UVR^gaMa)xZjV2vxm>jPX~DRIimv`$YH@vcq|vFD zS4i2i#oJK8W*ISyY1hG(KUPKM^wIhKvX>J^{&HpG2L+gaOa#A*?mK--n9bu)sW*5_ z&$^(mv29y0eq5OITP5iSr^>#GwRj9RSMd=C0f7(W6)ESJGO*-YG=K|3c(7Ir5bRwJ_Gl*9 zTjH~pgnW(L3j9w~dydmf(3r*zwN|EUy^LBFH`dZ1xr(eMrFnG~sk*>Nm3HLAcpzmr z&fJy*C$gJn?nJDP?+FUSR8NC*2V*2tDj2`elzI@x4=x}igN=faybWydKTVz-XFyg_ zqFuU}ewMT18cAAnQ4zAy-!lw_0iz-Hku#Tgx-Tqh>yo~j$T5k0ROUDEUzYDf>A!Mo z$;m}-|9wIKjpLFq{kNse-U3$(Zrl+pLr?pXqD z5}M=4^x~mi(#k~AK5fmg9BdHypQg|pXT1_kKN)V}#Av)Avi4>yW@y{{9(N%LC|lEUWL~#DPsm0QrSXtl4*#w3Z=>7)-J-`(xUXBDzc)QT_+LHemqrcp%))q=>113^yaKWxt4NL`;NtqoB!!k=!T)IQx}=} z%K24R4smz-U{9$~{W4r;7{XZCX^uyQZvH(ofd8ObJzkP)J-Ay)E86fCyoAN7;U!Dq z3O~+m+*wrEv`HX3u^mMD)~uHdM3j2DVN^0V_yMUm z98MWk1V#mGjHKY|vdUxBg+9j<&sb($Z{BM^r|YEZ^5V+oKob5O_z0sd9{>b51XFf- z&v+ndmlwje`#62*E=^>Tk>NuxRWlPd|0G#zf&6s?+&R|S45xIn;(+9Xx^c(SXJnD2 zP0Yhh>#N?VTyM%L1>)22a@p!hj102Sxc(-09D9t2sI{$l+~46=Czo~ zp}beHF*!^Mt}8Dpt($UUr9J)xdtC4AS;y;W(0ZoQNJAIV`ZXottn6~76*}o+_HzwE z?uIg$$d#LUl;lk+2h9n>6Q7YAF-~`#xw5K0<*2H*NPTD*M^g5Y88Pg;-hr>W8wi(;j!BeBN5gqHM0_asUR|)Td)>H0cQo#X%FUHw)twLrb18h? zVozPz$gZMrcet>Dq5xui5esUsc671P4H=s_xiD;BUm$LwXZ;(}xDXp;-|CQW1EyGt ze9omjsXUTfy%me%B&bdW7HIq&wWNhE!tsyII(sva2sc(2gwe+b;z$VL+xsff z_~KZ(wDo~XQXary?Zpu!DM2wTyob%l1p)grfAn3%2iWM}bKjpd%Z%fsAJ#__cW}vc zUpO%XfrFcE!hCDV4VXQA+aKMDq+n+c>VG#-_!*gN#nA42%l;t@N{bmrF?b>ViUJTc zP{7q}SDQ>;ibch4laKI2|F(T6K4K{%daFgVk9=ScfkzN zN@HL3B!e5t3j3Y(#iGgF!_Iio`WogbSPu#}D(^s6kmO|94u$j+1qH@>_8$Li7jQ>@ve z2*dE?L>U&h^qmv-t!&%wV&@q$2bwsdWVNM{mrNRRh3Wsf9I2g*1a7RVNv%(=AYqT>*_#AJN8;k)zY>VG&Tq|)Ta zfC0`o&SAGkuA!?(SxfqM&k~NU2F~`I@krqtDo9uhqf&0y5E=erb+dB|{7s8|Sr}d0 z%k(%BQ@6*L9H*UqhwPQ@P0k;^v^Rr4P0Mvj!wF$nDzD^5Up0|h;zfs~s<{}E$jTKo ziM_KEmUw$NGCsrh# zhwM{%$m*(P3wt;dNMgp}nQ7KhrF`=+-262nwF!69;x6#7F(m7lf6ax24xU^JNsZyd zTr2h}h|L&wk3bW`8lJbP@&Sezp(!k$*&M0Z7@>@CmV4(a>Uoy~&9V4W#X8nqsi0PTC?;i=@-DNp5nFG9z zmNI1?Qn)y3mNG4JDwCFkF&fyO_7v}!IR7=m6RiD@loJVI70n}sBeD1!S>#;m(Wq!_ zA4(@iKIJ4OQr9J4GuS=cxiO&2*si-;j$m;octr)ZxI_JR(k$&a#%`yn4xo z!u70R3qKC33uW1thX<|<7OqE&Os1T$J*KGA9@*c?k=|B_1>WYs8iCOO%pDSYOrgTN z&M=(Zd%0)(Vi(sF0+gc)zBHt1q==bDGJah&IMXO{VITOna|3VG(o?e zN1U)%(4jd_PuhhU}?4{Qmzc<}N-t|YFcNIB0q>;$8%>g}_ScnX!dPU7XRxdBfSdLe$I5IL+2Ghnl zrRhqy8?B|XbjEzzcI=C88;m5RHwCla$boU`N<_atVPs1$dp)zo@Cn*xT6r{h`48IW zx0Z0b$1KG1Z}(Oi_}b`f5w?Oso}+%L;*r(yikIvwdqRM+FsU2Ku5e6|Ge$vs5iy=v z-_>1+{ju3wKn7-KkiCd$RWk8E&AKGVc}K)T+TY(e>OMPx9N=h_vzq=;vSoYg{7ygW z#vIC|oX3?1H^{&XZrmyYu|^SyH5q|eQ?PL5k$aRL%5lyH;?aq+?sAHYG%Mmu%E`KG z3Rh5aWsx(CiZU$o$c5^V+>8QUS2HMI{5=`O8HTunaz-bvI!=~Ia+ux;>Q$U}2bqsz zP^KHjcbc}2=a>9ObJJ-GzxVk0 z0em9ARs44GI|1Km7xVi)zs>x?}Sz?f=EQz;np?P(-xXg!5xH-EVIQaqmeEUgM{RX;=p65%BdaHrC4ReN+OAr%Vec zz7v-n#VtJ_4*NcC+ZGW8-jhgQ#yw)=FD_E@_i$p24^Z35ClUMn*we>5zyVGZRT8!- zU~iJcr_jcok-~qf$T7hTrJ^9bTw`|pOVP*sBdPr}Uob~WUy^+b0qqbFil*?vf?7L5 z+z=|p9A5)_+p3!3$Ujz3-O3+8azwX4f&R6;ByQol-WYS(U5Utg$$0_$pZ@53a)36K zdvrUTUjPh+g+Bi~Za%Q@xr1`J$-AHob1BYB_Rngh^gp$*$w(WF_zT~{S~eX6JZ1J>uX1PkmhIh&YnQwM>W$MazLGB-^Nlz3#g-j z!#3w(A`fnk^DVMsnH!nD=!S`tTj(g)?McWRZ>_7HakAB_a_@4fP_R zlbqBy+z5Mps=s;VBxO+w4_E?>+1xYsR!1=0g{k#u16q%3#Xnz6?E4ENIK$Nv!%EuZ zqNW}QLCOnK<0_kb^vOwG5cVZq<;kWVV^Ul{^@fLNOHWvkDhm6yU^>Io*sJeT*Q2T2 zhcv64J$iFF{U$BEp&)Ao9g;<_bpPr;s0^gGHTCG3+FFmWYfox45*lPYO@Zf;0jX>* z9(dL+&u3p`m-|wus=!dWemSYXuVoFfkBz7I`#Im6`Tp%e;Yq&bC+XyZnmolQy@Yj?$4m1!H;<&3 zawU8_Ve*tZvg763D{ndPlK$ZDSD=wk`AOa0PblgE(q7Bc3;Tj^dH0@Pxc8Ls^XPr~ zmb_lt!==xT|99%Sf_$Ta;~sw3@qH4%JNPZ+dq4ZP*Lj}7xBRA1zFZoW=dawb>^u_w z1h7aN$vf3eE8$YEgfDQPQb%^Yd`lftUX-7tKlnR6A79OlYSGfLmX7K_V#q+4($8dg zqSij*r#!9My`d5`7G#DC-jY8v=xb@)ig|KX;;#J@gAHrVR;?U+I6L{1j+)~|&DNJ= ztXQ)~qyKFqhHB2^BpOQ#*H2g_H|B?kUWDj{*Y;p=IKLw4h@k>aZ6A3(S6@XLWW;&$ z8WU?u{^-S&`s4PcQjRHA0BLKX%pTV42x(|TlzBU=4d~?$N*D9Z_Qmw`iV@%*MaE-* z6NmMtg|zv9fK);Loq#NoWJz45yBGcYeFCM25h1`{WGv6BD4$-e+R z{0C|3H1ko4KC_4^(`aWMC@&-P;7QCM|cbT32X z2QVII7JmeYkUGFNvT=w*rcosyB=DmOQvFy+@v!`)Ocg57u?8%<8$uP)ma!usrWE$b zt5bP5gf^#;(%Hs!_!|ZPk+?@lkuWLS z`w1*wx$^X2?5JKZ-5XhTd12mDd|G+$U3m%|CsJ<}a13_wnVs)D#AScWy9axAxEJO< zv*Wz?E6Mv4>i9Xo$NBx1--FC)e{`P`*UsMF)mLU+u(+wi3l?5_)^p~*Q+I#O{@lqI z@_oo%r~4vCw?Gslm@9WC9)vvkv`%S*>?tg6$4@vFrY zPh0T9(M6Nb3f{STVleNRn)~kXRp$rW#JcCW0+yg{V~c}aw_q%>HXCEcQ+zZxLAew& zo4{cFiehe2^2U}vI}qDa-7UqHJyyFP_$Cb;9e-%Gm^M%Sl8UR250|VL zK&@KoA?FJI!~;$|@}WI0pEYJvkK;X%72eE!^(=kQ+hrvYzaH~7Tf~OU13_kQ_2m*D zI~Y!KS+Jzhii$rDbM%_W6azEj9vkg8&OG{&tZ3+-nyH}z{9O)Hn+a!?4hbdB-yQUA z3Z6A_a3p?x{~#{1xG8&#U#*^m@b%QTQgwPVvH*pTP0$tIep~LpokP_^6J_>BbAKvS zXf%8RL>SErx#cPh^#wiYbj(JC3!aI)ivevghrlg(Um248_dn%w^3W{X962Z^e1Vt~ zxOeDYP8qXwLVI~b_Im@d0@nU)`Yp>5J4(Nqn`?}DhO56-D(v$8pK7XG}N z17cGSPy<6m{fax4t*N}AZ&k=XRSx3>^|2W20)>iV(ve}*HS%PeGbSf>=hJec$Q{TH z1!q%6TJ6G1<>d<6R@k0Vkh)OL_&(n(=Z)NMtGWtn&;=>hQt7B z_Sbyjt9lKx*}?#-IwgftBo}*eW)|J$!}2M$j*CCGUk6eQpsGejO14Y0hOYM4{DkrJ zSR;tWlhM`1pk**eO+!NVC^Vz*Ev0Ee;8k4voGZ09v%zQl zi+zn)k|RP zb$;9V3D-dkuTPKP9$f$Ts2{M}*T2x08YGqTJlUdVo_(p7M=z;!A?|iI+?R{DG87Xb zRqK(4;+6@k=DbW@ukm|}pEx&u*L`MCVD9T?w_oZ%r2Y7e)%tmA{XC_99$G)1HMRZ* zsUHBWM;eP8ttE}vEt|8NI@j}igP*h?@kG1!2MzP8s!&5W9wQV3kyXI_TnT4>o=#4e&oiee`$WGWV1DEKA)J5?vGtlfdLC$NSor4rf&MuGW*tAL`F-(iCd67P0a;x zTCn7HAGV|m$`e&5Fsdr%lqaq_;Q+QFxep&bi#`MV-PWuiZ-^>U*zG5yFL4Xrp0CM; zI8n`Mc7C9->=b9MQULt;>nukaqlgH_Z^-vAEfDykH_}k?4dXU>Q6JPCw*=&WtQR1^ zY#6%1Z#R3<){+Z%%yoayyg$t7`W!K6_V=ffYFaK=i`jz5be5J@0i6%YK z`JQ}+kQNQ;R#tag0dFUi_sXpsZ&g|klyky|P2T1n>8ptSWvKC8++FM%7K*;qhZZ@qlmu%Bx>>R9l%*oV_jsWT@~qfc5CpRFoHmk)EqQC! zhl;6N_R|yHp`*+4=!$D{x#$d(6I4MMk@HJs@d<0SEHSr&tPhv7@U55NSQo&)Af<3g zW6(FYC?2S7+*;%>Yz#GSD-IW~p-E&wnKH0Muf?=-5pM{0^Mba#af(^q%O1~#lzWhj z-5^#Jr_wBNQ4Fge9JX&80@udYGSik_URqW+B}hq2>&io1>Ki}W*+47&i+Y2QInFrV zv#7YEE_Kc#&7rCTfwgwP({Ez_!t4RA5lyqvo1mp?5g1O&LI$h}X-U;Evm7l3ggg7@qqYW(nDpvRx zjS;ea5)4UaOsXQ$UQLvkicov$W!<=EBBkZiA3e(Is@EdqmYWCCCGo&o@-wBcNZlH? zZ(VQ*tuTM9f*B(8Rw*Z5y^(wkWp?!{iXr1N|Dryr63KgHq>zlVR`_eaMD0r)SxA3l zLc-sMD)9bp*6eQzS)nqa>x)FUUBsnbP7}^$1!+_B=>^h+{ zzE-pwTF!PhQ@{lK*bQ`I2_9dZF0&2HV|QO(2x}NGn%_4Z3$I@bFX6sSAd6@*uI#*R znnp4I_=zJv&o39o4>K5MSUrrBkMdN78_-4B@nESx`^m(|86yk?PFofb0>YQrn7T;3`Bg%>X?d=<3<(IYQ z+n3E^Cx{)(e1`4}EKjR>s4L-wBE`t1qcf_IY<=te8CvlFUd= z&^UKs@GQ%0V`LRC#+}3Vw&WHT;X&6re{>&vnZHqq@{hK)p*Y)>cm)Mv07rc17;n)A zt_k(2GsPbP10#B$?r-SC;91-f_v`*9XkR|$Y0*j=%9Xte@>WwuHQTa^2I{Hu<1=`- z6$=X}99k0HBFpNaJq6A+o+_F2%KN8Ai``R7KR$F;{va{w>+YS(2C;d<5`J@zRFV3I z0X0HCG0GF6Ed0dVqbciB#I3pC7R()DnLOJbYlR<+tTR6h!qwEWDVGfaY;>t?#4i$~ zt2kO8#O27vqIM~=&q?Q!GNF!B<)+e;6Y20JIw8wtr9Z%FfuSbF9`&(7o27c`!L{kvkBn`@pMw3U=O*4#$Bsqv$tN){%i)}u|VUO;2p2+{Fo z|BXk?{I7V$Aw+5I$6>3iA)M&>l_-PpPRmDPQ}#-BGo?$c zdf8f%kUZAXxexG&FaC*=D0axPTY(DpkYFJeVz(8bgU=n}U?IL?%LZ|ka+;W&&L1Q* zEVT(*>1fPDLnHE$%v~S?14WZnyHHatmJ9A;E*HCW%hk$f+89&qS=d90#};S;HAB06 zzPzhT`14EEv~ThTO|-ZntCVG$$TR75u}QGmO@NjB<*g<`cT>VCBuJgfAg+nel}5)G zPvfuOp3>9LLetM8G=y=dklFSyfMj@NEx0=v7eiMkuYnF|we*6F4ErucuYAhL5IFz_ z!nOAkql<<%><(EAAJQRW#oi+lwB=eqdk;9Bvrspc-l`SLK8%uOl!1wR>FscQ@$LGx zd?JtJV;s%E-o*^NZOA}<&#Aw!Il2Z)EEfag%Y6XBkT#VqWmGXrD$|?2zp*XxM9>$Qrop9qd6VAh3CJY0Co^|z} zNJw1rN^CArT(J}v-3uQ+2UN4(LRR&1C~k$=A2V9_QVoUfmPh>YVI*d9sAIC2lfuSp znP8SWqEq3R*o9I@J;AeJfTb==4h~TSup%Yal;V~-w@6!^DBz*>Un?BUHUPzA5=<6J z1Vum<2#Bv!J3ZBdJ%a@rfa0EtI`v82?T zPA>e?c};>cl-0c*_y%tWfnOsz>_na9{zd!TE!(twC9&wSP6`cA}OR1?-I1(oAVynRrE3?Iy zNw7UPD7D&)FVo7^r5GagHx%I2BCB1JD5h{T^Tq`3aQx2FVEoEpuw*5o9TJ9oFXAMd zW&6XrxL7=&M0MJ>U}6%&r$D|x9?6OB+hslY7%9|$+|OZn&x+g$Lq@j}7{@9j?0Ie( zf9<)`=sa6zDZm%Foe`{L)5|_HT5TPzuv+DsnYED2P|o*Rx`M0)27@{_;t3fW1lAi2 zE;|ASO+M3GAo5=BEkPK9NI|G{TlHn(_;LX)HQL|A1bL|}-lRb}&TD&xi8O&*S&_i* zkI`9DK9YZ*Pe`b36bqztxE{bhX*cFro!3!wRswM`{5$EK4k#nGQ<{*qh5;yWl~Z+= z+fT@=vim1`Bjr5RM=sncnjBG2dsbJAW{9L`>^dNaC=NekZ}>(RX6(Ocq9e@M519ns zj4ca;_A~aKk^t5#G>3;fef%!SL&i9bq5m#3UxIwTt}$PRnqxPbFI{cn;>vsp5=c4G zd<`>SQ_a_ALlZT8h3&<4CQvsJuvGK4z+{+bzH-c0z4_W}vM(@SyUo{p{X))R$CjDb z7G4`nnjHFzuNL!FU`lH>Uq$9?v-#?8zP6gLz2+-vz8098cAKvT6SvoV%{Os5@`%R< zo45k=HN<=snXmcgt3O{X5O?!c7c16}KyzJeAaBT){&Jd$9uMGku|ekJD*ZU!r2Tze z>^&5#AJ`NOGA=IHu|iHvHkWt z{>EKQ?r(?KeISkaN2u^c=VD6s+byL_@%hwb%^JifUWkpk%@g@R@;2C?sMwD&)-SE- zT0)-c?G*B0xZG}_E(X+KJjgs$+CNybI~<=YKutOo&Rk5NupwU)^nDz${>ru1rf|t7 zD~f`#aQGQurM{2f7B>3;?~U7vSeH-Z4Pj~H_Tsp%p;*2K3pZiS^})vNBHa(v`U_jp zUM>z7Hmb{xRCik3fNT23om{DH2o~;^6+9B=kAsD;uraIZ%Vv{B0((!h)OCh)7Xu`s zwDX?=yS?}t0Cs*R@6iKD%%2eWqANd(!~^+UXX#nG6d7F-^8$jS=-)~A6l#L-EG*u< z=rR}TYsPmnn~1Fi;lkYr#Dj%Q#iPl22NmZkV{YKGh`(*MUkn}2?kl+VVUoAohp3>8 z!{TYg*XVEC7RJnOOmt40bi>JURctyqL5(q{+Z}*&o(G1e*aH$ww4h9)Wywjbtn6m+ zio-GqF*FdiQ^Cd^$jARNEErwe$N2|M4kt#TY>P`kzg)O{a1M2J~gm<;|(^+n!#hySF+M~ zIfXMsr7m12$=}2n{^Fg_jznd14S>kghhbTAKLw&pky|%c_z?Z_B|ChMtyV_&?VfZh z!?DM`Ram~oun!UsJ7(CSSSHR*1&F0v7Jvy-V3|P7!=_VU4|N^#X3Nm5f9YFBT-wOnAwT5B*IpY zOA-43>;~n6znn?nQ+=G5X=$cc4yIuPj2-(1iJNtMB0bDli^m2M1Q{(pohJjWI8@m5 z6vsTTIrmed?j!$)q@Y!}JTi?1fX~pD`Jl9JIx-P68HloojaVzLDB`%SZmzI%jPlmb zB7d;0p(*ftpN@!0!(|CrTO{SXQwi&_cDYM^b%Ed4vWML!c}P)n{ec#%s59s=G^T_gHgdGFee!Ue(XYLAtpz|I}`%x*Fq{5XeLbWbrVt1P_;( zHoVF#p&I^Qt}B9){gcnl0!@-SCkSXKImhvk20Hs$lRkB_b3h)aIG^*NG*hT4#7A-B zlDfKH8X(diY7)T~ud;9EO8s&Evv)|S2-BW~8KL^BTIcX~d$BA;FuNXKd<{8* zDos>(dm@3!b*g zyV`RFEqKzP_KH@W4ud6YAY#t4b9Z`NW}@Bi57K8ratOs#mHY7MF5ZzF$UcPU;81ssPch6lZ>)>#Bk!#WI=V+!pAn z+W_vYMJkE5ObsOgaGz z5q$}IAxX*A7L$knc~A7M-DNEe_vheS8DTI{U5|7+Iq=C$r>ewdgH#qzNcUDoFZvpS z3$%l*G7;j7nh-*5KEO|;h27@vV00CJcpn$gs{aF(Gq%NR6pb-~CwQTbplVNk1z}2X z@>g@UQWlSj+iZt4|$Td~hT zf-_uje%O9>UInF$?_x5zqkb^2it}c55Gb!{TxX##dHR1T;8RHsRV>iaFjvthqXFeF z9a->j84AzKTEz?nf$eZZK`?p9PcRD%1ihMV0STYe`vwPYi<< zTm*Z{Bc4^f-NXgG;KrSy!aexI=x20DP3>3?sBUsTHcb|*0R`NDV_*xDviFA3PIPHs z)U*VEMEQX*ZscpPr)WiqbaKRABlTCeV3+K=ez{UVUOB|-`wB{CHUFvK{#2YIW;6>P3Lh&#{7FDDG2ne#?qF+t z0}iZnhbWosW(IVb#}EZZW-cgIP~+Phve}fuLw?M{Ozo>lc$)K%mpM4ozBK2*qdL9r{108dIx4p{1V1OR;mj-*xKM6!SKwD(&&`YtcvW9HahqSOHCbx^d zQwHImP_jwr<=E`KwDOYrCc>O$QU*hg5m+y;hB%RZvEyDW)pPSiIcZ?QrOYHl+RY?$ z1&_&Be&b6!{jT`>wwU| zcLZR{6D&AiYnNCzkjVHCO)QvlKI9JzG#8Y&`Qq$>Pc3Pk7pY&3e93yPZkfE;k89wc z(>b)b$Gsf-B|CdloHn#Z@<{Vob`N6})Wd@vfz3UCv-P+Sv@gxH#a`BYfLX0 za-?MUNGyHmu-DM=ZqqcwY!ZSCI;%iIaV67Uv-=Zh22ZKHm6$W(%waGRu_g**H!6a$ zcx)vfh^cvJaa};co|HEBgAX8-xA@b31(`Y{1+G*l9Nn&im!p9NW-S_M2@HJ~bSbFr zsjNcZxYIo@{iqkh*XZQmn9oh;LOs*w~7Gut`jLR!M%m;{T1YenwmrFB~caupI{ZSJI(o0+I)b^x6({mu5oey z^YuaBz96$7n;3WY^OopSB^?u^PDkW^o!rbr)0eqR5pd$IsMW72sl#FlAfaUFgLIg> z-NJZpO`VxF<)ogG(!;)1$&$4(5GXR`yYew-CjFQW)tRrwc}Qp{F=E#n-(nwhf^|9G z;pN6%ve$2WnpA)2U5tf!%{EQ4@Gll1JTcian=uUixs~s+G$KPJ!}fm1WRlE~%_KHk(wMs{eQ> zsmzxo>AI@srG~42q%`5oP7ThqN4F6=ktk)Pvstwhgi_)ikXWgL;KE*8rpY>{t9}NO zAz+>3n1ZUaQx~MZCcq?AVIjHmivtYacalHKO6S?WIJ zU4A|JW$XKg;*e;=PUd=)OP_#5!--z~nes!-xQsx#8jRPf_^2CEj=vqBN7k(Ogkljm z;9*FQGQ~YoEg5k$qyCXDmw3-VlH67Z#vg7amhDtknJLXbk#qH_TG}tNN{jP8bVEib z&6KBicD(X#Ckf6)0(uLAnjHbQ+wd9QING7~5dp|W>4RFWR&|V5RjSIAKi(_9DX<5j zY2Y)lAt{P|46DHB@Xg)v$liFx7a3O{guNs71T;}5S3H6{5YO3%>r|m4Wk-@YBf+_s zaj+mxT&TAwgKNg&#|(2(Z;0~ycYZJPv)~R!e~?>J?e0#ntH7*`$*qQvy*?D( z_N5@W`f9m2=KM*T?>eWmr=YJ=t|!GD$Z+MNyqH+9Gi5OEL)`aayqD^Gb9qpn&E=QL z18WXfb<5$h(9%)efcI+AF25dK@Csm^Ag~6w0Jg87x-az>q`r&pZ38&!EjUVDQ5L63 z*3zpBB@=R?>ruv?u+ikJkbFI>F^$sHQ|&qEE@DGn`C&=_LY}}R?+V~GNoa(5Wgem#0CttE=okLqdLBxI!DnU8F@!i3pLM+== z%$EbtaG|tmp1<+k{w8z|qs;_15GW(=T@z79XwW_pD&&0e2DsY|{loT@V!0{8o!22; zA{oZBw9GCKmf7RN+z`2p`z2R7VYq`_uRtfd#hP^uJ3-!-Nz=N~iMQoTPcoo7>Pgu` z$o&Dg@AgXHt?)WFv~ibUl3s*Lgvoc>C7CV+0@Pr@wNL~aZw-``rjpQeJ$mF69NVW? zZ>5zFMI%mVrTY9%YcO;#ETU(qw?ak>8ZriV8BiiM*pHJSbzKsqt(C!7AmPq2Z z0)q<|&~~_xBehN;1s8zXqKFV1BAFgqf;_{6Qmzr)Cf5k=fpc}#Ll0}#X0Frd==!XK z9-0I0IM!W!WT>1Q46a&m$ojrDYv|DcQ3w#(sM^Qr86C@gA4OHq4p8L+_3KW666-G+ z%=`+0kcXLGf|;Iz8F+3-n30S2qW11$W_JgenFnU_QSCk)5Y8AHCOZj(lT(hS`hT)5 z&&J7ne1j8|pA;uW9pJu+i7W#)lnX zV?NmER^9g?%5};Wj~@FFZ*N|uCrG7zrP32Su2gIdQ7LRni8I+jr31jXX%Qa zR{=JI_Wx$(>s8rlJH@0>Hrnsz8?*}#kx|>X1GHOz)rC#mVUDv_zS*i;Ja=EPwt?Birs3QzW&3RlZDwyKkzE;v{~mKROx97 z|H`d&t2EU#)13gEzD$)}TShWr7deamDa-RR*PndWeWJax&qJBq{z4WfeZ>lI*uEca zA_g9dyOFF)#O8r-9m1M9=8(-C((*k|lJK1GJ{QO{RPvHlE5;Oq2^Eio6A2Nt4HW@h zI5Bq~JVm^fkT+Vj-N=ghz);C5N)GqH30RAiQM-ETabkKel9<*5 zKVg4QRY{funkC8-g|8kQtVCKgSFXJV=Ua{2#cx;xs$k^qMJBZAzoIu=QWwY@U|6+d zMbOP526{inW7uB=EGmJ8OZqSI5ZAa>tQ%5JL!~Ztrzzy`TD78=OMN}$OzIv2>jJNr z*@1_+zJ)88X0b7mImP6H3_WfTt-5~lik@mFP?p~&@S05Ejp@MK-8ZD8MZCI)gC>Ir zEagpwXEk!*utjelzX=h95?2js3nj++fba+_-1b?+$(W&lQNAX@j3ue=Lr^#cQr}f62^<0y*;z_SNf=w%|Qb0pvAlm zK3z z%Sf9lqitBC{5SBAquM+e3NW=bzAt^Y+F!Vj+oWjaReJIbLf5ku-9NCZFMfv60}vG1 zEIp>T4Be8t2kl^cKi|BcV(8mI01dN|4;QZDuuVW17>a&~UC(=g!CLY?q5Mt3Xxogc z)>vEBOU`>TD4QGTl{PY#?rAPvA>G5NeKT$Y!d9f2lF(Y<#`N~0;L{SPX$P)l_qjJx z_)etob8xem8q%lMjR+BK(5ARA3w(AF_Bzgfh zB*YN=NK(X=h>_m+mxiGB&qG~IhwazpUYcwYYX443HxLtiRp7FUCs%U=UkbagDM#3gt7A}8T=_> zbl6!|>@nt{R9?jQzW;gIsdK78$6|J*Cm0X;K39u9YJx$=yZuE-q|-`Bk%8O&hGHUx zn}k?sDFo*ph*ojmOYb|$&9jq`97`V{xX#xrVG+cd>3f~s=$z3ILiJMEv zXo^xrWZ-8`9hHffIpD$y1Ryx~Q%*aeLiSpxQVN&br}oIfJnMND^IX7_bK<~!o*Z3? zp&c=}Go~PD=Q+YJB8lsI_?)MBTZS9~lHL@yH#!2U|9P3mQr-Q}qwXSD8QP#g35?Rv zW~i|#T(~t@xR=7&j9%+ahqPu6>J9TFH2mCf;{GD6sYRP7hT2}K`bH=^V|Pv!x92Yq zv?N3E8GF+>N$&ad!M4<^fH@CMld9gqJ9kf1WQk1tP2%*x1=*;dJz71)CzQpbr>OBUnHr!e9s7yJ5|_LRu?=*sL4b69 zFrlo0%a0PB8sPCeAe5_Xr?*f3?ckjW89Eb#(TfUls@{~tqWHujY56O`_*A^ixYUsR z@)KJA3^)H|p^+uZQr{)%o}USEONZsAy2&FiO|VXcm}R{{LxwuJnqA|3pKu|rOtAA9 zK^@RqR*D!YSm7M!d<)n)g-D$vM-d)b56mKKxi`^{tdr-_5c;0}pHBa`RhJyvn{unS zC&}F2tiDh>BUKeiR4Spo0HLg_YLN@cP|7a3`zQ$88H!IEltn9RJ_cj!vk2iDfOQGs zMumIs?eajwH4{-|BI^%aerPd>r{&b>e7&yV>tM?}LSh6mZ6 zzxE#YUIE8P?-)V6@yH#F=cLZhB*>riZzMpgv}0%PX^DE^QxTEZkE!EGAS35KjC4F{ zSENYpiwBbUYsZy2Zn(vy?}SwyO3KH1mUp!ZO_yFzTT529wXnCEazilDOSJ0KstR5k zM2qZXiD+AGv~~LhvD9TPVQ`lhU@uONFg$eRPMSe$RcYQuhqV-|pMj546PkLQSU296 zoj8BekGqJP)PPJC1(R+$6yq7(ajL*sfncyX@QF~K92Jbq$Md^APAwA?YvRrMgNb%6 z6KC+#Sr?2e0%P@*R7r<~9of+w z*h)P(v+|OLr4JX5sk6E~i~?IzCp1wEu)HVdQQM?IDUL$pfvqsJ_l;48a-WpS8IqVj z6Wf}v^AiODd3wJR`qZ0$yrZNmgYo0S@v93$T!fr-S|l+V(?8!w$bV{>ffV;e_wKs4 zG`hE~>WXDWR4vW}*M=|}q{|78uHq~4bE9&1*dZ_ML-Mzu&ksrG7a9QgAW7DVttUD7z|rE!VA zd0}xugkNN&$M=pz|jl#K+{a zK|LmHN7g+x27``{;1Dz4?yzzVdkaKP2>dh!-WF_g{@5JYOiEy#@D3BtW@)wP<)E0% zT`ex+wDfT}OK)rH!6DU@0`-)qNW7kE_XACL;Jh}E-P>f@!d=^~tgdQ96HAddS3d-jAgsoV6*4y~MtHT~m)Cj$904+Fuv)aU8@^j@+UjkC3-q4@1i8ZWvrQuB6hQ z^3A#%zU3?;afTVC=LdgU-V*)rc9FEiuO6&BsP*g&#F9%w%!mdsXmuAyR^J(F$=I1t zABbN!Xo$aN+Mx5%LHsRU9Ew*BDh?+uWr`k)kM!^$#6lP};Z&9V4hLZ`W5T1%ey4F) z5hwQ#hJCx+w(4E0S6JtAxJs!dt=#*`9V%+d?s+|UGtOesOcgWze<3YltF!&izOKGz z%h+(Jswl#V1}YT)6*rPPyTPT9;jIfe3z-8M%m=Ak!ZxQiJMA}<8~4gi%XnfIcd)FZ zS|j#H>G-Fz;;V_Le_Mk{@(TB{%&Vu!1rht7V5iS<5+_a$9w618HyXC(1)H%!!^&gh zE^54L(2$|42d~%Ql_vNDhTpV7=XPTQ7L2}~6B^FOtO91u7KOEBomg5Z3J(9+iXDew zLQG>hXNVL@BoB|WcaWwSOLaq6&rwxgU%lsLSd@9sCk-frxVL1PAl+iwQE;wW#VaFd z@xJKvC!v-)B3-JOz-#AEg!03uX3Cc?5iNJ=k}`X(SN@yYBaeIKuZj%cO!=Z@s^!1M zi-8*BdUSTCiv)iB_NCz$X5p1JjFA4!C2_?}V zvl5*`A}SmuUD~K!+GM))Bf9hfdQ^ynE)BD@;=nV4ASUshj~P`^NPWo0UBg-@0w~!) zkIpLpY=G8LC2MfTB!rP-OA1$OH5v~kdl@it-IW1T!w8a&Xg6LSBDr)<_ITN#y|W7n zJ9xZIC$)^(;^60-1yO^=C{X{5xexSdX8l$WiRzpEb}4>jg4SQrpkIR?y*2Bn#1OWp z?Um>OhWpK$5CFT)5I%Ct`SoF6Q`^qq@O{W7iDP-`+zo3Sn<(pt%#&KV$`&bkEtH5H z2*EuDhZ8?J5D}H}KPXr`F~k_LU(F_$$~macUw4M8t{1B2`Zr06I47IfH^Xr)J7k(0 zYI`9v{C(uJBS<(l5k8fgVN_c4TL;zr4#Uu^c{TDh)w0;I3^~+6Gul^mh_vgYgvbz?V!^l*ca6J~4=0(_deH*XR`CktX+$;3U27e-8 zIge8?ij`+zly+2c7{jwjBw)C>>a{d^D6j z8$j$2TYp7_xjtONU4#ks)~v696q4Ow>wLl>if;qwWDeB3Q3|2*RR)Zexv zj1R@yyGcNfOPnGY!ojc!6u=LBjV^p?wkxo?JQwgH@l&z440xyo+zkvkmjOKPBFU}o zMr>6Z@P< z#a@B4$N<*KJQiUBbK00B(dWpWbcxxttzI}LHCfbICPmt5fvKfW8?U_LNH}#lDOh5* zhzvTO<2;Srj135w1e*!alky`7z}< z3itYsmHAwl4bU{pP_fE;=+ zP*=pOC^-_>;vk#*=?KA}vyy^Lg<>C;3QxjnGxbf7`W_;PNVY^b@J4+jsx^P)-2UW4LiZG+;3Lhh4QDOf$E?SU3< zBSBP{SWOKi#i32lHov;C4^3Z5nKV7bVn|#6EUg`r$Uins@sS!wG%gOU?5HS`1+F@> zu3gR{w=$^)h_v4kZUai$IA!Ju$N}@970-`wzSf?f;s$a&g12@3q6{|7V#!a$T0Y(Ty z>@fZZ;iEc~&cyOy04so7S1XZk#SFgdLIOy3{94!1;aU(cevH|_F zf?(kq_E5n>9DnzksHMp4pT>>K)5nNBotcDD(9S+Qp;W=BzLrha$Ra#t4ROw-0qCxE zP^r@ZQFa_9XnlfM6=^I`GU_do2x#psDlow;T%X5yvbD7OxxyyX*UQ8-A7=|{UmM5p z!hGR?%NCxP>eIxrH$z~#Fl9Y)TZl8Zisw0i(-JmiN^l+}+aab-q5s49pQpwZsi*im zzYcfwCpx#di<1s&bVS^hPI(xhI&79oKDM**g`U@&a}t~_SApF_AcbWf0aEpM+d-ZQ zhsguuTH)N54Yst`E#)AT3Xe#Y98&m^QRh_Ch&k18l@sx;dj^f-Nz|&r1#ziFYvo?YDr(E3E%|+)=iEsK#P)sv|CbMwd+xbsdCvBn=RD_G zFoSYAzgzhoi7l3wcXV}K&4w<1(A?lDVfn4)y_D~NVFwpwk}ra%gyr{5z8}e6dNRLp zwB)SdDPj5D!26G>V?Xk}&a^u`cuH7)XYigoZwo&Q5A`-C{#~(D+BU=Abz@;c_x-Yd zPkzXkZD`ZL>^lo>l_BpRSq)2I@K8HF^5l+T?6XCGA|{%S?F_Dw+PrG4m$05nV3=ab zuYoBDIy*}J353s^W}6~W8Kp#4SIi>@YH!FNw4529oj&5l2c_hZ-tFrgx7M&0Eo8mIpJwP=r=8Vp0^D*T~t{Wcn_)PyQwda-%%QMzY%q>Dd83~<6U!o zAqUjI$4{ZQX$MOKa44Cc-_Zjxe1l6nI765V1slG>c5d8ZC24=kC0~3VdA2UW_ah!)uQ(3FvCC2=hu`*oaZCXYie)zi*>U#FVZqx zCVt=*lyg7K%?a$6&u7V@WsFP36jyhYpRH34%^NDxcH?%IRVS^NlAqEO*kA>i$pm39kw240jjL6k^ z;q9%Vm^J>Rb%J2Ki}21h`Qz6Jb(**wYGkZ1ZxY{GKUmVa;@NYDfn{Bg6l*X~_v*&U zb;YdP_TaXa+N)uJT~UUQs&fAbs;2QLJA}D)bv3A{$T~#uhAXxyc!SXTlS{4Sih4b_mQLW7sMwEJe3YOe`8KeoMEk=5~^?MsNdCZ-boP$Exa9eSKE5Hh|r1{2Z0sh z9UDxa)Ca__9ct>EDh{DTj7e_VzO}qfnsp0j)g?~i;0MHX^gDFUgm5#W zY`KnQ#xiq%RL1Nr_lGdEa=o$k55o$4aru>xQ1--UQ)4)>5P6`N@rtxwZl%rGFTrZB zAcFHmRL-p_fX_N-68?EO9-YXtQjb5Z;&;3kjxh4$Q~Aa%$Sd} zb5$s&nqz> z&*#aFEjmTTvvR4)nG3T2tzj8;@Oz5i-}pfqbV*$9m;07`|G#|Z%9gtK{s}Bn*WU5D z`t$pz2j4CHPz>ZmoPT0mJn|UX<=;``-Nhc!R>|TFkEl_#vsVA~6W(kWr$p|2JL1lm z8gXMY%{>4%N}X7yu@+2~Xv8Fw2nQm1_)CNXMWh4^S8`&CpBb%u$66wiMtGMI8*A*| z+vBp)-P2hu=iK#XliA@FZA9!Ll}VI5VPdv>$6VSM*&3!~%?ftgU~-=l?+eFd#$`Zq z?GwcUoM*mzCwEJG5R{n3BP1 z%NA;#VoX9;(}p^!@Q!+t$1uLhLpwl<8y~BD-&%r*7i`0!qOCyV-ix0=CC_ZhZ`@X| z+*Fbn5;X38Z^9+mNj!(FqNy!jzJeCM>z$(&t`gDMn0xn19*+vF6phQ0=6H3~>Es5o z(n@{8Q3u{Pno@n@po7F(DxMltoNL{KF9xl9gTx}L;wIJxE!-lw;%{^MO0$}&AmXNE zY5>eyf^s8h8#X6zo#sP*I61%IghXF8s-LYw8bkz&5P9?FK|F`8k{BGsnsNf-SS+p5 zM((oVq=7X#T^{bTQRZ!?z9lj?!Z5JKK>o3naA|8_gW7Mj%GDT{Tl>qfbGt{~VQbLs z8G*r74rj!IP<3S zn;CP?x-8~QoXrni^x7s$ttSUT82`6766DdOk6-I(IQOpLE#}<2QXgxYdC2}qGVQtG zi0s_1orjDOA38}B!IOY7&LyVI2})Op4QrZp7UbbXdTh|d;fOd%F?mFTx8nX@1>P_C zlReJ6O&-U1X?Yy3Q(wfYc7GRr=z-m@AM>g@=!mU17l>>fmd$!}_~$oy_dkzt5Q54` zEn!6uvt=fxwnK3>#ZQOMSpmVmJmTJdt;DCP`%xAcP_2YX0#EfSZ1ZF!p%4z2wxfo} zP0!!5HzGBjA%{qhxATx^hddDsx7~52f=aIRA0$GK3ny8PN3zyfASb?MR;Fa-63Scp zXKBU;Nq)c+Ch{ZicQgAIh$~uF0INi)mB(nNh*eX+!T@l~8T%DMU2z+({CXjcit6^m z!Ej{sglp#%XHSY$PPlgNFdO_s?-fQ0=U&F5xmK6J%icIng&a^2ACnl2P`@r!re}b9 zwm{N&NAo@6-rNWzus6?- zzh~k(8>FqHrNd6mPnjTPb|^AXCc&Z78AEy!?Do!;1iG-qA_rw)1U=|)ZDtbzgy`Jx(RK9>_DgfMiuFO((1n_q{wIF_Y%)Lj@o{$Gz*e+I7hqY@~JsQ%j zizUnCNZaCKp7PHhO90BB%dY8c!n%36i>J%@Br_#=N2QSSI992AC0lC=1x1~}K94b^ zg~@v&r7*-iWwX^_ngyO#do^C|kLgXMp=a6F)fw@MA-fqq?gnQD$+h_;Y`#4!2@EcKL>$C>x7{uUnl+u=c_Ov|N%4przcDQsKN$p0-GZeiz{(Me zljBNql4;H)x*C&G^OuvN*}HzBlvKO?GiyQ33O9Bq=9KS28mSCVCmFTe`837A?A2Pkyd*A`mOZKMYYl;li?P;Bt`h7p`wvKtpe1t&d(ZxK z&z7W4rQHHdy&GFZeT#$oOkFN^t^}ex*vp!w8e#LwV_nFpc?41or+GE&g<2*V#1rQ9 zw^B=7?A}-n_mP*~AUDk@#L@W^ahA&T zah|OId~%{J;;xoAK|{D)fxVO|5px3%^&0UK2hZ$CCZS9^3esF*_oo9SbM4E7`f146 z>CEnjNq@<$_Ye*Oe$~Z|lkpnZf%d#pJ;<4if@U2i5~_y-mpC|*<&a0hY>RYpnl)tG zg7H!3ctoTxqg}RBR~&UN=JbW1AQ8xSCYMvvaDJmWTvuiPgo&LwKY^W*9`b3woQa*L z3x&Md6W{E~&sq54N@+JDQpwW`M9*Lx9P3FX?wr9+-Qn&zgPdttm8mXioLt&gT`WgV z|M@|(e*Y;cS!-p$X00Aq(rDzJg_6MSRMb5+l3c%;1xV3%h}1M2RC2xC7_&M~7(fXN zTjdRAntvLvtj6i2lC{U9Sn^>|mLMSsicED7+}x9(vnSTe1znC;?ozY%vD_+xU+x6f zzOkulY*1m!ZY}9S2pM^_sTD6RUY7Ef!&xX7*_5&Z2z4U5%cPxl`o|doXW^5w_N~rw+|{%;s&04;4kK*fNP zCGr|6L!s(s@i-L2*>QO7Y{}53@)v)sI7-5;;r z$d6{4Fj}ZihdXG?b2X`F@Y;QF6f1>EA1$zhwXVl@sKeoRHo1)J++xAzH?-RKFdP%#5rvjVKB)u~VH{OZ!N72c1(CHB}P z7JGOX@6Xg;lbX$2a_1ncLA`qKJOB+-Do^gL#V1^P{t7lXN$+)CPy4w?GyBZWgWygA zB>sOOOi`KgWJ(8%$6b^W@ZF!t@x!k86koST6JUl~52j@qsT9pA8rQy1my&o-vr->Q zAu76i7M&oM@rtU`kK5Au0U&b~5MvKg7V$3>jJ{SwodyP2saK^6*X;IUJ4hTG1jp-& z4r|c|S~1Hp#-^E`Dn+}hnFDw)z~)ov&K!y^m5~MeyTB46aeC~e;|N}S${IVgTZF+d zO4^5XbW6MH8`QM>TLs7N3Gma`DLC2&0r)7u!v%zu`sROzbKKXYUV&5Q&{x2jr7;1V z?bZA^%oM=J<0tmm>IdbD$}3*3a6v~gVbC}?z0~4a-ZoaF;T`?Bdu~T?aUY8SvHv= zX-rMw?<^-RP6*wUM9Bnl)X_(-Oj&6DRv0W4gb>c31zc(48rDut2gJp1nkW1JlvtGk z@})!h&cu@M{$I@(KrqC6Ejh;_EYjaveGU>cziq6&hcfPRYkn)qDeCto169c_wGO*h z)gDy!Zg*7~Qxy|Ts%rN;x~uw?=B#c14^_2Ol~_^WN_>S}iQh?>OYeIMSbp#ZfXAu1 zRpgZTYCe$iF19lLfG)X2Hy)T~}A`^cdrUCvB$~}qp>Dh5PAvM?`Euyr9YysZZ!Up(t(EifgfM(F#1!- z!}tt1GV$p$`Rq!z1e3u^3gw&!x0TW{2w)%gCD?s2+ZJR7VqHo1Pz3ZwQZ?CfAK7W7 zWIv$EmBMWrj}Jf!e&WGOH(%^$LyE)mmcjN zVBqbrodIHRy*;qE{$B?Ap^!gKTCrmbVpRR@P%F|va5uN*C@DimHP+zo`ggL}Ic~Mp z2#x_~!0ZXuHw}=9D5Eak5wtV&xsu*L*9xyG=XgfDWFDW?CxqT|oxh*nZ7V#z93}n*nl5+?- zxyC#t)2({@9Rt<1BoHqPJaXp*7(55iL}&}|S?&?LPYbD+kSCFIm(UU%!?y7dS@0F?(=NV^u$dIN=9P2>31O0g)-AFL|~& ztovQK{-v%dl|!F}XnbkBHPJAIp64yc6iWQSFkNg+C%_PTgu9i%Nq6!`GdaXJ6hf>S z4i3Gv$G23d7vC->0f$B(2*d7bp>3SH!OpZnoD$`VKX=L!uVw*#Imx}@Sz0-}*sk1R zCHrwYk^Lh*fZ2Otd$FCofvIbyCQuR#SC&50nL7de*$v0B>?ke?>LS=Bug3?{ZLFDA zyJC}_j=z8=*H*g%w&bM<2mhMx5*vTWUM?0{DprtCw(99PJ>Yp@Vc}0Jx7|NZry9-< zCD9N!S?ZdBt1De07{!)R#VeSMe$SaI8hS~qdXZBH9-W>6paE)sp%3~mp?N3meb(qu zS^j(JCY9xHOS}+Xb6|G=@ETZ9??Gp02Zq;R=vIPo5NPKN6cR=kBy72d;)N424w2p~ zVa`0w{3}MUoZySQmErp`M#)Eoama`*k&aH+&5RlnRxa1- zu~7=PS}8rK*J&WtG6urC{kWc-FiK4lZxF_nv(+p(?Q$pCA>|uN-*%Gi=1mK8gE4Y5 z66qvmm$uuI0tx>C!^EV`_vE8y7su~pVlZN|EHUQU=PWwGL!#>@i2rAV#imP079I1G zRfto77GiPP7d9oxCB~=O!97b5eB*o`t$1;+ZEyTI8p6iJ7m=2~7O?~mEq#=%1@$kp z053Tdr(mn!{i*TmXw`FTdza4HBjI6EYG9|>$K)(*KxZojWtT~fP+r}CG#^0#}*?`I&b=O3k zospK#qA6~)S21PBFPh>G?gd&2KPrGko#(RfWS&D8aqbzBjXsXP&Por9Fb&VD9Qpw# z($*Sl+-EGjQ2ce^Z|!C)XUL4&UCe>^|2nznJsC-Qp*k*7GjtA=iy8lAW?3n#0_V&! z#;mS(1v%Xzk3CL~-e>)LK^5FDB$1oClD|wIp@^)Klu|^dxl!lz@y-v5opC4vPb#qn z!LV8Ql<~jDL{Qg<8lcl2vhuDY} z>K%d>6mXd$_Z}j13+GIur`37#{|~gEX&O*+O2Ub4YP^E@eGisT3(CW5 z3{yZanPK!lA|3vfoPlnZ!12lwXy|4MfWqI%X9jGNd1ROY=#vJ_fEpTay8$!c7r5E0 z-$|oHGwFD~yN~mQ;L+~m{DcMRs9mJ*{BQH2d!{h;Yzhzxm7w$lAqh_J4%VzNUu#yH zPc_Z@OxLWik(K8L!LUXM7w^?QrIIk%gO~}jirI=ry!7R+nlni?!<17LuJ4+RXP77)~wk2UO-NQ(&mGF+=jgld>drP#?%#DK?CAu~Jt@oE^og=)VB#I}>p@m$K) z4e%WVIq_i5_a|f*)kNM^<}1#R%Yn#h*hHe>C}pS5hR#rq3HA*Wx(VQ>sBI^VKPcIk>4tS>=Ut zpPybXK?j;BRWBhoxN{6a=|LnJPc?X~bM+F^4m~N{W04EFg^~imW$^^Gq#1M=iHl#L z3uEcCs8#G7(~jOOL^{|7WZZ`7mejUfH6REpvJkrwXi#|IP}I zq|XUO&}Ln{f|u?JZYahK!n*<>?TwcJAWo(}vn#%^7Tv7r6z@hWw_8h^^j&)o0;fRd zfL@YB)4idrjAWcNG(CV-YPuE&80>=P`ovtnz%IBkSYgrhm=XzDLE`itgc0LY)K%tgEZuvX%04145p$juASyT3jfP(X zeFygWG~s8D`%h`-SovuYU6_*YeI$AzQBK5yyWT;iM08A-yvzlN!Ho||NO{Ol$w$P2 zxwqNqMbZOcDGh){Wo~BE1Gpd99p#>$DJ$Dc)a`?B1SYWhvL{klmt4p3oir|MJHkgv zKsuAd;Um|`^go8e2tUEpGfep85Ko62 z7LH=Q_ig8O?;c8Fb!C`bi4iJJC)>h`(~;5~PPZYlpUEB)_~5F^&+J`j>Q}-jU}Cv< zc+?+rKC~-0&;6Ewpb}uIH{)ls!2V)D7*LhN@9ZHZx?~LncNhgmaM=tbBUuOX$pD1w zQo`PT0@N=C3M&71_Q3GtLMY{m@?N-`c8DYvmt@F`u0&p~88*sV7W}me)8F>yQ>CUG zPd=$(>md!gOI=XLN zrP2kYEu2$l7b;NM0pflm*-~a#cEm3L_1NwRwzE0@yt7$B9ns40wmE;v*7RijRW2jz zTQhPjmApw+XC?0o)}nbp#iH9b@2yy6OWkWmIgTqmRP;liaMjeG2}_HXEFoYP{I6x! zo7Ijf2x(iP@fNEKy_7YrcMbo2&69Kj8d+bl_RWPwm<0b74V2L-ok&Vr>e*R#Tj#lG z#b?%{TF7mMK1!hOWZ>^#_svN9qW;m!FCtd;7Rb0#X}_eMOA-=vlX0ERFp&B(A2h}2 zyJh?nm$MEs?4m=12_f7&=rU%-(GORv47#i!ui?&ME{Zjlh|{K`)d6*elGMB2x|(j1 zOf1r%BI?Z~533NmtscrIqoUbDh+SC3;*1wTi9Ln+b8ga_6cZ*Ip?;?`RkQOsO-n{J zE-F5gV;_2I-=h40qKbw(nVCw3De0x?0Vmxu8zn-;H0(6$f38YIiqBwonH&WJ3d}oz z!jMtTP`%JzQmH^`E&f30F6W(Cdi+q zbvESJMr-jJh<~AHBI$9EU@g{S@mCp;U|3cGG9hqX9IM3KOX$}Sz4v~kVz;&EFC>gr z{>xh85#Tgps4f*VXTy>%iKNd3OlO(UuM|O3)6pU#w0|S%@kK&^nXXl04J9HxVH8CR z@7LAuyv*qgqmnlqQ2^7UNYv#jIw)?r^fm@0j3gY6yLE6jNMhy!BMo7LYtJ{lh1Cp2 z=raaLv%pVTx|`|1AziXSlWmj9QF!-E-jJWxYl_P1ZFPO1MLM%5TR+X%?&QwM=(9Sl zpR|;Dvz<>w1ub6G9Ku>N6e3X8 z0_52MSxY{p6eCUy5Nnw^PnS6@^`Fp4IV2P*S^sw3(V`y?A2Ska!&1zgrP)E0n*C$U zc}gJh?^WvTDgREP$wcM6z#k%1hH$Y9{QeqLDx(W31IsP`4nu7SvgoEZSd-qOUv*O( zxJ5G5#?{2Jo@_~Lm^jcL)1?zCcOsL^EQQ*r65-%PZYNA1p4;gKZ3wYZNg?qdI`}}i3(O+JPpD;EkNu8oHGkcEL_4wD{pU$$ zOw$JBfYj$bc85>|qGfUEN>N~k2{(6~%w)Vv#>YjRzsO|Q4Cr2g!Vq`&z1t-dvrO0) z-4v0CjV~Pmlt%(3UTjIJn?Bqv6=#eePnp#9g;{#KQ!;GQuhA{AUU z_82&KQp(+R)yJ?IJ9n8}U1E*Jsr?0A*aX3Idp6vYXYbP7w1{Xpv0DT21FSv#RINSK z-querW|>PF{Wb>U#+2on;TeP`V=L*&W?$UHFXV2PVFDem`eixUQ&v@gb|Bqt69N&F6+HQx}sN zBQJboTtW5>O1Of6*Jl*-RE(n&@ogeR2URZX7o0}?MH*l9<2~~CmQ;bw-nNOwf;Vuq zRHmJpE_(m_qFFl;q4J5!VDwV55Qdn7!h00-=<5J71o)2IBlz&&VoEd4vG}8xxn(I8H${>UXCS?`ZtkS1wnX*|+(;ei*=e7fL}_nvZMD z$CmDoXUa!4IGZloKrB0<0O;Q>txu2rWR@28T}gku6lO{KqbQ8+jTSbUEK|uMT|c(P zq#x0pe#>yuf2@TKakV>M6sGCUkwkAMT8c5$8VFX1Ht?I2=1q_$iC-d`e~xA}B))9DRD0qZ-Cv623#@{%&zmpDc7Ms980cUbqzZsCb|aTVD#|6ykC-!iqeK6@ zGLf7O0eV!t-J1;f2=ysC)e+iyrf~U?6;-3!Q)dmjl;t0k67d_|CGhc#2q4wVQ z9=u(k;9B#a@{Mz1G<|J3lx$Yi+7X+;^M;gXL?=E(9707W{`wW76W^t@Ky)Irr|85) zzGVLZ*s=6ALK=9!xnIsSp{=*=X}jS6Q!v!(xnNWE*{CwqRrd~Minr8Y>h!M%+f zS^uc-deI`=ez!o04;~jdD1J}=1uE{|i9G-)^_PR;;2aG9MGEHQWeQEA5=dq;*+HzC zfZf5cCg2#UjF50U4ni@skUe*MuE81aA#w|E_H6J-Zt%0EJ(t-kPm+_L`P2VUe&#|7 z-M9SAIKE_?pLiAjsjqc)Er-hbICx4}ey{RAaZ^{5!t$HM``+^X<_7W$ zw@)(jZ%*ZErNSE5E)p|x%0;~)xeG6S8Wy!Bq^i)EK|mrcNP=K7+{_Z&*vcbTcH=Pj zz^p*-Eql#5EP}$b-qS?f1*4dFh1!8${5GapTOXku>AQM_Tgn*(DO2?qay-=ZY>k;r zh1Kj9lAIm7x~f-!-zJOPScmW*6)fORAeE@wP5>UbE@FL8wAPheSV3h16JMvIPH4v` zbMw42;!K$ubuZf)cITIe-NZ2N*i-OJmbJjvNNp#;-TQp5NE_Z{8OPii@HQ8eg_AcT z%aam`NjCqxWPzhY5OrDlf|1@OKI+aKPUU5&xhxbLebiBw>xjem=!jX?jWtc)tXmg% z&9bhkY3k{cwWdqh>5YSh6%a2g(d)?d1l5A?uP8>nV>qfGqx^>z(>xJ~kG!g%XJqh{ z`5K1fHaYV<926bh3FY)nV3@U5%syN9m_ z5nPOBzo!#rmUT6*ow}Q5rM|{!`J-gW3=cWtED5AerW46qJ3#Wy5d12i9C2>W2;|NZ zkqL>kEy+oppqGhBT1Es}kJu*us5UcaT9YtsvL&A|q9h`Wa=5j+*qz$jseR6!8p0ck z9MDu4>;XCh!aH6X9X-9cjvK?`$?3t|hV|aaCCSDTqysZGjqNp!uhckw!p?%;HO{Q! zurn8<)e|^Ki6O@t#Cu{QNESaJ;?~Mo%GfTJvCZ~-L?#w}ftVj^<4zqjIl-{imGNZQ zMEU(k3>!B*fd~<5KaAvXkt&*HEvT+S#zNL%zKlg}yPJ5(@A$)H?fR`e*Z; z@qS4^c;Sbmv@cPf+l1CmBz@j+bmoRLfqy|(Gy2u2yG>vrSJMhvG1W9rR!lWb3|5R( zScnQwIRuRGUI~)HAXC-hF&Eb^I%iI*Llg9}T~Rv=oX;DPqx9q3_@*9I)DO#s;dXje zhNwpxWk5ike}Xdgf2|jPdUaWkeqYo*A?9AhMZ$TdVb*VrJ7IvVy7<8{_v^wGNu5r2 zhu3jvD)4_oj~E?dP6Ai61{c`q^8l-eikhhoubl(2qJ)m9J8Kk;lu{ZVCaW+@Q-2~L z{Fs#3%-|NqYABO?NsjR>0*a|^%pTT*)ZuUp?Tl4^C^x$eg1%yvHw-Pc7JmXzk!l z>MR6Sf>T#&*NT-N)z1J?b`WgVSiSe4q041r$5~T4P(}@sw@xiGrwp>$ya`W)Z#rV! zJD4}E+zkfKs0=v40yVxUjDm=8f~b!9EzUJ@5PxKV5ExU1Gp#a6-lNaRsf@d?y;eEC zk-RcCXjAJl1BxErkU)}MBjWU7t--1IEaJ>%*`Zp;46p_N)=>p+e z5^N_(NP^N$5`-}a<0thD!jLe`BV>g$3FAzdKrDdT6)LMv*XY@O1lNS3b%SqD2MeYS zau3dn+}v|;%nq8xln@VAkqYib-;lC5ejEwC7Tj%fi!~-v86Q(J@AWzR$12O`VF}ld zRbEy+??5i0MUh8y&U@B3+wr+$SiW$2(ZLv9yVgoBkXDUeB~3^i8cZv1@_{<$W|UXy z&?B;=H&k-tTNqn`fHF3#xQ5lQTGK9Nh~Xd?BZ<+9T}Z^RcEnpLEkcsRQubUH;~BF? zwN98C$|5d$wFqE_<+`{)6%qE%lO4h$OI&DDkkmhu!4R2DqYLIP6R;5v{{)2Dge|sW z+r5zvJ`-C>uo z#F~eor3L%T3`-CB+RL1fZyU-1W-xEnywQXVxPPs;fLLq4Y_IIs4GAl46k_O5j;=Z) z-Sp5UF4UdTcMp_);r0xQxP2I!;smhn@WMs10=IbY48wWLpQL2;!@KFZbEnx0KP=OE zjke~Q1&Pa0vjp)KgY@Xf;nDQt+QUwlH)@?wZUeAhCxo9M#&0D*9yUe_0%-c-ftkt)E$ea7e zfAH5?b(<#mqsWQUy0pBRn=)EGowvqiH%VNZGJ#1X?OQ=i5L`)+UX!wj~Fh<e8Z#2*17q*(e4JsQqRHcUAbI{Z2#0+{b$=+zwBndpiO8s-bR;j$0;+?zf;1_C+IhD z=ZI7XCi2ffE;m{s<{q&32j#T;EJSjqq~raOnp!2aN6_Cm7O@%zkr=D)(O$j8Up%fJ zpJqKra3VP+ePJ)I_QyVd1QlF7;AT6ttLq&z;>brG@#(W5*7VrI=XBP-Qj4v;1fwf3 z!7b=-?|2=LsiI?t`e8LP7YZ$R8`kQytU_z`s---Tt4x%lwApTljKomS>dSszSUJ-U zm8R;FWY^xYowO}>$T((mlqFXGcn1Z^jFHJ`HQd4tXG11F@BhclUpU;X`Gw^@Gyf|W zLC*^JALt9PU%eRorF_>JbjE)Bn5;6t_MWd74Ed`0x}B|k@A>*7SK?a!+XTL}81_|u zC&GHvxrhF^Sr32QNBP%KY^$#9kpCp>1>F*nqm8t+(DTS5;Lh!vd#;xn=jCA1NBeEg zf%}Yl&j?XLtg_Q;xO}kK7#qAl6Ygkc=pAN;E)$F(?l_JPiT}^lIKa6v-i%Yx_} za%wxbGuB^fXAcBl)|cOgJ%oL?x09VP2VnR5r+DV8tjP5U#}|lYo6lG;+tIEdhi`H|K^q-OtDkBbv^Oj^o}fBGQBHR>P4Z zB_*EOU26(%1hRwDd2eY!^g)*H2Xzwu7KU3qhh^O4h%kM<{J*(gs$ryIM5a|+^v=oE?m=Bpd z%!WpwciPpXowZ~HWy{_Tj>oIr5{%z>b!w%Dn}vI_KbekIzs5@?X%3S`c3_%CstAmi zzWi=@`;%1>Yy7Ktu#H%;S0g*{D*X=>U#!Ncqzfti;YTSg*fb+M-U{$IQ$xrQ|HQBO zDCCNNz*l^fo!|c_ReY(~FJWpcB`W9n7`UyQR`MSfD0e{Sqbl>xi0z`?)9_7t45~}y zL&9ouELQOxzK2EsWGB@ksn%a?G2}VmVSLW-3I<4=@3fXM39Z$ihS3_r=XB)dcVqot zt!mhQ-NCw6H|Usez`{fb|2ub*7-3_~tyk6;! zcQuak29QU*a>Xh?w;IM$>`6J73lcdf~*?n%lzNmredWGZ@ zHlkcgPtvC#H)ⅆ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%0A8%f=KJkYAuPATHb+M(s*dN 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∋v!kzn1u=HW*%QRObQjM_{!jy|CDEp3{f$Y#??;;Ic(OifBU%G=3H^2>s0HWG~GzqrmWP zGo!=2bl$W&0N3CR0;=XU21@jSfo*ZFWsJ6Xx|I$2nq^G1d4Mg;N7{u(>v&yc4659m zO=cbJ(6bp`XFnU~nNK8iow!c*V0JV)PTOK`La^!{H=>vhabGvkpB7k~a@|qLy`}wP zv0H3+^ZGmO7jj>87rRa};w#Wpy=LD9!<|LbK>qi6 z{RM<*&SJ4tMVdZDnex8G5KWu|eowfuVQ^6GTgWo23S_kH=P(!Al&jgjY=C(~Gmvo> zHV_N33K}d!*W7^_7VyMkkVWgg{>dn@tgbdUwVGp zx{6%xCFpE8a5)FS;y|neytb{%P{*EqsbYtuF#@Pu_=>}WhQkf$<2$29>sWju~^rV zd^EcxN@f)oH;VJL5+RhVF5!Vut%PV@^0uM=foxVXEYxOwPJ#sh#yNG(ftm9 zKZ@t~>z{LhNL#&Idx9)%a9`GcÜl6dUkgXU6@_j%Dqygj1p8#;NfhE874r)B?r z(e9+tn{yrTN@~VJjr$dy5cf~KXt$K%^TtvK_jkb9lX&f;evma*l^l5u97YERw?Bx3$)_DhF*+nCb8{84U`XrDe|B77l)_DySd7`<@LT2sKXn_`m zyjK%HYJ5`SGg>*LqntdbXe8nJ5oFo~K$24stldlzoe*%Z%tZ;tkHqD@jCQr~?n~Jm zrXh7NvQkLg4rp&KBeAH46!oI5#;s+2Mrxs-rC7#2Bz7hrm}+AN=m;x3fRc)Z@YF2| za;@W)I5E7zB!;B0sEg*(@mIPRZD~wdBv1)ZzshcW>s66P-y?49~B`Nb5wn4fu z2T`vwS(SyG&2@;?4qllEheDgnc0wO4V>JYJsz3VdPKR~M0XU_&>EP>$C+B~kHMsX0 z_%AeYDJ(!m`)bxWnQutU*LW_#9SPqjj?;Y)z$2>>pvlmD7fBvN3pm>mMilY_srh0F zyk+oD37T*I9wUEYkTl8@aOF^gZs-=m_F5ZJ$b;pTs|^8SOAf9xAYKM*(ejL1Fz`{aDJ>GMEtisZZvE4KvA25$XUT#^J{V@Au z)C{!^h|B$%SN(LtkM%U}Q*6fp*iwhFK27HSD4bN{^H`47N|9+lKyNWr(Z(n|DzWRy zKI|?FuQfd?_ZRv1vs1LUDHAq}PxU`>y~5k!Ss3F{U~9@~9|L0pA7^=N&+2pfQ0Bfx zkHvXd&tKIrf^wzNo2RS#QI+SbMIQ8cJNdAH!PVhTZJSA5J)^NM%jbhrtBen^=gLD(>H2zcca4BoQ*evlt{AL!yjJT`cD5fK<@>_WJbj*NM2T_x`52N*XMs{o~O zp3{0F@tz`i!WybZ7i3pZ4e*EcQ2{Fgy?mu38t+Mj>f%}Xyl`+DQ*(ZLRT-qe+rrmM zOLm!7rKy`?UM-2dRCO7cD83(84!nmiIRqa zmxq=CzBhf31K z9O;(WS0b>u6kR9*cf#V5!S!WmXGsk=XkV)Iyi(k@v=~^L=apX1JIiwWvgkKOa~5!~ z6{xKN9n~n=5OGLufq19m?#L7ys`eu&Y3F^tu}o)Q9OZrN@JwhPw!YKmB{tlaMfb@A zofv4{@MjD`xUt?sL8S3%H%8kAPjQr7^F&e5L13xFH}#=+0wu%-qEW_k!JHz?FF_?m zy2%MZ*tuZPjQ0V_=R-2I=O-?`)`QIg=AFIDx0?}J;OK`;dT`u%*2{b#5y*R;!xD2dlXo5?JJi|2_wK}Ssqdm0A2qNy`7=p?$20S?CO3JW8Qfy>PBVDXEO?W6 z91(_)1ZG`QO0N%5UllO+ZE7>#io^-pf1qT$)3Xt>GX{C6YYcA=A@F!N;}?i?Cx&RR z8^CFr<4su$zHdw49zrIFw^qwU3VOp3t@as^xA^4xc*Ae557MSUa5oY$1mx^IB@|p0 z;uRs(@pMRZ5A(H9v{RV7hoe)%MRkM@6Sd!@lIS4sXFYo%2D#5gXYXw1VNQ12)3%eftj`UZ2H<5Ky*@|{2%8d;Se7XkYX`;KlGJb8@ z2FM!c2J>TNER+LB5K$+6v^6}<4S=iN85}~c$&9sel(7((#K&nr2>qbNfa7+n@?F7w zo+4BUe>Qx>U2qLT#q=4B$o^dSD*RaQvEe%IX_`2^+cY2_F}I;Se$VQ+sk}_^Hw;na zTz*{@v)t6w0ki_r>&o(;uCF2L<_tGXSq2VnG7QLr+`)B-lW{*+P>(7zl?Yt+-BtTX zfjv@ixd5Y+3DThXPID?oi%ZJ0bQ=>;N5dS1ouONnkMJ0fCwlf4)X4|R4d{UE1+&<6 zBv>oB|2%b$GxPNKm{gXd3|SP`eka+LyM9Nf4gdV_5dLnB`Hsf8tp?x0vKKq{Er_^d zYrjRT1il@yJ+$TsmP9R zsD0^WeCaFNRQ88<-&4bfzTWm7je0n;>KkAu5A&?AXwG9PII#T*UymwV{AIjfpJyWjzNe$l+CP0kZJ(F&+UM;RUr@J7Qr=d{KzWzSQr=tH zUJSXafukF%8ju@Tvr)dFTC6iFQ@w@K>MJ_&>&TREXx57-6&%^}S_2;QB{lswd+isr z=>2HhA86P6=kUP+F+@p|k0Us``r}i)@C%y$2N~&B|FbAsr}t;_)XAS=uG{cg0L_2m zGYbvh;&a*Xqdqrq%H+@C$7%kBz*D+@5!~}7js7Bd{R^7^#V*)U@elpj{=wH#5|^4V zL9J2p$6yxq$2jWmjAC-_;xcnhI%`A`%-vm>^^p@xK%a?Uo86eBh?VQb(p|VrsfW?m z!7-I*IH`>@iXTIqc)T3{_r(s#VB$H7jUD|Oi5)l#mRl83omj8)$Jtrj{49F`pShLb z%S?q&5De-dwA5&xVzfY}G>5O1MnfGvW$ohEmISFBU;(NJNnCa~1Ps>0b@PNlSHXJ@ z83|nsns3yJpBpCd)!@&2O{LvxGDzaCs91aA$Eti{V`&_uW*+x|8!gZY1i6lI9xT~T z_c#wNbA?X0sRh`?kOCW7!$3o33;`K3)`uvHj=AOJ6Ti>H1TrH0t>MNNqTannyzu^J zK+ZLzd0r%8dl~W+??aFedEd>y#->HMd=cBwIyZ4n{61njdjTR@%Gg@SHhPjSk5OtZlR>U@hs$7M*IuLuMHy`4U}uAf1it{xg^o+ zQr92i^_BM9kgJu<%?Pm7yOPLw1nbwBH?VjR!Ay=MG3ip6upIt9J_im6_ist92tugy|D_WK_B$%ORCv4&Mvq{X4=Kp zK(2uCfAM(5Y;7we$0R%fl{7fOTeH?h<_gu0FyEBav67Msd`1%zl9b{b=sx{LN|OCu z?(2RD-T=1$5@{O90vE6jJIQ+1@HMx{+@#GF4GB0eD;a%dZqlM84#>F1}$pwg!BvE;0xMwjuaUl5Fa`12hIfsa_<9irBbve;QW0@p$y zxfx+xf$rtip*Jn}y7vabk~0(?{+hL&abTnGMN9<#xZEUI8dr=9!q#vgsPB|{RVr)= z@!^oT5aOF5y>FOv!$n_Qa%%l!`q6!Tb_w4O9Cw7cVf@WiTIqDmWnFb4^vYt~E?@Z4LiY2?~=552hN% z0)y8Wu^BQmpP20C2JYvJJ^}jBF@^Ujz18*Fgv!{E1V>i}kBewpiH3Q<-Btd8G;6I3mR0yoDOpTtgCRL`D z&sf(h(cWh)lwWwpI#7w4KAVE0!=8=e{B_Toxc17ke#k2U)~rZ7p0|2bq?6BE4JuOO zilTEx?p;xgsmN0*ilr5~MJ3U*5+AN4eyYT`Dv7q0xoc%HtTIonES6Q~b(O`Q%G|k% z*jR=8SE&FaO%-vb3LmYKFnrP8;JZVdBciWdVh|$hT<;p4n-=IIia z>`UI*!c1ywUBMLJG$_WT()yrilqzXrW@k{3&8vy%HQb7ML zrEBlgW7@0qmR6I$)jBi(S9-zl#2!^+pgdqC!k@ADJ6LE1)Mju;9H>Xv^*%xTIG1J| ztw$X*1~GoD%QSY^Lt@Aia>!-9gp!llz8UpsN{+tr8=8}|2Y2dKQkE|&I`;6(Q|i&&M*=Or zq~?#lJgFYFe{89N!`q(G>wigCo-t;AO#_}CD(iCjxnJSHx#wFmE}2=W6XWbFm1Wua zD)F*e)#7DWt7|Bm_rg&P=M8;DhnBkZ6{FLa^y4cvaGTuMx;b%W?>8(c+Kb*Wx_m{K z-pE9)8@>6;wt95+O_BR0&3a30gu?!xhZS70w1$Sm*J{Z7jebYN#rxiokLdWWELrld zEV&w&N7a<_-kP$!LoF#Ut|iaBQcISMtSw9S)Rraf>&TKtb!5rqI711YzyE9C`srF@{Sj?cK@BeC#1DE5y+Uh|27>VE4JKUDYr zfAFE?)*tLE-%`g<10%krk)K-U(BPj&QF83lDCFGFqO$z6uW)AX&tV)K8rS+~elAe3 z>T`LUJ)irbH-Fxkr`4mbU+V3@;;mnnY4sI%|4Q`yn)iQIrpwpZJ?T@v;h(;KYWz3c zsGjIlk9*YT)EFUi9n$nA8PqpT%*sHbyvAt3vFTBiEKiT3WPf^Bl*IM& z?0$Sy+35rqn|{!6shINVTTa9Lk*SSOrd7xo~7 zZS#Dyh&;!?m9s$u-Csq{VR%i!GA^GX=N`h!`q1O26siSIZA>pB&K*)XmB;PapO;6P ztKN#%P=z-|zljv?syL)_e-&z1{;T3%HITG2KVD*$0-EIuaC^x3;^TP#lkuGgd;;5~ zPrzC%DJW&mqzQ&G&){W-vC-h2hH={9Lx#T64F`kK&W-$w)gUh{3JcDQ=Py}}x~(>S zxi%d%pJ-%LFK-m`ByR@nQQk+dVk>3E;OPK2m4%FbVDCL>85b=+Wj$3;+5G$tyHK%R z4!xZpG0)>MemYymRUh@Sq$RMUUkvqg-vq*_xQ_j#4g=;Q)>|nEH2IH$+r`)N2Vd*{ zar&k&Q>#P8e+^%RfNAfCqHp;B?cU@;);{cQUe@a)WxE_ITUp`%MCG(f^gHnx z*TP&^*cb0rF6RXOKY?KueVE&G(IxnX&XSV`5zy+Ux0}py;~g+gzFk1+*KbsCCFYw=`Xi*tbf9_s`p|G_q}qL1pN0N@z%F zx{z+~Dn*Af1dg7~koP`NEHfUD~)>nj4f6IHyAyqjwqZSq9Fijb)5IWf-Y9QGBsX zVb_v#3uqiMWQHo<_Fw=}W^3@?x}uO<!U3zQfyju393` z)h%4P(P@ov(IKY=SH~5nXyW3=GSAg$mzeM3=?SQ*f65;FzWZwQ%X|6$;3q60{e)#N z6wb2`;Nx?r7hmk4>ccTF#rs$CZ5z9Z><;@Sg+vEMgVq81kB;e>Bw| zIjbXc@w+>~_$}>Amt7tlY^dW|6ZGN`59npP7~G}^t%bfNU;tU8B6HD2+(Q1wDs(_a z)}HupX`f2c{s#dKFjkLdZ7MTRL#QmmMMg-boN|S4me=zouI|&Y22Nq^j02!l4J6=w z6@49=N73dxX{xG^hu>YDj3-^xD$R28BxfdksZMdk$?&?(aB%}y;g&hR9=H)dYv~Ws zQ~F!{d`8i;FdzJj{vrJ~AIs=_O$P>dFvH)5O2V2Z|4BZ*$9!6Am5S?!kzhh!r_ems zCaZ|c)3Ck1B`sInOZAUad9iBcsk})oLL=V(mS4#J&`D-)1Gv)OFH?sVSvKT3zjU7i zetcX1oF2k{r)Vv zqK{{p9%~o#e9kCnp!?gaFkiS~Nb@76N6!2F`eTLH!QcI=-Uw6^HDnXw{o*>_mvTN| zA?NeLuY+T9PA;&I#n-=IQxYzd$xy@I|C)n7v?kYp+PV8v@PtvS=W~O*CW| zX|ATulNrU+3#t%*<~`RV#KD#JoOjZbU0_gM=`^o9X@}D|EV<-<6R+>R)+Ok(*`NR{ ztG`9HKvKncp@H&+uvITy)3C0*tkpBR#;=k&bnEr?_1Yo{) zmbsr|4M%{BqF;g%qo7*7Rc(-3;M&9c;a-nuRq1!um;7GQ0vRvA>ob6%dQ!ik&~ppq z5QX}ya?>J9WxOxE=vl4O>(aWuPSy9Rye;uK`dlX#7|DoT>uOR32sP;6a7ALBzzs@fg zPHXwsC27B+G#sm@zrnBk?AX1>`#r|^FCBk>g&kOOWoK%LVy>v|R_IL)n*6sKVB`Jc zFqW~bA60+{(b_6>jJ3^iLYR|Cvcqt`4vJ%37Ge%mxV8FeLkC|g`Y`c!1h;fanI^Kb zU8nsf;3<7B9{wvmx%Pyr9`bEQR^br6E^cgCbKO61fa@dA7En1Rp z&)4_B6QWO))P76laQ#R65Bz099noLzIUmVmyIF%Z<)~urQu(6tX~BSvKd+?r3YEjG zT|@tr-@o&owio>@fam?I{x1JV;<0Tiub0?==@QF0R~vcjll#@C9a;eL8p9k`hjtp{ zakQ1l=~9PQ3UgH*?1#+ubwCMQ4Dxlm*xuUI)*oA3nvMLi?t z>{`?!Njp%JdMC+irzOd2cPE)!YtyA9ck?=6AV8!YjZ6vQiI-B%X|-SxG;z1pXcTWk|v;KIYHxizWXBdc)juE(Od_Tpo2VXOAI264mVBcR>g z_*LrBcd2{%X&$)2t4(J4MlZys)TCoCw1@To>PzOdcd66MX0vx``OB$4y+cP{HfO&> zeP2oK_zul_MebThzh*Xjhi1QK;zlc8!)!p4ef>wjlA7kW zntZvY*}N9F$7EcKht$$1*5Wm_(zm?F=WE4!*5+2VO~~DAKMbE|?Gg~r)Gmz-j&)?| z$U3p5b$EB3Uqhbtp1J-#UY;_{vao$lbK1;$T1B0MyDEd^X5fmZG;&|)~ z6Iq+e4adn_IJ>Wc%qUiC1pz{O4~4fV`Vocq6pb1=m&$v~33oPUVG=pO0r;ls!@H(% zGbOPOnCrqam&b0-8luRAJsp9iQ;hx!Z&Gwj>AMndd;7jKao?Gog$nHB0M@BntT$7* z$sPBVc=s0g&Mg$F2oF?@NfMV=G-6~O=RC->{=zwVTnc$N zuxE4>@8bb`uYTV}a!7GRDz$kH)>O9>!A{g7(+bpc#rH3#2>V*?(z%jt#v=qIOWERze19xguM zGA_9IWWug1{(K)!m8aXobp%N4!7cOO!M+_cZSPP4qQcNeU2Q@}7yQ{hR63^oTf8h4 z`6px!3VT6-c9>)F-pzeBas_wyq4yNt>oVT)vKDCN1iyO*u0u@2Kj2+bVG;w*LA95g zNJ`bzKz;&YFEwcy3il{_H79aJ(WdIkkz{$k%-$Vo#7+ySK|T<8AiOd3R(F0FJbO z*q$Aw@xWKY1sSntM(KRy!`t7fu>fXK*q!}|RFM0Yex}_KMC~Tf$G6|fhrK!ypgHZ$ z257DG3cp_|>Yj-iG1DIP6b;YZ@5AtY+#dH7^>|!9XXO+2n5Ssx6Xzl0-`(H21}toA zal%>_jSSk!@`GGe0!QE?Rc#CtME8zBPmlNA-Og|)oh~>(Lrjv(JnN!cF40!!uDTek z^Jrbn)VYaabTznb(eCp0J03vY4*2XIF|fJ8W=i{_cCQ$njjk)KTPlr0JB$+cKt%Tl z8B70@X%7y7a%5IQI~>LLJZjj8zq)KljF>56FBJi>F0?nraUU%+W%(w_EkK>@;7vb`wyk}Bns3`U zbBp~1j<)b&OS#OKj)L<(Sg#(o3zI;hMDNPmGH^k`Yi!M3mXRqdICt;F~w5{!&pQi z9uiR$-w@@Ya>bK#Y(q1ee8`lu-FdHm14)@Iqp!tX@8mFEB>5l-;jH-k!;W<7>ePNr zqqWXJ>vX`t{cY2!ulwVE>9kmg^=XtR0xeNu`#Yx7TD$ISc%uVid>Ty;Sk2REcQDd3 z9US)l?&&lq;_sSH>mr@dwuh4Z?bGQ>l8yVfj@h`|fS8SI=frv|oztm*Y7{>XrABd} zYg!a1%}Eoh(s)OjIF`mgrHRJrJUZQ&md-2Ejm_zNG~H;Q!8g-Imke&6QMd_~x=?B> zMT|hlRG?>oM?JLD!C;5p;@~xog!8bU@9A9R>Xt-%%_UHF2PYX*l6Xu}>IXUg#avZ` zp>C173Ad6slvi$tdWMJSz${6CcOxwTxr;PWNDe5>ao~Vzr~}qzVUoMx(r>x|64B#R zo!(#P;kuZu^JKk9JId?XkL9utV+{Ug$$Th194|JEAUFF?1vye$89IJ+GREQfBKPlc zxUVN2TMv%~@rXx9;(#_n$g2b_RLGnXUK&Prs`~hx_5A_J9sTQ3ekk}o&e;>PCWq-v z$Qp=q!dCk*bqec!!aO9bj|=m(u)ZM7E0A;`%)KJo@Cf%$%tP^ydVlGc+K9K?h!DzS z77#@*9j#c$540I6PLq{Th!25$N~15~L>}k3b+2_A=ftAm6gI zmNqvkB6-U9ef^`KaX)`1>;|vOsFmKV9f*_VAa8~(O~ zZsV9qr`+G8!+E55)nnk;BH@C(T09OV4m9jzP2`RfBTSxP>a$GVW*P@gK52?PlP}-N zLxwthzmN4z7D%!GxB=b4A+?iDS_@^JC7%v1u;FfVn*}Phz#0olY1ZR#UtwIbXqb?D zqQj;aa-J!0&T6j<@)qyoTM&Y6S+j7hC8kw)OBvJy;2c6 z&&Es#wN#B^GD1>%fk!%wDGr|FFxEPFX;Jgy8elCODAD~E(Be|1pQQR0TC`Y&UVteH z;sS@96}LEzyj-df<1@EBaZfl31r5G}iGPq84k?CHJAE_txQlTep!NZ3k20-OWiN?9So^ki$hsFS#zLa~6l}hBA zMGaKh6tK-?|)@|L+G*S*wBkDT!$Py*?E zsiz2cv}l_MH$_S?A>+mdSz?04<1A=jJ1ueC;-eO}4L2>(UPe#n6iq2;qe&`{R_lg$ zRj0;EV19K(MI>*kPG?npdUfzHmpk_YjnKkds?&aFU}AM_7-Z<|1b1L`b;S7}!Lvr1 zfdkd4t2ex+I*s;z0L9ZvzEuq!vofFwmOlRlT4%pB}@TRJCASpPyDh-ZBTUDjwvFPsGYWlfqbUwA} zvFbEA4K@=xmk}8D0?o|yAFE0$i-|GS=v=mSq&l@LZXK#lJxcicyg>6xYul?*(=xIC zRcU{jSZ-D7QC3IE?y|{EtI~jSR{g59^WoT`YBc(h=z(gq@6nVqRjAM7krh?x$0zMQ zRcYu`#e2O#^`CyF->+$U`5z`!rK!)`s89EbrKbIwmR5|8c!Bm-L{qn@R2*+Rt`eM| z+bhKyRi_J;vSIkIEEZO$VU?}U)o4~_>qb=q*btZOs+@*VS6QsBO3kXo7NagzFme`G z5qRXrDx!T=I#xwiJ+G>0SB<+>6T_?VplVCe`URT+j18o$Lldsy@Bs}@D43;?JTrVr zgU)>x<@w_$3!$nqTs6=exOw;w5MS&Fw+F)95zaLLK7j{Kjul`W=m<_c!fD-H=nHaE z@1zD1f4D;pcLKMiBisSmY8}{%4A#U@h?+D7opMHTN@EuW>lBx<)WvguZhNSJ5g}P_ zg41+Z6@sI5?3aT5;CEKvgP!ULV~f7S5n87sHC%X+4$w>hI@2hp{J`WYa3m?gUE*QXV0rqJNtWcXX(ojj(>Z8Ild@ zA?%Hs8cC~cx@Oq(Yy{ASCfSH>i(av)n+HBBj3j%Q4Xrr@K7v7J5;CaGHm{?_aw0@4aMQ^Ox%^FfDb?uPbz^EbZ0&_&og^{zIWEglGRk9}uuwy*YqzxSL7%;~_zCIOU?YYpL=6pca2tow*TG#A_8zbyd?T6zsKo;2w7j_4B>x-PD1(`v zv${#cY<{~x{hqhKi@vHU$CL$WKioP{B2;e!Bob9&ZyX9XF&9k%x1}7O0i2TOM9bp6 z@XqDbm+297;x~-2e(W>!Uvq|p>6E);J}cr3$2Z7{ zx}Yi5Kz0JE{U*Z8WJrfpNqZ_1vIn_!5v$}~umXVL6=DUZ{TwUs^h76*l*-0pr`Y1; z!%i{6#pj$b9pulh=->Cy5B?b#0PI=YvDR0WFvaT%bP2nwgZHQ!_$m&{P}jmbik=KS z2;8t&@U7!I$X~(&#BnZNfO9G6qxaEw{_ei}2Z);ozUbk$iqYADnZ@Yn0DB~SnQ*9C zqa095tOgEh?9kgdc$&jl?%??eDmLD~pMo{8k(z|mw2M`-3gmXG(Iy7+E&)>5oepCU z?5CP`CXIg5k`}>!>(Uz}!^*E;kI{O!)-{c`A>C^j#vK3V7>)KNjgQeJfA~U_R`>x2 zp&db_@T9z;F)T)_L)u(0+lGVPlc;yt+7hKPVQX%b=7z&a_PH}G8btVLSmcGdK|~CT z@T`d5Aj<0_;zopbNAzJ)?hq9Nqr5OG)<=0?RGf|?W#!ZBV!SL#zmmiqVq##77sLcg za+CF0DLgq@%unIN$)a5fpGy{PQn+1;n3}@tQnHt)^2HS6bSn2sHP)o^;8cmb8=fX+ zq%l}zPNZ@3bkQTdzW-}T!4~m{O+Gs2H6eGl z-6MQ34_R2aH`}F@9OG^= z{a}m_$MoFff@VWINxP*q@b+MV$lM`(!2ylLsey2NxKp2sz?Sba>E-~BOymxEiY|r=@G2OPj~e2lheo?)`2=?}+<1mZKjYyAp0SY63B7^IS4C#w zc$dEG#xAR~3no*~NEZ(*Qnm0+OHE;8s}q#{5)`~zwSIJhQ`3t`&#NjZS`Zkjosq$v z(BI@*fV_x#oDIL?K|k9thFXUD$yOhKKbXt?3BNG z^!$`1hgOd)3@xlL?KJ~pXP40{i~6|G`deLt81i+!37V;aX$;7s7G@>sMv~%2Q@Yjq zS@B}u zUKX8>hAyENvDo!28k`)vnMJ3P!&kGYUFt!;oJGyjg*-J~5@h$z^gy1QDfVY003_NZ zo0b#{-~oGzMS5q`kgQj6v~BjwyR!L6w&;+p0FYFWWEgn;X2rcTUMz1+& zr1}!{IJFwYX_CxzqazFAPY$T3@*BJBdYdU!58#XVJ3`NSRf9@YXoKnykCW`C@^(dU zsq%gWXorIB2KxW~>`$jV(hiBw8LPchm6zfa!@{$QUlH?ZY!p0&HwkrAp4ekrQvqo(k z;fWdzay)}&%JIZj$(d%1(Rit5Y|!|)W?a+wd=Y>)|2v57YyyIE1SDng?}Ajxc;sr; zyB-PPRfI9ezfT^&fhig@fjULO-es#Zb{a~zVf6JO5vKr)S{sj)FAHm$kJfpufj;VL z+5M3N+Ij-=0V@OLjqT`q$#n84%GcU)GZJu>Rk1^oyCg>so#sl1^a-bR9nNK^wMHg0 zfP<~4D>&Xob6xs!7cZ6h{MzVRXPpP??#a?WSJW)BUq#!om8(%-7RTh0UG9hjc7z4^ zz_*WGLN*2#+vKs*TO71WiPuB!K`!8=3yP-&{3FU3>_0s}iXnTi*V^F_*74cED%kXsgFmhXk@k$GICb17H(pu0-flwdo+Q{_OxeWeZm zO@aOG2t}I*W-V1La#BxC!yGt56EijL*o}6Tnr1$Tqo~#>ermeGHaluvCBZl z+0ia3Pbr#?ao_4(d8ZF^^;w?acLb&U>UC>q2vf8xQCjGg=O7z;^C+#iJ^=vG*471(R$H3`?i9N+`ijq3 z7No9zZAgG7_~m_9`(?=%KhB;X&{oP-T{{%u3jysW*7=}V803Z_(J{mWLfZ5Y9|~y~ z!ifFVIz||g&8xyZFRZml<3nNXbeNk)v^Ei*649{SZ;WV-qkJi%Hc}bG?V-oL8k|nt@t!<3w#;sdbSoPTE+V$GEh~F5c+UAve;sUOKncWqBtZPZ_9d zBlLo&U<|zZs%MT38&3+%7cDgJAcWGmOM^DCrvUvY+;Q4wq<$CDz_?dP>r4-Cc!*7{ ztx~gWnq~!XbdTl39h%xY$ya+}`W-TqpAoAs!2z z%bBscJdJTqh5P=n6xZdfTbgHic{-RTx5i^Lq&y>I9j42C?T+-&Yqfi6Fkiyt?hh;~D^pC<)MhCM0$qf?#=;C9QODu#*ZDQ!o2YX5W; z1!JC$;*=#%V|Z?R+C=f;r?F?A|10_IWxoooD^GiWWzH{8Bg<_&Z zOBOR*%*@R2zUqY;DUsvk&pYqwoYlEgT}{UF0$E9Oe`CjE{AI?ZMNO!_iWm2LzpNK3NR;2&ewyh zVX-q_Un`IiQ8~PaoAp6oG!&+w{UTxzY>+uf5OoB53Zk`NZ-5Pagki{ymlNx3^Yx zr-pnbpX9dzcgxOe_5+o$8M2ZZk17v<3JAgRjc zw4M$^Y#tW!&I-|_Q1pvB?+45s0Da-nO1Q>KK%4zP;ykgx)j)9XVr=S8TL}gU0Dq!I z09C**dQ>djWoi{*EBshw2mO)TNR#T%+xsfy?~`(E2zYHI(PDl5e1C{da2Rj%KsRlD zh;>tY=J-$qxUA)&ym9gDCmUYSbM$iFJ=62u)s<(u@aFLk;D^yw64O&=c#zutp-QQ7 zfS%sl6s;18#i62asro<{d1{Oh;z-JrJ7BQ)0U?7lYQrVd+OX#t$o69A zLI^O#OqFb3tWrLBvD=`-23%EiI;zb-8VESxco^$2(R=f_d!2=zsPRxq?bo8^Q;BTKPUA|oeBQG)F(Vr?$LZpK;j zO0ek>Yh($eIj}mHV22Z}TgBPVBEGx|(WnxeUWd+8UV$-uCLlMW76_4BA%L;v)&3a}>29{=1vTbx+m+b+4 zJX_w#rU%)wOL6K`T;>+1DaGZ|;xZ@bM>8}4}5LSCf0`D&i{@4ei-m>Ts%bGXj9z4!gbZ` zXtCq2EI|H51`0_}6svGL&P`^=@O6*rVvLGbvWFY2l@ac5u)aopH9!6#cISUF^p`YoN8#s#$kIME)AhRfRHq9ZPG#YJag zna-nupV5z>%|NZ=cfW?1OMH+U-%}||hq*wy)6-lngzKhzq{SYZyFl*{5;XxX2z3t1 zZSA$#7)vg(Xu1Wqj11vBRUzZVzHS=r_8xH4ba(lJQGYaWw<>K{UP4rU;ZF+9-S|NW z9&bQ3FxmOxFuSV5)X!RpAYg@SEwL4uO)Uwd*Fv}0fOWLxW?>={(}w$(w}0hC*qP6g%NAhip93c7b#?h4cTum$=?SWYZL zEsDgvALJ<{iclF25gYQr4+r6Ve4o?0ceBmra_fiE%|sZMcU&5z?m=u|JA>XXAvzkY z4G(0ScM7LkWGd0)UU{4*C!||f74)!$ULIXOx zoTEwurVQXHM2}s*0~a8B#AxdZxA9q7-bJwIlovBc6W_W}@eI>+8x{q8qndJ-?bH2( zU9h%ccn2C5q?1twjDL5H44gND%Lfo=_-6wJeCYNFRUeSghA!!P9*`Kut; z(kUm()|4*#5^D~|-ke7uKo8(5EA?2E2;^)Yx7TrqfAS)yJ=_{?(ov3U+~hLHq~4}L z!(cOJ<9{>|6&p9xQjI@E$u*s?OGXYz(JvWEA4@Gt!D}j5)<{=v&?jB$1x8pN(37kU zpzpW^Qd+g}zq^^KO0$Ed<#`qNExMJV@nx)8WoS_u zxxNgwD9byRrQT(|>&nuJvfjbv=&Fi$Dv%!r{)&FaHXt-+Ln%3+4%=M{Y5H0F>S>2w zW#g*10zP$OExGblcCnT{+os@j!u77 zE`62Oy()LVO1oZt7E#4@WbZoEvkvTb`MTXBr0l%{y!I6tLYlDKUjN)MYv)^li+*5imPND_ol>oaec4*fiL3;*4T{s-DL0<}B z+*P0I3`-t=_q1bPHb=QL?zti$hl~5P#f#Dv%0x6mx5`-q$TE?Xz8lbc%OBJKwcCf92{*0KyR^>y`Y6#(Zk#VHihOMhxQ2A zBTz{cHi*?yw)3;?QsGR7+EvlA+x``dMSi)*Ph0(ki!JYcsxq+TPp_e*1_PTphh5dI z2s+nw7!TjpvO%wNr(m}|<-Q6He@~dB&%rQEt?GOy*R#_0hwhtyply zaRMx%|qW4&jBB!LhtpZnKUg8xGd%1*sEuPeyHQ=&l!XC zDQRpmN*SVQkVhFG*ZaMb(pam&kI-@`pd4<;fW0Kcp3|S@`EO&Xbtr$guD)_0?>I4NcX=c8%sLtz(}S07NdvP7tUY zIH+UOTCSlc-bNi3<-BJpI+gtA94y~rRAbYu5eD0-ttT`MGd^_s47^U*#?Mmde3nXp zJ|`O!R1D2#(}X=14j7^A!Z+Q)GnuTN2g*Ea?X#9JKf+V2}LP z(R8o{**X&tbqfxojv*x`9trz#hivl?*nun2r7$ilsKsU>Ax-KzB@+gVL#QIs||V>GEDWjmwbp zGiY6g++2coWy<53)F;cKv*f8PYMvb#kWCx2mA3aFdj+A>vJz2&=F!0O8a%Qn@&J?9 z4MTK*jmjn4Rt4v|i6xL1MQDJ^bRV4KRgM^$9I%hUkpD(eS1 zx2&90flVtXmR4ZhpOK?0uq)5_yMrz-A3o0pmshZusn6NxP%HbnxZzdV@#o@~S78sH zi{SEopO5sa#HKxOgI@l;eZ2zP{(R(Q1$Nt29s?zSN@?=%IShYy&YLr_of}=~S z6|w}Z4=;m2(!_%H_hT@7{6m{(sMhEvrn{Dz_q!Z2X&|PKyf={BUHb|0)E?80g7K_$ z3AAioVWh^ke%zKX$2x?dK7Z4>K%X3*|hGv*;HY5^{`!* zbr=cZEpgKW-?6xY9PVyD!o$|PZKQDD>xOaaoZDXJVUOHa2UUp88tkEgp4Y&dJaV$6 zJ0AF+sh_k!50@|y7Vf|94}H+iewhav#Jjpb@U_v{FO)p5c!ZWlYb^+~ z((stUF5VXMetI`nma8=H&aFqWAul?`q_32H-2|&IbHE6D0 z8%e~*8`6#3Q`qf$`%FC8uCA zP0=Vf8vg6#p!iogD#{2r>?^2UZ7B)IKTtRW^7EOD&{$0vb5tF>SsG1>xjxqO8cGJb z?l_fK@A)6iNxZ{%AtuzN+4XT8Vz#%+b5b~;raZNjdnqCyT^mFeHon4QebJlB+U$U29s z-6&yqYQ!d#5|iF#GfJtz|21XBf_K=KvQT=KmlONmVe8643q4rQ?$C%`C+#OF5# zMBB6OUAFBdvEp6Uu7-t{<~7}T)DAV3-mZd`Hu5Zt2!dBI{CpTex>w5<@VW;ZX zh8@0v8nFcp)HrN!5CMIwK?L-{hW=Jf*rGT6=Nq$aZ`wOCGH==s-eWi3R5EAI+x~&? zv14!hTfE1vy$ybz^Nx*S?)i>F&rW;STJkP!dRMe=M7!QqMV$9FlII)IsYXzxTE8dz zyhlUdlT+WL3GclG>G3`5_IuQ#u{EnPb!c1xN@HWOzA^1-Y@KRMmmAB6jj3%D*}DmC zYhoQ}LMNLPJKl_XHkEUl(uSt;WK-JRRHEg0Q~2)Lo)7H#c^m9J385{Gtz3+22=X39>&)Kcd zt(Le;Gda8&O>HI@H>1_fBDhQ5#-QfpBa~tK8)JX7PAJy>CDbUg)@jHRpd@UyP6rv( z$JnPeUiT)Ou1`YaAwZQHvPt~sdm2I+QemYht)H)XlP&QkZ+wfL^xNC(vKxMEN4)|T z$U^~pXg!2y!f3*dh5ak*vr$FtrS;j2BHM9ln*{s(8?1K%KJ2Un3uMbgyKi0AJrPgR zHc1X_$oeOTPQS?(CYQVY7Q}LY^ZIOOs(r5>>y@5$w;`LCei+y7pOt;PAzP9)16RCS zB6RFc*1Ke>Zf~>crTvHNv1_I6ef3z&GRoO@uAF~RU6eMkd(>qMo>4*ieJj~_>asDF z@C2(WSs=Sqwinf7$11z=HWw-@gY>N`S-AP2s_O06Rx64NpQ@%{X)Ru`(cb$78!e+= z!0egzf?WR=TlNB!iAgU;K(2goF8V$AL8xUzcKW5znFefKjnI|`Y+}vOoCd5*t~gJ8>jrFF?a=x9>}>642V)Fh4&~No4_|&3*M0a(=x9CG=hbH~yva7aD)CGs>x7oq zW8c(?fFA!^XjDD6{59F{O}70t+4D_y{v1p+dBk+XncLSpgvuyFPk@@b`50z1~j~ZoZf)uH<0Ta(DnxM zcmq1$Kt5Uf#Pfa1rq4Pv1=oqin zCylk2p{~W)a5HJ zqO4!2kB%Rc<8tslr$=ni%YcW0`6j`CCza(U`VXhFg^BWb8rzsC52djai4oB4lOmu` zCHYsUvPH@M$*F8xvYemBjwQ=kY3yEd1oY692ptXo3(vEB*>nPE; zsF{eGQ>r|`)u{C3KSWC(Q<<6HD4^a zZuuGHAA}49WWnR6mzb5Fq+AK~?{&SICnNiDM3c%KFRaE4Ert1bmR zL$Z-~y-5FTHYX?!Wg*Dczc`yci1Pb9K!31Vy#+nbPww#a~`N#M6y>ouJ|_1GtjeNr|TXk%(Y*ZgqeH$r^y79$N!mkmFB z6dTQ^ll-i=69>jL?ka|A3+ z$1CsCn~dN9%VwbEp~4F~_iavF$d54p>zX~?%NFb24G7%VeHg*3I#eB$g^yb!VYF`w zKmu&`h?g}nFD96ZoNs1AOfsb+h3AHs4X`}7yif~0cf2UwWB2f~lkN-{a6J;_bx&xZ z4;(LJrk72Yk*Qv`N-8Fi_Z%g#hhm@L;t1S2d>N#;o4(0(43SU@kFeMu*$r$_J{|$s z1@t}0MT;P^+6+hEw)QfuRS@2I^gSAg+(-4h0NxPeS^_1;u;-X!S&+4MDd}*Re=>c8 zVu3;Q9TJSp4YJw6A2@wq>Oyi-fbG!+YSRL6SH$5{PUVwnLIC;rdJ}#%cmEz8T6^NA z1Xv$g8gv(LXdH5IcysX?)%~9NKz5KombBNpNEAo0@S~q6(n%sQLZqE!TRf3AlAZNL zkSV35OjGClN3uU`V^6i4q3-g_$hU@q)L!<8RG~t|>K83cA z2eD9q$~9qy_uy)II7hbFLrF9S%D}Z7~^83KDk+Sc2enLTT3EI2CGwJtltxRNp0v z5rBOoAl_gJHBlQr_(W{k_pv2>$2}ytABmwmW3Q=G#HDq4W>Y#8{1B^IfWJzJ&_u_wNUs zQ4f`f9RU^ZC^1buaPq(w+)&M7WygW~3Qs5@-5I+`k#_KWYQjmo2F<--{FRLgMS}n+ z*rHoVO?=j{V6QmGtsyQr>})`pH<*x!5195v6H#%P!ChQde-{mRSrZj>H-4v!Hb&6~ z&YWd{D&tSKLZVv(Rx|*DM=JbU&eQ>>4gB);N85n`VVVneM~spgeTWbH0*5oJ=7ddpzsGA67f&K!6C?=B-#o!x1a~+2HcdG zQl0<@xDOv{TZCa(g zYa$P7YTD%hV7A_^0d~qeOvjJ*0ef$N%?U(69|*{E0Xh?auQ+cC;klx9Jz<+KEuh9d z57Vc5MrG&Q0Yz*_5#F~9+f!r=U?-O7u?dCbnyojJbZ3@O3|8TDR z1s4LKYAZ~MdSA?CmV*oASh9x&x!D?H(U92mYv=>n1_k*LUMS=~1o5lji-W?tBnV|= z3!b>(T61yJxthIJV;eN<0D^a;n?&LLdZSNoRWuyMGvUdj$xrlA_k#~bp{oYE;e1ZP zJaJo7+>{%wGNJB=HCqW8ZP^dh`hdL`FFZ-B3BZqL0akY_=BkcuxR@%v^_KD_U_l;K z3$oBs?~KC$BeKDOQyjP3Y*>d4+8qU_=0AIcVV-=ZG^<}hTIo*K2%-V8^WfilCXD@J zR|F}db}7v5HJ6nm=zerVa_))wSkY?2et-@?w0=pSMh6_<5{`Vl`AD+o!NpH7-mCWv zdHL5YN&FOCj89UvWAV8P7?Yacc2)hatUsCSRf+59cBSTqsOY4(f*A)aaJ-LO{kcc!uzMt@Dw>ch32QoH7WFM3O|@a_fo#NR+P>ajlN0#Sf-8QvrM*vV`s=U zCCIs^SYy)C$L;$m3}atqh1S*29`OVuv^ru=7x>ZBR)(hhx$)F*`Mtjx=2xoz5=)0% z^|tvjHHkhg=0E_MOJOH4?VAXYGL;d)xi4Y}Tabkb(Lv3v8599@V+&dPlu0S2uLf9Y z^eWC=N*}5Rk@$C--WqItwyP+_s2wgF##omH^1O;1RbvBrj_n85X}^ar^#NQm3^#1y z6_ae%-U}TEu_;ABPw;`2AN1)hZF=C-$J#W+)<@d3!PdXEX>&BIU7n4EeazU${Fo1^ zYvpP{b~JmXPa*bB_z;h1LpNT})jmAmm7{$F%%jJKMt#@=(R7A%q2Z7;m-*NU3Bb)% zuYJqMHhV+&QT5YnU-Yr=KE02R=J@o5KHBFq7b#3*;&PjiQ3~`dyO6!$-M(YpDSu>^ z{sntOWsS%vtC+P?l}aUXn6rW z7d#qQVZPGQayOU= zFm|s{NAwvQPCg!{1>tHCL&CDXLQ+3=U5r)4|3g*+$A7|qL!U!S2QnE6<7fq$-84Ez<~5=-N+)QgnH{6BDYf_d0o6syEFS)bgG;IX_`kqEzTX~> zy}knf3T);N4wv~_I3+v83_=tI#M%7K+VL&?#)Z)DFUMoBhQS`7!~P}~=vYyrg8`kU zenDr&*J~q(8{DZRrZq}aFkCzL2rxi0@HYjHeH5r}QgDtRx!$2W zkqtOyM-43Ie=F1d+j1P{?~ATKu$P^AR}muOSB!lnCm5>cN)H1@OU1#jY4Vniz%(d? z2lPlU6$6y9+@SeUk=dEYDgdOt<^!+ptKl+evmLo+vGG9VC`ig1CqIL}fIoj59fn|- zAkojqUSRA64=~tuwmJifHZN<&ShG0D1%IoRH(rizas-Rz2=})%krO!`SOL?VZBl;| zvmz>6Dx1<$TxTgI!3nz$nw<&+l+AVI(TQ2RxL#tCQ>zGG(-s6{E(B;i2sDOWPvm0G zW-l`KqCHb%UC3IE7bGRG%z?K_qjj3KPowQIS61H<*DmsXu8n^2;_s-J)LR8=DHP^t zR1+qe7MnULk0(4eCJMQtYx(h1o5%}9)C1ysHRxp`@7Z>0$kPSK3SH6477mi*14PO- zC|kr)ujMF3S}BD#14s-6%4;-2VLTDIbRx>Eo?dSTzQ;dv;1$V+6qb?2yc&5D`*{dUv109a))^(lE z>BS&N8+?mF-Hn$Ehg{9`Bv>dgeRa|gQ*F>Yi#ocg7nYabVdjsc3{dcZ-XXdY6%g~zxAT@X7)=}MhiAw6 zu=_dAH4bc6GkoWc6ah67FnyGY5Eqp9Ji1KKANDPV)te+Lv5Yu|{o-}18SQ}gLh1=z zc{3(0+<47(D5rV%mJCwQbAT6D!&gxKuDV_sAJ1CGXHSf0W8)!S<@Kvys=t<71o32c zk0NZK-dSykLV{lBt$!CnnUCY>Ubq**;Qc|gO!IF8-75Ga^f?q%;HN8L7wFqz+$isw zEoioO%s7+|@y>f7o!t<>20g@M1M@q{vjJz{k?RRfy8`hyiy@h{2lR>%cBDDsN2+~x z9MFjDa(n=EiwGv&_{dld^tMEpaoL`v@}S!%D}2n+lr=hjOe~g-3mq*M1bw|&FC1{* z`Q0`=bUhvkcGjp*FMOac2~4a3))o!)Sr1kNTkH*h-t5I!W^HWMrIH7T&PmWnFK+`UXDpvy>K z;;5o{%~2+P+>KY^0TUC$XlkAuK})}sc+h)N!k}-aq=N2U^ppH&Psy((5E?JpY83pF ztb_ZrU6NgLL;5V})5`ST6v!UVJ6mjr`3O(9U3fts7L5z~1QGG0qJFN@BGj-?P_=TL zcaRV1IEPK-s0*_l?^KH2z@ZyjKWz!hlJZ6vTizboGuSy(Ez7~;dBg#3QDw~X&W~?N zB_AOxj^bOJXo?Q{fdSf?Yx(u5f_rq}9ALoBKL??0xW@o30%ks4aXH+#9MURbv?=Ab ziF_U-2%v-R+=m}S!FEuz^*NA>%tSPQYrdX;ovO%?3D6d|?ptg=$F%EUKKIaq8=^m< z<%Fv*u6SQ$fF5e$Q?9cjAdgx#3ZA1J=Lo<$tb!)XEmB*DdT9JZe?L0|`V3i%HJ}_ncG^6fl@SQ}V(>LppU;p)88&9) z`A%7Ei^)46uaE1mpr^WdOW^-~;&vvRkdTR%Zb_mI+LK1p!%Wt#D9-^7BbB$yVmpe7 z`x8?hO_+k!r1%^He&Pl z!h*ikdzmiTY^o|$yUvaPL~zv3^I4Z*SMlCRwmcDuMKuKAu+6?vG#RNIRo~A3NG{@M z{CU3c58>oej;=Wg+p41!=nP{=b+)|tA2w8HZA%{ITdK1~{A>DH8OF-kFa}mXTJQ|{ZQw-Jom;DWTlJLD=xqp+dCwv; z^%q%j?Egv@O4&v_r0(0Occw!?Q9|A(J^i*$m!m?wipBhd0TzNk3+9*;+Ff)zWc&&A zw>)El54n-`UMl`4wAagKxV^bvoQ&CNqy(6k2?7D zu0C4q%LIKiHZaJs1Gm#ulJ?FTzV&*|+@sOfC*(L)heJgIcQ*paA~eDP>KR@}KXR?L zb(zQw)YoN=b-=y+6eR^y}W@`^1_ z*V4NxQNo;}Q*Lx%)Ob35;7P?Nw}Eu;qUrEMb$|R>@eQh*uo%?@9x(44SmjN~@0EU6 z@Y`M8#12!l53b|Pm#EHy>&KVke`GHpH}y-9M%t1-N<}cH#>g+e z=DWD)Z_+{Tfxti6)YqFx(v<&9^tJOEdGCg}#t%CpCokv2G&zmCR%&vO;X;O{)rRYo zRul4s&hKz!OV?2eW|7_jr>-`{4ukd>BA3$v82v@r3x7tv~AZA=&&<0KV{d56se$8yy1u7r_q&nESBmevOYb;sRW|`%YTe#>~^t-~(j^n_Tyaa8g7LNT6 z`Nim~!h@=wbh$W{Ya^APAXZ*1AQZ%e{PrcEM(i&zDC{AAnCKEU-lWm0=wx!nIEzvP z93afv9NSYv3ud4uZNVlFX~j^8w|Ojs{BHdbc5QYGC*IOB+8FF0@`@uFvo2d0)ZVZL z7}O({9pimop&H1VpfV@;ko9gRsSuNXx*rIqZF&auwRwhrJ>sDZ*__iM!#ZowRflfJ z?tjc7uWKof1GSvF1C{{EnnEj0WU=g}1a8wlZ6aJL(iwH|Oxeyww~(yFMa^Bo zf(Lizj*=x>;+wZbN(YZJM?Cbv4p39wEp!Z3|BPP^mVgwiw648ee4#`E9}8XXyExig zh_1M8H_N`@f#U+PbtqOPS|JUrdo|iGd%n6V>8y+nHO4xN(ijBsXG8mm4I@V=!HMfS~#(;<%46v@=1B9mQKG8PFmfHe!XMe`AFq`F%+zPR6{>Y9HyX22dLdvc{ zB986}d;ybUuwtta4Gops9HIjuYkd*w5-x|lgPX#>gGikcw(f?hRgss_zPt#W1bLI( znJY^E!iI&v02CLPt6?+S_yjM4Ukd0zM46yyxQ=pd#aim9-uN>lM$kCOtr}34t@X%g zod(A&P$zE=gXtW98OV))N!L+jFvs{2=%r?{O%_t=>f0!Fu* zv4CScY8Bh#Wv$$5iFWpI(77HB9oKnO`#BGm!yu`eC&7;=Q+u5$faq9F1+lHuip_`hS%dbyQ|BP}s_K<9431-qjD&**?RtV|W3LGERWK|n zVD6W&KnBb(hsrPzNE}STtOS918$J z*I7ZmEwRm_X%?Sr!6fi!^t|!-cdJTe<7@TN*g-|C9`sl)z!rYpg6HLrIJyAk2QGoJ{Zz76x6Zz0sdivShBp zl|;MY8o;CkQ6rwcBmcra`lG59A&*Cm>5eQ>5{8{;VKJ$c1)NLV6SbXT4`)!Ot0Vtc z4e>Mf8Vqm04R==c*JEzu+$ZeAz88WiEeU(-^Wn#FBzUi=Uk-kaiYk`u1tose7h_@d z8tBFz8i)Pl-4#)Ob5{DHw+0|Lj-VfR8Nr40c7qYM*VNbde>B}%^83%(b34G4B= zqvvKBIV0(&6wSTV&MVh>X^s~Kn`oQYy6&ZYUU|t&r@YbKE>AaHhHEV&|8~NNTc?N) zJuzO$n}*}6PjIe|AZB37PCMjX0$dz<0{sZ@>8XDV2Bb%N8r1QL^#!~R16Oz^sUEAx z-zk_}c{N~b!Zses)mc*rES*ri3yvMq*XuA1NzfNj?TxM0{PUE*rx+UUYM6-Qb%D}E z3w5zdrxl6~#qeWgpRU1JjR@YR39Jt}Bu)~pj7f@@JEC3=Or+q1JUIs|zIf!Q&R$ZM z$qhgX>sUWOgl$0gZ_%N3hGCY}#Q~kp=;98XAyFpn7P64)<%Q%)|DnS((n)G;6)gXqeeLheBD$^rBPfUEA(t`E#tJ7TRV_)ii`6c z_RYuVE&SSS7xsf)`ZKs&YXjTHJZy}dEp|$%?B~`6PA6hd%JbFyyXUAq?JA!3Dn$Ut z>Z%ZUKyW?&EEQoigeX?US_7lNPZYQ;1E;KqX-OqVbL}TOLN2%iZjgm#@i1maDcS5l zK3Dl$K1E&_RYG)<=0`S{b_NIC*#P6o=R*;Hlf2q3{I~S8=u|$Ra z_JIx2p9i^B#~he}a;`46iTjZiV3L`N=1XRkaW2YL(PkH1#ZbMsix4ob2@bMw4L+hG z?^S^_q>DlsE};m>Z!v6n_fr1YUbsy!Ed$!l9F!n{5!F#?c1M>X##F5hWt&10_Ql9R zL1Vx%SDF#f2TV+uWiI(RieG&P*cJ~`__|YseTW9JCeJXItiFN{FihSPI{mg&80KkY zOz5dmD^2gB%9^9!2u&aVSie&ghP4v~)pIrKt3fV8C3ge zOE4SzW);0QRWDo~Y92qn*B3>>s|+l;*F{r$E2f{)8_RMyhhNgMLw&?yP56p$B=&c3 zyvd}0L$IWaHAH(zATI}UT;^zWKe}X`JwD89vTXf1Rua$nmi{rl8~cpvJ1@a}Sfcq* zZFQrjOwBC~aTJCM<5y7A4XYie=8yA0>^~LsTI^%}3;HB>@2gL*vzHiqDSTIB?_dG{ zDT279Zc4XaL|%wh>y&PNnpCTkEp?<;9^`iIIVG-JKu8VK^$9wSj7~(wM$iJswMaebO+6|zjsc%(jGBeO~q07G=(X}r9f{WS;y^~549zRLYA|b8{ z+8}}#1RWF!g`XSGkpN)x=Zt-B|B3xYb|q>X^OS0Rya;wxhp{@YEx?8mkdG)grEm-_ zwTcSBpaLGgQ5*@3YO+rIwZ?fDe@veFj2czers=LvU2BN{q864GxkhPx4T+%|q8mMU zy-}KfBI+S(?(0a#qFX09P17aJx`PbsGICNF@;*vfa2MLgaC1GUi5wqIt<6{~u6kbN z%5WSG5!e}Dwi$az5z8qR#-HP4fxe)iNh385a+3B|8=W4;FjO_iqx>CX9eUb4!d%DfnXl3Gm{&kQ)GYYPD_2y`?UE?!H-zhmz}(0===;3d1p%k5 zeoY{qa{$o*-CdEPN`H)866~blpu1UmKa0jGb&;0Ep!-!W@-G0O1pG>?d&$f0>U9uH zdX?LYyht~t%|%8;*Q?9DY=m&lM(C(0b`~XUgi611&EjZZ;?6|>uAWM0&ygJT9LYhS zkx8I?dDC#64c;1qebmWkjqp)#U+g+{bX3SaSM+c{l`a}M0w8lI8Z;_a&{SiTobO!p zVD&DcrMUkiO)b=RkBudA-NA(bK}?l=%1uC$#r+aoB*?EvSlb`~M=U2kI3bA*jDL1J z%0IPBwe0|O62etyCP@s z}dk11qhWhg|$S`J|TBlbX8c;FYk$Rpl4auW{VbE7U z`@ut(;X@9zN6}qBTcTo<_xK|S|Gwh*SQSPYDaT={&@JRQeV{@R*d89a!4WcTwRF); z^PSjt#eQhN2pm>#)ZQZ+4kJ$CK&ZXa_p0~{Yw$mS=91VDRZ}sJ*hgRVplS=k4UeE+ z&SP^AdyzYm$*Pun91DtP%M9}OS*Bit703SjrrwBt4p$R>rMD*f8gJ5<^r3}!arnXa z(ci(-g1maZjt-eM!NHZm+Yh|hAfj31JxjFw3A`9`7p3s`SVjI8tA@Sqm!Y<}ap9+P z_!@f)dozdi=6w!x19aReM19nDnKxA&8NZmys$E`zyDAEpm};t@9f+?~MWSGwxkG_Y z8jaG#OpPYSe067E`cB@9v2we|5K9s8`+TIgK=d5;PK1l%jiyt06Va*|Zmqt@Q+*5= zpCpJxX>Y3ei1!Zj1_%j$ot44`-!F=d`cE=!wmMW-qNK1Tjayz>1uQ`^; z2;v=e#6ECr^iTqjz~TgnzPgHN?GBqh0-k{jbZV9!(6hR5YH2*zp3_VN67yX{y>7DQh*-)C}B`Ak}1@Wr>vX95?>mr4lx%U8;b&+ij; z)Eb{v!hPY(IcpYc?F}8E=K9#v;1`@oG%9*&=l+p64l7`$_#G>QFW85~7@{GM^+6q^ z1P)_d+4clpy_`5S$knQ@!9b0}G%!qsKhD?M6SV2=x@u`_aMbKuZ}4q})u7b3fbS;@ zlZsX1P^zn|_oyxK9v|`1#6Eo=s3$^^FxpGc_0p)*6Yr5lX+afUUqZ!jy{ynQ3!OwJ zyNN#{IzTlGrYY`&xe?DlX35a`erL5J`b*)EIO{mzZNQ4cH1U@BF*Pkb;*#suyc)uEXakOo!ZW@dgVcf!~#HUG#{!mZ_xx$HM=z!9+0d-boV1w ztM87@E}H_?S8top$Ji#TJdh<1Ej%6U>I40#mJSAY+no%uisx|V!zfy!y(+=N z(LTto*2hl=?YHLzXs%!O4A2RGHt3E4yhlDK2OpOXEYDM$Wmn642Va&|L9Za%6MdeP zg9XoU-GYB=ZG;-?e`Fs-{)(_hIYfm##_k>e3O}IEudn}s{V?*?Q_g=nzQEBvo@4Pa zH>i2>%t+D~YA{qnrGh^w0!04^EwWToV9}EfND~1bZFJ876}lfPeC51zhdW^pEi`q7 zHqN=jv!_<5y<>GTi~|T&OL=`GsE60VScQXIxaS3K0sh}DF}#CxA3;6#DQ`s$HBCd$7H;0zY3>pj#Xxg1z6b-n%E zbBog{Ze8WTEZb8}8XJ2()MbTpP&o)uIs+C&m{0L$Aa`P#8SH?D6$E^aXPH534bOfc z?;n?))ZT~&syJUy2SI`PLE zSFIg>bzAvnIMn>r$`Ap((KVeOz{~?kdV89$(^OrxoYMJ49o6gj^e6aLc?J(mReP4s znt2gU(1t9KT`^3MrzHG7dF5o9>owQvwCpjNK;eXxAcZ^<2!Lt_10!}v!`~4FsPXxQUdzQ)rtPeGyDVd;GYdRtg z)@j)AP}ERvFla^Ww8q?lp5_DtBwbK7JAMTZEXgNr4r*-!%7H(vzZ+7Uj+zkL^)b)` z?zqfb7V9eX6L6&go&Y!!N4Lm-H~&ACNYyuo?UVh0u^+(xS^E{0 ztL4d%cJ%o%y`QiDW#X&e*RZ2+(K*PqMnbMYc?3o8<1p-@H`_v@$bNn`kbgm)uKni6JlbP9h=ub_gkS~A*My)=1cNH#9mB-IMD>g zqOT+PHJM7o-i?Zl1x!fs93@A7r~C|l_PG4~5g2ZFih~TD8@-e>ABu8pP9>ErSDDWv zRs+HtdtJ3bkj5}ACBB+yrDCJVoij$GKAI1{+wqQ2z0XNvb1asbDojbEOg>s?<*lVU zg3ST2lVyIT!?k3lUs zAaRt#%ND%8BTofHBbM-?!e%|8H#lPro65_INq<5=jE$v%!bBVRFtFa*y}^bE&~5!hIo&a zegQVGqW|a@jMW94Z=c0%h)m8JN*!*VGvRiJb_*^B)aDQsmmJlLG2fo955krtF(%=U z82f$F6B!}Y_5U|MMn_J@)>(-|aIY@rDmi(El9M5Eep(%yF?lB|72&xXL>HoyD{pU% zncsN+T3*-zMMt7mkN3-aw;!?w_-=Vh)|2o3lw;6!%kmnmk^D9NI4UeETYZW8@2w@E zOaw%#o%kQ_2BluN*C0f|1txQh5o*5IMZTgB;csa}2*sw3>V!FjfFR6& zv02IWNEcLSv&UR}4<=^zAUqu#H#76iFjk9%aG+K9Yszy?+i=4m4YL1CMbje{+@gox0E z7n{RrN{onrF;n)?dw9ru+(v>#gy*jS63VoZRx7Vs=|KZQ-Hp1#(pQr zMiH@IRg=*-IssCkhtc!fAudxg=m!+pssi>Rn^n2K2wHY&0!-sz%&JuL8*Z^KG@8V0 z1Tm1&9Cau(0Tbm|y$0xUhJMS9Y#IXecrIq5Dk@ifj+$b(g(9<&Z`^FZOHOmcgA^I- zW^IM+<7T}@q?embL3Ln@EfSHQh=ULjoHfD{Q!MK579-s>(=8UeX`MUN*Fy)~a8|VP zNRVA)qQ;fIv_9r^a}z$nS2mmMjHa(L6=ENBD?=>gY=;qEdnUSBAFg+Dv)w$s1IEYHN4eQI=1)QIa>+4nR1PnOF}W=C@osiaK-`^b zaWt&50<+zy0bCmNJa_70H|=&m&Ic3NPZ|5^kHATn)88C0om2a@uu~qM2G)h&J|JWU zzo@|+)mIlFhw89%<5OjPtK!bA69!!{WD8Drp4fX~UxiHu0ABn>5QLJW!!@;E7wau{ zQ&^8c24kvi4fnHo_E+## z`mJ4lTIh$5sc>y8zc<|3__N`I+)wf{(dj36A>@D(emq~5VvIG-_!~A(tCPy@Vj%)_ zreDW;Sl4QpkaTF+-8U-q8FC}!lp?S#pkJ?CK^L<(@Df-36NPjSs$*)#%$Q8|oDbK$-c+>`0Cr_8qwD@)Z%H0Zh|$g=rd!(SzvKnj&bMK)4w#CfrRq zX+a-}G4!bGK3&eiyM{zHmV}Gd6+fhRV!l(XYz00Td_(^wtB-zPLs|a^d={?b^A=}G zkg!ULYAD(mU8AvbnM3De&M}A6v#K6MRZudqR}FN+RcC{rm& z-a|;o0gzxkJI3vA<51XAj*J6<(&}FXC4D5&riVpnZJ4dJyn91{E6Sc>*45p@h4~t= zHic1sPog||=O7;)VLgJ_nGXi-PI2r~(7sj#2_o!?MNp4UK~!glIBvBl6kdwt5+RO@ zT?)z8VLBg{4zyJEDnf&ch}TO?qw89rvres}Dksi?yz^WU zte-k>Ls27ZJkf|4F7{~Pag7dX&sQ8?7Pg(2Ta?C?k`I+eLH2gIY8%5h2=&E`5L$-u z6wr%QeGArK_`8-tR<753lxAZ+_edS^^3$c*axaWZY=iBYR*Llu$mONjq(Bxrbq?z2 zgKFTQ?*$vqF2x>%+-TVqR`kgtvR_FyEN-oaA2|tu_NCa!gk{?OQmjq#e$_TORrD;y zzDd`|mSJbpE!2E{m@XcbX5BI@RDSKBAx@WOt21QBQtWa@#V^IJz`L#nri`*x?eD&@!)N zt(;Ocq?9$W6s;?j(7r64DwT$N9U9+oZR_!-`=c@h}c{bfQU{}lILBDjB~Lb3M0HqJkGK@U++!K}UpYxi8|-(j#UARWefDda8;`4@!V5{tW5Y3}C|q=uMiKgQVYj;{gy@ z^~e=f=v5v!*kB{F&j4z>G>o4;cmPg!UJ~R66_!Tss$ zaM2yrzJ#k;kAS?a18&&bu=*I(WJNuylG$M+`&Ns;snNw4uH^JX z@IE9tvX>Do%@#JZjmS+-wCgb*tm3Nj-Xr6plDR7ZI;j_1snaA~AP!gOAoE7q(Or8Q zk(CH^R{84I7#7s_txt?2LttN*tct zUe4XsymioZ(2qWi6?`#)Oba4H)?K& z84Dx(FDnJx{<|ufSyNbS{sBnk$b}Y9U_O{$lU=1z1ghY(;2EE#(hLvQ=+EtRSP{h; z4M47s6qY#co(8oZ$UXIE&YLVSj9d!=61Yzjio~QuN(fH zK8ii|0lmk7EyiE*-cW~mEyd)&gvq+UsE3Bj!qeA{e5nF-FUy9RdZblbl{~SL9rLag z?&hX0Zp@6SZhNnrmbk+^-L%&ozUGeMRmhPJe-m80#ybeUn8yVQP+l;-x4p=-;J*vV zk88S`r84VV#CIUojhbhUZ5X49Ec+!!pe(qKuXRZO(-?t8DA2H*S4N1M=?6L0^o$a0 zxv83Wn0AgpGBr%NZZ3PQsfia^c+kr&wN#4B6SQv&W0 z_kY;?62Lf)GTm;;V@tMd$+44|I8Hh;#4=bTjZS+=0?7gK29_%%3k2AN5O~WG?kv|^Sgz&R1^mAMud2SLXEc&W zj>B5XczU|4s_XdczyH7B1j~-Fk5OiU2GGGrYd~%I8PaRw{eK@BdZZ2q8QhO@AF6Bk zbRANWi1}C#$9eD&OAM&o9$0b_vOPu`Zl?pV@VItAZ<3KctHT^?n>g`L>3kzK?+Mxa>RV8n53fb`y;}fnyDR zf!FfA4e!(IJ_#aLTYvu&?fpw4hD223>=^TrQHh%d+eZ_=3Wi_||5(Z3L>e>|dp#oeHS4|y3n@v@rQ?~*srp|I4% zfOEoeccI)}HOnxNx6~xao?CxMt^RTsGB92j<^k<*)6e)=G0eL-3hSLDpPETH9NmpW z3U&Qn53v{LioXk^c^7D3Eu443m_jAE0)9+<3gDY->)`?YncB!>wfYy_USMszwf}&a z{2$BCeaq9Jzk3|h_|p{)H$F{!yy5gOLs(w9?knrG_pE#j4C|jxKlkJ7v^SiAv?6l7 z`tH`75NG-c9lk%9(@PO~`be#XJNGZS4R;=iTzVUhwp@B!4Q_oM8H|zF<8s8J;>39> zvplETIa{86x9U|$M_u!A;Fw=6TZikHQfg|(d+)(J-&5Q8Rm4=+Zl}2epZmHc>pqYC z8^kaF%aZ!yctP5;USF+C54?C!Y=Ao{s<^t_B z>^r*l)fta~**OeLC$civ;gpiU=3#MrI6oo}(X9zXx|8Bs~Groe}pR67ftu6wFB1>O2+myyoe3 ze+2{SEI7po0RL}wF#S&37?%^Ph-)W*HR%>tNBXr5h{xC+vGk#5IF+cc2m_6PhJAtD zT0X-TN6{k9)9R%%_L1P>{mt0$&BkNR+M~_=JdaH{Tps-H*~WLz*1mlx`Z4)f1kJqk1G}(`8QOxNl*(0=D;d659S&a{$i{qc8Up`0s(pl^7KS%r7S&bh% zN4s(TYFxi|edCQAw0~IttWR&yzP5hd=g!uCwZ8EKXKVj(cI4I#+K10>c;IaP{<9wf zaLfJ@T+f+9yn-^v;N$swprGH^{9gYzcpAgJ@uNEJfx1Tg_;MXqQ>?|>XGU(;wKga! zUV*qr0uXn#Xzo@;hO{*ao~MQvE?IHgG8`QCHuRSAqFe(G62!iC%?AeHqr2im0|=FC zxCUtIPJ19=Eq8s4;1``gV;uOHC9*Sh8x{n|gYHT`G5_N(qSkMwIl zxM0l>`?b6J*WI>L`*8odANOnj(odNj9vofc)nMocag#?Ym`0^NK??aDjhGy_iDfHs{mW$*k9VW?UetSUZT+7?nQQC8cs;SC{#z04=1Bb~5G)uG zwxVPDJ^BZhUiylww9lN@@WkcXO>1w~@#9ygH{5cC_UF@IeL5Tlp0)Ommuvt2tk>!< zze2mez3%l_Xb-g`?Wp$H1uO5mQv240>)v>U_L3cScU+;pa>qUOK$5#xK6JVEZ+lk0 z_Hyl4d&qiu+sM?NS8M-wf9%eyw3i=PhwFFa->bB*^YyIwa^&_JhmT;kAFdY~8FHzTsgc z3s|xCT{xL|McwaK=*WVqCKB^#X+HyF`?K{8kMwDu+0gL&KJ9L!>0N!=pUzu*bHDb1 zr`O%TUHj@P>&R(mg!c`y6V zNaV$#PzL9SKi;S?EOoPk2Ea%_Ohm5u8cfZ*Yw?$k+0XE`I?5v9m^X~^52)A z`Rf&tdsjqI{?jY!aOcq#8*qI~L*1(y^mjJYeW*ddr{TFEehrb=uZ;Yr0rcnxD>vM< zO21*1Ek^DYGblIaiWT+^2piKQOr}dpk z{q*9RouWMPQzY7)4o}m|e+<;i@YaB+T4<^6&|xz`ny5WlX3$2=@AvdQVtmjOKCkgg?SHNC$D2|PyqhrWn`+O0Gg1ZA z{w-t}nh(1F9&{5q<{v{SN6p8;C((W2=ye)&B$qeBMSk)S*&*w`rXxto*)F_(&(NS7 zJ+cOie2$w|CW6GRA9l@Wc-J$Zx%_ptS{Fp?H|RsS`njIO`I9xP zaQPi#bfE>oGq0{?HE9Eq&Vt)8_Y9plF^$sg039@gPwTaR-nzu_6Zn4>emixNND1l7{V z_4=TQk1>FzpVRcev?%PMlXU^RYnf*xYqx0d8sDL{V`3P_1l-j@8o8gGLUFI*8Fe#I zA7r#$V5RW;>`NQIA3<`CCU{!>VaY1!G9QUFem8;>@b=0!Xm8!C@BUZvS;o?dxOcGJ z+S~OtI4%8ted8aNBC>8Raz*^MrVh054Yg}=a{5mq8y{T?Ke~;``+Wb>`Y$fkzp}I* z=coU1X+4fkf8jESVG31_Wo_$dShyoc=G4ZlM6T73-&-xrXafOWBOy65BL zoIOA~1;}proC8_yrkeKyI6t_g;WZIt9$o*krTR}J4KG@%|2ER&ybqm!|Dn0T%e+J_#S-gI=lEznM<`AeGHqYnuLvI9nIYX*@W$56}Kyf28KMOJD@J zRK24KdNk6do%hZfSk1*6tcI_%hR?Mxj(`^b3D5C|HkuG2K~WNo@Q8Xpglf9C;sL!8 zQvR0#Yy5kqhV3)e_$ipAQ*OO)qu#fXi;j*l;kl%kb?~0gUk6bk`B^-DPtBQk*J|Ia zsfXC|1Z5?9Lv0-{@2jo*Qmy`}S_s?D`~t3#hXVEj9kT_0843>eYJX|10GB(~!coRr zcRPs)NHpQ#`?Ak~TgMuZf9?-@!=pIHy=EznGJ1V&6V~ybB~7^h;F9x^t?Q>tz}Ma$ zSrJU!C3N%;Ve%fTS@tDp%4_R>y%c#5)*xvqk{#gsmlTWocT3KE8_r5wvg{w1BCFm; zgm=Gm>Bf5~$Qu~&zn3<=2_dJ;63&Rl+;@O>LG{}R^6`-VT)tP=)-<6#N5~lnV8CSD zrZ>G=MtfcUhe8Mi;Y1QjSE_B#>% z*O7+TF4d1kAmO}YX&sVz-|ev!F#oPyqG^{jU7?vsW~d(qw1`DHcGpUM>9?StTA^lH ztikG+>y7Ba+jIn|>hIQ{?UpCpL~bds(wktcdWT;Bk2+X156Ghbh!3Ln|9U0X`sG9_ zUsMypCISzn`?}>*I+k5{f&F;UQtsAn)Sw-&+7L@ zp!*uWH-bdy;HdGe1uawSO^+axYYkn$VM!xo*7q)Hgr(;bOCq@cz!H!Wlzo~8$#bv) zB;|kCKR_z~({On|nxMa9cOl5-VeI{BDDG^V)&C&(R)Qi#>Di=?%F2#pw;NK3jX=84btQYhOBJWV zwGXUc`~TK!KVRSQ!}Ij7oYU}=bM#N1y9U=EF;;xm_I3H^sUu0LN39QK+eP47}J|18VBsix^IIH9w)38d|{wP)U2 ztKaQ%4D?R$7H_Fp_8zE?Y8xM4qTNwT0UzI4vf@`uupvF~U#%}cE%LaopI3Lcv+G5l zSD8&S+O_q?KAFVpjUgq^X<%CNe~V_RJordNQ&2=j1Na7sesCXtCNJ1{H`(PNhQ42~ z|Fn+q70>(OC-@t^5&6iGWZ`SI(4lPvX8Uc;MzC^ktOb5UJa#?wJ0Gn*j}EG(JmpW+ zV#6x@Mty;7V>LqLyOFRg`T{)r3cV4Qsy7Hcd)KUPo!j`$)3uS)A3Pn7Wbyx83y$w; zINjuDk@_F3r88h(aXL(o>;G-7c3&Nxxbn^V2+Dl7o`R0=Yq+`QJ!`esG`>bh0`IRk zo%U6n$g;Zr!L>ND{cm(sxpmD5e*AFFc3gjU?Q>poy8fcmJuD>kr+K{YR+!24x)(1a zQT~O?w8xj!-i&{jZiGL_v89+AnnU?H@>$PGT#?!m*MiuwQyBJYUk7c z26>z!FTwTQOPdhR@W9e__rmjiDU40;Th;{k_fIXu<(+l)IP&qnIvDH`fp4hELO;$# zYAQN!tqC6NFRraa_`>bAkD@ia8@7b?%i7h#9lHxhi+y9smWLysxD_cX>K=}~3g7>{ zilqA6PK*4ALds5S`0|T^jZS+p?!EW)hFekK=cliJFYbMAUEMAC^`&)R!a~3K{K%vD z@pqdVK8i=5*%bLSzJ9PN@_BsycoV1=gvm7@z>l{*>!;|-ZLJNrp!FZM)xQR0`_C6N z{0=Mo!sotEr=NH9uek$X@88h?8A|*3j`yL$&vrKcH;Vjm=eNPieq(pTf8xg;LcHyo(|(Ja zuRIKj`nki6AHem$9wuu1;i=WX!V7QDuKX8#-IhD1zX;DBd_luM>QVary&Lt$-=n`Txk=oA`%N$d%N0`ycyp#+K=M< zJ^230&H9EvU=sd(v)*t!B+d`rf=D22=11}UGyMM6E&7T_;6C_U{J!Ufy8hJ{>Ko|y ztuNBg_zJ%7h1&bU7wP(c;rm?>4PWwNy@8&83*SG-@Bha4?I3J#e~I3B4BvMkEfv-K zw_EkbyIzVz++Ql*_dBGwrFyS@x!z9CKl^g8KLPPtKY;-Mlcis*!Et&Yu0I55wF zzk#WK)9R~VcbWFb)g(53d`;t@4{Bdr^EO=nV(mROw_dKj=}eN1{{F1D)P8Wk_QW}B zQ1)}@-lzZQp!T`*_T$IjHU9yPyyh8^KMrYkJp+@iz5V>g`-Zg-osW(E#!YJ;IH=<7P}J^Eaj zowbklH~e@=`*HtgsMy^DROfdW*S!_*xR{bszIyjN^v8y^H|<^jhlAQT_dWlX%e99u zJr_lPb}2~FtwU>Zdi8@_)~|JZQdL&N%m!(=16`@p~_ z4(jha*pBgA2!y+VKDa^$>F7@OAd1$qW@GRewc)^9%x3G2@M zr?a$gEIsp8XCbZN>RZ=oU#q(c_rJ0Hhc*AYPW$qzCj9txt_phDR z__A}ge?M#O`_9o`xW4h-=V-5AzYf>;u8)E-`N{gmPi)Zsv_AR(4(U7l^kZjhzdt*2 z=LYSj4Gpi{px?IPLEn6!U(a88g?1VAYUtx?DPperR1G9I!f;|gtd<_TE8zz4PMt(J zasSNQ^cC=g|Ej(cw#$2JnsEI|%D_r(H6a%mSlXHdtWJL>UuxWY=6}@QRP(?JXbJ27 z85**>I$YndeA)f*Utb=>^@~=V@yQk18&*Kz;PP9b5+{51syo5gky`v$`f6N$z2*YQ zMt9bBfqk!CjmvM;j-ou#k!bxkHE-0$oPPspGm{!N^F}gfS%vAmnKD}PlWE(){|RHP zFtNF9zinD}n^nkWO{;AtXB}=!XY=XtMAB?EvlHp8S@hesl5LhbmCKu>sC&e;qLw|J zPgwbMcES)34DrCoJc4B(kOju@Wi(wv3hjb-BX_<*sv_FS|Ci6Lq>LkSvZzbw+v_Fx} z=JG~iI+e(qYDkH(TmciANt@Zcr!x9{G0IMvww;(Tjd3eCh2hAT#0|HD&dZD==>!$Y zTe(aIgLgWg$Rb4G3k%e=)%S-I(HTCM~hCTuJP z{mA5!iHur0F<-`H!sZDzQ_-E4<(oFDBKi?Gc81P54dI|UX6KTJ0fW;yD{s)e+Gc)> zkrZ>B#HwJ9^Hw5jQ-P?lFJmTb)3B$_WO{rSU^?S(A)Pf6)&zhjo42D21YZH!fZIU{ z>qh^sL9A82Fl~&dvuS&hV1hPAk@&X*h>~aI9 zE%$}9Kg5LXrDXtMy`X>+*ag#8E(rkQnRXyR!D@*n4YWOLVgYFix8?0YkF8n9wm4oMl9Z?u?HcW0o=6@}<#Lu>xkLu-q);>qyphPHuf@CU+>|+)n>o)IA#7<+<_ejVk;OK$up@wJ zvge82pw`#f2nz&AEC)uJO|?zsQUFWrLz@0WL%@=md^}#r&RB`*md%GS1T2bi2yZ`R z97$vfrvHV}B=$xQ=y@V-=dIZ`!qw?)$~+oPTG(fHG@Wbh8ISd*Iy%P260z>~_Skq^ zK6e_Euro$!6NoEG zeR5VB6g!a_<-4M({#0& z&n0u2uzNdlroAVZ2mZJ73Yl{A*i&{cyDwqc<}U1;4Bs4`<}dGv{Bz~Zhj+3>Plp7y z+?AV;q}wvb@U`iq?I0{Ch&8A*7n>$Co{En-c9 z?&+4~@}dgpn1Z(q73{pRGX+GR%WgIf$Y!<}{b(qiH@0m}jd!(oZ!xwP(wV%`(caP7 z8jH2YdPZWs@s5sotSh>;GuFGU_lo7QD6W^Iv&5#gCXLB7dZ1n^xl~xM`43tT{;QYY z>i!D(d&QrQ9Xk`BXW$dXCyoz6x^}|&bGe!a)5r1oMG#1^)G!zn-*_KpWO9@QQjm08IM7gJ? zZEUJs0d$|3iBpJEAn4)06vW9wSwMWvrU)@gPW*NKcdEjmi5GGB45c5#z z4(OKRWbx)VLgtz+$-V?CW69f@tp-rfX0$+6C^o>19qIBbZ7PgRFUFJ-a}2%iRE%WN%G8M+4( ziX*_05&~^AGagNY<*=f*IhB~6L|3C}do-QOm@NTyRTZTj#+eW`|6vgcS~d>nwVz^S+MDW3UsPRe?a&;iG!1v81O=a(~x#Es?Ak;_I%IWUb$nl%oa zvxX4F^G4rr|KK3)!#o%#+t_sBrokN7QhOPY2rkNZi+?D7iGR$^e+2k5Rhzl3z0bIg1ul31#NA>tPtx{EaFh#UBQI5yU;rNTPE$KQLfbj6$o!p%z$yS z@RC^AlKRYr^H<^g>4G#mO6ee$HK=qj4()-su-Hlm-i8?nYS@NVKCo`V{sRXuyZnm8STbdfPfVt-Ih>iw=B8g@ z+4;henWMAUw#Pa;ySjUNw{AlNRp{y@R0pl?(GJNzPD0=Wk^urFS_4fZ$;m)I)1)&l zR-0F$14VNM^=CdkWww#tlPLyzvM-kgm1Eq2VJ~~mbDo1Q=kFIc+;D^Q0~bO9hCnOj zxFW$lof7)=(QIPMoD%wxQMqA@1y!-lM_Hc*^{|P`&@9iSZJ3?J-(pNdkuprZY%%up zVhlj7BM}QA;kIPKvLH`mHHi%{rqVX?bc^|B8=B=*0k#hH?olCyNeY;NvOfWhICRYb zHA5J82*`!@ne^}kh(!7n(V()B`=CKKScMD*qL2mk#ukA#ovcG7@#FW<(V?S#$)uSX zI=X$=PN|9E>)p_v;qE@LlQ#I7p`#-?a6BVNM~>2yk)y+t0IrdvQpbV|sAqE)NE;~x z4niGZ5(1I>j##_8h^dPXb?E&FPv9q>wnQ>tAo*Z450xrUG8iTo9|jbIn(!Fcv^t4mU}5GzbzkX~ zmdpFd^1k}5-czk_)$UW}8?sx1req*(P0hgYCAXZ~7tV&0_tkb& zyG?C2wb#^EQ#)-NFvc`Ucb?d>@dBh**w38z`c3}i3}0!N_xPx%3Q!8ZG1*=s7DGA_7~`ZpfMW^36@a>>**%i3h^MCXBZ zVF{rAlh8(c&Ok}yBBNl#a2Aj6?z?QEk`ZPp2Z@xV(meST_=mY5SubSY&aIb|n*?8K zzo_rlR!AFQPg*65(%S0Srd!E)E!6d11%4X#6Ef&XriB&!zH34Z&I`lT{oC^ys5uM5 zN(7MxdIV;_sxUheBwGoUF%It7%F{0t9*G%Jt3ZXH%1xaVtFajTR>Ihkwx=^Nq^HRP zg`5hQ{z+vMGa*7Q2Y;amQD(L(AP%Mr^SUQT`+CAkOc}%kZz1P~BgE>^#+#KGe);mD zLKYhP)=4u14+XekOcCprhV6@#2iS_y<%5bs=f}4~Bqv=$6=0-DDqwavpkZE&_b9H_ z^-KFXN1+)2Pv&Y87T3h7wyMy?u~BRQOJ@pkZ8|ZVfze#@hd0f$b|j&5xgB%oEuF0JEmc4=)Ty;bOg zsl?G%a?NTbKDV_slSB82GS0MGi5affItI6od@h%tY?Un$Spr=UPbbqUagh}Fc$(|&LYA8hyXo_1~9bXbfK&Mh!OdtPiL!FvF zsy3GV-cMo%Y?N0zt9CVA%eP7L%eMk+$@kn|6fb9>0QJwfz^y>PFA9|Lue!Ii|B0wq z0w#;Y-aB0;%;?~ATpzFZ<~1Nujz-4ektIma*dxouM%Yt(?<2Roo&s4;|J9{I0< z-Dlm$Vbh#u;USS1Y6qp=&a{^?2IuRVS(J}*FVQz-7Rc6** zG&Kiu1C{9@xqh>UpW18&oRb4XH(I3kGYnY?h*0i(#1wgWS43~w)aG4ivc%k=mJtkdOUPU&QM0V1@`0T5DYOltWa=v zs6p;HtPWv4KaW%@7?w*9|A0e4Jl3;KF)yPctU}uH0tJDcKv)7d*gS?QgscuBoOS@_U=&dxB)hZcwN%q@hm#+CeuU4ku$b(%lUQ7G7>3ay55HIV zK#$XJA&Kw7wij3M6e^f|%o*}C7HWWz++j02lFLC~F)Pa02ZX!oeC+TGbV4DzB2=xe zGS_Y!gEhu%%O;MbColv^?SN4zEF|kU$;t(rW?^xC+{rW6Ozkb?>0$(6V37-yh{aLL z6Zr(BbAOgps43T%%1p8DYX|FHy)MntwF@KVqAnHC#)Wyc(-&jVs1Z?FUZ0J)2*Czzr^r4Du7|9yQ_MaiTO2QT6}cy#K% zH&#IO5Yyvo={z&kCv9XDb>N?UG0ools&(6_GDdu6{+X z5<8_8)Ttn6_!1^7W=eI^bsSWa=|%|@M>zxo8k9*D`Z}dR^lR?$z#onfuwi-)p^gpN zr;!vtyhajn$KPz#oplM{D?6$BMrb?#DSN51gDSgf(2j|m3;d`2`c*k)A6hM+tKZ6A ztJ+cZPm|@45{CZ}p3Hw|%5T-Ks;A2L{Q20i=i)Pn&k#PN_*{ce9-o`>xdWfK;&Tr^ z_u=!;`1~tA{|_GoC?7i$pY!l}CO-5kH4o}r&4YTc`c}__^P}cLJy-P+|IU9ZEFWbhuJV9@5XYeS!zJ}X6%F4G2vCvXSVLkecdj< zWAeL0ep84x|Ls>UAySLt{Fa+VM0%^z@T)CkCrEt&-wwtO0mf!j>}F#K!O!3l;s!?I z``ZupL7+KNaxevKk{(Z+mXzmVy_GjY;X7b0Bo`-XdfsE^$^RfHvc*?ukLuO z?~f>%IgAR+|G zO(444nA)*t*yxiyHjyy0V&jpIJ2&JTcI6OSlyqpkP`Xjr5;PQK=GcP3SP>E%?H94P zvM@o4yyJD+k4k9b5IYXX0q95uf}*40vjk2OP!9IE{6r__PW`mtAWz#c@}~rK-qOYY8dJ=fF8Aw-93zz$+AgPG}$r*kDH_>#-|0 z0X-F*uAo+OSqS#KRDqMOClmWTY12}kQWyp+T!4s6Yfr}Ps`$y49AybZG54W5{tHE~ z4zq=;vD0_;@heFHn9c+|8lhxOAUvH=kFkq0H-MS507@b*+(;D&(;-Yl=GaKV!fX{- zK3S;yf{I;`-kSpRTDFSGBYA`ZMFiLhG(a9gK#|VfsEDW+LG(7%BFO|PFca{P$_k&N zmQ4DvX&f3u>xV~k*+ZKR>4hXTCw!lk!qU7U(Jz8CpbzE;qI={+F=jHRC;bUX687g2 zyoy$B5@-i1RFTsm>c)9M|9x0C=%-l=az82p7_}oyz^aHMKQS+sv*-7xaLMO$-n(4gu?1wkH~RwV5C8B|Fq1Rt{thPM(?=u9&_1doA7;U{Z` zHage=pfS3N8^?>C>{+{wvP!g3b9URb0Mb$MB1}Q>jWDTFb`J@}KvpUAh3X>tq3E14 z_E0AQo=H*^ft^W$KQ~jdjEE59v6O1BWwV-n2r}3(!4R7hpVy<<1(clr;D60jGo_;Z z$ptAjn1f#u>j$=T0NenQ%Ivo?mp~mjz+Py3z^xuJQAq03pzhe2CGAyePwo@ifvGo=@<>&nXxCBf3}(TIQ93M>#zP4-m|0Vrp+3r(MP6YT9|Yzr zU<*Xcthe5t&fEL5q}?`C><|X-dP;~MyZtu>qD7er5_>qY1BEqkB}|%gjoICvo{)NQ z-vcPONWZk z(}`p{KMOoFN^aC@>cGOW1W0A~!>yCxfu0{sSXs(@f^t$|}Tl?AI`XMmjf6j|o1r7{p36en3@c)uIf-Ls2kM%M)Ha?Ya z6R_V#&Ns9ZDD;W{5$T)wlH)!Q6p|pJ4qg+vv1_nLwP_ObrYP6VWC9}1m`VB}f*{fl z(SXU3$jYBrg<+J~ztjT>ri-zZh6XR8q_?kYqe5lTa)Q;2I8aWzG055n5zPPmPyrGq~pp#aZ7 z%0?st<5UPIz#JfC96F>*;#~-s1E)O=UvtvN$^sw@lu-;Y1y>ocvWE_N8e8aex+pkr zwZVA{IGw;+C<`S)l7gMM2L;oV2>BJir9D&pU@Fgof_%u5VLv!lfZ+OBb*3iJZ39A+P;81m z%5f7rK{!*bm_nFBBjc=tQqD=%HXaXaYpy!#U3guk>d0!K2@_O)lu#KG36j_;&>XN3 zVBq>@q;dfRXn~!B)BxOkRr6I>T{U*q_*L1ftgG_zs}~A%N+acD(^zOj4)mg>F(k{) z%^=_unLf~aS34wRJZ~0|0Q-VDcT2-RG2=@aQci_JxI0sAG>dg~baZxfb#!<1bo6#??bz1Y-Wluc z=g?|9>Fn*?+PST(y(`w$(bd`2)z#hA)79IxwQE~?Y*(yj^57RuHNq6p5ETxt-af}wr`DX?bzD6 zwQFnl)}F1sTeoiAwhdj}hSzUH)7wyO8*V|>UF1+w1>hT-g%bndu3P4>#Ja(edVG{( zy0CyS)>-3-peV-9V8ES##|bl!@Zs^6&C!G{FBn&g{5CQLD7kTE1*@uSEgM@}np;|0 z&N*LiX*s*$+?G|1Yw>f#`gKoRZLDZ%S&1LcUtRt3NXydNmX>8LEoao6c3#Vprk0ko z*2w2i=VgBK_bXGq>*vGAk<=rOYai?NDj=o{-i>kp>)QoN~OvEYPcAVn34B_2W1z7ZS#XA~h8foL#NzTb* zF{3_ss>b80LOjkjoQ|qGgo{YIExONxfgrmH!2q192t1&Wg zLwj}(4ecEoIV#lK$f1;>&!`f}{WRA9%gIz!mP!lra10rf**A)}x2EFrmA*jvdANd# zV&Z{i5Z?u<7@08w*7JoeLRn$NO&2VLb>K`^WFmMS1U(pVz6c!vsRX+Sj{k_<8D0er znHruF+Tv>Ki#4Se+A9fIHPBO8K#=Q@f=3^D8;}U3XaO{MbE&KakgI>I(b>|d!%c6g z-iPn%+glfH5RO8U_F7_=)S@CSPZiz>57tZu*dH7b%s+yfD(jC>G#ZK}VhKo^GHlA^ z0C};PP0E@xqshdyanXfTWPqehPGHQ@Q^I+IOnu4`MegBvR|gmx4r`MRJ4DMU2~jpB z1;3D5Wt!Vo`dN2Z>1RFdrJrrp%6&thY&>U**+vN3N=$9OZXqEBx2aBk?yBdm^i%#`Jd?v z8$rFE-x`M#l<>u=KrLB?T_Z9Qd3Z2l-&96?v3*WT{8F~x?16xpUF`XBct^bJ$*k!pd(vfs{crhK)e=xW(4(=`sjQ=sUmqbe*zDYObqdbn*IFU5@bXsi=d zH>!xsBCQa^T@J?EQSxKOOI*qYCIeAWxE1g1Dq;}CLl1l4ln!ekw#`E>os#j6SorOZ z@Y|gpI`3(uvpejS9i1M+?@`7$ZxxDZD4$yFyRNZoSC1Cm&b5`(izn10PiPmA5+&nCfV+98_V*sJIUu z?UloIM>}vZ`S+-~r}!S-6Xe5}N(o2LsG#ThzQEtkz@Mhq)M`s2OP4{JzoJ1~Dah|4 zX4fjq+k1KLD)15k$ww&;U`Ii=dmwq@fe7kZ;T#WFRxe&Rlsa6>!ivMMKs034xMV2E zzk~R1%7csxi?$=qLr|`DD$52=0u*CKwAn;klH4B&QV@_v-gqf#EP(g8*X*ErC>8ed z>jcb*uqg1qSSI8$wexXf2hw#;cq}DI7?MpzeI0h-Cmx^TbM&eq=zHGaHGeqoLPm2s zvM=1Zg6yqOKf(G&aa9-qGLRPY+;D(HzR~uBBu#B6%>nO{QO}#JFzID?p3nx&IOK^T zM4@f>HUtAJk26wTj2|)@%C$-d8NrpY1Z0#aEU1Z7*RidKim&NM`ZV4iE7Sd0MuvS5hjj+gYy5 zKFwxv-EI&25c0HauX@UksK>*>7Ps76_UYEL@AWE=i(2+EL?KT*7Quf2PUuKH6*q({ zb=(k6-*JPz`I+!N`Eht07fiG%f%8;nRPff|4x?qW48#zD6&%T>0xz8&_Q-p28Ga(p5l-yzZ-!48h}6IDPfB^)C2X;QXq@&~JN zL= zC_s)!5M6!&(yzcpA$8GH&@lTX2Jt8}TNT!~h?=p6&1*))W`SavW3VmTd7uIwU`>&> zKPex>mFZf`DCN^R-@tZx}ZJaXi z$Nqt8{ZrWbl~9hub89%~w#^Ka{6wVLBUXwaX;;-K6MIm`519u=;?wHe ztBX{YvKLULSiqv;CJ}l}3f-{dDLo{Xb%$E53!=jiAX)P;P73HPPezpGRDKj5mTbegvN$O7 zYQy!u7STMcc^HSHFbA<1=hjlzEZ5M8Q+cKG4(ba^QX3sB*t2{=M-($zqL6w^idiRD zs-8I}K*SDEgbSw%16rhPyay?wz~Ut193<=HZnVx5=L}&^mRB;1IMe`2gt+l+gIOb- z99(ICnnj0XxD_u8*-)E_qEy&Lf=Q8SVPR=`1xLviAa;HoV4rm+sg*H$DRB}QW!Z8v z!m4A%ZBRMneaIA84YS?J#lCB&(K04a0Nd;ygp6F$wYi+$82M?9orpS=j3^GiTwRZcW9X%r}qcNB(&1 z*aP@HjL%o``6fQ!#pmbvFsGF|%7>_Lp<@!TKPhjHZCq$vf8B`4S0*y(DD4FX z%A6n=KdBm*p>$zX8|q!8U`7+wh)61-!R6anP4JKu217X*IWa%N>+yOpe~@gAv03h` zeUy7TXO45W8ZFf^4c;)y7u9h4M`Nv`vDOY`@9{hV)ncXjdm(3e~Qvo04v(^9Rx!pSox<`z=IY|QJ$;O#29kk9#KC~ zOI<>{F=5*BSF#{Zmeo`>Iv!L$qqlf20nDlms5aDt9294EUNz@y+X9Q|dFEEf)u@;k zRWC2QAzNitl)P5sm{HvlJ#>DGUb;W2Yu;b73(hUKSI#Z&nfI65JLj(K(oC)jYdDrj z9wwoZ*03|$vyDU7?b)d@9PfFp**1}$%A^6Zyq^6W`Q2s8gQfpV6~qflfAI_6Pn9aL}S$h>UR)Q28D~s4!dT z$*3qt-7c2TA>mY#a$N>DzvD$Hf* zURF76=ZCXS1|Ue`ICRQ=QYnW~g&7RpNn)#3C4Mcm{lHEI@Q>M$$&)z}$mh2o7f9lu zUa#aRp7LPM2R<4E%2iSJi7aD;(LnMUqcLV6*UcQVad4hy%uf{-eU3MAc1m6efl<^( z?i;)eCJ*=!S#Tyr9Nm=3{y`#%#~g)-!IF{A6_hMh1PZY!_zol4q$&~U3oQmYB?Y>w zN(XN9VTNiLf}X09fp-043_PTl_W9>T^n;E`gJFpz&0xFi{7FnUPmFl?;;pRgFxIqu zKfsS66g^m`c-BMb(LYC$ZG#Na)71*EF+*&6Sz)|+1iC@IxSidVpGEznJw zV^$Rt>X6dFBEh>@ROGKOmZMl503BCVeA>$_w3g3}rqUB>7}=5RIenDWIfVBnk*?8b zQO=~DJ)4i4|AZ@v)kcDPE=8O|6{fZXC3NwnTI>p>-h~dY94~SzBPRki0vS20u zx(H`skmJl~0e+AzoR(K5^Caygr{Rr}^A9wVFv%NyX$wDVHhrUomd)v{=~z#?vm@Qp zl_ok{*jkA76goQ!JzeZ#JKotb-qUs7DE!v0gA%$Rj={*Jr@*y<1xJ4T)b-EVbP;mD zUU_vKf7g+@86+sa@q&xaH=YR#3c_QbZM1CJY&^^8FJ$e+xM?&S0OX9ClX205Ubu*fWYJNEt^{|y5Rh0K3Dh_Re9@2ksfNQ8kV#& zqvq2_u4C!L55Hc7Abimd4Pz_pA|OX@?x}oV3VandKW{Sf@8SgVPMMuYCvjvDifS78 zi3M^~4o=KX+ie~-&2hJfZSF~aeB8~!IF*?8a+no>HXooNC8r(44eiU>du0Z>J?4bE z#Qs@93Vrd$#Y|+y8v>q~rt3a3CYuhD>XJ zR#=Hl3)2L}{*#}HNDi2>OnMqQf#`4!C*(r)w$HJi(FCQLHEk@zZV z8C1&zGwrqtCf@syGZ!HiT-fOO2yb!}5+{07+tY~|xRCN;LptP(ox`ocgGp5-DN< za-(4fRW2ygr8o;d1x9GARGwks=-hbu3Qz*KpOBc+n%cj|N^e+cWRH9K-OHO->GzG1W}9Y;HkJGIFg0AmW=LP00<$ zF0dGi;R0yLEy~=+$JFt$3w9wn8CuAl1@3?VZX51lR2iqinW~n1r%cPk1XBoHgFOZ? zDpVU3Fi7dpxAX4tS4K>vg@ajn&b?(QR1=50Qp}_Ur$O-?mU`Hm#RPHEd74rJC$dOU zb}tu*eUr&$kzm);2i3lXbm(yNn4*J(a15BUuL`|av7LL>uz(t)SE zR#+FdjTS%xGT2ADEna6@WzIhD*%(dmkrSqNeUxJk@p z#bOY&3BcrOHv~FSID@DY(7sp?0#u+N%Y-VGcbvOUN?V(z1FX1f;&_L++$MBOmS&$W z2M}oMs`+GL3BRxv)GfT9vgM`RzVapuKK5h9V3Tp-sw&f8Gazw)1a8LSj8iIbL`E=m zjmy9aq@oZ#?h^FjbpH;BobhiEh`7tCYE!4?3bgH8dS8RD7%iY?Qdyk|sj zqQg*e$7MJ-wYK`&jS zT%{E)fcug<;4L#d;BYq#vs{?aBr1~1L+nop7dWK=jsymWv9M}_f9Bz^1(hmXhOxXm zvi1;y{BhO>9gdUFX9PxsZ{##`HrtXXM5#XDU+g}tJ_-X&=m%~?Z%@AIi0Dkv&tdBb zJi~C74X#Iy<^^zg7hCYvV$t2jb{APLuCu6eHunH$?lQBx6QpH;>2mx?7j?*CBLs8d zz&PfSQJGo`o+_Xu^lB%K6LR|aFwlkV8;3~uR0S1T6%OO1DIt7C6j=r^l8TA=Y2PE9Dwt6ZklL!YCbDGN zQeFi7Ls)lI7{}rUJhS4wxyZZJJuS)PN8G;;803aeaL`O|> zVMEqLcZHc27Y-||?vU$b+}I9xAki$2GoU?g0R2LjFU`Ajt=>dMB^Sr!g((0Zp+#&I zbf!j&thL$GTlG4F-ba#$5hcuphz#a}NP5Dy6J2mr$X;fJglct|_5M9@Z6J6FqWw!H z%gBfy%?mP6Z3=*f>F8D39@rc?TZ~ODzb%>7bZR`4n6Tl5HR?Q~AM!C@y4)=PbT$x? z9W^xuj^82Nq~;&tm%L-p7$iv6ho?J}|*0H5k0T;}k3k07BX zJsFf*?dZs5BS_?u!`8wHsE5s2L#4m#8}1(*q<9PBb8KVNg_|(hn->NB0(Ift(R{tjR~H`=+ge4#MYs9r>!(ear+h>9IM#9x=DlyBExk}z);t0Ss zD0R8u0u~B$%2`FcPI~ILY<6%KOUi*9G7CA^$>W9u@29fK^`UTqzK*aUK#OH(3h)KL zj~RmK=t*&Oh?kTwA}K(yc2z)(vL%F2C|_%tLlSwDAP$mxi-2SdfkzZ`q)va5%Y`1R zG#Qj=iNPsr47Tl6J(b`4gkCI8g<3|pklHS890rLln4{yV3uPzbadB%=h9#N?s|^tJ zzI%&-4j>Q15&T2!4TRqdDgPS_#K1moFKJ)c7gF*K@7n|ue)`Nuw%5+MMRacHI%fwO=`zD=6PUx{x;=Bu_LdWZ|$%ch9Zz403n1yRES-mLZ9SK)3 z7z;5)EMPT!4MP%LF+l>hE= zK39Tb^tzSH4Ws$#0s@+$v7*da@wT>WAj-FjyV0CA(U!6jWAhfSm`@{{ z4^`V-UKzPU!0bY^~5+vw4 z&8q@Y*)o*U$gl`u%0@dp7!0SMGbRqE+*`OAcqJKUTFDUrh9kU;y;A_nc4ESeB0e4# zNhFsB7_eOk_Go?rqL17yl+KY9b@1R2y`WH`X4>F17ScN)Plo3SoCipJ!NVAjo{LWj z83#AJI&h|ZPjAPzZkkfKGs{BFq_TtHb@C0PeSX8>DV%c{Vj1AN*DB8Ig-75tJUisf z!-I&jOG2cCfeE*v@=LLwYNj#{eVN)Ez_W!z|=?+S(vy*;pS zLLw&ASPlZ|IrV{hDbgExU`9ccUe(%DsULP}UbQw=k!(;H;)byc7mB`Fdxr z=RGNb?y3DJaY4B*$|7t9lWUAjGOqCpYs$e0Sa+-#Z9nWwoVbESb|9kOj!p~JJ4m

QXc`!J!A9J>aFWcrm%$-iLNJJf5?N2nIIQHB*3KaP#E0Fak&6&RKAS=a<0_mG^;j2-BC z7xw0LB@l|=jV zMX9F*CkPXUqM9>l*q10TD$Y8D^9!fVliS&^JMtn#Mc)&am6-L=eFP0n`FaC@RAqg< zfR9dr!(@*0@D3v=rpRQMbBcxyO@sh@ z#gTw8)HKL15Gx4|Fbgz;;C=D~W#w5Ojcm#vL*%A5y$}W}Y@~sm1j! zFG>yP&FOw93G!6G1V(boV7QJD!SCox<{_5ntPvriI7`nD19H(0Dfkf35zHrKU86-9 zmU4&)-G!V=6dAhLP6GC+WthV9NrZWBc9(mO(JAm#(hdf>K==p%d`Tea@Xr0bpuRdl zFxUD?SP{ki3+OCuMa$n&O@683Jr;XvP4A+?-%w(v2m#GwYOKVJA}os393KkWnN6{$ zV1TN4P)~pc@x~3IL*+NLA7P>OVwyw^R8PtZ0_G6K%)k{-n2^iOIK&EMfKFd43_8GZ zLvXm?WE=h#491oYr{f^%z-%>#%#>5MNEhUvmky_Ox}P|zXn2PMoB`Y>EcnL*UXVE` zv7Mi)A18hjy$U5RL`AR^%>mZM4=l}9qmn#0UPkZw`v5nveEckA3Hg4g#=s9HQZqxv z{e$wawB*XTkh8eX>Q_klN{COM>33Sh+lwdF`&3jCQ>8i-)HnE9(Az4}rU$kYy-A zNsK^JlxI^l`*3TCRjjx%AF4av#w5> z;W-xYUN3{QD?wvH=XmKezkpV&x=Gu;Tvd@0axph)Kv*fOw~*qx7u%U|phw@YY%Vpi zTcD+eUEUjTAUG&IZ~+BBJn)QPAwVhRP_J}QRzg->4+$OOS_!|7%2lmlaK`uW2}Pvm z9v7N=j$anqkubGekwS;mT*|pe^+Wc-QQDSgyoRUEWEw{&*~o2^$l_1}3bmsiQG!I( zEn!$vej;H#t7LgSef2J_QqriwsmXHLpAco9dgz)a$}0$tbC_XWcjRz?$63WFy4S2! zsP3+7rj8uwR7|n^0CK(198e^S_qIpi4=N(?C}2LJ%4{|vo1i-JR;t@#)8m2^~ z_8OIvw=|Uay2DtL#yAIq>2o3s(f>}deV99 zSrQ+JiUK~bi_*{42z+W+YQdoyqB+I^;g$Y|R zF_&RaLUv&ooDYX9(96((AT@=ekjRiRAsjmlN;;gdoa2z#BQC`bD%FAEa2Ka)kc(z9 z85Iy>0m$rkLBT9)%q`9DxFH-^;jVSFz(d`U*6M*SbM+9o;fIPCfJCf6tGTdnfqD-@Jn+yOPZj zG$OlooRwJ+8g+I7yLuO<5kC!)lG*B0s8vGR$qi60B$P(2#a2qU)+zYGGD})jO|0t9 z@KX^P-1r;{X3sm*a9xR=cdFtq}<7OWrhhBiq29P)xn zIbhkDQ;KW39`+o}h*;NCifeBGxtJ4Hq6Q#QPO68hl+k>PQsFIlk#1%79sf2_IGn(} z(ycLXCBfpUkwe_uTa8xxu3{5q+VLzCbR_=GH` zfJXPFVZ5bx`bfi54dFfEUlbPGImlgEwyGnaFQSsiJ1Ze_bU=eGOB?LE>9-|%gl?(H z^~sJT96O#TLCM)8H+uq4PP`#hfRV4?&AtgL4`D%1RJZhT?0RYxS?!OQ$O(LE&ofEz zvTN=fhwXW1MNVya!8;nw&Xml(+Zpu!2W@qCYRW)Wb0FA46)m~NOIimIILqf+u#QqF zu~Nb|Y{=AZDsz;R5eeEZGO4zqoSDf@Pa&g}hr*O3{R{EMI$mzDS;g@N;mnz+Vy8_I zi2%V-jTkLVR>l0#(Fx;eoJW9UgqvyNp!-XCjO|Z=L zWGKb@HIE@BvYE&RMjn{CL8Jz=3P`)Oeb-KdPXNFH+>~ns;A<4UD{3H1V*v_?iENI} zeWILpNcLy&=@25lmTw)^K64keGSQ%fU=Z+ya-r3;OujAPyH9#>?~S6-IS?qRlIk^K z528iV2VD)yS@xh-Jh&gEOaOzBrQlSc4?ov=3W1O-3PElK2!y9jqzdEIc350K{)yzP zG!QN1E45C3t9`RbSy~doh3?_tiuO%WniO_qr57t(u?O94L3&5rmI=_2)C@)skMs1!3}0Tt*8PcM5WHnopcc*-&Y?iHuo*W?p*C%+F9j44+gs zrLuZ5a*;7LVk4ZkQ)$O1<|zps6~iHlz5h zx+>g2V)7NfXa-3?PPu`casv?uGAzgqBs@#|4%Xu;sN>uX3Qh_8(Vv1)@r(YgY*VT7 zC8S;FvFJjvm0J|>F;AYI6{xO8;8B2x5^}ex;@5je=lS6sWTnF^Ik14r4ihHEc*+aJ zJNt4{6xlB8f5C+Ukm!Sq1+dl5vN*7VMi#J3P6+4}Zx7$_eH%kQafaniy0aPFJ~#Vw zIk{y^a)X$+0FwaMc@8E#A`Zy(7&xH*6^y+Iqm}2q+lD9!hS5j$OPYo7%Hs*rKORRR zBsDNoK5{JaQeY0m4tEDeL4c?Tb5J0|+fu^KVYU50XIGTvaPK)$r*c>&Gm4uxR1UF^Nqr1qzM4XNykCVtCYl(dC zTr00UC0ukQu&>XVF&rUdcoo?>Rf8oFttikOf>-4eK`+YBZ*TxlWon{;U@n5n$FpLh+TzTzHHYy_vJ61+218#D=^@>5L2~z{v8F2&!eam5zAgXJ0cG?Ihi%Q z>p#~RD&^+gt*daQmyuQXn)gXSTj&rJpgwg;Y;dBAr|CqIBnOGsR%u{+g>=H+v919n5O14>@6gziuij=^gIwnMzGbSlFI5*d$~Cg638w*@pk zq>7uL4bd|}MOMV1etiy0VsUq*ns0%&L{HaB;N4PM78fiCO*OO8w}kmKq|;;~c7Om@ zPn#jD2(3DRb)20eTXf}}qtYj?b8I57xO2jwjx9vTeiIlj^2~Ycnse@qC(T%V98l~c zJTE|3N=!;hHpM0&xlh$X`=|$YPpJ7gxUT}0yio0buX`xD# zQxK|t194PUl_t!PjNW`ZNxZML&Di(c**ETf6VIJpCw^YS>+G)8JWk7 zWWlnaq0P*~TNU1$Mm}*EPL^Y{j*rD6b53GIIoAHN{yL(RdnT=4%3U;^AYSXvxr47< zu)?Vtx#_-4Mj;UoYv5txDqSOr1D$()PzZ*aEY#5OB1o~vT|jG|$j|FTbLU zWidF45kxt2ys~2zG%Ru;VB;cG+9Z7O53H$xOJh8dB;`Y(=+ri!{Ui%4ni!7a^-!q?y=IAM;h)iOQ&|za>4uwSQNR&i|rCYNbDB{$*jmZ z5b!Ngh=4mE-r%N{N;yoPb{EULHx`+!1RzI_-0eyju_<+=*YQCSyB4zc#4+qB1ciAe zzQKL3u`5x?;pPz^l3WJz_$d|SGeNiSHwQ}r@VyoUJ%r{ zn1MrEWQ1gnjoSoyP~;6I6!FawocgS@G{GQ~7)JF3%L$Z0fo1&nVd;$Z` z2eF8js?$NBw5OAWc=HhwG%erSos3&fj$}djJuoXJ`Gu!6f)78K@pyskFV>NMZa|WB z$_Wry6yHE+--r8Ycuk%@66EL7U7X|dnR}8Eq}!`7OjreLj%Y$zaTXH&i)lP%!B0=C z%s*13KV`vpLAQu!;%IVZJN2R0FusXPI}p0)MslCEb0R6(JSGMuvDXVT<8oc#;6;GZxc^O(ZjcZN}N=~S^RcRVLMiDSP=zbAb&AZUUg zHxpAvCO2VBspJhnq3*G#BF8UE3de&*7Gf|!k=b=l#H!qnME}rb&k#t0mI-Hk{blN* zPGC2h_l}P@6`sv@V&zvD@@Rh5i5~2n_XQzHF&+d za*K?ToXK(D7zQgS=I6W}26%447j+dJh}=qU&JW*AE|{e&dAzMNxH(sz`sl2>1X^F` z7H66L6abx&6v98({O*8ar)W~e_ABo5NudRG7NX>U%Y&bg>4r>lsecjTA{6R zIG?ccIDI#pg_g??^Yg$jWrjxW(<#0D0=7bB%^9g>TPy=AnTHp3Ou6Y3J|sDV131>e zo;;2nC?$Vb5TM6QI+jBLWPms5+?~~;W6?>+894J}Zs1efY>vIP_wa%tZWu-Yam2e_ zNG8GJj2AKn6cThv`dV-fw09&Ofr2ANgLRE2>3NT-!VN_kq!v7?e&Jz2rrpD)Io+Db zP_9)u2p?f-o_i50?66>ueB^l^JKtRgm!$yABq`0XNtw1Omn<=0Wc$dN-X)sX`Ycq} zB)}bsM}moGc-RU)eWPbuUyf$`DJVD8pG$=V2|M$6JSxgAmoA@3uGBX_rAF*_EsSFw z!TA9T-U|C|01uH$>2-rW(UzE=&Nw(r98Lg3O#*%nwnz3clanGXF=GH}zk#hLA2le+ z4Pgg)6G&nck8_i-?^vc?$mA(bkPc7g7$=ipH)?nd9}8xZ)rKsBMVhE#wln#sD~#(D z<%l;xzC#-7CfK5ogIRD!qSrJ~k(7_m6GvI!Fq1T6?#2{NWo2VSA&R8H0Jo!R^FPZ65gCg zE-2lgFK$CV5NJB306qC>(48++QYP$#V}%H`D1%m|G#(ln5oBvneO*W1Cwc z*p%RRN_WSdAe0PNR*Xd@)wyi20p#xW90pOk8Rr<&HcyQbjY(!_9*t3rkjD5-i#aFR z*EOd~NOMj)`}sBLs}|C%C%5_h8V*z}YFZq=SLr@?;iOnPEzz{(gJc9)>Gg8KST^mc zSkyGGTr9mlP-Mvl6DR&Ls~@@bRUru=|yMvVC|`tf=E7(YLw`whgz4N0(VcGP~OowNOK-&*;l7%*f<22 z&D9F4mL0VRNQ3o)4J+cl2wd(d4y-bDfj_vjXn_KTqtay9&(o=eE!sgMRkArJWV&0& zQ{ySa&c#juJGVEBgiRL0Kyc=W(s~Kan%Au3XxOA;2ezz9b4r+2D`xdPEKu2vZer7wc7lD+9x2sY(%Z51xDTcN0_ z%4uyFk$sZ6#8a#YhY8OIMY|P(pfG<<$y1}KF`rVSESS1m$*(>sZqldIsJKmEt*}M~ zmYc_xKf!cZnIbDe8eBFwNDo;qJ8Lc$_tYqAEN5M7_Ql#|1o}LtEhII-Q-(`u|DVYv zxO=l2Ttcw5rxKSi525rFp~Pw88`~74E6ls@+E-6zFKV+KLGopetpt^pYwQ$tQ!bYk z&7@Z{4bqe2rf#Je@Uo=N1)WmWgZ*^b@d_JuD+HS=8M9l_WWolQF?Z+kNGL0gyCM=C zd_@SYt+3l6HBU+^O$Hq4Fyp!t3agIK_kz7?+N4M=eP~e8sHkX%JF#;#8l#exHL4Ph z!R-ugKNO9}Zd+2?$Kj=LJ|qVzcD-qXFPUYxSp}qTvf84_gf)?Cv&;#&TU)bjwv}uX zxigZ;F>l(@bgs2$Jl31)=olMI#JbztW8-aO(sQS^HyVp><2p%bA{2sd!wb^z^0^l6 zUt{O8qwephWsgjz;h#2{E8rB}To$>%Ok@$D-oZ&F11~o^|09Z^6#Pn$!ADY6X6IZv z>v6+qHQ3iBZXBeV*-d$4!ps|!@Un#WS{}{k#crt*~qzatM z;CaJ)_ZY)MFLHoflY|p+tKqzAAZ=z+a3O>5on;lK$!)fUJ;^YRgn^)$&C0)w+d62$ zG4KDg_inL~G+BCBkF>hY?&>aC_R4mucD>vG>{NH%StMW?B%AE+X|kJ3vM>Mq)7yVm zRTi1Us!A%Ws+;_G2J08U8HOPHVP6CYFbvp!G~g${2oMBFhV4hc8UhR$ungFS;meCX z{!ZL7BJxt1Sw;TrW)aP1Rc2gHoH(~QapD9&35Lnk`!EPd3aGCf>*DDLs`6p%PTVtO zcnGJ2^3Vf$P)s3$=PnU(=glyyEJXkM_b7!JADx^$@6p~BE|x&Bq3F-y{W+gPT;zsk z(A?k=?SoJmfx0ca$QYs7vQU8QDZ&}%p0|pOFCb9BB8W+JNo2rd%rKR1bVP#cK00BP ziO{p*&PaAIAWHClpRi(-fkNT`kRw$# z#7p45X@=@3_MAdL`8-Y^Js&!syx#+zW26jSQ_w$-g0Yit(;wrd!U!_zO)vP#3B)rx zK5pEZJ>pdOVDAcHcSOv50gpF`xddl>KX%T5bCgmggj&cd(uiIH1ZvaK;A(}P#@blmrA+n&+-<3jYYl~#l)|MoyE$I~%t8|{(L~#4-2_kDniV%lL&&PGv z>>3#nf6EwOcDr@EgB%9~3`|TP`vXrq5A1Uu$~oHZ&*m;v`B&OIF~do(UQPRbpIz9U z^cG?`^&O(~DGIhfb5zY#lz*fp{s*^S`_SiU=05btgRQN&Wsus!h3|(!z^f@cD7Ex( z824>|Pe7HNANs=gUum=Pi( zEOaMR62^}|dA%tv5%aW9ANUy`fW1|3Htb1PjcjeHR<^cOGulVdj*u>Qa&*l*3DxFZ zgsRoPlTdBkNvOJa5vor8E<&|&CwZ`YH=(+dl3}xR2kEL&yNkGL)N6MUSM|=&=uD3jgL*(64`E)twytBTPqw!tbBPZ{!(NrmwMSsf8p)=Vb6n z4=Ti0GZat{_l3_<4?|O{7k(Ik7V0PwKN-NEn9U}7LsQItvG7LQYE=%aRmg8s?xI-qAsvS@Hpca+c~LqV0=>lfJ^lcT z&uFuS4<4WkD7f!pA7`Bhg9rcY!9RcSUqAS7AN+R@{{9dC!4Lk!AN)r@_&z}hhcpwV?C4k#)V3fvMejh$R z`SgiD6?VOR@-mn)csXQpR-V&gZSwS?{(Rb-1=q%Ozn=C^gKL21!TaLRrmXuZ?MR4E z?re^ZSi)4)eF86(=yr-k<@2erf(Jg)PBaAm={b&!%VT+Wk!7-n>y0@aFJcuifbC;|2l0S@ZTL0smY{rFo;Sh8x6q>vN^?jT>FU-5|!h zZDE)o>j&*ZJKQvK$X@cWvDQC_8~^jvtd06-%D;`qXR2Epoz`bcDjPTI2E94{ZEU3Q zFP6%x8ZHt;UAtO5$@HEofxLtt~kQvB~~*Fc0Q@ zAUCs}XHuDjFd-u=OYhrj*sVdde&hyTX!{@~%m zzx^Bk=EJ}Em;O4w{_DT>xBk_?;{5ugUh@g&+Qzhky1@KYaM-9zOh=f9kLP zork~nmmfa-*Z!J#|2s67KNOVt7p%X(DZc-@_$$l(CGq{Qh`;jtZ;0=*9a;acisye_ z{QVo^@4q7c%64TvS^m$7_ww(b72jn!`B%RG^Wy#Q{?EVqRTaN2{BGfQ7rzJi{l}yK z?^jgh&xmrrCjQEHB^-ZIJeTd-e`S679J$0o^15BR)9I%m91KJEYz(jAAyTRN2qp0m zG~pt`4PG4jFvH)Oi--GRFn&E7c9HS<`OF(nk?)`VC3l;T%z>bONudLc&Y+KG99|tJrAZ1g0TV?M&}MG=#P1M`MsJe;L+iHHiv7cN}K-G+N0*9MwbQu z@#l}n1OquTJa8xQHuOFL1dqqhOj#niFm$iukH_vMrI?5DgKNa1O=r`$6g0U5pfAwC_7l)WACW%S&!^F6^$;cY#+O7e?%)-| zEcf9DonB8tThXV308UHf1(#jZn`iE1F!G-BU4rM6%Q;-JY{!87f-F(NPrWdJR~Urt z?axOebadi*7c}yyQX*PqX1MS8Lu z22-RjL3vA8XFE5Qvn1uMeMa5p3RA^D5o1WjleqPwe<$H9dJp3AM{b~Z|ns_ z_(xw250N`Lyncnq#qjlnvY?&?AwpFLoK+ChIrdr7R3zplA1O$TIsXZd*Cunp!3T~e zFY(Ru7NY{N)#6}OFy0Elk(y2m@io=4^mAI_q%ubBTX%Xr={v*8w}^k5Vy=+;lu4ur zX+pB{KdI#}U4*J$z^VP6soZvzR+COJbK-o^aG<$Qd}WuF|JilK}LNUkFkqv*wT zgyNlzP!zj3`d%bRru}o{KqT=cV{O!f-tH`W|w+4^j@{um;sB5ZM=wiv$kUP;YP*i3HE#<~z?? zJp(MxIWuTOag;7+XBvh8K@WQh4-1gCG6ACqq2OV{uFd&q134O3+^2rLXdV)i(A%P^-fdT=384+COjiwoixg=;Da%b z`Jll_zsO$}BeVTB(tjiUF7mzY&yn?Qe~|R^NdJlaF6+zoWc$*;@;3!MvYc#J!Ylnd z^11vg{YJ8${43j+^<_Wuy&UIX6aC8ee*b;^{t15nGyMKn`2FYj z{U7lAFY)^)|KqPc_`mS?SNQ$m|Ng6A{SEy77{6WoKEdxp^!o;X2l&0j?;qp$AK>>N z;`cwr?|+Hke~jOMieDPqlR1uYLbdHp2A2p8nn544WN!cHpZ&{!@BjF3{>2}Q;s3km z$i+?^#G+K@v+1SZ4|-Ttvy(g3se9$m@o(S`yrBzM)|Ad$!O=C641~2fyWnCTc|8z| z1{ny)#*(K^(ZIm_Kw*qn?$sXEYa7gGGaxTh5iik=K|*VDbJh0%XI#fHoy4CiV!3<~ z|8t4MS;1w9qkGr%WQy6D4zEeF!6}8$Q-2&V54V*3OyhHzC-l;`JgGOe4$tTvh1BCyb%oJm6tVh)bP%$7HlO{z>7bxulI%2CK7EFAttH$_tH`nc3r z117MZdN`fz_cNi3>?nPiaWeBRkF{a$AkGyipPe7p{rFStA)jV+M0=cQB$lbRI^nIopT2m0p`*hR7pZZXGzOaXfomaqZz5xU{085OkeYA{rddT@8Y;>XR#ZfXF_4iZBlSX;q9C0zG#=sM29@8d|l7 zh(`)`WFIc!8=Fady*}Bo+K4(AJ*fa}tDqXPC@0V)@B{A-h1J@)C-^BmQkFB37eDBC3nRfnE4;F~^v7ZGj>N!Q&6~=t`SwO~}pi zg5`OYu42c&2&-)Yv zLFZ;ao%!JiM~l5+7+ejp%Mc){wi;q#6<%|XR+T(j=d+6sz46bzp9gdA;w*4S)m{L+ z@*|nmj}7&q9(}4(Xe?hb4Aj#q7jkfp``^u>JiJj*g~>7wCfDrqus;3RfOkHqdho}y z4^zCqV4qOen~vxNHTs?f^Zq%>&jB33w4Xwsu|}=-dHAs8yRm!b_p4)E??u|f_|`DK zHH~jAu=HdO8o2_qj6Ezb#@@`mn!@8g_P_h?J5T<>=+Sr(_K;2CdQ9&1@R|VCKB9=+ zI2D_}lK`R~8;2M07f$-;q5BCM1Ou4Dg@_}I-bFB_v3S#u?nN->|Ksv2?@IfKR>ij- z?(xLYe(}w}01dKwn7R=b?fmo9mF-||F%bS#wehhjpR~wri_33jq`a#iYfU7DKn(FG zh|ud#2yyLUPlx`mb|DDFM_jvu9hfV>=LT0k?HE9R_2-v2bmEjGYLwMLd0?gESr{~_ z{$!Hz+-WaL@;|BNmH+wn768_muojh0~W%qx4`T2cAl%lA1U&i7k(o=09IdP_vb+fGcX9P!SY(d zO1E2VogZT(tIHqmw4?KOxV+I2=gt3Fmhk|Wg=H-}CVL@R455I~RnqouM`MXYS1;EOf1MIEiV2}}ZFut7j#TI=Wgoi&u zT*c_CM{Ha7kw5(~LBPPnuWkV%$p%R8p|R* zidLa{BwR1=&^U)C2_XaOtw)UxkAxXv2{C(23f-Oc&sWn;Op!231V18k6QjfBM-uCT zB_a7mtVN6d=eIuE^p=doAZK z?)j~;`%aPB>iOUie(4V5nuG8h%oM3qejO^0Xp$+srjK3?hx;_k%z6J7DGzd?Wt^b=E1%21ycV_#EdP(~5{mhZWJU4! z2Xy#a`;lMeUv87~1bTEaH5L6k_}#(p0KYOG5g*x4ZXL5cD`I+*{Iz(D+5V*ji2eQM zkAD2K%FllGv)<2!Kb!n4{Ml^lz44xZsUhiLtx;>%TD5kqQ`@L@Yn%02yfQQgqt>W58jWV7)o3?5jg3aPvDvIOk>01-Y_^*1W~aH)>^3)BwN|~=Xf<1{ zR=d?{ZM3?r&33I_Z#UY_cB|cPciJ26ZhNy+>(o1qPP5bMv^$;7MyK1^+^B8THyRtw zjn+ncqqDKG(cReW*1Gj>qucDZy6tYKyV31-H#Y&|Cc585)0?QaiAQ%Ngp9nw#7I_( zK8nLz0n5vkYHHw^T+^s5k{_gBYBkCxKLE@Xk4_Js|M1PNj-2~VK5)OuZI7C}Xwd7^ z-9rc33jvR$=|8}}pxl94@lZLdS()**4XowRRpL~V(* zet$&CfGe>0X+I#!^p9I3;ReF@hPXRS3?DI)bdyM=>0Y76a?^GAPxM{Gk1 z&%WW=i0RIBJUw`GQvH#BzcxL4^=1zbqjK-f>n*K4ExS!NLf$;-1lj z{;R==Xb(4WC}7yLD*-vPD?F5y8<~}@0aQZ0YCW^6F*2i_O2=yv#PuqUGc>Ei=4P|% z)!fah*RFYu)}Y^aH?65BtO&S8-fTGd`} z(5|{2m}g$A58KMPah}hmfLl~1e5Y4VhFer^W>(FDdn1CoSr~3!nZcb}IR$QBmBF1_ zH4APxg1b1rdF4|0=2gq%TceZIaa+u+=v$|g)XFLN=KYq(cQe9wYS*c7^U9^@gjX#O zw?-$$;nwIRwQ>r+H9ASHnnB;K;S%^3mCN8;R4t9~R%02sdF4`Y^Qz_HUWUF~<>^~g zEf05p8GQ4~rSQ$GmWI3CSpsfRxeVN*YI(T3%fQVmmx7yDEf4oHeAzC~m!fKExLeE6 ziKtu#-=b=1xVfsXlO5bhmH(;wk}2zY8MsBirQvQZqc26}GH{Ek<>79(XyH%}-*AUg z{ILSO#vYToP`oS{m+lYZ*DnE0=*=^jjKkO!ek6_@>Hb;1>Oshud2M-z{Fb z6x_UOdAQpxaz2#iOR8K7Zr*QcxZCw5@GUBrfm>894L9xVEQ4>VTn28@?=o=rmw}rq zmxPj&)+o__$NW7JbajYf|o#E!D>Xq2xAL>^e+jrQZ zFCBkW1(kR&v?Z*SPA$jI)x=?;mMl!uqh$0s4s@A~LCeigbq&A2jjE`=LZL=fJWy7| z)DnScz!`X}L`OKxQUpL{$Cxd1l4BH##7!pJQVEo>F1PvOy(SPTRgj08k}43eNrak2 zs!7C(_7iD`(=4{9V&sh)`3PLzs7WBoA7cji!?NSEwu-1RbDBi+iNo7QMEDVox8xe$ zF3UTB+s+J{pym|;^1ckR)!s$qY0Ypp4IUZ&nS+bb;NIZOGe`4T5#gO6skn4cp{d-^ zMzV@1WX1HcZO%6sbGHb^yhIu=vxO{*QD;Asq|gf4y7U}y01X5X&NVi?fhjmJ`dh%F z+vA?El`kn3PP8U$@{CD^gZcDaD_^q9pK47k?DE-4x_n!t%O|)nLn~i$l&`cV7LJl` z2-3=z?DCD)#KJBQ>3}#QN+Ow3ve$Q76AOFY_rh=mBRwwC=M&!@2U>-a+osk|PLRGpPKhx_n)ZDz6FPxv zJp*+_qxwY9_q)Ylxd*v-C9+n1MuQY<+T3HrMH#s1&*3>w;uC4f9;?|!UgzX_Pjs&> z@H~^1ppsL;pCCQeCJ%C2lTcAsrzF<{mHNgU7_XS-7fta&Te6t9VTfmXbhB3HOJm9w zSe;Lihi2lNC|fJ|bRt>OOKvZ6@+$Z>lSy`De`6e#z;`#xWP96%xGZ!(BF)*F&G;RnXuMol3O(<)D1ubY1!LXe^7+aPATW3tJNsk z>0Tj^{IOqX*KEB9LgyDPYpe2Fo3(|Dtpg;#n|^`P)Kc@rMadiMr~ak$8LdF1nUi~b z>$PNTkznCYu4vYpN$MKY4MtBj?L%J;t5JJbQc0W?a^Ak7T$-AUE7|EYt%-$V@+24` zWz82PCnGz~;s%=DWJ!54qnpse748K|i&2o1oXAQ_0$J!fW$xrDgMsk0&8Ud%!k+9- z_Jj91Lmm-vL}{d00zn*YUxz@(tPV9XL_hSCOhXGCQF+}^Qe>w)p)8|_!<6iD_*_CD zDXLMDFpcNE!MU+r&~*?bCGpo41t)@t`}y}|H)_cs&o4g+lEpO^Aj5SWq$D%Q#FA8X z<9qRjBq2E2Zot}C6HT3A@zP_>>ZPy7d+nVrZ44cm?We#VZj$(Be@{TMXJ zpT-_(q)8==_u9LXWNSs#F0@gs@+Etm$zH9{+J(JZOpmF8YA4NTW6M@(LCP_$r4_XmABK}lBZ@(^BZ&XE}1>S_={1L6*wmWbgzN}oE_rg-(5y=IV_Bw`{bLRKNpE9^d zpD_YObIj4#_m+fOyX&>A^n@UwXb}qa_ZoV2xot@7Y6D>8%qk54J8qxa;Wb`yHLFlgireQ~E}H`2HE%4n?--D5i<*3d-~pW0AH}h2IQk zM7+iyL8dPm;QDSSxN;uy3+29Yc7rkQ;q!6%pz{mAPw?#2f zNimuoWR`84ykKLRHJ$HFsKl|Lq9~?VKDYxQ>VwtDT#<|TAcs=9@cl3dsvjE$#pJ(} z%$-mA=lW!0qFzm|uNsLPTW?%ry+?LoWWuBTt} zB`S-Xx>73JW(~hAOH`#ix^$&ja=&)fp~!kc`>CP<%BGv%fIcr0`J8Mj!w&95ZMdCk z4OflQtyR71=CDz#c5r`bz1bXY)HZAS?1*aOcC*H2r{VT-r&zZ$thQ>KttxIQ9aJ05 z`k=G9x!E4}8|L(2g80A(t=6DMcaqgMn)Pa{*=tr^+^t&e4*MImUVYfam8-F;`oQ}e zy$!e4>Qx*4KCZ386>ZgSuU@NSve0`SH@Xgb8W|Ywh=?E+Y8S=SzhI>5d~6hoqCfB_ zo*O2f99@Zs+1%8pmgYt$cQIGCd^rlHKHV*CV8_6Z-An~u^Xd7>$Hj^VjOX^>)*F0O zf244!wGh!*Wkrc}dAA0{=17&!ia>Q@l_I#T)qJ*}#1<(r^w5=w#EgPSsJx@gAcdp% ze7YnYm66{Isva)T)>$n7rHn`Zk^d7U>o6Ima&kWR2YTd_j;eGSND_pS)^kxp*98>3 z=n$2K3{0u4xJ^lsaWG(*6MYLgm{MJ*b%oMovRiaQ26%V&fcHY&oRQpWCEOef!`J66 zg_)C`uNrnhtP$SSb4h`a$1CDcMT=2yseE$a?{M^M3>`sKh&N-jp3$kC^ZcwiJ$J*4 za=dwR?tVSj#;4Eang<~)4~PeWB_LRn3*Vo)zC!NP#zSoT*$IavEp>r3YuY`;5FEMf z^pkn;wLkd-|4U~FW7^r(znxmUs5%X=E<Fu_;LD2D%oU^eshv#65UV_GeH0i|(fj;>Gq z>C7EnIEl4NLJ-N3902gK&moMW!X^78>IrRUt~Ez`t{E1!;M?p3Ohfg93MfWGtr>Y-Sh( zB?Au=WVX$Rh2%CYE6q6KRbwW8d2nOvkY$0@XAf=ZUzIUuj>#BJwrH2OmEP)m13jin z*>%HFa0gR&t%-yaGXHAlc2^(q*)3g#wkDBWBqAk&pdl$M zD`WS}?^k(J>1w^CQ*G>qGv^Q)i&+Hwk1QhDAGye8d}c4zHs*;{S#7jNB(vHJ}2+{fzEDoc;7jj_tpo;w;%V^4SJsSU*bVfEno!S-&o zUaMP8zY8XI!mr((Q|w}D#+ELh(_N7p-3~SZH#Vyqy;c`Hbl4f}b^Gn=#%81Ic6v3p z*=*~x$cdxEcLr5uce9S&xlOlK?KYd(<8zz+T7S?TdV{_Ok*R)wG};fScWc9fdlBIk zq5yjC3~qpHz{Z+sxb@APsO-HJA%C`UJh9T>Vlm znL^W`{OqZb`p{GzBvOR_grbZ(Nj27Vz+_FWUP%;j8On5WK^Pe6tO@|8;R^!r#KjFL zk9T1LTt7bcSCQ?LBZChQ?pqfCCC6>pf;j-#_r}54gMsA01?TEUSV;hw#hIgHU0fts zsh{-%FaNO|9Z|ZmS&r~xrhO{S@6RWv!KaCXgV&yMDW(J{bGcSBKy%L@1S15RX@i51 zIPfp0GrwDa9I?qGY$W3NlC2fClFA(4o)hekDxfqL@iOpY9 z=X-x|?oR?eQF6)Nxxg&gyOgNQ4_*rVf&j>BnqwvVJ88OYh-jhkX zBQcJq1?EkXp4!-uT*%oxiTQI{HHvsFi$*;cA0%y=eBLU@=g?a5omuYQJ(*8%T1z8H z5HsHf*$v#-`Bq*Bk(se58k{<_TA7dSb^*o(?XXw{dqL0F{kCf#OkuVARJr)M3qWHKsqC8#8#?_Wbo3cQnFvt zOa=RW9aCm$b{jcR)-i!PdYP2Pf60Q@ke$3}PE*P-%Bkjiy;n^_mn0KquISCaH{eaA z(cSQx&X8y%RuTZ)Fv`UtJFuoK18YsHx3}O=b-n6DltHSpn4o1zIh8SJ3UP%WaVV|a z8sPAavx~ExeQz?bLsan!cbCs+0eHwF9lSaU`t$;?By1)fraKCTh@a!2_h!}jW1Z|A4aoO%(_n37=}h?(@?ek3H@Y`?H8NJXl!B`AG@TGt)JfDJ&jkw#U5!Mo z*|H`P46c7P4O1S5Bz=_&2C8VOzdK+##YMM07|uUA#Sb)`K@?Qkm}Ak}0wv=(Nq$nt zSv|BmAz|eDSH)7A+7<=mAa%Q`bgDntFdNR{8~d~i9(R);Z?eY`sP8qDugxXR!K0Z= zZwkh2tt}=igTGE>g+zkn6<#Sp94v|mNfHHdK~NsPh>;8dpx8eez^d|zDULU~*0>nv zp7K&^+Egr~=#0hkx=hKJf@GSM8h|s&Ws76&hNDHT|+DB zBQDR@W|+W@lEbELX%Key$^nwjHkoYfW{KOim=iOxNKxOO)xH)SHzznu^(7WOygQv0 zWie4e8cCH)zaR7hWSQHFbWi?}v7J%y$vF>@G}xHp%8_W*Im8(s2UlZT@1GzJF|?kk zI(ujFoOcM8I-9$(LpiF>aXkIq$vhmUcd|2|&77mr-0ljUJA*I*Jl@=gOR6G~X^N%v zwH&1o7!HR;^Dm0b=DhN4%!n;8oezjc$ABxxN0NjtdtweZ)Cl+X*Cj ziW;rV1`Le^v>H2sqJ>VO7Wj1$qUuIw)d(e~84NgB{cg?8Oav1jJ8w!_eeel0G-=N^P`PcoC6K;X=sK2-Wx^ zvA!x_-~mpH+g2rE&FhEW>;(j(ZZHunmAA-oF!8@bB?DSRJSp97PbsWun`VloZF z{_c5W7HC-M)SryLk~?DwTwrsen4f%c7`B$7%7*zTTDv>o z>db(l>t7Z7nxittlWoo(yS<)2E6i}Bnn4t6hD(Xnv?h%cm@$v^NSjOg`rg3pn&HxX zaG#re(Ak&fIX=_$EPqsj*`7gF8bzs(qJUKQl~3?plnssC4d!RA?VM_nugKEvmDY!( zhwu>D1+h>M#-?FV>5p8jzxvkG-NdI){MpP7MtSOv?8LMQr+Z%pAMH{{{>NZub$jf_ z&IO-bPi)}ccp*Y(4Gyln^{4ttW}Uy&7l0Ip+3VGC<6aB*iL_|-(xdvvIAo%9reX@X1=8CqQs|M}K~Id`}2^{Ri?#y969eS&m)!-U9P zc!7Dld^B~Ib(C#QaQ4gJtzEukw~U?h_i7a{*(sL}`Fpj?m+Y1ap!~gB#Y=X|Y>%=Z{-xij99&gYzj%RdDj$DFx2fcqY$=O$xk5(YnwHNd@d9sr#X4e zkDJ%w_|vw}@&~gVdLw&Xd>CBe(m6vESKfI2Sz!AI5-!`=31atey!1xXSPoheS9Z)A zJ^PUK&`1%ji^26`n=iJzRm^{}y}@)NGNy7DDcr=^m4>8PuC$X($DD?vW^5TsRy~gv z2dmoeVoaeAKqtDmb(X+GcR;c>VpEVb2}SI89V5n6XpW-NyBA#Q=v^#8I+IdS`G^WE zt1;WnAp~30j*TSS6i<|dcVN2fE1zyd0}va>B*PNM_{yQxXK>}jY2D_qh(;0=;~k)o z&rBf1O$m^jFedcL&K48#R_=mtr4h@fXOk3Hn>kgaA%Cf+FcWzrN>P@U%?Z{T%|(K} zCLS9Wn>{pJqEb6|@toG`C+Q|7>gu7@nJj~(WHCW=QV)ym$m+;Db8+Wysl~~$7r%%S z_qI=`?wK8qRC$iOe?qrELlip#@Dq#F^y^-9v9Vr9@O1>Ds77O4{$*j^keEuEh!6IB z_s;_)cr7>IyS%Q!CY9-h=f$ogC1*xVX0V3`{!GtMx1MH*WXqczN3$`*lA%d^WW|QX z%)v4X#pVhRIT&=4V6J}O@ac#Z(vol-ag-Xssur?>O^l9JCv1K#(n#d1J7BxU$;7rQ zXf&YLJFywHdT8|-%+ST!+#1}Oy#`K_n>KoF84}ge`UL*JNLtB>eOXNKw$hB(!Ms1e zEU6Q}7L{e==ES61E)-KV^t|k=cQva_@DD$JH)yqb{Z@0c>h^|%YOC!ws=f9`ySmwE zx9XjGW3yAM8G)ush9!%$1u;WnjLus(4E-Q=zq8K@^;Uj#l@t2lWHgQjA%^#e}@PC=5$SV0)S8VU2FOfP@48E$Rh<*jA%{j`r z0#l!=2DwzCYc$w4gtnj&m_Yg<~37s+B{;lD=DOp@dpm zOkHUQFya(u4@9(|&*(Az&Ah5HfuglL6VPQ$2m!Z-mQNA;Kd$XSX}KvO5;D}7CUdkE zgZ5Drki1{H@cl3dkiW8uLoPUlk6;vS@sdB@<;ZixksV~hAO60@ko$97A#adG<&7WC z=I+R$Bow{afs#{y=GvDn%Nnu6c{(=JE%I)6*lo1CB8f_^?sclJ+xO_uNW*Op+WmID zrz3(-7moeoVMSCHNmNoQ8w13IhF3GJIM22E4SwD}cYU|t=jZiB|KhxUN`0L!l={&K zK~exfTd<0J!AQhG7EOMj7z@d}mCogkyE+ptr_hO1kXAm1k7kWmiwV+F22gE<7}V)b zlSYaJqYz$aS zoq~E>C9H9uz|PsYXIeA|;$NK~`a8kENzl4q1lBdmNt$Zx$E9gOCeAUWn7~%@l>@IyUQOqlBR9sJO>C*wmOV1X??*v6c{cCC zWZ;%v;cN)EwKThp*;*5zN+_U3bDeurvwk*dYGbk<8_R zfolHf`;%`maLorRmR)@HsCSVu>=SU?6wbv*4jD$q^+)#2BD*6$h(&#IJ3dxcnvShUHOpTk-yFO?+wtMc6M$VBtnO&17!uBB@%|}zu(ZUt29>@SDd`N_wrc1i3h&KG|bk!Vv zNXw3>`OJiL{dA6ixsgAm^J6?s<7O>8?XE@N!r3Ic7tW%TJVJ-9 zH!5yzuz{LLs?x7_s;!>8QQh3waI1snW^1!i^Xg4EIkhGYSyXOhR!)XnRBdKfHQ?>1ti>hLZSBT6`yWNcKo>On8iOBmeJXK$2>oz?AS@xqy_Dakp znrbHVA&0(woSD~_?wlvMVm9N6RB#8tbt&15~tp$IO4d+mxwM<){5S zd64aM+pbYd!W_8Qogq$q8F?=_!(N>n_!C4q6fuit-esokmlV$DIGdaL1aT#3vWQTO z_MY)kF!g6x-)n1JUQ*+0dSEwJ*&lh+^O1jcK09#dlm7Ys+j@hK^N)b%vFVkyqm;h%YD^qx}CFLn=6{1>)2=U&JF9YxDy zKklQ_+fSK-XTi*Qg)~8z^Xb&#Et~|SAj8#l2WFTb9nsO%H!P1Nu{`N&=!(0 zc|=w2t76pWc6p|d5}vt!^`=dNiO)dXReT2s|8p}6CH7<9^#U`&>aKNjw8<@T_nv?F zrI1S6rcM?2IL~}{gu7hG%cd--{2M&Sp1o1>)~m7{;l}~4m6;(F-kK7Yh9GXsznWZM zHDXR=dTNJhz1VwY@Aka#f{Amip9#>pcD<_tHK$8RNf?qMitSE3k7(w5+^LZCBF93S zT%Yv#Mg`Sy;v|+Kt=CH}oodP%HJpQs&63UW>nXa?)o@&(f_dU1brFA24NKOqC+NA+BMkTz5$ z^uDXkLU+=qi<;tR*yd9@%Jofz4P(5<95%Y$&5SujiVkhJSizHj3Xi?-oKps=JW8dD z?NnCII;d(4hS0Pqt}|)!5^e~K21Sk1PflNrLJQS-A7NcR7a!F0U5F!yB?H}Fz5M!} zjzs`^w6}eHpiz}Rmh>e_YZJi$%~rEI^fr*3#r4|N?$F(=ZVuhypiygkt#(@%4m3V= z#$&Bi<+|5G<=$Yk+H*VgYNOfjv^E;8%}%{zLW!#UIH9WA?Y0nW)f~2}Zg(vw@~_ z9tZqhgQctqUSuG#;3^aSsmulp+}649R>U2gnCx-zr#TrBINovna1D>{vqANf&!TMNFjD9^pMrXxs+JPrL~Qsf*|xb-o0b;*+73AE$(&zD~@07zSuj}q=`-g8KSl3d3F3$J530t zR&Qfi?e@Km>PEeR8{6CM-e%26$|UGs$VXIe;3u>4BD70 ztkZ1u!X;L2lHbPqN3MlpQZ0k{GuAJ!5q10 zCj*s8NVl3&7vx#XafA4o9$cWV@0|B5glk`BhEk)c6!1HDYYlTy6~phW9V$?B7V-O{ zIirn-QMYWqVDpp~GD!xymZ2n9VIMC|NX4j(t zx7+Jm1ijhFcpw&Ml$QFNs8u}O4$kJz&cU8jHi0l4l36D?HJ~^yv=gMm;ew3S+VoOo z;nk$>P&NDTsXj;zsp_LdAX;7ETEv+iVAweTiVN*+WGrY`LUv7kh=iUTRL33s`jr_} zQ6Yu35;d!yiw_cKmFY+KA{Z}0a3`_~sW#{GIE9>#mdEia_EA}RW zS4Tj)+eeU3(WBGc?IS7|J2M>}e7;4pJz;Znrzo}_J3^q(7!e;4LLW&Nahy(`e=SS0 zN_MO&qZ^ZyM4=JE**vFQF#`E}qtOa-%_bB3qP|rvFVG;CEKI02q)@gSM6qFku`|v! zJD0WJ^A8djAy1I+vz$n&+q+nmdVRx^7_QwC{<6y7#l%^~};G8tOw&VJZ z-@iyIdHS^0-qujA)A(8{=~BtTgllt>Zo%EODlHWzaAyP)k-y|DqHLYuAW-EFn2<>; zl?#%G@^>GvA*BF;UPL5GM$O+h=WSCYY4lg1bCNFw`W<+aYps0A5i=Q-zt>ZDJid00 z!WD>rCF=6`&a12f*C)0>T}0vAq5ILF3|63dNonL5@@a6ri)5B>+=(~!jc#S-G=*nm zs>#2>s_}3vW9oDzLA7nNJN`t8a1(q zfz#@hl$(Mha`eBCG+yrX+S#37I;ZDefG|ocUrZ_~fRr+<6bo&n>Zn4wlh|=<#YU)T zKi^Wyblmf*hAI@Tm4#NvJ8#M~P*Q-+x#Os}uKX3|kc`1(uX7URq>WwMqLP(NWhVhk z6aB4nYn`3O?x7X4SJ^v$j?{IsLlfNfio;xSw7$F*hi1YOFB#-c4;IN8(@{?~D4|zG zPW(xnY45J9hBJvi0uy@0!NPLeal`MB#?kdPCMv0HY+f|EF>Y||g?_(?$vAaO`dv@l zvGdXpQ94et#f0k>&NLahOHsM3yA)Nkz5EvGV{c&`3~1wnCAW0FdbXEWrx0Cv$mbCa zEZQUxi))Ew4X#v+Ah3L?T;QOQM?|s{=N>o$YSIv>R_X_LwXrl5nuR8%DS2aLI3(^SYqNjj#N;yx3Pf5C45Py#f+)8{#Arf$;X*v)+CV(TpQ!s@`C zQRMzN`gE!exv-_9I+rfIl3PyGJX}U|n^2#sb(@+5;O%rfu}2;Az#)~Z#|qUG9(CiT zVo%!fdYyQ^ZXAS0tr2U?y75`8)cC*@&6{c|+fMq-xRWUAZV2^NE;p=cwg?~Oy}*%? zv>eh7SaR~vB{qL@!=}n5C6X`aGB|nrqI&YKR&Uxnm^^LQ>j@?2Gq6@c@n&=T=*W7! z^A2ZG*PaG_8bD9>1{+KHzu>5jE}CzAA@Es;U1-#+Bh6&MTAK2wznm`T&KXVW1LF=JPmO}Rgv;d&c)6yT|wf0=cCNO zpmUD7ML?~r#86mfb((Wrdsj0rq;Zi+!0tx2#-)GNY+A*B;)Bh8Jr}KpCG);LdD>`h z-bKqmM~1?Hwz`#A02M7*((0Roa2PXOX;b!j@{*38JH!&NrhW3q&z6op=EIxkJA0ZId#}&=)C)iQea{lSprxA+GS+8qIl`vn6v4+k6)D`l&Fv?S zNht^_;{egez4?SWN0d^?Pd0};&TcT7g~4cKF0Vlrcz5vpN0gzp;6QB$em98z9x?&_$(7HdqtPbiFrWSnfEXB{^bA!@+3T!?;usnDW0D~?^OR_ z?!~SaU@u75cNmIv7;AI9JLqOcUd zQJvf2LygQN4YSTQvH{ae?-s*-5>aNHy1uQ5xY#r#O$5f0HWkK*2?r?qyz)5ngOx^3A$4+7@1n0NuPgrHc zcZOMcS3QO8^jx){t zq0a&tzR^*uctW#6Q~8%8+~G{5RZuVp$Rr?@F)p_$XHdW0ss8lIPWA1{sbx6h#p#nL zTIV`(WZTTH>y}@Nqw;Op%!hO((0Vs=MFK^mB%SbevH=rFoB0Xck7I{#hi!-bbL@)g zVPBH6iK_~*Sd3^>S?nn!)Wtlyon9mKR4yBNqo6vh8!pZKigF(nBgE)v$>yeI9b4Jl zq=_;n!J>o=HP>z3k~Ta5VjaSd22HAd$|_1U6kLCEa^IwnIx9a?pznCN{(u)3n@#XMHVa* znPN! zHoJK(Epu7UtHv||P`JP#OeQBf^%+xGIl)cbThych2UVjh<6T5smhqVFQ$96ivkj_R zhH(KCgpQHb0ciR%DMV)*;6(qbxLHHLC?Mycf-ELsP;&Wqh}~KDjQkB_J?+eUjWHLk z1D7~yir|Rb(plRKNk|#{(bvt7REoO!^;}~^pJ?JY9qXL`8nW2q^c3Vz?S178{w4T#cm^Lx~THix5%eo#X1Z>*@eWfsjT- zJD8W>opN;i>g06$bkAWyXa?|=7cZaV+LPm?R|s3%bM~G-Eor!Z9xO<1HHP6k<=w33 zqSialPB{Tw$Q6oYR~0;Da)i;p>Wer#QvMp55F=7XG~AGalOakdM6F2nr4|gkD%%h- zSTSnN7QyK-y_g`GB)r24By%ix!A^pFujF=KJ$e3O`{h$pIaf|a!_E%1 zY%+v=$6iUu%=yi>Gi$hkFw^g^jfB&umbV<0%kI9T>PBY2(O^t2kk2LF!DtKIDiTLA z{24}SssS^0uaL68+>9RTyIk+JsY{=fj@KfeSH0S6vSYnu3;JPwV!--qJ|Cm3yJqDPad*`@3 zhNeJ`CBN!Jl1c14Q1u95I_&B4vc9p=ZnSW#Z>NXLfm_YZUbVZi(XZAzwP9nh+4Baq z4IL(qm&(u&$Ddrb9Ia3j!(kiuUuHC+32!z%e2+m?ZD&@EhNMYZ?V}VTIaHZKlLk&Y zz1{SMFXbd|$_-CSv=Vytxd&SIN8a>&X!BGEg`NK?r5!!+IBhG?vz_$g$YPB79x^UQj5OO&!WwPL zHM}YtM2%ooP6bZuIt7`~tCgZ8jRWLaa!w6Ch@_c?(`?s45=+J8fQ%=T-9PVp&Mqlo zO>HPC@ScxD!c+OV_w!(G*v^&QY3_dFIX|Jw5o&bAq-!U!eO-Qu1$JMVb+%xgB*wUA zcbE&`L=(+q0sc#3_Z3Pby+c8{)U%>y@j+2D`PCi5f|Xy(4c zD0S_fZY_Pu*7+s!W0bUij!xg~ZU0C|Aynhh&S~t??n&&?Gn6VyU_;1E*X&fdbQC92|FNJiCYKpJ~$A0>+dO$#LM5zWe- zlDFk7`s5Q9N^}v56GfVugjLxuj8-*@OEn-k=6BsN3}#ySXzB{tE=Rj3S|bZORa+Yo z9hL3&*=hc6cW^4&Ie{k=;&Az%cM9}OXD&vT{J0A{2ys*0o;e{K@|o+90E(V@MT>?+ zYYY53$%e)c?7Bm&RlYug(QnZ{IZ^;3+OR z@|=&gM@{G933hu%p2NK?&i0i*{YoeEbW3CHm-!*lTxA$~xLKxuZV*uJHQCqiM*iet zdV=hnkwAN|@!+CmS#OzTSucB8rh&nR8XW`}4tv=l$etj*$naH>d9VFn!TBZCedoIfN-EB2FQ1IR-RQ_b@RnqZ?ol`5t$n!Z-g z#Rn-NDr5h<@4oX&`n+E5e~laTG!S$YWXo31TjESGDrd{q)sf&K@ZSK~FaAB^!B)FsM!ef+>Bg!#iV1qQiZo1aoWQ&TE3<%%>#G`Rw9DujEZk&rV-d zcMkTdJBNsODJ5s>-P$lSiYTrn!>iuN>$x-Jj%DEjFn&Y*JG0R%OFXWv<}ZJ z@r>C?Sb>+?)r+vcEO>fLc?7aMxtRFn)<;iHesWlft8lf>5-X!cx18x1h)9?4Dw4$x zy-Z%r;w3#+2P3-$J3sSq0>mjhTG0Yo&iGir35=42UCx(q`FH2v7l0jZ zw|w8WtjUXWcXFo3PANtfYF%OixhZGDFR8KOju$MuC(` z8f*|g?Rv9QZ$rQJ+ulaCwb9?GcHNGLPhPLTxjE?8yso~i;^-#~gHXtflr7XVTQE9B zx7@T7oi{S8Mrbu`UBw#_DJ-(jP9)ddEd>|fU)SkJAbeGROf?a!QgDcbskJqUnJVfc z>^}=;aN8rGL;*vCO!cbZRfb>1(uD$DpIz{Ph6+QPW$SiAey1SvJscYvINQUa>lr?tFb;UGk@ zOU%HgHj#N|0K$5QU2bIX(HAPMjWH6U@3*X|*9sB~*wxt``8W%{X4VxjYhB;&%fqY@ z{(t{oOu(97Nl3Au3XH+Jo<|`My+F7h(FIwt3%$S0z+-(a3H0b+)p~LneBhd66)E4J|{jEHdItSFo+kB+6#e!A-tM9G z)=pG#okRuKDX8Ems)%IJI;iCy5>_WszjYGzTc@CYI}9echZP5i*4pjoONy@ zbrP3=ox~+zr`!^7O>k0-;qM(Xr!?;=2hi}L@<(?F+{ocUpsjw#yOXHVHxf1aMp2DU z(JTo!vwoSe32VaQ%!B`FZMsp=(Rbj_W^nYKc>T~@O|0rh!C;OP@9KJ`{TH-TPG(_% zBss4p#t|ZotPDxDaJOfp;JWUR(#~J6uKR*y(c ze>U-E&N0#?t;ET_kto-@1>-@V%z=`%V@L_MJ7vk-v}w?-Cz;OOf^waa(9sCVSP&v- zHn?_O-v`(AW6He;h zm#Du8@1$^7zShN}#MD1*p;9+evgL^RJ{rx>s&q4&AIztYr6boW?H;JKdM$~$>qro; zE!K#Hu@0`+3a$c8^0GQwlh?f)>1k5{KRv;=!s`VGnCL|&A56t%F>IUdeLLg_9U!1 zm#jznxj#FR^`d8=1<{<$0wlOLq~O}*;lyJmzgVHJBp$?9J2f5lZS|>6K_QpU*a*#deLK+r=d3)Og-ib zibhi&RqaGUfHPMKc4)hx>3{mk4{nckL_`HOKUu|7 z?|LQYeCivCM*BwM5)G$93hA7a`6Rq20Y%od-goN+CxtAGP%tBogcPD5o+|`7Cnr9R zmbKR+^B#)KZld1p7Sy}X5mh&t5*4k?+21YbjpZH_r+JTB_`0hORHt&fp*R376 zN%XI)xNxG5!;uMQR?&ldxL(WirZ_0(SnkTTzvDjmJ8;%eC(QQ-MXBq7qx&15Rw>w- zrNnYtt8wPxV58A1ce!j9H1c%7AYh_Fm3MS*7Bupdq}xF()V*1TAKwe-9vaCWa99(=RwlZeIlcz9i|3Of$QRKp|(5?1MIvZ z56-E7snsm4k{XHUgd0WA39H}_l9i_NU0Z$k!0Kxhy|w!Y>9xE*-4_TCfNq#ALCHzJ zt41wJdN*nXr8l>~wtLfHM0f1%cxV1(;)PR3H|WZPjzHtM!P-FlZz0)m9EQP&g@V%G3)#`hC{FnQF3zpW$#=tI~%m^61p6UHY$9>(<)C&0e!L?3n{0YqK)D z!ov#HLFIa8Wep5gHPoxNGOJ32Q$5`$C!fn106+t8=*~woLa;VKLpR(V59~Qh5Q&Q{@0x`K8cU={ z#w11aqR3(q{l0jL8FM(=RV4tGmTwsXWHJrHW6vGrrC?S;655VHx7L@KjeTT(M!H8t zQ};vvlD0~L4N=@V@IHDYoxMaQ0ZsZ%QQzqE#VZxNhsCb{-h7}?PHpSd3LJ9aPUbxt zQO_%duOmqsIT3c`jUb5}SqBp^Am zgux_IPz)ijCzHF55*=k4x)iO64@&Hgv6Ew11^ET;AyuuuX&SqGIvre7*SEri{DR;vc9p_w5(PO=enZIPtMPtpBz3veWp(`h~uq48U&-jdit|D^!7raN`O)*fL=DzjW?|>KoM^Ih@_L+xE=Jy7=P43m38ym`U*pAKq%m91($R-J~9Y(tPV}i}MZMH{R)E zD!}B;oCGKIWr9}&)A3nTTC$(Rz%9+#dwp6pX{^XPgsVvgjnawrEtAQDfTG)XF&psV`VmNV&{{ z2G(ZHLRqX(Y_XVnuAzQKW=$)n#N*tD^Pj7=YD`a^&W4~a+pbt?=Z(DS)VOqUw&$~8 z3>&h~aPR~>l$K!mti*nz$soh@%z>pS=-ps4orQj1cSiG~5s~umtFMp3I$U8w3Jb-gNG`KpvnS0Qiv0esUp8JJSe+kO<_2zM+8RsD$6sj?z>`l9iKdM@c7{j6v)ii;+6uZ(TjCoBkw;UcgVXaZabVdayDNUw5k zr?(!W!L&Y#Fy(T=UCmqCcVZ)S4*i#RWb5~P49~jsCl?atfD$>jl+@-wQ#{5NpqcBgY*Jz{XdN>INiUiY0+FQ}+Vfs1xs^ zq>&TVuR_ina8~qpR;DrIogKxk*K2*zTy>(bpRn!pg)@^>@sbo*XL9KDlgswdrr||^ zEmr($WETNw@pUFw8x*du08%X=4T_iZi}?h~5 zw%@1MFebogTDVyLkT<$R28zq}G>SH3%7%C4?7h=S`Moywg)8x*L1#w9+ik^ro(PQU z150C+3ZK=y;n~H5DLYcWD+1BL;?MF?nj#>or0f`t#v-=KG|CKKS|GZU=p|iN$Z_M~C8@c-3^gw}pA?N37DxKL#w~e$ z2>H10+M+l zoIjo6Ql^p?@UuN<_to2{&yNo*>);e`UcY?4`|9|mCbV^tykS!|Am+;$#|Z*nrw*Y#Y+aPd1d6sT22jr>u|tZkXfu__TN1vmRm>qM znXgfa#tjiz7EZGjO)_hx>Kp3&^~CQ7;Y9CSLT$@~Go**Om{%{6aJigJc+;xufyX*V zvRR&G>7cWPW%6~P@@=vFQ-+~C#qH%b-EMU;Tn@x!+fy<2?J>MX)v4Sjh~uT#n~&T) z{C4H{+>*Z6-QBNuKKw}QBtNe$n;Yl07SitsJI=}24YAKH?=hf*t5!&1s^OfqzA}t^ zBBe5VY_p7)CzbQ0R8A#qUO;LN2vmdsluW*`d-`>w(Kyk!fo_k0vQMt-XwaBleU#(J zlr3;xQWg{sZW!O441&4C6L&NmSa7=pKQ z8HALtOLDSBT|IX`s3N}r3Ay?v4y_xDk;=fGxm6s|q1*#q^VOvr;`SYC`K8t7bQWC7 zO7#dVC0-&Ll|ZE>V0*y^%oUX0$@eE!%BZ7~t13&RT={eS8<^9dJ7eIxcTcLgSoXZQ zJ=1RDWH~qg8_jB~H)vIRJ!CI)J0KUY)o*v&O;CYBbP!v7XINCGaM1M15s4)GRPw8% zcLGOuN?_E>&`ep&+#;G$FgY6`>)tGwmyHWOKB>NV`L>jb>GwM2w_s5@Tg4dS2ox7> zMWO0#S<-=D+m3)yJ@VA_-qQvFDf@OD@PD5EBUwC zBsvFd7Vnn$FB2hDR{SgWT$LyG;LS<(ByXMtV-Ako(WO7*DbS;Nj&yk;r>p=YSA3~S z3dfXOGzNtP=so`+p{h)Lx>j-!RDT{^gMkfkaPC`4eNAowBM*YG$_mw6wT_w!VvEXU z7!2n98Gqfa>uwF%Ih9+c$*vp}cuDKLe3QsBp*1N#zE^E8vff_`WI8|L$W#@9kF+iO z8+Rx{*_25OSC%0y`WgnISJEB1|7!o0z6Jsk4_?3Ac80;wb_}rRY2}X&w!d~x4!4g_ zlUk#G3R9$AgmYfto z<~r-8O@Lm0322&e1uX$e(6ADrNoGj&j_KcGXl`<)9aUOlNHCIOnqH2HUPPVbA%G@s zpEm+x6h{}QbkbYNv(K%Dly}0qDhxMe`HU(pflh7e?|3CV%rH@miAC>L zrDev>91}%HZ&fPUKXY{C?%FE7M4vHF$^zm~^u8!hhulq}f#4zjvCW6d?@asW9vn7^ z6*`~IF1H>({`oYRRQc0KL3s9f5W2%zwYKq?Kl^R&AF9lJej{dOXO4QKIr6Tu3ubU8 zgf2#LPI$X)ZBfB4>6B8*Z8;78U?6Ur;}0u8IeGOG-g0=3X7tBNX>;EndDBM%fPOH( z#7^x*zap|SpR-LKwXsr}iHjB~sr2M5@@-Wv*@bunQsoc7sZ}@K>hS#^b$?k^pIbRT z*Bih59l?}xrYqQMx(u+rf|lc81ihc*UgtO%h!nh}on-q$&&nS@#5i#u>EIVbKOBE@ zL+=;i75=&XzBj_(=q5$}h21iQkMe3md}IM8znER&AHBt&>3PtSY82#eYxj*x8$a(gQGY|JT`~7d~)yDgOhfwogK5F7y{ry+JqYsmLKz=9mhJ@AM zejLrvV>T}l6DhKkSc4{T2LqOG&>b1b7`mgWr&g#HCIgcFP+{%}q9jK6Tr{HZ@hKEg5qB~ly0}U- z^uj8|0mdd_84zt6rCCL%*d|RRQSq84+npHM5cwNcS;9lxj%UW@LA;QhKdp*)bqQ8M zWW~svoSFBMX{AauoP;pmV%E%x5-Ia*)lVCy=5Ll`P^`co*odfv-rt+!IK8#ME&7v4 z*U1TLLjS6@ueS|$OA1|45{o*>LPsS95vqq07=kNvx^ZGR`0w zf?Wov+sq=lZLu=bW7yMLNfMS3dYK^7W8If%M#aUawXt|WdH{V|D~SV=Q*5$#3U`63 z*x3L@J`4*HGR@}^cFgBuxaPxX01-s*wIZ2PK~{;TC&65iFDqC61)jsW=Pn{V~=OgX!nMcq}k=+lE0%wkhYw`fN5-8zTm?BntG-9u* z;wbp!z?5=6x}!OQwWlagf-PwXMYux_SI$>Njk=uUJ`7Ie?v-4uH7pq;rsP$Kh!}l+ zmW`2sibs=!^}d6JP=E+?$DcU8Ylb%I9y#=;Q};}{L{iyKiAZyNa&(oK^U+AOwLOEQ zq&J_L%U&Dis1%zlPCwXIX5ausxN**LO{_CP#Jy@TX>wu`HOrbch|n;JBMC#Y#e8K= z%Tw;rSlw`?L(1TrB1C87fRumgTH83pp}36tMzzEhN5qzrs;R7;d-{x;X~ZgCCpK)< zS={y$Aqa4nSZuYV2z0RlX5~e(Q6L3Z%JNh9`aKkZ!@uB%0DqxQt^5KmOse0X{o*+e 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

?nJ^(WSk0 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

6aER3V8gZrlV?xJ5O~GpfT(+SnD~qrx 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%0Dw9sI8t8LzE$EY4 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

iQIk%BH%*Jb3;jSGrsRhjW&kAKiqG&Nyk*Gy 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