From 651f3ba04d9ba0106dba4812afaa4dec761a911e Mon Sep 17 00:00:00 2001 From: Jahziah Wagner Date: Mon, 5 Aug 2024 23:29:16 +0200 Subject: [PATCH 1/8] Streamline login procedure --- pyproject.toml | 2 +- src/claudesync/cli/api.py | 14 +++++++++++--- src/claudesync/cli/organization.py | 5 +++-- src/claudesync/cli/project.py | 5 +++-- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2e39124..e01dab4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "claudesync" -version = "0.4.7" +version = "0.4.8" authors = [ {name = "Jahziah Wagner", email = "jahziah.wagner+pypi@gmail.com"}, ] diff --git a/src/claudesync/cli/api.py b/src/claudesync/cli/api.py index 0e765a0..6d274a9 100644 --- a/src/claudesync/cli/api.py +++ b/src/claudesync/cli/api.py @@ -1,8 +1,9 @@ import click from claudesync.provider_factory import get_provider -from ..config_manager import ConfigManager from ..utils import handle_errors +from ..cli.organization import select as org_select +from ..cli.project import select as proj_select @click.group() @@ -13,10 +14,11 @@ def api(): @api.command() @click.argument("provider", required=False) -@click.pass_obj +@click.pass_context @handle_errors -def login(config: ConfigManager, provider): +def login(ctx, provider): """Authenticate with an AI provider.""" + config = ctx.obj providers = get_provider() if not provider: click.echo("Available providers:\n" + "\n".join(f" - {p}" for p in providers)) @@ -32,6 +34,12 @@ def login(config: ConfigManager, provider): config.set("active_provider", provider) click.echo("Logged in successfully.") + # Automatically run organization select + ctx.invoke(org_select) + + # Automatically run project select + ctx.invoke(proj_select) + @api.command() @click.pass_obj diff --git a/src/claudesync/cli/organization.py b/src/claudesync/cli/organization.py index 5184aa2..c479549 100644 --- a/src/claudesync/cli/organization.py +++ b/src/claudesync/cli/organization.py @@ -27,10 +27,11 @@ def ls(config): @organization.command() -@click.pass_obj +@click.pass_context @handle_errors -def select(config): +def select(ctx): """Set the active organization.""" + config = ctx.obj provider = validate_and_get_provider(config, require_org=False) organizations = provider.get_organizations() if not organizations: diff --git a/src/claudesync/cli/project.py b/src/claudesync/cli/project.py index 53d1c5c..98a771a 100644 --- a/src/claudesync/cli/project.py +++ b/src/claudesync/cli/project.py @@ -77,10 +77,11 @@ def archive(config): @project.command() -@click.pass_obj +@click.pass_context @handle_errors -def select(config): +def select(ctx): """Set the active project for syncing.""" + config = ctx.obj provider = validate_and_get_provider(config) active_organization_id = config.get("active_organization_id") projects = provider.get_projects(active_organization_id, include_archived=False) From 73178808f807b9b3190a932177f7a9be2588e3d7 Mon Sep 17 00:00:00 2001 From: Jahziah Wagner Date: Mon, 5 Aug 2024 23:33:03 +0200 Subject: [PATCH 2/8] Update README.md --- README.md | 211 +++++++----------------------------------------------- 1 file changed, 27 insertions(+), 184 deletions(-) diff --git a/README.md b/README.md index 6a7fdc9..e68e6d5 100644 --- a/README.md +++ b/README.md @@ -1,202 +1,45 @@ -``` - .oooooo. oooo .o8 .oooooo..o - d8P' `Y8b `888 "888 d8P' `Y8 -888 888 .oooo. oooo oooo .oooo888 .ooooo. Y88bo. oooo ooo ooo. .oo. .ooooo. -888 888 `P )88b `888 `888 d88' `888 d88' `88b `"Y8888o. `88. .8' `888P"Y88b d88' `"Y8 -888 888 .oP"888 888 888 888 888 888ooo888 `"Y88b `88..8' 888 888 888 -`88b ooo 888 d8( 888 888 888 888 888 888 .o oo .d8P `888' 888 888 888 .o8 - `Y8bood8P' o888o `Y888""8o `V88V"V8P' `Y8bod88P" `Y8bod8P' 8""88888P' .8' o888o o888o `Y8bod8P' - .o..P' - `Y8P' -``` -[![Python package](https://github.com/jahwag/ClaudeSync/actions/workflows/python-package.yml/badge.svg)](https://github.com/jahwag/ClaudeSync/actions/workflows/python-package.yml) -![License](https://img.shields.io/badge/License-MIT-blue.svg) +# ClaudeSync +[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) +[![issues - claudesync](https://img.shields.io/github/issues/jahwag/claudesync)](https://github.com/jahwag/claudesync/issues) [![PyPI version](https://badge.fury.io/py/claudesync.svg)](https://badge.fury.io/py/claudesync) +[![Release date](https://img.shields.io/github/release-date/jahwag/claudesync)](https://packagist.org/packages/jahwag/claudesync) +![PyPI - Downloads](https://img.shields.io/pypi/dd/claudesync) -ClaudeSync is a powerful tool designed to seamlessly synchronize your local files with [Claude.ai](https://www.anthropic.com/claude) projects. - -## Overview and Scope - -ClaudeSync bridges the gap between your local development environment and Claude.ai's knowledge base. At a high level, the scope of ClaudeSync includes: - -- Real-time synchronization with Claude.ai projects -- Command-line interface (CLI) for easy management -- Multiple organization and project support -- Automatic handling of file creation, modification, and deletion -- Intelligent file filtering based on .gitignore rules -- Configurable sync interval with cron job support -- Seamless integration with your existing workflow -- Optional two-way synchronization support -- Configuration management through CLI -- Chat and artifact synchronization and management - -**Important Note**: ClaudeSync requires a Claude.ai Professional plan to function properly. Make sure you have an active Professional subscription before using this tool. +## Why ClaudeSync? -## Important Disclaimers - -- **Data Privacy**: ClaudeSync does not share any personal data or project data with anyone other than Anthropic (through Claude.ai) and yourself. Your data remains private and secure. -- **Open Source Transparency**: We are committed to transparency. Our entire codebase is open source, allowing you to review and verify our practices. -- **Affiliation**: ClaudeSync is not affiliated with, endorsed by, or sponsored by Anthropic. It is an independent tool created by enthusiasts for enthusiasts of Claude.ai. -- **Use at Your Own Risk**: While we strive for reliability, please use ClaudeSync at your own discretion and risk. Always maintain backups of your important data. +- 🔄 **Effortless Synchronization**: Automatically keep your local files in sync with Claude.ai projects. +- 🚀 **Boost Productivity**: Streamline your workflow with less clicks, better input and better output. +- 💻 **Cross-Platform**: Works seamlessly on Windows, macOS, and Linux. ## Quick Start -1. **Install ClaudeSync:** - ```bash - pip install claudesync - ``` - -2. **Login to Claude.ai:** - ```bash - claudesync api login claude.ai - ``` - -3. **Select an organization:** - ```bash - claudesync organization select - ``` - -4. **Select or create a project:** - ```bash - claudesync project select - # or - claudesync project create - ``` - -5. **Start syncing:** - ```bash - claudesync sync - ``` - -## Advanced Usage - -### API Management -- Login to Claude.ai: `claudesync api login claude.ai` -- Logout: `claudesync api logout` -- Set upload delay: `claudesync api ratelimit --delay ` -- Set maximum file size: `claudesync api max-filesize --size ` - -### Organization Management -- List organizations: `claudesync organization ls` -- Select active organization: `claudesync organization select` - -### Project Management -- List projects: `claudesync project ls` -- Create a new project: `claudesync project create` -- Archive a project: `claudesync project archive` -- Select active project: `claudesync project select` -- Sync projects: `claudesync project sync` - -### File Management -- List remote files: `claudesync ls` -- Sync files: `claudesync sync` - -### Chat Management -- List chats: `claudesync chat ls` -- Sync chats and artifacts: `claudesync chat sync` -- Delete chats: `claudesync chat rm` -- Delete all chats: `claudesync chat rm -a` - -### Configuration -- View current status: `claudesync status` -- Set configuration values: `claudesync config set ` -- Get configuration values: `claudesync config get ` -- List all configuration values: `claudesync config ls` - -### Synchronization Modes - -#### One-Way Sync (Default) -By default, ClaudeSync operates in one-way sync mode, pushing changes from your local environment to Claude.ai. This ensures that your local files are the source of truth and prevents unexpected modifications to your local files. - -**Warning:** During synchronization, any files present on the remote server that are not available in your local environment will be automatically deleted from the remote server. Ensure that all important files are present locally before syncing to avoid unintentional data loss. - -#### Two-Way Sync (Experimental) -Two-way synchronization is available as an experimental feature. This mode allows changes made on the remote Claude.ai project to be reflected in your local files. However, please be aware of the following: - -1. To enable two-way synchronization: - ```bash - claudesync config set two_way_sync true - ``` - -2. **Caution**: Claude.ai has a tendency to modify filenames, often appending descriptive text. For example, "README.md" might become "Updated README.md with config and two-way sync info.md". This behavior is currently beyond ClaudeSync's control. - -3. **Potential Data Loss**: Due to the filename modification issue, there's a risk of unintended file duplication or data loss. Always maintain backups of your important files when using two-way sync. - -4. **Future Improvements**: We're actively exploring ways to mitigate these issues, possibly through prompt engineering or updates to ClaudeSync. For now, this feature is provided as-is and should be used with understanding of its limitations. - -### Scheduled Sync -Set up automatic syncing at regular intervals: -```bash -claudesync schedule +1. Install ClaudeSync: ``` - -### Providers - -ClaudeSync offers two providers for interacting with the Claude.ai API: - -1. **claude.ai (Default)**: - - Uses built-in Python libraries to make API requests. - - No additional dependencies required. - - Recommended for most users. - -2. **claude.ai-curl**: - - Uses cURL to make API requests. - - Requires cURL to be installed on your system. - - Can be used as a workaround for certain issues, such as 403 Forbidden errors. - - **Note for Windows Users**: To use the claude.ai-curl provider on Windows, you need to have cURL installed. This can be done by: - - Installing [Git for Windows](https://git-scm.com/download/win) (which includes cURL) - - Installing [Windows Subsystem for Linux (WSL)](https://learn.microsoft.com/en-us/windows/wsl/install) - - Make sure cURL is accessible from your command line before using this provider. - -### Custom Ignore File - -ClaudeSync supports a custom ignore file named .claudeignore for specifying patterns of files to exclude from syncing, using the same syntax as .gitignore. - -### Troubleshooting - -#### 403 Forbidden Error -If you encounter a 403 Forbidden error when using ClaudeSync, it might be due to an issue with the session key or API access. Here are some steps to resolve this: - -1. Ensure you have an active Claude.ai Professional plan subscription. -2. Try logging out and logging in again: - ```bash - claudesync api logout - claudesync api login claude.ai - ``` -3. If the issue persists, you can try using the claude.ai-curl provider as a workaround: - ```bash - claudesync api logout - claudesync api login claude.ai-curl - ``` - -#### WinError 206 when syncing large files -If you encounter WinError 206 when syncing files larger than 32 KB, you can try using file input for curl data: - -```bash -claudesync config set curl_use_file_input True +pip install claudesync ``` -If you continue to experience issues, please check your network connection and ensure that you have the necessary permissions to access Claude.ai. - -## Contributing - -We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for more information. +2. Log in to your Claude.ai account: +``` +claudesync api login claude.ai +``` -## Communication Channels +3. Start syncing: +``` +claudesync sync +``` -- **Issues**: For bug reports and feature requests, please use our [GitHub Issues](https://github.com/jahwag/claudesync/issues). -- **Discord**: For general development discussions, visit our [Discord server](https://discord.gg/pR4qeMH4u4). +Need help? Check our [Wiki](https://github.com/jahwag/claudesync/wiki) for detailed guides and FAQs. -## License +## Support ClaudeSync -ClaudeSync is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. +Love ClaudeSync? Here's how you can help: -## Related Projects +- ⭐ [Star us on GitHub](https://github.com/jahwag/claudesync) +- 🐛 [Report bugs or request features](https://github.com/jahwag/claudesync/issues) +- 🌍 [Contribute to the project](CONTRIBUTING.md) -- [Claude.ai](https://www.anthropic.com/claude): The AI assistant that ClaudeSync integrates with. +Your support keeps ClaudeSync growing! --- -Made with ❤️ by the ClaudeSync team +[Contributors](https://github.com/jahwag/claudesync/graphs/contributors) • [License](https://github.com/jahwag/claudesync/blob/main/LICENSE) • [Report Bug](https://github.com/jahwag/claudesync/issues) • [Request Feature](https://github.com/jahwag/ClaudeSync/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=) From 2296c731f7a09f7bf7647bf78dea7389abc924c2 Mon Sep 17 00:00:00 2001 From: Jahziah Wagner Date: Tue, 6 Aug 2024 00:24:02 +0200 Subject: [PATCH 3/8] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- README.md | 44 +++++++++++++++++++++++++------------------- sample.png | Bin 0 -> 11246 bytes 3 files changed, 26 insertions(+), 20 deletions(-) create mode 100644 sample.png diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 62ae867..b2c89d2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -50,7 +50,7 @@ We're excited that you're interested in contributing to ClaudeSync! This documen ## Code Style -We follow the PEP 8 style guide for Python code. Please ensure your code adheres to this style. +We follow the black style guide for Python code. Please ensure your code adheres to this style. ## Reporting Bugs diff --git a/README.md b/README.md index e68e6d5..11356d6 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,51 @@ -# ClaudeSync +# ClaudeSync: Seamless AI Project Synchronization + [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) -[![issues - claudesync](https://img.shields.io/github/issues/jahwag/claudesync)](https://github.com/jahwag/claudesync/issues) +[![Issues](https://img.shields.io/github/issues/jahwag/claudesync)](https://github.com/jahwag/claudesync/issues) [![PyPI version](https://badge.fury.io/py/claudesync.svg)](https://badge.fury.io/py/claudesync) -[![Release date](https://img.shields.io/github/release-date/jahwag/claudesync)](https://packagist.org/packages/jahwag/claudesync) +[![Release date](https://img.shields.io/github/release-date/jahwag/claudesync)](https://github.com/jahwag/claudesync/releases) ![PyPI - Downloads](https://img.shields.io/pypi/dd/claudesync) -## Why ClaudeSync? +ClaudeSync is a powerful tool that bridges your local development environment with Claude.ai projects, enabling seamless synchronization and enhancing your AI-powered workflow. -- 🔄 **Effortless Synchronization**: Automatically keep your local files in sync with Claude.ai projects. -- 🚀 **Boost Productivity**: Streamline your workflow with less clicks, better input and better output. -- 💻 **Cross-Platform**: Works seamlessly on Windows, macOS, and Linux. +## 🌟 Key Features -## Quick Start +- 🔄 **Real-time Synchronization**: Automatically keep your local files in sync with Claude.ai projects. +- 🚀 **Productivity Boost**: Streamline your workflow with efficient file management and reduced manual updates. +- 💻 **Cross-Platform Compatibility**: Works flawlessly on Windows, macOS, and Linux. +- 🔒 **Secure**: Prioritizes your data privacy and security. +- 🛠 **Customizable**: Configurable sync intervals, file filtering, and more. -1. Install ClaudeSync: -``` +## 🚀 Quick Start + +1. **Install ClaudeSync:** +```shell pip install claudesync ``` -2. Log in to your Claude.ai account: -``` +2. **Log in to your Claude.ai account:** +```shell claudesync api login claude.ai ``` -3. Start syncing: -``` +3. **Start syncing:** +```shell claudesync sync ``` -Need help? Check our [Wiki](https://github.com/jahwag/claudesync/wiki) for detailed guides and FAQs. +📚 Need more details? Check our [Wiki](https://github.com/jahwag/claudesync/wiki) for comprehensive guides and FAQs. -## Support ClaudeSync +## 🤝 Support ClaudeSync -Love ClaudeSync? Here's how you can help: +Love ClaudeSync? Here's how you can contribute: - ⭐ [Star us on GitHub](https://github.com/jahwag/claudesync) - 🐛 [Report bugs or request features](https://github.com/jahwag/claudesync/issues) - 🌍 [Contribute to the project](CONTRIBUTING.md) +- 💬 Join our [Discord community](https://discord.gg/pR4qeMH4u4) for discussions and support -Your support keeps ClaudeSync growing! +Your support fuels ClaudeSync's growth and improvement! --- -[Contributors](https://github.com/jahwag/claudesync/graphs/contributors) • [License](https://github.com/jahwag/claudesync/blob/main/LICENSE) • [Report Bug](https://github.com/jahwag/claudesync/issues) • [Request Feature](https://github.com/jahwag/ClaudeSync/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=) +[Contributors](https://github.com/jahwag/claudesync/graphs/contributors) • [License](https://github.com/jahwag/claudesync/blob/master/LICENSE) • [Report Bug](https://github.com/jahwag/claudesync/issues) • [Request Feature](https://github.com/jahwag/ClaudeSync/issues/new?assignees=&labels=enhancement&projects=&template=feature_request.md&title=) diff --git a/sample.png b/sample.png new file mode 100644 index 0000000000000000000000000000000000000000..42dfcd25698afbc592a5cff110933c3fde7c36ba GIT binary patch literal 11246 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 c21jJdeT)|CjQjZ1ql=&*qxz=ewQ Date: Tue, 6 Aug 2024 00:36:23 +0200 Subject: [PATCH 4/8] Formatting --- .github/ISSUE_TEMPLATE/bug_report.md | 94 ++-- .github/workflows/python-publish.yml | 78 ++-- CONTRIBUTING.md | 166 +++---- LICENSE | 42 +- README.md | 4 +- pytest.ini | 4 - requirements.txt | 12 +- setup.py | 12 +- src/claudesync/chat_sync.py | 372 +++++++-------- src/claudesync/cli/__init__.py | 6 +- src/claudesync/cli/api.py | 168 +++---- src/claudesync/cli/main.py | 134 +++--- src/claudesync/cli/organization.py | 106 ++--- src/claudesync/cli/project.py | 292 ++++++------ src/claudesync/exceptions.py | 44 +- src/claudesync/syncmanager.py | 550 +++++++++++----------- src/claudesync/utils.py | 668 +++++++++++++-------------- tests/cli/test_main.py | 58 +-- tests/cli/test_organization.py | 206 ++++----- tests/test_config_manager.py | 152 +++--- 20 files changed, 1583 insertions(+), 1585 deletions(-) delete mode 100644 pytest.ini diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index d72d205..22f45fd 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,47 +1,47 @@ ---- -name: Bug report -about: Create a report to help us improve ClaudeSync -title: '' -labels: bug -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Run command '....' -3. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Error messages** -If applicable, provide the full error message or stack trace. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Environment (please complete the following information):** - - OS: [e.g. Windows 10, macOS 11.4, Ubuntu 20.04] - - Python version: [e.g. 3.8.10] - - ClaudeSync version: [e.g. 0.3.7] - -**Configuration** -Please provide the output of `claudesync config list` (make sure to remove any sensitive information). - -**Additional context** -Add any other context about the problem here. For example: -- Are you using any custom configurations? -- Did this issue start happening recently, or has it always been a problem? -- Can you reliably reproduce this issue? If not, how often does it occur? - -**Logs** -If possible, please provide relevant logs. You can increase the log verbosity by running: -``` -claudesync config set log_level DEBUG -``` -Then reproduce the issue and provide the logs (make sure to remove any sensitive information). +--- +name: Bug report +about: Create a report to help us improve ClaudeSync +title: '' +labels: bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Run command '....' +3. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Error messages** +If applicable, provide the full error message or stack trace. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Environment (please complete the following information):** + - OS: [e.g. Windows 10, macOS 11.4, Ubuntu 20.04] + - Python version: [e.g. 3.8.10] + - ClaudeSync version: [e.g. 0.3.7] + +**Configuration** +Please provide the output of `claudesync config list` (make sure to remove any sensitive information). + +**Additional context** +Add any other context about the problem here. For example: +- Are you using any custom configurations? +- Did this issue start happening recently, or has it always been a problem? +- Can you reliably reproduce this issue? If not, how often does it occur? + +**Logs** +If possible, please provide relevant logs. You can increase the log verbosity by running: +``` +claudesync config set log_level DEBUG +``` +Then reproduce the issue and provide the logs (make sure to remove any sensitive information). diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 060d2df..52e80f1 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -1,39 +1,39 @@ -# This workflow will upload a Python Package using Twine when a release is created -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries - -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. - -name: Upload Python Package - -on: - release: - types: [created] - -permissions: - contents: read - -jobs: - deploy: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v3 - with: - python-version: '3.x' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install build - - name: Build package - run: python -m build - - name: Publish package - uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 - with: - user: __token__ - password: ${{ secrets.PYPI_API_TOKEN }} +# This workflow will upload a Python Package using Twine when a release is created +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Upload Python Package + +on: + release: + types: [created] + +permissions: + contents: read + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build + - name: Build package + run: python -m build + - name: Publish package + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b2c89d2..0b13a47 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,84 +1,84 @@ -# Contributing to ClaudeSync - -We're excited that you're interested in contributing to ClaudeSync! This document outlines the process for contributing to this project. - -## Getting Started - -1. Fork the repository on GitHub. -2. Clone your fork locally: - ``` - git clone https://github.com/your-username/claudesync.git - ``` -3. Create a new branch for your feature or bug fix: - ``` - git checkout -b feature/your-feature-name - ``` - -## Setting Up the Development Environment - -1. Ensure you have Python 3.6 or later installed. -2. Install the development dependencies: - ``` - pip install -r requirements.txt - ``` -3. Install the package in editable mode: - ``` - pip install -e . - ``` - -## Making Changes - -1. Make your changes in your feature branch. -2. Add or update tests as necessary. -3. Run the tests to ensure they pass: - ``` - python -m unittest discover tests - ``` -4. Update the documentation if you've made changes to the API or added new features. - -## Submitting Changes - -1. Commit your changes: - ``` - git commit -am "Add a brief description of your changes" - ``` -2. Push to your fork: - ``` - git push origin feature/your-feature-name - ``` -3. Submit a pull request through the GitHub website. - -## Code Style - -We follow the black style guide for Python code. Please ensure your code adheres to this style. - -## Reporting Bugs - -If you find a bug, please open an issue on the GitHub repository using our bug report template. To do this: - -1. Go to the [Issues](https://github.com/jahwag/claudesync/issues) page of the ClaudeSync repository. -2. Click on "New Issue". -3. Select the "Bug Report" template. -4. Fill out the template with as much detail as possible. - -When reporting a bug, please include: - -- A clear and concise description of the bug -- Steps to reproduce the behavior -- Expected behavior -- Any error messages or stack traces -- Your environment details (OS, Python version, ClaudeSync version) -- Your ClaudeSync configuration (use `claudesync config list`) -- Any relevant logs (you can increase log verbosity with `claudesync config set log_level DEBUG`) - -The more information you provide, the easier it will be for us to reproduce and fix the bug. - -## Requesting Features - -If you have an idea for a new feature, please open an issue on the GitHub repository. Describe the feature and why you think it would be useful for the project. - -## Questions - -If you have any questions about contributing, feel free to open an issue for discussion. - +# Contributing to ClaudeSync + +We're excited that you're interested in contributing to ClaudeSync! This document outlines the process for contributing to this project. + +## Getting Started + +1. Fork the repository on GitHub. +2. Clone your fork locally: + ``` + git clone https://github.com/your-username/claudesync.git + ``` +3. Create a new branch for your feature or bug fix: + ``` + git checkout -b feature/your-feature-name + ``` + +## Setting Up the Development Environment + +1. Ensure you have Python 3.6 or later installed. +2. Install the development dependencies: + ``` + pip install -r requirements.txt + ``` +3. Install the package in editable mode: + ``` + pip install -e . + ``` + +## Making Changes + +1. Make your changes in your feature branch. +2. Add or update tests as necessary. +3. Run the tests to ensure they pass: + ``` + python -m unittest discover tests + ``` +4. Update the documentation if you've made changes to the API or added new features. + +## Submitting Changes + +1. Commit your changes: + ``` + git commit -am "Add a brief description of your changes" + ``` +2. Push to your fork: + ``` + git push origin feature/your-feature-name + ``` +3. Submit a pull request through the GitHub website. + +## Code Style + +We follow the black style guide for Python code. Please ensure your code adheres to this style. + +## Reporting Bugs + +If you find a bug, please open an issue on the GitHub repository using our bug report template. To do this: + +1. Go to the [Issues](https://github.com/jahwag/claudesync/issues) page of the ClaudeSync repository. +2. Click on "New Issue". +3. Select the "Bug Report" template. +4. Fill out the template with as much detail as possible. + +When reporting a bug, please include: + +- A clear and concise description of the bug +- Steps to reproduce the behavior +- Expected behavior +- Any error messages or stack traces +- Your environment details (OS, Python version, ClaudeSync version) +- Your ClaudeSync configuration (use `claudesync config list`) +- Any relevant logs (you can increase log verbosity with `claudesync config set log_level DEBUG`) + +The more information you provide, the easier it will be for us to reproduce and fix the bug. + +## Requesting Features + +If you have an idea for a new feature, please open an issue on the GitHub repository. Describe the feature and why you think it would be useful for the project. + +## Questions + +If you have any questions about contributing, feel free to open an issue for discussion. + Thank you for your interest in improving ClaudeSync! \ No newline at end of file diff --git a/LICENSE b/LICENSE index d0cf252..0779f74 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,21 @@ -MIT License - -Copyright (c) 2024 Jahziah Wagner - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +MIT License + +Copyright (c) 2024 Jahziah Wagner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 11356d6..bf4d17f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,9 @@ [![Issues](https://img.shields.io/github/issues/jahwag/claudesync)](https://github.com/jahwag/claudesync/issues) [![PyPI version](https://badge.fury.io/py/claudesync.svg)](https://badge.fury.io/py/claudesync) [![Release date](https://img.shields.io/github/release-date/jahwag/claudesync)](https://github.com/jahwag/claudesync/releases) -![PyPI - Downloads](https://img.shields.io/pypi/dd/claudesync) +[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) + +![ClaudeSync example](sample.png "ClaudeSync") ClaudeSync is a powerful tool that bridges your local development environment with Claude.ai projects, enabling seamless synchronization and enhancing your AI-powered workflow. diff --git a/pytest.ini b/pytest.ini deleted file mode 100644 index 2f65e0b..0000000 --- a/pytest.ini +++ /dev/null @@ -1,4 +0,0 @@ -[pytest] -testpaths = tests -python_files = test_*.py -addopts = -v --cov=claudesync --cov-report=term-missing \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index b5f5e25..5d8d0d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ -Click>=8.1.7 -requests>=2.32.3 -pathspec>=0.12.1 -crontab>=1.0.1 -click_completion>=0.5.2 -tqdm>=4.66.4 +Click>=8.1.7 +requests>=2.32.3 +pathspec>=0.12.1 +crontab>=1.0.1 +click_completion>=0.5.2 +tqdm>=4.66.4 pytest-cov>=5.0.0 \ No newline at end of file diff --git a/setup.py b/setup.py index b97fb10..dc62080 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ -from setuptools import setup, find_packages - -setup( - packages=find_packages(where="src"), - package_dir={"": "src"}, -) +from setuptools import setup, find_packages + +setup( + packages=find_packages(where="src"), + package_dir={"": "src"}, +) diff --git a/src/claudesync/chat_sync.py b/src/claudesync/chat_sync.py index c195b06..ded77eb 100644 --- a/src/claudesync/chat_sync.py +++ b/src/claudesync/chat_sync.py @@ -1,186 +1,186 @@ -import json -import logging -import os -import re - -from tqdm import tqdm - -from .exceptions import ConfigurationError - -logger = logging.getLogger(__name__) - - -def sync_chats(provider, config, sync_all=False): - """ - Synchronize chats and their artifacts from the remote source. - - This function fetches all chats for the active organization, saves their metadata, - messages, and extracts any artifacts found in the assistant's messages. - - Args: - provider: The API provider instance. - config: The configuration manager instance. - sync_all (bool): If True, sync all chats regardless of project. If False, only sync chats for the active project. - - Raises: - ConfigurationError: If required configuration settings are missing. - """ - # Get the local_path for chats - local_path = config.get("local_path") - if not local_path: - raise ConfigurationError( - "Local path not set. Use 'claudesync project select' or 'claudesync project create' to set it." - ) - - # Create chats directory within local_path - chat_destination = os.path.join(local_path, "claude_chats") - os.makedirs(chat_destination, exist_ok=True) - - # Get the active organization ID - organization_id = config.get("active_organization_id") - if not organization_id: - raise ConfigurationError( - "No active organization set. Please select an organization." - ) - - # Get the active project ID - active_project_id = config.get("active_project_id") - if not active_project_id and not sync_all: - raise ConfigurationError( - "No active project set. Please select a project or use the -a flag to sync all chats." - ) - - # Fetch all chats for the organization - logger.debug(f"Fetching chats for organization {organization_id}") - chats = provider.get_chat_conversations(organization_id) - logger.debug(f"Found {len(chats)} chats") - - # Process each chat - for chat in tqdm(chats, desc="Chats"): - sync_chat( - active_project_id, - chat, - chat_destination, - organization_id, - provider, - sync_all, - ) - - logger.debug(f"Chats and artifacts synchronized to {chat_destination}") - - -def sync_chat( - active_project_id, chat, chat_destination, organization_id, provider, sync_all -): - # Check if the chat belongs to the active project or if we're syncing all chats - if sync_all or ( - chat.get("project") and chat["project"].get("uuid") == active_project_id - ): - logger.debug(f"Processing chat {chat['uuid']}") - chat_folder = os.path.join(chat_destination, chat["uuid"]) - os.makedirs(chat_folder, exist_ok=True) - - # Save chat metadata - metadata_file = os.path.join(chat_folder, "metadata.json") - if not os.path.exists(metadata_file): - with open(metadata_file, "w") as f: - json.dump(chat, f, indent=2) - - # Fetch full chat conversation - logger.debug(f"Fetching full conversation for chat {chat['uuid']}") - full_chat = provider.get_chat_conversation(organization_id, chat["uuid"]) - - # Process each message in the chat - for message in full_chat["chat_messages"]: - message_file = os.path.join(chat_folder, f"{message['uuid']}.json") - - # Skip processing if the message file already exists - if os.path.exists(message_file): - logger.debug(f"Skipping existing message {message['uuid']}") - continue - - # Save the message - with open(message_file, "w") as f: - json.dump(message, f, indent=2) - - # Handle artifacts in assistant messages - if message["sender"] == "assistant": - artifacts = extract_artifacts(message["text"]) - if artifacts: - save_artifacts(artifacts, chat_folder, message) - else: - logger.debug( - f"Skipping chat {chat['uuid']} as it doesn't belong to the active project" - ) - - -def save_artifacts(artifacts, chat_folder, message): - logger.info(f"Found {len(artifacts)} artifacts in message {message['uuid']}") - artifact_folder = os.path.join(chat_folder, "artifacts") - os.makedirs(artifact_folder, exist_ok=True) - for artifact in artifacts: - # Save each artifact - artifact_file = os.path.join( - artifact_folder, - f"{artifact['identifier']}.{get_file_extension(artifact['type'])}", - ) - if not os.path.exists(artifact_file): - with open(artifact_file, "w") as f: - f.write(artifact["content"]) - - -def get_file_extension(artifact_type): - """ - Get the appropriate file extension for a given artifact type. - - Args: - artifact_type (str): The MIME type of the artifact. - - Returns: - str: The corresponding file extension. - """ - type_to_extension = { - "text/html": "html", - "application/vnd.ant.code": "txt", - "image/svg+xml": "svg", - "application/vnd.ant.mermaid": "mmd", - "application/vnd.ant.react": "jsx", - } - return type_to_extension.get(artifact_type, "txt") - - -def extract_artifacts(text): - """ - Extract artifacts from the given text. - - This function searches for antArtifact tags in the text and extracts - the artifact information, including identifier, type, and content. - - Args: - text (str): The text to search for artifacts. - - Returns: - list: A list of dictionaries containing artifact information. - """ - artifacts = [] - - # Regular expression to match the tags and extract their attributes and content - pattern = re.compile( - r'([\s\S]*?)', - re.MULTILINE, - ) - - # Find all matches in the text - matches = pattern.findall(text) - - for match in matches: - identifier, artifact_type, title, content = match - artifacts.append( - { - "identifier": identifier, - "type": artifact_type, - "content": content.strip(), - } - ) - - return artifacts +import json +import logging +import os +import re + +from tqdm import tqdm + +from .exceptions import ConfigurationError + +logger = logging.getLogger(__name__) + + +def sync_chats(provider, config, sync_all=False): + """ + Synchronize chats and their artifacts from the remote source. + + This function fetches all chats for the active organization, saves their metadata, + messages, and extracts any artifacts found in the assistant's messages. + + Args: + provider: The API provider instance. + config: The configuration manager instance. + sync_all (bool): If True, sync all chats regardless of project. If False, only sync chats for the active project. + + Raises: + ConfigurationError: If required configuration settings are missing. + """ + # Get the local_path for chats + local_path = config.get("local_path") + if not local_path: + raise ConfigurationError( + "Local path not set. Use 'claudesync project select' or 'claudesync project create' to set it." + ) + + # Create chats directory within local_path + chat_destination = os.path.join(local_path, "claude_chats") + os.makedirs(chat_destination, exist_ok=True) + + # Get the active organization ID + organization_id = config.get("active_organization_id") + if not organization_id: + raise ConfigurationError( + "No active organization set. Please select an organization." + ) + + # Get the active project ID + active_project_id = config.get("active_project_id") + if not active_project_id and not sync_all: + raise ConfigurationError( + "No active project set. Please select a project or use the -a flag to sync all chats." + ) + + # Fetch all chats for the organization + logger.debug(f"Fetching chats for organization {organization_id}") + chats = provider.get_chat_conversations(organization_id) + logger.debug(f"Found {len(chats)} chats") + + # Process each chat + for chat in tqdm(chats, desc="Chats"): + sync_chat( + active_project_id, + chat, + chat_destination, + organization_id, + provider, + sync_all, + ) + + logger.debug(f"Chats and artifacts synchronized to {chat_destination}") + + +def sync_chat( + active_project_id, chat, chat_destination, organization_id, provider, sync_all +): + # Check if the chat belongs to the active project or if we're syncing all chats + if sync_all or ( + chat.get("project") and chat["project"].get("uuid") == active_project_id + ): + logger.debug(f"Processing chat {chat['uuid']}") + chat_folder = os.path.join(chat_destination, chat["uuid"]) + os.makedirs(chat_folder, exist_ok=True) + + # Save chat metadata + metadata_file = os.path.join(chat_folder, "metadata.json") + if not os.path.exists(metadata_file): + with open(metadata_file, "w") as f: + json.dump(chat, f, indent=2) + + # Fetch full chat conversation + logger.debug(f"Fetching full conversation for chat {chat['uuid']}") + full_chat = provider.get_chat_conversation(organization_id, chat["uuid"]) + + # Process each message in the chat + for message in full_chat["chat_messages"]: + message_file = os.path.join(chat_folder, f"{message['uuid']}.json") + + # Skip processing if the message file already exists + if os.path.exists(message_file): + logger.debug(f"Skipping existing message {message['uuid']}") + continue + + # Save the message + with open(message_file, "w") as f: + json.dump(message, f, indent=2) + + # Handle artifacts in assistant messages + if message["sender"] == "assistant": + artifacts = extract_artifacts(message["text"]) + if artifacts: + save_artifacts(artifacts, chat_folder, message) + else: + logger.debug( + f"Skipping chat {chat['uuid']} as it doesn't belong to the active project" + ) + + +def save_artifacts(artifacts, chat_folder, message): + logger.info(f"Found {len(artifacts)} artifacts in message {message['uuid']}") + artifact_folder = os.path.join(chat_folder, "artifacts") + os.makedirs(artifact_folder, exist_ok=True) + for artifact in artifacts: + # Save each artifact + artifact_file = os.path.join( + artifact_folder, + f"{artifact['identifier']}.{get_file_extension(artifact['type'])}", + ) + if not os.path.exists(artifact_file): + with open(artifact_file, "w") as f: + f.write(artifact["content"]) + + +def get_file_extension(artifact_type): + """ + Get the appropriate file extension for a given artifact type. + + Args: + artifact_type (str): The MIME type of the artifact. + + Returns: + str: The corresponding file extension. + """ + type_to_extension = { + "text/html": "html", + "application/vnd.ant.code": "txt", + "image/svg+xml": "svg", + "application/vnd.ant.mermaid": "mmd", + "application/vnd.ant.react": "jsx", + } + return type_to_extension.get(artifact_type, "txt") + + +def extract_artifacts(text): + """ + Extract artifacts from the given text. + + This function searches for antArtifact tags in the text and extracts + the artifact information, including identifier, type, and content. + + Args: + text (str): The text to search for artifacts. + + Returns: + list: A list of dictionaries containing artifact information. + """ + artifacts = [] + + # Regular expression to match the tags and extract their attributes and content + pattern = re.compile( + r'([\s\S]*?)', + re.MULTILINE, + ) + + # Find all matches in the text + matches = pattern.findall(text) + + for match in matches: + identifier, artifact_type, title, content = match + artifacts.append( + { + "identifier": identifier, + "type": artifact_type, + "content": content.strip(), + } + ) + + return artifacts diff --git a/src/claudesync/cli/__init__.py b/src/claudesync/cli/__init__.py index ef86501..9e31c66 100644 --- a/src/claudesync/cli/__init__.py +++ b/src/claudesync/cli/__init__.py @@ -1,3 +1,3 @@ -from .main import cli - -__all__ = ["cli"] +from .main import cli + +__all__ = ["cli"] diff --git a/src/claudesync/cli/api.py b/src/claudesync/cli/api.py index 6d274a9..b5d8237 100644 --- a/src/claudesync/cli/api.py +++ b/src/claudesync/cli/api.py @@ -1,84 +1,84 @@ -import click - -from claudesync.provider_factory import get_provider -from ..utils import handle_errors -from ..cli.organization import select as org_select -from ..cli.project import select as proj_select - - -@click.group() -def api(): - """Manage api.""" - pass - - -@api.command() -@click.argument("provider", required=False) -@click.pass_context -@handle_errors -def login(ctx, provider): - """Authenticate with an AI provider.""" - config = ctx.obj - providers = get_provider() - if not provider: - click.echo("Available providers:\n" + "\n".join(f" - {p}" for p in providers)) - return - if provider not in providers: - click.echo( - f"Error: Unknown provider '{provider}'. Available: {', '.join(providers)}" - ) - return - provider_instance = get_provider(provider) - session = provider_instance.login() - config.set_session_key(session[0], session[1]) - config.set("active_provider", provider) - click.echo("Logged in successfully.") - - # Automatically run organization select - ctx.invoke(org_select) - - # Automatically run project select - ctx.invoke(proj_select) - - -@api.command() -@click.pass_obj -def logout(config): - """Log out from the current AI provider.""" - for key in [ - "session_key", - "session_key_expiry", - "active_provider", - "active_organization_id", - "active_project_id", - "active_project_name", - "local_path", - ]: - config.set(key, None) - click.echo("Logged out successfully.") - - -@api.command() -@click.option("--delay", type=float, required=True, help="Upload delay in seconds") -@click.pass_obj -@handle_errors -def ratelimit(config, delay): - """Set the delay between file uploads during sync.""" - if delay < 0: - click.echo("Error: Upload delay must be a non-negative number.") - return - config.set("upload_delay", delay) - click.echo(f"Upload delay set to {delay} seconds.") - - -@api.command() -@click.option("--size", type=int, required=True, help="Maximum file size in bytes") -@click.pass_obj -@handle_errors -def max_filesize(config, size): - """Set the maximum file size for syncing.""" - if size < 0: - click.echo("Error: Maximum file size must be a non-negative number.") - return - config.set("max_file_size", size) - click.echo(f"Maximum file size set to {size} bytes.") +import click + +from claudesync.provider_factory import get_provider +from ..utils import handle_errors +from ..cli.organization import select as org_select +from ..cli.project import select as proj_select + + +@click.group() +def api(): + """Manage api.""" + pass + + +@api.command() +@click.argument("provider", required=False) +@click.pass_context +@handle_errors +def login(ctx, provider): + """Authenticate with an AI provider.""" + config = ctx.obj + providers = get_provider() + if not provider: + click.echo("Available providers:\n" + "\n".join(f" - {p}" for p in providers)) + return + if provider not in providers: + click.echo( + f"Error: Unknown provider '{provider}'. Available: {', '.join(providers)}" + ) + return + provider_instance = get_provider(provider) + session = provider_instance.login() + config.set_session_key(session[0], session[1]) + config.set("active_provider", provider) + click.echo("Logged in successfully.") + + # Automatically run organization select + ctx.invoke(org_select) + + # Automatically run project select + ctx.invoke(proj_select) + + +@api.command() +@click.pass_obj +def logout(config): + """Log out from the current AI provider.""" + for key in [ + "session_key", + "session_key_expiry", + "active_provider", + "active_organization_id", + "active_project_id", + "active_project_name", + "local_path", + ]: + config.set(key, None) + click.echo("Logged out successfully.") + + +@api.command() +@click.option("--delay", type=float, required=True, help="Upload delay in seconds") +@click.pass_obj +@handle_errors +def ratelimit(config, delay): + """Set the delay between file uploads during sync.""" + if delay < 0: + click.echo("Error: Upload delay must be a non-negative number.") + return + config.set("upload_delay", delay) + click.echo(f"Upload delay set to {delay} seconds.") + + +@api.command() +@click.option("--size", type=int, required=True, help="Maximum file size in bytes") +@click.pass_obj +@handle_errors +def max_filesize(config, size): + """Set the maximum file size for syncing.""" + if size < 0: + click.echo("Error: Maximum file size must be a non-negative number.") + return + config.set("max_file_size", size) + click.echo(f"Maximum file size set to {size} bytes.") diff --git a/src/claudesync/cli/main.py b/src/claudesync/cli/main.py index 769e389..4aff09d 100644 --- a/src/claudesync/cli/main.py +++ b/src/claudesync/cli/main.py @@ -1,67 +1,67 @@ -import click -import click_completion -import click_completion.core - -from claudesync.cli.chat import chat -from claudesync.config_manager import ConfigManager -from .api import api -from .organization import organization -from .project import project -from .sync import ls, sync, schedule -from .config import config -import logging - -logging.basicConfig( - level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" -) - -click_completion.init() - - -@click.group() -@click.pass_context -def cli(ctx): - """ClaudeSync: Synchronize local files with ai projects.""" - ctx.obj = ConfigManager() - - -@cli.command() -@click.argument( - "shell", required=False, type=click.Choice(["bash", "zsh", "fish", "powershell"]) -) -def install_completion(shell): - """Install completion for the specified shell.""" - if shell is None: - shell = click_completion.get_auto_shell() - click.echo("Shell is set to '%s'" % shell) - click_completion.install(shell=shell) - click.echo("Completion installed.") - - -@cli.command() -@click.pass_obj -def status(config): - """Display current configuration status.""" - for key in [ - "active_provider", - "active_organization_id", - "active_project_id", - "active_project_name", - "local_path", - "log_level", - ]: - value = config.get(key) - click.echo(f"{key.replace('_', ' ').capitalize()}: {value or 'Not set'}") - - -cli.add_command(api) -cli.add_command(organization) -cli.add_command(project) -cli.add_command(ls) -cli.add_command(sync) -cli.add_command(schedule) -cli.add_command(config) -cli.add_command(chat) - -if __name__ == "__main__": - cli() +import click +import click_completion +import click_completion.core + +from claudesync.cli.chat import chat +from claudesync.config_manager import ConfigManager +from .api import api +from .organization import organization +from .project import project +from .sync import ls, sync, schedule +from .config import config +import logging + +logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" +) + +click_completion.init() + + +@click.group() +@click.pass_context +def cli(ctx): + """ClaudeSync: Synchronize local files with ai projects.""" + ctx.obj = ConfigManager() + + +@cli.command() +@click.argument( + "shell", required=False, type=click.Choice(["bash", "zsh", "fish", "powershell"]) +) +def install_completion(shell): + """Install completion for the specified shell.""" + if shell is None: + shell = click_completion.get_auto_shell() + click.echo("Shell is set to '%s'" % shell) + click_completion.install(shell=shell) + click.echo("Completion installed.") + + +@cli.command() +@click.pass_obj +def status(config): + """Display current configuration status.""" + for key in [ + "active_provider", + "active_organization_id", + "active_project_id", + "active_project_name", + "local_path", + "log_level", + ]: + value = config.get(key) + click.echo(f"{key.replace('_', ' ').capitalize()}: {value or 'Not set'}") + + +cli.add_command(api) +cli.add_command(organization) +cli.add_command(project) +cli.add_command(ls) +cli.add_command(sync) +cli.add_command(schedule) +cli.add_command(config) +cli.add_command(chat) + +if __name__ == "__main__": + cli() diff --git a/src/claudesync/cli/organization.py b/src/claudesync/cli/organization.py index c479549..4e31b13 100644 --- a/src/claudesync/cli/organization.py +++ b/src/claudesync/cli/organization.py @@ -1,53 +1,53 @@ -import click - -from ..utils import handle_errors, validate_and_get_provider - - -@click.group() -def organization(): - """Manage ai organizations.""" - pass - - -@organization.command() -@click.pass_obj -@handle_errors -def ls(config): - """List all available organizations with required capabilities.""" - provider = validate_and_get_provider(config, require_org=False) - organizations = provider.get_organizations() - if not organizations: - click.echo( - "No organizations with required capabilities (chat and claude_pro) found." - ) - else: - click.echo("Available organizations with required capabilities:") - for idx, org in enumerate(organizations, 1): - click.echo(f" {idx}. {org['name']} (ID: {org['id']})") - - -@organization.command() -@click.pass_context -@handle_errors -def select(ctx): - """Set the active organization.""" - config = ctx.obj - provider = validate_and_get_provider(config, require_org=False) - organizations = provider.get_organizations() - if not organizations: - click.echo( - "No organizations with required capabilities (chat and claude_pro) found." - ) - return - click.echo("Available organizations with required capabilities:") - for idx, org in enumerate(organizations, 1): - click.echo(f" {idx}. {org['name']} (ID: {org['id']})") - selection = click.prompt("Enter the number of the organization to select", type=int) - if 1 <= selection <= len(organizations): - selected_org = organizations[selection - 1] - config.set("active_organization_id", selected_org["id"]) - click.echo( - f"Selected organization: {selected_org['name']} (ID: {selected_org['id']})" - ) - else: - click.echo("Invalid selection. Please try again.") +import click + +from ..utils import handle_errors, validate_and_get_provider + + +@click.group() +def organization(): + """Manage ai organizations.""" + pass + + +@organization.command() +@click.pass_obj +@handle_errors +def ls(config): + """List all available organizations with required capabilities.""" + provider = validate_and_get_provider(config, require_org=False) + organizations = provider.get_organizations() + if not organizations: + click.echo( + "No organizations with required capabilities (chat and claude_pro) found." + ) + else: + click.echo("Available organizations with required capabilities:") + for idx, org in enumerate(organizations, 1): + click.echo(f" {idx}. {org['name']} (ID: {org['id']})") + + +@organization.command() +@click.pass_context +@handle_errors +def select(ctx): + """Set the active organization.""" + config = ctx.obj + provider = validate_and_get_provider(config, require_org=False) + organizations = provider.get_organizations() + if not organizations: + click.echo( + "No organizations with required capabilities (chat and claude_pro) found." + ) + return + click.echo("Available organizations with required capabilities:") + for idx, org in enumerate(organizations, 1): + click.echo(f" {idx}. {org['name']} (ID: {org['id']})") + selection = click.prompt("Enter the number of the organization to select", type=int) + if 1 <= selection <= len(organizations): + selected_org = organizations[selection - 1] + config.set("active_organization_id", selected_org["id"]) + click.echo( + f"Selected organization: {selected_org['name']} (ID: {selected_org['id']})" + ) + else: + click.echo("Invalid selection. Please try again.") diff --git a/src/claudesync/cli/project.py b/src/claudesync/cli/project.py index 98a771a..0cf441d 100644 --- a/src/claudesync/cli/project.py +++ b/src/claudesync/cli/project.py @@ -1,146 +1,146 @@ -import os - -import click - -from claudesync.exceptions import ProviderError -from ..syncmanager import SyncManager -from ..utils import ( - handle_errors, - validate_and_get_provider, - validate_and_store_local_path, - get_local_files, -) - - -@click.group() -def project(): - """Manage ai projects within the active organization.""" - pass - - -@project.command() -@click.pass_obj -@handle_errors -def create(config): - """Create a new project in the active organization.""" - provider = validate_and_get_provider(config) - active_organization_id = config.get("active_organization_id") - - default_name = os.path.basename(os.getcwd()) - title = click.prompt("Enter the project title", default=default_name) - description = click.prompt("Enter the project description (optional)", default="") - - try: - new_project = provider.create_project( - active_organization_id, title, description - ) - click.echo( - f"Project '{new_project['name']}' (uuid: {new_project['uuid']}) has been created successfully." - ) - - config.set("active_project_id", new_project["uuid"]) - config.set("active_project_name", new_project["name"]) - click.echo( - f"Active project set to: {new_project['name']} (uuid: {new_project['uuid']})" - ) - - validate_and_store_local_path(config) - - except ProviderError as e: - click.echo(f"Failed to create project: {str(e)}") - - -@project.command() -@click.pass_obj -@handle_errors -def archive(config): - """Archive an existing project.""" - provider = validate_and_get_provider(config) - active_organization_id = config.get("active_organization_id") - projects = provider.get_projects(active_organization_id, include_archived=False) - if not projects: - click.echo("No active projects found.") - return - click.echo("Available projects to archive:") - for idx, project in enumerate(projects, 1): - click.echo(f" {idx}. {project['name']} (ID: {project['id']})") - selection = click.prompt("Enter the number of the project to archive", type=int) - if 1 <= selection <= len(projects): - selected_project = projects[selection - 1] - if click.confirm( - f"Are you sure you want to archive '{selected_project['name']}'?" - ): - provider.archive_project(active_organization_id, selected_project["id"]) - click.echo(f"Project '{selected_project['name']}' has been archived.") - else: - click.echo("Invalid selection. Please try again.") - - -@project.command() -@click.pass_context -@handle_errors -def select(ctx): - """Set the active project for syncing.""" - config = ctx.obj - provider = validate_and_get_provider(config) - active_organization_id = config.get("active_organization_id") - projects = provider.get_projects(active_organization_id, include_archived=False) - if not projects: - click.echo("No active projects found.") - return - click.echo("Available projects:") - for idx, project in enumerate(projects, 1): - click.echo(f" {idx}. {project['name']} (ID: {project['id']})") - selection = click.prompt("Enter the number of the project to select", type=int) - if 1 <= selection <= len(projects): - selected_project = projects[selection - 1] - config.set("active_project_id", selected_project["id"]) - config.set("active_project_name", selected_project["name"]) - click.echo( - f"Selected project: {selected_project['name']} (ID: {selected_project['id']})" - ) - - validate_and_store_local_path(config) - else: - click.echo("Invalid selection. Please try again.") - - -@project.command() -@click.option( - "-a", - "--all", - "show_all", - is_flag=True, - help="Include archived projects in the list", -) -@click.pass_obj -@handle_errors -def ls(config, show_all): - """List all projects in the active organization.""" - provider = validate_and_get_provider(config) - active_organization_id = config.get("active_organization_id") - projects = provider.get_projects(active_organization_id, include_archived=show_all) - if not projects: - click.echo("No projects found.") - else: - click.echo("Remote projects:") - for project in projects: - status = " (Archived)" if project.get("archived_at") else "" - click.echo(f" - {project['name']} (ID: {project['id']}){status}") - - -@project.command() -@click.pass_obj -@handle_errors -def sync(config): - """Synchronize only the project files.""" - provider = validate_and_get_provider(config, require_project=True) - - sync_manager = SyncManager(provider, config) - remote_files = provider.list_files( - sync_manager.active_organization_id, sync_manager.active_project_id - ) - local_files = get_local_files(config.get("local_path")) - sync_manager.sync(local_files, remote_files) - - click.echo("Project sync completed successfully.") +import os + +import click + +from claudesync.exceptions import ProviderError +from ..syncmanager import SyncManager +from ..utils import ( + handle_errors, + validate_and_get_provider, + validate_and_store_local_path, + get_local_files, +) + + +@click.group() +def project(): + """Manage ai projects within the active organization.""" + pass + + +@project.command() +@click.pass_obj +@handle_errors +def create(config): + """Create a new project in the active organization.""" + provider = validate_and_get_provider(config) + active_organization_id = config.get("active_organization_id") + + default_name = os.path.basename(os.getcwd()) + title = click.prompt("Enter the project title", default=default_name) + description = click.prompt("Enter the project description (optional)", default="") + + try: + new_project = provider.create_project( + active_organization_id, title, description + ) + click.echo( + f"Project '{new_project['name']}' (uuid: {new_project['uuid']}) has been created successfully." + ) + + config.set("active_project_id", new_project["uuid"]) + config.set("active_project_name", new_project["name"]) + click.echo( + f"Active project set to: {new_project['name']} (uuid: {new_project['uuid']})" + ) + + validate_and_store_local_path(config) + + except ProviderError as e: + click.echo(f"Failed to create project: {str(e)}") + + +@project.command() +@click.pass_obj +@handle_errors +def archive(config): + """Archive an existing project.""" + provider = validate_and_get_provider(config) + active_organization_id = config.get("active_organization_id") + projects = provider.get_projects(active_organization_id, include_archived=False) + if not projects: + click.echo("No active projects found.") + return + click.echo("Available projects to archive:") + for idx, project in enumerate(projects, 1): + click.echo(f" {idx}. {project['name']} (ID: {project['id']})") + selection = click.prompt("Enter the number of the project to archive", type=int) + if 1 <= selection <= len(projects): + selected_project = projects[selection - 1] + if click.confirm( + f"Are you sure you want to archive '{selected_project['name']}'?" + ): + provider.archive_project(active_organization_id, selected_project["id"]) + click.echo(f"Project '{selected_project['name']}' has been archived.") + else: + click.echo("Invalid selection. Please try again.") + + +@project.command() +@click.pass_context +@handle_errors +def select(ctx): + """Set the active project for syncing.""" + config = ctx.obj + provider = validate_and_get_provider(config) + active_organization_id = config.get("active_organization_id") + projects = provider.get_projects(active_organization_id, include_archived=False) + if not projects: + click.echo("No active projects found.") + return + click.echo("Available projects:") + for idx, project in enumerate(projects, 1): + click.echo(f" {idx}. {project['name']} (ID: {project['id']})") + selection = click.prompt("Enter the number of the project to select", type=int) + if 1 <= selection <= len(projects): + selected_project = projects[selection - 1] + config.set("active_project_id", selected_project["id"]) + config.set("active_project_name", selected_project["name"]) + click.echo( + f"Selected project: {selected_project['name']} (ID: {selected_project['id']})" + ) + + validate_and_store_local_path(config) + else: + click.echo("Invalid selection. Please try again.") + + +@project.command() +@click.option( + "-a", + "--all", + "show_all", + is_flag=True, + help="Include archived projects in the list", +) +@click.pass_obj +@handle_errors +def ls(config, show_all): + """List all projects in the active organization.""" + provider = validate_and_get_provider(config) + active_organization_id = config.get("active_organization_id") + projects = provider.get_projects(active_organization_id, include_archived=show_all) + if not projects: + click.echo("No projects found.") + else: + click.echo("Remote projects:") + for project in projects: + status = " (Archived)" if project.get("archived_at") else "" + click.echo(f" - {project['name']} (ID: {project['id']}){status}") + + +@project.command() +@click.pass_obj +@handle_errors +def sync(config): + """Synchronize only the project files.""" + provider = validate_and_get_provider(config, require_project=True) + + sync_manager = SyncManager(provider, config) + remote_files = provider.list_files( + sync_manager.active_organization_id, sync_manager.active_project_id + ) + local_files = get_local_files(config.get("local_path")) + sync_manager.sync(local_files, remote_files) + + click.echo("Project sync completed successfully.") diff --git a/src/claudesync/exceptions.py b/src/claudesync/exceptions.py index 4b9767b..2a75960 100644 --- a/src/claudesync/exceptions.py +++ b/src/claudesync/exceptions.py @@ -1,22 +1,22 @@ -class ConfigurationError(Exception): - """ - Exception raised when there's an issue with the application's configuration. - - This exception should be raised to indicate problems such as missing required configuration options, - invalid values, or issues loading configuration files. It helps in distinguishing configuration-related - errors from other types of exceptions. - """ - - pass - - -class ProviderError(Exception): - """ - Exception raised when there's an issue with a provider operation. - - This exception is used to signal failures in operations related to external service providers, - such as authentication failures, data retrieval errors, or actions that cannot be completed as requested. - It allows for more granular error handling that is specific to provider interactions. - """ - - pass +class ConfigurationError(Exception): + """ + Exception raised when there's an issue with the application's configuration. + + This exception should be raised to indicate problems such as missing required configuration options, + invalid values, or issues loading configuration files. It helps in distinguishing configuration-related + errors from other types of exceptions. + """ + + pass + + +class ProviderError(Exception): + """ + Exception raised when there's an issue with a provider operation. + + This exception is used to signal failures in operations related to external service providers, + such as authentication failures, data retrieval errors, or actions that cannot be completed as requested. + It allows for more granular error handling that is specific to provider interactions. + """ + + pass diff --git a/src/claudesync/syncmanager.py b/src/claudesync/syncmanager.py index b7ebf67..b50d3f2 100644 --- a/src/claudesync/syncmanager.py +++ b/src/claudesync/syncmanager.py @@ -1,275 +1,275 @@ -import os -import time -import logging -from datetime import datetime, timezone - -from tqdm import tqdm - -from claudesync.utils import compute_md5_hash - -logger = logging.getLogger(__name__) - - -class SyncManager: - def __init__(self, provider, config): - """ - Initialize the SyncManager with the given provider and configuration. - - Args: - provider (Provider): The provider instance to interact with the remote storage. - config (dict): Configuration dictionary containing sync settings such as: - - active_organization_id (str): ID of the active organization. - - active_project_id (str): ID of the active project. - - local_path (str): Path to the local directory to be synchronized. - - upload_delay (float, optional): Delay between upload operations in seconds. Defaults to 0.5. - - two_way_sync (bool, optional): Flag to enable two-way synchronization. Defaults to False. - """ - self.provider = provider - self.config = config - self.active_organization_id = config.get("active_organization_id") - self.active_project_id = config.get("active_project_id") - self.local_path = config.get("local_path") - self.upload_delay = config.get("upload_delay", 0.5) - self.two_way_sync = config.get("two_way_sync", False) - - def sync(self, local_files, remote_files): - """ - Main synchronization method that orchestrates the sync process. - - This method manages the synchronization between local and remote files. It handles the - synchronization from local to remote, updates local timestamps, performs two-way sync if enabled, - and deletes remote files that are no longer present locally. - - Args: - local_files (dict): Dictionary of local file names and their corresponding checksums. - remote_files (list): List of dictionaries representing remote files, each containing: - - "file_name" (str): Name of the file. - - "content" (str): Content of the file. - - "created_at" (str): Timestamp when the file was created in ISO format. - - "uuid" (str): Unique identifier of the remote file. - """ - remote_files_to_delete = set(rf["file_name"] for rf in remote_files) - synced_files = set() - - with tqdm(total=len(local_files), desc="Local → Remote") as pbar: - for local_file, local_checksum in local_files.items(): - remote_file = next( - (rf for rf in remote_files if rf["file_name"] == local_file), None - ) - if remote_file: - self.update_existing_file( - local_file, - local_checksum, - remote_file, - remote_files_to_delete, - synced_files, - ) - else: - self.upload_new_file(local_file, synced_files) - pbar.update(1) - - self.update_local_timestamps(remote_files, synced_files) - - if self.two_way_sync: - with tqdm(total=len(remote_files), desc="Remote → Local") as pbar: - for remote_file in remote_files: - self.sync_remote_to_local( - remote_file, remote_files_to_delete, synced_files - ) - pbar.update(1) - for file_to_delete in list(remote_files_to_delete): - self.delete_remote_files(file_to_delete, remote_files) - pbar.update(1) - - def update_existing_file( - self, - local_file, - local_checksum, - remote_file, - remote_files_to_delete, - synced_files, - ): - """ - Update an existing file on the remote if it has changed locally. - - This method compares the local and remote file checksums. If they differ, it deletes the old remote file - and uploads the new version from the local file. - - Args: - local_file (str): Name of the local file. - local_checksum (str): MD5 checksum of the local file content. - remote_file (dict): Dictionary representing the remote file. - remote_files_to_delete (set): Set of remote file names to be considered for deletion. - synced_files (set): Set of file names that have been synchronized. - """ - remote_checksum = compute_md5_hash(remote_file["content"]) - if local_checksum != remote_checksum: - logger.debug(f"Updating {local_file} on remote...") - with tqdm(total=2, desc=f"Updating {local_file}", leave=False) as pbar: - self.provider.delete_file( - self.active_organization_id, - self.active_project_id, - remote_file["uuid"], - ) - pbar.update(1) - with open( - os.path.join(self.local_path, local_file), "r", encoding="utf-8" - ) as file: - content = file.read() - self.provider.upload_file( - self.active_organization_id, - self.active_project_id, - local_file, - content, - ) - pbar.update(1) - time.sleep(self.upload_delay) - synced_files.add(local_file) - remote_files_to_delete.remove(local_file) - - def upload_new_file(self, local_file, synced_files): - """ - Upload a new file to the remote project. - - This method reads the content of the local file and uploads it to the remote project. - - Args: - local_file (str): Name of the local file to be uploaded. - synced_files (set): Set of file names that have been synchronized. - """ - logger.debug(f"Uploading new file {local_file} to remote...") - with open( - os.path.join(self.local_path, local_file), "r", encoding="utf-8" - ) as file: - content = file.read() - with tqdm(total=1, desc=f"Uploading {local_file}", leave=False) as pbar: - self.provider.upload_file( - self.active_organization_id, self.active_project_id, local_file, content - ) - pbar.update(1) - time.sleep(self.upload_delay) - synced_files.add(local_file) - - def update_local_timestamps(self, remote_files, synced_files): - """ - Update local file timestamps to match the remote timestamps. - - This method updates the modification timestamps of local files to match their corresponding - remote file timestamps if they have been synchronized. - - Args: - remote_files (list): List of dictionaries representing remote files. - synced_files (set): Set of file names that have been synchronized. - """ - for remote_file in remote_files: - if remote_file["file_name"] in synced_files: - local_file_path = os.path.join( - self.local_path, remote_file["file_name"] - ) - if os.path.exists(local_file_path): - remote_timestamp = datetime.fromisoformat( - remote_file["created_at"].replace("Z", "+00:00") - ).timestamp() - os.utime(local_file_path, (remote_timestamp, remote_timestamp)) - logger.debug(f"Updated timestamp on local file {local_file_path}") - - def sync_remote_to_local(self, remote_file, remote_files_to_delete, synced_files): - """ - Synchronize a remote file to the local project (two-way sync). - - This method checks if the remote file exists locally. If it does, it updates the file - if the remote version is newer. If it doesn't exist locally, it creates a new local file. - - Args: - remote_file (dict): Dictionary representing the remote file. - remote_files_to_delete (set): Set of remote file names to be considered for deletion. - synced_files (set): Set of file names that have been synchronized. - """ - local_file_path = os.path.join(self.local_path, remote_file["file_name"]) - if os.path.exists(local_file_path): - self.update_existing_local_file( - local_file_path, remote_file, remote_files_to_delete, synced_files - ) - else: - self.create_new_local_file( - local_file_path, remote_file, remote_files_to_delete, synced_files - ) - - def update_existing_local_file( - self, local_file_path, remote_file, remote_files_to_delete, synced_files - ): - """ - Update an existing local file if the remote version is newer. - - This method compares the local file's modification time with the remote file's creation time. - If the remote file is newer, it updates the local file with the remote content. - - Args: - local_file_path (str): Path to the local file. - remote_file (dict): Dictionary representing the remote file. - remote_files_to_delete (set): Set of remote file names to be considered for deletion. - synced_files (set): Set of file names that have been synchronized. - """ - local_mtime = datetime.fromtimestamp( - os.path.getmtime(local_file_path), tz=timezone.utc - ) - remote_mtime = datetime.fromisoformat( - remote_file["created_at"].replace("Z", "+00:00") - ) - if remote_mtime > local_mtime: - logger.debug( - f"Updating local file {remote_file['file_name']} from remote..." - ) - with open(local_file_path, "w", encoding="utf-8") as file: - file.write(remote_file["content"]) - synced_files.add(remote_file["file_name"]) - if remote_file["file_name"] in remote_files_to_delete: - remote_files_to_delete.remove(remote_file["file_name"]) - - def create_new_local_file( - self, local_file_path, remote_file, remote_files_to_delete, synced_files - ): - """ - Create a new local file from a remote file. - - This method creates a new local file with the content from the remote file. - - Args: - local_file_path (str): Path to the new local file. - remote_file (dict): Dictionary representing the remote file. - remote_files_to_delete (set): Set of remote file names to be considered for deletion. - synced_files (set): Set of file names that have been synchronized. - """ - logger.debug( - f"Creating new local file {remote_file['file_name']} from remote..." - ) - with tqdm( - total=1, desc=f"Creating {remote_file['file_name']}", leave=False - ) as pbar: - with open(local_file_path, "w", encoding="utf-8") as file: - file.write(remote_file["content"]) - pbar.update(1) - synced_files.add(remote_file["file_name"]) - if remote_file["file_name"] in remote_files_to_delete: - remote_files_to_delete.remove(remote_file["file_name"]) - - def delete_remote_files(self, file_to_delete, remote_files): - """ - Delete a file from the remote project that no longer exists locally. - - This method deletes a remote file that is not present in the local directory. - - Args: - file_to_delete (str): Name of the remote file to be deleted. - remote_files (list): List of dictionaries representing remote files. - """ - logger.debug(f"Deleting {file_to_delete} from remote...") - remote_file = next( - rf for rf in remote_files if rf["file_name"] == file_to_delete - ) - with tqdm(total=1, desc=f"Deleting {file_to_delete}", leave=False) as pbar: - self.provider.delete_file( - self.active_organization_id, self.active_project_id, remote_file["uuid"] - ) - pbar.update(1) - time.sleep(self.upload_delay) +import os +import time +import logging +from datetime import datetime, timezone + +from tqdm import tqdm + +from claudesync.utils import compute_md5_hash + +logger = logging.getLogger(__name__) + + +class SyncManager: + def __init__(self, provider, config): + """ + Initialize the SyncManager with the given provider and configuration. + + Args: + provider (Provider): The provider instance to interact with the remote storage. + config (dict): Configuration dictionary containing sync settings such as: + - active_organization_id (str): ID of the active organization. + - active_project_id (str): ID of the active project. + - local_path (str): Path to the local directory to be synchronized. + - upload_delay (float, optional): Delay between upload operations in seconds. Defaults to 0.5. + - two_way_sync (bool, optional): Flag to enable two-way synchronization. Defaults to False. + """ + self.provider = provider + self.config = config + self.active_organization_id = config.get("active_organization_id") + self.active_project_id = config.get("active_project_id") + self.local_path = config.get("local_path") + self.upload_delay = config.get("upload_delay", 0.5) + self.two_way_sync = config.get("two_way_sync", False) + + def sync(self, local_files, remote_files): + """ + Main synchronization method that orchestrates the sync process. + + This method manages the synchronization between local and remote files. It handles the + synchronization from local to remote, updates local timestamps, performs two-way sync if enabled, + and deletes remote files that are no longer present locally. + + Args: + local_files (dict): Dictionary of local file names and their corresponding checksums. + remote_files (list): List of dictionaries representing remote files, each containing: + - "file_name" (str): Name of the file. + - "content" (str): Content of the file. + - "created_at" (str): Timestamp when the file was created in ISO format. + - "uuid" (str): Unique identifier of the remote file. + """ + remote_files_to_delete = set(rf["file_name"] for rf in remote_files) + synced_files = set() + + with tqdm(total=len(local_files), desc="Local → Remote") as pbar: + for local_file, local_checksum in local_files.items(): + remote_file = next( + (rf for rf in remote_files if rf["file_name"] == local_file), None + ) + if remote_file: + self.update_existing_file( + local_file, + local_checksum, + remote_file, + remote_files_to_delete, + synced_files, + ) + else: + self.upload_new_file(local_file, synced_files) + pbar.update(1) + + self.update_local_timestamps(remote_files, synced_files) + + if self.two_way_sync: + with tqdm(total=len(remote_files), desc="Remote → Local") as pbar: + for remote_file in remote_files: + self.sync_remote_to_local( + remote_file, remote_files_to_delete, synced_files + ) + pbar.update(1) + for file_to_delete in list(remote_files_to_delete): + self.delete_remote_files(file_to_delete, remote_files) + pbar.update(1) + + def update_existing_file( + self, + local_file, + local_checksum, + remote_file, + remote_files_to_delete, + synced_files, + ): + """ + Update an existing file on the remote if it has changed locally. + + This method compares the local and remote file checksums. If they differ, it deletes the old remote file + and uploads the new version from the local file. + + Args: + local_file (str): Name of the local file. + local_checksum (str): MD5 checksum of the local file content. + remote_file (dict): Dictionary representing the remote file. + remote_files_to_delete (set): Set of remote file names to be considered for deletion. + synced_files (set): Set of file names that have been synchronized. + """ + remote_checksum = compute_md5_hash(remote_file["content"]) + if local_checksum != remote_checksum: + logger.debug(f"Updating {local_file} on remote...") + with tqdm(total=2, desc=f"Updating {local_file}", leave=False) as pbar: + self.provider.delete_file( + self.active_organization_id, + self.active_project_id, + remote_file["uuid"], + ) + pbar.update(1) + with open( + os.path.join(self.local_path, local_file), "r", encoding="utf-8" + ) as file: + content = file.read() + self.provider.upload_file( + self.active_organization_id, + self.active_project_id, + local_file, + content, + ) + pbar.update(1) + time.sleep(self.upload_delay) + synced_files.add(local_file) + remote_files_to_delete.remove(local_file) + + def upload_new_file(self, local_file, synced_files): + """ + Upload a new file to the remote project. + + This method reads the content of the local file and uploads it to the remote project. + + Args: + local_file (str): Name of the local file to be uploaded. + synced_files (set): Set of file names that have been synchronized. + """ + logger.debug(f"Uploading new file {local_file} to remote...") + with open( + os.path.join(self.local_path, local_file), "r", encoding="utf-8" + ) as file: + content = file.read() + with tqdm(total=1, desc=f"Uploading {local_file}", leave=False) as pbar: + self.provider.upload_file( + self.active_organization_id, self.active_project_id, local_file, content + ) + pbar.update(1) + time.sleep(self.upload_delay) + synced_files.add(local_file) + + def update_local_timestamps(self, remote_files, synced_files): + """ + Update local file timestamps to match the remote timestamps. + + This method updates the modification timestamps of local files to match their corresponding + remote file timestamps if they have been synchronized. + + Args: + remote_files (list): List of dictionaries representing remote files. + synced_files (set): Set of file names that have been synchronized. + """ + for remote_file in remote_files: + if remote_file["file_name"] in synced_files: + local_file_path = os.path.join( + self.local_path, remote_file["file_name"] + ) + if os.path.exists(local_file_path): + remote_timestamp = datetime.fromisoformat( + remote_file["created_at"].replace("Z", "+00:00") + ).timestamp() + os.utime(local_file_path, (remote_timestamp, remote_timestamp)) + logger.debug(f"Updated timestamp on local file {local_file_path}") + + def sync_remote_to_local(self, remote_file, remote_files_to_delete, synced_files): + """ + Synchronize a remote file to the local project (two-way sync). + + This method checks if the remote file exists locally. If it does, it updates the file + if the remote version is newer. If it doesn't exist locally, it creates a new local file. + + Args: + remote_file (dict): Dictionary representing the remote file. + remote_files_to_delete (set): Set of remote file names to be considered for deletion. + synced_files (set): Set of file names that have been synchronized. + """ + local_file_path = os.path.join(self.local_path, remote_file["file_name"]) + if os.path.exists(local_file_path): + self.update_existing_local_file( + local_file_path, remote_file, remote_files_to_delete, synced_files + ) + else: + self.create_new_local_file( + local_file_path, remote_file, remote_files_to_delete, synced_files + ) + + def update_existing_local_file( + self, local_file_path, remote_file, remote_files_to_delete, synced_files + ): + """ + Update an existing local file if the remote version is newer. + + This method compares the local file's modification time with the remote file's creation time. + If the remote file is newer, it updates the local file with the remote content. + + Args: + local_file_path (str): Path to the local file. + remote_file (dict): Dictionary representing the remote file. + remote_files_to_delete (set): Set of remote file names to be considered for deletion. + synced_files (set): Set of file names that have been synchronized. + """ + local_mtime = datetime.fromtimestamp( + os.path.getmtime(local_file_path), tz=timezone.utc + ) + remote_mtime = datetime.fromisoformat( + remote_file["created_at"].replace("Z", "+00:00") + ) + if remote_mtime > local_mtime: + logger.debug( + f"Updating local file {remote_file['file_name']} from remote..." + ) + with open(local_file_path, "w", encoding="utf-8") as file: + file.write(remote_file["content"]) + synced_files.add(remote_file["file_name"]) + if remote_file["file_name"] in remote_files_to_delete: + remote_files_to_delete.remove(remote_file["file_name"]) + + def create_new_local_file( + self, local_file_path, remote_file, remote_files_to_delete, synced_files + ): + """ + Create a new local file from a remote file. + + This method creates a new local file with the content from the remote file. + + Args: + local_file_path (str): Path to the new local file. + remote_file (dict): Dictionary representing the remote file. + remote_files_to_delete (set): Set of remote file names to be considered for deletion. + synced_files (set): Set of file names that have been synchronized. + """ + logger.debug( + f"Creating new local file {remote_file['file_name']} from remote..." + ) + with tqdm( + total=1, desc=f"Creating {remote_file['file_name']}", leave=False + ) as pbar: + with open(local_file_path, "w", encoding="utf-8") as file: + file.write(remote_file["content"]) + pbar.update(1) + synced_files.add(remote_file["file_name"]) + if remote_file["file_name"] in remote_files_to_delete: + remote_files_to_delete.remove(remote_file["file_name"]) + + def delete_remote_files(self, file_to_delete, remote_files): + """ + Delete a file from the remote project that no longer exists locally. + + This method deletes a remote file that is not present in the local directory. + + Args: + file_to_delete (str): Name of the remote file to be deleted. + remote_files (list): List of dictionaries representing remote files. + """ + logger.debug(f"Deleting {file_to_delete} from remote...") + remote_file = next( + rf for rf in remote_files if rf["file_name"] == file_to_delete + ) + with tqdm(total=1, desc=f"Deleting {file_to_delete}", leave=False) as pbar: + self.provider.delete_file( + self.active_organization_id, self.active_project_id, remote_file["uuid"] + ) + pbar.update(1) + time.sleep(self.upload_delay) diff --git a/src/claudesync/utils.py b/src/claudesync/utils.py index 512796d..cc1069a 100644 --- a/src/claudesync/utils.py +++ b/src/claudesync/utils.py @@ -1,334 +1,334 @@ -import os -import hashlib -from functools import wraps -import click -import pathspec -import logging -from claudesync.exceptions import ConfigurationError, ProviderError -from claudesync.provider_factory import get_provider -from claudesync.config_manager import ConfigManager - -logger = logging.getLogger(__name__) -config_manager = ConfigManager() - - -def normalize_and_calculate_md5(content): - """ - Calculate the MD5 checksum of the given content after normalizing line endings. - - This function normalizes the line endings of the input content to Unix-style (\n), - strips leading and trailing whitespace, and then calculates the MD5 checksum of the - normalized content. This is useful for ensuring consistent checksums across different - operating systems and environments where line ending styles may vary. - - Args: - content (str): The content for which to calculate the checksum. - - Returns: - str: The hexadecimal MD5 checksum of the normalized content. - """ - normalized_content = content.replace("\r\n", "\n").replace("\r", "\n").strip() - return hashlib.md5(normalized_content.encode("utf-8")).hexdigest() - - -def load_gitignore(base_path): - """ - Loads and parses the .gitignore file from the specified base path. - - This function attempts to find a .gitignore file in the given base path. If found, - it reads the file and creates a PathSpec object that can be used to match paths - against the patterns defined in the .gitignore file. This is useful for filtering - out files that should be ignored based on the project's .gitignore settings. - - Args: - base_path (str): The base directory path where the .gitignore file is located. - - Returns: - pathspec.PathSpec or None: A PathSpec object containing the patterns from the .gitignore file - if the file exists; otherwise, None. - """ - gitignore_path = os.path.join(base_path, ".gitignore") - if os.path.exists(gitignore_path): - with open(gitignore_path, "r") as f: - return pathspec.PathSpec.from_lines("gitwildmatch", f) - return None - - -def is_text_file(file_path, sample_size=8192): - """ - Determines if a file is a text file by checking for the absence of null bytes. - - This function reads a sample of the file (default 8192 bytes) and checks if it contains - any null byte (\x00). The presence of a null byte is often indicative of a binary file. - This is a heuristic method and may not be 100% accurate for all file types. - - Args: - file_path (str): The path to the file to be checked. - sample_size (int, optional): The number of bytes to read from the file for checking. - Defaults to 8192. - - Returns: - bool: True if the file is likely a text file, False if it is likely binary or an error occurred. - """ - try: - with open(file_path, "rb") as file: - return b"\x00" not in file.read(sample_size) - except IOError: - return False - - -def compute_md5_hash(content): - """ - Computes the MD5 hash of the given content. - - This function takes a string as input, encodes it into UTF-8, and then computes the MD5 hash of the encoded string. - The result is a hexadecimal representation of the hash, which is commonly used for creating a quick and simple - fingerprint of a piece of data. - - Args: - content (str): The content for which to compute the MD5 hash. - - Returns: - str: The hexadecimal MD5 hash of the input content. - """ - return hashlib.md5(content.encode("utf-8")).hexdigest() - - -def should_process_file(file_path, filename, gitignore, base_path, claudeignore): - """ - Determines whether a file should be processed based on various criteria. - - This function checks if a file should be included in the synchronization process by applying - several filters: - - Checks if the file size is within the configured maximum limit. - - Skips temporary editor files (ending with '~'). - - Applies .gitignore rules if a gitignore PathSpec is provided. - - Verifies if the file is a text file. - - Args: - file_path (str): The full path to the file. - filename (str): The name of the file. - gitignore (pathspec.PathSpec or None): A PathSpec object containing .gitignore patterns, if available. - base_path (str): The base directory path of the project. - claudeignore (pathspec.PathSpec or None): A PathSpec object containing .claudeignore patterns, if available. - - Returns: - bool: True if the file should be processed, False otherwise. - """ - # Check file size - max_file_size = config_manager.get("max_file_size", 32 * 1024) - if os.path.getsize(file_path) > max_file_size: - return False - - # Skip temporary editor files - if filename.endswith("~"): - return False - - rel_path = os.path.relpath(file_path, base_path) - - # Use gitignore rules if available - if gitignore and gitignore.match_file(rel_path): - return False - - # Use .claudeignore rules if available - if claudeignore and claudeignore.match_file(rel_path): - return False - - # Check if it's a text file - return is_text_file(file_path) - - -def process_file(file_path): - """ - Reads the content of a file and computes its MD5 hash. - - This function attempts to read the file as UTF-8 text and compute its MD5 hash. - If the file cannot be read as UTF-8 or any other error occurs, it logs the issue - and returns None. - - Args: - file_path (str): The path to the file to be processed. - - Returns: - str or None: The MD5 hash of the file's content if successful, None otherwise. - """ - try: - with open(file_path, "r", encoding="utf-8") as file: - content = file.read() - return compute_md5_hash(content) - except UnicodeDecodeError: - logger.debug(f"Unable to read {file_path} as UTF-8 text. Skipping.") - except Exception as e: - logger.error(f"Error reading file {file_path}: {str(e)}") - return None - - -def get_local_files(local_path): - """ - Retrieves a dictionary of local files within a specified path, applying various filters. - - This function walks through the directory specified by `local_path`, applying several filters to each file: - - Excludes files in directories like .git, .svn, etc. - - Skips files larger than a specified maximum size (default 200KB, configurable). - - Ignores temporary editor files (ending with '~'). - - Applies .gitignore rules if a .gitignore file is present in the `local_path`. - - Applies .gitignore rules if a .claudeignore file is present in the `local_path`. - - Checks if the file is a text file before processing. - Each file that passes these filters is read, and its content is hashed using MD5. The function returns a dictionary - where each key is the relative path of a file from `local_path`, and its value is the MD5 hash of the file's content. - - Args: - local_path (str): The base directory path to search for files. - - Returns: - dict: A dictionary where keys are relative file paths, and values are MD5 hashes of the file contents. - """ - gitignore = load_gitignore(local_path) - claudeignore = load_claudeignore(local_path) - files = {} - exclude_dirs = {".git", ".svn", ".hg", ".bzr", "_darcs", "CVS", "claude_chats"} - - for root, dirs, filenames in os.walk(local_path): - dirs[:] = [d for d in dirs if d not in exclude_dirs] - rel_root = os.path.relpath(root, local_path) - rel_root = "" if rel_root == "." else rel_root - - for filename in filenames: - rel_path = os.path.join(rel_root, filename) - full_path = os.path.join(root, filename) - - if should_process_file( - full_path, filename, gitignore, local_path, claudeignore - ): - file_hash = process_file(full_path) - if file_hash: - files[rel_path] = file_hash - - return files - - -def handle_errors(func): - """ - A decorator that wraps a function to catch and handle specific exceptions. - - This decorator catches exceptions of type ConfigurationError and ProviderError - that are raised within the decorated function. When such an exception is caught, - it prints an error message to the console using click's echo function. This is - useful for CLI applications where a friendly error message is preferred over a - full traceback for known error conditions. - - Args: - func (Callable): The function to be decorated. - - Returns: - Callable: The wrapper function that includes exception handling. - """ - - @wraps(func) - def wrapper(*args, **kwargs): - try: - return func(*args, **kwargs) - except (ConfigurationError, ProviderError) as e: - click.echo(f"Error: {str(e)}") - - return wrapper - - -def validate_and_get_provider(config, require_org=True, require_project=False): - """ - Validates the configuration for the presence of an active provider and session key, - and optionally checks for an active organization ID and project ID. If validation passes, - it retrieves the provider instance based on the active provider name. - - Args: - config (ConfigManager): The configuration manager instance containing settings. - require_org (bool, optional): Flag to indicate whether an active organization ID - is required. Defaults to True. - require_project (bool, optional): Flag to indicate whether an active project ID - is required. Defaults to False. - - Returns: - object: An instance of the provider specified in the configuration. - - Raises: - ConfigurationError: If the active provider or session key is missing, or if - require_org is True and no active organization ID is set, - or if require_project is True and no active project ID is set. - ProviderError: If the session key has expired. - """ - active_provider = config.get("active_provider") - session_key = config.get_session_key() - if not session_key: - raise ProviderError( - f"Session key has expired. Please run `claudesync api login {active_provider}` again." - ) - if not active_provider or not session_key: - raise ConfigurationError( - "No active provider or session key. Please login first." - ) - if require_org and not config.get("active_organization_id"): - raise ConfigurationError( - "No active organization set. Please select an organization." - ) - if require_project and not config.get("active_project_id"): - raise ConfigurationError( - "No active project set. Please select or create a project." - ) - session_key_expiry = config.get("session_key_expiry") - return get_provider(active_provider, session_key, session_key_expiry) - - -def validate_and_store_local_path(config): - """ - Prompts the user for the absolute path to their local project directory and stores it in the configuration. - - This function repeatedly prompts the user to enter the absolute path to their local project directory until - a valid absolute path is provided. The path is validated to ensure it exists, is a directory, and is an absolute path. - Once a valid path is provided, it is stored in the configuration using the `set` method of the `ConfigManager` object. - - Args: - config (ConfigManager): The configuration manager instance to store the local path setting. - - Note: - This function uses `click.prompt` to interact with the user, providing a default path (the current working directory) - and validating the user's input to ensure it meets the criteria for an absolute path to a directory. - """ - - def get_default_path(): - return os.getcwd() - - while True: - default_path = get_default_path() - local_path = click.prompt( - "Enter the absolute path to your local project directory", - type=click.Path( - exists=True, file_okay=False, dir_okay=True, resolve_path=True - ), - default=default_path, - show_default=True, - ) - - if os.path.isabs(local_path): - config.set("local_path", local_path) - click.echo(f"Local path set to: {local_path}") - break - else: - click.echo("Please enter an absolute path.") - - -def load_claudeignore(base_path): - """ - Loads and parses the .claudeignore file from the specified base path. - - Args: - base_path (str): The base directory path where the .claudeignore file is located. - - Returns: - pathspec.PathSpec or None: A PathSpec object containing the patterns from the .claudeignore file - if the file exists; otherwise, None. - """ - claudeignore_path = os.path.join(base_path, ".claudeignore") - if os.path.exists(claudeignore_path): - with open(claudeignore_path, "r") as f: - return pathspec.PathSpec.from_lines("gitwildmatch", f) - return None +import os +import hashlib +from functools import wraps +import click +import pathspec +import logging +from claudesync.exceptions import ConfigurationError, ProviderError +from claudesync.provider_factory import get_provider +from claudesync.config_manager import ConfigManager + +logger = logging.getLogger(__name__) +config_manager = ConfigManager() + + +def normalize_and_calculate_md5(content): + """ + Calculate the MD5 checksum of the given content after normalizing line endings. + + This function normalizes the line endings of the input content to Unix-style (\n), + strips leading and trailing whitespace, and then calculates the MD5 checksum of the + normalized content. This is useful for ensuring consistent checksums across different + operating systems and environments where line ending styles may vary. + + Args: + content (str): The content for which to calculate the checksum. + + Returns: + str: The hexadecimal MD5 checksum of the normalized content. + """ + normalized_content = content.replace("\r\n", "\n").replace("\r", "\n").strip() + return hashlib.md5(normalized_content.encode("utf-8")).hexdigest() + + +def load_gitignore(base_path): + """ + Loads and parses the .gitignore file from the specified base path. + + This function attempts to find a .gitignore file in the given base path. If found, + it reads the file and creates a PathSpec object that can be used to match paths + against the patterns defined in the .gitignore file. This is useful for filtering + out files that should be ignored based on the project's .gitignore settings. + + Args: + base_path (str): The base directory path where the .gitignore file is located. + + Returns: + pathspec.PathSpec or None: A PathSpec object containing the patterns from the .gitignore file + if the file exists; otherwise, None. + """ + gitignore_path = os.path.join(base_path, ".gitignore") + if os.path.exists(gitignore_path): + with open(gitignore_path, "r") as f: + return pathspec.PathSpec.from_lines("gitwildmatch", f) + return None + + +def is_text_file(file_path, sample_size=8192): + """ + Determines if a file is a text file by checking for the absence of null bytes. + + This function reads a sample of the file (default 8192 bytes) and checks if it contains + any null byte (\x00). The presence of a null byte is often indicative of a binary file. + This is a heuristic method and may not be 100% accurate for all file types. + + Args: + file_path (str): The path to the file to be checked. + sample_size (int, optional): The number of bytes to read from the file for checking. + Defaults to 8192. + + Returns: + bool: True if the file is likely a text file, False if it is likely binary or an error occurred. + """ + try: + with open(file_path, "rb") as file: + return b"\x00" not in file.read(sample_size) + except IOError: + return False + + +def compute_md5_hash(content): + """ + Computes the MD5 hash of the given content. + + This function takes a string as input, encodes it into UTF-8, and then computes the MD5 hash of the encoded string. + The result is a hexadecimal representation of the hash, which is commonly used for creating a quick and simple + fingerprint of a piece of data. + + Args: + content (str): The content for which to compute the MD5 hash. + + Returns: + str: The hexadecimal MD5 hash of the input content. + """ + return hashlib.md5(content.encode("utf-8")).hexdigest() + + +def should_process_file(file_path, filename, gitignore, base_path, claudeignore): + """ + Determines whether a file should be processed based on various criteria. + + This function checks if a file should be included in the synchronization process by applying + several filters: + - Checks if the file size is within the configured maximum limit. + - Skips temporary editor files (ending with '~'). + - Applies .gitignore rules if a gitignore PathSpec is provided. + - Verifies if the file is a text file. + + Args: + file_path (str): The full path to the file. + filename (str): The name of the file. + gitignore (pathspec.PathSpec or None): A PathSpec object containing .gitignore patterns, if available. + base_path (str): The base directory path of the project. + claudeignore (pathspec.PathSpec or None): A PathSpec object containing .claudeignore patterns, if available. + + Returns: + bool: True if the file should be processed, False otherwise. + """ + # Check file size + max_file_size = config_manager.get("max_file_size", 32 * 1024) + if os.path.getsize(file_path) > max_file_size: + return False + + # Skip temporary editor files + if filename.endswith("~"): + return False + + rel_path = os.path.relpath(file_path, base_path) + + # Use gitignore rules if available + if gitignore and gitignore.match_file(rel_path): + return False + + # Use .claudeignore rules if available + if claudeignore and claudeignore.match_file(rel_path): + return False + + # Check if it's a text file + return is_text_file(file_path) + + +def process_file(file_path): + """ + Reads the content of a file and computes its MD5 hash. + + This function attempts to read the file as UTF-8 text and compute its MD5 hash. + If the file cannot be read as UTF-8 or any other error occurs, it logs the issue + and returns None. + + Args: + file_path (str): The path to the file to be processed. + + Returns: + str or None: The MD5 hash of the file's content if successful, None otherwise. + """ + try: + with open(file_path, "r", encoding="utf-8") as file: + content = file.read() + return compute_md5_hash(content) + except UnicodeDecodeError: + logger.debug(f"Unable to read {file_path} as UTF-8 text. Skipping.") + except Exception as e: + logger.error(f"Error reading file {file_path}: {str(e)}") + return None + + +def get_local_files(local_path): + """ + Retrieves a dictionary of local files within a specified path, applying various filters. + + This function walks through the directory specified by `local_path`, applying several filters to each file: + - Excludes files in directories like .git, .svn, etc. + - Skips files larger than a specified maximum size (default 200KB, configurable). + - Ignores temporary editor files (ending with '~'). + - Applies .gitignore rules if a .gitignore file is present in the `local_path`. + - Applies .gitignore rules if a .claudeignore file is present in the `local_path`. + - Checks if the file is a text file before processing. + Each file that passes these filters is read, and its content is hashed using MD5. The function returns a dictionary + where each key is the relative path of a file from `local_path`, and its value is the MD5 hash of the file's content. + + Args: + local_path (str): The base directory path to search for files. + + Returns: + dict: A dictionary where keys are relative file paths, and values are MD5 hashes of the file contents. + """ + gitignore = load_gitignore(local_path) + claudeignore = load_claudeignore(local_path) + files = {} + exclude_dirs = {".git", ".svn", ".hg", ".bzr", "_darcs", "CVS", "claude_chats"} + + for root, dirs, filenames in os.walk(local_path): + dirs[:] = [d for d in dirs if d not in exclude_dirs] + rel_root = os.path.relpath(root, local_path) + rel_root = "" if rel_root == "." else rel_root + + for filename in filenames: + rel_path = os.path.join(rel_root, filename) + full_path = os.path.join(root, filename) + + if should_process_file( + full_path, filename, gitignore, local_path, claudeignore + ): + file_hash = process_file(full_path) + if file_hash: + files[rel_path] = file_hash + + return files + + +def handle_errors(func): + """ + A decorator that wraps a function to catch and handle specific exceptions. + + This decorator catches exceptions of type ConfigurationError and ProviderError + that are raised within the decorated function. When such an exception is caught, + it prints an error message to the console using click's echo function. This is + useful for CLI applications where a friendly error message is preferred over a + full traceback for known error conditions. + + Args: + func (Callable): The function to be decorated. + + Returns: + Callable: The wrapper function that includes exception handling. + """ + + @wraps(func) + def wrapper(*args, **kwargs): + try: + return func(*args, **kwargs) + except (ConfigurationError, ProviderError) as e: + click.echo(f"Error: {str(e)}") + + return wrapper + + +def validate_and_get_provider(config, require_org=True, require_project=False): + """ + Validates the configuration for the presence of an active provider and session key, + and optionally checks for an active organization ID and project ID. If validation passes, + it retrieves the provider instance based on the active provider name. + + Args: + config (ConfigManager): The configuration manager instance containing settings. + require_org (bool, optional): Flag to indicate whether an active organization ID + is required. Defaults to True. + require_project (bool, optional): Flag to indicate whether an active project ID + is required. Defaults to False. + + Returns: + object: An instance of the provider specified in the configuration. + + Raises: + ConfigurationError: If the active provider or session key is missing, or if + require_org is True and no active organization ID is set, + or if require_project is True and no active project ID is set. + ProviderError: If the session key has expired. + """ + active_provider = config.get("active_provider") + session_key = config.get_session_key() + if not session_key: + raise ProviderError( + f"Session key has expired. Please run `claudesync api login {active_provider}` again." + ) + if not active_provider or not session_key: + raise ConfigurationError( + "No active provider or session key. Please login first." + ) + if require_org and not config.get("active_organization_id"): + raise ConfigurationError( + "No active organization set. Please select an organization." + ) + if require_project and not config.get("active_project_id"): + raise ConfigurationError( + "No active project set. Please select or create a project." + ) + session_key_expiry = config.get("session_key_expiry") + return get_provider(active_provider, session_key, session_key_expiry) + + +def validate_and_store_local_path(config): + """ + Prompts the user for the absolute path to their local project directory and stores it in the configuration. + + This function repeatedly prompts the user to enter the absolute path to their local project directory until + a valid absolute path is provided. The path is validated to ensure it exists, is a directory, and is an absolute path. + Once a valid path is provided, it is stored in the configuration using the `set` method of the `ConfigManager` object. + + Args: + config (ConfigManager): The configuration manager instance to store the local path setting. + + Note: + This function uses `click.prompt` to interact with the user, providing a default path (the current working directory) + and validating the user's input to ensure it meets the criteria for an absolute path to a directory. + """ + + def get_default_path(): + return os.getcwd() + + while True: + default_path = get_default_path() + local_path = click.prompt( + "Enter the absolute path to your local project directory", + type=click.Path( + exists=True, file_okay=False, dir_okay=True, resolve_path=True + ), + default=default_path, + show_default=True, + ) + + if os.path.isabs(local_path): + config.set("local_path", local_path) + click.echo(f"Local path set to: {local_path}") + break + else: + click.echo("Please enter an absolute path.") + + +def load_claudeignore(base_path): + """ + Loads and parses the .claudeignore file from the specified base path. + + Args: + base_path (str): The base directory path where the .claudeignore file is located. + + Returns: + pathspec.PathSpec or None: A PathSpec object containing the patterns from the .claudeignore file + if the file exists; otherwise, None. + """ + claudeignore_path = os.path.join(base_path, ".claudeignore") + if os.path.exists(claudeignore_path): + with open(claudeignore_path, "r") as f: + return pathspec.PathSpec.from_lines("gitwildmatch", f) + return None diff --git a/tests/cli/test_main.py b/tests/cli/test_main.py index b443735..9d14536 100644 --- a/tests/cli/test_main.py +++ b/tests/cli/test_main.py @@ -1,29 +1,29 @@ -import unittest -from click.testing import CliRunner -from claudesync.cli.main import cli - - -class TestMainCLI(unittest.TestCase): - def setUp(self): - self.runner = CliRunner() - - def test_cli_group(self): - result = self.runner.invoke(cli, ["--help"]) - self.assertEqual(result.exit_code, 0) - self.assertIn( - "ClaudeSync: Synchronize local files with ai projects.", result.output - ) - - def test_install_completion(self): - result = self.runner.invoke(cli, ["install-completion", "--help"]) - self.assertEqual(result.exit_code, 0) - self.assertIn("Install completion for the specified shell.", result.output) - - def test_status(self): - result = self.runner.invoke(cli, ["status"]) - self.assertEqual(result.exit_code, 0) - self.assertIn("Active provider:", result.output) - - -if __name__ == "__main__": - unittest.main() +import unittest +from click.testing import CliRunner +from claudesync.cli.main import cli + + +class TestMainCLI(unittest.TestCase): + def setUp(self): + self.runner = CliRunner() + + def test_cli_group(self): + result = self.runner.invoke(cli, ["--help"]) + self.assertEqual(result.exit_code, 0) + self.assertIn( + "ClaudeSync: Synchronize local files with ai projects.", result.output + ) + + def test_install_completion(self): + result = self.runner.invoke(cli, ["install-completion", "--help"]) + self.assertEqual(result.exit_code, 0) + self.assertIn("Install completion for the specified shell.", result.output) + + def test_status(self): + result = self.runner.invoke(cli, ["status"]) + self.assertEqual(result.exit_code, 0) + self.assertIn("Active provider:", result.output) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/cli/test_organization.py b/tests/cli/test_organization.py index 96ca54f..e12e42e 100644 --- a/tests/cli/test_organization.py +++ b/tests/cli/test_organization.py @@ -1,103 +1,103 @@ -import unittest -from unittest.mock import patch, MagicMock -from click.testing import CliRunner -from claudesync.cli.main import cli -from claudesync.exceptions import ConfigurationError, ProviderError - - -class TestOrganizationCLI(unittest.TestCase): - def setUp(self): - self.runner = CliRunner() - - @patch("claudesync.cli.organization.validate_and_get_provider") - def test_organization_ls(self, mock_validate_and_get_provider): - # Mock the provider - mock_provider = MagicMock() - mock_provider.get_organizations.return_value = [ - { - "id": "org1", - "name": "Organization 1", - "capabilities": ["chat", "claude_pro"], - }, - { - "id": "org2", - "name": "Organization 2", - "capabilities": ["chat", "claude_pro"], - }, - ] - mock_validate_and_get_provider.return_value = mock_provider - - # Test successful listing - result = self.runner.invoke(cli, ["organization", "ls"]) - self.assertEqual(result.exit_code, 0) - self.assertIn("Organization 1", result.output) - self.assertIn("Organization 2", result.output) - - # Test empty list - mock_provider.get_organizations.return_value = [] - result = self.runner.invoke(cli, ["organization", "ls"]) - self.assertEqual(result.exit_code, 0) - self.assertIn( - "No organizations with required capabilities (chat and claude_pro) found.", - result.output, - ) - - # Test error handling - mock_validate_and_get_provider.side_effect = ConfigurationError( - "Configuration error" - ) - result = self.runner.invoke(cli, ["organization", "ls"]) - self.assertEqual(result.exit_code, 0) - self.assertIn("Error: Configuration error", result.output) - - @patch("claudesync.cli.organization.validate_and_get_provider") - @patch("claudesync.cli.organization.click.prompt") - def test_organization_select(self, mock_prompt, mock_validate_and_get_provider): - # Mock the provider - mock_provider = MagicMock() - mock_provider.get_organizations.return_value = [ - { - "id": "org1", - "name": "Organization 1", - "capabilities": ["chat", "claude_pro"], - }, - { - "id": "org2", - "name": "Organization 2", - "capabilities": ["chat", "claude_pro"], - }, - ] - mock_validate_and_get_provider.return_value = mock_provider - - # Mock user input - mock_prompt.return_value = 1 - - # Test successful selection - result = self.runner.invoke(cli, ["organization", "select"]) - self.assertEqual(result.exit_code, 0) - self.assertIn("Selected organization: Organization 1", result.output) - - # Test invalid selection - mock_prompt.return_value = 3 - result = self.runner.invoke(cli, ["organization", "select"]) - self.assertEqual(result.exit_code, 0) - self.assertIn("Invalid selection. Please try again.", result.output) - - # Test empty list - mock_provider.get_organizations.return_value = [] - result = self.runner.invoke(cli, ["organization", "select"]) - self.assertEqual(result.exit_code, 0) - self.assertIn( - "No organizations with required capabilities (chat and claude_pro) found.", - result.output, - ) - - # Test error handling - mock_validate_and_get_provider.side_effect = ProviderError("Provider error") - result = self.runner.invoke(cli, ["organization", "select"]) - self.assertEqual(result.exit_code, 0) - self.assertIn("Error: Provider error", result.output) - - -if __name__ == "__main__": - unittest.main() +import unittest +from unittest.mock import patch, MagicMock +from click.testing import CliRunner +from claudesync.cli.main import cli +from claudesync.exceptions import ConfigurationError, ProviderError + + +class TestOrganizationCLI(unittest.TestCase): + def setUp(self): + self.runner = CliRunner() + + @patch("claudesync.cli.organization.validate_and_get_provider") + def test_organization_ls(self, mock_validate_and_get_provider): + # Mock the provider + mock_provider = MagicMock() + mock_provider.get_organizations.return_value = [ + { + "id": "org1", + "name": "Organization 1", + "capabilities": ["chat", "claude_pro"], + }, + { + "id": "org2", + "name": "Organization 2", + "capabilities": ["chat", "claude_pro"], + }, + ] + mock_validate_and_get_provider.return_value = mock_provider + + # Test successful listing + result = self.runner.invoke(cli, ["organization", "ls"]) + self.assertEqual(result.exit_code, 0) + self.assertIn("Organization 1", result.output) + self.assertIn("Organization 2", result.output) + + # Test empty list + mock_provider.get_organizations.return_value = [] + result = self.runner.invoke(cli, ["organization", "ls"]) + self.assertEqual(result.exit_code, 0) + self.assertIn( + "No organizations with required capabilities (chat and claude_pro) found.", + result.output, + ) + + # Test error handling + mock_validate_and_get_provider.side_effect = ConfigurationError( + "Configuration error" + ) + result = self.runner.invoke(cli, ["organization", "ls"]) + self.assertEqual(result.exit_code, 0) + self.assertIn("Error: Configuration error", result.output) + + @patch("claudesync.cli.organization.validate_and_get_provider") + @patch("claudesync.cli.organization.click.prompt") + def test_organization_select(self, mock_prompt, mock_validate_and_get_provider): + # Mock the provider + mock_provider = MagicMock() + mock_provider.get_organizations.return_value = [ + { + "id": "org1", + "name": "Organization 1", + "capabilities": ["chat", "claude_pro"], + }, + { + "id": "org2", + "name": "Organization 2", + "capabilities": ["chat", "claude_pro"], + }, + ] + mock_validate_and_get_provider.return_value = mock_provider + + # Mock user input + mock_prompt.return_value = 1 + + # Test successful selection + result = self.runner.invoke(cli, ["organization", "select"]) + self.assertEqual(result.exit_code, 0) + self.assertIn("Selected organization: Organization 1", result.output) + + # Test invalid selection + mock_prompt.return_value = 3 + result = self.runner.invoke(cli, ["organization", "select"]) + self.assertEqual(result.exit_code, 0) + self.assertIn("Invalid selection. Please try again.", result.output) + + # Test empty list + mock_provider.get_organizations.return_value = [] + result = self.runner.invoke(cli, ["organization", "select"]) + self.assertEqual(result.exit_code, 0) + self.assertIn( + "No organizations with required capabilities (chat and claude_pro) found.", + result.output, + ) + + # Test error handling + mock_validate_and_get_provider.side_effect = ProviderError("Provider error") + result = self.runner.invoke(cli, ["organization", "select"]) + self.assertEqual(result.exit_code, 0) + self.assertIn("Error: Provider error", result.output) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_config_manager.py b/tests/test_config_manager.py index 7877f96..62b20e8 100644 --- a/tests/test_config_manager.py +++ b/tests/test_config_manager.py @@ -1,76 +1,76 @@ -import unittest -import json -import tempfile -from pathlib import Path -from unittest.mock import patch -from claudesync.config_manager import ConfigManager - - -class TestConfigManager(unittest.TestCase): - - def setUp(self): - self.temp_dir = tempfile.mkdtemp() - self.config_dir = Path(self.temp_dir) / ".claudesync" - self.config_file = self.config_dir / "config.json" - - def tearDown(self): - import shutil - - shutil.rmtree(self.temp_dir) - - @patch("pathlib.Path.home") - def test_init_existing_config(self, mock_home): - mock_home.return_value = Path(self.temp_dir) - self.config_dir.mkdir(parents=True) - with open(self.config_file, "w") as f: - json.dump({"existing_key": "value"}, f) - - config = ConfigManager() - self.assertEqual(config.get("existing_key"), "value") - self.assertEqual(config.get("log_level"), "INFO") - self.assertEqual(config.get("upload_delay"), 0.5) - - @patch("pathlib.Path.home") - def test_get_existing_key(self, mock_home): - mock_home.return_value = Path(self.temp_dir) - config = ConfigManager() - config.set("test_key", "test_value") - self.assertEqual(config.get("test_key"), "test_value") - - @patch("pathlib.Path.home") - def test_get_non_existing_key(self, mock_home): - mock_home.return_value = Path(self.temp_dir) - config = ConfigManager() - self.assertIsNone(config.get("non_existing_key")) - self.assertEqual(config.get("non_existing_key", "default"), "default") - - @patch("pathlib.Path.home") - def test_set_and_save(self, mock_home): - mock_home.return_value = Path(self.temp_dir) - config = ConfigManager() - config.set("new_key", "new_value") - - # Check if the new value is in the instance - self.assertEqual(config.get("new_key"), "new_value") - - # Check if the new value was saved to the file - with open(self.config_file, "r") as f: - saved_config = json.load(f) - self.assertEqual(saved_config["new_key"], "new_value") - - @patch("pathlib.Path.home") - def test_update_existing_value(self, mock_home): - mock_home.return_value = Path(self.temp_dir) - config = ConfigManager() - config.set("update_key", "original_value") - config.set("update_key", "updated_value") - - self.assertEqual(config.get("update_key"), "updated_value") - - with open(self.config_file, "r") as f: - saved_config = json.load(f) - self.assertEqual(saved_config["update_key"], "updated_value") - - -if __name__ == "__main__": - unittest.main() +import unittest +import json +import tempfile +from pathlib import Path +from unittest.mock import patch +from claudesync.config_manager import ConfigManager + + +class TestConfigManager(unittest.TestCase): + + def setUp(self): + self.temp_dir = tempfile.mkdtemp() + self.config_dir = Path(self.temp_dir) / ".claudesync" + self.config_file = self.config_dir / "config.json" + + def tearDown(self): + import shutil + + shutil.rmtree(self.temp_dir) + + @patch("pathlib.Path.home") + def test_init_existing_config(self, mock_home): + mock_home.return_value = Path(self.temp_dir) + self.config_dir.mkdir(parents=True) + with open(self.config_file, "w") as f: + json.dump({"existing_key": "value"}, f) + + config = ConfigManager() + self.assertEqual(config.get("existing_key"), "value") + self.assertEqual(config.get("log_level"), "INFO") + self.assertEqual(config.get("upload_delay"), 0.5) + + @patch("pathlib.Path.home") + def test_get_existing_key(self, mock_home): + mock_home.return_value = Path(self.temp_dir) + config = ConfigManager() + config.set("test_key", "test_value") + self.assertEqual(config.get("test_key"), "test_value") + + @patch("pathlib.Path.home") + def test_get_non_existing_key(self, mock_home): + mock_home.return_value = Path(self.temp_dir) + config = ConfigManager() + self.assertIsNone(config.get("non_existing_key")) + self.assertEqual(config.get("non_existing_key", "default"), "default") + + @patch("pathlib.Path.home") + def test_set_and_save(self, mock_home): + mock_home.return_value = Path(self.temp_dir) + config = ConfigManager() + config.set("new_key", "new_value") + + # Check if the new value is in the instance + self.assertEqual(config.get("new_key"), "new_value") + + # Check if the new value was saved to the file + with open(self.config_file, "r") as f: + saved_config = json.load(f) + self.assertEqual(saved_config["new_key"], "new_value") + + @patch("pathlib.Path.home") + def test_update_existing_value(self, mock_home): + mock_home.return_value = Path(self.temp_dir) + config = ConfigManager() + config.set("update_key", "original_value") + config.set("update_key", "updated_value") + + self.assertEqual(config.get("update_key"), "updated_value") + + with open(self.config_file, "r") as f: + saved_config = json.load(f) + self.assertEqual(saved_config["update_key"], "updated_value") + + +if __name__ == "__main__": + unittest.main() From 70ddcb9907416f822c688f62fe6bd6df095fea0c Mon Sep 17 00:00:00 2001 From: Jahziah Wagner Date: Tue, 6 Aug 2024 00:43:27 +0200 Subject: [PATCH 5/8] gif --- README.md | 6 +++--- demo.gif | Bin 0 -> 184869 bytes pytest.ini | 4 ++++ sample.png | Bin 11246 -> 0 bytes 4 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 demo.gif create mode 100644 pytest.ini delete mode 100644 sample.png diff --git a/README.md b/README.md index bf4d17f..0a32386 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ClaudeSync: Seamless AI Project Synchronization +# ClaudeSync [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Issues](https://img.shields.io/github/issues/jahwag/claudesync)](https://github.com/jahwag/claudesync/issues) @@ -6,10 +6,10 @@ [![Release date](https://img.shields.io/github/release-date/jahwag/claudesync)](https://github.com/jahwag/claudesync/releases) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) -![ClaudeSync example](sample.png "ClaudeSync") - ClaudeSync is a powerful tool that bridges your local development environment with Claude.ai projects, enabling seamless synchronization and enhancing your AI-powered workflow. +![ClaudeSync example](demo.gif "ClaudeSync") + ## 🌟 Key Features - 🔄 **Real-time Synchronization**: Automatically keep your local files in sync with Claude.ai projects. diff --git a/demo.gif b/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d6bf05734251432a957bbdace4b5c9931904e0f8 GIT binary patch literal 184869 zcmZ_Vbx<1(!}t45AR+h$_Y&NT7bn5JxVyW%HNlGnwqn{*%n^C*Pm8u9lp`V@*jhaUuvn zc<| zbBiemi;4?N%S)qBQlk9w+$bdxl)RM4C3!`54qbK*Gj>58b|D*fSqF9jcXla1cG(bi zxiEIs7=Bp;UU^GtK3jPeH91vtZe>peWoHG|5O%e=OPZE~+J5{xF~VjsQilF=+Mdcf z?kYwBiiY7T7EziUC}R$kjsQwuT0m1l!I~FkDT6XoQgsnU`N^V!RZt@{fUly<~2aOfKvEi8T{4Qk*&Uy0Q71I6(vKAnVqpZJofkbH-vT7BG*Wool=+MsdTn0e-~X~v{&=74qX zWI#bd_|>c48I7JP{r>nax1!;w^!B)%!N}5{$m)rNhARKM!T7Gun9i|;-cg(UX}f}1 zx3X!k%30r<*?{`lu$GyG-Z`uhSCTPTl8I1;C0B-}aIOPymW@cdtz4dqLV>ezk(*?R zzhb$sY^9%keTZtN69#8(oav>V5oDYlY?KpfR^q2o6{b}XWnK_%Srl(u9cPml;!*7B zi4XN?iqvYn;#i7xF3WJKPIDwdhYZAIz{E%Ca5Hb8O4;YA^O_ zEC_ADM|YNlcV7*e$afwq_Z_H-zg8DM-Vl+SnUs-UompI6URj%5-IrV5S6x!+#_06?4r z>y|Wxwn2U9pu)l*6C|l$YzrAeYV`!xRlSSp2eoy-*mG`z)Xy8xxaa} zOw?kfT6du3R+U`X(X*Qat#_`XRcG1sq}w(cb&7->RtDQQTa9CAYK~0nv)D`qe4noj zbw0f2Jol?f?*VRBv~a$|VRg9s=}7SIiip09OSbCcl;!8EBiCNsz!K#*+kNC@h`2f2 z9VabebR+Q~*xTGpzxUN@xs>0QK~bc=5YK>{-i@p3$1r!bulD~1%G
  • %zL@Mh?XWBiBvU+jYCHd?lmC}cA#0>n|o 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 FV+#K&&I_}r`YNFLR&apZu18V zkJXIRf>l$0jxy-!?j%9DcilVwgJgNf_GZ6g+tt94m5$0~TK&O+I*AS!W1B;j-_tqg%7FN_ESos^rD;6bNF z_@$*c&ywP6;ZXm4XpgNXQ;WN=sFF+Y@+ z0g4J{X>iE2WuYk<6o2?8dGSrchYUt*uD$SySHEDj2R z=D|X3V5?@PLnuOhRU>OIP*5SB&!EK zBf`agEaaIsB@9fGaOo=Ss;mihIwmVR77=GC=`4$>r&5{q6tSs%>}OBc6`X!tx@6NZ`$UuO00$~)S{8^Qt-Pi^~T`8vADKzmyXL3 zF)>nkdCWu8*)4A=50f@7#6##A+0e6%tBeX1@CHS!so@BnY7su&)j(BhV~*)FN~X{M zh%ZptJtZaq_`KOpCDl-pb0nMj3k;twFd0e9^IQlVNx{n6 z%e&jhyee;W&np+IqrA}b!q?M{*ji-Pxj6AymHmB}{tXWK{}j-KdN2PC2|w@|M1BKJ zRFwrWD)M_k6Y7mz?%+oL8)#y%AIR6@7oZ06sX!CMJ)nt_^ByN$feJJUrxL;syaj3? zUwJQ(@B4=kuChl64-z%pBZMC{@!tc3Tm0idF0$t^P}$&?f*4zAjFTYdxCF*V;Ws4Q zTaJ1u7xe#kvWczs(SOpy?REFCCV1QUgB!VrzRsT;`M(b2f78OLnS9}WrU?}iesC98 z_1lZ$9}RCdaQ>ac*9oq)jjz<&XPO*^VDQvGmIC!6e)(S)@dGwEHITp02KOqW z(oFU*;w9~of3v~&P$vJli2G4(gnv-MsR{f&Ct;5YE`C4-Pj^zuci%&T|3;boFDiKW z9u@pg6u;=7RPgZMRPgfsb2ya*PW2Od(rl>!@RmaVrlRoQHp1WNZ>o*ZTN^*n6#suC z_kY+WDNV%(81RBiIs5nTJ$y-W&rp8bl>>GOHFf_7U$TD-?;-7_?)(44Oz5lp9lUSp z&91v#K0rN+w-!1}5-q=xf+)Qp zM65)|G1S|-0b{Eb$rIUpuT|;<$37vvMnArV?6K6q9Z8Ob5t4J{3+8w z%%&DLLQL#I;aNv;zfnx5`!MJ6x5sA(Wi791z}Vi#Z%z;Jv%FAyMqgwi4rLUw*5g8t z(D>j0hev%Jjg^@zAxnI2O|=>h@*%GC_rEv7)nDHtf=||*8;?BNZKItAB>+lUa4n7| zD*l@CkWTQ{sjC5BT{2a(b`P6BTi!}>{*;p?yB@v13_Ge}d=zy<*6@y^n$zHAW#H?Z z*ezyT?mk0U&%xoi~;%3_c}qNWCgKFYTC$e(mn1SGaHV#Z~NhM z{HOUw3q(`%xRV(jZYfc@Td|h_so>Y)6++d`O-Lea#(6D7?i7sD%`f@lUVq=TbFNXc4WB|fh#apa-8EFA}FD_ z20{$dMXa>Qz*&9TWM8^zhcI7WBe}Pt{v=^cGmhRs6|Sm@?cF1U(~8&Es__7Py{LKc z(ZUBsV$jN{-Aob?OYvBfZCn%+sg4rwt;L`I{>>x1^&5f$V~V=t4f0MdGfMvGFZv## zqP7B3Ac^WcIn#2VhRQriMjGYY2Hj1QaxZ&n=r{>)lmuKNbXEqI8{|LYc=_bBx)^MM zNoH{Qd?tu}Zr&dVYXegbXL*6LkRyw@xl+Fp$BpvGp~|mq0xzv?OvDYZ3G(aOEK32u z!1M%4h2aBn;E+M#6nrLiLuUmc&tf{lc#Dz`fTC797te-(JA{U`I_zlFRd3UII4DIjlso zK&r}nkhIG3bE~B>Z#EUw`kSxIfq6~}?ej)>egjA+=g#Cy8s0}{8a!n@BIjR!;_#i- z7#EDB|Fm^4Sm+Zzts{Z-5gIG=1qZr<87SSPgfog97mnzGO+qm!PMz+*G_QmOhr|bd zx_)E;F@HKt6p!iDR#gBIcIN*A;K?US-=|#$_nV*9bxM-pK_%ieI)ryN&ucY}L5L2+ z&X3f&fq<11O`1BOBdPj5{Ke635RS2<2~WFfnQ@glP!D2>8o1S|KBa&JBo}lXcaiJY z6-7^&SAOLEiY#K}{oTW7XW~`Bp8^8hn#C8ys{2f_pRsBVgJA z>%Z`-R*}vR;Bd{?Ji`B%M@)q4<~7LGQNQ{)0{x14M;hwG7=p*`NqJ|d1tWUybs9aH zf-JGf(L=W=zh~7tWL85lIb}uk-#HIaoSORiO^bWL&jXm5&p^g@7a?`vVt6r>BJD~s zc@%eOTb40b~#T5ZdmDxMiApGom zKPS&*yiEvw?>Z!h)LNo7y`B~IOMvS~3^(5IB@HX~MuDid&bOuEU8ZyHmRT;Nc;)LE z3cz9;_`8D0?T|1cZd)!bEruJuLxP99X(R3oT{!fk>B`Yll6mt#E}->|?o^;Yp=a0( zv=7q)k8OJDQ&mzxhx|#3oi7R?`Om>@b5mbF6qQiPmF5#)+qLg?`dwHeL6X+*Zhwnt zio~W{u*V2Ei!E~%&KZKTTS)9)qx^q~Ucgz=5`1W9$a8Gz#xyTrFQRx^MjDyylWf85Ut>(%<>&WuW@B zZ2sdf<0{g~Q*_<4sJub68`pV+#T~Lp^K8R(%H!i*K987KZ~Eb$5M&5+fN~oLfF8UU zSsdgj%*h7yugJ~Ox;*H)uQP4aFNco`ATc>y*vbZ)iS8Z<`94dFuVcr9`$pNg{F!q`b)_#oo;utAqzpZYl*LG9oWT<^PL}jwYI6ZdnM|0wHE#i z{uS5#KGXMN<>Jdz#Vz;w#lo1#cCSnPO&1yd3Px}q4pzwL8|R$zR=zA*9(SApebg?v zC@$rmaJrX=L87LMYUSu1r268+j!mgn*SK8>g|-O9WWNZi2G$c*w`D(7U^!fUPL-w$ zyDXcR@+ClGZ)tv?l3sf6^1!YTDXW;MEtUSV)2*y%_Bzq>ftAR@A=sCTDb?(r@ju5W zzmRl2dLpuB)060xMwvi$8BILcYx9p$#BAy4I;N8!F)i`PZB$jiC(~d0dFpA&4|s>^ zk|A71X<|jRX>ZiL{z@=Eam_XK0eg|>8L8uQ3$T{hCru`+I_4t&2&=@)V-RJfwylS- zNAI{UyS}@Yd-brr`Hy@7bpfA{)21Diyxz7;3$)({E5rW!(m9{P-*WNjXD6l~55tdt zxoKaRQ*8cI>FFH`9M-s-b{4EcfI1N1F$828fp(BUzd&HzCZM>8EGk4c2O>ud zk*kczGf3oHARgK#qPY?UR1&cciNZ07qGgHV3q;5q)E04CdN7fWnM022tbz(_2!`2r zIUZV;6o%)Fs^L5rY8S)|griR@`y?AUByo==uSX})68%}+xy$ASm6eifWVvZAc^a1u zxT0JU8$3HGUPVxT!Eu(OmTz{MZ*D%>%pqaG z7xPs9Fa$3Uo{kDp#>~~GqrsS%-8bnp?yxJP3l^RJ7lj^Djj03xp7zLTiwevkuOaQCaaGTA)q| zfjZ3>{inzR*>xUbGfml_Z1(9S7Vs6fv&^zN_hWJlIZVS!Q0KQ(E^G5PgwTH=g{|3S z3VoGkDTqGP4LZHV*ts5-^-?Lo8~G|Gm$?8G{wN1EFC7e_@aS_mt8`lpy#qf+5#nDa|MuQCS<9$C{?R#qh$ zvFEBQ=%6no#k}2=`79DeO1pQ5GZWJTBG#{}WKkLJ-_1mC|&Vjp(phbGla|W__ z;HTkX?25@mv)0p|bF<&9&~H+rX{_%d1;_)hph$UYxTA1kQNHIy>_+_ zYGkHsr7LQ2SRI||8rGI-{balA%BF&GE;#Wz9;dn^Ew!?7s!W-BCqnAg-g+q!jW=2J z!`W=F`JL;xKZkH{SQ9k;@akMJ!Zd`o(JQX8d&_XM+o)X!RUoQiw~8WOl7{BjgqPSk zz7#3gwXAOzsZoyBgUIF=rzos=nO#n*ubDK-%uxNMYZ4ck37@wMX1D(Z1NdZM_-S`U zXiel;3v9l$blUu-Xs(L2o_n&z54N~ETKnU7v_$6^lmKf6+7{$;iw>mq>jD{&X?@e1 zK|kNxKr8Rb+IAx@e5j@E{*)AzesRpLT~pRJOx}{cm}E88;F@;MT-R7ftubx;T-2qG z$M?9ad)2I5*k zPnyT3TWSMPpCeBw3bu^Lp$y8~;@De}@UFAAtz&8pLlusB^;Hf&C$@F#eQh`vDw-ef zs-ZAha*v&Q0JmRrm9JQX&@6F1A{_5hjdQVul{hgZXozA3pti5f(v!DN@ z>;2IvYeVh)c5I(3?|HDr@rSUcOj>5UkbbbSFQeWG?aDZ#OYkABI#i|`i;+)9=7qF? zu3x&=MDE(?5??=Ti;=in#YVziHaCdyg@U93ekb{Wh5^(A_iolfP?FgRG6Rupui-qH zB@sAfp?6N*`W#PYE?v8Gx^JmEs{HcM%-a(e)KNiEc_*eXRj7BHUn=r$4ioG5kW%Wi zaSpN_x*YjB$_sY!>PGP>olkAu6&pd6qYtAqoGq}m316aFa#>EM(UhPKHL+6Z-K}AG zD2B@U;&+xKVBXCzHPx@6xw?6z!jCQVxlAZ6rANreL1?Z5(G{vV7us6fRr{?RQllQq zOtH7SM(V$o@t`7!Blx2+bUi*GL%uSF5_)Jt>miQuMqF=Y00oAp+*PgMt7=W_r>yD( zNC%>J-d*Qv8@~8tm|}Ph`H*K>{hCbSFz;+NzE$VzYtjDHz)5o86`#K0_#mAifupl0 zIH3T;M9?jcQ&;nYUyYyYzl*by9E0M6Lz#VKhQ~}agf@*sYdk}z%R}+@!$0GP<4btB z-6GcUymjk^L5ksuU&D`ghe-|OuOpdun|gRKO!{uu`9kP-)*0eawSYxj%x+R#r4ee0 zB_BqFjl^k*HrmMPhks0(kWSNsQQ-L^fu|`Gyv^Z}jgyVh4h6&Ig0oY_d{c$9`Qk&< z;F>AksWj~Y3#9vW_RfixpzC>jGY0yxU%4h^RZUy?N>toqEJaY(UlRkJM(?twM{r{N z5SBd4smIq2r#{TpM*v2K`B`Pr*zt32I*b>TQ91S(p`q~CJ1u8-VuM0vye)6m`Nmzo zLiV4K%5irIlVIb*1-`IUAc(Q`ZZFx(j_ogbq#%XgUCZ$pW9 zvx)N@AA~if&d3wB*ya*m5C@N8?$KNFylU*tCR*%}7;A9J>!tBYv<7z7cMar>cH^CYWn>)Jhk`oRHFYdJT*+iH7)icRR?2;ctH$a5^IFT7)l(hBB~#t zoDWtJso5$o_1}i)pN6Awlb|Ja@f zDCghXh*Xqwc#}SL7}39!I*fQ=c>3)xA^tWzQ~ns9z5g^k|KOW{8=l33e+EKl}005>;M4bN1n;px{>5b*cnVfepgsQzJo_FSNvpZ`g1{xgF}1ve)* zmHb!pv!Lzrf0&;|`$eGqq252{XVsOi|C^+09oS1!?U|o#)M3QbzQI!J7$TM3{KxtH zH+J)Xvpo;S5D$V?f7s3Ye&_#B!_)PD7@jQNW3E$P2LCyUxMz6wQYR5L-1)c-y6TNe zG3SjUjXtl~wAvmS*V&&$JXTBv)Q%C%BtNaJ83Fz6&gZ;t3cL?7b-jEzc=K(F!79t$ zR>>|}Mw4x!d&Q|B5$U1Gi!Ucg315DSkx3`29mhYA(8}F!YP_s4Ar9ZqgA@SlWU@$idK875|s`8<`ZZ_S25wx(5@MJC~Qto8paZ1 zaps5Ez2SiNtK)aUs6n*ZNd~DUoG;?39t~7%D|7}__EV`SYfy4SOL3QmlqPB1+c_%+ ztklqO8=o4cEd=*99*nj)EN?MIOh@P)Lc?ai;&js z-F3@rQArUOt!cc<^R8_Nl&GUE$KxehOY?NHA`k`+875Yf9C6&!_1()MGnntgd5p0* z1}yDUVYk2p4svQ3StfQ&Ibl^!PwiY;pJeDw@RF{+F&Hg9Sz!4;}|9@>t&c@b)> zCjlICC`96ucivcZ0yZe*jQgSo;g-e^$+>GkX`#KiqtOj=Gq4n#?k#n}51aD<_Nc=3 zPRr^DSlVfI8FOQa(Y}Z6^w4n;oso?@p_>6V7je=|qafLxSwSiM`0KJZ?w69g%UX(g z*vA7UE?@vr;`ErF(#Im-o1!wv;h#=`jfT$n`A{lU0Q+=^F1m>{FY^2hQ*a;SDZz%+q)qQgB2|#hH?g0>^gMeSbgmBkFw*1UUO6_{8~yyHVr| z89(3McnBtG5&dS3^-JYsXceg(?HE%m= zDpHYv6BV%ZR=1~rfXZML6+|eor86KBdxSNa0T0n9xVRYBlRq;9+x!4zkyi;!0Y`UH zW$$hGzvSN6&y( zPoyuS3c?G0YdDE@wwK1YC|}5>QG`f zMexuGDAoBRrACBkBOY=;&0jXZdwOg(W>%j#`Qt zGsxXpwpKG{&QNXYM1$>VE-H+NIi?0H{0{k)XkwFUG*{8_^2%5iQX5JAcXjf>Ln+^f9 zMs2;)9|vF{BI_I}7kR4>=LiKN>GE%wvC*f50Pj_K3oebbk2-&aNhe%e8=g4hnVCQ4 z@vzt7mh|hs5ome64s;#vg6i81AkR=M2FAaJ)D8h?_a^rZ0{|E*}8~|8nJ=j=maJEGFu+ zTw?34GS!Xi*Pu?oa_*+MSU4c87O%MiY1g1#7xOpS32dUPfx|g9Z+Upd?)+>&=fTA% zCoz|8iE^jECF+Z4Bhnx>2o(r1kX%5-!kUAg+spL(a;`|nvtY{H{U(t&qnMQ0b87dT zJk~%$S~_8DAPeor?GJGw!^!SrQbl8Fuq7#h5Zh*v9 zFv66Q8tD|5j%0CzE(s4~K5kwW^^Si+GhE&f(|5}0rkZtI0eeGR&dHN+I2k%*aF>@) zin}tHMs+^=3Um|+#gDRyY-vV^Y`DMqhH|l!?X!AbVZmVgQ!G+ta4X*NL%?^PPB{rI z{;-wvO|F1Z{`b4__TQ=$rK2K3V7EwV5+5zh00M@82d8R=mOP?x{hc;7@P6!RYuF}3 zvf7Wi#>-79wXN(@0xoxvj`oDyZK9>E@?nIY$QMrD;P-te@;+?17I^wp9`(A#F&`Ab z3f83VhBw{BhoF zBQ1f7FdH1u==ps1{~yD1Fi~ZA4RU(qC*^k~DKT@h5IM#N z2sjna$WYFBW}eYI93UCQbfc%~cCuDYvc}}0>-H&e8wqrlJo5S6m3XY0UJAo-N_7EG zE3@0GH>!J>sh7yQ`bt2in=@4S1Wi}!$r$QWg)MxQ^E)N;U9_9fH&EWLFAc?RcD5EiRa*ax6(I)}f5tAnu z4%53!`jw?YhXplXxXI_Il0wgz6r#EZ-Kd+^y2LEaWoJVGG&G*rd`IX6i|~y)r>s@3 zTT$6J*{DmNBB!;|R&SV0AafA;IU8TZkd^>S2J9V@h63fjFvxxA=X&E#rthFT*iLD{ zopy$TN8dR+JtFB97BkTWIt?&&;=;i-N{2%EHdONXi$F0XMk+ClMpilUF5cITE(*=W zDWo;`B8-*=2qT}q%_8-AGVA-~Nky#Q&T1Zg?2-2t(zy@gqBlXJy|7mn5SU>e$6EfS z@qEtRM|g40Bl3^%00F!#;|z|qLpGD>W35(erQdsSU>+6Tt>vo?;nN)=c_bHzi@C8F z<}3Q4%!X8sa2J|IpJu`M(7%*H-Boc~$ktm9@`#E^A&WyS>^PcT%#QpdgjTBziO}cl}9SaXmwQH=F&W{GK1<;HyS5W=#XT2^P&sd zsddhA^*2fNHnf0U=7qpMA8&cB<7h@a4s=h6x}4o;T!E^8?RvtgE>0Ykv1`<{?$F?d z)yweau!=i;%i@55LZW?pvv9v;dz4EbzNKT(&_ksRQbscdx>HeXz}9Q`gzXVmmo*iPqjr z?gGw{SHu3|dn44_>2@}FJLr}Cu9F!qmatiG;-c;T?7OR0sry}Vv-RofCr(}WjXKo= zE+V`+uGn@MBgr>;n&skTe)6zcepX_&wPc@)tbfbV*kW_+RYTiuMNP-s<7W43)U!|$ zGd;%j^7`JWa!~wn6-GUYCSOI1(SRPMH+J7E+G4&-x%XaRk$1G|w@>(Nzp2*YEmR>y z*NK{`bLl_v^HtwFr%o8CFny~NF@M(So&Cn8_J>Xv6Dbb4w*5Qa@)JCIKKY$|@u;B6 zei*UO5Hbkv>ZBrPPGz+xDs=r~8*rf;EC_6W8qgk{!j#gf;AyyD{fyX+eS zDMFaNQ;~X!{O>FyUq2s-><&L%HCFQD0Y{3 z=5X^=b0<%!C4BLH#Rh+dq7oSgpBi8L&T{RWg!QM)!DHM-S#NsCHsKIpiVr#X~mrQgb|8&{S#0Czp1f%aPpPC#Rac z#!ICZy@#@nYlE(sR7%FbKKdv=K(SQ$v^CV4MP*=_0W6LxwDaeo0*^-ha#PP&(MXJm z>2WGEayJ6$Ps$Z6z;FFg=ro9cy~?$+>S=rRFwFR{u761bV6x*kUS3K2byOEMMivg3 zbwpy6!yfc7M5hn>n4r8QRW3QI7@1tn<)!o}j@j;vI__Q>(@dr8-t!B(LgA;IGRq!w zlGHoK7swhkN{`^xb{UnqFp;x)N~J6K>X*P-R8XV(h}%Z?#_Qli_NY1Glf;&qXPeVa zi8Gy$kj91Jq4zUiOM<0?SOvZWp$MTo0|D(mT3zo;qD{hL3qkih_!bRm;Tbl{rQu@H zXgvfVBN9$OmG=o(yx78ApEk(XNq=?_;YA0u*(+Zhm=awp1lPcp0qkb>O_j#*=NjR* zQ}85Zh0`*(=)Z-Ve!bP<+gmJKnLO+K%?0%(`?geL;o>Y7Xd8SNaO--(t#>BR9 z=}GClcRWVtUs7&?-REduwEyUi4e-9H@XdstzeN4}e2fPna*Z6BIXNvLI0BuIX;#+$ z?9RMu(A$E%hkF`rJ`io*91X)$|7I9lL^?;5k6Y!KYFG0%Ou!9A6v77L+Bt7`DMvpC zbB`Ba(ItYmiVmqIl`GafXc=esy(uJ0V)W1F(EY#~Ud^guKS*495RY%sxXPM%)XDZH zYE(ISHUG5E@M#7-=O-Y+i=X>!tq?(q?d%S>C?!iF|B->^qZyP6Z0<~%?F0qi6-Q&JMq6eJ8s( zmawQjyf}XIA$10IivP)jcFr%`f0LQ{s6NpDB{Tm$XeXq8KxS6lhb2*2Nf@l81Qv5d zT9jHi6_@`vYLcp)grcGn718|nzTH2ONm~3^L)3jcslN-SM+5lPBdN%w1CLZy zQ;S+S-EW)5E9==)+oo9EeO{7j;4$+MP5Ws516b02+f-j&otg!;lfqDaQEC?Spmyp` zt(_`Rv!DV2ihH%w&|}oEjExR8ZXxb#EEBCGK&3Rt>0_wiq(7Zg{NJ5ZcLS}1L};9) zAvF=YH*sg2#J|r=5;RJ}{)3k!=u-427pmk_rRaA~!>3ryzf?7#ikcCn?%rwp6zzkW zt88MZekm2y-1Uc=WJ2tu`u~(qkLO=Gd5{!Muk}vv@!lJ~ zYm6yrk3M&mYMGuS5A1K<4enP>si5YOJzf%dB&`0xGQ}oZ9ArePyd;VJjHq~u^U?jn zDK#c4zh5|2qFSbZK+OkRcUfUJMZWq40ovuk+SL(;`M;@2&J}-ClM15ts7bY97Ujua zRM)hfXue-NwQI@pX)Xw8*(W9S9bl4*ej}O>YNrEr)Vyfi@4RST%)!dt0iXH6DLojs zOW7N@yGk`k_oJb86_;BIx-S z+B(okbws<`>U%m`|Hd!ZP}l6b1}^nqx;oh3d--zT(51a8yZ@U4-J>R5-h(s$BmW8A z{OLR?Q?9v3X5RTHnOP@`@7SrWK^ZSYDAM}BRZXXQ8gHM6`(wGALa+t}oO$Ak)4eaP z8clV5bZC01gLV!*Z`o+KbU7eu1CxcmlEeo+es?cLC}gf$H-{JtD3&XFulSq%+e=n38D3NVJH#39=o+B z-frA@C^jr=^+{{e?!-AO^(e-#=xcO|J?h%iub4K%zhv!bCQ6>VwzBn_P^x?lw1h;hRQ@d*;~f!LQA zK&-=WQT(SPg%CE&z(zSVs)2zh)*>e_`dg*H2`Ya>#DRm^7 zE!{Uy|y2wLEXc10%8tVZzVDfDxfZk$MCko<(?33>wZv1r%b!B-t#6Vj|?ib1Hc^3N@tkb?G2 zS!Gm2Cyr5P4t7KfB6G3UE8MUD+Bc`|i&9QI+clMFb{HIys?yWXyrofh$AH)jCH zR35SHRyGHCj3s^oM?Y zxXpA7|0(|Yn80Rp^}=6|B5LTQF~=RWF2=7$gE%)6>+8w3 zrL}NzsI5It)WqGSBbwBnL2(Dr=W!+^#xKZ~6ehtFz#+E|#cgoH54wt5yT3}WkqtYY z!Gt8WAYzih3rR0rynt3}OczHs1bM97%}B>0Ck=$7pELkCuOi2xge7jJ6$nBiMvQAw z05;c2~)*-HI$R*x(?QYRuI_A%}9N^x?$fwlbks zV%;gnv4Z>DcL()=DmO;sAORs~#p!YKsjz&$2e|jBuBsp_bO3hpJ3LXFm`>zVYEyq$PD zj1!Jr)y%(V?)8)P{LT&=vcX-Ynx3s}q^@4GV7>~(B|!A!d9I(}mG>c%k@>9yb$52< zTnae}5oE!_a}S@p!ab3@5ajx}V@m(rm;6fH(*|WvQSQ_$MQAyNVRo_413z&3_3rWp z<5dv;pXvJicCQ@UO}wkyYJqx-qmwI_oX)rUusb@}i`&fv7>9@CqR*i8Y@9#cFY1Uu z_r6F;(;}UBoJ_yCxglX*_sBZn`&MVFX^>LVv;#Y%qHw66kon*`Q}>mQ|A)G_{EM>R z-}SF4X6T{2JEf#VnV~_X8LVhE3?Ci6h!p}E1&fN%KoP4%l;{+Ht*GF6#$~iRZ>X+S4 z60+r{pM2D%gIyB!dS*xZO!#v<{)1SQu~Gi;0Iy{7@(JIL{9J49@e{`Lv+PNJmfnT& zibZdxTvZ+pLRCMvaJX3b3I`OBKHd!y3Vs{37lLCPW8|`KJ})1~oyEH7ICi33!it|n zgzWil*P&=;6yrMQv-#PPSvHSMQpQHl+;Nn+hE`myXtl^`cOBAC{yHRfAi4n%+i)sz z!Mzlh3Xf#`5GP7aDclf2LSIH<;dN(7Wrgg@)G)n>6o?G80_%F_ML&y)7kh6E@byAw z4xllZkHxPMVRqCWV6_qER8uVo=E3Gn02v?FP5nj!8I5}Zhn^IU0t2TLO z0=GGpg09v-jbYcM?3JKk`F?8UqKtgsr7R!r!?l_AQUW2V|`+iH7fr zp5MWTh1`7o?Sgjb@Y>auE)@G4{i~}nN$>p`Zmz#vaXJxFXTqvAd=mjg6YD=pNOt&= zvSD!5P;vvjZF5glA+C2e1~6sNb9(mV+BMP<%JZ(!?q!Uc7RCp3nwJP{p#J#dAa!B} zMxRVqveDhsL(hQ$vCMOeRHIpivn2D>Q#dY!G3Y$?3XOjpoICDLI2&LUcnUZ$*l!!2 z;>@hwVxGGn9AzUVkmkq+9M7Z0mR_S_M{hT};%?FLK7vp9ZfMK(KD=~!U%~p)q!L^) z%Cr1@1Fre(W&QM(be5f`Z^uh9yb3`&;t5t=oa9yx5lCu!C?EF7aO!;ehdHj^@pf^3Ic zRYi&{A&OV5SmclboUk$z))HzGCpi7LTJ;a{$o@`IaYQt$08*liV#C+-^pY2P!-{qB z3Jd}4e^x)Jy)xVy9ViohQXaDh56!?t_i{#_0tNYD(9E>wPQ$VNd{|vgRaqyjC|86| z7gpC5sm~A($ElT@Agz6!P6s=c7_qkOg|0C$ZN3Ir831vl;$s!fivUFme&w>+0h6Bq z;U|%#M#ef|=aP+d45S&+fkgBG^jOWrT&;v6d5=W%E0LiDCs|bd;-!STgjFeI8||5T zd1UHA0&F`>e$ewcI8xKBjgNcO?pY8hnn-KfEMWRDIAw%ed(2h0MR>h@Dd|0szU}vcWPRc+H^z}}&{Xy_0S;|{mW+g`Hn_Aw%ajxn7Jdjx!B0tmA z)a-?kp2R&ujeH=Ik_u!-$dmK#DWOK%uI z_K4k{DP6I=`jF2?`pKpZno3H9quE@Xi@+JS5&nf5K0cZWeIg}p!hrH8tLf+6 zOz0DtsQ$z0{Hs``hC-YD8dLs0or6sO5X2L%=O3&lUfmdOqeSk%Xv05PO~l!pL23GVHxoF+!U@)dZKWt-TX_r__V~|>**M4JcvAWE zR?dpFBG`?75{7a9&XvI$b>SwzZe@&KGEVT0eHKVZZ+>3ay6}t z;oubcd(AX}Nt|_O3E1k;bb&0!p;H=q$%!f@Wd-@E>)rq zKP*1iK{3B^%u8bq|@UliW=GS7^+v=T<)SSf*WNxuh1C)%R8u^P{tI312V{j3=mIE9BM01h%K@L zOcHA`C{Mr6xxP(#rgnW$8y)g?S>WQjti@*OHGTI)gbc`MP`GEqJ8e9f@B#Q*pF3G zCF3NHv`;@DJScm?GnFcKfbcdN`VRk18h|cMg*+30h{?=?!$i}CkV{WLKMSGx9dmWNuS+*KUpw6T z^l@Nu?i1RUB}P*$Q~NczADsIczzH1AntZz8BeZuC2FCYI{KTid2PkQb--2nG;>*^z6>Xz zV*qDan@PXSig>wc(cp29%1#MXg(}m+y*s8g3FdIXd=WM)D3WIfQ$$cnXpH?JWfU0$ zgrROg{Q83&YHA)PS0*KC?l)l9(0EEwI}EUe)-3x<2JlA<4V16s3+2Z+M-opN7=6?* zzB`sxAyl7z60Y-LT~|Q)jcycjhyGU8tAeQPbJ?cv3)j?^Pfm@}=!Hw=LqKR{T)BcH z+Q0aea4j*C3SVN#T1T#`GpzIg-6xtfn%wl2TgARd-SWXsxn)~*1TA$s+Y(&qJ1ydV zU~pYmV(rzl(g|$JidT;;YO5e`=4Bz>4r$X2ccY)+TBp1x@dcB zG&+J2sQNGMXhclA%oZ9fg8r8gP5YhQ_pW(|Og?_r>I9ew*7;04%2~Zo*DZgTs@}s2;$sBW8%()w4$sVYXrX_4Y`EKtgP_jLy zyd()JOv!HgOfVYBK4h|&^6G0}^|(w7W?e-<<$C=lF2R-TawI~PUY*in=rpCMm~k39 zsM|tM73JQ}eJja&KM{Ua0*k;g@PEE1oSjC%B~y)~Iv~xSo;?nS1td{yN65-jAsq7y zX&p6^2N{t!Gr_t5%s)ZX$<@J$SA@wqVL($HfxQEMV$Z&>72AJiCBLRVB=6E@cqU=lF>(dX#r=t0H^+}~(D?)&I zu;EF)OC2=I{X%*H4aOI&M97qk@6jL;`JI!s}Wwv8^%0a#rI*D=>xC`gxU&JE)*~I-3L;9>gl*KaetUoanZEo>zj%K`nh#t-eIIR zD=$0jJbOkiB{Bg!!oh6sYHsJAJiQ@oy*3Xj>&6MSl6kffg9gNlCwOZq@hkuj_;DPb z$t8?rW<>%yQ~$NcD=fk{f_G&XY*hA^IoF|d=gH&S<{4-vVu@3$pcPYl$+Z;-SM&&- z&qn)=l2nVT=vAs4nKyG+S=G9M6NmDePUxhMml?*jg!I+!#lPHgwI6=+?!v<0bEf3h z+AlBZ+@(v(Hl2=XWW9}nO%hN2pQu`wCAoTzY3p4|FDhQa-5%cH(DF;+LB#3%IpljP zi?-iBjjt6%=ce5zAwOUolWHnEahbUMfwjN2ze~QaZXNW)#96(^40w>(%q=RcxtNU| zg#us+^5lSkP?0q_K#c%4;a56p zuUMEwK||?2?n>XFIhD02%+Z<5|%U)TT*#1ZF005eOl`bRZaN&W)JCd zM&)V@{sp$U%v?+k$tMAeT^Gdd5PLDu?`Vdygd$sIbu%$h$swK`jH29-P)|-1xS*fz zxKQd=O!!NGt^;b?4aJ88B=WwX%VpRsyDQx4LF|keAw9l@IsKz{IjJ(3;~J zP!JPTpKLV7Fj{%fgCje7Pbx^bN>wZ{@#(PY)o~TDfvTJd@;oYtK_e(T{z}$rJn4!* zXaJl#9QyIjF+b^YckEh7ICvXe(`<8v&O)9sifc6dV+Xut3o%I(mL*5*niqV@O~#+m zA=|}$o7d&wbus{?q_u?4bcZgu3HNNoL+rJqx|CkUCihw(lT9v8(9;{KshjOx7|~2b ztzO(7*El^ASsd!Qz2W&W!85g8B*sb0!p}>K6SlnXzcJ%AZ|9xP=`DmqMDc=Gk(Acp zxZQa5?M|MD66eWkV>3|{hq7^ij4y0V4?q&_;mD(jfWsD|cNhpYhMR;y8hW&kdsdSc zvqT+qAhI|>qPapuzRb)tz4nC}j)w|QkiVBnW311Ba_R5!hVoAYe96pUao2Oq zp;=nzsWj19@YSi$4m_x%m&w%|F+tjAo$Z^u1eG*$Jal{+6SSeG_i!W+wtX&bJMAP_ z{!MD1QRmvX_vpjOFwo+QFP;3K@Jqj6-6OPrJhrQ&&?aI3KO>~yXlJ88VUey1R9=DZ5{scLoZEw$N>CNi-30~?TfR_qxHUHio{RS^JwI^2}Z;#?SoAQ2xm)bhA z+B*vSZsihoNcF#VNXJg1_SU992~32C_y3Mx8gA(MxA%4gjj+vlbNO&QlIP6&=NlF3 zw%?9CnXdpqi{`H@zZ@Ock|(M&9@bwf6BK+RmE zK&{7}yHX;H`7&No$7pBE7`?>K0f&Lw-0)AKiKhuBY?Uhlgi4Bv|9{FurAaL zilMg)h*+r4zdkk%N)djR75m~f{iFt5=0RwpUH*lW(946bt`nZ?1Gvf8MI}7e8&>L* z@XAUGN@3$K&vR?u>%U~VNqXl%TCQ?scLS!X)p*)>SW5S?yV``x*vkbp$NP3;9SE2$ zeGk%_9$?OzI=yC^YoS^iSOUkAZM6HCM zc)JEAyYIQi&6cJjEaaJehFJ(5OD>R9|(`@gTZq!R^fS^8J=^ElDcAx4tQl zU#9XZMk>b9tLr5ZhDa!h+Xdv=ynA1`RPjJh2n*%}<0xV!Qu#6!Q1!vmOvQQ0q zGj6AAouTVPRxG`|esUPg7@j*^4ONDEm%N9?x;h!MB_F}45F_0$E>HKR+sMbF$c2&? zo}?)5HVxS^;h#v~Wu0UHYE`iDsg!@DUxZa@>-JRvzdPds(=&JALcQCiyZ!8^;(0W8 z^H89r!S%s|xrcg!JKRaa8LW@JZsKb8_YzqF{g!O$N~+kAzR%sTxpPUL$fk%FuQ;_JVWTTu|^GTwIb8i5}$B z3sw<-rI*XwX^!FdR7wQ|B{L;`Ad=B*L_@Jbv>!F4XC)uAufRB4eL>wL-u{iZHP7m8yz_|Z&Swoga}D%6}*ln!++ zJfH^b>&j3j^yBDO-x$CE^$yx9OG5#LBy3qeWac7{ZntCdJ%rPj#16+0S^z7&agtxT zT4|&lXocKHdCXrWY|g*nkWj6lE?9!N>14S8224bc3h?J5kE(!FMlK?M5^RWGp62+kZ-C-==+q9{jS zJ~f-uxehKDB^e9Johg$~=AU)YxEFO$ORLxouy+!7$3yKXdI!?c6tCkxpdV5*j9=VX z?-}8L6wowmGkt!yaIj2G5_*nSi+-S`R<<~b0Pcoxf(A5_=zY@Y?!0#vveHZqH`8N1 zouEm@Qgvrj8~TouN?M_A5|Ahha>-XeYdUee3=c+fQ7Hiki%DY;?L|5TK@YEQ49bwT z&hFbbX!)p>tf$|r>xm}3yx~%&QOJju^cjXzU4OEU36q zt}{4`t5n*85*}kkEmT_wFj4~tI@1DR&LnKfEYlRZcxhR;*|TpYl64{dtYOwqdho~VnZ zY9Y!Y>?Gu7z5;{^9fH01qGf++V0x-W`K5t!>DMK0ahVrV5s^+<6Z0fr#b|!WK$Ho% zjQlawhgdn!T-{mR`(2au^PM=XOEwr!?B+WvOSP0pthF)#N28@Yop?3K#!ptzz~5+$ zKOZSAV1D<+N50O$qKiD76CBB*1_crprLiwpo8B;g!?0Vg5pziivDPWWrsO z`*C|f3*1W^7O`|^VUxwq9^<0iXEb|#xm^IZX%&VlQSRv^PGECJ?nU2u#{ao;h>dUh z&C30x^MUqP&LO8Gx1iDaP5EKfRAKp)=by9Cccr})Vvw(7Z{AYPpBzZL!dNU2Z=EOq zHu}1=WZg_ZTK-@}7Jg-5*9L*#k*~@LrlCe~qpu>fTIYh|&KlaVlHaSemmys%rI~(B z|KVw))+_`01kN*%1-V6`J9%kI7r}!p9-o+0z?qEO`6zQ)f1^ zGa}!*+R{!c$2c1j>40{um>;S3GMQE}ZU$&!rM|E)+;qJ8&YCh}L9=OhEWLlPRvG7d zh&fu)zpzs>?Xf9x`|vIHGJbzd|NBl6{_BSR?W4u%@B4lDZ^yi)*ZTOQ$N2BZ^P|tx z`0rovcz_Y}@4O|gKnN11@Hz~+gh6M}(`p6M*U^M>QTYspZFFJ738-)`#s;)$AQcb} zgtx>+35Q}8>?6dx4Z{OzF#J>%Xl4$`MZP8Gt5hPbXqN9VJ9rBVzAW$*SIh}&o+v6J zmNBH7TZ|%C%-O-18JcLwD%V3pw#5uK3g=ipmoWAU^cP9w4w{1ut!vL1$2P=mJ{Ct( z4#Q(8pKsB!GR6mJA+-g0#*BG-!7=MFb$c`9=^Y+y7L8Fp)9V@(LNeiFEKNKMiIB4H9B{sE%b zzL%(|lG`kjP0Y{oha&r^V?>~=bFpZpMifGFaV=PN2${cA>kY2zVn|iOv+z)X)1kxJoR?qkIqqdv{2Fbu?T?PfH^n_B`S5JQ6KH*rI9>b6}wI08VV0~OBB>2z_ z;^!6s0U{pC32?*5`CVOPK(w@i7ldF^7;=G31-}J?ofyr@t70HSVOqv}V}{-%ST5@& zj8#=G*jPi(B*FDieg}~NF3-I=nrpitpGFLXGpX?K0x7;iGW2-?VcgO6`G8%%X?{WE zL_z6vrKW7<;J};>Oa-ER z-kF^=J?f`Aqffy=(TZ=_HRaBOThNPHx?h6wJ6qWw#M*qo)3`%SpHRS2RS*wPxe%|bBAA<)T*V z<}u}7<>icb$^aK4^rH%`S2X>+XtyejhYHd21xkx=bZ+x%@iS&WXVUh3q|;WV-6B&n zVp@C7L8nd)>FaiCcmjE)Fk_BS*EHyaw@$h8qpMf&T4fhP#LTTK?1S{Z{LU@6tEjxK zizUgsOjHmWZ=0TAYIVnyKT(~)Zf^p&|gq^-RCcw+*nthObf${Z^+3gqzae){pkuKEtV9ddbq-aBjMxele-OA*pdQ z(7!Oe;g(i0E=m0nQ`2=7TEqD>h-!mZ`C0BBniqvl+DFQupxPS2+C63y%^;gE;iZ~) zq|ThwT{B>n=VB&$#~K%YexC%msnd}1D5u0jeUnc9O7%%1Uo-a(GZkZXqwX>q>!vcr za`fo=XRre3c0B@=B|>v8Gu&VjW9FgWxEtD-k558`R-5xZJ}MjA(_lh-e7I!-lKrP9eWf zTyW8D`%v9nEZia<(?m4re1XVCP(&7ar1JJtgsD^2n;Zu4-ENV$Oaeo82%W}*YTH~9 z#m7!WPkj*wbnOavdusf=P3L-T_j_AT^>KYE+o-<4so6Vt(6{m_U8K-xqOsv9rz5Ic zH-Sa#mNl|PCQD7ho-Wv)Nu$$QB-$+CmKa{c!S)j@l$-R0oq9c4|j+l zssO&~qX_t7_7WN@gl?afZUK$W;0aMT$>JW5U2lik+xVgq6o$(kvZA>EM?n~aBw`iXp#vy6ieJR3^M?plmY(o#40kJTsJq!f}4X&%xz zm$%@5J4((KuGj)AS}ZQ~+78nKJ?tG~sFj=LJ`D=VdZ4jAh-GHHt3EBqHAiANmruo~ z{FH|O98xEhN#x!GtmOQgq6oQ`2!@%6_t-v7$w+c4meEDmMSrF*dz6z>*B``(sgl!r zdM%`37FZJfXsnSw=jKC83>V^=e;Z;|K;(z{bX8dbkY^n@kSsXvlY0*U^=1fu@~ ziJlOM{!OC)8HoNniC)W7KL) z)UO1z=+6X{5P$xifTq~+5q#|N|1*Q$P4nl(D8>I5gZ>|oOo0R>)3K8MZw7s=*$*U> zYkii-ZwCE;q@jOk?f&A?|B$i&s!IJGi2lW+{{f>vR@of~qSyW%Mt_`%9*fz3Wuk=L z(a+k{pL%vebE>iZFCJ54E+G?b`vIeG>&$NJC?aH{esJko12ys-pi)M&}60 z=$-Rl{>Nn0B(c>TocPblXzyMuj*yH#C>AD2?+B-2>(t$##>IT*pULQQv|e%p#$ly4 zJ8akYsnXf5%^5;68eArO<0%Cp8GS)(LM*&+L%Ji%w7C17!&oZSaLU(%s}_U#(ig?G z^6N0@*eiOV5LK0D_XuBHA$DN(^$Y@{CO?}32ZZvjbk>JnCz=7p2rmTiK{jYF1f)_3 zR&8gX$it3WAOu1a-Nkna0J52XmN3+;RKb_(UT`@a&Ut8j;Y#WD-6!=gCT&SBm(yQf zwH;+3!( zz!02|OJLi1&4E!8TeL}_(#u=DbVx-Duyn~Ut)Riwbq4T`r$n~;1UmhY93dmcKx)~b z#k|O>0ZmbOLY$2e8G%X9_-X?{0X|D$HPX)pV1PY8hHDaJQD;<*`jjY85EfW5cA;c* zRiU)>0=dHTs~E7Ut*2wzZnFFl$PO!&=C*uCUYlh7j`%h5J#}#=lA*+0q~O3x4*03t zSt>D6$C|pT!a`(2b)maZ4M_{Wp`qzIyINyKiXut9zNPoFvkG`+m85<=d&jvvp1)xx zjp&@!n{@QrD^7sHrhB3YhRdKhRcq3{8aRC!Q>DtT_98)LKrED{0-(i>c9xnj!Q>)W zz#59h?WWga7QxNxnjI!@#Bch5n?X{ox}>ut_sO^nV6k=9qr$*Jh8ErR1e9(SFyihS z5pj8{Hk@->$lrnl-mr6*iu~<5D_U((9H5(8bq4&ZRAyW|z$=3?@km}o0=eYbT@DJ! z${kT66HI%RE@`0e5T)|9z_~M!R0D(_Ysub&bJpaYbBO7edyBe@kpcJ7lEv*8roX~4 zbSncAz?788m(jC1-|>xx1CVVcBz)+rs(u#~MQxwqw+@z6g}%7jAmf&wDO#|w~p-cGen2u zIa%-rfot_BkLCv`#1+n^JIbGYTSt3ThWQ01c%Fy(mp+dt>sPiPW;(G!WQ4P%)b zl=1n(`WXf4Mpw`5PgSPz!+4z9VG|ozR3}mbAephnNLy^bau@)CuV4NwqJ?;iq0ki+ z#!x7sAXEqZYfK-b;JkMDXAH`vocduTR16eQZdh=Oj|(7Z#30Cr18<~-^s^+uUkTvk zo1=(?y2p6&)C^(=qMGMj%9dP&5;J@jasc5L z)NBbGM3JX&3`lzTs$qHkI5kLLFoL#VN#wjqirauhZU(6sK^2T|jxU0?Vu%dN>Atq-A??Nks9OVd^f&dr$YY{!rd0l|B~}WnK!2i3Qma`RwFX7gK9R9a-YdzB^b~t ztC8g*_CiCa#6L#eNa0&iQP5G5@Qd15Qj2w|KTFQflh;9uVE-JTYsGJ1)Tgz)y}vXT zgVLoV2L`kCDkrc`*f?J(9a_nZcn{q|+ynVSO85*>6p0mQ7lW=;~BKZwx3~qf$mx z*#l@3^g&zqT%ApdmH9@j`Xng54jhPiL@Q3M5_g0xJX9S=z{mxG_)Gh3Tp){Rv357y zgM!t|9|NH<*>|TBYy48_#hOquB#3+d!Gb>T0qONz*!ihyvP!K{zV~*b^7vaOna|qX zz5T3P3xi`b70EXvLp^Xk6)P+vtmE*R!HS^!l=UFHft{OMBsEgfG4^-FEpHSJQYeKq zf@chBDxz*ZfYp8byg5bh;_Wt1Q3>E##NxVJK2E`;Mvz`Lly0xB>`H@PQpH##7PwxRb z#cg#}Li4>BMBXo}HLhVjElZ6qXP{79&$nGHOKnF5f!r{clc&P)ee&+x$rsO#)9vmu z^R=Il*Gx87JR=PV)y<3~bjv^US}^WRexf3xDe7p7Vk$oXG3K^Rf3^gJDVqb(I(B3n zUVi8shivjua%$5?v_N9+sEYMxa{fKNxhnQ&U_R<5vzZmd{MLOSM!g||@e??31q2iU zaK$hAT~8scty%XxHNbKcGxSrLFb5s+lov!aRcw6QaP`rtNos+{ zyL)`HDM`8=J1aH|UNt`P5l_CJhKP`%J_g?|dTLbEaXW&|#~WX@&~^V4O0hZJ?U5jb z{`LKiHgb&Uhcu#s+>4F2=jK$P2hz&CAdU^ul{@b1Y+(G8#qZ6Z#Jx@3V3YZ9k@wB| zKp+b@82G{HpqdTH&3aPzS+9U3yr`b`JatoH=3hq=MSSA zy(!XiA1z2Idj~JME3UV)C_Hl0yw`r-DdX8xC~Njh0e|f-Q&MfV`>TO7UHRT2Wm%~n zypQOg!=p^1MSVU#vkH%^$z>ghpxGn}gNSWiN7g;R_2ydhJCYf{fwYTNa>$2Tr!z;{ zsx;5V7Ksy*e$|ckzVGi=xxTbIp9pq3^=16V^ev+rwhSqyWqEu8>E^?J*327IpR;Y{ zZJ({WKjk@GQonv_&t3o0HKoUgO9CVxIo4$ON$$kaN}R**6SscozTWhOBI929*wy_H z1?P{{((qpzZ8P4r5t7l{c*osoyiV_xeMbgNrvN5bGV)u<{}ze<4=|IWB%r+#)T0?K zyM%S;iWcdPK80nV-liXVjX~8hM6NRAw=f5rGJrVYqj|vuFcWoo%-60)>JmIs373EWT)eVGs}$1PyQojAsI!5L|U)Oxx_ zi$)|>Fbd08@Lb|Y;<}MZ0dZj#NOgbSC`PIqbxe=VRNz#}RB`d{b+ldM@%4ygjn-t5 z01>weeorZ_=B@+*d9N-hJsDbH9IQ%gFVnS?(z)hc?=SplNtomZn90e2qU|7cRX*+I zxU0|$QL@=2?tP5`G|4zXnP99wQs@8eK}eZ_5KA+Bdxb^?I0brEH1`y0=$ZgH)i7) zP&EZY2y~}U;~9*He9U-lJ1sTI%Z^l-HaT{C^DkqW?3R`>2DpUXOn;gztC3LU3>RHT zNybV^)~wj6eC$J_oLVkgG(NpJ%+&0c z!z=H#Sg)#tkI}ofn*-lgW*kAU)}uHAOWqL!15W6WDp*A}4HR`1>R+5ARV+`-`J$)z zVon}WXWnZyhx9vz7x~o{1L7z(ke}7dz_Uc~Q8lbx!DC6p>uf!5+LM-cG-r8{dR1O` z37fb=JN=kKXp64#oL~4v87+^dQ(!rh;`vStpeL=NLRU^hQX$|W!J`xUv0ML=mihRh z#VcMUvrY)iL-T?`rCeb}VJ^*x$=TRItwg7sXYSaQW!*b6$n_DYSMJD-L|uFJ8rZOl zu~p4|6TSgnUFde={BA4-sP=HJY+RwrR=85DK@Xf17f~-BRAtl0Xte_cK4mn^;bUe zpK6B)u8{Yy)+HX*XLRW!tQ?58%LEmXO&;}u@Vel=hL*xKC419}7?4nhk!(V>r4H8m z5yb8jzXC~3R%q#3Ow;noYl!k|qrBG~U&@^4t64#YP)Rbs(y0obkDnJt-e$I_G-*&` zsJo>j9mA(jRAG^lQ|Ay^FTGGlFI$Ftdjm0Ri-&RFkZ*<$W|xLrz_u+8do5D$RDd7f zxLjyibjJ^{YXV(4HC$PBsbp~>;3K%=F!8P8|k zUY#(l7&TjnKAN|INSZG_(s{#V`e^=|deM0%+6!;&Tzr^Q0t%Bv9>+6|+J2vJAvI?q z=yyEqMCU!q`o;^TWb>;U#7mBDq%t*MwhDE)2US?0WmWjCr8fGdYHEX=N*B?8ZM$6hq_c@xmtjE$CKX$d< za>WLBUwbW&+5&e&SRb$Ck;;+h<@(ik>ZH@V=PVbZe4&Y!e#yiXjI{vwWJea>6ucaP z+WX@{#YrE#gxsyoT%FMl$670Q@eCvjSN1ky}G}51^R&@!L7FM0N z`PdCM*dOM1o21t7daf${*e#|mz561!UqgHfO?eSoxPW`qPKsX}Xo9Q64lXnc!ur3_9_0`QfE zH^sL?BqijCby}@d#muwKngR#}Bmqm{qHh?{?j3twu_OVcm#4f>Wci1qFSq<{vH=t< z=!y81CJJNMz#2Jy$M=l{5K{cj@a!Oof;@9$PaIYn@!@PPYBkjA_4PM1L5ht-O+`aQ ztD*jj7fKg{-{jl2>rN8A2*kb)xv7inaw2+VH(4MZMuwjHKo?Fg8O|ONsBJ!3A3yFl zrgt@$`N4dL4i-ejz@f*JuQ+(G(TqWI8TZEomWc#V}X;f`uuIqJZW`o&iql}B!J|9nlly7pb3*t zp5Nw7)d&JeUg%%)%6~3!o|O?)S5W*JTpB4U+lz4>Yco&r{+l-QpMy)2U;KDSP4$1! zW@<VwjKGtSl_}9j!*D(_5kG!(rpDFVHrLp;M6nV$Lw3&p`=5KB0U!~2Sze}5C zLxD9vr=5S6Hbqj-A4itQ6nVRU(PsXa-sX?UGKj!KGRX)v`%{~l5$Ig?iz0tq;Ji-I zX8w*W2?fraU)s$7h%A2~4|A~^Wv8_4c**^!6t=4*W*QU+Wt96CwX!V#<+4LQH9UcpOu< z{I>$9iBN!ZGnD!t3!Hbe>&SQ^LY-CGK@Ia+rY#qo>pMgiZ%DT7_bs)i#lPRn_+Ix;I+JEFS%AM|Yqa#m zXJlo*hM;&d$UT+ony_2N#&RdyNU*9i6;woJW!!~Gz(N8NYrOp=tqg)RZ4w~WoDm(^ z5Pmw4@?d}>bnY4pA*Q7FdQSk!uhh(2F zvuDXsx4tfxUCjd<#mhwtNze78KoS!Z5+zYfsjRyMQHn_=I-bAqMOx2nJv#7Rq>&5A zweI14;gmBQS8s45-WVX}wJHpJN!MPvf;mW(i!#b{_z=go<$*d>g z*8Bjwgd=GQWvuT#Ziu}^LIV)vmkh$nw8o0^aY_@q0N03L4^wD9;UA%~o_kTk==$EE zRO^x72;F5c2F<-(u}y+5%OSz^f4v-Hr`nhF^#%&evT}le`Y`!;3;a}fcL3ayf+RK> zPuU$f11FQYwf`U|@IHW{x|@OO;Upi3I0wlOTHol}>4#2i8&!Pp*xN)2QSMWsgjeOLS~H(c<5#Xtp>;=1RMfM6;RVV8*F@41tm&Wm7B%)g^8BxP7; z&jrwOqOl{Xnp=Yamz7ythQbi1n4N~r(Y8A9)qu-YFitVqkL+??3g;k5out@aJ3~k% za(82Fpp+4RM`#mO^u)$$O2T*APdrs%P&*c+SI`d=#H5OYN0{ek$=M@c>jv^Z+uqAJ zJmbF?Iti)LddI63gQNx|E9hwQ4HL0Y%|bwHLnX@+C)>T2*-})ZdR`%>B)pZA{L)6B zQ@GBRoC2PL$eR1&8XNTsML!z425Wa!4FF2OMQ#Ou{i z(6G`?t`x!ikA(s67Gc+qAHc3usa#zCgmhEZ?^7&!+erogr3#ll|{&nm|-BD*Ee)c~0tNvtySZA5|M z0eA+mFo6`mR>p47T!#cptdMv5k_YNDal05T6o6N+`4CHi1?tdjkE7p_Y6st8Vy}oh zaS#J4BLx%=Osy!WN>)jR2mAa6VQ=fm^kTcC=hFSvp{x(!XUd=`nz6%DXAu}x6JhW=iiz!`f3OzNyNDluJ*;55h(A9OLQ5E zNnZGU6oEDCUzQe|{z>5K2aOG^g&s-OyS-Yt6ly^|2H;QlL`QKx+Mp|Pg2#wN{Zi^%vJhuIhr(YKj-lwRH|@n>c`D)7y{?uhF8wiNL=6)c){(yp23Tllo>m|_WiX~X)Ju9y;cXPd4 zekyuc2TA;v4Y=aUJk9GAG9+^GJS2lqzPpd4K0qt_Du;`Xzl{p4^ZCekCPV!#NMaMg z=H@AYAX(B#UpruWUw7rgaFmy4lh3Usn~#ofT{(g`4x!{LG&=N0Tnsm+pQ&*yGHx>2 zBKxOauocu?YQ=syTCn|gXcf|*nsM#x+b?SGk=y1sqjv^LiwRq4G$)>+p!QPy6#vYM z{-t@_>7ymptKa1IFCD$szw!>>@%@0~%~3Ta{_`##?|{B^DEEIL%={5k?nnaqoI&mI zXsL}TXgR$s0xLgG6UIg5I~zf|6df_kaHX8732hca1q2}@>uO_k1*tTbkcRn~rMzgU zMJ&mnJ2jfQ27S^_E|#o3mQefbv{z>$3V;o=d@~3>U2ZQa#Zw4!T8l+`jK?XJ+n?i# zSK5x-i8qo`;n{*&v-|(ZDE$o04lqk_ZXOv<2;Pr_OWJ!2#+?$1%+?ZRj6z!YYOMlv zXT}ptwS;_^bT0?;kWtCGB*eqEdC;wP3gt<~Sd>K;vMIqXBq8oBS8|BG8PESm-CKr5 zx%X|`=L9oD58cuo(v1#7cQ;5%2}n0M14DyS5&}vLNJ}?LONfGsqM`z#AQl*i7`!Lq za=EU1UHAJuAD{Wor`gzMJAVKD*pD!g6Ho!STwRO8RC1y4%Wgs(^gzsQ!H`JwT6n<4 z;LI9mRuwjDU;8Kg8HfnqMT2zZ9bB72Kn0XJ95J^&ZMO)p>kAmSw$?_?tLa=2iLH@Mqc@GQW zNaGJDbzudT8nPrg-p>SSJi!q;OL@i>Js*o)VoDB|jrK;Q^zc081+3zhqW2{WmxMfJ z|1JNsjIMM;>Pl&-#{h|RIVJM8QkG{nEC?&yfwi%uvKZpKvdozLLcy;qceS&)FF(ii zL*dPwbZ7b^gE@HOlviG!a&8?~j1NdP719eYOrI(O+0lxZ#mcSfH#|x*qPVUW3vu!( zt7ZGjr4&W=an3G(Nop|H-oh6!gJ2AzBDxLb8MnFSfH-~@~ge>T&&kbm(;49SVa3rOK9q& zwOJ94tVU3L#lBu4#5d%`nnst9og<_1vruWn=;RPqC&;GJ_x)y^bX44B>)FxLu+2sFtm!>8@<3S-Z8rl>i?-T$GFInrlc^eH{tDP8mXMnJy3Y zB&w`jcJ8Qe+Duo^v3%DKq17^zPA#*xkF(vhL?>C3tW>YVYLq`&j!Z``*f(h}U`}dL zO;pek=bO^@PK2&DLbq${HoZiAZIAj^lJnNe<=Mn6*i?wrxqT|xOs~yMuO%~c{v5_t zUvvfGnqM4kQ{tPkHEnaLuT~=cO2N48q~6J$Bxfj%(TO$2ZV~A=eKgdeVTZN+jTP}( zPs8WE%aZo3I>Tk<{Px78)Twmb%%_GN34|{Pbq^2_NS7lh_F^q(Jp0;E)~~?&*>?e4qmD&rV?RQ zAAP$c9nfuSbQWoDA`@;B*45%AXUv5QuoISZB4-_h3!J{_EsUKnGB|1N>7*ysGZ5+Z zLApB@5pv&BL7NM9iH`kgOX)p&pF9C?q9(M=Yi`Y&2EI#hI*0VW5vJ{Oo! z%fZ^E@?20gNk%zKtbcZKZaeNO9kxGQ1X<+ zpj^@*joHBUl7Wu~LFe6rsL5%Ng@N-{{r2yrx#zAXCtf^09MIc!YIg3_HSON>4reA% zS>4J0BrATPRNeli8m(VIf%NcJ-f6biDIDL7Kh!W~iP8whUZV~5oh%L#%DXz>e>DbN z4rt-2TxK11B|G}^tdv3spN`mZBp`Y}nA_*v2h(ik2Aa~s0nQ_>T#OGK<1P--Rv0IGjWdW`n<^O(CIuWR z8p))j^-JMQGuKP*N2z<&dreT}-9M+ibk=fT_?mKJD5fI9$fnseqLJ#`(1-5Sq|av= z*32*5XNz|1xRo=7PsvZd9D*yHA~7@a38X4vm(RG4ZdjVesj?@0iwdBLhN+KNBb!6? zG#})$jx8Webm`eJCSj{bqetn+{q#i3se)*juFl`MrAocROn>{^jrrF%78|e2+Y}^b z-zdR17Epw*`YHDo()A+=A0V;%AQb5uJGnknKP(atyQvp6c)FfN6ga1hzeR$9P{lxQ z@7#i94Qr{-QK`%UWpiJaX5p>3F8MJ%SG_r7GZmwXdL&5m_;cI`?sz@3cwFb4aeZx_ zy6N{hswx}-mKyWL@eGw3TFhu(ngjnCe*Le5<1lT^FRuxbYO%NP&(L|1aU@{;}!yH zZXDPHhdOA4v42S64z7ZVO1At5IHUF9RZxoiPy`ov?7*H5 zTHvg)YKH>#P)*)H?dj@PzY5)l{e9_qyBu?_9-ah!)2dFUw7KSVx)%=k zmi2=7z|gXR->Z_*jXiNK-G5oqf7#x`E{`18-i!niOu?(5XsQ)&s+Dlo3DEW?obITQ z<06vhAyee@%l4M$td6%eP500O`Ni}=<9{g9!?d!0D$?^}9sWc6cIbQq?}2qmR&7a^ z9jVqG84i7CPaMeK^1X<;!Hws`4&`tELzjMV8wAa7;BD}*+zk##9G1I5=UWOf7wmMG z3>N-V`*sy%8IwDDvYQ4=2C5F6ZyoLVt%LbJ?Im5EW$gpMj)8xu)4@w%)j&~aWzyf; zw+38iV>YOLYx`+Z@BVoktnWFHssFwW_766ICiS*Iwk7)q4rJ<}3of(ozyb$uOCAc; zfxkX~9|rNeyTXpUqCbsr@BiHhr<=iPQlMEE$exub=|26h!;%}bEZXQAN0D4%oy**p z(_gO+stnv*}LZ+FbK`TRZ#5eKx0` zoX1&_-Pw+Cfc4xZCQ55LE*nxa@b(VVj#nYigazC~94A8%h2tToIOixJQt%Ptdsu%O!qvn|H zfWB@DzV#ZbwvTL4{T5mDeB7e@n9TRc&!xi+oRj1Cvnm&^T;Esa#09NENw}^{7)(me zhDEysPlzM^TBjk6dWfM@aoanE0Ss=D75=Q#6D6ldl7uQ9$A;+v)=dfvUFL;73RB3&!AG_z_yIKOvm7a5AHH10O`*IzLvzyS>ef_u zhdFha&p$hBMAgHWD_GN0iD3-{^+#8jm#_2K&IMzol+l{(No;TLxdyQB)Lp*BA^~4b zB{14srXeXYIy9E0q!`p3s83^D2~D!+wgG$Da%qco&PGd7Ab5%6<3_XeFk|ZLfb#SQ z$mym1)yMUhYeeR1%8qy>&{q}MH`HJ4@&$Wd)9Icq&1Ccwf<=@`uM9iLPT@er(SDAt z36PvP_9+mGU|Oa!zZA3BR8g~I=SnWgh}cVA^>Ey=_V+sp)8X+c{P=Z>|L12 z3u+%)s?vs}l9cBVvvBTgratzemQesBwuRj7;h!6$)+yy1LQ#7paBR9jf$I!9nQh}x z*T(HB$_R=TuBaKNmeILYqI7B0ig2F_Q&2R#2f~%(Q8sG#v+}yC+Latfe5wUl(Rv-yc+% zfzn96o0#30?Y{2Y{-z7V+t5A*C$K$IK>es zaG#Qk+V_DD+bfTD4MIeZ}`;R5sEE_b-oR_2>&7xg{R zcjTC81r<(w4oD`P9q@4xh?1->Td4`DtzFbI}SWO5lu$&6xVoSe<8>$x0&UC-a z!5os-FG)6?=}l3SdKcAA5j)JTIs|xzC$~V@S1s~1@v;_ysolb9qzkr2oJsUtQp3wf zJl+c^B3Gr~Df*Pcvjxa%S@Z!hT1JGTmtuzO&4QCRN>?>=f%jYcS^Sc&ti_vp%9rho zXkR4eJthj~uZG|7sNY0WS2(kj^CgGj+`~y5AH$-0%^agG3+drCk~({AZpt6HH-sw5 z@2X4TmqeY@a!*7_LdNjBW?VBqH)B+*EP^NWEtSHI)eCI1he^UN-=OiGiQg+D@+@$a zpo-ap&F)-4Gg!A`9+~;0=97q_f`+g7b@&zUImO?N;Nh>cXVSP)T8sD6YK0zuczdez z=2&s(fQzjP+3mKywkuvu+7(f1wNK z%!8ZJ)aG*(jh_X2_#b9Zb z^>fdp(cdQZ@3TNDZoa~>yKhk3AhcVQ?#IYBG^BVdQQq}8dUY6CPMI) zR*5~O!;=@c6$G+#(8faU#aq$gln#azOd?uzN)*?>fr*cDQ1_M z>5#Tu;PR8dVfc-QV*K9fl)g^da;2_ro@rciv_{32vTj97vIZs-xe5&(&vA@IfDxn4 ziq52y%wQSjT+~qY2ucB%hW06MK$3axoeQ*Q~2xp6Rj(N-qV;L4<#niIbU zWU#j^ADN}YahG@Ku(9&6nPlVTK3X6GhlE%H6<0=1~#=r+r&C6Vv8kFJB}OytoPg+z+G&pmGH7BLHJLR{Av*LNq_}0Z#kD zAm=SfapZZK;FF)Qa(6d0g|IlOm zlXvVDz7lszt^}74iz!V*Ag+sokwN=+$@4hQP?>C}pPX=n)8y-d9ZTP`e zbuW6~2Hk=Tk7B|BrW{q-Fc#C$Z`T7x1<`HmKEp^nH0aEi^+=8FAW*S}B)HCfcDyYp zBf*bl?TA>sA0hQI=!s0QB%h4pU0o705`JxW{ujZTf+5X<`rAx^7yzPeh~~hEN8r}? zXPlD!DV=W8Sz0?LTa*DR?3_TD>pJ0Fn-`Tg%8AK^mN~r2@|6AJ8An}&mLiV8N8f6# zWs|SvxEss8>(JtL-K8_NVOn}@AkSwQo`3cb|nexIqt&<*l*M*eP6oPpVFiIj;vtgCG=%OOVF?li# z7sTuf|3`DD11-`o7p0#IHhnTL->w_Th)ly;8)LamfGz#jyAy_Sf09N ziKa+0obE8H#Ac3pn;cEdx}}SLM__@^0mo?0lH_=PkRg5opYV;=@96o$bm5X9d`3~XZhQ%Nwy@Q+?)Xa>DB;iJnqkpHBKjA1m$oxcDY=mv1*i`NS!t!;( zuBE<}C9D;(0a#>fTgk5EVbYRuTd3pnkee8Ned#Dx4&`XJ$A$C+Jg zD=oTUtrKq&Y>Hc<78`V@w{kRs3RpM%&FbhZ^w1u{dHhM|?Y{Vi>d~csqRUvYJtfR; z-NSr(q0rS1Z?0Darzr|6E=t!!lSKX{Li>NK?)Ufb*#E-OfCBaZOA(smUmQ&c$kF^3 zq5XrS!T#iEbbj^z)C_$NdVi(|aar@{>e!zyw1d#B{1c^-<2L*6D2a8>s30s{q*l zJ3ae=qI5!=Uv?uHpxp`wd`kNcMQFd7nwW+|5!x@N#^#{On% z{zZi5^;?AY51pL}`k8Y6+bU`E9MqVDIm@ z3$3=d`e$f9(4`-`(E0}J|06g52T;@a(}D(O=D*|eKk9x<>mWzt^6h}5ng8z`4c&_y z1&lNE*^>vuWB(ALO?TAYxlHZF$D&Jfc_B}>{lv+%uv3OjPNTsbUl(2(ol&l+cbX}v zy-O5tWM)nuzc}bj`f&4czwBE_0$1CE3_-$`mC@r2L6u|$ukEhO^WHCA>S?r{$rdh= zD`sq6zh%O}%h2MzJty`&)^eA;@6$usX0#%oKdUQ1CPJiy;7;0}s0ltVHWV0Y52+IJ};fw>*X!S0Q!nt@ifLL91ppOWkoXQ ziB!{6cpM~?QiF0XRl6{wclv+8`6ps{vCj<<9vAzqX8^cfqQHrA> zr;sd#Q*beggc-zw5pK71bBBcp6{=pwd2o(1Xy{axrYPRdCd%&Mv!Z;=GvLo z)6~#%bwXv49gg+Q&@=r)nTu_;C>>?`1i1ns5B9`?vUUr|X-x;R^EL#T$)lbfGSiMT zZ|{o%uAyV(=hr|W95|wwXV6BSgq!7sQ>mJA=lGc!kWO<&dHVa_RuYT}wq{=+53px1 zD2obzy**0qI#-W5HR%RA(0a%KmcAD4hjma=L&?Z{a`a+=P{WP)Q^MpO?U?UBL``oV z>mG2OMdn~gZmL~blAbr-XZU#9bf02~nJB50PkyJCf>|yJGL&S@g%h7!R9V>0J@d&o z^d06X^+$;Gk0lv#^$A4rYu4wI`!u6+=OrI1Q1p>mBAW^KGn+;!qSUFHP;ulKNca}d zBi2Fo97Vt;8#d0}RLU&@#D1mRU1Q430g0OI(l0MC?-H3zAahdu>YYy|=9qsh%jmN| zrX_fe(YsT4O-vXxZf{=?`L_Mx)0-(YJ2)LZETf5{pLiry;#BwMYe3OCwYLP?ALMscaM?}{scC};n@mf+|ZzlgweL4DtQ81 zE24=$G{6ZUy%$}c5QrPc>@$AO2DT`XIqqY--(0EeDVNdNE|#BeYrzy9q43#dbxM-p zQT)>DG&4AcrCuSMb4Qc>HFH8xXsWiHG&Y4i5Xa~pbah4CBx*|Z$orj1Rn@oiQFG*c z-o(q<{=J*gT3awt`VE;GN@CV2dK65;B|*T?oi;C;iibgO$VehL29T`6sMZbXS-;PP zKHyZ*gy7AN@#b8jUlvs&)i?V=T|g$LaWoW{Fha=>pGZYWW~ZVlWO*2=neq9?V5*e} z;c`Y*FbQj+r4@5kGH@VLW2%l{^G}8i13aExGVb~yQWKc$^i5qGK$~&CDu6Yl*$bl&;CL0s+bRGtCwi$EB!5DbRXp<{z_AJOs9f zD_KWyNVkZ)?wnei*K@k2h}#d+xNIJ>VtF)SDMEBmrgA`=Ri^}K@#Z6krr3G}b8S}n z2(}7Znlkd$%E^fU(bKY)7<8QmKi2FP(y~(E6To9oo}Frr(_a3_B{7Lo+XVe`d+v>{ z^t!TXVKVrod@lEv>k6qfNn3Ft4H|4-^F>j{37SX-l^z_&!!I|J;apUM7_&U)VJ`V4 zbURR-Gf)YisU2o|=%aJrII~OfYU^2z3(rc4Ox>7(i~v#|K>1^(f#IEE>P%E}iF$@%G zs+Lo%LS3jDNB|>B9;gBn@zx2823a`+BW=7iAm+{g@*yeibhB|=uE^u3dv?jg3{=Gys=(D-6d}$Qd;8m?PAtF6$k+b^W8^+F1iC$C9lj&HWQ_auaa9;*16F z`^ggn?*&JK^%@K$Qj^s@hmqRnDmZ?mMw#;ITSM(V28!kALHRzu-07*X^$RSMvj&`DroIn0HEy4UccOU@w*X zsy|eYATx5(v|!VH%H45kfRmVz$fNBdd-kwzg5lRKfl+G6CB6SVKulQ|^)1(Sdsx;vRN)hrgYFqS|@q$7gI%jOM+e zpclK(By5oJ#%ww3>onKilaOYrt#QXZzryiQ==oqr*ro4nA^eZ-QD58FAnc>_U(N~f z4h;E@okmk*c$;p?T+;}E`Rs^ZitKs!06WbDT^Net%tj0%C?zUYMd3Yr%Kju;(@Q2vo0Bhr^5OD$T>f!`o1cwq2(F!bN2qWLl#& z-S`rPXp%Nq-!gflXfmmG=*BnbuTP?<6*Eb;Gs$VvD1w}uU4IfcSb?u@$tB*nfXi76 z^jJtX;bUDLdK=L1-Ub4#se2u zxF0n8S!~`s_iaZe0m<98l7ZRh&Ec{O+2cX;`Y71*K%caetm9zF;%w@UT&V~AkU-?o zsa$D2obNN5jNADpz4^rI96h_dd)T8p=21Fz*>7d@wMb<%1?ioVCCNr5Ght^}gm3{V zo=_SErSnMLK$2HQXo^lx)hZA3kOC)xLRf_?3EpRmi6+@6$Ffe%nN%SIkU1`#mnEM9 zS8_p2p`Ktw(lzpO!oE+1D6BJ1kjv(MiVQPrd+T`E*#aPKHPd}(Yx5AV_GjH zNzB}&-8_66#z~^=e6C7s%0?;nN^>aoS`ziNi=O%3lPZybYe0ukmq#q?dM`8yD-K7= zgRko&Q;L`M#IAmEAKKSb>^CoK^x+umRpKQoAImPU#Vdr~KRMKnCASEcQd1|Ln4`q>x9Vq2|RI5_q13vW9n3nbj zlB;GeDt9$7FiM$3BjquTGwL{T5lsR6Vkt6hbAr*sk5!^~$Wb_Hv(QTUdLqJ;NS;sB zoF+omaS7UDZ*^)ES!}NG|>HHG;t!?TRhwG#Fe~OSRxi#MqH>N|Ggw(LoPad6*d$3C zpG4QTva3n8BFvoMUTAh6Z@6b)Ia^V}ojM#R2){urSdZe}YWYI`HS;Z}NOHox6lQsC=?^F6bAcUdNJwq_K*eL|#J#h@9$ zwZb5s#s(Uj54F@X+6V=)T%y_@#E!mVdh$NR<@5Hp1Zsci;{i5|*9B*i*4pZg^5rme zI2-1{0@cZay2?GYEmysDziFP3W4J(|^jGITbz-3D#W4E@nU|7^buJbn)tM7*4l%{b z@MZ+wJKb7ZcBaZ8-Q~+peB~(@B3tkHb2TY_)_ZubqrQqal--bp-h6kAJpihdIU6H~ zn!0|B>sr5&erF>2z~z1o)V+>;a<|GpFPK4lZ+|~Y>*eEkPYHy(w6?q7qb^$J!dM?~ z%YCix*NU>S!bM&5MNdz4cuY7MO7(mm_xQTn+szi!9uCLRDo#MCF4#Gi3;5<}pSq9J zE2{Bn5x!7-2VPAIaM@7tTn3CXN)>QW(pWUHHCUXfZ&B}}s#Vvsmj+q)u2snol@tsO z`2}Y1yX{>7?Yq{Tz7k(Ee2N@O5e)9~-!pV}wLfitWj=4ZeFSH_3 z0x9;`e3r)d77%b7H=+Pd%-$&PbtV4wi$d!~jIV<+BaoxFIf>`Vz}~D4EEIb^)N?;K zM8ziO8xLxyC6DMuQ}cOCm)PXs_JNy zppnIec{#5qb#%gjxv48Ut&5gj)MC@Qq(F5h-&McK<4mENl2em3-ovre5g&#cUr!bl zMW309V%D2h?pv5$<9I;-Ac<6DLw77|Ybw&gJ8eDk;Wzd-?BZRH z=*MG-mpJto`cV|Fw|2jUS4TvfC^W6d&NP3XdIIOG)8?F7=rL}Ed?N@7(J3BZnftCu zPd~_bkJ&hdYd%r)<|;+ukwNsW&vbTyu}Di!k=seyQnx9%96QJB@tGzt4=ncN#@yl@4JX z@XV+z%%kvgZ{Zh=qkK5hsPSv0kza#@*N{V4=hsf7tSyHaxYKy@*G}V4D(A4Ycev9i zaLkiKBNn7`#0-4-w4)F7Vn(M9_7=>-!84=I&oiSQKR0+?)KOA8+-bDu<8~4~U~{a% zGb6au2sZZAczor4?KB<|I#wFL@SHGBo?so3Lqg~GNaIiK*srVOe{wp8goA}fkkc_t z`Uj`ul>Z--3*fyGYlk}=X4E`gVik38Z`6)y{Y~f?;5&>Gd#qA_Z!>mUrVTixwb^DJ zoE#6g84pg5DeZ?RN08YGxX|rW+8=oKGI)3dcN+fz?=*n$&acCxd*RQu#)~8V6(fI~ z9}oE*o>VK5EGLlP5lwSY$Z`Eu=_~S;KOAg4M0nDE?l6D|&w+vr+-wZfJA`-gV;wHU z*dGou&iY zT^IKsv`$)nDG2N&{VeeP4eT@wrV_i;>JQ{&Ah46uJXq3S4bnP!ZT;W~19)#N?dboL z*6I2=(%8`bQ#E!u2_$rWtHwHe4u=;G37x}j#wJiQ20}XBy?t4~=NSiofjN!cL;ZuJ zhg{CzXGZ*&Jz>X4!=F^n&i_W`2uoLwgvnCDv-+IaFDHAWVE9|KQ_N|q!sS*Y`Tn`p0=*qyg&GHeOR^gd0hME8#cwG zPluhZ-FCXs6J*-&N}}6mkUyiuNq<-Q$qgm1A{M!bHR?DA>q8p z!4|$U*ctRx;G4AP`qLqW?wSWHw^SmV&=lrt-P41D??tW<3M`hu-rv(6@g`Q z&2&=O7aoFP?qMHdJqZldl=$^-d$OhUb89=K@=8B<3>2ynx)&%-;*uh1I@yvH25DKj zDgAO+dyeJ0kOG=@Ty^N72$^v?E_{h{jVDvmMTQJ8z|ODbiC-0}&V#CBi3vK^Q+x$x z#-OCgmaGH9tIs@+OE}d+H)aT>xSf%|Fb6$(WP}}(sAh6v?s^I2br3m_0V4WG1r@7c z>Z3jzE6JSNWG{*5tVP`X1?y{H)`YnV(ILFa*0d!M6mv*g`!(BaAP+oXqLv)@M{2`B zzXS)sEPI=P@q)W!n){)14W35~=?o)=-fzB&?wIy~GWKlNzrJ#ttX~WmKO$<{cF)%n zA$o!3IaVIT$g%QR)W>lpSw~a7a3Iqjjanl5XdnO7Xr3ZSB1g7*E!W=OZKyDJ(RFw* zsD5iirPccmdoL=~qh6T|?$ie*!KDx~yGTq#7;k&L!m!v{5HR2l)B7oa$liwB9pImv z77C$AyUs=DF~a$_6bj6WH~0n59=*QAF(=_3W2ExwuK6WXZog6eLg^fro77PMicR)D zj0=``_IJY4X^>r8KJ>TaP1UHhqk^z4z%FG4xD#8_oft zD>uZ+iexaIi67Ah=$U0n&S&!oR&XT+ zG-{vkCZoHgIY~?lzT?f(e*5A@q7<{-#|qedwFCv1*;(Jam5U=nTGg`iie-rvk8n>+ z;HIfg%ga^9cT=R#cceh6%F!VY?|ge*b@m$yPH8DUs&X@EkfpgP%? zcv$mdeS^dEO&egziUEBikt@s%s>!Z%CG;`L3gRVI0qGhHmU~@Hb&4+3{CrAz9Febq z)!uMcs-ZS(#yVy-dE6S|ENvievO_l;xgTB7QE9dAZP5Q{Y3Ese8>NJqb$=eYtXq(d zFpfkln`LE_Si(&aKpFSdZgVxf?0yz1ux#e>+vv}N*3a;PmouE6Z0-!0$z8EA{`z>Q z@AKeR)|J?GgQt5BKVRLQy%PU<=IM{U&({E|797%W8OpXhgfebPV7jr4P}vw@~bTclVV{eTHMtgf8wn7lD19vx2icew zCv4)4LksSd@=z0-f{aWqJm<}mOtIS+a2R4z${)#7yzhP!NfYee_ocfSTsV}HM6#b6 z@oEv9C#75T@}2rfL~40sUpWv9DGeR9$(wad+i1?-5JSs4JiL9PFIVpx-<?_Sc#`Hb)V=fYs&06k-NU?~ctTuo_vIKqiIGIeYn0 zi=OCmENjwKr{kjrceu+dXZ?In0cxovxYnFE9r(s_cDbJLF60OvGf>6Uc`>cEYF^fb zoDCS0_w6$NM(4t~X_{tlStuy(vI-61YOKtyGp!a8qYAM{Qa5%TdD4_hy=F%;JS127 zh%QSfg6hb4GRNa=L1xQD>zMsHa0}9fdY2SOYpLwAIs$G%MkZQ&M+#FAX=abgeydep z|AJ|h_x6!M-GOaKjR#BcS6qKpEw!jEIA%n8;n9+^eQgT%p<8Crw+9ruXO!u0a|K7) zeAmAh6?J1fVt$cKE9>+0{i}Q9?g`I&-g;BmKa`NqPWv7!;B8&S`Y67m;$_@c&9mZL zZc53cUkE@};m!Ev^C_v6LiwC%&18#)KkH16~B1ej2MVWY8a&*DZ#4F zIj%F~7+Q+pc@x&pJL@1M_{T_&A5386uoTeKK-jEGd0 zM?tkn`BA_TZ}gY01aVt5b5TNf%4x0V$t+9>cW4tOyaP50@Ve{xXisZzp~Nc+q$hPn z-0_j(AF)z*6OZjrI%8_JxZ5>vY7#ag(3^s3sb1&=uSf|Q?Ey=)Lm(k6oRBAortjet z?*W{d0kLxB?MhuQNvf>5glHj;StM|@oNNW^lvETwpcoUc>wdL1W@sbECo)4|F(r6| z*NX&T7c#Qsjce1*IK8L@{wyJNbdw3X>G1e-Le7Z$`uBPCPgxO)A_+qtK_eY!*J@e% z=+oUH!8%+dCqIWqn^Q_Kk%|;T)6hmd0M%=k#A#HhxiqCHLh8bBs3b1ic#N`I5<(lu zcghU`9ti1tFsaP?%In!~Okuee+0dW_xLFQUaSoRkOeF9e06>)&IMQUOycN(8rEEAv zCSae5o}UC*ku|<&YP?Q}SP_cH_L{TtqhVI)?;lO3k&!w*c`AC5ELLV!6Xw$V<`?jB zsukytaGl!n)Oo6HyIBDpls{!PDZ(b4+b!>3%8zz3O@y`<%-$=|U!eYI3U}&6e;R_r zw+rNj3ZEn&QR2-7Fu9LLIHRWuIVCC0!%^v$V!28A`DpTw+WvjrIiYev8uK=*cuQ!7 zrQ!2bjWlPM9qS}5>zj#1y4o>*TIr=-L!Ta^IvM8QeBP@sihe>a z4ATmE5=uYz#ptZMR%nacO_@{#O=&6gY}LyXx2Ld!b##t^!?!Nsjs+Hxu?uPy**eF# zFJ`q02nd!YppKGkm(APd-(hiHc!0moKtDb1_@!HTyoaSJ?9vw!+;=YOW{mr6-Nk!T zm)=E{(=wh=qd^1QU*G`e|BTd!2ArQom;W_VD}#~x|DxaG%^~CQSC|d~D=xpt9W^XS z?)+QD<!K(ghxoG_zqvI@PtTi!M>zF^63;!;< z=z+ja=D!5!KY$&1&r-QRiY}nK+rU2Qx4Qdh*9A<{e|KF#a_3jqCFNhbE{CWN7?*!@ zI??rqoX-E~y3`(aUHJa!x`_PIbrH?;kp6E$`FGc)==9%l`G0m@Kx21NqQ@bvQx7KQ z6l<{MQvWkCHx>Nda%n3G=*vIZSLoeW>i@@tVa%`GT>Go#@@H-amkWOvUDAnNY4rz1 zmn1MZHx2%tFg)nGv<>FrW+6IF6|vXU4z|+9-NXO<8HhtiFvhPCf_W6s6NF+veJ!b|B=t!8Vo{J#jV^t# z42fh4=(E9Og-eVGRfWTIRx(1N=jUf&t#Q)B*<_K(Cm1=2T|<6=@8w9YtP<(-I4mv8 z^9+4yVg5XEw=aB!iIz(0Ihs4_?Y#+hdEB(A33 ziCBRIs&na~_BAKOOGiXRo1j7Enc^#htfD}Bn_Ox=GKVXvp$lrzaHTuEM)V3)s-dxE z?8rD&R_CtedKs`LoQQG7(bl7uUvrr#-M!&LZIBt=9kW0k=-GIHi z^2=+$b%&Qmfjw@f!*?E}t+97HGP51~)YG0eD%+}zM$7_W@1>U=*E#_NzLrGpjq%T2 zXN!pC9HX_M07xTR@<;)pl%=3qo^|`+NW}(Ka8H@-6GW~&TZyjs1r*n8$gbFaR<*t~ z9KzG2Dv9OnZ0W?oY=&0f$FVT>UAg*2Ub*YR$!9U|7JndK?-0cvejJv)MkO2Zc<9B* zGltjS_9ch7_aQ?#5&_AeEMD!d^dNLpInVpmtaULoL|fx+&vYVFd=HqQM@iv=3ZuKv zk7OL_1?@ip$}bb>0u)!Zk|b})kldCHTd?t>#IW=&;;`UP>hhfGM=|MaM10TuS$QRw zTBe7mF2{8}+_AoO<)c{V_njS~2_p*x-c}dAyGs61fgkogD;;tMX^duX;)@TOAQ#$F z{Jv8aFn9fv!7=o=Ngk4D@8oM=Ar)u#M8VOq&vL+#Y9JNEX+&732JPJDTpys4BN_nW z#xSF*eWLIMJgMpcso$-tC!Z>>V_)SoC5dLH?)2!4-imz3MKTE!Lllj2&}zb8FGI@q z>F-??kir>ylqY?|77mx36g%l$;!H=4#_>+;r-8fIDweJ=VQj0HnFkMjL#ie}PZA}f zK@WL+gB{JTVG5LwC?vxG8ked7F6NxboRjg?$#LOeRdYc)dp%`+KJC zzi;N(S?~+nz0||wq=ndplF<;!6gp^mJfij46;&LiNz^dYN|4zoJQt$!4RALTs`&ub zn^b4LU6T6kMFsuTWblRY99{cFrDRDWikS=8^jL>4kpe%^8Gyj#Iw^X4{}P|nFl$R) z+Bkfb80$S{fZ#w)8Q$X~9HH0Vr`W)_eMyf{?x>IqR>y`-%q1KPC8gm{2X=rAHi9MB zkwv5|DUVSKw-7s5HKNXTh${QdSpzrk6vYeO7hCWl(U|cg6#aU4HFNHi>S~cGS1nvh z@(c8(e&E6}BbUc>VO^~l#jB1GxdfcoQL0wI)oxE>4RH!nvQtA9Pwy?v6Raxwc^VvM z$;vvYJg9o+>Wy@VkR9fRHZ99EfVc0R_K`%o=+3l(bk>^_h_KpK`gOBB{Rb6dor0%| z1k4+kse3x=+f-N1NzL>wPAXg1ro{UBntjckO4#XC?R{;0;`vqNzWori6fbUa!BcfH zJ*zX*>WvBhlzrE{S@%KFB?T*?cy*^cTg^W-iOq5K*k;enY;$<`&q&?BOnD{py1|q8 z7d{Vc7+s0JKl9|jMe4#FSRm9Si*_0Eh)I0kXv+}IPTxt;7Yx{LOsLXKncw51tj{(E zL{#Z1$gTU^%39(z9P_3r!~}~U+(_)sn3xPyH&G}~#NJ(TOt|UF)D*qlja%hmFR@Uo zvokt%qTPrl!?tUO1r^rFn=P^B-sY$#8vC%1eUIpM%<^KeQT;M?Y^1xe+DcpDuwyo( zMvYHo$rMyz3mSMga$mq(;$6WJ`U+C3R5w2Pwz#7z>+El8^?bmC=vA2a7Gz5!=e1fDYhgD*|nisq@q^wNPCiQ)ZwAcb4_r8~PcX zeH2-_R%GeJiK=Qjp8)af7qprabSpU-nR-b9AMs3{-q!^e&8=SoUvGU|v}fh<#62?px}mcIR_jXX#q)4I3nnDSpmC^PYHNr-4_L!;@Kk1@%m; zY;wh_?qk~#r&oY^FJcg7A2T#DP&UP82}AM)a|xgt<_CTlv666gxLB^M`$r}(TnGGBvr5U9Be7iOL5R>v4=R5*#93>qHyK{B&lZjmROXOLZ30EMK)v|p#sh1MW3MoCdO#bwg0vmx`{MyGA zq`4oAo6z+ui-^W1aa`CB z-oz(lxu38Zxwxu+=dDlo_wK6%?J{jHt)t9I!lT^Am3)4vT|C$Lq-z(NhO<@M!;4DZ zb!QvKCG3x4TrShcYM7q6bL$h$d}?v_6RX$9b*I($S3cYPcwfwPm#kpBApRQ-kS)mZ zGUA}?0_#!n(TqRl5`Q|Jo}5ooL4c`so%JV*>t16^6@J znP*Yz3J(U6!?N^(POR48o|hyO7b+*vfe{U%TY$F_c%d$+eA5WOAl$3_@yJ$xLoEV{ z)EO8Jj>MG^beFOqCF(SRgBS>7+=>U7qc?4E@E}}RVdU{1;gc(2ASEH7iD&3>W^>7?h#CC+CA~PTYC|`Q7<1s{u#}KgI5$XGa zXz?M^iV=r2g~;5+NXkh9Ts_T%Iq6Hc_!-?ZtUXC^ydkTQx+g*`J(bY=(f^aYZSA=b2cg&wn~c}vUQAXdsixwIA4oRJ zVGKZ=!>1Usx@>j^BPRY_x&;KoLb|V)Z0`v26Bl`@wo!=H5h0B44w_tiburP6*`J64 zE_R(N;6vL4#zVLBx)}47o>OlFaMMooXRuNum7f4T_eH_>mMQfWbe>Ti+T_8x$BeeD zwq*AwPF1$$^#-5T9JW^AM=Nz&bO`0dgu5Xs3M|gczPMv4a}US)#V%B@@G(N%>63Nx zNox{US-*0s@F<(8FuIiDBF$})Y%Y4%Wr`Me`aHYh@F3iGMpTZlFb!$p%TL9ZD(#LB z+tI#|uOwj=2LC}!O0f4n6B>384}l@S9U=Nxre?2K1 z|MN*%fZI?`@OK2ZJbX$1I|B3ki|9dz`}a%oUlBO=FajUGAqVQK|6{t!Ad$l+i^C@S z(D=Y>d+w-pvY7R`KUJ{GKE-nW2hA02hu<&B7Y_3;I9>I}OLC_Tfe1$66N%-Z@!_ux zt4@p50sGW;+pK{m~W0MV1JiBEqj+ z+?Z(ImSh2HAlfq=de5G?oaqHVDc2PQgD=S)X+i(h0a5kK0nz(!={Tvb|F1Ya@Mjzb z`zwd)2k}OY&c%Rb7qef4Uyh55jLxL49`(*jZ_9B(^sIvESAMd9>2dqQ>BG zox5fR`|*H}J(3=JxlHPnvc?ANa>jvq@sAt)1~^ds+ONrx=2p+}+PVN|L-uy&)4Sy>N#8|` zZzyhEYmMYJxM*m4)DDupL;F1VCKAz|uaR-}C91Lp@4nmA&yBv(9cc`pdP024PvVV6 zm9+;PKD$08#IRBQh*4adpUfj4G@{ewirBK}1|(f*$Ban~yxFjGFgcShqx<`7Bbje8 z>vK-(=+q+@_g>t3dq81pEx7%Ljo87~QsBavQ0LbaNN2ndAvN%5ixqQ+9QX9Sd0wxn;j6htYD6hu@?z~n#Zt+)4D>wTVe9RGLc-DHm~4nEiKd!8o=m0}18 zFP-LQhgVdU=$9$NbS`DtELsa>1F{G6h6)!F%C1^oe^ZuwR+0C0hPKcsf9|3dVO$sr&}!H4Tpg#N3}-2GOc~$OrQR6u{8@c1FcBM0POrX0~Pz zRibkOhG^Xz!Hln*)yKOa3UD;@9cRNE#aF(+U7QiS%Gq|;{ccEAj~AbgxDmhCqzE90 z@=uXefCt1%=zB6_GW>0u}gjz`JVLhaxFtBbjgvqf?5*L8X6YLMgb?2SeVMfC z(Va(-f^#CGywPy$Jw1a)|; zIM;>3edSe|Q=yzB3uJ1|ZEtcnPdt^<1;G}QNT`>o2@2>V4uMWNS+V8(JcN%$V6dsy z`O73L_%KdTl56V|HFcDBL;u=d=kAk6ShjS($m7+C(WuEBZ;&bH6 z^g|L9rO9kN4lQ0TwP#JXZA$bDZl3rgB9WdJ3`T=EuFecxymTIsm+#!5_(m5LC5cSx zra@2Xh#0R6U#03z9S9if7xZwb zp+=a{!lq%@R~5EG1|!B9o_@!i*Ei1+4!>^pB-;8!jaf{!WrcufZK6!AruRB(4?`ui z?wq7n5_|G9=~PrtAkrsU$Y|fw%yaK)o+9;zNk|ui9P%B~_8`u-oPVakydpQ{>3sax zuI{^2t<5=QPUn2tW*{7TF_@hp`W?#a z$LcNwhi8=VCbnlht#SFJe`bM+IWHgjx8EV9KA^(j#ro;}u9^RN_O^FJ26PVE6q<}LIiW@(v0Po zau2ncV>9Ub6$Iroltl+hp`&z?<@}EHr?dx?Uo`S_b~!%!J}lFiM(xdi#=(egPmN@P zCYU5W@9Bu=5Q?<<@?r_M0Jk&cVF#JQ)jkHKLGC>{P?NKzQhToaJXl(M_@YPOO3#Jl z_CsZ}SlK5<8=b9(!;r~M^y6+}TTUT$hH63*t)Hu63Ay2UeFoLH=5ELA?4jPMEn^Cw zHBG*1#r+9C7?s48b1+9yC?Q&DaU#(_0m1gYQb#N&Ac`H_L%BYJn|DQ1hdyysg<>3) zwa3O(Ipn9VmES}~7!Xu4OD}>N1JR0bZu9)N)V(kgmH6WXTB<(It6T<_6)o$QcTXek zl#fJlgXqQ#pE)yx+O&NTg*$2t&&WI9tU0So@Vu4xq+C1j<>KkOq6h;FUh+v!0l6Dd zU-&8T}&&gRhi7r&Pnuw{1Bb% zCMRyUh*{|{1f<$^9MB7R6A?u@%;>pE4JlgSuq@V=y6fWuJXc;FTMnE$VNdEuiC^Up zf;{x-Nip)`;Is_s-nPqTD*JJu-yRC$+Kmv5+elqkcA zn}4fvh|Z&R00OY^3-7=0L;YUk2x<|JU&+4>zBr;xK@)LNKBwWrjqs>aQ{>GZ$ryX`A-9^wmL_t><#ntD*E1T}=;+Irn$YD)kt&-#@ceuJ-W_^~aDk z#Rk)d1K4QAj*B{J#67Cq*Y9;P2rHA0{VJul>UWuR3oGU8O70v-<{SSW62ISnA^%X~ zqRLkM#A>uK%#pnZmT!OBM-GmJLra_yRbUEtRG_?Of_Vsh+f}T>8m==Fvyz?YzJ?zz zcG0lLBVKbhHbU5X$j(^D)a$~Vc9fnFl5Xk7O1Z`^2PHJSqrBYV7hvIFX7Xa)M3>%B zV4n0?0D8NLq5D@gix#AEkbv zr9YD-a**Wwk(^{9%>V|tzyP<9u&U|kJ1jv|eDOSQM4&eKN@twTz-{hsvrUBUW^`oPA_ z!SjXgFa;(x9X~QzvQB`_qsm|A33Z7Nhza09Ee0uJvb!d)7B&YwA6H=eq&rN2h!Fyh zkx^=60})j&!J#yvqrk0J2n{c2%#k|2DhE;oeT{)$vzFIf%?Yy!zHF0tQUT23!WAV& zb7@-KrSoFcaYphif#FQUr;Ucs4l+;*tjfo(ZDxy_@EHy;Mv+Xo(GFglOb?~GDL_${ zALEKCL<7_S<9L-y5Wy1Z1lxssuLN0wC%}c4w0D7oszdb@Hz7DNUKhm=Kie4ny2_*F z>UH6dv|A_=_IWc(2U~sCUOHv$gX?tZ%?^H~0tP zq=|(T6s%wr*|$yFamO2n*c)HTIVH`mJIh$HvrMngcXJx?{7-I@9G8G+k>J(yA z8!A|cH-9%&l&Bp_Vq*2hp=8(9@|vur>S;LB0qF+89NKGn!2+&ZUFvQkVob)!WlvpT z#%K{%rnG?aAGg2$F`2O)W;Pesp-=*|E|+$&HcDhj5U}^!vCdfp-)Cm@N2O?)RP@;} zpw#`G^3K@n!~OK*lHP+6%e|r zn7OJdtu*<+-pc>qwr@!P5!?R#4MTzVzqfDbathgS%AWac-#9M&%f9jB4gc?o%}@J= zt`}18=o`il`$oV|`-b*^v~T2i*?;70etg5I`bW;@$i8uu-^N^S_}>H^e}BDj|0UpX{PFeTC}(r+)^B}f=pO~{ zpXv?&zj8Kz7P$X4XLF?9@R0qpWfT9mdc!o!>*z86-&-~WKbODM8~DG}8#U2pzw+De z6`8+UHW|)M#FzYxe|^dS?W_E+)f>cT{Qp6{(R%dt;&$VY4;c808~H8&RByDG6R+X3 zh}ZDVzrx$U1sqi!M*@!K`pSP1aQyzH@lX3kf6aek-_ZK6>>JYlivz3%#sA5^fr)#l zD@j;haL!NAv4 zLe&8gJ45M-@@mJ4`Z_&@=F_7&C(pNyc5cs(U7u`rG3*M^7}kd(!)&D~6}XR)Uc3HI z&ParW#-c@=1sj#Q=N=HVY$Irk6Dy z5jG}-Xw9+)+DCEOvG4-+ zyU{e%Bv5gklZ?h8<5ASYBw(LDy5J)Zhj^+V(ZhlBB9n+CdN^Qy_d#_g`{umGhKO=7 zSOOu)woU@-;l7?v{9t0&(^rQ2Ubkv@X&V>IeLei;@am07$1?8Ac;VOF7yUPhGLETn zB!=~_vOS!&hw;F@bS*}q9B)UlTv9BKDj^4MNYbrW#zzTP<6@9an5v5O!@SC>nsR-S zYWqY5P_8yw*h9Uso(;wJ4(>#ACErvYUUpS5z}cr?sHQir=mF8g@qS?PUIWvRQ(_sf z@=@8wycq5;;pi(0Kzq`}glz3Vsfar{3#rIpBN6+X0DfZPgl*fG_xVI{nCiqm#mx8; zXeT1227rS{nOZXmRG9(qT~{MQ=Yrh|x#J%A-r#*ZYF31V1g)W2T7}2iny8riWKvm5 z*{Z=~wo+kK$Ccouu_#00eLo;3JppD-ZbWHQO7Ge`5lxb4exhA#5>QV0IH|{N`+Q3G zWNqd{N}P8O5Qgv_>;lhjnc}{Cl5C>nXm@)hzCUjfLq8HctlD5(7N?7r$y8>Ory8q$ zEGt&7io|rVNG%V_d-CE>+zQ@^ddAkxfeVSUN`}Pn)aLurT)|Qr%im&7-XbbEx}Seq zg@iWJo>LV_zoPO1tL_7vO7440^l~)2=phr1IEWaooOE4BVZt72qT1JEDUT&A_i^5 z@8IUqOiK1RRmomCeyt?LvjjT!uwu3kz&!Lu2PNn*J3nkb4C) z2~cgt>wMI-la7xTK=n{@En^T$9PtDa$w6UoAyqWn;wcs%5Q8+DJ>A+tqHv2+FmW7o zItNOcz1sce(}eS52>-{N<0ERRg5mLBA75ZmKN0Uy#HnGQN?TCgiBpzLPuk>Re*x3k z(`$rXwvK_kAk#N_Neg&--H_6M(<8O5PKMOYM^VhAVo<28+Wc3-8ngPi((R1y{AYr% zSagbQP1DJFT*S#q`=TO>@Qxdd=n;(GHZm#}zyJ*-kK5V5Z@`r%+4y)J2u#u%C%=!= z(jO}(b?TU88CfHHNYTe(QaaB%IDp~{ayz8G45v;yz06B14j5PPPyP2}>}1W6~A}r)E(%p0gPcet2~h zCmvV)AXi9|avO8%@kI~?%gPt*oI&(g=}O?d&9^=jM`3{@R_B;7U3}QRD9xMIz}g#( zpZ=sCTVSQGi{LX&5+fXcW^z&?5*V_ly-3AJvHG?={SK>fv4ed+RAF2w$OorXX=Y19 zj^zk3DHayvRq}#yqeXmiLqjx$XEu1zZxwU!C)%1C`Sbyn9udhWeF%pL8{zzk1Xbh- zC&C*iT_d)Uw5z)}t7B;OE%eV69X38eKo9yw)k&h5-ZKKc?qqP%$Ik{3{w)RHYSroI z(4@vbIGD!;SQnBY5+6+p?y(dJ5GTBrmFs#Gi0~^Yw=H6nE4RDp8FFgYFiN?_#tmBU zLrJXIbo6pkWr)Pwfnmk>Fo=_|7|=sXK87;q42T<7WadtkD9$7+qZk(3;%>6m^P}@-Kz?SEZ*)uLV z*EAR%iZf(O1i%9V8KV6{SDqJ;q*^0R8^yasyN(x|D4eJMRyK=jq>hgPu?({IUTP1& zDRO@7fz8YESxrO7c$%2QQKl_n%;i|u+1BjZ&8*iY#;gF-b9z9$hNsnT+FG*gg3q96 z|AKP@&Mm(W=8BDtMEOt~8=}C^G+`81P5Ap=b>vR+#jWO{HAW~H$8j3FDD~qp4~oN{ zFvi&Tv23eo$?&kR(qS(I`@G$8x2M(cdBynN=k#vi?oeZyZ?ku;m-CGW!{gsay~&CP z{5a5tX1rMPwo72`10N--N!j+>M%6r0Mbp>uS*qG)7xG8v%vz#)yGD27dSrUpc1W-} zE)LkB`xNFo#;3o}Q~Ly6V}GGR*G}H0q6goEJRp&?=$S>v`XBUwgC#QF24UZhO_b+Gw_DrLVo)b+R4jmgm#%bZ7CH znN6>}WzY@%yznRj8ozdPC-0Q(a)Lq{0uHYJ%xY5R@8`vMbKNE=b?}apo7|TTp3V{PREiQ)uE^<2EcM*d6LIFlh3JQKVrKZt4|1lb1A&I3ikL1{r>Uv!rg!(S(@QrrXXm5g=%H%jZmKv4N7;JkuN@v{bii)P|gN?Z> zFE-jvD$Vs52hDzYIiq9KPkJRCdU?ZT>TUx)ALhF0g40VxOw+KkV!_w-Xik8A^3waW zNnf6Qu=~>8e&_Jx3og3CvUcS0Zj{$R1N<=8r0g}VD3oIC`{#-L6z>@*9qQNbX-d&T&up9JVzouDicW1{E#$0r9OB>1#h|=pA49n zK$b*~gMKH_E})KKtdrVj_|)k6!`jrT`rwa><8BZ08#mk2H^qNhP=lAihhWy|qGU{O zGSyb{h&B9)E_;qHd#|Lh*P@^g*sPExaf!^CbRq@XD_W{9Iid6j6-9QCgN*VBRloIvBbL!eMAzvHrxmje8jZ z#K_ArPxjs?4G577ZIS!tLK$IC%jTj!!|Q)NitItK*sNoEC9?v36({N8>^X0A8dE~r z2EG3#FPy(hE}a)FMgpAip^+yLD1}g>3K@5ae-2np#Pl*~-pFz}2$?4M8IBU{@#(^! z0^y?q#a48mdBnHinH#2A>GX0;I1AaEFpf?+Z9P>z51lA0Mpr%wMkk51{@7)h_p+O8 zKnbieO4d`#(p1pMRU-$=7w8fsZ7G-wHIac%xPLfKmy?@j!>V?uE*{92S*MdBWJO?Q zGJAm%NnIqwwJAb}Z zr|>#ogXCWK&CM%P=kv199|>iyvylhv1sTRkKc^KmbzW}{P_JKt)Vo^ml2em!7c9JS zJzzjW|QaYl0_+PXW?fvt0DjGB5oR7y@pswA4x3xq0jP5IC~qeOzav({8;S-~JB43M^9 zEECc$a}zFyYLv&!R(Pym2XEPtEU39uR}>ABo;}p(&{KrFYij$3X-81lM|P!9xt4mP zNrMtAxUYJs7a5ih2vA~m!th0}D~rzORFm*jYiSvsMizfS8r4@DbZUyT5vQ>(7?{ed_9s z;Kf3Y$*zX?p76~u8FB+SjZG!Q#{RQJUD|rx`n~$;L>F_@rmy!fT9b_v_y}KCzGEVd zB=@f{P*~n}HetD$zEoLV(*?JZIUc4DZ$1ozKPYP!(YJUc*CO@S9O7)b4Cho^VAK3k z$768H!=m0B+8AY7z!+{HVBr!rXccMU>e?C~%VxH)Ucaml{}^~~FH~hQ5gyFiKxTrq zcxJWFR{!~4U0jcKstnvA>D>K1a`ymcvio%iCAi!D#_jb+JOyy(ZM!~sy`N{3SxpnM z{_UG&(`42bzMn)&cQg1}yWvF9dGXU_7GA6rEkc7uf}iDgEZ}lVo&27~oS!X3=WJ(J zXq-uFGrz#CQJpbKn7b^tNbUALm-a^#<-UdTiNZIX@eM-3nZ}>Xb#Jw=J(ayZ?RJ^T zJ@Hnpo3Q=O9V%Cna*%8#i-x^%HJkKdv7`5Tw>+x@7wPSjCEU)N)Uj}f2Q{~+l*(t% zlmSe4X$?B)-bT8YRlV^v8+z8^-RnT_TK@5jO{S9DmuGk1KDz@2IjW;`L|;3K3p&+O zbVb?p8k)Ie@GtYs)>p6g}O|p%A3~02$g($=!#0x1F ztNeaq4je`0q5U-<#!OaVHZUXP8NXDJi19n#uKpY#*j}qYV+gnLy1p?ws1z~4KJ5!J z8J11%pJex}HZvr!6}lUG28kMQ9g_JCeDoRI8vgiZ$Vb$NUYPOw-ud3wRQ<0zS-g60 zYDIpJ%}~+sWs38?FJSbY=^ou_jw+6eAf5ILJs0ngRMRc=uw@TKJn*a+^otoCLQczZ zYzC0fn^lfyYPDG^P5bN09hY|VSJg|~L!?tFh3WSUaF0`cN6}ybY;Cq&1M`R)c^0$? z3Z?X4RE8@K`)^J@keg1ruCuuSYcTzc^4 zfuGA8jxpr;$^(wUjjZ|Z2T+qH+D`%dw&MYOWQM_*YjM|-Hpit$ADO3TYoSA2dII0i z2Xd^8-jPdW;^YmC)9{JoKu+FDOd|`$Ov_wp4^gNKfi@Wt53H(n;8*t}Na&tu6pRm= zg|S@DSfxM3AHP{8-CyDleJLSr#lKoSe}YP$(nr3JpI2IcQ%ahAf1YSr z5hP z>jj23C(pHlX+Emxuh`O1_=qHNoi(QvX9G96N5_$1v2v-Tc1$^qTlUYAE~*7_$hTj7 z-V>}NXw)4tJ}W1;?6H4=5sZuB(iVml=g~&7)HBn@A$dv zFTbKDE2lGpuh`ul`~1G-WWHShwm2?xg!z=vZqw>>6dO!^0CmYrUHb%?^Ta(+vo|Tq zyYJgo2cO%%AuJcU*QXX@CG}jNCm`qWwnm_y2?Kg@+ZIkB1~1v0Lcz$dE&hmFnpB*2 z#Fa1gB~A{Lbg~OECIBFE@#%)mYl|5Myp;%JWA)kP%+vb0&RNnl3g}dA2_Glc^-cQ> zAmYjPvQ)L#C&y$d@Ma9M2n3Jkvz##nOUl9V9I<>%Y{jv$>alA@T*7ni8ZKqXH>J|2 zttX*YV63*N&oNUsG#Ei&hT^vGk1xEz#L5LQQ~BXhj%$aGsG0^a{JcAdbcR6)kteP} z1;4g|lVcj!s~cLl&cAH{mb+?Dw@*CtsMc)~H=>gZMH$h8&zhuC<(#M#su?J>0yN+T(?L?z&H~mmU?2vJZevS>ZY!t$O!?$y_+yG7<+So!42qkU!j`2~NZ;wi! zua%66LDX&zXkGG2K{`+IN69O~q_q?!8O<9}PP?WM3LlDAEX3l0dO%s^R?@}0&R4wm zZo9t?Z<{0Jv1~reqK=p(n|gAO$R;6+h$h~I!(M|cfO&5!Erg#Q0R*q!-XBD2KnA#~ zlk>Nh(i(`slHMtr(1#Z13S=a@W-j3~?@UZZWdB~nE z)D@vk-XuHG_xPJ|Igh`DVF(-0tgZB79^)|c>EX4uT`#Ls-#)f|quk#M9X)GC8g1x~ zVXvby?+|!>yf_gQ!)*-zl)V47A54+2dih&5Gl}FkK88nITXm8#;cUTbU$#zOCYj~_ zeuwmKDIDc^TnEIlhK?OX%dlooDkqiZndhG8G9qCjJTI4(YWil!B3xS< zZq|ozJ+miMLqb6LMVvL2y~i#KYKhQqx~Y;BGi0QbTFn!kA6ShOK!pYu#Q@|PoS8Yw zftjhXm}E2u$Mig2eXVXhMncnh*KTA)vm75Qo4jl%YQX>+DPl&e+emvpMFGj^K*X9Z zR=iOU7tkz-;m~cpa8uv4?u193G{E(7LXbQV0@ALq-DCZD!9CEc8lPFBIu+|RV)V}3K@%S9i%Ohv^nFlt;h zzp3kv(t%%K1VKpV)2AP3dja!@H%`&@kN_$;UU0x8W+C*At^4V!Ii=$!??jcU%gSY% z6ok)IqnY-WAFHqImZq#faE3ocYHWp$U!vCnF6G2f>xXGZKH1g{B;=sL@JFG>h1UU= zQ_9NdA_+}$s&|OE9SS}6fa{a_=cPPN(-f};w(V4@gdT7G-a=Sf2~c=HL(+eBsx=z9 zRsC+Hnw30Ve@oO21@$C5O}1ET@g@_ssvvTTR=vEvJg`o2GV9DE3aiG%EQJ5eptY|$ zSPgGcMK&#bM$7 zYISzTLs5p-tM6*5TxxV59?k_-Nd>T<53b?Wrzx{|?_UTN1=wDa#y}=I3VoCAJ(*j) z+NNLd&ih&0^P{6JMVr%P*)@Hu#?zgTKh}rzKQn*f_`kAB|55+J;0zeD2%92A9Uv`( zy)1V|W8xN>9NuZ3s2wt50WZv3B+C@> zn0Se+29^%vA_YWBqe){7Vx-1bu7e{axSFnea2jr$ze#!qF$WdZ1DLT6%%x8oX!dG5 zE#9744VyjzK{er2jG~vrSl7~J>byB`v~dYs4PT$Uf#+CKXAf!ZX4I`Lmc}Z<&=iEo z;=1)Pc@(!)jl1quI&CVJoRTO!W$yB*%aOJ4B%cv+@np;`|VXvmTn? zVo3*4IL$3SeKtGj%(ps(n2& zE=9P%vcC6p>k!I>6AwRFva)N8lZ#&=qg!0H%zCWpqVTz!Ujet5UH0r=d znblb2wRq$$j~_^|`J>3-D2Oz?fQ}m_5nXK_)-;X9i<9>gbspkyzDAM`X}%&yawmY& zhYqK}Vngc=UzW8n(uIH5f#(lfKh=%~;CKz|Q0;hp`7qY7l0p9<*fs?JEIZuYO~GAU zU4YTpW)(+98l@KPrR5A4sJv*B87msEC0rTjvaHo<4mZODd07U9Fk{1qFL&=pg9^c= zhb2Od;&8`J>gY|Zex+0DaM*Ri@sTpyTo@qMn2=lH24G^K6A4l)@n9Tj8cZb9J%JJl z&*=y&L?%ASRHb8dYuiqQ;=;9h4I)W&qcnBxA#v2C7Y~`(Za8ZNyEB|^GZ>vQXv|FB z3NpY|GSM)T=mWkr@-&S5RGe-w)?o1EMngmobx}|P9`ASRF_qvHX?mdQ}It;nyO&3h$U-bk~`x8jEFgkQ5&z=~K zZyH^2PaZyq)ws&f_4E|fSMDrLscd;h}W-pq;$B zgmWY0wwfkDzlH7d=)?h&(;_w+PdxIzn!u-X^PkTae5<(jOW*OkQ%m+I$0YY7QY**L z#q&E-i{#_|lU@1&F7f^ZmtEap2TAiqsNUF|TI$PaWouReYqw{A(5S@#sql>&VGl@gG?* z|2p@P;2|n7&;OdlKmC`^2I2w#%+ns3FU>>#gjkC9qMkL;hF zT4ldVO|NXr2x6hOM(dABOf1y?q?UdoOBM+?f34!bkA8>>OqU<4*!hS5(zBq8=)WYM z{sdpY{rmLCulQDQ_1*B|TjBNXVYS_V?Bu@)rl86n5gsFfXp{d~u_anCrLMXu|4Ya= z!4aM8q8sn2`;%iz@jK#}jv%IAE!)gXf3M}gbeKQxfl6`a#fhgIjyR^ja<)gCIoYK$ z)2%w^=r-tYi0PN#<4BEJ7T#WYw3cs`g>?Q}%l`=3R{d~cwzL!KZ)bLw|2dEUf|y#m z|2hNuHIHjskGAoT10Vu%54U%wSJreL9sRU+9}!Id+{479pSI3B9c`^g9Mi3%G5nij zs&4OX{;`LNABX;!#7Fv$O0WM)-|=G-Yw9c&{-;T-;zET!Fm-)EFfLIq@N5>cxN2IX z`ZVv@+oxIf7KvpEtwfH=om|+65*w2V)~y;Z38n%)yA|Rs2_6inu_8*NPeTn48WtL( zX({)Ta<&{(opMqG}c<)Mvh zu>HyoEkvsNdI89!MWgN1)aybn$D9>lCcY++1g^{&!z6xIHSc0bE$pE%n z07_TD>Z>DIS{~lY5yLt(x)A3V)=^Y|nCfJY8_HT+y>Xlik4pv@^-{Xq*Miy5VCBA2 z6v9U;;o8af(srSMJt3YBoF-ui%JZYZRul$`r--k_%)O}q3v{`o1vC%S-jvrw>A$V4 z1=|Z(gR2rn+|!JOG3>XMQDEMeDHB&zs=ABx&=(&otQLeXR=LGJbxnHLCY5lo+Rjg! zXU5(IdxDl(AJH(l%ws>h2*JzS+&WOx(L9 z5Yfi^wd!Z*$ir%hGEi!EQJ*2QYc)Qh9BLe>?oSuy)(sU7C;&9Ur!lf|2wc?Txm zMWhW#7icPsux;QoH1L;JB6e2hwhdcWa;G<}Z=mAra`6ft_VM>}nM{3{A7onHJPxr? zF#uVdJBwlOh!|_QOTpi`PkXz>8{XSXsl2vc=TtZ%@{R7pm!WPoS}F8HZc(LomY03T zZUJ6thN12Q>M6)@an2UJ&w8!u>uVo26jt9ga5JqHPhYt@PDXoWROqTTXs%2Ma1mAoq^c*Gi{1%7CvFOZWSH^$R1YMJk>^F47KE1BkofTUY0x; z#CT9Y*W{!68evcA=@8{UZco`+XzMLK+`r#R8>vFF_~3BO?Jh4D^m1~ZhC~oQfi}WP z|13s3^xnK2fG^~;x{s34jJZYrP~W_C`&boeaT_jv%gh*G%m|ev)+~MSZmq{y{GnLM zy>-jdu0;)59;_OFJ*s6A#T7Ar68WSz0wCnVnLqVw-#Zz(LCLEb?>?YU0Zjmt18fiJ zNVw71piAOp^qGy+g5(JLtm-9l%Y-OhTW@C(Q*}A#=!{D)kM*GH^e3pL33#y${aeZe zKwaUUDN||6Z6qoyr1OE!r)K3ba{-aF%z~?9pCt9)%T`7jDR>L4aQ?g3T2>wn&y{&F= z>?@ktuu0l|O=(q6i()iw+q`0DXVxe#j3Ik(860;|X#=wdQAWg8^6S4cHuyXl@Hw;E z+9FxM=-$)%Fbhf3+w11T!c)zAyS2Ax*R7`SO|^A>tn*2!v0c@l?wTX+&#@Z2A9lfy z4Or@0doqKWKDNEac%xcJ=KC{4ihE6pbO1w-4b!M8Q?rK+r7K;HO>xJHg>ssK(OovI z62cGZS~!@ZAAY*1l*v;*^qoUW*X-@X$9sY~JZDeIFR_lZ2~aC2KV)*OB=%(aIROq+ zj$~Zb0=*AX$g$qI_`F$EeU@6aL&|x3jr*GGZEaD3LP6wFobOEz@o8EE2)jCe=ywTr!M#=un~gPxIU8NsJs+N&Oa&(&e5!vXB4b47!(ciy~L83DSuta==|ab zZw9aF;30{iRQe+$D_#gQbC~3-?5`aP#mWvmX6x1J$J&i^;%17N<*Y%f_Es{2flZzZ z?&?(CTg8&`>5t+E`mWvDUF!tp-aX*d$Ry)^^YJ_X)ktMF%S>teE{H>3!f7tvEXS8{Ma;&e>1AUh~+^} z2-tNG(KYhPk|g;8D<)q8!D$+;+zv|2ImPBr;Zx^F#NhtXf;YYvJSrc{x=`%J^Mo+c z)=?pK5ddUzm0yh z^r?BN7kXWTO1Ic<_i&A@<_?P1SGu2khrW$sgm`M3;Bm*k8E>=(w*{8JA~t15Zc9A$ z4`2H7TIGY?-NUoQ|Dvj>rrL^cxpG}>F@JQCJ;Zhy$?lsloVD1KaXoLx8}4M4vt%Xb zFcYIgNPEN#NgCHQvr-|@iT0+P^vpbduaUB2#ug!e1^M&tCQvGc^9tkZ$A{j5x?SL==M!AR*5p+WOq zGa5TkElm%_rfj)npeIK>OZUp^vr4}bN0Zg!y{?qQ_Xv?Yui$2p7%sK1rD}GF%vHS) zjygfZskK(kXxqIqsCadjnHYG50+9(5?1B|g|iD^BNe7Rze1Y);hES~_1tLG zB+5Mna7Q9w@r>YktgRDsXttF{-BVH`yOLVYf0Y#ACN4V!hz{VVM1Y*^Y2+GlBp}?K zG6v2A98V7LG){&K7RAegTG=ECAYllK>Br_HsA?E zdG8{n0V#RoxU=^R(#`z@n*|eN7TYt;xR(QgWx;qCro{JwChKXZzA!3sMQ zXrW0ggD$$hphN<>Rukyyyo_s6l3fXSL!8+kXWN5J-Yvv>m?ZbKkN?S8u9+d+Hj?6*E{0 z$yQ38HSbgR6x*ATx@G3*UUOram=TZ}Nhp3#9!@%Xg^JZ01o|Omq&j-&gaP8f9+(!u za&hw#e+FN|U#YtPjXzt@*VON{fZ~m9}~ws+n?9(Q_>_2FE@WmHm;f8X!}Ba<^Jk!*SFM1Z}-36 zIizJl%IjLYhs5Vpc8tud9l%(H6!dI7LKAYUSj~vZXQC|fF93#>_}3Np@fD)=Mi41X?61yyz8yDPtni=v9XqM9#pXUc0@BDKAR^+SK~C7wswg&%d- zpV@_UnCJU3AFgnpb76E%aiY)poz4132|-y%)Dw|%(V#ni!$+u$Rs|)o{jp^ zc#SFh`36f|n?D+_tv>}BKZ6VZ0Wrz{6EW$!)YxHjrRPjqzx%bm3q^f@ASOIfCc^QS z#Ja0+vaLX(jcD8%#Wee)yu!aDCJBEcCg+KWiPk?56CdYHSJ$72Nm+zVF8)Vh0c%_x zL-a*jR1oW~nQs4HckTQki)=3V*Sc%Ruexha-gV-b%*m^YD@{*rPf9P%PVY(~S|ekB zsxewR(`t_pliaq_YuzQpch{r3Yg1QxXUosJYyR(TS?~|Uq^>oYxG>wwW7=x3{zgpN zJF|#8v+@Wo>2CSqi2PZ1B{mm+244T2FNtpLKU$mJN7jt$UzEu|*5*GluTQ2MinY#t zIm)~?{m+?KB53kF)O2;kS(2ZEQ@@oci`2~!KKmo{iXpP``p1A|eu&Vv^Q`}Q!yC5! zksrfaYHXTZCgyC9@ZhuQ_F5EkR(s-yPabKf`I*QEzt#reu9>)mV37 zn2^nNFY}}K=?>2q=`QDUcU;GOPbTeg+gSI>=BM81)6BL3^MK9zFl2^3Pw1{nY_ z?2o-t2?W?%9yyO;?aA+ieI5noHO0If_Np zEFqjtt9d+d7UWYHvK$KIiYHB#=R!XVv~mnNo;czd54$u|j5=o5VV*)c3gct>n!^A= zg9e%m;yAb%7w{B;sC?fMv6}$N3H*|+2Bp0HGxWF(7)^nFLex;sn8frV^r;w2PZ+k& zQwajQy`!vc9P=?E=P1nWBX&PkR74!EjILgfBu%{G5lt#TU!;EwX3ODz2Q?PMBrQcw z0#7zErXflyDKA2@CMc8RubeFlya@Vw zUygYL#XB~D?F~%h;g#|rc|v)^ozK6gvT3Xri#nG(iupS zg4iKWViWa(y~w?6s}Kn6q-!OF;@sm{9Wi3?HS>PKE^Bj6K7nZOluHDlT3d2BK!G%L2q~=&1cYSd?VA$j5ybZpWvI66Za_#MM4utBEs8IIWzu2h z+KXbM85A#?OFb4)^Tx9T=7ss>@y@qXX_OZ|*Zee>neFIk81a>U+6rpC_3}$^O~r@2 z808U|Hx=i;2dLu6Z=$8v2KYLl58yl)mc!JEQ!0f$Chv#tE+{mQ2$WE5?{Np8lH7kq zEY}{;b#{-lH!u=6J1ylhS~|5zF)o|^nbaf2>r}~v2>{WceD`qs)%LEo_`HA)7Wn#j zGx2x_4v(UJGp~7=F4qG=5JCgzupp=(`Zm-)^0U%CvNsh3n#d}1KMf|}x^%1&c`4A= zU+|uE`_2KVho-RyP4V70p;x6w55kJ&JsiIoyW1H{4|YHwKTyY-g664}7<6BA(E|fd z=lv5JXJT0rn(x>SR6-Hw~2`T;0bB{(nLJi+@AzT;X4A(w(rj8omA9}ouJmFe8U0` zAiw}pj6I1_4=I1T41D?H))kQRkO)Xm=lJ%-6>PT?*FFqOR=&i*<0o*!Nx=XNE==Xf zToJ!ZqHiJ?m8s+L8p*(GXiXy;1N{_5N!EAQCDc?UevMdswKo9Zsd}8%D4wbERtn@I z9jQsLkJTCq(y1n*uS7k`f%*!Q%5*6&OV={qN%s`Z{`>^qCK+n@ zEgO^Y*|0SEW+mCgy3DF9+*|g1aRr4VFO~u;@gSPLH$Lk7Lyry|>dASTa5uEDIRyu% zkY6d!j&2VQm>qCBw&d$krx1l+}E7jMG#ZtBtb-aY%?Syf^Mm zHrjCT3)1&6xXC=JbND!@Onk7;FxqtTrQmWoR0zfGxF7-)A~@6#BV>=a5V!y!5-oNf zV42sHe85}9@O;fuBp%L?9;9E9f&=PrCbCCZ++r%V2j8l(qf(uga2LB5UP5UUT{+e2 zbu9i2`C}tMw7nAo!ZFMg(iG?J#BrLIpb}xmrp@yVq&X*nHG=h+#BvZ@e{t-0cJtnP zc*{#fiR+~N0QAvB3RgWnn!uVyrAEa2^O4A~4AJFNM>sX1fJi)UJPWPESXFvHMnzF41nNgiBQ zyDJ^F{iKJ41=pch2;+~08yR(IhcouwwcE)v@!0-YD>ot>(vEuB{_tZxrMjy%OV5js zsaf5Ztf7iIV=D z;(XKxTJ-r|$BEh@N)x^@-wN&Zt;Ubiw>{_ePoVWT<-#x(M9}1$3Bh~MW%|zSg!ZlX z_v?dZ+rP=_nrLL!P15#YUhGrRIo=BwiFi6Y9vWWz z4DnMs)MR5?E$tzIZ-NdrV##z~rC)BML$!WheFcB(aQDl>-S2xXSN1+k9v%`K4D)>u zkTsSx9=_Lp`BPjtMdjt^tES(B|1W?hs_sXz*K<}_v^;*&3a_TC7eW_pV9glELl@}~ z!FzyDXktmhv3G4*66k>7#)v~AXu@*LhUJ+3NR$&Sa?vfyqY_>sNY{*Jx7N7q*5TYh zC)$VRpdbaPV&V5EXvcgR!>uoBM6sVk`~Xed8F9MIF_r43hjjeW?(igQ#uON)Xpbe{ z-9bYlK?{^H9LKI`%C(xt^|tB4FlodIWMmPHhh7q{yvRqj5G)uK!k-SW=}3g(px^9i zUty17I+AX~_|?_)`^b;w&?IIVz$Niek?EgRJ-uf-7h5f@_GcZ99GSb~G-QbLLcZy1PhqTfR z>Ch?NC0&Y=N{E7iAOA!GIo;+?ir^f<`ocBjuEOR%i79yUzp+2^El4$Q)*2=e+glO1eKdIUh>Mc9ep(;p_(;_y6 zwZL?3DKVhMDK)iS*U^{Y9$7aAsT}H-n5nz4K$KqlRjr{uVW0qLo~iGWP`Dvy9;H>^ zXjNBL-ssC&SNEm1jK5Z3O(ou~evCi8zORYcw#m~mAFtX(IWN(|->_7VeoUxA!m1G) zP*pn@ZB?%`yQ*u2tlrCG`lO{Z`N*-$q-DcY=fbk~fC{P)spvb0q6|9~wrBPoCi-%> zan8!6Iy7;exLLhjFA@fPP|@Guxc0uUxd<9Sx~8|?(T21&53VwgI+%c%q8gZ;P_>~F z@(tG5kTxQ&^h*V8ufMiYXB(I*w}+VWNXCMAjZe6+?X)&Zk>T7rySj8?d(kV2nrs4s z;8r67b&X^Lz3w)dNd_JFb^_l{Oid@ZyuPx#WYFUdxMLTsDM};^b&s#(Q$X#hunxY$ z4(DXlrNY`Rtq@j{ZheMMgEBJ-F(WR?SPQx6?-QmSDh-5eEeN)1o5!a3LbH+ulZtPr z%s)A_88RuS_rc3*BdU7>I=jL?;Z?tMom?~LWRQw=w7>;AIVAT8k+hw9W4p#{L+Hej z+0%{i%~4`#hef4d53^7?o5laFEzZC)_oNMhna%T1BEJzDOkckTC*S6ikE^XeKeA7_$BJ?N(e@oxX%@f9Q2C%Z@d4_PAB^dxo2;ft_$lmzdjXnPbBg zP7GU5n#kd{?D8W!G4;*19Da+#YJw`F4R$&=}x&u?!^SB4Qio~yw0*tQj zw`yq=XZ9OW1Xu4)KD)=vH1&?Ce3N_X1d}^QD(YS11M-8^se3TraocH;r}qzZP>uy? z0O2uon{?#%V9kx__b%Q9(ta>QUz%L7w#ft_d<>HKwVq$0y5sG!=-p|8F16NTbbfe& z-cNkwQ6~L^%^RF_Kp@eHb733VX2bqUxdDMj{?e~=m}Mz6_(G|%p-=BZCZ{Qu7ZK0+ zQH=NJ8g=e$wzx>1l9Qc7gTjmox54TJ%0ca{vIpqtw?m(y{0wq;Hw3T{0#b8%s8=~DO1 zARF(>b@6a7i}23dViVFQr=FmaL@8!?1{2zR(+O4#eD4YRTknujGCW;wO<2`61a@ew z44CMQn61zTuT+;-p=GNHXI5A=R^FSVU*}$0`FO`bbd8jf@x$lE1S7-m)8rM?csiNJ z`;azG3u9|x@lKJ}kRPu}D7yrxP)9KMU#@XL7%X!%J(4{x@g6IOcsV%O4oUE@Qylig zQydvFK}ks|u*CcC(<6`ygXUyGP&s75BxQLtJvu7!$_H{w{%3jwf?+To#HnZxB4Jr& zQ+^G1F7=<<@db%|7}k8NKX$aDFMN-b6gv!O+H>9 z1^f~Z{b~vIfJoRb2kh?tyv+FphQYZJs2>u*nQ?+(_{f>eA9q$U)ml8=hW{Ub0RJ1#ySk z3Y;6&fn6bx6KDTY5vAK5tBC&O#Ng-%R1qDIj{3mS(JyoI@6i!Rh`|$`pMXJx2-jyv-=PRADf2Sn|=p_%KmOn zK0LokX&Cqu1J`vAcJv({;eZ(U`18l~Xn&v28Yg%(J^JuJT;tr#s-vV&jro^r91sR; z8Ng4(iYq@T;_s{`o@A;?Ensnt)Kl!-WY=508ZS$0zETP88^NQf zp68R@rxsL-OWjnp_Zyd5ohT`ktS`1MU%N6a72jyo^l~yU2I?hXV`x)lHTJ0#Bi+97 zP*Zl_u$%lb1UTQ-Y7fN#OqvAJBs%NCZL1?UNz|#Ci$u3q`qP!WQu<`wp39lGUlhVC zvqro%5#^;FDnLauRJtBad~bQ6Cp5lGo^@0B@kL*)vxYjO7 zkoZoKzsPwwlOBbd%u+C9Q8b0})T4)*SQplhPcg2vD;Te8jZz2b>ndr3RNWf}Q&$YM zzJO0CHCZlz&cHu0!znL@AcxWloFkphsC$(SJsHAj?6n!oUC2P2F@m9;;{(?&XagLl z^_E?M%0_>^?f?P669m~%^aE&2LldxQWrcX~SNV(P?zK<|3#O>l;8NpyN;%7&}`5_2p_j40i3tQDfs+tjHb&{jrd*5hvyr-Z~jI7 z#JhjYB57kl+qEyV4?3PcNx;eYfggAd+gWA08IZ@IxYNjyG%7nPX8?al%7&*Mq6ON< z0KA7U;`1uk^f*VZ&NN~^fZu@VQY8U#F54Xszx#ZXq`;)`$CS1SXQR8mMiAb9s=L^r zIf&%?4XVj7f+!!dYs3;Qal+aJnD-S28E@au0~MYZp8_O0+Y4%RMVYfVya43sT^|h; z{SfH^(E#-Zk`2R=kL-wq@hG&Cap_JFi%~}2DF3jM&LK1n=-gBwTg@Pe5D?p3D!Ru@ z;d1ZGYN7c%*)^7$7a<9tf2hZ(mEydNUe+yg4E^vNK3d`$s&bGml%xZ~=2N>uM!`%h z3uh|FFu1s|Em%Pk+8HrU#R%Y*?11Sm^} zbd{ZaxIe-Y&4X_}_da$%<2-R)!cbW6wusk4F=^O?{%DVu80eQsNlrK*!lp>#`?Ph7nLofZ-7(3B%ZZXM;?3?2v^Rlh#(0 zx@ZNZcMwX9o|SNBIttUmnnw3%jeIyb6Jy0nLZuJ`x2aYAcyV~>q}6@A(6e0P3&{Qs z2k&_Nt|r<21a-xF@WI})@=k#!It|^deItY5uYhGyPs2&`mA2VeVhEx0=>oPVImVDL z22@W~`&l)cZ~+$16V}wFnH07ahLOD}+Xoc-HFqB)dS>`UBZUD^-UP}l!YHUqDa9Fp z?&Jr|nbruTVTyGnI|-ehU)o1}N{TJ#6W3ab8Qy}2Sr|zefZX|ni}(>X2j~qP=%Z!I zeRPwjsXC$CpIghP`ZkyZtI=3gEBF9#b`j$%9%;dnX*pOa?I_yCcM_1jh7#DsIPKs_97*iU4_OssuydzdlU;bWGJ!2f=Os&J!M|pyDPk;cuyc!E z@+7gPep4xK@JZ7}EoN!A4~wsXD07Q`WVK7V$SQ4?lqQ)!s+L0Br}(246HWT!V8ltP zvp3aEHXOCU?ZW!}OB!aVl)@j?YmeY^k3^ki0kY?t?PoQqx2e;J5sn8_yDlHGc^(CI zJDWxUN=a9B9UT}}Ec*PRk#QoGWy>L%6SDIjrJuPg#hcie?rw|e-=<$zWvP5Xq)VlT zWR0R~Sz>%lMqHyvw&_j;Wxl>okVb?8hYUk@%r3W;Rw!^ zoxIyyR>jhsCpWpJfM?Srr$_8Vpff-OHAy7v2ZJYMLj;iFK8X>dRmzG*29GW^R%(7s}mOOdCO~|?1fn;W=qH` zd1v97?6`ERcZ6rpdG{u*-d811$=WlzbTeki|nA6@fuD$&&nLN&IZo0u!;|)djt|6;9lU*kaiiCN{nT# zKi?XfC~K~Q_Lec4SPZgyVRNO%(D1nyLg0)kt1O-gAjS{S(O+#TK}4*pUXYp_{jpcU z6R|-sBbSbNo!U%7NU?YK`pfKMCHVpbZ16}0@|v)N9QX~ z6T58wXg`ON;eC9d(1MlCSm~!+#()cvn<%#$)`0HIm$D-ko^Zbix*U*x897b2bVtjW zX1ct_L&*zNQodI6s~q)SnT+C{X%o*qc4ppB$l}Gtx(LPNaL^tclScd%T>Pw9Vm31RDlf`c zCLzohljE;2zT%w_AJ$z%HN-1HrGe5J^PAik|IDFA9E+Ku#Sn0!$|%j1TT{m*;-h0B zI3J>ZM+gc$MFLM6TNx198#8I4YR4O8*>=kS*<+2F*Drkqcmvs1cN+5x-)Q z_8NBumY()T1NDjaN&_u(0~l4pBQ96tH$|A2HPZS6@i%ahmvKBXyh7F|E+6zrB)MoU z$_T)E(^g?ieC7emjmA3V}kb+J+J35QauD6giRML4CkhfBGlM!UnU zOtfL?Fk5c49-jbVPeOHef=^Hyqy<`~%uf&nU-UtmZQ!vN`QJ(tud`dLs$G`JasFYS zaM=mbQi@EKPPQbBG1)+x)d7g{9LwHpPXm7PY=75Yhc|wjVRN}*M*OCHs8Bjzw*3ST z&By?FuAe1}XFew(HzIgEFYJpm%vUES5r3X22euTWvEvuMsvf!PEN^L3sOs;EKkYA( zHB95wt>S-uM5|lY4=Spy(@Ue|OsJ0uEj~l8z)q%9gVacX#!Tz7O_RMA;ojR%Fr(ob zFh=H~2we`$4S{Lcn@D${1@KcR2P4HgCyIvY0&Z&txQ&}ngb>^% zvYYR{n(7nyI5PcF3$bb`ypjh1*=?9u$=F8TbIlN;{LWz_wnWD9nob;NJ*kL3M2|i5Qnc#6P%omBgDE& zOqBBx8=VT|mf+X+jx=m=Kv&C3M1#N8)Sh85fREMvLkr2XVE#IuoW&fA2`SWBASGtS z>+4?Wff@_Liorf>x%4O0$5KL_%}QeP>O@m>556iBw<_39RlppwU#c3IhCW77^rC8v z<=lh$YrL|P?CL!NXNZ01heet2)x+$j#52|2Un_B1HN|yiai$K*_39Q$wjrJ9gid*d zSH`5X1%ytHhJB_M0ZLgD6t7v;RWwmmNluA!60|%{iJ=X!K`k#I@@w^pKrhvxT%%TN zw0bK9EqQfzv~hKun!l7h$d{&l6F(5wL|E4Nw4$D1t*Lm~QUzkgK&@FFXqRuR+Tn)w z;=!tOpL@GW4es$?xj^LWo9g1OLCcyK2$~^lO+8g-&kUZuIa=WplXGvz5-yMa>Sjas z#)Pb)WlW}(kRuuU)A>vXzTOGufuSgwf1A8<${&Lc$s^|oIC*0ekP!IQhXVV^N1#JM z^6>Ky(4oS_ti{A^%=9Pd0Jm?4H&(y_QX-<7CyS$~2K1*fdPQ4XgpWtUtP?*fw$Z~^z9t1EB;2VPy7 z;i~_>fCCdz*TF>8G3WsAt(@Z8KnuxnHyOON3iu-tbtGB-C+qmxhtlOdVjbWJj^l6y zcaA&Bk{@?g_6T%{{qwZSN$nTtFv)UN{hfu%4F6{q3Pc?FM`fr(#1Ut9R7^e$LRDt? zHf9GjmH7V7LLEnwkNHOX)re#NNLNM3aWwfi-1yT!a$HP~Y3xs_0*lH0M~SFjP_p9Ft{mDH*`AAo9A9!8$2kRIDLs7?-DDa!`2jw_Cu(J5y53Fux(Pgql|2yS?$#D=3 z<+HhhedI&uh-9nYW2@{}X4gRHh^gitzeO{rx9}n57_9b!bPU*G>Zrr^;<<2>-PbNu zBr7ORg?4RQv?mbp{OFVMupGTYr+zWT;w?xy{NWb`O4Dts&dz?RH8`Xk%CeXR&TVb! z5HJ)~tL(by6h*|wQJgX>;{Eb^%o}E5%V6Kp97BQkVP~BaPH!(?HTuT*;)V$sangWP zY^mEUlt%I3Mu&fLYd=B59p!AM$k4reW!LUELtZL}V*GA;-#UFMV4onO<`IBbs7$>4 zq?5;henf$FnzgKPW)fm^*Dunu1cG1iWi(PNN?_WX&BNVFMLtX5yp;9KPq6JVqaI|A z@-CH_%Wwe@z4(EU^g)jiihh*yPHD_iw%A}gaaPa^jOab2vgB1@dNs{pP2yFip&Le* zTfJaLk6dIz!!gU;jIKJs!2@Y3vZ&(Fr||Ro zYh?!r3_MW+q#QSCk10n1VtP0Fka8qpS$yFw34-u^oByU9txt1EW(CWrYRjRR`Z~zs z;A9;1DtL`m^(b8v8%zJhrIKsS{e8vf%|hOr*{1wHM!D})5JCXn;2s6kbtbJ2nuy}h z+-zfDKEIP2$lif~A(klbO2<$Wx4V3IfU zuK&c7wv-q5MQg4LpJj8g*UFIPyDI{a7fy_V!Kdx9C_r!#py~1;#q=M1C8?YH{_f5C zJUDIM9`K+t_0eN!?|#4##cdl|T^q1CkOIrbBqIYbUd&7?m)68rU&^SS46u(( zAOt?}-z$)DRbnib|DH+}hRYM>DZuQ8dZ)T&DN^WZn0 zodWP4=2AAl0RlY=T5_qbc~_QedmkpGFLbG8b_spg^JeM5vQrbUMk@#Fis2s@g&!c_ z-=tBwBbeBrHv%PAAQ$_V!QdeFR{;U0w7#Rhy!6$Z?hBy@I|5^W{S_4X{FAVcJ0HL~ zl$-hXOGOyKn)@AvjFfJ%qb~(wuinflJG1j9#)X3cnF%(dQVn9`6JP9_x!^ZXRsvBi zqd$-Xfc)-|7-z8hB|>)WOIRdCM>$6L-~mrxX77F6Co0x48>iNjf;y~F9|8p%UxH7f z=`QEn?e3FLD-#RD$dM0;$UK9oC<6%Hg>j=q1%@#qvFS0l1(|nMt2#%zazcCDNH|vd}%`hj#LDm8@gFI&PGW5ifX9xYkJAfwwQc1A8x% zk12}J{7}b(wiHCl!;G#HQl6Ak>o;q0Fg4jCtDrpj$7>2Q=@FLhuk7lZ&tcKG&Ydii11pI{pRs zC91>9`AQIc1B3>P@SqVXUS`%GvX4 z!-!c&Llg=M!t$!BuBN-P58BdPZn?8f*arE6Up^x%NK@sWo6s?BJRK_~QU1DYoxH;8 zF^6MEMPg;+kl$0ek{7NyL=PSnqHqepwofVIoJ$m=+>G7x&A>-SZxlBj9#!e(RXSgN ze3D``>oAo}$h9KotX5sEU|LTo7OBL_M&fh+b%vPixRKiftFPAlx2jHhN6R#@(v`wp zqRu4HVaw=k!<9wS1~|62%BW>*1{H^RBGqe&Gt3C?pdF^kwkwwyfdx6KOd6S4 z6COkSunqG8!{gerHqS(EKYTxAmzewc8@Z*gY174>M5Igw!j~VUD%{iDg$cE&50+nF zd9C7ULZxsH#_?;0TdlOJnN z^nWbrE?K8RtG#$K`k6?iA7h|@e_=9guhYD1c6eMuPK0E?G=cD-Ba`Lp%&i^Pyj>;i z5N5Yn>C9(am6%OSeUu41%&!Lgw)Cw94cz+nUMp61Ck7s2j7ofMpOSF-9Y^G+7%gH8 zInrP@aLhwk277NrOm&-Tm&OyB2}zHn*_)=AHG=P<$j30SEu&xo47rV+F+=Gs+0C;Aph+s4RHnU*Eap;~aCBMzpLg+U5ie0jDe@pfD73o^oAmO1-zKVlQN0lf;^B$#a+ zw2Zz!l7OZZaW*feH4l=Zk=PlG0*|dm_LE*#$D7iq70xAwiw1+CC^{3JP+WrWgH%CDfkbJdJ*!3EKmKkHcW8uqqpG%9GDIAs8HyM}sqU3aes=;U<-EzDQXppbkFZ9J$`Hu$H~s1vIp ztqA6}RoxZyE6}KPS>Fr^UX+UkYKudO_#i~!z~xG=iMBeW_i-^QXgyUG;(cI7?}}G} z+NOQw7N|Dyc_xiA%+G>CwBF~T$$|(eXnfZ&z7Ga`QzCu&43G?*(3gwk-n@8br$7;a zEG|%_cptgE?MI@C@{aVEd!oN~f@0Pt*wYWb8A)&g&v|w}yXZr|%c`<}2=Y%V&a6aFWCNIV^Pr<=(-BvP? zFDN!Q$D1}pE6U&&TIZpN&NG*+C`8)DE{>0@x{HKBj57S~A_#z@2t`ehaRz;sMeou2 zdVWPEXapcBt3-r;7*F!}01h_wSNDQK#MB&tw*1B72WU6$$8Ugeuu#}~i%BT3^e*(Cy=thw$G8T~MzU|WGcwxQ@0 zDTWy!oT|j&a>YbXO%Y{fj8>ijA5jGLCT^xNdvsm~tH=yXFKt6pQ&8FFm@vXuq;6<$ z{+L9 znMi=bQt)0*{%|G1DF+H#gqYd>6qfRf%N`3$!7vjD4`jvuU*Q4QA1euID<(luTY9vT zIEqVyjuuWCGYM|1&a!eRYCkpt6zBM1MLnC?2dp!=Da{ymg9 z<_E4tH$a8y@1aCUBj_*vCpqw|I`*<0uOyDo=lG7!=lJ8S6b@Gspu*H%?4M=nV=s%l z)_)MfAARY}P>VEQ$DbE;L27^UgZenrpZp-htv36gLFs>xgO2i_LFt}fvxsAI5L=rA zp3lV}xme;lK%vT^t+c4|#?|&;%%JT?W^a38SJ&Y<;=gIZ4N%7t-`!Mrw2a6tzfsoQ zT3y#y)o{HYp0?)r_Np3*R+0i%l_AH&cF6g9^|^2hU;FlWDrGf~;6r#o1Wyx)Okb?B8v1k$4|F6K z!}i}L7eL`C(ZK! zk2vWUdJw3{;+aRT+oar7ItI68WJuYQz+w+Lkw82HClY;Z&Wt`+(s`{Dhg0*)ae~aR z*%K!vc{q&jZ;W7K-SGs30OT1Yg-S#P+(|g2+8ODG6@1R}Q|grtglv#KTDgKHm*v8r z*$i;Z-czJqij`UIaLlnM=c~SAQ4q31DEn>pms_+97#Tc%Ic zB+=w*>3jm)&7SgdUa8RKig8imx}>yA=#`W_a?=$(VV#Ot3?1tb*pl8gdg_sy2R`tg zsFcq~DU}`6Fau?2#F#qxBdz*6Xvj3_sm+bhhPse<^EFs*6Kq56^|gtumZ~qrg0=UT z{#765ITLz0?+joRr?MQ7BxVT!r6iRnYy8I7Wap1M}A~ zUWJ2nT`q%r#BB>cSGGu(dwLYBxXnxq!A z9!CVdkdq|u!<1jsH3+DO4n(o}R%(%o7L&zID?z7 zcrH;a;j6JL7z`i^D-#AtMds-IX8I?W?)sckDfnzBgFk@zNO@|g3wnqs=kn>s3-7XG z52R|*C)7y8>PY7A;nhZ>?nc=?$rvTd!xD)2OxxkC7Po0>u|je_(dW0y)l!16ZH_*y z%og#;ok)!L4l&@eScH^&Q0hGA7A9n!)8zB&wy}^GYeWD$8es&LS;r?tkXB-TXf!Dn z@Ta<~*ch#8ltw8~;2(!p(!++-B$Nnzpz{MPv49x=7B&Oup{E(_(L%QQCAa)lE+AlW z+p5@*6-qlIcioxO(Ek@zZD@W><^ zp%j8Y^K=M!uxcpP)GOv|R9DdZ%uzi13}9alM?9Dyve}&{1$y=5d@+c3G1SuPrORp^mNzuNN)n*^b34H}2LqcqWqb&m;{BI(3#= zHPtIGX+3FbI~j5TMhr)#D|Vq5p){;h=N8&@HA%a8-nZ4;z5Y6TdqT1~WqH$8hK6vjt!!=B7U?05&tPwGz&yX{5jt*#0ibO56*<6;O zZ6XTQ^>8vSB#eJD{MA)ohiUCipI8hMMv@X#z&*b=vEEY8<~Rp!^|&&Ck#AN z?3ri?hw|pDo5WzN<;Y$hk~|FQz>-ZRTDDyCykDlfB{yJ!RHk1>;Z7^e@KaT4$PfVx z(@`nt&#RTDdmpe56lw%FDh~iE43=Rm%Cc<0@?OBZlWeO|$r$Taz)xd?pMDSGxEsUV zYH)%`3keACQh7JKs43X7l|WagnG(~uS!Rh{HJ#}J?`at8n(uXkp*v_MsO<>-bA4bP zE9CObzvO_?B~423QH8K1Kpe5I|FP~yj^0KMWO0V?eqM!4Vp<3$LX~3d>3t}qqck;i z%e3*;W2z;$7SSe7N0Q3K9`3+^x`vLFoCNnpJPc9I+p;3!^yUEsA}IjD4lqGAg ziHVKag7STx@sIY)=4jbk%=tQ{{V{M|2D*l&zj6nAufI53obR-PdEe|~;ctHPJMb?{ z80IcFK*9B;)qC1x`5u*Vo=*iu6f9(XTH=Ldv4Ab+P7p3S^s&G?<>V{@0uhOftB8uZ znqLexL6Q>2PP9B&;e5wX)=h(Fx4OTWLsWzCIv+JiOEeHR5@Z|M|24d%L-6|6Nt3Xs zXFnG1C0sgq2Wtz{=f41q(BO8y+;fN)@gu*K@#BsC>2L3bcamg7Zk4o981B-5f0Yq# zOEt_92&1%taPt6o|L3rG>JqrmvRDpD6MIQ~!a1rcxkP`szcDH=$f+OjkTc)urxNcaFCjR<~O3;ErxJQs!U4;%Hq7|q3J|N&ALh;Op)OcDXs~h?f#U0%4 zp%M$Zf+3P^jd-+zoZO3W>UK9<3`-mknvI6323rzB;2k58PC+rUJu!hZDl7(Zz;w)M z+F0ed%UWZxaKlKUY0}^sigrZU%iCBRmlzp~1n&TpzeU16kFmcqXlg-0T;g3cJl=Lw zsUNIIm`i{!?=&CUCEAVU`*O5STAZWlIjv0<&baO;=WCR`u2gJcRArG=)}{odq?h1A zH{&!VYZDS9i6R3blo$;I8x2JCr6QlOz#W`Z5Dro1rB54YPH0Q#6F2pME8PdK`Z(@_ z%VjAr;gpwbY=PoxN#4Nd+}`*1u|P%891a|4S`b0F*iens4wvM}xKso-Z4H<90BJZP zgG!Xa5g0}y*iwwvlLs^swb0T8CK!Z-H+4^tWH=yUNJHgE&82D|{63U*KiZaXK$}mSBcG%E zWh_y0uL%_pTHv5zQ-mx#h{Fj*F3k$jU(UlPW@K3UN^7E^2KmxH`L9$9N?n5pM1@O4 zAU%mb4F-g+0|94i0=~uuP<0o|N$1Ng6@in54%fn-I;y~fCxLf*_2xBD6XQj24*gw+ zGc|ONHR%P;3V5-GLpSJ?M zJLi3RZmSC|9R~-v3}zmejD9lJePt-EqNq4wbGz6H#bfGu%BeCyPDo~yMb{Li@)5p@ zueG5`RVb?~sz=Wzpcw~rhg__xHVg9Fpc|1i!M?Vb!TM%7ik1Sp8ZA^slKDZMb*vo9 zR@Kwl%q+oN%}tWy;9;!_wxHX}>UKUK35IORVZ*N1xt%+Q_=8&bo<2P6Fj4+@WMQU)!Tx>h0E&M8xpz1! zN^=}hi~oD?ko~7$_E&hN0KDz^@4bU5uI6~}V3OGN%P)JlcQ`iwfO`k$gv08}(cajh|;e+S~`H4mAXu~$_&4TUzwGTMBm@;*njYf&WeBM6>+uMAg?%H zI>a{i<0`vU_} zl6_q<^n9w;`2O4NJLhf~lL6r~@M}Z>B#@hI3pC5VdWq+|7ARP>@3@#9!(yIRt|(crEUl6v8T`Fjawldmsu{q4&MhP9)o?9j)oo;~+u$DBog3E^yzX7i@$RdM3C%5ym zPkNb!b<%CgCw7Va!Zp*OGml*!1t^G$3=(>@P=VZ{W9FXdMu52i{V*#APd}v4vcM~^ zSBeRJ1GBkvib`*o2ygDx`%2HujwmMQi)PGtnp15iLEgEvUdO!i9|&s-p&MfrSG+_w zDvLZbWO?#gO*mpP=d;9z*)jusCy6H3FM}c~!pN1VyS;JUu#1 zu@{qi0!lW0htd*li3d`{55ULdoXQ86XiVK_YdB7X&4B&}?Lfmd00=8U+}nEaq~#Vo z8Ow4S-hwz>KEQyx)C?Y7w~1pL+n~M-TbSzdO>|S&9%pk)zmz*bwEPzy7;l&J!ZJPEbV`SR|(DGL+VsD#kdQzZU2ZfyD#NvrAcYM^m#P@p3Z$|VDDKI5P zMb>_|T}?sMm@#aN>YgUc_kc+{g%gtmT48RupWq~ib$axcG7S1@}X$nl8Q!h%s~dg`GZ24E|-Z?f*)m63;V}c`O4t@ z!PvjK_rWdlhcwe~anQl385^aqGtFV-z&cO&i{1wj2TU@?IDvaI`sLnU-`)T{i}>>y zq$5#memxI$DOjo3E^XIVlCIcLW$akBVqYx3(UCIdRRvkfrAPHOC(d7oH+BF!K>-!BP;%SXis-VG83 z@TE*YC^bqC;HHCsh>e}=0PMR(w`3EYCyzzubK+$#6a=gRH}_z_r%Ux6s3aQ|8+uK(Xiro_@HLr1F*j5^Q?Ws)xb@P)?%a@KA3p5TGkY@69udY+Z943Y z7$TThPgHGG0Q)-fq690M-MDw+oLg?!oNA+2gqPbJdL&b$6#m2rB-zT^ocFXWJ}?AG zhZ=Gkv%8i?J-e1&ATi5dr8+^jZ;Rw@h-Rklm7@Ew6L*Kufh9Nb?&;-Kuh_eVY~JEX ztHnj4`RUXZVGKO*u$@~+-t3eR?N_}>Ik!Zc(^5B;VOpoV8%(9(INEXZE?+UhPNW2{ z^8w2E-VpFPt0r%Iqp4utzxYuHw|xGYNWb#MqHO|*k`50(($BTD%?~SY0|z9-$4TF@ zB6i=+6*|E)@+Tztv{E;8=+B53kQQEUo%b#6p0;Tm=jU|)Ql1GQd+R<|}@*v(g%fpf+A>NeT4xtq@_?Wu%F9wLjgF$V+5 zh|ae}Zsr2>vwM4;DP+wxc7+T7``$tO#fO4F8Y||#1h^rMLWY-LZaz8X*LzCmV_{Zb zkrQtSUE`(X6Mzz{nYgFVDB`uzA^`)}Ajuk0?EU0CB((DZfN{i0^*D$8e0ot>WjtwzXJLz(ddJ}pRaij1Z5 z;I6vX34E+dCG)$HF`szx!jaV)rSVNxSRO$9Y=HdP39jiF;f`*k=oKqqC=Heuk<(*`#O{glQD>oo0##R&(V?pNypxufH9bI9Km#WTI!CgCvP#fIg<$Sp8eJ`fF1Ug%q0?qh?|xo}|J4p{HR z7PM-dD!QMNwyu_Qf)Ej45(SIHkDhxWLe4X?NS_M;aOQMYxphW>BoCnPBLi^qOGGDV zkfTE6WCaV1uhsAG-qIq_9f-!^%y3Y-FMg(%jh}8kArJQw?d<* zoB0MGTF&3=!jKZ27rA_3x22IAKXg*%W#YBxf7u4fXIw3D`IdW$C0edt8D-^js=~$x z>l?Z6NAn8&e_|E{UrO__g<{1B{&A7)wg`+RQxq(|F12tcKMb*#2*_%o3TcVp=n21w zwgcA<^|{E62SS#p=x$Zia~k0ZMAV#ERH$uK&{DJr5}>V(V$?wK<)LMf{+vA#Kuaui zCqlC|n#oZe^wGL6(~wn4fEkx5IPmWCC4aVHno7(YDl9?N<)AL+vw2vjV3g-vJi#L~ zK!o1N6nzn=T_veThezgZTY8#n8Te=sK?Mp$LYG#Ny1W5be4-Htwq9=@hTOdqL&OvF z&WJl554VqtdA=7JzMc@delZIq3?jI9B6|2>w6;c^6+A9b!}<(1F4F~v+owsPIm2Oc zW}7=c?BwOMS(4BlW$cKu>h1Vsnh>Ah6kP|^T5!AoB+Kul-1iOFv|vi>0la7c!4^5z zjtJLnGTb7raX++`hxkC%%9;04MIQf^7F_Ei;^fG9eV6dJJ)R{`aLznQ7phaA?ZfqO zY4yPo@5Ul@J|}JLQFUjfRqUrOS)dNO(PgVpUkUZVj^rCiriUF`S5(a0f>D2&`Fz^D z{9VeY##U=;p9bYjXdvyof(c~qM$+d(<61P>2gtVYaVrNs;rs}KdpJK(YYC%ULdMV?Wm?=j=J(t_hlt$ zVb`M#G^9FXkorV|S~9N+jW`(5(%8Xk54&`2yL82y?36)sXI+e70_Qbz(%0zg)KJ!_ zXpvmv=B|PZaG-mQnIlvG^LEa;kEo9=goUycS6$URH%yd?fbx)2ojwVm1ILmVeZ3de zpPzZZ4%Kg|8dys4*S5EEl%PweQj4sY=_BO%i4CE%kI`zU(_5n4%v`kyxMQ-NUt+0>GA2N5v7UmlnK?M3pjxGRqTyPDkZ&Wgldnp%+M(|- zQ6F23(Qaj*WNGNMqG+wkm?w-+SK$zYrLpMvx8rDD;xm^W(NSDBiGdbnVyf%~=+l~U z6Q44{clt>1?75>tky!5%q%v~9LcyvsiKq;Yt(fU3=PN+-)>{@iqKjcxnqL(GOO8u{ zRjN@H`bp^Xa;URks~q^xNn4u)=az(OcHKPvH?6&I-Jsn(+C+wW$DuSGnHU71W^NcS^=U41rD(8`ln6! zw?iUKi~YAf0&5n2EEKj^SM@%t3UY@3bZj)Em`qcd%<-HcWH9{ms3QCKQH88azJzD_ zp-tE-`iw*7ALkUHI->PYp|EM(?{kWdKj#oXg~GTB$GA2Re4|5lH>i#XOX&y(yRN^S z!Xb5y#}^g9oWg^DI)$SR*kg=9bp+@X7C2Hz2qsv`9xo!mSPiHZ&Ucf_cb6^mJ)L*~ zdx#pG)qgD_jI%+l@F8k20Z~KNA4e5O-Uzjd%V3q_r&hQ&_VB2pF2%VX97SXW{HIQn z>CkuN6mI|J6z(Yh8K?nW5q*D*B7U2NkEao!Svaph`&b$g+uoPabOVglfM#K^==vYC zaNBRQa980k;LvXPD7)Sm{%+y{G>LyPjqAAwja_oH z)!}gc91A7E=HOBsn+R!dh$aN>e$(CFhhTfAPycPijSF*!FNs$1Fxn|bf?5JysrNpY z1caSYn>`B^R#UCdJ5IGhkhn`8PY}yps-NQ^jj6{b(5BuWj;Cp=u2SJ0=x2v8zL}$x ztDZ?VNI!Ld$?>Ax&;Io|Dk=3Eb!zT-_Dpf%OV4r8{_M0^Zq{yxB$ANXm7qDvW7@FO zIgmEI^H_Pw6r>HG2S**gtLI#x;@LRJ2;Js9fMeK3s8U2hwmWXocQaS03;2=D+n*<5 zJg~xNXnf_3&6Rz0vbNA_z^IVacF|siY)O0Kv;qX+64n~Rok>Oz=5!Nb35OkNnF-O3 zJP49J`g&YF`<#k+VbLp8(+yO~O8a$~mnU;S+1#kY1naz4$0&94n~p_BCVoV9!K3-! zC)}KP){cWFGX4+QUcv(;rXE?%?c6oBL9={lFzZL=xIAQRe?GEru!1&0>` z5HbTIDr0#v2sYh@3S<#4;byC{%=kU(GzSyA=k!j!?Y?jDvCrdnnebktiU7_j9!G=d zl!UnTe|YRO2U}H^OeMSHsrn9PK)~9?8Kyz~CKdW{{9QAWE3jLKXQbK5lY9)&hW&S> zA?F`H*?+=!CB0}pS)2m5Xs4teQ7~tMg3zuH&nmxw1>Ch|KIOvOsliF9wufT|K2j<` zPDq?8+$(3JpcXcOYq#|E`M2Q$@?L*?guJ+%MY|TB_JWO*7CR|4UN-k;2ck!%eQTk> zD0&>kaT;IDUZE~yD%s4Y$;MiN;tg~Gr217Kt?#19F*2qrKj1a5T zreM^xMnbUw|96j6)99tb>pT1e3@&;@{25L@OBph=MkAp$q9DjND727)p z?7*LhWrHA>apDBbdp2nMxv+w*kqhb7CU9Vk-7!QtZ3IuAvyBt;1vCjW0azd14R$Dy zNJ^o0Q8yqzc3V0NDKSja4zNLzLvcv%c6^(jmEfVYE_Bq0gUs9Bu`LmxL{~Em(r?h$ z8=f9h_QRUtCMnxU(^!8GO6C}qk9-YUrs%dxW>0VT_NET~UAlu=k6th`zh zk1ImoNBDX1ni>Ny^1eRZSL&is=V^twONUt`*eV)wh;qqKlmX%Hy0rB+J9pSZlhgDh z;Elk;s?hl5YXMjqdbLOF`+XYpYRGBc86|mQyb}Ky*-fpNBB^T^J4bc_@L5W{?q#o9 zxIgP*Q3(ed-z_HR;Og@yv>x-@8)xfe@=*rz@hN;FlB{uJI^BNu(05s<>3V0A#kD3g z7ve^nSAnO7^t7M=l_9|f2W(-`q0^}>CiM7AG~P%_qRvqy?{FEe-AkI%=;2_Fpw6aF ztQfC@jL|l4O2p^az?lYfI>wqSQJ>i@tHl;OS)Gv#DM|8DDa#k!Lvvx;?n9627F8|w zNI$NkL`tzLX`wIc(_XtPE2@z&9va{%I3+z)VY4WkjgPgQDsUokMq(2BhtYBw8=MZe z4J*a+`X_`=niv2S{M62kTjJwl5(J{q*1#sqP0w%-57S-W{GsRS#pX9s^V_*Ma%|_} zf)wAN!KIqm%gtmq@L>o^tTJs-Z9R2@mf9q3%`nk6URpD8Zi!x?LCIKRoVm`lSVBg_=sxS4O6dM{QfI!U0JI zEAr%SeJpPNq-7`2Xj?%CjY---WtyofQH4J8SxaoFZ)*MPH%~Z?=Pxevx@sGr%Q|st z-qyk28)78FF+x68wIS}?HdH8AoLCulqZuNu#fA`-h^yJTjX<#ad&cEK7%Z$`p4~bN3yzT1{0d;iKm2t%MtFX`mW#URK(fb_BJFc!l zLXS)RqCb9nRv#f=+Q{xkNGGM0Fc_75bz&-jY((F+iGe*>3r}THib&2ffP6?tBs{F2 zUAsiv-L%=9{k(OB^YDUMJF241?P@+Y_k03Wja9HXmnlU`DSVXfDW)vy`{K9lgjnY~ z7u!3P+m(zb$%}-t{F1&Y%MOtPTYZH$5GL@6K{!=MGyfg&dC**AjL^-fk(w7IC zi`moi7>!3xdRBqCJ=Z=1O>N{qr#vPRdz?e3Dfp~;lSD46l`+MSSh&+^n$RF^V+zCW z{CwKCaq^kp6lwIT5uc3gH~Y#nL$@yXOOVhO7S_;5C=LsLFn?B7Q$3WB^cl8>&sYjb zRUnOzZQsv+Wqr6mKN*u$YCidrh?>Z{;XWH1`sWT4QCfH_ghh~f>SHx!WZL|5uaCFB zJ<(9gqVCURUGZ=_>=r$HzFkW3LmpB1SDp*5dvfOqCIS~+S*P;EF;Cadjwt?nx7x>?~=|_9mKw;i_115@L9x3SnQl%~Aqr9<`@Wbd*VSwn%gh zPjoLz^z2XcUP|;mNc5*q3Y19-wnz#MPYQ2HgbyRq3X{;=bm!@l0cf($8a=f#{a2pE zL^MN=G6U(M81t^tc_@zPkS7_QL@01iDQW=bxv2){nA}F=v)q~cD}m_|=GzDtN!L)M zD9fP%i(ZF=p%|AzwjhJt$FV;#vhQ?4BVYA=BPq6GO)_IJ>eACylT<)_RP0rVE> z$N(-lNGKiwYLFQNJRBnIoQ?Gv#LCFcPvkZM$!jv1L+o58AJSlK8Kk18Bo-ZzyIc;A z^4idgMxyE7)tRUO-zF5~z&+#Z6fjbBQOhFXL6u;v3U6YL*|UXo3QM3kEK3-9s&16$ zd}kW*oD}t?z=!NYQz}ACd}e?M%+;SlmYxbJlEW2|!_asUvz&QnHH7u?Omr$7qr?k98-Uwti$|l+iO2vuWEat4O z691b}Fw>%9m z3BY35WxcV?ajfjs^RgEV<@RIcB)eX(jl`4M$-%pdVGj9MUFB(+lYt?2Oh{K`-7)TdUMg|71WVX?UgXk{zS^Rg;AvK+t`#tXwi{11Hloc!RJJaGp*9Y-Y5+g5tnpQKA*V_o z=D(tdyRxT4leMWrKWlP!At~RpF(A1yz1E`E#q!KnBMRD-l3<<@QV9Q6MfXiAQL)r(G#4c@?!(OoZYr92KOfQKZ53zyI zIiBj3;^XcX(Ew5#YZbnAK|Q(V#BRUGg+8TfVWUdmt3~+hDxiQOf1=4?5HP98?0$9e z25+BWU61G@vos3gjTa6aaL{?wOp~wto(L}|LHxmk|aGZKqS4h!6aIj-kuc$^5ONhooA6g5yQ zaDKgxAMB<}ERq8qf?Qr|u#`*2hRxNrZQGLngCJI4T z`o4MLTM?BxCKf1VK9=kdbdI^(0~@5*gvlU*AiRe;y+>P_Lc|3}&HA_)up;!amus``CXAP?|#Uv|ySKb)>D zpX~e%7vyJ>TWcg?F@3iROVhIj&1{JZ`vd?7=}@(lTlMKcji6p1n^bMW6(Dzd=wWni z$Ru97w|7YK+CxlxSU7J9MXLF=v!zM*rozNWW2oz?+Lx|f?~A-EI8)mgb)zr}Nu}=Y zPqC;DjE5B>cJHj^LzTpEg5Fa^5aT))2uUW@me#zD6=Xn3sXE&oTLru+|q8d!543)G}Mz)y3q=H&QC&B>wQ@w?`XmH}%{O|a%XqU9>+c`E1! zDw>9=AJ?3k$2F&h?9mPktT`qF}oz9vXzsk-q#(hcr#nr&=zsK@+SwopS!8=FI=&P5V=G zf>%`kwdQn<|5bDL|E@V(LjTm9%}3j>|JHG`9e13+hF=2d=Rj|o(2+OIK_JIT?EkOh zH2Pn3oV8(^M;+&HHf}w5PL*idknYx)bMHVeADbN*Yk*;*D?f4Q{lPqo>f0iIKV)n-rg-_o?s-u%w)(!PQ0!E0d0 z2`ah=JO5k9+1YdTsN=l)cgLCb2b=r5<81leasKPN>R&bI%obR4+I&3{sLlQF*PP_9 z{LEn~{}!kn*PON2MSj(sDX~8ygSIWYT*m7ZniuOH7yIArEF0{7XMHu)knzqm-OI%$ z{wDhHNcD1gYt3)`wlfFzt0QPRt=!4Gn$K?+U7;SBr+I&_^YUDxFB4s`$6UR3l>V8p zV6R1web@49mzwY@rI#Id>r`PI%foSWpaY9=^YK+GRI^St-VNZiT!7PG(v| zq>C~U9H6#7?D0SAB*zM;@JL7CNF_tG!J4z{xaKsx^3<>R#?POSpF9Y~FVHZ% z;<(S1_cRhB?@kqkh*+Hof;-r!bMAR;OsTA<5aCf_6}kGnR!bB6DF zL4f|LRe4K+dRXm%XMwfG-ef{1Pu!eW)ito;%q}658=@G4``FJ2z7Yc(PCQCvk{{7JJVOP8b|%xdCu7se z5qz?IHF>W565gtZEqt?DCtHK(XhW7g%r5hDir*2vXEWV5qxkl93E^c9N=5m#(Sum`XxUiKYd(VN2v7X2BoTunp-{cXL|?DdcWqqDPoOI7?o1CsRQ> zrK4^LK)zt5`jNO561_&LP~Pp}fA5x1vBZNS>ed@`2SnFy)czQ}Y-_Y9(X2+!#%gf# z8zN`;GtC%0lSvD*x_VV@L6!C8Dx!*-S_)#ZO0NuP(XD(M0YYbjnCR^sb$C^>I!0*7 z(aP9hB0R9N#$3FEMO%kMXv+aZKF-S&hi7C|)Fk~0`lqW@V7+jHje|pXXXyY0yn$%Y z!6K)g?hQx-XhjN0kUx^#$o`^Esjw}H&e_pf|Gvit$;c9VGU(DIs)#r~jFK4gdWd6) z^y_mbJR=T^VH+IOCPR5As}ZFJz$HoIGvF^Pu*Af8krf|okh4zH*mI~I=X2U<8yviI zCzYJL>HPO^c0Y}7=|Gz9Uud;)A(Wco;M|&QW#2hZ_Po$GpdRynKRtT-d=?9dC?3XP z50hln15~n>sUK2OI7Wy|B-%n{sl^$4+x4B zF1#L1A|K|Fb+w}kigkbBS7ULQC1fL-)BAOESJ50T4#PpU)L07DOrXlacl_Pu5FBJx zFemznlZ7i~!x+azyYNqRBiovb=p2@_;Dz?g3KP39FXe^Ow^=DR8{~{%XNQSv;%F>h zs#9*|eM--BND|?Ni0lwaRy=1s-A>7WjzQN#>~mvhdXsT2|1g58y}>!xi`Bkhg5sPpn2_ z!FXNwy~zYql11Z;VBM{#!5wG=7p{{+STI@^#2=6m_HlFuBDE@}(m?T^kM9YtApACU-2+)Z8zo59VZD&kfGlJAUWx^Q^z(j`0;VftuB1g+u z=g_dXLTGex7AknwzuTkcF~?(zWa-dR$j&&kxAY_6?JgM`8r~80Aor1&=vnaF)R)7w z^l`e5Q59@=SF&&vg(10l4H6y~VqQT)MaF@$o@%%^K>D;Ub^rFc7lDwQf~Fq|r1`D5 zrcmXA03Y1`@Qy)f*BkzAXkNRUzKN>9c~UwV#gBPq(WXr49B90dnm!iGD;f)rd30mh z1dHG6g08N(z7|WkZ`dnAlN~e}N_-G>2tCTKRUo*l&js!Iyf>x;`gdkyXDfuZWF817)VE=hR&sj8N9r7k8Zb> z8N`JzBzQw=;a?U7+=t^m=C{CZbA+fCOQh@fWzZ=zEd18cxyU%nr@3MuFI~=g;s4rU zWwY&K|1BTiJFKyZpm%Ll+aJBBCt?nreBWL`)9Pke>cc;j-<`M648`l3?_mX$so#>o z^@c2%4sRTkh}#Ba?R&0L`H{?!3TIJlbI`E|S|TsLOz_{fhsCYs?zsbRZkc_1^s;iz zXG{yGna2M%^SuhCuf6TLUMyL0|KWWV*& zN7kD67c?<19zYM|r06CSD`wMVuVl@9ZMF;UGraXqG3xHIB$^6&dnhl0BlKWjcQ@ww4oH*R0Oc(eV+4=U}8b-R>4UrwrteORTK zn7Dv&w_T!%*s4E|-VP^T!Y|kQA<8PB7I1RGZF{?~eOPFWemfy_@oixxZy#!7z zn!TIhBo^l>`tgDdv6SH#xai}=wlUB+xOjM+Ofn5m@_F9=SmCAEms@c-IN`KKyheDu z*8hFYIh6okMI@OgIULYM9wbEfV=l5$B{*ELrBBWlWyqi78w;>}O9u%)Y`-AWpB&SV zIU$o`Y>`5m?M>ambS;2ei#LV5G6gI+@2+X77Xb5Xl#6qimo!|))HEkiR2}X>qLexW z8Al|VW-NLVRDUPY3SDte>3_)atK-z+O1H5{Ijs_9E(YkWbCNkkD#b<$szf2@(yxVO zkOUx~c9Yw%B|oFjWTZ>4apj^L1sa@EF&cm!HTSh@%v)ZXfhFLxh1k@N$5s($A5HTn z0Rh-^Pg?+s_XWU?lgOTzDLw_h9Dl+ht07PwYA?L)n1-HH28grod=MO|%0?SPjyg^e z3MqOjP;17SVs}HrGu=2<4W+&8Kr*pIVNq|ms};h07#Ahk$2xS~Eh%B!Am`4K@GqsczT^B1(%oqO5ZFE}9NX@3sP`KEi3#%;DOHpT6 z6}!qs8iu9R+QcSA-p(!z^Nyy|hDl4!cXw?!e}EBo_|5yv{ThSk=HE?kU`cYdETDxaO%piYvFlXgHZ@ zz$=lJsLR$H3e!$ypI(+Pow)ok5$HCPTcq*ncwV-8i_L7-=qV><{|=|Agy-|dvY3}g znzOSiW$UACB#h;K4=QK1%fAyV+Qp%sVUgbVNy=q_+smaN9MCgWZuC5AXXfnR!IeH3 z17zC8Ix+-c0v8`@F!P|8j=_MOwq~W*OifLNbi!^uPqk#z1mS>tS*NY2^gNYNrvtY~-XRQ&~nSe2R%#bUK$ zYCMjl<&^|5YyvR7C|+OFkImQrjz-zpibx}gRN9dBU>Wy+lP z^wcRLcG8CLmX5g?(}Wm?-E0;xvwV_bU7u{VZxuONYb?|wRrcAkGQR;P+Fs$JP94m!lfFk}z zTl?%d)MPkWxarEf!zRg0@xn+Wnj|iBH5ZfI)5VjKDFtp8aa`t2I>5cinz_hseG>EJ z1VG_iH$hVBybCbsVBNV*ZY5Cv&7w;M*?|zSa*Dj-64oVUX+^Oh-MnCRW!yZE(;=|9 zsEaof9p|A z@~EvrUAIPYn%38vv$s`^NQYt*22qI=X%nrRj8x|BLkSZ(C+h~;>-u?KFjr2aHUgW) z7v)|vIz4DCRXgl$e?Hyj$`mPk* zPWdY=XOoLq10xMcRfx@Gp#mRe8bb`NXpH3ybYe9v+JEXYJd83ebf7+_=0VJs zcTC*K-4!=$%VF{go0ykxqF`+I-bJVH44InKaV+Xxujd5_GoAM}#n<)jCfPJSB-}Z- zbrnfI7kzd1sli=XcDuPCW83fX~k$5DtW00FBPsJQ2AH=`db$81N(fbzHRdS^*Oyf@YD zmaK8~5MNUQY#V%OG^E&Vpf@`sZ1Z;E17y)cbWx%9$^ZlU{uc?sC-=qZA3k-Ow>Q2Z zWo7%dkY=~A;82DW9fK@FDBCxpZrxG4%;1J7!78 zFcdjr;~>NwEcB35>mjxu10G&~le%GU_=v27nL}#d7ouU%g1?PL*?eo}z@VMvN zV%!;EH*C2|Va3`a&W-k$CF~^F^BnWD|K5{=mayN4om|qt_}PCWu=pjw!_Hp_ERdfq z%f~JwF7z)^n4H9Ec_kKB)!+PVRTfUYV^NqDiH@U%jUUo6GTeC&<47d(S_X zFf$eTUkI#V^}i5UF}m!(3Q%xTdQ^a#MuOL#zpBrFQLuF4SdRCkoH}v;I`y>4m9a?S zwl9>m&pbNy^gcfI1pQ!tk+VyVEMXBKIlIF-rs#JE+HIQj_o*kiBt2Gy4fvJ46p`a+t6cmLC z{X$@++DISmNu9;PCiD+K`=682BTE=KDGkxdI-Zo~MOz>F!H(fqIib$gp}*i)E}$Q* z?Z^*i`pXa2^~VpE>j7>{TaUM;ZI`0{fVBT93j5WNf}*hQ>c1P(|H;xmUYLTSusg{0PE3TQ`4rtjQXRgY25MD z6n``|Z6@@#6m)hZbc4sA%>&^5XX8J1roC4OL6&yY1&lV7Mhd$|J<3MXaNE2>~WYuwc))V%c8eA0nIset*a&}Mg*sGY5M1l!7J zMFJ~@Af9Ty-g@xXeSnY-9_Zp%dLL(oOy9;@yIVkW=4GnV0Q&!>1!nwJj+ z2Hm->bhBJ|r|%y0BC9L=RAn)D9QzRRaP8d_a8HWsq`RLtk=I^{`~wN z(X4XTjp&9q4~@_7@9vkMKVY%2KVOGk#e_cMa;L<96Wy-BF*E0k;RyH~@Bk6db{l%V z42AQbsogG3omDVrPCM1c>y#!!?e<*#z9CUbh~m+x)N|$|T-lBJBVO5+GpG`$&T7fR zr*yn0CC5Nm#^j-KQe_Z-mjdh1IU#wbGM=1s^!Glrg!e^XW8(^ z(|NF?Q7tDer^+?6^3uSNm?s?5w-vsC8`C8+aASIt8Q*mmvQyeg^!+>6>^-@CGCXr1 z&K|}-R6MMyPyxXQ&nnmnNnBO$s_(gvxTUOX!*=oe3F6nEz?JIJ?fx1k_3`& zJltkgMI1uzbSNm=aNg^C`ziyGZ}_-)?V|vPmOY7B@kcY<0NrN)0u0d1dqvf%DJkdD55B#d zq?Gyo@wQU--y?2REQUZ!!Psc$|_ z!7&!VaI}Z>BOOvLFs94fag|MRjW?IC_V2^c>Uk!x~Lvk)v(or#&AD9$%U(;^S#4aUXg8(RJ@LJU$fq;Y-pKg7;C{)AGf|}0h-H3r3|f`AS)sJWpI;LDHMPrV01Fcu`-dW5KOoP^5PV8 zX!ye1#l(5t?fET@k}up+EIPWvo5gds19igWSRl^o0fcz;jx~Kn?KxPJ@SvI4>4kY+ zpX4N}^B6)H*LW5Eg1ev8GNl1ECnN%Ac`IjNo>*c5cY+a_au-`Cwp7jXT9?b8UgvfK z>!(UTmuA7O)TU$|Od&=gnHU8mQ7vx{1#7xB zUs~IQS*!Q&nYH=;cx(M8(){WMHJ{JyE1O>b_Di(V5=(5`K}l8CYgT=g!=HshBL<&b zSPC4_JKbg|f=9#e@4)En$-|Z5?JRBkycE^Vp^s(lzPRpRUs;$Adv^QT&#%($uhHul z;;5gkhVBo48h;;hg6zf*ih~g#vpt?iZ;izIV3huDd!qEr8b#E>O)N!6vZmfTb;-dP zuYO0W`OG@);K8^^W=Fc4-gCys2NN=PJ2J!c)(3WECKYW-Y)knu*AF($l?rY%+Cm?5 zJ~JKCcNNVe7!?nZaDgY#fhj(9O#(FVTkz}+J%b`lR`4BJHW z7Fxu1$<)Yxx?5jqnrB6tPTiwc0W6SDP6#mzvKXCCt^7>bR*3u3<`}BOP_k+&RK0vN z^p#PPBBqLgR^o18?+4QiPwrUGTgp%iRfXb8w}KqmhAVs8bsko)$}#pZUi+K!2)#V( zt;mP4FT>&#d#M~5%IxEUQ=1l|8HCff$gi))DbDj`kuz(x5Lzc$2eFioRtTKBABM4? zveOhRIw1i?S$sw)9}nYiJOT!qtTXIhH;EoY-1oa5YQhSj_{R(4 zQ=KKP?_>Q2A773MHX0-5(>6?fXpH)tGA?kJu%x30pS?-dIs59e|JBl$hp!H9uv*`7 zOMFoLoPDa7B!}SLPsb-2=Ev$wfYZK#N0&` zfcx9PAoGuMnX4%9NWBU&ok;6~stR(GUbZtL{S)^~eg?Olb6? zsi483p@K4oNZpNYp;Z{DlVf>>0`MGTV>9J8!Y{4AX09_(DqqrJ=1Y^HAH__F7@qN8O^*KJoTLE(3yvHN8GEkds`0b=|F@hf-$`d9JBUS3f zUlbtQxS82AR%!#!+J6NCl9u2WLWGsIG&n9k>Yjbt=*g3PDB^)b`bD;QQVZOv`8-v@ z;0MVw*RYt@(^o%`Ueu9}J}KggMZsc2f)Xf|R>uo3e5;Q^DC?ium7RJJ5?(D`wjUuz z8#!aFSMtEQVaxq?kQ{A1VO&igT|^jHWxsJk9?{`mWAA}ej%_tWef6i95ka0h5gosY zUL1}2MCWbZej%ko;J$>~X}r`BcMRR=1<4|4)+}9sw6NnIR2uE~K?4x7Cy&{sv{Mtx z^9Ohep{L#Twfp01==_H2yv3$CpSbCLUQdWyQ|WM0-2Ui$`2}7CMG!zp6*{TH4GDMR z6ZyxK8$(n;Ts09O$mI+)X8UW3CL;}DMzd#9VR1jD_;Kb}o`OzDZH-chA3S*wbV?;nAsa)~PNEn51`PCJJg*)(hQ8R}4tN zHU>g)`s+1;D>WJ5{2*;Oh!2NGkd=q@aoZKak`{pRKEgCic0Z7E#UN7A2=)GW zMjDvK?d%r%rh@w+K9h(T^F3U6Ig3Oc55ld(tc=JdBXTPba+Q~J`Hd-t6E#f7Sqr;z zv!x^5Z+WRbx6xxW`H3)C!WtmPvsu14taF*nPYOV=vd&madH?hG4g^$?MQzf?X&xq` zl7PYjBPtw|-w3;@;Y+OPdI$vltS2Gc_ckSl{NxsI9j7!iwWh43)ZIDtypHsRnNRwr zWzST69WNkULH^aBw1XJ3EyecLH7&@%^|?{8xKjbbL11{>iZ1YU#Y=D2hv?h40?$@j zepEJtIheV-q{lQm21%8CW3xaML)l2P3nU+8EHYS?_XJktTa@RQqm<=*!ID=UsP9Qa zh+h6|i4m};)M%g_3_ZPg-|okk%P$(0?h#>NkpS^mo9N{-=DiAdw#`9=%bk#jFq(4- zh7b%S^~EF(K5Yk5t&$^j1ps>z#za&=m0h?lHAyAIUe$(+trk`AOP5&c1zXw93g4w@ zKE|pOj}$~?Yt$Ie@<#sNhyKxB{VT5jCRTI(2mXm);t#Rm&>i&xBtP&Q-#A;_2vE#UY`UwBTE^fpoWx;*=uW_c#(Kz!+dL^x44nm-~G$IxC zeI#{bekFDg0%gF;rhR;`1SWP%FtLlX{dK1FE3Qkj{lQiL9n>}dvRr{d9XwO|mC{v? zH<|x)jrlvGbLqx&87BWhKC%A;R4waXbR5y^|KxL{5YXb?tP$1W8eItHb6rBW+3#>} zlG0%o8YR8Pf7*Bt~d1OILNZC+KRf%^+H@L$Lsu&Dwx)EJH5Y^Tf z*)jm8bf>~2owrBn=+P##b`-DA8*2bkpZJqad6G>9k0UzYFGO|TaYR2_V;)nV{#s+Y zYo_|^C;40C{R2+@S5S|!E{?ML71Z-0oj~?eae_OT(i`Hyh;G`QY}S)%HIQlBlQMSv=g{}am_y3=b0FLl(U_qO2wvRpM2dRnrM zV|h_i-%%$2>t3m=LXV?l~e>x7yxr zI&)h}aJkp*$LDmN{g?9t2s;B&U_s|vgieF*vAd8R6I8%T-kouP8qg(ld`-K1?lyU>O zySGXu!xU{9uDZP_xh$7-{X6&eQdJV1Wq8|xi;%>sbI8v-Y6Y^ZOD(B|ZMX9sV~IlB zAKX31w*qTZS0gFfG#6nC~A~fygde>;zRGuM$$x~`$ zS!cN+Z{~;@2APKw1c=Z{jF9m&TaG~@8k%K+65MXp!J=k`P8srF;?IQ&z{ZCWC-OS( zQm&?`Y#>N5oG4LB3W-D!N_0JE_8HV?+h_=4b>fuX7?wQQHkOY&St+04MbSCmrL`nn zV}xs=U0ccv<-pFy7i3E~D8L$;RV@KiXYf{GM^m(Lj&;uEZf zD?jS#f1V*8`?V^)`jytJdYSU3rbdf%`_&GQh!2r)NiFnNy)uk9kO#u%`~Y3wN71v1 zW59r#EXN&3T*o9VtHp~|rb{<^hP}C^I!nhBATfp*w0404n-<)hzCc$08Y(az=RUR0 zXwtPvfyXtM% zbu3zN3HUp_mN0*`;^+S7+NtmqgZDV-a3$&VYPPr7j1sv(7HSsFHcJO0p^oBudMD9W zL}<|6qqu$plyw6n;GaeeQQ~*^zmY8i|UI}_g4w-)w4I7!e z^7?$pZV%i)>h&!4N)L|B=7FF|mahJnvkW5Z({QeX$~3Qqv-&*3dJ?-cT=0OMNyfL~ zU2&;tRKB~bpH3>?`0-)O?m|eKxPIYt93O;3!~tAfI%2CiDsUQoB=GdMV1#Hzltq{X zn;;I_d3za|Yo2x4r`^q#{qmRDLa1sfOo`_E>VjbM$X19!oKXBS3b7_PfHoi~5eTX; zlqoea8;KCeh{WL=Bwm<|L(yFeDIpV(q(-RsOL=he=N?giBE#KO!2}>ii@C^Q1hkL$cG>9 zBJa5QbS9T0aK!UiEtRU*m+mkYzE#;f^K5vH&NP)oIOLXYtj#Qzb5)~jkuNKh!k#km zg8^LH;4lfhsz(y&&;CsR>NG#&r&OXdT!N&jvx$4j1#umjs=6jw!sMO2-LjO#etZbN^C~49OXH zfrYO+y%U|S6#2E+v5Yh+BpZmBhO;~dFD_prLHKyeO)-5m#@-M%R{YdBOQ4p+25P72 zel-+?^jno&Vdd1#_VIQ#v=E*Wqm^EcN*3+MB-y@cgL;0C>HpExYl z914231|)b{1$|q5DrO?vRnu(rCKV%LL37G{hseH;f90XSX2l(aX`hg^$4{*K29|2u zLgSduRRa%s>FE)O*G70!n+nM%AZNB}?dB)paX-?GE7liE&OMth>^peg7PWud?q`*c z@ec)(=&h({uRR}LN9gmTxlS3cjhfc~+Pkg8P%2qHqC`#`X8? zUvANbeyGr|#w@faPVw|w=JQR7Nkcdk{S2mLA@Xa;O;_n_Uotd_NH(P|6dm@va%)B0 z$Liny}rd? zeR9uUJ^wm3TaA6k5SGo^ak8pgCJT{!$TdZDp5;w2Nhnp5d!l?iIfS}}3}R_8`B|1J z-_Puo(WR!~dZjzQ`;U4`Pb@6JUK+&n*L-b%+T_~*iM(~vNWAnLN+$cNX%<;~As@=` zJ+o^zoNglyze#@6Qy3t;#WF#1(m{kY1zszOFz;R?p-lU9C&|x^>gl1ygGfX>S^^p5 zh0B;`r^JcGvFSM|d-mOB^L}`#{tegz!(+r z4laFsG50Q_)ak=4!yWl8miO;PO6nexoeisno()HIsEnu(T&lEwvgXlg(ZAZwaKb@d z?N6b@u$v(e{54X?_fpG}_ag3HrX{4|=jol&liS znM@FV{tVIqxgCbVOc@D_$Y+c3*_jiN*#hV9>$5DmHxT(W(?J-fgqhu?*>a<6c~Gl3 zbd~{-x{ujJz$-u^FgW&JiUU6Te&^PkD8SFo5)!~=`mn#iDiO>S z`5ZuE=rB(96nwR&Foy(-sQ^`K)K(VgPvXL6k(Y=--Ovd}S_$45(_K;7)rvsA2jtiG zjL&_xHBi694Yy%Ae+@k=tN-2g?T5i&s5zJfx2-yZr!I=0!>xYL!}zbZ-DB_&@g z1zBm_W*DapO%=rX^kl`{7@_=GAqbsEHAw>XMX9&%vycW*YKs6)o0Pj1;?-#H+Hl>w zvsR?t=!OcP6?#K8 zVe?)Kb1TI8$7h>LFc;d}zCfk`wHJxzV9gJ0pr^AKU!F_S!mLT!>KNK?(WH#_*aj3j zVmyEe^&F<<9N}e~*Ga##;4v#G8AJga{1XNI=jm4FKT*JcvLJ{82A^(!!Fm283;uq( z_f^LVmyBt8D;WaT#m7$o!j$%3G|$V^q?*Sl@Vztu&*dG%cK%i$cY!aq4N-q>S{kD=Qeu;nO8>GS|MwT$q2B`JqZiwMMZ-=o z8vg6Ww)Hp~f`b+i)YH`u2Oa@zfI>RyF;GP8un6a%WY)`#!cs{P2N-3IE>>=1oz*O>sIu&uiZ>8l=|x2<73lfyQz^_y4bNX z9VBFYKI+oP7n8*?urui(L>!t)uX!gYQxkck#_4vsLc40^`A;U2z|z`T`H05QFsSs! zBRDWGxrETptBu)9)k=k#5d)uJEh(tpXe*0c9O!;8c6e3>Vx)EkaRaD!5E<*mB2H^P z?v`KYsD>?Q)9}n4+St6QzGe=9e6rQ@JO36zmpaEVQ8xQ5& zhwh++AkOVm)Ue96G-!%Jr@AngL>yfC`Ip0F=WM;j0hZRjyG^gNhol&4u1F~mbD0>S z##N-W0ksLfcB=T|RCvN_24_3Jj>-9N39_Dz^{G1ikh;+q1c_^JwuJgn_zH3W7La|{ z9iDBF(EBVgO1QtCM8fwf?1|T@LRieBH^!6PC9`#9=Sd)_7-xoI)=q@FrVxt~lwiT*6?y+O9qN+B~h@nf`j37yj)-@F>M=lMZyk>>WPOS6+AI_J^ym z5Vn@b+^j>}{WkU=vZ{hrmMHReCm_Mm!}H8hEmsudh~q;RSkv(OlrV=5iXqPL(2Kk* zo~54`eB)ZXiEQ5Q_bedipq?hO9}flR$7t+q0QA$~O8`+^e5uo8Rm2C9r=&6!2|{N{ zgT-cw`k1?J4^FR~-s1BU9#E2eJcGGQl+ZpS`IeO-a? zE87zLIASxA;39#tmwB!gMM%80D1Z)6B}HVuzO#67$$ty z2@zbbTvwpl+5urFT#D~KG!vCzeFXSQ&O0clH{2u_Tt9F0#h!$6ROt|!h2133s^IYC zq0m**ajoGe-7gx=OgJ$3?cB|9P60BboeZjACuRj6P14c1SjH8sk!&&`gXc%wnfZV*s)p~|-cvC2rW=NCq+6V!Qy4mx zZj@#Sbq0nG0qIb>K^hc9LXc8v5eoz*j1z1zc*Z#MzV7S3?&tmGd0G4cti`M~Yajdb zJ&ukLID6In&lIy3G)P;+1q<`{ zG!4-%N|5*3OSlGE3yEy5lG~XunNw-H8(kGRu&U{^E87vlx3mTvU1d>NZjdu=@N7BMCz9`)a-UHL+bjM)# zm?o4cw1x=VuhV`bS&DO5av`9WnW$SunP4~M7@W`DYBrwZ{G^`Gs%){abFG5q!3@$9Vdr z70IOwm|!NO0h8u|7P%V&+|*80unYGr##XXY))<#x15f&yp~)T zgo^s8>zC4Dzewxh)YDgXG8nc(h$V2p5ulO7Qr?@4?(JX83&2TGU7miGt#2MRYV$HD zA36*bhRjYzLNdpC-*SJ96txo{BqunzFmyk>5M>RC)miU=5lJ3@;SO zme}9)JVkkO)re^bsdsqJ>J&_JgbC1`>Aev$Sax1M=9#8);T;U-7Cvo+<8IrhiAa}Z zb+{qOLLuNd0G9!5nwX6A$L4})W#Wn2TpK8T)zo*L^`52oOj&On-J?gc9jv<=mmGAF z8BH{u%m5{cGhEh&sV%<|o|j9yK#!owtKwg;#ZcauH^B7dyws^>y9;l-V22SCkAO!Y)vfz~zR4ePsV*sVr!64o@5D7V3sl z0I)eM*c-DFJBp@nVRoTy(M_1w97@l6+V6)r`HJAsL`k)On|T&lj5&0sKgzlJg#BC} zGMx-B<-*$c}mvgpBR+W+9&ZNE{V%dC@9GnM^#@@e{^w#OngWm$@n0g zC-$gl)R5@Cmj}tgGltmfJy&m1ji~pJCTl`*@UBI}C6gn%7f_7slO{?&Me2jA8FxG$ zgxM(^fuc>-3%dO7=}cN4znJdPeSa(aV-Kz&Bk&L&|0-V#SQ;f)9P}R+b&-D;7rVZz zS;c}8J&M;=;I^tatbkV51;h_sprzNYK)d-mKPY%lFXo}i5k~;9x*wzFVvIhaL{z6_ zzwNKx-8eMqJ$8FFO5@Givw^oW`rqE@UjF*>Zu9D(ewK5|lUeQd>nD}0Q{opjkKW!o zJsuXYTL8%h**>h%eUc;lfTo>9AD}(RtjkJ4<mm!R_ATqRBc(1%p)!<14jv8uMuH+asUi%no#nlGnqI z@Y4wBs+7w>7|MmMLdbSpVE2*QU9*z5cv?$z!s#qp5iJ@%B8PV*G)czdDK66`2{i1b z)F~&s3no4diiFN(kS<#Q02&sqb$<5zIaaABYqY|4xPl04@p&w-H4UF`($IDq+dZab zvTSiUh4wpjRutKbAsEYAVqu|_*H|{K>M2nM>mza2)@PQzYqZt6;G|G6yuC2PmzB$fCf1rwj3l4K(VhJiTUN=$jsp>i6!MYT z;ZeoV9;RJH(cLE}63I`#wlDhcb9PRsxD6z=ms8gm=} zJDUXmuMPEgW3Kowo5bIZx!+5|e>LX*9_Jw~sejrevVIwJ9ZUbRq$a(f{i`vz_77w3 z1>c6epT^uDFJ*r>=63umWA2rP*gqb@|1jqMjPv}}n48c^T1@}bn0w*-X!=iM?jMPs zpT^ujv=Yr-88xH_@jBvPjkzSPL}z!&pIV8|{?31DB^v*wI`9@r=$W?ljR> zF`5JlXg=5?2_>Ar{BMO4MhdlN`I~MAPE%bC3w7pIMrB4ngc6;8OO);t=u~t@;x$#P z0Q(NzxnfiQ&cIu}`gftHC$Gh|P^_#G=$37qw7&@{;Q2T( zP(0$3&)ZB|codKk26M%m2!8cloY2}VA|Hy`C(J)e+iMZ1(vn$K5lDZ2E7?3#d7iE6 zJUQfwd&V2xaMwhYk-JqfJ4eOLfq(~3+|tNX3@Wv_b(EdMt)u_~)#HG>vrt-Oq!%~cHP@PT;LFVKqXA8@7)@aB@dxpNwo=8+P|MKUcA)$6~B zgy;>^@b=*=j*BF$b6y$*0_Lz%A$l77ByTQ0U6SO@C4IRS3{wKkUob?p9OqgRzx4n= zRJI*DTOVJ<@=|P0U%xo4#`tuqLY=v-pldy)b>A%I?FS}rxEjg8Bysr8vNXVB5|6~h z4f6>wZQfQkEJG30ll?Vt;-SiDr5%37HUcO|M#fdF8in8VKhv zdIXq??dA7m2ckW>94!hU6y--(JwD_7(cMhMUo>4QG;=-|$Y4>dVb1a;4=aXT8XrO& zxcgaYCoeHPf%xJ^Y!N#{3JUs4w@oK$g0=1+-EPk`EvM!S=tRrKqOzp2OcEri?RPDf zHJ=Z)B?wB`(Zcx?l9*d*cP4Hm9@-?2!XB6>rnz1EoXDoldJzOZlo%n7)PvlwXOs3W z@P38!*GkWl+!83#i(qAt4hI6kKDsm(csiqr%o8pg6A2t%iA6hl+JFl|m{J>{ZiECt zRUc_XgVgt%8$f}#`YKk609vpzQohrUdJ#yWNh+P4M2d%^Uy@HOTM*{32e& z+d;ykB|ADrs-(iCSxCMt2Uo0-?D-;-_~y>C-{5#LY{L}6V?C`D&Vnhnmw4Dm4^R%3 zqrE-|v09@*Z+E8$Cwh?a^#FVFev&An0hEJp)C{xf9UIrndKESTpPCiEMJuZn{ZZgl zPIa|V;ND!8(s5Kk6JTcP*IQ>U=Ae&G6hwwV&*hWM2?Cyd=J04Wkl0s`mR9I_HPNkJD>I}(Q<-QT5Q>sCxM$2$foow;BD=g41=kg?_ z*kK~$VMtd5OssL!zyV}TsU%~=Hj-M(+Howh$cvfMMs z%3s2Tq#SG?CB&k*QLCa`?>PW6mszT|kIz+8l5Ys`^q^QS@t4WX`@8$$54&x74_mc~4?A!|>LbGS`AOV{b~&3h0$Tn~dj z1;#L-v;3>c_E#1MKjNFym_++58c<+3Fz7OR5!7;Y zUWSRzWg&7ax(AKeg8Q8xVD%g3CS30h-CaW=&q}(PyWd@`A{)|l4OE6q6pbAZR;U)b z^;D5uZi$liNa@1?2d-Y0+yWXjrI%o*^8D@Cxp&MT!|E&_SEPAOfe3J@jT-B>#{lB+ zmuW1Z?g2Yl5)QPthq6UH`m(QTBZj(aDi)rfsiN3&jO>5fcq3od1K66kJVC*pi7FH~ zWi8jHv)YEM7!=<*IQqO|Lw#S9^WX`?5tnmcr?=aRddUpx$RqtB4Bd;;*2}D&Q(E~ zJ;AVzb-I-G(_e3LCl2{D`hYaZv*Z}|w*cK%1OYX{zGsaW#NmaJ_!iqZ(G@fW8>U-? zJ~Uq6nqH3yxL-OYK zF-ax|XR)Q^sHEiDrR4i0!ph-wH@S;(DK_+M7uixTZ8MwEvoi#<(W@la zs<7t;v(txhDM!RZP~McU81R$`*BxS(&&cMs4Gq}taA?0hx_BwX!z1^?Q_j# z8+x$d5CraT<=p1$ZdPtWR@v_K6&d9FUgkJ(-XH@WobhZugKRj1j*xli+#r$dl6fg{dgoE6MPL$d4BKA3y>p9!`nauZWmY+xx z-9(cQL#&6A&ud)qq4EJ04K4TQMclJ!udiueV#!sxE2$uq{U9XFtN}y-5CJsV)4gm9 z!#tamyymB;wXcBes$M0F+%%FU!ENCiSqO_RO8`0l1))4U?~^nUAUWc zF7;j!g=|qYIpE=&@3WK7r(K*xENFiN;juzoD~OF^WbUe!*VvFpZ`d6DR6;$RcBMg$ zSS|^ZA=d&C2A^^m@=8XFZ15EO*bgVRS%vIb!Yxlk-81Q~o7Tw@PdkgOAtqQ>eIIo4xbNLC?!Y ze5bZr$=78g-AoUp>%J632?Pdt-~^E{Bd~1KAS;)b7=&eK#y&fA#X{Tb1z9bUi#=kh zE6CdG;Mwsxt9cp5<952wtBG#(~*=t6N&8{|@aV$08q68e&%-|JSpWV}`U0b-S z>c+-1##8GnR%_ip)zUB;g>XpR4Yv}>vyiuJ3ifkvO}O}~*OQN;=2?Z+QR}EU5y!3s zIaLr_3}u;Y}_WuUE9Q^-gt1@|nqR&r9D5T6(yuPh;SNNQo7WYT{zYC+Nk}V1GqZothnlatX64N zv}m@SJ> zJYPETzP=-Uxm_5k0(0%b zuy9vX>PoHFN!uiZt$I~mxah9ecB;Sk&O{fE*q`gq<1ntfT@^6%zV{hsAn!uMs%k^c zRgZiJu*Nu~$Ir`0X<#~kpf(L`Y4WHOzucA9|KL#6?(#uvdM6FO&C^ebdDPxJGT%Gq zeN+1V3nTVr*Fx=Ke4R5D9zIC9+m#dB?f%j`i z-oL-WnHRoHKg<}Ay%LmHG!=>+4x{J|nw$-yBfq|%c79+YtUf9Pfi-oKp;eKAB;0R= z4TqgFsX3Y?soZ-LDjSy5Zf1;`a4WdP9}r=Cm|pJBsze;R5xgbDz9wim&s|kstRsg@ zu#L>>6^-4B3@eh0LDQYxIm_Wnr(-@+ISQFrqgyK{j~9=6;~jNR1pM$p?LY*4U3a;+ z^xUK_0!5`4Wm^=dj|(G@W+6<$Av5hA(-EDxiM!KROwM;Y6^}mPX_N#neTl5xoXL!* zezxUMP+D-qSG94vO^0MB^I}iaO zLXk3glh`evhm9bt%Zc&1C5V5ROfqW9^u;mR(@8XXjbbc(Gzr1J#h?#^{j!=}?uHpdBEGPRn}V>!`Qq%3BY`P4rl9OcCIz2(#=`iXXlBQUAjSaF*Vz57#_HQF zZ8?}`dy5Hs6r{o3Jnekf_F>O3(@(d<|En>vUw_v>Vq&BtmLCoCzgTuj-%r1wsKPJj z#9tcb|E4PTcRDKO`D3{BCmmJQ)cSF_^50g)zSB{gU%K62RWVhypJ?>g`O3dSqkkxN zWBwHy_0%``=UC}aH2UvjV&BoIp+o%dmfimWjs9qr|2a_lH!-pQz_R<_a8Z(5;&;pL z|HwsuFNyt)i~hs1TT8Shov)BeVx(yK?_AXVhfLy+lGyiSm7b~yQmg!rY0{O(GyfM{ zw0NM3bhSd#?f&n$Xk&Iqd*a`TXl?!fEfM_>V`94h>zEh~35wpSly@}zuTZo`yy~w| z)F802W%7Ofy{^EUt>J0!TOMA;ZB1pwysw&XG3j>;3rj{Y7QwJL`pNL*`@AZGI+)E%Vb?muX`T+8LMdYl$8?aIY&p zuaE#FkcH-k6i7PCZiFPS`bNXJ<<=8KTR5FdvwKN!8+ZflO5 zGfCBDWA@ z+gg$&`CFSuHjo>^)1b@)cM6Q__G>&k+DC3&lH6z5=%TRP*5f!($!;f}{DhHjZ7IjL zZyfEZ1F_=_#|_LAD88#NJaQLcz?pA{?AzsV!mx1&j5)eK;1%b)O zpR#|^-o;bh+&=NBj$CqFIMhh%jvSRl`>c|`dCwe~Ihop!jA~wE^VQ-kV8JFPkZc;= zvCF#Al`>mEb}#jLp{K=7et=_fg`yf!m`$tR@It&s^mFP^tu~(lEJf>KjY`=SM02o= zXw>n!4Bjir*_k4V2>M}xMs2B|2fyd_z2>e1^LZ_WxS5sv_D@Yjlf z%d8vvJ}D+vG@}szvIiXze+Za*0WS2%FTk@w#Qm62DdmT;(^BB0W!cs~2y78^gXx*Y z(!2Y)U!}6vqa52&t7s)8 z2w(UJZ-Z+c`@DW0#kW_Q|DL?F>Yh8#?wSq-T}KbKC=3bRflfOiM{}=8d+m49(zs8^ zCA~zWtR}dCLjzJ+%qPz1$mTjE!bjU63Y7$Pt)zYfmz<$LF3z@Ct`&>a;e!J3MVw>t zV2}iXX)Sig@iAHpsRGOlGb_6c9~BSoKU?ODV(nn#$gSk0fvh1)WT+uZ6Nw8H9#JIs z?r%2)M6^ryc%R^w0B8krU2M!<-bGswji=_?#G+!jCRT;*4FMuXE8b)3NB>L1=tnE; z>c&lk$`IvcJHB~_31hPNul)w8g=LbipxyYB<7zulT3R5r*LGZXQ@~RRawyqz8o~Td z1tKqd5QI^5og)L8ALYabKU(URx~Z_mM4mGxDqdB(<#F$p-9DcF!K93ij=l(L?eI9R z@=e+903WcLqH~UNG1bboR-Qd7D{A@8#qKAFv>tOkEM=3;@_-rNHWEMtn4|jS8PjA? z$({FJdZo)4P~~J7o?9f#rj(7B@e-$Y`#9+^^nCQ#s^D&lFEYUQzdKJL|t;j@&YGj7F8gzFj-@P*Xnjvi*E ziP9`NMhm?5Y;dDN{jN1)o;%ZR33RBb!K@5X2GbG~smzCt5wcdodEo7-;bl~E40KUe z9f4IJ={;CU<}DVFPV#q^R=c}*<4xZ4=1B>iq$60SzDjFgecHrl^f@8wFkplAxTvc^ zxN=st(y3EP1`RPevZ?R1X82X1GIrttK`Vkv*ii||_5|%1 z-A1AXAJ_Xme_J4vm*GY?+}<&cRU?aDl8o#1V>eF^pyJK*fKrO)@o0|+2NQ9g7EuXA}S16w?q zWBo1Z-=-gH>hIlo_b#*?a?2a=&(NB|B$KDMuPHk<-8wBy`bcqjiw-{zB-Y40+3o4O zanJPDwRd4wx_Fw~5EnR_XTSEG#1%6tVtGrZxK>riw%&BXw7;fD1JwxGw}*X|k1|@s z5F7x@9wVUE|j<+x#~qd6CHXeAu|n0V2<~ z7{)4LkQ3*KB58vsDJnTtE)LQ4@`SuncumVzESUgbU>k{e3iX;9WyX<|3iJEtd$e_< z#W=Z!qBkqTBSZFNEY_c|uAQ&QPv29HdtjlN#S>BJW^27{&gRqoAt*U~5HN5!r~h~_ zMf<^9hQr@>d_%Y6Tw+mz+pu&6h}cxq*6XC^;J1B7Rrl)pP--Vu(ut>kD=JF*2n~j) z`Qfr?_<29c%6~&A9}1@Vc%y>r$9`jHhmhT^agTqaCzfPZSL!O$JevQp;Y3&+C~eC;#rirF0;}HZs=PF>#>4d+&E_YItO_+ zKWP#RoeNN2i7(}g7PgB!6d}Sy@enqm=yv?~m>9&;gcK9Q`Jh#ZdZKYUIHFZD(cz<* z7~6jw6Z=n~Xod=4vKRG0HYE$k92cBYoXlLb&6LAOpFD>@^D!mYmAx?7=jOhHG8+(v zA{b|mTy^;=tWIPMb7!nBpu^DE=874Tvm$JO?f=T})o4%DytZUk{k9>S`pb@`= zB$MO*N{m(x_^I$b5`$>jq&WdeC7r2^GGwqk#k-DxeevnRdBXl$p7h!2c6^z%uG#SH z@Y+NWY;dBi$R;CXQ}g8nA*JJUMAPO)7d-Hd?g6usm zT~_I%DV7KQ}rKPAAD->*eWt z@;yG*mK9lFrPg7cXR9i}^*uh8A3UbUvaTjQO3Nhxc4({jzzUex)gtZH`z_QM>}1H} z^MExXkfp}cegtm_Mt>qTCL_ZsfHOq}5}jvwU~(kyuJfdfXHlWIZ(f7BpsFX*$5)*n zrDf}K_PoFuEWJM&prEC#pjVY9ZC~=K4s89TmVlPX3srs3mc#nA_zL@(s7}8N@}+H& zDsTd1+9h6crL@c*n;~Z2=3ekxztC?h>s$@ZY^4Uzy;GZv8cByK8o!N_NfZP+DM37l z5)UhAOi{4A=KLG+fx+Q=+f^{PyPA^%;AtlPP!G)yVi8}(^v@=cN|1qLq5g@gdP6KK zS{|2tZ)o1LJtGId)(Ux60m-6ll5JZR}xV9i=Po{@n3|xBddFwZTia zu9V8Xcp%U{9*$t%VKR$yGw!Q4RxYlppUR}9Z_Gp}vm;Jpirrbq8s*{Um6U#8naqtn znx5yHebxa13iQwlINVqSYp)%)kzXQ8T%D`8h)l<_8{s33+;+1cyz`YGcw4SQ`Hq|7xZyZZux;$8A6P6&DupbrK_m%RbLeor+rpj147nc zTDggL+8$NnD&p9bj_4>9DjwW-T4bY@i@ALHP%(r5d20{i@>Ffv0;T6QYm4ject};T z`;GNXS86HxTb`)Z4O5(07K*5Q?~Yk+g|54!g*_T34MfAi_o>a$_U;acR&$9Hw#MDQ z+BsQ9UE>K(x#Es%S7WF@v)+m}8Wm?YiY9x7I7u1V$W>Cs)9;oQ=cz%~q-@wKo?orA zYY!*5iL$uul=}@)X3}90Ysj7jgFXbI+xm0!u`Cag7y2%L$D~T_Tq9GU@MWLqw#OW` zFN7`&`SY;yJ2~3~+{_PvGzpE5Ycg2GLm^j?{|U#j&x^=S4?_uDj8ob<9P z%e~r6)%!5ji&yt*H-zi~h#X01Y7z5GJj8fMBzi|b>pkaRBB4@xA>U1~1T;kqPEh#o zQ4QLb_zCtf7fJ*?@6YH@3t(Wd7?6j{nQJ~ArV*#KSR4vG`5|BdJU-(a_;wO=t`fdY z0XVVJo~Q$iC59F8Q07w5wN4M>q!DHnp&S&^%QC{@8R2u&zeR=}>8F8g9vTW6W;X!? z_D1%|XkQDDZ0n6k#EwW&M`%cPlR+BjVgs22Mj!PIqjbZUu|wo9+U~XGz9-Yg?uWv? zgQoC7XJQ7os4nR0hq8uL8q|fEu=d|q8J`>(w>1fqzdIg0aK(2v^z!>aaKC}2`6Anw z@cWiG{H(@3Y>|?s5qx8iqfpAp!#VD1pt!K0mBc?!*O5Mik&*iOvJ2#I*7Dbj&+4t+ z;LV~w1ZiVkf?p)H3d;)t;JGgCbJwSF+f!3-L^^H2b}zxml`D~F$l=@G^t<|CcfgUl z7b*=e_?jfowKiwIjO>N^PvUNNU3_t4j{I!L(u8eF)YXd7G22osCbnd&b!RQAk#f9& z@_bf7j8cySM@2@m`kAePqU@W+dm4g`P9Sdr+0(4sD|Kh633qlLOh0Zv+xFt@Rq}Ha zU!3@KPa%-5mHy{A%fqeqXEno_C9-H!ve}-Y+HD{>#GKNTd(oW6w+qbNI%g!O%`>{@Z%=*n-QvPV8^7G4uQ{lMOOd zRQs4@MB^EK2JGkJrk^gb;%}bwlx^Ai-WjV{%Qd{kqc66rp zw-bB%3P>(pQfKVn4MKl*#s<2sTpj$!AoQ>J^B1T?~Li5_+NL%eh^UQn2wx@ zf6hW5uD;dHCNL2=m`j)%Zgnay@Nlc=w%B)j%(Y5A?~#7kAF?qLm=<|@s>X>u`c|V` zDxtx8b8P4*1qZ!rLC}WqcXHV4+T70fY7}x1N{Ltlp?XqE~ z%|i~QwcD^`?#yW9TPun6FoW{+{=WSLcXPg=iTlbU0R3^5&ye!e%i~t}trQ~Tckx=x zJJ$|#FiS>9UN|aluJ=k?!2p(5z5zF3(~9Bx0Mf2XwD(P0$Cww#UuL0AKW3q1ILF|t zVn1e~{8?n-(vE_5sHuX{6SG zVDdA{6mYRU()#my*-dNU^aD8^s`pmV$8zV<0ETsQ5w9=oIuio0G|h^cCjh{NOCY75 zidbOb?b?R;+!I&Dh-D6|Ys5ZGF$jxGbv;gcJl>~dkPGwcTh z*F*8VsV@7e$gvePSe=u~u{&QBvZ_#TW;^w^&O-lXgMW2|SEH81cLK_du3`u5h}x}Z zi2)K>n#91D`51E0!lrn$pdfxf{J!k?r_8^?@V((hy zmelOy70ja#Kq!boj9G^VDr+g+Pk+N3@i=yc^9VMoLr;wEM#(A{^~N0y1Y_>$!Y}#s zv<%WF8_3rFn`#ok=>ZOj2b5L!K$f-Y`(8JgM_s2wJh!7X04w|g992ieWaeCb^D1VH zDU6N9T-nl zbn@#fZ%`3PG;warLsOa$zNtBl;^X23p3G8mR1fjwws9A}*Uh3boS`;e&qxG@pr%}j z0J~NE9eB<_5*!`58O1~Sm5&u>5jjKGoci0im5qxQf3CY|PGUFl4!1w*+Pg^kK4g^Kz_O`kW$!{vYFPsUO zqsfMq^kr$Pp@bmE&9`33x@SL!ACe1>JwkhSH=W#>^;PJ5N2`X1gm`i6`6R?H$BZbH|8IcJz^%$i8 z%JQux-tY{;hdRMkBEtEJG6OFp$xH5y_XL#N5SmWVK&=H0@)}`R02GTjnEc526m(Jo za}{+y@bJqBh2#J?_c0EOo7s!iaM^58A2dXzEzFgcVu<5Zuz88r9cp3tj({lo;aiG# zIYkPMr!S~scPv=XSnQzX$MX}M%gGUIYisB!G^MA@2<@oAGuu0j%U$_PgI8vbNPm!6 z{+#Joc*@j31fd0xwYjoTsFTx?S@d1=69uRz%2{3b>>_xAQ;e(vFmmamP+puWl#NZ? zYsg;IZTUt?w@fNI)S-#`BkGCJ<*1v<8!}&7(cztw4Clc_-4WKq(y36R$KUJ#m7vpC8LPP(1C_ z+bRkRJF>LBiqkB3&QrneT-PHi`x?Ul3!t)O5_@v1O1f?2ZhzTXKHOsCkem)5Tt;R? ziMxDU2(^b-A^uG8fHW3@e(C#yDP|1^#qE53Ww+CvBIiBwM|(fsbbZ#i{dyJQiHq;9@a=7k@KX{s4OG!{8C(u}59m@K}7;Da9w5 zY?&qrkp2}lKXN>?j5be8+bHoWp7z}0QE}V+^%DJMfhg~elNg7J=gYHn<*DiVuY!4J zptnIMF4T@AcgMWUCU*a7tVL~Z{lK6d@I`Na&sNbrK5>N zlgoKj?Ke602S?P^3Wv)#J8sdz^=3XC-J{9DYi3Xwmh*tb3jFnGa)x>W@m_x;M&%ha%}gk(ly+AKk0+Q#`mh4m&(@8&A;} z*I9>`*^Zv4oA{uQI3>WZ6MB}O0 z5@ffD@)IW&`-pah3A7b5B&)!Qj|na+CoNavtV9#cRT3o&6KTT|TvrlLeM}5uOA1j* z3bRX!z$M}S69W3@EEJbgSeR1Wmr}Zta`9tIIW7q{1aH{lu4YS3Q(>#eB{zO#y1+-D zLLg*)OeIZ3i)8VW!AD4E=OMEMlk7C>`LsA>x-}*}0Ti-*>Z#6S9Ul(ql5o*S)Ms+-y5TAWUeRkV)p6Nym47oIaC1 zId+skGwh>)M=0;7c3y?v^vUET<%#ora{RDhLBkQS%`=NEML@?*hD1rNvy2|?F}L|- zvlX4Uj|=c2W>IAyx%bhH3?uBt?`ew3vBR7X-pEd^^`&;rnWzEL+vaM|m?RH(5>-`` z?u|$$kud3q15`CDLX>dS-ZD}^4+2O($;sST!Rq^l-5rsd8j-|)vLVIGJX~m<+2|2j zd5-t;6t{8=8`5MFGu)RAA7d#e_h@75F!B^pf*YdC`a+y-LRaUx*-2EA2Be&A#z zX(GB^UXawI#xkcS(MiiL0Jh7kcgGhp d^R7Z`-bBoHrLj|P93L50Kf&t&09lF$p z$P5Y~kG)8gF)q?p&Vz+297X3O1jgGJ#-yBi+0KRE$w$o>&@%(Xa{57RfpBN>jWS-jQyi}0Z9298|V&mYbpj49*wWwefKcW~d z;b9@XjSd;xs79w&DyUWTYE_%3R#3>6BN}-V+N4UKX&Q>_O0LfcD5PhMYxv4VOqw6YG{Zm7!psIZkceEhbs^$;nYwURHQ|njtHIAH$ zxiKCNJi|3srFz69V4Kux8yYj>L#dExWvy*9EWxbhjZwRTai~#Uuut6q@pzsM7U6pF z49D@WQ)X{h%{ar`$kolXJ~D-2G>~>aZE(}CnMu*Kv$)Bhti0%|ErYxfY_4ck z(E`9*h$qNT80Bmh<6aoa57p$DrCc<5XPI-T?bwsx*rVpy9quS;)yNy}MJ8L-GS-4N z292yc^T`2~=bh?Jpir6>Y#d^-*Q%xNBKp~~_@EsY+`e070?Y1}c-O_kiN%&EOG|XZ z);svAwA|vMkIi8Y!*-AaYX`-WhYgqU6PJ^p+SjW&K*#FH*R{&R?TQn?uo$;uMf))_ zu3Ofb>wA48Mm^`IJ5@^@3;kLHI6Vi#t)c{+Zg@JSGa5-6SIoZYu>IWlkQupP?TjJ! z(9*jC?73qSk1Z4#$i#p;>Q|(U$~>Msw@QFroc(N6YS%nF#Ebf0P+lGD?tZq~t>j?p zJTg$}IG}4RXuBoSZ7X zrduzPsKb{?+w#86V+XWe%Q<13Y5&Z=ax`xiwYBEBJ6~rMEJ@)?R-O`Li19dEiNfj5@$lLeBU;BF?2Lt~8 z!{%fF-HU-2l-GJ+%he;4t_u%u7*!~j_At)-=Y1ZH9HqenPJVjK-FiQGEomX%l(cs5 zVlKwFM5rzPv+r;07pwLBPjFpqs=Y2a&J1~x?V_P2_adOci2JHMeDAgT<6#=l;$s_$ z5%1ocu8s$CMz=&mEAZHe^~0bD%JLhDk}#p6YKrWm2R&6^^QnV3BNTwhecj2mn#ocp z@Wk7(6_%6h?{5xOPNbWFRWojW-jjQYN~c*PTb(8;=_gdEy=RywRXPJ7vQ%W6M8tPY zJk`_cMZ@A=^TdCd?p>esuAagVs4tOqs62q!CvnF-xQWW8d4}rs+ttBh!&u9MsJDW) z`^RE^avwek4X_1GKZIeoe7CV-y2`5lMt7d4=W6M*zZR$eN_~rcb4G7Df+#Z`LN3fc zBw*QLTLl*8>EaT-BeSn%A)=T(ng!deCX{;k3925S^ZGt zVs3Aj*voV0V-UgWdeMh>OF`$zH{SH`^g+3ow+`m!b3*4)ujeJcE_@Uj3`vQ+@}dwW zHIK*65w=Flau?R;=Jssq&Avurk4EX6E`5EY7%37p{2+EWsgdSZNvk%}P_21cjCuJ3 zPmKszXPf#d^|p&$Rv|h6fwu?8aHjhU{?oV4+`SunKdIy{>&l`sNE*2A>Vi*L<5F*} zV5a9J&nyPrTY+L0Z-uKre-=+)OE!q(V#5bn%dUQiU>3#GrdF_>{R&>CU>KP=ukK$XLnD3nVK5>1l3)$zQ zpDv@mC6!v|2ySaLHv_fz`<&~Z&~)n}nLTtMN9&1#Gt8=mPK&0HXZfR(NAbo_>7E0W zUaF7Cf**gn_PG7wLpX+DaO*MIw`3<3;xFF&i>v-Wrvdo!cafUV02)dUByscbbMySH ztf_PJi*pMc;}%u?Y3utLTI1*AlN99R6aVgNmrzjum0J_!R}tk`R8&z@l2Q8(eo2)z zonP8^0Ud5Z)9>1L0S9g|8*T|lZYdY;BmUg-p4_ql-&67V+{dE$WQ>3M+m!@P z$cx)39m8m7VvZiOB+1+PbYesdV#JIhjvWsqi2+FRc7q@Ob^{SUV?_~DMNyMu$4K%% zdw#x?Vtkgee0GYz>T7ONe4dKm>ubIWeEzC@!N*9yG9-DQhp|kEzIf~pi@UWpnj{I( zwLkZ#7{G+cZIQ}tmn~ozCu07myj|dAzLH(?&%WAGuRJy1GLjoWGo(f>q~WK+UHkM! z^T=X!WV3#3jltPYw==~gi@On?gn#SpGaJl*ao`@Cw80-D_bdNZ$`&FGnypYnF0cngxeT{82e$aihKi+G-=e6jy8 zXZ!c8nj0qF(;(T;@DFW!(P{0n2-9qw&4t+S!uDJ*ugY+}#xo{`ae*Y{Tb+2KGS%U7 z9JV9Dsxi&A@`7h`PT=K&NRq1kdrB?Gz2m#5-RpNx`&m*%jkJ3u`S|*4a6e6aN!2;= z%|)5LY4P91?AJ;5z4)%~^s861S_ey;2S@_GpNu!BbMRL$?T47X`C?+_K{ZhvoDTj$08Yx$J}<+TINt?ji9S8Fa`X{l`Mt?e3U=<00j8fb5>?z-Ik zUB=hh{8P`~du6bHp!aJ3_46%5nO&pl*G6+YhI6is7F`=90p9k3(Vt>I65##E&tJ6d zulK~9R?;46CDQUf`CnAlLW@fqE(jgJa6g2L>mSi%9|cRIJGE{l)4 zy}Y{AWY^-c5Xarm66n}^`c?-GXV~t1V+7rJTL|h%e#FZNu?gcolB&;=-t+42dr7C8 zA)I&0B(J=7pDK{jzdaMx>0PcxPiLKOhprrp>U83?sQ9jJcjtULbhA{=0tCWR@@Xjn zNGLyzpp;C-vyO=+t>ZiepF*A%9@9Rid9Cx!_T7f~7Ks>@-72nR`$GDL z1ol2va!t7YmCu+-ktviCzz4-8N+EH>l+Z`AUe4k3isbGQN2Yu>LY3W=H!@ZIk_3)E z2qy=E^^1nn;7|lQNg5>_Z;0`Hn*(6<_}Nd2GI>m*&wQY%7QCRSLNQces;O!P_$9xg zQi5e(@hH;CW`A}eBsJ<;NoZ!#v*N(jcj$cIpinp#ibGZ=L%$kg%Hvaqs2QNauD582 zIvrz@Qt%BJMu)?8Dpx#JE)mlpHQ)m_QXCn3)r zx)%H#Uv(^A3n9ZvHi9jF##31dy9P zbW5;=I#45yrV9X8dL~0}Yf^PVdDjAR<0phm`d;v|-mQ`?{beXgxw1)w;+ny*Y7UpK@Cu<|Mfo_QQm}2Z zYC!Tnvq81l;2SF3Xg1?b(7qkv3{EL=wNNbAi4fayFEl*Fi229r#3)18hd6ob7hC5_ z>>Q(1l{Ww__rRe?trS6{P>^CdIcN)cKO1!gJiz#vd{U)CO5aJF5<@qgp2$dpPB5d_ zqyz6Lj`R#usj*@RtlZF&7 zU>&tU3P%-xlQR+}0QJBYSja6pW*3)KRL9M{UX)vANt#PmNP}PwrfcAlbIu{x`Bca5 zDCiX_fNVG?+H^>%>{q3c3Z9a9q(Db0p3c58E+F3gE8yM-FmB^#*wtl?9Gk;fx-7*^b8ZEK9sM z&8zL(kZG8_ui>TH%)>jOLzZK%aj3)*rZlKhM4kp~xN(2LzJfK`E$dnErZa{h!Sung9E`C3c7U`;f8S>=%8=+8&oe(PbI(rBI|IEqy5z8C}lT z3bQ)Na$+A)x1?CTuU|Z%upP*M3q@g?7hOwcDsV-U(97OqCv~;|wuv+&8BJ0c&Cu*x zQS62Ze~;m?-^l*^J$12Hd+YaJE!HN&Uevt`|IxCP_19Q!r%BA8vDyojDE@M+b^zOT z{AaH=zT7#c?IyYrJ6Y?HJK#~=8=Bk^nA80Kz$W@@srL6dJ;jDI(SkqTO8R1{)=~6- z-qI7DRO7w$le~2=E0!)jqRcSMzx$QYzRs0_Y8U-VF;3W56?Un%F2=My&a^JcwKm(W zJl(Gx9n_fZfBCBV({-Hruk{gmg_!(P-cgrYx<$K8FEeS;VMN^Ko|*fE^W-(xs^{eRBs$-Nh=wRJrgOE@DVQ_IV% zFJHd;_3Ib*sfB%B;XxS?Ev3Uz(0`oM2Wl=_mX0r4mJFE3Q<u(BCPHQGSW-fJ*&x=+2jlH#8IkfGQ_W`h;*Kt z%#>wt^gxZi7$zexE!|m5!!ZhxA6l>8k!CO>raZ4lJTXaWFb=x)eZ5RqCh#5$(MHDo z4I-3zbCaw{DTYoJ^orke}%#Br-E)Mlc;!aDDG&8;1GsSmLt6n!%g7W z#v`0jkxC*shGzdvgd{D*j%}Quz$tyYkXKFJE}BxrqwFSHVzo9pRqceODo?lmphC>P zHXBKVD$~L`TR&&)4BeJ_MAnt_8{{CzRaWB8Y0n&pzZ%>)z{Y z@E@d`X}FJJn|a$j_A8{(q=}F6TFXd@=9?r?Ri8(WmCHmEMDlhd5724Al_2B&@b@OD zgA8S)SQ-xpQ_^a2BAo6+z~^ep&9CWNGzZ=pG`%7PvH)tvwap%{PFVm0IfD33}3T$ zoDEz7h7WE&yKQvqDBng+&pYw)D^galILqdVfVuMJ3*SYcI zRio_|*oRt$MgMKP;Fk`(?^0Z31F}%DvAXuuYiR0|xzQ=QZ{)a#<+5+id>`*Vs~oTz~C!6HE{ii~q8d=T5mNP?Cv5ZRdA>)<&QA<;ITx_S1`Sv^)Z?QH;$6k0G? z(FCZ7{21>#fZFnM1jUc?o!`a)L$ybIwhzhYiBN)~wdD%Y$Y}TtbizXhJ5!K8h!3LF z7YDQReXVH3`m2W2r}8lXiBQ=qfws`r;*hflK}d)&Dkv!*7O+YM9UdT-n`AdpZy3pH zh=U^QIFMSVhzGIggH4G(hQ85aKIP(_(u@_%$i2zTDT<$0Vh@hMs{_hJurTqGaHMaB zY{FGErj_zO<4_AJk~a^>-y+^cDq=vqhVfc9)A}q(egs=+@63ohjIpqmOgMNd+4_o+ z!|>Nq(R^tgBF&iWD(y)T;do7y8%|tMBbDM%sU{DTPpmoR=vD2_Y5xU?wp$LQ1= z;;s9dL{^M=-V-nKK7$JpfKY|*)gWo7psF|Stmgi<6?6_IAReQ4ecNh}ANyeLP$HNF z8z-57qQ!b-I1*if(-pm2l$#hf#qp6kC3Ei0K>*w?WJNAL5L+#c|;;uDLyZE44Kn!eTD>*C@Ntcs{#BIC@ zqof3BIXIE|r&6cxGWxWWGr~)2(&yGuqxfSlJ8JL@N0OwY0X{+70J}A??>+{IKL=op z@WyasSi2;SeA2w8Upj!+R!7tVtD?23*g#Kl=dPnzZv>+(U&sjifBk?{dJE{T<#V@3 zGg2H-i3Y08FwJRRA)1@@z$b}b?i&Bri#Pqsgv0LnOdCc2%f0tu_hmPS*1sEfF}`yb zrDpD5B^h$Hc^AaJheJX0oR~{~!Kh|^StPCIv;f)*%gf6rzFOdb9y9U z5o?;ss{NB2h`8%2CCm6%=Nv(Bny_7vhxFc=8c=1O?(_CsROi*}jm>!t^gBR*sksrl zA0#xXRA0Pnvz$SO61U?91Dam0zERNa`jID3<*H?#=$|YTR2qlwJb_XiUPFXCc6?zS z#5?dY>O(HwuIRrLz+zr0`y70ay_Y!pW8nQ$_;dZF9)*WJl#XNFuzP_?Vd`kQvWew0 z<*)6n#VkDf8*-LpYiUh4kd_~$gzx=lw zWfc>s53o(yA(p)KI9VZ`vpw0nRo60quDC0N9>mEXt=^A#_aZK|PW#=Y+5Gl7IQh%j zWKbzB+qJt&L+2g@XBIy{3Mw2|dxbYYRXF{=GW6@qed@M}^K$?KmQ01jHAg}aurGJQ zPiv586G#%byQI*-p?NBqL_|REHsg9Qjr|ykz7HMJb96PJ(2vY zkpjn&LNrk#Qc+^&Q4&E>Qh8A_JyCM2QP+>7;55-nQqd~r(P}}_i1=to3$7V8lXhP8 z4Fei|shAAb7()YE@>ZIm+$i%P+Wc19hZ79Gsz_WGywUHJ4sKUn5HYkPvA0*LTqajQ)!%p{B6SGSU}{RIKAyjUuVOQIRDD!7R^_euTpDF;Gs! zHl{SFtKSu>6q+cF4Cd2$=5w5IFR8?Pi{X%Yj_WFHUksS@;$eR39B3EP~ETxq+C65)yQ zPC^N=;j~{+bTh(i6R5kTq{(umvLj3|@sWhLMsMxd4?l`0vYU?ygZFWcK#&`Td`Z@@ zfSv}Vi;v*kL6h8{ONR}rHp1!8AyqqPf1mhbCj?8J|0uDet`dkEPNp9zE=kp*-eeYHX~y&_in9)-*_JIn)iJEa;yhNrtzMy!q1e2{EI zqi$1DFc~p98E>CSWm!cr6;*$g)+uEmtBQ(~3djen(Is6xs!HLm44o2IZ!c_LQ||nc z-~FSouUC1t4mOlu_|pJ7LGE0WU(k>*{V+II<=inpFTeQNl<}F1k}=AL04cvdDi5B| z@shsxyghXXYJl4m%j2jZ}aMa8=v;0jzSywXz6$fAakBI-K| zC&9&-DeH(H^t%AvxJmO&T8H6E)hn@rUM;S^YR15Mh@O)jkQI7g!*-`q-P1`II1e~5 zhClGpm6-OJofFgdw=;3Fr8v-;3XZtW=OA35CR$J-9#R2uhiND3n)(qE3W<9}mxD^n z6=YNu`P3K=)otNbrkb$%j*{73t(bO1%2&jZ#=YB?_Xt~c$dz>+gK{@`bba}1Ot@|= zRVsxSDAH$XBrOmq-a%@|(Y&o>+BO zU2V0y-#tz9dzQC@>kNnkB!WB5!a0*yD$K%`6gcV3Ib2{MM5UutgHRt6?U=r5oLS3y zeeyJ{fv$n_5Onn;@s>f|9hG`QgSv44#;NsWvw2gPu_3lf>Gg5-h6l{WwJAQbO37IP z{NtXvv+35!4O?)t)l&ATK}a$U$wvaSsowYglPS#3UlHW@3e$InfAop~j@od!# zfpMSKX3nXvcC{3*w;r+8pBGdJoIj(&;qz$vW{Fv@-qgJJ!m{+F(t2IBne>hEL3TSt zvGn6Bn}aRqsDd^UVX$6bt>4%+svO(X>{gl+5PyMcaAXx@K??JU3ZXlg4k3}<x=bJt|6ZiGK$Cf4@>$n6XhzpB$kbGakcq$9f|61vSb1apwtr z$R*t~2@B9MzYBFefNqK48^IdTX&v2$nNw-_@1o`}n zUHv1tVP)M?m3ZS1EXOPG?wgc0O8fh2^82yH1z#x(#+@I(IvV_--Y=+T+*K}D`FjI& zdm{ZC{fC*Z$>VW_^L+mdGc!a{c3Q}!2A+f|D#+-L{DED-GlCH>y101m^!av`uw2-E zsqyfdpm2?;8o40#mF!b@_1Caz+~J@J>^&GZ(-AU;WEd~ChDD$C-{P)+LT%&0QZn6& z1I?zIwDz!U1s-5%k`>VqVeujhs%*kGv`_C4Z&%EZwcX?2hS64$zTLuiJg)9@t=0SV1T;SnmS5o5gfUw!@Dwlb4KDC+E(rWw z5Mq2PBL7tE+~%o7_*1Fkr!s?2m zxMV25WNfo!8op#+ykt4JWWBj`d#d)<64INT9(aP zPWW10@mj&)TG8fO$hSg2;`RE$^~TNh=AY{=jL+KSpLN(gy8;CO z?Vk1BS_HrVy@Ss%#EXC}(jmr;@!6-NIvWqdHy+tMood>cW!x0`xiNQbb9r`Q(PndH zaFe5WbKP%tbL;2u^PijBHqUR%Jm0MpS};mlGhTDMICEcal*{;YOK5ZcUMIg~vh4Csj4Hn^ zC&W$eOB$==iKVfB50qctxHYghZZRHJX&G})Rui$mHp)eQAGJmQwM%EBeEo8l&R>Nc zd)*FEXT5~8*j+kB2Elz8TGFg{2SSl<_VX_?h813 z^EaIR_ZFQ}P=jh{n|s(r3;vDB5-n7xX>65YeD~i#);*!ZCFalgoO@9p7R3hqb=t@j270zkw`YytV9aAS;sR{_j!pzYFhu zjDIiBX=0K zdofDh)}PgbU7qVKY40x@XwB~(YAn7OCI4%AF1f0|prbsxqbjMZ5%p)6ye_({G52pQ z+trhe9ipr4sjBT5_*-as~}X+ES+P5@vmGrWXpIYkr6P>JT%SsTED2MQ`I2K7$)6gyLc#y zrz|0XES?g(;Wn>Df=dRU5FjS#uuC}yPa5NdKKvX_G+V?r2fAWjIxeF~go)#FUo8jF zH1eP~y*E0$OF~UYsGsNT*&I~m*hD6jj&k5Ym_!9f+?EgAQ!q?4-G z1|AsEp-KP!wS#h+D+VC*AYzre)7{cWywYW~f9 zdx65L_KA!iH``f@rA-RdQ|xBhK(~{Pv3EOMi| zkH}^06lw1eL?a>2i`6(_n;AYBWAocBpgi;z8hVwyXiNPXI$MZHOpss~j%z*O8#u40 zPI#>iq1-g^X-d>q?(>t03A%!>tPfRXm1&TZez+;{*}>0yk*~k4c_~yv_~58ncGPlD zAX!KeuvhfsjNlI(d5Vs1_=gF-?*NpiIyV}?Zj)}o2 z_(w0-xfl|27)N9@t3OD?s`z2Ih_bN~%MVc~5sM*>8YM1Hf>c@EF96=1n-zFQ_1a%k zxv#xeB@R(|%L+Tsl~iGNarZE&D^TpXlZdO2W?_V>WI@X1X$A1ebiy1IcQJ`a;^ zZkV%p*f^BS>23^r1&z^Bvw=BJinB^7-K;sfXN=6p&idtA>4*w<0V!+XVnz3^1jKG} zKdPC0o2qHQJ=mL_#z<-!hY5~n)uYLBdyB3|b30jkR}ldzH~f-_&}1#hh^u9I#cPs3 zEzC;Br^yd(bgCM|VS$t0530al$B9Ng`keTL6$1)!iM0r7MMh`6+(t)^&rl(W-y>p3 zhVr!KOexT@Mn&Se8rinX3oN99PspeAb~R8ajcC^1gDR-0~s_Qn(%cr5~*Ib zNSRy~R9xgGXPm?_hOba@u;ty7njlM5!5J2Ewef3uW25jby3ye^kGmG7JV}+g?i#Vz zYj$OsFf)A{JE$KG`!J<1GHL{%j8 zAwBxK{S@N(FsC+b|ce!-lSm+ zL_=Wv;h8-g!cCaq!1HT@!7DN^KSh`gkje`#Ey!j|80!jKA!(h0m3OOz@Um2olG1p! zcd1_>iMjG ztZ4R&uvapLyfdDU+e_xPMSb7@cw*w-UR-tal@i6toQYb8+H-<^HQAGSbZSQ>x6Xm4 z)yYEM{*#q6slc%L5owe#ZhlYhGi?zC)^=7k&ru`>NEvcQ2t~zflpPelCJnn41 zGyCSo>B$PFq!XtSy=g~ZC}=4iSaPbAJs}q(6gzBizqr`xg|(qDZY?Myd(g$RLZ*2m z@KeqmO8VNlaS1xB&hBisBH@{MHN2@^lM(%^Q9NzD-v#22$U9szwv{m^>EBJBUwenB z;E{P+_c-7o-FxAv&{4*amjD0<3(5|m{ML}~;nfZwa>i&?ex>*;c6%vKvd+6-&Uu29 zU7{<(jLznP_cix0)JiD|oG)KCR zi1A}sgO6Tzy-~}O@pADmCBj-HG2jjXaDe3KUd8NQfRe{!GW$fQhd1?Zmx7u0e3ViC zTZ)VkUb4n3G5(mz7YMK-vw0Do4jT)}1WwHK&h_toq!?!*t+5iPj(3@=yIyg61Jf+$ zN4;gqQ|s(8&y3RT&Q9XKWKc8iyevDeU;z|-LJY!Bv|&I{ob=h1o-KT@^X!ZsETIbud?qWzkP}04i_eUaxgv3X^kvPKNK&oJ3pcidz$Rd z>`lNv2`TY$sck%egp^!+jW^PUD!mc(Y;hoCYgCX4^H|Y=uEy3^!Goj!%@yKoI z(kO0U0JlDXxL^^|=Zy<*yZiI|U7SgoW@S>-U9gd)Ow~)!FqH{a5USy+%zZy4HaD5t zDA;k$-G-O!JW>FLp2#iV$k`SFh!14vBl|ScsY4Rx508@VVMsuS7JNm#1+7S@x?cxf@7U3gWSe1#<3i+7=;%4lXZi&|Ii9A^fQtGPl zEXu%KL*EvHC3~gr9)_wsZjdutC8$pLkTMBk58?E}f_W%~;{_5)RG+OT%W68Kc(p!RXzyy|zNb^M}pBRQbAoxJuiVS88dAj8?9QiLzQ$W>`D zY${W+TZnp1h^Z6mB4oe0&&(_hFqVd9l;V{9h)m;!edN%4(-!uo(uW?CUt$pn5-NBP z=avdqm7Nkl5+;x>#S!2w`1G{^y_SD3AEr5#bzKtH8C)p9n_``rUwBa1=nfl8D6~3A z@suolW`Yn%Zp;lgJp)ap@T0)UZJV6Ww!Fa&D2+h`#29N*>CgOSYzycF)E;YPK3FuP7 z!%}@J0RoM%fl2WP9EmgpWeB&jr1<2x(&XZ~|Hg|?7Y(F?~8_)Q)tI^K)%BCNN zpY!RD69Toxc}VF@)}IoK)aDcOA@$(Mx1v`+z=%`ht@_5SKp&CnFcbw1iT-LC*uZ+? z72Y$`8XO)Nwzgex6%s?f})(nI$bG%Z=aR?sAY42s*7e_ zaxJkvb*!?4bjvFX>sKa^0j4j0q-tx*BkV0lRbiy1I2o!ItNF&_hL$sj<_^aeCC-+h zbPKe-k$ze8z=^cqy43@d$dx{k@uk`bSjaeas{U6Nmr=WKutw%_7%P`>6g6Rt>m349 zyRte5ArN6CFU(pf=c~GdXz-n5PFA8Bhe&ru&e$wZR{{mzP$2;Emn{N3Spe;u7HDW| zb9YD^p2&M7>E}5KcB?k-^CYadZxdkD!tL2g76=pfY@5Qj173BQjkA}=j>vY0NAX!c zeoalMW+RkjLnPUhY#&Z{bVEGTPvz9hNxG~vx21~OeizRkoYM(TSGe6m@<|ouZGhrO;RY&RP+pOD^F zX-aRf5CYSZpi;bYD<{yYKfM=!xVyX>nSugPw-nInTU3SiHPrQmy7bk)=`&*O1I+`k zp15UM_3EVe7x zIO%_I_Uys0(+2!c#QDH!#A#F(Pm_BE&E%A~z~#Jt`44DpfQpGcYQ*F?#)M z6wdHaN$#PF^+UC=hlrwwngb8DHy-MqJ=A9yGn5-MwjMJL8#A{a1h4=sHpVaz01jsC zhTM1`1aJl$cPbk1av68!ANM#Lzdt^Hi)h0Ck%zC`L_pC*b>Ku$<3t3JN7%;1UAf7E zE0dAhlkwW_u})!=2^*8CU6ZHC@l?5~l&;A$*i=^0ROppSoVlsu#;MX|7hfX47tCZ? z*mVE!xD^8+mjO_FHm%|^ZY2l6L6cS!&Gdv(;RwxuSOATUq|HS$BSrK$rKGNMk0v*0 ziuuR?>Af5R-2hAgY5)oZB8B2p($F$9F|z>~iqh(4-jP-mb*v|~KOZ*t*vce^)3sC0xKa;wD^$}@CF`E5{)UlhV37W?8o2LCUMk(P^ zB<^`n-X%-MJy+VJ@He%qLHrMDrxx1g_7}C&Ms=D+S7H^F8&ReIv{VfLN4)Zq<~d|` zT|_F2|0pV9jSaz#7u%Kp#qs>AM}GGdaYPxgMj8C!c)xp!upCe3g5x=fTr?DUNSFI4 zB-komxGMkTc&_Rh9?BQ4N`NX>SIG=9PxW#Bi{q(dIbIIZE;ru3FxnpLtrW$({1vh^ zxd>TenO>HAO}6iav4U+Y%DmjM{NK{Np1RP#%i5!gTK`G&V(SMk@|3>`9yU+;ABfj_ zLGUi~lvs$DKiKjc;>BPg9yU*j4O2FDU?E<9Pjz&6Q{jK8U2hJS+SOsH9X3qaRCi&l zv^D+?Q`U8MwYPTnb^b0U>i=C#l>CR|jbf9O9eo#J%74fyr@wfu-I8Bi$SJ@6U&|?v zi^Wk6VQMc+=l`49c|1)dsF>!7MAyufTpg`vc(cT9-ljMkVbjpnwA$wNbo}SRm1~>5 zuG{O*h_45x4Qf{U!T=g1Rp?PXC(omcI`$Yag~W+{p?vUlT!)|3CI&UlzTex%WG($| z25XgThCBA`>Cu$)( zwmCqWT$Y9+tDW*D96-Q>W+S!8SfrZZmw@3Rd%o!M5ksTPVi~wzsVW>k^0tqq4-8t2 z;|+;-h`%~i%a$Z`Wx3RlJtv4Qo(~AaFpiq@z+#lhv$i4;;X*b6RQMgktZGCYP#*VV zUjTI%1H8oV^>%kj?ziwd+dQXn^?UgrW^?!QJtEzS?rQ(YU8Eh86M}&#w6WMvp3*5+ zc!pS|rkJ!K<25dUw)r+(fuJ3iXwiG;C1a`*-+`ZJM+K1#m#(FIrMmbDPi?s+9bZ+2 zrX^o(GI63YApiFH`ayjzlj^SGT}Z)h2H++anx=-xb&|tk-$4oMJM7x#I+h=}6wWGL z-Rp4Hw7OQf+FbWeUv+zr!H~s`B0*8W+)qUjC}wySu$`(^5~a1t2ZO|Ou%c-n(7^8x z0=8r=@aB&lwgC|^18~ikKChxdZTZW;^ z+N}=&`-+C8wg}4P9AK4I1Ky)!zbE|B1eLpyLxDoXvR@xA*wg;nQYK)`qwKiZ^+bfR z>FJ`(>DMkJNu7Yjrs3YKq9?EB2_Jz_Xkxwux?mj_Ab3lB6~L2`CjTLRdsh?`HA-26OBa0pIh?G2>Z zG%l}2-@#)=TrJY7P&hAPhp$0>rBJ(Gcab3Y%XMJ_D9zkm=q^1j4pah%WEV;K&<@zN zF!V8nloy=5aV`Nx3e?_a380TZ0d~@F;=pl0xPT8KF;qkhBVM-f*cb_Ys8kP#L3)+k z?Yurto=x{dh&n$Td0Fm5E|E_O>skcg3CM>`X)sY>UJSc66#3DoHPI~0R&m!Z>C^`1 zMW_!yN21lp={TdqJzvi3n^a7;8l;d9RM6v-tIHXZq(pQO(6r`JN&z#XxfZDahO4UT z-eds#7ImqNPqoDcR&O@5Eea?R3S7luu zpT+zB{mqoKE%=6a5-PcrQI2L3&pTlZAXIwOWi^JDIet`5w;5fTS@ep81t8I*d__Xa zQS`h=ry{G_-;~zH1&Tl77HGthzyW2yORJ6jPk`^`jW^&l*)SW1p*J`w6u$EE9B7$` zp%vR#64a4?$T__b-;m77PZpvdCD38fA(wa!k32G!p%ygj#?7SpL-vWuB0R7V@?f$@ zJM$L5Eu(TioZlP`t6p^Ai078j;cLw$iK`O(mZ#J7c|K-eBn9GgFvV{=LP6qgfGZvK z8i)bn0ZWNNOBV92YyibPM||zc*h;aFam*Xn2tv1bzR;ZLa~3Qm5X*ZiP1Vo64QNn! zAp^zHg_}{z?Z8cD$B6SVDWCj5k$oxhwE1vYAt#l1KcbV$Q2rZFICh~`$onlES6%AZ z20(N$hXNDn^G)@AA@14YcjA1uW@)gjRONirX+@lBxCGP8dv2q&~qZ#xb}w~u6ZJ^w*cnL`fgQ@G~L{ zHkGN@$@Yv3akE=k9xjGeC?%Ua&976Y8R{fHUCA(>kDc(#6Q8s`g32wh;uG}xwZU3!-1~f z$m2?U2VCuZ(U?h*XB~Y zI%;&@d03sUuRiYT>Ylw-MTEg$e|OYz&i39dvyd+XHEo|`{odbbTqMs&+n4f39^fnM z^echMft04bFpB;c2zOoM2#TUK&d?WHWI?s%qYWcxJP5pPXZt?8RNXqiR(*R8qmQL9 z5;N5u5}c{=$@a`c z>K*AQN=(70Al1h^vIitrgQRgYU;y~_AJeuG0R?8>+4Mz;aK-1fc=*g$%gMxKQvkUD zx3FYdBAP;y2J?wS`E$(db5FJpVlIbt`ol`cM`P<>&o=I!>l43kiL|q$3(T4R`QnMg>~)#%I}M@%1K*_K~Tpxa#X|z9^)Bi-kxT0K#E|-S#Fi zzyPBGs18Tjo>5iHt-!{YGBR*$y($#LK1-*cY%d6K^;o9WkJ8oKgkjQPKphrRN|?5Q z8h(uenV`%AP{4E){VGbGELwS=g&Z1w_zJou#0O*pqnd?@C3xf#NkfnH90NZt8wKIvgEvv?vUB3;cqeD*QMOAQXf0jk=Z><+&Ow z8Wh=Y6m)q04LXA7t0o~#6vW7F9L@Vw3xtIJxB~&bf)G6g%PcAZag;N~iQh*mC3Pkg zuWD5uD}nq2KooZ0a@Kboc2CZKt+-;hwm11pKArEF5BnB*rn)h_1}6g!p^OQE84bOx+rW3OFT#<0)y-(D#ud#nGVNcwKI>lqc~x=#LUdTckuF zUnU{&44Fozu?C#RM4giZ#+y#5K|`mZVaJ~I=rp~L=KUBWX5%TO+$|NK;#9#U`B2~;a_1F&) z%%MJ0lVx?F?!U;+<3u7X;qBxOQ|Lv|tRT{iGZ>`N>IP`MDIr>9A{NA*((sT-hYcE| z^DwRgs{x=-x}U`K*3|<*+quYu_-J0edh-BmZ#v&phSh71c{G8fH%_QfCaFbo7`|}A z$K0^kcnA(lUS0lmjTmFftZ^y*gEssUx3uK4*isJ7O5;HNDX+~*^`Ic>x0J@O5R$J~ z3pc)M<9*V3XrZ%`rSrKbN7o+wI6vnNt~Pi+@5`?LJazItURcl;LDENrYPS9QxpeZ~ z&WxzMsK_Z}U9btRfor^l^=w8EW5I$Xt`b;fqe_w-(+uLi@QJ-7sJ3cxb(2Rq{ScB{c}RsemJG6q-k*m!R) zT7V;Ovda3AxEco!Y*^e{Iv%M@z%&&Ani(@NJB(CojZ&U8U@j#t5yE*8aJP;H*R7?} zDbXB=s?ODA!~Iz*>83N1KD zylmtQbdbqcovI1N>bU1Zq`@zNi*}?v-eD5vc<-sC#zGo__Dv2N0W>*3+8Xwd`1sv9&yXj&>1Wj`upD%gR3lU!@puM_vG31B* z?k0cQegx|D5?l-^TU7G|tQr7?c{KEzo^qEp9})&g>qbidBj06+=I zqi(UN;OcVn>@q=h;I#sOVvoS59nDv|gVm_KuDIUcD;YQF)@*eR=jxsq?}7*?Agy|0 z>D_5UdlLJ5lAraYp7x;WdoyHvvHUG3v^TG?x1hhb=vi;cX>TcgU%6~wrBz>bXkTq% zUwwaH>-EZWZi^;BRVWf^~icSe=Dg zFB?<-BmDk_tim)|vBEDlQ>JWi3vT?!`Mnf={}n6K`Wse7Vq;~0!zwoGtiPRK8MnND z0V=N|@6?)q2F-jb2QF$<%KNZQ zDj^L6|4ph&NBpWTNfjrSR7GBps^5*;R#*l2l2q|!I*I1E%Kdlf%vJ3#1=u+2FIbg+ z#{^rflJyS}I5Wtx^3DaX%8PcsWK^{=7mNy{~Pn0PDOY0Vr}27f$IFO%FAw*%(mXY^JQ2r)lmFTE|pR- zkk?%u^G`0--IrZHP*(tE2cYWg?Hj}bs*7%w z0j%wN(W=tajk(`D($RlGsxDPuoJ-Xgb$rHajo|+ct4{tu!Kz72|%_A}K z*ofJHltE47?RVuVvKDQYGg*R9HW~8$Y@XavxWjaj`U0NoYd%NJoZ}w@c*-C_b`<+L%q1CW1ctkPp7$R>l5Vw5JjagW zt=%BJeJgA>k+NeJ!sl6!+i5U^%R}jVgXZU)@-%&J)(KmcBxKF2Iy;uGr4~eecE1Ml zT8hK4nu!v?*w<0Z`H-B#I8qF*&Cpu;ZL&R;hl)Pn4V+PoJsNI%>M)CtbhT<mz(NO&b}<(5&!<_ zwZu*$POL(M{P)h#2UGA6uNUEpw;p{CdZQ$TfxqJF7d$m6CUg?Vi>uvXKKS(DZpi7c zD7w?#?+QQy7~d<Q~5)_?d-3Q`8P8 z==(eM(EPZHAW_N0kgu>eh)l-t!vOC^lu3r!WqrYMV=R?oQ5@%m0e-kB9ULFPlVkW%#$Q->SBDL#GmN8dKCXFiP!|y$ z(s6s+wcg+-sp)q-q|8^P8tuBW)|=_MReY6oyM!-{Cc6x?>7F)mG4g6^5Uli(S5+k{ zjxJLAf$vg6%zE+P8r9cn4L8R&d1ZTAQ5CLciAXf3rtpi{Xl4_`cCr$9kq|LB{b)!I zFRQm2$Mr(`2>IpabgWxzR=D2Vw|p&#qv@t=C_Tk_5W8WAbF#Ztzxi_s)6St7e($)` z^wqtio=Kf%-`tsvJ(=&la~Dl2TAPQK-}_c)n*+ONHs6PQ@82T6A2gx${PRVViq8Fz zm6_*9ecuN^rrZyEt@Yw${rk}I><53mt?0DF?+<#{2$8v0?dp$XtaWG~+2Y-VnA7C) z;b4^Q@xrno3V9=p54~?^PGv3YFPpXL2)2#*k%??vWs>JRO6LkC!Y)& zTf}eMf%&YP<8sX$Ut*$7&1JKFjqM&$;+Z4QA>FUE@>}1yNIjM63*nnjFzhH#WL=x= zRrDZmrD^b-}0Q-dMh{WO*9l z&TctO6r}PDR|pqbt3mvKHTPbBO|5ai?Mw(E^iYIQ4brRhjwFCI6@wJ18k!)|1*DS( zgih#PdI#y%0*EN0ERIJ#^lsQ>f z3WvPWr~9sM3SY*YvyliE>A&L*uO9y4`{cOar3JcjTdXE}wmu-LGvRwYrx%9x1VF&O z-MdI94=k=Iayy`X*H=`gsc_^&f+1i^r&+NM#WV>5SL))}&f(L+QC#M!DIb)3C4>o4 zwIVVcK9O)P7?3Jiv(UefGK%>!JQ|4(p^7I=mt0mGbz(f3zw_8P?Q$jM&l8&dJL6rC zLM{Ykynp{H{Et|L$2y0N{GVq$4u?%pmBl}M?HQ#UV#gefoIi1%p;kVVS3e`!3<=mo zhGE0{!|reCY?!OKJ~q0#QTkKv@;OXGWQ74?dVt}R>a#eAdH^Dey^8s$WTX(M8Uag) zV(~s{C^>*nfpw0qGH<)wDw%8`u6J(TIz7EXpBeS0@wwDB?P3-K%c5({ln}s+yeC&` zQy22(=C1SdjZgH@s4BwwUD%MGaL3V%50}}0z88+!m=}8Up6|v3*L7wDK_9&pO&j5@ zCTpGNQg{2}LgTf|dZXQ-f+QJ=Wo3JL=Mq}KXg6}1@z1EXxv7?kYQtRUzn)=27*;AP0I7#S0u+v0TdUDc>2wsy$Y1Tp|n!m;Go zXNdTz7!pNE0Zr~1Qih8mL3!&_t_j;Vp_hXQi0MSQ1!q=;UxaJ@+_N%@4nszvFj?Em z+m-tA-&l9MFBEQ@DfG%?Zb!MU+iZA}6M!J~r=+}A`%`b?=>wss0?eLu`lqfYHul=v zGXSkp$yWK?m%Na#&I&h_(edLMoT+4deiAhxx!H?**feF-F3Ecpan=;+i;5qdi8U$L z2&pr^)(&>!NJ;bIyxCX*Yj+BQNY*s6b2rqiGEbRFe!s0+>WM6Qqk8nVQNA_OHX!=+ zWO{EnqF12;03sLf~7|< zvZ3U45wv!1_B+z{U3z6y*4c?rD}@YdcHn9HNNV zni1|v@G0sd?yFc@m#GEaA&JSg(`H;aNXY4(z0GJ=%pn-A6gG762SnL0j{Qb~Y}z_< zb5OQUg1xcE_^p`@hcr^2;L`)1*jFY%MF77+_FofbI|VjB>o4u~1<*&7%{=$L2KPO6 z1Sz=8{wY9NX`SUWj``(jCuXudXG8I}O zMRbAXd=575%SDYif7Sc^DY$&@v({9I&0x7D&#dLIC&iEK55>k;?V4CEeW_59uy`g} z?QqE2-lnRzqT0a$Ny~;WVX9&CHuw-%k0j^Ab1awo_!TnPC|FdUv16ci?PpxASzztu zhT7htR0eEh_cJGp?^RZob#&!tFE(&TpYFo{SVoY|&dKnWM_B^AgGv1O)Au~;^Bd|< z4%IiU)|2S#;PcSgdrnmEIvlMbH_jecZeM)7emsQM;LvD}ZJ;kd+wR?Xo&OxRkNdx8 zYzW~0cNJNdeNhJi@Bjdv!N2SSTn#%Ab+rGvs?!k`krF+!k39Ysb+koAbY%ZU9!mcr zkH1A739OLl$^EN38Ao9?2O%jBAysc7?O+MDlVTb+suB)b$FQKHbL5!!!FHGi2s{3B zQm1DT1j3Gk;V={Feb@mW(}96A8x@hi6de^Xa3=Qu9ymMT9R_Ek!N!@liN*gJIQx4k z?7zWSdE4|O|9jv}&9_n~sP=?I9M(1S_heX+bwsgYSd&pi>w%5qOezIyvDTFTG|m#Q z+fzI2QU?wKXD;#O-ieiNzfbDGz?olR4;YLEc?Z~x4K3`Ct|;;;>kMz~jc(l!#(EY1 zcQ5S7-}iJN-H`k3;VA6yh2dqg+>}AOvEMlReN|WfkB#GLasW6|g3jdn8tpe@|3f!G z6(={=weol4ET6JJ7Pj9wBU}GIsq?DO@~)r-gN?J6oDi^a)>04&Vvc`2oP&7m!BriY zIRpE#|1ge!N@t1L#s9?4;_7n#iJgJBb(E$XX*J!64F{#Oe(<&qWFMfM^G{kfx3e>| z{omeMNmm~@9|i_yK{@B3bOxT+_0&+n%voC-rL7|c%$&9Mq~}rvPlouqar8}sVeGIHy7^n z*L_Ef&#cb0P6A}Hkkhg%K4Qm@Lj1Dn^_NE!kqp6|i)oSvq7D=vr~Zi>LIAwc%D8Z- z-imYB)1lsyl%ob3m8oj&#-d@GpX=Pxb>L%s;al>ZMCJ6R)#)SjM9isJI-!Cp3{kFc zg3JM3pN|*vE)dCMK4m9@b#YW(aCm{-6jH_-iL5`u0Vcr-*rLie4=I^|bH||}3 zAO;i{zHI=O_5vAE9fAS$G9_oiuO=T$dUGiS1OKtudh3;`T{VyhLZ8ycrdu8M zL!@*w4yZRoTR)~6Ae0#~+@E*|#yac4Q_|e8)@kFs?|oba?h0RNIBwk??5*-hn|+$7 z+~MUk0R$o-cLo6bIs*qZ1e*+TxXem;2Hz$k4qeN@ovi9tua#?m$W$QL5%BEiw?Bgy z|7`rTT5oS0iFk%Gz@e@9gI|F(P+>bMPK7)0spFNOAv2i_Tfx&%OJB98h39=QU_~_{ zeKYP>$G$y-It!PrRhz^_RP(l>Q)h-xT^0mvC|q=K%Dt1uGSEIH9v>5(oJ~vu`_ho& z-i(zpmPfWhiEkdYK~hUWEFJ%4;t;7rC0yfI=9c zu)8Q+gu6Ws?~%Rv;go++a#5?bW)IiOhd6~47bfRLjj%4F75TP_-b-4d6C(`PEno`l z`K=lPFoOhLxdp6n9+nxLwY7L)!@!RcLAbI4w!6g`V@yJ@6BIc0a*j*w-q5tAB?-s9 z2pP5;O(6{O7Z2JRSm)9aCmtAF#L>fy*At}Gl9*p`q9K8J3<=l>1qfsr?=n)9DKsMS zjOi%ih-5(yBcva03+ z-Mv<8`KkKY<3IUD!V}f3WeOSj@7XvG5 ze+XY+XOEgoLfav#Fv1!ck;5yx=_3__^qhKT3f^cGFtT87LN!9U(~sYKs83}C&d9j4 z3{x8v!Pnvu%OGSChNuE05e-&bh4;4k<$V)R2*5(>>gWa+`@sXP;g9)t<8x4M9PaRg zu2g~5+kDeQsRB)PlqL6a{0%LO03O@oW!?8$T;nsHRVq1^iUb|jOt>`*468*CkdEj) zCt2G%ab(Im-wivPEa6@b#nwE<4Ar>LhI9%<`5@l?O7U z2}-S%+^Q&QvU5s?P;Fp0-&(Z+VvwNrphEF5Ve~_5Yck?awyUad1C{v*Ni5$*D78aj zG^Vic)dpu4X~LaZ)rG+M`Vs4rbAcfu?B-Wx={=ZLuGJMuH8=n1shjt8g-wd(R1b{%5yAj z(YBE_tZF5LcHYEde%Bvrn@jFLg;SI_lj`quAsz%Q3U>HCrM7&vh-FoGaI2!bgHi%! zGVs8IC*bN;{LBM6q}-|>`m}^;_6__jP=~GnwuQuwhGs}{<8ID;fBhBczhNy+=Yk4= zOA*%NJQcsvJ*yjmi7Bp$I=(mwFp}{NhPu#$VO1hWJ)7af6qc zmj?IMEro>nI})XK@*FyLhFg}6kn96Ipyw6lF6=$D8t3Cha9?rRP)8H`MEmzGV#jD|;Wp4zX7%$#Yy7DXT z&~C;fzctRj3eg`HO%hk|SJ!y^t@hTV^<#j#mT?Q|jN+-+7vv&Lcl}AX9tRwbDNa4S z-5g>lAMhfB<2}~!^_9p*jFMai8^0J*xK(l;&GdL!$0Cs3m3*WRA*eFp3Wg55LQCW}UsC7AZXA@et0fa4#0FB={B0 z4mnH4AV|`vXc<$AF_mnKSC%BlaNQqlUPU`8}0Dwg*bc| zGINw7VHYnR7B7|`Z&*h;gH>|z;$Hq5AB2i`^NRP*r?^w&FXbm(>9zCIOdz1BBuy&C zjv60ErRGzUdZ{Th)U>^A>i^?v7%HhkGpWihsU|F`EUIkUwHU%arh63>H2zQk1iUHk-^_FT(_Dgw3CCE=KApE z*mgGNtBM=Qjlj7o7G8{%rYVPsJ~QRm+eNF#k8_`ko_x8eHza!O@^fqbi^kShkh1bw^%-8!Oh*>0f`0d2Q3Kjummkk;zd)e7&2)Dbc6g{>^tKmmY0Q?659*zE5GCcu zu|0Rnv`x#olhWtQ&OKQvo2A;rAkI_AovZ3g#T+X5Cy#x6BE742{#v3Zow@qZSx*N4t6s+kjakhR1)#Dblhv?bUNn zdWh$Jb)-$Ghy6;9#P@3aEb;@n+Cal|Q|)Tl)1uBXr`Q#rq&}q2g}i=GGrYtFcVpkV ztTMREB{BLO09VakSk=bkbAk~-RcC`QfrN(CmwPLQui$_vGyI2Oq|5k zLR$pZ>X&(pPf*M!&)AK-t+4XgEls3H09(jrDewae)gg9U66peo4=af;W}A=bwAb>H zTk1H2g2;zyWY!__G1GQMfes<9I9^}H6{h<^n^zCl-c!!4fI4^N{o2XLlEdq+3q2MqK+(;@>|qV%kNDA zMV(|+n!vuOqp#GL3yM09T=@h0qK@ojUl}Os2yj+7?u$CSf&C4jsPh8Z^rIgXb?7(- zIwJ>~FAek#3{*7^T>mjp^k2gT0T_TWd%b@t&)*Guab+Q~V?xqu2dw8{E=W>zzn~=d zcR@)@R76kyf3O~H6|H}!;-yW5WbK4BocAe@im#C7Whu>52R@6Mu8BHGdGtJfA7Vvm z9JiG+_B{wE>6yA6v+&VA6>`k_%JJXJKxQE5QI#;%{tbFmMJ#po_osk=-w3-nx^ zi2LoNvvE~t5_=^!_9~ z3AZn>B%W1Bb(To7mrZcerMZ9&d*y?Mec`2ludS%R`A$lpMe5}<*_Vv|3wQoGwWWaOnhM(sz1iTmf3&#ul%_g_ z`p!1_zk8$?rVKnlpT%LzCX@6c`*`fWNfm1jvroRiv)JZz1Z`I6`^ENWgxZx4uLBeI zUhBo^_-woxtJU}v9lf*lak1y>>l-m=Uq91lLQtF+4+UyD%{hf2O0Y@(EFYd7Hh|a> zpelL*o*?jc@b(xTz=Eb8VRs%%4iXHXOxIFo8G#7B@9kiW2a59-k^mp2hdQR<#j9Wf zOZHVvQN79Gu+PsEUZoo{tyR+Ai!dIhnLx+fGc9EJsQm(_^Tm6g6X7{~}Qxe%xdpU88O*@RGl z49Fu+1r(PVcont{vYle$qoYgN2uxXz*v7DO7D+~?9$2zWnVheacn$H4BD4h1ybI)sl3!Na)_+zGPkb!F^gs83lh4OjqVd#!-j z7cvHq5&ZEUm@Xxte$8bu3Z`%`sWuxOEeZbPE^o>84RhX4yAu3Q%~(_)~di9QZZT%m0*jY0L^rR0%w#m+CSVSu^{Fd zY6_@1* z#>qjnH3tOzXTyUal(U3rWGKxHYn-X7IMh~mN8sB;^cEDuchSpGp(Ox)sneOY$FBEh zIUN@#ntCWAFR@L}J^iMDBX7P$MtjIcGE}P^bLO5VLaPOx4kPgEA_#{B7d3yCxtC8N z0Hv8l{+nULe4+~mYWG_pEM@cTxHV(8^>Ws=RydpAXr;I|EwT4{wZc{25vR|Y)Eh57 zIEql3L```SIXsiz+qRw;ZOT#n?PZwEopcZNFWL1zho4WaKJZy!FY;40)v(!l0Ly6N z3XrMN^up2hT079>={yl>@rM>M%Gs48bBl1!y)m=yd#I9DEL_{pzygYaox+o~f}1Lt*hf_Bp}2 zI?bqoemUR$52|ff4Y7IGJ6i)SE^WT2_vmW)J0s-%R+dw?L;+mbT#TtFNzaKJ*mNv0 z5X>MdW{WbQFqocAOPPy_N&WJLhU~7qahig8*Qnx6VXQi@)-$)Rubet+N-UV7z|48{ ziv7CaiiqZTS+?~XpE_HUYdRdZ=x1{L-)76=A?I^gTLRKNrQ7jDO*C=76+&;Y{bDX& z!SJj2y#Qa_%SFE&OD=~QDFvRV7Zq*`x73j({HN1n@gHDZ1K@&IqEjmNP!QS6{6=fA zhz2c@9jOz7^C%AGEcqUK~J^3w_c5Vj->P`kPaqB3}G> zwf(5)=GMbcF+YC12H1NC87$UG0=sjF)4jvIkJjULcIT1ly(5wq8%d743#dPOM>QU8 zq($y7qS^cInXqxv4HYd(?VawsfA$y`tH|-unjF(IxEd|oZ{#X6(cRGJmG|J!%5yC9 z;RXT1+4{-1t>7D46MOO5)g8NQxMvfhGI*$NueG?rUBskN#g{UTt|tfzL}M5Xo{GA^ z(@$LEkWqv@5N?IKvR|3G%l5TjUoVqnYbdvhXSeSk6UwJPDWz46A#WRU>8S$zGO7zN z_1;fAl%5=7%T?@NBMP_T+6=h=2;*cP#v^o8B>BH>Q^Z4xRg4;Ms_^xTX31Rc>at zWXw0WPw{c$hkSHABp`B5|5}gTWR_lqDcV zfNeWk%rR8p;mc?`S_iCh823>U$#jpvW=CWTcCncuSpx9t5yQp~yKx3Pztr<%R3rx2L0s^GH32M$0 z%*=cE=t!w(cZ?a`97BvsqBbDnB^Fw%KiMYK)FssABa>i2N^pv>QA+V@;*wWNZe40YSn|7G(`GAxZ;t-u933Ch zd7(FEG$GwRFL@w8Ep9uVt5#$O&%UR~W{6CL&O@wPlVfoRS3_jJmpVl;BRF53OhCLa zN`|_a<+~^GQ5=6!Lt!GvQT5mh_h`XksprokOJU{}V#jb+F&k%G#hxS8v@%)uq}9iI zQyy-o(70(%JbwI&w0w$MQI&+D8SNMPY>a3oY%+7(Ivx?8MTgB1HOxL_CWza~{I-T4qDUT4Te6Vb*u)Oea zV&PYYus)yi+sTM}WCo++R(?UAeNLTyA>Bq{PXUf5jl?I$TtH=en1xCj68o#wYYL1vtFJz{w_VA!T`owJMaaJ&EBzUcDK{*= z^i>)Ayjbqq zxUf@@eO->CcCJS{33yWy$7)5lTF(74$Lq_EgNG^^+FXQI#Ge4c>a!IX1Wl(u{V3iK}6|&!nn%blnW=^AD33FwzlW110pm-4r-q_f)jd$s3YL6!R!WVe+$ZLK_;-ybcL z=@`VQO`q*2A;PU3IpQfAFyU$(j+6^!;FGp%IuV#InW z8@v6OjCD;cDV+_!Ce!4y!d9qVy~$WuijJyAHk4Gc?V;H_9@kfxH;hcyH@$7><9Caf z5D6G$`+#FiWN4fk}m(m&h0X6|+)JnA)nOQo3mWTD4rndYw5MwA=NwSb_U*=uZX zoViVuVNzV^`$5om*AS6`>^!w{qJh%*+@qGQvRke0d96I}0ye+0&(D^!^js8dl`u_=};#}c4#JZs{UZtdeL$0M+d5{1EbSv ziB>&zO0Rb2E`#=Ocem6%zU<+1wBc_m4 zUivBxznGrsMbYP0*VmOnCPC)B=RL{tMUx8k<#Iv!v3ldZ&EPsVlJ08doqdt>(p7f* zaD&ynpg1_<&)8j6ehW?g*SS$FA}{`*k?;)3oc`}XK^=JWcVJ@2NB*7pybd!yR_{8j z5y{Nv?=0xf6zhKZat{_2)n%dZ-{0~Asp}DIXa|fZDRu}Ma=wwa8U zz+U+G+3>YU{FT@aKD90B+cfZL2wm;tWhQ}y^nRg29wbkPJCNo*8L5Mm89DN^jg6x@ z%^1z5ZYN1azKQCWxd1M#*mH3jSu^U`S`pL(3a-KY$QVE9%WT8O@-5N$J)9p8Bx4?SV7v_?>b4UK8f zZtm{N2fV$z(Y5cM7?R;kCFiz3b0HKOJT_nR0${Cq^*@pHVHW}}&$rm#dv@R2OmhcZ z%HLj{MB-kfL^OL5+C=$aY6s&tdGL*lQA%kRef0Lf!O)c)#%aV2SyxRU3S(c2c)Z%$ zJza2XTVF-vTCiMS2-O`xnLXdX1`5o~8gX04@+hU6L=1XA1iZj`w%_Bs|8eAWte2+P zG`>_Qj6ATDk>3vv_@hLvH_hS$yzfOSR^-F{Pau6a9m_Lqr!APLv`j(q$DU5UbC+HFxMPq8-6!QN{+zmEmI`aF6gNU=C%Z>tUIHTOD~uyDCfxYUefVJt8vxyk^O9WSUQZEZ=;q5zw>0^flk_TCl{j94qE8Si*@k5sNd#7KD?4~`Qo2e0gd^Y>ETbd4V>k7$u_ea~q=KW7nk1%ep z5WyO}khQh^ouB-bm4+&-l7IIWQNF;d6bmEJO^zy<35_s5%NBPWVzpL2ws5uf%#xdj z<#mdfMh4oiola0c4Sjs^7Q;e)#&us(A4Qe361M;vidl`P0Vz3|LUYE9l>O%GU)#Uf zc6wDTEiBmJ+C0G}HXLplO`NL#*-=nGq zw3DzLGfY%oV;tVHsA}QA7(FP}xVXXlW4UU5-*MufrcqDvy2Lwq@kmH!2jhy1fXXm^ zPLbOiyxgaZ)8O?;rNn5)CdLRIm`bTG?lN(wM?Y$kr-Pc)Xk5tq==7&PzeuY$M!Kf% z47qi4Z4+`~WW2Ir-eN8I+J7hH+vKC$l`HL=_9kpS^7cen!zeI8Y8lGSF(hqx?e+~bh85y6R_NrCz%XC6|Nw`Q+(Uh3+ zF%RZ+n7h{o{(Gsj9Nx5_`3XNczAn;4Q8;7BN4$L{pm;-F%pi)z%~M|bl`xu*zdV+` zSzj2>oQ_G3randsmTMZ2B~qUpSXv;>S&0LCc(bG^|4wyq?~a+3UDLw~^EK6cQ=MFU z-LMdBG2n2y8r3M`7H+;a~RD@-6_ch91@CPy$=pM^G!Y&i(L>m?z}^1dghhbx9ik0kFZ&`dWiGOu%YBnmI4p{fh>$$#?(?K<(_74q)NpL$x8gCp(L`B_s(L=w zp}}pV=_s_I+r7|@LtSpz1wz9s@JseB1_2feC|dYp-pq%Jv1m~&9MN=_QLN~7V6tuB z&A|-8!$rksSHM)K%S@Qpt^nqvYM&q(-_r&go&UE&)Q_#QdlC2qCK0k8 zR)cbs#C4l4gES`J`;k4oblCZb`>vOi@#@3#DLYY+=jp4gi&vq=Y9Z$@H9wrt_+vG>Im^Ii&?&{esnXT& zGWNM<4nAWLiaFnB&fW@3(7cxA`?7!CQz~(FwsSV@^*y3~w!Bgy_UFI!CqnP);Y`Fk zH5}NeGa)E5Z1QqFr=FNCKv}k{qCa(*38AlT(u`g?;*!CanK#D$M-=%qmC+x42d-FZYy z9guU!B}u_9{(nT>M)3d5D<(TXYm5IoSAx6!Cs`t;CHy;sh5Hrb-_%Im_>=NqKU>hH zR<`H3*IrKNl$;DRaG*2cs+fm%N8YIqZKjR;ZNJR98{xvbfIr^VZU+E=xtvGJiylf9 zk*fec6&ZwWZZ%k{WB!(2qLH}p*3$mIr!$oSyH8OIzuT4I$qSbj^?{6yLKlmoN_Ow) zNN>9C`@jOs0HkvFKsz#84V+>$Js{%l+?0L>)9;mCeU!ad0PJ`Bo(8T#U*n#a)>!FT zA_UJ!Rta+>U_q#R?OD>@qyg9yLnjP=4-THX+8f)TmsvEzI{v{>vz1I6I70|I_QwbDz3;f(Mf5}Gz!R5c)o+n{;uucce_PcT!#f&$E ztwn$1&?OTh3J?iUeARk>W#aIYbZ!pkotz?z%E7J7=$#rh8LzV>9U?}g%|POmTY3LA ztZc2B z7We#EcARnAmnQknC{-mVLrY7~*?!a<>8NCT-YJqanq80J@rXJJKYIQ|ZfEQauCNq| zQK@4#VjS-K$uZ6C{&*8n-kXTHl|?gKu8vq^e29>PfvDRMfFG_!QO~`-D zu-XfQ!BC(t-SLLLVt3Euy~&ur#eI{PqHhh8j1+*pXSkh=py%!SSfafsRTA8e6%xRq z9dQ3aa4Xf)ZW>?OM>JAYQnNN+PDeZZQHV{NBU8=*_y~;@J3t{hx zihoDy9!QekexP_4rD42l9%FNbfF{7%KZSGe)VW34CfZbzDzE9OyQ5K@?l z%TNl-^eW$R_0riGld^;Ei%^1@^K2e2o1hi3`xQl13$;m?S7?WsIvTRHPp_o!t?`zRzbDMheUGV&Pj3rn+=<6*!t zHOS}8v5zlsnnx^Y4$|bG5WqnS;SEwd`tW@o#1eUHGioLD++YPxKP#2BkRCs*q&i=R zEo|=o5%fm5SOWf#Zr-H25_6Tf$gp>5ROM^W9D^G|%NN_t^ZTv1<0BJ#Jz8-eR=_@; zaBeG>0BzUdWCD&qgX-BxOwZ#RfbQ|)rbj5A_g*34D+vUeZrYD8OZ4xr5?mG`BCJN; z^Zir-ge0bW%94DtMM)oCPrM9^^(3h)aizJ@D0oA~TKNzyYRT$*wR7A|UzjxUyi=?w z=0X~9IpKY)D`Z94)AETdt<#UhLC~8h|6W&7Ni$aQl6JAHuLSY&!9w(PC75A*19-dc zCa};{_vM^|^_*fITDjOtBvz@?~jynjX? zuo8Nji4oE22UyKfmQu2^I@|rBJ=PLhs>8`ZFG7O1(c{E$$a*{@5E|K$R$>CTSOIaI z-9cyCzIZY}zc2-semlA*GT&pW^4Zr*6Y~_@V4Zl$mPnLa^)7R3bn+hNt}C>pmJz7_ z^A6*lWD^Eg1&_d0K`o2RJaxzTc9M^;hF&~Hp}c+L-Al{|0}W?mh+09nqA=t5Wp=;1 zgTz?Kh*Vb)0=xb#hQMKS7^**`sb(<~Nc3BRj@*2Imh>*+iQ@i`havBVYg?YtqXR3h z)uw7vQZ&;+Y)L*vD29?`Ml6opMsI&}T}WQZi7{sCz{Z58;`Z^9W^dB_wdbLRy-c_l>MjD{-7lhNZxjX!3DAC`Ry zcic)(=dQ5jY(KC?B}}9@A5=Q_8W;}@kCl8w`*uO_+gjNxs-3j zi+dZdDzqb^DEmX7qt2tB%Kh6!OuJ56ygM0SPEt!^m|5nIN#DxB)I;LX7|Gku50}33 zgZ7c@Aa(%RQOKUHpy}*`;AC~jwIKIzI7eO(dA`f@4IVmEM>khvwgWKosIjay>XRI{ z4}q!k6|nLY_Vaa}i?`SWA+oJk^G^m5_UAWBXdWW0o#)x*FeqvLlcL#-03S@|FVCzq zA8UEJAN@|=FO8+}Drv+`!CL9%bE1gu&DfN!%CdhOJp)OFJN zMnd4+mB$&N<2sD`J-_lJUUc-5?wy5J`ik7kDhG| zq^Hdkn-^UCco&HvOy$yy{}G}l!BuAd(KP65O!yQ=PTYvH_zVxnojI@>%&bf?Cv`>8 zk}gi3zTDFc%Wc9>{SQp~FAm%Z%JrMMW znMLg=VkNr zH9_ev|5U%xe>{-*dLR3_IA1)Y1veNtb6@+smNobXQY6OGaXPIXD__)6_ z@}}l{V{aim84<%81ZK-Ggx+t=QhP*1w#C?O^%Y1wVS8b@`5)Ho1|+j>%g3 z0Gb{oKELF%p!)3uzGD{B$T_WvvFmc{WJrJ}3#N|1rA^OE(15v>d1e=k*6YFq(qiVf z7q63&xEkn=*7h7?57vw0ugyOd2A{JPyBtAGw;C(mH3CfbwH{gwu#*Hglsm9w@os!B zi6|3{je~r)qrNpiv%imGuJm(`x6r`ip{@-nEXlp)FqmnqQ6CWuvDv#VTe_8Dmma-C zL=w7J?JiJjU$-_xu|*T~s`Ej_qtQGPlF2~&<&(uj=fv}@(55@+W_?<|4Ma!#aUAtf z!L5r;V`nWG(jM>YhSY(nA@j4e9@oL0VW(WfKy=pc2#dp*xSMdi|X0gj^pMKU^$F4Rm60M&F2tV+ed{q`m-Q!sS z;_}q%3S7`1@v0TY=0c_0wQ`Pe9K9Pw1%BS_j3(W=?R9^VVHY=G+4Rwev$F#qQkU1$xfydIFx*DLA@<`Htz>=6v zA8^#~dQNg{x;@NYVhkwncpxU_wH1~yXnBTZWP_Amk5|O@_-H<;e_J0D)h`|npIM#Wc==-9#5di_|ooJXuAF4CWhkW8g*pVa5}Eyit)@fej>e9HyJ54{CF3HXev<>d};b|h% zss@+l2pW8);Wgg~IIC8X|J?TK2AuLQ)@D*Ng#9`&O*nuh&Js54fW3>pD)nD@1Kxiz zJHG#7adsW;4;qf9j4UW_`bqb=uI7XP3z9%c|Lqf=QiIPxUC6r=dz{a9-MAk|DGRDy`VyVf)d7=fBnTBPL^}gV%PEDqynI#R;Zt=*`pJP~w9xyHl&=|+ z9Rwjhr_>KLO&#&U4?p~RRQ_i`LY@S<8=?F`q6d895pMCqp+ju?>bKfAyxVW(diN<_ z!G-m;KO&iTPv9DWNBgGS^{SkgT}J%cvB=53dj$P~B9NzjNLhDslAr9PI|n=59;dDL z1+|}TWn;CqD|!$lE?A>P1T%=r@a~^CKa-7opc7!tbfe1YOx-F@bP5QnsU6s7h);?; z_-5wqSzPN!vOkM|KT{8X6QrPYnbU;8CScbcHmh{{h%U(YO896V)zGW@Jweaw%|c|9 zi-yz88bGOl|L1WC7bv{a{d4k62Qh}bp6Mse$Nt%2ZvO&N_RH+tEPdK1@L0^@MREQ& z&C}eHham?evpe$ZO2%1(Ko#(bH$lj?mn~@eOzw2@tU4k7he1*2I1p!Mz}9sxIzis6~P=o{sQ_kRU!jEli9>1@c78;RZ8q)N9}T zrE+dxQa5-bo!l-cHN)+K-eGZskMx2ag*L83nSaUez4+o}+!uc9)sHr`H|@wJo$ZZ- zua-WfeCYk<=&-FxR}Zy@vBP(}x!z{9h4c$0>IQ%P#0xg{_r^nNEAaT)xW zhfsr3Vw1k>TJC*b#7(1y_!KXFX)aGb6|wMXb&?8NzL4?OliXqjWRG(F2n)S9+R|l; zwEb1}5zPk(xj%2{x6Q?@hn-b9F;ikibGcJw0a=^s3%z<}6%oehBJ7W1R$n%Lz5f50J`b35uX zkMkL--BJ^(>*^lr!IY=d$b#v>jErtQ&y&q?faJ_Xy471imVYn_v;SZcCC8seF0@b+ z73U1N1IAd(@Sp^G5=Oz^C(y3PNKw9^NHoSW%$^ouq)FXkrlJ>LGY6{!2lef4H*qlw zXH1_MCtjKYTHzNcdpJIu^^cZ99RVn~jNkXa73Tm)TF;u2>E%9WOJFODn$FPrAFkqK z3Zo_bG1t#Cjqp#~*30Y^OxK66=SRJIzrv|~RSWZFGUp}&^Qc%+84Qm{;{gGfo>7Yd zS0Z^D!=gfz4;*8LKxyS(DZ3S4{HrG>MXmYOOQFUo&`)ur^}4h`XBrP`l{YV$NJ#ez zvPw(*jv9;t?)9dj8P_M%G4>*+@{UZ-;jG&~njgu5s~3#mtV{?XGpQ^_>iC~xP;M+k z4e0IK>yEkz5%L2^6w$?n2(dPegq%_h_BxI_90;NG<_*#|O}-_%NA#aez$ zEEiCK4L)4l@uN@tLDxL#z}VoI?awp$6x^PR>ELX9$Ei7DHPIBapCn9bGY;6Y?mF!U zbP^Kl5+4a#D6+s~_0d&s(j!8jzz6)A&jR zqg0Q3aw&eQvpPL0^XfA>_Cp7c65OC%^X&r9Wzk*(GWyrjp4{tqOZC;q#6kM%i+tee zk(QRPs@(+z1w}3`*Ug^s_yX4P^%*)|JHrcRQpjtLUkrje89K}ZgVMPj9W!y|!6Nl9 z=~7dXk!{Fa2KHydBKeGjGln28_gf8}{Nzs>qv_Wyrg_?GFCexO^*3>=Y_>QtY(xLE%+pN*FZyY_YIXV6CZy=GmMhsK_F5&Fdwpl-zO2oX&t! zXX#W)a~sR@$9>$ z#P)-pD$Nd&Cz_r!L?$=Eh&Bavq-Q3w((GNaZ2VU88Mmwy^?CG+k==MS`!%fqI~*Cy zlD*f_3!}2Fpan#C4E#R<2PsTEzbm|1`JifsFqJzz@-RoxaRfLVi{QTj1SqJy`rV%0 z_wnm|xLAUAeG6R*r#2bDs{BCO`)UMw9I(JRD60L1xMxdYi62KpWdjUmcSRDSO)B6o zwon8w!;X<$^(AgpqMl$c^x3b3o%uc@cM}`5Qvy7zDn_caXoX?D<+d(R>~ z%^>s4^#@j1$CCbspx+75qXRM$#ih3+dE3hl(0)ADfFJLx>VM$^{yK`x31oLv65fII z61QHc9Wevp?AHj_S%E%cD?KBc1vVFkdoQOn11uWhb_d0@=lYZ*?XnxOI{xdX?;nGQ zXSD+De|tsOL)5pW6zJlQx+GzO+cbF-byl82VrRI{ zh2NVcKE8e^W_&gFS{2vWPG2trZU5$Lkj$od{e67x{|Xw!tZcdr5rl|TIokkzY*L+} zjj;JvGn@{wGr%a-u$N{}7kU^GX@>y`G7?@}y$dQ-k*1h40PRKPj5I8a1IE*Hjom;q z__;(1oAYZ+$SMQDJIEo54aV=F0u{x7M`P$1`02B3r|D>hbdyFu1IWXW%EWz>QZ@C$ z{CgQUS_x`4=^EV{@Fb9hUtW#4rbfm1;|KL3Zv%}8u2^li-kqAK2>xu5s}^R^3>`Kv z5$d$XupGOiw8GNowtQ3^37951;)phj$WViyKkY04GMRphciyoPlQXN9qF<2IGAeiJ zi&3%MC1~{h8^%}6>Z4I1^nDV%+-38kbL6Id=M_NAzQA#{X2cq0M)2(SMeBu4EjRl= zmH&pMzk!;Uq*^PUuw;zfmnCAVd*8g~Eb*_cu`(yb7KdfwcnNb=L}CjfU2|i&4LH%A zMHUEFt1M}JKLjc5%Z!iKP=VT9YwN+_)lH(27Sn|c+A<>{ekqQb*drHRy@icz)@5iXr!wT!;sYHTvj2A9r#Y~)y7Mn9d~WLzaOpRJ5R@W zUK2;XKC9W`vB=d4D-ZCGJ+f8!pKJUt*N#_now|46$|%y7+~`am`bVMAGW9D~#x!@3 z@34+ZpI9KD_u)-Rk{&#K$C;%8-v@XR?u*rT;&?-_a%~H|j5di9XQ;43(7@`us}S1Z zP$8nL?ZDXAi-f$APD`P-X<52eWtU#Q$~AcMe0zEy-lHWQU$Jvs_45}jdYi3%`@Fj~ ziR>L15WTjHKk!bX(lJP&-LM~vM{>ihY+pbc)Y~)Mo|oyLXep z0-=9xwgApSQ%_yJzPNZ7wnh$E&yaOU!zLhLG;#7mV|WQEdW~2wczAtH96gw5@#f4U zNMXw4aNhly=Y`^tGLo&^?sgO^S>XE3rrH4W=0Dy74X0V{=qK3wvDruV#@6Of?IphX zazNRpTKIE<5cW56%Tm&f0i@hjTy2!G_<_4vhe8=4Vlq@2IO$Q;3X1?gZR{`&r_L&I zROX;PT-k*A+5=hw-sl4s>BO-B>$6kA2am#E_?N1|;ax3lt6u_$Zbm+Ug6`CV{<%O6 zko0R_g1>y)czJ=*HH$hKC64eu5`MW=2wGS5Q*TgfCw5M%riP=AxIVK(FyB!)4-EMM z-;b21*`iSa`vcT0FVO$%QXLA3lK=V}Mz-Fg@0k;}lSnYMyF5troIKuYWVvqzt;Y9P z_x)pp!Fq$vhw}eSDb+{wC0AZu58DLV8X9TbL(f*3e=SL07A6Y0NFatr-IhWRD%Drc z*ch)*eN^tAA-20X{p!Uz5+Pyx76);PagGD8*jvTx&-u1 zz(QCiU)LD{UcU&=2#yI_e8&4bZyJSj?gQHw7i31Va#xjaX4(%@Tu}OALFce zE$h>_g2T9se^TI{*@5G4x??hMo5NEbNmbVjNiqW5PC~X~ zWaXds9GrNozVgTGTKr*d&?BITOB~yqzg_{kvSc1w#D*Ca^(hHSSL{Hqx7J_NqSsIz z{+1*c6zZK;E2^saLd~KQue%AYsFEU9JF4^QDzVz}8hlHqpcQvJYT@4B&Lay|YTpr% zC;1(3Cp#l)`J|Z|QJaW8S{8!L3Zq52C5^LP;+H~g@irQgl(l-RFzncC@O^{3ooz&# zC0xen-iTEaX>>iz-d^oFcd*7Hy6_WrqIsIm&a-y5Dm*Rz@~xJ^5nDPt`Kq4~HCte! z63eV~ioekn?7g$1svM#(ur#F{hy0*#&2nb?1pb)0w*mcKDMpVUg*+d?atnN_+5bWe zQ~2)>;oPnd>Xf4!v5}n&9sfoX0&V@!{tYLD|2K?*`v2Ns`v2&e_zytw|J$+pe-((l c21jJdeT)|CjQjZ1ql=&*qxz=ewQ Date: Tue, 6 Aug 2024 00:45:43 +0200 Subject: [PATCH 6/8] Update test_login_success --- tests/cli/test_api.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/tests/cli/test_api.py b/tests/cli/test_api.py index e7e2627..da37030 100644 --- a/tests/cli/test_api.py +++ b/tests/cli/test_api.py @@ -14,8 +14,15 @@ def setUp(self): @patch("claudesync.providers.base_claude_ai._get_session_key_expiry") @patch("claudesync.cli.api.get_provider") @patch("claudesync.cli.main.ConfigManager") + @patch("claudesync.cli.api.org_select") + @patch("claudesync.cli.api.proj_select") def test_login_success( - self, mock_config_manager, mock_get_provider, mock_get_session_key_expiry + self, + mock_proj_select, + mock_org_select, + mock_config_manager, + mock_get_provider, + mock_get_session_key_expiry, ): mock_config_manager.return_value = self.mock_config mock_get_provider.return_value = self.mock_provider @@ -23,21 +30,20 @@ def test_login_success( ["claude.ai"] if x is None else self.mock_provider ) expiry = "Tue, 03 Sep 2099 06:51:21 UTC" - self.mock_provider.login.return_value = "test_session_key", expiry + self.mock_provider.login.return_value = ("test_session_key", expiry) - mock_get_session_key_expiry = self.mock_config mock_get_session_key_expiry.return_value = expiry result = self.runner.invoke(cli, ["api", "login", "claude.ai"]) - print( - f"Session Key Call Args: {self.mock_config.set_session_key.call_args_list}" - ) - self.assertEqual(result.exit_code, 0) self.assertIn("Logged in successfully.", result.output) - self.mock_config.set_session_key.assert_any_call("test_session_key", expiry) - self.mock_config.set.assert_any_call("active_provider", "claude.ai") + self.mock_config.set_session_key.assert_called_once_with( + "test_session_key", expiry + ) + self.mock_config.set.assert_called_with("active_provider", "claude.ai") + mock_org_select.assert_called_once() + mock_proj_select.assert_called_once() @patch("claudesync.cli.api.get_provider") @patch("claudesync.cli.main.ConfigManager") From ebf7333423020c1975f7e6a39e3acedf7d298181 Mon Sep 17 00:00:00 2001 From: Jahziah Wagner Date: Tue, 6 Aug 2024 00:47:36 +0200 Subject: [PATCH 7/8] Update two-way-sync arrow --- src/claudesync/syncmanager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/claudesync/syncmanager.py b/src/claudesync/syncmanager.py index b50d3f2..c8f66dd 100644 --- a/src/claudesync/syncmanager.py +++ b/src/claudesync/syncmanager.py @@ -71,7 +71,7 @@ def sync(self, local_files, remote_files): self.update_local_timestamps(remote_files, synced_files) if self.two_way_sync: - with tqdm(total=len(remote_files), desc="Remote → Local") as pbar: + with tqdm(total=len(remote_files), desc="Local ← Remote") as pbar: for remote_file in remote_files: self.sync_remote_to_local( remote_file, remote_files_to_delete, synced_files From c67db2157322444e2166012a1832859a6cb177ae Mon Sep 17 00:00:00 2001 From: Jahziah Wagner Date: Tue, 6 Aug 2024 00:51:28 +0200 Subject: [PATCH 8/8] Update gif --- README.md | 2 +- claudesync.gif | Bin 0 -> 192756 bytes demo.gif | Bin 184869 -> 0 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 claudesync.gif delete mode 100644 demo.gif diff --git a/README.md b/README.md index 0a32386..69aa7ab 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ClaudeSync is a powerful tool that bridges your local development environment with Claude.ai projects, enabling seamless synchronization and enhancing your AI-powered workflow. -![ClaudeSync example](demo.gif "ClaudeSync") +![ClaudeSync example](claudesync.gif "ClaudeSync") ## 🌟 Key Features diff --git a/claudesync.gif b/claudesync.gif new file mode 100644 index 0000000000000000000000000000000000000000..1fd571e4db064d98ced37d71d83424a20903df03 GIT binary patch literal 192756 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

    qfZr2N3IaH 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

  • %zL@Mh?XWBiBvU+jYCHd?lmC}cA#0>n|o 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 FV+#K&&I_}r`YNFLR&apZu18V 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 d^R7Z`-bBoHrLj|P93L50Kf&t&09lF$p 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 z