From 719343248898c9cb1853c89326c6c85847a89fce Mon Sep 17 00:00:00 2001 From: Swapnil Sarwe Date: Thu, 6 Jun 2024 16:06:52 +0530 Subject: [PATCH] first commit --- .commit | 1 + .env | 2 + .gitattributes | 13 ++++ .github/FUNDING.yml | 1 + .github/workflows/auto-update.yml | 77 ++++++++++++++++++++ .github/workflows/php-cs-fixer.yml | 40 +++++++++++ .github/workflows/tests.yml | 55 ++++++++++++++ .github/workflows/update-changelog.yaml | 28 ++++++++ .gitignore | 6 ++ .php-cs-fixer.dist.php | 13 ++++ .styleci.yml | 4 ++ CHANGELOG.md | 9 +++ LICENSE.md | 21 ++++++ README.md | 92 ++++++++++++++++++++++++ UPGRADE.md | 23 ++++++ composer.json | 56 +++++++++++++++ config/blade-solar-icons.php | 57 +++++++++++++++ config/generation.php | 73 +++++++++++++++++++ phpunit.xml.dist | 17 +++++ socialcard-blade-solar-icons.png | Bin 0 -> 132209 bytes src/BladeSolarIconsServiceProvider.php | 41 +++++++++++ tests/CompilesIconsTest.php | 86 ++++++++++++++++++++++ 22 files changed, 715 insertions(+) create mode 100644 .commit create mode 100644 .env create mode 100644 .gitattributes create mode 100644 .github/FUNDING.yml create mode 100644 .github/workflows/auto-update.yml create mode 100644 .github/workflows/php-cs-fixer.yml create mode 100644 .github/workflows/tests.yml create mode 100644 .github/workflows/update-changelog.yaml create mode 100644 .gitignore create mode 100644 .php-cs-fixer.dist.php create mode 100644 .styleci.yml create mode 100644 CHANGELOG.md create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 UPGRADE.md create mode 100644 composer.json create mode 100644 config/blade-solar-icons.php create mode 100644 config/generation.php create mode 100644 phpunit.xml.dist create mode 100644 socialcard-blade-solar-icons.png create mode 100644 src/BladeSolarIconsServiceProvider.php create mode 100644 tests/CompilesIconsTest.php diff --git a/.commit b/.commit new file mode 100644 index 00000000..5de7542b --- /dev/null +++ b/.commit @@ -0,0 +1 @@ +ddf6326ec83f8fc92479382ad8dc6d3a99967e1d diff --git a/.env b/.env new file mode 100644 index 00000000..19b9a96d --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +REPOSITORY=iconify/icon-sets +BRANCH=master diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..73c0d660 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,13 @@ +* text=auto + +/.github export-ignore +/bin export-ignore +/dist export-ignore +/tests export-ignore +.gitattributes export-ignore +.gitignore export-ignore +.php_cs.dist export-ignore +CHANGELOG.md export-ignore +phpunit.xml.dist export-ignore +README.md export-ignore +UPGRADE.md export-ignore diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..a061ad6d --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: swapnilsarwe diff --git a/.github/workflows/auto-update.yml b/.github/workflows/auto-update.yml new file mode 100644 index 00000000..2dac9abf --- /dev/null +++ b/.github/workflows/auto-update.yml @@ -0,0 +1,77 @@ +name: Auto Update Icons + +on: + schedule: + - cron: '0 12 * * 1' + +jobs: + generate: + runs-on: ubuntu-latest + + strategy: + fail-fast: true + matrix: + php: [8.2] + laravel: [^8.2] + + name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + ref: ${{ github.head_ref }} + + - name: Read DotEnv File + uses: c-py/action-dotenv-to-setenv@v2 + with: + env-file: .env + + - name: Checkout dependent repo + uses: actions/checkout@v3 + with: + repository: ${{ env.REPOSITORY }} + ref: ${{ env.BRANCH }} + path: ./dist + + - id: latest-commit + name: Get the latest commit + run: | + echo 'LATEST_COMMIT<> $GITHUB_ENV + cd ./dist && git log --format="%H" -n 1 >> $GITHUB_ENV + echo 'EOF' >> $GITHUB_ENV + + - id: current-commit + name: Get current commot + uses: juliangruber/read-file-action@v1 + with: + path: ./.commit + + - name: Add versions to environment + run: | + echo "CURRENT_COMMIT=${{ steps.current-commit.outputs.content }}" >> $GITHUB_ENV + + - name: Output versions + run: | + echo "Current commit: ${{ env.CURRENT_COMMIT }}" + echo "Latest commit: ${{ env.LATEST_COMMIT }}" + + - name: Install dependencies + run: composer update --no-interaction --no-progress --dev + + - name: Compile icons to resources directory + if: env.CURRENT_COMMIT != env.LATEST_COMMIT + run: ./vendor/bin/blade-icons-generate + + - name: Create PR for latest version + if: env.CURRENT_COMMIT != env.LATEST_COMMIT + uses: peter-evans/create-pull-request@v3 + with: + commit-message: "auto-update: update icons with the latest commit ${{ env.LATEST_COMMIT }}" + committer: GitHub Action + author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> + title: "chore: update icons with the latest commit v${{ env.LATEST_COMMIT }}" + body: | + This updates from [${{ env.CURRENT_COMMIT }}](https://github.com/${{ env.REPOSITORY }}/commit/${{ env.CURRENT_COMMIT }}) to [${{ env.LATEST_COMMIT }}](https://github.com/${{ env.REPOSITORY }}/commit/${{ env.LATEST_COMMIT }}). + Check out the differences: [`${{ env.CURRENT_COMMIT }}` ... `${{ env.LATEST_COMMIT }}`](https://github.com/${{ env.REPOSITORY }}/compare/${{ env.CURRENT_COMMIT }}...${{ env.LATEST_COMMIT }}) + branch: feature/update-${{ env.LATEST_COMMIT }} diff --git a/.github/workflows/php-cs-fixer.yml b/.github/workflows/php-cs-fixer.yml new file mode 100644 index 00000000..aaeaedb9 --- /dev/null +++ b/.github/workflows/php-cs-fixer.yml @@ -0,0 +1,40 @@ +name: Check & fix styling + +on: [push] + +jobs: + php-cs-fixer: + runs-on: ubuntu-latest + + strategy: + fail-fast: true + matrix: + php: [8.1] + laravel: [^10.0] + + name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + ref: ${{ github.head_ref }} + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip + coverage: none + + - name: Install dependencies + run: composer update --prefer-dist --no-interaction --no-progress + + - name: Run PHP CS Fixer + run: vendor/bin/php-cs-fixer fix + + - name: Commit changes + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: Fix styling + diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000..f893afe9 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,55 @@ +name: Tests + +on: + pull_request: + +jobs: + tests: + runs-on: ubuntu-latest + + strategy: + fail-fast: true + matrix: + php: [7.4, '8.0', 8.1, 8.2, 8.3] + laravel: [8, 9, 10, 11] + exclude: + - php: 7.4 + laravel: 9 + - php: 7.4 + laravel: 10 + - php: 7.4 + laravel: 11 + - php: '8.0' + laravel: 10 + - php: '8.0' + laravel: 11 + - php: 8.1 + laravel: 11 + - php: 8.2 + laravel: 8 + - php: 8.3 + laravel: 8 + - php: 8.3 + laravel: 9 + + name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} + + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip + coverage: none + + - name: Install dependencies + run: | + composer require "illuminate/contracts=^${{ matrix.laravel }}" --prefer-dist --no-interaction --no-update + composer update --prefer-dist --no-interaction --no-progress + + - name: Execute tests + run: vendor/bin/phpunit diff --git a/.github/workflows/update-changelog.yaml b/.github/workflows/update-changelog.yaml new file mode 100644 index 00000000..b20f3b6f --- /dev/null +++ b/.github/workflows/update-changelog.yaml @@ -0,0 +1,28 @@ +name: "Update Changelog" + +on: + release: + types: [released] + +jobs: + update: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + ref: main + + - name: Update Changelog + uses: stefanzweifel/changelog-updater-action@v1 + with: + latest-version: ${{ github.event.release.name }} + release-notes: ${{ github.event.release.body }} + + - name: Commit updated CHANGELOG + uses: stefanzweifel/git-auto-commit-action@v4 + with: + branch: main + commit_message: Update CHANGELOG + file_pattern: CHANGELOG.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..53a0e13c --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +dist/ +composer.lock +phpunit.xml +vendor +.php-cs-fixer.cache +.phpunit.result.cache diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php new file mode 100644 index 00000000..403dfac5 --- /dev/null +++ b/.php-cs-fixer.dist.php @@ -0,0 +1,13 @@ +notPath('vendor') + ->in(getcwd(). '/src') + ->name('*.php') + ->ignoreDotFiles(true) + ->ignoreVCS(true); + +return Codeat3\styles($finder); + diff --git a/.styleci.yml b/.styleci.yml new file mode 100644 index 00000000..2c536b22 --- /dev/null +++ b/.styleci.yml @@ -0,0 +1,4 @@ +preset: laravel +enabled: + - heredoc_indentation + - trailing_comma_in_multiline_call diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..61571db0 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +This changelog follows [the Keep a Changelog standard](https://keepachangelog.com). + +## [Unreleased](https://github.com/codeat3/blade-solar-icons/compare/1.0.0...HEAD) + +## [1.0.0](https://github.com/codeat3/blade-solar-icons/compare/1.0.0...1.0.0) - 2024-06-06 + +### What's Changed diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..d4b79b56 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Swapnil Sarwe + +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 new file mode 100644 index 00000000..256ba770 --- /dev/null +++ b/README.md @@ -0,0 +1,92 @@ +

+ +

+ +# Blade Solar Icons + + + Tests + + + Latest Stable Version + + + Total Downloads + + +A package to easily make use of [Solar Icons](https://github.com/480-Design/Solar-Icon-Set) in your Laravel Blade views. + +For a full list of available icons see [the SVG directory](resources/svg) or check the figma file [figma.com](https://www.figma.com/community/file/1166831539721848736/solar-icons-set). + +## Requirements + +- PHP 7.4 or higher +- Laravel 8.0 or higher + +## Installation + +```bash +composer require codeat3/blade-solar-icons +``` + +## Updating + +Please refer to [`the upgrade guide`](UPGRADE.md) when updating the library. + +## Blade Icons + +Blade Solar Icons uses Blade Icons under the hood. Please refer to [the Blade Icons readme](https://github.com/blade-ui-kit/blade-icons) for additional functionality. We also recommend to [enable icon caching](https://github.com/blade-ui-kit/blade-icons#caching) with this library. + +## Configuration + +Blade Solar Icons also offers the ability to use features from Blade Icons like default classes, default attributes, etc. If you'd like to configure these, publish the `blade-solar-icons.php` config file: + +```bash +php artisan vendor:publish --tag=blade-solar-icons-config +``` + +## Usage + +Icons can be used as self-closing Blade components which will be compiled to SVG icons: + +```blade + +``` + +You can also pass classes to your icon components: + +```blade + +``` + +And even use inline styles: + +```blade + +``` + +### Raw SVG Icons + +If you want to use the raw SVG icons as assets, you can publish them using: + +```bash +php artisan vendor:publish --tag=blade-solar-icons --force +``` + +Then use them in your views like: + +```blade + +``` + +## Changelog + +Check out the [CHANGELOG](CHANGELOG.md) in this repository for all the recent changes. + +## Maintainers + +Blade Solar Icons is developed and maintained by [Swapnil Sarwe](https://swapnilsarwe.com). + +## License + +Blade Solar Icons is open-sourced software licensed under [the MIT license](LICENSE.md). diff --git a/UPGRADE.md b/UPGRADE.md new file mode 100644 index 00000000..b020aefe --- /dev/null +++ b/UPGRADE.md @@ -0,0 +1,23 @@ +# Upgrade Guide + +General steps for every update: + +- Run `php artisan view:clear` + +## Upgrading from Blade Icons + +If you're upgrading from the original Blade Icons package there's very little steps you would need to take. The syntax for the Blade components has remained the same. + +### Raw Icons + +If you were using the raw exported icons you'll need to re-publish them with: + +```bash +php artisan vendor:publish --tag=blade-solar-icons --force +``` + +The new way to reference them is: + +```blade + +``` diff --git a/composer.json b/composer.json new file mode 100644 index 00000000..b0ab3c1e --- /dev/null +++ b/composer.json @@ -0,0 +1,56 @@ +{ + "name": "codeat3/blade-solar-icons", + "description": "A package to easily make use of \"Solar Icons\" in your Laravel Blade views.", + "keywords": ["Blade", "Solar Icons", "Laravel"], + "homepage": "https://github.com/codeat3/blade-solar-icons", + "license": "MIT", + "authors": [ + { + "name": "Swapnil Sarwe", + "homepage": "https://swapnilsarwe.com" + }, + { + "name": "Dries Vints", + "homepage": "https://driesvints.com" + } + ], + "require": { + "php": "^7.4|^8.0", + "blade-ui-kit/blade-icons": "^1.1", + "iconify/json": "^2.2", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0" + }, + "require-dev": { + "codeat3/blade-icon-generation-helpers": "^0.8", + "codeat3/phpcs-styles": "^1.0", + "orchestra/testbench": "^6.0|^7.0|^8.0|^9.0", + "phpunit/phpunit": "^9.0|^10.5|^11.0", + "symfony/process": "^7.1" + }, + "autoload": { + "psr-4": { + "Codeat3\\BladeSolarIcons\\": "src" + } + }, + "autoload-dev": { + "psr-4": { + "Tests\\": "tests" + } + }, + "extra": { + "laravel": { + "providers": [ + "Codeat3\\BladeSolarIcons\\BladeSolarIconsServiceProvider" + ] + } + }, + "config": { + "sort-packages": true + }, + "minimum-stability": "dev", + "prefer-stable": true, + "scripts": { + "test": "vendor/bin/phpunit", + "format": "vendor/bin/php-cs-fixer fix" + } +} diff --git a/config/blade-solar-icons.php b/config/blade-solar-icons.php new file mode 100644 index 00000000..6020a47e --- /dev/null +++ b/config/blade-solar-icons.php @@ -0,0 +1,57 @@ + 'solar', + + /* + |----------------------------------------------------------------- + | Fallback Icon + |----------------------------------------------------------------- + | + | This config option allows you to define a fallback + | icon when an icon in this set cannot be found. + | + */ + + 'fallback' => '', + + /* + |----------------------------------------------------------------- + | Default Set Classes + |----------------------------------------------------------------- + | + | This config option allows you to define some classes which + | will be applied by default to all icons within this set. + | + */ + + 'class' => '', + + /* + |----------------------------------------------------------------- + | Default Set Attributes + |----------------------------------------------------------------- + | + | This config option allows you to define some attributes which + | will be applied by default to all icons within this set. + | + */ + + 'attributes' => [ + // 'width' => 50, + // 'height' => 50, + ], + +]; diff --git a/config/generation.php b/config/generation.php new file mode 100644 index 00000000..134b08c9 --- /dev/null +++ b/config/generation.php @@ -0,0 +1,73 @@ +optimize()->save(); + } catch (InvalidFileExtensionException $e) { + print_r($e->getMessage()); + unlink($tempFilepath); + return; + } +}; + +function importIcons() +{ + $collectionPath = file_get_contents(Finder::locate('solar')); + foreach (json_decode($collectionPath, true)['icons'] as $name => $icon) { + file_put_contents(__DIR__ . '/../dist/' . $name . '.svg', '' . trim($icon['body']) . ''); + } +} + +function getVersionFromCommitFile() +{ + // get the version from the .commit file + $versionFromCommitFile = file_get_contents('.commit'); + $versionFromCommitFile = Str::of($versionFromCommitFile)->trim()->toString(); + return $versionFromCommitFile; +} + +function getUpdatedPackageVersion() +{ + // get the version from the updated composer file + $process = new Process(['composer', 'show', 'iconify/json', '--format=json']); + $process->run(); + + // executes after the command finishes + if (!$process->isSuccessful()) { + throw new ProcessFailedException($process); + } + + $iconifyMeta = json_decode($process->getOutput(), true); + + return $iconifyMeta['source']['reference']; +} + +$versionFromCommitFile = getVersionFromCommitFile(); +$latestVersion = getUpdatedPackageVersion(); + +if ($versionFromCommitFile != $latestVersion) { + importIcons(); + file_put_contents('.commit', $latestVersion); +} else { + dd('should not update'); +} + +return [ + [ + 'source' => __DIR__ . '/../dist/', + 'destination' => __DIR__ . '/../resources/svg', + 'safe' => false, + 'after' => $svgNormalization, + ], +]; diff --git a/phpunit.xml.dist b/phpunit.xml.dist new file mode 100644 index 00000000..7ea18871 --- /dev/null +++ b/phpunit.xml.dist @@ -0,0 +1,17 @@ + + + + + tests + + + + + src/ + + + diff --git a/socialcard-blade-solar-icons.png b/socialcard-blade-solar-icons.png new file mode 100644 index 0000000000000000000000000000000000000000..13cabc8f41bab16edbae29bec20ad7dd9ce090e9 GIT binary patch literal 132209 zcmce9XFyZu`}Uz!=}>6vRt&Wc6jW4{9nfk`6%iLhwz5=q*a;AoDixI|3dmNGAu9~o zQxPLuX4oKmuRsE1z0X1I-=8_Dq#xdXDNS?EbDn!%_jTXT$*of-G0T5g{{sX;%a8qe zFowv?%n&e043 zm(2&55leOu9%u*Y9cdQOZg`0>1qv0)=KWolqm`5n}%#VtBe zow6M5WM_YdQLrhx}|KO+6?@>9U+f;D5OQcF{J{+VuNhQNcfZ17dlOW?Mr^C6YI-o_$qy|6FHz zg%~Qr2~gADYbm)n<-z+mU4eHqfs&qswIcag>mo6f$njLu+iNM!$6B>GW-(;60?6(ypgpPaYj+#u zx;&)3TJ?{Vzy3#XP4@~RDEP%iIpKdE=Bt1Bs|`-x61*B%aelApn#H=$Q%u>m>C7(3 z=&a^4@(n)h>w9#f9FXXpRYi7uI9(myZ3t)&taWSgYn>UNd=B;%xWOiOZ{9^Y>#s`U zpTOgfC8C!@i3RNWY47)$UvbcXt^$9QqG|h~N0&)!eKs#%<&n+CRf1Qiyx+^!EZ)Xq z(KIFK(O}|QA3i)Tve7tF;Gko%t=`}wBJ)RkD@I8!hs^v}6}8wDxUZ$WQvSLf{$oXH zC`pk8IcD_*S)7r)+0BRZJ)hBbh4x6>PxX}40WI+1f5*|Z15ixDS|3F|lu&1E2#lq{ zTL67!v4#>^W85KlwTAyo0xP|*@!>RQ2JAEhuc}JkRAIgs5pqQ9E#YHd@491`Legd4 z@4Jd`3)$@wg%*FUX&X8b2c6R1J3(KpNd6%DJJK_U1PaUNwU)U(T)eZURHB6TLE3ch zYeYW0prNVzAlRMe)&u{T+*ki7%f^W|LWQxn;?6DEiK!8pr-#yx6gIXkj;KkFmy? zh{dO1QB&gKb&$5-qVV0vJz$!;Pw}m((=&1}1g>fv`x=J)OitKyXkjb9H}nVb@J4<& zRNZ|_h+osYK$n~5cSDV6VRybaWJcV)4$^aOb4*Q5HP-m$2_MQ`xRg&*_p0xHyA+}r z;73PBM#^)>^YQ08d?nv4KAj22k?()VGK%B5_7C~IID&j%7>Yl>sIuXM2l^Kc*gX@x zx-QOl{o>@z+}68RXE#Rfj@UZ~#K3M5L?V%y2CVn>5-_^F*lj}X&@p~O5|bJke)aQyM#z7h^U z6OX^=Kym{}E9E5*#1oGH&c}suqscUWeJ%~%z_-#8qc9gCBaIq9V6C1S@io6XYqBAh z^J#+%m+)yCP3putewTqS;d7buX&7rhg%;nuS(aai(j2@m3hC+W&81c<4(G2tN?f$p zpO3^~KPKe)A6N0A+mSSk6O^inFS`B#U|)pZ_?FM$ zI`tm4L7ra+-aXUU$mcrP=j1oS{O;$0xVklsPb+T%|BUc!<|&h)qKosry+$gLac1q} zYfjT{06NQJd)k~kLSYiJE#TF_>BVCAjkd{$P& z85;c6RmQCJD||xecuK=^$jQm6Pda=K1hBsr9l(+ebU}Iwl(*~pi=Rp?Sy@+}zo^$> zF3D&8LB?5*@@L!H#DtA}DhFc|C&U+YC0Dn=d;tvX`a_-DlO=8~zHaboXaM{YAeXY< z-`v0#o{UJF;WMaq4~X98F9g{+_yEqCFGw!8o@~ZnE*HIPEX`*$74Ar0573aGUapHB zU-83hTpKRZG)h2)XTeWZDVk_3%b#@%QwxTV3 zCI`C-pBbn#$RaUth4@KrzaxuBCPL%dB9NKc$q=~<8ozuE#rz*rCK_+7!l!x~lEwH8 z3_@hch%a#AX$(yW@I#+<8?A-h_#*b?)-Hv_u$MKa`c*ite7S;F71Vincf#>@*M88x z{2>CfSct2K7Q9LX+2J+datTTN1iM5ZfkLvLeZ>L$qUExDnS~Y^>fFZ{Kf;oRGMDiq zdt=TrNckE+R9&*lQYgH$CbkC<(|pxrjbegVCFNiVP7(<(_>rKdIb^$pA6kVx1a@_U zuU)MdysCbI9~L0~4P+$3mvZu?p+>=v$_X6~@%S_gu&9d3czhW|8vxCA&8?gMF9Ljp z$|bk2h2lG3-&(=fMbXlb_BChKuiX1{YBIbMGWvrr1^KOm;@|Sa% zj0pnhf4BnM_4<}8V>E-}zRvC7qDKI<*FvKAKo*AQOw9Q~JUf>`!uR+Q-37?@F+V0F z0;FKhN1P$&c?lE>q%NLU@$YUgf;xW^rSn1Gi1wqFLSCJjq{Wj6y>j$DklYqPr6{Gx z`Tn+8HeNmv4J2H$T())3cpkl-IjBz1p-1k)EwVv})x!hLJ_Y4|W%2DbeA$GLF%bP> z2R*H=8jFpeSW$SjlEGK();Jcp*xFMx14tj!nVE2WXtDfwuiOlf z{x@VRjWf}o2jYM0JdmFQOZr*$-U zZh?K{?>5__<@t-*_?0n=emTpuE5ck#pc*;28^7QFseV;7*LrLwKIMa;P> zLVL4DNz|f}K4`>!xOQ7hu0+$3#oBF30&ubhlVGsBKNlM^)6?MHSq;aUoL%gYNtq07 z52PJorSE4cu~`3adIN0TBK1yuAKC`2wT-iQV-KtEx@SdF70 zAKkl_cgE&seIV58(jE7d#hM%?{;=q6-2{`5sjJ5KHEvt%w&3|PdShUqD~Cmw#r=O9 znEa3Pnf8M!mQ&srHZ0cQ!8}87bNBdCC^+|G<550j5=CpAn;)|ypme7&kjX0b^N5X&+NWW!~Uj9qb3#bSL7#3r@j$u;l@qV8TxK4!K| z7iJ}GFBeacRoIg;B(Ji?`T+c(3qzV82cs~qyY#LtHqC-5*&S$QJ1FTG7-(BOl)TjR z5ETy3K8AqV$3-VJ+zZR!iIT#Q3~0FPEuIM475uK-8*U!hCYib!H^F1~M``zc-gfYw@z%HL~at`hn^*!^u+%atyaf z%-WWAQLd5?=hGqj0TvW)W}f&jGn38#VL0>A<%G5GA{K2Z5@;G4+Rpzaj|St{YV%>p zH&9v!pv)H+XN$zxwx=jX8hpf)AJB=Q$MkV-`zOjP0q$!{=q{tJ<(ow+nbDl;asoTN zBE;3r%-Ok3%kk0_+Gib-{Wr9A#|l9=RtXZ+xxmNPmhK8_*#(Xuy@J{2*Bh?i80tEB zBaqa7z@9cZW6-gwgeDh-WC-V-iE${XJf2Woh~dszJ-85eTwk!Wlou<&{(^Jg$XRK_ zEDP7)3;j!GwV!;TLL24l#+-Nl0hc8&#MyK z+5)ACQbY!U1)+L5t?B`r3hk>5SQH&;Ix?~x9`h`vt`VjU8vun& zG0Nh;HBh{I`sMm86~qa(^BAHakLg3vV?;{jE-$KixQ_5JeJCnei=k{28t&SeABaJP zxY~=6R(;27&ps%jPf;0hU`jZF9Ncd{R$wFlkYG_PIOl~5oa>E~E|?uHw{niBHFe~s zC|&LxsV$QflDWe`9Od(m7_;jXygHniQyII3yZ-4d#E*jCiZY%1^6H4 zc!`C|J6`FVPLQr*TlNL^n_J80HB%HAbwVUj7rV5ogus7Y3~^-7UvPM`HMQ&s!(K&y z)IKA`KzJ^kU4k9p*kyFcQ{%MEQ7Wm;aRR$XDnnc?`!+aBk$!9ZX^hLE7Us=-Qpitu zw6GJi$rk-)`B+N%gAPOCHdrA6hgpVs*`iZ~Ae)YY-1VJdc&(iLj)LS|@6P)|0a`0w z^H92cDavafkG@@#7E!iJ%4Du5?8+kI9z6aSt2$@(xnLJhMDi zCD?U{TqgM~ZRpilc~i9irb1PzF%Cm)9}nNa)OWw*H8Ox7nyk59_L9>St;y)h2nloT zo9lhYo=#vCyd^Ta0s^$YQ<{D|b^KZ$ZkSmfNHznu>3ZYPJznN8U>Aejiu0GG!GTtG z%s{w8Dt=;?8EhTq$}GqJNnnHuIVX$JCnCxumyBgOr&Z;7Si9bM8AuM$TK`ujvU|#V zqr8A4Ax?14-A37jg}e5=?7hdN+r-m~!A<2Ka%e0e{QdBry61sn%uB8{g$w=^V4!XA zqb+T)C@b9^iyWu03$wn6Z0M9TnmtosAY4@7N-wuDI6r#3)rkz-0d_56sP4VqfM2Ue z|5WTXagWSgoDpgF$ZnF%Y^lCDV$Y2*<1%RMtYB*c;U>b&Q2CkyHy28VSoFyXCFa1sZ!`Pb z>y;TG1APCTIV!wK|H5~6g{@+U)Ridjspk0V;QoNaV?txP!g*SDRe90{ZjSOMQi|@w zQ^&8HhlS6L^lLIkRHe$@W)ge-zO(3JBOXrdO~Q#bL7mMOq)_mWE4|H`IHZeR!iBvp zupmEVv>M_rq*b*!k+F~1o?^QSObd2c7ufgR2rv(ueSd|tBr_=|_m}sQ&b!o)%U$FV zs1`9ZE%$qYhpBwIGNTTgnWqKE#j0>t6ZTR5^L*M&Z^;r7bV_r7yF!7|j`wVazqq*Q zCLV6>Ro(q3@>mC^)7fUH7lo*tDQY%euO=(y)eFo*Ua4bg^vPYM-Lu6u=J^wm3wnZ) zi7cDQDJmcPLC`y{lZPPp;K1=##IcF)dmx_x%;eh28ID80Vv88giGz4jM6_<`X48j2 zN>S&SxJJG-SIMZssOL@;z&Z=;4?{n@&4@8}B;-zaO?i6<7$~LOFOK!mATHMs!*abbMbuz!Ooob1Q$7qCYBK@EtQ*_+tnErOlN2P zm?N$3L2!+HHQp|lI~;6`CFtSM#ermht#cu+Bc25XVDPJy{VI7N`4Bgx63!;y2aSBB zcDe97lHqv|D(BS?1&7>gE6O&_{wP%ie1CFyGL2NloT?ABaW@Bn&C#Rp8pEtz?|uCb zjHEPlyAr2_6b;O3nLxfBz1$)W{jw{`%8Iz0`{*V19=c&4B3hC=sIHvc98MUx-#fvu zFy!PA9CqSE6b?|^#w(az8PXYT$@D51g^opgIqRq1fRjr>v|-+Gt)coPL)QO(@n#X! z{JV>!^hEMaZc;)1Ey{w&ESTs$B4^u-ACP%@5plOyhnT%3J|y3`jTDyJ? zy2Hn*_%w=v;)kO@Tw5gv=_#CIy=g16xkBh{oNgR99was%ooQ^-58G|`$kUrrRZ&4? zr@{#Mu;=FV(`X+7UaRn&y>A$x+w3fO&UzwPpD;GroMk#~n?{UO`F%rmcjTG?Pfn_O z0xe7TWR=onQDDoM_9P>34*)GHla8ysE^o$(Zsv-SyR=%2N0D>;RgsM`28?lb8*Rn~ z7{g|f-Ns%3ZjHsAKQ_?{UPC(lMF)VnknXCtfum_Dh5jh@QxRp*NM7O z$I9|6yON&aMGx~>8u?(zVQg&$o|7u3a4K(-z$tc`o}DlrBv4DQgzNWqv~4PD6VsB8 znQd@3^Ozed&lu+nsBpRh%stps<%fy!v~hLBqlX?2!MUqSZv$^4m5vjCi0&dARtt?(0N zj`{=^u!CV(*H`zvj1zb^+6?94uk#KxSo;GAoz1QzhPGGTJ28%@uRwP#)Dh6toop8KEsFd3trV9>W|4XCj+3&awkVSio49SJ7mx{(1qye~W ze1oOr&kn-}kZV+!1Ml@(1hiXNz!-Zc=gm>NsEh(Fp}jGgtV&b4iPs_ln_e2|<3fvp zN6*c8t4lO)Rv{tOX0(>gJZ9_UOx_FDyXQ=6&)c-;-C3n+H<&yPfVsGezjDu?<3te= z2?LdkW^)nTDG-&V)RSEX?t`q+Fc%2Q)}_k|bnRBA2zeN!adQ(R(U>d9>F0>D+hZJT zfUTRvViHG+h>?c9b{vN5PWQt5tzz|uia~84qN2d*pmJKu*W|xwHaAqsV2-;^-4b*U zy%Da3fQuM|_tzs&af#j+5kA-7FE!3NI8)v&gnOKAuEo%v4=>2&kZVXyPuj%*u;6%l zi+i|i@$^>dm?D~ou}h{DZdZ9&r-`W0YkM76SE2Dnl`qYPDb2CK>ZF8O=Yf69+$&$2^Yo>KLnnv^oxJqEV7rdOxu_&n4_|LxkSDzy-!#Ipr=5?{On~vYfd)Inf{68xJ%n4?g0n=5zXjpr%#OU zej^ksHaV>2Z}+ku7%@#zWDNI>a1XmN>QHecDc2UH}-oWn*S(tTNm8 zx*g|7?F$IT>y9f;bsi_BPEcb%JCXKrir!QTU4v}P{ub;(K`Mm7QYHMk8&6n!ju}~-QK`g84UG0svM(E~SH{zxi-et+ z?22ZeMl@gL1dIn_NUDa5QcpsrXpAzI$rd?Br)tl)j5Uq`n@S?KirIu2hNUEhA1cns zw^v%a3giQzSN)}1WZQBVP@+7wai4b9D<0PTFK36!FgRc&U_mXrGT^BbBULh-TbI}*k~Vvfqh)xU z;=?wf80b^1{jzOJ)Y(8&lO!vkzF!p;745qT94XBW8f(w(^z;G+e;kfpC25W0*M_!|XOgEe?}IGN*rPWb4gaXU z@nak-C+pRUHUDy7aK6EH>RG`lgbBj%=I+~u1|GFcKn!#!arT3v^Qa(sE_vE(bb&#F z>9bV?PnNdp0!0%Btl$di^z2GR|JF++A6<@ooP^fe{T>5@E5Goi6E~!G8DEp~m@|^{ zEyDxyC_<#NmC#W>-mXorkB4bal&dXV4tWqJIKqhg`fxG}`PlPF7I{$DoISb9BaWjo z$9$>35>KDc3bbiQ+xJZdws|r}=`R3@oT@GbDkA$#^+Sk(qW53UWRd+{7Kr;a(K|M& z0S0=)>?&o)$3zBa3sUXxPoy_y@|-Ex?Rqta-NW|FF*8ui7>kqFCWY!6INSCm_s$4m z-Xc+iA5LT;&qQt>dxFtqP(P5)y@kw*2=q=B+nk)TVNfX9xVF8N0F+l>YIx3&Dk2f> zmPtO!^Ay&1_}S_}L#9*TkA^y<_M~uKgC8e)R+Jr@kCJChV_8ypNzMJ%ImR$a>@g7$ z7_7eWZ6qQ~_ix9;>;Tquod-MtEw-SZ4d{K(X}}1CSSVfs5XSZHOF(K;){oThiiW8d znDESERSM>9K_WuRfZHnapaQFn1>wvEig6_mv%b$L0C{bKRWW8z%&#LaIXAttS}1_B zb_6C$NXKU9%A^e$^H21{kl3*zYx)T;pak+dpzntj>uPcRt7{k0j9D{Gn+D2&u7S(v-q zaRJBuBA=3$E`0;R8k3Rp}IQPj^b$45c(^aqE6AO$w*Qc{&T#6*#7zfvRU0!7t zKUo)0Clbe3AR32^2i%uC-tJCsgU3lI?ud)-!jHj_p#bODHz{3qXwCre7$7z+u*iKP z)s-AZLph7Si?qqbqFC!En5b^{B)PL}cUyy0$BnK3?WmpR*yJc9z;g;era!uY#lG8X z#J(?N-mW)k%dY*$ z#h$k@1D=#-Lkre21L+Y^`2n7cxEatiu~-_$7`zhB80iOopu~F6dq8LtQq+OZ>G7C? zP8mlLX66FT2{M2phWj}m@;jq$-?yOltIzM>3dbPHi5_|YDMJh7|J*m7Hv$4E>%T?X z(fV{V-aFEmnT2a=Kn5Qs?i3oq&w!drnpgp%J@#?I8UQ&AHcu3~msu>)oJ<(sNsrE3d%(HO4TPOjCrZokj zFkYjqv4jvJ26^799+}F7C-MXb?S|^gMLhOXDTGwfTvAu$8h^?+A@1|W9A!(9W=|D`=26ZV(st*QDi&Q8=CxhOh>ea z1xpTS=0xRBAdH-|%|mJJJ?3{?mjPhN_IC*rF#dF3Mb$P}20yF>@6K0t6D z@cvn&KAv+yaGPp~47V!V8AKKQ9z*FjRdL)0XlELmkY4 z0`>-Nnq~_D;R{fBAo7&j6oCJr$zZ{PD|MjhpTAk5hA)Pdl zM=@zmKipY=z-098;a_dpnb-TSdClnJ6Y|QQS~yg=?=qd-Y1H(VFgw{ZWKqdUweJt; z797ir)1w?_=3Y$x=ewV7`N&Nl4c*(qVzK0%MjoBr`V&~>i!aq=sSUCA?iX)zsG1{~ z%`{`dQGh9`_lF1i{JX|jM;280aL3tw#&4EIAOH1>X9r(>W=~~v-T%YBhUNvXf_<(3 z^kDz@wZYb0l`rM6uM%N8EvQbO1UzXyUa!?r(pRPX(n`5IP%m;+UafIHErx>R>@FL8NFQ z$oCnERQ3FqpBD3k|EyV0|l{6D-;~b&ycaHl;TnafN$Cu=u))prh7d9eb_Gy3rh^$&v7|MN%=<=)abr-1G z*f!g##zZQo^=8Y1;WgXv^!-dtbbWW{HIw2LlhIO>+=j9G5DoR20f^fZD&9kdsv&_A z@{U92asr+&?Cw9%}v7GiZf7+%f#MJT&nO?ByF38xXyGC(Y%CbjOJT*YntzWHlx@<6~({w3gV= zzRJOoD6M|B(an%WVKT2bBt#4Aw?zmxaYd68A%YO;9fcCmA5Lh0{>yhr#`J7nwsv@L zc5-ezO-NF|!4bXQHRyNWojNr%acGNvV?+_cZSR2F?lCQWSpH~l5#nwA!^W%Mg8LpY zP(5mWEYVO~=GE}K1L$p2`)_Di_$rQFsmPWX3PR~~2Por{>A&TQff07X zP{@t5TmLbq&ywp0BdI7&*~F=1U!k;TD!H0CrwoSmu)RueI<9KT*ebj8#8FwlyHoZ9 zji?qe%aO}Jq0=3!BLu&OiBJK{GS za~eC@x9d{de9+?v+%&|cV&WS)$X58@vdK>Uw(fG-T8yk_PGXo%RKYOXR1jYul=4KM zbXchL=A5^wsUT~W!c&ZNSd?w8cSC$a3HT2YZb!ZZ?4rLKm>W3tC#Uhv1unmRS>p(7 zpki9XBGz5neWtnR+QyQnTk9J#ZPc3%ik+v&8Ve+$gIN1-2wxkmj^Gw!tUc7Jgd9T# zgHS>u50}pz%@54KbPNb_D6PK3`O--&S-Jz(g4alKhUG-Rmu~CVqk475x?ckTOQKx?blPP^VpRsllr7dohI!9 zCpp&_ZmFnRA9RH>*7Be=X^%TW&i8@J?8_e7 zW3WO@#267}#Jz%w5Hy6GYgIARG48{o{70kVF6GbXW1)$piyH;4=su~t@fH@8*pE*H4^ zgOcubZUpMNq_(?+Wm<$EEqzlEnD26VxPcP$@@0x0d!oCfo^me7sUvJ^il2a8&e;7x%-p5W;JJKXmX9M7)>uB7xkO{08{doS*4t_gZu)y<*z+N8iw# z2acP22bavOCvDweEwy1DFSTcT^+4^)Uud-}n_pK+asv(`)gF2*fV|2H9Ff5E0+FpZ zcu+94RJJx_bbtx00$F9Hz}2Plh?(d5&|Z8D9jMXfP>Q{? zYxB#(c>lbLYC1b(3?KAr%fU9W6rnG1i=3hmv<#i{n_;0 zcs+0d16`ScHM=g44OfPSD=}Ssb{jV3sh_>HSA~R-;|(eVu6~akmP}uvg;9St#GkM> z@K;JJXik&eEw!OTHsR7pUQP)RELk6f;@%$hs?bJ@PyhrP8`=SqxjpMz%pDpguLwgY z?jfsd`3!(?)oLYV@;MIK0q zhX<9S(^a%(*dWv5Hx~qYcnFDXk@W9<+Tmdnr6g-Gssp@#pNBy*cbv-wKu(QEEY(ND zVASx@omSsFlp(_8weuyh2f*X%0Zd&qzwcbKjrz>6Z2M^KN}X~1^yaJFnH zS*UbQ%Cs7cuDt_RZE!5Ne=^x_~%-R~W@ z!<=|3P7hc{uw3|S6uTKm{pYu7rwqQWgG=-?EAd~-jJR4Z^$j$+w7LBl_rd%O!-%@h73}6^>5OXV<_wPV5vApIYfvc;B#>cCwBQPy_%kmJ) zuVdR%4&_}@YkF*uTZbZ@i`%-PAs~9kIrPyBW6YlSq707hR?n#VAKPhhNX9V$aCL;A7#tJyI+H+8VY}Q8;?2jTAjb6y^fvxaUBK z4<1vZjt_7n%%O=4k!{4$SSK~l4Rz>RQRbao5w&d;C zsQI4zZb32MZ>R&*L@{}L48w7TRekNt@2HZdZ6PDy>6&xL#FMzK|N25a1*S4q3d%c> zEY*M>6R<;d&(re@yc2U(6drx4ut7iIt|y)v1WF99t z>Cj|0wt(`YB(11q;EhSHCdW}Q)z@*en*7lxtALMJ2comjk=w=eOTVm39PlClm^9s4 zC(ZO1`1?z#C1XO_6vIE;8?x_mq!kj$4;T+tmHDPgJ~%8CtB>!V!rpnMCaIH}zU`5+ zJI;J&0K3td;2{4c*-$eIM>Eg-{CrV)?6bDAcelBAT19iA;Da4%~r7M5BkZ3fN?oz+*=sJV==mUiy`EN1By z${p*So)BPbDuQYR&_`wSX3dil;HUtIn}^0L0ZnISwd?A5wegp?0Ei|#3%H9_O~u)* zpWlw$r09^Hn8%SF>XKbNJouFwlY5354XjGe@o}%8(U*AY7ExBN%nPR=A zDN8XhLXiaRR2tVw`3^}sqzV(`e9wi{`VUnaaQj^dB0k3LVyJ=s|`Rwu(@-AwZlsa?)C-Iw(!;mvbUbf?O1)g9WgL<`~`R;|hLX z+QQ%<>aaZ^=_H6T;ferfGiVPnT{ha`brNpU>~EUeBQ#ZyHUJ)MXMyo5&{%rnt!pEB zc(wlHQS|h_FP|Dzs%?!Re#s0q0I%VuA?{E8Jr5ATykc44jD}@CY1ucHD2viF&CS4l z=JeBT;+)z>p6olaH$82chQrT@jTwJyIC=*=b_3^0vdxv_iIQlSTmW5>q`F(Fol#rf!x?TPY|=$W zdQbLy6Nj_C8CK_s0GX(@WN74A(@tT>{in?L?vKv07=n;{Hf?o90?^;qK@x*YxoxC> zGLil;bxbSa*iy54LK{qWKGIVRu_Pqb=*pylZb0e!qq6=7>MdX|dd3{1uHJ9HYhx+0 z^mJkA*_p*2S;oDPqjsLmXO%uEnc}tmM-s-98Q_<^de~E8Ktl)4!5YeGe{u1m#lSB- zc2fg(a}S_4I9YJ#g413gEC5jHC8pk2NpczmDgp%*D5GBfX!BOKH9}Kz+^*==RG3D2 zsG&y&aG!!W4<5F#0e3>p7XY_({Kn&f5`Z^ESncJz5V)Qh_cx)PO0&qYkqo9r1ecnz zbWy)(YznoF0auxdAgv3HZ>UDmU@t8e~dqn4QNzg=66{kN6+7hiEJ~pu9 zrZr+yap_KjAf*(=^J!7dj$XoBK8DsXmL02q6sYP$BWFrSqct-(elBVi;GOJ{Hx}Az zeC15#zJVT|D=mlP>NXLTFgh=&@YdX&=TrB|&raQCrqTc#aNn`_`)?SP%5t_R zLBKoEj?+D#Dlv&1BYIG0A7K3tiL38**uWJe0F!v)9ne-Sx+G7x)C|9hIC?yB!%5Ik zP-BNgk_V!uq=84_N6Sb%E!MZ_G{oFQfU7_s4p`!Ib2jm0*u{aP+*ZDmb_uAf)Qkbj ztER*Ci5r18$%f=x>H0oIi90Dj1X+olGpWNO9oQ2Wf1$-EWt$ogHAT~AtD%GNUN$4` zW&i&LS2MS~Hx_|&oK}$YLT+p3$+9@^R@i~U8zlU5(DDJy=Yg2Z$X!{5G;&=4TP0MX z_+0`*0v@S8;^|p3lxF&qQMKURGp}Sdi4v9Z{S#t{=l|Los z(6#cgEO*i|3Oq#w-tKK$a!5$Pz_k53aL<&GAhOsM6T70IOaalSEO!wRi z7tR_sATcu{{wIegW5EVOE)JL>ZUAsQz`a2|+w@m`S>7-jFb@EWn64=JIj&&~fB>td ztj3zNi-BD^+cMIl3SJ;GC_6(Ny1{GVkM*nVbx`Eivp$>B?b^|ZU;id;n694Guj;SxPm8jbR{;B{RmA^NE)mJLI_H~St&2vqjowcp2DM0;V#p=RY_Def}I2+(ZBs%04s{gouzQ{t#Za2kl;eF;N-tjQmO$p%UnyYjD4 z^gT@BG~09Id(jB4q7L>O|C57ufbD%|AGH>D<4aJNEL7%-UsiGKO}c+Y9S8~rE)K>` zxozyu*K3*%=c=6X@y&F~6y3Gg;KJV~Mw+hJ;`EJxmr*4vcS~ecy@c zm4`{(<(|>=)^6{((!Sw0Ib~*+AgY?C(r?}{rD~bi&(J{wy!X=I_jOA_|HjexLWpKjnK{IH^9RavQ7 zl0lTkI86Q?kSx3Zllmw?F?Y+#eqOo2{ZvL+;2pN}TI?4ZuyQUMg9Zo1dW#2uxdhtE zvF->m7BCc;_dHSt@{m_iz&V?Aucq+Q3C#>-g>~w(WU)Uo-xX0C0Jye>T>AAendt3_SqyU>a#iN{3hqysW09gBWyiz!5E$)^}ao*c zYI~;@xLv~EpRS$zB4j52idxz*==_?Ok+d}{gT{Z(T#%$REXn#)#ZR|_{mtkwyV+Gs zC=q1tIxOiPZvTGhUQ*Or6A`ZI$eJmXr>E(PSwNn~k)Ff#Mz8i&(CamG5CL!X0J$Wb zMY952G$02B?7%?8pMMK`4L;ezJy^K&A!@k@bPsWneV5TU;YR(A;G$G7U>0-vDeLlF z;}2K}US_Z+2NJR077e_?ZaEAJX}`^4AkS?6HTy^le!vvLb+)6|qo6x#M}6VB@f zBO|rn2lhS@xGH^iS(OUMEwv%ydnAijB?fCgRO{Xlpp`TBoCOzaAnZjst_i9`rRm6D ze4qUu+w=P>FmdGLq@9;8I`b|PiTtJ+ZJK`c4mx-yYArmvc_%FfffLnkt}(XVlQol` za!bkCBh5mrMMEY55MgQ~yQO!aWr%q$FJ6JZK@PJN`>-eqUs^4UE<^^0PV`3;5Ol%& zkO~r&)Bs4F(xyqe^)WLMjT|SC?O(UEjX+0d+pf`MXLZ=t&s@lTHSrqs4_Kik=^J~u zd!dl}EC8HCJ3()-KN%j^l;Z=o-JX=kd6`2D63@(3^(rhrw{ zo!G;Eek9xM(=32j={AQC6JR@o+tYp^W(oz_5=TY+?{cc|erWWVtZmWpxpeB6cPvEb z8Xc;BApjxv#k6hFiJ7sMzuV;ISRSWX&cK61Dc|Q`Jm0i( z{GcCBROw#)`SU)%1IU{un+^IBIMA1<2l((F9V3DiwK2pfVF-Dw?fO_U&T6XA#{{m~ zMqAFx6k{43TazJ2&|NRRFGN``4!R7qrJ$USSZ$q`Ae#4>`g?~Mnu}ru*>58{NC6C| zOPg0ZAkW*h8Go4bx-*|ejnmI@*KOJ&)>apkmiE>a4>%-I$35A}&9^I25*W!lR=Y5} zVyp)k5kd&Yb;5}lB?7^t$B2`+{yqaBXEfy+5X_s(!AxF)rN5zKh?34^%aj$i0R<9% z#Bw;{Z(K+k$1i|{|KhsDF!Jb9(uc*ioJ4A0COMpdD}rPQOpa8H;=oV}2zN5o;jJCn zGY3kDKvSoD_GP-Bmv4UT4Z6Xgx{g@6f73>L!ZcTh2Gj*5Bh|jV>`oyTJ}FS=VT8fX z01~?`BU#sxL__z;H3luAJ@Uy`!CmEs zuo8KwVqzSg8TG0A1VDi2Vk5Z$s57JolCkCzAAyrqrC$WT+c7dq&~v6yy<#4H)$b z*!%;W;#V(d>zDT+#sB?n+7ZO&Nu#G}3V59?uXqs|f!}GMQ<-b{k*oq(EO=Z<(lS?8 z6;vTxGA~?^e+nzA^bKbyO?iy)i^DXl`o@i_2UKKF<#Y1kKqjzzsO*CZ12w@EPz!prPA6h`UKLRWGUb5s;U5X@H+ zf1(sBd~vyU9~cftJlmq3odO&ROnJdm$Z+{VOV&4~dVpqNIq4#`@iyj%R;|%&!0%z! z0yiMd8G6Jra1Kd`txS-47Z&8@OcWY$CJ@nrhhadbn4N6dXG55HrIPa@y&pHqef6&J zpY;Bn=Nd;VqA+(42Br=)XC8r{3#a7v9SBr#yy7FKqI}-wITb}P ztJI8X5(q{!euFdiw#=(xgVmc5{1G%ryipH8_5odd1eUty>_XOl1842ZjM9Zk4EgIu z?bnY7(9R*W-r*Je&FGJ&c||NR;hxieR;FJoVMp*xg#+lj_7ti~uFuXD$6rOrS0Fhy zp|`p7bY^pWyg{&1(&qCoOu9%104TcH34=2}RHyZ~=X*02I*A37fz?=Fi_KItOfC z5)|K$FGS##z;@50n`L+&;4ygNa#?=05zIOfWNw3qHL@G?-3#ts_lJ%|O+3nK1N3L< z$|87FCF|R~zmRrduwPDFhA!54znjy-VRsWeK>h_R&}KnU^X4z(uJ;z^Q6tx(n-!pm zAWH7G+9)+JC5%uO7o$jf_KT}9#|ihCRKi0JoD{oakKytEde4P3dMEv^B1#8gEO_Cg zz)Qq*5gs@VA##8G$n+_?S(%sR|I1~+p?~806p~TkpCYe$fd*hkh_(uR=_uZ4DUWoC z7#2Kd>1qB@ir+!7C$CJ~IrC-FbH-@60+d-^~S|3PJx0=mJ-h^l>i2^54wsM1CTQU$2JWAt7*e%ODulPBtcoNL)iG_IPHiy;<4dy>_J! zcLeS=zRBnD_H9}ep2a#(19+r_-pdpB^MHrMlG+vg2jp#-s%89QWn=6#|A>;?dMX$0N;Ps58^hL0@oeMjr93D(^M3 za2|Y%u>yV*1ixYoA`4ta<~evjoU170av%8|9Zz)yfqCFH$VU=+FC-5Zx&@pi`ef)8 zKAmL+IDEhGLI#w&^*lL)6uq>>Ex_A2%6sTYZ5k-eKwYr z2THf(g@l=Z>Dahr@=H%4>RlVR%^kCEWTz@@Jfyuu#41GyvqehuR(tSH9_@Js!+x@O zjk%H0uO#fV_Ur&h6W4zr)i8YdJyu^^Ml!MW@GPtN7Wb_uD>9!j@t@>StbRjTsc z89}t{j=4(bslY0?ZQ*m}=Du5sii*xBU;HDnfIYA0Hd(CZO0*uS{;sq?1#tc~#=mhY zYbg}UJIA(4?wRKOm3Fu6CoI4J3`Js$!|-ESZnV_!3XJm9eP(MFORs&>$GN9calAaW zN?GvYwENA+4EsPcXJxnmJTrE~V5F_A&t;4SEe)R!V2du%+Y!PI1;d;EKwznWo( z3T^Lxdw=uXJ1^yjWxI2BhR?nhhtJm>bLYTT2n*M~$uyw19X}pAG3Pq*+=K{k^;9oe5 zau+N(4Ze~=&8O!{fu9wqq=P@c&(n;iAmN7>=*jBJgOvc;umKPiqry)*oeq2WHe+g@1 zpCV{40L2n}1jS|#o(xykAJldXk!$H8^ zeaX#D3H(liem;0%?0yG#@#%rB$N?U6Kp3if`9JUG!3;Ae#W;2-m(FV+7nnvBa2N&Q zyL8iE;MX}S;-)Xbo*^n{`}oQ5AR33zIfSk7H1``NBGTG{B71W>Sk`SSHgI6Qhqr7> z*$V5UCGSpYKBH~CPu8Pbc8W=@(#rR5jX*kr3~zb{oPs_HUV!$$e3VYKW?V0=#fIc? z7j0kI_4d;&0Dzpok4#S2s`rCvK*$NGPRhg6`&NX{9yv_;1wYMwJY*r}M<@$J=fL}T z`pgoxaWgz|pb7qO0w*mRnk#3W>4a-$nwJHaC-7V5| z*b^e0q$lD6_i%5KE9}fY;LREe(i&Kh>oPuPBOO$U;heefDqxZw`yEC>D46P%BFKv< zO&oml=FL>zxI1ZwMRTsJeI%F`o&E`v(JIzLka<919{5!8HU@x+Q zf`a|5Cg*%===pp%SKppEL)I1Lndj=g>YQnHd+_tV-zU7U4QD$jvnPqsfW??fdx%1s zR07HZZ=2Zp^eL!9tNfwQ%B3wp7*)Bh)RYTFH<|qewz=}eH4zg~Fs<-tBQP=uaY`pT zA?P+;=*K5ykY56TC!Cmd)Qs1@Px6?FbLB8P2rnx*TG>;jlGGA)k9~&oH33t#K#(hR z$UwoVRxRl_6Sq#kBmSe{|E&+oR9CAfO@`T15~M1eI(;Of(>p5hN)=f&_sgsi;VhG6EtBf*_Jn zf@B2|C4=OwfUqq*635 z#B_ao=J7uWP{@Mk86eFnc=@+y)nlEgU(k;?+Y6|TSC*}_yG{Nqp|Y|Hi`P$%Eg}<{ zNuX-^9O(Mhh ztvux26d%@-b4IiKtG@Z_%e-(FwH&%=WV?9gv5wNDkW z>T6W&uDW{lYK|8lhiLC=(YxrFjJAFhQFM%EYI}6q^5xCvPdZ3{?u~wH1f22BCQl<--mcqJ(pi@(S`}-MEjp1dO5(89Slf&IF;nEf@$JDOeI#I>bl>@D zVzhs|RX~_I&b`f4zfV46>PUu76NlO-`INqgHvNz5a*)5~Tjkc*pR4V2kJGA6vQmsZ zchIh@%&rR)Li5u7g2$(6sqJh4qGr@1AL=TztBY)y^z)Gd7yp#4Zm zNm0@3q+a`z${>E=#K zPQKJx&V45M%%?_f&oq{&YCD{-*^UpX!-=4&f(>7bDYHAOQ|(3T47|O)>pMDJlw$PW z)zz_fRmL37cIOP6@>Elxi!nXZl=ZMMQvGm9uC!kM3lCN5qA=yST>~A4wMkArJ;oR7 zQZ`6SOW(SEJGZ}M>HImt@)2$~m#z0Z?6|zOC}2sJ2bWK`9jC2bb)p5`-Me?o7V_srx$$B+dH&FB*2kcM|lTXdxlrHz-(DM?Aml1vvTrya(1N_kLa)3I+k>MF%9A0FCP_uDX+g@r{E zj^=3wF4fTIFJ6SOJXYo5;dy{Ei+$FtS;5o4G4L|=B6QR-yi^T0s8b=K0JrmCfB_xfMe=0_AyJ#MyOsY$h0 z8^z0{AAZGbaVxc!e4nzx?gu_ed30ggJt0D|n4+nXxn_22;mQo=gvx4Jkl8EDn;M zgIS?Finj0Xy0IlEJMfKJ+p25VuI<(UgML|fMmATft6oX)mlr;E>^nVEg5qm=XdjT_I@QtkHJPbC?S zpN+k^cJ}PqD>iHhs}jj2(`a>Sllarp(jx7r?Ot!#&dIq9!S`U8Qp|3A=pn8Ul@%xR z<(2A^;;Dndzi;`Z9A{XwV$GU>cKKAhNnTb_3mVchf8^LYRk56#H*eA8E`7PuGaY%n25SqBQwze)cO(jBA7^}=bjl7`H_uw4F)4Z?bCic!>&U_0;_B~*W zL50N2U5CJSCdd7;3tkaAZ$DP{_Z2)l%*n&`_-o!1!PerJ_rv86>}DKlkw+GG zckda|&3{EvXS@qnG-dC9Yq;UN1U5O1Em&D&DS>w{vn%o$}tl61Y@oxXTI7+qNkt zynn7Cma{?n73IK!SHai+bou08M||)&FQ*3X7wR05lDd<(g(sr3^Wsug5#~7ymPd~b zzfCajSi!_}%d{o$k@mFU<<0|+%QqNzRr0;=6cs;oXtu!R&SRtLQ^mz+%)V8x?M@zk zT0#{U6Whebwh+hfOic3DmXOl{C*FNJKAHWYu~BORj#$9$*2xnm7LN^e>6dhGrzk{e z%v;B+a|J;~$zUnfeX(Y0^jZ7H+=^uZaF!&*{RwhQ-yU zK`t38{J=5KN0bH!SR*R7X64GOFh!T-ic5p-vIE_9YGo(e^vs99osBlCW3itc^oVi1 zhIKG&FJ6>7J(c*WO35UJT`rW##>R%XtKqYxXw0LkL!QKXbjre?RD=hr2S46thu01i zO;hU+u5S9{Y|0a++ebsfnHg#KkWKuVSkUci;MXtRSyDx}mgh)jp=VtttG#QyX^WCI zljIwlQJw^|HovOjhLRBZ!q*ohUF_|R$|J8fOC({d$U`xtPFy<3vu6*tas2^cc^?`L zIQiB1bP5i99@?>EM{B{eIjEKVKi>-F5)ok`m`W?>Z_beAUu=8j%!$=i@L^3~;myb`$TQ$|%GOMy&TeiW99ivxtVEH{w0?d;E3sQKp24VA zj~$ldzwCz7HqceYh(u6sgSaY;wjj~M=swpY{ZFIqfKEOq(K^Z^{IOCaBzZ;RmL3$k zeb1iN$<)C#Bo$%84}`R}w0tFfM4}rwZu#eA>(P=CIYO9~L%c_`yzusxUQCWU4Rq$f z#fv*tt-JWnHk&>2Uu-eZDlIEtUw9aQn}WQ{5o7Lpkt*MXRfO{2d_k;&5ouLyjN>!s zB$mcMvc!Km6qY;lC<6Cnx6ZHw73TQNtcM)j=X023s|5J@)thr3?PgjkK+6*P+R(tQ zQ?OB=&R;5ZqHhV(Y+qg0I@{qVvZ7s%<11MVbgtUct7 zMfcO=Rf>8k)X^pn^9sqMN9S+*-TM|Yfpuy&z4OA)CI)8PadtV-iM%ZhQw|e$oxOGY z_J$@8wWBsRNimM6wcL2Q99DZQ0|)l`=B>(xpoYo!Os0EfNtC z36hUsA+8S#m;ULv&x;EDhiRXocYBvn^_!~^DPt!*qI9CPKCKF|ZMQ~ck&yIE!w{g) z2bA~{l^;&`%K|`KxnhNH)f6czE;W33h8RyGKk15v&u)vgH&sfe^5q(EE;jvE&7U+_ zs$9x)^zI`~)o_^?%WINCKa34_aHD(Cg+<2bsQ*f5KZT}pcy61<)nz#;6MZKohRrIBJTDc6};QC!;XFz z@}CBs4sdRsobwj2IQD91?n*T}p8GTX#}${D1?P-R)L7J&B(ciN%U{2F(+?}DQ}lche6*C`kwwp+Kd;A*?Kf#$SQ@J6z^7j- zWTK`fGufBT#l)kv5b3^i((Qoekh@#Nzm~|Wm6-cHdi1Cq9vgWw8evZdEQVhyc%^+Z z`eMZ@D1r(HEtLWS12sl^z9e)-D84>V5-=ouQVC|dC~CfO(* zqSwqgHEy-!*yJFW+O%mF>^;FY?Lg4>?=|T6-_qa^hArzB1@P_Jv*+%E2iKP{?%K%C zz8JYjfsN4+oQuiQM9w&ZQn5Y z;{O&dTo~Ez9XfbFo*zlqO*nUdyU8)h2}RHoCp>oDMy^T>8U;mR(ya^Sk?Kflu7-q! z1WtP1k8f_OZds6?bkT6vu3bS2QJYV=?{q>&hzbk$x?V1Mz|OFAzx{T}r>;mub!sKS zko6Xdv#J9Igjtw9RWlvxR6O-mXl;K>e&*!(uq>;7@7E0YB4#)g?V`)>p8k|`Fi^k_ z?{JQ|FMU0d=;bdYEL@mkYdv@V{4~^1PoF-$MWba7c9ccwm+d-o?C@0hIuq znD47YYk9oapvX+bqP1X_{Y0;LN?m$9>V78tyr9;mU&5@ba?PSei-O%oNx5{Mky4)4 zaZr5IU&isZNBBF65rGJ?b;pk5C9y?^?PnO5d;1?KM($+az`&XFdEPJE>$Y>@#)30f ztzIotpJF=vF)Qmd`L{P^+X_J&xU!n8(B;vf>D!=?Ri zzJlWuA39qwO1yB>%NI|J2FE!8UNojoKM}Ne07xN3JK#@brzVHhWbM^r!qrm4N4vj${pv?@ z<9RGCy)4K=WZKIjB1Y>B0TXVUev-@2)pGuu6@O}f`nvvC?)IN2>_$gM*nDh<9=$@a z-^$6!nQvbQ>W>|{qTIGqp1#!y=Gl#xI>fR~pCTQ-@6-JuBVz{(3yatE?eU?mkm`8T z7auc$jHI59H_?{JBrNH1d-;>O(zNOE%68_#5iTPmBk=n>PMDaOT+K|f9uDV0Xg`}0 zL1Dv^*lJDR5Pq84`(b@Bt*N^^0xr>WqC1q$*<_?gJwWTzyj(x>)RodZ?-BfB(dW;yM%|5#*Wq_H3w#f5Gm!T`y6j?AtVDm;iaS8cCO5zc02l9abGw`(OifGyLF3xldV!syu1vVg)<@7zxSV zpa4ntv7d4R=A&eNEEve<*^$=y zrK8x`+M-e)v#Hz3-Z~KkGQTuJjfR3zcbx+;WyKM|GqMI9ot>_5kbqd#J~M$wP%Ihd zRg2bHi6i|z3o60!?F9wnHMw8x67pKWg|o4whayyyBh5SHUNdjsvgL4pnj>oCr8S8b z@-YVSCQXsxQV-R6vVVLj^CA+-U`f^E`&*lvCi3V`=4DfZaVw}0uMgK+)4slHb0yUz z-uWak-U{G7Wvrb;wn`3g5{F!4$;8H#gqwqaaFlOq34)kB2S$&MQJ?Ou zYJ7bBCO*D3SQF#Rmt%*FnVG%}izBO_Re$s4-fiim2wS=3Xg$IjZ6X1w z!s=9y{&9VP< zV%%1=wWLZOn*so=jQ1uW6^)+yci+Qt7oOZ{n}iqrm^n2^dU`b9o>$ne{429;lI10d zC5(Dy;kQ}sCsqQ1kQ2TM7mC#6%UzCB^aGZ5sN7336YQr`+6}HQ$X`}R?chW`z^tmO z$|f6Jyk+`v-87eMFg@b!%l~on6e;J9e*5!`=h^ia~Z@xWeB1Z~;iSPsQk&ztw@u?|;U@Oe3=H3s1GloExaa5-h& ze&dbn_8Gde2vh5U_?;J3l@>dClu!?rZGHkP`~Iy32=M3uB=L+o*zPqPPjbI1`|+;0 zgo!)q$OSy{I;wWbCq}hNYf(<`UU%Co({JC&ob1sjtnOYOgY{p(Uc;&V^mtm#cj(f_ zOqfYXwu%67Uwor@NmG{vTp5h?k4=FWEt?oo*EcPO=88|Puzj#hEtBBcNJv6zGx5(p zmWEI2YyyT#550A;ubaPYT~IBHWzVD#K2TyjQp|0Ndgu0xGqGjpjxxpb?&HVn0WX-3 zUyUj_`s3OQm@g(-7=Sn@yd3bE&1he1Y1sO%fakgIDk>D?LRhuVpAW8$4f2V0b8$Ir zW)|Jvz_j${X8UUqY%Pv_c2Y^|>GNf)mND;_8m?l9Hmq5P*|6J;UYswy641h7Z*R{m zWVzz-&85$j#Zs|yycf$?KnH?s4Jfs~S2uPD^QtWmer7TOu9AcbJUCAB`0;~Bj$GfR z8MT-1d)(OCtep%jPNiQvX~R`NwqU%QqaF<9K?FDRwI@Mh$*Rc)vKg`KKk%MM4d^B_(0pnm^*B#EZ7fOTW`eJugF}2<1DoPhgF+LIq&{D z_=xeHnPuAa{kwOs!rg7;<)!CTiawyF^*qK=Yfs)&VVCl9g_0`9!OspTo8$+Nr!#Nb zv?&OH=-t$m$bNsoiwwy}hENL`0}zv~3QnHBq+Xmfi!TaF=u6acY=pF_=G=DSKfom9`so zYP97`S65heN_6dBHhzBo{JQ)Qap1jYSX&?>(1G9vxcf6ItJ^76Iuk;q{kzhSW-(bp z*<)I4eKPU~M9iw{^#wYmXq~ILnS~9RG)ET~p_rWf(f*e22w0Nh^Ja;LY7i89MP-ba z?NEUdXqQAfzS|)|i0@%~f_QBw5`;D(uLYTBUQhwmesxWaL?u2b*~_g4d8wlhPl3N9jYbEa!5I0OY?c1xczHr~ z3prJsd$~Hkz!DF@y@UxbeN2ujRNKO4>psmP)Yf2mXJg}BG3muNhtGEKPZpiz5}uf* z3fYxsF~i4j)C{dzv4Vm!xnxN$fPub=$s{V#bt=T01hhwiVpwTV8GR6er3cBaKl0uL zwb75Nf6p*V58Iv4pXFw0wCMbdWFAQ&!ks6t?kYEC{%c@NEvZzb7re*@uOp0W!u}Of zZ1|Cgahj-vEujdQwVvzSiLJW3v2}YqB94iQtIk+p7U#%%A z%6PO-8=hzZ9I%Y7sE)8f#jAN-$pfoM2BHCy$VxC~8O0YQSP+mBe2IBiZ`u;BAUo48 zM5aRRrLpZr0Vm6&G#3yM0JX95Mb%P=O3Ax|n>kwyur?B^ma?A68r9!jo0sryk0Xoe z8AGygY0TPL58W2ageq`bT3eIyEI5`+XJt`?aAllPL^~6$D#cb1o4XuFz^hlh5RjDk z{cREig-2c3PMx>Zdh_3Mgwu2gGqc=cgReiC;Q7Zf<2dcOvjc z6sdFMBUCexf{~!9f=y!Fr9$9Aa-6SUpBv)Zg#sZsZm_TK5Ufk0HaxOFUBxFf-=%Wj zVS;rdwzk7IAx!YsON8j-Wu=>X3Raj0590_FY7^>poX&JmK`Ym;b;5UsxZ<@vVV1)+ z7QGzl0<=}<<+4XwC%v+~9{3PJlD zj^#+w_}TXfH*+X^`e(UwhIC9t@1(GOY!Jo~kped)QP&U;rsxX@nEht01?hGD0|Q46 z9H7jeGlzB8VuJhxDhrk`x!EHB)&Ady80VS!rQ=RYmS&bz#{<@qRtzWhr0fJX| zy_obJ@C*Qy>pLr6??+X#_hR`KoNRrTd|;5ovKx@}6(n&n0MFQO)%V-bw;Gq$Rvm9a zi{(IBK=cW9Z5J;|(OoL^=1g)WYY&5&9YLKCa&~fxYQ1&^M5RA+x>jKNcT-fehh@Ggi?&vzlk|89 znjV@27bP+SYl!+Simai# z8*r-Vz@MezsaU2|omOons2<^m#atLbqs64x3S4O$efT3r_lolN5VNkV6X%S8q2BSO zx%nokQ))#(SVtuFElwH#CV1rNQ4LrhyjOA{H^Rt5q?1I4!P}KdPp!K!(VY8OA;D}1 zm<^|oACLXEZCiVSz3Iu{f0s)p2TImRxqMU_Tn zM2V`ZulyPvh$1=WE~~8l*_;D2*Qu$gfp1i$=1IrvK8d)f?)EA`^0jEKKhDkwgbH9? zwWGLy+qzZQ#(O@699I2OQeKGvE5&xXol&XaqsGrZgIyAD+qBR8m9Mw#)@u$kPHOVd z!sW|9;B-gg{tngAbL0@Z7JyP4@2j-7L8pAgZ36fOoq4(H=JE~BFq*2y$EP4%kVy`s z(P)91jAnKUUmer&Hyk~x39;L@ZWa4H6uVo^%G#QE-I1yB?n{s^fFjkzN;2)e$n?~1 zO!qZ2oZsUSNIZ~4f|Zh}lcf1bQU_5K7YuyLhLj*zGm_r=k;jcD9bu!GouSdZ$t^+E z(co=)#T8F{V?n9#<;$0zp`qAHOO!~Fzb@yqDLEi*&s zbru-SH7G6aJbI)%BpH3nZ^pky4YLq(17K-=Q&Rwy6=`AyK)0}lpv8ePnTW}~ov-u# z5TnYItX}8FmGlKhm7e^HBV}o6sZ(hoU0(HgzLJ`2bU;vLSYC8Zt$lC zuTq{tpJ;Rod-3XCtFxaz`&k4miGN#PQy{YEVCrwb{pO43vP4R9ss8P(J+3(daB(ED zruo#3ZdyV)F>rp~xt!x1AzRn}i?YkYCjiEfdm+d3Lwmt8^(=WG4$u_${0J z->bH0tMe=6D=R0IT;p&4zJo&o;);TN^(`9sCoE&|a z{Nui0*V4$YJ$$HL7INaE(+m^dG63mAI^2jKbsXT_&a-$|!^)=ol9G}}7D#SL1VhEm zv&Rk3WV3GPo;@=Cz5Rls-|A8$tm@ph2?{Fri*#zI0Bt%1oRz??J5}CDeQpXcrN2C- zpDb>sIyun(OxwEDnz^z+Y3EMy4y%yN2HyZrO}8wGY#VKw>4TUibYW+@5eE&QAGZIM zc)*Jn4S=FE;bJ=5V^7gud$h<89hy-F)LMhsX zcj@yUu;AE>g~)}iSifGsSz0(NBV!)WV&3sf(Kbb@5fAgN1|#2(o(4Venl+uFqRM8l zQa?g{dTKIACH__5B+yX$k@G&K-7hBcwhL2r_~qB;ueSDqy?J&dX=^#9hE$Gb)i$#+ zSPddl?S;;O+p16NOsGQPi7nPeU;ui3rYABh(|2=NTia=O%m`GS@g#oD-nVZb3X7^P z*xHYe@vrDuQiXg_*+X(SqnNZc#A~c@l<9zDIC*w~At0^`=Jb}F5_)>AAx#D|$+|Qk zU~N1%lc-1r#64^oueb5MIn{Y71t<>#5FM^J@$oNf#Syxp;(yZZqi?&K9jSkQ9fmx@ z4ayp24>fy1@snl}EwWsPKW=BP3WASb3x~Crzh`4vI!cp2X#Slz1P-Xq6?CuDym+)1 zYlfSMN(gB&&UUdst->N9=x%QKjcK?jb#gFy46-vK11Vus3i8~%a{8>{pyv5 zzU&X`lY77-I?*!+>zQjZF+(kfRjKdprXj{k_rxEleZtMJTPZ5ImG+meqRCRZTbLg{e%b#pIam7P;&yf3b=;Oc=a#YvF%dcs zHx`9zva>3Vju4?toJ1Wp&{?q>FoPU_N_<5_KZo)R&!Q1QJj+9Dz$WN}kR+Sf@0mSg zrQ8bqQD1t+irS7vXE0FcOSgb)QL`Hj*p*3bfBB*S04U0fO^D3Mq5b1s&4?(^$QshZ znh$pq#eq14yDaI`+|ATeEF<{^=)^Xoj+PcjP*ac8&oCF~$lKZ3y#XfjDU)3$a49Mc zgTBjpXsZy1L^DJ_f?=cu@Z0IhPXpI>U5IGvZGim-f4HBXnJNBxh)O7X1-EzSt{`x= zXL=*WY8Bet&r|lt`UvMryE<3;16*U`)1ycFe8bgsDdcP9C?TyQvW@GId@42GH|*{0 zC2^SGm#`-1_s*7n!2d6ArkgvqOrW0_N>ON|ZaE zo;o)Rjk(QJ5WpD>tKX>iU4onw)zCTKbrQ9uXCR6yh_*d_`t((M)i}emB}U<5Vq$AX zTJ%^&p+*kX6XHkl?yqYt%%26v76MICFe3#F-LaNJPY-^?+f$DsI(6MNwA&jTLqa$J zovmbMp6D5dECy(2q2rR-WKl3~d?UQ-aPKaaHwA`_6w1&vwV-qc^j@w>w;f30-HQI? ztrzdkaNWtnZ>;(Q1G_jU1N9CHr=_RMc9-e!YJd{Fb?X+<`vlc#Q4#-SjY8O*+cV}^ zeQJv`ZTY=sNRcVVh*>4Yrb5GoJ~X3vG#HR-u$w>IVnXrjDa!z})U8a3+$Ydp8WuvW zL*L)7p2dst*hAfQ5!6#iPo-;0n3=Uz8Qit=`rU5_Ooa#L$Pe*~M-?>;Is$O^+H2qp zB3T2nWWs<#?L%l?(DsX<3uj(B-(gonvPsiol!t!VDNGgP9S3JRKMmUVQ_>X5zH+8; zuQNUqZjR5u==RAAO(o=HETCgK6O)RXk4OpANDQ;OsMq~je=+A03gsM*h`{Z}S^kB$ zfPb_mrmHrHB(e|j3X_$OePupK;t3C zRL`-IXKag6SmLRbYIhbthK48YRkU{;G%n={<{@tWRy}PO9NwMli||ts%czE*6#HY( zFSwPlf@Va*ml-7OABkmu|KY<|VBI(G-ydRSRW{)c;w$gRbN}{N-l1Xi{kba|5DR{E z8nBos?Q90H=AF5GrXNExK{Cpwe(Fb`+B2Aaf@{~en#6?87aMWDy<)*r?jUvVx?G2l zW1TgL@^O=E0(CzJ2FKMP^K#qrMJvlDpou33IppWTaW>JFD_7!JU37!%c^Ej!r5qdj zR&?KBuV!6}?VHP8UhTaA$&?0Tsix220OXDxyA{}lYDMzNQOwfZAb7?=KH$W|L#ZET zKD|>JE7H|;l<83hReN*e9EE z!LGAPC9zP`7h3UpI}4~arN~FVBytNVd_rndg3z82pgRs1j!lQmKn%F_neJ(bC%Md6 z_~85iFiH!9@-C0^59}IjJl6jzG87{1XYg&oafHTz%XpTpKri+Vxvi{$@`HI4u&pK> z7gJun;Ll=EXde_u>C6{b(&4Rfo))pd;L(h;D?A7(&RmtVXS?*^=4L1>qT*PHauZUF za4S)zT@oP~4Z`2+bx}h@!-TVLLnxDvojO<v2rxaxO4od|eGLTqy^Xl)RdwaH!W3 z7(IzqX1}0d1MnfKm@b^e922KXfC=Y{o*yTmy!%eYYq!_$(;&VXJ`$cwyLViI(LAN- z6@@|}@{!l7lZ37h=GsI@L9u}U+_0;`*946*IXOAqcsfU{>(ZCBc@i$Bpt!^0Up{5l zRb{B$;jB?q27)eFL{3R*UCPv$eo0kJtVYISZ&7>Il2~8^Tt#J%tlhH0e7|Q+=TUd# zVcz4ITmtHYDt!Uu0&l@S5Ctlcd?NU56&Y*YQp2!s2!fIVG1GaUK7K6FX3pvCf-%ip zxECzDN?ER0zI`h9uzb#pB*VH5$i^~)3V@>a8j=COi6(*LFQgysvY?BR=V6lz^)zf4 z1#WF#C9jSK4x$VRs+|JOKY|WDLQnnha3wkd?~ZNM6_oLT}LZW`e#oX z&Z-BUV%czepD|Rrvs3dve_mZ%TiesucP%b%ANmpsLBg1I*PivbBoxlpFN@+?8a-Ym zK9wgWB{NTQC0_@734OR!iAdjT@LmKt{w#t-Nbz}yHlfyG`e$stAuC#pRR1s_uKr0c zzk!ife;RL%+%uGkpqAv4lWUm`um_%FbKbxkKyI)$n6}TLk~e9nQXeW9r*>O5=WAGs zm#}@8(Vg7lP40Cz+D4}I_X#Km$^|=d1d2plEZ-=`4Oh}ylNi^`y`P`|3&3mXN$+~X zqYKSfKF1ZYpzFpAYfc`x!$G<8QBijD{+WU6Fb#?7mW>-JM1heMfo|s3-J1tZhKMrrF!PwwHrvtiRl8e%$Ka* z|Aq(v3ieH3U0`%m6$VdOOsMjrsDpYy8rzW!uF+26VOrW+6&DfMfMoa?3MIlPee$W# zb@5~Knw)I9GM&xVrQm!g0(180wC9X2aL^%gJqgQO% zV}IiOpW07ZNyu-?%E~%~8z!2Zl5r+sDlghgWR3E9v8ZLFsG+|POsoOk=p7J7$p0=D zHRzr?wG=wdfb9K*9H&+Rp={%se|e~fTJUt{s+|NVc;J0aO-<$D6*C#dawVGgIIH9% zo_Wwg9|U4>33A@ELp3iXSYwmNlHB4<%b#7 zr6{~Hes;VHW0$mD>GY*j*hJXtueOsPA5 zIr4MnFDUj zAX(xW)C-0&5ZZ&=_|Lev!D1}cj4`oSy^CUCB_6d2wpz5XyL+wt~xWI<=Zxh zg0*_7nw(&mX#sxB(U})h5&}H~eVFf@h zaRONKL+}wCd3kx~g_|WsC$;)gOOQ92^T)=;#qppGy$R-FHAFJ8RV*ywKy^DzlF%^b zHDMu3-=CN5?8k;`ws2thRfbhX^>koov{1{UB}-%mZHAG-6oy$qGx7j@6Fc0b46r^H zmImO@S%8Wkz|7d;Sqp8LaW{}w+y^<6B;AD>5$Dzrb9Rai0tQs^X-*o6+2~{7{ndRId%gr}$_Gdt)2R&D8 zqVqd9pqYoMJu_fu?f{s&Fu|FY+|J%8y_X+owLbJzrpn+YI`luh2YH4 z1DkV?s$oOHG(s)R{|Qf)u)4x2aXSf=WVCkV)t_`F*s#w*Mtkun(PY_ zB_UaNnULk{8s>g=)HU2_VwA1QV%Dz1MF@cM&y}U=QCfD~ZP^2C@p@d`aJp#+ED5U1 zLd}mTajsCnY#of7tXL&(C;ai)3?$Rt`VEEdoAwZJj;3tP#2!Tg*4}Vb+YagZp7S|x(X#)d_sQY4$u`cj|xpLZym>m$S^BK9slN0S*Y5`URc!GmgV?={%~&hIW$NS zKzw+U=>yx2ir3qbO#64pUIPZhch)IjBQ&n0TM_lY;!u8`v>M&3nfOi<3thxrkJruz ze^fB2Fo%ibo1h8R?NV3fK~)ws4zp+N^2qCEI69mA40-6M1$wo-4!7kC!&KQod~at5WVaz16E%q zeS_eJLCJ@hM3*^q&Om%G#$=|?qkNBn8NohFS540Ve92KcP54<2L_CP$qlcvWv;j6^ z%u>jPRJc8qZSJyeVP%gO>rM2e(;+X2%!)Fl=a5^96%j*S5GLSutvLMbdhj}O%F?RE zqk3oxNl0=s)WtgB&^bccylWhc{yG7RZ=u;K19GTAi0}&>Rm_moVpzLYiP+XsZ;u;P zJs-7PPi~?k;Q1UBjcAg7ebH*ODxVzbp==0-@r?m$LZqq*5$Qhv}lQdL- z1)++2Tv(tueg0m7)^rat?k9ZvP$hu1kbBFGjh41V&1~W_HlEjJ~D2*kuM8em_ve4QASzypZ5}5gqATooNNb3XmC^8 za^<0fI|`@$)T(*y64z53pzk2Pg)j+YQ`673(?~Kr_ZhLEH9+E$eS@#>MmUPc3CHb7 z&WXA~xzloI|0^lUu6_=LCh#~bh`-3N8Yh$p5)~ftMfXWHhE0rV=XCGm0or}t(J}jL zuuA7BK-`(9IfLbQ+VoA%aE-_dKf1K!LBR89sG|G*sgM(nlM)oe{X;_^kOUP%nBv0R z4eaA6nqqgFgr+@Umn97ZyT`ZBhE~%RrP^sbo?P@G2njKxIp_*fq>>MWvR<@$+d25g zGonfRv{Up7{pO)_l%(B-XP1%AYk;9?FrzPx1Mjm{Yarbr%Yq#}4A3X%viG$&Z{E}c z-SAaB=6ADD=RJJ-1`}1hF3;9Z8=HcX^kQZ7BKX|B=^q!j;Oh_;&Y{+avpX;7hEoxS z{z8IsXO!GVvq>Zx`cMEkX}nvs-WmnTOxovSSmtWcMNt{DONUPV6$a4jALT*tZPct> zL^lP+ak`%9vC=H~e56f8H+0mMNj;YJv^xX{*nkYd?j%k3$&jWmU#_B5)ts6b1>jI* zJ588uh|y&0RJfdH&6!`1@}{*U#6z)eV_r5M@fMgib&MBb5WTE^>Pdu z5RbQ3$D{kjh@-P<&^LKTW*8O2Vl@^0sZ@@;T=2)kBxn6#r{XH)@b5ujkfzNEaOFDH zZ=zxx10Df`Ce4ZHk0R3=-o1O5&{YNA3PSZG7{5b`|0=t|z35#esBAi&XmL~S6(E5` z5}OV~l!m@^!%-bO0LSl9RU1!?TuK6Sc0O4p?Ed}Lctht^R1li5w_=Y2a(mQDkln!= z-=c8hM#6q3Lbc|Uzx6#x7|}&}4Q1dL$Qg(ilNGU50Mkf-E#x^Tze- z=YSQK$LKSHVuqkY!3zx{hx4=3%#?i8tgNg^SKfZpW>-bV*)U#$WxS?$Xm##2#ARG5&IF{ zF~{Zf`{OLx(_AQA7$a@KnQ(+J-DF$Uk-20 zYsH!`)W38ax?Pa}S9ETT>3}*C<^LC$8F~!oLriS0NdE-_RXAo1urF`WsS4r)+~@Q3 zTe&B*ZDir$$=Svtkii=SIz&pVGA!vmHZtOiik&1Nz+c?3wZ8ZgdXEj^5N8nXoK(y( z<--80%;Mi$fa65xzQX(W@6Vz0f^hrhOq|=rpL*QT9iZCD#^}lBc=NBuY>0QHuX)|N z;B1X6h&sfY-V?3~m?ptr3z8(ma`?nYM@Q8=%cCIkr9(fMRv98U9UUFfTo3@3NCI)f z-j$UBtM}L;Gaq8?cSuBxC&$cfAl&7N@Ve4F=(}Ym+!^q_tO`JHgyh6QbXbD7(wg_; zM#kT3E2QYBy6!>;1;?;u^XA!^G*-f+5by}_8=2OCsDO;)2oL}%tRC53!qT9_Sie;A zvtky!3lW2%D6hv!!&a02arC3rV^eWf5Ovo9h!;ou?!@Gz1od-?Tpq#p2r0_V&5c*7 zFk#-}RdmB{;pSd>{P=M?wa)lAZ{F6_5LE9f23g`kZzA>fMai~s@#1T!*dI=BoA>$* z4a#)V@J2obQY<211L;V#@hAvcz{??Nb`A~Q`6fR8U3&T)cu!Iu1fO|%4NL~nK3if) z(h6wMI@YgqzvJ!g3T@I6adFX!rwOpB^zIjcNpPBg8IqF$?|BH#d-W|X3m^g}t#^lR zEapWIh@!q~?8DJ4X@vxFprgQFh#mzhF=kOaW(;wlHj=_@b~5TzHuTp4wsnGhj`Zyj zoB7hv;NRhyBbLhyK_ee8lyjI>ws7fE8%upQe$h~W-~I+vDf{gv_LKQEsC|Hx1N*Fg z3upzKHd{=Z#V)x}=Q@~bB)HcBf&1gZdiwhhL+US;c-g@D#^u-pETS_fFO*YhHsBH8 zV#5*n)k{yRJBv3BFPnFaPJf1HgA8+CK`ja> zRY6bOy>sV4NjigPzxBsq0X*~iRtrg!@P8dHNDAZ++!KLdpykmFqxJ1?Vd9h!l9{_*2W;YLTlX6=(Lj%e!2 zO&wKZ(jPD`Hbv8+NZ$t~)r)Ntk-zEN=Hr)3TY+?K_?m0)s{>rg#Ljp}DB)P~;Twjy z%ZnN({xu%wd+wpJM0l~ykm1Q;9^<(`CL=Sl*8lQj`61dNkM7De_W9y7^guuT;}UDy zA<`1}>z8k?d7GV{?m%7R;E!#aQBwTek2m7Q??O$$A?N!4_X(8h5GLlC4D^3lvmf_1 zRMZ(m!Dl{K|j%F|9oP z`8>*72ic{7IGUMUqz?WSI{!7J>CdSO|NGv=vTWm`ps0kynNtEwm_hLVydf#m-N!nB zFcl;pF{AnR=RZP*PId{UT#kFczz^xvPd;W zP%I;z(b6SLi(0th$FKOgkJRX5@nWRx4%JxkHvr%#KP<*tM-|OL_G=t0AN3bMGEC(@T$E(_q;!@rb39LAs89iMKkgIAHLwfnPOf)_EZD--?FaPa3 z{@0cGe)X?!c^(UcA_Xmdv$t>G4y&6XqWyWRGaZVA+!p61@~02Wj1SLH5#AX~c?$++T8VzYiU>z_OS-12lToH&1>8kke}y75;(MV!uM7v;{6LvVijcDTP^P5jsT zpS$TFS8U*$dhf5>A$2%%|Z|5AWWIXbm z*?93aW3%N4S8^~M5w2R)uDJYn>4CWcw{D!D^?aeYxR+Vm!dZ8(dtLwSdi3bzJ1*-- zoS!<+XA6EBAGK`kH7hIt2e=h}Il-!2!f{6&lL8~_Z@DOAq*;DF3O$@WXc}bsgMC!KFWUj{fsfN7I$F&(4yUEZlu`+1E`oC@d|8=sH+79x=rin&ygY&I_Y+D(6bd|Fx7#X(? z`O;51k-wf&BW6Jtg{;~yEO_XEFUv1_F*&N#ub!o?sVoD(Xw-jP`ac;pWz)-B|JDNh z-smxz$*{?dXc=2cJe{sR{gcsNRs)d^jvpx7#TeF}Y!m<7(pW@-o za^o_I@&7C}_`bu918mX1YF|#St~;xL^?7&h3^o4MGaXPs2Nx;}wdX@ABj*Fc|I`_s zZe2j3lpTEtiPD;z>es0WwpG8n-fTSoZL#TdKtW)D z5S2_uBkC10F$B$>i@;6{>so!^?cGDSFu%h`#Fp@no}Ntj)qTZ}>3Lm+o%j4L3_bh! zpJ{}6tsUfz;Nmtwv12+hf$76^zY<$N0b8VJ+Tf#YBX?WY`DjIx!GF zMBOmaWn@ogR}hV5ahNhAq`aA6@<=O2gga|6i=10PhP0N}Zy5HaNi_tCzOFr&J+|CU z9twgC$j8YPJPZ@lgyayS2brLK96IGxdW*jz6v@=K3^*76M@Dfs4(qdJ*RJL0m2&d| zF|vt+gJWZd46Xk7$&-7`lQCU5+xA}}TpxpkN#7Zms_(OH!KwEp*`xKG%#wsk_ZdcF zy5}!m@vr*@CyNVCJxAdpx1e8+@CzT4Ykt^9hYmgmySP%ds+d< z>Hjo_FBMQHo;7sA{5bHZb7Fu0zB7v}$-p5pHDH4%#_|mHGca&bZ5s{H%1D&x`ExSe zF%1!|gXiGv-M>Y!sHCMiSNmL9%;#Q4^c&I3tho5B)>}hz#xYL^$^2SqDwPa0LkB)0JS?|Qw&OI2y7!NbQk*azv9KYD@XUiH@(_G4%``y&Gt=&K6tsC=0h81cZ}`W} z5cxPCXZss zYMR;NQAj$;Sp3m&W#J=2np9hICL#3RNM1;!G5SUHZOP$chne;u-b(*z7UgY>^wxyf zxpaTtkTFK$DWVe!v|+a=I$ZcLf>tL%QuV^Zo&|sYlBexNZ)RYdIIAr^zQb2On~7Iv z1zx~1@3X=8Nwq5R_qvnX-yIj;-#Yl8Wh||L?bUyHxy4?V6i=51!0;WQE*w2%8>&YpbF@ES|V5;1;^uWq#1K_+joc5C#&*uR(f zuZStGbKQ|TXZG>G`Se+MUB)6z6TE!N(b3T#Qhd?}2nR|O-?QEfNueO`i0YJ$LhPfb~t z-T51)uR#u<30GN*&J8m3UK;PZn=QPJBQpeAW3+tm2U>JhYL89hK1|}5Q7|*Bvt-Ak z*RNhN(*|*WZj-OkilGBB3;0@HE5)h$>fMmBRY%dLIOiF)sWB;-rsjOp0U+7cRfVRd=i+SupZAcsH+GmE|K#yF0i4emyAS%z+hxRr15vm zYDep0x1}iW(k&Y^1ClIFUGw6Nz+r=GK0K79XuFeAfUp!X)bHIOOQj}czarw31m+W} zv(3Ft%Q%L8&v7JKNiG}gJ()^pG82+ncojrElbGU(6VBjr5%nTZ&2Uu?E~(a#xRg-p zN80fEyM}4d>RAKR#N(8iC*Dsa6UFqErtt=yFK^Ti9lA#5twM2BZRS%g3e5=L`5aGm zEp6@5Bw=I&`|!XQh@z%}N@2oys1JDKhbv@m46VIB!q%mP;&&xx6`ulK!1saCNh&QZ zudo&F%_ol^=Y|mF0-SI}PZAHa^GUfm_#xVmb5`+d!!>Ax;Q4mB-7|1z_ zj$)*ZfFfWR0V9~mQG|AE0ku^?G6)DQIX0pDJH@OkqPz30&$Ihu6zP8NdvD#UQ|FvQ zlQ9+Y&bSX+ajx#upU01SUSe#>d4L>XEG06Vb+Jw2oIVRobHeYL3ZNctY%AF0;UsCp z$tl^qsO4g=4ph44xb5;voG+&Bnh&zmp1Vc~`Q@C^cT3KV%#Sr&+!tI|Gq>mg{+)G*H{;i;)B z_{4QiW1*A$4dyD^Tu1)BhXK@*Xxh`5HmrDs@%beTM_ z;fnX_P3L^rP{RS<7@X@Mp3fG%s^c7{vxKNEGa>eJ4LnRZkf$Q;{rJuW2Hsl8qlZdK z@!z>@B%a;jygD@-QftoHjCv7b?Yy<(vC$3R~ z5BuR|OjUXrH}4JbblWM`syS|8v2hjSwY( z&|{`sas}Uy?sm{vua(*!*>3dcHnb2yymx4Zl-yve56o&)8%w|P^tjR{^=NFWgVi^# zIcWR^gIx1I9V}J3eCg0b0_G=v-AkGF7r6f@H{!B+@)DGzknU$ro(AkaSx$|KP}@{A zV+v;E2yG9y{8-}Q^BQ4A57(8_ck^hnO!OZsaNolt?@GDawOsqdbFw(0#U1SvCU-kL z?82G#NV6wE;YH?*5|iKhO^WbvnX0j_KEPTeul-WrD;TIh@qFvLg9;z;j$`sF{lP{J%uuG+Md_5;m~)VI*i8)|Iabwi77Cy>91pCsNj1}b2TnHMq_;@ir& zHlF1^@x@?+<)C4!7Bu}~W%Otg9N3UzDds7{Wp%b**n|muYfnd+G`>SCEa?SJ4!${f zeC>7}aPw<(tusik3{~eus`c>3+k}a;AJ*60*%mL3ImtNC)2_C|33?v5!yd@Yvi2*I zo*0KMNiLz|5F8-ENfeWDsqF<($ftQV(2$f{-E*+7SC!ogxB?U;E#LGt0+FKIt&g#Oo`x(yV& zGm!ga>epxl=omd4c;c>s{)$(j;4^!3adSMeK=aHYcz4S_8Vh&oF$FFSr#b7~k>1VA z*!K$DKq+{A{K<6zJ@bWi9L9rKM1}7|32_Qa@sz4gYbQjSaZ33PH%wt%79&@HOfy46 z3dY{@X`AptC2*u_Qr5-ClFhOY$2;>DKTf5y8r0pbt5)jMPoTmVs58w26QtwS-N8_` zb7Vp>aiyF;WzL*5huS1@R<*uhYwvB~ivH%{5NR5Ke2bjWJvok;+Ho2mkXIVz`1t{+ z-t|7!!D_4q}y3l>$T!Q?T4$C>TLycN+RhrzdWA z4!I6Eh#ejISqU-trL_PB-)|uN8Z^I)ZFM#p^tN39mo0<$;)!syu}GBbRb(b}0K58u zyGW>3-e4=!w9ANFKt&w!zDIjH68Gp(f^@ zF#?con`$%T&o!)r!LSLgH)c7qP6en0s^%3SN?tB+%N_4S_n1#RZf>sSU!(g*_0hZ< zsAQyKWVZ*7vfkxs>FJ7QkwyJ@9jKd*aN5P&vcq-d_f=a;jwd08cQ3;g;SOuZ9T> zzqDN-c;}UL8aY)=<#`U>fa!k?hih_K-f~7}TYU1&G8%knR0|p5$-4W(5a#hsPIK`| zx#+tYyeGN$gms-bB)@5EpW=GXMMwy1Y^!Y+aMNXhDNd2 z$7V*l=z^qT=Iv;T|EW+Rc1Ew#ZQo;HaOEa5{_~Ce&-(=9B^#VHTACd`Rf|17cC3F1 zit6-+y4Lf-y%+&ro0424A6uz$?|5o7k7Ursg@&ZeMMfV-f$jiaEUle&pq;%z{o~KM ztXLIU!R@PJjNXD+!3)8HapT7y`19t?&6n+Q-3B?{xPJW|jiyp=%<4jn8&5HwCz=P9u+24uY@X<#OSt#eaHT5x+o{c-EkT-Vm@UmtD~K>R zQiG%`C@0^wWh-#3R$J92MYToAK^3&OD%YR}AvHM;?GV!X;Hwf8WmY3~%(V)v{&0m* zIr0Q_L1dEURAIAYuv>rJILm-IQyL!I_+}+4`>h@=eX(IsL(FNSvXu1E(P@G0d*s=k z)s)T9;EzoWeGUbeY>+Py>$FsB;KUQW|Eay04rsxTb3>ijqi)db%>)~DsD9RLE>pw1MxA?;V+qBI?oS6u34>QNDU`bPE zgVeL8^+EQ2!vp4C_y#4gS4@S{eSAb7ygl?D?HUXeuy0};f3jXi0Wbs|o~~M5A58zm zZvb*fb_<(w%5y(sQ&>b9+PhK8!h77X@AYj>nb0dT`=FE9dS5Ou5E^7@6tZ3w5ElFJ zuZ`{t=QD3-iSY|ZK>VN`pRsd7^Ak;t7N~lsXm2AVCew~d$d&#tnALHLI|O?}VBFmdb~IbGSSn55b^K|E>| zDHL4?qSO2&A2zhvds$1~;oMw3psZon20cArE+ZQcGP6KH@)`4dHQoWt3$1mC-JWfK zc*a|#tM%>MjIVWniw-G!8Jg)K=TH)T+niWy;N*fj8xW3-cIK^hoDy+Gl`G=?l>-+| z_$9Y1pYd0T1=eLu3f)k{)q^vy?qbDhSLQ@ z+n~N0O)lR+J#y+J6zX%d?!~Kv%)c~-y@kb$UYFqJYG9vdE6kq~sM6BE%=v19*Y3V~ zo9H$Lr0?)#Re3LVREAT@%RI{&ELL8X>mXi&y;x`L$Y-cAwRxz4UbNUoLvqI3{FvY$ zTpKY}Ne^rK>4&h5j#MSzmDmlY zPWbA5KPdKtLTP~xVvrQF=~P&$m-#SHwO@|lcQyoyPEkDsElVqev@~}HPEj99)X2~e z39zTWSyW$Cf@${SH#V=i6DpbN`qr=Hnrf7;PWmK!HZtpn(itwM#V#|2vGMO}Dk48t z6zn}xS`dSxZ(y;vzS$yNNzyzL2Ej`zuv{&D_W)Q2P2aERm&2r3I9EDhAeVn5vU`WS z|LlE6H)kxiV$b}G&z2e{{k283_N_DQ5@KBV=`R>GZ|nw2u^@8^I)aZTqfKskMuJuxzr^w zZA0NxD`@PDM`LI)P)ss>_BAttFS%KC#jgGz_`-RL?e?RIYL6O^H>Ywftp=?`uL6sh}eR$P#K1 z*~}Ai+6eEbp=KNojjLrYzSBaI$siS60#Arn_w)T5H2-$p|~fG30lrOVd;Vb=SnwlSn57YUW52w0X!4z02S+JqZEPgS@+70EB^GayVTs z`CiiL!9{lY@tXP=hYcy!$L1v|9m1^YH2&n(8AjE-^4@)&g?FnrrKe$ew_NoQk1CCy z;u+D~GIk*{V$+2!rXS-rAo&MmR0x=sao_c%3Yw3ItBA*Q-y$PDf`a3+`f4Q!F@mni z$p`f*g)L0G#4N5)2VoeK5sB|TXO5q((X8n)d0q$v*Kv->2Odt7r{Ux;jg#>d0IGBg z_xbb00%5Zf3D)8DFDkd&ys>4?tWfs0svGH?Wau>ic&s)3W1|K0*s$jz-t&3%3nOz?Okn$h0!-)O9b8#n zvcd9${n(ME1>%Fg0b3Ghc=v4Jj3{NM2a5{e4-cSbziB=I0v=*T@B>6xAKr<6D;C`s z--6*wJR7&nJ=hRNG*b($u8cc8S+rgBqus05$%rM%K!8=EbV3|S3ZB?WI?EVM!B6EG z0-N~0W2Lt@$o)`^X8yubuR=>MICK*8{wm;EwjVHdXDu*y3!QQ^G}I09T?c) z*3N+h!N6%r55{vO?^b}3FtEX-C6cUDUZ)^QIUNYY9vE4dJ{Iw zyWDbl?j5v;NJ@`-Lo8D9peZczVeff?>*}v7(%7FRkNl?YwsKX>sT1`zhmV~7dY6P~ z74|8=v+WO?0|UAdK-Z3NCT|bS5VebP#qRfZyP~TyZ? zKIEJTQozL;PdW5aB1^nfsUxxtfFK+(0&iAXx=Hs{dG{#c9t8X79BvP2`HSCFl-95b zt_Fbt3AGjtdM4#bGxEb0nxn$W;P-EQDCQbF^V9E+?hnOX836~PY2XxDHO-kbIn?#-3mh-x&t9HK zbbwWJt%tsBNxY7M56zJ_XzrboQj#qwIp^SQJx(MIsqPc5>$&siX&xEpah@3m$y<$8 zLaf)OWv&G~*NARQ@kh*HY48IC+ej1k0(UFaUe9bR6}$EDz1)(`<# zIOF1H$Gg(0=p;B{jH13D>duTRmjFYVe0BHq;O9@;I^chLDQHlA2LgTmo6ajOmsG1G z#o#|&>lhdH4mKm24ejj?r5$?r)U^VX6NHB>WBUhDWQV`TGzbjQ#P}7h2qpr365>g& zo1X|t(GnyO53EX8JU)=~zEmW>*9c(vJUEDMDJ<>t0x*6pdNsz7w|nJ~N*6Pto|eYv zf4;HNP{t!mt3j2i2oGeaCFN@C!orZfqce^kGzASOHEVl=El|$mAbsXpE?0{w4{%DBH695?9EXw-e&Qd@>EdsB*S!OpcmcqLgw7!2&_FK8^f-)k>8 zp;fh6`0Gt2m~;~O4EMg=8m^t4u)`6Qop-@ZxHHYw*>q=PTB$l30}jQTdmAD#?C zENiHYoD#5X>C&rcP`75d3&jdQT-r!aIW559sbyftDp8<*I$~nnRr#tI?cL!sL#{Wr zZ(DP;j#rBc`wwskcx2U4y7MjlCk%c9HUbE^-a7jG=yZt8mfV`&sjfGo zd%@6Z^ni(iL8>Tp-^$vrIjhh0H_3t}ZRF2HIWO|jIH4mr8rs|~k9M6dHD5D­o7 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 OXS@5rcO~DR`0;registerConfig(); + + $this->callAfterResolving(Factory::class, function (Factory $factory, Container $container) { + $config = $container->make('config')->get('blade-solar-icons', []); + + $factory->add('solar-icons', array_merge(['path' => __DIR__ . '/../resources/svg'], $config)); + }); + } + + private function registerConfig(): void + { + $this->mergeConfigFrom(__DIR__ . '/../config/blade-solar-icons.php', 'blade-solar-icons'); + } + + public function boot(): void + { + if ($this->app->runningInConsole()) { + $this->publishes([ + __DIR__ . '/../resources/svg' => public_path('vendor/blade-solar-icons'), + ], 'blade-solar-icons'); // TDOO: update this alias to `blade-solar-icons` in next major release + + $this->publishes([ + __DIR__ . '/../config/blade-solar-icons.php' => $this->app->configPath('blade-solar-icons.php'), + ], 'blade-solar-icons-config'); + } + } +} diff --git a/tests/CompilesIconsTest.php b/tests/CompilesIconsTest.php new file mode 100644 index 00000000..cc87ea98 --- /dev/null +++ b/tests/CompilesIconsTest.php @@ -0,0 +1,86 @@ +toHtml(); + + // Note: the empty class here seems to be a Blade components bug. + $expected = <<<'SVG' + + SVG; + + $this->assertSame($expected, $result); + } + + /** @test */ + public function it_can_add_classes_to_icons() + { + $result = svg('solar-4k-bold', 'w-6 h-6 text-gray-500')->toHtml(); + + $expected = <<<'SVG' + + SVG; + + $this->assertSame($expected, $result); + } + + /** @test */ + public function it_can_add_styles_to_icons() + { + $result = svg('solar-4k-bold', ['style' => 'color: #555'])->toHtml(); + + $expected = <<<'SVG' + + SVG; + + $this->assertSame($expected, $result); + } + + /** @test */ + public function it_can_add_default_class_from_config() + { + Config::set('blade-solar-icons.class', 'awesome'); + + $result = svg('solar-4k-bold')->toHtml(); + + $expected = <<<'SVG' + + SVG; + + $this->assertSame($expected, $result); + } + + /** @test */ + public function it_can_merge_default_class_from_config() + { + Config::set('blade-solar-icons.class', 'awesome'); + + $result = svg('solar-4k-bold', 'w-6 h-6')->toHtml(); + + $expected = <<<'SVG' + + SVG; + + $this->assertSame($expected, $result); + } + + protected function getPackageProviders($app) + { + return [ + BladeIconsServiceProvider::class, + BladeSolarIconsServiceProvider::class, + ]; + } +}