From ff8b715a402dceab7094aa3dbcf10a3123249595 Mon Sep 17 00:00:00 2001 From: boyuanx Date: Sat, 21 Oct 2023 11:58:39 -0400 Subject: [PATCH] Initial commit --- .eslintrc | 83 ++++++++++++++ .github/CODE_OF_CONDUCT.md | 132 +++++++++++++++++++++ .github/ISSUE_TEMPLATE/bug_report.md | 33 ++++++ .github/ISSUE_TEMPLATE/feature_request.md | 17 +++ .github/ISSUE_TEMPLATE/question.md | 11 ++ .github/PULL_REQUEST_TEMPLATE.md | 3 + .github/workflows/main-push-pull.yml | 133 ++++++++++++++++++++++ .gitignore | 98 ++++++++++++++++ .husky/pre-commit | 4 + .lintstagedrc | 4 + .npmignore | 113 ++++++++++++++++++ .prettierignore | 12 ++ .prettierrc | 28 +++++ .solhint.json | 35 ++++++ .solhintignore | 22 ++++ README.md | 54 +++++++++ bun.lockb | Bin 0 -> 352983 bytes config/logging.ts | 5 + contracts/SimpleStorage.sol | 13 +++ docs/architecture.md | 2 + docs/development_process.md | 59 ++++++++++ docs/tools/hardhat.md | 42 +++++++ docs/tools/plantuml.md | 21 ++++ docs/tools/slither.md | 85 ++++++++++++++ hardhat.config.ts | 36 ++++++ package.json | 64 +++++++++++ renovate.json | 11 ++ scripts/sample-script.ts | 20 ++++ slither.json | 10 ++ test/SimpleStorage.test.ts | 33 ++++++ tsconfig.json | 18 +++ 31 files changed, 1201 insertions(+) create mode 100644 .eslintrc create mode 100644 .github/CODE_OF_CONDUCT.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/ISSUE_TEMPLATE/question.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/main-push-pull.yml create mode 100644 .gitignore create mode 100755 .husky/pre-commit create mode 100644 .lintstagedrc create mode 100644 .npmignore create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 .solhint.json create mode 100644 .solhintignore create mode 100644 README.md create mode 100755 bun.lockb create mode 100644 config/logging.ts create mode 100644 contracts/SimpleStorage.sol create mode 100644 docs/architecture.md create mode 100644 docs/development_process.md create mode 100644 docs/tools/hardhat.md create mode 100644 docs/tools/plantuml.md create mode 100644 docs/tools/slither.md create mode 100644 hardhat.config.ts create mode 100644 package.json create mode 100644 renovate.json create mode 100644 scripts/sample-script.ts create mode 100644 slither.json create mode 100644 test/SimpleStorage.test.ts create mode 100644 tsconfig.json diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..0c82ca0 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,83 @@ +{ + "ignorePatterns": [ + "dist", + "node_modules" + ], + "root": true, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": ["./tsconfig.json"] + }, + "plugins": [ + "@typescript-eslint", + "prettier" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking", + "prettier" + ], + "rules": { + "no-constructor-return": "error", + "no-duplicate-imports": "error", + "no-promise-executor-return": "error", + "no-self-compare": "error", + "no-unmodified-loop-condition": "error", + "no-unreachable-loop": "error", + "no-unused-private-class-members": "error", + "require-atomic-updates": "error", + "arrow-body-style": ["error", "as-needed"], + "block-scoped-var": "error", + "camelcase": ["error",{ "properties": "always" }], + "curly": ["error","all"], + "default-case": "error", + "default-case-last": "error", + "default-param-last": "error", + "dot-notation": "error", + "eqeqeq": "error", + "max-depth": ["error", { "max": 4 }], + "multiline-comment-style": ["error", "starred-block"], + "no-array-constructor": "error", + "no-bitwise": "error", + "no-console": "error", + "no-continue": "error", + "no-else-return": "error", + "no-eq-null": "error", + "no-extra-label": "error", + "no-implicit-coercion": "error", + "no-implicit-globals": "error", + "no-implied-eval": "error", + "no-invalid-this": "error", + "no-lone-blocks": "error", + "no-lonely-if": "error", + "no-loop-func": "error", + "no-mixed-operators": "error", + "no-multi-assign": "error", + "no-negated-condition": "error", + "no-nested-ternary": "error", + "no-param-reassign": "error", + "no-return-assign": "error", + "no-return-await": "error", + "no-shadow": "error", + "no-undefined": "error", + "no-useless-constructor": "error", + "no-useless-rename": "error", + "no-useless-return": "error", + "no-var": "error", + "one-var-declaration-per-line": "error", + "prefer-arrow-callback": "error", + "prefer-const": "error", + "spaced-comment": "error", + "strict" : "error", + "arrow-spacing": "error", + "comma-spacing": ["error", { "before": false, "after": true }], + "eol-last": "error", + "@typescript-eslint/no-misused-promises": [ + "error", + {"checksConditionals": true,"checksVoidReturn": false} + ], + "prettier/prettier": "error" + } +} diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..fb935a0 --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,132 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +- The use of sexualized language or imagery, and sexual attention or + advances of any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email + address, without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +[INSERT CONTACT METHOD]. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][mozilla coc]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][faq]. Translations are available +at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[mozilla coc]: https://github.com/mozilla/diversity +[faq]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..0f88f16 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,33 @@ +--- +name: Bug report +about: See a bug? Create an issue and we'll fix it! +title: "[Bug] Description of issue" +labels: bug +assignees: "" +--- + +## Bug Description + + + +## Expected Behaviour + + + +## Current Behaviour + + + +## Steps to Reproduce + + + + +1. +2. +3. +4. + +## Additional Information + + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..efcfa91 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Have a feature you'd like to see? +title: "[Feature] A high-level summary of your proposed feature" +labels: enhancement +assignees: "" +--- + +## Feature Description + + + + + +## Additional Information + + diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 0000000..815ee7f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,11 @@ +--- +name: Question +about: Want to query something in the code or design? Create an issue and we'll start the discussion! +title: "[Question] Description of issue" +labels: question +assignees: "" +--- + + + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..1e5bb2b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,3 @@ +### Purpose for this PR + + diff --git a/.github/workflows/main-push-pull.yml b/.github/workflows/main-push-pull.yml new file mode 100644 index 0000000..d9e04e8 --- /dev/null +++ b/.github/workflows/main-push-pull.yml @@ -0,0 +1,133 @@ +name: Run tests + +on: + push: + pull_request: + branches: + - main + +jobs: + Unit-Tests: + runs-on: ubuntu-latest + name: Tests + steps: + - name: Check out code + uses: actions/checkout@v3 + + - uses: actions/cache@v3 + name: Set up cache + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Set up node + uses: actions/setup-node@v3 + with: + node-version: '20' + + - name: Install dependencies + run: npm i + + - name: Build application + run: npm run build + + - name: Run tests + run: npm test + + TypeScript-Static-Analyis: + runs-on: ubuntu-latest + name: TypeScript static analysis + needs: Unit-Tests + steps: + - name: Check out code + uses: actions/checkout@v3 + + - uses: actions/cache@v3 + name: Set up cache + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Set up node + uses: actions/setup-node@v3 + with: + node-version: '20' + + - name: Install dependencies + run: npm i + + - name: Build application + run: npm run build + + - name: Lint + run: npm run lint-ts + + Solidity-Static-Analysis-Solhint: + runs-on: ubuntu-latest + name: Solidity static analysis (Solhint) + needs: Unit-Tests + steps: + - name: Check out code + uses: actions/checkout@v3 + + - uses: actions/cache@v3 + name: Set up cache + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Set up node + uses: actions/setup-node@v3 + with: + node-version: '20' + + - name: Install dependencies + run: npm i + + - name: Build application + run: npm run build + + - name: Lint + run: npm run lint-sol + + + Solidity-Static-Analysis-Slither: + runs-on: ubuntu-latest + name: Solidity static analysis (Slither) + needs: Unit-Tests + steps: + - name: Checkout + uses: actions/checkout@v3 + + - uses: actions/cache@v3 + name: Set up cache + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Set up node + uses: actions/setup-node@v3 + with: + node-version: '20' + + - name: Install dependencies + run: npm i + + - uses: actions/setup-python@v4 + with: + python-version: '3.x' + architecture: 'x64' + + - name: Install Slither + run: pip3 install slither-analyzer + + - name: Slither Static Analysis + run: slither . --config-file slither.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e462421 --- /dev/null +++ b/.gitignore @@ -0,0 +1,98 @@ +# Hardhat +artifacts +cache + +# TypeChain +typechain-types + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next + +# JS file output directory +dist/ + +# IDE +.vscode + +# Generated TS docs +doc/ + +# Eclipse project files +.project +.settings + +# Jetbrains IDE +.idea + +# Docker created bash file +.bash_history + +# MacOS system files +.DS_Store + +# OZ Cache (UUPS proxy deployment addresses) +.openzeppelin + +# Yarn lock file (npm.lock covers this) +yarn.lock +yarn-error.log + +# EthSign custom +package-lock.json +storageLayout \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..36af219 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +npx lint-staged diff --git a/.lintstagedrc b/.lintstagedrc new file mode 100644 index 0000000..fa5e461 --- /dev/null +++ b/.lintstagedrc @@ -0,0 +1,4 @@ +{ + "*.(md|js|json|sol)": "npm run format", + "*.ts": "npm run lint-ts -- --fix" +} diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..d459ee0 --- /dev/null +++ b/.npmignore @@ -0,0 +1,113 @@ +# Project config files +hardhat.config.ts +package-lock.json +renovate.json +slither.json +tsconfig.json +.eslintrc +.github/ +.husky/ +.lintstagedrc +.prettierignore +.prettierrc +.solhint.json +.solhintignore + +# Test contracts and files +test/ +contracts/test + +# Hardhat +artifacts +cache + +# TypeChain +typechain-types + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# next.js build output +.next + +# JS file output directory +dist/ + +# IDE +.vscode + +# Generated TS docs +doc/ + +# Eclipse project files +.project +.settings + +# Jetbrains IDE +.idea + +# Docker created bash file +.bash_history + +# MacOS system files +.DS_Store + +# OZ Cache (UUPS proxy deployment addresses) +.openzeppelin + +# Yarn lock file (npm.lock covers this) +yarn.lock +yarn-error.log diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d28fcfe --- /dev/null +++ b/.prettierignore @@ -0,0 +1,12 @@ +# Ignore artifacts: +.github +.husky +.openzeppelin +.eslintrc +artifacts +cache +dist +docs +node_modules +test/contracts/cast +typechain-types diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..8afb513 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,28 @@ +{ + "$schema": "http://json.schemastore.org/prettierrc", + "overrides": [ + { + "files": "*.ts", + "options": { + "arrowParens": "always", + "bracketSpacing": false, + "endOfLine": "lf", + "printWidth": 80, + "semi": false, + "singleQuote": true, + "tabWidth": 4, + "trailingComma": "none" + } + }, + { + "files": "*.sol", + "options": { + "bracketSpacing": false, + "printWidth": 80, + "singleQuote": false, + "tabWidth": 4, + "useTabs": false + } + } + ] +} diff --git a/.solhint.json b/.solhint.json new file mode 100644 index 0000000..66dedc9 --- /dev/null +++ b/.solhint.json @@ -0,0 +1,35 @@ +{ + "extends": "solhint:recommended", + "plugins": [], + "rules": { + "no-unused-vars": "error", + "payable-fallback": "error", + "reason-string": "error", + "constructor-syntax": "error", + + "const-name-snakecase": "error", + "contract-name-camelcase": "error", + "event-name-camelcase": "error", + "func-param-name-mixedcase": "error", + "modifier-name-mixedcase": "error", + "private-vars-leading-underscore": "error", + "use-forbidden-name": "error", + "var-name-mixedcase": "error", + "imports-on-top": "error", + "ordering": "error", + "visibility-modifier-order": "error", + + "avoid-call-value": "error", + "avoid-sha3": "error", + "avoid-suicide": "error", + "avoid-throw": "error", + "avoid-tx-origin": "error", + "func-visibility": ["error", { "ignoreConstructors": true }], + "state-visibility": "error", + + "not-rely-on-time": "off", + "compiler-version": "off", + "no-empty-blocks": "off", + "func-name-mixedcase": "off" + } +} diff --git a/.solhintignore b/.solhintignore new file mode 100644 index 0000000..7b0017c --- /dev/null +++ b/.solhintignore @@ -0,0 +1,22 @@ +# Dependency directories +node_modules +jspm_packages + +# Hardhat +artifacts +cache + +# TypeChain +typechain-types + +# Logs +logs + +# Coverage directory used by tools like istanbul +coverage + +# JS file output directory +dist + +# Underdevelopment - ignore for now +/contracts/treasury diff --git a/README.md b/README.md new file mode 100644 index 0000000..d166fd8 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# Solidity Project Template + +Providing a project with a template for the files, folder structure, dependencies, scripting, configuration (local & remote) and development standards used in a Soldity project with TypeScript tests. + +--- + +## Development Process + +Development follows these processes outlined in [development process](docs/development_process.md) + +--- + +## Install, build and run + +Start by cloning the git repo locally. + +#### Install + +To retrieve the project dependencies and before any further tasks will run correctly. + +```shell +npm ci +``` + +#### Husky Git Commit Hooks + +To enable Husky commit hooks to trigger the lint-staged behaviour of formatting and linting the staged files prior +before committing, prepare your repo with `prepare`. + +```shell +npm run prepare +``` + +#### Build and Test + +```shell +npm run build +npm test +``` + +If you make changes that don't get picked up then add a clean into the process + +```shell +npm run clean +npm run build +npm test +``` + +## Tools + +Setup and run instructions: + +- [Hardhat](./docs/tools/hardhat.md) +- [Slither](./docs/tools/slither.md); Trail of Bits Solidity static analyzer. diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..7315056556dc41c7d5e6c9660ec8b395ec088e5a GIT binary patch literal 352983 zcmeFab$C?C_Wj*R26uONf;$9)1rHkBI!T8FV#FY5@Zjz+xa;6Hz~JsOxVzin@UE3p zd(x8&>2s3rAMf*fsArnhC7;^6cFB>3d-LQf9vm1@+||psxWzXlr)#ipVtnkq{oJ~F zczIjwJ^TWE%t7`cB@)LqnM|LiXD?sibN${G9loz7Uz5ql&&T2$WHNn-V=|>dxlf3O z1bF!bm_1CUF5Z5wEGd8vQlj3^*UiFwj{vj3f2hfn9p#Boo-Mw~lma>cniv`gO%C<) z^|SE`YgfUiDYzFt0FfkBU8pS&-fLYj*_`w0rP_w{qP zm`dSRmc11v#7UY3Bom@L{4GP`_b*xe;`PFf7#U?TzU*r9xxoz5U$Hfu1H)*FgJFvyZn4 z@$xqZ1X{eh`1%E4AhO<~uB#`QWcry<_475gmamaj>$d`we!qYsWMOBZjHe|az%Rhw z((^7dKCiaU&!8RWQ)?F#7><3y^(^b+ zP(E$l^hG(x8xdrTGeH3@@9*Uv6kxHKzUJ5BWh$uoCzka@!ATJ*a z&IuncH+v7?2WZDQr!A)WH52_Y&J&bhL!qpHi}59bT6$XC%&@z+xVBz@*6(K2lk+zR zdD?fggsxEe`B3&V8A>}Nq4Ylt%J}y1^m4;;HhBfY60{#;lmg{VOKa_=KX;33a2M43 zAjV8l*MnzpU^g76rY@K_o?o8k0C!Jwkg11ipQM6jw<(nK^0mCC!NFec>@V2Y-OJ6( zWSUh`vmX@b7Z8N<-Dt=CAn{s_JeE+{`$}4WPoW$K&X(-$6dwIo+s=Hh$UH zTT#zAVgCktnoFBJ0FvuJf9B2t_f;{_mxA;fI z$2ByF%iH8{?_=i3To4D&Q<9q6Jei>E$Hxyl6!kS~Y5Wo>?ci)+I8C#W=loBCa$S^D z^`SV(*#E!zk`;W}KC6=!|71|wvjn=Cz0K|xH*c?COxM5rsi^8#&ZA7or$Ku=D9@vp zbv6Gg*3%T%Nk7iKtS5>0Cp8Yw`WolSMTsQms)v`ayM3^~$*X~in^J$?f|!FWQ0%lI zQ^$r{y_|<~opbZ_>*nQd4)6%Hgy6;@Fu-DV=asx?BQ0KDf%Xxm{GGKpbyek`kmow= zggoPH_6@~-j+^IG_{({^rTkumd0||`n`rI2S=`*r-4KhWTKqzwZ11VmPN|oleGudC z;jif|)sL*tg3V>!YU@whNjy5LI7nQg#sl33aDNU&zqB9hqWKfxt?d(6-(tKxn$Dw~ z>tjSqZ6Ec9M$9`dgZ@EYZhcy5*LN={=eIMIRFRG7w*@$+FQP2ED)sJgnS)42; zldCzp&VBd^q(7g9EW%@ z=qzYSs5i6(w6e-4huR~5)x%`Mw1h2#mWK9F`C2NU4q6=L&&uH*8fx;<;^5=vZQsKj z=yM$9IZ<90nge(G{-;4RL7)0-?c#vXf_#=>?SA9{>Qf^h4|(zz&@Mgn zZx%b zi0hGipts2qgy#)x#K7K~KOLd89}h~u&6dE3``GNN{CO{}zCQA_Um8k3FQA;`nO0UC zUm@7xJlsM)KQw)RZC&(M>I!9?5<)poqr$Xx)CZapdDmbM58fAhSuB?FWy_d44AAD= z7xip!fpQ=43=Z(}?Gp9=*&D~Lx5;FxJV;x&BcNQL#Z*4sV9n3_{j_y(0(r)NH~h^7 zT@K~ETp6O-I|HS?(kM>{-9A+Fw`m-$on@G|UsgcrUu7xB{^IlE<>6X=qY>Kp;2&0` z$y5`0?z5aq3qu(fcMC2pUV)~g;JCkbLAkGHK=VOIL1||Il;i3NO$6n|#OxhtlKU6A zet4puaqTrmvnTf-xOEGmA9=@W{qVXSWN|lH0)vCR(2pgsd$0v3d5UowX9>ieGgg`l z`eVF?qnvi@Ay5B;#%p0En>tPNI!jd%wSb_t+JVH&yCTRS3D7hC<`j-Xm zBlb6x>#xKl>_O;1;hO#XP_{b`Wt`SP*}gNB=TpilYJWkQ4-EBn>xS#IoO72@&Um$& zs`cmRZ;6-(T!(vLJD5sO)BJymdX7)>SCNmf3*~$Sc?Ee}yn0#WemUy>?$qg;ACG5f z{au67AHSKJ{ZXi=AMcT8f6|ZKcgy{C)ca{?*iVG^K9+zkmQp5DJ&Zd8^7*2yw;R7} zF&K}j@B+Q%IW79wt@DX zukG(DQ11H{(7e!D3$*#i>F^7L;kl=Cj)&&vI^^MmutHJ*~Y=uY*AI8$IBHg-o^ilyg^2qbxv!asa<118aFFY{_G)cB&!F_T z*&5A{dQi?E?qArgsS5I}zl?TVZzrMj_v6MnIu1jv)`3Z-8zP@bPoQ2K*?7hvgP=~)(ew)YA& z2LzZyO*xQHkNoK!T6xhwweh4zIpg(F`SAkE^K%cB?bks$j%iT#KN8CJJ$7mH;)Oih zH;1x)6)4AH4`uroyS4FUK|VF|kJoDRdIn1WAFlfEy6A>^FNkt;PcJ{tXy?5e-wMjO zeumN>p2scr?yjb%$kWcQeOf!SI-qK!A6_R9@7Llb>uU}2jOXP8T7QS2^efoc!-B^F zlh;A5e~T~PGT}N{%~8wWQ{`(9Y3+jo%9Mk9rcH|f_xh^hJrCuam-k{~9RQSw|?>&l%J+j%lH(pu(L#t@*bfN?zK@`%-z1D+c>1P=6VIkuQ2q z>n}LSqXJwuEkK^UJV#7d^-=H7<$k>OGHo1kt_(tZuBSjK%R?@b^|>v-rjf) z2*7=%pH~1>dv0I#w|4%_fpWarpD#yr$Vppj6@|+{a5=y}bW0`?y>13}})2nV;Rq zWWJ$sa^DcK&aM1QiScnB{CP8g^c(W@>&sb9<@#~*mKKLpx3#!FM?K@T7CsTrUH#w@jVxY4-cwSNku(+rFzGZtc|jc3I~iP|x`eu;9K4?{VdQ)5(Y0`pT`; zpEnyw-2)@Uv>WB*HbEJO1<*85uRy#wbt9Z#@3v ze%;lVANJhE669~jIQu@)#?80M{FnoMBgWY^VttrQcnOUsY4rD8v)>fT{g4XEcu9G0 z<;Ua~T01%Cd{sGKZdvd+ZsPNZHv(+#5m<(PSWwS(of^vh;p!c1arFvt|MozOyMKTm ze%7#<%z@fGJyLP>F$Z+R?Wk$PYb_qK?pGks{@nb${rLRihWCG7zGm+Li@PNhfcsm` zKY1SJdo-R+a-TK&oyHGVD)(FR{!#9`ZyL@|^F&pS5y%pCj*aHldvBRpv?NAqX7f zBK^7}&v-Y1Myzk#58DU$yJ20}`{R`-)~UT)4|kkL-R(Uv2l77N9eyV#2PG$QmggM# zy(H>;ZFxWa>bvH@ynlDW{^9sGV4v~apR4wp?9-_4o5sYA6EXftXvg^ZLi0m$9CDgX zPRJKTe)>bx>NdSghUc!I>Gj%kJMV9K_+d%cC3EUk8N4cZ+rzna6IKg<{BHMeJ(hjw z<^66(sFOp|v%pPwQz;yl>W}69xK&e9jT~cE_gApZmAj z_1tdO^=AbSkM5H^L)`N{TQxn`sKe{Sw^Ge`oFU_lb6wIcD!S*%?NjGQ_Pe&R^^sSt zc768P7P52Bis{!TZE8C7ehHs~cLvtW@Oj|l!WXCgk)&1UIr+kh78zo39o)K{N2){D zJB}~jc69!Y4iyvmRXOmu>5T0|+8^pXpkd<28)ojhc=i5*89vVCk`4@P6kg!b(c^>C zG#XL;%#FRX+AR*vmU+&j729)WcS-tah^0-hI=`>F?)|B=%c4t8t%u=Mz{ij)1D zWqLj5RXyhp%ac|cbiHiT&<>erS8-bYeOcB&YNVLdDMK~atI28~J+SScMviN$A4vM< z&ZjK9`g%3!mah1O;b9MZhMXJSaCqj|2QMco*Sb;hr2BJUY&x}R?p!<4K4^Tu+T2U; z$GUHud-qiWhh#TKEUZ$Zb?^80()3@oqu7DDjCCNS9CO23jDyq~-M{?xs#%e5-I zYgO-5txo(EGhf^(<(Q<>g*p?Ri|?7A>B!!+uHExGI3`I^;dJZer|P|(b8o?>L07V5 zd{FOQ<4MUKuhy?#AX(Uf_C-bvEmYNYc=_aZ9ol6%xT$B^Z;vm9=l@o#}?Ck5QYcFK(lk0V&27R`^T~vPU?%N>_vnx8E8*^!7 zijNCc#*Lfe`T3T6t{-^Z?7-o_EsML#dW*WQ>>f-m=R0k6(q3z;4|c9H&t+HtX*S;zgfL?sX+c%42T!p_NC>zgjBS$G@&Ux*vYE*yL&d_)Zy^ zHu2&-^*4UMdAq}lxUc~{ol3sy15-M@Frm5RnKk7T3>Ce)|2>IP*Wd)BgS2w!IH>IK0{Y z$B~p}J>$17)#CVX%l8*9UiZs~c4=Qf@NeXuylS1fE@z+S?d6xU&Ck}Gtg|);$~Ajj z|Kn4MdK8JDYj!jr;BF zxK@=`bQ+y1&eSy>YUN2Xb=Kob9?JtK7Um>RvA4=Bn)3ToyPTb?7kqX7MPP=Po166W-f{Jh^(&A0 zjCsGH@oT50MO$5Np8D}c$8XY<0W{|1Ot;|ObEZnf~{Kku8 z>qcD<8J@dUuKaw{;`g=E=CCV~s@;$Ue(R=9sgpQC{Ca)2jHzl zp zT22JErFh2z9dkYC)Hp}p+j@v8Q zrV+VQ26tb4%@k4~ljrh0^LHdZ8Jbeg)#UfRl4su7G_X#eH1k|L-dfVK=}~8M$_)oE z=BbikNa(Pk?>aOY^)>KF;o?iG?!G_7wXd9qa-Hk4dqjsU)rxQ1GHzgoA%(WH~U`GmaOXCEF|;w6em4qZ2vOoO}ytdeG4Q`UCUw16!#P% zSFSHFJL+b$Hkz-n=mk{|9!>k8@7Y>4&zoP1zx^Iw zs@wEnNcxMF3K#8ntm?FKdv;~LlHk+8;3MrnWLw%Z@vFaD9}Eb1)pACY)34i}n36ch zs*ow2%Y5;bbx=KCk}qAKu1+5Hyx+aB`N1~J9f}-#@~qUDuxHK0ZYRI{CDtv!-q~r+ zwdM0OZ2!=6`Xbvx&Gq;u_LEmqxK-Xz1AN~z~0ahjTU<_`0a zPIvFWdzi06k?u!FB}+4;{gx-D3>PmP>7Vy=NW0g)M%jDpc0V|)&+KW1T$=Y-`Rt{~ zOrI5woAw-TH*Ln!GZkEpbe>l1`q^s7-#5)t@J*UC=HR@yM<-9xFmc;VaSuIz5bwg3 z5gFDdD4ZuO)76*f%(c_JI=ngks9a6v{eCy;=C9u?7rnP4v~^jze&o8E)todz$KdQ~ zXTG$*GPK|RG!DfZWLZ%oZPE#O6P)QeV^)iKXAaM;x6UoU%aI1dw=Kz+-p8)X?Oo|k zJZ(QEcxBv|_r7Jno@mM0Sw0!6^bGI+@bv40em5} z40VfFs#tr%=|SVC&3sk#-r85qYIq#D=rp-VyCa=$47_vU_1U~DTl5cW{$+l1uN$B9 zomjqqQ{|ejdBU5W2=}X;qi)Au6Y4iex%9V_pe=S&pNj?G z*-)oJc-`g4*Nqu*{oH|%jeI{RY&vr7?WOy}8n_SLRB!1X-}Eyw^g354PvR>3_Ft=% zX2ZwPk3#nk+Fz*3t0hPNsAIS9>z>2T33Km0k}_kfQx4Ak*0=6Dt-(xN%}RV2kjgT4Ym2bnYf>)#kTazI+JLn6clX@- zuDo5PdMipN%-5)1!*(MoOtGJoYj5hq>ks#zP@~Jrd|MpnoM>R$@$OQdk1=^U@tA5J^+@@ zi|yP}tVXGVXXO4xt{=-kpsmE_rL-lWTvSX_?-Qa4Fs)}%|fdp=w+DaW@rrE8CO-yRxRKEC98?MizyZK`x1$0p4Fa9-e| zi#|Sgm+ky`W|-VBN4?*zxUq7F+{s4V-TX39nl$l-4YhCJHZF(~j>Y z#zQVn@SBLhQHoUa&_$&3|tUKL#*s^Tb4xL|D`=1l(>Q-O)w(G+&e|PSm&G-Ac zXR{NfEo2#eB5>dSD@P~4@H}z%PycCS-rexc{$|(tzw=f+bnL|A%uPBLOW@qQhkv2x zHGU7-VefUuE@1rTy?ecKmkjUX7QAcet;&^K5Bz%R=8-bK9eNKpk9%Ez+MC`lXWn^T z{~tNO4JkId&88n@ck)3-W2 zoHX$CZ!J%M=w5Wh^W4`{pBr3YVB*C!_Ez$|HSmnv=o1NFCHfY=`SkPIaZY*OT$f?Z zAi1ykl(|)#{@1!6e^Pl)fl^1GKAD=QTG7kC4w;^=ahR8Oqf5aAv&J9GGwA;OY+1kd zAHV#;;o%Owvg{f&cg)P`M>2Q!*^;DHyEs|5U*9}vrcb=M(50qb*gEP( z+H<37?p%EISv;2>BkoVh`cIPEl^-{lI6m29^J+VXpvC7+72k%;uQRf@UFx7Mb7wlu zSbo0s@&hB+4jr&?Z|ckOM^{N(y=;x(Jtwc6eca>kJDD4=$(a8^uIuAwFb`uT2Iflx%Yy`_06k~d2V)EFzZm!vh{n~7kSdB zaOQ_;uJ_$_)~#adJpG*ty?L55?b;-leR>YrbT;7Iicc4AkIGlBVXq>^=Da9YJG91( z?SIuyb}7TuVyVMC?q(cvX!_39%kErlRbk~A`>oe}X6(o{-n?^9k!D-xG|AtqUb6Hb z+P)lhvu~;Io3c6Ejo6kV{_nRtmC72{(fMZcM@f98Jo(Ldq68)kJH5c2TvxH*zL zPI;WAck|XS!;Us7od4sDTKm6Ltah~fh^13ArhPrYr?9MxI|Url2*9`XIWmnc$|q-J03N^-MfF`tFH$Z`8MuRcuv{VYrduJ*)L1p zxi@E>SY;`-z<%e5OeuzSOa5i~*zc)48xGF*t(vT_XN#INOx5$8vr~Z-ho01_|LOLW z6W{;(X^#=$i=tl!lzf5G&d=dFU~Zda>6?dS0|e-XO{iChyE&XS~G!URVquC92bMYkbK99B3D zE3nLci?feNx=;ti$5X$X%|+X+>gsSBInA4 zQ~g{|RZWrMxXX-!ySkpX@A6lk$st$H<$hbNV6ra@+`qIu+NAk2_l!?F<|~~d)1>kH zCwc>?FsCTzak0Kj(9LdqF-m8So z{_0(&xYl*a*&8h~m8!iv(L&3#%F~}UJd?3anbtimC;zOQXIIPm*Ory2 zl+nTM-nBJNM?G#nx_j=Mo#S-2llSei&Uan9w(x2y-*#!V7^h03MxaRzphrt0G&0c4I^Sm;kSE7ckgO|If ztm%4kMdsOmEPh&}T(Xm{tIFICTy7Wg!Ln)Cye+l;!WX~%++$9KA$~2TeCV*5(AXc+H~-!w zUiDVCHHk#7#==H{7tC)?f%p?&*moo>*l+>yE64Y)6W z?W&oN{(YY#?{SV+cB(wJ_oBu!Pcjdg)(p*Yx_Nj9>9^zHN8$E;=a!tFEycYpsgu^o zmil_hZ6z0!yn6oHAiwv=zjqDo^lIOyv;*gNJAA2lzb>8SeSD(H?^0Ku-r&s3=iO$_ zFfY$2ahB&C`Mo6Sdu@3?-E8=U)!AFuPb}}>E6t44CdldU((e5y&V92l;k9r3&bOLi zntNOJY1H>kh09<0Z9{_3ou2Hd<}`HJ+G3CHJ^8Kdfht>imK!$e;*uqOPvx6ftl^FB z72@#6-&mx$irs*Y@cV5T`%8!qek<3NginGmwuvrDyF1`3frmsSt|2{1_@Z#SjYJ5Rlo}*?*PyFXF0x_jM{%`&`H@RYn1l|UtEnJfB!*ulJPGC&-KHxvrNiubtLU3Coq}HgU8>&;NK51ynnl6 zz+6B0yC4x`M|ZlC*xv}gy7E60NZE(BIuZUK@c0Xi5&NHP2V0=37rq7t-Z~cij9Buo z!8eJ8{TeuMI>v&Z3%+G6_%D%58Nb?Q-LWvzD?Sqw#|;rtHfYY}sbL*q;QRPh0i zT`H5Q73`DY92i}{!Qh=0&#@b|{| z%L!@ckS6l}lkww6PZB;DJl8)NDKoYCSj^F71c?zD_f4v+`L?nrIjda@n*E?@f`7rQ|AN@Cy#Qs_Ej^HJ)w-0HbCcWlA z?Hh@K@EyU|u(EG-{+5I1_+{_ujf2>~58eqpIew(vRve^V(G1%22j>sBLb{XiwixSr;b($p{OLQ#u6GQ=KL^kF@wtg- zfYJFcf`=x)zmW3>UFb?;-vYiIc)fO|bKz$y`!U`B=dJAHQpSI4rYnj4OqnD7*Sq#; zK={VsW&N>SZy&-B1JC)B=Wo4n6n;DS65x$od#wHc2Ye-EpT6r|2V%bj{&6bTujGx6 zKLot>{U3ePlf>Qz@bsT{_3j<^FZ^?5pYbDabo>pnYWDTc8*MX*{UP9ae#`u8wYL8h zo-dtw|HbjMOs^lp*9Y$ko_RTgY+H}?exJTJm-%ey-E1YIkfm0S-Z3$d^7M(U|-^< z*9YO}gJ=9{pJmbyZA6!ZzX`sEvd?D^z2gu*ch3LbzZm5^g0BhtGXJ<8)s@8lG4MP; z^zIw!T=?H|;om~W!oCl9NAMiC-m%jMv424EG4?-q~?~-v0Ps@+xB*VA^bb= z62F-6B@1i3tUbMbh?6Jdw}Qp%lOA+{mud}?@#ou9qag?1MjHp>y4c?pAA2r z$@>E%F_iJQ0$;<*zTPniKOH>peO<7 z>>s1{Q5%H&ODHlI~rqZq)c%HvW&`_`M>{Iye;ORg2uaOuEze@44 ze)aYt{0;CeV4ptGe_6-ON0)>*Pf<O=T>;A_D?*A35by>lr1J@B=`(|4xCn%MkP`0^Dae}CcJNx7{Kq+J*Ae1Ajx znej2Y{#Sr^05AR7vMcq{{vmj-Unw^lzsxxN8z`Qv(fC=w^ZG&iTti0f&jH*>@r& zVL&5NF8N|Z#s8MzIe#*5Qf>qPH%>Fa;|Pmb{~W(j{seeOPOlofb+FrpW|nl(d%CW z@SJ~MyJ8Z*{@{82ru|g-=uP7PZt&Pb5jA*y!HBJA9|A5&tF5^|B~0kvW>KF37+>Kvi7CiRzK1%T=ATHBT4ve;GL}O z>+M7Mj5W3Ar{}x<*EJO=ZEMR>pI~(f#>-z=dX2}=)Ma-9Xz&B#J^u+S^VfA zt2*H?gXjFEM4gmbHT&sTX={(gYi-}?^~V>yb^P_-1Bw0L!PkfX%ya(rt^wg6g2#Um zJO^vXKXfGFi`9wU`v(v3Jb&c6XLSCif#>=WUWe-uO~n5*;CcQ14W$x8J$(qDysox? zId3tEe>3p%{xv52T<}el|9bqEHsb$h@N)j?T|4YU_*!`QA(kJ_} zm89(l@H~IGf27P7%X(>B5HBC(_a{A^v=KfCyu?rH^r-Ob6wm!@Bnkf#Jn!FR{`K}D ze8Gm=__^+4GJjs+IeyxW3BLq9*N@(FlXjTI|M%cI|1lkZ0lfTS{5XF0VRZiuRXqJ6 zYn0z_=PnZzZBR!a{iDt$~OX!SAbz0 zZ+?9A?xTOluk1@+))D)QE=l{-;N|+s_D1>KO(UPb`J-VZvvk8|D5;4_!y1fAS*r%c%$>b2|VvVXqV$RYX2p8 z?jO1THM)MwG&h+X!NYXK+LyR6A6=4mLEvd$uiw(A@GHTW22a1!;G=g92!8`S&tK;C zj-5UTpRR?r|0T~lJxSU(SG-=orElTKgJ=9CFZH%m+8+kb@pJ4(d=UOS_)?0uWz)J| z_>wN#{$m}_4?YL!Nx}~X?*#jD_UN5M;ctL1rsBsk*$1|K5I$K;ZT#G~EHi4q8hBp6 zX^$+&p(ly`8Q}2<7BPQ%IB6sNZSahrUcaOA1zTzBkA5=-diSx|pA5dOm3_T_2>${+ zZejlQ-ze|UT01|56P0oPOvQc=@a2?!vPRd>swn)=>_sgX`** zFxm+J9egd=H{v@@2;Z(lB+qi$NBkaL5`GT&D#||F8|ANnm-CZ-8jWA7j@tWkiNDeH z(+qrN_%Hj%sQuC4xqfJ$d*A5w`yhDSg2#CNoI7cMe}R6>2VZR_nZF6(<@aauM(6J^ zc*c*c^l8($RonQT|Lece`EvkYUD@Z^ML+Z;@wH#)$o(Ia^|u9l1=uIcHDJ{KOYl{} z3u`p~#mte|=zX6`>k33_Ll3#Qrv7g>m zn}4pGIO?MV|970N!1M3_2yfK?aaMeGJ%&{q@jtU$*ec!=lbLP#U%a%W6A#szFI8o zC$YqiuMeL4C#K^c0AALAOyaib~mM)_g^k^laKW032(UjN&Im*;oJUgDsa9|PXO%73HtcNBbWE8dn} zsh2pV#Kos(EcoW&t>Z8K+fuPVE0+8{@YQ4CfBqot-+yrZbN%Q|;(vGWv5DUX@c0Qf zV*ka&epwv;jbgzM1aH0mjE;X7_}I*U!jRal-$vl&{xc@=8wEZ#^LG+_9jo{o-M{H^ z^A#KaUBJurD<*Yhi^Y(@tY5x*H1ZrjoKfHoB!CHKj*;5X8&jC6T9=<13bsCciqao zNStPXkB$G=V#(*k!%J+gzh>~(=ckO%mdf~-f{)GozXI=Iwf=0`m3pyXtea!L?{z0CKP(C_{Ytx^skA!?zO9vgy?zLvD=c=u zzsv;hr0la#z57V)-vV#__XmvnUub}~f93o)YTpAq&rjN=Pe$#}0$)k-at%N?Hj|A1 z0{B|sd3G}ywV!!l4Tmm_FI6j0Q=0-wo&_|lzkbyQT_mU#-H;R6Z>Dlmja(q z&!DZ^aJ)=)2WkKQinjHx9dg1?2G8q1^YUT6tt9+eEBj=O#;?HO$p8Nsy)5mB{Xp=1 ze;{L*a<+*sNxNI%dH+OS`iPE`I^l~CiM;=1os>(vpQ*G92hZORV!D4Gfv*joc6jfn zH-=)r*wD!R&p!0VKzL8^&0(K;{(dXv>?^t??T&zV0xy1xM#r*F_>{vUub+H>rZ)-i z2fm7m-*148j(@A->9?I;<7g-L-+^xd`@$L>f3I-u@6Yi3C>;a)cZWxgpU+Q5$KPRu zcKws_Fot@Pv|j|C&tGJ?2aJyYJb0Nu*+cBhRucQEMru6mvdpOcM&Rqif8mXee=2xh zKj<&}&^re4|2TNrKYCf(5_7jcPu3utXZw!R5177Zb^s=-i`~dL0|44?i46M+Zgx?CjGI(NX@sV=oqf656 zEqGqPW!*`6bS&$nU8ynJ{uSQn{0#=r{l|GDYn0y&-un4f{GyN1C298-JkJl#9nVm` zb0~cAv0D6O-5K@Y2fW<>u}_|%dXm^*pm@oPAGZ3C_Lme-zvUWYi)Fp=nZ{}JM^>+G zYu*Js=a1v&8ZsKc3E-W<(>CW$uMgt?P4L{m;=h!mt7wz7D>L3?as;0Mtyw1J(ZW{k z`hur@Bfhh5v9lRG&kw!h7Qcjl0lpe|#+_w)pCg2?J|Xh&&!mvfb*S(`;N|&~n9=>W z9DHr~&;E?8VX>cNqRHfFHGcY_CkfvGJmV*My?aR7j{wj2=d$iaZTTSl4e(9DvwaeL zcpcG`gl{-W<0Ws@{%r7NVLzt#k7vL;s`$~i_+e`d(k}I6?fS!Y!!yLF|82oHgMIRP z*B*Tn`v<}E`o-}V#Ye7#Y!h7)KKB&u{)^`aQ*upg{wcgCcwYZy+9H{`6DL&F9I+3 zKlESjx1wUz;pdEua~v9e+s-yEaIPUQSA8r;A69XGA!1f-*|4= z;S-;O(~%^8&A{{gkLmiKr+7KPjhFQ1>;v@RF_zk{y}o_@!~ zew~%t`wy<)n4G^oz{~j`6MhYNC*?nR8JG1~fAn42y#tSD#xS-?`lE(FDHFcnD$Tx} ze|lpm{8aFK|4QGpf3?O_5@U4}7mdQG1f6*o3KY_1d#T)g% z!0#Q*c)i&^nT_iwzlk>jUr=~u7)+Tfk7?Azj`UhGT+FYiCn z$H0E__1eE5q3`?{J-defcpD@4FL2#S;@1v*6BYlM*k1v@h1L8S9shUm*6T<7 zvNaHCXW10_zrR67%JuS(!CTLt(fyxy^M84x>!%}lUVmlYjq;1Z*SDHKqvL-W#ebvY zFT5pk|HLHzp5Pl=jo+yK4d82AjbHCIT;lW*Jn#P{{lbxqkP$2k@vr}X>|P!0`Ca>5_hBXw-{}gdYi>&mW0Y$9nq^emnTCYW#ZFp0)jad$sp>v>TK2 z*B89Zzh2+1?XLsR`(M5LPKD{;_}T5#{{122LHl{6fen@T)c{{!#jlJF#=2VgQ1G&U zSa0ZJrLbV z#(y8YITn1KVvjRZ)>|Ms{x{|QmSKBQdQ{Y<4@#}nH9 zznpz~{Sba1c)ovRo-x$B1ca}3QnN4lpZOcLT-px>&+~(4Cv6+`{~>tpfBG(cMz!^$ zytK`J%4Bi`FXNW-A2HTt(k>7@_n+)t>BqY5kG>24C-_?6CI6$gKPr>P^B|18?oWl-ue@+VuusAO1`HjgJ2oc)9-DvT0o}_A{K(_AleFckQqr;X8qMg#SiZ zYkm%R#*e(-v0L+3!1MYitgIupi7tu%Db8xwZ|;BgA?HAJEbD}?2EH2XGf!4;9E2YQ zp7RehM*sex+&S&~N#7IWW7Pf{@Fi6I>4V-R{@(!asN%0TcC;aUj`Q06JLfG4K6>|{ z@Xf$;{Q!-aKcoB@@Xf%pKgLk{Wq;8nX?GJm?|+4*>Pf<9x)8}5*#p8i17BI$*K3>p z2|wD3kBR+5;9Zn`_RBS>CyD)R7q$80^*bj12PmF4W8(j6@Ye4S^!gzFKLlS6fm%60Ae`a3qv!6BJ z13cr;xbqCqo5cQh@O*zjj=a(RpY(F%?;q?#ZxZ{B!Ix70$7KBt0AC9{S@ucQlf?f1 zSo;4JJl8Md&yU_STzCLyI{!x%&$Z9FGrIrtUDK`~w3`Ya_M<1s_&bBI1pk?j$@w({ zd`a+fZl=&<9Bst@QSe;9%*W*ZtHkxl^T)_FNbGk7&-tUbKLw$d2}r6q}@^QTz|sKI?~JA z-HhCSe1E1l24cTDcsc*&8P1k%)(am9Ud}(3(+53C_$4|1!ddy#+th2=)iFF)`+e`s4i?8jCT`*Xn4e`zn}lK+`X zyVKxh{@GT_f5u6mi6NQJ@E4W zORw+Ne7Z*_lOz0RnO@)7R_wbdo_RY~=uE;-244*JIq!P+9!&_p7kp9h^quy3hU-bf zzW~qqV_xstWB&$|C5z=&B0ez@#FKi%)|cx zQ3`|~13otKKLDQlm)&y?^v;9W{|CIB|6~)eBOOWjqR%3)-#V~=n+V?(yu3e%$@_~1 z;AQ;mQ|}oh_RoTs=MSELQvR=_Klvi%qkod4`sZw!Sm`Zm)4n5Euv6t8#Ph+krV3V3<{DRp{O_*1du6aS;dPx=$J<%6`V58itH>y3l(1HsGq z^|JI$_#NQ6et7Q1g#Q4(gjzqg#%x_L_RGGHe14!0M$g|K;CcTd=cdv7hmGKQesb*M zleM2e`z~!iTlxR9wm&Kt-r<8b{}Own{s)8S`N#g!;$w9Gtp)F>;wL`*$ls`C;(yAI zkv!W-dDQk%^U`h-czb1^XSb9`Z67r+?fwGK>$i+s%A>ZAnwNH|K56@h_wK3i!Cugn zgl_zb9}2#niXX>dH2x>S^ZG}Qu{XN@ z5`5Emvf>lI+Dy{68u)UsFL|4wY9Q@{m3_$@AiNdZ{atBuL7QBG1))gz&on>;~Fx${;GnYeIvfpSMk4>;wA1z z?Qa6#Qu)t*^(L{OG)|m|{Y(F2GJa?9Jilo-IX*`3KPG`^{AAn`2lf|T68}$uuMS?W z8%Ft5apOe%`)}G}42<$E!Snp#xhrE}U$&C?KNGwoc*)!1q+Z%zQTC0To$N#SH26n1 zHDKR}@7BBvcwWEc-KEj^jRo&!HGc6+#`!aqcCW$n{1yL=+AkPCj;V_kulM>%zcQ*1 z*G*OyAXzJY$$<}j%ZU&7Mm~I)s4UOV3=)<30{C!jh45kek+Qx>M6IUeimE)7dE666 zBx~jUX;pk!UoE0m(`5MGQ04z$P>!z=K8#aiH7;xA?>uHzZmpaj4}8dDO++Lr=dr7n z{g1NTN0n2_`6~5O<<`n|5~%8fRDE>H{(@Ee5Y_%i%62_ey|r>Yeehv@U#0z^OxDVF zgCa^brJuu8-dfpDxGJYIz9aBq97f~A`Z4%0Su4xO;zJ#W4-=K#L}rkzmHkeRDAknQ z6qUDDwws0z>!+*wA1TK(Th&`Dx!+YemF?!MytVRdTdB%_r1WF8s;9EwHA>ei{R7HG zpQr{y0?`8A!&Q~5Q$%3CXoGN^JY`^%*A*2*~LR^?QF&7<3+79#yf6QaDos;Ba6n95W6b%4rK`E{VmQ~7le{-B>jRJpaXXs9ZuGCsqVj#A}R zejTmyRDKjagj^6NzWL4PKzaw@-0Q94zXQ`v4hl=D4T)z4G)RMsz0 zw*RQg zt(8TeRQZpTRiE((&#(CGB#N@=H~hhN2~<6mUlXZ3mGMaqrGKfErd8#cpuC>ufinGH zYBKa!LiKB{^rN&Yr}ArA{K0XQQ{`07QxzzSs;Y7---|a>mE&v!W&iC}IhFl( zQ01Lf-mKJBsT-7W_J&5BCs6!n3Q`&ZW&gdQ?7yEX4}-G*0Z{TIplml5%6%~fivLX0 z@CUh>%qS%{3wgGm2W8a)RZpcK%T%749r=S$wm$~t{<#8WoF77&sQmgEel>HQd;y+Vi{t-nvo|3AZimpthm6lcIdNg95Rr_*^uK?w^ z98@`#`>i^Z?Q1~ke_d5ir9X|K11J45q9hd^m(q^hT~ z{b(rr8>7nqFO>a_RsB(!AE$IYlvR^dezMXjEJXT|lAo&Tsr))a<*BTn3FUZZtNiau z=cw{|DnB2}L}mMhs(g_uw^kM{Rpr*o_4S7;r?Q{*N;j%OyY@lIDo^D(7O3)6whvNyDns8x<*D?u50w57hO+$-RXzfW|4d`}hYck+7VQc^H$mC& zb|}ktDE(9EPAC(V{`>`H(SH2F_6Jn?VHP4$`Sm#dV83UeY{~O9g zrJXCP{3?|F+=Aji(>?sb`iDxND1FXKBr5A)DSfN-J(Tu7Lh+yJEB{c+_B29`M`KFa zB!S9PIgW%%6RC14xui-{C`}Dz`!rD6O$TLvnN)pNRi91eb3!B5HI(fOL7AxRr!bU! zF(~boRP|Km%Rt$#tSYB6Uryz%mHk&x^%Ye;m0zo>JeBPnRi4Ux4JiAqskD|VcY-qg zNaI9iq4>|#T4@JW-jRh!RK9=ogYtL!UaGz~lyT}0Wuh`a zNad-_4})?%!&Ui@lV^q1d@*J9^%Bg%_T?XZT{X>;gX?MNKQ<>igrM;~x zza7dr?S#_aE+`X~`Q561uPV1zatBnqgR0#T)s9O3sLE4$zFkszD(f#Ry`svkmGxIu zIhFojS9vPyZ>T(#U+=2CwX*1uDyQ=6bNoU6g({~quJ53<^Ip||Q1yD0{e4vJsmy;; zc`D~8E{w4M_%x=J?d*_eJQJ#NYi0Yysy-Q%?USo^RMw|dd28i7r&aaoRlT)xKJucR z&j}S&J(XXpsyvlLs0n4eR;rvzKUza+zpW~diE`W>!1I2=L-pH5^+#p@UMf$e-L5K6 zWxktIZz#v@4`siBP^RdV{RgXdRB}C4J|@ckdV!~3y;VO{p1T88p2~KERi4WBLsXv1 z`eCX(T$TSw+3#3YZ>{WaoGQ0gmXAj{`=1D9eiD@PJYD5yK$(7|jL&S;^E_Ot+AmYO zTya#+!)leMGQUpcsq}j*l=io&a%-iXKUKN4vi(lQ?NYj1wWG5BFQt1_d2~uU`_Yc^ zIHTD$j%Y%ph4SpUZyqyByoGoa>Cg%P~>e?;54QexE}i zkfQsYj_3NX-{-XJ)34v>wEK{9TTT%3J(jzt2U4BjR_uU%$`&`hD(4zsqrju$({#L_-9VXZBx+v#IDr3B(w7EcAPhCZvTLK^Cr*t%g}X5#qAXWuQwjO zJfvc#E9c^t+_To#uIz+d-@4un@4B~X`#l#rEV(!WK1#ppbwq^M@$atvv+h&3ddG)l zSaIU-qN^L0cHL3O^Q3F>Lld0FF8Y#mcJ>Sfo*rwIGQ3W|;h_WmtogompJt<)e%~?D zbgE|1=|lXVKKi#`t^rB^A60i5RaLY#4462CNOz}nr*wBnBi$h#q9Bbl(jiDncXxLq z-67qLARzT|?!D(5`<-JjroSGh>#V)knrm+WL992yCDmf z$%$!U5y5zvA>5V+xc}Q0{nw>Uv+5HpwqfGhPagGIYGGYsfsGP$L+d@6`WY^!4jv?24ztKhfR*_kXv~|GI4XhLS7E=5U%C_8%-Z zmvm|CS`b3EGc3` z!95NnK+sy}tKy$M=MIm)O zcV!JWY>&z{Ol3i~yJ*ik81WYfGQQwv&yWBm%!TP$qZ~PWOEUg9ba0{BYMN6Z$#KS)c5l2Nz1i*l1%kNXcQ_ycN(wA` z;Ii`wf9z}zY%^$ow@rKGrWkX(_%!ToC`+LzJ$qH8te~$^m4145i7pVqUe_hI(MT_P zr7zVfcEt;pkK2~lv(y1M$e`#vrg!rjeahOFXn-@&hUd{=AXax zk?&7-MH<>j&W<$T&N0m6W0jW{BHb`mPSQ#FH~9iVT<|*#kN|};Mia9emwvh@v+bpN zaxM@O_(jn*EqTz4l=b7AW^zySo)Hbww&KrSxWq~5Bw6l1EtxrQbxGmEo&EKWbb~`* zAczZoryLTXM~1VFWws$$F`rQB0+9~~!8b%gQ)QxuARpUz`_eM?S@l{A44<5PEW5FL zEh2vkU^p)sWU^JdeQ?!Vj>F6^et{q^_}x-SfPM#NsGMN28@2?livFlOW{gNFdUp~< zvEzs>VSXqxk=J%ho3v3YYV8e`N#xo<5>cLDtp_3$fuW|Lcoh`H2mV=Fhzouf2oj+9 z`+jR55mT)OJ;4a1s|mi(q~xB5yd_qJcn-hV55^J*Mqj_78`N2-2u#C|<6P;N{|e_m z{GJiF@l(hT3Z#s#7YO2l&&DAEieC+VY!fVrV8tE4Lu@(p>FO@$?>nPQs(Kx&buD?k z#-rz(Qk-_GI-%!-lQwdpBjbBZiLk=~^NoLG9JT7}n->V;qC?P^3>poQR;!uB;RZ1) z9IaTV9p`^mK--wPP2?0Md-Cr(;-!7Bom)gZ8NWT&blY;BweZURSLn`eg^Kd-r_`~~ zkq-bD{H`A)K-kYk7wBGmHd3p>Vn{W2UngKwW;=69McJC3+E)B-AF7b}yK9taqN(Y| zMo`z>*ig1_Iw#XvF~4v=FBDI9(!M~Ddcp4oKmxSP%iAG5m9j2C9}iC&vUW3~P+ zyYsSh!b^s2HbD@Uq?s5h^>=aMb<231hVWLb`R(vM0#agek&Rzp8z=bMg}7J{^d*BF z>ph*8WrQ&v(UX<9>wg!$#Y5=s$JR0_QSbLtIB@^+(ak3{s6k!VUj(jV;p<@$9KEPu zQK!@g&F@47h@)iv02lnO7bHM>Ek;BwqrA2fYYGTi32`4UHBFfU1QlbnhDEGII+_q% z5yWo~UyJ{X-LQ?7Vkb0BD%gEM0y*PU^JzEUDz5?83-G&&kN_n|;g-i9+ffpCiRk0` z>$G=piOGbw_c5tm24s;XJ=YD0`g-;GJs5vBK8Cd)Hz~7R>xM6jp;a)6F;yh_mj-_J z3mFGo2>OyiJhLuU>e~Z^=hzn5y_OU{$6oOr^r9p~MSkxSYIXc46N)&Sx|C-IJ?M8c zu0o~z14$3Ji?S`Lxy)ShXlm2IV+wKcfbO!!FtNMa7qP)_X4F}S_SD9&8yTC(swR|X zjAAT|M@E(6fGhgrgR#D6x&@9e%%Qa~cM4!SDD$0z^<|<{g2N z*^wr){9tp`tG{Y%ZaU#|1(8y=20dFGzquu31S$=4}TLmb_k-#0onl%iHVn}hKvcE#4R1zGvr7Ga-dV8VRoJw;e1@ZX)i zK+rGUIQSYSf}k%MH0WcbE%(Vm;X@-cO)v>e@Uiu=GwSAgnZljRtWM_qAkz`N7xGrF zA2d#fl@eX}<;a%q{ejs)FwHS5vuwf<>;GKv-hmkC`icLHuhOJ^WuF$(Bal_lz!(D} z5H&?LP4-arYZaU43SDl@(bRcUH5StuSc4NoK_Bd|{S8j;{kJQ4%rSDfrp;@CqLjcSBmxTFF zvbGV!c~r<)aT~9G1Z?46s}~9}P5uQ=dC7s{9HC#22jvR{aVa3^O9t_3k_?nHv{!`% zxde_7GLhlascIA1+MSq^cBKs_>|#A6Rtpjt%x#Ig%C2@NYp@AEUfp|u>>Wn*c;zwj zslY#T4|c)x0sK860kVL-NWGbNs|ne=9U(iDRyG>L#Cxdrku0Cux9g;BNB7GUp0O>UoH% zia{9NJ>l=zYZ#&4TcaZX>-hlOW2Sw4=V>$TCKl?8^^glUB}PFUJwZR}?b@>fs7NwB zK)v8K6cQkHQVu_h(iSU$@GdRSewNuV2O68i5W?`q?s;w~KIqN{vA_L1@d7?4_!k|2 z=8NC6I6GT>n+sZ93&a&dZu)xg0zt-?4uZa9P*?dvG&Q`}oRwenS#23MF|5ybsP0~@ z?qSXMgz20unNs85vk9l)+m!VLhON+Xx?YCkPIalgn!~_0Ir+#K)0rkB4NIz z^|J5>qWD~vVZ!j6imS90L==bNx0&rU8s~h>JWerWN{Mc_`hW9TF(ofa$V1wWIDfNu zfYcYLWitWwG63DZA_S!kAe!1Oy8gh`gOtB4Yr-vkxW4e;``Lf{O~~(K0rQ|w-9bj~dlSR5*6y3tfsUS- zuQbGKY|8&E)ywxiN62@m$1aAX^zo)z>$8L&MPJAy4dw3WEB^2k_L(skdE5v8-y!46 z^ndE@Z4>1Wp7i>B5`iYaW<-l$5gF#bW(m`EKI)y>GKmjWGml^2B?^hEmMEf)G%e4gLnj_!83lWp9UFUJj+3cXwa=^-`nGqk4t|F(+Hdmn^f`z5{684s zt*BwNA=`G(QhOLbH{91fnQSi*q+am9ApsiheMrGG?K5pAL)n})@cTmeW5;SfK(+C= zO`)kePx@HHpDvr-w|K+tmeRwCp{>67-${P95qUd3WSIC^`VQv2KoFN5g1%&sOF?E6 z5yiZX)}SroPs}jbMF-rIT^V%0+ijgz)Hk)YHI(ZKbr#O}-;%iO%}8jFG=EX}0zvBKgrF}OL@}u3TcET#xzDCX`&<)v zUiV{uj=$uo1>WjkyK^k&GlpEHrsLE&Ee3HW(n^<4b|2$Xs102*9BWH3W}nAw0Knw} zx+{2j4J8I2`^WuW>$zCjbNw(a)5S`bzVrM5a}%%^4~_emgC7xk#>2mLcVSK>vADTl zsXc(16ES%G`SU?scoV?o2D822zK(xF!xlxQXg<~z z?=zIVuviKZ{K;O$rY)yxX>>I}&oZT3$+qZtZtVeZd4TRG8iJ6j4MYKP1_yK-sjFUH zJ4ybWs5zr2*}6I1c-42lwk9PC_R zDl}*?5s&+>ck|vFP%kggt(*2Lg0A2Zz^q#p@f?37)kUeA;U(%mRSR4|L6f z9>wUx*u{{*JsaeD69T%O zr7==SX0!^31!aL{GzNr&qtv#91t}OjbTYxG!N-a3o)-oY@;E#$pXxlLiksFiMOJ!q z=Y}lU+TI+6(|mjaxWYhpoIZc=sJ)UAQ;+oPJ3DGt6MSw~~#^ zr>^CMZU%_X6;lMl^if@Guk3U-8&&uDF$|M{=Um`34oHC5=@x$VMe?GMc0wPFOR(qp zJ9eX1M>8uCdD(k}*BnLRAVp6KzdD+~2yWO<`%S6-3k}rby2@#YY5Qtc%_MOD1%ix& zCTq%alC7MCB0kK1YeqC(Pir#;wNn$|$PDIxE3WXwDuyD|!YAFd44dGfnKbe)~bwJGklf%W$Ghp@!xO znBcPvNWBse^d*C&FkplS@59e798-`?M&L*otg#o5qn|$WX-v|$bBd(U8o^1eaa;c2 zM{(Ngf4v@ynl$|Q&THcj`C7lst1N2Z{y`Gxx*oT$y#BsgR>@s2L%Bte_m(`u_M7^> zKkI#}bF4St=boH_we>R&tqd_=nM{R|z^rh-5`X8DIU#-!yde~m=!*rZR|@DxEn7;R zE=vzIEga#JcaB(lX%(T<)CLhdf!_KTpM^4nMHbBS{ZSN9jPP1AKr3A)$eo#ZQW|e) z@dN#HDhiVUxY9tkil{Cw3H65Z#0*`&y7DO zOU~%oQ~Gzq#)7og`(J{3Dx;ZI8q>PK*Dj=9@b`cO=(IXvg!x87Kka5%WrmH0Wd(0u zS?Yv?OjoncWJyrh!1S9&1}SYuh}eMF&9}urc#Nf2H3Ml3<3^>7-)Qbu;a?z#D+@ti zGN=s4=NHsNovKTXLmrg5w~j*GCN)$BjGEK<4=KvBc0+sm-Oml*&s--BxSX`EG-Eek z2a{^kRHaKFW9Kh}mKy=C9MCm*q}4f%tvcSs9%+Zk)C;F3O8H@P!0KCYdVUf#{tzP* zTnCFH>tuV>`Ia%YxnNO8;J5m7kBMq2vcn`@#~HA{kO#V4<02x9H-_9B6hE#L8qINj z!YJ-wh`G-N8A8KeS@A!!wrYpw%Abt^?OT-0P|`ypk4)_ z>+2EoH<076kY6BP2idInjsEN8pW?5S*O3o~x!~b4ujf5_&Ix7^{jx<4UMcwR)m`T-m6J_vH~5u;cmGG zp7`HXvzg^dnD~}kbY@1`7a`w*BB<`;y^|AbHYb1!{`n(FfM}x9Y2U&8pgSG&dL_qv zpt_Uqc5&r>wG;bky(_uhqf7(ICZ?0l$Grug&#%&K?bA0C-H^~vAPJa(@c2N>T8m1y3i>a-_LZc(dScVzcUnm1z?q7q-X(7Mv)V&+mi>zRTQv^`5tJif75afJE z$#Ey&3Pht*Hs@B6l+f0a^qh?gFf(-Ce1WB%!pnY;Gb8?n2&h*D=yq7cVw`#=?qM}+ z1yF9Oi!e`)gucel_%U;GhNZ*k|5>TLSC~nopG03XvTwY`a3rW+lVDGj<{8gQ&oMgI z5j?jbGg1Hs>u&KF50B@Qb=7ri*bec%sk8B4JFM_MYk1usBdcvCY(f*X+fF|HLlgU+0u1 z@`Vt%&T9bOia~2k-WZH9sYN)hPmik#2N!*mj9*+a=Wj1!2> zR0iw|-veFV6M8ah`GYbF%a=XwscZxLI90L6_e+6@KC3=Sj0RM?PJ_z$p?7lmC-`jf zBK|+iQ6lWD=LBXS81>xmE+WtX^=bp%_gLfWOQ~wS|JZ+`T3=_Vd8Zket{^R%#c48I zJR+w5#*^4at2gFyG~%>krlLUh!NS&jMYbp&V;TO=!f;Tj2H@%d-PnGQI|r3t-EJc4 z%=f>>)SmZ=b$<{?c%dFkAMAdSGy_S0JuL8ZAmo){_7A@;xHHf}Z~v*5jNFlC5&8S) zIy%7B1-gD5sTcW*DC^I4iKSOh?Iq&goUcfdN)_MtZl#&s6eh||=dW_SB7#?&IS(=7 z?`Fai^4HV-r71MuI7$77v$F%>g3o#&0kS0zZ+AQhq^RPT#*n2FTp~YrSrfqwo5F;O z>$8(My=jhcC$H3T_fAv+T`Bn^A%*YwW-UmS+D#aw5rv(%g4bZk^`;L&Uoz;7-X-yf zK;qBr^1=o>pPTCK{z2lsA46D0tfye{;m6gplZUBc+fVRmAoZb6RZqbZ!LwrAt-x{> zOVo&li*4Y#X#jKwD4d1~_a9>Ee6zAVKh!MD<7Eq#eh;wI?U=8WlwkZvDM-7-L-2)n z{@@=M33P&rg!n7%m4O=$0=y>E8y$*eK)r@Q_heFr$0h@Zf_X8<4ym!Qv}kWNy(oHb z^{-s$0TOOc^fPitwv(vQM=62AnC$A}>B`)#o{(R7%td0;kHeZzl8j9Z#yq@k`O&H5>>`Q1nG^@?yG?|jHr zAX}(kA@yyRc&WcqU?Fr(joCq*1EE;(R_d;#whZnDZ67!PZDWtlk22Dckh||NM=>OX zMv}O3_T0~JX{)y?QT@pSLa{suCFKxij#vrZ*(A5+opeiDe zn%TIB2Jb85E1-L3HRa*1*kiKD&Mo6kE<{IPgdY4y_YG6T znm>9|I@;lVntB8_UlX$@U?+2j!Sw<0Y^}E=c%H!}aUC$%bURTbZ|E{5Hw2>SYw6K}+f{JdXPa1A)cPK6P zEIO{e#BG@AAX*_N?Tn$LE{Y##ybvP0L)*-CjR_X6c)AeCB_`0G7khv80zu}3Ed+hZ zptfE7AozAP4QNKbvmmhx$AP7O-E%cBJ9joBm<+ySB{rso!o`|62KNP2EULRuzmhWN z(ylCVWm5wkK0ID@@L3$hwFA0&9iyfe$F;9GsxX`{lOw70q_JlZu~E)ql=@5jSzzBw z9YP;GAFW%Kz~Fx`>R?4#MQhBda%wM$rXE^6!Q}wn&+LIN0ZO0_q00O5{aa)~(-I?# z_%&{vAEwfquFB@S%@$AS4egTya2NRtA)AMJiFd=Wgz_`=G3;0_`wc&cs|ZZ~0qS)C zx+0xsFnwnhtcm2@i1XSqub^4ag0YV3vA@O1Vb6vZwl(Z_T1NT^myjto-`VXlUUEt3 zH<0r8!Az{?o?^8yf#(2Z92|k}NC5fL>~Zi9NqdT#f%^Q>2PC@n;O4+sk@Fmk6}EV> zcZ8ZmB}MYh5djvQI&pR~uBq00p$6X3Luw5QCvN|zZvpoNkO2KGS`O5YrSQ;bI(`Vn zq8XHKOmDm;-{xq>6X{_!H|vYcIL5Dyz`J@miu5MD+GilWTebbkbuOFGsdOUY?1>dw|K@~Y8RoLXZ>@ce z>w$A`DJ2TN+W?h;T;JUL_UIhgAG-iuEc#cT-e#6(N z^6|}P)cXi$E8>`mI|4 zcnTgrapKb; zyY-b|_v_yi94ad54^|`Qekj?a0QVEnjdq)5c|Dzz-eTjGJQyFW^i_}OXfGX}6-%xu z#hQ4QqdgOyK40`3+t(}W3=#)TaUTD;V1o8|c3um`T=)QT;C1mC==RljlO>6pyi-4K z00k3e9lLm)e>&CkD5d($HM%QB|5uV^SS$3C2rcpUk)v37f9jJNCCO{k8(6gaF+Rzg z2Jl`QGQMs=_dA|%r_s0gH3ZAR?s`qz51vLLi3{NzR5qF`@hyaE%PHyPmrSEpq}WO5 z95!U=_bI(zXbN9bip;y&68{jLlL1`t87L$`LJO+c3wrOC8wNVrQx%f)bE==z159Ar zIkYgpW;2zTKFDf;h~o#iWup{f^pNd-Me$!h`HDIPSN9c6K3?Yo*Uc{w^d*C|uV5Qg zJlFTeJ1&tGta9~Xa+Tr`lEzuskBkq?#@-de^<}R1at}^OeH%(ne^&o}h`rW8$M?38 zG${=Q%I^Kpivbx251{Lf=F-%&xzwo#Yr$j4>ya8-s>l3{SC%e;JtIP#+kb$7(Zys%| z#t_}5GClc;ikLU{c=KapEKxg0Yi4>V@C?VCF;^l_oN%zuc&S+?E15ko0M`rXb`3_d zHHuI+d+}zKgt*q%-7kivqhL|K_U;weC%;X}nDVRG{EIx|gUb^XHOuzq)o-y!6*95W zc~iR}MHk{r;P`q2-F9b=(^z#fY6nzfKXSF$9jLJjm)V316$!>1iK}=4yv7N??}Zt; z>CBa~nQPv@BR%qe{(NzeU-v4@HGZ;eSxmc z&%Y8%?i-mM(pgOl^C6hhx=n1@+VQO)OXGbe!{|2Kw@=sMcG_t@Bp^OXb7ud@>D-VgUHLAm>+M$}w^h|=dHDX1 z0ej;ei%1v{tNvbw_Qo59E$Nv9gmTRr17PFdId80Fna@I4GN4qt&T zwbF^Z>#ryi9u111v0Xt7uWl55P$5am#XVvNd|a)&sCF!==IV!8sD}w^{<|be1J`f% zj4Z4$W-;ViMcCNjvjK=30CXKk@^9NzM}N(sFr5WE{G<|c@#g7j$j3_TLV~%cDWuWC zL**YYYfjXDjMfhnvcDmVeM-QlH}AQQAM!ctTABd3fk3zLPzY~NQO&rXx&Icf&M__9 zS@E_zbz3#>lpJ-VWK8@%S<2#ZVL|>R>Jv(|tvAoxaE4eqq44&c4|QRSl8Jc$Hwfq+ z#ovDuPTHejoE;_pdc|&E&2}R9*6+BR#u%T z9ZFp5y$V~dNP>Lw*IgAn8Icy28t_{E1`*B~05=5amZp{3lS$JB=LPZ1vf66f8DzaD z-z$4Mz>yZ~=3HV6(f#DV`$Z&Bi?yr8BmG!%La0zZdx1v>J*CbI1J2+MEe&B}7{Chur#=GE!!Zv^Tc6JurG#Lvww%4B-8C#u%u))2(? zh(ayB77S=pdIhLA4CscJXK1SNZ@Qu@;W8|gNCsGaZhAL@sjW`?8et=1kR+9&Uz;Fh z{G4J8=O-6dg5zMD8Y3vHcAsG}Bb}k6(Hy)Nfy}dTpqm*lxR*5SXkO~oO^L0GQwk;X zh84Zm3uoXUMEh~VN#36%G$TXUfP{|9kw|>fguvjNdspYbv06|9=LYVsG5FpHalZjw zQkSt;BxjNRg7$|fEb~-WnS1@-DL!VPLv35shSY5N2%F3#`<>RznfcuFv7*WF-2%kl zfmissb4O4u=!1#CekcOyvKqmDNX3(rKOV~lRTvS!3I}Ma#N_T^Wdkwe5ut3 zg)=id)prlOXsU)tZ)>EL{B_(Hc|!_5+w(uq4g>0q1iDn?SSE>S*Y3$A*u2kfeC51r zUu8E~sq4RQga&N{O4X?B?+OeFrrNj`p?uc;!!oP#teyN8-*&IMB!uvk@(_Fm1sR7Z zplkR0@e1v_0*c&z8o%MLDb!GSg+^t&sK8GqqipZTmx3*o1 zi0(9w-vU|qIB(hHXPW_TG|+wj;X~U>pWS}T*>y@}ZiJyy6pLdOS4fO&4+}zLT6F#P z5pO+SS1>I8PZy`Y+}P!}RQdsw5~0tnX@?6t{nDiXHwNhLC}^Od{rj@QoAr7q<@+B(2B&3Idhtt!vG=r9X=qbP05=xs zVzcIbWttVb&6tv-D3VO;BB~R(liHvDNn1Nx*E0?948mgeq*&kY?zXU z<2VFMD!NWn;v^*$6RWsiV!9MgX9nI|u72|Kw`6CERb-#e(C?bhZlOTe)?=s0_zrLr zfG*YixPh{<`TS_g|0RUBdjsvm88k@vG2DUoNX6>o<`yCoJ}49 zvwpO+xZ7s5%OU&GH^BW)BGB!2`fIM7cSqIzbci{1{TplQ`d*Rc!*F=w!y{B5-CDQZ zV6DFng+2+1YB@_ia}xK`<vmYVZ)1J&Qej-S1HIw?F{&ROHgH^W;G2l^&VJDXUX=^7xS^for zd~V>m0SOR){#bkpNNk4Z{gXDwu*LRj z#i%H`&zXz)s`*lJMO{tn?um!NAo>!OFWqS@Xs;5w-NXdM(B6W3ZHW5=g1%(Xpm~jL zJA1qo{H1ac3+V@sV9N4KO5G^?>3?rWojV0=RZ(g5`^@frnNSklZ5%6(4*M#)Sz~M7 zAnW2Nc=~BJ0^Ag!OJEJ%&KqZ5A%Nbzz(;|p8j?scZrNJB_Vj5fp(k!9nclVHo|*=9yZ-pc zai4hP7Eon=5b8E}y7RTPV`b~fS&L*)3Fel~7w-`De)R;qan9mQfJpzUlyVnojl{Mb zPJn$QwtT-FyjDW$O$WNovr!EfA!9r2Y1LH-1?GP=KJXo)xVsaTxt9~Z;}|rwNhE#> z4bp1K2weOZOsqRUE{URs+4Vd$Tzn;Slr0aOzu+|=5}@~VR$uB?LNz}lOQ!wH@V{q% z9Z6psSI5f_qqG$s1cRB3=SXbxw_a6GRDkJExkNm$ouXqKlk(yp_Lx%hp2vTn* z1bxXM*A2{K9>$x(?`HJUe66c%lPugkO&Vz~Z7QJDIIEEA;GA~NE$8jI5M^-*iJ^~{ zs-(I9pea!__aev;Xx$i%0Patq>nQkR_Dry6x-N7|kKtopTi}uQ`Oa2Oot-`Gstaw$ znSIQ^i_$eJRmn|UmF+mw?_a$Y_h|=V4W=4xqHL!MD*$d5(4Emy{f9WuSoZ|eiBKJR z$Ke&ZT^!t*VEXKB)KKcmY2+UKd+J}EU)%3-(h;FP%7{@V!sfZ4E4Mb0(8 zZnh2`p3s|~2+b39`Qec0JDMstd<1qecjK4GJ^5QXfD7IW zLjq*o@?5ybB6Rmw6>ANR?}xhDaLTb@tVnH|{~1H|Pux~YpD^FgL20h21jT(Z=MuKq zMI=WxWckq}*?$Ms`cKwgAjmue&pAkdSX?nS>b=RKdZg%C^K;!a0^A`MY zz=pFh1fCm#_iB&;Y39AEjxqA_9bu!?{5diOy;$m$7B^dxvy+;a;iHiig1_gjp=;$7 zgp=!JT0o%emKr;y|EwTlTgu;B0zX67`2s=eErOsg85D*-{w5DiLqg(Ya$I0|+wNez zfc(WqnzW%bAk9GJo)_(+Wi-9hv z`t3Udb-j;gNo~|?3=L-Gly{}{T^^im{6|KA zKb4V~6LntvdqvNv+W6&5h2bcTlah&&v6hMAPFX(N{KJoed=`|bd(-9Rw=$Nm=1g)>TVk*fIKoyz^lou0 z2;a3fOGh!OAzoyd_`ySlXa?Yx1Kn)CjJNXX_smo^?95qFf)x_KOOl+}LJnw?W>0Pa{jK5f)B?YqIZiwyozM{$S){s;0`G-<_J{B{C!)9?z_1b3`3BO zz;th&jwGc7l3J<@U9v*6E6NK5ska(}zGRSV zV;ND0!L7w7?v7cL&H!A-A@?$q@B`*+#7S=TQni`Ox!O<0sWiDJ@m3yT+2iFsb@|$c zZ0b-3e+A95y2OF?f}edu0(3WnIh?bxMPib0V%Ozl%H0<7i|yA;WGH?u`;1LjGeZ#d zKjiYyT3tFR^;g*fo17Qt8tKn@9*QVAAv`RagY_>Eq~2Nx`jSBBMP_b7+9GbOxGP-U>V)a1P`f~lQl+iW^A zH^(u);=5bQ6Sjg6lb~Os1GwPYApyeMdZeNERC^OHFK>NyXco*p%QaAlRw%9?yFkybF$>Ir5@d0Z+mfSmP6RBTI5Pp-Kn(|M-O~SqP?cPebaA+3d;C8O%$n;#fUOI z#GVhB@2O)u+LncTqb1)PlywuqVrR3zK#+QyAm~d5Sru@OHaE5mj0-S%D!ofuU7oSf z+o!Qplh`CK*Gcg!G)*Efu|!s8{Mkg4zult-t7f9kxyN}8wU<_VjwbRK*uQ~$T1bFy z=a?1|BJ@~;wbcVtS6+Uspc^%v`UFbi)Y@ybj)wNkO(I@uVu={D={%MXPea|*$agK5 zCB>T+HmGBLyw(%g54Awhmki={jNyAEQ*6;4?NGk&m5FU{e_d2Ya9kBgm^ivxWA)(Ui~#pJAiTXZyDM6WjE-*TkX z#SGw&n{FzFF8t!;kH2*<7s<0&UE~{JZ@=uFzbQJHjG=D+8!>uM75Mo}>2jpliv=0q zHlVA_u(oR_b-s5zH~pa(#Vz6ekHwT_w*n-Gjhpvd=)3*@P$$f`wT}$+Fmy!lTPM)p z<$M?~PaoGTb)Z9BwhRRCO(AYO(4~vN=B0Xlv)1Z^6*7R#Ib^e=w)1}5oXav!-A$#> z5YN2)mb*sKh!nTdK-w)}W?O$-#VvY{sDg?^gJ3C>4cNza0A22r8v~ILRjN zc%}rmC3j!ysq5RTY?laT?lxT9A9q)#txxZJjT23AXLSo>zaX0ZoIWyG0ys>xt3sk=Un7A`LI2bAxytZhrPfAQF3Omwl#pN^Oz;kv#1-RWn7i(wY6)~oLel`-3ga%UaIRveTz|R06 zpIZ;m#ea>UyDFF*Tp7?fWZv=AZnr0u?+iz zLTM-Yi z4h|y*TMArT2P@$VZ||0oZvO51; z+2TM4L2>`q*%gBD8iCR|3tuF!Ec!G{zQ|j0YLwoHlJaw5B5J~`kv;r3I>~lnNko8g z=m)xJCaTk)Oe?BnTcX~>Mb`e{d3sFvj-bR8sciNM?&Oaos^xZ=yeyO}Sj$Kz9)6Dtuz&^vc<_)sU4L-_j&V zS-X;Dz%h}*o@>JESXbE&6-=MHt^D_j3+ELEZl>$syD0V{!Y%UQ1*Fz&vc0}v2!MKr zfUci`zI4?F6{pd=5W#7)hiM5f;l!!CqY-AeW33dnVq-X&Hfs#n<%w79$rh z5BnKdGxAa`#|iN;+N%H;dt(l5&}ngarp~Vk*IQ-g zcCY*z@A`bSgzN0{;)`!l)ISNa$8?E`(w{CTiw3Z3I$t2j{2hUyFB#PIVfjNg(yGuq zIbHi-KEIN3&Llki2&V$;G|Z%TYa%ai5J(NFB84;)iv1>@HYBW4Ic8mNA91tfxc>Q@ z>;2vWxT8QfO~ZAxS!2;JMTVFTF?HlXp_|N9YEVMP%`qFH5q`Q zex=Xybzcdtq;@CmzW?L8$1XY!5>jOfboMD*m1t-DUJM5tN(QKR4CpF~-u1H@6Cn2I zE}ltQ(^f!1&u-ok3`TpazH9hoKC>yV!9_H-ompzI5i5!GeGsYCUg}=qi=JFN?%TSE zZ(hKDejMmZReyQn3v!wkcjEq%GasLZIrQMksbhe4_Ic&@{cSqy5sgT)HA^TFT@nzAJHX>M2*y!=Vt;G=7mOi5^FMo4RO)8A)A7Tp2^>+v>Ur(YE60Cy7T5)@xSliz{_ z!(WG5tP3I(^6$3uvuo#@`s;K$_{hvfu%`M|A>QasxWal6qZoHvCzktg+A1fXV~i1L zw;;)Y&juj%g0DSDfS9>NWUYj2q*f;Mnsl-YWTYvF;muR$!*L(t?yl_AI~KK7y@tgU z_iuzgP#eu3>sD_4$UW(T*2XClq zSh}(4?L7nBjM?z_Gt`B0w`mBtOrg-}w?(cgHXR%({Ws){(uyS#*kcFoqu@CUalyS2 zBtT)~E!3fj7uxkBT<|z%xnVJPRx9@cmL{pQqt=23ZxrQi1~af3o`ydA>RKGTh;1?$ ze70%hIB-uwBiY@+*aNO_vk>$pgP1rz3aNt7uY5+LId7b}FjhGXI_RN@gLR{~cY;Yw zk+hc|11pc-RHhuBs)zKqmS`MYd$2eEMDnsB8l!-E0Pp=F_09p^KkUWBNxeL5p@koe z4ftU$etxc~XN2?h6Ga#l9v}U#>|cBJr}k)CK}ku<@dlH$mUg%CQqQZnvnITj|GQrz z@c9t9c1VEo1?%lY)vEW-b=4|`#`9KtJnvtJC6t$sOOw2j$P?w+Iph~HRo~pSe6WFg zqrnP|SLelZ{Cn_^jkE&PZ{idB7YI`C0t9`@ppK7t=`qCZUX`)jAj_~&=n)Ig+V=)~ z>3k&DJ+C~q^b7S*(Z9`=w9yuD!xeaHtjHjWv#OpmMb_ELr{{}^fO~C-y9jhmQrm-k1RFhn9dY?g}H(O*sNjU}Q*a;Xd_9Rc-NYw&7Q;j0=Rtbn67X_x`Op9X|9V zT&Xwwq{O2EBi>Iac1^l#S~=S@($mRufO^5b93((FshEOUZvxH-MHfT1KDj>am9R8_ z)Z8;yBV)#2Ui#u;lz&V`f3PDT;k$6w^-fEpR;K-p!|_h2j*Bqi{A*s@zkQ8XfNB%Xqm-B7bv@BalF7>g z6}5|r>85tPwyQ|9{R!ZL*Ca@Qu;O}*>Pia6Lh}MX308_ZiCNI4qHW!%4fE zJoM@+>wH44T-xDfD~XFx#Mm-@{4CqO?PwPCt1I9Y_-qSO?{5hDl0gAY1N%?ugS>?_ zp)Y^w%9b#uOd~8TIDY%78RpmAjaR70{JlupJ()}~?cnGeM367PO2Z&}ZGvQlS|A8! z1QB@uT?4ug^Y_Y3(*wB;LzwUE)^W~$dsGZCE^pE`~jqh3%yMUau6%&@oXzU5%9%T`e`_Ym+!!4Gkh=K9CYiwAIMl{eKx0MKo z`#Ykxb5z~h=txj}%A9(@pF3>fxUK=82XMK*Vu1oeh)Myaa zTlIU&q}?XHU3M<|6F<5>cnT#e+|s0u(J;hkH%86Wxo7ZiQyQzt!%mp{>e?OP?g3rL z5*Bokre}}oJW&H8ZI;|HFSZMDs7@|1FPiTh8?Dqx&I+qop}6s^AM-c9Iy;Zm2*0|4 z?dP^><}J3Q61)Mw`vDn;eW3f7f?F7r9Y6V-Jc8%VnL8z|6_%TS7E&Lrmq4Xnjhqi` zzNK47DnXuX;tmtBZ&3`oQSwwvEBB#r!NFySsSnTv_ZpA@5!yB5;!?kgI^~tqQKh-a zv4BDLrR$Uvx+#3)&}`>tYx}0=Ep20ezme?6TDERs%GM1&XiF{0fi#p!&)}>a>=y`9 z?;!+z$sp|mdcOtbcd7!vNpY~D?f5-tsI>}P&u|JW|BR#(B4LZ+K#TqCr!0@)(AyRw zCPlzDBskGh54GP^;E;oLbOGKc!Dq~n0HNtrv`_R;v>P?t_Unot5E5>p zWU2oiZC@#;iL8gK(H8p3q&w@7J(yBlD$obf{E9**a5!(A2G|E2L(rED8ZofKms6)O z`l|fd@$c_h2BVnY*b`YIy0gf?$M7u<2tUuk_)=)houpr0NhJmEK)*K6N`DS8k}jy* zqlX1W|9LSW;{ZOJf&^$Psqfc5DT=Ag8$TMwTIB^ngviM+HI4g!muu=~*kLeHUM)}E zf9WS*igr_i$|nqyd3+rRtD#WwbV8nb(~k;V=fS-)BtTwvl2jd)m5$EkH)hpMmaO(s z>|C29#84c~lo(s&C4-zlD?5ac?xlMra&~--fy5|3vF!Dt@)9O zr*M^8Q*MlghTUsV7kgIu=v!%)A3 z8bYglr)k*3%ssQNND}&52r=dIFryWH2&cwA$bQGRpfX7Up2J)KUA|t)qXE<^b-V&C z*6c67zI^BcbR+U-4-Qy8-mhIfm3ti>-zw((ozUaqC`PO9Q0qkX-mMjf-A4WuB9w;p zL=C9-66l(!hDKWxCfCLfphi|D?<3$%bq`$)4H#Bi@fK|J%#M8&-u;ws6zPj&(0gw{ zdKam&&2K;hzYfPdyw>-v@)~@NLB;_*Hy{BbuR_H7y^WIEcWwFTTlmG=rLhK-M`uCI zE0#?W{FnErgR*kwFB8?|`ST+q)c!kDM;PZ^g^gw%IkUjLbt`(<7YO2BLC}{B;z$I& zH7oo)%h`V!lhl@`VmK)gOG(;QA>SuGMbq{%K~LNCFJctTvAnWE9~LOwB13;MbUAUa zR2X;5dBoENyeEUW;9d?Apo2dvcchddNYVRiOO%h9bFc`P>WOvc2-!ay{~uL%8P~-U z=nb6i5(T77TDnuZq@cTI z4VoUVe~PQGbW2O4wSp7x?NSZWTC~a<*dco^UGRFpcqNAy$ntxl=xeeYe)N!eUoKj} zSx%v%=V<}BH=x@Z;u5_5yiOMX`A9r$_FW)Vlh;sE5u?~^lg}Yz^lS>(oJJVt4&hkM zp>zS1D7HV}o%qhCxXz>_=krrbRN#FF+*{BsPoK(_8?sw0psA|x&9xIE`*K{BAf>_m zagugMwBq$8<*R?% zkpJa<{15$mhdFmR&4b`;rq-=JY{?6o=!?}jrhMz1K-QWfK3oD@i61H!^-uey z-xqrKou#Cth)Lz+%LMkpW%B5iJp@Rny$uV|| zl4dYCkUul2DBF1OXgIK&MIC?qSd^s$-TMJ>pFtPrNhDn;Dkm<+ zgq|vFy`q#FUL?jI19Fm{gr@OZcuL(=m%lTM_e0!9{@MUyI?=@dhta;ld>3hzxhsmd*eC-~V%=KsWeWdVh!9=8g5Qb=M~o7tBrsrWlz*Bz)M%9nM1Q7a{;${tFYh7zzOvr2#q4Z8HXhP7Dnuu*LzM5eDVZS9IthLoe? zw%Uvwgl73xExTkg8PbQo3gZ2me_r$!3ayt33OMkPC`jB}sH#q>Y6PDL7|@mVPe~g+ z!-p2HigUJ8Uf@GI+st52cfBh%{x(}h4LK%YC%>0el@QcK`1N*wMoGeXV`Zg4##YU` zS5D2LBt#6z3k$ks8t>Z%M-ivIb6%w#zD4gQ_xOtA*EbNxI#|^pfBbBiP?%IHuvwcz zwlCvICJr-%P+!I9PXwXz*>9Pb$WQ~U*Wo}{Zb^$ReIA<61+U`02Em}YYOeSwgBk{h z9wMQQ`p#kq`nYe?S6EnR63)!jV~ju@k2`LS@;BPmgGYmByNgvnB$R0}|*4Z2i1k zqB_U1E}GkDMblWTWP3$@R3cEEjzjF#{bnu74SQ>~h^FnhL27x*hU5?uMTpA6OGMz* zYL$my1y=?f=RyYE{T<7#X3ozOIh9UDf9M017zvA|#lw75KJxcj6b9@co!H1ZE&SbT z$B9XS$ZyXtRal%u!1*Ov0NWtAO9GzhJ&+d#bbI#|zmWE?73jULQw>ya&bPV^m>W&% z&TWrPND&tKjiHV1u7A$Cb$yLjStIb>DbnPXk#Ev@z|S8QFkd$I6{P_e6?CPlQy~^n z4`pY=f_qG!`RTW%SiD&9k?}{U2O+Q@P4Z|3PdudU|QP>aV5UzfP$En8()q)Fz`Tojcb zS{T5UW3N87mh{~J=%xn4`fDd;MqC$g(Lpzylb-4VOQ_C_iiX_~p-L{}Y=x@{|gbb_5sHiX!VPz-9o#QZ{#WEs+;Yt-8~0u1Z+Rxkaz&qAhRD z88yIh+E<`U-J^pgeFY!pg}&(<%jQB8T9G~EtescGo1tt=RNxCuxKgn4dOuN~ZdR@G zWvpM+a&dP52d?6wQLrOUE6*PZATK897Gq$M>-w}CKNRiDc|g7Gbco0a`l_QU`t)ZB zmL~B@Kyjp!5((w^-CpAB`kB_MCD#cBV(l5Pg?(LoVg?Z!f53eWx|H9pEMig#^ATYd zzYgdY?M1`tXEYt&>LVCL?5rtZa|{aRzj;PSVXqRgzB%;CKP6YDG5IdfWo za$R%H=3@ojkAC=6Q1gmRLEwBh7U(8Ip7m*|%;k{Gh!-6-Abj;vCFwM<+*>a5AK**W zBG)K*3&oM@CTkE|yBHM+J3TQet1kglSoW)rw4ieQS6va17aMecU6gA|&Yq>uv-6#L zQ>S4OS+wI#L72N!2iy1@Hrg9kvNmgo^RF>CyyRaHZ`3z`;a+w)_yVh+JB-BqjG7Go z&f|dY_32RtNr|EDoyIbZs7L>6-#R^tgDh(?87DFX229eXd+n}8*a+^y3Q<}PqPXeC zo^_^hi?*30aTu6pk(snCAn#ky#W=ew(M%f9lFFkUPNQN^b36D2owCOvl-+?491&+u z;&ZGJGAk^?TnIH1g2U1K)`MT$tm1{98RPP8uyxh31K{F{>7^f<&lzrbazAYO{q{13WWGrheWe4EgBO1ZR2S#nW_sff`eps#fJ)Tbeug;wza`YAVx=Kw8Pon^+^JuOsK zKSjoX81isl9Rg!TKoH1_54tv1+L`B=2~@>uiOcYZ?pi=#fL2+2J1T2XmZD9n4FV(p*4 z;D0V5=z8`3YW8yt%a72Y&dZD9YrkAkxziXw$z#DHCWq&iiYm&6kx&0|r`D8SlNUcI z;$o*II<}r-^AjPfCi<3*y#sKGKvyq%2_aE54L8jO)y3;ZkadEI?YAv2PtWg^@It)C zH1&WYCt6}e>2>1zd>Nj1%WIMkYSU?AL~|@J8o#I20+9ii7<5Z9b;zTWpfsxI61)y| z=HREkuF56ZmG%>8XD-eSh7sY6CBRO;sW)!8dSifwfV{Nzvihher=JBSq9rg{Is=X) zl7Mb%wv&X%VuN_VZd%{)H)+!ssmG_BV ztf(#96x9WFy5qAGOCtW6JO8hINkNx5HX3cnK4$V{Y--wnC-?0t?ovLvt;CIfi`D_= z@s!-l$Q{-4>@KZ`G0bD)qCKILMW0!;1Dp;Py?ndEZT%G>qHkz0$#9hI9LPN*!|Oa5B^Yu1>#Sw+eiTZw$Xdgxf)uOG5@0a+5s4 zmxx*NBk9M;OU805D;lM@vUM%`gdbR_4<3HSWAv8<$6+WyHyvT=#Clz_B%|xwr>|bz zNVB?JY%caSE`Hw>CYTnlRxgO((!{Roo0Q;%hA9f+b)ZV`x_j~D@9@U(PfJ2ngU`d? z15Ez!f@!j*4qGGlr9biZ)&-N8F!4mF{E+%0t*xRJZSGFMiYaWs;6m zjD*f9LfB8eoyM+>ryw*N0-W!r0$nAwGWM`=N(J$ z@q7K}TqMR4d|OIFVym^{zMXUCYdlZ1!6v1Rt#9!Z65YVx?Vt0o|GQx13F)3G1`gWu z#rtid6}FpJQKtvySnOj=v-3(eO}g8RjZcUUB6?zIw#;7NvFWs>#!bIPdV2TF$!UM_ zHJIX`wV3}szciq$X;9`afIO|D(?@-n8UuNVw(1}9B8OzAFNfE*btms+l8OEc5#Io= zT30Bb9pzmGiho$9Irot%ywkdtua@9HYjgi|X+hT|nNYwCV=~hxR`Hr$*7%Bb0=B~^>plhYH|!JFL)7jbzM1`+XD_FbOK7^$ z(L7lzdC1^A&U?^Bl$zy6YWAfSAxuyygKc?Dp!|xxB%^uW;F@(e4Na++d_y6tJ0l5M z&)f5JH0SPvpT(}IW0fLv^m%G8U*jFACfE?+z5 zK^B*th)c!N5^xzoH@HD~U-(x_qalCdv+&`kZ8kXggTEW?1fs_)euZhf7^35je=eJW zweEqXL>^t;vS5Qcpg6eAM*V7VA(0?Y`p?>r|MD_{?z=z=>t9(H42CopF8uSZqsN=zQysu%1>M@*lxm@}O#w_UXxXaGiV&aE zaAAYAkXL>d?)24BiviQ$wN&ABd21eO=$4*0eYE1=6fJrU&EaLRKR!`Z>SzHj8|d2R zd;IJO$VcW1sQ4Y%s=e1V&hynMPw&$-%6V~Hi@$mMd&0n8Rg7{Ua;C&j%A@M*7`X^P zI9uQfdf$&38p(s>i0q*2umdPaUPejOO0_DHiXb zoXRF>kOJ-r9^oVP%}SE&~%5Q65Xb zx+dyZ_p??@O}}d0$9e7*`=1iyr0C-7h}FsOK6;FgUr@;ksN$rl@*sB_qyU!_beUiV zol-n1oBWfWTj;MSEnirvFDBS^d`VLf{F({gunC9{4?Pm-ph9O2V}|Asvb+qqz~zgj z(MCVRdzI}4gXPNwx@>hS-dl341oW8v^ItORijl8j%5@eEO|)(!ofOd-ka?2cU9y~6 zOy=dTi zabu3{2q=HEvask#dZZHRoaPZVLG!&f3+6%inOeum?9hMU@Gdi*o4^)uc|bRG&z-Tb z<0uBM*|-WFS>c14Hcw&*8v{~2Gpy$fUIb~@+e?G>BYy`YcVXv+#h;$SOe**YjIz^G zCceC4rOHfz%L}@KoitlSD_)bl5SO`ei9CHs%b!mZqiYqqtRi4jnz85m9iQA0lHi*gair6{pujx?05Lm!WC!<2(~`NdYOW93=TjmBB{}Dr}l} z6(jAE%77~Xx=b;xiPYckg9$eHX1WfSUlB@)Eifu5`|fUkdPdW~H0?7BP-QmN{+T5a z)_$alvniAj`xVzd@ak<@-#c?*8gRV&1L%&+;v*PJpx96nAfg}9Db3|u-&H9n+%A+n zBedJr$CyoHX*-StuSo|L>qH6G{Qb5aCJ4psB~ZJ3eIq!cSO*EnD+s!MbnM zJc!d2LmR9zHjXz%p>b2*_Iwzj;xro{BUi`cV+T;IPR_*cR%02g#h!}2;Bcrdja%gUC}_GHb@ec_Hb1(flk2v2e$S%W(kIuw z5G|AP%UXA}gC)OY)$PUfu@&4&vSDpUjdrVsBk5+&BH8~Pu?_d*18d1U9Do^7~7gvuc* z|^+##ggqye}^cO0V!Bw#f#U57q7^8FJvYc`bTrAY}Htp}(|6 zWZutpJTpGCFQ06UI$C|+C(Q?3G0=Ue4ARLiuTG$PqH!}j>G>j~`W9JK=Fg}kLVs=) zqDQ^FMmLqe=e&FPF7_4E*B>96xw%KlgIBzq5koc+ukXNmM;vsYo&s|N_WbN#XwQNr zpT`tCcQ2EbuAScXWAMX>RbhKaMlJCfP3^oykUFblGSWqcexZ}enPHNq6FM?~%AElF z-4dX?+iE!}uxo74)I!uu5UD*V7r%ajYwhxqMwuk| zjbT-dC!E1_!^6>~6do-CC`GVikSGjNBX-?Hb*?QvO@Nlma#(WF5U6v-H>BW zil%B_vl6_RIQ!}E9!r$L?(?kgQK&~AA~!$Q{_a?N_5@rh&@~ICl6ehNKFKLR&5U-n zD8c#nJ@G4!!G%ZdLX7%-@7tQ0G5T_{XNgOS4OgK6MW<_}sU-Y&UD~AIT$t0o5Lmv_ zpu28ch!5kkY-P$l);F1XPYW}O2bc2393QV)nXjco zc*ze9g4lG}Age?Sg?1qCN6;-Oe%x(1{9%sXaB3~i;qn1-P>u&rlTY45Ba`m8tzKS#EgF)%IaZi%An19RnjUsptvC+vta3o=F}jQ-YMQ6g>BGm*Dbe-za1{A-S!qtY^XX|sKs?{KRf(RJObUfHTjf3=o>ix zqsj4gW-y}*0*cJH-TJv}uxa+^XTDV{8SH=!za)U*nYQ%;)`vOQ2xBNt;h7(WI2wd8MOe%>Gvu6+uh=g7!x%8QEb-ZsZB0C|-_w+t`D z|2fMg{ZZL{a^F9jr*sU_Ge}x-X?4kgeoX6?n~)%i<$t!=6I+J}Gbx)FM6JMB73_z@6Q=zi?;{ zIVly7SNdswxCwn3EKpX&5cgQMN8{8n1K&3l(A}A8##~yQSc`nGL?5^m85K0Jkd%7a z(SQIa-)#L6RfR+=9bzSwi?6e|+!Ikrzf|F^HOD(L#;Z*D;y z(ikCE`L;$XPktvpr`4>->VU3dAB+#e13f)AhHqo66AkHuFUuqu5Spb;jO zPM|y3;AS*|&+dwyP0z(Q?L=0^0_OuXK^LygY*0aL^4e@azSRbM(8wAh4`H$p@!*YS z3A3V<^ZuyKD1JH7(l+walH^9}Hc!R06a$j$ABBALz z4=*YmyP%psqQ#vKp0cVv!K}+9XGV;lJ|DEApa)HeN4r#74(F@7Ylb4G$v3U)+REmx zyrKkLZO|3)*2*OkuI!`oU0+V77Ua-WNIEeO%iob}T4H{`Az%n;ZAQ>%kyt_hX5~C3 zkAi)G=mSGmT8{NWfU^P4Z6El%sRO!>Y7mj}6WB<|tW0%kumZ?usUMqT7^PHGF$Ux; z3XT|?aYWKn1WK=UQWBDQAcW@w8`phC{oIU_2n^G8P3Sv-yt<$(7H7*oD0aGu`O??z z--?%ldhJ5>9XHJYZHv+rGYm?Zyu!6_pv7yw=-qBF+7W-WGo+*-En_3y_g6H(_FpxD z>umHu*PJ3wOKXY7oRQ#IcKAWS_1wIr1U-Y3dsjVpQ}ZU1aj&~X2tPslRbzH%<@Fl_+pcm+;wy2TeUs%GkfQGv0-ZDM*red z?-uzmn*}@cdg#6OAL2cf=;Ww1&s0v;wb7#I!n&d4VQ{?90CXiryKS2 z;50=@>rZ6kX*~O$Cr3^Mik-Jb?q$%daWXz_8 z1o_-+X^(e^*A4a_`>xPHIT(R1JZ$Q7I4)s zm+v2!M<6)ep-$l4s>8yuMWJEpJeqDZdpRGymJy%8`B-DnU7DlA^H`pPs#%aiL4_w~ zsGM%oPZNAd>}edNvA5A@gMQm6+D2cd$*)4Pz*Lb?-8!_+swSIcB{ z-o45Aae~yb2@t3?CcjYp_p4Ns>?g4aSHG!!!u+4|g+M^~dp85!w{}j-dD?_leP=YQ zaqypA8?oRR1h0>CyA~CX$u?le@wess?EP;3pw}Xj*MAGm;G2GS(@`g{(@T{|IS_%* z`d=60@7)}9Y35L(QG`+fJVy*jx?spJ3V_4#}M0=h)C zQWX`6;otf)Q75iXLWTMkkrvtP@>K(<#31-$TM6QOGSM@+KY!RH?U>}tefP+nkr8hD zsl0()I;#uIF6ZC&&cEj^T7s_58@P4skk>yDteLRtnImzl>#IG5cxUUb_l&MGSQ)lEm<)7 zx4rZ4Ii%L0tDfHVIxZv5TJEjvTsKQ|b}^0Nh)nm?hK*Fd!EfVdlkcigi9et2bpl@7 z)XhCJ;z3T%ZD;xxSB*3i))zdAul-Nne_b2U_4lb*ysSS?eS(GI<9JX#~R-#>sN z;Xq z?0=9=oP=<-Lw-Q_`L`bc^Y=tn2najSrRmvo%452q>oz6zLT~$)BjQcCq=%QZ>2M2+ z5Ry(WQw;wjRzvkWf9Z(TI{EioyH!Hg)Jt_WK3k{|SX!i&>HjH*f6p1T2VFS+A!C7t zsEpSRNDsm`SCJCmwc?1KI_O1l(sNFO`X%JK$w-QF=%yZqJDwZmVwNpr{gaW}s1xTF za;?aGZCe1>0dzMsY+|q&5K<2pGLk1k5|5Urks89os_3|o663U*uFnXwrdScQF9ghp zIQhK9V1_Z6Ep|HBss{hCLY{wEko5puN6-z9ePajfbJ>Lm|NL=2<_Cqwl;HQwr@*RS zof@%{(@VR7_s$_gZPinx_9*=#yppKro)5JvCJ+bxk1vq>7#>xC>jb(RUs}=aFJk^~ za+boE7X4#X@h#rDUo&;`d%w?roJLhwE#}x+2`9WNQ_pV_#F65*5I+Q4)~9KfW{%VM z%>Jb71YBp(6+z5M#t~o|hNn{cBYe4iPE50yd)lgo1l!!74jl>??eJ5YEyvK&tr&k# z?fb`@`r&Cs_x;Rfx6wDRj>d|}WdPR&bRVZ~7>JP`q?@7bkAgq{{PS(<&t=cuPWn>Q zL(6D1UH9-0NufJPzb3>^!lyd@{fg~30U}@h+*3F>FY*<1<@a452jhO!>QihQXAPpzcF{w(t+ti zd=W6xoV}XEmHm67pr~!Ub^E))1dpKQGMjWUOi$?SJCWn&EVigZ!sMe=ERa{(W-b^V+lv9TcIn@?Z zKD0K&w!B2fOnB}k`NqPPg*ez<5gwdB_5@vjFBpwcI!U<} zJ+evC1~C2YXqUJ0{FJ1O^E0f2uz>3Wx_GzqL2j$YULbKg^!MA10 z8=rl3(j};^c^XkbJ9QGD?Z!4ghJAllHZHA0eXn6Se&Q3W2KEbmLHA|x`$0XwLNdU9n2ciwC=F>!} z{3@dRXtS|gZN9>5esSVL1<@HFiX_Vq-w|yd_IjvS*nmVG$QuBCRzLTHX%I%=* zndlw(DfHBy(}!<18JA>AFQ4*%Ka0E~xq&WKErs4ZWj`YdQ~3Bbg9NRhld$5mO7#Xt=xv}Fdo%k9$1T8P2#bW6aMZ5 zj*$|~pB;%)jI+#6|B0_vGX&AKG~EB05?T6@hkIl1_9Ng1fi7A*y{)@*viOln`%Wk8 zfFS%06g_0@_=7JWzY}fVoDt(UtNB)36O@#f-`{-)!Y;RF%#x9x{KiO0larFcyyzQyV@gyfiu zILDI=Elm4Qi$T0M*{Qcy#OTt`*&a>Y(}RN0cLa?afEx#g1EF=jd?N z$1h(XQF6JF?;wZWx;ltx`360vhnw$r7nI$31$PSfbQXU6eq#4hnmwXv?SOY0ap1)TKvqzacw)td$C5WKYEBQ>Ff7!Sx1~A+ntQ<2?+| zun)-^r_C#>M|$}8UJ)5caDW>Qx;Jp72EUg4u*7rQJoq-bGk%~kXR{yn@R(x`n!-|s z=9NJ0uSZ+o`o7Dc7JhZIPu6=#C>9gt`?08}Bx0xU9=00MQ=vwTRZc`CB>wM>li-Y6)W$s5niM4*i->QX>4-9fy<*}&nGTR; z-=kDU-nfnn`^*sg&VC2nDA3KkWbk5EZ}<3SCzBcIv{z5E%|5Al60#HXzQr8!RhZ!> z`{0~Nd6h19y^eBA8WqHOjx;3;0@IWda~lt(;v0hKM{gtWk4vs)jqy|meI?5Z5YMO8jtd`-mkLAnFkTk-&7fURZj%dr+8+1-E(Rj zf6v=@Frd@u*U~Sv`-myTuv%goz>Ni6i3qJfQUn26MNoNV%-?97_cwFD8ev`wuP88? zcqwjmrt0`(aM=?Qgz1bjzwUuP#={cPC<}A(ASnOLicj2pH;Lvz$x#qX_4OumOyci}3TFpqhQDI9M#XX<8rK|e z#{oAUbWeZM`x`oap)Fm1`=RS@&I?Vbw*2>S^{b%X10AA0w*IIETTOTrkJQq*Jan1~ zp@CY%9ym!{m-xoVpZP!Rk{SUw0d!NDrnLN*a9~ARqv4A(RT5ghZN5(u-@Ye1bKL(j zZXg|^eB2P@DKCKkWOXmirfT2oYm$P*w&FyFK9HAape_cuiJ%)_Qy+>Ml>s{}cld#^ zHi)K_U%)}?^ZRWsZHcRC2ZHCMHe!x;E`A)7%NSR65=~O(^eh=t){CVkDbD7KI1zAM zE(vsp(HZ?0gk0<1ZTRbL4NXzS+-vd6PjmYfMTq56af(+dOigpJ`gMo3?2bnsHGXD-Im4A{19N zUv59%H{03~F~N`*vaTTRsQ$7Z)fjA-tD8(ewBbT5!2J%oxU2C-m?AN5>PIGny$>*# zcc-*sFiM~5&qpnTe?@;NXyyMPlWgmO_tnylCY*v6_N*qje2u~75xp+>qQpz8wL+d+`_R5+zp)M(Y^^8vnLfT?#+p!Ro~2^oW#3!OtR zu5F>tkFH?9ukvi9( z(WsX#PM6SFf=w=sjcZv|^(zY``%xD&a}CKd?@gC?y*8P6PS>B*IhA(1B*d5NA)``} zy-(z^tXW-3_yvW^fSUojEVxPW2|e!=#FUG>-xJ|F@}1ifDEz9vK$4U#(yT||V3hdP z^DuNZD@jMbHE=Wa>#l(EndW8c-s1o{q+zW0pYg5#>a$GHy$H(Kc4au+lJ<$;Y7wDW zhFF)p@)4Pae6d&m`$<})VuhXWjCORJ9g<@P7iI6{mcIF8O~pWApn9q}HWF+56yRoo zE^*5nW8BBj@dwvD1TJql97dcgi}{T;YCK=Dub4$pxa=RzBk4)lB)K2u70%}p#gJGf z)aL1|$Jq2((-o(G2m5c?pqov+3XA<|&*;J;X!SDdSAg~Px5$V*gbnjX(mtdcU43)P zDeLS>ip3HiR6PwZjDBB*)MoGg$6eZ`^(N;y!zdtc4(Re&Cg)DVu)QAl_I>q@XfLY7 zr&f?u&muA{peQVj!&@QxMv>d5}Bkjulm>DFIhaM;O)b1co>WtWYeHFp!pp;&UGeF#dF

blIF~3gu^lA={NZVH249J@gx?2XCBVwGoyDlqKx&k;XACDec zd0&^l%6sk?z(4W4pI*8lHA>2!xDp7PgeGBU;xFk}nzXO#lPS6!ov%V(wg%h+&|OP6 zs>|Szd#9yG*gv!RI9NFD3iJMFZ~FkLS?q_7y4O#ZRhNQF+dM6D4sbANVh|)WkwogJ zoPPCJo3EM0TSWo)2k4e!u6)WThM2M&IPxS2lF= zRj*#aEKB8KB)@u}_dLp(4x=NW?6@jR6$Q3S3PJZ=?7ft|ZXj@bEw;6BoN&k2aj$q|JOAK6r(Y9Dsm9aN!7gm*RhnN43_x;;0DFWS3 z9%t^ziLSN|JJN?oAAbe>pnR`nru!6|#KVV$OVkVH_9 z9!D}8VbP3HRbF!axKfdx*!0*xk2jnh)K0^K^DQNy>)aI~IB$4}!70B*0m0O9Vi=p? zNgLdS8tF;k*Pij#uGEV3Qnp})ESPoqz&kYekIq=YhX>3>$^+t^LtKsnuzn~7-TK1Q zhgTPOs!R^y7Dj{D{1qY*{SNIMCW1zWGHQI)vG}6;>u^;_miKLC-&T%D3a7O646d?h z)cK2|N%NI4!-40a40JhmBBaVQO(hV;r>X=caXyI9|_+*WGrsURMJ^+OftLKJ^C__TZR3sa>g2$?Z;_jjn@m1|ow z^u_gQSwl2sDz8V@bSyV?1w(F_^b94_&p3`z*Nd}pyp}Lpv(3*LV1K?Ebop!dTTkg| zHnmJAYQIaSA%KKprj&D`k}FCc1p1f#dLdn))r? z)XE0dydzM)HJ}@2^mSxXqze+B>fM{4G4Cer4Cd$w`7~Z~3WwGn#t}PyQT}OUN9R=Q z!4K*0ouw<{&TkPbSMJsmuqdc6EBjvF1DfTrMJhjeOWuX+(CQ92!733{sE+j=t#4 zB&*O@#sSxNbdHnpfsRMTK`ja8Zw*Ti!~*pUIh2*%85)?Vt8?=y1sxD?mpC0pO`BLx z@4fB8^$(4p8>o-<^Y8hp$}|W+G=+8=ss$mdX6H7rNOyjjP+49Uha-M8tk#a7nJE-e zR=2xdR5cAOy0(bmLyNTYBtig=XHf zQA!CY-xkn4yV>K0NF(iT{XkoZPD{T837%u+jAcj?ky>1A?Xn)5ejB z+x9->#G}(qT`rx&L||-TaMTRAPOKGl!?&hvcE7X;o@16rHp--OA;0wFk**FWiwUC- zoxYcJM5P|RS{3DxQ0T~wG@C&rAobw!=2&_Y;nky`Ztl*J2;^-8-EUM)NE-tibeJK= zxdbe%pWoy_es*A%fEG_k9$9^Tt@}Yj;GDzrR}!oo)q~(5J#t}NMd&Q_Y45ueWoYfx zAIE^(4!U&+_C`7VCY*%vJbuuws3r!#B*ad+%<&t!!55peTBg9ggZg^pxI0G*AfrC>Dv*% z4d+JGIkF}x=TCa6wn@jw!FFQn;(`KW5aZ}J1Uz~}TotAUY=V4mq{`P!&@z`cEJ(SB zfpX{q-KK5$kmL6rmv@^+L-?${7TVbJNbFXJp-?%vP6ZXVn|5ahw9fXQXt~MKe=70J zHDG0>%;F$0p6oCsB>jqq1J~JfgKkfE`}yW4%()nzU&oYxLJDm~WIAOx_M*2U5k-e{ zlHhl-dfhaao5iFUTo(zuCC3X5an=g`hT-!+rsX8?M)m=Ddq7v1`iCNf$ktGZQL;5K_YR!s1lg-kWrQ7o z+Y7qgv7a5{tE1t+zbiWC#S|{LuE#|4-dK=P4`PsQ;xCU8ux`MUN?{Y2S6m$I7xsZ}&NshuRrz`KmbW3X5zGq&jf`(tZ!a7h9;~?1O#X;d zyl6PXCr5LT`0+m-`)jDCB8aAIHV8q;^o!?HU2S8v0(tvEH`TpS+|g~ngsxL}8-)Rm zD0Ex1O{7w7=hMI%VtBsnN51WePiaK6tfk`T>){mh{^DQF$1F8ep2RUOY?2gBH~@D5 zbQix=iA8@&LYxmfJ;frk4<9Pw;FT(-EM?`)#`#E^RhM|gH?{Vn-qu*Wl^l0iQN+QO zv>|Bvo-35F*Qeq#I1O+IL6?%La45wqyy#EeB7k*?wtVCtPt9){6w(A<#vkIN1x@C>nf!%pq-PcmBhp zsW@4En@l66HXN-w?bVw|Z6iV!EPgWdaf6nN?uYzq*5DyR)b&w%O9uVy1wI$R9R}UI zpVtjuFk4jtC&as}hbtc+Fya%s@BPV96&C4Dp=`f zX{%#F>its#TE*PITXq-=mWh2> zP~5ZE3Gg@U@S z*=2kdrocrpqN_ZCs{k$@x#ftuRF(D~Tz@tVx>&zRAh4eYJAIOi8O}F}f6^66)7~Wz zSa=8eKi@do@)tY!4o}zQA|3{@w7<&rDP;cPN6qB;DCo=Q94+~KNj7bjy9mBH|cb;Z-D;RClK#ga;j zFm?2@Q3QZH3%Zz7m02fwJ!DVnCw8I9L9*W!M{t|ff8H8bD*n*_-*p-b~y*fN(c8`S%2cZF+LWJ*2DUQ zSs^XSlWunR@<4cGL^?GiRtaKrqD#ZurH9Kc3E4Y?*qN_Jp8OqvI}f_-rx~w9ubwG> zxC@}GOMq}DlC6S({iD#I@pyTvoyR-qE2LMAl$;yknd{(0K%@PQ&bp8%`-6aOBq>kZg4Ph6H z5SH)d@*@ujX>W`^kFWe7lUkvWRE@dfp_gbwHEXS5rJoc6=d+eT_c@ot#(su0hop@} zA?Iqije2ch3rAokCLOcx;3N4$#^J~Xk=^DDS*)dLz||sxKpzPVbr?5Yza@c$mr72` z6OeZqbSb_gGJl77`$_(T39WX*xaFV>95VBWJOaZQ1=F{er3mCdg0@$u3%?>OanOJN z@mtF8Mbtz}4Ra&x@n1zQiz5Nt70}Jal8AQn#z?wGnBCQU^HH-X>nP0+Q37s)R}|0S z+J2UL=29utQ(lqAtKy}hB92BCqTS2WD00L-g{?fiIQR$Pu7d7HtsCr>bIOkineT0C zsq*~u&nBta!C})45N`g11Z582^VwcRP_V@G>^nWp#@g~RH&-n^Y|Xx#Tv->8e<79v z++U!(R$7JTC2_Q&A*}lInOW+4HInR{prG42;;wifIc45_kJ0FRM~S#QQ&xJUO}eay zT$7xEI_L};HVJ#_N#s9Z|6&bv|L)OI5pl4DXpg z;xL@B-2rXfXZUHQ0I?Y#itz^}J(eVd4N0RiLCA5Xa&{tqyiWueyrMTBty3o$gb%Omxtvv6Ir;R=3 zAE4)Nd}X+<2=|1C&;D7@_TM=8Z_v$Y{%)p0p7V1b$1@L=jQgccB@8md1mVY9%Q_DK zSbs-;YY&PHy`6RY-B|5cuic(AnC2y9AIu}X`ZIA~n6*0rcN28Gk_6~oa)zi&d+tPI zWM&SAFFvXrk{pltzy0I6(kx)})}M>v3t_~HYCHOM)~rP;Ps%F!Ve%pLo22oj1)ChO zKHCD_@(Rn_IDKzns6bv3U0h?T2Clh4qiq_sx^!e>6rb(>+%B(ET7#nBafe|AFs={R z{Bn(z$V9%i$7D1+C<^nwK;CW8bv$&QIoXyO5MkYZN+yESU0*Cq6;_BFenHfdE48m6 zl59CfFqlGiUYfu~^1AR+oI=4=HO#!4p$qTM@`N)c1Kb_Zr8OO5biT*mQfqlZ{k!{; zT$vH$Jrp+LHT$=oy4=Ud)_s~{WoX|PTb0jQ+EYrN^#}quL-F38w}nLJ^kEg#U^(o9 z?jU3I4*dq~b03_9E42;Y@wzO#p*TH9KsOw=BK3gY*k!pYG^?PPmg^?JxvHtM-m!SP zQ&KRRS!=jmSP!wzI& ze!n%kn2P&znfMD2Z8(wIo1Jt@&A6jR!*uK`fi&RmgKh`jo}FwMqSMm7if?_787ao& zm3j;J1SA(nd$iPrJN49df!ywSL`$S4hQA8_Yid3${OIxE>dH9gsmc|X>SH?&mzYDA60k3RY%i>4VnZG?gV#t zCqVE7cMBHWHMqMw!7Vt!o#5{7?(V^zFwZw@zFGD111|1WeNJ~(?OlET%5`A`p&rC% z2GB1%HRnz}u%1`gj`4otps^XybK-MPlQIz)9WG>I!FgH+#^Drn_jR#`5OaWH#$0 z_&q)Y-7gaIpEGMKvO9%P?jjdW#}`oEYdvkb=#ynF|BZHqOk*amviXV2c-r^evlm@-K26GM*D_Y-7$C0^b*9 z8^zz&s)52t=}H;G zx-tQImH!><4Nh9m1+Uu;=q@}%Y^~CdqO!S3p&mzS2L324Pe0A5%HG1c)N&TbHII!W zSKwEcR-a5jRY6%G7Sp$%$xCzZTl~hZtb6yX6LfDuSFmvLAb&2^hwbJUU!;Sc2oZNk zfvWO($a#QAFv51*cTRfa#jD(J`%f_=mupHv67Cwg%R)K&+LIP;R-LzrIKcScfv&Q{ zY$QVFyJ=xp#$w+MCK>wETQE87WWH&~QlQ_Op&?Ro^Ab zmv)*)!BX_F3b1Z^54!M-rMxAmubU+A?lHV8(o%9-YD=U)`EZwj`v|%aUs#FP zc5sysUdwY;5V5c8Z4|=LW>r;ah@QD2q0jAUi&@7%M4wuI?Fh=U)E%RoamRkLLe=2mMGB1Nn{Z3w#~c z0MU;T#=ITU>P*NN)}-a3R*X(^ty+~mRpl@1U;6%}?q}Ojb%YEyP(%Ua@B+HL%&~Hw zoNo~)K7aK?G*;(%7h^brw^x**h%tLlAu_`H*Q9uA2Fgbn4T1|piP(lRkiX!m7$3oZ z)83s7LRD!8+*i=`EbA;Ur^ijignj4dy98^pduTlLPi}6YU^6>S6rQD@b-ou;KRbSy zO<01eA;U`)&*pU9%M8YyG)JY&Z2f=EXZ-_RoWlmFQs^@8=CA^22N@ca5rmOJq6Qg^ z?is)6XWl~w*AMSSUGs^GUtT(4$Rs=9Kc&qF+CLVxPuQ5eZ@*>I0rI|qE=@239GPCw zCeMJTxw3`S&_-L(VM5b2h$Y6#s-G9FUXG?oNNTCO4xjZjLg-`zfbX0e^@xA1A7 z!a&tI1MAWd@BjNJ|KA^!yT+=o&>p&n;3;%pZl@dlYZ2Ty%Bc!Utf?T9!PS0K5SrzZ zC2486tj_%noMGzF)|*DPR#z-?K2_YoT@AX^f6o7%r@jMS?j0hXaJou&Ie#Bk9}0Of zQ4e3|e8$kNDp$3S0vj4|5u0HUeF7;?ZL3ldOxlhexAk<3i=(f6?Aidf)uYYaHvt>eX7?pE^)xm|AM< zR)d$Xo5LUy_#<^)0dOHfmmbUJ;tMR|g^pr~l<{=AvPs^OOYguWag?Xn3*1ecz^5Lw z3`lv^<}u5VqWBi=y18Q9fNVpO%B=yiA(CZ8aD5B~x{50`D*t8}h$QTwC?8Ho2LGV{ z)49{Sj0o5yCHVEbCkpzLY{D7|Wx@;EPQ*jIsd#5lNx>>>e*!+vx5xTQD_0;dH0Wj~ z?x5-v*+lP=BklWz4%WeL3cHi69uDO~rPG%C3;8ok7-!JIhGoLb>e9J$!OM>MJ?uNi zg^C-bj4U#D_7npy4CpqDCqa;%i>;9L!>^s`^Zhck6C6aYrX(c?mJ5l#AlXov9ZF*g;1SlDED6pN}&5q*Fu~H{!%BoOj z8=8F<`y`ux02dx~CqzHnl4FE$P@&97Fn-*I7hkLnH|%zkyI8k@Q}h2FP+W`;|Dg`y zX8I3R=hG>Y%-UEE7D7ZU+tS+RZ{%lyB>ivdHp4%5wX zZg@@-f?xIwuH{&d@2vTzHOCBb_ef?!mDA2!vJ6f|XS?z=Z7d>$i2xS?bosM+pm!@_ z5Q4gBiD<-<~bq_M#>)4Njk)TJnp9%BoY zk})7nMZ=XuL7GY-l` z4)bDw36-3VCZ4K?HdyX+!P{H5@&BRz@BIM@bgy=cjnfF;B?v=YL6J-wt~Lu0ljb&j z(;gdZK_}8M2;E^(roJW}MeI)?kPRz-s@oO3Xc~pvj7#`Rc{YDfIt;kTpbOJ%>p2Ov zw!mE4WW0f8lg=|7mB3pUWrZg4q0)&aehf!Rmse`7FR@g$_~5m$i6;v6I>;u;1m%y7 zyvs<5G}y0!0=m*M*kg$;e_OXW!Vk_7cv-=L9roznrX5%q#K;4qJnOqCK(mQ-ih16lQbiNp0x*bJe?y#5!LNM zd`QqHXR?n?`%GJ=0ZoynOVe_U{a2s9YA2OiF&M{C?FON_)4!SRe~Xb*bkXSNaN_qsvY)Ut7f{7ymxO#-|y!(Y0A zBLxx%o!q$CKINNH#lm?gTUHrsCzmej`lK{aDjr_hwq2AFuFT zcF7a7yXZRMoiWQiZt`vp#;rGTe_P{{PmYw|0#YDz7JP_k!4PKVCCCt`&K9B8UCr^lr|c-e*1 zncrJ~8T@$a*JmK`>b@9xo3-C12gvnU5# zT+mJ9Qng9SVokMi)cI9y&@=T*@57&8bG$qe8&yt=Q|*aJB}LSZkMB_AWncP>Js9!V zxst7#8e)B`uwMgD0?9G}_ao?9vOV<A|ZZdpTO(}al;a!!hm zQr=W`_CuMc$mKqz`d)WVMFI&Q_Y~Sj*SmSXy?`XI44*`Hy~F%;~;!qc)6xdFk6fwtuRVKoQvL1J>`QcdW9(+ z`EF^-t6dL;#n1=1#Gv~vhY{jf5mFg->X@`RhA?Kw}x2UxB@wW=RCv<-l@)&U6hy-*)b7+u)<5Jg5dM6w$4FkQ*3~Shr z^qym%lyPe!g%@nv{|sFGr3mDUp-$o9h1=cfW&3n+$Hi-*i|WR0bkI5uykze;qZ*H&1i(yy|CC=MzsP_OY-{KY5X}; zEol5n312Hv0GAAO_h+mQ2{>Z1bu@QgaEKF${n|W5d-|Ou{*vC3K<)~8D=MuFcj3`F z9Y6@o;&g;h^FVZ33P@vO+Zx%-S-Vz(`+ek~o10B-g}nNdf*fQW9cX!(F6{&@vap{V zOa3%cHF<vHp=@UejjZUGc+W+h#;$2|qdW9+QGmJdl?Hbc@oW`{)bL ztaqQjX`e?zNzLuy85LZp!?a^FUTR#OY6fPRzgJV{7R*`@63#mqrZd9|5Oy9y%CJ*3 zM1K)N0sF2fL6?*UYg&b07rH&|`H`LZUl=Fh7yYt=m5fwa$ewunapyAarKMkv;aqi7 zjU!OHZ;3B|BYGxb>>+-s=EcCl3z`6VsX(`LhNxtQeRsvKKycQ`gx5mlpPGNBR8O?v zBOQS{rk3)XD(=^n_paBQV@p<;N#t6h>rZI>kjx^)F2<_uAE?3gCN=0rqvM#JUd{Kv zkkb)Zv?NJ+DMy=ksZBr(|TxfID*O8qJ+$W#~T}`R^qN%vef(;rIcAlo6jm8FZ;z2$L+<%*1 z?Z@5z%|9U@*Wi?Bi^k%I+A{=Y9~rJZ{rASy9^5V}%F3>31pGz~**}Ck0n65=nNKJ$Xgruki{YxQnGU1q$84Fkr38Fa-1!koWhPz24N8WlK+z!pyo#4qz>94v9KXR`R| zH?e7p!YXDPI+uz2UdsK}sX3f3{Y6|WkFJXUFhE4K`nV0aET9YVoMHCQGRbI4uT&8- zM{Eyr;=0x2=wF@n{xk3# zAS>ve%$|kvpHKavqD8nLM*21oCGb+@QTgQ&M|q>b|GR|e2;QXIMi!rXMEf0GxIypv z%UN1P?oV5>!Hi|wCZyvuATJx}LXIW8*+V!PzudlM`q0CK;jg&+pNrMIMC3;V*q?J$ z;QAbV{ZypY_xYv`nx$2s=TloidouIwtok;cvX96SI^eQ{ZrOLfzQEceq$KPL2YX>B zc`f_Z-zC?sCUIx1JRcuLKI}aoGgKc2bTOIfTnw+yCbbKE%JGXp!~8jlcS?Cywz)&{ASU$9EeOJA{jZ==rbZN3~u?V34ekuW6F3@!;lgk&{sA2Rs{w6QVn$<## z!~TBe4xizDe~g}trqD=AjST)Xq5Wy*^ZZnK*uJ;=Ll^a)U1Z zdJ}eGLDg#M=igAcJ02O4P9E2ZsI%FjBJ6`qe}W1So3BkfL*XJvc$Ysa!~Hgb@oa%K zjN?*YyiIS9*3X{J_Hi5!R0f8PslSn~9% zBw=HM5OsEr$nmgRtn<5vaZXSh?@$xF0VTt4qq{=DU&`q}{A|oXgM?b3vl^BHv>hTXh|q8WT-EC#r`j(-TFE`Rua59=Cfkl?MA|3|5(8bYEkdt z`BQWiKBApF#~uV0ads*yv8l9^mqW?$70PreMAjZ~vnxX>tjQWtk9NT4&kP zylvrH(P6#5ph0{TN=+Ze=I!T2S*H(8Qs#~-t%uN);wK%CW&Ba`R)8x2y7`~Dlm5a7 zJsc;E2geT5THr(93DsEA=nYF;G4zPb6qFXI3yI9L!G={p^!*-1bqz;ZtJkBd8kI(k zVQCQz& zPZvspd2$uP+Eb?C>+Cqvu)S@6EjX_h1YP1JeK?(_3R0cBO*aKvEV}6WbjOaqRL+4& zh!Z*=W=C$gP{S*WD#(3Wt5ha-Aq3)CZp$K2>C(etdzRYVLppMR5H5KCsn zj%gYhqu5LLEA1m0!r{_wdeVT;V-e7mW0$v4c7=t&W_9APorIe3Hxd2VGdm-FRx4+C z@j;nCEp_bqM%7nRLi?rMoZ0+PwIew-K7zTDAcpNUbQ2L=7m9-JO%s_s+-yk6%t4lD zoxG*2j~@*|jCUfF9aSw+y}Pe8UfNtn%+6`td?BW)C-}fEK zmjrzTe13YxagPdJ;h<}4>SX43dCcNH#)O-QTu))tG>1wq?8Vpv#fz2bxvjS=e-Hro zE9k~`+SnZB{UFiXj4$5JAFhjDcW6;`yWYJX&5JXzGgnG+nI)Dj)2=!-W0}r8C$Zd# zzJ|Y;n-MVL(dBEld;sh75}>=t%`kNFF8L6P;A=N;{)r}H`P2LpD=AD$NqcPc*UpAP z1GvqU0j!IBp85Uo32l4Dq1U=}J*+xRG<7KJHE6J&B?-F8Ke`)rBYoNJWZ3eZ`~t(V z$^WD&3RIKql$<4*Pk&a$_t*1e*rumRTGUfevT<0ZJe8qajNuzJal@UOFj@oa^HQLD zp7S~ME&8z$`gTa{V2=h$yZ0ou0EW_VecHc5Sz+>!C0)p{KyZ^juz=Bbbf{`;H);l+ zt%(1wF1xFRf{Q*F7+-17EuQsF%k4X{77){TP*q|afgH85{;Nf6l%?mAb#0&!!MB1+ zmfFLgsm5y1e(>YYV!v$nraRP_m@GQ`Z4My?tiQ>C?wS2qulMoy)i3)7Ed3HTsh?P1 zy3sg$vXNWWsz#jiKisY99~}-)C9L;BlbU}>`PDF+cjxMOuit77CRjIL<%S1_`kI(3l=2G7|INV5Eqafpl ztcx;o#I;htzFPoXInXtT{EpSRAIzSuaa*RY^KS{muvF1q5q_igFNXIjQpxIGigvH= zqe|EESb0cV1ow_8hfMz$cXZWAo_J{5Ig3ufl?PqHpO%(Vc~UNfP0GFR+b@It-26{| z>`c-l@v~FEL^WRFo232til$JFnp6?ON*d#z(f8%4Xhm7y1hK4ALazY4KPZ51tj4Ou zqG^J$(@#2>pS8)fR8_?Ba<*63isN=Sgj|8U<5LTLU$_Q@N;l`$Gkok<+$77D=d`SK zj>j^8x)XbR1M(_@u1kd$mlB=}{*mnkmwCNTQf`TQ)}QEIQ&ZLQpQW5tfu4;kIA7aX ze@D)hVtt?6Jw`sdkT;}oU?nm??WX0@2ggAPbfXK2nX>ltRtAS)UxvjSI;uV|uA@e6 zW|992n3y}UAg>RHe_4RrCa%`HyNTAkA?8|&xAeRF5{OYzzuh+XF&)UO47#(ZbhtDoH6Jw5&+qlnYfOF=X9DMhYs*=2KU@P!SaqI_pR|2&-^`9(lc3QAM;?egJ+ z`&s-Iv!o2*s(>zn+hpJ6w_X+1>@*mfT>cRUWb`QKo7vCUP#jkbSr0=zqx0WBE^gGy zrK^7Whlp7KSrNOWNWdo1VJ{T3MO|tSxT>J57F-flB}qqF9uOI4m#uJ)e34;3qVB+- z-7=>InZJ0iVVKv8b%-{9U#mmN*i*EG`(3+QEuR$kgo>e|ZPyQ+ud9LXiQXJz-0x5! zQ9{HL{78Xb`qZ;+vCgG1aVsv>7#`jOtuuXXNSlpNaowvR)PY4Ig)E}@MQ<@Hac4V9WNql9E(necJ!d(5O z816XChkKr2`{ViIpM~f?s$4)`Ezm`{h=IvX%DUI?&xQC(5FHY6t0;^N=dOoTj&1Nk z3Q?J1Yh;ZIqyHe4@Uc5jw1MQ866KWN|9xw<_f-l5qh)X9l2as*8bRAdBC9TKj8&t<>@D z=9O}5p<(W7Kkf|?i>IC0GmpK&X4Ro|hDDD{BclxS%F$}#Em%cW5xKl4PAmR1kk=4& z#RNSH8+-puAzX$+`2WoJacCs@ZX6hAd51(=4^K7yhZOtQ+(6Cz9tyFf)46SxI>hFc z;s;W((P#&kWw?7s@bhZ~x}Q4!#a~@=CCA?IDGe=Cv!hl&&#QkLW$aA7JtLQH$Fnwf zhNOCg#{B1CeJj}5RGEQpOdeU9>1bat7xFT04c7ht-(vEA`Tx%!lwtQziBQU)GpXnu z>?3fY1h%`W$irGRr*0mc@O8hhE*e*mw*vGx_4$>wAa9=N`Ky1a z{`}AQzjbL7FfWIhHKNv^NK&d(BIpsJBgRugO2|}uB>Io7sBb5X(e6jf%%urM{_PP0 zf!jnMEUL;&Wp--)`l8RVGIn~M_A3C_6m&1)W9f1rB>uSlBE*~}G>fgKw3e=DnD%+^ zOeOBTVx>19QX0P^4;A?tr=)W5{(Vb}^b?;vP7r6&pTsk?I(KBiH3MC)O(;px1hys# z?Slb&mM5E^=j-!~8~8h%vl60Py7H2;w*IZ(h;HDsFN1gVni!MuxAK0Hv+(gD?WHo3 znQk!vuKEACOs~jAet%8GOSM8?+H0vdhmCoW>#ksP@9y>ECe=tk6MSN7lB0sD8E4>q zL|XVG_MNULEfI~CJovA1P7gvW;97ug;=|&m3t8U{4)0ybhx>Pp+jvD(r8%5iHeZLh zT?t^7%ZHCm{R|qbgfVW4*QWZ`R)#Q?N;_iRu{M9iQ!ed*`;(TSOM!(sL7t5PJ!z7rn^TE|C>+t@9v6YMh$SSLHEdc_WeK#hC%tKtqKq7-&PFqG1Cvv6+eIF#lSj`DhGNUEVl|J z`GSduf->=bXK&M2WQcR+p?mRui1Sd1w{?DYn>^{Q-}@?$LXTA8gqb_v# ziY@5YGX2!<@eX!)>l|$-WzbufS{SGjsyCL~l45Ek_ZcS_P>@`oI!Q}a*7W55i!in# zw)}d)h_z3X=gI-Cuxtx{FYG|Ku16%i5G(G-N58RWGT8C5`b2Ot5pN_Ox zi{aOftrI84wA)x<9O%_aU%klNXlY{TxpQ-6r?U$kf$_Bm-M*oBik?5o@?X!F8wT_c zZ4Wt5oF6H)%M4^$x65R4U^YY~qfA2M2;0j9*#uspUDix1+SJ}Dga&M`j*-))i39Er z(4DuE^7-0y*>V*{QcfGpQ;pLWK5MjkWnQu^7qv|>F~JKzx=QZPOc6UGz;u@z$s|Qw z42uOVcC7x$`T2=J-xzQmKzF}{d=86@W`_ZeTv}bhFZ2#-L7F{`k2+=52qNah1UKNs zF6cBo6H~9_JI{P{LN?9KrwIVA6X@3D zIVgMo-WPMN$+H4g_U)hiUb-p~-8vQws{Oe4G}>ytnTi`GJY5CK2j$ z-?It(Du&PRpc4qV&Y(JL6w14d1~2J{Qm(+4?a=d~tO@_@#nKxQ7!h6kX0O zMEfZXXPadF!}9QCP-)`U)i-0LZ@wmB@>EpT_3`UiWJm%5c&J%#ZN_-udeaqj4R_rF z)2?eXW8tg|%$gpW=COX^6aQis$v>10lHPr#h*u|dm$&H~!|t0NKKx9r)Z+A#EkyCj zEBsoHDmvXA+^=>6-O|K~;pHGy|BzTy1D5c`1<6WA`~wjpuD7ks7Xr#GSJVC?d4uSg8e1#pj)LbvD@kwIy(@B<6&nwZ;=wB(UVM1 z@5kx0s*yS7^Jz&~tra)so$2EZIdInDHW~ljvx>~+g61xzoaKGfT5iNKB=tgJ z78%$^?YLUK)C)fB;F^F&DWGTzG|eFc@_K=;5P3lojAVTQ&7D~aba!_UCmzA#5RSuQ zt*U|J=gw|Y^7${Uw7VETraL`YkcpF|#JorrLs5R^R>AsXTv3>V&o^(-y$!^Z#)k-F zAZTN}XZgt8#gdq5&`yNrshZ#%MW7ov<}TbP=ja~uD@dNmNNQW9bYtk1sNj{{Q37E9l}Sv=?CHE`OVmije&MYsC3MMd9(fKd!Rp0}k?gR;kx(dIxwLJ4A1b zfs0*62!Prr+qvFS3a5K7lg-;%RP930B)auO0en9-;YTK(%m%;<9YsUD#gA8#eKyd)< z+YSO;(O^C1t`;1lx!CVHEO9ZvHe=Ty1K_%afG!#>a%(Zy%_p?RL8;O7R{tXOE;`IP- zDCin-eYSdR8sq4D3>PVb7RV^a^z}^<5J0ULkTuq~-JWQdSt9UL`#Fu=zC~C;9zZU_ ze^q7YG=ZPQoJl%XlpF!LVW3-e%hRO0W}tPZkzv<^)-(B>8>DQ2QFryOj#tu36pq+L zF=E`m8I=zPRcJegx--;Dz8;O!_>+IV0%MV~D=ydv5)Qgpkglva=agF;XPsJ5-Qv3F z@yL}8u@Lky-{N5InK9*rVHKBXJ(Mt^0)mzt?%7j%a6J>aP1_BTJ>Ht^m!X`2yb+*l zN)d3n@H&^M%WtxESt&l$;9{vu07McgF z`|~s?-zXp9{X8Xa@VmVI=1I=~Tr6-0)wdHWBc012KI5#psI+b~HwK%P4Y<*u+x7Go zJz{r{Velrc%i=zz^~Y-B$Js8FzTUjE#|KSkS52}k6RY=IJdpoTVXY8aTusa9syJ=$ z_nQ5!MSm^@g8d~ipsNF+uo{CsOG7k8o%8&gJVtiJ#z2)I!#*{Lvg>3$D!gZr&~-ZJ8Sm*LR6zsAAr5qj?!PX! z4!#I|w3mUnKBJ~tQ6tK4H!;g&K)U$~BQ({_C+C|H&(_2yoD(VZN*AcDeeP#wz)d~} zH%7vVnIq2&xbdLtw>cD@_VHqk;@hb~xA+UrjFDX5mizRCYJ<4wwz8J>tI$kUDYk-gU3#(b0CDbDGU#N6NtvzO&SR50J z%40jb0Ng~-MPt!yj^vd0)_66MiKi2YCg(8CFeGpb+j7e@I<8N?SD$dRT<$f!ZW7Xi-MYyCyUGwa;J}tyN-S5RStGVhNBO%^M8PLI ze49l1Zyc!WJZXD^6%Bg~OPP5=$m%Z6~Q)eUs65LYUGP z?~YrXs;jdE@szzADF8%qgbNv(w)QWe~~}u=fn*>APY#d`e}N7sxw)zr6x( zI_UOSmaI|8@S)|lHVShV5F%8NB5|;|vw0JXy>Sq#v(3(7Kq{ACimyYkMo`wl{Jqo= z&WTdWR_r1DP|vn<;;#v~8KA4uNJ?rbb0{)79(~W$(Y3}0bk+jpOT!emOUvyp4BvL+>crQ&Q@zlDLvy3$eRVa z)2vX-Mx`9wo+|o=vSViT;TL*W6l3vXB$bY)xMg%Vf@or2U@#msz1O4kytK)odCG~AvD zqGDOCX$(ot|2zMCo3LoVfEg#PBMBvdH)*I}`Js$fj$kyTFu^}EQDzI=f5-=2lq@u2 zUSt|a{yu4j&rn258?*Q3RTd8&V&q2vv@J zTmShVMew}e1M(JtuFY$i6H^3TfhtQ4@AIc3u3D8BlFuif{nOv6r(d(D>~x8fH&V)VRLN5s8x#Ee7J=@-Gpa$m z-A%<+hfCS{CmvePn_aR?-hVUVRy0JKJ70)lul1X^QS#5UlK4~g*rH1+xVxK`Gd*#) z&G<|L)gZz9&Tr7YKBPZ5vf#6C-7GSYB}Zdgsi8iafmV@fq#NGW$Yi-!b(L~#&Tjpi z9=JP0V1~S?*W;nvV}OMa*;WdD;rP}EjBhdM5?6lf;^!_?T-h_B6{TvN^2J$s;Zs_F zY!ZHN10hk>6#0N*W8i6(v~V?8%Q{jDYAnhVK>{1zO2)HGnYhBH-K7imB zpw4)J_T}hPV}_27Sl+RE$5pL70gVJD@11&wrjE+gtneL=w*y1&?+J0orRxORB<&tq zb4IZoBfu>M-74>I5>Nlm#L8&M3jo|Q&~?67@SPl^ifM(l^b-lswAIm7AmyZl-fCy* zfKS(JOD9rYSJvx0D3z~l`dX;-$4Bz4&7Lcv@%COXgsUIsFB#yLgKqK0)Va5%Fo$@= z{`ch}UL94PTQSO`RKmtfku|1yR0E;Z6Hz%X?%&sLQ@i042(=g#A4U?!mUvQ~MaXl< zA`St!0(4`GWg)2k5;f71BmWlIhm^dC!F=H>1mRQ-IOr-G)H}rbWx0zPC zS9qXi#o8ke8O9fqj@*_Imk;iPSAs5T7A9xR?EG5HoB5~Q62>Mke+S2>U+8vKV@Ok_ z7-x%?bza8xGNQi%G!v<)_+?8!h@0ELEgTWDpuj>G@#yRTd8>zFZPL2wa<;W=&)l$9j#WV;`Y{uJI5rdW$DJfY_$^Tb8#mTxU;;K{l^houf16*(PfVG_U=PJxSW z7=$-7b;}AR@>S_9u&Ln$*KakTOB_Tjg8jongdCwA?so0L(*&|xcA`Scg6Joa~{1GbXDFxklpY>v1<4$6P{vB zAzf|uC8=+oV_@})Lgpatd9RmEOP1~skVtuE{nAuhwS>zm8Swk5uRgA^xLOLM2fl~1 z4s_)a0yAhYt;bH@KYV{_=s%xULE*9ZPHNiWVm(?L<4f8RxH)pBZ(7|-(IE6ZB<}d7 zd0p_)iU0laYhd<~)=mO2zV)Dc#C4ZWPL@qV(veEs`p@U{mv8?(lna#p++Hr8nPbBs zthmZ25^kKC?7OB_wcFyl+Fz%-`6mkGN|?;6t5-+C18xK8%1Kv42EG6EVuM%_WgOIP zp~a5D^G~LQeGuw*u1tGGJ6H1Tan*qaT(@L%hGN)weaMFju4QvrSG^y{ZIUV>V4vP^hDG!iS>e7oJ=n2 zUHMCrcdzVo_6{nB?C%~i)}mx;v92ntdp4Y7Sr<4zYXaTpN(#Z%+FJk7qI%hoLBi4A z7$c>J&F=mZ()sok4a&dGB_4^DeiZjmej*X;#W5!jt>o~1Tz8_X@zi$Vw)uKM-e%A} zWQsc6bLQ((fD~4PTo-rY{QA)5PAKmhszGu90c~oll3#7)J1vNW=}Z*yWv;3YCltcr zI8T)BKM6N)hm)l^m!obCt=mOM zJC&2MycX`)LQDSmss8exuP3oP)kPc|hI^+&fZGbX7=4DAfr9cBBt^SRUQ7kobUu9+ z<`VC&!=`e-G-qwqG-|(@%MyfRzYEJho91p^`|i7*Yjo08N(AT5>>a0F47hEe+uiNu zcT>CY%wy6mJM-;Ft|wD3l69JH@&buy=97%ScCj6%xN#~|txcfgO+hi!7s@+ACpFC# z3m297`-#*hGQe#IT^%cGjwzAm-PmdClT{`J40|%(kJf}6GBarwhsp)2hrbI6rmTi} zr>L&y4vjC$m!9|qo*uI^U49vAI9&QPbOLS%=)Tgv8cKagmM#%F*~FH=7J>4xMAF+R zN&d$_Et;y-tz3skgEDN+<7!0gI@>ej$?14q;vN^x6MVjPg05+-=9BM!DA_aU3ORhw95vQf19vnt$KAKIORmacT02l$;PnLfcKqs!)qY0cnuywQupBEMyJ zS@_8;uVx@`*Z;UaeYFBVD%W_NR>Dw3%_Atj24TZG4PAw_^%z=oL(>L z-pDig9Vuou|0Fr(NGkxAvsWn4CYZl7xTdzB@i=T*qmNMW&)y{9_JHopni-Ug9_o@{ ztl9m$)N&|x+CIphKbR2EgnoBwx0LnDwPoclT(aE{_M!pU|NX=s2Co*X4>`QPNH>}f zZ{y>C?El|S&5sH0@O zgPHZzMa3m`TW0-^X~)fmR&vf4`0JVwxC2#pN~SK_L+M5ny?2QOfZGqcV@Pntf7CD3 zyeyHNTHi8FL;~WN^L-;G`Q4`9c~0ELpFiT9uL>-nZLfrl9BL;lW?>tAw*07!OE~6< zM2{(N1-JvC`zA8dPcSjPu>CbfTX_GhY3A`5nyF&UpGi2a!Y&u~x&(s~TC{+>;J>>0 zB0`6RFlB^uh5IYZvi(HJcK9I!xNkoQx(%hMp_q`uOEDU<_VGd%+f7PZ2_N%o6Q~m; zLu_BY4?mZ#m@46?<|yr+k1^Pbe2_WqttYxeR8S`m$~Eqx1?yx(pex5fAU?bs=&@3s zbRgcP!P4Y1$$i*iKV16Bt?pcFJKY`sCTp|^H&}0TA!9)WpM}VjQ3C42xO$2MV}89l9FnEE zebU3aTIrh2*TKTk3QOUE2+kkILD%9PkMM;vlayDZZ_z0#UG4zO7M1*+Sno1{0cO+= z)MGN`y+zn>WozkhydD~E{qo-(LjBle*|1pc2>7!eQ{d-!0(5`JiNB4gy|G!@Qg8jE zcrzMT;IQY0_q1k6TB_>sADfnj>FGJ6&ZJDkgbeWvg+*EnM=ZLyyp|^AIdC3WPyPpt z!zAeX-#SoylOO8N*qfK#A>S1o3V4?C5$vGGp7aH858}>zOUz0c?%LpEp_~9wW9H)fIAJklq*~+!H^Z2Zp}<*mxTk| zCOhxX5!9a=xean#m5*?}C@a3yK@E3o*ioTU;w0p)646j_mi*E|L&D~3uTW1|GR+KfKIIbW`cm_6#P~KhG^v^qr3$ zn~xRdCxb(|y%H|U|Hb|P@4vI4d(Yd2Bi&`6AGKzk_xF9JqnLbm{-soG$rJS>g7|M4 zhQvFs#)|!hEA9$W3+We!U(b|8F9W|Gd>)I+KTL+W*Z}Sv=x!P_u8Rd4nDdbGJHXz( zw&g;4iK}s6Q_gBrE+|oE_%(#(dhrz`o6eT%O~^9DAj9Eiahvc<>NR91I*KD78vyP+ z=w`XJy@ba8BNz;dE_UQyfmwYrKVl{UgJeyoEhaE?93_0Nq?s*weiQ>IQo5nf#5L9k?e0SG5ZJ~C@NhF|xa>s}5l)(MIMbLG%48lR4Etqc)2=^B9IM5RN zA?q`(x-E=2vH4*JLhOuyY4?t>>q92{-(XI6Gt-hX5})c?vm%kQaclDGf`mC*QG&S>+VSsfam`>PUOo2H;5hsLW>NOX)-RcNkB2F$dgL(3M|q zU1F2C{o6gq!fJ58vQQ?sV9m&?_^nKj+h=29C#n%~rFl5Me#Wy7_fpkT_bPW4eJHUh zENC;zZx^pd4ZQEHfv*1AEE!9l}jlx>CAr^R)0`VcjI+I>is#kB} z_E5k0;vI5h#6Ruvdn;{)9C(3uCn_j+dX7<;L}b|7`D(_M-O>D6ZR5Rwy8*hqB@;dZ zl$bP0I~Q1sr}bZcS+q!0RI`-~%V5;R`J2pKrhMn5BtlFHNpIB=zu!ZqTXZ(r9}x}e z|5)%ji1zgca5q7B7`I9KC`#reu7k4C&s=ZMT5GUB_M>sUp3`Zgng=c(UqeQ8H)Eg+ zJIX6`b;zP!tU%#2#2i67YY;m5)7uJIN8bWnIGk_G!5vVpN;|lZ$Qp(kQ>zx<9&brZ zZTHeXy4z|7v@X+e>6`x#dv5}l)4T5fKZuf{K}kdz8kEwgk})Dt6iFkEnxkZjlm;qO zbB097&_p4Xp+Y2?O9&+;WGEpa|Ig*Sp5Jf%zOS>-+57CX&)H}H*LwAKUH50*_qFbI zt$VF!-RoK9s@k%meS@689~s)3xyH=-(7=R2)rV{K`?)V*_4frk?p()@cMVK;l{t>g zC@qN|t#oOL%=?A+f*mFtiE1rsTEFzufP#01`#d~T&Y#(+Qwqt*Jx3Kk1k% z+^XKCotw%fn$61x2w53YF{Z#qzIQabBvfrfB&}ZlPcBkj7EX zV+Q`n+Sg%_IWh5OanMK6%%ULAS(3ZhpPMh)aql#qt90KnV%%!m%tLYtH%1;5b!b~K z;#E=e=RVJpzKNMA+-#qGf2!lj0hT8}JoVl@wqI&Rd;fW#2M&zfK00gk)a$JNHnHQn zjNKvssjGIbyw}DU0a5|vW&`B6O4L9 zH%u8GW#0YPRa|YjcsBce@Md;gv5~8vI*2Rz9xEEhkWc)o;8|06)Nkq_ENmW8s7-<>MLJa{e8ubEAaHJVDcXIvdIf7 zowJs&3rpU-tjlncj^-T;E1#I5^Y_)3Ynb`ZEPOhq*P!)_V{HZ>4y^WD;pJF5pkdO` zSG(4&V8v}=$9=L-XT#MyS#l`pCGu>1iGZR;7)fuF2yp*dxOY%;^FiCbE-mv42 zn|G=q{Yt+L>*pKEopVT$E9l<;q*?z+mSx+3l!()V?sj}>KQc~Zf5P=f6Q9w$G)mN_ z^4c?Z|5$xosrJBap%FCE;=i~3mL2!w`m0TQrQ&0!$v#|`KfE+?cIJn5*CSiHJKo$W znN>OOQ|L{Pel@ne`wrLf^vnG|=d7?>YfZrC$KschW2d#w)nd=HTG?^W$!hNsv+aKP z^lf={V#9^`v5_a88x`_OEE3jDj#CMjzV0D$XV%12c@-h$89Q6*g(S~?AM&QI@S*adrDC0eO&TvRr`8-$vu^yrv@(^H_)g! z&GgEn@~HDpC*~SHzk2Mx#I83kZh4lDqr%wVAHQeEoqLowFRc2KUB@Upd)?Lt@v$O1 zrf*)o*0iy=MIYOi1@ChA}3 z+;`QZ-VG}|IJM2Qa?_!&b9GZ&j@{|JVXAm?-N;#ee_qZptnZQ)%0H&K$;r57%JBtH zt$SS;pSnL^OK?VWj8%V8_TQcP$d2ne&-Ui=RU_MtRke!>&K+;+5Y=j5GcQTaTfbmm zd3|BNsiWH2b!!qbHb3Zh`}>A?C&|$JSpB#6JQ6+l(Zx|p$s_$&`?(bZyw$%P*_$J@PrF6&a7_Peqm38b znv!;OksK=z?d-VPZqHM8d3==>x;DyU&BE^V8sYXX#REzEPQQ`Mwz@hqM8MhhaP(3! z;{%@_MH`e2caN4{SF`l(Yu^zWv!lnXkNL=o`-vUbi+5~aLZVRMEbS?$o;}*;epK{Q z@5)GBmpynf!7uV)W_nv#y;JWB*Vd6?Yijz{HwB;ARp>scm+&EJ^)LH+RkOc8?qJ6a zymF>!>4me)!@eeTU-O%~Uc7$Iqi~(<%Dj*F3-k*v$;~u4JwM|~iOAcv4X#!m#`k+m zsT{V7NEkm@xHw_P`3F9;c!vG2tqrMF@WY~|!1^t@!O41C0Z3XT4zcx04XzZjsW6QTdTVWg?!gzm`D;pTlpE_K|qD|`RFN@=CloIxL0alf(S zJ}Mp&8Z}1d!@*zo`}hV&TbJrJl|BmjIN(s+L#b2atsit$Ob*}tGSR^La;TZzr)IOM z!mH0;ws{xotsrSPK-Pl&zEKxDuDi_BofnT3)~_#|tJ*9#?!!C5?yy70cFcHqUS--zX_Q8}up6 z{D8!fak5oeEw6@OSTaTB+2f>e6@6f7^LH zW~XFSv}%rM^YxskhAVEbxEp!wl5F}!i+{P#26}9rwQs#&Z&B%+4!tLbscEI$ zxj1Kqw6^T$sM@hVGml8@?;WC4Jfuz1=f}~o`KyPfe~I^OW8< z$#q&`r+OJ)ezA7`x99J~5|6~^xAw^ST=4p4dO~WPyG~kiG}(_(YJWNOOwQy9CXX-SU< zK96461qCN$ed?ZbWYsO#UbU6y?v|Im&`8hsP(2;EoE5hxJ8rGxwTpuaVh`nAv24>n zmcM`Tq#n}w&o{mP<}y5@D(`Lon#;*MlD);t1~@F2S)+FKNY51;->%m4dAekKa-UJ+ zvF!IBda>i~Fb$s8y;~t`M|6WwM~}hNJKuM&SUq*%#5c1_?wpcN()c*GQEp9jCeK)4 z*pS=(CtsXb^TaRs?R=$~!6%c0UnH}~uK+vl$We2K_7ys;J3YeH_nAT3DNmE9GA-{4 zoJRUPPp{J4mu0DMCHHu<$|lDzD_feQS7v5Z+r7!TR6Mps=1$HMx7UkUdFaiKn;8&z zRc*Xmf_u?m!Tvu6-aT1UH*39du3^r}YvtoFw+yUa!-fV}5+h#7nXhLiT-Fsh?_Qdn~+BKXl%}ye-R` zY8=k>`YC7AFR!tzv3<9R*KC!D`$vS|OKnOheYxAHK9SX5L3Uit%6AhB%0DNo81M#v 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 with the absolute path to the project working directory) + +```shell +docker run -it --mount type=bind,source=,destination=/home/ethsec/test-me trailofbits/eth-security-toolbox +``` + +The container will automatically start and log you in, with the project code located in `test-me`. +Navigate into the `test-me` directory and run the static analysis: + +```shell +cd test-me +--config-file slither.json +``` + +## Excluded Detectors + +### Solidity version too new + +[incorrect-versions-of-solidity](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) +ensures an old version of Solidity (a previous minor version) is used, as the set of bugs and exploits are known. + +When the release cycle is likely to span the release of a new minor of Solidity, using the latest version in development is acceptable (that version becomes a valid version by the time the audit has passed). + +### Functions must be camel case + +[conformance-to-solidity-naming-conventions](https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions) +ensures functions aer in camel case. + +The convention from Open Zeppelin upgradable contracts includes adding a CapWord for the contract to the init function. + +e.g OwnableUpgradable + +```solidity + function __Ownable_init(msg.sender) internal initializer { +``` + +## Excluded Directories + +Files and directories may be excluded when they are libraries, or are still under active development. + +### Node Modules + +“ +Everything under `node_modules` is considered as a library (outside of the control of the project). diff --git a/hardhat.config.ts b/hardhat.config.ts new file mode 100644 index 0000000..6b96a8a --- /dev/null +++ b/hardhat.config.ts @@ -0,0 +1,36 @@ +import '@nomicfoundation/hardhat-toolbox' +import '@openzeppelin/hardhat-upgrades' +import 'hardhat-storage-layout' +import 'hardhat-contract-sizer' + +export default { + contractSizer: { + strict: true + }, + networks: { + hardhat: { + chainId: 33133, + allowUnlimitedContractSize: false, + loggingEnabled: false + }, + local: { + url: 'http://localhost:8545', + chainId: 33133, + allowUnlimitedContractSize: false, + loggingEnabled: true + } + }, + solidity: { + compilers: [ + { + version: '0.8.20', + settings: { + optimizer: { + enabled: true, + runs: 200 + } + } + } + ] + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..655f89c --- /dev/null +++ b/package.json @@ -0,0 +1,64 @@ +{ + "name": "@boyuanx/jx-solidity-template", + "version": "0.0.1", + "description": "Everything you need for creating Solidity smart contract with TypeScript testing", + "license": "Apache-2.0", + "private": false, + "directories": { + "test": "test" + }, + "publishConfig": { + "tag": "latest" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/boyuanx/jx-solidity-template" + }, + "keywords": [ + "solidity", + "ethereum", + "developer-tools" + ], + "scripts": { + "build": "hardhat compile", + "clean": "hardhat clean", + "format": "npm run format-ts && npm run format-sol", + "format-sol": "prettier --ignore-unknown --write \"contracts/*.sol\"", + "format-ts": "prettier --ignore-unknown --write \"**/*.ts\"", + "lint": "npm run lint-ts && npm run lint-sol", + "lint-ts": "eslint . --ext .ts", + "lint-sol": "solhint ./contracts/**/*.sol", + "prepare": "husky install", + "test": "hardhat test", + "storage": "hardhat check", + "sizes": "hardhat size-contracts" + }, + "devDependencies": { + "@nomicfoundation/hardhat-toolbox": "3.0.0", + "@openzeppelin/contracts": "5.0.0", + "@openzeppelin/contracts-upgradeable": "5.0.0", + "@openzeppelin/hardhat-upgrades": "2.3.3", + "@types/bunyan": "^1.8.7", + "@types/chai-as-promised": "7.1.7", + "@types/node": "20.8.7", + "@typescript-eslint/eslint-plugin": "6.8.0", + "@typescript-eslint/parser": "6.8.0", + "chai-as-promised": "7.1.1", + "eslint": "8.52.0", + "eslint-config-prettier": "9.0.0", + "eslint-plugin-prettier": "5.0.1", + "hardhat": "2.18.2", + "hardhat-contract-sizer": "2.10.0", + "hardhat-storage-layout": "0.1.7", + "husky": "8.0.3", + "lint-staged": "15.0.2", + "prettier": "3.0.3", + "prettier-plugin-solidity": "1.1.3", + "solhint": "3.6.2", + "ts-node": "10.9.1", + "typescript": "5.2.2" + }, + "dependencies": { + "bunyan": "^1.8.15" + } +} diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..ebe0ab8 --- /dev/null +++ b/renovate.json @@ -0,0 +1,11 @@ +{ + "extends": ["config:base", "group:all", "schedule:monthly"], + "assigneesFromCodeOwners": true, + "assigneesSampleSize": 1, + "packageRules": [ + { + "matchUpdateTypes": ["pin", "digest", "lockFileMaintenance"], + "enabled": false + } + ] +} diff --git a/scripts/sample-script.ts b/scripts/sample-script.ts new file mode 100644 index 0000000..bf12f56 --- /dev/null +++ b/scripts/sample-script.ts @@ -0,0 +1,20 @@ +import {run, ethers} from 'hardhat' +import {log} from '../config/logging' + +async function main() { + await run('compile') + + const accounts = await ethers.getSigners() + + log.info( + 'Accounts:', + accounts.map((a) => a.address) + ) +} + +main() + .then(() => process.exit(0)) + .catch((error) => { + log.error(error) + process.exit(1) + }) diff --git a/slither.json b/slither.json new file mode 100644 index 0000000..b4296dc --- /dev/null +++ b/slither.json @@ -0,0 +1,10 @@ +{ + "detectors_to_exclude": "solc-version", + "exclude_informational": false, + "exclude_low": false, + "exclude_medium": false, + "exclude_high": false, + "disable_color": false, + "filter_paths": "node_modules", + "legacy_ast": false +} diff --git a/test/SimpleStorage.test.ts b/test/SimpleStorage.test.ts new file mode 100644 index 0000000..ce50581 --- /dev/null +++ b/test/SimpleStorage.test.ts @@ -0,0 +1,33 @@ +import {ethers} from 'hardhat' +import '@nomicfoundation/hardhat-chai-matchers' +import {HardhatEthersSigner} from '@nomicfoundation/hardhat-ethers/signers' +import chai, {expect} from 'chai' +import chaiAsPromised from 'chai-as-promised' +import {SimpleStorage} from '../typechain-types' + +chai.use(chaiAsPromised) + +describe('SimpleStorage Test', () => { + let admin: HardhatEthersSigner, + user: HardhatEthersSigner, + contract: SimpleStorage + + const data = 'test' + + before(async () => { + ;[admin, user] = await ethers.getSigners() + }) + + beforeEach(async () => { + const SimpleStorageFactory = + await ethers.getContractFactory('SimpleStorage') + contract = await SimpleStorageFactory.deploy() + }) + + it('should save and retrieve data correctly', async () => { + await contract.connect(admin).setData(data) + await expect(contract.data()).to.eventually.equal(data) + await contract.connect(user).setData(data + data) + await expect(contract.data()).to.eventually.equal(data + data) + }) +}) diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..4477e3b --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "es2021", + "module": "commonjs", + "strict": true, + "esModuleInterop": true, + "outDir": "dist", + "declaration": true + }, + "files": ["./hardhat.config.ts"], + "include": [ + "./config/**/*.ts", + "./scripts/**/*.ts", + "./test/**/*.ts", + "./typechain-types" + ], + "exclude": ["node_modules"] +}