From ef55bd4eca99a5c4c73349a1dd2b0bbfb057555d Mon Sep 17 00:00:00 2001 From: sahas-eashan Date: Tue, 27 Jan 2026 09:54:50 +0530 Subject: [PATCH 1/4] Add finance-insight-agent sample --- samples/finance-insight-agent/.env.example | 20 + samples/finance-insight-agent/.gitignore | 9 + samples/finance-insight-agent/API_KEYS.md | 118 + samples/finance-insight-agent/Dockerfile | 22 + samples/finance-insight-agent/README.md | 101 + samples/finance-insight-agent/image.png | Bin 0 -> 357404 bytes samples/finance-insight-agent/pyproject.toml | 23 + .../src/finance_insight_service/__init__.py | 1 + .../src/finance_insight_service/api_server.py | 552 ++ .../config/agents.yaml | 51 + .../finance_insight_service/config/tasks.yaml | 222 + .../src/finance_insight_service/crew.py | 153 + .../finance_insight_service/tools/__init__.py | 1 + .../tools/company_fundamentals_fetch.py | 113 + .../tools/price_history_fetch.py | 120 + .../tools/safe_python_exec.py | 245 + .../tools/serpapi_news_search.py | 119 + .../finance-insight-agent/src/ui/.gitignore | 41 + .../src/ui/PROJECT_GUIDE.md | 59 + .../finance-insight-agent/src/ui/README.md | 36 + .../src/ui/app/components/ChatComposer.tsx | 93 + .../src/ui/app/components/ChatEmptyState.tsx | 54 + .../src/ui/app/components/ChatView.tsx | 316 + .../src/ui/app/components/Icon.tsx | 132 + .../src/ui/app/components/SettingsForm.tsx | 253 + .../src/ui/app/components/ThemeToggle.tsx | 58 + .../src/ui/app/components/TopBar.tsx | 30 + .../src/ui/app/favicon.ico | Bin 0 -> 25931 bytes .../src/ui/app/globals.css | 1749 +++++ .../src/ui/app/layout.tsx | 26 + .../finance-insight-agent/src/ui/app/page.tsx | 9 + .../src/ui/app/settings/page.tsx | 31 + .../src/ui/eslint.config.mjs | 18 + .../finance-insight-agent/src/ui/lib/api.ts | 236 + .../src/ui/next.config.ts | 7 + .../src/ui/package-lock.json | 5969 +++++++++++++++++ .../finance-insight-agent/src/ui/package.json | 25 + ...df16976116825b35e8622ddac56999531e4ebe.svg | 3 + ...26bf5af3d89faafe4b729f3888ab53e11610c0.svg | 3 + ...8e2e333ebc28081b0c46167a62e356eb46a6a6.png | Bin 0 -> 1495 bytes ...dfcfb012dfb2bbaf46b39dcd3ccf5f70e99152.svg | 3 + ...3cfd74c143717cd6b645313a3c35269f7b1883.svg | 26 + ...48b4059c14b06c2087c19120972fea4907b484.svg | 5 + ...3cbfac91707a9eeef48ed708568a18043e0c99.svg | 3 + ...b98dc58faaa65681b112829252874c65a33d65.svg | 5 + ...6a8dbfba3c7c61716ee33aed6e36752a689238.svg | 3 + ...f3fdba668dd34b7fcbf29f635bcf2f22a2f999.svg | 5 + ...9da34b77bfd7458d1461fc6a82303923327cc0.svg | 3 + ...e43241d10d79ba11ad589f33a82cf5dd62a844.svg | 3 + ...8812ee4d05d633935c269bb1ca461c5c575781.svg | 3 + ...e09dbee764ce1b7219356d6033ce0852a64aae.svg | 3 + ...0669af46f971074e317d2b32e729c759731370.svg | 3 + ...521b55b86d12bded4114b26797c020d4572d52.svg | 3 + ...42782f2bf79880313491c5e0052963f2f192dc.svg | 3 + ...7b81a2930646e5840572e6a775012142a1d64c.svg | 3 + ...08333e0aed4c5c7ec19c5b549d121e1c22e615.svg | 3 + ...c3cc1cd0b2745725e238d21240a03b514157e2.svg | 3 + ...ac3a3c786066da822fd85c0bc1025b3d5137ec.svg | 3 + ...4b9792e9284dd0ab027cbf5e13a62dadbbddc1.svg | 3 + ...d6a204d5ff86f235298d9aa7029ac1a179bca4.svg | 3 + ...285dcba8be87a5c31c4e7d9348072556a31041.svg | 3 + ...cf8f58aaedbab1539f5527b72f5a7464309ab5.svg | 3 + ...199a0d469efb14afff01702b9092266b866da9.svg | 3 + ...89f169c7f32d6a6bef0c9c7942619598d54743.svg | 3 + ...7b0bf70e400c2eb019f1889b7b78906bd540f5.svg | 3 + ...bc83e4adbce02ca5d38f4050442c819aaa86fd.svg | 3 + ...f2c764077ccaefe61734de901154e69225fba5.svg | 3 + ...14cb315c14473adba2c425655f04049cc6134f.svg | 3 + ...321a73fcbae7159e2ca7c8f5a8d708ac3afac1.svg | 3 + ...7ee5b2ff7dd23ceac636cd95393e6adef2ee17.svg | 3 + ...3932ec9c14e7751e5bff0d0353a163df2e014b.svg | 3 + ...d516e7b0baa5dcfe872b909cdaff253746dbe7.svg | 3 + ...1800024ecef95837597e4db8a227cbde40e67f.svg | 3 + ...fd650d5619da08d53d80fe5bdb91eca210714d.svg | 3 + ...abf37dffefc02c470374641a6836c6e1ff5e38.svg | 3 + ...e240eb48b968d75eada57dc8f640f562f54934.svg | 3 + ...2d1041ccc178cf209dc5de6f9553c111e4e46f.svg | 3 + ...e95c5f1d2c8006052f260dcc2abb1488cc7bb8.svg | 3 + ...097f6b1e04fe86bdd7a230ee7b9d57aaefc7d3.svg | 3 + ...3500a6b217bd196b1274ba5ab516c4be041512.svg | 3 + ...ec0cfefb04ef5d6166865560b925835ee4228c.svg | 3 + ...5418b878eb202fdc1604d270c70d983e25d8fd.svg | 3 + ...25254948ca9d0b85461da25127589bb556df73.svg | 3 + ...580d29536e5137b72a19003e331fe19d663837.svg | 3 + ...eb2840cf31c961993f475472e44b20f4de09f3.svg | 12 + ...3294d7ff020d6e903fa2806f6b5f493dee492f.svg | 3 + ...d405ddcb73653c90c58724beed397f10a3b7ba.svg | 3 + ...b1968a283cb0246ad5bfce3c4bff88635dc442.svg | 3 + ...3c61986a110c0068f8d3db7bcd117732469ab3.svg | 3 + ...3f02f708a12f9423cc7adee2a20186e6901e83.svg | 3 + ...0daf9f81af02028db06d62966d0a6806d334d4.svg | 3 + ...eb77daaf082c996116dd6dbab481f52c1ef660.png | Bin 0 -> 1183 bytes ...a5d76f7cbd4545d95e89e848b87214f45a0715.svg | 3 + .../src/ui/public/file.svg | 1 + .../src/ui/public/globe.svg | 1 + .../ui/public/images/WSO2_Software_Logo.png | Bin 0 -> 35921 bytes .../src/ui/public/next.svg | 1 + .../src/ui/public/vercel.svg | 1 + .../src/ui/public/window.svg | 1 + .../src/ui/public/wso2-logo.svg | 15 + .../src/ui/tsconfig.json | 34 + samples/finance-insight-agent/uv.lock | 4621 +++++++++++++ 102 files changed, 15887 insertions(+) create mode 100644 samples/finance-insight-agent/.env.example create mode 100644 samples/finance-insight-agent/.gitignore create mode 100644 samples/finance-insight-agent/API_KEYS.md create mode 100644 samples/finance-insight-agent/Dockerfile create mode 100644 samples/finance-insight-agent/README.md create mode 100644 samples/finance-insight-agent/image.png create mode 100644 samples/finance-insight-agent/pyproject.toml create mode 100644 samples/finance-insight-agent/src/finance_insight_service/__init__.py create mode 100644 samples/finance-insight-agent/src/finance_insight_service/api_server.py create mode 100644 samples/finance-insight-agent/src/finance_insight_service/config/agents.yaml create mode 100644 samples/finance-insight-agent/src/finance_insight_service/config/tasks.yaml create mode 100644 samples/finance-insight-agent/src/finance_insight_service/crew.py create mode 100644 samples/finance-insight-agent/src/finance_insight_service/tools/__init__.py create mode 100644 samples/finance-insight-agent/src/finance_insight_service/tools/company_fundamentals_fetch.py create mode 100644 samples/finance-insight-agent/src/finance_insight_service/tools/price_history_fetch.py create mode 100644 samples/finance-insight-agent/src/finance_insight_service/tools/safe_python_exec.py create mode 100644 samples/finance-insight-agent/src/finance_insight_service/tools/serpapi_news_search.py create mode 100644 samples/finance-insight-agent/src/ui/.gitignore create mode 100644 samples/finance-insight-agent/src/ui/PROJECT_GUIDE.md create mode 100644 samples/finance-insight-agent/src/ui/README.md create mode 100644 samples/finance-insight-agent/src/ui/app/components/ChatComposer.tsx create mode 100644 samples/finance-insight-agent/src/ui/app/components/ChatEmptyState.tsx create mode 100644 samples/finance-insight-agent/src/ui/app/components/ChatView.tsx create mode 100644 samples/finance-insight-agent/src/ui/app/components/Icon.tsx create mode 100644 samples/finance-insight-agent/src/ui/app/components/SettingsForm.tsx create mode 100644 samples/finance-insight-agent/src/ui/app/components/ThemeToggle.tsx create mode 100644 samples/finance-insight-agent/src/ui/app/components/TopBar.tsx create mode 100644 samples/finance-insight-agent/src/ui/app/favicon.ico create mode 100644 samples/finance-insight-agent/src/ui/app/globals.css create mode 100644 samples/finance-insight-agent/src/ui/app/layout.tsx create mode 100644 samples/finance-insight-agent/src/ui/app/page.tsx create mode 100644 samples/finance-insight-agent/src/ui/app/settings/page.tsx create mode 100644 samples/finance-insight-agent/src/ui/eslint.config.mjs create mode 100644 samples/finance-insight-agent/src/ui/lib/api.ts create mode 100644 samples/finance-insight-agent/src/ui/next.config.ts create mode 100644 samples/finance-insight-agent/src/ui/package-lock.json create mode 100644 samples/finance-insight-agent/src/ui/package.json create mode 100644 samples/finance-insight-agent/src/ui/public/figma/03df16976116825b35e8622ddac56999531e4ebe.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/0826bf5af3d89faafe4b729f3888ab53e11610c0.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/0a8e2e333ebc28081b0c46167a62e356eb46a6a6.png create mode 100644 samples/finance-insight-agent/src/ui/public/figma/0edfcfb012dfb2bbaf46b39dcd3ccf5f70e99152.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/103cfd74c143717cd6b645313a3c35269f7b1883.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/1048b4059c14b06c2087c19120972fea4907b484.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/183cbfac91707a9eeef48ed708568a18043e0c99.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/18b98dc58faaa65681b112829252874c65a33d65.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/196a8dbfba3c7c61716ee33aed6e36752a689238.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/24f3fdba668dd34b7fcbf29f635bcf2f22a2f999.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/2a9da34b77bfd7458d1461fc6a82303923327cc0.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/2be43241d10d79ba11ad589f33a82cf5dd62a844.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/308812ee4d05d633935c269bb1ca461c5c575781.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/38e09dbee764ce1b7219356d6033ce0852a64aae.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/3b0669af46f971074e317d2b32e729c759731370.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/3f521b55b86d12bded4114b26797c020d4572d52.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/4342782f2bf79880313491c5e0052963f2f192dc.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/467b81a2930646e5840572e6a775012142a1d64c.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/4908333e0aed4c5c7ec19c5b549d121e1c22e615.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/4bc3cc1cd0b2745725e238d21240a03b514157e2.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/4dac3a3c786066da822fd85c0bc1025b3d5137ec.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/574b9792e9284dd0ab027cbf5e13a62dadbbddc1.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/5bd6a204d5ff86f235298d9aa7029ac1a179bca4.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/62285dcba8be87a5c31c4e7d9348072556a31041.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/63cf8f58aaedbab1539f5527b72f5a7464309ab5.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/64199a0d469efb14afff01702b9092266b866da9.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/6489f169c7f32d6a6bef0c9c7942619598d54743.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/697b0bf70e400c2eb019f1889b7b78906bd540f5.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/69bc83e4adbce02ca5d38f4050442c819aaa86fd.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/6bf2c764077ccaefe61734de901154e69225fba5.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/8314cb315c14473adba2c425655f04049cc6134f.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/83321a73fcbae7159e2ca7c8f5a8d708ac3afac1.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/857ee5b2ff7dd23ceac636cd95393e6adef2ee17.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/883932ec9c14e7751e5bff0d0353a163df2e014b.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/92d516e7b0baa5dcfe872b909cdaff253746dbe7.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/9d1800024ecef95837597e4db8a227cbde40e67f.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/adfd650d5619da08d53d80fe5bdb91eca210714d.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/b0abf37dffefc02c470374641a6836c6e1ff5e38.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/b3e240eb48b968d75eada57dc8f640f562f54934.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/b62d1041ccc178cf209dc5de6f9553c111e4e46f.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/b7e95c5f1d2c8006052f260dcc2abb1488cc7bb8.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/ba097f6b1e04fe86bdd7a230ee7b9d57aaefc7d3.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/bd3500a6b217bd196b1274ba5ab516c4be041512.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/c2ec0cfefb04ef5d6166865560b925835ee4228c.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/cd5418b878eb202fdc1604d270c70d983e25d8fd.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/d625254948ca9d0b85461da25127589bb556df73.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/d6580d29536e5137b72a19003e331fe19d663837.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/d7eb2840cf31c961993f475472e44b20f4de09f3.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/d93294d7ff020d6e903fa2806f6b5f493dee492f.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/dad405ddcb73653c90c58724beed397f10a3b7ba.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/e2b1968a283cb0246ad5bfce3c4bff88635dc442.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/f03c61986a110c0068f8d3db7bcd117732469ab3.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/f23f02f708a12f9423cc7adee2a20186e6901e83.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/f30daf9f81af02028db06d62966d0a6806d334d4.svg create mode 100644 samples/finance-insight-agent/src/ui/public/figma/f4eb77daaf082c996116dd6dbab481f52c1ef660.png create mode 100644 samples/finance-insight-agent/src/ui/public/figma/f8a5d76f7cbd4545d95e89e848b87214f45a0715.svg create mode 100644 samples/finance-insight-agent/src/ui/public/file.svg create mode 100644 samples/finance-insight-agent/src/ui/public/globe.svg create mode 100644 samples/finance-insight-agent/src/ui/public/images/WSO2_Software_Logo.png create mode 100644 samples/finance-insight-agent/src/ui/public/next.svg create mode 100644 samples/finance-insight-agent/src/ui/public/vercel.svg create mode 100644 samples/finance-insight-agent/src/ui/public/window.svg create mode 100644 samples/finance-insight-agent/src/ui/public/wso2-logo.svg create mode 100644 samples/finance-insight-agent/src/ui/tsconfig.json create mode 100644 samples/finance-insight-agent/uv.lock diff --git a/samples/finance-insight-agent/.env.example b/samples/finance-insight-agent/.env.example new file mode 100644 index 000000000..1cbd92f9e --- /dev/null +++ b/samples/finance-insight-agent/.env.example @@ -0,0 +1,20 @@ +# Finance Insight Service - Environment Variables Template +# Copy this file to .env and fill in your API keys + +# Required: OpenAI API for AI agents (GPT-4, embeddings) +OPENAI_API_KEY=sk-... + +# News Search (required) +SERPAPI_API_KEY= # Get from serpapi.com + +# Market Data (required) +TWELVE_DATA_API_KEY= # Get from twelvedata.com + +# Company Fundamentals (required for fundamental analysis) +ALPHAVANTAGE_API_KEY= # Get from alphavantage.co + +# Optional: Backend API authentication +API_KEY= + +# Optional: Frontend URL for CORS +FRONTEND_URL=http://localhost:3000 diff --git a/samples/finance-insight-agent/.gitignore b/samples/finance-insight-agent/.gitignore new file mode 100644 index 000000000..b7242f0d5 --- /dev/null +++ b/samples/finance-insight-agent/.gitignore @@ -0,0 +1,9 @@ +.env +__pycache__/ +.venv/ +.pytest_cache/ +*.egg-info/ +data/ +node_modules/ +.next/ +.choreo/ diff --git a/samples/finance-insight-agent/API_KEYS.md b/samples/finance-insight-agent/API_KEYS.md new file mode 100644 index 000000000..2a27113c6 --- /dev/null +++ b/samples/finance-insight-agent/API_KEYS.md @@ -0,0 +1,118 @@ +# API Key Management + +## Quick Links + +| Service | Purpose | Get API Key | Free Tier | +|---------|---------|-------------|-----------| +| **OpenAI** | LLM for agents (Required) | [platform.openai.com/api-keys](https://platform.openai.com/api-keys) | $5 free credit | +| **SerpAPI** | Google search for news (Required) | [serpapi.com](https://serpapi.com) | 100 searches/month | +| **Alpha Vantage** | Company fundamentals (Required for ratios) | [alphavantage.co/support/#api-key](https://www.alphavantage.co/support/#api-key) | 25 requests/day | +| **Twelve Data** | Market data (Required) | [twelvedata.com/apikey](https://twelvedata.com/apikey) | 800 requests/day | + +--- + +## How to Get API Keys + +### 1. OpenAI API Key (Required) + +**Step-by-step:** +1. Go to [platform.openai.com](https://platform.openai.com) +2. Sign up or log in to your account +3. Click your profile icon → **View API Keys** +4. Click **Create new secret key** +5. Name it "Finance Insight Service" +6. Copy the key (starts with `sk-proj-...`) +7. **Save it immediately** - you won't see it again! + +**Pricing:** +- GPT-4o: $2.50 / 1M input tokens, $10 / 1M output tokens +- GPT-4o-mini: $0.15 / 1M input tokens, $0.60 / 1M output tokens +- Average query cost: ~$0.10-0.30 with GPT-4o + +**Important:** Add billing information at [platform.openai.com/settings/billing](https://platform.openai.com/settings/billing) to increase rate limits. + +### 2. SerpAPI Key (Required) + +**Step-by-step:** +1. Go to [serpapi.com](https://serpapi.com) +2. Sign up for an account +3. Go to your dashboard and find the API key +4. Copy the key (long alphanumeric string) + +**Free Tier:** +- 100 searches per month (free tier may change) +- Credit card might be required depending on plan + +### 3. Alpha Vantage API Key (Required for fundamentals) + +**Step-by-step:** +1. Go to [alphavantage.co/support/#api-key](https://www.alphavantage.co/support/#api-key) +2. Enter your email and click **GET FREE API KEY** +3. Key is sent to your email instantly +4. Copy the key (alphanumeric string) + +**Free Tier:** +- 25 API requests per day +- 5 requests per minute +- No credit card required + +### 4. Twelve Data API Key (Required for market data) + +**Step-by-step:** +1. Go to [twelvedata.com](https://twelvedata.com) +2. Sign up for free account +3. Go to [Dashboard → API Key](https://twelvedata.com/apikey) +4. Copy your API key + +**Free Tier:** +- 800 requests per day +- Real-time and historical market data + +--- + +## How It Works + +### Development Mode +In development, the backend reads API keys from a `.env` file in the project root: + +```bash +# Copy the example file +cp .env.example .env + +# Edit with your keys +nano .env +``` + +The backend must be **restarted** after changing `.env`: +```bash +uv run finance_insight_api --host 0.0.0.0 --port 5000 +``` + +### Production Mode +For production deployments, set environment variables directly: + +**Docker:** +```bash +docker run -e OPENAI_API_KEY=sk-... -e SERPAPI_API_KEY=... -e TWELVE_DATA_API_KEY=... -e ALPHAVANTAGE_API_KEY=... finance-insight +``` + +**Systemd Service:** +```ini +[Service] +Environment="OPENAI_API_KEY=sk-..." +Environment="SERPAPI_API_KEY=..." +Environment="TWELVE_DATA_API_KEY=..." +Environment="ALPHAVANTAGE_API_KEY=..." +``` + +**Cloud Platforms:** +- AWS: Use Parameter Store or Secrets Manager +- Heroku: Set Config Vars in dashboard +- Render/Railway: Use environment variables in UI + +## Required Keys + +- **OPENAI_API_KEY** - AI agents won't work without this +- **SERPAPI_API_KEY** - Required for news search +- **TWELVE_DATA_API_KEY** - Required for market data +- **ALPHAVANTAGE_API_KEY** - Required for fundamentals diff --git a/samples/finance-insight-agent/Dockerfile b/samples/finance-insight-agent/Dockerfile new file mode 100644 index 000000000..00899b442 --- /dev/null +++ b/samples/finance-insight-agent/Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.11-slim + +ENV PYTHONUNBUFFERED=1 \ + PIP_DISABLE_PIP_VERSION_CHECK=1 + +WORKDIR /app + +RUN apt-get update \ + && apt-get install -y --no-install-recommends build-essential libgomp1 \ + && rm -rf /var/lib/apt/lists/* + +COPY . . + +RUN pip install --no-cache-dir uv \ + && uv sync --frozen + +ENV VIRTUAL_ENV=/app/.venv +ENV PATH="$VIRTUAL_ENV/bin:$PATH" + +EXPOSE 8000 + +CMD ["python", "-m", "finance_insight_service.api_server", "--host", "0.0.0.0", "--port", "8000"] diff --git a/samples/finance-insight-agent/README.md b/samples/finance-insight-agent/README.md new file mode 100644 index 000000000..6b5160430 --- /dev/null +++ b/samples/finance-insight-agent/README.md @@ -0,0 +1,101 @@ +# Finance Insight Service + +## Overview +Finance Insight Service is a stateless, async report generator for financial research and analysis. It combines current market context with deterministic calculations to deliver concise, evidence-aware responses. + +## Key Features +- **Evidence-aware research** - Collects relevant financial context before answering +- **Deterministic quant** - All numbers are computed, not guessed +- **Audit + report split** - Validation and reporting are separated for clarity +- **Stateless requests** - Each request runs independently (no chat memory) + + +## Architecture + +The system runs a sequential, agent-based workflow with explicit quality gates: + +1. **Research** - Collects relevant financial context and evidence +2. **Quant** - Computes required metrics and scenarios deterministically +3. **Audit** - Validates outputs and flags issues +4. **Report** - Produces the final user-facing response + +Request flow (stateless): +- UI submits a request to `/chat/async` +- API server starts a background job and emits progress traces +- UI polls `/chat/async//status` and fetches `/result` when complete + +Core components: +- **Scenario UI** (web) for request submission and report viewing +- **API server (Flask)** for async job execution and status/result APIs +- **Agent orchestrator (CrewAI)** running Research → Quant → Audit → Report +- **Tools**: SerpAPI news search, Twelve Data OHLCV, Alpha Vantage fundamentals, Safe Python Exec +- **LLM provider**: OpenAI for reasoning and embeddings in tools + +Design principles: +- Strict handoff between stages to preserve context and quality +- Deterministic computations instead of LLM-generated numbers +- Transparent limitations whenever data is missing or uncertain + +![Architecture diagram](image.png) + +## AMP / Choreo Deployment + +AMP repo: https://github.com/wso2/ai-agent-management-platform/tree/amp/v0 + +### Prerequisites +- Kubernetes cluster (k3d or equivalent) +- AMP installed (see AMP quick start guide) +- Docker registry accessible to the cluster +- API keys for OpenAI, SerpAPI, Twelve Data, Alpha Vantage + +### Create Component Definition +Create `.choreo/component.yaml` in your project root: + +```yaml +schemaVersion: "1.0" +id: finance-insight +name: Finance Insight Service +type: service +description: AI-powered financial research assistant +runtime: python +buildType: dockerfile +image: Dockerfile +ports: + - port: 8000 + type: http +env: + - name: OPENAI_API_KEY + valueFrom: SECRET + - name: SERPAPI_API_KEY + valueFrom: SECRET + - name: TWELVE_DATA_API_KEY + valueFrom: SECRET + - name: ALPHAVANTAGE_API_KEY + valueFrom: SECRET +``` + +### Build and Push Image +```bash +docker build -t finance-insight-service:latest . +docker tag finance-insight-service:latest \ + localhost:10082/default-finance-insight-image:v1 +docker push localhost:10082/default-finance-insight-image:v1 +``` + +### Deploy via AMP Console +1. Open AMP Console at `http://default.localhost:9080` +2. Create Agent → Service → Python → Port 8000 +3. Add environment variables listed above +4. Deploy and verify health at `/finance-insight/health` + +## Configuration +Copy `.env.example` to `.env` and set these keys: +- `OPENAI_API_KEY` +- `SERPAPI_API_KEY` +- `TWELVE_DATA_API_KEY` +- `ALPHAVANTAGE_API_KEY` + +See key setup details in [API_KEYS.md](API_KEYS.md). + +## Contributing +Open an issue or submit a pull request with clear context and test notes. diff --git a/samples/finance-insight-agent/image.png b/samples/finance-insight-agent/image.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3f3858b05ce34d4ab43bc263350ab7b86f20fe GIT binary patch literal 357404 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 hFg@2Qouon@Efo54W<~`KV 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 z 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�Il5D~mrfTJ|;(ltYUI%k333w+5jxF4-E=ehw&cU&%gJg3w3!2fp4 z4szRiy50e~y}2&veCT~bZ%$Q0M>Cg-Y`>CDlnYJ4l%Y`7)TETx7%r#tvKzskVNheY zV<51a#VFzC9JS9`{=LR;Wnwq8^}{Cyw*e#OpZ#}k`bVl9?uCuj@o+JLCiCKdmcL3G zN4TmD?ndw5P1tK+uJmh6IO;#F>^5f2SO0Fd+-Xgf1E)v3|J36zhcOhry&s$twz(P$ zvpi;+1_}^|Uk$_N8pCOy*lY$ibT_Sg+?AwIC>TOj@Xa-lTy@ROzpDJ?xvpm$#ou(3 znb;9fuXxdX_W%pi=$`7KfB%gJZawb(f1XEpl`5=xTa+2bV|>-n=6=dbh1RKit5f=I zn$)fHm(|dVAZy_6t(l@Q`--y{E5X_9w^3`X?+wpTjaJs zh0VGHy@F2sz1;uE_?=rruJ^ZwM(pXILM$u0od-VGE6JkFzZp%|rJZNS3&xavk0E;= zjG;vLs|a&ufHkUu3UeXu7-vQsc0RTBW5b5l6TOpC8MLEn2ETWw#-kggVRu;_y3p>i zYYftcD+YP5qpX)n>3L>y7ME1S7N>K%*ruvsZ~0M+S?qr{i>FP0rQr`B_<&=9M@eh^ zhPYd-{B@j9v@!zAZ}G1qKC^|q!t5or@SHgLFDzt-wovCyNhxCz$=!|fNtxmlRN(g+ zMJd(6bF0SRn{qa!FqD7SY~7UX=B2Bwh&`d5bQxSIhTY(1!HZ8gpWX{sM!_R|NH=yF&1tkxTq zea}lpS#;76UEYKRhn^mj;Nxkx`7d5&z7b;2Y@n7nswtlBQQ)0Sw4SaFi;gA6WL|rV zhV~BjCT5$^EmN9D6&YIsDH_vEpr|B_YX#4CfYq@_hPq|TUCpI0gs{&)_rrput+nFo z1?nyGt2mbi>fPEiBsw^bm&9BIi{b;eVtGMOJeoYvt@xg@77nMcXK2=1Cw34yGq#6$ z=Qox!ktl}+T4NZsZ*uULV4Q#riwiuoC-;3TV9qBn+OUvH`b^6^>YBzft<=K1d1x-0 zS}bodTty#q5?jH5g~ndGFt3hryZ07D{Ca>I83=nzv0^q!i zx~?^QYl|~h^%*a_zC^_yH* zm%#MMsMlyZbWx1L+Gc;S75?vDrr&ISu=Q)@N~s29zt_suO5c(QdT-y)C2gAEzad13 z^jgL*ZNNP zpZrW4=}guJzn5m``LiDWhJSQh&a`ago^Z@yPsW3ckJ=b(8aQmn9)dgzv{Y;Ct05=E z*TO-;$HBqJL*x5*dL4}ncfw8W6HU=7e>ykv(Fhajt7$_^q`!+M7?RI(_PT#<@Xar# z{54~;lZgKt_Hy6Y$H3br*s*zsCqaAqi+|x#5^)}05@kTzPHZ4-UV1=w;e(aGOC8%l zVmc2aOObvBcDzh0S1M^|6KEGfM$}$_8>sc+p|q=FjY!4)$Y=3eo?{5F*aKDZ5P`@p zM|`+-N=Tcs@!c?v@T=dfns!AgX{;L(g0&RClx6z{V+KAm%9<6H2flOH5KNN5ePb+$ zQI^_=sF|IwJdM-t`L?!l1<5uC<{y7v|lB6hy0QV1m*MF~M^!|ij zebW$Jcpedi<0l}2V(=S0U{@*(22>LL{Hvb8B%!uh?)z7nf+TMzGSjDh6yA#3oMfUu za@JI}qeo>7|RUFcs%`L!z8zv%6SnL{*ICfW1XP8fnifX@F`;f}r z1V7FHymOkf@S{6@35C+7JrCG3A-;P*s@O}F^qOofhRNPyO3GDGIr$qNs>+H~ez!mx zYkDVn>W}%^nIoAs{#xQQ0b!gto}`8-nHU*4jcHyg(txK2-Q~4JiaHtL)UTm01r)3s zDEU!v82$V&Wh(D@W_PhYE)!XQ#m}4hGiC@Qr(N`G$h72YXZ{5o9g>K=RsIJy#^q1|ZRqyG~Dq|6r=vg^_Glw#g;J4dn`VbHwHR)pg zA5Uk&6j#%>Tik=YyURcl+}+(FKya4;L4pT&cL^GtV8Pwp-66QU4)g8jRK4dPKvhrg z?z^vRtwu!hKzrqHv}l4s_B$3KX{fN)-2ZN+`hPsdZ?~?>FClM)t5pLxq&eG?rbafx zqf-IDf7agS;d8Q>mJK%qjS~iqK0On5X+X!`8To693g#K+Dzk` ze55MNnLM5+^Hs`KBMOWN&eO9P5;*;_!!6cD1MUmMfmwM?`=g zyzHN1_=ZHW0rCryIrZUIpl~hG9jZOBswb$`$v1bwCJg~8Q!_Op7k(}ZnGIA0$eun& zdDlo25m#gkT8pk-{!>3LJMKgl>)WkRQw@OA?+&(SJv7JtIDq?= zb1;&Wj5BsHw)UAmn^TT8tdnC1QR1+GlUsk)Wz&89_0J$#*aAupr|k{!>0yh|PPuE* zzv%c;QC=XJ0a_XVqrD6Cx`Dha6AzU{kUp`x`jfgRBP^Q)odjD%XueqQ&UZeHC0fHA zMc$F%tbb!M+_Bt%BAu0k0|3?yPdoeT&3d@Aiv( zPe<0;-v_5+HB(#0@S8-MyfzL#RD8i(KWp`Q>e#SSA#L$Ely)>1^|qmrSYpKaP-vN) zj9V?iVZVL&bk(m&RM?Q3U2IAyf#lez#rz_{XG7}nWslaLdY_tAbYCGqq&53T?GB>}SdELj5q}fPU7XiA|9(=E;Lb@_)IK$bSWPv57H%H2B&U_ zeH8G;KG&gg-fFG8oz$pam*qr5WF%!)tvatX4i_`gDz6O;LJ<5wK!3M*G}=;8OXX>+ zr_^`~dBnTBPD3$frV|vYdQtRez!bqi`@D6DL(92IAT)l=l&EeSnfN&1sWsfcAr7;h z4^={lzN6*hmo4+o8$M6=!QBw&SVS?wK!)JoVx}N#pdlw|SSzJ^^qC1QhQb$dVNVzx z!koC;5Ffon*I;){`J6CKN`Q&?5FqFoQh%WGKh&0JeNA^pJ!+c zU2eAMP1^Kj2JeGxK(aW?3~+~6@oo_n#de<%aU+o?#5(u>mY3T)YG@c37)ZHK#H@M5 zl8U&z^+&XMTmtOIVGxK_KF=bHUcIWiQn$rt#dXRNFjPpG^+oseY)&d10w_hFljZ+r zEAq&zFc#Trl@`9XRa(L}RZ7A(Bw*7G>AkOolDV_(+6@2)0njx6oaBA(U%oaFz}MfN z5#tIZMhwh})aPNIRB?SbF>&aPz;-V%R@Nl`SZfBaf5wb~^359B9F@_UI{&dYb{8u| zW9BA4(t(B+F*tNs6>AIi3F+F5DPB_Q|81Z?PgqaenI}KBgy}v!B*ZO$yMvN@#)=WN zaR&lH$lpzKkb9>*wGZYrT)4Iy`9@SXeLflI^Hhv5y2287uSIfzl<`{TRvK2xb4 z$r(1q`|2y&10oE~bJMTo1q_Kp81v>YlG3W^E%Q?nNDtCM6nNoCMwH)-wp~IZ4R4sb zWtE0g2}k}_Z=Ctrt;OnWc?yt(6Lh}$PIX>|w7z5zaSRESQ~aw$t1&)aZrq;;Y-{2H z;;!am23k^FXm!=87ILQCyKrNaVVIb%`#|EDollw?*qt0%st7zF)UJNZAk$hlX2@hEwAgprO&- zu5u6LoP?ufl{S=LM<6X|7OZq(*vnUk>68p|`S}m)7CDhf0S!brb~WaLL=Z!#=n?Hs zLns65K-&mPQU3jtvb3yhCpi3ld)tIRtE{TZf;9Ov6qR!%cB83D&o9&abl)%%JD!&~ zu_Sa@6P(p%ec~0+kHxo#ken|7ag&b$R*vD;-w=1)$w9Bq`YSLjeE0p~x)QyoZ~77$ z83{aw4IWeJNw4F) z5if_))=wx+#FnC77Cfd@wU}uFAE}6gfJ7zrua;W>3Yn;%63d^OQ`p=Q zNL-jF0~8w@F^i~SN93+UMBPyeQ%I4~*WDbf8Xv@ok|smyhiya5V96$ksoq*$LFNm2 z2bY)2PeKKv>C$+#{%CN=iIAMcpm~)NX-MbclfF4<*druF%fkm7-CBn(yZV&hZ== zJdT^B#KgUHt=OT^5vmI=N`2$4fK{*3xXJQ-b)la46anD{VD{GgLxj;`fjgpX9NM0d zmzNjtd>aP6gP$;>sLse)5Ze?ximbn?BnHDE$ zi4M*xOZwZkT4`0JNfB3cP~9GyxWexM^_gi#Jhi&G0AiJ+==zyUP@eAd^A=Vh0o9N2 zXvca_Rtaf+Nq<#Bq(~Yn;^7b^J)Q*mDgFX%lS+EogaBaMtj~+xiYE5G|?)VO_uX2dW z)(n}4(`PEkrbKgEZ|-!uyhvh*{WM|g>A1JLa^F~e;}*Y=pZASyiE}+(zbd@DnXjZv z4YMb1TR+}FGo|Y@ngymhZirz%F_9e3byzUYIs*c#F?Xnh?#H=Xv&%R!$`W#A^|c9J;7`=L$-j~M8V!&>be1wQYdU|+yiFVg;iyE zc{5chSvn-q6#N@s>pk2+#@T=M(rYg1E|!M7A34RGe;;1lwG#Oa^M+;^K4?GYoUCT5 zo~V}cN)80MAc?tWCohg#2PgLefi7poD~xr?NF32%+9Bwya#^hfO=_OlEanRJa{K2< z_f;1RGC?2kON<*o&W+wEfqqttYt~}T7HC?;?PxlIgvU`WL%_YtzPwU=&Ahbo6So@R zc2P@_rMF3&Q((?;s~ohel603UV9n>tU_NHaWU9$t6LeZQX#_ez<&|X}3%-v>wPvrI zKQ3qYV>^2S-Pp741x3&z%)pdGOik^qpPeq&7b>(Jb-TW=)X_CIE&vfmk4~V`^|uO8 z{|UMtXc}+%R#|Wzw|X8l`}oTq*!1$pHUevI;K;xXD zu2%9Qhm2|$#5xt4iDP=Ef-+1}S3moJ7GCuD>#&n27cFo1BO?x6@J-NmqAm!D5Jx-= zl%~`cTg)E_C!asBnIQHFEgc)CqclE`5Xo$sJ=}}YM^4g#0NgK)scHeUdos|g3nL|) zBEA8@7YPZJera;ZMn0QTRrQPRd<}j+Bb+!zD&)@QLv zhAEFHHFM=N-8mE8`Wac5tfp9(CT9gy@|thyd1D=O_fV}!h+>%KX%=+HGR@5;ujnye zoeLNfoJoh8%V=37SB|o(M%^23o|nypxqQ~I-V^? z6=-s5^F7tqV@^=youNcxyH(BPHdJSpdb><4W96tQD{pvyy)QcDrGKf3cL}>CNsj%* z!@~jO^Y2^l8yn}I7hUd_uW4lB+}+$ZI@SbuvmYcPGPU@TV0w7Cm`2q{T3inub=wYF zCbCjlzi6uEwtDTY=5AbeJ`dWhZLN4aLwHZUhg;XG&^>Z-Kxk)PF)L7K@w^4M6HWF_g* zyvCm2dfe*AnPOoeAF26#FoW zZso-VV8-zvoLtXuE}0gm_P-K)DJv)3gv3!NoeIfkanVU(d48gZS?)|vHhnhdm#Yo_ zB?v1VoO&b53>|6t&0c#S z_ZW*DKQz;U3#KMiH6q}T+(DE6aTMpTXC#4;0#kw;g9jW%S0W}4!N z(jtW9LLSefi$ZN(*C$OFdA!#q=AOz1YoUjE#tq(D7GH9#cnO0$^X67zX(S$}@`P$3 z8y=3|jk5JL-g^fZZi!FrkNCv3X>pjsoX6;~4b%09baPZZ?Mb8NR*A9h<$~3_`)SfI zGtmX}zK(gf^z2~m(I(GJ4^w81p~Ya^`g$_0)( zD^7A{1Y5(;9+@+CDoTc!iOlfELZTyXx&|$vTZTzUQNTynV>~rQaFr^QA&ddy?FI6j z{hs2ylfribTd4%0YI(=sq1`$^iHosZFW2b?q@oPVDq|stWA%sQM@LJ`$PQ}r%k$^Y zdjjO9wEHm}3lFD_>WZqea#;kU*7EjUBPS;uL_Ps7KpV$c=BZ|!2uqPLgbzbvz^fWq5?}<-oWAk`j?pHtO z2QSLYW5M}-@ts)JQaH6`i6dKXJD(t^@h~dgev4;qTK$@RD^JzucnhIJW>Ggt&Eu}# zqs39~rN@pnE2@y9R&hTnQ`Ig0Vn%W}Zq)9!U;dfIa>{{-Xd*{o%jMtj@gBqE=J7ER zFM==U>{s z=kWTT44xb4amc1#e<Bu;z9d;3Wx*`HX1E05j)CHQF?iRc8Q-&2PEE%!{0m53tCS}-{tzF$JikoXp7 zJTd0HJ0Lx-Z2ULFrK8~w>H*$#MqgsDapl1<5GjcoMZv+LmT(D{3A~?TDg-;zH@gRI zS+r9j>;Sgyo_FsyP&)T7%o6R#+t>wRuEXF^s_m_;j zrf1aDH0mukUaY#V28zeD=auuQ8jH0FKeL8Vi{1dEgL109&v*mrX=-gsjD|I-11RZF}kF6NdZH3Ub%a>n909v+$r8 z&R8nd!|BpmWYVGQp8-3zjt+Y5_BI|)Qx_X;P99s=U{WMs>Q!fLvyB6#Q(~)0UYE10 zC}YU#F^$^{_pw@ zN^@r`sB5d8S3v6dWf%2yu{u|{s^oC;9QO60^JP@Q`1M5RZ|D7BLLVZ~gyZDrN**h5 zZBZoj^o+_=Cn=6j=Eohyklc;}#b;!5!0jHjJb*z-sC6F6@PY{;SgojlqOh+$jt~K9_`4Qh4e;=>T0#+%-`fm$2fRfBRbL?6# zV37vX9FrSQlpDc9J$1Rc%t(*~E=OHH2+*Eo${1a@83=QUoK!bJ!;1X7`OeVIqDatkx7cj-N6ZDrmRMX zzsBw*cE&+2b_YtViF68<6PfP7kOE*XY_xfBAi<#yV!-x}wzg(uaaTGyWcY$ti<`E* z_q*RcF7G$zxn4vtcr!iq5yaw^t%NxKC}(iXiA;+VqYq|(;%zmV3oP=j{Jtm@bZ>;lbyaa%7=r#Hz*!8}8IFfofJ*F-hZN4ws$vj*h^Lm^} zAEpF$1{#L`9%*Jbo+7m)J8d1Qmw*!vDFyjctEw{++0w;mi$01VdZ>Af$Az+FjiCpktNfZ7v zUI`LXV#+U$-aHUrHDu)S8;+rJ=>nlIW#rFnJie&pT>99(UO2Viom4n=xjxL|?WcZj zWLv&kN3B?@ax!Q(@%GL6UK#dfOGlp5w0aNo&*PTA^K-A4BfAQ@!0OUky|viu4IqDM zXk66P4wlqtiPr9AmMRrL(m-R#i^m+d0Y;)%qo+s0Tby zCtf`OpcxR(tS>Fe%!x7*f3V~M{HOKVNNZ!UXKVGYr>Q*bxgu#JC1Z)mC#Lc&3IUbL za>b)$3>K9F2t&QUO!OXO`@TxptRw#yvaeR}y{%hMv#QrSQ>@71^cQ>0yeHAF*4vn# z4j@NN{E3KhvDtPwoItZwV@yFtRxF^~?LdT(uj0^7c<-t=bW~nfC*|NU2B6EDY!_A+ zSXK@6v86YgSG|t9H>;dFz>9#u63`TEZoIN*w=K_YWRZ^mf`>zFJHuZ}cRCXJs<{-F zzAB7mv^|}XW#PgbNZ%1A{~57g`HH**bW_P$3u4I=;V|7IahZx?P7o^+;^z(pbRuER z36A|uf{@wastr(M!Cfbs;ze2$pm_1ZFTtyECvGd2!UQ4+5NN`2siV@46PCX5k#oW* zD#-~JjCy!r#V!0p7w!zce|#FvLslw*eB2qDa}8pGQ<>T{wpGZB`&alIQqL`XJyx@9 zWfbitN%ySdBwT$+MvmasNExqoq;e;MjwPSpQXcJy*g{Xs&q?L9D;kzhPmPp$ zdjWpOv6=*A>JO0X6abI0y7qg@SiY!Sr+V!!tnLa0 zip3LmcJ(@ZP@;Yp67V49`{RGK*&)ToX6*N{qGY!;Sz7j2dcV%50By)t$A(=eCKZ3v zI!gtP=uLZ_g_w*X1wi5a!6;c>4Dw;+;^Hc}8JwmS-GNfo(~DrLTMobnQ5nShua9fK z`hf5pdO};lFn4 zgNjt8yomOy1I59967$QD3~m`@)nv5!B4b-z<$}XhXGBP=UIw(w0rgSf=f9Bcp87+M zSWDikn{Mag2^*fuaz^7i&z{>Up|wvx7E@vsw)~!p0hM#R%e_8(PCniwD7LnLbQvQA zOWy8OmtluCQPoUuelh*1OPsxe@i0PFo|{mlq&E!s`Iq7$cY6#UgjUF42<3em%4yf@nEgVW#`5r;KW$- z{o(vaB!~Q3Tt(g{dSO+zEC3TJS)G_NSbh~1J`VR6E=XE<;x#Z$1`{PhcngQNEfQsh zBM4KR3cnKtmZ<TRTPfOoVG^8pT?mRB`+wX-?C=+!jSu9=>Rz&`BY(^+h?SHnyW8TD`E2YVFXsR=!Hx5NFnl8 zZ`ng1a_>SA0=d*lEG9bM^HIsZ2z);WKb$&s++JK%@HnMuEwJm??T&3df=_uw01k+@ znx4}1$IJ-}!L6UJIgI4rva{2UTjqQp&TPcf9v{w+n>|OyEP%d*y?&GBeWb+#p2bSO z7>5w4`J8sBoEeTZ18Z%D3t5sP{TH)6NmclH&s{GL%9CzDl1vJ>b7j5i{^bl#Z2R^7 z>dHh)Dufm#L0th4PVML?U2^^wlZj=I)#_UOBMm3CCQ@upGf59aFey3dXmqr8@(@HT zlx*@hkZKvt@rks`v$0Y)4QG&Z!DCD!@B4={2K8~+%o!_o`PRp+xd_N919z8-`W4p4 zi^HkB!(ZVdi_MHb^eEB}CUffnz=jpK1EUHZzX1ECx5rQq_!Xe@l*oh@{Njmz4`xI& zKSIn`Q6-KPWzN?#qkfqzYM^dkO#QXF4;v)4#*5!vou!z%Bf*|FcJNL9)Qx{a-y&r) zYYW)c0r_!--S3U#i~{*RcpTq$U8fv28(hvuQ|9dKdJQk+Wrj8Ztw-nmBA||Y=zP5h1iz|~ z3V7}G7GD@_^z{`+7IwLi#!Q6UIy6p;GZM*C;kG9jLP*HygjaXmCB2H0=c$vUU6Gk# z=wPUP>E2vMnIn3Aq~MV`Bqb%Nnu8f(Xb4AmX;p7Pc(|&ZFcx`xNfglJm{%iBulWW( z`kT^G4-x{`Hd<)6hmR^1_fu=&Sdzfs_YKo7iYahXTP?q2@^WwO#VEHr|4k5MdO#7~ z5bt{+^|kTFxqQxtDKI)BL|ajnNdxN{UBzO@UYt{``2U;dG4iq-d&nVRH*Orc2~p6o zUwu0}X(Rzk$K2z&WXuEH;-K@_7SLTIQXtCD*NqLJ8Mx8*`sIQ+j-2n)^3sy7PLu6Q z;sQ(R-=1>pZDb?G!_{PixTq}m@}LW{USsox@-BFXJ;{mnCNaJlxGmiVBD@f+e*mSve%}MMXh(JqnqdLJik$ z*LmD$wc*bRoN!!Um;0-thgGprRv~F~ex=1OXm%M|_Q~;F znsPjN3fRiC0RA+ZTbWDEGP<9m0ituj|FoAiQ^U{+Bgo*DyttvUiuq5dX|4kK&+OTz7uK;i?X z1R+^)s^a8Fo+uZ5Z7_4rwdxvcx`Lz4rWOi}n9_n^#|6Bgp9_q=3(Vh6ZM+A|h>k|g zEHIpPTeb5si4^YPi0rjX-NF){Yv!v4Qj)7u|8uAk{~G@!{zF~Ct_A-5n8Ne&>e$Km z$7$A@$ND*mbvn>bopY_wuF2W@YqEOB??Afs=(SJ6gwxNI4K2v=QP8L6_4`nWYuMu@ z&54NjmFUz&)*SQLQnl{&+u#S5G2AFhk&JM%syBzutV^7bpCk3otwn?$9s*Pdwa4)gT34%UM=A zY_#&iD!idp72$R8%H{^F(7A`B;q$GN|Lr{igxBNksjtn$FcUY~k*%K%DAh=F1-UTA zZ_B7@B6a_o{*2GS7~o{QUHk4r;Az3MgB^dt6Q?{f?tgL_S1|MuuA;w&JRj=CWaO zhVAXUc=&7a6V^^zM&$Kr4`5K$L(WC~o^SJfTYXOtHgl_4nYOw-5GnXO-*#_BAlHwO z`z*+P*cO=Ji6#s^Tj0mbJFq2_3lsZaQ&-TMf0V0)V;WrCw$d}X5VD`t9pzZJPZ}Or z_+-qRi*9<8-XQUA+CY0ozI|H8v3n_GL=4SZRN`sV$A_EFso^>gNv?o9)B$5k__$u< zmN6+tl(>ElL7>;ImO7)2-0HV2DvVA zGjhmZD?Jdtz-?@_A?j(Vd|cA6V0du#%pH#+`tk$O2>L! z)|wQ#jM}^}=yOzh$X{AA76v@cA)MRucN+hvHIeuCshSHBzrQ{cFLA=J0|#URh-o#` zAuuc{e2A1xVzw~;%=^~{JkO(42gx{Rk7PV+3a*Bh# z5n16W<8YT*{vHNd48Nyf*J|^d;sYftEIOhvY^#r|Z14h6Z)lj$A>@Iffm2_C{h;PY zQ|_+ktoYfb)q+h^i~d9^qH+XbeYUGwB>n~^HC-aArSVD22>0t%m(6d?Q2pr=U$L(t z<*yF^n+4XlNu*w^x6IdE~8CFcqGMxU)DV2LX#Y9`7ruB{;o zn|J)OhTr=WK>w>AnqLW81Ny^=Xi5toz6j@JzL5XM;dq7>1W$gWg%m;Ixwi*o~DN&Z|Ylo(l_ zGeh)$dgJhaIvDde6!v#~ThS;suhimPJQ8Cf^`J4lDs0q@PHxbP{7hjNG7z_8a#kAR zq}t7R6)0}IpI*Q__yz5c>Y_`go@()4>f+>PXTAlCw&O~t*_6x=z?ahjP-DewKjju# zu^aMw-}DDcAO_<6RyJyL0gu%GPWd#Wz9S_}8J<(i{gHh_F>_m&oiRkFif&_Rt=4;g zc#-W?WVzA(Ql?E9{PZ*K@nW;l?Dl3xj16$Y@^EAefPo)+|JUu?F39<%|LfQx!E4LNiZI9JgE~szi`UB}9vi zsNEkYH2aWXQAz$a->jY3jTDvA+H$eDRNO#eQ9lg=i#Xmk%mE6>X%}asMx%l{h=JZ% zfa1w4*vu$F`OxbPe!lvQn8|fp3)1+#S)9=*re32l6}Fo3sTt9$U8cXfBJKFHqAcT-5W@_PX~ck-lH$%zLTP}<@>QI*SqP8D#VK7{C&&+z8=^-J1tjCJPfGn zqy=zlVNG|_4QY83(aTiOiH2G+PZ_mcNWCQ0iax6sh-z)-U`G9^F+G!n(~zaU5+(%y zvaV7}q>a>kXT}O@3f7Gm(mwPMCJE#_h<8OxyJAxA)zBfH-}!-hv7Y0{kD& zh`2Q5>=QpR=_sb+HlAG`FW0%;Pl>GjhMyTn%l#9dvhIIwNKj70}@r z&>Ms|CZd(-hC^9h`{n7&7jH*l7U;63%F{hz$Qc-rd_>=4?vmpDok-Up`0M95&qo9n zL%WTI1)(}0w~bbJ3dmW#5QTr8#n5B|9!sJ4bx+|CgG%1>!z)GS`$L;AB6=>r`@w1> zNgRa;TN)1SY9g)PznMWkiSNX0-F>{w_-3SQ2#BvsReBw+hYukd?`Kv&MBYt? z{sLEQHj*nTX)y?Z(mgCc`N5r9p9d}@jmO$QGU*XgoKD4m;Z@T7DRbjEdOMRXU`bW8C( z$-8)NNH0qUr0MsVSoJBau`32%tB)`8?7U4>#Al{R|BV}m;duRM+83GPBb*DgEKfZA zU&esFQNY{#@eKUb*Fg~%T`gLjw9})K`exTNZhl-p6jx)&?|;>eA^XB%#Je|pb2Q!k zFhL@+Sr0rFxJ!VA;OPvx9O;c@H6m85cTB}N>%$Uj6BAMs65-n|ViI14T#5>1Un!i4 zeQ?=7dr=jusV~M^jozv?8`&0W%Z|x%xH|v}iar;WF00Wj$5akZW3n zaCbns+r531=}yvgx!!1XDUD=E_*2Gj+24Ar2ly5MIJtxM z`%@kOGPSD$4-yL^dZcN;?sn5x7;I*(x5-r3PDsY3Ik{krMZ2p8;`XlxAKIFnp7*VO z_+KB(-&lL~HiuixOKFcr*L-%`*>w>)VK%Uni_W)(=8e_}%zNQcn z!%*__3 z3IA}$ha!2?I9R4QWb&uIwGuU1t-~O>z3{61!PwXy$idHfJnBez4p)pw@ z(JDDDSNl3!Wc)sFqYES)^n)5^!Rort!0(8xULuvl0x+BcL}CxetvbJZl#z?49SQ&E zKBum?A!8@wF4H7rQvL>9G^OSP)*XlTS{KqEG>a%yC?PPN2n`L}lNv6xk*gZ(Zn7^4 zR4k;F%U^Lh|5@V?>7FxkMKQ9EE<<>RmJ!g<1ip*c&4w)g-RulZv0M5|DDdbLt^x-P z&nfge+Y9SS>c3rX{sayS{t$4dQ|GH6#E%p;cC*>#^a6}Hl^18R$b=`=A`l|p(6n66kX$9=p-#s?A&4+c4JPz8ii6QAoZUk)zmq7mBUH^C z)~{wU zm9xll9L_2!$w^2w#~4>P${r;88n4RT4#ZrSzUXiI+uTmHT><-kt3iPJJC zm*s_V(;UV+W>nWlq{M@|>eph4qc*P9Yh7a{uUYYJ2TZ z-kjG%&;bYhp^nC9w-1yO@Y`s=ZWZLoh6ZG%^+K_l8O3A21Yz11xt&-G%8g}280gDr zSFSgh9ahH)lj+s|&5m>>s3GI`zIiHh)p1()emY{3=5S#Eb=F{6=vmmaVw>LI?EesX z+AhQpCOkXu{CtjL@UeRs8OYQvT z!iETMgX3Na+uGmDWpGb5#)CcJz;zptAJ)?JdAnPQG4KGA`5xQT3Ba=lg`m&f)y$qu zY)-q+`D)Bs)1{El)7?PSwLD$mqhvM)+@{%YC^|D2r;>g7Ozk@P#F8>47s-a==IOb) zM$?s}*2W6|_mNFwznhsF;f>d*IFa=ZhrMZ0g5o`l3&SnQM4GYx`(qdQy2<}-!$}x& zOY!J`yYQSeRAbcg1VH?*uU+h_)R|+=f-KyWHGQE&f1eeP0kWeokuPm7s8g346uz4FcAv#{N7NJ&iag)$Mu0Z1Fy!s_bgBBz z&E2onV=DLD;8kGF%&I|-#!jD_otXgn_e#)U;+x2mHQHRv|7HPVj?}seRPMNx$(CiZ zvj50GBNfA{(iI^P>V>LOBi6(HJOc&DimLa`dzSE`;iNN9O?>?TD<1x>C0dj6N)`s2 z6bdCo-(cKKRO#k`=;`4=z}HO35=jp`2c-{4yHbrp8O!G4qZFTnP`>Y7%lHoMu>;E7nNaNc5S=$bpQok>bC_w zQa8zu+2YC01oteDi)HZ0>W8&L)7L5ij5uW2(EL=fB02 z6vz&Rh?n8wDY#%6v&-u~z|(;P4V=+r15KG`2i`;krg{6!&_PAnTnHT5(?NK9S=knL zBZOS<3c=2U78zrdRB|qywwJb-6lWwx+;!jg4q^Xd~>G^W)|E3VlaG@$Fi!SZowc!`Ql3yAK}LH~DCw|y6egGiYKC|d zbJ`0b@0+-q&gYBio*s+BytlJMFzipy?Ur#|T=M#hi-}W2;EcYFu|`y)KP_H&+o4sWywF7|iNLcIwYX@$GJXa1Mlv2# z5&M^=4x9Ee{|QyFb%`*C-X9`H;%-(hKXWJ}>JXLUIygs^y3&cjPMDin5{AuMp3UP^ z4_^PK72@%r+TiWNt%%y%zp2y$G=DyY$LFQU(^=Z+@nTO0qpO;APjzuH@<^m_WiM*= z*?+kDAX=-9fe2+)NvSPcoib<|cg^=p*WSUw!Nx`m3l&cR^-}{(+|pf2e=-YGt>fvD zey!~UF#LM-xf?mU(PEu%K~3{p_Bgt_#?h(X@O<-Ob)UpkQPjNB&&-~QlnH$iS*|@V z#Q2^J%y(aF{NKSGU0vSSKH5Z4$>EI<9{VFCBX|_)TBNl3=2IW^30kTIXT4F`U9zUg zlpBcGH`0Lwgk<1a>Ov}&5S!f9)R?Sa0nC<2?atSbs!W3M5NLb$hPZaV1-UF}C{|FB z?$F6mxf|Nros*CncG@m10<`3_P4LbTh5y@%)vv532NK}8+tG%&rI;&7(&YnQti=Ir z4*W0RPKm9zKbNOY{=8lXZ!5RJMYHYu>&4G7l|0~e8t+V-*Lgd*8x3*VDV1*jx^}eR zQ#}{6KLML_)BFAJE%3n- z1Ppn(q43{=Y%~!}X8So`Dsyq~aP=)B6M7KhE5m;Ey#3YkLfU`e&MScNh;-{(*5FzwOm2pe9VXN7d@w&ni%>K{wEb;D2 zfic)O-V@zR(Vsx7jO||bWq(z>Iaf?>`)@U(1%fGV%WZXrf(>B?Wyk( zQZ+7p{aJ(}rV&`Zmo+HCUf#D@djJDj?gj6@i%sG!X8B`ps1^RIgc6-}g9y5T2L@D&50 z;m52lAK{Dsi#+f*>xB~(7ttjaTJV2$lZET#&=lQFR5bQHm{UvMhv60}qQv`p$ zz?@T>`B#A~6W!H1TYoVlJANe4_uxdOg_p&RlnpK@4X}p}p#GH-o-EEO9z@k3{?ZNO z5!PK$1=~(*l|2EIP8JYG7mxr)n53ShfQiqwD;(jCH>}#vij=^>G|s4Rm!NO4h%3() z-$!DGBV%J2V2lq&xhyhGm4q3U(fx+m49U0dedvJA=f>4Y%az~?Czd&gqGbJ0y8QzpF~T2>I9wnA(JYd`TP?bcs3s&eeHl0|YXrlWPNa`hsei?r_d;iec6)^Vd;8TaEU=ugx(qrM+;5W<4Gr-j%qL%smrLf5l zkUf#z;f@t^JyJKcX6hHUt5uCGG%Yftg9hazmHbM`AHOc!PNw^8MIGbW;q-9Ds%oT#hMDZKTQygn?@ z*>s;i$Fj}qVk7gw|816oH%~H=VO-R}C4kGk4ceD>z8%|N${qx5XgF9cWgmAgO-yhE zJaMB!vTmFb`%0jLV>>#42lnv?@qiicq@zj58!rSiN6N*g_KY?1V~zd41puGV`JjWo z`WouQ3iE+Q$?lx=cZ3>0m**wz-QMAzKjhGZpl0LE<8wn8|3}kV zaJAWWO*puFaCa|G(c)g*p|}<)P@p)$-Cc^iyA*eKcb67-hkSXywcfvwoORB=XJ0b| zer^#V7jen0X?Rb~@$UFBSc<2#pPsD2EhscwL?Mc#+m1NOs9?z$ge;zH)T(GHj`_;B zLkfjOCM2mTKVKap{7a7%`3mTwYMfsC3PYqS{&M`=l`wu<-o)t1joiKTm;zhUS2AYn z1@7}!8%E?lK;K*~tfrsH0=`OvNjwfOp|Y2gn4CNonKl8LYmkN14BJ|jjQ}=aln5sx zyN?!pdn3Z4*Vh4{>UP8#Kpw4&DTIbW_ESx0>Z|G#Pmt7Op!3`3`g+TW-Do+XYt){e!MSNZ~GpBn}pC|NWQ0Q&?Oc6Z&eGoH`{MFUJM=H zg5GMtLRaV7$#uu_$aIBw(D)>=E>Q&`ArjD|j2C?Lx;;2m+`z^m2lOJB%_6!QSxh%1%5NO?7W-|Gk^Q~<{pPs) zWpx;0FN;a`aXdb1G5XlA=?2$;AvxZVlA$9J3=nv6vLbajM|hM8H~Jqn9gFb;e%&1# zYkkyjU?qFbS56kP@Bl5uU`)H)$aG2^@!f+SC3j4Y!&IE->2}$jhm9Y>*Hcxums)~6 zS!`(AnMi1K-}BP?>x^yCgF~49ewN*8qAD(9G#s9G11;2WwdJU-lP~M6V6p#epshDI zPz=ya4ZNmlKEOV$)OZT`cx3C&kZtHB2d%BIm*_~cMC!FQ{ybTUcj$WYcCQ5|c9K`= zHqE62Js>qd<7uXKrH;GF6s6+%6iq4ag;3&Ov*44&leNa?Ap|caZqFS5zW6vLDkZm@(iE? zLeJo70#H+KFUg!p+#c_1);nC+L&?#qzP;`Y4%E#b$L4f;-%jm^BY)rAV! z&DEP8mNyae+O7X_e$0;jb@pO>{(|NsAz^>M>2@j7^=tnjy#fEfxc{A*S!zh!g)r!O zt|>FtC@DwL9M>B~lS4+Tq;ZhGn}v&xr`Xiqbb`RSs6esi+g7*p=?VDZUkrGq-F3P6 z@af0Z!9!91Ht0IG`|W7D`}IB#W;UmVTs|MNaNFPgI>Q z-N@R6LrL9I{9K=WqJTPO>K+VK1fZBUbbDa59?g-TOYR@5A>xPr+57N%lMc)Bb`w(1 z7r2hTzlK$d%r1>Cid#*8blT#(THegU0Y8{2+)>~WJ6!Epq>2)7Z|(*ajJ)3!w`b}N z+C}b^sfxa)P%ip7o-Q4Oo~euWb9`&P&dYI${shX!?QkVs=84iW`-T*Rag!IM@>Y#0H!>wt;egSuJf8;c^XzNgKQa0eMy(&JA? z;G@?-ZHFxdF6_z%ZXR8xm52MrAM5qL>q9)T7h4~%Ibe54<4~2OJX?=Oip7^wd7Irt z%{~Kr)C>FG4-sNf83J*b8KzcPWHJCuPe0KKf*;dg*ahYRr>NZp>ZuxvvKCA|Tx7U~ z0zA#Q9tsv1%032h^ju_dNxt6X;&hG)su&b|QiIO-Cq4EyliL&sl;Hrm$!;GE3M#Z( z8r^m!dN&c2L44jf?SaGHTW$yIFvAd0!ts2m^B5=Ggfc0`-3==LI&>K?CN8vHLsc)r zy|&$c^Ta~1#s1Cl@d0u#Uu-nzaX#Fg6g3$6UPC0ZY4FFg$os?7ZeZ-?wq;^+gp)#< z%0LS_r3st@k>ij+V!Z1Ptyt8)KTupQ9HW8?WI@d?+T*~v_!-^U3Dqx(1?guWcGqdg z`Q~st*K*Ey%^&WJ#XME6Yh^L5tl&I<_5W!B%k03)<(>{ADd(NVwNF1PigDm6YiD9+ z3K{Wij?qrdsQjK?B4#IL&O4{}qyY^L6f8e36|5$)pza@5S4jpu;FgGeoe|B!a+W%$ z*8|?y=We0OS!+#?iLS(-wW2J%gMTF{ef7Q{6j3G@e5+6vd2u{mifPt~kN>I{AzPtF z`NM&+DOnFWJ|YR^rs=~j<1S5=c~vS8B(roce6}L?4#ddiF{ZNdRxcLoE}Oze3dWR; z72Sn-gOy5{UD3Xe-(aX_D=<-CIPIXrc=Y3snlKQQ>2J}osLRd@JRXrHO)rThYiVva z71&YBD0au++S+1-6@%(wJBUQS!{Fu!U$vw1Nk>$Iz7kPkhtko28uACv$wU)LB1(O6@d{1oDfj?ix70t8#D|O_bjD1AeeJuPc8BjFgPZRwnw(T z2v4s;jfGm8%8=og%VRW)QIit{J|y?PyEXdg7I}Hn&TP3LB+&cL(B`LHWd%4v7Hg^)vRwe|vdEKRs`^*!1^GbHUoNsgE`y-3JI`fUC906uT%%<*Y8 z(=|H2^;&-Pd0yUr+Xin#l+tC$M&IZ0W$?NL!=Q+y7b&k0HzL{b>yU1s2rR$z6d>r1 z?3c4Kxtkqnd`XktHWD`wT|LZ=Cyi}FqWT>j^XO=50=(r@t zNfGG8ee5xrHT%J5#sSd!_#;r%viqm>Ycjk(v47pE5`5nB&#{KRp`SZgshukyc{D#J zkW%;!VYXSG-;9hPU4-7t2wv;$?c=&c_}seA_j5(>+urlbvoE)uOV$)B z4;IQ}y-{Bz-Y;ZD`5f&H_iyzN=8zPuvg6U1z>n_-1yp{bS(3hvJ>g76C2k zF;T5a=6_Qn2{%;;hh0utP4L8yLa>7FR*7h~hDHvBd7B#p_jRhX1;IXQ0Dk(=w2e6V z$DQTljSZxXMtD16E07$^{cEn?s#+IWY4p+7un~6qcM?8tbt&Tcn@WeNK4y4mD6a70 z-FR74`S|0q>r2PwYbEC=LIgyILB2>7GHlAlJM8NA88e1pRZ%qS9aY!>qC1!!dr<)V7}r?#q2rr|8SO95ZenMIpQnL)46bd}S4Z`e?np z&3HJis4 zvHf=IFpTl;cs!Imwt_+#+{1{r3QFMzIM|P1!YtL%_Ko|Vtr}ylk)Z$SLZ}BNUH_EP zGo>d8b_19^7|qAmHX6>42yT7jzQ@?LWeUaARP--*!%P$3!6or((yE!6UAL*%feFeg zcGus3`S19KZ;-C-mwEf1t}<u;Gko7h%9X*+L5lB@@%JB z4=}21dLp1_+UTH+5LlQ(iDeKI68s&l#IT~U7>3!R?DeG+e|T#1?dSF^TbH2s!9Z}P z8(DYS)vhy5daxxesZ)YuhP1gpZWYPNT8FRsB|@giMw8R3=<+;*8~Xdzq{zohDCqrO zxg>@Z!nXJu7c^SLL+i!gS^?4kEFnmIbTR?uett7>6u*{k)HDWp`j!(T?Y4>n3&Rn`0htm9lh()qSLV=E0 zejF~2NlU!x8XVFg{tuG_0mzH-?JUy|!;gkNcjuHtUCl^;|F}$R-UyL;N9b&ypA6n& z4mHZW_eV(jkoB~RyBGA++k*gTGkdp#1KyTJ0mnNnB3UwHoP{Y3rAU@x95%~u`P^>l zAyUOZSOZ2ns0bI(74q_fJ>SuY(q2=3(Oo!we@JgoO?C`f9#V3p_5TP{@Pav01oIFP zUhu;dBstn)^WLPc^EJ~4;tJpsHk1oinIcHlYSWV^UanbdwR}DXz25#yq^BFoMiEn! zzq1%go*z)`w!R5);PM~ybOqWXQfJ8pVwLhh^pVfd2X_jGsZ;xy)+#V)5gwiNdJ4Ii zgTdk&u#6fQ@VjxC%xLhQ*1=vRlgZeXBvX2o1PkP(R|U9RNBWfEnkRf*H2LDnmpwO{ zr=KB*#cX=GUF5~(JcPAv#`kur-)wmLY#ns>7sAg@8Fu_SU1~Ts3n`4t&>^-`OhNt` z@RjD9k;Cy6Y374(BT8dY;g9Xsw?UDQx6p0KVR7j0^1AgD;5hn9MXKc%g3s88rH&pt ziSUoMj{5DXlY~Ct>JMPy_U;$kgh3~a4)*<^$4$+WP4>_>DbIwlvlaV?M}C)2m0YJI zI+^++(3v~k3RmcR`D$bPYLFr;OA00#w6lJoILy&fj_&#l$zU$mG^K<{u9ye`lzrTC zM5!JyXv?Z#vaQx#Xc~6Qc#*xcIX(J$)bh66@JnWqXVxE&Oe3!IAg$X}gvptc`|q_6 zYI>)#dq^~CG+my~N0KK4lBT|oCEchoQPt~>nnOhs@pCu-0uf%j!9>pk*`)drbI9u9 z@B8sZNvy1_#wdfO5V4Bost-xJDFm|#ds=x2Mb@Tu;9&4svmy%^`RyBRX%#;z{9tjZ z&9O*Bnb;Q4qkyUGGdhSOxNr$s$oRblS(z14K)gl>5eHF$P*wE3h!E) z4y{g~J(Pcf%RVV-h$#K@7mfAWF%dx&@e6Div}h)bg&dHKLh9_|iqpJKI6{EERoaTjZZNeIGEQ=uiZr%SQ6w zX`2QfXrKqNp&PL^5n~F&lB1GisBm#Lza^;31(XLQVI_jl99&f^5T#VAQ0fNa{rE;v z;SnFH4F3MTATp>keJ`FQZuzlZYcHd(Y&3N9axU{43!wyi>iVrd8FoHCjRs-0E!Ne$ z+p^Krx$@4=H8zg$RD`rR7__)eH$%#ZRXLr!!5?hko79?*het>^;Mz}JId6j6-zE~4 z@~nBn3ewvjC~$SZl+4R2Xe|5IP(K!6^wN4gN4?#%4>Oe4J+q994LLt!IKUifd40EM zhhEDid`p)jUa%R=mD9js;S79zY+~u_Ubg8jjXvH-ZH_J0(U939_QJtRn|A3&5=m)| zT@B&S^bX(jpuKhfVosR&l`BzKJVk@!!f4yq$ogET!Ne?JSjAU)tLxW!55{&Sp+U3R zt$>tPg63Dh5jI928#t{ordzWJ0P7Pn28J?+($M;62Pi4a-fyhp10?R|p+WQl@5DwE zl)zgwsN3;-tgDPaER6V#DN*VO`K)TE`K3D}#Jg`0$70hyz(8u?5bbP2@71AOvd@*~zn$%ET?)Ibaxzg3H{zKJLpfq{wP z30sbA3~QQ^A5gQcqAH?>)!4(9w<+uKWBL|Qz@R3-Gc=5z!5`UAeJVQ?+?AIHiE4Iu zHlBuT@eTesMKZX4>wMkmnVmQC_S(6sYgl#=hM(%4`tZqnqQ|7Qr@ZG|Gvf+%!R4D&x9% z@)@Zw$wC)C!fBScV`iWD?0k4L*`4%}W4>mCByj;)V|PWrgjr`Fk+Z^XB=Eaf46!e@ z`F)gu{guY-$T2N*+{&g)F&rf`iakhMR)d4C>8-}WcSNUZwUwV|N@TjR%lCP1HW1+# zq?yj-Tz(9ju`;DHxo6!s%LsWI4_Bc`M^5NFfCN4*KIYkB4ZT~vSJYRlf1Tvz^fCHa z;C7*>)`|(w)v})*slNv216KE_jH07%m*chNckbDh^tw`1Cqs&k;%(pFg7NrAr+Ys z4(19#uuE^?X>0B+^Bm_Aw(9*1GEuxV4r3EgzSbOxS+7ji>LAhU;E_)}SwJvUyBdOX zEMF*t>P-8WOqXXihs_`y&-+Vge`strL>=CmFTpL-4+?{o8xY%DsHQ1`~?y)L?YHkFgv*siJqoR!~kS-drikk50FF56O==K0# ze@F~N0F-5BB;sh8<7+pN;r4pTRL&wjHus@+Q~oqbPYlB6hYiODHKC z)Dlp+D^dnl#-MBQnTm?S3PJOExLxViMf9(|%k8A#7nbJ7&DQt7?e8-GZQ{e{ z@h>((8fArqT{Jq(D~zna<@EHC3&vmE?AB{7_A|ok=pmfmWB13$XDcNVpO?SBBr>e3 z{&x4LRnbE= z>~vVAH~1miXWRS!Hdch>;uL4;J6{$2?|*qjIiS^>#GHNFmgX+znu?i^kg*D}}P zY-LaQR8oGAi<4+UywBbmnBp!iE#5b?2>Z(9J|D*-=`@sP?;={tTx80+i04Vnw2h< zPI!KZx}ZW$4M1TG6uZE;1ZrAS)_vK$=xrfFbqg*ly14@nwNE9yOik4~oge+Npl9%l z$cM=3=W}i#xuDPPDLFcsu+zg3#Mebn#}wuaj5qf0GFzOVuk$)yGJ1b2AYEVD?)n8a z?AQIaT;uSqlcq|2;5U{MvAoTh>c|rZ4M50}L@Ef9FZIf8Ea&ARIFwqieT_WC-))$; z+dc!!T+g@#w~aTBuz?h5aWZU5Z&LX|_8Mfc}Ohh#r5JJMb ze`u1m>ilqGulHtebie<#d%fPo)y=Cy0XvaS705B}2*A{Xa*sp&c5rpWlU7ybn1+^c zltjE~UHvd6YrBt3mKSD4A7V&M_fY*}s)+vXNj3<=VR2bNnH%;;R`-(?7?yoZq+tY_ zLdbCX=V?h}c<&NwIjhc&HQvz!QYX5OG zXpjX-60^xt^=1@p6I(B!bA*(GSjtL+MwFwvDN^wo*PHC$ zL9c^byIT)|+aSpL<>Tcpz8_+N(yJd;i$a7M{tIwN{|u1bLY)z;{R^Qa6*=@}6q6}` zD}wDutvcf^o&OpT_qQKS+d1j8@Z-6uv!uK~{@Q9nd;`8YQH|Oqm?NN*{kZ&lModsf zGb9l1Fp2O8>i&Ly0x>hw;_MHKFRX6;sES5`OCj=rwni7af^>RJ5p;wPasm0_{g%Nr zVXONkn8jrrJ7gGel7Y7sTByqEBLOrsA*PsJ=)t|k?xdNKi+C}tDP`%uEQyA{0c1rv z@at~a_&DH@ut`gip`eZ7#I1^(+$8see|IyV#ntl$cO%i;_QC|9Qj8*{9#L;A1h>w91 z%&zEqD7Z?BPz`+!7P(>_WY+kNeF*Q#KuH_foU*i}rq3~ytp|J0kR(5d$I5}5PjG6= z_$ejnlW8jLTvBV0saUX1OY;F-ybu4(bsO7=^?9q=L9jGsEadCYA}U zdFhXc`1ZciJ8?@6y=0-zt<%%FLh)P&tlI#wRDVjznLyD2L@xeQTQ~Xfh2iMvhW2K7 za`}_tU$I5?sr4QODEM$FPRO*i*Vk0hav{9Y<^0*O7-C8+S=lA`)#Fuuh4cbkgVDYJ zT)tuC4^$2Nd3 zG94E2K>_;YPfaZj8*TQ+j;kLq2u4wgN%E`$F*-8{g3VHMKG)OTwpE2m$?{Ueb!rhe zYJ-X;JpEu{)kW^w(b;;4{nip*snG$thPKH~{XDuOA4UKhCj zOu(V0Kt-)IY9aYm4bfaEfR!Exx5{j|Pkdqy5}EW0+w4R)KvH*el{Zpg!okJ{(|LD8 zM-L8rZ*!GIGp6)Y5sdCycyWO{jSHDTK||*T-uASLN=(2w+-g_50v(Kn#qDP*=QcPj zzgM}M*RwQzG7I%)tXE26)-5YS<1(w#gf7dtN(?xN4s$k^wsm}dxtBUELE_?p%h0Rf zzWwR@6LL4a=+|c}RaE1BJMWvroT^9b@#q-SxWw0yI5_#fDBd62paEl2r9_2@MF9vA zTA}hAvS_vC$c(8q4Z@U1sd54%M{p0fHoZ@>y5u3UL$b_+;+VCo2#E|lAPn~DBe`;1 z_6TRD&}MCZ&RkuA40>%snbRS%X^!5nvPlxGIjsqDf!?q>_^bwW{V7yq%Zz+qmfJm! z43fW|KYD0~64wZuL!6mLOqrm=?EJ>*`}Dw@{W?HCYTjz(NR=asn^Q?X66&CVdTJzO z#3DI{?#dB=WLixUTzRSAf38#kUe=9cP=@|8$*J1S;bAVOL@}{OHQB>K+yLgR;oFgXE(M>Cxp0N7)OMr8H#;VPyv`d z-$gYtsaP7)fq0gudnMFXM{sCEM<=;G0YqH^oPyB*O;X!I{IUC)Ka-xLe?21ioBA#b z|K?{9Dvnc{O8T5Ay1d6ZWPMIfBPl)@JdqG_53z+t*xUQ`_aDl`*^lE)Uv70gTwk0= zkWj!uiL3YxNYHk(Iocwc{)MT2L3tRCem-Mr>fPf{I7MNH3L8Cmf+HBu4iIxcDW`Cc zEyi;E(>E)kuf*ib93Gp^rnH_M2>gF6N>i-Hw=WF<(Fz zLZP*O0V1^f3_QiRL=|YP0Wr$ZC5|aXB9W(CjejFBdA|Z!664y6I&Ixu7Kc~`-MpVx zbyj~1Iq&wwC$?M)$wpcHtHN&2-?JxP_I{YX$bOic_1XS-ZUKATzcF?oL^wTQCea|> zLC`*fP}HSuE<2>$bbNG$KXG}dglE1V$M4(buH;eKwzCdUp> zZo^qpx8@Iv;jbQIX{ibgZl7z8F3acI_m(#@9lAm)1jC&^9yr|>dpvpqON%2yTVz7P@@bo+m0@ zAa$jIjP>QMGP`*^W8OouF-MsqQT@F_zTDurRPSQyX{RoldoWO?4$x;nKK*y?>;JR> z>moHIFx3eEXKrrpHq+{?2wKuXaVC0L!!<6YPI+ch$kXd{ z8iUdH3SYC;`uhG+K+pEglatp(XAk)KVUMur5En)`=X{HEgD{8xtsevY^4fs#Sl5T* z^qquD9+@o|aTtSCkfapq%rR(u4;?#bauTNDBwm?OE11^%0jT0xqJr`hreQ%Tza7q% zBlAl$n+8vBKxOyqm`M=IJx=UNFt0}q_=wtX)aN$qQ{ymsaH2CRvi=oGQxg-ax{anB z&OV~i-*Lh(YwP{PvC&a6&CM;ex>Afz?d?`6dYT^z~!64mKASIglOB@0rn` z6v{c4LFiDF@L!1&B6PsC?2k&Pr5$y?FMrfOmTF!$ey?x5u4zXD`p|QEiUH5G^$a?e6rgq6KP3f^CRfk4 z+bB*11{D=OM;P>}j^!$1ZS^8%F6F)g-3RQdM%XVmkD}dqH|^t^S_(S!Y*pNLqM~g_xAAqsz55gt;0l z46qo?w0MVK?Gn|GKT$n`-uCn|Va&}4sUnP{*p@Wbm|`BPq9WHQ6)0&IanIdJ7@6J9 zsPL4NoRRn8a8bMo4C88*`Yh^lEF+oF787vg`0$bXmL{ye6Ki3>fFsJQf3ZzhJ#xss z17tmFJ5>H|oj(T4ll#Y0$obq6Wddke>G!9#(eEE!ntZ{N-E)lz#j;|ooEqEmd@6nf zN1%yWU7~INZcH5tE5fg$I&(Xe2vtxw0Fnv$A~h2Hkpf8(TW7E2_Zj zRRrp0no{JXp5RM>fBxU#C+8s2_};g5<6f9SnyyC0Ky-2N9Ni`EmduVTwVwq-M|HC0 zdFqH=L$#sQLri;1E+r*SM%iU?WE?x8*%f>9*O2)1n?DMvZ7(mbl+qvNK^;!-p4u`B zwv-9x+=5j+Nl-!#S5ME3!M2{p<+NZ-TSVO^%aanNP%Q4!S7U6$bQ5^gyQ}^w5sF>} z3ze(OItDCJciUe*g3?_~@2{3xN*d~zz^0{%ASs1JeCH-!#IzFJz$+fcY2VJ`!$JEm znVEm#DB*Dbz~|!wC?C+SM%a5#ThsI!Z0?De4}uj^t0+hF)yTFxd<`u2o}0!~<%0>v zk{7no<)x#R=Yp2!6XXs;h>=*Y7gx5;J;K|4SZ}Ye&c#msOO+7v@UYLOSBjjU68-9w zWa=y|9Mwlk?f5=5L7+#UWtp6E)Af%62u0ZWl%J5o6?m(kqCxWqtwP4_$ExGSQ@n(T zcVdiiIPRbxa^DwtwqoO3&o>EFG%X#_oJbsbh8V~>{5eX2~#x4LhCXW1updSuN65z6}*_D zUI9ypDwzl=g00f2V^X;G{+t|sllc0m9TQWGvkym0)vJdjq!Cp5rP+jBbcq<1XC`OD zr9q++Ao68gBalt`<51wE3S__Vg)=Bl-y1q@!E+h3>#W`(++DW}!}T&8wZN{K&gL}| zUh6COq8TACVzdOpL{wKVh$(kQ&RT}khtANclbq~5TONv9qodo(M~oEfncN7(RFuSs zTR}5rz44*=gm+UaPb_wbfw;gQ!wK!G~iXJTtLOz7mw#?G_9+Kz> z#yE8Dj}+apQfCSH$FInpvqqSxr=B@U&^(g?z8ByzF}Be}v=olJ(58fK{>!HptRoXY zw-(7^#L8+PEG~DN7Oc^RIY_HjXQF9$X;}AbK7`aO$LeOizhr8=)u@@JARs|pV4iHY zTCu`Z@H%!Id^{O>T&Pg@ya<0x2cADBG7BeF7k#SYf5S2BbD1bq;Q0F0X!2~&UWX^~ z5>;Jf%5A6&BqNhzO_efo*1eC)YCf@2NVIUSAx=Ajl$XC?p3Fi`>9E~Np9E1xCOFsC z>^fcFr4=|XY;5iA83)uFo1egxS64eG)q4Iuxp^qS^a|u15VUb2ExbsIv+rvFrTK%AW$h1A ze+!kI!rZCUn}2!BU52B87f{hJhia@oeHhQ+eyE-JhJcf|1T{QlI6@iwtj)}pvsUkO zOMd58ILzC;kB_{Mi+OtGxJeD5Zif#*Czq5(+kuJTr3E1$iUQR?01DF_NDTOc`N0Rj z1_&(`RM6S}D*pni4mT5}1RGgPS1?5A2@341MMjwdtf2bG%K3hrZgiX$D7K4u+))X- z>}?F5x<%bTN^wNU$LqCwTdxl_L1?n~{_d_GA6n9r8Mw1}+OwZgm%?OeT79X3Lbs2} zm*5N;fSbx~#A;C!-3OLh%@JLV=dR#j|GlU2a#io4LQ!@|x##HDFHxUXfCGNpvvp<1 zh)rDo%zqPsJp8pgEfiXzZe);O+l#ag!)!{ChzYWt;DX`70k!^1rwiJPnU$%_w+&79 zn& zG}vklDha_2PC>&FK~2Uus4CM1h@#L|0QOs0J*fLJh9wm?4DV9px6^s!s%-eo2?7?C zDkO1oK`nV{Im_X3q`C=IvW{;`Z(tik0@ornxhk<04GoGSy0IBo#;$=xFc?vB9ys6I z%A6}4ZtU&E*jAdibz`0r-OY0dUo2L$wLsz>7|$PZFMYCja(FM4Zx!VaJC-XeD&`#C zlSKJohO@6q8G?x{Zdy%cEe;U3|-L(W?VioLNYHoUu|&oA=|&o>kFYy*Tc}}@bJ{P z-?CR_(*5;3tD+9W7xu)7btRCjqUrGKV>_prp>Kq($FhVn0Ol$emRk7AU=o9!k?+2O4r<>M&$IpoMYG+d>`(gqa=0}4od$(JQWP#6^XKq#5*&>ga>r%74ZFmN zJrW1-d4jN%a-8O@dc$R|;{PVm1)40eyY&LO`hQmM$fa3KFTV5OE-ixB>k%1;$QZEn#qip{#N&P( zL{ewOR^dgdARv~#cO4LXmB#jjp=K6&da`;-x~(Bc|NZADHTCY}Co?^TL001B1i7x) zlgMM`>>X5!bat%TsOP>(SMbMsBE9mS(m+sxtFGEoFmz`(9uKssYSnvK^sXFg$1~K< zR=J7gk>YYlVr`3UTa z(P7~5=w$|w_0UZ8)HYri4qY!@mkkU>(!RRY(Q@~q0nky+^k?-b=Z7RzpOMM)M2NgTS4-d$jH8UKZTO}rlqC%VWrhC^;trAR1ClG5&Y#DC*W5^ zR3 zwN-XZ=7RjsvwD}sh{N-uzGb7gg15J_7@ABC6z!-*$fVcxaudnc{j{M6oc>#9}-Ss#U~&h`a{E5um26l6s~yddtvUJtqs7k>d;2e-Ck1a3c7{6wV&*SB6Qokjg7VFuH#y5rFibQ8mX{*tL zrEi9I4*x2Z&8W+97rINAl2+B6O0194io={KLrx);7FSdOi+bMV@oH;RA@$Q{r!zeP z(p_=^FaxZwIxt4j*&xg9wB^*=z>Xrx(qzf#B*UWL9HnC*TtM(YEnuU|M{p_LRhPy9 zLb#vXrWQ7ukA-4fyuKQNy-$al#w2wa4{svFjA3z*$1!uC$WWsE9NqQ(kxV+C>FHM* z&e$Y1k;WLAqjmeXV0PFklCag{DDW9|dn(9CiBGW=NPQ&qfB9;hKq}SF79h?&7PCAj zv(-cD{&9HEFW}Q0rr1k~o__;_>ccVQZ+YDn1x=W=`)t2?*t5)=6Efglz=rR%SeR^O zAngh#5g3$vbVbMCRe4?f1PU{H`_w#f(trL5Ov)2*s(G<+&7Q2#Kd ztTDQ@Ef`GL=iJ)zW_8R>=Ry{+;XZ`uR=Rlj`qDDmsOYgBX|f-8v1}i&ppS=)}Hd1ir#lxEnmP4}eOm5MqIe>j0|27?wAO zA^$e2F~1&lkUY;Xs;TWmz5 z9rK_)YmpA~Xkih)xXiwDQG_J0O0UIfKjmCTIZF_9I3&r>EE+o*VG&r7f(CKVhzNK7 z`si5(^Fg%Stjwiqg1<4ry}FrMa`OwsYBpshu(rjFDQ(-HuMP=0%}8CNG5AF_satjT z$oFsgcOP4_60m()T;}oHUv=0vnGj-Dl8GaMHM*{{lyi-Qf=JFJdqlb zh;HKJ<7HyWYgTKWrni)N?Y4e_ulFA=vP&1JG?Ow|I3SzNX~?#F$7tKT{c;A9BCGVi zA6Zkq)e&8Zash`-4aJUPvU6Ol0uz8vKyjrYzq_Sy-k-SY*X*$sxXrYJWW}H`IkPiz zbyctCHQa2_{t6#@HFx^Z*`Bp&5M%Ktp+4*dAyqi1G_17Mb92Zwv$@&rF6xs}o!#nB zTSw6=jJ@)~oEMB@fX;yG5F}vPWUPk;5+d&6;&NWT$SfVw$mQl>z!obKU8tFaoSGol zm|u}PWzhYztaPw^)`B^eZN2Tgfwm0s8hnq2@z(saB*0c1v)(r^j`hed2=-KbV#T;H zE}>mOFewRxOh~lt-`AyCwT0&2LZGYNhiLuJmGJ?PG8=UUU>^s;^)ML(EB&(*Rs zR)OP21lvdQrSoH_1e?T{d?chnS!PEhh*;Hu7pUGW<_0VoW1O)*fuYpR$e;=@hYIU% zz+=@-O+NcaRgfX5>*ssQ_H#p$qQJ`h?6Tq0^7coZkk{4jlB)q+iX~M(3wBT-Yz!cV zZ*mI+l{?ruu$S@5s4HPzI{}iX&Y0FI{&Dtft$boE1E5n-?^X;}UrgK(TBKV9t#vDK zwyhT5CsWrn4f$d;00>Cn1=fU_xUo2M?YiaQ(_F(<$TLm>>tM4=rWBJF%hKNwP%kJ)e$tka$DPyi5VDCG!x&zr? z&t@gnMc{wQNBrWU7Eu%>Wn%EFb90>R?0!K%T}nZlC$l`vA)l)a7PmL^Rx-vU1vr{5 z2kTucw4zbbScnOi#FAZjIq&qa&B&J zEAvdr$QO*1R|KIP7z@zZUaQ+ei-wj*xTjb-9(%ZgILw=9BS$P( z6Ku7a+_zc0S7ABbh-V@xrYq9_o~&$oLiF3J8gG|`gr0f3E8`RSm#v%Sv2OeLRK}$% zg`g1u({%OOzOQu{?v{+Px$I1Aa04eM57EXZZq;n9?-SWRx!`5M!^T%Z5z{}V+e|19 z8peB+M|ecY82tG*6mxc~bT-M0V}8BrHaV6INyG>s>0u_PlS|oem2EBjOHO2WdB%_w zVU5znW4k0NZVo)i8?2_OnkD;mLQ`Ld_zOAZcQi9Zjju(clUkkj^~y8|&Mxl@ zjPXxpZ70>~i~`LB!9$^q@-|NrEmAQkcpp}9m{%Dbj@XXFKsT$-8OD1-u~E1}7^EWp zB;26EBqcBRpsxeOPh3b^6KJ_yxj$Ql=w3etkz*q?(!xJtTB}Arc~DB(*qMHf@R+Ed zNMJuO25%!cZ*(^xP)?kj-E-LxdG$8J8Q)~&_lhf)h>=D4@s1ej*|p6aV@_FOy7>k= zIKumV(YpQ`827nnR}h~IdI6a52TBZ$tCk`+@Q9*sav3(j=0(G85k8aa@XKUBGxb}$sx0~LZtLtwtsPJVU@?La1e`G+&C%|=doa#Bnq z_UX{>NN|i4#z8To2=~WPEdCOj4CZGz&q~TxBi5zW0qThYrMwVjsl_5T4wLA<{7-tC*4)~poH|1(*H(HNIh5J^8QcJrl_Uw;1laB2?Y zj>PlbSn|kKu#mjX`kR7@fFJ?W9Nhe({HoRErJUrRi=0jy1xsd0f&oP3vka?Rk>PBN(lL`xJbw7#+O@kY*KOjc zl#xVclNneNEEEYDmW}7(JRmR#LBfxsx}Z4cCuz-R=m7%fzGC^f%w^R9W_EK)c|x&M~(&CXMi8Ou@u7y&azM^aEr zvGmE_y@GgTXn4z(EgLqhA08TLDJolemX1GFE_0b7Ynfq3q?M$jt$m_WPK|X!3cOqp z5?zq=|GV;*1^5~q*Fr`07fc1z3txxFV1W?Ny58Y%K-g$3k!62I0poi^lPQpuj8$s| z)j)!(AXhh;$jB#AFR$khcf zVLWpwNn$v{h>|0VzR+V0oL{wK1LLN`Qy&H*!A((H7+?^q8c4{dfLaap3N>LP1MjDU z9VVA1r?@u7em&$fP6EzOgV$j{fw=E1Vp0b`N9-0rVVwT0t`MD{z>u+u=0A!BDbL^R zk3w^)$BzByM-hifC&Mj2FY5f}GudwTU+nT#kX^ZA`cUz5&gGzt;RU&aJE#RLIDqg-W3ptD zw4$^~l5$r^+sM$sjjNaPz61%DQbJ8DBA4P&)!GuDKYwn;=uoK`Wyv_ZOetZU#nT^l zksL3GLU|f;Ux^+25lpM8FXX<}3l@hL|s+@uaFMa7B>;pk9 zUyy;V(ppuu{APb<`jhw1c5-g=VwE5c+ct07ux9nCQ>T(7vDT%TU+S?|5%NljnUc7$ z?kknb)2B~6Iy%_F5b{n~s8Y6mvO~WORFJQ#%@Z@%c(h+M-rJh`bA)aM+ythi;Mh*i zH40OZ`MPH3-I+$LpVIcfa<$K;i{uTmjQWMSgyiNDMEJ< zK)D+=`}1IE*|L$_x38xb-!7a`(lO~sDlJ$TypOwk_xhb%*EVn2fCNhj|34mT9UdAU zjs-wM0xa=j$rmA+2FisCp_cHrb`pY&@XsfBg;+Ks&lGZ@$OoQBmx!^aPXi==gU03# zc-87OVW#{$a(1&)n9c2zr%c`rbQ(ZLDWCmoEs4$Ab*r8~e|+!$?YJPZ#1OzLlvJ_0 zbLZC6XAf7bTo%OwNs&K22|Qa20)uca1i^>N;rPK$^3F4YnW=gOvnb%60>CT*tYu?G z>M7$jV@900JU;%;sLn#QTSOkhY7~(lU??x87`WrujsO4<07*naR8($6%%G9NYGueV zc}PCer0h)EQYwuuUwQS$O}ti4Qv*jZa3uPmnPFmm=ia07iOPx<%h9A#9+&W8hGp1f zvQ4P7kQ0MqAxu&~1Sn%lJ%s{SZMxh7X1F^1x*tTsuRQ^kT#8W!_@-3X1pPRy*}0H+ zm+Se)i_B2ovmiJ+U)ZF)X65L{_3MuvKQU2B<6;{kpE`1mu*aA*vzbxYG^~C8V!XAr z-8t)T1!q8+JnyL=ONgiMmvaX|k&rDh&F2Gz^9cb%`R+kYE;lKI?j%dhO!+44^6fFu zS}hnT&wmuSUl4poSf&CJ!qS`yuZgO8!{syVTVb79CMTFc0WBGCg%tDY6DPm^@?SQ~ zHmqB>a^=cWsl~CxQ@~^{tyI_=Ev3uAWNb6C3EPxSMlMgUt;vTl<MJP<(b$HmJw6wt9v9uk$x4!5RaQQV)v(TNVW>8zG zerWY>(xo0txLx1k*m<&V;p!gqL>M@L%E_(7@ArX+ko;bQ-*E5GO?^58)%l~Xtp!`* z{kykw2P`vw{jROqzIgKJ+^ORm)~;?X_?M~1WR@+eu{q-h4-1EGoFE@o8Tdwup+RRs zlzoG`vHKBOZU~6infD)@^&=v(06RSM@R+MoA|#MG?_f{h4-!y^+!8-IEED-{pU@n` zw|=_(|IoFRsBq3^&Sb5Hc=f84S1+Fzl;IdfF2lzXYm!KjNh&8#omjSPxTU3NjDI1D z+#qwgGwfV$dEOMQ;6@W*TtVt*BXBu&&JQeS=S8636tgz={#zd(&!8_?f_F16ix@IgIU@4B$Z2&v zfhU{?poLlh%sdg6UlV1_NE2yQ#MR#=_~8Y)Pd)~kDN=gfx^=z%0|$?ud@@#%h1QB; z5x23>j)XA=clX#tMF`o_)`~`90Cm*m{RZl75(R3>Usal~^D6Jf{_e)_Yf3_M*zw4h zglA^?6GXsNW$w~caZWCD^b(rKp}HD#XI{e3+2edG(GkGx^_hA5_U#|--7`Kue(~bP zv9U2jDzzdrY*@04EGc6w)~6sVETkD{7W*N2p>YnMlygJg*i!wW7hs;&F<}^8?S7we zkK6iM465ENqETNAd{belS_%sPm%{A3YZFu36mQGprp`b(n?G|@&DLb0a&!SKv{i#X z)^St7a#P?w0UC__TNZIkPJ5q+4X+W-Kfvrgb zGFsyurh_RaKX-yqw2^ddQbiW;z}BuDRnFYLajl@Bk~mXgldw&$U%g~1<7-werz~|g zBg{CFaNexH;|NQlen4~clwVkK{?|L>Fgl#t{CQ=vNCcnr5qXBDU2gK4CVh>9%R8#4 z>|742`NPh82uhG4Y_-tWF_S9Lss~~%EDK9wCe6Gl;qak~gp6XTW4!ctB3iS4^X03z zUyP?RDyc$CD%4nF3>R+ReUgc2cywiIt&kK&k+YZu%8iqsRLq-)@5>PT9({4Diu}by z^&YY%4{{7R;sDDGK$D2DPfj9i6kY;(4ou}VF!}XBlUJB7lq?4~yl)l(se&8<)lS`H z?{hIsZXrO|3xRdcq?K|~$u?}-HaNQa;IUH=pOumQS2CK&kToh&5wW^`@18D}goChp;wmzI0isN|vcO(uH_*#i~y}`>egQ^Tf$B7q8wN zOWDX`C6mS}hoiNV&Ps9$wlI~}T0e{aj~!MiVl@eePY08{ZN|U?;8@H=LrCk3GnHqT z4;ecNDlLQH!9nE6fTf&&1u7g`Pk)UuyM*D1H3L1} z<%x+Wj~)wVNgN5r)_(cy*`gAg)~*sJ#p~^Yl8OZ`W(S}TLe}eG+WYVFq!yAOe`U&! z0O=?o@YwPKyjeH(==H_<{2`Kn*R;<2X`A}#`~=t;6#n>h77sQ!LnN3W!NEtEEW?W~ zXKW$z`F=s+y}w<*dc~Cs=gTi%Xy+oLScak}Dk#<5ey#Pa=zPun^=O+J0OBRRob6JgXq zUak?&Id+UYM0n4`C>ERMy;KQ1-07ajy7fN|f4QsmGAzjYVsjn?pasOdxsjJieSGHE z3lUabfHxY3;D`WY3}&HRE@P+4r_{nqUuiZ{WoN%#Xlv5=mBg+xK z36Q|HRyBxL07mQ>5}F@{n)hVM{@@7!^Yf=r_P|*DPqV){s+y_4mMr-FS|;8%e(Mpy ztu=oi7Nk6Xv#+d)4H0rsV|%2ucx(h5M>(3`;C z=ixv?NG*Qggv%c=;2Fbl`1Qc>tEfu6GAio*^kL6~9764j1T|~93NLZh-ibUTTzH8q z*rHddrP3^mI?_y(Wy=PKTXcNq+BHtIh!|hW?_RssUMemh9_Gvzq%O!fQd;>CB8q4p zvA56jq=aPG`y{{+O;Qp}e#Mf*FNKSFipR|b1o>i9_@K#E!T8|ssu@5nP+&L@TA=XU zk-(JAi?YB9vwnKGfx-e|br2gz;6XEsnHG4joI0^`^@az}%lDrrSyZB^)u`g_drynS zj*-z(A|bRQtY>1SiwFq9=HOBz2<95)maG0ZDvO|L;cy+$7wj|n*~ux|Pr?y9BEn+E z7^}#O5LWd)hw07@=2cLx${@x&b5O|9HTsNULs zBL|M2epyLyLLUcP?s+XKh%Jf1L7N0~~AXf>kXa0Va^JB|c1z_Hq0ME}b^V7;JUlnM z%)U4I<|445hw;)WzqtXwtfvKy@ny!E)cb9yiFk2D!tpdiY^N0`3qdPTJWZg43yyVEsZ^wtN@=AFB$!yDnfIIs)H-J!yPSVbN)G!Q;G+gp_^}L^t6tcxlkxcsjVeqt#s@#S)}Gm{p<@& zy#<4YEXeyW^5(&Ls$J*{yz^ga@Vj(CzlsRRoq<0NXC&VpJ7PlktspC%r+E<*2UuV0 z?}54bni`mCuvsd|ku}a_k&>}i(k~S}s*O^jt+Q)r*~;4wo@N|5T}rLIdh_PcveA~7 z7Qbk$VRnd*loF2SUU@&~W^mAj0&!In{7ev80I7KZc<&VaL^tFxPgJEOye6@OewFts zb$_!@oNp2obA#R=qWMvWc38XkSrQ8C*t>)fQm{>vSji+wR;^sKYTf#8_aC`=_sN9i z#L04kW1YZUIGZ5?(@|YBGh*xIu^dkodJnvs_q6v(!w9 zz2$0Y0g)%HmIVS$*x&N=>IKShtSL$@MS(lY**MYylVLJHrxq72U$JV}hkHxy-G@$| zJ9zx;<8ec(HI;=-U^i0^n^JY8h@nIHV1ND;%C8CbTaBB|2xE%zxFW;{E9xbb2t%-b zuW;2N)qb!xYJ6bkvkZdf>(H6~R;{7?rU=#8O#(s@v|bs-HwJcC42>X6Nu3&TlUX`=AH{GUO;Y1X7o3ib)R|B< zG!$!c&ydWT!N~})Lf69yX@tyJr1@~*vqfas-#QkXF#;%rlu`-glgJ?)LW^i4&H->3 zAe#X~h%`+}3avF^4uoQ%FbmEylXj%6lLTsowXhkJQ%yk1VB!c*HED$c42(#PSI3S7 zZfIf&pHb9ttfI&+e6|s^kE?A*S#jFdg;}_)& zd_Y4q45RBQWF$SD%q(FR3^V4@VO&yqhNTx0ERcaa|38qQWm$;KOo~9&W2Qn= zNqrN~TTaR;k})N;NiA6qB}iaa@KMNRWKo+sTLG*oQ&yHPRnE+Wv{_TIO94Sy10);B zm9T&_6+lZ@ieyAqk--_Dzki@&%!`T4vc7Ta_OG8Aq5uF807*naREp8j!QL)OHkPin zpi7Yw@KX|6Nrv0rPj(r2$)M=Y2%3fv2o08^%@}jz45FkM zjZy?kX^~|KB58BV%m}-1AjJL(d%x%KhvbW`k*LASbC#UV(z1YAlTwxdFdBSNgk_zf zDgg2tBxQhb>1<$|)MGX^7y*JNbQBvv3acecrdWys7@H}VW@)9rw{LiK^y1a)kDpCA zsqa5{*xlJ4DO-v}teg@aA=(HRf}^p5rw5-MqL&Gm3A-?afXt*#?T`cU}? zB;%27OqPHV1V0%RbAcJM)^G9x(~-{?B$&qlS%0!ag8 zK24y0F=IW?8x3}v7GV|$Rd5Wzz?rfD=`wUmStSwTk&NSFDNPJHBZZ44!3eAcvxHICAqWF)sG7UzY%(`O^VxJT z9Dr;xAF#oyvrLZ3p8y$CDOd<5vesr;5}0K`2!YwR z?wOy=Sl;eHuvXr#19SJjxb7{kwYfc?trk1Mv?{iF(NnE82}Tx(r-VWJlcho{^SR0BgpSFT^Xb?eqdWqkRH6;T}PIKq}LqFChFDk<%>&IsALFy#HroPxLDVKcQd zaY#VDB*;Ob?E4jdTqYlHjV4Ye#3`wiVX#UoLX108W{cz~)6zpIs8t-ZmaKI-&B%!i zNgc@u$zC4rrUbcfR4kwh-?E9NMRIIiC9x#qip6#wIiV9HKry;X<_v4YvPvoEK?xFJ z1f|TG@GvakPeOvC*lFeb`As>g4YC-iSSnqJhen3+&E)Kb^TwDJt5(KQQAZIeDWrB% zS|JRqvCJ@hMg%Z?j|`GJ7@-1!Jn#m|mC#W!R$7vj6=PCIQbox7rH)uAN5WWZ4JxHp zN-!e=F9q|w)SBACI@jpNnpjIISxM(C-pwOshAHz|9cRSgQ{m%>j4+cfQ7)M`#epG} z7EL^(T$R=&nld0_6Ht(*73rr-IyzfNm#w&R_4=bH&mP==w0zmJj+SCU*rKA6W+<~s zZ8ENfi72ZQC1n( zm>lO!lEjfBixZ0~6bhKSra^`fYe@({t!b8!v#@Eiq!1~AX#03(dA~*y;*$xNL~J#N zmeW``co=9zPP3VVM#9ESpwNlPYc{3YS?v%vhuS*cDRxqjMi*=}!3~3ODdAQu8(q0_ z<&opZ?%lih^y!n%4!m+Ga#lu~h?9U8PD=wQkx7vWP8D0lI8+1*rV34Aq>U84XyN7OChBk8eaD4&wsIb+m4AOJ9hHS zgGWy=>dYj?SQiwL!NDfMBw~!3{i>UdMuPlgiG10Ri^$Be_G0$y6Ex^xt%9FPL+wne z(TlK}Nza2SX@$kp0!JE0`H|ZhW3$8=D_Jlu%rO>(wHP=8LQ8hJ$<-yAc2TQtT04gj z4S_inmb&Wg_P*4kTSWUQ}Z{-y+Sib>3D#g2e_ITOtRf747?pdaNm&FTD}bkjsc zl{CSofLT*2vOY+hW@bD|xmc)>Oqi|Ki4zqojnElKo_DGOiBo0E6)Ve@%T|tOG@kKz z9i1>J0#*5h5%smR@vv5LurC8mNGIfr6V@O*tC*~%v%S5u?eWt`gCoN|{e4JeRiP-N znB&N4ZM3pVAg#-oQmTRsS0s9wH4!>)Ttw5iCAL1Au@=PzQy0W=}qOk1@xTNcE*tLdYSSV^lh|d-A>T^TL{K8qGIAZjCF6iio_kbYxMZv;C>;kln+O0u zCnlsbmyykMF=nI^Ss8LNxQ#>SDRM>Yh z0fPi4^G?ElxLOak6=5qgDRkg)mBOEwfpdkK)T9$8O`O3wt74L}%~HlLBZU-fk_r-E zB}g*ITCt;~TxmXAL};aiz9kgU*8G~8wBv*CrxIQzm`6;I#!AEVaTW^$ zw8W$-#dn(`#^sz+YIt~f!=^25?Jc)&-z-=B|0$TMjG5$xln&EGc%PG%XL^E}@{^m6 z`?;Q^@VP3_{L-DqPwLe4gH4(tuS)Wj8P?}CI-7oTd70SQEFouDGFF8(8I}U(l?c17 z1p_focz`omn$Ef&=rykTB)M@zM;-7A#?cCRg@%jRj;&zRlQU4 z*Y^_^fOlq4jtGD|*bzXhz}j{sDoK{&Z2_JZQd{gCI(CvWrhAW`oj7~>=*iOuj~xHu z;9<~xhmIULcx3;fDr)?}BS#M&ITq-F!$%GrK6>Erksvvc^Pr)&o*pwb^`R^QRp8%c=Xtz6DJOzJbCc=@%=}Sf;n^P%GKNV%GM#rWvwd4APL4X zpqv>J?6?~6`X8JNj4}AuLPDmQg)$43W)4kWWCqFe{U;OWF5f(M`oiH8r}iB_^4)>M zKO8#ZadD8-Oj~zR5;>3wlr%xO|b@KR$6UUAp&l{dNeC+t)W5-|$ zfY|`>0s9Xh2@EKB01SZm96WU7)VcFlZ{B|RbUZ(G$mbK~iZO{rsv?BcL;}Ni2oD}m z^>Jy&zs{{BoV6xV(iCFWY!s!|lwUl5a_i>Rvu946IeYT#=@Vy9ojiB?#F;ZEPM!b@c418T9mtbEl7;ok7v|9OSuv;AhhFXHH%?d*b4`(-+U3ym0R1gZp>x z+_-%6+Qs|#?i34=F$QVM)oYh8UAlPn%B5>pFJ3x#_QLrySFc>Sapl4V-}cmnvmUT> z{`ARnr%nK1n&QHlQy0&k2Cd;d+MYRe?#xN(H&O`C`Krt3eUE5z|MqoTM$%LE$5NXq z!AuqzMwa*!0$g>?FJrCMO8S2cmXyYtQ65)9JZ0&F1Cw$+Nk9 z20eZG(uIrXPoF+{;_T_;moA*Yee?R$hY!lnpCZoA8f!9>CQ=|9WV~0vT;Y}i1;9W8 z8sH_?V5C{4T!T)78&@ygyn6NKwad7Du3ou#^TxG1cW&Ljee=eR z8@KMTHk*k>9FPSaL{M zGs5R&Ns2CAzPs<>5hUEmmAZR-Mn;#dT)k?=s+9rwO5T9wt5!C}=*ksMeE z-GF-Gs#R+ORd84$)blMXL~ohpV#h5<-M{59I&KiJjN*V{ihIJ~UAqjNk- zuHCw||IncmXU^S!`kbUPOetBs|HhFZM7y3^66BBpJEbC@4NGMmWzLBxmiUq|K5_K) z*+VBzJb3m@l}g=%gBa@Qnl&S51u^J#gf1m1|=O44nKr* zk#l$&370Rz`smd0VLjIgUWJVmN#TznX)^Zs@!d10k6ycWA+3xL5B3cY^bZdW07HX= z!0?d21_$w7q;UuW>;ce!Ifph149G7L&JmKEc^)=^ga&-C!0}pF-L7f z6+G$f?u7jj#9^?vqpkSp!9AR;k%eUAV}g-FB*^LGI7+h$<_j|t=Ab^6#3>6!!8|cB zftQeyDN7~@FRCkJW6z$PJbdW##S1Tdxpm{ziR0HUoJa6&nrW@GG{vk5NwJpBzkv{p8;|_uXUh4*o%7%0$fkIC zY$>YncG1JPbSIx;xW2MqN02Gsce{@$kO>FH{U z!8zw^Xm|jq*O^==Lx_f#4~DD1zo*-yw|k(kr$1Z+z2W9su@d|LFl10285tQJ8Cp3y zIx;x8X7#F%_I$8*^{S4p&Ys?0^wieTjtPb3nW)W6s0u|G^ghf!1UL`W>!8>a^*Yn| z;eo+<1I`Z)AQU}?NI$%P_w1Fn=$3Ho~4XQH>eeW0%c=+0|C8bqQt*tc@|!0P3LYgY^m_jRvc zJ}}tVH_+ET*pIEhr?0QOx3{~$7qqLd2Ti&M;A(GYe=qEKBLlG0+ciAc9Q}RmO))&w zRl~?|H!wWZJv`JqGT66#Xn6VX(CFacNPj=FxDD&pZ{NOi&6;(UG(Buf%oEqZ``_n=FF*5OJT>(ZCkf(TDf9)c%*xHuzhf# zeW1UihQa=hD*Czx`g;cYdV&64Fje&Tc8?784-NH=4D}8TbPx6S4)*nc0{wj*Lx^f$ z`--MI4b{+-VDwvFr7BKhv@=ma`Cx;xstIy<^+=;-Qc2fDi!g|>BdwsrNi zc6GLNcDLlTZD6QSYH90iYwPLi?C$p6!H1sS)~@bSPj}SW9kqA1baeV+XIrTas%@}^{k#alSnq;3O)BgRv3qp?KHjtT z_4N&nEE`?1vVYlVTTgGXt-YnaqrJPQ)X^Ex(%I$F(TOqUfI?>rf-pOp4zNKuHQx44 z3^Sk&Hrra;+Av<xOn~?CM%toP)cATOqyYbp~A_TX_x1J<4PoQ!?!m0~_V)F3baZs~_H^|3^$rYm z_V$*#x-jo8m)wQ|q(C--)$iYre+jP1{>LJKKAD21kZA ztY5cmcw}Pi`HgE=#veVFQYod8$KVi8SO-#Kx1C%Ii}MSEK!Yt&E6=Q}Rn4D)5n%rM zi>3MIJ4KI8u~;K|lXjS~@ZMyHi{BUXVh(|MF|EC1w2jr%Q&6_f9|n+e3Mu7_7h}jo zlPqH?uHU-(?8Wn)JGPH58)|J)@Hi=Fct(K9GGb!^%J90#a_S*6$Hw7?55NP(zu6{8 zJQ|9%Dp;EdfrpWC_zI1;7B!G_a8}{%_=FLTICEwqEeJ}-l2|gjwwbm5Un~>y4S+JJ zI!OfkFbIGN0B;S=1U`qj)YcFzOj4q38W>rPA(iDwNL0vG2(S9#VXUaHuY2RBO??CX z`wt&^@?xxjc zB$-V!3z}G$lEcfvtVskySiC~&YhCIB5I2)rL_aZL2_HBLZLJ%&ZeG566~5EoxO2B$ zN#TOEKJjN}I0+90M2N!D0QS*~OOxBTZj6t;zyor4WSL|kqnPkD9O1{BF^rF2WTeXk zKz{KuVcMp{FBMBOsc{5g*t5cspAbK2!ivty8ONUujls?+aUjDYrx_Px&H4XMDa#VZn}3rCEuKGncJacQuC6Y;e~w$) zL{wlM8w3_H6e`0Kmk8P<5W2~t6Mogrq?Tk;I0TthnCod2YXD&7NY-OA_`*q@18p_2 zc2;;e+*5$F{vvCsV$iK3ja!L~U(yIr65YV8^p>ciJKVr_pcHy9c`;uukPsRxOC~lvnLP9W-J8)!H<0BfjeLlLC2RfpPn(nT>c&%Wx_-d4Z$KK$5uW_~|}5CP_QB@_;cP4J0G zurkI)g%%`xEYlEr!@1j7Td8^_(m@y8Oys5A78n4b@S%ULw%i!9Ht%Lh z91cU+6g~*deiV)bF%bB)l4VHcGvkbPm>o-uw964$_2OtQRumvQ%2%uOKlpIJ9}wmdjVKJRKW1tTN7z2M!nG zni-izk@)O@jGzp-dhudbschW1v8AmYPO?xg$?)tX0q-Pn4!@crM)JYZ3gPf%t)mW_ zQc^RpkN~j)Wz3i_>Uy47pcd4@I0ipV??+L zORgTdlk8@U&N@up6lw~VxhWiT4fP7-2(X0g&}9ZOwpg)QY8d(k1Mr7eV+@mkP%3SS z0f*qTASWE+kDxK`NZe2CY!1}sFxX2l-e$1Q>x04qXbmVf1x+)e^P*;Z zLcyOLSWcQG)>6b+x6wVrv z5?n*Q4v~-4+%{?67eX;NYL-HeGigm>zD)gK>UdYb%hvObTn-|p*)G2aS_*U)oteW7 ziUw=24wh+dgjNfnSlmq!yq!U3`f2lPrW_Ku;jqWP9<0MAgcxJ@Z2|;+VW?XoaPOrM zLQJ;sxgwDWO)zLjT()GSy!ZI&od*x`DH#d0CS)QWf+QeW2|V^P{0T4txe?g$fP|4B zIXoV*y9nQerl`pII*P|E)|suX0^bwbGgj)9uvW{CBw6I#WG%ANEVJlZ2!%ZjRem67 zOBhEEUnWMRvFYX%{y{BJKX_*F9^PRg9Y9`A@Vp8PCx9*25G0`J0nc$b0SC|noLB4s z>6}Y#0WY4IReL8-rgKLOC$T`8(e_DJ7~L zoFrjM5a-5FCS*De@eB}ov5s0nR#wmm%_0PI>LnoNy0&3{U{u6GJBp50H9=ly*> zga>}U84)9`QHU*u9Tq7|O9C*C0h?bg@5|4ibM=(#F2n`E2m#8SY@isX zGwcLz`iMxA6GVzwI+7$~yjkweab=!4nxqSEcYAT_J!lfKHeVDI+3+w~$z(G$Y)3 zN!Hof*%C*O@85A_Phx0giODaxOawg)fzUgOc&TENi9)QB@fWvmTyJl0@9ybyj6t(w z32RtsnQ@kIFG%n#H2^sPg&HKu8NmHR)uF%`yU=x@=-Lw3U>pSm32K4*nAqw?*rTdI zbB7y&jKz?=DTfX{2n-^|90EuVuOf&b^b?3o*f16n_COr_oUz*B93bJHK$}@%1=R!A z*x?2V5bQjhpBacf!nnNy!3{yODd35R^)9(O3P(h4^re*YR)hs06gfexgo+)Lkg}`0 zqpcL*yM2SwGWL%=b{RDC2dE{gg4yL@T-4+eaHffPP7&J7S^wjyY*>g(;rJ|ZUy82Y z37hZcc;8L07G=V)^f|iV@E%F&DdDW`bPoF${`g{VqeuTBG^iE%q(D<( z%>ocjgG07WR7b6!lW8h-1#c%Wg2C@gC_BIQphwPu`Xz)jk@MlgY7Zd)ghnMG$OVJo zUmbqzv$S@|@cif`W&;RC$AXL_mfc;Q#W;F+?~Y(&(hQpk%-GyNsDRJmJw!DoUNAj- z^srcnN~MAm0>^=u`43}6jJ_r@HFjE}igpm16H`Tm3FX&CaIcdppYf6Pc{}Oe3BLK$d0L z5kQ|leL6lqJ~T9h7=#DLe2h%#V1JnbyeRYg4r5pI@Q*EWIrV#|Kx!~QkXN7Ts-E-t z9bunnM7_>T9s>u+Cm9xbWX{ag@{&folVx8w%OB!tEgr+v)zzxCe)#Yq9R)6B@H|?lVEg8vt2yR;M5(Fr*X1WYHMqI{N!Pl zrJ2F&WPAje>X11E(px~Z;VoJF5P8ib`4Ei5W)8vh|p;h`E-*(VY+O3i5*rCX4LPm^)(1S zt*wQY79l0{p|CK7;7qouS-=v{ z&l3(z6&AVbq#jx4vr-(#{R%wcUoRkL+1P|+0gw2lP?%u{)Z)ZhT{`o=>XX0wCZ z*{Xh$@_)DSzJrrkzpC*T7Dem~cwl#QbhMV@BthQ8ujw{y0&^I_GMEi>w0ixjH_)k+ zNb&uCn`PA7+l$Q?p+JN|8~hIvR2gF{mF(HGXUmr_uT&Zz)eWtdvw^4K`BjH1ZT3hIP^Jee$G ze%*BrW3LRj2h68AyhOs+RFj)skkypI1GVB@400oyvG#=Ulb5C~EiH&7-VwkWn40G( z!e*e(pQ!P=A8(T9t`>V6F6E~U#XH!T3lfNqgQv=T4n5oocV`F1oU0tXLAZ!{m2x|@J zU=W;IZ9QKT5)Ln@$WbSpi$&K>QEL-wYsCdJ*fw%+W{?HidB@cK9Zl^Wt>yA~QZ9$v z7VAOcJ;>sD+BEXj<@jp7U>07j;UczLbRQ6=2KOKV8iYULA_fb*BLkex6UdulsolnU zYl@}r7cZNWBth4BOWNAn>YRUs;F0k<{lZ$)=GYW!XsQr|A^w4XWr~EUDe4Wn{2ff7 z_43!@;e3`=vnT`;Ar0Y0On_h+IzZq-rIh#(kJJit5yuje*Ni_bycA*7^QSL0*r32n zIS>k4tHO*}LtP!67$Cx8tz)V1CepYmotpCe8H}P{nVCbVK>_rI*cJ)}sG*4b#u*cI zkm%Gm^a@-Rz|{s+E5Z*lu<3xo1;O|aPr{N%Fj=K|W&?R)(gBD3j@U9aL9PhmZ!AZX z?;?>M3Q0K}-nZr;2tA-YPgt*qMNDL~42u((n3#YNBL(#k45d&+Yy+&d2spld0f;t& z9277F-{hr#`7|)mf)L)n)>8@-M6+Fjd^GAQ<$hv79?ls6L!U$wI~Z>hX)f|6a%O=f z`1A5c=z0?5@b(}n9~JSLa0%d4PYQ+P=yx&D-Lttf~CYLY6$&97=VShkG!Tr~tSVlx|p!W6CE zY55w;iI}VdQ$sFuf&hO8mQ+WXBtQ$inE9nGrYRVMqdWG%G{sXMUs|yFflgCdlmhcK z#}I-=G5eD>!aOZr@9a2vmTRF7!^}dPEVVvd0+za$cfo#GYS^>j40e3b8bSo{%ubR7 zPXfsC$`ACdBRKZf-B_pt*lN)P&s)4?VJ752coHMFh%h1#aDG82KuU=!@Rdph6c2GB z7)`)03ee+%uqd4pp0AUJ7)bz=Bod4S%i%3N{2?NY7h%CjF?>)+UIDhQqreB_dD7hgY7EqX>t*(!2Br$7+D90c>lsMrJ|2`ys!)0dk<4lC@bvHWOMy zglWQ*h4~78KnR-vm;htapoZ@)LC&nuB-FmM6s`hrFN_Nm{JRdMl|ao)p5%{u7n+JW^3`_%s9B2^Mil_>xNnVS= zUbEo#b|Ec9{T8>7hKrz!2?FM8NJ=PUenWUc(a>ZW=#oObvi0END>q-#hOg-xW}@aE zmfM0*YdB8^t~SLyo4;54(MDiljwdE_g0bV{(T*npvrjpc^1B8%yIyJ?t8O+OJS1wM z{5{{xX#VcR<#dM8U|@!ra9hn3)+E7!JVCTb8EdF1ye5O;BZFrq0H!#<($xQ(X;eYd z00^_p|63GLRN>fwGXN$6d{gB1nvkZ-Z(SH1ZEyoahCDP~Ral!{vkk$5C%C(%xO}v@ zQ@pqqcZcHc?k>fpl;ZAg#ofIWE$+_Ae{t^fym_+o?wMI@X4V=&_(JakCsHeF@iyqw z=KN=EyTPb@(UC{w%j9FDUX_}7)Sg0&1hSa<9m|i`o!U^7x}MoAdV02M*E7!s^eM&cYKRG{6q&PwD;LfA9Cq{nK9VLuB|)rM6$J7k|>157y9Unr75yy=o%t zv)e@IpM4MyCUTCI5|MQ$}w&gpfZnA&FUN)o|qD zb_@I-MtwsC7m|`8RzS^MAd`&t9GV!0l;P**v31^wPLo}%k$}vPu!ztlRo+|O9J<2; zANCaseT&9H3(ZeID;Qyr7nk@KJMd}>QkUDN!}2$|$I<5ZKc`>-FMm!=$&ZYx+haO& zTlbjnxF0JUYj8Z+qcOFrRwO8`Uw|2zXqIrX=~}MJKIQQ<*w4?KFCEku4*$_C$3ap= zdJSdZJ$}-F0B)!thP+in0(321$L}j7juSI0u33wQdHt#dR_b8mUCi;qImSNSkHHL9 zX%I%^=vab4Nz(uw_wj{V(ZI|^-ql?>laHQEuoUv&JniH1(drzG>eVOfnx zY+N%k`!u@YMysQgXthchX-D1Jk`)D&)cL894`z|Zl~gXwIQ6sv3G@gnLhc0 z63K%XDh;edYcI4cieqR$u~df9IiB|?OdCu}zB32Ono2<)`4@v2XdUJCy*{=<--4&B z>(rL-JgY;9^0sS&3d_3X5e|Lj9Y^z^2AY4Eoy^&B%h1Q9oqSGK(CdOa!OO0y-gyxagn}C&@u!3eht}0m8WWBiSFEN&jFGA&9Q?+T?r#b;+9u-q z%j3ULK-~d$We!~gPUO_ef|BWFIUog8^OVCMq-v3te}1m&X?)h}?wBzs9(qUJmrugxF4NET~ z6xjcb@{nF)8N}P?Z6jy;yO(m8CPR(3I272#jt6lG?9gQt!KnS!d!O;XcdL$VtqmeX z7K8W(!Xa*xu=6@~sYl4$N3wW}5V3D^{4y=WvBiKBvldjbzx#hK0I*xxqJPzi!xwfRF=b^C_8#A6}SH#Dz%Qjf{-!7Ak_8Ee}MJUUvzE2efkzxb- zh)JJ=nL_@X|79I>UU4=>E%Nu&6EWA+2kz~GS{?<;5uXqk?q`Xi4_Zge(hmAu>EuW2 zh*utvo&PTEy#;5XK5-+Moc-XxO`{mJ3{gHoRE9`e zeYo3fr>1l(zQ@!(6Qmot7rtj5Lyg8-96opz=x*gr9x>(2q)nEYER4}c;QaN&1~*5F zwELw11)or2qN?1`qfa0b#@8m5N03^Vlv$#Pahn5C=!xLCa801p;GhUXChBAU+TDC~ z?Rjjg&*s|9bXjpB5&{{SG4NnfoDy_r?jPerjI?5PDuI~rQq34BAo>X?*!C*$Qz6M8 z!GsUU1f~+P#cRgqMy(;Kz4#$0M!^BuJuJasTkRe=pvSx;tzb8uw6U10r553*1=0?e z#DFHWe0Fg-h_sQFB|uvX1%Tj1qp&OT1`+|~*C3d}Sw%^Azl~T0R=u0jy)T>^puMyq z-rZALy}ce~vr=+;Cv@*%#0Q6_X-LW91C;}NLqq=QG_k1KCnf}amU_qMY5Rnr4?rXq z!z5(|fJC4M4xmNUfP9E}VN zNj{BtemedU*a|XkJJeJO`SP6pqrFM^bqPBDt_^3d=#G3B!U30`-%Tmjk^)@8r8e@1 z3^Fp#Ob>6=ThL(fdALaMMC7u_72;D9g8h;6?c4AhhKJII?qzDpJ}|y#=_8bgvlhC3lpf;ner!^}N z=1PT-O?@j(H0UUO*$OWQAD}Yq>N^FGWs2V;wBqA64{;I9nQQo1K38lYM`NBLJO~sp zv+I9e6Bta8&1aYork^G&3-g`kFgI1E4M7}mGG;_&r)Df^;0|%mF9{PUjQGu*mMZ;9 zVrGo#OHqUpr$(b3q*1uEnP;x3tzxJ_C?)%I_$M&Bfb}KlQeYdzqu)0CT0hbZkhWH}D5^TmYj zko8fAr7CA^5Z*3MlsJin(8|lC3u;2b^gRj)p$|@9id0we2$7{_zr?h#>xA>^0B0PR zo34C|8Y#joA#P!eQ`e5xGZOhAGzJ;=(VpuBNgQdr;Y(i%PL4%=P815zv<^-A97RRX z=Y+&2%MYrI9Oi6-*nKg_V7Z{VuZAM&7)TPR>5;uYiy-0q=Rsc-%;`d>I z$zA*zq~bk(@w~fu{atv%_`i4hhf?kRk5H_AAGXF)62}y)`3p9lVD3xz;;bE6Dp$6e z8NgUyqmm^`nx(Xr@KKOy{~^bwF>30Vs-2X;;&U2dE3Uu@3#EgzjM^auQ)f z?%@Vjj+y{~R0b--R=(NV?x;w0ezqm!A{c9vul2VK>+$Dj^0E0w$OfHM7_ZZET1+X(pDFu}@QW$hc*Ej#L|(RD%o` z=f=?P2ELT`BM6;Xsc8M_BAF$p2+a1;E=fn6KFPU6-5^ z;}_6l3?MGUK?q4vi^BsrkjivT9iIynZ&4_W3hjS*u@F%pgYs@ef}B($ zHj{NYG`WVkIA420fVit|N{EaR_+6o}=AeGdvC^qu_)`oTV6 zXk`);`jaCw=7y8jP({%-@;_Fr44Q0S*_od|)HptWQJeY3JjO9o8Nw7&@}F$&{7FNf zX+C~O62do;e0V`VV&+3b6?9wbiK0jg^khZRUjfs!c((y8)FeEK3KAiu{>qxO%MOZ0 z)NzBaN{9uhsYpP`2aq9A0EaYcaBoB~+z{{wx=BSWJ&|7CXBs>xtSU@qN0$f+l<<=c zBf`3I=zZM`wtg2iZP;V zOgqOExseYdN>~Uy#3IG2fWC7i>1ExI8>lKGQBf))sIOy5V)e&tHoNXSI`B2`I%l@-g z9b1Zuh6WzD#>{N600|60=;aLP5I6}Ub_o$O3?>D^#ZfQ028zu0!VdubMjRxpO}MPM z{@pM=d6UGsiKCW>>-!(jnH0BPcYQaB!jVyEIXvK(qk16h<{rji=e1{Dw?AqRrZ z1uoLOf_PR2{$v>;qf!K`aaKkNO9&zoC}z-Dx;HElh`TKU9y4AyJBEYzisF#0i*M-z%5~$092VzSwSNbkX--XLpcq%`a^~pf$^|_WJ&_o ziN=mG8kZSJwn7al;?DWO*y4^E$xB-l+xs&SH|-xKr`%;RlHg!?lZt~1@lGCcCSV!E z_JV{R!fJ0s7XvxmRukPW-WUErd|?&ACh}iy!#)J%1Lu7Fx{exTBj6g6c(vV2X-FS{ zAsGsH`lEo|iK4@?vhR~*a8h^NT^TUbO7_=5BK8pn(|Dz-nH7(CD5uq|gFJ@Z6<(K8 z0eOmqzpt?TZfL)yiD3`O5GR8eX{jvD$eB>JfIBtxO=-EtR4PRw45l(eV?1mU;v0yr zf{h-vINEci!svtHSi>5kLG=rMT7ny76p@l)w}u2^0yeTQ_Q3rHQce(Bn$2R>Ap&IK za;22e00Q!_&va^N4Pv?wX&Dv6E5q(y+J@{yDJfCTxwmh31;u7!CwcJMoXUT{QDHS9 z03r?Z+-PPEE^z$Q)r(WM{0j}GnAL@13z9j{CBwWq4krnJ@NiwiC^&U9OM4WWdt5Y{mRF_Cb4 z33j7WsGAYPO9BaiH_X7Aolx9_s!(op@dtwwz8*-8j-t!lemJp2%PzZwDXHD~h-pHq zQG3(CTRe4%7*y-zauTcy0Cx%JyZHYJWSsshB5Cy`gnq<~p2W%`ja8?t1rSuw2DD>6 z*@zmpRjHsF8S^oP{GOcb*N-lOpujP~%XpA?6^8J2rgIjmE3tnR;TYEk2ULpW8GN3m z&S(E(&G11dV1?@+YC<30JF|db$(&BfoX-g9fAK58XWDPh5S$*b@tBGR7XJM@Gi2hx z(%3OcZ0zJwET=Eo$6z9J1U$(0AH8C8W@hx?1d20h@f9wBgNKm;YbffP+?LNqM-qBnsQh$FjXf0FBB3?8NU8V7 z0h7RnMHSRaJS5amk@a!(wYWI-43rDCZ4P=qO~MG8MIAWDLO{MfYK>4KA%Wn|JUoJ- z76AN9CocA^_%C4z?jOmNAB5L9rtdWQUR2~2G$K)kYHuRMX4C)^gfdRfBZ9~m_X5p= z%MTK<6(Zfg--lvSW;I9A#Ie)%2DC=Ckc2?R!cvJt%<+q{fmAeJ7&c2|_-+Fe;=aH`Cd%{`LNWdONv%#MNiQB2~kSfGAu5LeIGLT!1&+r!T2lwU+Z( zl%z#8>mEpwTxo=I9Q)X~@SwP-fwJQu4%BR~LjaZzGd5IQR~5hFC~v&&%#Lh`_-EpO$;a;W#o&#FD-w zDRz~RdQTZP1~$|yw{yjO$*1bN~6nsj{LU31UI8>$B za_0{&M@~LtZ1G&MEz?9yTV^K54F$*+h_GOUY-;3l(KCO@0M?R{g-USaBcdO5qlw|8 ztH`c3IXhod!hK?lGogBo2fX=uJP_!Wz7o|y#Kc8J2m3tWE`_NRv(-%a8vB1dqDh?A zy1y}=7loN=U&f#pZ{G)lDZ~w_r?8Us^SSr_?gtsS#`S9VM4be{))Jes2faU)W_9X? zl8Ut9ntyIie|?|{>B-0!Z$b54T#ktq{e@SmlrB zxQ%utIT~zSW{BcYp+6a9CEW0r7*}x7A%zP!1_1bMt5r{*DE-idh4LFH>TC&2NrYZ zpu-4K5JloLAXF+0>i)w3b~fqibFj4g-*CUTJ7!%*;508{8C21`6hErN^yd8sY~$v+ zkS(cAvL7xA^PPm6aoU&qiP~0(M06rR}f&@ND1&~7B`xB%L zP^z&jwBpXXNaE#PiIgzbbmQ5Vx3^~{MkKpZX2Qt87D)gGHzpV4naRBh4+ysqUZNSZVEFo>~*4;9|Z^4W3sza z5EvfrzMo@~a2C6tZ^9#?xA-1!@VnW^51Tb8*Gl2;4cQilib{_nf07fW1|mhB0niIs z&7o$i@idE(gX@`G7I8#eNUY23p+*r3h_Wy(Y43puNPjri`BwM)#g2G&%b%;;e@k-E z;*>7}Lf2L8XMOY-fj-kDwAa}3{aAj z718lmDpcl@`u8)wXXX#=D#PRPaV+JR%!8;3=HXcYP;Oc3x5HN^;RwW&G0HnS+|iRJu`l zhbd65QhazW9G&QHw{A~NE1!fO{u<%}4%@k*t2Z?wq8f3d-|`!th8&;^-wQC0*H4mv z+ns2({n||K;zI-ot|4PnOEX)!Jj5c~SuB=t)o-@fv)6B;3ax~zw^?s-njRyxTT2_H zmi9`iCi^{e!~QI&ELxBUez>w=@0wn$yTA~w&}zgUd+E5IQrb zV7fN+6(}4)*VYf*pbE@Ih4==CDxm5h*DBFS=06{$eqju11f$4@e)C6;>V4+VdQ`A` zdDZxo;8jK?thCd8)4c$EcN%%ETzv@~f>EA*E~?Ug4fiE=S_A;)pXiD#>Q^L5eG8Fy ztp3trxaMAashVxM%Oy5TIHmHLFw2k@26F+wMQwQZ(@8w2K3pl|NFW!|(7;UnN6BeA zIymM;MQz!p5{a}}Cp(k~-o?90-Ks91zu83bewUA>ml00gfw~LkE!!bzQ z?h-^{-USmA6J@@K1>bq>#BR?oeV+AnWT+dY5x=Yo9W?|zJVWB}1>fuZs9C~#!QQ9q5uU)J%RqG4ytdgxYCn>l14I%Mc{dv&& zuiRotuLwAdUByC2LL!WJ$iCj?dL8q8t{zw#1a6vel)I9>F|qRPXm7;1NR#a1^2Rlv8Y&Og?;O6PUOa@lm)}}B%m6F z7JOU(BuBEkz~Au(EzR-z6Uo41vv@MXu+QzV`4Xcqh|=CdL7(gODJ zRFb7v#PUHn&{RY^pxLLyn75U)r7fTI?-wcxU}|h*A}8X-uvl|RkXJ#=v=lLJt!Wx9 zfK*T{VO!}ROpv()X38NRhC#;jCtES6-REsjGh9vBcBYW7Sd1w6Z6;5IQ9L4$yOuM? z0a5A*W)JY6&5ZrZRbJ@80h);l!%0d~%8)A5C0^unqzKS1p)OJi!yEyVQ6!*W0~hay z5-s{jjjI~LH_>G*C4}Yl7@}y#i8@kj4TRZ^M(6vE$0^^gi*|>u_qY)0hZ%$8-Jth{ zrOmO)F*+@z1arj|RNQ{f+(g9Oy)jMtBpI>)h9OPSLm3G3JhZ<-#XbLVI5OSlp{t;l zviV>nh-sCKrFmWySZQczL@=RYH{r~U#(a7Yx@K*u@d^E4%KK0QgsNasV7pGxYUY30M_e4cS%ta+@VNu(SoROS=eo-ZgHZ7xTg zPgxw&4tZV&1^@jsRAT4i&WZzU^kxqy8TBQY;d$>?y6gMg?%umI$)edUC*b{o*EYp^}-z*W3?6dBNQ5W>k$bk zN-~gJ0$3i&Oce??B9w)~GVAMhFcn$8Y^1A@gDc~oF zvKQjmP(@QKpJhmt*e4ppEwdY{5(9o6h3`a5=Nw8FmBxaY7n=v4Y$4BFf`sh-8I_Fk z3V}~Tpc8fO41*ZFwtEKg0*!lRt32B*WgMwm5PL@7vuIlsB`&Eg8)n+MyRK25{_CA> zn=10JaMx~Oka*Je5+thrX6x~` z1j_C2uO>APO_G{goNqRIhpX&N3A3#=IGJ!Je(ko;FBl=(fJl&%NIE5p?#aVe&$N7fdvXw2NmnyPE>lEG3 z=DSa^PQ$Ywz@`bS%eTvbW&|1q`0oaXL(DU(QoOaWeGFoPsN=6r~7mNp-c-{qF(~%_LW7O~^1pbo1`olVMw(c;Rn zp}U`ru5>w<(nA>gXIEQ1$D-8BUzI#XEeUn`E%4aj+9+U~*o&Tl*kZInB3#Tg*Dvhc z(*tHqxyc~S3jK2?{7d;ttMq@=g;Od1)=K%9)Z5k z$d8G&NES;;ds_>|GpsQ`{dOl+W*XI1Ma8OS6HV3+Rocx^1|nMV*ogT$GJ`U_@};Vc znoMSX+Pg;O0eT%kNO+{SG$e3)UVJTT%EyuL$09VY@TrYgy*9e)p^)2hCvs~%j0$!f`dTFHH~ zUm3;Fbx%qTtVm;>H8qrwx@;u*=-+MIS{mcBn}xVNyvHOU*($?!ge?1A$;xP?Qn$Hc zt!5JoJ~Qx8)q3ay_TS}pXXozsBL+KZh}}w8KLctgyN3Kwou5vl*GiPS5$+TUo01VB zacqD75Tj)n5n=*2VcaGmao{D=he&4B+C#0Pdo2`vG<-r!^a$z{RBnQu8ELCsEiH(A zP^zfS>dAe89Yuh=Qp{}e&16nHg{SS1IM&9TLr>45-D>Vi^A@bmOis_wORvV)kWbzn zsH-t;vfW^*L|+@}BgJZv@!Cm@{l|AHPf?kK9z$2L{1mI}uU{J`Esa*LU6ky%jZ##S za_DEzIrH$-eAw-1_V&iUbMi#k`lL~}*`oV#vE6iqzv-Ns8cI|~7LAGrzs&~1>G^KYfL z;=vcG?nF2RsWHo_x<6c2+9aZC`P74!M&dZq!pDTGOi#sR`fZ)Q0T>1r{TzX)M&v+z5%LV z0tv^{fuz#KIQs950e#)#dA@vi{IoB+CDLdwT|0~_^Y3(j46N}z5`ZvOdV*Hj+G(_U zyo+}}pcOz&0iZPpP2649`S(**2NCYfED5!l*Od4_>joQlx00y6UZ!RF??Rp0*FRv0 z)Gs=1g52-H=z)E#PT%LPb&R$Bq^vYgpiZ#1j>qd&1Ei^HV42{Rug{&B4n zn!;R#K%Fo%Dfx;HrvK*xu%Yve02hP++nokV-QpP~9l|?E1a(B8J(4NKvPr4$?`~)` zgoY|aWz?07u+`-#X+oFcde?mmS!SxS!c6$ZLoFIVUQp$STnx(*XD?Nuyfa`RQX&$pTe8&X@6(HeZq#k^E`BWw_mZnezKh@AGWusdm@dzf|JkIsZ9M zkCbLVZ7gkpxlovBXm;nm2zQ&$FQk7JsIyyZA~5iXBw$QR!F#vEWzU<3 z%Tm{Kr^^x=96w6Z`wc81f%m>>hYXKbL;`(*i;CXLc&qlm{~U_<#ywsl3ust_#)T|y zas(~NCrNbOZ7Ez9w_%cZSR_J)3p15l-p?#eruho?v+eJJ;c=%vFMH_*n?;&ax~1zv zS5afl_G>#Wm#H>OIo>;x;$fJ==Y?qT!fzoIeh6{C z0Cq(!?*47TqPp`WZ>hogw%~g{LJ1rbHrpI->w4ZD0@$aNorS zuGvY~^HeW4S=IBOn`n1B=IX1<)>~VD|))y=KRgkK3sFkK}HESeA24Ds`hBfc3dq6WD^a z_-xuLU1E(Bx=mX4KClgWn0MsSlK=KdX^znGv9fN{4mKPzd#$ep&-$3vMjIA|(_~p` zPM711=4_Mgn3;`m_*hIPTY^|T2munn&ib233Md`#!6(UM-1Cnuw7V#FYX)xLC;26= z?LEC5Yz`rKoHn@5uk4n(=#>q%fMR1dy>w??Ho53o^oL=5+;UM}s?vjbPkH~5 zVd#82wi)E)+O;2-%pdKmwVjm$TMX3Kxx+$DONqp#N}L&D*DUI$t~KW<<=-_lSlREL zc~@#hTGn$;fsn|z+y_~C_5)Ow6u-eg{rMfDhw8mETit!OdD;L|-`V`ukD+5@n^3M% zX}wmZ_lSxo{PeJEUz)>X`)~nm{ygU~BYZOIZ%QS;&^;FgRWH&5--%JEDv*o|Q^#H+7Bdd;J=KTea#{7$ z(n4|K&A9E=ykP<%_RL7-eov1F=l%~XlN;?TbzQG-?Z^~96?)Hcp1iHWQ{*b;XGU1^ z-Va^R6wC&--#VWZ{)0CzNPulW~Q6NPZ5m=p-n#T zyq;{OnQS*1O|ilf`t&c7fquj1UwWRuMx9z@cHM>vKzN6aODX19yfMw&^N%hM z7dtTU`i}EO(0A%JzVl(U{E*DKOD5wQ!Ws4!6Yd$`V;~!BC7PhJ+I0FX1eX6Gk)Zlx zox}7u7#z=Eb^6_*3rdD88MkYxKv{?y*K)ltoSvC_xoi?|Bmv7rONSBkEA8$kJoEzR zlkMj=i+>K0$+O(H;ITHHxB918J@f}S^;x7?mTZutqn zCJxIVpSR~`{Ku9C@xOq@B%dpp^*6wet-KJoqIuyJin47!3XFYBKpkxw4xhh2UO_s!o%D+reaxX+$i({OElQCI>gi za46n(X9-8rP5c%Mi)xcgYn|C7zx(eBhCFkl6-C?ov+QWrwm-$miq^BmBX-Rj8trZi zusj??;%}#K&r0j_wz8BH$N!ewe*XROAvu|T1MxEfo4&wDw*Mu!RA%+3-tZp^{(onB z#lzhA-sa85(t1tklRdf21!jJ!m*1q|hzUF$79C~C*uW7TgK@5@3e9T!gQ3-NxQwoD+*=hwj&tdgO&NRkXnQ&il>hKhbRae`%@rVq5pKY~lp2 zet%H^mAzadw}wgPSlFYkEkG__X1BKdIZ%Wi*524cwi@&^*nnRM5(1?BP^Cmnh`NiDkQbGCOb{nHED`ey44g;~vfn0JoTe)1Q=X8uIOwO7BD zD*^-GQmcCWcIPW8eYeNIYd>5p{cTgN7aXbhJRINeg_4vAG0Mo! zNMN6TxHN&>saI>`IQtDm)OWwXc?%zrtu%}b=lQw(DPvfwP;C}3ojia^>))>4t|mzP zel(FQG=|ZnFnE*axlibm zHSAYUeip?G5z}{?9B+Kw@^KEPA=W7O`weRgdff=@z@8O}U(6wkD8)pj74CO;mP4{s zX>iwnkJkP261QfreX%b0`g9XB%nW+m4#sM7*iz`zZgYX2iDvQGp(3(dAJW9(i?GYE zTQ}Nh_6vRcO%?8PvV1v2QYHA_#}t9cx@zEYGy#jFhd=jOY!)j*&$4~px(W0>L_cAM zeD&Djg|#*YuX=|9*?9jgRcn^z8-S=v=4Ws;Dzxmkd+Ps@FaFfNE{YeZQ-6K>Y-Vvj z^kTJGIJif{=CKo+j?b)RxW>BAP#Y3v;MaNsJ5u}EiWQgx<5!m*x;Y9@VZR=Pv>^3ChUA73I2dYS_W?W0TyrwgsA+n93rRy%zD5y>vsAp{LVSB z#iIvK$C;FWm0TK4hF!Du+g?p8o8HrZn1Etem|>b+8nfpSo@U3>ae0fWZy3q=@Bill z+%^S5KI=BYL{6RN(AYYb%a@2w*W3jj|0YifzrVzie6(L{!f;PBl{iu{^JSB#H?;L# z)VA38Z;!{!=CudTfR-P z-)N5~hncv*Y&;gfkt$?g02QdY%00?WbXYy!B&kjvV3p=Y*zKCz$<168UO|E9l#u)7 z@3Al#j5upOfMs8KgfEfVq-0?&RL!(;{oo(!+x)CuX3+8DX}P-moVDiGracB6SV|rn z8zJX*3}7+g;a?6&_H5-t7u%w#R8j`FNw-v)L+#r>7r^ zc~68+o{zi)b%j4Lo%_-rI1`IX5z3R9818ro*!%d;7R!8GXNT(?Izn`QxSmQk3`Fw) zk8y_4cKJHqG%tOk3i#>rGxnFKCC1kT8lQRkak;;0)yn_jM?ZE|N3MGakleTB8WgHo zeav-wp63t6V^gh~6~q!S){X;ffPZ>uaQviNMit+v)Q!huYO45JJ4)#H@6?>K_b z6?0BU6DGK#mig_x>wV|vjET*{FXy+=^g+%#tyS6zH?p{q-ybkTv3tnu#gWaEf1iM z0Kned3HZb3w8r67*k<3hnc|~g}R@2O6#96Ea%!LwyF9Z z4Tmb`3gR$_%J7%#966{EZ%;OhtOsR>n{0&h9l9+Jy6aAc^9l!lBdHpYWSUm4 zlocRM+(xg~SQ1{&*hwamlD{sbhR1#d#^I()DP$RI{H1&SQ!>V5y>5Ej*7yNk3GpC2 zCc{Jx;2UjbE`kXO#0;iHTyE-g+ep*Y_i|gfg4G#bFmU1XwlOsCPNq^~t?zbrkmsj=njowB)om~}UEgmbB=U>kf4b}}25}f1BuV9J)sZ7b zDIb&z5h`@5zVeP+)60}0#{whFP*sXwLLvcbhbtC3WUvaYsqH%y_V=QWxhEMyP;3Vj$IE5c9dr6iS}^-^_$l_<0=UxKqEt+TDX9 zrE+#-p~g45Y*^UCB5Z)>i~;0n&Oa4?GWY!e6bHYmC^Rmuq4Bb!?d5#c80BXu^!& zpdov;HWfNhxQud$GJti@;f&b2;K=}Wyn8x|ca-z9RhynUeOxZ%7->nUUt-vhp+hqr zB8)dG`ktFtpRjYy=fuPZ76z;&(c9F=5Nx@Dz8}~Q6?IU6iY71`f+C>m;XH}F}(~d$|p6oUDXV$ zZCfOVh;B12_HX#FW2B)a@Kb27v?PPY1u<8Sl-Hf6zEFWw0S& zS;0hz3MdJFhfx;(TpJDXhrsl)^fiHE5q@R?JW7yJ_oLfNh)uQN&2<0qg3WTdrh((1 zACwmY@`g8{PRfx;2~#*@DHgTxy;M}k`Hw~kJA8Z>My$fpvJ%lq_31_-Q!pDs(IT4W z(`6y|x4G)>%clgY;G|EhVFhH)JEqg34ExrVwbqJ!wSpQL5eM1MM;RO@A~D0eu*_7Z zU4Qp{-W~rP=48-uHJX@Tgpb=3A)#Z`2QHvuL{Du{NidWlMUcqiglTcpD`cH*rgC{+ z{e|Jq8ri+8pM$ifYUHn!2{DOHp_@j(L_iWemeboUyK(&rjzv;14{BkYE=a77Vhl(< z1M^9=lA8@ILi{;v2(5G)?#2N55NSCa8J7yd-g%nsr!NfKZGIbLfsIl1#lpiZ-t#s) zH9PzN!7_FRY*2~7RTM#Z2on#lO%|cLgj>&b0WW^a2Zm!f4zl_G3=&w}pSp(~>{*c! zkNX!nr66YW`)v13ZED{j-rs2Yg?NhJo*_ji;0Mn>i%aeu{`5Yl%oxM@@X;wubZQ*BGZhJ`#Ud*hp$_zS{ixWh1;K{^0 z4ZHlbe+W6UN>C=2+6|LSOmB6{TRi@2jy2aidHs71@mtZV@tXmUrb{z{UEg?z@AIAW zl(55dRZbUbz4JH6!63BOsMK=WSHN)akV2M5wQ~L3rJkbD-aHK3RQiUS{96$IDjlsQ zJv{PzJcz>7Joecu+WDKiNw-K^=Jr1(wVzsr5|OYHx4swhnfYr6%$&KA1O`moOokh* z=2$5_iMrm3(hONOo0zjt5(%(&%@!UN-4iE;^whd0>a9Nj?xp!D3k z4D>6Lp+Rh44~{MNhzO?}&$r@*yNss$b9BFKVR{VI zm@vE9Cb|AdJGXUKL0{t2*F zFDFz8U#N0jg)-#1eOsDq&)KXMe_jn=bYxa3uxLPqr!YdW2}P40DHb-4dgo*c5B0E%601_BZitg6QTJDT)0NTPv7Ip{> z(wKCy1tL30x8xF(@r!5!v~ zAP(2FfR(?hr9u}lQn!#F)NVICGB%m{xEwQ6R821I*9R@lU3|*mf!*1#L24A8f9&$x zA4JQ3e$lDt2x8CqlnV)N@0(tkU9EB3;O(EvE-IdC7{BsF|Xu8dQ&We*~sCZ-b z`7k4du&%tsR2gR2L@M%H6V-JMpR29RaFc`oQ!c|^`!Ux%rZ_jrfA`-0gu~n-0C4f6 zAv&0JlRZnBErAz6I8?WSwhiOj<}P;nJ0)gg2b~^fTH1y_C!?nNY#DTV-R8J&aXD;e zE1L|to_#aEPOH>P3N?voNaZ+0UqqyphMl!yr4HF@`I{c!-H1XhoZBQOCE?tLtWc>8pr;|4k)Hhh_e4K4tz8I7JB$dZHT=T= z_8|g*7vC*E zE|`Zi=h=Jhwf?(bkvb3<3g=}qk_$PX_CytUAH4Hl@3g}qouY97jIe)&Ux`Q7mlqvV zEbvq8?)#A>Rxciu63EIfW(%PAg@!Zif~V5xdZZM&>i&FyOi$2lN)=CChr~X!dhM>; zQeD0j6yLvmp&sv=*m%k9c${speXh=ln<$vaJbJ6bden@W@3+~D$^Cfn)kf^YKa)1s zHL;TpvF$UmHNR_?w_h#|!_d~;FVt0oZn?y`Z&nHd_kVxiL!PBhP0Ty(&}7$$$~+{e zTKkit?bdNM4=8^?rSNi8KWQrLeUxLDKf(cdlgGc+9+^N6AoeQ&k}RWY`q50;Sfa~H z%}sZg6{d8Mi8Hb^;l3(sijD0MlyGN<5x5%VL+`4wWm5i9CP#B(*z6mTTIyp=$@}lV zF80_aA>k+odd$|C6+siCu)SJEnv-99E*DTlb3t zpYCD7Dw!P0Mw8jR+rWVOH{4}KwYvTKp1t~Ve;WB+%?CR9?5&T8+F%Z>8pq8e^YE8V z-X5V=MZxEY8i_Y%6#j?8;ipsfL_W&7th>>`V`bLlI2)6^L`EWQW^! zHi!<)PvSAYQ)%zisd6{pefpnbmLY-M@E~6n%nGp@d?6QqT;ER^1j4t#k7PQQS-`{Vd$%0W6 z0I^Ef9&fjq-6bIw|DgAR7&Tw6*Dj|wpt2K3#4cn#oDAq8*!%>e8;+EPjov1zMqaZM z!asWIy?;I4T}VFN#^rx4a7Ds}G?iIn^KUsxiQ5j~nHu#gxEM6q0{aJUFVFt1xB-$w zUiM?H4`td?9mlvGl)fOCn*+GH57r*$tdb-SS`VvwT)0|;1$RDDTVAfNt{wq0h2M>- zzf8RC>vSP4{UQp@orh!sl>CCrXs{U+ zzyuz+qvEXXB<#AnzxX2<7NaJt?TF31%t@hg)hyNm+ zFRKdQNc_@zKV{2I_Do@3P=cd|pW>#(_vK|$#?kt^k{X_N9)na_YsN!35H5(jLwo|+ zB{J>-C4kISuoY; zG&$QQ`TR#GYQ8EL+{)N)Y@2`B2&2-yBsn}O)KnAYck>ob0DYQK{I^8+_Q^Z%qd;4jY z3ppFVz;XBGcuLQ}QA()jRWObiy*v)x47g#(K1_CuwmS~PinI)b;D}LNOo%TS!e$*l z{X;-`%wro)_f7jMd6&~zK)g=*fX^l(JUP1Fa4b`y;(UjlrL4~L{O7BB^PAsxpXUy4 zrNg2GoZWAM7pb_%mfX>N6@}CK-ED#~TtM{k)U3nz!=dlF#Erz_Z8Vb_A5x@%RalK2sEL)SXbXEei0SDi`)FIduhkE8MPI~d$Q=CO{LtcnnS@v%xhE*gq zsM8`&Ig|=xMu}G+NisyKCp<8D7>_AAwB6b)S8oDO?ebtrf_*m`!%4rIx~W1h!7(wN zEyr2&rRKwLe~&+mSq&0ju5tiVh@i!(D);!<__#$$7MJ0c0Z(2Jqa_D_pxPL*!Yps4 z(IBNUWch8DslQevy|IAU{d}%lx&Bw_S$gvPsg@GX>A-x9H24(LsWN?cVe9)(bKe(A zrNeds_Ile*{>WNeo~xAp<~UhW$LZrCV8uR}sygoYu>Ss8#13SJuTDHUdgO01WbD@Q z9dO(?xh<`htT@O_;Uy%AmS|MFek~C7Uqo1~7Mtmf-k*~ll)EmnhyPiLjrCbfhTNsF zVBx$$NJg3mN0s}-K!3nJbZiI>WGT@QHi?%<3R4a7kdYca9_~WzyLWw2mqGi_58>0& zsp%)mtdy*3O2o6U_Y^{|i}rJGt@6!J(_K=gq^}bzN5}Y!_LMAZ_I6mfVTSMa3+wZ< zMZRnGl|+6PJl#F47AsOk`;5|VJp*@PWpp4wMT9`D^Z`6@x{ z=kvKV{%_RU2l;KT)bFnEvJ%=Gl(*?qN7`q~R^|8>F3wRe4}pZ#tl!PQg+gha&z{r) zmx#cJ+7L;+>JGSZU1@ExP3XJ77TIoo15~%&bANw*XD2FE#2}{z^FXF)`M$cu&6QH? z_EVH0KvI4gAxBY8A(lrF5+absqVR+zwmQ7A4nY8>LV`A-6#>keX6VG!t7A_RO5i^JoF*Mwc-mRrlm!cC*$$;Z8$8 z10A1XQGy54l@AABuk-xJvX=#&SR^gv_LnXA#Nho0!XLkLvFoFZFIH$x;@5jJBm$85WHJ%xM{{QLf7y3(#X1e18&VXCO zP93H!R{eR*u>1hu$pG6)y?BwQk&$skV}KLD%Rj^06q7_o-#nnv2Cu54QK(rRIE$$|@q#K~x(dX}thkhH z?SE31NnwQXC1-2!_-J#8X6)(&-C4eNUjnlFg8B`Z@(&Iy<;Jh#5)o>Y8Su?&e=H^l z|GvFHblYOWBBTi^t#+4ha^CrrS~iMOG{|KJs3?9X9XH?Ix;h@u$JQTC`%XF^{+;$6 zZWs{(1v-`d9 zJk8`#ta+(V$R94N)A=RT>la&we&ucJo61l7HntqZ_vregDm!Dt8nC$07I?^Jg!lio(CpjDM!i|iqHH_xiXz7&f-ol6gx<3D@i zV27Z8QE0_=w|)q)zcWVNzQyvhCmg*=ps za;=U`;qREn@6Meshs5GyHzPxKCZ1O;!qkew)2#$?%3vZ=?}X$!*(e-}g{OGJGFOGj z=~lzIOyGQ5u9s`GOhw=Aj+5yC#+SbL1YzwciSFO^x!BF&4OzLzJ4dboUUAspgUSs$ zKLg!D^iUP``+*ro8gJ1mX-?afi$ z$BS=*PJxs_;P5f`aBM}1)Y?AZPc3IgO&4e@j z`eCYyp$D@t2Bd@C$-JAZt;sKM^2mK-bl!-75`X$ov$}}A0YYd(u0|CS>-GT#9lmYe zu6{31H`Q&fy@^!0%WyH&K53bFDzW=eOfE>pkdIkcpxv7szKEQN^g>WR8Y3|0?FyXu z;G`FHaWNUEZy8bb>^m?zK=Rp-+W#n39&?i1{maRY<%&p^Roh#3l7(`;UnnEnZC=am z4omb&Z`wTnQmw$NU!Rq3N6>F5j%IMT`7PW}N(P<$6gye1v)QSo5=+(Qu$e1{D4`!a zU`L!O=z&f2x=Fimwie=ER%eifP!r<9C7bS$m1Sqq*zR9apM$z)Uk>SUo`TpPzeq=% z(%o(9VeCho^*(kZItbAsY=9~TuP6FvBKJbgZEc;M0oBZ9>F+)uG#eyRIpPyjwrqn` zmR%EMorK*y1hiw>nxl6O4R%KLry|b;rIx)5$ALB-(l4vj2B#WL=dx2`ksVM?XEAJ5 zE05n}r}@~gCbxu6qhDz_P=_STIF`<8_RYskyF}g=4!Q4JqnP^={{w43k{iJ~ymVhC zLa9`GyDmCH8PPq$PuYYI-^hAn-vLp|7T{iB=wNIg%&g~sd3!G}vA9GU{=qL;zFeKu zQ3{ewcwP0G=erMYFzf(SDsx1Vo?`ezJL6n=-LsZNLt^RvL= z4R~8amb^o?xDpM%^_dgjbStb^=u)Du16j$e6hi|ft!;}tS{>+Yun?kocS-&}Bl9^& z7e$8r0((%`DWNw-D5Pi&f00U4z)k0D@o(Wf%MKHfb~af#$Nw0ret^%&$8X7EQ{rx# zm4U~tRh*3xV2!-q*F(!s5A38=ErTC&9%FD8 ztayyFZfyHR&VwnVUmD`Io|Vgj#RL)PIannJK9|)|ODrrpt=2Kx192H_TI~i*?}(#Q z)#v2C74em+2#Mf-*uoCrW+h#3vs6N~uYI?p(s($R*pirD>{XGf*ku3va(HlRw3eYY z885Enq(&XKF{hKQP0CHWj>KTvs*#D+NleFkFeBmM`%|t$#(KLr?Dg*3oS8CbRZE%T zZB4P$RHFzoUJ|bjaD`Q3Lh;m%kjwa>`&^~z_qSujfJ|}f!9>nPmC2_6#UREKZmruu z*`^k=WiyubrF-bCP%URhk#ec|AVo2gO=pm}*!m!K^x}ts+NS0qqd0fb6T+zd`sDC1 zhYmbGq9qg;FJw}4RwI+mwC)TK8&Ghqm!{^d`zckEtw!G2s9;`dY_6o#qL7S@%3UVr z1j7cvzsk)T-<4rZgFlXZ`t=Ty-!_x3D0n*I)_k-3|60J`x3~^7e}*x3M%g84ZD)$+i)wI~Hsazvd)h9 zY4J`vC3RV`4lHAS^CRy8sEqHRN-(rx{>-P{J5O{X(b4E(>QlEC8(BnAL$k_G?1Yhk ztQXE0;aK!are@$wt4VLg``{K%88z2%C; z&V?mDLte%ZPBb<*ijv>8wYTHe`Mi8uM4z91m;Hu`NA`1e7-0cgED^UJHrkmAQ4Urn z&LiE|NcD$&Cu7DqBD;jf$Oy|VAhWc&nUE_m5_NDwi|E2;60Wr&=!us4+4IOW6%M*h~B)-eJ8*UXQ}%ZB%t ziAt^a?vgvgf~y&mNm5u5%q06No%(nAG@kk=Ya(_9RKjbC^*So31x``4wuL}nkhHoz zk`?Boc5o-r25awn{^Q#T&%bx{YrMO(yU#QZ8|$rTFvNJI4O-F{HsXNby=upk0%nqH zv`58`nvG|A4MbTZ3uz1#NYaWDBbSTZ<%vpJI;`+QJLsbuZ65s|sG8ieEh5gw`76_b zpGZ6u2>mMpSeuo4M3M2mqooIW5JSxQ4T{41d>@of*ng_%g#&!AI2DB3tE z*cownSSA`WC5RWfm=41ti(K@!phLz4k6j~4YKn?2G`TF?$S%Bxs<39nQ{xIr&%=*- zusn1LWNt0=|MZlOqJ*F#V`Zz|mm{4%?I-1967p1hrNv~B=aG7j>-G=UQeq`xjU<`Wnc!R%WjG>Ehrj>k9Us%YjD1$8)osk9;z6z@?DkHZri4NjZ?_X_c1{(UmjGlOn z5z;f|$vU_K_W{AXn!I_$3fDa;YiOm1-{j~jd14D|va*;NOXw4A4yQDB8I__GqDI;& znOxFIZk3s|VfZ0|qzw2iOT=l(;byljEo>=sMwni|aJv;?;4~xnT%b1Nh1$Mfn>W3Q zY$10z?Yi*bVrGO-BKY?}Xoa#9ayc`m=_nwZ$*4H+Se2ZPN^P1W*BrAZemm;PA!G4OxAaBU zkcCkaF5(_M(`sXs&$Z*r@VqJaBS*rC{zgjhg?htY^wJ-pHK7O{NdrUM3_mj^yWg52 zQUz_l;#&NY$Xj+j%$kmy8|^(WuQ>NIrZdcV23>aNVVaH)RZp#0qzrr0EQ&=~nAc&Z z^tS|>iT~zl;&I}15w4bKPOuu7^mV}SwDYaUk4 zYph$C!Kc9clUn8DNa^$)F5Wn;p^7#ezEUr+d>)1Qvl!$WLUjNO5rLE;HT*3DOr0eNg1@_ zg-*$^k8~`ekzZBmgb46vm%7*zKHYt{)|m^szqwm)>R#u;ixZd$`o2b&aYqpidg7GA znX_N!53cO)D;2@41A+HJJ{Tb-(^4~+Ua>zQbUE?+-O4`I$woFa)gBSM=03VTFNVs5AlhA4?(=Tvj3qeK_9q&M;tM;^Rk?(AI*V zm)#+M2@7Rqlwvv-Ezp>JR>3IV$j;&lAVhBxnL{MbGAYu1YQ%ViZW|#f7>!h9g_Kf% z%6*ac-zTS$>Qkw|)xRF)bGiqSwLqH9JgwVFM?<&o=v>fsoVKKj>Ps!&66e#XjKLh7 zLR-RN*Rsd`e5J>OmSmYb_I$muy_isxpOy%!%P3wAw94hFDU*slE!PKx8KD=_4^%PTOtIf7D`kkVLkN2gOX3_NTz`^d#DGr5HS@1Fr)oNAAcz4|y{W*o(AIt6#zDvp+5pGPkkbTH zYK{X&0^%QEGI&s1iy&B`*bY1WR^`145i#P?OhgJ8$}s{+k*%n*6!lb!MhXsdA(sgQbk1O{s$Dy&cr$%DR*!}6Py zCD2@`J6$Ecx<$|;G!)E!i>|~njIhLvIckpRt`QWmD5<#HlZ_xQ-&;`9)202aO01N` zN3I^rRy;f4JF&GXrl5@@f3kCa6b>LtT2(~P`!%IB#^~GM<9ws#Rq`B%!5i}v0IW* zFVe`7xv!{%prV~tCL%N`_HpE~I$FeD-uq;%+SmUG6EFfyIvu%FqK0KL_PgPXkm_iE ze$7iB#YVcL!ayx{xd@#%szy~UC%X~RfiWP!_ZoAfK}3w}#$h$a<W*YqVuAc%5t`d z%x}JS7Zc@^+wVUd2D5eb277DWABtNnqG@7!z7@rRfktMhrnG_W5~!W38#2b zEUZxA3J02q(peGlzC>{?MJKh>aFnHe9!O?)q0(RzA($SGm|rwM1zP6ij3xx`n@V_I zLKVsWn{t)Vz-i+yyV)I^T4v3bpRu`&r3_J3*+x&zZ{YEVG9lZd*MkG%@!l=!a1cp3 zvXp9yCUZ;?lMykzlWug$%|^s}sYutuxL{C^GCun6xB6o)T%ub+tkp?Wnm4bR)gkdQrZjB0soUKh2gZnm#4C&|tOokWyl;zrgY(=LJb?lwKw4^3as;o8PZn zg)|;;VKPEUlYdImRvs0BSe4!?!+h&_B5X$ zRy4nebDk<~#%JyPn*+PbI64KDjd1$9A2Li?b~+GhK-)zlr7?w-#-xOb00sS}KI!?K zitwd)LmxBln>$2+>#`dHDkR+b!%%l2z$I>|B&)Vh;Ohe6qWc4eisk6eq}DdaQNtE3 z^cDtwvKgp&sengF8Em1^wR;YWsWnd!C097jH=wOAhe_}b09!ugwM(^%H%ftd0Z)+;!n`<5E)pf`hmP>AOB zFg%EqISG)WY4|qnsxT}V0YqR(pQ!juP&+gWc!)Xpkk#+4l#%}9SMp2s4WPtgw13)#THM*F`O zK&TlL53nq}of8m4AymF1ZAwvzPJSceLZjuhDhcOl(=-o=8h>n6d!0Q{(rP%%OOa^a zg}X!7kuuE>CJsnV8>w;#RKk)WXhLDt0ytz7Mrol4N>icMa|=@_X5F`S ze?e^E5~EYL8pKU;Hx3xTYL6bNBNRntnjPH4F?JyiEfz{q;3P+G6omv1y^YYi zp>Yk-#m=PPN~<>yUR_DOMTqU?S*GYdVMexbA7> z&*B6U7i;R3SR)b=X7p6V68opZL+Vh(5L3kB>bUkXcy~E?lc^XfZ z+!GKkFwFHE6G2h^r&FfTSZ68X+cE_CiVt|`UZ|y*0_YJeA{lr{zA~|zF#8q{O9v5; zanejUY@=2)7XWoBvD>CY*%f3oIl{2gTnr5d43;5%+H^cKnsH?F#8qQp!t{5Ryel!h z!2X6tP#RXF%psU0TFIc9(>4N@QiZVSA(p8OcOqi%aTN#i7{k~Oe}}0oV8KoBEwISBVNl0rs)mHds&84JvCWssrWS5mNF!hmR4Y$c64juk>N?p zCDipwAzKpcKxwKwUOCN2#?#FghUMz`e$mmyKp=vmsu{zNhgI*%J3d&_Vz7+h50)Cl zQw~|^=E#PjQ(&z8Vvtdvc^|Qp3}N5^#o)Or!%AAWTcLEE9M?Sknrt>GSczOtj8tO1 zoRsvGAVv^-8K>@W^h2keVO8>sJwU&G+Mk?&xuRj$dN^YimvYK;v}O?@ZI&}h(qg%8 z!18OXq}5@nn$d-ykjq%WM+U3CBgxtwSwgh}4B6In_uS-$Gw?DO!_2VAQi^&LMFaeu zdI#HF6uQPq-9c9X=6`r`AS8Sry_@bm6 zuRdub@HTC~s$t%h$mA+19(+ZL&v)s+`3l%O0hNmo#maEsUgU}AEtIRMX@H)x5Gt=E z+7vR~n#PM+x=Vs%S{IL#z4k6Vhvpf}5*5E=huTQF$$hGYe9Gu6~ zC`GHPBFyB>o|0y@B7_xQg{Yb5arA*|re9mBT!o>GN`^58omF|UG$DF`=iMuyTF3Zn zBxER*793^6sx(Zi*;`kL&mXr>QwbZ3tFxCmR1)%qwE+SUe_gliAQ(!Ag6tUohSP}- zDWw~y`yH|zc=*mj`^4*$%uAx&(QNe6#gXiK?k`j()i7Ev1mrPTA|adl#ZjdXgp_{4dY+;2^9n!Bdh^^!f1`oyVOnu|v{1 zTv+0l5Jwk0ES%S4J&C3^Gq<`n_Nlk~@hbwslVbPGT~e^19s>_7X&kM;4dhNM`ZO>Z zB5G`K*DD^%W561x=oey}mT%ZgI>)0aw2Zk3o`Y&$dt(aVB{bBasM;bynVbd z7IyPa7LL|wX!y@Jc~OuPmrI29K>`C-CWMg{rvmE4>|!3qPe1Qi+)jYOmhdYE2_uH| zQK7Lkj-?zne2pi|-VIsZIqc2KM4Erj4U!QFC*O5G*^cmg7JL%)98{g`YWBEl-MZCu zZa9}=qLbHF5{H%NFyc^a8)0;6TYc3xqJIMl<-%N#>a$thU#!{&X=2H%sK60IAs}!# zrUF__JLqDM^Wj+x{Xn6}T)W#>$~|t|I8>Pep%}SxnvRfgiVl0w0&{AxutgvQOPZ(; z578NkNXMr^%&1p|x0ozdSAZo#A>L_rH-VzS{Pbvih{o?S#o?s$>Pr~=8f}A%J+wPT zs)>k;3)vh-AdMwwq!`(6=7`Rcq($#HNDPfO+V3>-MG8Nww6QAv1TXxWuDq|PSTf^o=fan-TBPT?zL|%yPtj;5eU{aw~IJ}x-iR#M_}CX+nGj<6#tgICNB|2fAlrO5F0f@`|H4FE?A z_~z@*_X5My(H~z60`3p))?XTCxD54bS8Hrmw(IkMPN*)st}2b`h%zMF*mPXa8w1#p z-zmAm?x!0C`adAVu03QOs;UZh0?RmppQa-X4U`01f7ISbOrbZTs&rahD)P$Al$Nm5P)cG2 zn2f3%fDn}{!2Fs1lU5_BS#A47{wW1=iP;(2MUjHM&f!us8Vp35`?iKf^C2@vC87i@ za9QuqYvWTq!7dbGq;Yl_V>q%L$VFHuKPPe}Uve_O>&fE5dL*<9WkOkOac2{E0H2q~ z3o@=>Clt|zSBf>wvF~6g869S<4!oEYSP_YG%F;hYqfoF4jFMGJ@hf`JDZ`}fWK!tt zQC<%KYK6cE?zB@#?5#K=`V{1N_s{Nx-}MqY5FE9!4XC$10F0imJ?B@4?11t9&&LJx zK*1cPQ6E%Q)x+q#SKkulzs4v79q_ZBBCE>~e_4a9Iw=kEHfDtZigQX>NPT!-MTSkh z?4QW!Um~^uN|LD?Sv3N+(cQw9z7#5*>EdjRscWZ}YBE{ib?7qr`lj7xD79H8lqsBF ze7P2k&59jXZP>I4AS_I8e_4iRxG>KRV)|!hKPoIvsglcD8)k2X!_&<={Ra|+*V<3N z%gd!4@Dy;Wvd~~A5*Bf#^Nn;z35+G~F@@=y1vmkeH=Q4(=x7ObHZVPkgQLZan;G`% zfUAiQowl3|4UA*gvLKYgX%bk94H;q*M+`_;us=!i?9X{Y76GiCPLp$<~}dyrzF>xiXyp2R&zv{;k9 zb?Yj!gb`hj5Odv=NCIfDFohdh!RIVa8^kwdDNez%-M&HxDTF@9tfPBM9a4$Edm#w< zD0iCE_kvCjmq%x}B}qHGI~bt_{lAMoxURe|H(v*`ix!fqcT_gYs1~@FX+;WxbWnhb zUWnjtZpDlcs>>SjmMjuLn2F=JjbWwI!*p8XZFKMzKyF1xsOBtu&>`hq1}-*3euc^lw#=gHsXWyL^_FnSXoUAZwcO zG2)}ICpoj=$&%8ST91sBMm?wEPz~`#pMbtgAvzl`6Aw_;)ZoZSVG)jGcK`m$(X*&q zDC8SOIE{=2(&pF|#kqcmd>8_f*ZV}IU>j;Ort*Pe7FCw+oIhM~BPt)AU>awTe1jWb zTZb<-QX3`!a4r+AWqs$6=>$Uf8kEp{rt&0cXTdRZE6Ky_9E|9M$^>M}MsO<;gd1OR zVKe|DmR=P_UN zuaOJn8H6%ZVicw$8pyPFqcEkKDMMfes&euQrLi*(a?y@j-&jV=f$>tmOK+9&Y(49OOxOS^VXEqf+xV2gz) z(|QF8Eu}J*R~`D@!rtcAB^^f`q)wdZqJ?-Xv974Xaq;eAx#@(*d#jQr=w4(@sj0lk z{29eS{dG*v1#dj&4#iq<_UJB2nHgB|Oo-JxUg@tosqn)4B5DXCy8&@bx%Jq*3yF!( zFZrxQ24c)EBXR5f2#tySi^n)_iPLUbAk+XGdXv{_de2#kJ_duqhTjY1B^>wnO4TMK zu46Hm3u`a=Rl0%&bcBNBWof{nz$6< z>7;%3`l+eP-8vMBEy8Q=PwdrQA?(&p^$s^xGN!)B6PClt7g^ONl?`yJs2(@0yVtvSBg_S&78|FWxlN&*#a7|i zq9~pU6OOUk_No=k60F5%vff?j2+IXHgtt5@|JMSxG_r0VP>8cPn)IU7g9sk=?p{ov zCClC?ejyS^wFvsif_$X$l6Br?7jh{`Dvr^P$q$kaejQIC{I62@w-@JFW+JDJf&%JK zBzQ1M7Tz>GTg2`I{LmoL30;|Y6{}upm$65|h}VHTg&lM^BCc9zZG}El`_;Y5#n5Y}{nsZ&D&-atT9P$sCSuvrf+%Ca_-IZ+7}ldx@{i zf}N*@DIPWdBXJJSk~0iK(6 zDO4(J0TXkS418U2g(KdfX$);r)NvAU?mJv(@eAGb?UgO8_rr zP!WE+`L#gsF?xQGC%%PZeq6QrEIxb>bIf+-$zy3!^08qYSB9N`td0s&QqeK8@RZ}z=ozu{KQ`!n7MWQGI3efQSBSCMC=rEzkQ z)_1evp;~R+jg?j*e%TPfLUCvR+Gn@IZLYxTinl>WinImcLP|ppm3$EVx(AY ztjDY30b#ZFf3fUU-4X|iH2$O?@&FLkn;icYfRV7@9bka?KuKy}CUF~9b zJn-G_cF0~|ki`A|wv}QM8NffL(m7FPN;@cL#M)c~OOIc>022fMp2pFHz6Mv5-G&aXX5O}eF$BrZ_-Xbh&8#j-TZE=?zmpgb!|TT?e|Z{ z)Uv~B58eiNr2&YL@1GRK!9%%m*YNuYHrgn48>&o51S7sYd%l?-+|yjZ=+S$%eC<$ictGiW^UL0-!Zg*T{pdP zKNT%L;Q{HC<4P@kv-bl;SsI^t0;l!Om6b_53xb~S`feouqe*B9_+Hvm^1z*!9O>Ec zfZDgy5J+Pr2%CtU&piBV_q&>8r_5Ylpy_(q+)ny=>$s_(1t70y>+|vDGOw7gZ@cI* zO3;I)lT!(mA|TnDr1tOfa9`hUl%|Q=+1R9{A1?f80nW#@?RZz`jo3uYP{s)f;Ajkb zdCo=v2sz^OY8=EmpGs@As9;zOwDDkdQas)(#t2ais%QbDo*x*xUgC=#Rx6)Bdj6!I zvl~wCsXDaG*!(>8Rf8tmYFa-IkD$Tz{dl4&o81r>z(|n&*b?&}cqiK`vBIqKlis&C zd7}1CXIld^9-1Iz(xf5Yx4|!E!M}+R?mJ1=XTNQNWxtg)fuBx?Y$OFm>jEoV-z&TO zO1HRD!ewYK-o2ah$R4-|?Fowln51zoQKcEVc>wi$zaY@$Cr3e`?@tnQj?aQtyMiSO zNu9Ri0H6b??J1DM+iWcv*rON$2I`{ zKxVJt=^t?cIFJSYr#*rdd%!KNrlsM)`on(O*}~c@ z$MHttRsX{z$!dY#%r}o=Ns_rDPS?d{>j`;09sv80pQd1>s*T<6W}J*av)bh9D0I*D zlh;^QTxVS#=^M5*=5^7>&v<~Bantm}8i-pFKZ%oZaGeM!000b)a8>8uPiNcAukZJ< zus*wpNV{&O>%956QKb06&W^yAULKW6#_Q+c29H#~8pCijOTs&~@Cx=EMo26*0b>OX z|Mo-#waTWFbdnS+L1ZDKMiNr&U}9SfuvQ>DnUvK&p78b3O|eEI5Cx}x?SBh>JKAwR z%C3e#%MG4e`>-kk>%}fnOag8dE<8r$Ab>pFaX)x?0z7+*PSt)V6HUOFh3vnG+u&mD zLL#NedCCxV#6WnBd+zD^7`NoZs%JI8Xd==#1HjmB#9St~-A}lISHJYP2hHNn?lzuq z>+9>8-!!|UQ9X}7-9_|6c3Bm!bWh4aT}Yh$2&jHgsXL{HpqaQ^sb_2cA^wVG+5%4K&! zizzcm?e8^CHX zO+0bN%)#@F%n!H@xKTTvs|~oB)$p@@UhT2N9!H5HR1}nW_wV!9T&iEC9wn%=G`{<* zczt|Uwbrixve~PTW@@*;?Ti7vhE}nhhtF|ZD`nFBa+6z=_pfiuZ@=#zjsA=sLIn6i z2MemiH~*H_Qn$i?<^?@}%(1aDj^J`XH_DwVrCvm{z)B^Qqu>`Za-IQ|M&tb6zZx@7 z={K*FYl#KI%ue%I(t9N4TtCOgkSnY!wgP;wIgDEcUYq;h_V|6x^Ve?SEAzWKDnja- z&{FSu`A32EGd+U?9!5DJFf(UL5X8?a#d!PNaXXr;;3v&`qDvT228tZo{YO+f3AY4>hP)%VC<4DvyTq0nVj?r>gZbtI|q3@Da7 zF8wJ65+%7Y-0^M8IdpLnkJtbHt``v*bpsCJS24WV)A?-M z2mbyj-S1{y(i2VV0UDxJHF*ifLO?+x+Z<{m)N8*`$1Uz=?}Y>_=kO}mg&5GKB0wLI zy+o9x*338M&=4&ERu&RMD9#terQYCS{I9J2jVMk|sWWg&rv9Lh%9A%PBz9^&GcsV{ z9l7vf?@wy7wOI36$4v-XB&Z71`EvGkTjSMLUy|g3mw%R{pd)pV<;`T52^h|~0x$T` z6G7vDdDbl*c1Wprl4kfsXAEN6h(e@u2@55nG<$bHpdPuUub&|F7bVchLRE zf$pBY-@YryE-Ov!0QW$d`R3JgI9D@;E0CA~c#kv!KG}Ot#6LYJyWF=%B);iZdOV_= z3cLQEFEw0gJQUvi;=A)#ki^96SGm(5^{*c`9rxIiA}3o1xa#bNU!2AHRmr$a;Xq2s z!$E}MM^T@m|J|=GRRy#8z46Za{CtW1Bd9ebJ~Epke-F<%N&MVky)$g3!NKp{g3g!U z9(#8rCg4V8_da^^zJniz^@#>_Q^Jv~SKYnSxfk_>P^`#kgZ-iZ(R7wUadpia#Tnd! zyL)hV*I)sH!{AN`5l?G`*iYvPM%;%dK!xGsSv^e0eWULj*9wl67)xk{3qhb0bc`nyA# z^ZeeoNbVt^UFp3wn9_YY$2d%~*d|sm1Zc)Q-lBLY3941v)HLfbn~sV8)@z)|Ym~?D z33A!t)~InW#forP?%c~)s7Z5M zy90i2nc5x$t?QXVnY{kYO4G&V(Sf0!>l1cHi#;U{hq-W_+bm`>6xL>aMRmt>`s{-B zU)z6&p>ZktQI;#=7F2IW6RkFjl^dG_9Hg1t-q(o&%grM90}0CRmd})Ho_C+WRf|_i zoEXUgU{<7-Q(l*yp6|1R-)c5${q!xa<{Z+w9ez6vS5IXL03}(KTtagzI4;>n`!C&2 z#{YT&nvDoLI2_QV-~Vm`*MWzQi(jVWn(0A}=boFr6*BsNOO$!Wqr?s}C9g+{C$Fdr zPs&Obge%v9M`$ATiHb&U=^Ai}R3_bWMe5~=Q=d9caGD;vw}xBK7o$Y}I&~cO{@986 z=O2W=H=RT4X$|0Ja7Tu&Ko)W;jW`QpaLA&U-^ZG_>c*Nmq{s1KdoSlCUv zScMW%h~NTUsKOp32qZ)@UW!V?E`r4ziyZI!%#v)6r@fS-#O{lPu+^Drz=XrnW;R#I zW+MGlxEi|J;=J=9d$vF(g&}*XP%a_r!pNHhYNu0LHMcI_EtjL{o-*IFKK`84RBn}{NP^zw&_fsggrn< zcyc<(O}1N^asP8T3%nTD0BlIu=T*nyv&A*H9e{W?b-0E#K>u?cfgAUs#$dZ00gG0N zXk+Jgz6Q_TYIujA3?>jMno9CM)Mtj(PC|=*49gUnBI8rO#qRPERD~J#(ppn)wnr9b~nql5258tw%24SV@HnbT+_}F(OUK7epCii z7??xI;~|^VYVN2c%XUQ**p}G=mF#hsp46H%Habc!0XPO6E=Yu? z4j2BTr@MiB{V$Sz0vwP4$cpPNSHb7@&CYwfn6~|6RgfWxyPJnJ({lv9areuVfJ{_- zzEnhUH|gee%zc{BAsBIvMn2Cofg;Q^;)4hoM;6IAJpY3eb#V6aJvO@f9#!S`iC&+Q z+I%IN*la9O%#1h~*jL5$mrr2~xe7Nke-7OgoNhh?jyC`35qcrhX~CNbp@-D~-F~b2 z;;oLcNPG?z1`L-WjzT-XFSUETsQI7KxzaLM*R*If%GLe<6{h&2gOq3zsO3|pCYX{h z1IoF|fyGO+E8u2haQjUH5GP_K8v)xlZ<3gAeo(*_?Df3kA{3UeZyAu@kJGM&ZN#z5 z2w6nW8J11`_L|GgEy5_Qr7sSq5!3omL|}Qk8qNW>bVCuKGUIBCy*B>y;qkUlWbiml zW%4<6Khb>l0FxGtH0xvH1f>_DSQH?i!v=y!Yjr6!H3a zMXLFd@qSq*_5ZEi8cc(0#`5+PR<3W`T10vhF$iyI8dG+wb)} zo;Bxrd_Yx6Dh!~#`yJWwMZn^}eW2|-cJ3cU-jO*xzbQ?u*`PLg6Xj=rmwcy%E(;cRNwLT%Eo*kcC?T7)zQA0a&uTTY5lBK?@Vs>gKqCRG#*n$fKL~a_w_;evB!1C zUa+Cx(T-L*+iNeC4d7$>E6M`*^D^43AIn8425_|VT`OUaksL;wxr7d#PYa8}fXF%M z4!u`5I)agL!kwZIdngv%|G9m4o6w>A+z;L&9^H2I8HE5tk!lZkF|k2D1F-Ph`F4@p z83~}3AyM_!)7b$aEdo#YGYXMbo;d78S2`D?E^ix#{*O^=;H5E{YBT(BxbF1&c$GjC z^#T-WT*Z}a{OUS3k{`0*WY6;sB+?XdGazSzv|#sh)w54dpHZVMJtM&v_0gF1=lg5N zd3(u8*_w3b&n>$I2Qj*s=$|LE1t!DM*o?_%-sT@baIKG-Py(n{xB$lhFh#*8g{*ga z1&SqcxguaKzv$PiBQ`fwBOPlSLI80TnU9u?toA9fWGcmA0sZny+>6Z?F3LyK7i{Xa z9$Tr|hdg4c72&4$;f7yH&v-u|Fw7}7YpnMS+W@BJCId1S#1;qwL>2~gGr-%d>L{op zwyS{%U7oi9Aq&aIHIvt-!DW6QXo{V$wmIFO@}VjJIt5sRK9BD&59>aRv;sB2Ds+lZ zm+6wS$Y;aua)4d`)xN`J32o!W=d!-p`rIYN2y0*6u*0;r zta;d=8+S)1_-kVAm!V94y8inpB83$>^ z3laKW_cfJn)ijrD!!646N}!S~WA9&VIsPHO_Y6x9j+$>;V#@Lw%khcD&8 zBF1lj;M8;4%2Kes4}Dg2VqBtGtMf%6O28ED9v5$MT*IE1ZqwvS$KUz z6IpI_uh8TKz)CmM_^H^_GkE&bz&566ZE8kV03YHW8%G{qqG);PDiEgZ}7ee$9elpHnkzkARml}UzPjKeyi5x_~_6fsals#+V!3~-g9?O zlEwsjko?(d(@B`N(>8t@>95->&x>D|Kzku~Xujbfc2;R(u*wx6?l$`U{!=ubv{CQU z0TxT<^l!0U@nZ{uqLxoOU2m{BsyF+s(`kAB>JD5G^TEdF^Ci=N1kOEx zYKhx!?eF0T4M6g(zX(zL=U-Jhq2=nz&4v}nrh<4OBpZ&m_wdr|66R%~9(C*=gby0Z zk*x(IAo}t>U&4lEdLX9z8jqS{4zrH--C(M*cX}JRMst&gGxdh85^=_D4Uwrn^#c6I z0JvX|j!Q@YB7F{tg~_n3ulWcdJ5ib6QX;Ew_P*&XbvPw6y$M%nT?H93>$KmVxDfs& zbu>-*x$a3?Vr=OmxkE!emZ)HQ@a!kw2h}W!O#HZYp4q8pCf|56gE3Huo5-Y(WAdd> zEx1c`>#|3!2Wg>HJMSEP=W1~=H8ozfQL8%8uNDM1bPMHGw7c#-)%qSxNb2rJ@an!p znT|~4+c7CW9P#!N7!q*5V(JfVy7ft5{sV)XG$e`PfNpiQ%KdZn$ljQpUS{*C;hv-zQn)RT5P@5ofa z+0zk+?R}!?u>~Ai9@Z`P0AoYVI%lV4FGJn~(nCv~q#JBAR<(}2gEzLLihgwI{gcvo+bi5663mm zz}-Ap8iPBITLs~K;pRI^38My`=UkY6wwLix^;*Y&4FSmlX?gs_>Q{Gs?rh*4whbWF zf8D29%;cZ&w#uZ5{PNiw!>(!DCul^~fSkb!kNZo9;twH!W4}MA-5BakfDCad%7pj* zp3Dx0jc(M`VD~1h2mL4UCA6GIZ=P@OC6Z{7;cmo;s5r)-eA&%F;%!Ix_1|_YCg;CD z)+bk*C(}7B4mTUR-}#>-$eMGZwZ(P*l~O0Md~0_u+pa!AZwOcmpvcNQj;B`mp5rly z{cTei0SYpdp|%EMu44)SzR#MO)}1gJb`yb~ANTsE4Ly#6fCKfUozOw6-P!8H4;qYb z+emjUu@jVzae{{x!6$Xpof5o%Z~oq!$`%T~{)sr?JhDv(yH{Xf(uYrJOK8DLZn?5Q zS<8CryN*}XQ|o?XUPYgrh99gt;`4+}SwqBiTwhT$5a0G%Ug2>U`JQeVBn=vO*-^w} zg@1*hkc}r>#v%9ZF(Q8i#?1YGMJXwYMuoWueIPGLx1Fj7fJF#kjLv^z^H+PPeOXIlrFv0GGrTXLhzgi}BvrAxnAg3oFX0?^38O0XSK!FWC+nvQ9D#6CE0E zRm@qinVAj)6pYWNrb1Jo#a4N%C0OybWM?aD#u=C@s3LNc!${^alf_Mw%k%g#$pciv z%-Fm~i=1El09lAMTi6bu)F~+FeSd$lK1MoG&}VAef9S<$b<6udHN}B{QFh z0?H4lF~tn-GobSw+UQ&@`0k zx5w=vF#e|)AOhxe0Gbs;#(aR-D{8O|0_+WRSJ3!&W6L#A(|9aC_q_rAlozp2^`)$* zi!DG;bG_a4Xs!;67L|}2c^LXpY`i|u=(NW0*W2AN=`SKWd8+SWCiV5~^B-(DFlCpi zC0VY^O^eZ8S3@U2c`xFAO*JqK^fRtwM0`YUPsIR@m5A`QIO$=t_sKnLkSFfl9%Wplq_3@GY+vLLOY)A5~#OTJc=KTLNrE= zwt!1FZ?$)IodQfjBV=A0{*+l*a)$Dbe^e*!yIrmuWr_`5CQFf6+DrHInu_+^4kOh< z!)LThVSKf5SPTFJuL%pXY&f_-B&N-EHL>icA|Uf}+^Ok0O3pxuQ2Cl0Ny@--305cb zF%maX!8OVcnJe~moQ&4ZV2M6ubOm7x*XlAOG2$(iC)`vlZ}Sw!P!r3 zt!`ZOI5h^G80Bn1z*>~upDWSJzBf)fTT5at3{?q4ch$?(f^tjdY-M4=_V)IGi$|3$ zEukRK2Cs_cAEa-zq;EZxk+enIOu|$?g>RrySdxEv9IOgLq%5Q;gy6Aa>JexKP7YkSr9@U z#23Ih(T9FBMHk?h58QZuKi$8S`gWN5b;(r#*d2ZlcT~3U*%o;KeD~9k%{N1rh1xs` zUE(#&eW(bsGui~($cRw+j8r>qMK%B2+UB%;w$Nd{P0C=DF7WoiibIAMpa6&@<+=BF znod%bhE-gK3%*Y?;Z|~9#+zhfB~3&PW&3S8nm;HpP4a%9;h>Zz=zd$OYH@!QVB=B* z)f)+Cr%=xg0EoM8w<9d3Qm_7=uw?(3qyG<9Er^U{A~1)BqQnF;1!Gxh2fmxk%qkal zqY<;g8%=Po;X!A}419v-AjFC?;-?PZ<{W_xNNgrAjTIRa9}7h-K$?&<+j2{mO{Uk- z!IESA5z*Y(h}uhy9GU#x4yj?PDGQ*tig+Cwjnt^*`Ac!`r&rJ_rG8%<2-_KoBz9R? zuv=;Dl|>+DHI)rR(eo$;2@HPWS>ptnNThmB;;$Gs4mnoypb`BMU_(f=@?Ml&Zk2%3GNgMd0Va8gR^R!8>IA zeCMNe=5skq*HDX1nLz3coFy-oWRE*pRtxeO#T-nvTs$Y9k+g}DjuVGh66yg%f<>d> z<;zXO;sNQ=BT&-gvgkbm$}Q*PKM2UG^JD*J0WUI4ndWKCe%>`p(ZsB|FG9 zP=>K#e6C6INkNU`(=9>j!f;`t>V7g{h^uH5KNLGK0`7RDadgJ98|SGd1&R?RIBqYt zF$sHG9O6mZ!z3!vmq?oc}X18V`X;<)8?b1f)YIuQ9*Y`stpNH$IY zqv>EEy#dp6fxoVO*n9I2V3>0m-MU$(RY#Go)ntwGC{dJ4c!+Mi(u|=8_yqQciEe;4 zk8w?sn*Dksc1qKWFu`s@nx_%}51*^lq;ode5! z2*ENvl@0kc95znb08?y>-ujc7`%Appc6f1>Y;v9cWF@+8B$MyprXIgkSzC z(`_*>8k_mZdJxg-ezl-Oqx6N(83zIaPUHo@7O&PrNWETr;c2s1vGWd=BtirMv21*i z0ys1xiRlU;uV*>EyN6aoVbgfW03mq7I$TO)vPfnfUM~5w%%!05V!1fJ}e8d_%*S+58mFpe!O}b6wcMnh-F9Wty1NX)<;u z5t7NVo$2(FHCwVxuE93OAKHy=H1MDDtCDO2{*TKxK!AE+W763Oxu!LbAe#K7s=|O8 zO@WsmsnrQUK^H4^{3ymTrMEgIL7(#oBf~xs_sUD)M$)Vj$Hu0vTy(y0tACmNj?w@c zWum5GCEHf#=U}X`Uu&PZoktS^K^pYc0T}s|0V3Kq&xdksk;NL_7V8BGTXNvGdo{7@ z9+@D09Iqj7wKAvdp;o_p*iFhnFL~c5X{@yq>AjyOl>O@*-^$T^)kTl(=l$0Qk?$?e zOq>G*b@e^?zEaL0NxEs|I|Lgnp6x@VxbROk&n;s!f) zF_tM3_CtU~U9H*W0T9>toeyI(2sfYcoih_>(tt;koGaA*YfYk1f!n7(u}5rC2~UMD zg?LVh#bFbkjwm5AiS|&gaL`O&fy$v5hB%c{DbYWaLP3_u7^MtwdkXQLqyf^AA(JVv z%W>}ETFZtjGh@HYVzq(0S4s4v__(xgJWr)zi_IeH9Djut%|GGCOK+IlLHVSfru+Yd zc))N1tR-e)e##YBfCDuNmd};?wA36m=N!&p1v3s)l-s{N!^gpal_@S?NGFbndp1B! zj*tMOZSqG7SO0Rh<3giM{i@Xb3wn)7hIW@RHI8Lir6Lh-(5!S2_mlv`Kx-m{LB7fG z-`2C`dPgj(%~1B|^t%6VEqvJN#&W|n&=WHZ`%^hhunl`XOfG&iaNkoFsj_#Lqzsct zypX^u;L5ZB8paix0+RolQ&K`~%>~UbRd&-w-fS@xS-vWdL5OX>@E%$f82!W!6x&1) z`v*c5IIRT)DdJesBonG~Oq}3MST+d|I9&%bOM}M4h^QZ#g8(GHuM8EsE))Nc_G5a2 z{iDqM(ZaR9R`VB0G^7&bYCd^oD(GI`Vh)0rMky!sA^BB;ZU2`=U$;cS)mlnmoVoln zNgcBIqX3kDoUrF%E@cJ}B|S=no2KT5&s&bSeJ?<=^|D;<|E4c=3{dnv?~m<5leq8D zM2Na0L(Bh`;#kgCztvr;Fzb>gBxw-kd6}CJJ%%kd+0XtMiX66>N?+JX{Q4jF5DtX^ z#!~TwRoxe$n(Omfs~_B-{ns>~H5vNEnC!9@ge%mr`J`p8IsUh5ND*)2KK1X{i}st* zlKn=@CF{xMJ1(@Uwa1ZSW}TL{hi>?FpM$QtogqW#ci7ab87zh^-#&4V*b3*TaO~kI zQW5Y(YJ#%BS>DlnN2c@K%0>6a*1sLs^Re|hr=N33P+$67bMKR@R_acAG?2*kdCb4> zA>vv_CSvNZ;Hqs+bq{!pm5*pE5eo z|HAtbh+#x_zK&G@W3M)jsl$k_EkNTEF{sBbE{IGj8_J&(-U__;A96D7rK^Kf)SK6m;v=#PFVJkO{bWU&k0f17PV;0sG%5$!Dua zRI;vip+BPSHh|O;+dN6;wn5 zZd(D>g#wit zuzoqFo{X+&vhUmbS+i1Zr+wV#HH9g zeC6==xa&F|W84>c`;+SjecpC51z25rX+SgHB62DcAa-B_KklGkUcBD4!TZEqB#o9? zm5D=%wUr!QU-x{yjW~o8IhopRWuJL~!dxI#s#4<*DX&dcv)vMm)f|9DEO)mJQHl|{ zADI|7*Yi1|hJJbQwFk319@Enr3Y-^*ln6EYtm)9ZtvwUR;=~NwXE={1j{ejazMgx! zIWW-xrjQLlcw31{iAX3r6Y+n&03l4Lq`_!n0WVSx)=IsiF)KhJ|2Kma_ z6os|0kS$ay>y3`ych({5LWT7KbRyO{X)q0+#4(W~DcL}&oz28=cZoCKC140lIFF`1 z!xQ0zT1O71Z61D8B6Klhz6&hB-fQN)I@H_>*cd^*PNlzS1keE_{tadHAQJjI^Xr@6 zhT9_D=DjnxWbkVEN-}+`Qjq0D9*22Y_U&arcPbmVXFf>hX-x3>-%f&k4#D`yOfVs* z^=0oc>6gx}=LeBzR+5L|?_2$!AFWVJ0K(rI#w_@A%128L{F_je} zDm{qQX-AP9Q*ICaXpUU1rlaw}D1<)1tQMH;nrqMI5(8E;h2JlzIV%610YEt2b-mLa zn?dv1>+ZH;T2rLad=3eH?_zAU<8UtSLHKgh3CZAJT*BLBL5xz)lUvyjvow5SUO=*n z`&lnFLlKyhyr$tA3VI&K&Y6wp2DGZZ-2;$#U`89Jt-SsDa@-*q_^%Nx{%wTiGW1furC zhLYb>oppH4;}dPijO8qBfGrE{dD1&fuqi_T&~cE-oav!F3VoZS?U;+-53XJcbQ<}OgSduz6`EhJ6GXE;?e8=BoPcirJDW*0 zAE3YCM0FQu(z-k?!bM~G+WzUp(yer+pH&lv0B+^P4zZ0`>?PVq%q~(@__Hs2LhPJ5 z{u9=IDNb^;+H4>Zp!NV#H*9s_V+mBg-A*U?J_I6zns?vsHv=8kn+9cJz%jyi#LB|b zB3U<)7XZhU`T!Hudw!;ylkxDUb@rP{-+}ps{d(c3zeNsW=W6GGy``t^i;3{ZwzuS2 zX!*_cv2XN$Ou+1PUP3?mA9 z-gi=fkGf}M^ZBD;TG(!*yQ`6S`X-cG6cho`gP;M z4n3kBuAB%NhJQHBd(^Zafp01__S=WF^2!t1!!mkb`dgvoXAt$v?8m3R3p`16dQ8+p z<+uqllF*M|iP3xzlk@bk6y!pQu=GUmJxG20Aqyn#Pt?f)#Ns_w=;M-eB85747zfcK zOqzm!XlPk@3$5?oq2Yx2Z1x8L7exK2s=EQiVnJGh*!OFzl18fy5_d3Ps{lTbki(H_ zQ9R?d?+ft6JmYW7@)!p8VcK6Fr}T*gaNywbm^uHT+bL4y>G70HQDv&PY~ zX1$AP#mp+I^Yl7chEp0hSFSXYv>dQY8G0QJDhocDe)w4=*Qm%@xv2v&79ZXPH@{J( z$A3m0*?)@MBMMLmP#O>X$Rc~I#pLl1+i>ydmD0j*f@Z zx7*IP6hooo*kdjw;0@@K!TpFCpOw;bcv6E_W^e|Gj4}Ynm}6EbgZRQW_s%$A!z{oq+=bv-6-+1V`xNIoXI0IrzdXFG71 z#MAj-Y=ezvjkHc4${uwE2_T#rmnP9ENJsRadAP)YSaCno;gUfX5THCioUxfNU*H4! zMZ|(`Fmo9FEUl0J=R!(o;%Mah($dKA2$K2@fWn^d`bXxZ(WNBC7C$!u3bbD6n5Nwd zs_+Suj85eh%2*#{QsL?9)8mSL7bHAFl1FFe>V#WxZhm|Cd74l_%cAgac$0O;oHPU# zGMZ;~rhn)V)~rtLR1-^U`3tj@!S~)LlRTi4MVDYSVzo9kcNP{5DlF4R&CuUmRza7g zH;%-l-lwxbc!b5U`gEy3m_)5Dp2|rrWv3(C3lopR2Ht1IMCa$RGm*d2zc$5DOyI_u zdG)7K;d47Wq~79JrD~0WU{t8ZdL`kq@&0*|)`Rmh8BXhefT3WA-x(A?N+Uxw+n~#% zTmLCD2}7VjnS}_!c6cr?=4NGKQBS{K9f2I*8#oP@pHlR0FDYa6fSQKOMstw?Btcqt zp&bBMK7)4oxW09Ff&#eQo+Wrdf`GWKWZmUpmRT2uZwY%WiP(K`@8)1q=&kW9T7|yn zjIR&gVX94zkeAjPf0Haa)56uidk(;Du*S=K)Tv|?^H;K*p0XACP=yqIS3r{)`J-6*gkheqIx zqhuU<1n%+(S?B_mD6W4vZC3*+14FOknXzFg+x5y(yOuBQAKe|wK;=+hBwyA;Ss?#u z-2b&j#H~iLES`4(?R4WJHXNI^jEXRF5%wUb#i-YxTq2lAr$RF|!9+Vb5ffWtBW8GY zUC0wS*z8TaO$`>tG(2uk_sq=+qR_m19kZfs{x%|@Vix*SrjvxBO#v^a3y*91ChNr` z9}ga9#B&M`5}S?YNr`z<`^9FIDJ&4% z0^R&r(?TwgV3K1cA!ov5Cm0$r!C>q3hMPk8?yQ4>ky^;t6R<4;JCH-MH;vs_b}*gv z^qUa{Ym-HTWawRC??Y_MV;WlERIK2E^wZ0)?sjwlCyWm>yY6cTpyVrJ3(3ea5lFkG zKzUnYD1H+3*Agh)W}M-LiI+)Xfw+&ML6NmuTA!@3=n4zDv~l3YQe}JMg2i%cksf^- zGZ+H5BvVxh6eZD96)CPYV{;VY_}t0G-9N#G{t6Q`yMFZz^;%Whk=o^V4ED&*Q4BUf zC%`fART&+UflzNDQV2c#Ktr6yi&z4K2I-LzhEoekAM>uD_d>?dkXOrUiETUEvc;W7 zsqDR($i!LaSk=W}`!3i@(m(VOj&Vf6kQ1l8vmZhXK;f5_0Br;3&kR`F9 zyVZzJ7bl7A>E=gDXQu^aR9#346YRQ2BW7$BGFDs5G_3TzzPvZ?y@A%xs)83mg;D9J zdr_KXI`?fh;LDOE%727dyX$LAE%{Pd2-qec;yJ-1=U+-QkT3HepAb20G3B0#zvMoo z_Sb@h`+$25H46(GcQDiK8eLXO)*0=!kssMzAR-MiI!myDKbWBag*-7*`bALCCR>JYqU~&CV?L06Fc#hzlSQ229*7` zMjJ?xd;tclG-_xz0QRX+Om^TB_Z5*TO?r-g84?O29&Qt2lNXL`(7FzN#eE&{W@LBS zSe#E~eTQ47(-MtsCYISb#^vruM$TW))AY3}?(b2ih`cY*Vph+Chk}p>&xt{p>^_E3 z5%`BCq29Qjk`=fdhJ@)=L1`%l#jS~p98v#>3Ku4RG!RGB`+E=sSy)ErfrR~v)q4X& zKBdk|CKt99yc}DZh?pQ}Nq{d>M0h9;!VboRMUEmv6(ki7ZDfm+M@W*TYH-?YcE;0^ zWZ((u6LlZ$=@0d!3FSZBJMBY%nJvU*52t?{IMJa4CxEudx~@@l|F!668D=Tl<$kWyjX%dk}8xLME3=-sR#fLpn(l) zNZva1_|ZbOOV3@}07(izhC^Ok*b~|DS_A;TXbg>ZOq>4>m(3^@I|5BVGLC}`-EU03 zeMc6jz`!Xto$4%uP6e+5cTZInHK+66coN+WQTgy?wD7(_btu;HHW$NC9ss0q+`6C# z(pLn7OZ&-gg%+d0mQ+aUke~=={I`x{Q}&c9N^imc^#Ythe$v3&p{gYn2F=Z@eg_kK zJj$5*CSP*wVG?Q-TlN8hf^`uyyo|%`jL|J~m=z&nFc;=%=LlNutm&ucK}*g+g4XiI zWc0&tpkPyj)C?>S1n0oWL%d+wE>lbp(+A+V6}-M& zOT%Z|oQaafgl4s1CX1{T;|eFCi3~O4Q`4mo!VB;w%X*vU z`XGbvL^}}?9(`{O3^*Fzm>=u4yjI=;^KJ>LXz^4PoE$)8#~_?zO@Tg*H%nB#stB-U zz;s5Ek;i^<%VQ@HWoiPGQ$A4Hjk^+KW@g~h2)g;em5{S5hIR#+wK+x!FzWO3_x`D{q($n8Gv@gZBZo>c{4nAq5ap1_E+HD0i!h5< zs|AmOgh3&YRdWB5O>{rorx;h?7U=3os0=#hVm3;J?;|_qMur_LkOxLNfQW=7536I< zpdft%8(B}4>GhsT9nEh&SiYfW8Bj4nh?YQ|YLeW;;sqGN8kU(_o~8!S4IxQT01N&% zg649wGv9sLz~Dh+NLTxDDAj~sUxHpbtCi}0q4{EyKwqr5lXfOp+kj(8RBI|hL$1qm%{TPz`Zat%r-m*fw z!5m2Nm8E2%AlBQ00$^n@V)}ie5ur*6oO0_~`D>Z~=CQyoCCB>P4QqmZp_6h)9(i96 zSwY@0jrGiroY+T|*x*z3QVFwo62iIe5LgPB1l8!MRJ~q%RJakzaq%EOGlVMf0*QEW zt=OtrokRFiBvGtdX3-K&L_ZWH6qo*)&gC?f)h(?~7oEVcf zXh=CY+d*YEc&$*$!+*qeZRSDWEm8%axLxUwqq97$xMTP(Tawk=x6jR{hQu?*6?XylDBkwfqb@1h(~wwcJi5;{~sgb?Cc%>J*#h z_XB~J2@J%INjAi(2y>qrbn_l5;+Hq!7$quWDNW;u;zg`?ZPCo8_edNeqXZ{?L|I0cM&IH!@BqlN) zV9P!l3vp%ap7_Ib{p&x$=}HZZ>c2x*C^D6LrG>)Bd`8pXcyI=eeyY&-! zslhJRFv04u@{89M44&WfEd3sx`;s zKWW#$fz=bof*8nCvIEO&M_LD2UFI^Kx{-f%W?#i_GLkINIcR7&t?EGUR9v!DRyR`tbQabA z=I3!`Ae4UKelIW9R88#a99H_Zm?0QJ02_t9yMLM}`$p_h12GMQ>lT8KBN+0wtlTO3 zJRl(8%6WphMk5E`@vdy(PpkGo*Q8TRs?8KjFp|rkEG@=;-9-vpd_JDjwB(5IES8aJ z)5^A5fqnZDMTMCh=tZ+k75g{FocX5t(UN(QEa~!moBK|VpAWLLAI0z#%IC3ujBtyo zn>LK_tyR{5R>>XBw5M=WS(S-c>G@NM#p!sQTxeih3Oakp7^Qh>)TM`Uh@bZ_ltM#( zY$3muGc8==1T0R#IXs$5H;h{TB6y$1DWZUG$^umct+(fK*IuN& z#Mwa!c)tvV^j6|g`pt^&osx+kWVPfAMt*Y3T~uvtct7(=NIPVuk{9C8C-m@<#Esjo z!>wyknC@!iy;z!}h#W!G(%96{-GqT+23yZHVYJ5?Qd|*CjicU057G$f6VwA8j?g>V zzJG!BXK1|*a;1Qh6@&kKs1A!Q1+L10Zl*!cjMqsIHIBDz3FE`Akp%BWN2`C1L4tkY zi9(|zXVvR9$neV(zaY2xv&Ir))F>Xgj{6UzP7}|#psyti(xw9>rDt3kxELpqo_K~H z&K!G_VJ=84Q%+-AcT8Axf=aD>6IEO^hX+rkO!%-UI}5eAjtUT&KO^SE9L2u=Nt*h$ z-Y~HM$Cc=pU?iJ@R|V1v@^r-UIm#Sm5)_THNu93zc4tZfvAfpIkBYVhCB3x3;oc?0)uP{`iVH9u>=iTfO^*1XfFn za&-iek`HscuXm{QZ-q-F+206_ziQd=)=q{`OpHT+#GDgXR?A!CW9C%jBrg1Kq|8%I zsEtdRG*mO7+0wp&yVsdn)r&PJy}7;_#(7bIv7ZL%KQ{`Sy0^0a{N`S-sh|#uOQ^CJ z?KH6>#F#EQbGU#NRQc<~@=#R)7GpJX|GCFS~yyZ@aJU}t2&vzc$N;*a-ug>NA zj;7Ap0EU&{Go2bYnffArPlHVTkBzb~xW2tGody3}ej#{G=Xh^CdENwtMt9 z2?oglcLTQ@&mfFZyP;xS>)p&rjs)$dO8WT1R+uNtQ$`Z+s7WNYTk}XUiW@J<*+fAd zg*s$CxhjpZHVv^rS~IHQY!!Ts3hn?_Mh!{|a87B7OugIk)_vn`B!e}xLPcdQH7d4s zUXjkGI;+zj)Im{2E61IZvLL;|;xL+zp{xG))i93d#zs*^4xk-A|da`O+Xg-ms)iHQq#9=@N5 zV+0nZhW((*SDO5(moWic->lFB+bTDkO?|%MiaKr7%cd1Wp zZ~NO^@3rxCwF?i2s8kDP>wHz~5?|X7IK3L`JC|r1ha&D%B5;h6uE2cJlFb69Pi%wG z5RMgNc7{FbBoEw9S4(o&a;dzA#?U_Fwqx{}e%6k-aqF`?m=nwz6uI?pxdLc zK2xG+$mDPt^lfk4cfTqsr8XQ^emPcyNIJ^C3N_FGLm`gBpA*9Le@JIyXXP@&WPP5; zVJXw;{B-(4=nB3V`F_g#%)wz~c?Qy{s=gq9YC3+baINsE?p85=c*o4qj*W7Hz_{=~ zDB2`=KZdoFt#ls2d>CN4UEKHDn^wuU%{BLn>38Ua;)u zudB|;lRUyj**U-v-Nk+g=W=C$Zr`3o4~0OFvN0Kx&6v9i<5aa8H-D+~9zLs42-&w9(HhY_{b`znJS;sJ zG#EZASrse3#~=>Bgnf+$Z{%y#XG7`?5!6HL;2;_FrYFgo*o0;u0|7?Pi>4UB$L_o9 zdz3_hTtvUa-3lD(^@!s%;YPvwW+>T}9@)}GL4%ehNSx=;8tlF?qo3m99nMP?q9UrP z>ZfYbcbf*w6W7TS*p~oG@j^!v^+vGmTKpU;Bwki+6kp4!_rVBL+}`~zonGkS4QdJd z6iVf?bCp<(h;^4wRX2qc$9rqjv#4c`NsNeyBHn-6$>pJmVXr;an+ur<-Rmj8!!YEK z&y>=N0=Zs}me2ulE)P8rK}Nf!#MPHDN7iV-l|Lm61A4eV6)=v(fSth5)Br=2baI~S zVgFwMTRx=058k6-d0-GKD(am>dX@Fj@V{hzeJmTDFFiYm4V<+uM%J-fEx<`qVCpp= z79JNKCL-J}sEFZS0jSj1BxuNzc$iv$eZmDb%&=uZ3`n5>Mi@_oOQaXxAM;?l5H5$V zBnl%T;Vtuxnhdd#epC56wpZ}OaG+^8#B)PQfY1l?ZwhZmAl)r(=Ue$NGZb_5Yc(x9woM-a9@PQ8yZ zb{s?LXi+I~zABA`qRE8=S!%-rY{CFR>X(lJQlD;XP|QIv<%1XKhXpb8;-;hO9aO_r zfU<J?o+fBWL^ZXp$0*?o&RAx_kvF2&t07-JVbaG;ZTOp7uS#OL z^$1!Uec}W?W7KBLfoeVy6mTv^o%j6iP?o3S7sCCl=P`gBJ9@dsikKR~$f-*R?Y<9I zAoZN{Mr9*N9Ct}oi6x*8W+`m)By9+u9BRmTQ$hL;q6K|DOPN>a>y;hUR0Ysu3~3XU z#UlI{jU*NsaA6932dJXV_!1rfyjS9J^*P|f-$Ua7CAuTv6MQ{fq~}7$@IE!)14F=I z#XvFg_2~*%{as1|6S!@&vRqD_IQ3p5MmULhie?exqVCn@vQY#P3hSNl#qVns>pWB> zba~_G3LGEDCxCK$uc}lH^{{98%2f;M9eVv)Z9;>O5uqo*6Gk|lIiro%F@!F9JBYnq zio08edUiJ!zmrX_rpweUL-N$UPI5?Necvy}Mud0y{CpR}W|5d^XT%v#g+y2h-c=R* zp0K3E8?Ar05xj|or)u~NO(Yr)SsqT>@h&^o{91;xruI(l_Gf_Aar=YZMcA7GcJiiN z&#tX7Y!NEfcr(t&i_-;{gHlB5onJo0QD6Fd$cKn!<1xvz(_j^De!O@uCvV?b%iepI zaXK~bt#EAF!k&x*6E1RFl_i(#vJ!_aB?u}KEh7~T-Xq_nwPGOn0f8I%Xnpi{5-sTM zT1SZErkb8zKgfx27hYeFm<*Yj&zKs~OT(4P{ozCBh zD@9B0TZA~&8S!XxrM$v$7$z%tkeZt^*n)MfhV|BWf+lErLgF>aTznD`)+!02NY43c zQI=PLnmG81q}qDxU@s@ z3_4X+x$w_%a_{IUS>4k^&;+5wU%1CZsCAqz8Z;$pHfb%c35NCe70FOVuITPInUR^8 z%oG$Smyk@O;qG76s}PlR4$dgbh(h+$y}YE@wHMpyKp%8Fud6j2Qj2{iGtg`*YC z7Ci1;>@x5kGN1#;(9i?wI;6iXxffXb-KiS-HLG?D+WDnDD0(bVZXt z4!uGh$y+l&B$JJn%V-oT*H|yV|Ni@QHWo*%5YxZpxcYkTu8;|PFPpdKHY;p){PHzB zyjW4s&TV)wQ@^BEY~q`8cn~jyvfiQijs^{SiK%BkfZOICs952KAVI>R-eCmixjj*F zDm2x~ix)4rBPRyBA{_6DBX&$;}?hMoHn8gM_`si;5@pTpO&!oCgKt!l~t# zis@@9;LB6lB*u_kIMhx=!w@!1P*p(fO`3;#iD(Mf3DMb_FXJ&OQET}75=9EZzae}oit|w?}V+DYm~3NXD{Wt?3{n~>II1v zUrFz_@2LGz`iw~@bN;=e`9lDZa8;lMg+i-uu2SYX6t!A?e{$j5~648+RkR+BP z9jf71C_D9UO~S$Sc%5;;8y z{~rjFsjE0soM`PZ(z6o=la0VoJ>Zd{&kLG;;@c-vw`ok_JlWLdqP`(J8cLSLp|ajD z>l36QDitR_Fcdn-_^Nfh!PclMYrs)@rCIlPnOb~-G{(3fA8riJHwN9MO;_4DkT+WA zEb?A-Jx58eGQ!x~rF69r$L?xINmDs$M%t9$1V1#&kUYi^V{XzY@1D zu&6x1Jfam?OF1=LYS9*&6k1HLKJiz)>JMoWE~~!IiT8>iB-0pD?Y;c^%Rj2ce1AHb z6eHzTC@`1?70xLU=e>u)RbZX_;?vKbJ~?{(_N1yLECHwDLZ))7!J`waqF(#Jfa2;f z)}+ymBZ!OO>7|Ktg%FGQ&f9;@RIEg#UM9sFqXNRKKZ;@4Z>Z*8tH}bRMUX^D#BMK5LZR0 zcM-7}X``4_%n&@Iv&Kwj4EgcCEK9#wP+c$j?8hIy8k-kROg<_wAYD`;L#VI;2yKz8 z&1_cO`{a|SKR$O}MGz~lj5uS}sArUr6Jbe|F_I-^37VYFIpb}ElSg7h9k}g90y>XHOznoVyT6pK;KI1r~ z=Bui#T*;QjgSA`CeZ{Xd6`Gt-Mi_xE&L&5>fvYOdGO+gK4XfaEG#XJcat<}dgg?)7 z4ql+OrYp;eNBoipzeZ74vUmeSDrTtT3i1%>70f=I$(;*$b*ip8ookw}j&0X_oeX%4 z*&2Pt-Owb@zWD6ZACI2AJ$|iRwS`T^JIBsYR#nAr4`^c1ixN$`*QV%KzBZ8X6?v$t zicyXhwbmN$78{gXIwY(vClI#Y3)I@SzO_Lj%qz~WK@rl~3%a`C8fEiLE!P>Y+foq# z-i!*rp4S)cvMf(dPQL%{@Avi&3TxlJJyy@9nQ5UXjl*%(FRbyE%T*}B{r$b?KRzSX z-e_4>OpVX!!Y@kiRptv%-pa~V9t+=~0w3nz`83ArXG2Vlj~O`njfE@7IlLzkG((VC z!Ati!@q4vAQ<)6E!p-E4LR`fR)B)#2M<1FHL}tcG(rhf#WCmLC){(3cvDrZ)yk_aMw7f4J$dpZRNZFTh!Q); z3h>Rn}1 zji}b9VHDLS^}$fPR4+M#S^bH6zCN3MI4Tzo3hG%N000mGNklGiyf1XSxHY@6qEz=QtMLauJ%`tT4<#b-E$+BW>vi!;8 zBmeeh*8dr^DnB{&Cktw}wzM*Dmns&XDFM<+krqf3aW>QW6Whlg`czKX(-=bBPU z9Dx{&S_Pg(E+bf#`~%|J(a35MWMxr;lk?`lhLPQNeCWUC7Ge1 zLQ~c}e9&K0H>#QV)uI~=dC~I9h8Nvzp+yFJu?5%f#YJ!M2v-k&<@{gSaCJPp-iy!ZO$i$~vm>#g|0N}*LIrIFHVWu?m0=f;5yxw=eUjzlF_F?IlSt%6r+qBZ^0 zZ0Zd0PFOIWUJ*H6lqS!(^;c^~BWsMjdw25p@4lVCdwYL>IvW+4h!yY4N=cpfm}~?_ z@v03IB0Xqt(!z~Kk-kF-(OBL_!X&K_4sEj#Gk!_(K)cx2V*;=M)F(B`A?Sl+UP2 z@Bo#zB-jc=Fw-8?Rz6U{@El7k2~}(HED|IwO7jwEJ&Jm4142bAAvvB`!eQJ{DPI|@ zEhu@5P!aEZRgqh9ys$5Y@VtNfBHaB`3+g2%tHM@7%km*x!j>Gq!pEy{*Q_>k+#QM? zPxpR*`HJ5GPTssJPu}`6{E;4e8lw=5inkf3EUBxL;4e~Nq0<9G>Vb&ys%JIQK3=>E zdANkuBN7s$H!012)IM?BhDbe~jc7cxNThm5@DL>fR0TE09i}0NaTb*dnl(I+2LbAx zkpRk}4mD7Qx?@$90zAFms!()3i+86letWSf9rZOP{KRTZSV}6MczqqD7fwbd9>Nc6 zo{qqteSFYG{j9ygw`u7z9%u8b#6IKgvK6fa)9`0~py`R(=72cJl};O>7i8e4{?n{Xv;;9*L_ zMX>(%RgsxoeCDcgmhJCNfBeUfUw`}Uo70oh$lUpGqi^KRVlihd6D|VC+3cZQC>F}2 z2);rFNJR_v06m16f^G-GA@pX0ImL-XO=c5e0O3!#!O9+OyeCRc)P%uPI8iEhX5}44} zGb8l93${>BuWBxi`-zajAQUW=)cyR^FTecr_vvhp*8pmAV{=PU^IX-CGgf^tz?H;9 zZ9Y@h{^I|Jlo&@?e`Zy z|NOH$msx~Ps?xJIh?bK2QWR%S*!f_ZR8?3IT^a&oT{#J>t3hJ|aZ4z@6jxn&v}#bT zc@z)xxknl>hlZeX%#4{N=Cz@%`h+zrA=FeyaD}AjqPM)bq>0qH5F9h2Hfk z+Yi81RXe|wdX-)_eMo%BPaivn9S=a%W{=_2YX+9@!2mg ze*ORd{O{j<_x-!Y{IsgL_0Pt+DQu+z9GiR-cA5O%RICtE(-xd?Rqp}QcjCLWH$MpH zJQaC)^KS9(Wd6esM}PX$pWeQC{a^pf|9t;oCS0`2Q)Zf5lZR`PHHO~<)AJmC6g0iBx2THa`5~8rx zj6x_mUqQ)#FswtZ$~u7^+ME9nOclZ&@*h1z>uitZ4A3fxxr@qa0V zd62P6d<}6D5u3yln5a-wf(bsWP@N`Egkh#-9nTsxIEiZY6k_xGG{mqF)(`QpJi1`1 zM=bCD=Te=>;w049aALW|$;qpiFJHWR$=$yR&*~#y#u$?Ysw|bcE9c5aE|mu)r%qSB zkeVyZh_uk`y`0DRa-~f**qAml*;Icc=YK%ujqZy!Ahc=+&96W@IEuoqFeOTYQ%Q7;}o{1$xks7-t4 z`{>(mzxw){FTZ*C)x$@Bd-(9LUw!o-|M4IH_UC{9(|`ZBU;g>)7yr{|9O`_LTXl}a z<|Nq|4LA8bDi|l69KNoAaA!(`?K00yt}+fbW`8>S{L|0&_xJzt^Ur_!)1UtG=Rbe_ z_1Ax+41fFTYyJnm{QAo;zyA8GZ@&8Kn@F2EY4VRAg`{=q!-o%7=ecR}aJcRdasTKM z^x?yYR6kM}@b7>5%a>n&#rk>n?Ae3+ho3#TUvL*vm1H9@uF7mU+=3K|#&leXlE7q_ zconOv=IpSBn;~vWC!^8$vroS`nV<5D#FHmao*g}Yc63zJ$iRaqPmdlS^&L+hKkmiz zr%!vq+nZ3 zEwZfO?rc1rO}M%A{?}iBW$(Z_33>kf`O_yykAL{#=~*5U^X$nHNX-^=^n}u!PiNWt z#k5_*p3K z(@38`Jzq;lj~@s8@WTx zpFIieGfw}6AD$mQdHxjo{qv(5Pk#9E`$xb3^!)9s7jNDibK0uftQe2R6Js+qHqSX3 zGgnoM#X?+V)u>|?EKx5CVR?YaU!QVCTRLHoCAW>QO;{^x_k`|Ks6 z)_LV^?tH=9?S7mr%F}t-qUg6I=&ZoW>7o~J-{^h~vU)=w6znErRuTLwPSN^2*r)8w>-6Hbtv^+iO&l~CL#mW5i z-RVgLe8St4cU`=D_ijF)pDtEmUM`vnZ{EIJl$EIY^z+X?|NQfUBeyEvc*jHLmP0V(lk)-Q&GD-QloQ`#LSV$UJ{rR{UA2N_#2T+pPfp&vd2@Vx zd~$L^9Vi$10h94;JRTz%Po~`Jn>v%+CXzaY;+F?YH#CJ8(>^Z>Z!DUl$<*2`&qjN* zgYl%;n@)fc|MvLxi{JkF>eY+W(|5;>I3xf1_$7#Zmok^G@HI}3Umb_?z3kFAjXI{@ zx5saK(aQ6i*T<{T(vQusfL_0je3v#IrrubWVa!-M>#j{Jfvk=#_fAC=CLg#e>|S%qp>$(yQfAJ?3`le`R%u``N(;p zUdC8!`7waXkEfGSkz4WA{Nx>Zd;RhSc=Nik1)i&$000mGNkl?({db_}| z3-WV(d>mZi?IOC$NYFg4Gt;H7`_4PmUcY?Riu_Jcx;-s_X&2XElP{tUn*;JFv5B}C=a z+=%(~aK9HrPMCWaha_Zg_UXa?=l2f3xPSQB;laJ>WPemlb30OL6lK*U!m1Q}y=3qS8%gjV&mfL&d(Y@*Tv;Do#4)+g7 z#e==+C$nh}-Jjh*2+3?wl6kln>eZ&x$su*D>EUF2Fdg5k`3HNm`}?yly|*{HKkLCK z`!n!huMVl^X@dXs`KSN#=>xJlHfC>}A52G?$f(Gy8YAJustd`mhWkryIs(7Z$D5!Y z9w;<0eIIQc#W=j(w0S>rNz?@#yc2O9Xp>HfiF?{K_#Fb)*v z0!A~;yErVSd&T6Si}CEn@;xbP4)=5LudCUvqR=J zMWN;=H7&;b#dxncqxoo-kM^J_Po@X?WHy@YjmCS~XlApqH^riqteB1`drnP0npn*i zi_>vIF_#%{W?xm~YXk~98jV!!crr72_#1T5ksVF5@m{1Pf4q0k6qD&5$-md7G1^P% zbT8P>_U_?r9O?x_z3$Hc`eY6%!k_W?Tj1kL?oayU9eG2Ji5v+3-Rl5s;%z2-cGi*z2aId_0? z@NS~4=6ONIY-o-qr6{i&DxYaK#d$W`XQ1)kAA{{T6o~-dhbez10jHE0U>A!V-qqS(6wtBf@B3q16Kp+UDR4%d|rO1#QOP@d>E!N9;V&MqBL?-!GS73j5LwY3n{@Dmwmj7p3K z$n83~&UL{HutD&`r4L@JevpVWv}b&7;CK>_3Gmv`--Xs;r)zQYjZJKl^Grdcm^9AGgC8GH?;yL#*d`Rs(H?Ed63hU zKv%?6=e?MjMKAWOYhh+8Fx9dbBgY!(!Pu8zB2^37;%!l#OzMgk6}2w8c`Ur&pG^wh z5Q}jn!>}m*yqbsqWK^Veeu?*>C8UXP30`eE&I6-9KC3Fh zCCi;Ll_^RsPNne0K~?OR`Ch~#n=SImBAY*Et75h~YtFx51^cUH55$0Y;ZqF(HOEVp&boGO%5{NUQ9%TltQ%XLUsN;zd zUZBp*dQs`L7e3!_B8|HYCYzLY+(czbV}Q^1+$d%#H0|U*%iE6k^3hCf7S1*AGox0; zYCNon0m}L19HpdKyr;-=>%@4QnbEA^5n}qljt(W;1C>rn89OsY(hS})N5X)bS!rig zw$}ynUIbe+h2p&SIcZT>_a?e9(}kIIX+7c$TH0x82_w>p%V)hP?WD@4eZa{EsDq&> z40i!h-leB9YGSVAh^QI)CUtgPW8&)5kTbE$r(muVQ0F16z=aKKl1ce|tfPrH`Fv3= zDrc?D^E^`-Wj4>Kzh-K(Eb|l2J zS*uLZ)Qe6&BhHn@)R(i znPSp~a-r?PRI`z0lP+)@;p>4S4>kGN?s##%dM%~pKuc7qI>QiFj z!Hz0(D_=L3#4NwB^mV=u516;TUurPmXKP~8(TlAOuyb^c41DnAv1#nLE#NE16HkhG zoq*c2BhPbQ807hq=GQ)oqGbJf`b|fM5uz2_#@B7`hU$f`~LdS>XzBpOFgG}$JFHJN1C%Ow9WQ30kG zu{TjxTI8cL!7znXJ5maorD^f>QeyP6!WQ5sI)vgp0-ml*f$cgvsCB^*y|~n2OQGc? z4b)Og&8*0K!BWXbMFP!;WY}V|fup#15MC5Sbuu486(XoeFJj^7LJgB>9$gVhWT5zu zK$w8M$v2xVIbFSoJ|pc_xKxO3Q-@|m3ZTVA<(BXY%{WS=(PyMl(xu(rD7l;#Meyog#vbg9|_cR|0ku zz@8H+3`m<%i=k^PU|hh6048B8&T)dtA(?Zm52~)GT z7hzHuV%E{YmeV3?QaEEI6|}ChuPLPGFL{t&ig>uMUc_lew+z&aICPixDsL*pZ8L@#2^8Uw zE4m_>5ezgU@=O-Q*|P#c+maF^>#IVGK&a=y~-%s&;@{kWY}W5o?8kVHM`#8=)JTz&R)$G!ftrP z0J`!Ol6Caai70FaR(Ol^LV?1mdQ}l1>F!^yaK!VyX^5oR9OAh(S$3^yu+-jt{ed%Z zCzi@>3-bE$L=RdY>>UwoI&3A8!T|P{NMX95YXzG6E7a&>#1sI00$n$XW`ryF6hqWW zO_(T&0W$^C8Bb->+q_|l!bIs!d}J_8zz;}1VHl_var7?jRbErr^p;GBAt4F7Ow@_N zLjjYD6b8h}GX03y?4_3~G_8{7rZDn!0b+=V5yr@wX^V-?Ez&eZ^chEo#^w-Ba?C+$ z!q5aT>x1Ej5OV@W0h&O@Kuq8|G%7<|NDd>zC=o-!x28rjVn{!FTb~a3SuKzLn>sP7 z^=Y!jRpMcWJkT|S=m8oL)!@l6H06JF)lfqL3NVBM7(6r)oj2)Fz{s0w8}W=dq)%5b zl0LnOU%?Pw!V0z2m6Tfy!$l;`)eOqL3dmQWX|h5sb|q!XM-eIOIrRLA{akn%$Hv=K zp$VFj75wr6V10uXzII)AC<9cy7i&%d+ch;mh}vxn@A~m@Z;F$Mm{Rr*z$Vf}+F~NJ zDaBRGq_v->W>Ui>B1+Qk)?$)ji-}fU+A>eguI6e9v9%PUgw#dEWRh4i3}UlOQBFdX z;h_L;5sU%@B~<7T(CNjH{-$z9kBE7WJoHjOt*Dq_1apiaIUowV6rHYcwWOKSq}dFE zm}BHM&G{VwNd#(<$+DssCJ+A&abFkCdJw%qlV^Ak(+F+Z(A5jfLAR@AzPi~RF6k%F ztx-s30$uP>kP-`n5Sl;}q-JC=0dW)tg@FQ?t$?X*giQw}R1k-NNw|Wa=meUazzq2z zlfA&C7bF=(lbHESX|HnAc?uOK#mOj%U%@o}G|Ket%|MWiAqGrJ5J`($$Mrctg#m!>EI#$)vNF>NJt$Lk!AvMGAx41OkqHVq$Y08e{9y zO>G&v32G6WUC&WMFGEBM6G0bKOJK4INw^iJH4r{y08m0|0?i1zU?PQS>NI&K-ixMA zlgCvAo&>V6CngXG?f#^U}apC=fGPp)l07!ivJhn3)a? zO^PV-PxZF(`X7fIAv^#ON5pE&s6)6dthO5JjZV6~QJ!d0NRk$l6k1G-wk4z)&0%gi zVw_#NY1my4QIh<`L?xQ!E0~Rxn|>I&+1wV7+XQ^3@YZ3_??uzLsgMS0Fm1M_-)vr) zZ^qN)qr)U&Te%vB_Oj?d(lknwiCu}V=t??GW+>XGpC&(~-;yVjBu|p&=D=|iG6Dnpk;-JPDJv*d6Xz?9uSC%Ce1T+&; zE>Q!q8GGR|$1^uBbiw1FW&}Kv$ag8dO(cb;F!DIL0-|k~rh!^acZjZSQ_?a|&90v) zY1*#C$9!UoGL$Acr!?fe7bx^1D#tGT;0+Kha)e0&Lle-uCNNn6TqUefyR<7gX)#P; zO~mO8DaYO}9SW=!Mrt5cx=XM}{jDC|vy?0C?dNQZ2$p zwcNrSy$Ps+)a)|REwtOULW0i-lay#D{+2MC&gzzgy$ho^1GjL2^~Sjq_GVzylW|w> z-Zbun8)ab4RkWtsMnkWyyn*6}igVMGcY`VIRCgKJWngO=xN!F$z24}_d;S0r2fLIK zO)oAryrx3$pa`$&c4z*6GVmU+e4IiX;r%3FH_A{3HYyg%LwNT|pLglx^-DO)J#G4}C%P#y*S@HqiIKD_uIHTe2u`VP-B(-EC9Y zlpCzCztjA%8KAh}!^Uvs(ckk*BT?YW(RK}qzZYH2t4X#S?bTw~ zS>4(UuspzR3y(A6wuQ8nc)V`K%{HBwTbOHBB-rLGujh*tf$RC$Szj>&WWEH1Wa2B)o}G z{s+Blx(?5Y1XN^A$PFLrl`#p(=QMri;c}N~MW^muN=@oX>kgTtX^2Y({_i;?* zPRwGL?JJaN)1+;xe}#~4zsVnPE4%$gSrOq@>b1iEuInZ;u-j^GBC9)}y&1Ua#dg#F zx2}@`*c+pL88|D~exc!u+ zm4a;YwNPt%jb8vLb9B+AE4sSMw?smMHo~T1z7oNXbouTRKzjg{-`mj@g)a+$Y z0KHu+gjXc!B|y~+rO^tU3v0smWx>lQiLG)0^0-=eARLfK{D51#=q z0%96&;boWY1rQ!I0)B^&F9SxxOX&6K6*92V`a$^$L#%Id)BaN=je+7le4t*%iRZ+x z5q^3h^T}i_W~0qwePuMkS`pk1C8F)cM$t8jw2|FTd6$7*25xT#*cm=laBL~P_)ziO ziE%ft*PWQwT@8{2+zlNeNOJfOf)v0tnH2mr{p`%w%m4{rQ}eE?F;lSSEG|9(ghv9N z4Z61B=|OmS2GcOnKdc; zLs-+pmDPsE9g<&ppi2#Rcas-Vq)s-%1>^V8xLftQ^q&b@q0r4{xY(<9<+oN6Pv=`3 z-W39C%_!c2b?M+gE;KM?bh|zsaI+JK43Ng~b^h5hcLo2L451E=8++5Uit0XgWUnRy zy;}A`iRxY2gSL_?inkR%J15-?>~h=9$rU7-)HXB$~ZXGPI>U4P6BTy5E0&1(G&-?abUNYbDt&vRo8ZRZ@S%E3c{BIpM?y@=Y~ zt|56-GwMVda)sLwr(hF+=*>lE=hu%UkpleMTCl6aI)U_MFq$J4Da*Hs`t{Hb>dq-?|oY zly$Yw^rBUl##wafncea`DJsw+elYyc6+qufS(By3$s}HC{s7-7=l9Y!QGc-_3jpjOeZU8 zFsh>Ufp^THbxUEcfau{0hAopz{amWBsl%53N8gN9?$R{zO*5PfKR)KRrQ){5b9XDw z`oFuue*}@=$(4KqdA~Fdw`!qY8tn~aXfv0$DqWj}z9nrk(2Hxjzkca2_0UylNm|Wo z&glJ{Q|ol<8OLg{P*I$O>pgjjL1e<+wmrfEFrLoMbhPT+X%^U$Mj^NchMs3QC%s*1guo~ zLv*HBziTpEOv+VHs4a$YD_mWghwUy@*Z3WvJO9{wDUJW9$f$Kad{_y&0_(@1UN*w| zp0B2P>0(&NEg2ZXkoh|L*NhEwFcbiCdI3xq$U#^B0VLNOl009}!6nxCKS%v{{#HGR z!m}K5%b%&u#AHT=UjRT*kh6ov8T($p&*FQpgI+oq*#MWSZC!yu!PebIhj{J*{`MFW$SkoIFV!O_-lfYX$Sthk2OZ0*j3b8BcBnEktr+FK& z#gMk;iiP31*RQh!FGjr@Rl~bgfmj<@I@;rD{eWDXtxwuc*096`v=qA%6ncfohp?&s zkROsW)ODls8yc6i3}IW-iT=0ct?TDT{YU4}*0@(_;sjj5@KTc-a(n5xADIHD82HF0 zwVTezk%1dpnQrCp0NvEF)kJi=ZmopWfm<8i>cGhMYK3m^jZXFo@pL0h61+uJ-h=K> zWf0K#Y@Bo0SF$SU52ZI5G*8v{D znjThY(gmU)7!dh&D9T_R%{!!1m#Bv@(_RcstydZ0kp7kBH{r7x%zN;^l_9p`q&e{& zfBg)^6Y2VXb{@8pf!lwMTslpr(2GkAn+kZK`9T&ZL-&GsB4TgkZ!PVnE=s!e)=uG? zfyFX)X*UB=vSPUCWQD>;U6*=mDYTktEaZv5CCn8W(~I8V(d?C9L5QoZ;0i-u z$0Wvl9S_&EC4h}QpuZJtH0T{t=9~g|DBzDiRF>;UKgV?@81pc+IQbp_3Rq{{jdTbS zY-I9&l*t=-KV#kWC>v$CHEV2pv1!aW+0b-u~fO z1}%sxaL$o@Rpln1m;F%Y;=TVL00030|J8mYW&i*H21!IgR09AzxY((@?(aPS0000< KMNUMnLSTZykA$=U literal 0 HcmV?d00001 diff --git a/samples/finance-insight-agent/pyproject.toml b/samples/finance-insight-agent/pyproject.toml new file mode 100644 index 000000000..66b4a9ca7 --- /dev/null +++ b/samples/finance-insight-agent/pyproject.toml @@ -0,0 +1,23 @@ +[project] +name = "finance-insight-service" +version = "0.1.0" +description = "Finance Insight Service - research agent" +readme = "README.md" +requires-python = ">=3.10" +dependencies = [ + "crewai[tools]>=0.83.0", + "crewai-tools>=0.28.0", + "openinference-instrumentation-crewai>=0.1.0", + "flask>=3.0.0", + "flask-cors>=4.0.0", + "numpy>=1.26.4", + "openai>=1.40.0", + "pandas>=2.2.2", + "python-dotenv>=1.0.1", +] + +[project.scripts] +finance_insight_api = "finance_insight_service.api_server:main" + +[tool.uv] +package = true diff --git a/samples/finance-insight-agent/src/finance_insight_service/__init__.py b/samples/finance-insight-agent/src/finance_insight_service/__init__.py new file mode 100644 index 000000000..1b9ecc196 --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/__init__.py @@ -0,0 +1 @@ +"""Finance Insight Service package.""" diff --git a/samples/finance-insight-agent/src/finance_insight_service/api_server.py b/samples/finance-insight-agent/src/finance_insight_service/api_server.py new file mode 100644 index 000000000..6154aa100 --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/api_server.py @@ -0,0 +1,552 @@ +from __future__ import annotations + +import argparse +import json +import os +import threading +import time +import uuid +from datetime import datetime +from enum import Enum +from typing import Any +from dotenv import load_dotenv +from flask import Flask, jsonify, request +from flask_cors import CORS +from openinference.instrumentation.crewai import CrewAIInstrumentor + +# Disable CrewAI interactive tracing prompt that causes timeout in containerized environments +os.environ.setdefault("CREWAI_TRACING_ENABLED", "false") + +from crewai.events import ( + CrewKickoffCompletedEvent, + CrewKickoffFailedEvent, + CrewKickoffStartedEvent, + TaskCompletedEvent, + TaskFailedEvent, + TaskStartedEvent, + crewai_event_bus, +) +from finance_insight_service.crew import FinanceInsightCrew + + +class JobStatus(str, Enum): + PENDING = "pending" + RUNNING = "running" + COMPLETED = "completed" + FAILED = "failed" + CANCELLED = "cancelled" + + +# In-memory job storage (for production, use Redis or database) +jobs = {} +jobs_lock = threading.Lock() +JOB_EXPIRATION_SECONDS = 600 # Jobs expire after 10 minutes (reduced to free memory faster) + + +def _utc_now() -> datetime: + return datetime.utcnow() + + +def _is_job_cancelled(job_id: str) -> bool: + with jobs_lock: + job = jobs.get(job_id) + return bool(job and job.get("status") == JobStatus.CANCELLED) + + +def _cleanup_expired_jobs(): + """Background thread to periodically clean up expired jobs.""" + while True: + time.sleep(300) # Check every 5 minutes + try: + now = _utc_now() + expired_jobs = [] + + with jobs_lock: + for job_id, job in list(jobs.items()): + # Parse completion time + updated_str = job.get("updated_at", "") + if updated_str: + try: + updated_time = datetime.fromisoformat(updated_str.replace('Z', '+00:00')) + except: + continue + + age_seconds = (now - updated_time).total_seconds() + + # Remove completed/failed jobs older than expiration time + if job["status"] in [JobStatus.COMPLETED, JobStatus.FAILED, JobStatus.CANCELLED] and age_seconds > JOB_EXPIRATION_SECONDS: + expired_jobs.append(job_id) + del jobs[job_id] + print(f"[CLEANUP] Removed expired job {job_id} (age: {age_seconds:.0f}s)") + + if expired_jobs: + import gc + gc.collect() + print(f"[CLEANUP] Cleaned up {len(expired_jobs)} expired jobs, freed memory") + + except Exception as e: + print(f"[CLEANUP] Error in cleanup thread: {e}") + + +def _normalize_list(value: Any) -> list[str]: + if value is None: + return [] + if isinstance(value, list): + return [str(item).strip() for item in value if str(item).strip()] + if isinstance(value, str): + return [v.strip() for v in value.split(",") if v.strip()] + return [str(value).strip()] + + +def _build_search_query(query: str, tickers: Any, sites: Any) -> str: + parts = [query.strip()] if query.strip() else [] + tickers_list = _normalize_list(tickers) + if tickers_list: + parts.append("(" + " OR ".join(tickers_list) + ")") + sites_list = _normalize_list(sites) + if sites_list: + parts.append("(" + " OR ".join(f"site:{s}" for s in sites_list) + ")") + return " ".join(parts).strip() + + +def _format_task_label(task_name: str | None) -> str: + name = (task_name or "").lower() + if "research" in name: + return "Research" + if "quant" in name: + return "Quant" + if "audit" in name: + return "Audit" + if "report" in name: + return "Report" + return (task_name or "Task").replace("_", " ").title() + + +def _extract_text(value: Any) -> str: + if value is None: + return "" + if isinstance(value, str): + return value + if isinstance(value, dict): + if "final_response" in value: + return str(value["final_response"]) + if "report" in value: + return str(value["report"]) + for attr in ("raw", "output", "json"): + if hasattr(value, attr): + try: + extracted = getattr(value, attr) + except Exception: + continue + if extracted: + return str(extracted) + return str(value) + + +def _extract_final_response(raw: Any) -> tuple[str, Any]: + if raw is None: + return "", raw + text = _extract_text(raw) + stripped = text.strip() + if not stripped: + return "", raw + try: + parsed = json.loads(stripped) + except json.JSONDecodeError: + return stripped, raw + if isinstance(parsed, dict): + if parsed.get("final_response"): + return str(parsed["final_response"]), parsed + if parsed.get("report"): + return str(parsed["report"]), parsed + return stripped, parsed + + +def _build_inputs(payload: dict[str, Any]) -> dict[str, Any]: + user_request = payload.get("message", "") + query = payload.get("query") or user_request + tickers = payload.get("tickers", "") + sites = payload.get("sites", "") + symbol = payload.get("symbol", "") + interval = payload.get("interval", "1day") + outputsize = int(payload.get("outputsize", 260) or 260) + horizon_days = int(payload.get("horizon_days", 30) or 30) + provided_data = payload.get("provided_data", "") + if isinstance(provided_data, (dict, list)): + provided_data = json.dumps(provided_data) + search_query = _build_search_query(query, tickers, sites) + + # Get current date/time to provide context + current_date = datetime.now().strftime("%Y-%m-%d") + current_year = datetime.now().year + days = int(payload.get("days", 7) or 7) + max_articles = int(payload.get("max_articles", 8) or 8) + + return { + "user_request": user_request, + "current_date": current_date, + "current_year": current_year, + "sources_requested": str(bool(payload.get("sources_requested"))), + "query": query, + "tickers": tickers, + "sites": sites, + "days": days, + "max_articles": max_articles, + "search_query": search_query, + "symbol": symbol, + "interval": interval, + "outputsize": outputsize, + "horizon_days": horizon_days, + "request": user_request, + "provided_data": provided_data, + } + + +def create_app() -> Flask: + load_dotenv() + CrewAIInstrumentor().instrument() + + app = Flask(__name__) + CORS(app, resources={ + r"/*": { + "origins": "*", + "methods": ["GET", "POST", "OPTIONS"], + "allow_headers": ["Content-Type", "Authorization", "X-API-Key"], + "expose_headers": ["Content-Type"], + "supports_credentials": False + } + }) + + # Start cleanup thread (only once per app instance) + if not hasattr(create_app, '_cleanup_started'): + cleanup_thread = threading.Thread(target=_cleanup_expired_jobs, daemon=True) + cleanup_thread.start() + create_app._cleanup_started = True + print("[INIT] Started job cleanup thread") + + api_key = os.getenv("API_KEY", "") + + def check_auth() -> bool: + if not api_key: + return True + header = request.headers.get("Authorization", "") + token = "" + if header.lower().startswith("bearer "): + token = header.split(" ", 1)[1].strip() + token = token or request.headers.get("X-API-Key", "").strip() + return token == api_key + + @app.before_request + def _auth_guard(): + if request.path == "/health": + return None + if not check_auth(): + return jsonify({"error": "Unauthorized"}), 401 + return None + + @app.get("/health") + def health(): + import sys + job_count = 0 + pending = 0 + running = 0 + completed = 0 + failed = 0 + + with jobs_lock: + job_count = len(jobs) + for job in jobs.values(): + status = job.get("status") + if status == JobStatus.PENDING: + pending += 1 + elif status == JobStatus.RUNNING: + running += 1 + elif status == JobStatus.COMPLETED: + completed += 1 + elif status == JobStatus.FAILED: + failed += 1 + + return jsonify( + { + "status": "ok", + "jobs": { + "total": job_count, + "pending": pending, + "running": running, + "completed": completed, + "failed": failed, + }, + "memory_mb": sys.getsizeof(jobs) / (1024 * 1024), + } + ) + + @app.get("/config") + def config(): + """Return which API services are configured""" + has_serpapi = bool(os.getenv("SERPAPI_API_KEY")) + has_news = has_serpapi + return jsonify({ + "services": { + "openai": bool(os.getenv("OPENAI_API_KEY")), + "serpapi": has_serpapi, + "twelveData": bool(os.getenv("TWELVE_DATA_API_KEY")), + "alphaVantage": bool(os.getenv("ALPHAVANTAGE_API_KEY")), + }, + "capabilities": { + "news_search": has_news, + "market_data": bool(os.getenv("TWELVE_DATA_API_KEY")), + "fundamentals": bool(os.getenv("ALPHAVANTAGE_API_KEY")), + "ai_agents": bool(os.getenv("OPENAI_API_KEY")), + } + }) + + # ============= ASYNC JOB-BASED ENDPOINTS ============= + + @app.post("/chat/async") + def chat_async(): + """Start async report job and return job ID immediately.""" + payload = request.get_json(force=True) or {} + message = str(payload.get("message", "")).strip() + if not message: + return jsonify({"error": "Empty message"}), 400 + + # Create job + job_id = str(uuid.uuid4()) + + with jobs_lock: + jobs[job_id] = { + "id": job_id, + "status": JobStatus.PENDING, + "request": message, + "traces": [], + "result": None, + "error": None, + "created_at": _utc_now().isoformat(), + "updated_at": _utc_now().isoformat(), + } + + # Start background job + def run_job(): + with jobs_lock: + if jobs[job_id]["status"] == JobStatus.CANCELLED: + return + jobs[job_id]["status"] = JobStatus.RUNNING + jobs[job_id]["updated_at"] = _utc_now().isoformat() + + try: + # Setup trace collection + traces: list[dict[str, Any]] = [] + trace_lock = threading.Lock() + seq = 0 + pending_crew_completed = False + crew_completed_emitted = False + seen_tasks: set[str] = set() + + def emit_trace(event_type: str, task: str | None = None, agent: str | None = None) -> None: + label = _format_task_label(task) + message_text = event_type.replace("_", " ").title() + if event_type == "crew_started": + message_text = "Workflow started" + elif event_type == "crew_completed": + message_text = "Workflow completed" + elif event_type == "crew_failed": + message_text = "Workflow failed" + elif event_type == "task_started": + message_text = f"{label} in progress" + elif event_type == "task_completed": + message_text = f"{label} completed" + elif event_type == "task_failed": + message_text = f"{label} failed" + + with trace_lock: + nonlocal seq + seq += 1 + entry = { + "seq": seq, + "type": event_type, + "message": message_text, + "agent": agent, + "task": task, + "timestamp": _utc_now().isoformat(), + } + traces.append(entry) + with jobs_lock: + jobs[job_id]["traces"] = traces[-10:] + jobs[job_id]["updated_at"] = _utc_now().isoformat() + + # Execute crew + inputs = _build_inputs(payload) + crew = FinanceInsightCrew().build_crew() + + # Store unsubscribe functions to clean up after + unsubscribe_funcs = [] + + try: + # Subscribe to events and store unsubscribe functions + def handler_wrapper(src, evt): + nonlocal pending_crew_completed + nonlocal crew_completed_emitted + if isinstance(evt, CrewKickoffStartedEvent): + emit_trace("crew_started") + elif isinstance(evt, CrewKickoffCompletedEvent): + if crew_completed_emitted: + return + if "report_task" in seen_tasks: + emit_trace("crew_completed") + crew_completed_emitted = True + else: + pending_crew_completed = True + elif isinstance(evt, CrewKickoffFailedEvent): + emit_trace("crew_failed") + elif isinstance(evt, TaskStartedEvent): + task_name = getattr(evt.task, "name", None) or "task" + agent = getattr(getattr(evt.task, "agent", None), "role", None) + emit_trace("task_started", task=task_name, agent=agent) + elif isinstance(evt, TaskCompletedEvent): + task_name = getattr(evt.task, "name", None) or "task" + agent = getattr(getattr(evt.task, "agent", None), "role", None) + emit_trace("task_completed", task=task_name, agent=agent) + seen_tasks.add(task_name) + if task_name == "report_task" and not crew_completed_emitted: + emit_trace("crew_completed") + crew_completed_emitted = True + pending_crew_completed = False + elif isinstance(evt, TaskFailedEvent): + task_name = getattr(evt.task, "name", None) or "task" + agent = getattr(getattr(evt.task, "agent", None), "role", None) + emit_trace("task_failed", task=task_name, agent=agent) + + for event_cls in [ + CrewKickoffStartedEvent, + CrewKickoffCompletedEvent, + CrewKickoffFailedEvent, + TaskStartedEvent, + TaskCompletedEvent, + TaskFailedEvent, + ]: + unsub = crewai_event_bus.on(event_cls)(handler_wrapper) + unsubscribe_funcs.append(unsub) + + result = crew.kickoff(inputs=inputs) + finally: + # Unsubscribe all handlers to prevent memory leaks + for unsub in unsubscribe_funcs: + try: + unsub() + except Exception: + pass + + if _is_job_cancelled(job_id): + with jobs_lock: + jobs[job_id]["updated_at"] = _utc_now().isoformat() + return + + # Extract and save response + final_response, raw_output = _extract_final_response(result) + report_text = (final_response or "").strip() + if not report_text: + raise ValueError("No report returned from crew.") + + # Update job with result + with jobs_lock: + if jobs[job_id]["status"] == JobStatus.CANCELLED: + jobs[job_id]["updated_at"] = _utc_now().isoformat() + return + jobs[job_id]["status"] = JobStatus.COMPLETED + jobs[job_id]["result"] = { + "report": report_text, + } + jobs[job_id]["updated_at"] = _utc_now().isoformat() + + except Exception as e: + import traceback + traceback.print_exc() + with jobs_lock: + if jobs[job_id]["status"] != JobStatus.CANCELLED: + jobs[job_id]["status"] = JobStatus.FAILED + jobs[job_id]["error"] = str(e) + jobs[job_id]["updated_at"] = _utc_now().isoformat() + + thread = threading.Thread(target=run_job, daemon=True) + thread.start() + + return jsonify({"jobId": job_id, "status": JobStatus.PENDING}) + + @app.get("/chat/async//status") + def get_job_status(job_id: str): + """Get job status and latest traces.""" + with jobs_lock: + job = jobs.get(job_id) + if not job: + return jsonify({"error": "Job not found"}), 404 + + return jsonify({ + "jobId": job["id"], + "status": job["status"], + "traces": job["traces"][-10:], # Last 10 traces + "traceCount": len(job["traces"]), + "updatedAt": job["updated_at"], + }) + + @app.post("/chat/async//cancel") + def cancel_job(job_id: str): + """Cancel a running job (best effort).""" + with jobs_lock: + job = jobs.get(job_id) + if not job: + return jsonify({"error": "Job not found"}), 404 + + if job["status"] in [JobStatus.COMPLETED, JobStatus.FAILED, JobStatus.CANCELLED]: + return jsonify({"jobId": job_id, "status": job["status"]}) + + job["status"] = JobStatus.CANCELLED + job["error"] = "Cancelled by user" + job["updated_at"] = _utc_now().isoformat() + + return jsonify({"jobId": job_id, "status": JobStatus.CANCELLED}) + + @app.get("/chat/async//result") + def get_job_result(job_id: str): + """Get final job result.""" + with jobs_lock: + job = jobs.get(job_id) + if not job: + return jsonify({"error": "Job not found"}), 404 + + if job["status"] == JobStatus.PENDING or job["status"] == JobStatus.RUNNING: + return jsonify({"error": "Job not yet completed", "status": job["status"]}), 425 + + if job["status"] == JobStatus.FAILED: + return jsonify({"error": job["error"], "status": job["status"]}), 500 + + if job["status"] == JobStatus.CANCELLED: + return jsonify({"error": job.get("error", "Job cancelled"), "status": job["status"]}), 409 + + result = { + "jobId": job["id"], + "status": job["status"], + "result": job["result"], + } + + # Don't delete job immediately - let cleanup thread handle expiration + # This allows retrying result fetch if needed and prevents memory pressure + # Jobs will be auto-cleaned after JOB_EXPIRATION_SECONDS + + return jsonify(result) + + return app + + +def main() -> None: + parser = argparse.ArgumentParser(description="Finance Insight API server.") + parser.add_argument("--host", default="0.0.0.0") + parser.add_argument("--port", type=int, default=5000) + parser.add_argument("--debug", action="store_true") + args = parser.parse_args() + + app = create_app() + app.run(host=args.host, port=args.port, debug=args.debug) + + +if __name__ == "__main__": + main() diff --git a/samples/finance-insight-agent/src/finance_insight_service/config/agents.yaml b/samples/finance-insight-agent/src/finance_insight_service/config/agents.yaml new file mode 100644 index 000000000..372c1301c --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/config/agents.yaml @@ -0,0 +1,51 @@ +researcher: + role: > + Researcher + goal: > + Find relevant finance news and extract evidence-backed drivers with citations. + backstory: > + You are a careful financial researcher who only uses sources you can access. + You highlight missing timestamps and avoid inventing facts or citations. + When a website fails, note it in limitations and move on to other sources. + You always attempt to find at least 2-3 accessible sources rather than failing on blocked sites. + +quant: + role: > + Analyst + goal: > + Fetch market data, compute indicators deterministically, and produce bounded scenarios. + backstory: > + You are a quantitative analyst who prioritizes reproducible calculations. + You never do math in your head; you always use the safe Python tool. + You can use numpy and pandas inside safe_python_exec; other modules are not available. + Built-in time module is permitted for pandas internals. + CRITICAL: When the user query mentions "today", "current", "now", or specific years, + ALWAYS use safe_python_exec to get the current date FIRST using datetime module. + Example: print(json.dumps({"current_date": datetime.now().strftime("%Y-%m-%d"), "current_year": datetime.now().year})) + You keep generated code clean: no leading indentation or markdown. + You normalize input data to simple arrays or dictionaries before inputing safe_python_exec to avoid type errors. + You always pass data_json as a list of row dicts or a dict of lists, never the provider wrapper or a JSON string. + You ensure safe_python_exec prints a single JSON object via json.dumps. + You choose only the computations needed for the request and keep scripts small; if big calculations are needed, break them into smaller parts. + You use provided_data when available and only fetch market data when required. + You use company_fundamentals_fetch only when the request needs company fundamentals or ratios. + +auditor: + role: > + Reviewer + goal: > + Validate outputs and flag issues before reporting. + backstory: > + You are a strict quality gate. You only approve outputs that are internally + consistent, evidence-backed, and policy-compliant. If something fails, you + provide precise, bounded repair instructions and state limitations. + +reporter: + role: > + Reporter + goal: > + Draft the final user-facing report from audited outputs. + backstory: > + You write concise, structured reports based on the audit summary and supporting + research and quant outputs. You never add new facts and never ask follow-up + questions. diff --git a/samples/finance-insight-agent/src/finance_insight_service/config/tasks.yaml b/samples/finance-insight-agent/src/finance_insight_service/config/tasks.yaml new file mode 100644 index 000000000..1a51b895a --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/config/tasks.yaml @@ -0,0 +1,222 @@ +research_task: + description: > + You are given a research request: + User request: {user_request} + Current date: {current_date} + Current year: {current_year} + Query: {query} + Tickers: {tickers} + Sites (optional): {sites} + Lookback days: {days} + Max articles: {max_articles} + Search query: {search_query} + + IMPORTANT: Today is {current_date} (year {current_year}). Use this as reference when + evaluating article recency and relevance. Focus on articles from recent months/years. + + Use the configured search tool (serpapi_news_search) to + discover relevant articles with search_query. If tickers are provided, include + them in the search terms. If sites are provided, use site: filters + (for example: site:reuters.com OR site:bloomberg.com). The search is not limited to + 3 sources; gather up to Max articles. + + For each article you choose, use ScrapeWebsiteTool to read the full content. If the + search results include a source_url, prefer that; otherwise use the link. If a URL + times out or fails to load (connection error, bot protection, etc.), note it in + limitations and try other sources. Do not fail the entire task. Aim to successfully + scrape at least 2-3 sources from the search results. + + Extract for each article: + - headline or title (if present) + - published timestamp (ISO 8601 if present; otherwise use "unknown") + - 1 to 3 key points grounded in the article + + Cluster the articles into 2 to 4 drivers (earnings, macro, regulation, product + news, etc.). For each driver, explain "why it matters" using only evidence from + the scraped sources. + + Scope: + - If user_request is not about finance, markets, companies, macroeconomics, or + investing, do not call any tools. Return empty drivers/articles/metrics_formulas + and add a limitation stating the request is out of scope. + - If the user_request is ambiguous, do not ask follow-up questions. Return empty + drivers/articles/metrics_formulas and add a limitation stating what is ambiguous + and what information is needed to proceed. + + Rules: + - Do not invent facts, dates, or citations. + - If a URL cannot be accessed or lacks a publish time, note that in limitations. + - Use only the sources you retrieved in this run. + - If the user request involves predictions, ratios, or valuation metrics, extract + formulas and variable definitions into metrics_formulas for internal use; do not + surface formulas in the final response unless the user requests them or they are + directly explanatory. + expected_output: > + Return strict JSON with these keys: + - drivers: list of 2 to 4 objects with fields: + - driver: short title + - why_it_matters: 1 to 3 sentences + - citations: list of objects with fields url, published_at, evidence + - articles: list of objects with fields: + - url + - headline + - published_at + - key_points (list of strings) + - metrics_formulas: list of objects with fields: + - metric + - formula + - variables + - citation_url + - limitations: list of strings (empty if none) + +quant_task: + description: > + You are given a quantitative request: + Symbol: {symbol} + Interval: {interval} + Output size: {outputsize} + Horizon days: {horizon_days} + Request: {request} + Current date: {current_date} + Current year: {current_year} + Provided data (optional): {provided_data} + + IMPORTANT: Today is {current_date} (year {current_year}). Use this as your reference + point for all time-based analysis. If you need to verify or use dates in calculations, + you can confirm via safe_python_exec with datetime module. + + Scope: + - If the Request is not about financial markets, companies, or quantitative analysis, + do not call any tools. Return a minimal snapshot with limitations noting the request + is out of scope. + - If the Request is ambiguous, do not ask follow-up questions. Return a minimal + snapshot and add a limitation stating what is ambiguous and what information is + needed to proceed. + + Decide which computations are needed based on the Request. Do not compute everything + by default. + + If provided_data is supplied, use it and do not call price_history_fetch unless the + Request explicitly asks for fresh market data. + If provided_data is not supplied and market data is needed, use price_history_fetch. + If the Request needs fundamentals or ratios (ROE, margins, FCF, D/E, P/E, P/B), + use company_fundamentals_fetch unless provided_data already includes those metrics. + company_fundamentals_fetch returns overview plus income/balance/cashflow reports; extract + ratio fields from overview and compute others from the statements as needed. + + Use safe_python_exec as a calculator. Prefer small, single-purpose scripts. + Each call should accept simplified input data, compute one logical step, + and print a single JSON object to stdout. Allowed modules: math, statistics, + datetime, time, json, numpy, pandas. + Always call safe_python_exec with both code and simplified data. + If you need to inspect data, do it outside the safe_python_exec. + If multiple symbols are mentioned, handle one symbol per call; if only one + quant task is available, pick the first symbol and note the limitation. + Do not pass a multi-symbol dict into a single safe_python_exec call. + Prefer simplified inputs: extract only the needed arrays/dicts from any + tool output before calling safe_python_exec (for example, pass a list of + closes or a list of OHLCV dicts, not the full provider wrapper). + Always pass data_json as a list of row dicts or a dict of lists. Do not + pass the full provider wrapper; extract provider_output["data"] first. + If you only have a single row dict, wrap it in a list. + Never pass data_json as a JSON string. Only use json.loads if you + explicitly passed a JSON string. + + If safe_python_exec returns CODE_ERROR, fix the code and retry. Do not proceed + until you get SUCCESS or you have retried 3 times, then return the error in + limitations. + + Coding rules (important to avoid exec errors): + - No leading indentation at top-level lines. + - Use 4 spaces for indents inside blocks only. + - Do not include code fences or markdown in the code string. + - Always include `import json` when printing results. + - Always end with print(json.dumps(result, ensure_ascii=True)). + - Prefer single-line expressions over multi-line blocks where possible. + - When parsing dates, use pandas to_datetime with errors="coerce" and format="mixed". + - Normalize input data before building the DataFrame: + - If data is a JSON string, parse it with json.loads. + - If data is already a dict or list, use it directly; do not call json.loads. + - If data is a dict with a "data" key, use data["data"] as records. + - If data is a list, use it directly as records. + - If records are strings, parse each element with json.loads. + - If required columns are missing, return a limitation explaining it. + - Do not call exit(); return a limitations list instead. + + Default fallback (when Request is empty or unclear): + - last_close, returns_1d, volatility_annualized, data_points. + + Scenarios (only if relevant to the Request): + - base: expected return over horizon_days + - bull: expected return + 1.0 * volatility over horizon_days + - bear: expected return - 1.0 * volatility over horizon_days + + Use the last_close as the starting price if scenarios are computed. Explain + assumptions in the output. + + Output must include as_of, snapshot, and limitations. Include scenarios only + if you computed them. + + Use only the available data; if data is missing, state limitations. + expected_output: > + Return strict JSON with these keys: + - as_of: object with timestamp and provider + - snapshot: object with data_points and computed metrics (keys vary by Request) + - scenarios: optional object with base, bull, bear each containing price_target, + range_low, range_high, and assumptions + - limitations: list of strings (empty if none) + +audit_task: + description: > + You are the Auditor. + User request: {user_request} + Use Research output and Quant output from context. + + Validate the outputs for: + - evidence quality and citations (research) + - numeric sanity and required metrics (quant) + - alignment with the user request + + If something is missing or inconsistent, set audit_status to REJECTED or PARTIAL + and explain issues with precise fix actions. Provide a concise audit_summary for + the report writer to use. + + Scope: + - If user_request is unrelated to finance, markets, companies, macroeconomics, or + investing, set audit_status to REJECTED and add an issue with category "scope". + - If user_request is ambiguous, set audit_status to PARTIAL and add an issue with + category "ambiguity". Do not ask follow-up questions. + expected_output: > + Return strict JSON with these keys: + - audit_status: APPROVED | REJECTED | PARTIAL + - issues: list of objects with category, problem, fix_action + - notes: list of strings + - audit_summary: string (1 to 3 sentences for the report writer) + +report_task: + description: > + You are the Report writer. + User request: {user_request} + Use Research output, Quant output, and Audit output from context. + + Generate the final user-facing response. The response must be concise, direct, + and not conversational. Do not ask follow-up questions. + + Rules: + - If audit_status is REJECTED, respond with a brief refusal and mention the key + limitation from the audit issues. + - If audit_status is PARTIAL, provide a minimal response and include a + "Limitations:" section describing what is missing. + - Do not invent facts or numbers. + - Only use numbers present in quant output. + - If research_output is missing, avoid news claims and state limitations. + - Do not include citations unless the user explicitly requested sources. + - Do not include formulas/variable definitions unless the user requested them. + + Formatting: + - Main response: 2 to 4 sentences or 3 to 5 bullet points. + - Add "Limitations:" if needed. + - Add "Sources:" only if requested. + expected_output: > + Return strict JSON with these keys: + - final_response: string (main answer, then Limitations:/Sources: sections if applicable) diff --git a/samples/finance-insight-agent/src/finance_insight_service/crew.py b/samples/finance-insight-agent/src/finance_insight_service/crew.py new file mode 100644 index 000000000..eab96ec1d --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/crew.py @@ -0,0 +1,153 @@ +from crewai import Agent, Crew, Process, Task +from crewai.project import CrewBase, agent, crew, task +from crewai_tools import ScrapeWebsiteTool + +from finance_insight_service.tools.company_fundamentals_fetch import ( + CompanyFundamentalsFetchTool, +) +from finance_insight_service.tools.safe_python_exec import SafePythonExecTool +from finance_insight_service.tools.price_history_fetch import PriceHistoryFetchTool +from finance_insight_service.tools.serpapi_news_search import SerpApiNewsSearchTool + + +@CrewBase +class FinanceInsightCrew: + """Research + quant crew for finance insight service.""" + + agents_config = "config/agents.yaml" + tasks_config = "config/tasks.yaml" + + @agent + def researcher(self) -> Agent: + return Agent( + config=self.agents_config["researcher"], + tools=[SerpApiNewsSearchTool(), ScrapeWebsiteTool()], + verbose=True, + allow_delegation=False, + ) + + @agent + def quant(self) -> Agent: + return Agent( + config=self.agents_config["quant"], + tools=[ + PriceHistoryFetchTool(), + CompanyFundamentalsFetchTool(), + SafePythonExecTool(), + ], + verbose=True, + allow_delegation=False, + ) + + @agent + def auditor(self) -> Agent: + return Agent( + config=self.agents_config["auditor"], + verbose=True, + allow_delegation=False, + ) + + @agent + def reporter(self) -> Agent: + return Agent( + config=self.agents_config["reporter"], + verbose=True, + allow_delegation=False, + ) + + @task + def research_task(self) -> Task: + return Task( + config=self.tasks_config["research_task"], + agent=self.researcher(), + name="research_task", + ) + + @task + def quant_task(self) -> Task: + return Task( + config=self.tasks_config["quant_task"], + agent=self.quant(), + name="quant_task", + ) + + @task + def audit_task(self) -> Task: + return Task( + config=self.tasks_config["audit_task"], + agent=self.auditor(), + name="audit_task", + ) + + @task + def report_task(self) -> Task: + return Task( + config=self.tasks_config["report_task"], + agent=self.reporter(), + name="report_task", + ) + + def build_crew( + self, task_names: list[str] | None = None, include_all_agents: bool = True + ) -> Crew: + research_task = self.research_task() + quant_task = self.quant_task() + audit_task = self.audit_task() + report_task = self.report_task() + + full_order = [research_task, quant_task, audit_task, report_task] + + task_map = { + "research": research_task, + "quant": quant_task, + "audit": audit_task, + "report": report_task, + } + if task_names: + unknown = [name for name in task_names if name not in task_map] + if unknown: + raise ValueError(f"Unknown task names: {', '.join(unknown)}") + selected_tasks = [task_map[name] for name in task_names] + else: + selected_tasks = full_order + + if set(selected_tasks) == set(full_order): + quant_task.context = [research_task] + audit_task.context = [research_task, quant_task] + report_task.context = [research_task, quant_task, audit_task] + + if include_all_agents: + agents = [ + self.researcher(), + self.quant(), + self.auditor(), + self.reporter(), + ] + else: + selected_names = set(task_names or task_map.keys()) + agents = [] + if "research" in selected_names: + agents.append(self.researcher()) + if "quant" in selected_names: + agents.append(self.quant()) + if "audit" in selected_names: + agents.append(self.auditor()) + if "report" in selected_names: + agents.append(self.reporter()) + + crew_name = "finance_insight_crew" + + return Crew( + name=crew_name, + agents=agents, + tasks=selected_tasks, + process=Process.sequential, + verbose=True, + tracing=True, + ) + + @crew + def crew(self) -> Crew: + """Creates the Finance Insight crew.""" + return self.build_crew() + diff --git a/samples/finance-insight-agent/src/finance_insight_service/tools/__init__.py b/samples/finance-insight-agent/src/finance_insight_service/tools/__init__.py new file mode 100644 index 000000000..3d4367a55 --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/tools/__init__.py @@ -0,0 +1 @@ +"""Tooling for the finance insight service.""" diff --git a/samples/finance-insight-agent/src/finance_insight_service/tools/company_fundamentals_fetch.py b/samples/finance-insight-agent/src/finance_insight_service/tools/company_fundamentals_fetch.py new file mode 100644 index 000000000..c9fd093e3 --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/tools/company_fundamentals_fetch.py @@ -0,0 +1,113 @@ +import json +import os +from datetime import datetime +from typing import Any +from urllib.parse import urlencode +from urllib.request import Request, urlopen + +from pydantic import BaseModel, Field + +from crewai.tools import BaseTool + + +class CompanyFundamentalsFetchArgs(BaseModel): + symbol: str = Field(..., description="Ticker or symbol to fetch fundamentals for.") + limit: int = Field(1, description="Number of periods to return (latest first).") + + +class CompanyFundamentalsFetchTool(BaseTool): + name: str = "company_fundamentals_fetch" + description: str = ( + "Fetches fundamentals from Alpha Vantage (overview, income statement, " + "balance sheet, cash flow). Requires ALPHAVANTAGE_API_KEY in the environment." + ) + args_schema: type[BaseModel] = CompanyFundamentalsFetchArgs + + def _run(self, symbol: str, limit: int = 1) -> str: + symbol = (symbol or "").strip().upper() + if not symbol: + return _error_payload("symbol is required") + + api_key = (os.getenv("ALPHAVANTAGE_API_KEY") or "").strip().strip("\"'").strip() + if not api_key: + return _error_payload("ALPHAVANTAGE_API_KEY missing", provider="alpha_vantage") + + limit = max(1, min(int(limit), 12)) + + overview, overview_error = _fetch_alpha("OVERVIEW", symbol, api_key) + income_raw, income_error = _fetch_alpha("INCOME_STATEMENT", symbol, api_key) + balance_raw, balance_error = _fetch_alpha("BALANCE_SHEET", symbol, api_key) + cash_raw, cash_error = _fetch_alpha("CASH_FLOW", symbol, api_key) + + errors = [ + err + for err in [overview_error, income_error, balance_error, cash_error] + if err + ] + payload: dict[str, Any] = { + "provider": "alpha_vantage", + "symbol": symbol, + "fetched_at": datetime.utcnow().isoformat() + "Z", + "fundamentals": { + "overview": overview if isinstance(overview, dict) else {}, + "income_statement": _trim_reports(income_raw, limit), + "balance_sheet": _trim_reports(balance_raw, limit), + "cash_flow": _trim_reports(cash_raw, limit), + }, + "error": "; ".join(errors) if errors else "", + } + return json.dumps(payload, ensure_ascii=True) + + +def _fetch_alpha(function: str, symbol: str, api_key: str) -> tuple[Any, str]: + base_url = "https://www.alphavantage.co/query" + query = {"function": function, "symbol": symbol, "apikey": api_key} + url = f"{base_url}?{urlencode(query)}" + request = Request(url, headers={"User-Agent": "FinanceInsightBot/1.0"}) + + try: + with urlopen(request, timeout=20) as response: + payload = json.loads(response.read().decode("utf-8")) + except Exception as exc: + return {}, f"{function} request failed: {exc}" + + if isinstance(payload, dict): + message = payload.get("Error Message") or payload.get("Note") or payload.get( + "Information" + ) + if message: + return {}, message + + return payload, "" + + +def _trim_reports(payload: Any, limit: int) -> dict[str, list[dict[str, Any]]]: + if not isinstance(payload, dict): + return {"annual": [], "quarterly": []} + + annual = payload.get("annualReports") or [] + quarterly = payload.get("quarterlyReports") or [] + if not isinstance(annual, list): + annual = [] + if not isinstance(quarterly, list): + quarterly = [] + + return {"annual": annual[:limit], "quarterly": quarterly[:limit]} + + +def _error_payload(message: str, provider: str = "") -> str: + return json.dumps( + { + "provider": provider, + "symbol": "", + "fetched_at": datetime.utcnow().isoformat() + "Z", + "fundamentals": { + "overview": {}, + "income_statement": {"annual": [], "quarterly": []}, + "balance_sheet": {"annual": [], "quarterly": []}, + "cash_flow": {"annual": [], "quarterly": []}, + }, + "error": message, + }, + ensure_ascii=True, + ) diff --git a/samples/finance-insight-agent/src/finance_insight_service/tools/price_history_fetch.py b/samples/finance-insight-agent/src/finance_insight_service/tools/price_history_fetch.py new file mode 100644 index 000000000..065cb64e9 --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/tools/price_history_fetch.py @@ -0,0 +1,120 @@ +import json +import os +from datetime import datetime +from typing import Any +from urllib.parse import urlencode +from urllib.request import Request, urlopen + +from pydantic import BaseModel, Field + +from crewai.tools import BaseTool + + +class PriceHistoryFetchArgs(BaseModel): + symbol: str = Field(..., description="Ticker or symbol to fetch.") + interval: str = Field("1day", description="Interval (1day, 1week, 1month).") + outputsize: int = Field(365, description="Number of data points to return.") + + +class PriceHistoryFetchTool(BaseTool): + name: str = "price_history_fetch" + description: str = ( + "Fetches OHLCV price history from Twelve Data. " + "Requires TWELVE_DATA_API_KEY in the environment." + ) + args_schema: type[BaseModel] = PriceHistoryFetchArgs + + def _run(self, symbol: str, interval: str = "1day", outputsize: int = 365) -> str: + symbol = (symbol or "").strip() + if not symbol: + return _error_payload("symbol is required") + + interval = (interval or "1day").strip().lower() + outputsize = max(10, min(int(outputsize), 2000)) + + payload = _fetch_twelve_data(symbol, interval, outputsize) + return json.dumps(payload, ensure_ascii=True) + + +def _error_payload(message: str, provider: str = "") -> str: + return json.dumps( + { + "provider": provider, + "symbol": "", + "interval": "", + "fetched_at": datetime.utcnow().isoformat() + "Z", + "data": [], + "error": message, + }, + ensure_ascii=True, + ) + + +def _fetch_twelve_data(symbol: str, interval: str, outputsize: int) -> dict[str, Any]: + api_key = os.getenv("TWELVE_DATA_API_KEY") + if not api_key: + return _error_dict("twelve_data", symbol, interval, "TWELVE_DATA_API_KEY missing") + + query = urlencode( + { + "symbol": symbol, + "interval": interval, + "outputsize": outputsize, + "apikey": api_key, + "format": "JSON", + } + ) + url = f"https://api.twelvedata.com/time_series?{query}" + request = Request(url, headers={"User-Agent": "FinanceInsightBot/1.0"}) + + try: + with urlopen(request, timeout=15) as response: + payload = json.loads(response.read().decode("utf-8")) + except Exception as exc: + return _error_dict("twelve_data", symbol, interval, f"request failed: {exc}") + + if "values" not in payload: + return _error_dict( + "twelve_data", + symbol, + interval, + payload.get("message", "unexpected response"), + ) + + values = payload["values"] + data = [] + for row in values: + try: + data.append( + { + "date": row["datetime"], + "open": float(row["open"]), + "high": float(row["high"]), + "low": float(row["low"]), + "close": float(row["close"]), + "volume": float(row.get("volume") or 0), + } + ) + except (KeyError, ValueError): + continue + + data.reverse() + return { + "provider": "twelve_data", + "symbol": symbol, + "interval": interval, + "fetched_at": datetime.utcnow().isoformat() + "Z", + "data": data[-outputsize:], + "error": "", + } + + +def _error_dict(provider: str, symbol: str, interval: str, message: str) -> dict[str, Any]: + return { + "provider": provider, + "symbol": symbol, + "interval": interval, + "fetched_at": datetime.utcnow().isoformat() + "Z", + "data": [], + "error": message, + } diff --git a/samples/finance-insight-agent/src/finance_insight_service/tools/safe_python_exec.py b/samples/finance-insight-agent/src/finance_insight_service/tools/safe_python_exec.py new file mode 100644 index 000000000..551a37008 --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/tools/safe_python_exec.py @@ -0,0 +1,245 @@ +import ast +import datetime as datetime_module +import io +import json +import math +import statistics +import time +import traceback +import textwrap +from json import JSONDecodeError, JSONDecoder +from typing import Any +from contextlib import redirect_stdout + +from pydantic import BaseModel, Field + +from crewai.tools import BaseTool + + +class SafePythonExecArgs(BaseModel): + code: str = Field(..., description="Python code to execute.") + data_json: Any | None = Field( + None, + description=( + "Optional JSON string or object; available in code as `data`." + ), + ) + + +class SafePythonExecTool(BaseTool): + name: str = "safe_python_exec" + description: str = ( + "Executes Python code in a restricted environment and returns a status JSON. " + "Provide code that prints the final JSON output. Accepts JSON string or object." + ) + args_schema: type[BaseModel] = SafePythonExecArgs + + def _run(self, code: str, data_json: Any | None = None) -> str: + code_to_run = textwrap.dedent(code or "").replace("\t", " ").strip() + code_to_run = _normalize_indentation(code_to_run) + if not code_to_run: + return json.dumps( + {"status": "CODE_ERROR", "error": "code is empty", "code": code_to_run}, + ensure_ascii=True, + ) + try: + import numpy as np + import pandas as pd + except ImportError as exc: + return json.dumps( + { + "status": "CODE_ERROR", + "error": f"module import failed: {exc}", + "code": code, + }, + ensure_ascii=True, + ) + + def _deny_exit(*_args, **_kwargs): + raise RuntimeError("exit is not allowed; return limitations instead") + + safe_builtins = { + "abs": abs, + "all": all, + "any": any, + "bool": bool, + "dict": dict, + "enumerate": enumerate, + "Exception": Exception, + "exit": _deny_exit, + "float": float, + "int": int, + "isinstance": isinstance, + "len": len, + "list": list, + "max": max, + "min": min, + "NameError": NameError, + "print": print, + "range": range, + "round": round, + "set": set, + "sorted": sorted, + "str": str, + "sum": sum, + "type": type, + "zip": zip, + } + + allowed_modules = { + "math": math, + "statistics": statistics, + "datetime": datetime_module, + "json": json, + "time": time, + "numpy": np, + "pandas": pd, + } + + def _limited_import(name, globals=None, locals=None, fromlist=(), level=0): + if name in allowed_modules: + return allowed_modules[name] + raise ImportError(f"Module not allowed: {name}") + + safe_builtins["__import__"] = _limited_import + + context = {"__builtins__": safe_builtins} + context.update(allowed_modules) + context["np"] = np + context["pd"] = pd + + if data_json: + try: + context["data"] = _parse_json_payload(data_json) + except ValueError as exc: + return json.dumps( + { + "status": "CODE_ERROR", + "error": f"data_json invalid: {exc}", + "code": code_to_run, + }, + ensure_ascii=True, + ) + else: + context["data"] = None + + stdout = io.StringIO() + try: + with redirect_stdout(stdout): + exec(code_to_run, context) + except Exception as exc: + return json.dumps( + { + "status": "CODE_ERROR", + "error": f"execution failed: {exc}", + "traceback": traceback.format_exc(), + "code": code_to_run, + }, + ensure_ascii=True, + ) + + output = stdout.getvalue().strip() + return json.dumps( + {"status": "SUCCESS", "final_output": output, "code": code_to_run}, + ensure_ascii=True, + ) + + +def _parse_json_payload(value: object): + if isinstance(value, (dict, list)): + return value + if not isinstance(value, str): + raise ValueError("data_json must be a JSON string") + + text = value.strip() + + try: + parsed = json.loads(text) + if isinstance(parsed, str): + return _parse_json_payload(parsed) + return _normalize_parsed_payload(parsed) + except JSONDecodeError: + pass + + decoder = JSONDecoder() + for start in (text.find("{"), text.find("[")): + if start == -1: + continue + try: + parsed, _ = decoder.raw_decode(text[start:]) + return _normalize_parsed_payload(parsed) + except JSONDecodeError: + continue + + try: + parsed = ast.literal_eval(text) + return _normalize_parsed_payload(parsed) + except (ValueError, SyntaxError) as exc: + raise ValueError(str(exc)) from exc + + +def _normalize_parsed_payload(payload: Any): + if isinstance(payload, str): + return payload + + if isinstance(payload, list): + normalized = [] + for item in payload: + if isinstance(item, str): + text = item.strip() + if text.startswith("{") or text.startswith("["): + try: + normalized.append(json.loads(text)) + continue + except JSONDecodeError: + pass + try: + normalized.append(ast.literal_eval(text)) + continue + except (ValueError, SyntaxError): + pass + normalized.append(item) + return normalized + + if isinstance(payload, dict) and "data" in payload: + data_value = payload["data"] + if isinstance(data_value, str): + payload["data"] = _parse_json_payload(data_value) + elif isinstance(data_value, list): + payload["data"] = _normalize_parsed_payload(data_value) + return payload + + +def _normalize_indentation(code: str) -> str: + if not code: + return code + + lines = code.splitlines() + normalized: list[str] = [] + prev_indent = 0 + prev_line = "" + + for line in lines: + stripped = line.lstrip() + if not stripped: + normalized.append("") + continue + + indent = len(line) - len(stripped) + first_token = stripped.split()[0] if stripped.split() else "" + + if first_token in {"elif", "else", "except", "finally"}: + indent = max(prev_indent - 4, 0) + elif prev_line.endswith(":"): + indent = prev_indent + 4 + else: + if prev_indent == 0 and indent > 0: + indent = 0 + elif indent > prev_indent: + indent = prev_indent + + normalized.append(" " * indent + stripped) + prev_indent = indent + prev_line = stripped + + return "\n".join(normalized) diff --git a/samples/finance-insight-agent/src/finance_insight_service/tools/serpapi_news_search.py b/samples/finance-insight-agent/src/finance_insight_service/tools/serpapi_news_search.py new file mode 100644 index 000000000..b6ed67b71 --- /dev/null +++ b/samples/finance-insight-agent/src/finance_insight_service/tools/serpapi_news_search.py @@ -0,0 +1,119 @@ +import json +import os +from datetime import datetime +from typing import Any +from urllib.parse import urlencode +from urllib.request import Request, urlopen + +from pydantic import BaseModel, Field + +from crewai.tools import BaseTool + + +class SerpApiNewsSearchArgs(BaseModel): + search_query: str = Field( + ..., description="Search query for recent news articles." + ) + location: str | None = Field( + None, description="Optional location to scope the search (e.g., United States)." + ) + n_results: int = Field(10, description="Maximum number of results to return.") + + +class SerpApiNewsSearchTool(BaseTool): + name: str = "serpapi_news_search" + description: str = ( + "Searches recent news via SerpAPI. Requires SERPAPI_API_KEY in the environment." + ) + args_schema: type[BaseModel] = SerpApiNewsSearchArgs + + def _run( + self, + search_query: str, + location: str | None = None, + n_results: int = 10, + ) -> str: + query = (search_query or "").strip() + if not query: + return _error_payload("search_query is required") + + api_key = os.getenv("SERPAPI_API_KEY") + if not api_key: + return _error_payload("SERPAPI_API_KEY missing") + + n_results = max(1, min(int(n_results or 10), 20)) + params = { + "engine": "google", + "q": query, + "tbm": "nws", + "num": n_results, + "api_key": api_key, + } + if location: + params["location"] = location + + url = f"https://serpapi.com/search.json?{urlencode(params)}" + request = Request(url, headers={"User-Agent": "FinanceInsightBot/1.0"}) + + try: + with urlopen(request, timeout=15) as response: + payload = json.loads(response.read().decode("utf-8")) + except Exception as exc: + return _error_payload(f"request failed: {exc}") + + if isinstance(payload, dict) and payload.get("error"): + return _error_payload(str(payload.get("error"))) + + news_items = _extract_news_items(payload, n_results) + return json.dumps( + { + "provider": "serpapi", + "query": query, + "fetched_at": datetime.utcnow().isoformat() + "Z", + "news": news_items, + "error": "", + }, + ensure_ascii=True, + ) + + +def _extract_news_items(payload: dict[str, Any], n_results: int) -> list[dict[str, str]]: + items: list[dict[str, str]] = [] + for entry in payload.get("news_results", [])[:n_results]: + items.append( + { + "title": str(entry.get("title") or ""), + "link": str(entry.get("link") or ""), + "snippet": str(entry.get("snippet") or ""), + "date": str(entry.get("date") or ""), + "source": str(entry.get("source") or ""), + } + ) + + if items: + return items + + for entry in payload.get("organic_results", [])[:n_results]: + items.append( + { + "title": str(entry.get("title") or ""), + "link": str(entry.get("link") or ""), + "snippet": str(entry.get("snippet") or ""), + "date": "", + "source": "", + } + ) + return items + + +def _error_payload(message: str) -> str: + return json.dumps( + { + "provider": "serpapi", + "query": "", + "fetched_at": datetime.utcnow().isoformat() + "Z", + "news": [], + "error": message, + }, + ensure_ascii=True, + ) diff --git a/samples/finance-insight-agent/src/ui/.gitignore b/samples/finance-insight-agent/src/ui/.gitignore new file mode 100644 index 000000000..5ef6a5207 --- /dev/null +++ b/samples/finance-insight-agent/src/ui/.gitignore @@ -0,0 +1,41 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# env files (can opt-in for committing if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/samples/finance-insight-agent/src/ui/PROJECT_GUIDE.md b/samples/finance-insight-agent/src/ui/PROJECT_GUIDE.md new file mode 100644 index 000000000..e3e6211ff --- /dev/null +++ b/samples/finance-insight-agent/src/ui/PROJECT_GUIDE.md @@ -0,0 +1,59 @@ +# Finance Insight UI - Implementation & Backend Integration Guide + +This document summarizes the current UI, how the frontend is wired, and how it +connects to the backend for a stateless, scenario-based report flow. + +## What was implemented + +- Next.js (App Router + TypeScript) UI in `src/ui/`. +- Scenario-based report layout with a top bar and "New request" button. +- Dark/light mode toggle with smooth transitions. +- Real typing input (textarea) with Enter-to-send. +- Settings page for API URL + API key (stored locally). + +## Key UI routes + +- `/` main report UI +- `/settings` API authentication + connection test + +## How the frontend talks to your backend + +Frontend integration lives in `src/ui/lib/api.ts`: + +- `GET /health` used by the Settings page test button. +- `GET /config` used by the Settings page to show service status. +- `POST /chat/async` used to submit a report request (polls for status). + +### Request headers + +If an API key is set in `/settings`, the UI sends: + +- `Authorization: Bearer ` +- `X-API-Key: ` + +### Result format expected by the UI + +The UI expects: + +- `{ result: { report: "text" } }` + +### Environment option + +You can set a default backend URL in `src/ui/.env.local`: + +``` +NEXT_PUBLIC_API_BASE_URL=http://localhost:5000 +``` + +The Settings page overrides this per browser (stored in `localStorage`). + +## CrewAI integration notes + +- Run the CrewAI workflow inside `/chat/async`. +- Return a single `report` string in the final result. + +## Security notes + +- API keys stored in localStorage are fine for local dev only. +- For production, use server-side auth (sessions/JWT) and do not expose keys. +- Use HTTPS and restrict CORS origins to your frontend domain. diff --git a/samples/finance-insight-agent/src/ui/README.md b/samples/finance-insight-agent/src/ui/README.md new file mode 100644 index 000000000..e215bc4cc --- /dev/null +++ b/samples/finance-insight-agent/src/ui/README.md @@ -0,0 +1,36 @@ +This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). + +## Getting Started + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +# or +bun dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. + +You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. + +This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. + +## Learn More + +To learn more about Next.js, take a look at the following resources: + +- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. +- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. + +You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! + +## Deploy on Vercel + +The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. + +Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. diff --git a/samples/finance-insight-agent/src/ui/app/components/ChatComposer.tsx b/samples/finance-insight-agent/src/ui/app/components/ChatComposer.tsx new file mode 100644 index 000000000..ce1afe305 --- /dev/null +++ b/samples/finance-insight-agent/src/ui/app/components/ChatComposer.tsx @@ -0,0 +1,93 @@ +"use client"; + +import { useState, type ChangeEvent } from "react"; + +type ChatComposerProps = { + onSend: (message: string) => void; + onStop?: () => void; + disabled?: boolean; + loading?: boolean; +}; + +export default function ChatComposer({ + onSend, + onStop, + disabled, + loading, +}: ChatComposerProps) { + const [value, setValue] = useState(""); + + const submit = () => { + if (disabled) { + return; + } + const trimmed = value.trim(); + if (!trimmed) { + return; + } + + onSend(trimmed); + setValue(""); + }; + + const handleKeyDown = (event: React.KeyboardEvent) => { + if (event.key === "Enter" && !event.shiftKey) { + event.preventDefault(); + submit(); + } + }; + + return ( +
+
{ + event.preventDefault(); + submit(); + }} + > +