From 8870cc8b0deaf2c4eca1a5d5ae2627a6bee835b0 Mon Sep 17 00:00:00 2001 From: briankelleher Date: Thu, 3 Nov 2016 00:57:17 -0400 Subject: [PATCH 01/13] testing protected branch --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 52cbf09..c417374 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Foodbank -Rules Engine and API for Feeding America / Foodbank Project. +Rules Engine and API for Feeding America / Foodbank Project. PHP and MySQL. ## Contact From 6522adb5512f4b4fca1a662b0fac99bc90026248 Mon Sep 17 00:00:00 2001 From: briankelleher Date: Sun, 6 Nov 2016 20:09:41 -0500 Subject: [PATCH 02/13] slim/propel example --- .gitignore | 1 + README.md | 27 + api/.htaccess | 4 + api/Foodbank.postman_collection.json | 25 + api/composer.json | 14 + api/composer.lock | 883 +++++++ api/config.php | 4 + api/generated-classes/Base/Category.php | 2125 +++++++++++++++++ api/generated-classes/Base/CategoryQuery.php | 634 +++++ .../Base/CategoryRankNutrient.php | 1744 ++++++++++++++ .../Base/CategoryRankNutrientQuery.php | 866 +++++++ api/generated-classes/Base/Food.php | 1530 ++++++++++++ api/generated-classes/Base/FoodQuery.php | 701 ++++++ api/generated-classes/Base/Nutrient.php | 1520 ++++++++++++ api/generated-classes/Base/NutrientQuery.php | 468 ++++ api/generated-classes/Base/Rank.php | 1835 ++++++++++++++ api/generated-classes/Base/RankQuery.php | 551 +++++ api/generated-classes/Base/Subcategory.php | 1316 ++++++++++ .../Base/SubcategoryQuery.php | 520 ++++ api/generated-classes/Category.php | 18 + api/generated-classes/CategoryQuery.php | 18 + .../CategoryRankNutrient.php | 18 + .../CategoryRankNutrientQuery.php | 18 + api/generated-classes/Food.php | 18 + api/generated-classes/FoodQuery.php | 18 + .../Map/CategoryRankNutrientTableMap.php | 469 ++++ .../Map/CategoryTableMap.php | 440 ++++ api/generated-classes/Map/FoodTableMap.php | 446 ++++ .../Map/NutrientTableMap.php | 424 ++++ api/generated-classes/Map/RankTableMap.php | 432 ++++ .../Map/SubcategoryTableMap.php | 423 ++++ api/generated-classes/Nutrient.php | 18 + api/generated-classes/NutrientQuery.php | 18 + api/generated-classes/Rank.php | 18 + api/generated-classes/RankQuery.php | 18 + api/generated-classes/Subcategory.php | 18 + api/generated-classes/SubcategoryQuery.php | 18 + api/generated-conf/config.php | 26 + api/generated-sql/default.sql | 131 + api/generated-sql/sqldb.map | 2 + api/index.php | 16 + api/propel.yml | 10 + api/propel.yml.dist | 25 + api/routes/category.php | 21 + api/schema.xml | 94 + 45 files changed, 17943 insertions(+) create mode 100644 .gitignore create mode 100644 api/.htaccess create mode 100644 api/Foodbank.postman_collection.json create mode 100644 api/composer.json create mode 100644 api/composer.lock create mode 100644 api/config.php create mode 100644 api/generated-classes/Base/Category.php create mode 100644 api/generated-classes/Base/CategoryQuery.php create mode 100644 api/generated-classes/Base/CategoryRankNutrient.php create mode 100644 api/generated-classes/Base/CategoryRankNutrientQuery.php create mode 100644 api/generated-classes/Base/Food.php create mode 100644 api/generated-classes/Base/FoodQuery.php create mode 100644 api/generated-classes/Base/Nutrient.php create mode 100644 api/generated-classes/Base/NutrientQuery.php create mode 100644 api/generated-classes/Base/Rank.php create mode 100644 api/generated-classes/Base/RankQuery.php create mode 100644 api/generated-classes/Base/Subcategory.php create mode 100644 api/generated-classes/Base/SubcategoryQuery.php create mode 100644 api/generated-classes/Category.php create mode 100644 api/generated-classes/CategoryQuery.php create mode 100644 api/generated-classes/CategoryRankNutrient.php create mode 100644 api/generated-classes/CategoryRankNutrientQuery.php create mode 100644 api/generated-classes/Food.php create mode 100644 api/generated-classes/FoodQuery.php create mode 100644 api/generated-classes/Map/CategoryRankNutrientTableMap.php create mode 100644 api/generated-classes/Map/CategoryTableMap.php create mode 100644 api/generated-classes/Map/FoodTableMap.php create mode 100644 api/generated-classes/Map/NutrientTableMap.php create mode 100644 api/generated-classes/Map/RankTableMap.php create mode 100644 api/generated-classes/Map/SubcategoryTableMap.php create mode 100644 api/generated-classes/Nutrient.php create mode 100644 api/generated-classes/NutrientQuery.php create mode 100644 api/generated-classes/Rank.php create mode 100644 api/generated-classes/RankQuery.php create mode 100644 api/generated-classes/Subcategory.php create mode 100644 api/generated-classes/SubcategoryQuery.php create mode 100644 api/generated-conf/config.php create mode 100644 api/generated-sql/default.sql create mode 100644 api/generated-sql/sqldb.map create mode 100644 api/index.php create mode 100644 api/propel.yml create mode 100644 api/propel.yml.dist create mode 100644 api/routes/category.php create mode 100644 api/schema.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..54e6d10 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +api/vendor/ diff --git a/README.md b/README.md index c417374..5352682 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,33 @@ Rules Engine and API for Feeding America / Foodbank Project. PHP and MySQL. +## API + +Everything is located in the `/api` directory. You will need [composer](https://getcomposer.org/) installed. + +The entire API runs from `index.php`. This way everything routes to http://foodbankurl.com/api/. + +Propel was used to generate the ORM. The ORM lives under: + +``` +/api + /generated-classes # All of the main ORM classes used in our application. + /generated-conf # Configuration for the ORM + /generated-sql # Explicit creation queries for our DB structure. +``` + +The Routing is handled through the `routes` folder, and are [Slim](http://www.slimframework.com/) routes. + +### Development + +``` +cd api +composer install +php -S localhost:8000 +``` + +A `Foodbank.postman_collection.json` file has been added. You can import this to Postman to test routes. + ## Contact [Joel Salisbury](mailto:joel@uconn.edu) - Faculty Advisor diff --git a/api/.htaccess b/api/.htaccess new file mode 100644 index 0000000..11b28de --- /dev/null +++ b/api/.htaccess @@ -0,0 +1,4 @@ +RewriteEngine On +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^ index.php [QSA,L] \ No newline at end of file diff --git a/api/Foodbank.postman_collection.json b/api/Foodbank.postman_collection.json new file mode 100644 index 0000000..8a9179b --- /dev/null +++ b/api/Foodbank.postman_collection.json @@ -0,0 +1,25 @@ +{ + "variables": [], + "info": { + "name": "Foodbank", + "_postman_id": "a8e172cf-8f6b-3abf-a0ee-90832eecb2bf", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "GET All Categories", + "request": { + "url": "http://localhost:8000/category/all", + "method": "GET", + "header": [], + "body": { + "mode": "formdata", + "formdata": [] + }, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/api/composer.json b/api/composer.json new file mode 100644 index 0000000..2b1a290 --- /dev/null +++ b/api/composer.json @@ -0,0 +1,14 @@ +{ + "name": "brian/foodbank", + "type": "project", + "authors": [ + { + "name": "briankelleher", + "email": "bkelleher4@gmail.com" + } + ], + "require": { + "propel/propel": "~2.0@dev", + "slim/slim": "~3.0" + } +} diff --git a/api/composer.lock b/api/composer.lock new file mode 100644 index 0000000..4cf48b4 --- /dev/null +++ b/api/composer.lock @@ -0,0 +1,883 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "This file is @generated automatically" + ], + "content-hash": "bcabdd706f796d0db77a591eea6cbe9b", + "packages": [ + { + "name": "container-interop/container-interop", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/container-interop/container-interop.git", + "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/container-interop/container-interop/zipball/fc08354828f8fd3245f77a66b9e23a6bca48297e", + "reference": "fc08354828f8fd3245f77a66b9e23a6bca48297e", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interop\\Container\\": "src/Interop/Container/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Promoting the interoperability of container objects (DIC, SL, etc.)", + "time": "2014-12-30T15:22:37+00:00" + }, + { + "name": "nikic/fast-route", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/FastRoute.git", + "reference": "8ea928195fa9b907f0d6e48312d323c1a13cc2af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/FastRoute/zipball/8ea928195fa9b907f0d6e48312d323c1a13cc2af", + "reference": "8ea928195fa9b907f0d6e48312d323c1a13cc2af", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "FastRoute\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov", + "email": "nikic@php.net" + } + ], + "description": "Fast request router for PHP", + "keywords": [ + "router", + "routing" + ], + "time": "2016-06-12T19:08:51+00:00" + }, + { + "name": "pimple/pimple", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/silexphp/Pimple.git", + "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a30f7d6e57565a2e1a316e1baf2a483f788b258a", + "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Pimple": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Pimple, a simple Dependency Injection Container", + "homepage": "http://pimple.sensiolabs.org", + "keywords": [ + "container", + "dependency injection" + ], + "time": "2015-09-11T15:10:35+00:00" + }, + { + "name": "propel/propel", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/propelorm/Propel2.git", + "reference": "58d57adc9509e47af757b00458d83c24b273fbfa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/propelorm/Propel2/zipball/58d57adc9509e47af757b00458d83c24b273fbfa", + "reference": "58d57adc9509e47af757b00458d83c24b273fbfa", + "shasum": "" + }, + "require": { + "php": ">=5.5", + "psr/log": "~1.0", + "symfony/config": "~2.3||~3.0", + "symfony/console": "~2.3||~3.0", + "symfony/filesystem": "~2.3||~3.0", + "symfony/finder": "~2.3||~3.0", + "symfony/validator": "~2.3||~3.0", + "symfony/yaml": "~2.3||~3.0" + }, + "require-dev": { + "behat/behat": "~2.4", + "monolog/monolog": "~1.3", + "phpunit/phpunit": "~4.0||~5.0" + }, + "suggest": { + "monolog/monolog": "The recommended logging library to use with Propel." + }, + "bin": [ + "bin/propel" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-0": { + "Propel": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "william.durand1@gmail.com" + } + ], + "description": "Propel2 is an open-source Object-Relational Mapping (ORM) for PHP 5.5 and up.", + "homepage": "http://www.propelorm.org/", + "keywords": [ + "Active Record", + "orm", + "persistence" + ], + "time": "2016-10-15 23:21:13" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/log", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2016-10-10T12:19:37+00:00" + }, + { + "name": "slim/slim", + "version": "3.5.0", + "source": { + "type": "git", + "url": "https://github.com/slimphp/Slim.git", + "reference": "184352bc1913d7ba552ab4131d62f4730ddb0893" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/slimphp/Slim/zipball/184352bc1913d7ba552ab4131d62f4730ddb0893", + "reference": "184352bc1913d7ba552ab4131d62f4730ddb0893", + "shasum": "" + }, + "require": { + "container-interop/container-interop": "^1.1", + "nikic/fast-route": "^1.0", + "php": ">=5.5.0", + "pimple/pimple": "^3.0", + "psr/http-message": "^1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0", + "squizlabs/php_codesniffer": "^2.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Slim\\": "Slim" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rob Allen", + "email": "rob@akrabat.com", + "homepage": "http://akrabat.com" + }, + { + "name": "Josh Lockhart", + "email": "hello@joshlockhart.com", + "homepage": "https://joshlockhart.com" + }, + { + "name": "Gabriel Manricks", + "email": "gmanricks@me.com", + "homepage": "http://gabrielmanricks.com" + }, + { + "name": "Andrew Smith", + "email": "a.smith@silentworks.co.uk", + "homepage": "http://silentworks.co.uk" + } + ], + "description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs", + "homepage": "http://slimframework.com", + "keywords": [ + "api", + "framework", + "micro", + "router" + ], + "time": "2016-07-26T15:12:13+00:00" + }, + { + "name": "symfony/config", + "version": "v3.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "949e7e846743a7f9e46dc50eb639d5fde1f53341" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/949e7e846743a7f9e46dc50eb639d5fde1f53341", + "reference": "949e7e846743a7f9e46dc50eb639d5fde1f53341", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/filesystem": "~2.8|~3.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "time": "2016-09-25T08:27:07+00:00" + }, + { + "name": "symfony/console", + "version": "v3.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "c99da1119ae61e15de0e4829196b9fba6f73d065" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/c99da1119ae61e15de0e4829196b9fba6f73d065", + "reference": "c99da1119ae61e15de0e4829196b9fba6f73d065", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/debug": "~2.8|~3.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.8|~3.0", + "symfony/process": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "time": "2016-10-06T01:44:51+00:00" + }, + { + "name": "symfony/debug", + "version": "v3.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "e2b3f74a67fc928adc3c1b9027f73e1bc01190a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/e2b3f74a67fc928adc3c1b9027f73e1bc01190a8", + "reference": "e2b3f74a67fc928adc3c1b9027f73e1bc01190a8", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + }, + "require-dev": { + "symfony/class-loader": "~2.8|~3.0", + "symfony/http-kernel": "~2.8|~3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Debug Component", + "homepage": "https://symfony.com", + "time": "2016-09-06T11:02:40+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v3.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "0565b61bf098cb4dc09f4f103f033138ae4f42c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/0565b61bf098cb4dc09f4f103f033138ae4f42c6", + "reference": "0565b61bf098cb4dc09f4f103f033138ae4f42c6", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "time": "2016-10-18T04:30:12+00:00" + }, + { + "name": "symfony/finder", + "version": "v3.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "205b5ffbb518a98ba2ae60a52656c4a31ab00c6f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/205b5ffbb518a98ba2ae60a52656c4a31ab00c6f", + "reference": "205b5ffbb518a98ba2ae60a52656c4a31ab00c6f", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "time": "2016-09-28T00:11:12+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "dff51f72b0706335131b00a7f49606168c582594" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/dff51f72b0706335131b00a7f49606168c582594", + "reference": "dff51f72b0706335131b00a7f49606168c582594", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2016-05-18T14:26:46+00:00" + }, + { + "name": "symfony/translation", + "version": "v3.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "ff1285087397d2f64041b35e591f3025881c90cd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/ff1285087397d2f64041b35e591f3025881c90cd", + "reference": "ff1285087397d2f64041b35e591f3025881c90cd", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/config": "<2.8" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2016-10-18T04:30:12+00:00" + }, + { + "name": "symfony/validator", + "version": "v3.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/validator.git", + "reference": "709dffa9193ee2b88e1fb1760cc0ba5780f1a8b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/validator/zipball/709dffa9193ee2b88e1fb1760cc0ba5780f1a8b2", + "reference": "709dffa9193ee2b88e1fb1760cc0ba5780f1a8b2", + "shasum": "" + }, + "require": { + "php": ">=5.5.9", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation": "~2.8|~3.0" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "egulias/email-validator": "~1.2,>=1.2.1", + "symfony/cache": "~3.1", + "symfony/config": "~2.8|~3.0", + "symfony/expression-language": "~2.8|~3.0", + "symfony/http-foundation": "~2.8|~3.0", + "symfony/intl": "~2.8|~3.0", + "symfony/yaml": "~2.8|~3.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "egulias/email-validator": "Strict (RFC compliant) email validation", + "psr/cache-implementation": "For using the metadata cache.", + "symfony/config": "", + "symfony/expression-language": "For using the Expression validator", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For using the Expression validator", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Validator\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Validator Component", + "homepage": "https://symfony.com", + "time": "2016-10-19T22:38:53+00:00" + }, + { + "name": "symfony/yaml", + "version": "v3.1.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "7ff51b06c6c3d5cc6686df69004a42c69df09e27" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/7ff51b06c6c3d5cc6686df69004a42c69df09e27", + "reference": "7ff51b06c6c3d5cc6686df69004a42c69df09e27", + "shasum": "" + }, + "require": { + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "time": "2016-10-24T18:41:13+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "propel/propel": 20 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [] +} diff --git a/api/config.php b/api/config.php new file mode 100644 index 0000000..c07ab83 --- /dev/null +++ b/api/config.php @@ -0,0 +1,4 @@ +modifiedColumns; + } + + /** + * Has specified column been modified? + * + * @param string $col column fully qualified name (TableMap::TYPE_COLNAME), e.g. Book::AUTHOR_ID + * @return boolean True if $col has been modified. + */ + public function isColumnModified($col) + { + return $this->modifiedColumns && isset($this->modifiedColumns[$col]); + } + + /** + * Get the columns that have been modified in this object. + * @return array A unique list of the modified column names for this object. + */ + public function getModifiedColumns() + { + return $this->modifiedColumns ? array_keys($this->modifiedColumns) : []; + } + + /** + * Returns whether the object has ever been saved. This will + * be false, if the object was retrieved from storage or was created + * and then saved. + * + * @return boolean true, if the object has never been persisted. + */ + public function isNew() + { + return $this->new; + } + + /** + * Setter for the isNew attribute. This method will be called + * by Propel-generated children and objects. + * + * @param boolean $b the state of the object. + */ + public function setNew($b) + { + $this->new = (boolean) $b; + } + + /** + * Whether this object has been deleted. + * @return boolean The deleted state of this object. + */ + public function isDeleted() + { + return $this->deleted; + } + + /** + * Specify whether this object has been deleted. + * @param boolean $b The deleted state of this object. + * @return void + */ + public function setDeleted($b) + { + $this->deleted = (boolean) $b; + } + + /** + * Sets the modified state for the object to be false. + * @param string $col If supplied, only the specified column is reset. + * @return void + */ + public function resetModified($col = null) + { + if (null !== $col) { + if (isset($this->modifiedColumns[$col])) { + unset($this->modifiedColumns[$col]); + } + } else { + $this->modifiedColumns = array(); + } + } + + /** + * Compares this with another Category instance. If + * obj is an instance of Category, delegates to + * equals(Category). Otherwise, returns false. + * + * @param mixed $obj The object to compare to. + * @return boolean Whether equal to the object specified. + */ + public function equals($obj) + { + if (!$obj instanceof static) { + return false; + } + + if ($this === $obj) { + return true; + } + + if (null === $this->getPrimaryKey() || null === $obj->getPrimaryKey()) { + return false; + } + + return $this->getPrimaryKey() === $obj->getPrimaryKey(); + } + + /** + * Get the associative array of the virtual columns in this object + * + * @return array + */ + public function getVirtualColumns() + { + return $this->virtualColumns; + } + + /** + * Checks the existence of a virtual column in this object + * + * @param string $name The virtual column name + * @return boolean + */ + public function hasVirtualColumn($name) + { + return array_key_exists($name, $this->virtualColumns); + } + + /** + * Get the value of a virtual column in this object + * + * @param string $name The virtual column name + * @return mixed + * + * @throws PropelException + */ + public function getVirtualColumn($name) + { + if (!$this->hasVirtualColumn($name)) { + throw new PropelException(sprintf('Cannot get value of inexistent virtual column %s.', $name)); + } + + return $this->virtualColumns[$name]; + } + + /** + * Set the value of a virtual column in this object + * + * @param string $name The virtual column name + * @param mixed $value The value to give to the virtual column + * + * @return $this|Category The current object, for fluid interface + */ + public function setVirtualColumn($name, $value) + { + $this->virtualColumns[$name] = $value; + + return $this; + } + + /** + * Logs a message using Propel::log(). + * + * @param string $msg + * @param int $priority One of the Propel::LOG_* logging levels + * @return boolean + */ + protected function log($msg, $priority = Propel::LOG_INFO) + { + return Propel::log(get_class($this) . ': ' . $msg, $priority); + } + + /** + * Export the current object properties to a string, using a given parser format + * + * $book = BookQuery::create()->findPk(9012); + * echo $book->exportTo('JSON'); + * => {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * @param mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy load(ed) columns. Defaults to TRUE. + * @return string The exported data + */ + public function exportTo($parser, $includeLazyLoadColumns = true) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + return $parser->fromArray($this->toArray(TableMap::TYPE_PHPNAME, $includeLazyLoadColumns, array(), true)); + } + + /** + * Clean up internal collections prior to serializing + * Avoids recursive loops that turn into segmentation faults when serializing + */ + public function __sleep() + { + $this->clearAllReferences(); + + $cls = new \ReflectionClass($this); + $propertyNames = []; + $serializableProperties = array_diff($cls->getProperties(), $cls->getProperties(\ReflectionProperty::IS_STATIC)); + + foreach($serializableProperties as $property) { + $propertyNames[] = $property->getName(); + } + + return $propertyNames; + } + + /** + * Get the [id] column value. + * + * @return int + */ + public function getId() + { + return $this->id; + } + + /** + * Get the [name] column value. + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set the value of [id] column. + * + * @param int $v new value + * @return $this|\Category The current object (for fluent API support) + */ + public function setId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->id !== $v) { + $this->id = $v; + $this->modifiedColumns[CategoryTableMap::COL_ID] = true; + } + + return $this; + } // setId() + + /** + * Set the value of [name] column. + * + * @param string $v new value + * @return $this|\Category The current object (for fluent API support) + */ + public function setName($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->name !== $v) { + $this->name = $v; + $this->modifiedColumns[CategoryTableMap::COL_NAME] = true; + } + + return $this; + } // setName() + + /** + * Indicates whether the columns in this object are only set to default values. + * + * This method can be used in conjunction with isModified() to indicate whether an object is both + * modified _and_ has some values set which are non-default. + * + * @return boolean Whether the columns in this object are only been set with default values. + */ + public function hasOnlyDefaultValues() + { + // otherwise, everything was equal, so return TRUE + return true; + } // hasOnlyDefaultValues() + + /** + * Hydrates (populates) the object variables with values from the database resultset. + * + * An offset (0-based "start column") is specified so that objects can be hydrated + * with a subset of the columns in the resultset rows. This is needed, for example, + * for results of JOIN queries where the resultset row includes columns from two or + * more tables. + * + * @param array $row The row returned by DataFetcher->fetch(). + * @param int $startcol 0-based offset column which indicates which restultset column to start with. + * @param boolean $rehydrate Whether this object is being re-hydrated from the database. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @return int next starting column + * @throws PropelException - Any caught Exception will be rewrapped as a PropelException. + */ + public function hydrate($row, $startcol = 0, $rehydrate = false, $indexType = TableMap::TYPE_NUM) + { + try { + + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : CategoryTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $this->id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : CategoryTableMap::translateFieldName('Name', TableMap::TYPE_PHPNAME, $indexType)]; + $this->name = (null !== $col) ? (string) $col : null; + $this->resetModified(); + + $this->setNew(false); + + if ($rehydrate) { + $this->ensureConsistency(); + } + + return $startcol + 2; // 2 = CategoryTableMap::NUM_HYDRATE_COLUMNS. + + } catch (Exception $e) { + throw new PropelException(sprintf('Error populating %s object', '\\Category'), 0, $e); + } + } + + /** + * Checks and repairs the internal consistency of the object. + * + * This method is executed after an already-instantiated object is re-hydrated + * from the database. It exists to check any foreign keys to make sure that + * the objects related to the current object are correct based on foreign key. + * + * You can override this method in the stub class, but you should always invoke + * the base method from the overridden method (i.e. parent::ensureConsistency()), + * in case your model changes. + * + * @throws PropelException + */ + public function ensureConsistency() + { + } // ensureConsistency + + /** + * Reloads this object from datastore based on primary key and (optionally) resets all associated objects. + * + * This will only work if the object has been saved and has a valid primary key set. + * + * @param boolean $deep (optional) Whether to also de-associated any related objects. + * @param ConnectionInterface $con (optional) The ConnectionInterface connection to use. + * @return void + * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db + */ + public function reload($deep = false, ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("Cannot reload a deleted object."); + } + + if ($this->isNew()) { + throw new PropelException("Cannot reload an unsaved object."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(CategoryTableMap::DATABASE_NAME); + } + + // We don't need to alter the object instance pool; we're just modifying this instance + // already in the pool. + + $dataFetcher = ChildCategoryQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $row = $dataFetcher->fetch(); + $dataFetcher->close(); + if (!$row) { + throw new PropelException('Cannot find matching row in the database to reload object values.'); + } + $this->hydrate($row, 0, true, $dataFetcher->getIndexType()); // rehydrate + + if ($deep) { // also de-associate any related objects? + + $this->collCategoryRankNutrients = null; + + $this->collFoods = null; + + $this->collSubcategories = null; + + } // if (deep) + } + + /** + * Removes this object from datastore and sets delete attribute. + * + * @param ConnectionInterface $con + * @return void + * @throws PropelException + * @see Category::setDeleted() + * @see Category::isDeleted() + */ + public function delete(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("This object has already been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryTableMap::DATABASE_NAME); + } + + $con->transaction(function () use ($con) { + $deleteQuery = ChildCategoryQuery::create() + ->filterByPrimaryKey($this->getPrimaryKey()); + $ret = $this->preDelete($con); + if ($ret) { + $deleteQuery->delete($con); + $this->postDelete($con); + $this->setDeleted(true); + } + }); + } + + /** + * Persists this object to the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All modified related objects will also be persisted in the doSave() + * method. This method wraps all precipitate database operations in a + * single transaction. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see doSave() + */ + public function save(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryTableMap::DATABASE_NAME); + } + + return $con->transaction(function () use ($con) { + $ret = $this->preSave($con); + $isInsert = $this->isNew(); + if ($isInsert) { + $ret = $ret && $this->preInsert($con); + } else { + $ret = $ret && $this->preUpdate($con); + } + if ($ret) { + $affectedRows = $this->doSave($con); + if ($isInsert) { + $this->postInsert($con); + } else { + $this->postUpdate($con); + } + $this->postSave($con); + CategoryTableMap::addInstanceToPool($this); + } else { + $affectedRows = 0; + } + + return $affectedRows; + }); + } + + /** + * Performs the work of inserting or updating the row in the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All related objects are also updated in this method. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see save() + */ + protected function doSave(ConnectionInterface $con) + { + $affectedRows = 0; // initialize var to track total num of affected rows + if (!$this->alreadyInSave) { + $this->alreadyInSave = true; + + if ($this->isNew() || $this->isModified()) { + // persist changes + if ($this->isNew()) { + $this->doInsert($con); + $affectedRows += 1; + } else { + $affectedRows += $this->doUpdate($con); + } + $this->resetModified(); + } + + if ($this->categoryRankNutrientsScheduledForDeletion !== null) { + if (!$this->categoryRankNutrientsScheduledForDeletion->isEmpty()) { + \CategoryRankNutrientQuery::create() + ->filterByPrimaryKeys($this->categoryRankNutrientsScheduledForDeletion->getPrimaryKeys(false)) + ->delete($con); + $this->categoryRankNutrientsScheduledForDeletion = null; + } + } + + if ($this->collCategoryRankNutrients !== null) { + foreach ($this->collCategoryRankNutrients as $referrerFK) { + if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { + $affectedRows += $referrerFK->save($con); + } + } + } + + if ($this->foodsScheduledForDeletion !== null) { + if (!$this->foodsScheduledForDeletion->isEmpty()) { + foreach ($this->foodsScheduledForDeletion as $food) { + // need to save related object because we set the relation to null + $food->save($con); + } + $this->foodsScheduledForDeletion = null; + } + } + + if ($this->collFoods !== null) { + foreach ($this->collFoods as $referrerFK) { + if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { + $affectedRows += $referrerFK->save($con); + } + } + } + + if ($this->subcategoriesScheduledForDeletion !== null) { + if (!$this->subcategoriesScheduledForDeletion->isEmpty()) { + foreach ($this->subcategoriesScheduledForDeletion as $subcategory) { + // need to save related object because we set the relation to null + $subcategory->save($con); + } + $this->subcategoriesScheduledForDeletion = null; + } + } + + if ($this->collSubcategories !== null) { + foreach ($this->collSubcategories as $referrerFK) { + if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { + $affectedRows += $referrerFK->save($con); + } + } + } + + $this->alreadyInSave = false; + + } + + return $affectedRows; + } // doSave() + + /** + * Insert the row in the database. + * + * @param ConnectionInterface $con + * + * @throws PropelException + * @see doSave() + */ + protected function doInsert(ConnectionInterface $con) + { + $modifiedColumns = array(); + $index = 0; + + $this->modifiedColumns[CategoryTableMap::COL_ID] = true; + if (null !== $this->id) { + throw new PropelException('Cannot insert a value for auto-increment primary key (' . CategoryTableMap::COL_ID . ')'); + } + + // check the columns in natural order for more readable SQL queries + if ($this->isColumnModified(CategoryTableMap::COL_ID)) { + $modifiedColumns[':p' . $index++] = 'id'; + } + if ($this->isColumnModified(CategoryTableMap::COL_NAME)) { + $modifiedColumns[':p' . $index++] = 'name'; + } + + $sql = sprintf( + 'INSERT INTO Category (%s) VALUES (%s)', + implode(', ', $modifiedColumns), + implode(', ', array_keys($modifiedColumns)) + ); + + try { + $stmt = $con->prepare($sql); + foreach ($modifiedColumns as $identifier => $columnName) { + switch ($columnName) { + case 'id': + $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); + break; + case 'name': + $stmt->bindValue($identifier, $this->name, PDO::PARAM_STR); + break; + } + } + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e); + } + + try { + $pk = $con->lastInsertId(); + } catch (Exception $e) { + throw new PropelException('Unable to get autoincrement id.', 0, $e); + } + $this->setId($pk); + + $this->setNew(false); + } + + /** + * Update the row in the database. + * + * @param ConnectionInterface $con + * + * @return Integer Number of updated rows + * @see doSave() + */ + protected function doUpdate(ConnectionInterface $con) + { + $selectCriteria = $this->buildPkeyCriteria(); + $valuesCriteria = $this->buildCriteria(); + + return $selectCriteria->doUpdate($valuesCriteria, $con); + } + + /** + * Retrieves a field from the object by name passed in as a string. + * + * @param string $name name + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return mixed Value of field. + */ + public function getByName($name, $type = TableMap::TYPE_PHPNAME) + { + $pos = CategoryTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $field = $this->getByPosition($pos); + + return $field; + } + + /** + * Retrieves a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @return mixed Value of field at $pos + */ + public function getByPosition($pos) + { + switch ($pos) { + case 0: + return $this->getId(); + break; + case 1: + return $this->getName(); + break; + default: + return null; + break; + } // switch() + } + + /** + * Exports the object as an array. + * + * You can specify the key type of the array by passing one of the class + * type constants. + * + * @param string $keyType (optional) One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE. + * @param array $alreadyDumpedObjects List of objects to skip to avoid recursion + * @param boolean $includeForeignObjects (optional) Whether to include hydrated related objects. Default to FALSE. + * + * @return array an associative array containing the field names (as keys) and field values + */ + public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) + { + + if (isset($alreadyDumpedObjects['Category'][$this->hashCode()])) { + return '*RECURSION*'; + } + $alreadyDumpedObjects['Category'][$this->hashCode()] = true; + $keys = CategoryTableMap::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getName(), + ); + $virtualColumns = $this->virtualColumns; + foreach ($virtualColumns as $key => $virtualColumn) { + $result[$key] = $virtualColumn; + } + + if ($includeForeignObjects) { + if (null !== $this->collCategoryRankNutrients) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'categoryRankNutrients'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Category_Rank_Nutrients'; + break; + default: + $key = 'CategoryRankNutrients'; + } + + $result[$key] = $this->collCategoryRankNutrients->toArray(null, false, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + } + if (null !== $this->collFoods) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'foods'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Foods'; + break; + default: + $key = 'Foods'; + } + + $result[$key] = $this->collFoods->toArray(null, false, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + } + if (null !== $this->collSubcategories) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'subcategories'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Subcategories'; + break; + default: + $key = 'Subcategories'; + } + + $result[$key] = $this->collSubcategories->toArray(null, false, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + } + } + + return $result; + } + + /** + * Sets a field from the object by name passed in as a string. + * + * @param string $name + * @param mixed $value field value + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return $this|\Category + */ + public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) + { + $pos = CategoryTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + + return $this->setByPosition($pos, $value); + } + + /** + * Sets a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @param mixed $value field value + * @return $this|\Category + */ + public function setByPosition($pos, $value) + { + switch ($pos) { + case 0: + $this->setId($value); + break; + case 1: + $this->setName($value); + break; + } // switch() + + return $this; + } + + /** + * Populates the object using an array. + * + * This is particularly useful when populating an object from one of the + * request arrays (e.g. $_POST). This method goes through the column + * names, checking to see whether a matching key exists in populated + * array. If so the setByName() method is called for that column. + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param array $arr An array to populate the object from. + * @param string $keyType The type of keys the array uses. + * @return void + */ + public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) + { + $keys = CategoryTableMap::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) { + $this->setId($arr[$keys[0]]); + } + if (array_key_exists($keys[1], $arr)) { + $this->setName($arr[$keys[1]]); + } + } + + /** + * Populate the current object from a string, using a given parser format + * + * $book = new Book(); + * $book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param mixed $parser A AbstractParser instance, + * or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param string $data The source data to import from + * @param string $keyType The type of keys the array uses. + * + * @return $this|\Category The current object, for fluid interface + */ + public function importFrom($parser, $data, $keyType = TableMap::TYPE_PHPNAME) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + $this->fromArray($parser->toArray($data), $keyType); + + return $this; + } + + /** + * Build a Criteria object containing the values of all modified columns in this object. + * + * @return Criteria The Criteria object containing all modified values. + */ + public function buildCriteria() + { + $criteria = new Criteria(CategoryTableMap::DATABASE_NAME); + + if ($this->isColumnModified(CategoryTableMap::COL_ID)) { + $criteria->add(CategoryTableMap::COL_ID, $this->id); + } + if ($this->isColumnModified(CategoryTableMap::COL_NAME)) { + $criteria->add(CategoryTableMap::COL_NAME, $this->name); + } + + return $criteria; + } + + /** + * Builds a Criteria object containing the primary key for this object. + * + * Unlike buildCriteria() this method includes the primary key values regardless + * of whether or not they have been modified. + * + * @throws LogicException if no primary key is defined + * + * @return Criteria The Criteria object containing value(s) for primary key(s). + */ + public function buildPkeyCriteria() + { + $criteria = ChildCategoryQuery::create(); + $criteria->add(CategoryTableMap::COL_ID, $this->id); + + return $criteria; + } + + /** + * If the primary key is not null, return the hashcode of the + * primary key. Otherwise, return the hash code of the object. + * + * @return int Hashcode + */ + public function hashCode() + { + $validPk = null !== $this->getId(); + + $validPrimaryKeyFKs = 0; + $primaryKeyFKs = []; + + if ($validPk) { + return crc32(json_encode($this->getPrimaryKey(), JSON_UNESCAPED_UNICODE)); + } elseif ($validPrimaryKeyFKs) { + return crc32(json_encode($primaryKeyFKs, JSON_UNESCAPED_UNICODE)); + } + + return spl_object_hash($this); + } + + /** + * Returns the primary key for this object (row). + * @return int + */ + public function getPrimaryKey() + { + return $this->getId(); + } + + /** + * Generic method to set the primary key (id column). + * + * @param int $key Primary key. + * @return void + */ + public function setPrimaryKey($key) + { + $this->setId($key); + } + + /** + * Returns true if the primary key for this object is null. + * @return boolean + */ + public function isPrimaryKeyNull() + { + return null === $this->getId(); + } + + /** + * Sets contents of passed object to values from current object. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param object $copyObj An object of \Category (or compatible) type. + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. + * @throws PropelException + */ + public function copyInto($copyObj, $deepCopy = false, $makeNew = true) + { + $copyObj->setName($this->getName()); + + if ($deepCopy) { + // important: temporarily setNew(false) because this affects the behavior of + // the getter/setter methods for fkey referrer objects. + $copyObj->setNew(false); + + foreach ($this->getCategoryRankNutrients() as $relObj) { + if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves + $copyObj->addCategoryRankNutrient($relObj->copy($deepCopy)); + } + } + + foreach ($this->getFoods() as $relObj) { + if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves + $copyObj->addFood($relObj->copy($deepCopy)); + } + } + + foreach ($this->getSubcategories() as $relObj) { + if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves + $copyObj->addSubcategory($relObj->copy($deepCopy)); + } + } + + } // if ($deepCopy) + + if ($makeNew) { + $copyObj->setNew(true); + $copyObj->setId(NULL); // this is a auto-increment column, so set to default value + } + } + + /** + * Makes a copy of this object that will be inserted as a new row in table when saved. + * It creates a new object filling in the simple attributes, but skipping any primary + * keys that are defined for the table. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @return \Category Clone of current object. + * @throws PropelException + */ + public function copy($deepCopy = false) + { + // we use get_class(), because this might be a subclass + $clazz = get_class($this); + $copyObj = new $clazz(); + $this->copyInto($copyObj, $deepCopy); + + return $copyObj; + } + + + /** + * Initializes a collection based on the name of a relation. + * Avoids crafting an 'init[$relationName]s' method name + * that wouldn't work when StandardEnglishPluralizer is used. + * + * @param string $relationName The name of the relation to initialize + * @return void + */ + public function initRelation($relationName) + { + if ('CategoryRankNutrient' == $relationName) { + return $this->initCategoryRankNutrients(); + } + if ('Food' == $relationName) { + return $this->initFoods(); + } + if ('Subcategory' == $relationName) { + return $this->initSubcategories(); + } + } + + /** + * Clears out the collCategoryRankNutrients collection + * + * This does not modify the database; however, it will remove any associated objects, causing + * them to be refetched by subsequent calls to accessor method. + * + * @return void + * @see addCategoryRankNutrients() + */ + public function clearCategoryRankNutrients() + { + $this->collCategoryRankNutrients = null; // important to set this to NULL since that means it is uninitialized + } + + /** + * Reset is the collCategoryRankNutrients collection loaded partially. + */ + public function resetPartialCategoryRankNutrients($v = true) + { + $this->collCategoryRankNutrientsPartial = $v; + } + + /** + * Initializes the collCategoryRankNutrients collection. + * + * By default this just sets the collCategoryRankNutrients collection to an empty array (like clearcollCategoryRankNutrients()); + * however, you may wish to override this method in your stub class to provide setting appropriate + * to your application -- for example, setting the initial array to the values stored in database. + * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * + * @return void + */ + public function initCategoryRankNutrients($overrideExisting = true) + { + if (null !== $this->collCategoryRankNutrients && !$overrideExisting) { + return; + } + + $collectionClassName = CategoryRankNutrientTableMap::getTableMap()->getCollectionClassName(); + + $this->collCategoryRankNutrients = new $collectionClassName; + $this->collCategoryRankNutrients->setModel('\CategoryRankNutrient'); + } + + /** + * Gets an array of ChildCategoryRankNutrient objects which contain a foreign key that references this object. + * + * If the $criteria is not null, it is used to always fetch the results from the database. + * Otherwise the results are fetched from the database the first time, then cached. + * Next time the same method is called without $criteria, the cached collection is returned. + * If this ChildCategory is new, it will return + * an empty collection or the current collection; the criteria is ignored on a new object. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return ObjectCollection|ChildCategoryRankNutrient[] List of ChildCategoryRankNutrient objects + * @throws PropelException + */ + public function getCategoryRankNutrients(Criteria $criteria = null, ConnectionInterface $con = null) + { + $partial = $this->collCategoryRankNutrientsPartial && !$this->isNew(); + if (null === $this->collCategoryRankNutrients || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collCategoryRankNutrients) { + // return empty collection + $this->initCategoryRankNutrients(); + } else { + $collCategoryRankNutrients = ChildCategoryRankNutrientQuery::create(null, $criteria) + ->filterByCategory($this) + ->find($con); + + if (null !== $criteria) { + if (false !== $this->collCategoryRankNutrientsPartial && count($collCategoryRankNutrients)) { + $this->initCategoryRankNutrients(false); + + foreach ($collCategoryRankNutrients as $obj) { + if (false == $this->collCategoryRankNutrients->contains($obj)) { + $this->collCategoryRankNutrients->append($obj); + } + } + + $this->collCategoryRankNutrientsPartial = true; + } + + return $collCategoryRankNutrients; + } + + if ($partial && $this->collCategoryRankNutrients) { + foreach ($this->collCategoryRankNutrients as $obj) { + if ($obj->isNew()) { + $collCategoryRankNutrients[] = $obj; + } + } + } + + $this->collCategoryRankNutrients = $collCategoryRankNutrients; + $this->collCategoryRankNutrientsPartial = false; + } + } + + return $this->collCategoryRankNutrients; + } + + /** + * Sets a collection of ChildCategoryRankNutrient objects related by a one-to-many relationship + * to the current object. + * It will also schedule objects for deletion based on a diff between old objects (aka persisted) + * and new objects from the given Propel collection. + * + * @param Collection $categoryRankNutrients A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return $this|ChildCategory The current object (for fluent API support) + */ + public function setCategoryRankNutrients(Collection $categoryRankNutrients, ConnectionInterface $con = null) + { + /** @var ChildCategoryRankNutrient[] $categoryRankNutrientsToDelete */ + $categoryRankNutrientsToDelete = $this->getCategoryRankNutrients(new Criteria(), $con)->diff($categoryRankNutrients); + + + $this->categoryRankNutrientsScheduledForDeletion = $categoryRankNutrientsToDelete; + + foreach ($categoryRankNutrientsToDelete as $categoryRankNutrientRemoved) { + $categoryRankNutrientRemoved->setCategory(null); + } + + $this->collCategoryRankNutrients = null; + foreach ($categoryRankNutrients as $categoryRankNutrient) { + $this->addCategoryRankNutrient($categoryRankNutrient); + } + + $this->collCategoryRankNutrients = $categoryRankNutrients; + $this->collCategoryRankNutrientsPartial = false; + + return $this; + } + + /** + * Returns the number of related CategoryRankNutrient objects. + * + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related CategoryRankNutrient objects. + * @throws PropelException + */ + public function countCategoryRankNutrients(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + { + $partial = $this->collCategoryRankNutrientsPartial && !$this->isNew(); + if (null === $this->collCategoryRankNutrients || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collCategoryRankNutrients) { + return 0; + } + + if ($partial && !$criteria) { + return count($this->getCategoryRankNutrients()); + } + + $query = ChildCategoryRankNutrientQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByCategory($this) + ->count($con); + } + + return count($this->collCategoryRankNutrients); + } + + /** + * Method called to associate a ChildCategoryRankNutrient object to this object + * through the ChildCategoryRankNutrient foreign key attribute. + * + * @param ChildCategoryRankNutrient $l ChildCategoryRankNutrient + * @return $this|\Category The current object (for fluent API support) + */ + public function addCategoryRankNutrient(ChildCategoryRankNutrient $l) + { + if ($this->collCategoryRankNutrients === null) { + $this->initCategoryRankNutrients(); + $this->collCategoryRankNutrientsPartial = true; + } + + if (!$this->collCategoryRankNutrients->contains($l)) { + $this->doAddCategoryRankNutrient($l); + + if ($this->categoryRankNutrientsScheduledForDeletion and $this->categoryRankNutrientsScheduledForDeletion->contains($l)) { + $this->categoryRankNutrientsScheduledForDeletion->remove($this->categoryRankNutrientsScheduledForDeletion->search($l)); + } + } + + return $this; + } + + /** + * @param ChildCategoryRankNutrient $categoryRankNutrient The ChildCategoryRankNutrient object to add. + */ + protected function doAddCategoryRankNutrient(ChildCategoryRankNutrient $categoryRankNutrient) + { + $this->collCategoryRankNutrients[]= $categoryRankNutrient; + $categoryRankNutrient->setCategory($this); + } + + /** + * @param ChildCategoryRankNutrient $categoryRankNutrient The ChildCategoryRankNutrient object to remove. + * @return $this|ChildCategory The current object (for fluent API support) + */ + public function removeCategoryRankNutrient(ChildCategoryRankNutrient $categoryRankNutrient) + { + if ($this->getCategoryRankNutrients()->contains($categoryRankNutrient)) { + $pos = $this->collCategoryRankNutrients->search($categoryRankNutrient); + $this->collCategoryRankNutrients->remove($pos); + if (null === $this->categoryRankNutrientsScheduledForDeletion) { + $this->categoryRankNutrientsScheduledForDeletion = clone $this->collCategoryRankNutrients; + $this->categoryRankNutrientsScheduledForDeletion->clear(); + } + $this->categoryRankNutrientsScheduledForDeletion[]= clone $categoryRankNutrient; + $categoryRankNutrient->setCategory(null); + } + + return $this; + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Category is new, it will return + * an empty collection; or if this Category has previously + * been saved, it will retrieve related CategoryRankNutrients from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Category. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return ObjectCollection|ChildCategoryRankNutrient[] List of ChildCategoryRankNutrient objects + */ + public function getCategoryRankNutrientsJoinNutrient(Criteria $criteria = null, ConnectionInterface $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildCategoryRankNutrientQuery::create(null, $criteria); + $query->joinWith('Nutrient', $joinBehavior); + + return $this->getCategoryRankNutrients($query, $con); + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Category is new, it will return + * an empty collection; or if this Category has previously + * been saved, it will retrieve related CategoryRankNutrients from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Category. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return ObjectCollection|ChildCategoryRankNutrient[] List of ChildCategoryRankNutrient objects + */ + public function getCategoryRankNutrientsJoinRank(Criteria $criteria = null, ConnectionInterface $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildCategoryRankNutrientQuery::create(null, $criteria); + $query->joinWith('Rank', $joinBehavior); + + return $this->getCategoryRankNutrients($query, $con); + } + + /** + * Clears out the collFoods collection + * + * This does not modify the database; however, it will remove any associated objects, causing + * them to be refetched by subsequent calls to accessor method. + * + * @return void + * @see addFoods() + */ + public function clearFoods() + { + $this->collFoods = null; // important to set this to NULL since that means it is uninitialized + } + + /** + * Reset is the collFoods collection loaded partially. + */ + public function resetPartialFoods($v = true) + { + $this->collFoodsPartial = $v; + } + + /** + * Initializes the collFoods collection. + * + * By default this just sets the collFoods collection to an empty array (like clearcollFoods()); + * however, you may wish to override this method in your stub class to provide setting appropriate + * to your application -- for example, setting the initial array to the values stored in database. + * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * + * @return void + */ + public function initFoods($overrideExisting = true) + { + if (null !== $this->collFoods && !$overrideExisting) { + return; + } + + $collectionClassName = FoodTableMap::getTableMap()->getCollectionClassName(); + + $this->collFoods = new $collectionClassName; + $this->collFoods->setModel('\Food'); + } + + /** + * Gets an array of ChildFood objects which contain a foreign key that references this object. + * + * If the $criteria is not null, it is used to always fetch the results from the database. + * Otherwise the results are fetched from the database the first time, then cached. + * Next time the same method is called without $criteria, the cached collection is returned. + * If this ChildCategory is new, it will return + * an empty collection or the current collection; the criteria is ignored on a new object. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return ObjectCollection|ChildFood[] List of ChildFood objects + * @throws PropelException + */ + public function getFoods(Criteria $criteria = null, ConnectionInterface $con = null) + { + $partial = $this->collFoodsPartial && !$this->isNew(); + if (null === $this->collFoods || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collFoods) { + // return empty collection + $this->initFoods(); + } else { + $collFoods = ChildFoodQuery::create(null, $criteria) + ->filterByCategory($this) + ->find($con); + + if (null !== $criteria) { + if (false !== $this->collFoodsPartial && count($collFoods)) { + $this->initFoods(false); + + foreach ($collFoods as $obj) { + if (false == $this->collFoods->contains($obj)) { + $this->collFoods->append($obj); + } + } + + $this->collFoodsPartial = true; + } + + return $collFoods; + } + + if ($partial && $this->collFoods) { + foreach ($this->collFoods as $obj) { + if ($obj->isNew()) { + $collFoods[] = $obj; + } + } + } + + $this->collFoods = $collFoods; + $this->collFoodsPartial = false; + } + } + + return $this->collFoods; + } + + /** + * Sets a collection of ChildFood objects related by a one-to-many relationship + * to the current object. + * It will also schedule objects for deletion based on a diff between old objects (aka persisted) + * and new objects from the given Propel collection. + * + * @param Collection $foods A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return $this|ChildCategory The current object (for fluent API support) + */ + public function setFoods(Collection $foods, ConnectionInterface $con = null) + { + /** @var ChildFood[] $foodsToDelete */ + $foodsToDelete = $this->getFoods(new Criteria(), $con)->diff($foods); + + + $this->foodsScheduledForDeletion = $foodsToDelete; + + foreach ($foodsToDelete as $foodRemoved) { + $foodRemoved->setCategory(null); + } + + $this->collFoods = null; + foreach ($foods as $food) { + $this->addFood($food); + } + + $this->collFoods = $foods; + $this->collFoodsPartial = false; + + return $this; + } + + /** + * Returns the number of related Food objects. + * + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related Food objects. + * @throws PropelException + */ + public function countFoods(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + { + $partial = $this->collFoodsPartial && !$this->isNew(); + if (null === $this->collFoods || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collFoods) { + return 0; + } + + if ($partial && !$criteria) { + return count($this->getFoods()); + } + + $query = ChildFoodQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByCategory($this) + ->count($con); + } + + return count($this->collFoods); + } + + /** + * Method called to associate a ChildFood object to this object + * through the ChildFood foreign key attribute. + * + * @param ChildFood $l ChildFood + * @return $this|\Category The current object (for fluent API support) + */ + public function addFood(ChildFood $l) + { + if ($this->collFoods === null) { + $this->initFoods(); + $this->collFoodsPartial = true; + } + + if (!$this->collFoods->contains($l)) { + $this->doAddFood($l); + + if ($this->foodsScheduledForDeletion and $this->foodsScheduledForDeletion->contains($l)) { + $this->foodsScheduledForDeletion->remove($this->foodsScheduledForDeletion->search($l)); + } + } + + return $this; + } + + /** + * @param ChildFood $food The ChildFood object to add. + */ + protected function doAddFood(ChildFood $food) + { + $this->collFoods[]= $food; + $food->setCategory($this); + } + + /** + * @param ChildFood $food The ChildFood object to remove. + * @return $this|ChildCategory The current object (for fluent API support) + */ + public function removeFood(ChildFood $food) + { + if ($this->getFoods()->contains($food)) { + $pos = $this->collFoods->search($food); + $this->collFoods->remove($pos); + if (null === $this->foodsScheduledForDeletion) { + $this->foodsScheduledForDeletion = clone $this->collFoods; + $this->foodsScheduledForDeletion->clear(); + } + $this->foodsScheduledForDeletion[]= $food; + $food->setCategory(null); + } + + return $this; + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Category is new, it will return + * an empty collection; or if this Category has previously + * been saved, it will retrieve related Foods from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Category. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return ObjectCollection|ChildFood[] List of ChildFood objects + */ + public function getFoodsJoinRank(Criteria $criteria = null, ConnectionInterface $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildFoodQuery::create(null, $criteria); + $query->joinWith('Rank', $joinBehavior); + + return $this->getFoods($query, $con); + } + + /** + * Clears out the collSubcategories collection + * + * This does not modify the database; however, it will remove any associated objects, causing + * them to be refetched by subsequent calls to accessor method. + * + * @return void + * @see addSubcategories() + */ + public function clearSubcategories() + { + $this->collSubcategories = null; // important to set this to NULL since that means it is uninitialized + } + + /** + * Reset is the collSubcategories collection loaded partially. + */ + public function resetPartialSubcategories($v = true) + { + $this->collSubcategoriesPartial = $v; + } + + /** + * Initializes the collSubcategories collection. + * + * By default this just sets the collSubcategories collection to an empty array (like clearcollSubcategories()); + * however, you may wish to override this method in your stub class to provide setting appropriate + * to your application -- for example, setting the initial array to the values stored in database. + * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * + * @return void + */ + public function initSubcategories($overrideExisting = true) + { + if (null !== $this->collSubcategories && !$overrideExisting) { + return; + } + + $collectionClassName = SubcategoryTableMap::getTableMap()->getCollectionClassName(); + + $this->collSubcategories = new $collectionClassName; + $this->collSubcategories->setModel('\Subcategory'); + } + + /** + * Gets an array of ChildSubcategory objects which contain a foreign key that references this object. + * + * If the $criteria is not null, it is used to always fetch the results from the database. + * Otherwise the results are fetched from the database the first time, then cached. + * Next time the same method is called without $criteria, the cached collection is returned. + * If this ChildCategory is new, it will return + * an empty collection or the current collection; the criteria is ignored on a new object. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return ObjectCollection|ChildSubcategory[] List of ChildSubcategory objects + * @throws PropelException + */ + public function getSubcategories(Criteria $criteria = null, ConnectionInterface $con = null) + { + $partial = $this->collSubcategoriesPartial && !$this->isNew(); + if (null === $this->collSubcategories || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collSubcategories) { + // return empty collection + $this->initSubcategories(); + } else { + $collSubcategories = ChildSubcategoryQuery::create(null, $criteria) + ->filterByCategory($this) + ->find($con); + + if (null !== $criteria) { + if (false !== $this->collSubcategoriesPartial && count($collSubcategories)) { + $this->initSubcategories(false); + + foreach ($collSubcategories as $obj) { + if (false == $this->collSubcategories->contains($obj)) { + $this->collSubcategories->append($obj); + } + } + + $this->collSubcategoriesPartial = true; + } + + return $collSubcategories; + } + + if ($partial && $this->collSubcategories) { + foreach ($this->collSubcategories as $obj) { + if ($obj->isNew()) { + $collSubcategories[] = $obj; + } + } + } + + $this->collSubcategories = $collSubcategories; + $this->collSubcategoriesPartial = false; + } + } + + return $this->collSubcategories; + } + + /** + * Sets a collection of ChildSubcategory objects related by a one-to-many relationship + * to the current object. + * It will also schedule objects for deletion based on a diff between old objects (aka persisted) + * and new objects from the given Propel collection. + * + * @param Collection $subcategories A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return $this|ChildCategory The current object (for fluent API support) + */ + public function setSubcategories(Collection $subcategories, ConnectionInterface $con = null) + { + /** @var ChildSubcategory[] $subcategoriesToDelete */ + $subcategoriesToDelete = $this->getSubcategories(new Criteria(), $con)->diff($subcategories); + + + $this->subcategoriesScheduledForDeletion = $subcategoriesToDelete; + + foreach ($subcategoriesToDelete as $subcategoryRemoved) { + $subcategoryRemoved->setCategory(null); + } + + $this->collSubcategories = null; + foreach ($subcategories as $subcategory) { + $this->addSubcategory($subcategory); + } + + $this->collSubcategories = $subcategories; + $this->collSubcategoriesPartial = false; + + return $this; + } + + /** + * Returns the number of related Subcategory objects. + * + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related Subcategory objects. + * @throws PropelException + */ + public function countSubcategories(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + { + $partial = $this->collSubcategoriesPartial && !$this->isNew(); + if (null === $this->collSubcategories || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collSubcategories) { + return 0; + } + + if ($partial && !$criteria) { + return count($this->getSubcategories()); + } + + $query = ChildSubcategoryQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByCategory($this) + ->count($con); + } + + return count($this->collSubcategories); + } + + /** + * Method called to associate a ChildSubcategory object to this object + * through the ChildSubcategory foreign key attribute. + * + * @param ChildSubcategory $l ChildSubcategory + * @return $this|\Category The current object (for fluent API support) + */ + public function addSubcategory(ChildSubcategory $l) + { + if ($this->collSubcategories === null) { + $this->initSubcategories(); + $this->collSubcategoriesPartial = true; + } + + if (!$this->collSubcategories->contains($l)) { + $this->doAddSubcategory($l); + + if ($this->subcategoriesScheduledForDeletion and $this->subcategoriesScheduledForDeletion->contains($l)) { + $this->subcategoriesScheduledForDeletion->remove($this->subcategoriesScheduledForDeletion->search($l)); + } + } + + return $this; + } + + /** + * @param ChildSubcategory $subcategory The ChildSubcategory object to add. + */ + protected function doAddSubcategory(ChildSubcategory $subcategory) + { + $this->collSubcategories[]= $subcategory; + $subcategory->setCategory($this); + } + + /** + * @param ChildSubcategory $subcategory The ChildSubcategory object to remove. + * @return $this|ChildCategory The current object (for fluent API support) + */ + public function removeSubcategory(ChildSubcategory $subcategory) + { + if ($this->getSubcategories()->contains($subcategory)) { + $pos = $this->collSubcategories->search($subcategory); + $this->collSubcategories->remove($pos); + if (null === $this->subcategoriesScheduledForDeletion) { + $this->subcategoriesScheduledForDeletion = clone $this->collSubcategories; + $this->subcategoriesScheduledForDeletion->clear(); + } + $this->subcategoriesScheduledForDeletion[]= $subcategory; + $subcategory->setCategory(null); + } + + return $this; + } + + /** + * Clears the current object, sets all attributes to their default values and removes + * outgoing references as well as back-references (from other objects to this one. Results probably in a database + * change of those foreign objects when you call `save` there). + */ + public function clear() + { + $this->id = null; + $this->name = null; + $this->alreadyInSave = false; + $this->clearAllReferences(); + $this->resetModified(); + $this->setNew(true); + $this->setDeleted(false); + } + + /** + * Resets all references and back-references to other model objects or collections of model objects. + * + * This method is used to reset all php object references (not the actual reference in the database). + * Necessary for object serialisation. + * + * @param boolean $deep Whether to also clear the references on all referrer objects. + */ + public function clearAllReferences($deep = false) + { + if ($deep) { + if ($this->collCategoryRankNutrients) { + foreach ($this->collCategoryRankNutrients as $o) { + $o->clearAllReferences($deep); + } + } + if ($this->collFoods) { + foreach ($this->collFoods as $o) { + $o->clearAllReferences($deep); + } + } + if ($this->collSubcategories) { + foreach ($this->collSubcategories as $o) { + $o->clearAllReferences($deep); + } + } + } // if ($deep) + + $this->collCategoryRankNutrients = null; + $this->collFoods = null; + $this->collSubcategories = null; + } + + /** + * Return the string representation of this object + * + * @return string + */ + public function __toString() + { + return (string) $this->exportTo(CategoryTableMap::DEFAULT_STRING_FORMAT); + } + + /** + * Code to be run before persisting the object + * @param ConnectionInterface $con + * @return boolean + */ + public function preSave(ConnectionInterface $con = null) + { + if (is_callable('parent::preSave')) { + return parent::preSave($con); + } + return true; + } + + /** + * Code to be run after persisting the object + * @param ConnectionInterface $con + */ + public function postSave(ConnectionInterface $con = null) + { + if (is_callable('parent::postSave')) { + parent::postSave($con); + } + } + + /** + * Code to be run before inserting to database + * @param ConnectionInterface $con + * @return boolean + */ + public function preInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::preInsert')) { + return parent::preInsert($con); + } + return true; + } + + /** + * Code to be run after inserting to database + * @param ConnectionInterface $con + */ + public function postInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::postInsert')) { + parent::postInsert($con); + } + } + + /** + * Code to be run before updating the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::preUpdate')) { + return parent::preUpdate($con); + } + return true; + } + + /** + * Code to be run after updating the object in database + * @param ConnectionInterface $con + */ + public function postUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::postUpdate')) { + parent::postUpdate($con); + } + } + + /** + * Code to be run before deleting the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::preDelete')) { + return parent::preDelete($con); + } + return true; + } + + /** + * Code to be run after deleting the object in database + * @param ConnectionInterface $con + */ + public function postDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::postDelete')) { + parent::postDelete($con); + } + } + + + /** + * Derived method to catches calls to undefined methods. + * + * Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.). + * Allows to define default __call() behavior if you overwrite __call() + * + * @param string $name + * @param mixed $params + * + * @return array|string + */ + public function __call($name, $params) + { + if (0 === strpos($name, 'get')) { + $virtualColumn = substr($name, 3); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + + $virtualColumn = lcfirst($virtualColumn); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + } + + if (0 === strpos($name, 'from')) { + $format = substr($name, 4); + + return $this->importFrom($format, reset($params)); + } + + if (0 === strpos($name, 'to')) { + $format = substr($name, 2); + $includeLazyLoadColumns = isset($params[0]) ? $params[0] : true; + + return $this->exportTo($format, $includeLazyLoadColumns); + } + + throw new BadMethodCallException(sprintf('Call to undefined method: %s.', $name)); + } + +} diff --git a/api/generated-classes/Base/CategoryQuery.php b/api/generated-classes/Base/CategoryQuery.php new file mode 100644 index 0000000..c5bd5b4 --- /dev/null +++ b/api/generated-classes/Base/CategoryQuery.php @@ -0,0 +1,634 @@ +setModelAlias($modelAlias); + } + if ($criteria instanceof Criteria) { + $query->mergeWith($criteria); + } + + return $query; + } + + /** + * Find object by primary key. + * Propel uses the instance pool to skip the database if the object exists. + * Go fast if the query is untouched. + * + * + * $obj = $c->findPk(12, $con); + * + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ChildCategory|array|mixed the result, formatted by the current formatter + */ + public function findPk($key, ConnectionInterface $con = null) + { + if ($key === null) { + return null; + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(CategoryTableMap::DATABASE_NAME); + } + + $this->basePreSelect($con); + + if ( + $this->formatter || $this->modelAlias || $this->with || $this->select + || $this->selectColumns || $this->asColumns || $this->selectModifiers + || $this->map || $this->having || $this->joins + ) { + return $this->findPkComplex($key, $con); + } + + if ((null !== ($obj = CategoryTableMap::getInstanceFromPool(null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key)))) { + // the object is already in the instance pool + return $obj; + } + + return $this->findPkSimple($key, $con); + } + + /** + * Find object by primary key using raw SQL to go fast. + * Bypass doSelect() and the object formatter by using generated code. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildCategory A model object, or null if the key is not found + */ + protected function findPkSimple($key, ConnectionInterface $con) + { + $sql = 'SELECT id, name FROM Category WHERE id = :p0'; + try { + $stmt = $con->prepare($sql); + $stmt->bindValue(':p0', $key, PDO::PARAM_INT); + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e); + } + $obj = null; + if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { + /** @var ChildCategory $obj */ + $obj = new ChildCategory(); + $obj->hydrate($row); + CategoryTableMap::addInstanceToPool($obj, null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key); + } + $stmt->closeCursor(); + + return $obj; + } + + /** + * Find object by primary key. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @return ChildCategory|array|mixed the result, formatted by the current formatter + */ + protected function findPkComplex($key, ConnectionInterface $con) + { + // As the query uses a PK condition, no limit(1) is necessary. + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKey($key) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->formatOne($dataFetcher); + } + + /** + * Find objects by primary key + * + * $objs = $c->findPks(array(12, 56, 832), $con); + * + * @param array $keys Primary keys to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ObjectCollection|array|mixed the list of results, formatted by the current formatter + */ + public function findPks($keys, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getReadConnection($this->getDbName()); + } + $this->basePreSelect($con); + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKeys($keys) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->format($dataFetcher); + } + + /** + * Filter the query by primary key + * + * @param mixed $key Primary key to use for the query + * + * @return $this|ChildCategoryQuery The current query, for fluid interface + */ + public function filterByPrimaryKey($key) + { + + return $this->addUsingAlias(CategoryTableMap::COL_ID, $key, Criteria::EQUAL); + } + + /** + * Filter the query by a list of primary keys + * + * @param array $keys The list of primary key to use for the query + * + * @return $this|ChildCategoryQuery The current query, for fluid interface + */ + public function filterByPrimaryKeys($keys) + { + + return $this->addUsingAlias(CategoryTableMap::COL_ID, $keys, Criteria::IN); + } + + /** + * Filter the query on the id column + * + * Example usage: + * + * $query->filterById(1234); // WHERE id = 1234 + * $query->filterById(array(12, 34)); // WHERE id IN (12, 34) + * $query->filterById(array('min' => 12)); // WHERE id > 12 + * + * + * @param mixed $id The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildCategoryQuery The current query, for fluid interface + */ + public function filterById($id = null, $comparison = null) + { + if (is_array($id)) { + $useMinMax = false; + if (isset($id['min'])) { + $this->addUsingAlias(CategoryTableMap::COL_ID, $id['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($id['max'])) { + $this->addUsingAlias(CategoryTableMap::COL_ID, $id['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CategoryTableMap::COL_ID, $id, $comparison); + } + + /** + * Filter the query on the name column + * + * Example usage: + * + * $query->filterByName('fooValue'); // WHERE name = 'fooValue' + * $query->filterByName('%fooValue%', Criteria::LIKE); // WHERE name LIKE '%fooValue%' + * + * + * @param string $name The value to use as filter. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildCategoryQuery The current query, for fluid interface + */ + public function filterByName($name = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($name)) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CategoryTableMap::COL_NAME, $name, $comparison); + } + + /** + * Filter the query by a related \CategoryRankNutrient object + * + * @param \CategoryRankNutrient|ObjectCollection $categoryRankNutrient the related object to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCategoryQuery The current query, for fluid interface + */ + public function filterByCategoryRankNutrient($categoryRankNutrient, $comparison = null) + { + if ($categoryRankNutrient instanceof \CategoryRankNutrient) { + return $this + ->addUsingAlias(CategoryTableMap::COL_ID, $categoryRankNutrient->getCategoryId(), $comparison); + } elseif ($categoryRankNutrient instanceof ObjectCollection) { + return $this + ->useCategoryRankNutrientQuery() + ->filterByPrimaryKeys($categoryRankNutrient->getPrimaryKeys()) + ->endUse(); + } else { + throw new PropelException('filterByCategoryRankNutrient() only accepts arguments of type \CategoryRankNutrient or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the CategoryRankNutrient relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildCategoryQuery The current query, for fluid interface + */ + public function joinCategoryRankNutrient($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('CategoryRankNutrient'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'CategoryRankNutrient'); + } + + return $this; + } + + /** + * Use the CategoryRankNutrient relation CategoryRankNutrient object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \CategoryRankNutrientQuery A secondary query class using the current class as primary query + */ + public function useCategoryRankNutrientQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + return $this + ->joinCategoryRankNutrient($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'CategoryRankNutrient', '\CategoryRankNutrientQuery'); + } + + /** + * Filter the query by a related \Food object + * + * @param \Food|ObjectCollection $food the related object to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCategoryQuery The current query, for fluid interface + */ + public function filterByFood($food, $comparison = null) + { + if ($food instanceof \Food) { + return $this + ->addUsingAlias(CategoryTableMap::COL_ID, $food->getCategoryId(), $comparison); + } elseif ($food instanceof ObjectCollection) { + return $this + ->useFoodQuery() + ->filterByPrimaryKeys($food->getPrimaryKeys()) + ->endUse(); + } else { + throw new PropelException('filterByFood() only accepts arguments of type \Food or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the Food relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildCategoryQuery The current query, for fluid interface + */ + public function joinFood($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('Food'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'Food'); + } + + return $this; + } + + /** + * Use the Food relation Food object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \FoodQuery A secondary query class using the current class as primary query + */ + public function useFoodQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + return $this + ->joinFood($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Food', '\FoodQuery'); + } + + /** + * Filter the query by a related \Subcategory object + * + * @param \Subcategory|ObjectCollection $subcategory the related object to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCategoryQuery The current query, for fluid interface + */ + public function filterBySubcategory($subcategory, $comparison = null) + { + if ($subcategory instanceof \Subcategory) { + return $this + ->addUsingAlias(CategoryTableMap::COL_ID, $subcategory->getCategoryId(), $comparison); + } elseif ($subcategory instanceof ObjectCollection) { + return $this + ->useSubcategoryQuery() + ->filterByPrimaryKeys($subcategory->getPrimaryKeys()) + ->endUse(); + } else { + throw new PropelException('filterBySubcategory() only accepts arguments of type \Subcategory or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the Subcategory relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildCategoryQuery The current query, for fluid interface + */ + public function joinSubcategory($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('Subcategory'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'Subcategory'); + } + + return $this; + } + + /** + * Use the Subcategory relation Subcategory object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \SubcategoryQuery A secondary query class using the current class as primary query + */ + public function useSubcategoryQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + return $this + ->joinSubcategory($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Subcategory', '\SubcategoryQuery'); + } + + /** + * Exclude object from result + * + * @param ChildCategory $category Object to remove from the list of results + * + * @return $this|ChildCategoryQuery The current query, for fluid interface + */ + public function prune($category = null) + { + if ($category) { + $this->addUsingAlias(CategoryTableMap::COL_ID, $category->getId(), Criteria::NOT_EQUAL); + } + + return $this; + } + + /** + * Deletes all rows from the Category table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public function doDeleteAll(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryTableMap::DATABASE_NAME); + } + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con) { + $affectedRows = 0; // initialize var to track total num of affected rows + $affectedRows += parent::doDeleteAll($con); + // Because this db requires some delete cascade/set null emulation, we have to + // clear the cached instance *after* the emulation has happened (since + // instances get re-added by the select statement contained therein). + CategoryTableMap::clearInstancePool(); + CategoryTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + + /** + * Performs a DELETE on the database based on the current ModelCriteria + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public function delete(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryTableMap::DATABASE_NAME); + } + + $criteria = $this; + + // Set the correct dbName + $criteria->setDbName(CategoryTableMap::DATABASE_NAME); + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con, $criteria) { + $affectedRows = 0; // initialize var to track total num of affected rows + + CategoryTableMap::removeInstanceFromPool($criteria); + + $affectedRows += ModelCriteria::delete($con); + CategoryTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + +} // CategoryQuery diff --git a/api/generated-classes/Base/CategoryRankNutrient.php b/api/generated-classes/Base/CategoryRankNutrient.php new file mode 100644 index 0000000..3bec93d --- /dev/null +++ b/api/generated-classes/Base/CategoryRankNutrient.php @@ -0,0 +1,1744 @@ +modifiedColumns; + } + + /** + * Has specified column been modified? + * + * @param string $col column fully qualified name (TableMap::TYPE_COLNAME), e.g. Book::AUTHOR_ID + * @return boolean True if $col has been modified. + */ + public function isColumnModified($col) + { + return $this->modifiedColumns && isset($this->modifiedColumns[$col]); + } + + /** + * Get the columns that have been modified in this object. + * @return array A unique list of the modified column names for this object. + */ + public function getModifiedColumns() + { + return $this->modifiedColumns ? array_keys($this->modifiedColumns) : []; + } + + /** + * Returns whether the object has ever been saved. This will + * be false, if the object was retrieved from storage or was created + * and then saved. + * + * @return boolean true, if the object has never been persisted. + */ + public function isNew() + { + return $this->new; + } + + /** + * Setter for the isNew attribute. This method will be called + * by Propel-generated children and objects. + * + * @param boolean $b the state of the object. + */ + public function setNew($b) + { + $this->new = (boolean) $b; + } + + /** + * Whether this object has been deleted. + * @return boolean The deleted state of this object. + */ + public function isDeleted() + { + return $this->deleted; + } + + /** + * Specify whether this object has been deleted. + * @param boolean $b The deleted state of this object. + * @return void + */ + public function setDeleted($b) + { + $this->deleted = (boolean) $b; + } + + /** + * Sets the modified state for the object to be false. + * @param string $col If supplied, only the specified column is reset. + * @return void + */ + public function resetModified($col = null) + { + if (null !== $col) { + if (isset($this->modifiedColumns[$col])) { + unset($this->modifiedColumns[$col]); + } + } else { + $this->modifiedColumns = array(); + } + } + + /** + * Compares this with another CategoryRankNutrient instance. If + * obj is an instance of CategoryRankNutrient, delegates to + * equals(CategoryRankNutrient). Otherwise, returns false. + * + * @param mixed $obj The object to compare to. + * @return boolean Whether equal to the object specified. + */ + public function equals($obj) + { + if (!$obj instanceof static) { + return false; + } + + if ($this === $obj) { + return true; + } + + if (null === $this->getPrimaryKey() || null === $obj->getPrimaryKey()) { + return false; + } + + return $this->getPrimaryKey() === $obj->getPrimaryKey(); + } + + /** + * Get the associative array of the virtual columns in this object + * + * @return array + */ + public function getVirtualColumns() + { + return $this->virtualColumns; + } + + /** + * Checks the existence of a virtual column in this object + * + * @param string $name The virtual column name + * @return boolean + */ + public function hasVirtualColumn($name) + { + return array_key_exists($name, $this->virtualColumns); + } + + /** + * Get the value of a virtual column in this object + * + * @param string $name The virtual column name + * @return mixed + * + * @throws PropelException + */ + public function getVirtualColumn($name) + { + if (!$this->hasVirtualColumn($name)) { + throw new PropelException(sprintf('Cannot get value of inexistent virtual column %s.', $name)); + } + + return $this->virtualColumns[$name]; + } + + /** + * Set the value of a virtual column in this object + * + * @param string $name The virtual column name + * @param mixed $value The value to give to the virtual column + * + * @return $this|CategoryRankNutrient The current object, for fluid interface + */ + public function setVirtualColumn($name, $value) + { + $this->virtualColumns[$name] = $value; + + return $this; + } + + /** + * Logs a message using Propel::log(). + * + * @param string $msg + * @param int $priority One of the Propel::LOG_* logging levels + * @return boolean + */ + protected function log($msg, $priority = Propel::LOG_INFO) + { + return Propel::log(get_class($this) . ': ' . $msg, $priority); + } + + /** + * Export the current object properties to a string, using a given parser format + * + * $book = BookQuery::create()->findPk(9012); + * echo $book->exportTo('JSON'); + * => {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * @param mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy load(ed) columns. Defaults to TRUE. + * @return string The exported data + */ + public function exportTo($parser, $includeLazyLoadColumns = true) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + return $parser->fromArray($this->toArray(TableMap::TYPE_PHPNAME, $includeLazyLoadColumns, array(), true)); + } + + /** + * Clean up internal collections prior to serializing + * Avoids recursive loops that turn into segmentation faults when serializing + */ + public function __sleep() + { + $this->clearAllReferences(); + + $cls = new \ReflectionClass($this); + $propertyNames = []; + $serializableProperties = array_diff($cls->getProperties(), $cls->getProperties(\ReflectionProperty::IS_STATIC)); + + foreach($serializableProperties as $property) { + $propertyNames[] = $property->getName(); + } + + return $propertyNames; + } + + /** + * Get the [id] column value. + * + * @return int + */ + public function getId() + { + return $this->id; + } + + /** + * Get the [units] column value. + * + * @return string + */ + public function getUnits() + { + return $this->units; + } + + /** + * Get the [threshold] column value. + * + * @return double + */ + public function getThreshold() + { + return $this->threshold; + } + + /** + * Get the [operator] column value. + * + * @return string + */ + public function getOperator() + { + return $this->operator; + } + + /** + * Get the [category_id] column value. + * + * @return int + */ + public function getCategoryId() + { + return $this->category_id; + } + + /** + * Get the [rank_id] column value. + * + * @return int + */ + public function getRankId() + { + return $this->rank_id; + } + + /** + * Get the [nutrient_id] column value. + * + * @return int + */ + public function getNutrientId() + { + return $this->nutrient_id; + } + + /** + * Set the value of [id] column. + * + * @param int $v new value + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + */ + public function setId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->id !== $v) { + $this->id = $v; + $this->modifiedColumns[CategoryRankNutrientTableMap::COL_ID] = true; + } + + return $this; + } // setId() + + /** + * Set the value of [units] column. + * + * @param string $v new value + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + */ + public function setUnits($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->units !== $v) { + $this->units = $v; + $this->modifiedColumns[CategoryRankNutrientTableMap::COL_UNITS] = true; + } + + return $this; + } // setUnits() + + /** + * Set the value of [threshold] column. + * + * @param double $v new value + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + */ + public function setThreshold($v) + { + if ($v !== null) { + $v = (double) $v; + } + + if ($this->threshold !== $v) { + $this->threshold = $v; + $this->modifiedColumns[CategoryRankNutrientTableMap::COL_THRESHOLD] = true; + } + + return $this; + } // setThreshold() + + /** + * Set the value of [operator] column. + * + * @param string $v new value + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + */ + public function setOperator($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->operator !== $v) { + $this->operator = $v; + $this->modifiedColumns[CategoryRankNutrientTableMap::COL_OPERATOR] = true; + } + + return $this; + } // setOperator() + + /** + * Set the value of [category_id] column. + * + * @param int $v new value + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + */ + public function setCategoryId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->category_id !== $v) { + $this->category_id = $v; + $this->modifiedColumns[CategoryRankNutrientTableMap::COL_CATEGORY_ID] = true; + } + + if ($this->aCategory !== null && $this->aCategory->getId() !== $v) { + $this->aCategory = null; + } + + return $this; + } // setCategoryId() + + /** + * Set the value of [rank_id] column. + * + * @param int $v new value + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + */ + public function setRankId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->rank_id !== $v) { + $this->rank_id = $v; + $this->modifiedColumns[CategoryRankNutrientTableMap::COL_RANK_ID] = true; + } + + if ($this->aRank !== null && $this->aRank->getId() !== $v) { + $this->aRank = null; + } + + return $this; + } // setRankId() + + /** + * Set the value of [nutrient_id] column. + * + * @param int $v new value + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + */ + public function setNutrientId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->nutrient_id !== $v) { + $this->nutrient_id = $v; + $this->modifiedColumns[CategoryRankNutrientTableMap::COL_NUTRIENT_ID] = true; + } + + if ($this->aNutrient !== null && $this->aNutrient->getId() !== $v) { + $this->aNutrient = null; + } + + return $this; + } // setNutrientId() + + /** + * Indicates whether the columns in this object are only set to default values. + * + * This method can be used in conjunction with isModified() to indicate whether an object is both + * modified _and_ has some values set which are non-default. + * + * @return boolean Whether the columns in this object are only been set with default values. + */ + public function hasOnlyDefaultValues() + { + // otherwise, everything was equal, so return TRUE + return true; + } // hasOnlyDefaultValues() + + /** + * Hydrates (populates) the object variables with values from the database resultset. + * + * An offset (0-based "start column") is specified so that objects can be hydrated + * with a subset of the columns in the resultset rows. This is needed, for example, + * for results of JOIN queries where the resultset row includes columns from two or + * more tables. + * + * @param array $row The row returned by DataFetcher->fetch(). + * @param int $startcol 0-based offset column which indicates which restultset column to start with. + * @param boolean $rehydrate Whether this object is being re-hydrated from the database. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @return int next starting column + * @throws PropelException - Any caught Exception will be rewrapped as a PropelException. + */ + public function hydrate($row, $startcol = 0, $rehydrate = false, $indexType = TableMap::TYPE_NUM) + { + try { + + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : CategoryRankNutrientTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $this->id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : CategoryRankNutrientTableMap::translateFieldName('Units', TableMap::TYPE_PHPNAME, $indexType)]; + $this->units = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : CategoryRankNutrientTableMap::translateFieldName('Threshold', TableMap::TYPE_PHPNAME, $indexType)]; + $this->threshold = (null !== $col) ? (double) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CategoryRankNutrientTableMap::translateFieldName('Operator', TableMap::TYPE_PHPNAME, $indexType)]; + $this->operator = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CategoryRankNutrientTableMap::translateFieldName('CategoryId', TableMap::TYPE_PHPNAME, $indexType)]; + $this->category_id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CategoryRankNutrientTableMap::translateFieldName('RankId', TableMap::TYPE_PHPNAME, $indexType)]; + $this->rank_id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : CategoryRankNutrientTableMap::translateFieldName('NutrientId', TableMap::TYPE_PHPNAME, $indexType)]; + $this->nutrient_id = (null !== $col) ? (int) $col : null; + $this->resetModified(); + + $this->setNew(false); + + if ($rehydrate) { + $this->ensureConsistency(); + } + + return $startcol + 7; // 7 = CategoryRankNutrientTableMap::NUM_HYDRATE_COLUMNS. + + } catch (Exception $e) { + throw new PropelException(sprintf('Error populating %s object', '\\CategoryRankNutrient'), 0, $e); + } + } + + /** + * Checks and repairs the internal consistency of the object. + * + * This method is executed after an already-instantiated object is re-hydrated + * from the database. It exists to check any foreign keys to make sure that + * the objects related to the current object are correct based on foreign key. + * + * You can override this method in the stub class, but you should always invoke + * the base method from the overridden method (i.e. parent::ensureConsistency()), + * in case your model changes. + * + * @throws PropelException + */ + public function ensureConsistency() + { + if ($this->aCategory !== null && $this->category_id !== $this->aCategory->getId()) { + $this->aCategory = null; + } + if ($this->aRank !== null && $this->rank_id !== $this->aRank->getId()) { + $this->aRank = null; + } + if ($this->aNutrient !== null && $this->nutrient_id !== $this->aNutrient->getId()) { + $this->aNutrient = null; + } + } // ensureConsistency + + /** + * Reloads this object from datastore based on primary key and (optionally) resets all associated objects. + * + * This will only work if the object has been saved and has a valid primary key set. + * + * @param boolean $deep (optional) Whether to also de-associated any related objects. + * @param ConnectionInterface $con (optional) The ConnectionInterface connection to use. + * @return void + * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db + */ + public function reload($deep = false, ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("Cannot reload a deleted object."); + } + + if ($this->isNew()) { + throw new PropelException("Cannot reload an unsaved object."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(CategoryRankNutrientTableMap::DATABASE_NAME); + } + + // We don't need to alter the object instance pool; we're just modifying this instance + // already in the pool. + + $dataFetcher = ChildCategoryRankNutrientQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $row = $dataFetcher->fetch(); + $dataFetcher->close(); + if (!$row) { + throw new PropelException('Cannot find matching row in the database to reload object values.'); + } + $this->hydrate($row, 0, true, $dataFetcher->getIndexType()); // rehydrate + + if ($deep) { // also de-associate any related objects? + + $this->aNutrient = null; + $this->aCategory = null; + $this->aRank = null; + } // if (deep) + } + + /** + * Removes this object from datastore and sets delete attribute. + * + * @param ConnectionInterface $con + * @return void + * @throws PropelException + * @see CategoryRankNutrient::setDeleted() + * @see CategoryRankNutrient::isDeleted() + */ + public function delete(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("This object has already been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryRankNutrientTableMap::DATABASE_NAME); + } + + $con->transaction(function () use ($con) { + $deleteQuery = ChildCategoryRankNutrientQuery::create() + ->filterByPrimaryKey($this->getPrimaryKey()); + $ret = $this->preDelete($con); + if ($ret) { + $deleteQuery->delete($con); + $this->postDelete($con); + $this->setDeleted(true); + } + }); + } + + /** + * Persists this object to the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All modified related objects will also be persisted in the doSave() + * method. This method wraps all precipitate database operations in a + * single transaction. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see doSave() + */ + public function save(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryRankNutrientTableMap::DATABASE_NAME); + } + + return $con->transaction(function () use ($con) { + $ret = $this->preSave($con); + $isInsert = $this->isNew(); + if ($isInsert) { + $ret = $ret && $this->preInsert($con); + } else { + $ret = $ret && $this->preUpdate($con); + } + if ($ret) { + $affectedRows = $this->doSave($con); + if ($isInsert) { + $this->postInsert($con); + } else { + $this->postUpdate($con); + } + $this->postSave($con); + CategoryRankNutrientTableMap::addInstanceToPool($this); + } else { + $affectedRows = 0; + } + + return $affectedRows; + }); + } + + /** + * Performs the work of inserting or updating the row in the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All related objects are also updated in this method. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see save() + */ + protected function doSave(ConnectionInterface $con) + { + $affectedRows = 0; // initialize var to track total num of affected rows + if (!$this->alreadyInSave) { + $this->alreadyInSave = true; + + // We call the save method on the following object(s) if they + // were passed to this object by their corresponding set + // method. This object relates to these object(s) by a + // foreign key reference. + + if ($this->aNutrient !== null) { + if ($this->aNutrient->isModified() || $this->aNutrient->isNew()) { + $affectedRows += $this->aNutrient->save($con); + } + $this->setNutrient($this->aNutrient); + } + + if ($this->aCategory !== null) { + if ($this->aCategory->isModified() || $this->aCategory->isNew()) { + $affectedRows += $this->aCategory->save($con); + } + $this->setCategory($this->aCategory); + } + + if ($this->aRank !== null) { + if ($this->aRank->isModified() || $this->aRank->isNew()) { + $affectedRows += $this->aRank->save($con); + } + $this->setRank($this->aRank); + } + + if ($this->isNew() || $this->isModified()) { + // persist changes + if ($this->isNew()) { + $this->doInsert($con); + $affectedRows += 1; + } else { + $affectedRows += $this->doUpdate($con); + } + $this->resetModified(); + } + + $this->alreadyInSave = false; + + } + + return $affectedRows; + } // doSave() + + /** + * Insert the row in the database. + * + * @param ConnectionInterface $con + * + * @throws PropelException + * @see doSave() + */ + protected function doInsert(ConnectionInterface $con) + { + $modifiedColumns = array(); + $index = 0; + + $this->modifiedColumns[CategoryRankNutrientTableMap::COL_ID] = true; + if (null !== $this->id) { + throw new PropelException('Cannot insert a value for auto-increment primary key (' . CategoryRankNutrientTableMap::COL_ID . ')'); + } + + // check the columns in natural order for more readable SQL queries + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_ID)) { + $modifiedColumns[':p' . $index++] = 'id'; + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_UNITS)) { + $modifiedColumns[':p' . $index++] = 'units'; + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_THRESHOLD)) { + $modifiedColumns[':p' . $index++] = 'threshold'; + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_OPERATOR)) { + $modifiedColumns[':p' . $index++] = 'operator'; + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_CATEGORY_ID)) { + $modifiedColumns[':p' . $index++] = 'category_id'; + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_RANK_ID)) { + $modifiedColumns[':p' . $index++] = 'rank_id'; + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_NUTRIENT_ID)) { + $modifiedColumns[':p' . $index++] = 'nutrient_id'; + } + + $sql = sprintf( + 'INSERT INTO Category_Rank_Nutrient (%s) VALUES (%s)', + implode(', ', $modifiedColumns), + implode(', ', array_keys($modifiedColumns)) + ); + + try { + $stmt = $con->prepare($sql); + foreach ($modifiedColumns as $identifier => $columnName) { + switch ($columnName) { + case 'id': + $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); + break; + case 'units': + $stmt->bindValue($identifier, $this->units, PDO::PARAM_STR); + break; + case 'threshold': + $stmt->bindValue($identifier, $this->threshold, PDO::PARAM_STR); + break; + case 'operator': + $stmt->bindValue($identifier, $this->operator, PDO::PARAM_STR); + break; + case 'category_id': + $stmt->bindValue($identifier, $this->category_id, PDO::PARAM_INT); + break; + case 'rank_id': + $stmt->bindValue($identifier, $this->rank_id, PDO::PARAM_INT); + break; + case 'nutrient_id': + $stmt->bindValue($identifier, $this->nutrient_id, PDO::PARAM_INT); + break; + } + } + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e); + } + + try { + $pk = $con->lastInsertId(); + } catch (Exception $e) { + throw new PropelException('Unable to get autoincrement id.', 0, $e); + } + $this->setId($pk); + + $this->setNew(false); + } + + /** + * Update the row in the database. + * + * @param ConnectionInterface $con + * + * @return Integer Number of updated rows + * @see doSave() + */ + protected function doUpdate(ConnectionInterface $con) + { + $selectCriteria = $this->buildPkeyCriteria(); + $valuesCriteria = $this->buildCriteria(); + + return $selectCriteria->doUpdate($valuesCriteria, $con); + } + + /** + * Retrieves a field from the object by name passed in as a string. + * + * @param string $name name + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return mixed Value of field. + */ + public function getByName($name, $type = TableMap::TYPE_PHPNAME) + { + $pos = CategoryRankNutrientTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $field = $this->getByPosition($pos); + + return $field; + } + + /** + * Retrieves a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @return mixed Value of field at $pos + */ + public function getByPosition($pos) + { + switch ($pos) { + case 0: + return $this->getId(); + break; + case 1: + return $this->getUnits(); + break; + case 2: + return $this->getThreshold(); + break; + case 3: + return $this->getOperator(); + break; + case 4: + return $this->getCategoryId(); + break; + case 5: + return $this->getRankId(); + break; + case 6: + return $this->getNutrientId(); + break; + default: + return null; + break; + } // switch() + } + + /** + * Exports the object as an array. + * + * You can specify the key type of the array by passing one of the class + * type constants. + * + * @param string $keyType (optional) One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE. + * @param array $alreadyDumpedObjects List of objects to skip to avoid recursion + * @param boolean $includeForeignObjects (optional) Whether to include hydrated related objects. Default to FALSE. + * + * @return array an associative array containing the field names (as keys) and field values + */ + public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) + { + + if (isset($alreadyDumpedObjects['CategoryRankNutrient'][$this->hashCode()])) { + return '*RECURSION*'; + } + $alreadyDumpedObjects['CategoryRankNutrient'][$this->hashCode()] = true; + $keys = CategoryRankNutrientTableMap::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getUnits(), + $keys[2] => $this->getThreshold(), + $keys[3] => $this->getOperator(), + $keys[4] => $this->getCategoryId(), + $keys[5] => $this->getRankId(), + $keys[6] => $this->getNutrientId(), + ); + $virtualColumns = $this->virtualColumns; + foreach ($virtualColumns as $key => $virtualColumn) { + $result[$key] = $virtualColumn; + } + + if ($includeForeignObjects) { + if (null !== $this->aNutrient) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'nutrient'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Nutrient'; + break; + default: + $key = 'Nutrient'; + } + + $result[$key] = $this->aNutrient->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); + } + if (null !== $this->aCategory) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'category'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Category'; + break; + default: + $key = 'Category'; + } + + $result[$key] = $this->aCategory->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); + } + if (null !== $this->aRank) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'rank'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Rank'; + break; + default: + $key = 'Rank'; + } + + $result[$key] = $this->aRank->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); + } + } + + return $result; + } + + /** + * Sets a field from the object by name passed in as a string. + * + * @param string $name + * @param mixed $value field value + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return $this|\CategoryRankNutrient + */ + public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) + { + $pos = CategoryRankNutrientTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + + return $this->setByPosition($pos, $value); + } + + /** + * Sets a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @param mixed $value field value + * @return $this|\CategoryRankNutrient + */ + public function setByPosition($pos, $value) + { + switch ($pos) { + case 0: + $this->setId($value); + break; + case 1: + $this->setUnits($value); + break; + case 2: + $this->setThreshold($value); + break; + case 3: + $this->setOperator($value); + break; + case 4: + $this->setCategoryId($value); + break; + case 5: + $this->setRankId($value); + break; + case 6: + $this->setNutrientId($value); + break; + } // switch() + + return $this; + } + + /** + * Populates the object using an array. + * + * This is particularly useful when populating an object from one of the + * request arrays (e.g. $_POST). This method goes through the column + * names, checking to see whether a matching key exists in populated + * array. If so the setByName() method is called for that column. + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param array $arr An array to populate the object from. + * @param string $keyType The type of keys the array uses. + * @return void + */ + public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) + { + $keys = CategoryRankNutrientTableMap::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) { + $this->setId($arr[$keys[0]]); + } + if (array_key_exists($keys[1], $arr)) { + $this->setUnits($arr[$keys[1]]); + } + if (array_key_exists($keys[2], $arr)) { + $this->setThreshold($arr[$keys[2]]); + } + if (array_key_exists($keys[3], $arr)) { + $this->setOperator($arr[$keys[3]]); + } + if (array_key_exists($keys[4], $arr)) { + $this->setCategoryId($arr[$keys[4]]); + } + if (array_key_exists($keys[5], $arr)) { + $this->setRankId($arr[$keys[5]]); + } + if (array_key_exists($keys[6], $arr)) { + $this->setNutrientId($arr[$keys[6]]); + } + } + + /** + * Populate the current object from a string, using a given parser format + * + * $book = new Book(); + * $book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param mixed $parser A AbstractParser instance, + * or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param string $data The source data to import from + * @param string $keyType The type of keys the array uses. + * + * @return $this|\CategoryRankNutrient The current object, for fluid interface + */ + public function importFrom($parser, $data, $keyType = TableMap::TYPE_PHPNAME) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + $this->fromArray($parser->toArray($data), $keyType); + + return $this; + } + + /** + * Build a Criteria object containing the values of all modified columns in this object. + * + * @return Criteria The Criteria object containing all modified values. + */ + public function buildCriteria() + { + $criteria = new Criteria(CategoryRankNutrientTableMap::DATABASE_NAME); + + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_ID)) { + $criteria->add(CategoryRankNutrientTableMap::COL_ID, $this->id); + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_UNITS)) { + $criteria->add(CategoryRankNutrientTableMap::COL_UNITS, $this->units); + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_THRESHOLD)) { + $criteria->add(CategoryRankNutrientTableMap::COL_THRESHOLD, $this->threshold); + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_OPERATOR)) { + $criteria->add(CategoryRankNutrientTableMap::COL_OPERATOR, $this->operator); + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_CATEGORY_ID)) { + $criteria->add(CategoryRankNutrientTableMap::COL_CATEGORY_ID, $this->category_id); + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_RANK_ID)) { + $criteria->add(CategoryRankNutrientTableMap::COL_RANK_ID, $this->rank_id); + } + if ($this->isColumnModified(CategoryRankNutrientTableMap::COL_NUTRIENT_ID)) { + $criteria->add(CategoryRankNutrientTableMap::COL_NUTRIENT_ID, $this->nutrient_id); + } + + return $criteria; + } + + /** + * Builds a Criteria object containing the primary key for this object. + * + * Unlike buildCriteria() this method includes the primary key values regardless + * of whether or not they have been modified. + * + * @throws LogicException if no primary key is defined + * + * @return Criteria The Criteria object containing value(s) for primary key(s). + */ + public function buildPkeyCriteria() + { + $criteria = ChildCategoryRankNutrientQuery::create(); + $criteria->add(CategoryRankNutrientTableMap::COL_ID, $this->id); + + return $criteria; + } + + /** + * If the primary key is not null, return the hashcode of the + * primary key. Otherwise, return the hash code of the object. + * + * @return int Hashcode + */ + public function hashCode() + { + $validPk = null !== $this->getId(); + + $validPrimaryKeyFKs = 0; + $primaryKeyFKs = []; + + if ($validPk) { + return crc32(json_encode($this->getPrimaryKey(), JSON_UNESCAPED_UNICODE)); + } elseif ($validPrimaryKeyFKs) { + return crc32(json_encode($primaryKeyFKs, JSON_UNESCAPED_UNICODE)); + } + + return spl_object_hash($this); + } + + /** + * Returns the primary key for this object (row). + * @return int + */ + public function getPrimaryKey() + { + return $this->getId(); + } + + /** + * Generic method to set the primary key (id column). + * + * @param int $key Primary key. + * @return void + */ + public function setPrimaryKey($key) + { + $this->setId($key); + } + + /** + * Returns true if the primary key for this object is null. + * @return boolean + */ + public function isPrimaryKeyNull() + { + return null === $this->getId(); + } + + /** + * Sets contents of passed object to values from current object. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param object $copyObj An object of \CategoryRankNutrient (or compatible) type. + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. + * @throws PropelException + */ + public function copyInto($copyObj, $deepCopy = false, $makeNew = true) + { + $copyObj->setUnits($this->getUnits()); + $copyObj->setThreshold($this->getThreshold()); + $copyObj->setOperator($this->getOperator()); + $copyObj->setCategoryId($this->getCategoryId()); + $copyObj->setRankId($this->getRankId()); + $copyObj->setNutrientId($this->getNutrientId()); + if ($makeNew) { + $copyObj->setNew(true); + $copyObj->setId(NULL); // this is a auto-increment column, so set to default value + } + } + + /** + * Makes a copy of this object that will be inserted as a new row in table when saved. + * It creates a new object filling in the simple attributes, but skipping any primary + * keys that are defined for the table. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @return \CategoryRankNutrient Clone of current object. + * @throws PropelException + */ + public function copy($deepCopy = false) + { + // we use get_class(), because this might be a subclass + $clazz = get_class($this); + $copyObj = new $clazz(); + $this->copyInto($copyObj, $deepCopy); + + return $copyObj; + } + + /** + * Declares an association between this object and a ChildNutrient object. + * + * @param ChildNutrient $v + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + * @throws PropelException + */ + public function setNutrient(ChildNutrient $v = null) + { + if ($v === null) { + $this->setNutrientId(NULL); + } else { + $this->setNutrientId($v->getId()); + } + + $this->aNutrient = $v; + + // Add binding for other direction of this n:n relationship. + // If this object has already been added to the ChildNutrient object, it will not be re-added. + if ($v !== null) { + $v->addCategoryRankNutrient($this); + } + + + return $this; + } + + + /** + * Get the associated ChildNutrient object + * + * @param ConnectionInterface $con Optional Connection object. + * @return ChildNutrient The associated ChildNutrient object. + * @throws PropelException + */ + public function getNutrient(ConnectionInterface $con = null) + { + if ($this->aNutrient === null && ($this->nutrient_id !== null)) { + $this->aNutrient = ChildNutrientQuery::create()->findPk($this->nutrient_id, $con); + /* The following can be used additionally to + guarantee the related object contains a reference + to this object. This level of coupling may, however, be + undesirable since it could result in an only partially populated collection + in the referenced object. + $this->aNutrient->addCategoryRankNutrients($this); + */ + } + + return $this->aNutrient; + } + + /** + * Declares an association between this object and a ChildCategory object. + * + * @param ChildCategory $v + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + * @throws PropelException + */ + public function setCategory(ChildCategory $v = null) + { + if ($v === null) { + $this->setCategoryId(NULL); + } else { + $this->setCategoryId($v->getId()); + } + + $this->aCategory = $v; + + // Add binding for other direction of this n:n relationship. + // If this object has already been added to the ChildCategory object, it will not be re-added. + if ($v !== null) { + $v->addCategoryRankNutrient($this); + } + + + return $this; + } + + + /** + * Get the associated ChildCategory object + * + * @param ConnectionInterface $con Optional Connection object. + * @return ChildCategory The associated ChildCategory object. + * @throws PropelException + */ + public function getCategory(ConnectionInterface $con = null) + { + if ($this->aCategory === null && ($this->category_id !== null)) { + $this->aCategory = ChildCategoryQuery::create()->findPk($this->category_id, $con); + /* The following can be used additionally to + guarantee the related object contains a reference + to this object. This level of coupling may, however, be + undesirable since it could result in an only partially populated collection + in the referenced object. + $this->aCategory->addCategoryRankNutrients($this); + */ + } + + return $this->aCategory; + } + + /** + * Declares an association between this object and a ChildRank object. + * + * @param ChildRank $v + * @return $this|\CategoryRankNutrient The current object (for fluent API support) + * @throws PropelException + */ + public function setRank(ChildRank $v = null) + { + if ($v === null) { + $this->setRankId(NULL); + } else { + $this->setRankId($v->getId()); + } + + $this->aRank = $v; + + // Add binding for other direction of this n:n relationship. + // If this object has already been added to the ChildRank object, it will not be re-added. + if ($v !== null) { + $v->addCategoryRankNutrient($this); + } + + + return $this; + } + + + /** + * Get the associated ChildRank object + * + * @param ConnectionInterface $con Optional Connection object. + * @return ChildRank The associated ChildRank object. + * @throws PropelException + */ + public function getRank(ConnectionInterface $con = null) + { + if ($this->aRank === null && ($this->rank_id !== null)) { + $this->aRank = ChildRankQuery::create()->findPk($this->rank_id, $con); + /* The following can be used additionally to + guarantee the related object contains a reference + to this object. This level of coupling may, however, be + undesirable since it could result in an only partially populated collection + in the referenced object. + $this->aRank->addCategoryRankNutrients($this); + */ + } + + return $this->aRank; + } + + /** + * Clears the current object, sets all attributes to their default values and removes + * outgoing references as well as back-references (from other objects to this one. Results probably in a database + * change of those foreign objects when you call `save` there). + */ + public function clear() + { + if (null !== $this->aNutrient) { + $this->aNutrient->removeCategoryRankNutrient($this); + } + if (null !== $this->aCategory) { + $this->aCategory->removeCategoryRankNutrient($this); + } + if (null !== $this->aRank) { + $this->aRank->removeCategoryRankNutrient($this); + } + $this->id = null; + $this->units = null; + $this->threshold = null; + $this->operator = null; + $this->category_id = null; + $this->rank_id = null; + $this->nutrient_id = null; + $this->alreadyInSave = false; + $this->clearAllReferences(); + $this->resetModified(); + $this->setNew(true); + $this->setDeleted(false); + } + + /** + * Resets all references and back-references to other model objects or collections of model objects. + * + * This method is used to reset all php object references (not the actual reference in the database). + * Necessary for object serialisation. + * + * @param boolean $deep Whether to also clear the references on all referrer objects. + */ + public function clearAllReferences($deep = false) + { + if ($deep) { + } // if ($deep) + + $this->aNutrient = null; + $this->aCategory = null; + $this->aRank = null; + } + + /** + * Return the string representation of this object + * + * @return string + */ + public function __toString() + { + return (string) $this->exportTo(CategoryRankNutrientTableMap::DEFAULT_STRING_FORMAT); + } + + /** + * Code to be run before persisting the object + * @param ConnectionInterface $con + * @return boolean + */ + public function preSave(ConnectionInterface $con = null) + { + if (is_callable('parent::preSave')) { + return parent::preSave($con); + } + return true; + } + + /** + * Code to be run after persisting the object + * @param ConnectionInterface $con + */ + public function postSave(ConnectionInterface $con = null) + { + if (is_callable('parent::postSave')) { + parent::postSave($con); + } + } + + /** + * Code to be run before inserting to database + * @param ConnectionInterface $con + * @return boolean + */ + public function preInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::preInsert')) { + return parent::preInsert($con); + } + return true; + } + + /** + * Code to be run after inserting to database + * @param ConnectionInterface $con + */ + public function postInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::postInsert')) { + parent::postInsert($con); + } + } + + /** + * Code to be run before updating the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::preUpdate')) { + return parent::preUpdate($con); + } + return true; + } + + /** + * Code to be run after updating the object in database + * @param ConnectionInterface $con + */ + public function postUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::postUpdate')) { + parent::postUpdate($con); + } + } + + /** + * Code to be run before deleting the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::preDelete')) { + return parent::preDelete($con); + } + return true; + } + + /** + * Code to be run after deleting the object in database + * @param ConnectionInterface $con + */ + public function postDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::postDelete')) { + parent::postDelete($con); + } + } + + + /** + * Derived method to catches calls to undefined methods. + * + * Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.). + * Allows to define default __call() behavior if you overwrite __call() + * + * @param string $name + * @param mixed $params + * + * @return array|string + */ + public function __call($name, $params) + { + if (0 === strpos($name, 'get')) { + $virtualColumn = substr($name, 3); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + + $virtualColumn = lcfirst($virtualColumn); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + } + + if (0 === strpos($name, 'from')) { + $format = substr($name, 4); + + return $this->importFrom($format, reset($params)); + } + + if (0 === strpos($name, 'to')) { + $format = substr($name, 2); + $includeLazyLoadColumns = isset($params[0]) ? $params[0] : true; + + return $this->exportTo($format, $includeLazyLoadColumns); + } + + throw new BadMethodCallException(sprintf('Call to undefined method: %s.', $name)); + } + +} diff --git a/api/generated-classes/Base/CategoryRankNutrientQuery.php b/api/generated-classes/Base/CategoryRankNutrientQuery.php new file mode 100644 index 0000000..832818e --- /dev/null +++ b/api/generated-classes/Base/CategoryRankNutrientQuery.php @@ -0,0 +1,866 @@ +setModelAlias($modelAlias); + } + if ($criteria instanceof Criteria) { + $query->mergeWith($criteria); + } + + return $query; + } + + /** + * Find object by primary key. + * Propel uses the instance pool to skip the database if the object exists. + * Go fast if the query is untouched. + * + * + * $obj = $c->findPk(12, $con); + * + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ChildCategoryRankNutrient|array|mixed the result, formatted by the current formatter + */ + public function findPk($key, ConnectionInterface $con = null) + { + if ($key === null) { + return null; + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(CategoryRankNutrientTableMap::DATABASE_NAME); + } + + $this->basePreSelect($con); + + if ( + $this->formatter || $this->modelAlias || $this->with || $this->select + || $this->selectColumns || $this->asColumns || $this->selectModifiers + || $this->map || $this->having || $this->joins + ) { + return $this->findPkComplex($key, $con); + } + + if ((null !== ($obj = CategoryRankNutrientTableMap::getInstanceFromPool(null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key)))) { + // the object is already in the instance pool + return $obj; + } + + return $this->findPkSimple($key, $con); + } + + /** + * Find object by primary key using raw SQL to go fast. + * Bypass doSelect() and the object formatter by using generated code. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildCategoryRankNutrient A model object, or null if the key is not found + */ + protected function findPkSimple($key, ConnectionInterface $con) + { + $sql = 'SELECT id, units, threshold, operator, category_id, rank_id, nutrient_id FROM Category_Rank_Nutrient WHERE id = :p0'; + try { + $stmt = $con->prepare($sql); + $stmt->bindValue(':p0', $key, PDO::PARAM_INT); + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e); + } + $obj = null; + if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { + /** @var ChildCategoryRankNutrient $obj */ + $obj = new ChildCategoryRankNutrient(); + $obj->hydrate($row); + CategoryRankNutrientTableMap::addInstanceToPool($obj, null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key); + } + $stmt->closeCursor(); + + return $obj; + } + + /** + * Find object by primary key. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @return ChildCategoryRankNutrient|array|mixed the result, formatted by the current formatter + */ + protected function findPkComplex($key, ConnectionInterface $con) + { + // As the query uses a PK condition, no limit(1) is necessary. + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKey($key) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->formatOne($dataFetcher); + } + + /** + * Find objects by primary key + * + * $objs = $c->findPks(array(12, 56, 832), $con); + * + * @param array $keys Primary keys to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ObjectCollection|array|mixed the list of results, formatted by the current formatter + */ + public function findPks($keys, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getReadConnection($this->getDbName()); + } + $this->basePreSelect($con); + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKeys($keys) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->format($dataFetcher); + } + + /** + * Filter the query by primary key + * + * @param mixed $key Primary key to use for the query + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByPrimaryKey($key) + { + + return $this->addUsingAlias(CategoryRankNutrientTableMap::COL_ID, $key, Criteria::EQUAL); + } + + /** + * Filter the query by a list of primary keys + * + * @param array $keys The list of primary key to use for the query + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByPrimaryKeys($keys) + { + + return $this->addUsingAlias(CategoryRankNutrientTableMap::COL_ID, $keys, Criteria::IN); + } + + /** + * Filter the query on the id column + * + * Example usage: + * + * $query->filterById(1234); // WHERE id = 1234 + * $query->filterById(array(12, 34)); // WHERE id IN (12, 34) + * $query->filterById(array('min' => 12)); // WHERE id > 12 + * + * + * @param mixed $id The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterById($id = null, $comparison = null) + { + if (is_array($id)) { + $useMinMax = false; + if (isset($id['min'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_ID, $id['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($id['max'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_ID, $id['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CategoryRankNutrientTableMap::COL_ID, $id, $comparison); + } + + /** + * Filter the query on the units column + * + * Example usage: + * + * $query->filterByUnits('fooValue'); // WHERE units = 'fooValue' + * $query->filterByUnits('%fooValue%', Criteria::LIKE); // WHERE units LIKE '%fooValue%' + * + * + * @param string $units The value to use as filter. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByUnits($units = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($units)) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CategoryRankNutrientTableMap::COL_UNITS, $units, $comparison); + } + + /** + * Filter the query on the threshold column + * + * Example usage: + * + * $query->filterByThreshold(1234); // WHERE threshold = 1234 + * $query->filterByThreshold(array(12, 34)); // WHERE threshold IN (12, 34) + * $query->filterByThreshold(array('min' => 12)); // WHERE threshold > 12 + * + * + * @param mixed $threshold The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByThreshold($threshold = null, $comparison = null) + { + if (is_array($threshold)) { + $useMinMax = false; + if (isset($threshold['min'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_THRESHOLD, $threshold['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($threshold['max'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_THRESHOLD, $threshold['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CategoryRankNutrientTableMap::COL_THRESHOLD, $threshold, $comparison); + } + + /** + * Filter the query on the operator column + * + * Example usage: + * + * $query->filterByOperator('fooValue'); // WHERE operator = 'fooValue' + * $query->filterByOperator('%fooValue%', Criteria::LIKE); // WHERE operator LIKE '%fooValue%' + * + * + * @param string $operator The value to use as filter. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByOperator($operator = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($operator)) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CategoryRankNutrientTableMap::COL_OPERATOR, $operator, $comparison); + } + + /** + * Filter the query on the category_id column + * + * Example usage: + * + * $query->filterByCategoryId(1234); // WHERE category_id = 1234 + * $query->filterByCategoryId(array(12, 34)); // WHERE category_id IN (12, 34) + * $query->filterByCategoryId(array('min' => 12)); // WHERE category_id > 12 + * + * + * @see filterByCategory() + * + * @param mixed $categoryId The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByCategoryId($categoryId = null, $comparison = null) + { + if (is_array($categoryId)) { + $useMinMax = false; + if (isset($categoryId['min'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_CATEGORY_ID, $categoryId['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($categoryId['max'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_CATEGORY_ID, $categoryId['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CategoryRankNutrientTableMap::COL_CATEGORY_ID, $categoryId, $comparison); + } + + /** + * Filter the query on the rank_id column + * + * Example usage: + * + * $query->filterByRankId(1234); // WHERE rank_id = 1234 + * $query->filterByRankId(array(12, 34)); // WHERE rank_id IN (12, 34) + * $query->filterByRankId(array('min' => 12)); // WHERE rank_id > 12 + * + * + * @see filterByRank() + * + * @param mixed $rankId The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByRankId($rankId = null, $comparison = null) + { + if (is_array($rankId)) { + $useMinMax = false; + if (isset($rankId['min'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_RANK_ID, $rankId['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($rankId['max'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_RANK_ID, $rankId['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CategoryRankNutrientTableMap::COL_RANK_ID, $rankId, $comparison); + } + + /** + * Filter the query on the nutrient_id column + * + * Example usage: + * + * $query->filterByNutrientId(1234); // WHERE nutrient_id = 1234 + * $query->filterByNutrientId(array(12, 34)); // WHERE nutrient_id IN (12, 34) + * $query->filterByNutrientId(array('min' => 12)); // WHERE nutrient_id > 12 + * + * + * @see filterByNutrient() + * + * @param mixed $nutrientId The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByNutrientId($nutrientId = null, $comparison = null) + { + if (is_array($nutrientId)) { + $useMinMax = false; + if (isset($nutrientId['min'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_NUTRIENT_ID, $nutrientId['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($nutrientId['max'])) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_NUTRIENT_ID, $nutrientId['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(CategoryRankNutrientTableMap::COL_NUTRIENT_ID, $nutrientId, $comparison); + } + + /** + * Filter the query by a related \Nutrient object + * + * @param \Nutrient|ObjectCollection $nutrient The related object(s) to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByNutrient($nutrient, $comparison = null) + { + if ($nutrient instanceof \Nutrient) { + return $this + ->addUsingAlias(CategoryRankNutrientTableMap::COL_NUTRIENT_ID, $nutrient->getId(), $comparison); + } elseif ($nutrient instanceof ObjectCollection) { + if (null === $comparison) { + $comparison = Criteria::IN; + } + + return $this + ->addUsingAlias(CategoryRankNutrientTableMap::COL_NUTRIENT_ID, $nutrient->toKeyValue('PrimaryKey', 'Id'), $comparison); + } else { + throw new PropelException('filterByNutrient() only accepts arguments of type \Nutrient or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the Nutrient relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function joinNutrient($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('Nutrient'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'Nutrient'); + } + + return $this; + } + + /** + * Use the Nutrient relation Nutrient object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \NutrientQuery A secondary query class using the current class as primary query + */ + public function useNutrientQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + return $this + ->joinNutrient($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Nutrient', '\NutrientQuery'); + } + + /** + * Filter the query by a related \Category object + * + * @param \Category|ObjectCollection $category The related object(s) to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByCategory($category, $comparison = null) + { + if ($category instanceof \Category) { + return $this + ->addUsingAlias(CategoryRankNutrientTableMap::COL_CATEGORY_ID, $category->getId(), $comparison); + } elseif ($category instanceof ObjectCollection) { + if (null === $comparison) { + $comparison = Criteria::IN; + } + + return $this + ->addUsingAlias(CategoryRankNutrientTableMap::COL_CATEGORY_ID, $category->toKeyValue('PrimaryKey', 'Id'), $comparison); + } else { + throw new PropelException('filterByCategory() only accepts arguments of type \Category or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the Category relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function joinCategory($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('Category'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'Category'); + } + + return $this; + } + + /** + * Use the Category relation Category object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \CategoryQuery A secondary query class using the current class as primary query + */ + public function useCategoryQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + return $this + ->joinCategory($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Category', '\CategoryQuery'); + } + + /** + * Filter the query by a related \Rank object + * + * @param \Rank|ObjectCollection $rank The related object(s) to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function filterByRank($rank, $comparison = null) + { + if ($rank instanceof \Rank) { + return $this + ->addUsingAlias(CategoryRankNutrientTableMap::COL_RANK_ID, $rank->getId(), $comparison); + } elseif ($rank instanceof ObjectCollection) { + if (null === $comparison) { + $comparison = Criteria::IN; + } + + return $this + ->addUsingAlias(CategoryRankNutrientTableMap::COL_RANK_ID, $rank->toKeyValue('PrimaryKey', 'Id'), $comparison); + } else { + throw new PropelException('filterByRank() only accepts arguments of type \Rank or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the Rank relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function joinRank($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('Rank'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'Rank'); + } + + return $this; + } + + /** + * Use the Rank relation Rank object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \RankQuery A secondary query class using the current class as primary query + */ + public function useRankQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + return $this + ->joinRank($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Rank', '\RankQuery'); + } + + /** + * Exclude object from result + * + * @param ChildCategoryRankNutrient $categoryRankNutrient Object to remove from the list of results + * + * @return $this|ChildCategoryRankNutrientQuery The current query, for fluid interface + */ + public function prune($categoryRankNutrient = null) + { + if ($categoryRankNutrient) { + $this->addUsingAlias(CategoryRankNutrientTableMap::COL_ID, $categoryRankNutrient->getId(), Criteria::NOT_EQUAL); + } + + return $this; + } + + /** + * Deletes all rows from the Category_Rank_Nutrient table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public function doDeleteAll(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryRankNutrientTableMap::DATABASE_NAME); + } + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con) { + $affectedRows = 0; // initialize var to track total num of affected rows + $affectedRows += parent::doDeleteAll($con); + // Because this db requires some delete cascade/set null emulation, we have to + // clear the cached instance *after* the emulation has happened (since + // instances get re-added by the select statement contained therein). + CategoryRankNutrientTableMap::clearInstancePool(); + CategoryRankNutrientTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + + /** + * Performs a DELETE on the database based on the current ModelCriteria + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public function delete(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryRankNutrientTableMap::DATABASE_NAME); + } + + $criteria = $this; + + // Set the correct dbName + $criteria->setDbName(CategoryRankNutrientTableMap::DATABASE_NAME); + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con, $criteria) { + $affectedRows = 0; // initialize var to track total num of affected rows + + CategoryRankNutrientTableMap::removeInstanceFromPool($criteria); + + $affectedRows += ModelCriteria::delete($con); + CategoryRankNutrientTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + +} // CategoryRankNutrientQuery diff --git a/api/generated-classes/Base/Food.php b/api/generated-classes/Base/Food.php new file mode 100644 index 0000000..38bb5bc --- /dev/null +++ b/api/generated-classes/Base/Food.php @@ -0,0 +1,1530 @@ +modifiedColumns; + } + + /** + * Has specified column been modified? + * + * @param string $col column fully qualified name (TableMap::TYPE_COLNAME), e.g. Book::AUTHOR_ID + * @return boolean True if $col has been modified. + */ + public function isColumnModified($col) + { + return $this->modifiedColumns && isset($this->modifiedColumns[$col]); + } + + /** + * Get the columns that have been modified in this object. + * @return array A unique list of the modified column names for this object. + */ + public function getModifiedColumns() + { + return $this->modifiedColumns ? array_keys($this->modifiedColumns) : []; + } + + /** + * Returns whether the object has ever been saved. This will + * be false, if the object was retrieved from storage or was created + * and then saved. + * + * @return boolean true, if the object has never been persisted. + */ + public function isNew() + { + return $this->new; + } + + /** + * Setter for the isNew attribute. This method will be called + * by Propel-generated children and objects. + * + * @param boolean $b the state of the object. + */ + public function setNew($b) + { + $this->new = (boolean) $b; + } + + /** + * Whether this object has been deleted. + * @return boolean The deleted state of this object. + */ + public function isDeleted() + { + return $this->deleted; + } + + /** + * Specify whether this object has been deleted. + * @param boolean $b The deleted state of this object. + * @return void + */ + public function setDeleted($b) + { + $this->deleted = (boolean) $b; + } + + /** + * Sets the modified state for the object to be false. + * @param string $col If supplied, only the specified column is reset. + * @return void + */ + public function resetModified($col = null) + { + if (null !== $col) { + if (isset($this->modifiedColumns[$col])) { + unset($this->modifiedColumns[$col]); + } + } else { + $this->modifiedColumns = array(); + } + } + + /** + * Compares this with another Food instance. If + * obj is an instance of Food, delegates to + * equals(Food). Otherwise, returns false. + * + * @param mixed $obj The object to compare to. + * @return boolean Whether equal to the object specified. + */ + public function equals($obj) + { + if (!$obj instanceof static) { + return false; + } + + if ($this === $obj) { + return true; + } + + if (null === $this->getPrimaryKey() || null === $obj->getPrimaryKey()) { + return false; + } + + return $this->getPrimaryKey() === $obj->getPrimaryKey(); + } + + /** + * Get the associative array of the virtual columns in this object + * + * @return array + */ + public function getVirtualColumns() + { + return $this->virtualColumns; + } + + /** + * Checks the existence of a virtual column in this object + * + * @param string $name The virtual column name + * @return boolean + */ + public function hasVirtualColumn($name) + { + return array_key_exists($name, $this->virtualColumns); + } + + /** + * Get the value of a virtual column in this object + * + * @param string $name The virtual column name + * @return mixed + * + * @throws PropelException + */ + public function getVirtualColumn($name) + { + if (!$this->hasVirtualColumn($name)) { + throw new PropelException(sprintf('Cannot get value of inexistent virtual column %s.', $name)); + } + + return $this->virtualColumns[$name]; + } + + /** + * Set the value of a virtual column in this object + * + * @param string $name The virtual column name + * @param mixed $value The value to give to the virtual column + * + * @return $this|Food The current object, for fluid interface + */ + public function setVirtualColumn($name, $value) + { + $this->virtualColumns[$name] = $value; + + return $this; + } + + /** + * Logs a message using Propel::log(). + * + * @param string $msg + * @param int $priority One of the Propel::LOG_* logging levels + * @return boolean + */ + protected function log($msg, $priority = Propel::LOG_INFO) + { + return Propel::log(get_class($this) . ': ' . $msg, $priority); + } + + /** + * Export the current object properties to a string, using a given parser format + * + * $book = BookQuery::create()->findPk(9012); + * echo $book->exportTo('JSON'); + * => {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * @param mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy load(ed) columns. Defaults to TRUE. + * @return string The exported data + */ + public function exportTo($parser, $includeLazyLoadColumns = true) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + return $parser->fromArray($this->toArray(TableMap::TYPE_PHPNAME, $includeLazyLoadColumns, array(), true)); + } + + /** + * Clean up internal collections prior to serializing + * Avoids recursive loops that turn into segmentation faults when serializing + */ + public function __sleep() + { + $this->clearAllReferences(); + + $cls = new \ReflectionClass($this); + $propertyNames = []; + $serializableProperties = array_diff($cls->getProperties(), $cls->getProperties(\ReflectionProperty::IS_STATIC)); + + foreach($serializableProperties as $property) { + $propertyNames[] = $property->getName(); + } + + return $propertyNames; + } + + /** + * Get the [id] column value. + * + * @return int + */ + public function getId() + { + return $this->id; + } + + /** + * Get the [name] column value. + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Get the [barcode] column value. + * + * @return int + */ + public function getBarcode() + { + return $this->barcode; + } + + /** + * Get the [rank_id] column value. + * + * @return int + */ + public function getRankId() + { + return $this->rank_id; + } + + /** + * Get the [category_id] column value. + * + * @return int + */ + public function getCategoryId() + { + return $this->category_id; + } + + /** + * Set the value of [id] column. + * + * @param int $v new value + * @return $this|\Food The current object (for fluent API support) + */ + public function setId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->id !== $v) { + $this->id = $v; + $this->modifiedColumns[FoodTableMap::COL_ID] = true; + } + + return $this; + } // setId() + + /** + * Set the value of [name] column. + * + * @param string $v new value + * @return $this|\Food The current object (for fluent API support) + */ + public function setName($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->name !== $v) { + $this->name = $v; + $this->modifiedColumns[FoodTableMap::COL_NAME] = true; + } + + return $this; + } // setName() + + /** + * Set the value of [barcode] column. + * + * @param int $v new value + * @return $this|\Food The current object (for fluent API support) + */ + public function setBarcode($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->barcode !== $v) { + $this->barcode = $v; + $this->modifiedColumns[FoodTableMap::COL_BARCODE] = true; + } + + return $this; + } // setBarcode() + + /** + * Set the value of [rank_id] column. + * + * @param int $v new value + * @return $this|\Food The current object (for fluent API support) + */ + public function setRankId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->rank_id !== $v) { + $this->rank_id = $v; + $this->modifiedColumns[FoodTableMap::COL_RANK_ID] = true; + } + + if ($this->aRank !== null && $this->aRank->getId() !== $v) { + $this->aRank = null; + } + + return $this; + } // setRankId() + + /** + * Set the value of [category_id] column. + * + * @param int $v new value + * @return $this|\Food The current object (for fluent API support) + */ + public function setCategoryId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->category_id !== $v) { + $this->category_id = $v; + $this->modifiedColumns[FoodTableMap::COL_CATEGORY_ID] = true; + } + + if ($this->aCategory !== null && $this->aCategory->getId() !== $v) { + $this->aCategory = null; + } + + return $this; + } // setCategoryId() + + /** + * Indicates whether the columns in this object are only set to default values. + * + * This method can be used in conjunction with isModified() to indicate whether an object is both + * modified _and_ has some values set which are non-default. + * + * @return boolean Whether the columns in this object are only been set with default values. + */ + public function hasOnlyDefaultValues() + { + // otherwise, everything was equal, so return TRUE + return true; + } // hasOnlyDefaultValues() + + /** + * Hydrates (populates) the object variables with values from the database resultset. + * + * An offset (0-based "start column") is specified so that objects can be hydrated + * with a subset of the columns in the resultset rows. This is needed, for example, + * for results of JOIN queries where the resultset row includes columns from two or + * more tables. + * + * @param array $row The row returned by DataFetcher->fetch(). + * @param int $startcol 0-based offset column which indicates which restultset column to start with. + * @param boolean $rehydrate Whether this object is being re-hydrated from the database. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @return int next starting column + * @throws PropelException - Any caught Exception will be rewrapped as a PropelException. + */ + public function hydrate($row, $startcol = 0, $rehydrate = false, $indexType = TableMap::TYPE_NUM) + { + try { + + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : FoodTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $this->id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : FoodTableMap::translateFieldName('Name', TableMap::TYPE_PHPNAME, $indexType)]; + $this->name = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : FoodTableMap::translateFieldName('Barcode', TableMap::TYPE_PHPNAME, $indexType)]; + $this->barcode = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : FoodTableMap::translateFieldName('RankId', TableMap::TYPE_PHPNAME, $indexType)]; + $this->rank_id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : FoodTableMap::translateFieldName('CategoryId', TableMap::TYPE_PHPNAME, $indexType)]; + $this->category_id = (null !== $col) ? (int) $col : null; + $this->resetModified(); + + $this->setNew(false); + + if ($rehydrate) { + $this->ensureConsistency(); + } + + return $startcol + 5; // 5 = FoodTableMap::NUM_HYDRATE_COLUMNS. + + } catch (Exception $e) { + throw new PropelException(sprintf('Error populating %s object', '\\Food'), 0, $e); + } + } + + /** + * Checks and repairs the internal consistency of the object. + * + * This method is executed after an already-instantiated object is re-hydrated + * from the database. It exists to check any foreign keys to make sure that + * the objects related to the current object are correct based on foreign key. + * + * You can override this method in the stub class, but you should always invoke + * the base method from the overridden method (i.e. parent::ensureConsistency()), + * in case your model changes. + * + * @throws PropelException + */ + public function ensureConsistency() + { + if ($this->aRank !== null && $this->rank_id !== $this->aRank->getId()) { + $this->aRank = null; + } + if ($this->aCategory !== null && $this->category_id !== $this->aCategory->getId()) { + $this->aCategory = null; + } + } // ensureConsistency + + /** + * Reloads this object from datastore based on primary key and (optionally) resets all associated objects. + * + * This will only work if the object has been saved and has a valid primary key set. + * + * @param boolean $deep (optional) Whether to also de-associated any related objects. + * @param ConnectionInterface $con (optional) The ConnectionInterface connection to use. + * @return void + * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db + */ + public function reload($deep = false, ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("Cannot reload a deleted object."); + } + + if ($this->isNew()) { + throw new PropelException("Cannot reload an unsaved object."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(FoodTableMap::DATABASE_NAME); + } + + // We don't need to alter the object instance pool; we're just modifying this instance + // already in the pool. + + $dataFetcher = ChildFoodQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $row = $dataFetcher->fetch(); + $dataFetcher->close(); + if (!$row) { + throw new PropelException('Cannot find matching row in the database to reload object values.'); + } + $this->hydrate($row, 0, true, $dataFetcher->getIndexType()); // rehydrate + + if ($deep) { // also de-associate any related objects? + + $this->aCategory = null; + $this->aRank = null; + } // if (deep) + } + + /** + * Removes this object from datastore and sets delete attribute. + * + * @param ConnectionInterface $con + * @return void + * @throws PropelException + * @see Food::setDeleted() + * @see Food::isDeleted() + */ + public function delete(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("This object has already been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(FoodTableMap::DATABASE_NAME); + } + + $con->transaction(function () use ($con) { + $deleteQuery = ChildFoodQuery::create() + ->filterByPrimaryKey($this->getPrimaryKey()); + $ret = $this->preDelete($con); + if ($ret) { + $deleteQuery->delete($con); + $this->postDelete($con); + $this->setDeleted(true); + } + }); + } + + /** + * Persists this object to the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All modified related objects will also be persisted in the doSave() + * method. This method wraps all precipitate database operations in a + * single transaction. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see doSave() + */ + public function save(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(FoodTableMap::DATABASE_NAME); + } + + return $con->transaction(function () use ($con) { + $ret = $this->preSave($con); + $isInsert = $this->isNew(); + if ($isInsert) { + $ret = $ret && $this->preInsert($con); + } else { + $ret = $ret && $this->preUpdate($con); + } + if ($ret) { + $affectedRows = $this->doSave($con); + if ($isInsert) { + $this->postInsert($con); + } else { + $this->postUpdate($con); + } + $this->postSave($con); + FoodTableMap::addInstanceToPool($this); + } else { + $affectedRows = 0; + } + + return $affectedRows; + }); + } + + /** + * Performs the work of inserting or updating the row in the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All related objects are also updated in this method. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see save() + */ + protected function doSave(ConnectionInterface $con) + { + $affectedRows = 0; // initialize var to track total num of affected rows + if (!$this->alreadyInSave) { + $this->alreadyInSave = true; + + // We call the save method on the following object(s) if they + // were passed to this object by their corresponding set + // method. This object relates to these object(s) by a + // foreign key reference. + + if ($this->aCategory !== null) { + if ($this->aCategory->isModified() || $this->aCategory->isNew()) { + $affectedRows += $this->aCategory->save($con); + } + $this->setCategory($this->aCategory); + } + + if ($this->aRank !== null) { + if ($this->aRank->isModified() || $this->aRank->isNew()) { + $affectedRows += $this->aRank->save($con); + } + $this->setRank($this->aRank); + } + + if ($this->isNew() || $this->isModified()) { + // persist changes + if ($this->isNew()) { + $this->doInsert($con); + $affectedRows += 1; + } else { + $affectedRows += $this->doUpdate($con); + } + $this->resetModified(); + } + + $this->alreadyInSave = false; + + } + + return $affectedRows; + } // doSave() + + /** + * Insert the row in the database. + * + * @param ConnectionInterface $con + * + * @throws PropelException + * @see doSave() + */ + protected function doInsert(ConnectionInterface $con) + { + $modifiedColumns = array(); + $index = 0; + + $this->modifiedColumns[FoodTableMap::COL_ID] = true; + if (null !== $this->id) { + throw new PropelException('Cannot insert a value for auto-increment primary key (' . FoodTableMap::COL_ID . ')'); + } + + // check the columns in natural order for more readable SQL queries + if ($this->isColumnModified(FoodTableMap::COL_ID)) { + $modifiedColumns[':p' . $index++] = 'id'; + } + if ($this->isColumnModified(FoodTableMap::COL_NAME)) { + $modifiedColumns[':p' . $index++] = 'name'; + } + if ($this->isColumnModified(FoodTableMap::COL_BARCODE)) { + $modifiedColumns[':p' . $index++] = 'barcode'; + } + if ($this->isColumnModified(FoodTableMap::COL_RANK_ID)) { + $modifiedColumns[':p' . $index++] = 'rank_id'; + } + if ($this->isColumnModified(FoodTableMap::COL_CATEGORY_ID)) { + $modifiedColumns[':p' . $index++] = 'category_id'; + } + + $sql = sprintf( + 'INSERT INTO Food (%s) VALUES (%s)', + implode(', ', $modifiedColumns), + implode(', ', array_keys($modifiedColumns)) + ); + + try { + $stmt = $con->prepare($sql); + foreach ($modifiedColumns as $identifier => $columnName) { + switch ($columnName) { + case 'id': + $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); + break; + case 'name': + $stmt->bindValue($identifier, $this->name, PDO::PARAM_STR); + break; + case 'barcode': + $stmt->bindValue($identifier, $this->barcode, PDO::PARAM_INT); + break; + case 'rank_id': + $stmt->bindValue($identifier, $this->rank_id, PDO::PARAM_INT); + break; + case 'category_id': + $stmt->bindValue($identifier, $this->category_id, PDO::PARAM_INT); + break; + } + } + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e); + } + + try { + $pk = $con->lastInsertId(); + } catch (Exception $e) { + throw new PropelException('Unable to get autoincrement id.', 0, $e); + } + $this->setId($pk); + + $this->setNew(false); + } + + /** + * Update the row in the database. + * + * @param ConnectionInterface $con + * + * @return Integer Number of updated rows + * @see doSave() + */ + protected function doUpdate(ConnectionInterface $con) + { + $selectCriteria = $this->buildPkeyCriteria(); + $valuesCriteria = $this->buildCriteria(); + + return $selectCriteria->doUpdate($valuesCriteria, $con); + } + + /** + * Retrieves a field from the object by name passed in as a string. + * + * @param string $name name + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return mixed Value of field. + */ + public function getByName($name, $type = TableMap::TYPE_PHPNAME) + { + $pos = FoodTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $field = $this->getByPosition($pos); + + return $field; + } + + /** + * Retrieves a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @return mixed Value of field at $pos + */ + public function getByPosition($pos) + { + switch ($pos) { + case 0: + return $this->getId(); + break; + case 1: + return $this->getName(); + break; + case 2: + return $this->getBarcode(); + break; + case 3: + return $this->getRankId(); + break; + case 4: + return $this->getCategoryId(); + break; + default: + return null; + break; + } // switch() + } + + /** + * Exports the object as an array. + * + * You can specify the key type of the array by passing one of the class + * type constants. + * + * @param string $keyType (optional) One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE. + * @param array $alreadyDumpedObjects List of objects to skip to avoid recursion + * @param boolean $includeForeignObjects (optional) Whether to include hydrated related objects. Default to FALSE. + * + * @return array an associative array containing the field names (as keys) and field values + */ + public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) + { + + if (isset($alreadyDumpedObjects['Food'][$this->hashCode()])) { + return '*RECURSION*'; + } + $alreadyDumpedObjects['Food'][$this->hashCode()] = true; + $keys = FoodTableMap::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getName(), + $keys[2] => $this->getBarcode(), + $keys[3] => $this->getRankId(), + $keys[4] => $this->getCategoryId(), + ); + $virtualColumns = $this->virtualColumns; + foreach ($virtualColumns as $key => $virtualColumn) { + $result[$key] = $virtualColumn; + } + + if ($includeForeignObjects) { + if (null !== $this->aCategory) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'category'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Category'; + break; + default: + $key = 'Category'; + } + + $result[$key] = $this->aCategory->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); + } + if (null !== $this->aRank) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'rank'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Rank'; + break; + default: + $key = 'Rank'; + } + + $result[$key] = $this->aRank->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); + } + } + + return $result; + } + + /** + * Sets a field from the object by name passed in as a string. + * + * @param string $name + * @param mixed $value field value + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return $this|\Food + */ + public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) + { + $pos = FoodTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + + return $this->setByPosition($pos, $value); + } + + /** + * Sets a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @param mixed $value field value + * @return $this|\Food + */ + public function setByPosition($pos, $value) + { + switch ($pos) { + case 0: + $this->setId($value); + break; + case 1: + $this->setName($value); + break; + case 2: + $this->setBarcode($value); + break; + case 3: + $this->setRankId($value); + break; + case 4: + $this->setCategoryId($value); + break; + } // switch() + + return $this; + } + + /** + * Populates the object using an array. + * + * This is particularly useful when populating an object from one of the + * request arrays (e.g. $_POST). This method goes through the column + * names, checking to see whether a matching key exists in populated + * array. If so the setByName() method is called for that column. + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param array $arr An array to populate the object from. + * @param string $keyType The type of keys the array uses. + * @return void + */ + public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) + { + $keys = FoodTableMap::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) { + $this->setId($arr[$keys[0]]); + } + if (array_key_exists($keys[1], $arr)) { + $this->setName($arr[$keys[1]]); + } + if (array_key_exists($keys[2], $arr)) { + $this->setBarcode($arr[$keys[2]]); + } + if (array_key_exists($keys[3], $arr)) { + $this->setRankId($arr[$keys[3]]); + } + if (array_key_exists($keys[4], $arr)) { + $this->setCategoryId($arr[$keys[4]]); + } + } + + /** + * Populate the current object from a string, using a given parser format + * + * $book = new Book(); + * $book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param mixed $parser A AbstractParser instance, + * or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param string $data The source data to import from + * @param string $keyType The type of keys the array uses. + * + * @return $this|\Food The current object, for fluid interface + */ + public function importFrom($parser, $data, $keyType = TableMap::TYPE_PHPNAME) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + $this->fromArray($parser->toArray($data), $keyType); + + return $this; + } + + /** + * Build a Criteria object containing the values of all modified columns in this object. + * + * @return Criteria The Criteria object containing all modified values. + */ + public function buildCriteria() + { + $criteria = new Criteria(FoodTableMap::DATABASE_NAME); + + if ($this->isColumnModified(FoodTableMap::COL_ID)) { + $criteria->add(FoodTableMap::COL_ID, $this->id); + } + if ($this->isColumnModified(FoodTableMap::COL_NAME)) { + $criteria->add(FoodTableMap::COL_NAME, $this->name); + } + if ($this->isColumnModified(FoodTableMap::COL_BARCODE)) { + $criteria->add(FoodTableMap::COL_BARCODE, $this->barcode); + } + if ($this->isColumnModified(FoodTableMap::COL_RANK_ID)) { + $criteria->add(FoodTableMap::COL_RANK_ID, $this->rank_id); + } + if ($this->isColumnModified(FoodTableMap::COL_CATEGORY_ID)) { + $criteria->add(FoodTableMap::COL_CATEGORY_ID, $this->category_id); + } + + return $criteria; + } + + /** + * Builds a Criteria object containing the primary key for this object. + * + * Unlike buildCriteria() this method includes the primary key values regardless + * of whether or not they have been modified. + * + * @throws LogicException if no primary key is defined + * + * @return Criteria The Criteria object containing value(s) for primary key(s). + */ + public function buildPkeyCriteria() + { + $criteria = ChildFoodQuery::create(); + $criteria->add(FoodTableMap::COL_ID, $this->id); + + return $criteria; + } + + /** + * If the primary key is not null, return the hashcode of the + * primary key. Otherwise, return the hash code of the object. + * + * @return int Hashcode + */ + public function hashCode() + { + $validPk = null !== $this->getId(); + + $validPrimaryKeyFKs = 0; + $primaryKeyFKs = []; + + if ($validPk) { + return crc32(json_encode($this->getPrimaryKey(), JSON_UNESCAPED_UNICODE)); + } elseif ($validPrimaryKeyFKs) { + return crc32(json_encode($primaryKeyFKs, JSON_UNESCAPED_UNICODE)); + } + + return spl_object_hash($this); + } + + /** + * Returns the primary key for this object (row). + * @return int + */ + public function getPrimaryKey() + { + return $this->getId(); + } + + /** + * Generic method to set the primary key (id column). + * + * @param int $key Primary key. + * @return void + */ + public function setPrimaryKey($key) + { + $this->setId($key); + } + + /** + * Returns true if the primary key for this object is null. + * @return boolean + */ + public function isPrimaryKeyNull() + { + return null === $this->getId(); + } + + /** + * Sets contents of passed object to values from current object. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param object $copyObj An object of \Food (or compatible) type. + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. + * @throws PropelException + */ + public function copyInto($copyObj, $deepCopy = false, $makeNew = true) + { + $copyObj->setName($this->getName()); + $copyObj->setBarcode($this->getBarcode()); + $copyObj->setRankId($this->getRankId()); + $copyObj->setCategoryId($this->getCategoryId()); + if ($makeNew) { + $copyObj->setNew(true); + $copyObj->setId(NULL); // this is a auto-increment column, so set to default value + } + } + + /** + * Makes a copy of this object that will be inserted as a new row in table when saved. + * It creates a new object filling in the simple attributes, but skipping any primary + * keys that are defined for the table. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @return \Food Clone of current object. + * @throws PropelException + */ + public function copy($deepCopy = false) + { + // we use get_class(), because this might be a subclass + $clazz = get_class($this); + $copyObj = new $clazz(); + $this->copyInto($copyObj, $deepCopy); + + return $copyObj; + } + + /** + * Declares an association between this object and a ChildCategory object. + * + * @param ChildCategory $v + * @return $this|\Food The current object (for fluent API support) + * @throws PropelException + */ + public function setCategory(ChildCategory $v = null) + { + if ($v === null) { + $this->setCategoryId(NULL); + } else { + $this->setCategoryId($v->getId()); + } + + $this->aCategory = $v; + + // Add binding for other direction of this n:n relationship. + // If this object has already been added to the ChildCategory object, it will not be re-added. + if ($v !== null) { + $v->addFood($this); + } + + + return $this; + } + + + /** + * Get the associated ChildCategory object + * + * @param ConnectionInterface $con Optional Connection object. + * @return ChildCategory The associated ChildCategory object. + * @throws PropelException + */ + public function getCategory(ConnectionInterface $con = null) + { + if ($this->aCategory === null && ($this->category_id !== null)) { + $this->aCategory = ChildCategoryQuery::create()->findPk($this->category_id, $con); + /* The following can be used additionally to + guarantee the related object contains a reference + to this object. This level of coupling may, however, be + undesirable since it could result in an only partially populated collection + in the referenced object. + $this->aCategory->addFoods($this); + */ + } + + return $this->aCategory; + } + + /** + * Declares an association between this object and a ChildRank object. + * + * @param ChildRank $v + * @return $this|\Food The current object (for fluent API support) + * @throws PropelException + */ + public function setRank(ChildRank $v = null) + { + if ($v === null) { + $this->setRankId(NULL); + } else { + $this->setRankId($v->getId()); + } + + $this->aRank = $v; + + // Add binding for other direction of this n:n relationship. + // If this object has already been added to the ChildRank object, it will not be re-added. + if ($v !== null) { + $v->addFood($this); + } + + + return $this; + } + + + /** + * Get the associated ChildRank object + * + * @param ConnectionInterface $con Optional Connection object. + * @return ChildRank The associated ChildRank object. + * @throws PropelException + */ + public function getRank(ConnectionInterface $con = null) + { + if ($this->aRank === null && ($this->rank_id !== null)) { + $this->aRank = ChildRankQuery::create()->findPk($this->rank_id, $con); + /* The following can be used additionally to + guarantee the related object contains a reference + to this object. This level of coupling may, however, be + undesirable since it could result in an only partially populated collection + in the referenced object. + $this->aRank->addFoods($this); + */ + } + + return $this->aRank; + } + + /** + * Clears the current object, sets all attributes to their default values and removes + * outgoing references as well as back-references (from other objects to this one. Results probably in a database + * change of those foreign objects when you call `save` there). + */ + public function clear() + { + if (null !== $this->aCategory) { + $this->aCategory->removeFood($this); + } + if (null !== $this->aRank) { + $this->aRank->removeFood($this); + } + $this->id = null; + $this->name = null; + $this->barcode = null; + $this->rank_id = null; + $this->category_id = null; + $this->alreadyInSave = false; + $this->clearAllReferences(); + $this->resetModified(); + $this->setNew(true); + $this->setDeleted(false); + } + + /** + * Resets all references and back-references to other model objects or collections of model objects. + * + * This method is used to reset all php object references (not the actual reference in the database). + * Necessary for object serialisation. + * + * @param boolean $deep Whether to also clear the references on all referrer objects. + */ + public function clearAllReferences($deep = false) + { + if ($deep) { + } // if ($deep) + + $this->aCategory = null; + $this->aRank = null; + } + + /** + * Return the string representation of this object + * + * @return string + */ + public function __toString() + { + return (string) $this->exportTo(FoodTableMap::DEFAULT_STRING_FORMAT); + } + + /** + * Code to be run before persisting the object + * @param ConnectionInterface $con + * @return boolean + */ + public function preSave(ConnectionInterface $con = null) + { + if (is_callable('parent::preSave')) { + return parent::preSave($con); + } + return true; + } + + /** + * Code to be run after persisting the object + * @param ConnectionInterface $con + */ + public function postSave(ConnectionInterface $con = null) + { + if (is_callable('parent::postSave')) { + parent::postSave($con); + } + } + + /** + * Code to be run before inserting to database + * @param ConnectionInterface $con + * @return boolean + */ + public function preInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::preInsert')) { + return parent::preInsert($con); + } + return true; + } + + /** + * Code to be run after inserting to database + * @param ConnectionInterface $con + */ + public function postInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::postInsert')) { + parent::postInsert($con); + } + } + + /** + * Code to be run before updating the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::preUpdate')) { + return parent::preUpdate($con); + } + return true; + } + + /** + * Code to be run after updating the object in database + * @param ConnectionInterface $con + */ + public function postUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::postUpdate')) { + parent::postUpdate($con); + } + } + + /** + * Code to be run before deleting the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::preDelete')) { + return parent::preDelete($con); + } + return true; + } + + /** + * Code to be run after deleting the object in database + * @param ConnectionInterface $con + */ + public function postDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::postDelete')) { + parent::postDelete($con); + } + } + + + /** + * Derived method to catches calls to undefined methods. + * + * Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.). + * Allows to define default __call() behavior if you overwrite __call() + * + * @param string $name + * @param mixed $params + * + * @return array|string + */ + public function __call($name, $params) + { + if (0 === strpos($name, 'get')) { + $virtualColumn = substr($name, 3); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + + $virtualColumn = lcfirst($virtualColumn); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + } + + if (0 === strpos($name, 'from')) { + $format = substr($name, 4); + + return $this->importFrom($format, reset($params)); + } + + if (0 === strpos($name, 'to')) { + $format = substr($name, 2); + $includeLazyLoadColumns = isset($params[0]) ? $params[0] : true; + + return $this->exportTo($format, $includeLazyLoadColumns); + } + + throw new BadMethodCallException(sprintf('Call to undefined method: %s.', $name)); + } + +} diff --git a/api/generated-classes/Base/FoodQuery.php b/api/generated-classes/Base/FoodQuery.php new file mode 100644 index 0000000..19211a4 --- /dev/null +++ b/api/generated-classes/Base/FoodQuery.php @@ -0,0 +1,701 @@ +setModelAlias($modelAlias); + } + if ($criteria instanceof Criteria) { + $query->mergeWith($criteria); + } + + return $query; + } + + /** + * Find object by primary key. + * Propel uses the instance pool to skip the database if the object exists. + * Go fast if the query is untouched. + * + * + * $obj = $c->findPk(12, $con); + * + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ChildFood|array|mixed the result, formatted by the current formatter + */ + public function findPk($key, ConnectionInterface $con = null) + { + if ($key === null) { + return null; + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(FoodTableMap::DATABASE_NAME); + } + + $this->basePreSelect($con); + + if ( + $this->formatter || $this->modelAlias || $this->with || $this->select + || $this->selectColumns || $this->asColumns || $this->selectModifiers + || $this->map || $this->having || $this->joins + ) { + return $this->findPkComplex($key, $con); + } + + if ((null !== ($obj = FoodTableMap::getInstanceFromPool(null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key)))) { + // the object is already in the instance pool + return $obj; + } + + return $this->findPkSimple($key, $con); + } + + /** + * Find object by primary key using raw SQL to go fast. + * Bypass doSelect() and the object formatter by using generated code. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildFood A model object, or null if the key is not found + */ + protected function findPkSimple($key, ConnectionInterface $con) + { + $sql = 'SELECT id, name, barcode, rank_id, category_id FROM Food WHERE id = :p0'; + try { + $stmt = $con->prepare($sql); + $stmt->bindValue(':p0', $key, PDO::PARAM_INT); + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e); + } + $obj = null; + if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { + /** @var ChildFood $obj */ + $obj = new ChildFood(); + $obj->hydrate($row); + FoodTableMap::addInstanceToPool($obj, null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key); + } + $stmt->closeCursor(); + + return $obj; + } + + /** + * Find object by primary key. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @return ChildFood|array|mixed the result, formatted by the current formatter + */ + protected function findPkComplex($key, ConnectionInterface $con) + { + // As the query uses a PK condition, no limit(1) is necessary. + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKey($key) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->formatOne($dataFetcher); + } + + /** + * Find objects by primary key + * + * $objs = $c->findPks(array(12, 56, 832), $con); + * + * @param array $keys Primary keys to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ObjectCollection|array|mixed the list of results, formatted by the current formatter + */ + public function findPks($keys, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getReadConnection($this->getDbName()); + } + $this->basePreSelect($con); + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKeys($keys) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->format($dataFetcher); + } + + /** + * Filter the query by primary key + * + * @param mixed $key Primary key to use for the query + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function filterByPrimaryKey($key) + { + + return $this->addUsingAlias(FoodTableMap::COL_ID, $key, Criteria::EQUAL); + } + + /** + * Filter the query by a list of primary keys + * + * @param array $keys The list of primary key to use for the query + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function filterByPrimaryKeys($keys) + { + + return $this->addUsingAlias(FoodTableMap::COL_ID, $keys, Criteria::IN); + } + + /** + * Filter the query on the id column + * + * Example usage: + * + * $query->filterById(1234); // WHERE id = 1234 + * $query->filterById(array(12, 34)); // WHERE id IN (12, 34) + * $query->filterById(array('min' => 12)); // WHERE id > 12 + * + * + * @param mixed $id The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function filterById($id = null, $comparison = null) + { + if (is_array($id)) { + $useMinMax = false; + if (isset($id['min'])) { + $this->addUsingAlias(FoodTableMap::COL_ID, $id['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($id['max'])) { + $this->addUsingAlias(FoodTableMap::COL_ID, $id['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(FoodTableMap::COL_ID, $id, $comparison); + } + + /** + * Filter the query on the name column + * + * Example usage: + * + * $query->filterByName('fooValue'); // WHERE name = 'fooValue' + * $query->filterByName('%fooValue%', Criteria::LIKE); // WHERE name LIKE '%fooValue%' + * + * + * @param string $name The value to use as filter. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function filterByName($name = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($name)) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(FoodTableMap::COL_NAME, $name, $comparison); + } + + /** + * Filter the query on the barcode column + * + * Example usage: + * + * $query->filterByBarcode(1234); // WHERE barcode = 1234 + * $query->filterByBarcode(array(12, 34)); // WHERE barcode IN (12, 34) + * $query->filterByBarcode(array('min' => 12)); // WHERE barcode > 12 + * + * + * @param mixed $barcode The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function filterByBarcode($barcode = null, $comparison = null) + { + if (is_array($barcode)) { + $useMinMax = false; + if (isset($barcode['min'])) { + $this->addUsingAlias(FoodTableMap::COL_BARCODE, $barcode['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($barcode['max'])) { + $this->addUsingAlias(FoodTableMap::COL_BARCODE, $barcode['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(FoodTableMap::COL_BARCODE, $barcode, $comparison); + } + + /** + * Filter the query on the rank_id column + * + * Example usage: + * + * $query->filterByRankId(1234); // WHERE rank_id = 1234 + * $query->filterByRankId(array(12, 34)); // WHERE rank_id IN (12, 34) + * $query->filterByRankId(array('min' => 12)); // WHERE rank_id > 12 + * + * + * @see filterByRank() + * + * @param mixed $rankId The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function filterByRankId($rankId = null, $comparison = null) + { + if (is_array($rankId)) { + $useMinMax = false; + if (isset($rankId['min'])) { + $this->addUsingAlias(FoodTableMap::COL_RANK_ID, $rankId['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($rankId['max'])) { + $this->addUsingAlias(FoodTableMap::COL_RANK_ID, $rankId['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(FoodTableMap::COL_RANK_ID, $rankId, $comparison); + } + + /** + * Filter the query on the category_id column + * + * Example usage: + * + * $query->filterByCategoryId(1234); // WHERE category_id = 1234 + * $query->filterByCategoryId(array(12, 34)); // WHERE category_id IN (12, 34) + * $query->filterByCategoryId(array('min' => 12)); // WHERE category_id > 12 + * + * + * @see filterByCategory() + * + * @param mixed $categoryId The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function filterByCategoryId($categoryId = null, $comparison = null) + { + if (is_array($categoryId)) { + $useMinMax = false; + if (isset($categoryId['min'])) { + $this->addUsingAlias(FoodTableMap::COL_CATEGORY_ID, $categoryId['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($categoryId['max'])) { + $this->addUsingAlias(FoodTableMap::COL_CATEGORY_ID, $categoryId['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(FoodTableMap::COL_CATEGORY_ID, $categoryId, $comparison); + } + + /** + * Filter the query by a related \Category object + * + * @param \Category|ObjectCollection $category The related object(s) to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildFoodQuery The current query, for fluid interface + */ + public function filterByCategory($category, $comparison = null) + { + if ($category instanceof \Category) { + return $this + ->addUsingAlias(FoodTableMap::COL_CATEGORY_ID, $category->getId(), $comparison); + } elseif ($category instanceof ObjectCollection) { + if (null === $comparison) { + $comparison = Criteria::IN; + } + + return $this + ->addUsingAlias(FoodTableMap::COL_CATEGORY_ID, $category->toKeyValue('PrimaryKey', 'Id'), $comparison); + } else { + throw new PropelException('filterByCategory() only accepts arguments of type \Category or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the Category relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function joinCategory($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('Category'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'Category'); + } + + return $this; + } + + /** + * Use the Category relation Category object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \CategoryQuery A secondary query class using the current class as primary query + */ + public function useCategoryQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + return $this + ->joinCategory($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Category', '\CategoryQuery'); + } + + /** + * Filter the query by a related \Rank object + * + * @param \Rank|ObjectCollection $rank The related object(s) to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildFoodQuery The current query, for fluid interface + */ + public function filterByRank($rank, $comparison = null) + { + if ($rank instanceof \Rank) { + return $this + ->addUsingAlias(FoodTableMap::COL_RANK_ID, $rank->getId(), $comparison); + } elseif ($rank instanceof ObjectCollection) { + if (null === $comparison) { + $comparison = Criteria::IN; + } + + return $this + ->addUsingAlias(FoodTableMap::COL_RANK_ID, $rank->toKeyValue('PrimaryKey', 'Id'), $comparison); + } else { + throw new PropelException('filterByRank() only accepts arguments of type \Rank or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the Rank relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function joinRank($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('Rank'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'Rank'); + } + + return $this; + } + + /** + * Use the Rank relation Rank object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \RankQuery A secondary query class using the current class as primary query + */ + public function useRankQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + return $this + ->joinRank($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Rank', '\RankQuery'); + } + + /** + * Exclude object from result + * + * @param ChildFood $food Object to remove from the list of results + * + * @return $this|ChildFoodQuery The current query, for fluid interface + */ + public function prune($food = null) + { + if ($food) { + $this->addUsingAlias(FoodTableMap::COL_ID, $food->getId(), Criteria::NOT_EQUAL); + } + + return $this; + } + + /** + * Deletes all rows from the Food table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public function doDeleteAll(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(FoodTableMap::DATABASE_NAME); + } + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con) { + $affectedRows = 0; // initialize var to track total num of affected rows + $affectedRows += parent::doDeleteAll($con); + // Because this db requires some delete cascade/set null emulation, we have to + // clear the cached instance *after* the emulation has happened (since + // instances get re-added by the select statement contained therein). + FoodTableMap::clearInstancePool(); + FoodTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + + /** + * Performs a DELETE on the database based on the current ModelCriteria + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public function delete(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(FoodTableMap::DATABASE_NAME); + } + + $criteria = $this; + + // Set the correct dbName + $criteria->setDbName(FoodTableMap::DATABASE_NAME); + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con, $criteria) { + $affectedRows = 0; // initialize var to track total num of affected rows + + FoodTableMap::removeInstanceFromPool($criteria); + + $affectedRows += ModelCriteria::delete($con); + FoodTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + +} // FoodQuery diff --git a/api/generated-classes/Base/Nutrient.php b/api/generated-classes/Base/Nutrient.php new file mode 100644 index 0000000..581a3c1 --- /dev/null +++ b/api/generated-classes/Base/Nutrient.php @@ -0,0 +1,1520 @@ +modifiedColumns; + } + + /** + * Has specified column been modified? + * + * @param string $col column fully qualified name (TableMap::TYPE_COLNAME), e.g. Book::AUTHOR_ID + * @return boolean True if $col has been modified. + */ + public function isColumnModified($col) + { + return $this->modifiedColumns && isset($this->modifiedColumns[$col]); + } + + /** + * Get the columns that have been modified in this object. + * @return array A unique list of the modified column names for this object. + */ + public function getModifiedColumns() + { + return $this->modifiedColumns ? array_keys($this->modifiedColumns) : []; + } + + /** + * Returns whether the object has ever been saved. This will + * be false, if the object was retrieved from storage or was created + * and then saved. + * + * @return boolean true, if the object has never been persisted. + */ + public function isNew() + { + return $this->new; + } + + /** + * Setter for the isNew attribute. This method will be called + * by Propel-generated children and objects. + * + * @param boolean $b the state of the object. + */ + public function setNew($b) + { + $this->new = (boolean) $b; + } + + /** + * Whether this object has been deleted. + * @return boolean The deleted state of this object. + */ + public function isDeleted() + { + return $this->deleted; + } + + /** + * Specify whether this object has been deleted. + * @param boolean $b The deleted state of this object. + * @return void + */ + public function setDeleted($b) + { + $this->deleted = (boolean) $b; + } + + /** + * Sets the modified state for the object to be false. + * @param string $col If supplied, only the specified column is reset. + * @return void + */ + public function resetModified($col = null) + { + if (null !== $col) { + if (isset($this->modifiedColumns[$col])) { + unset($this->modifiedColumns[$col]); + } + } else { + $this->modifiedColumns = array(); + } + } + + /** + * Compares this with another Nutrient instance. If + * obj is an instance of Nutrient, delegates to + * equals(Nutrient). Otherwise, returns false. + * + * @param mixed $obj The object to compare to. + * @return boolean Whether equal to the object specified. + */ + public function equals($obj) + { + if (!$obj instanceof static) { + return false; + } + + if ($this === $obj) { + return true; + } + + if (null === $this->getPrimaryKey() || null === $obj->getPrimaryKey()) { + return false; + } + + return $this->getPrimaryKey() === $obj->getPrimaryKey(); + } + + /** + * Get the associative array of the virtual columns in this object + * + * @return array + */ + public function getVirtualColumns() + { + return $this->virtualColumns; + } + + /** + * Checks the existence of a virtual column in this object + * + * @param string $name The virtual column name + * @return boolean + */ + public function hasVirtualColumn($name) + { + return array_key_exists($name, $this->virtualColumns); + } + + /** + * Get the value of a virtual column in this object + * + * @param string $name The virtual column name + * @return mixed + * + * @throws PropelException + */ + public function getVirtualColumn($name) + { + if (!$this->hasVirtualColumn($name)) { + throw new PropelException(sprintf('Cannot get value of inexistent virtual column %s.', $name)); + } + + return $this->virtualColumns[$name]; + } + + /** + * Set the value of a virtual column in this object + * + * @param string $name The virtual column name + * @param mixed $value The value to give to the virtual column + * + * @return $this|Nutrient The current object, for fluid interface + */ + public function setVirtualColumn($name, $value) + { + $this->virtualColumns[$name] = $value; + + return $this; + } + + /** + * Logs a message using Propel::log(). + * + * @param string $msg + * @param int $priority One of the Propel::LOG_* logging levels + * @return boolean + */ + protected function log($msg, $priority = Propel::LOG_INFO) + { + return Propel::log(get_class($this) . ': ' . $msg, $priority); + } + + /** + * Export the current object properties to a string, using a given parser format + * + * $book = BookQuery::create()->findPk(9012); + * echo $book->exportTo('JSON'); + * => {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * @param mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy load(ed) columns. Defaults to TRUE. + * @return string The exported data + */ + public function exportTo($parser, $includeLazyLoadColumns = true) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + return $parser->fromArray($this->toArray(TableMap::TYPE_PHPNAME, $includeLazyLoadColumns, array(), true)); + } + + /** + * Clean up internal collections prior to serializing + * Avoids recursive loops that turn into segmentation faults when serializing + */ + public function __sleep() + { + $this->clearAllReferences(); + + $cls = new \ReflectionClass($this); + $propertyNames = []; + $serializableProperties = array_diff($cls->getProperties(), $cls->getProperties(\ReflectionProperty::IS_STATIC)); + + foreach($serializableProperties as $property) { + $propertyNames[] = $property->getName(); + } + + return $propertyNames; + } + + /** + * Get the [id] column value. + * + * @return int + */ + public function getId() + { + return $this->id; + } + + /** + * Get the [name] column value. + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set the value of [id] column. + * + * @param int $v new value + * @return $this|\Nutrient The current object (for fluent API support) + */ + public function setId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->id !== $v) { + $this->id = $v; + $this->modifiedColumns[NutrientTableMap::COL_ID] = true; + } + + return $this; + } // setId() + + /** + * Set the value of [name] column. + * + * @param string $v new value + * @return $this|\Nutrient The current object (for fluent API support) + */ + public function setName($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->name !== $v) { + $this->name = $v; + $this->modifiedColumns[NutrientTableMap::COL_NAME] = true; + } + + return $this; + } // setName() + + /** + * Indicates whether the columns in this object are only set to default values. + * + * This method can be used in conjunction with isModified() to indicate whether an object is both + * modified _and_ has some values set which are non-default. + * + * @return boolean Whether the columns in this object are only been set with default values. + */ + public function hasOnlyDefaultValues() + { + // otherwise, everything was equal, so return TRUE + return true; + } // hasOnlyDefaultValues() + + /** + * Hydrates (populates) the object variables with values from the database resultset. + * + * An offset (0-based "start column") is specified so that objects can be hydrated + * with a subset of the columns in the resultset rows. This is needed, for example, + * for results of JOIN queries where the resultset row includes columns from two or + * more tables. + * + * @param array $row The row returned by DataFetcher->fetch(). + * @param int $startcol 0-based offset column which indicates which restultset column to start with. + * @param boolean $rehydrate Whether this object is being re-hydrated from the database. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @return int next starting column + * @throws PropelException - Any caught Exception will be rewrapped as a PropelException. + */ + public function hydrate($row, $startcol = 0, $rehydrate = false, $indexType = TableMap::TYPE_NUM) + { + try { + + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : NutrientTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $this->id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : NutrientTableMap::translateFieldName('Name', TableMap::TYPE_PHPNAME, $indexType)]; + $this->name = (null !== $col) ? (string) $col : null; + $this->resetModified(); + + $this->setNew(false); + + if ($rehydrate) { + $this->ensureConsistency(); + } + + return $startcol + 2; // 2 = NutrientTableMap::NUM_HYDRATE_COLUMNS. + + } catch (Exception $e) { + throw new PropelException(sprintf('Error populating %s object', '\\Nutrient'), 0, $e); + } + } + + /** + * Checks and repairs the internal consistency of the object. + * + * This method is executed after an already-instantiated object is re-hydrated + * from the database. It exists to check any foreign keys to make sure that + * the objects related to the current object are correct based on foreign key. + * + * You can override this method in the stub class, but you should always invoke + * the base method from the overridden method (i.e. parent::ensureConsistency()), + * in case your model changes. + * + * @throws PropelException + */ + public function ensureConsistency() + { + } // ensureConsistency + + /** + * Reloads this object from datastore based on primary key and (optionally) resets all associated objects. + * + * This will only work if the object has been saved and has a valid primary key set. + * + * @param boolean $deep (optional) Whether to also de-associated any related objects. + * @param ConnectionInterface $con (optional) The ConnectionInterface connection to use. + * @return void + * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db + */ + public function reload($deep = false, ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("Cannot reload a deleted object."); + } + + if ($this->isNew()) { + throw new PropelException("Cannot reload an unsaved object."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(NutrientTableMap::DATABASE_NAME); + } + + // We don't need to alter the object instance pool; we're just modifying this instance + // already in the pool. + + $dataFetcher = ChildNutrientQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $row = $dataFetcher->fetch(); + $dataFetcher->close(); + if (!$row) { + throw new PropelException('Cannot find matching row in the database to reload object values.'); + } + $this->hydrate($row, 0, true, $dataFetcher->getIndexType()); // rehydrate + + if ($deep) { // also de-associate any related objects? + + $this->collCategoryRankNutrients = null; + + } // if (deep) + } + + /** + * Removes this object from datastore and sets delete attribute. + * + * @param ConnectionInterface $con + * @return void + * @throws PropelException + * @see Nutrient::setDeleted() + * @see Nutrient::isDeleted() + */ + public function delete(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("This object has already been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(NutrientTableMap::DATABASE_NAME); + } + + $con->transaction(function () use ($con) { + $deleteQuery = ChildNutrientQuery::create() + ->filterByPrimaryKey($this->getPrimaryKey()); + $ret = $this->preDelete($con); + if ($ret) { + $deleteQuery->delete($con); + $this->postDelete($con); + $this->setDeleted(true); + } + }); + } + + /** + * Persists this object to the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All modified related objects will also be persisted in the doSave() + * method. This method wraps all precipitate database operations in a + * single transaction. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see doSave() + */ + public function save(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(NutrientTableMap::DATABASE_NAME); + } + + return $con->transaction(function () use ($con) { + $ret = $this->preSave($con); + $isInsert = $this->isNew(); + if ($isInsert) { + $ret = $ret && $this->preInsert($con); + } else { + $ret = $ret && $this->preUpdate($con); + } + if ($ret) { + $affectedRows = $this->doSave($con); + if ($isInsert) { + $this->postInsert($con); + } else { + $this->postUpdate($con); + } + $this->postSave($con); + NutrientTableMap::addInstanceToPool($this); + } else { + $affectedRows = 0; + } + + return $affectedRows; + }); + } + + /** + * Performs the work of inserting or updating the row in the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All related objects are also updated in this method. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see save() + */ + protected function doSave(ConnectionInterface $con) + { + $affectedRows = 0; // initialize var to track total num of affected rows + if (!$this->alreadyInSave) { + $this->alreadyInSave = true; + + if ($this->isNew() || $this->isModified()) { + // persist changes + if ($this->isNew()) { + $this->doInsert($con); + $affectedRows += 1; + } else { + $affectedRows += $this->doUpdate($con); + } + $this->resetModified(); + } + + if ($this->categoryRankNutrientsScheduledForDeletion !== null) { + if (!$this->categoryRankNutrientsScheduledForDeletion->isEmpty()) { + \CategoryRankNutrientQuery::create() + ->filterByPrimaryKeys($this->categoryRankNutrientsScheduledForDeletion->getPrimaryKeys(false)) + ->delete($con); + $this->categoryRankNutrientsScheduledForDeletion = null; + } + } + + if ($this->collCategoryRankNutrients !== null) { + foreach ($this->collCategoryRankNutrients as $referrerFK) { + if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { + $affectedRows += $referrerFK->save($con); + } + } + } + + $this->alreadyInSave = false; + + } + + return $affectedRows; + } // doSave() + + /** + * Insert the row in the database. + * + * @param ConnectionInterface $con + * + * @throws PropelException + * @see doSave() + */ + protected function doInsert(ConnectionInterface $con) + { + $modifiedColumns = array(); + $index = 0; + + $this->modifiedColumns[NutrientTableMap::COL_ID] = true; + if (null !== $this->id) { + throw new PropelException('Cannot insert a value for auto-increment primary key (' . NutrientTableMap::COL_ID . ')'); + } + + // check the columns in natural order for more readable SQL queries + if ($this->isColumnModified(NutrientTableMap::COL_ID)) { + $modifiedColumns[':p' . $index++] = 'id'; + } + if ($this->isColumnModified(NutrientTableMap::COL_NAME)) { + $modifiedColumns[':p' . $index++] = 'name'; + } + + $sql = sprintf( + 'INSERT INTO Nutrient (%s) VALUES (%s)', + implode(', ', $modifiedColumns), + implode(', ', array_keys($modifiedColumns)) + ); + + try { + $stmt = $con->prepare($sql); + foreach ($modifiedColumns as $identifier => $columnName) { + switch ($columnName) { + case 'id': + $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); + break; + case 'name': + $stmt->bindValue($identifier, $this->name, PDO::PARAM_STR); + break; + } + } + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e); + } + + try { + $pk = $con->lastInsertId(); + } catch (Exception $e) { + throw new PropelException('Unable to get autoincrement id.', 0, $e); + } + $this->setId($pk); + + $this->setNew(false); + } + + /** + * Update the row in the database. + * + * @param ConnectionInterface $con + * + * @return Integer Number of updated rows + * @see doSave() + */ + protected function doUpdate(ConnectionInterface $con) + { + $selectCriteria = $this->buildPkeyCriteria(); + $valuesCriteria = $this->buildCriteria(); + + return $selectCriteria->doUpdate($valuesCriteria, $con); + } + + /** + * Retrieves a field from the object by name passed in as a string. + * + * @param string $name name + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return mixed Value of field. + */ + public function getByName($name, $type = TableMap::TYPE_PHPNAME) + { + $pos = NutrientTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $field = $this->getByPosition($pos); + + return $field; + } + + /** + * Retrieves a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @return mixed Value of field at $pos + */ + public function getByPosition($pos) + { + switch ($pos) { + case 0: + return $this->getId(); + break; + case 1: + return $this->getName(); + break; + default: + return null; + break; + } // switch() + } + + /** + * Exports the object as an array. + * + * You can specify the key type of the array by passing one of the class + * type constants. + * + * @param string $keyType (optional) One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE. + * @param array $alreadyDumpedObjects List of objects to skip to avoid recursion + * @param boolean $includeForeignObjects (optional) Whether to include hydrated related objects. Default to FALSE. + * + * @return array an associative array containing the field names (as keys) and field values + */ + public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) + { + + if (isset($alreadyDumpedObjects['Nutrient'][$this->hashCode()])) { + return '*RECURSION*'; + } + $alreadyDumpedObjects['Nutrient'][$this->hashCode()] = true; + $keys = NutrientTableMap::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getName(), + ); + $virtualColumns = $this->virtualColumns; + foreach ($virtualColumns as $key => $virtualColumn) { + $result[$key] = $virtualColumn; + } + + if ($includeForeignObjects) { + if (null !== $this->collCategoryRankNutrients) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'categoryRankNutrients'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Category_Rank_Nutrients'; + break; + default: + $key = 'CategoryRankNutrients'; + } + + $result[$key] = $this->collCategoryRankNutrients->toArray(null, false, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + } + } + + return $result; + } + + /** + * Sets a field from the object by name passed in as a string. + * + * @param string $name + * @param mixed $value field value + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return $this|\Nutrient + */ + public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) + { + $pos = NutrientTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + + return $this->setByPosition($pos, $value); + } + + /** + * Sets a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @param mixed $value field value + * @return $this|\Nutrient + */ + public function setByPosition($pos, $value) + { + switch ($pos) { + case 0: + $this->setId($value); + break; + case 1: + $this->setName($value); + break; + } // switch() + + return $this; + } + + /** + * Populates the object using an array. + * + * This is particularly useful when populating an object from one of the + * request arrays (e.g. $_POST). This method goes through the column + * names, checking to see whether a matching key exists in populated + * array. If so the setByName() method is called for that column. + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param array $arr An array to populate the object from. + * @param string $keyType The type of keys the array uses. + * @return void + */ + public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) + { + $keys = NutrientTableMap::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) { + $this->setId($arr[$keys[0]]); + } + if (array_key_exists($keys[1], $arr)) { + $this->setName($arr[$keys[1]]); + } + } + + /** + * Populate the current object from a string, using a given parser format + * + * $book = new Book(); + * $book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param mixed $parser A AbstractParser instance, + * or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param string $data The source data to import from + * @param string $keyType The type of keys the array uses. + * + * @return $this|\Nutrient The current object, for fluid interface + */ + public function importFrom($parser, $data, $keyType = TableMap::TYPE_PHPNAME) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + $this->fromArray($parser->toArray($data), $keyType); + + return $this; + } + + /** + * Build a Criteria object containing the values of all modified columns in this object. + * + * @return Criteria The Criteria object containing all modified values. + */ + public function buildCriteria() + { + $criteria = new Criteria(NutrientTableMap::DATABASE_NAME); + + if ($this->isColumnModified(NutrientTableMap::COL_ID)) { + $criteria->add(NutrientTableMap::COL_ID, $this->id); + } + if ($this->isColumnModified(NutrientTableMap::COL_NAME)) { + $criteria->add(NutrientTableMap::COL_NAME, $this->name); + } + + return $criteria; + } + + /** + * Builds a Criteria object containing the primary key for this object. + * + * Unlike buildCriteria() this method includes the primary key values regardless + * of whether or not they have been modified. + * + * @throws LogicException if no primary key is defined + * + * @return Criteria The Criteria object containing value(s) for primary key(s). + */ + public function buildPkeyCriteria() + { + $criteria = ChildNutrientQuery::create(); + $criteria->add(NutrientTableMap::COL_ID, $this->id); + + return $criteria; + } + + /** + * If the primary key is not null, return the hashcode of the + * primary key. Otherwise, return the hash code of the object. + * + * @return int Hashcode + */ + public function hashCode() + { + $validPk = null !== $this->getId(); + + $validPrimaryKeyFKs = 0; + $primaryKeyFKs = []; + + if ($validPk) { + return crc32(json_encode($this->getPrimaryKey(), JSON_UNESCAPED_UNICODE)); + } elseif ($validPrimaryKeyFKs) { + return crc32(json_encode($primaryKeyFKs, JSON_UNESCAPED_UNICODE)); + } + + return spl_object_hash($this); + } + + /** + * Returns the primary key for this object (row). + * @return int + */ + public function getPrimaryKey() + { + return $this->getId(); + } + + /** + * Generic method to set the primary key (id column). + * + * @param int $key Primary key. + * @return void + */ + public function setPrimaryKey($key) + { + $this->setId($key); + } + + /** + * Returns true if the primary key for this object is null. + * @return boolean + */ + public function isPrimaryKeyNull() + { + return null === $this->getId(); + } + + /** + * Sets contents of passed object to values from current object. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param object $copyObj An object of \Nutrient (or compatible) type. + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. + * @throws PropelException + */ + public function copyInto($copyObj, $deepCopy = false, $makeNew = true) + { + $copyObj->setName($this->getName()); + + if ($deepCopy) { + // important: temporarily setNew(false) because this affects the behavior of + // the getter/setter methods for fkey referrer objects. + $copyObj->setNew(false); + + foreach ($this->getCategoryRankNutrients() as $relObj) { + if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves + $copyObj->addCategoryRankNutrient($relObj->copy($deepCopy)); + } + } + + } // if ($deepCopy) + + if ($makeNew) { + $copyObj->setNew(true); + $copyObj->setId(NULL); // this is a auto-increment column, so set to default value + } + } + + /** + * Makes a copy of this object that will be inserted as a new row in table when saved. + * It creates a new object filling in the simple attributes, but skipping any primary + * keys that are defined for the table. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @return \Nutrient Clone of current object. + * @throws PropelException + */ + public function copy($deepCopy = false) + { + // we use get_class(), because this might be a subclass + $clazz = get_class($this); + $copyObj = new $clazz(); + $this->copyInto($copyObj, $deepCopy); + + return $copyObj; + } + + + /** + * Initializes a collection based on the name of a relation. + * Avoids crafting an 'init[$relationName]s' method name + * that wouldn't work when StandardEnglishPluralizer is used. + * + * @param string $relationName The name of the relation to initialize + * @return void + */ + public function initRelation($relationName) + { + if ('CategoryRankNutrient' == $relationName) { + return $this->initCategoryRankNutrients(); + } + } + + /** + * Clears out the collCategoryRankNutrients collection + * + * This does not modify the database; however, it will remove any associated objects, causing + * them to be refetched by subsequent calls to accessor method. + * + * @return void + * @see addCategoryRankNutrients() + */ + public function clearCategoryRankNutrients() + { + $this->collCategoryRankNutrients = null; // important to set this to NULL since that means it is uninitialized + } + + /** + * Reset is the collCategoryRankNutrients collection loaded partially. + */ + public function resetPartialCategoryRankNutrients($v = true) + { + $this->collCategoryRankNutrientsPartial = $v; + } + + /** + * Initializes the collCategoryRankNutrients collection. + * + * By default this just sets the collCategoryRankNutrients collection to an empty array (like clearcollCategoryRankNutrients()); + * however, you may wish to override this method in your stub class to provide setting appropriate + * to your application -- for example, setting the initial array to the values stored in database. + * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * + * @return void + */ + public function initCategoryRankNutrients($overrideExisting = true) + { + if (null !== $this->collCategoryRankNutrients && !$overrideExisting) { + return; + } + + $collectionClassName = CategoryRankNutrientTableMap::getTableMap()->getCollectionClassName(); + + $this->collCategoryRankNutrients = new $collectionClassName; + $this->collCategoryRankNutrients->setModel('\CategoryRankNutrient'); + } + + /** + * Gets an array of ChildCategoryRankNutrient objects which contain a foreign key that references this object. + * + * If the $criteria is not null, it is used to always fetch the results from the database. + * Otherwise the results are fetched from the database the first time, then cached. + * Next time the same method is called without $criteria, the cached collection is returned. + * If this ChildNutrient is new, it will return + * an empty collection or the current collection; the criteria is ignored on a new object. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return ObjectCollection|ChildCategoryRankNutrient[] List of ChildCategoryRankNutrient objects + * @throws PropelException + */ + public function getCategoryRankNutrients(Criteria $criteria = null, ConnectionInterface $con = null) + { + $partial = $this->collCategoryRankNutrientsPartial && !$this->isNew(); + if (null === $this->collCategoryRankNutrients || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collCategoryRankNutrients) { + // return empty collection + $this->initCategoryRankNutrients(); + } else { + $collCategoryRankNutrients = ChildCategoryRankNutrientQuery::create(null, $criteria) + ->filterByNutrient($this) + ->find($con); + + if (null !== $criteria) { + if (false !== $this->collCategoryRankNutrientsPartial && count($collCategoryRankNutrients)) { + $this->initCategoryRankNutrients(false); + + foreach ($collCategoryRankNutrients as $obj) { + if (false == $this->collCategoryRankNutrients->contains($obj)) { + $this->collCategoryRankNutrients->append($obj); + } + } + + $this->collCategoryRankNutrientsPartial = true; + } + + return $collCategoryRankNutrients; + } + + if ($partial && $this->collCategoryRankNutrients) { + foreach ($this->collCategoryRankNutrients as $obj) { + if ($obj->isNew()) { + $collCategoryRankNutrients[] = $obj; + } + } + } + + $this->collCategoryRankNutrients = $collCategoryRankNutrients; + $this->collCategoryRankNutrientsPartial = false; + } + } + + return $this->collCategoryRankNutrients; + } + + /** + * Sets a collection of ChildCategoryRankNutrient objects related by a one-to-many relationship + * to the current object. + * It will also schedule objects for deletion based on a diff between old objects (aka persisted) + * and new objects from the given Propel collection. + * + * @param Collection $categoryRankNutrients A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return $this|ChildNutrient The current object (for fluent API support) + */ + public function setCategoryRankNutrients(Collection $categoryRankNutrients, ConnectionInterface $con = null) + { + /** @var ChildCategoryRankNutrient[] $categoryRankNutrientsToDelete */ + $categoryRankNutrientsToDelete = $this->getCategoryRankNutrients(new Criteria(), $con)->diff($categoryRankNutrients); + + + $this->categoryRankNutrientsScheduledForDeletion = $categoryRankNutrientsToDelete; + + foreach ($categoryRankNutrientsToDelete as $categoryRankNutrientRemoved) { + $categoryRankNutrientRemoved->setNutrient(null); + } + + $this->collCategoryRankNutrients = null; + foreach ($categoryRankNutrients as $categoryRankNutrient) { + $this->addCategoryRankNutrient($categoryRankNutrient); + } + + $this->collCategoryRankNutrients = $categoryRankNutrients; + $this->collCategoryRankNutrientsPartial = false; + + return $this; + } + + /** + * Returns the number of related CategoryRankNutrient objects. + * + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related CategoryRankNutrient objects. + * @throws PropelException + */ + public function countCategoryRankNutrients(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + { + $partial = $this->collCategoryRankNutrientsPartial && !$this->isNew(); + if (null === $this->collCategoryRankNutrients || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collCategoryRankNutrients) { + return 0; + } + + if ($partial && !$criteria) { + return count($this->getCategoryRankNutrients()); + } + + $query = ChildCategoryRankNutrientQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByNutrient($this) + ->count($con); + } + + return count($this->collCategoryRankNutrients); + } + + /** + * Method called to associate a ChildCategoryRankNutrient object to this object + * through the ChildCategoryRankNutrient foreign key attribute. + * + * @param ChildCategoryRankNutrient $l ChildCategoryRankNutrient + * @return $this|\Nutrient The current object (for fluent API support) + */ + public function addCategoryRankNutrient(ChildCategoryRankNutrient $l) + { + if ($this->collCategoryRankNutrients === null) { + $this->initCategoryRankNutrients(); + $this->collCategoryRankNutrientsPartial = true; + } + + if (!$this->collCategoryRankNutrients->contains($l)) { + $this->doAddCategoryRankNutrient($l); + + if ($this->categoryRankNutrientsScheduledForDeletion and $this->categoryRankNutrientsScheduledForDeletion->contains($l)) { + $this->categoryRankNutrientsScheduledForDeletion->remove($this->categoryRankNutrientsScheduledForDeletion->search($l)); + } + } + + return $this; + } + + /** + * @param ChildCategoryRankNutrient $categoryRankNutrient The ChildCategoryRankNutrient object to add. + */ + protected function doAddCategoryRankNutrient(ChildCategoryRankNutrient $categoryRankNutrient) + { + $this->collCategoryRankNutrients[]= $categoryRankNutrient; + $categoryRankNutrient->setNutrient($this); + } + + /** + * @param ChildCategoryRankNutrient $categoryRankNutrient The ChildCategoryRankNutrient object to remove. + * @return $this|ChildNutrient The current object (for fluent API support) + */ + public function removeCategoryRankNutrient(ChildCategoryRankNutrient $categoryRankNutrient) + { + if ($this->getCategoryRankNutrients()->contains($categoryRankNutrient)) { + $pos = $this->collCategoryRankNutrients->search($categoryRankNutrient); + $this->collCategoryRankNutrients->remove($pos); + if (null === $this->categoryRankNutrientsScheduledForDeletion) { + $this->categoryRankNutrientsScheduledForDeletion = clone $this->collCategoryRankNutrients; + $this->categoryRankNutrientsScheduledForDeletion->clear(); + } + $this->categoryRankNutrientsScheduledForDeletion[]= clone $categoryRankNutrient; + $categoryRankNutrient->setNutrient(null); + } + + return $this; + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Nutrient is new, it will return + * an empty collection; or if this Nutrient has previously + * been saved, it will retrieve related CategoryRankNutrients from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Nutrient. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return ObjectCollection|ChildCategoryRankNutrient[] List of ChildCategoryRankNutrient objects + */ + public function getCategoryRankNutrientsJoinCategory(Criteria $criteria = null, ConnectionInterface $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildCategoryRankNutrientQuery::create(null, $criteria); + $query->joinWith('Category', $joinBehavior); + + return $this->getCategoryRankNutrients($query, $con); + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Nutrient is new, it will return + * an empty collection; or if this Nutrient has previously + * been saved, it will retrieve related CategoryRankNutrients from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Nutrient. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return ObjectCollection|ChildCategoryRankNutrient[] List of ChildCategoryRankNutrient objects + */ + public function getCategoryRankNutrientsJoinRank(Criteria $criteria = null, ConnectionInterface $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildCategoryRankNutrientQuery::create(null, $criteria); + $query->joinWith('Rank', $joinBehavior); + + return $this->getCategoryRankNutrients($query, $con); + } + + /** + * Clears the current object, sets all attributes to their default values and removes + * outgoing references as well as back-references (from other objects to this one. Results probably in a database + * change of those foreign objects when you call `save` there). + */ + public function clear() + { + $this->id = null; + $this->name = null; + $this->alreadyInSave = false; + $this->clearAllReferences(); + $this->resetModified(); + $this->setNew(true); + $this->setDeleted(false); + } + + /** + * Resets all references and back-references to other model objects or collections of model objects. + * + * This method is used to reset all php object references (not the actual reference in the database). + * Necessary for object serialisation. + * + * @param boolean $deep Whether to also clear the references on all referrer objects. + */ + public function clearAllReferences($deep = false) + { + if ($deep) { + if ($this->collCategoryRankNutrients) { + foreach ($this->collCategoryRankNutrients as $o) { + $o->clearAllReferences($deep); + } + } + } // if ($deep) + + $this->collCategoryRankNutrients = null; + } + + /** + * Return the string representation of this object + * + * @return string + */ + public function __toString() + { + return (string) $this->exportTo(NutrientTableMap::DEFAULT_STRING_FORMAT); + } + + /** + * Code to be run before persisting the object + * @param ConnectionInterface $con + * @return boolean + */ + public function preSave(ConnectionInterface $con = null) + { + if (is_callable('parent::preSave')) { + return parent::preSave($con); + } + return true; + } + + /** + * Code to be run after persisting the object + * @param ConnectionInterface $con + */ + public function postSave(ConnectionInterface $con = null) + { + if (is_callable('parent::postSave')) { + parent::postSave($con); + } + } + + /** + * Code to be run before inserting to database + * @param ConnectionInterface $con + * @return boolean + */ + public function preInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::preInsert')) { + return parent::preInsert($con); + } + return true; + } + + /** + * Code to be run after inserting to database + * @param ConnectionInterface $con + */ + public function postInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::postInsert')) { + parent::postInsert($con); + } + } + + /** + * Code to be run before updating the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::preUpdate')) { + return parent::preUpdate($con); + } + return true; + } + + /** + * Code to be run after updating the object in database + * @param ConnectionInterface $con + */ + public function postUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::postUpdate')) { + parent::postUpdate($con); + } + } + + /** + * Code to be run before deleting the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::preDelete')) { + return parent::preDelete($con); + } + return true; + } + + /** + * Code to be run after deleting the object in database + * @param ConnectionInterface $con + */ + public function postDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::postDelete')) { + parent::postDelete($con); + } + } + + + /** + * Derived method to catches calls to undefined methods. + * + * Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.). + * Allows to define default __call() behavior if you overwrite __call() + * + * @param string $name + * @param mixed $params + * + * @return array|string + */ + public function __call($name, $params) + { + if (0 === strpos($name, 'get')) { + $virtualColumn = substr($name, 3); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + + $virtualColumn = lcfirst($virtualColumn); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + } + + if (0 === strpos($name, 'from')) { + $format = substr($name, 4); + + return $this->importFrom($format, reset($params)); + } + + if (0 === strpos($name, 'to')) { + $format = substr($name, 2); + $includeLazyLoadColumns = isset($params[0]) ? $params[0] : true; + + return $this->exportTo($format, $includeLazyLoadColumns); + } + + throw new BadMethodCallException(sprintf('Call to undefined method: %s.', $name)); + } + +} diff --git a/api/generated-classes/Base/NutrientQuery.php b/api/generated-classes/Base/NutrientQuery.php new file mode 100644 index 0000000..a5b8c1e --- /dev/null +++ b/api/generated-classes/Base/NutrientQuery.php @@ -0,0 +1,468 @@ +setModelAlias($modelAlias); + } + if ($criteria instanceof Criteria) { + $query->mergeWith($criteria); + } + + return $query; + } + + /** + * Find object by primary key. + * Propel uses the instance pool to skip the database if the object exists. + * Go fast if the query is untouched. + * + * + * $obj = $c->findPk(12, $con); + * + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ChildNutrient|array|mixed the result, formatted by the current formatter + */ + public function findPk($key, ConnectionInterface $con = null) + { + if ($key === null) { + return null; + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(NutrientTableMap::DATABASE_NAME); + } + + $this->basePreSelect($con); + + if ( + $this->formatter || $this->modelAlias || $this->with || $this->select + || $this->selectColumns || $this->asColumns || $this->selectModifiers + || $this->map || $this->having || $this->joins + ) { + return $this->findPkComplex($key, $con); + } + + if ((null !== ($obj = NutrientTableMap::getInstanceFromPool(null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key)))) { + // the object is already in the instance pool + return $obj; + } + + return $this->findPkSimple($key, $con); + } + + /** + * Find object by primary key using raw SQL to go fast. + * Bypass doSelect() and the object formatter by using generated code. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildNutrient A model object, or null if the key is not found + */ + protected function findPkSimple($key, ConnectionInterface $con) + { + $sql = 'SELECT id, name FROM Nutrient WHERE id = :p0'; + try { + $stmt = $con->prepare($sql); + $stmt->bindValue(':p0', $key, PDO::PARAM_INT); + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e); + } + $obj = null; + if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { + /** @var ChildNutrient $obj */ + $obj = new ChildNutrient(); + $obj->hydrate($row); + NutrientTableMap::addInstanceToPool($obj, null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key); + } + $stmt->closeCursor(); + + return $obj; + } + + /** + * Find object by primary key. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @return ChildNutrient|array|mixed the result, formatted by the current formatter + */ + protected function findPkComplex($key, ConnectionInterface $con) + { + // As the query uses a PK condition, no limit(1) is necessary. + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKey($key) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->formatOne($dataFetcher); + } + + /** + * Find objects by primary key + * + * $objs = $c->findPks(array(12, 56, 832), $con); + * + * @param array $keys Primary keys to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ObjectCollection|array|mixed the list of results, formatted by the current formatter + */ + public function findPks($keys, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getReadConnection($this->getDbName()); + } + $this->basePreSelect($con); + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKeys($keys) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->format($dataFetcher); + } + + /** + * Filter the query by primary key + * + * @param mixed $key Primary key to use for the query + * + * @return $this|ChildNutrientQuery The current query, for fluid interface + */ + public function filterByPrimaryKey($key) + { + + return $this->addUsingAlias(NutrientTableMap::COL_ID, $key, Criteria::EQUAL); + } + + /** + * Filter the query by a list of primary keys + * + * @param array $keys The list of primary key to use for the query + * + * @return $this|ChildNutrientQuery The current query, for fluid interface + */ + public function filterByPrimaryKeys($keys) + { + + return $this->addUsingAlias(NutrientTableMap::COL_ID, $keys, Criteria::IN); + } + + /** + * Filter the query on the id column + * + * Example usage: + * + * $query->filterById(1234); // WHERE id = 1234 + * $query->filterById(array(12, 34)); // WHERE id IN (12, 34) + * $query->filterById(array('min' => 12)); // WHERE id > 12 + * + * + * @param mixed $id The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildNutrientQuery The current query, for fluid interface + */ + public function filterById($id = null, $comparison = null) + { + if (is_array($id)) { + $useMinMax = false; + if (isset($id['min'])) { + $this->addUsingAlias(NutrientTableMap::COL_ID, $id['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($id['max'])) { + $this->addUsingAlias(NutrientTableMap::COL_ID, $id['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(NutrientTableMap::COL_ID, $id, $comparison); + } + + /** + * Filter the query on the name column + * + * Example usage: + * + * $query->filterByName('fooValue'); // WHERE name = 'fooValue' + * $query->filterByName('%fooValue%', Criteria::LIKE); // WHERE name LIKE '%fooValue%' + * + * + * @param string $name The value to use as filter. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildNutrientQuery The current query, for fluid interface + */ + public function filterByName($name = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($name)) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(NutrientTableMap::COL_NAME, $name, $comparison); + } + + /** + * Filter the query by a related \CategoryRankNutrient object + * + * @param \CategoryRankNutrient|ObjectCollection $categoryRankNutrient the related object to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildNutrientQuery The current query, for fluid interface + */ + public function filterByCategoryRankNutrient($categoryRankNutrient, $comparison = null) + { + if ($categoryRankNutrient instanceof \CategoryRankNutrient) { + return $this + ->addUsingAlias(NutrientTableMap::COL_ID, $categoryRankNutrient->getNutrientId(), $comparison); + } elseif ($categoryRankNutrient instanceof ObjectCollection) { + return $this + ->useCategoryRankNutrientQuery() + ->filterByPrimaryKeys($categoryRankNutrient->getPrimaryKeys()) + ->endUse(); + } else { + throw new PropelException('filterByCategoryRankNutrient() only accepts arguments of type \CategoryRankNutrient or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the CategoryRankNutrient relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildNutrientQuery The current query, for fluid interface + */ + public function joinCategoryRankNutrient($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('CategoryRankNutrient'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'CategoryRankNutrient'); + } + + return $this; + } + + /** + * Use the CategoryRankNutrient relation CategoryRankNutrient object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \CategoryRankNutrientQuery A secondary query class using the current class as primary query + */ + public function useCategoryRankNutrientQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + return $this + ->joinCategoryRankNutrient($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'CategoryRankNutrient', '\CategoryRankNutrientQuery'); + } + + /** + * Exclude object from result + * + * @param ChildNutrient $nutrient Object to remove from the list of results + * + * @return $this|ChildNutrientQuery The current query, for fluid interface + */ + public function prune($nutrient = null) + { + if ($nutrient) { + $this->addUsingAlias(NutrientTableMap::COL_ID, $nutrient->getId(), Criteria::NOT_EQUAL); + } + + return $this; + } + + /** + * Deletes all rows from the Nutrient table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public function doDeleteAll(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(NutrientTableMap::DATABASE_NAME); + } + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con) { + $affectedRows = 0; // initialize var to track total num of affected rows + $affectedRows += parent::doDeleteAll($con); + // Because this db requires some delete cascade/set null emulation, we have to + // clear the cached instance *after* the emulation has happened (since + // instances get re-added by the select statement contained therein). + NutrientTableMap::clearInstancePool(); + NutrientTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + + /** + * Performs a DELETE on the database based on the current ModelCriteria + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public function delete(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(NutrientTableMap::DATABASE_NAME); + } + + $criteria = $this; + + // Set the correct dbName + $criteria->setDbName(NutrientTableMap::DATABASE_NAME); + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con, $criteria) { + $affectedRows = 0; // initialize var to track total num of affected rows + + NutrientTableMap::removeInstanceFromPool($criteria); + + $affectedRows += ModelCriteria::delete($con); + NutrientTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + +} // NutrientQuery diff --git a/api/generated-classes/Base/Rank.php b/api/generated-classes/Base/Rank.php new file mode 100644 index 0000000..164de22 --- /dev/null +++ b/api/generated-classes/Base/Rank.php @@ -0,0 +1,1835 @@ +modifiedColumns; + } + + /** + * Has specified column been modified? + * + * @param string $col column fully qualified name (TableMap::TYPE_COLNAME), e.g. Book::AUTHOR_ID + * @return boolean True if $col has been modified. + */ + public function isColumnModified($col) + { + return $this->modifiedColumns && isset($this->modifiedColumns[$col]); + } + + /** + * Get the columns that have been modified in this object. + * @return array A unique list of the modified column names for this object. + */ + public function getModifiedColumns() + { + return $this->modifiedColumns ? array_keys($this->modifiedColumns) : []; + } + + /** + * Returns whether the object has ever been saved. This will + * be false, if the object was retrieved from storage or was created + * and then saved. + * + * @return boolean true, if the object has never been persisted. + */ + public function isNew() + { + return $this->new; + } + + /** + * Setter for the isNew attribute. This method will be called + * by Propel-generated children and objects. + * + * @param boolean $b the state of the object. + */ + public function setNew($b) + { + $this->new = (boolean) $b; + } + + /** + * Whether this object has been deleted. + * @return boolean The deleted state of this object. + */ + public function isDeleted() + { + return $this->deleted; + } + + /** + * Specify whether this object has been deleted. + * @param boolean $b The deleted state of this object. + * @return void + */ + public function setDeleted($b) + { + $this->deleted = (boolean) $b; + } + + /** + * Sets the modified state for the object to be false. + * @param string $col If supplied, only the specified column is reset. + * @return void + */ + public function resetModified($col = null) + { + if (null !== $col) { + if (isset($this->modifiedColumns[$col])) { + unset($this->modifiedColumns[$col]); + } + } else { + $this->modifiedColumns = array(); + } + } + + /** + * Compares this with another Rank instance. If + * obj is an instance of Rank, delegates to + * equals(Rank). Otherwise, returns false. + * + * @param mixed $obj The object to compare to. + * @return boolean Whether equal to the object specified. + */ + public function equals($obj) + { + if (!$obj instanceof static) { + return false; + } + + if ($this === $obj) { + return true; + } + + if (null === $this->getPrimaryKey() || null === $obj->getPrimaryKey()) { + return false; + } + + return $this->getPrimaryKey() === $obj->getPrimaryKey(); + } + + /** + * Get the associative array of the virtual columns in this object + * + * @return array + */ + public function getVirtualColumns() + { + return $this->virtualColumns; + } + + /** + * Checks the existence of a virtual column in this object + * + * @param string $name The virtual column name + * @return boolean + */ + public function hasVirtualColumn($name) + { + return array_key_exists($name, $this->virtualColumns); + } + + /** + * Get the value of a virtual column in this object + * + * @param string $name The virtual column name + * @return mixed + * + * @throws PropelException + */ + public function getVirtualColumn($name) + { + if (!$this->hasVirtualColumn($name)) { + throw new PropelException(sprintf('Cannot get value of inexistent virtual column %s.', $name)); + } + + return $this->virtualColumns[$name]; + } + + /** + * Set the value of a virtual column in this object + * + * @param string $name The virtual column name + * @param mixed $value The value to give to the virtual column + * + * @return $this|Rank The current object, for fluid interface + */ + public function setVirtualColumn($name, $value) + { + $this->virtualColumns[$name] = $value; + + return $this; + } + + /** + * Logs a message using Propel::log(). + * + * @param string $msg + * @param int $priority One of the Propel::LOG_* logging levels + * @return boolean + */ + protected function log($msg, $priority = Propel::LOG_INFO) + { + return Propel::log(get_class($this) . ': ' . $msg, $priority); + } + + /** + * Export the current object properties to a string, using a given parser format + * + * $book = BookQuery::create()->findPk(9012); + * echo $book->exportTo('JSON'); + * => {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * @param mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy load(ed) columns. Defaults to TRUE. + * @return string The exported data + */ + public function exportTo($parser, $includeLazyLoadColumns = true) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + return $parser->fromArray($this->toArray(TableMap::TYPE_PHPNAME, $includeLazyLoadColumns, array(), true)); + } + + /** + * Clean up internal collections prior to serializing + * Avoids recursive loops that turn into segmentation faults when serializing + */ + public function __sleep() + { + $this->clearAllReferences(); + + $cls = new \ReflectionClass($this); + $propertyNames = []; + $serializableProperties = array_diff($cls->getProperties(), $cls->getProperties(\ReflectionProperty::IS_STATIC)); + + foreach($serializableProperties as $property) { + $propertyNames[] = $property->getName(); + } + + return $propertyNames; + } + + /** + * Get the [id] column value. + * + * @return int + */ + public function getId() + { + return $this->id; + } + + /** + * Get the [name] column value. + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Set the value of [id] column. + * + * @param int $v new value + * @return $this|\Rank The current object (for fluent API support) + */ + public function setId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->id !== $v) { + $this->id = $v; + $this->modifiedColumns[RankTableMap::COL_ID] = true; + } + + return $this; + } // setId() + + /** + * Set the value of [name] column. + * + * @param string $v new value + * @return $this|\Rank The current object (for fluent API support) + */ + public function setName($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->name !== $v) { + $this->name = $v; + $this->modifiedColumns[RankTableMap::COL_NAME] = true; + } + + return $this; + } // setName() + + /** + * Indicates whether the columns in this object are only set to default values. + * + * This method can be used in conjunction with isModified() to indicate whether an object is both + * modified _and_ has some values set which are non-default. + * + * @return boolean Whether the columns in this object are only been set with default values. + */ + public function hasOnlyDefaultValues() + { + // otherwise, everything was equal, so return TRUE + return true; + } // hasOnlyDefaultValues() + + /** + * Hydrates (populates) the object variables with values from the database resultset. + * + * An offset (0-based "start column") is specified so that objects can be hydrated + * with a subset of the columns in the resultset rows. This is needed, for example, + * for results of JOIN queries where the resultset row includes columns from two or + * more tables. + * + * @param array $row The row returned by DataFetcher->fetch(). + * @param int $startcol 0-based offset column which indicates which restultset column to start with. + * @param boolean $rehydrate Whether this object is being re-hydrated from the database. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @return int next starting column + * @throws PropelException - Any caught Exception will be rewrapped as a PropelException. + */ + public function hydrate($row, $startcol = 0, $rehydrate = false, $indexType = TableMap::TYPE_NUM) + { + try { + + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : RankTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $this->id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : RankTableMap::translateFieldName('Name', TableMap::TYPE_PHPNAME, $indexType)]; + $this->name = (null !== $col) ? (string) $col : null; + $this->resetModified(); + + $this->setNew(false); + + if ($rehydrate) { + $this->ensureConsistency(); + } + + return $startcol + 2; // 2 = RankTableMap::NUM_HYDRATE_COLUMNS. + + } catch (Exception $e) { + throw new PropelException(sprintf('Error populating %s object', '\\Rank'), 0, $e); + } + } + + /** + * Checks and repairs the internal consistency of the object. + * + * This method is executed after an already-instantiated object is re-hydrated + * from the database. It exists to check any foreign keys to make sure that + * the objects related to the current object are correct based on foreign key. + * + * You can override this method in the stub class, but you should always invoke + * the base method from the overridden method (i.e. parent::ensureConsistency()), + * in case your model changes. + * + * @throws PropelException + */ + public function ensureConsistency() + { + } // ensureConsistency + + /** + * Reloads this object from datastore based on primary key and (optionally) resets all associated objects. + * + * This will only work if the object has been saved and has a valid primary key set. + * + * @param boolean $deep (optional) Whether to also de-associated any related objects. + * @param ConnectionInterface $con (optional) The ConnectionInterface connection to use. + * @return void + * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db + */ + public function reload($deep = false, ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("Cannot reload a deleted object."); + } + + if ($this->isNew()) { + throw new PropelException("Cannot reload an unsaved object."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(RankTableMap::DATABASE_NAME); + } + + // We don't need to alter the object instance pool; we're just modifying this instance + // already in the pool. + + $dataFetcher = ChildRankQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $row = $dataFetcher->fetch(); + $dataFetcher->close(); + if (!$row) { + throw new PropelException('Cannot find matching row in the database to reload object values.'); + } + $this->hydrate($row, 0, true, $dataFetcher->getIndexType()); // rehydrate + + if ($deep) { // also de-associate any related objects? + + $this->collCategoryRankNutrients = null; + + $this->collFoods = null; + + } // if (deep) + } + + /** + * Removes this object from datastore and sets delete attribute. + * + * @param ConnectionInterface $con + * @return void + * @throws PropelException + * @see Rank::setDeleted() + * @see Rank::isDeleted() + */ + public function delete(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("This object has already been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(RankTableMap::DATABASE_NAME); + } + + $con->transaction(function () use ($con) { + $deleteQuery = ChildRankQuery::create() + ->filterByPrimaryKey($this->getPrimaryKey()); + $ret = $this->preDelete($con); + if ($ret) { + $deleteQuery->delete($con); + $this->postDelete($con); + $this->setDeleted(true); + } + }); + } + + /** + * Persists this object to the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All modified related objects will also be persisted in the doSave() + * method. This method wraps all precipitate database operations in a + * single transaction. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see doSave() + */ + public function save(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(RankTableMap::DATABASE_NAME); + } + + return $con->transaction(function () use ($con) { + $ret = $this->preSave($con); + $isInsert = $this->isNew(); + if ($isInsert) { + $ret = $ret && $this->preInsert($con); + } else { + $ret = $ret && $this->preUpdate($con); + } + if ($ret) { + $affectedRows = $this->doSave($con); + if ($isInsert) { + $this->postInsert($con); + } else { + $this->postUpdate($con); + } + $this->postSave($con); + RankTableMap::addInstanceToPool($this); + } else { + $affectedRows = 0; + } + + return $affectedRows; + }); + } + + /** + * Performs the work of inserting or updating the row in the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All related objects are also updated in this method. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see save() + */ + protected function doSave(ConnectionInterface $con) + { + $affectedRows = 0; // initialize var to track total num of affected rows + if (!$this->alreadyInSave) { + $this->alreadyInSave = true; + + if ($this->isNew() || $this->isModified()) { + // persist changes + if ($this->isNew()) { + $this->doInsert($con); + $affectedRows += 1; + } else { + $affectedRows += $this->doUpdate($con); + } + $this->resetModified(); + } + + if ($this->categoryRankNutrientsScheduledForDeletion !== null) { + if (!$this->categoryRankNutrientsScheduledForDeletion->isEmpty()) { + \CategoryRankNutrientQuery::create() + ->filterByPrimaryKeys($this->categoryRankNutrientsScheduledForDeletion->getPrimaryKeys(false)) + ->delete($con); + $this->categoryRankNutrientsScheduledForDeletion = null; + } + } + + if ($this->collCategoryRankNutrients !== null) { + foreach ($this->collCategoryRankNutrients as $referrerFK) { + if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { + $affectedRows += $referrerFK->save($con); + } + } + } + + if ($this->foodsScheduledForDeletion !== null) { + if (!$this->foodsScheduledForDeletion->isEmpty()) { + foreach ($this->foodsScheduledForDeletion as $food) { + // need to save related object because we set the relation to null + $food->save($con); + } + $this->foodsScheduledForDeletion = null; + } + } + + if ($this->collFoods !== null) { + foreach ($this->collFoods as $referrerFK) { + if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { + $affectedRows += $referrerFK->save($con); + } + } + } + + $this->alreadyInSave = false; + + } + + return $affectedRows; + } // doSave() + + /** + * Insert the row in the database. + * + * @param ConnectionInterface $con + * + * @throws PropelException + * @see doSave() + */ + protected function doInsert(ConnectionInterface $con) + { + $modifiedColumns = array(); + $index = 0; + + $this->modifiedColumns[RankTableMap::COL_ID] = true; + if (null !== $this->id) { + throw new PropelException('Cannot insert a value for auto-increment primary key (' . RankTableMap::COL_ID . ')'); + } + + // check the columns in natural order for more readable SQL queries + if ($this->isColumnModified(RankTableMap::COL_ID)) { + $modifiedColumns[':p' . $index++] = 'id'; + } + if ($this->isColumnModified(RankTableMap::COL_NAME)) { + $modifiedColumns[':p' . $index++] = 'name'; + } + + $sql = sprintf( + 'INSERT INTO Rank (%s) VALUES (%s)', + implode(', ', $modifiedColumns), + implode(', ', array_keys($modifiedColumns)) + ); + + try { + $stmt = $con->prepare($sql); + foreach ($modifiedColumns as $identifier => $columnName) { + switch ($columnName) { + case 'id': + $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); + break; + case 'name': + $stmt->bindValue($identifier, $this->name, PDO::PARAM_STR); + break; + } + } + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e); + } + + try { + $pk = $con->lastInsertId(); + } catch (Exception $e) { + throw new PropelException('Unable to get autoincrement id.', 0, $e); + } + $this->setId($pk); + + $this->setNew(false); + } + + /** + * Update the row in the database. + * + * @param ConnectionInterface $con + * + * @return Integer Number of updated rows + * @see doSave() + */ + protected function doUpdate(ConnectionInterface $con) + { + $selectCriteria = $this->buildPkeyCriteria(); + $valuesCriteria = $this->buildCriteria(); + + return $selectCriteria->doUpdate($valuesCriteria, $con); + } + + /** + * Retrieves a field from the object by name passed in as a string. + * + * @param string $name name + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return mixed Value of field. + */ + public function getByName($name, $type = TableMap::TYPE_PHPNAME) + { + $pos = RankTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $field = $this->getByPosition($pos); + + return $field; + } + + /** + * Retrieves a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @return mixed Value of field at $pos + */ + public function getByPosition($pos) + { + switch ($pos) { + case 0: + return $this->getId(); + break; + case 1: + return $this->getName(); + break; + default: + return null; + break; + } // switch() + } + + /** + * Exports the object as an array. + * + * You can specify the key type of the array by passing one of the class + * type constants. + * + * @param string $keyType (optional) One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE. + * @param array $alreadyDumpedObjects List of objects to skip to avoid recursion + * @param boolean $includeForeignObjects (optional) Whether to include hydrated related objects. Default to FALSE. + * + * @return array an associative array containing the field names (as keys) and field values + */ + public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) + { + + if (isset($alreadyDumpedObjects['Rank'][$this->hashCode()])) { + return '*RECURSION*'; + } + $alreadyDumpedObjects['Rank'][$this->hashCode()] = true; + $keys = RankTableMap::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getName(), + ); + $virtualColumns = $this->virtualColumns; + foreach ($virtualColumns as $key => $virtualColumn) { + $result[$key] = $virtualColumn; + } + + if ($includeForeignObjects) { + if (null !== $this->collCategoryRankNutrients) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'categoryRankNutrients'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Category_Rank_Nutrients'; + break; + default: + $key = 'CategoryRankNutrients'; + } + + $result[$key] = $this->collCategoryRankNutrients->toArray(null, false, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + } + if (null !== $this->collFoods) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'foods'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Foods'; + break; + default: + $key = 'Foods'; + } + + $result[$key] = $this->collFoods->toArray(null, false, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); + } + } + + return $result; + } + + /** + * Sets a field from the object by name passed in as a string. + * + * @param string $name + * @param mixed $value field value + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return $this|\Rank + */ + public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) + { + $pos = RankTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + + return $this->setByPosition($pos, $value); + } + + /** + * Sets a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @param mixed $value field value + * @return $this|\Rank + */ + public function setByPosition($pos, $value) + { + switch ($pos) { + case 0: + $this->setId($value); + break; + case 1: + $this->setName($value); + break; + } // switch() + + return $this; + } + + /** + * Populates the object using an array. + * + * This is particularly useful when populating an object from one of the + * request arrays (e.g. $_POST). This method goes through the column + * names, checking to see whether a matching key exists in populated + * array. If so the setByName() method is called for that column. + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param array $arr An array to populate the object from. + * @param string $keyType The type of keys the array uses. + * @return void + */ + public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) + { + $keys = RankTableMap::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) { + $this->setId($arr[$keys[0]]); + } + if (array_key_exists($keys[1], $arr)) { + $this->setName($arr[$keys[1]]); + } + } + + /** + * Populate the current object from a string, using a given parser format + * + * $book = new Book(); + * $book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param mixed $parser A AbstractParser instance, + * or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param string $data The source data to import from + * @param string $keyType The type of keys the array uses. + * + * @return $this|\Rank The current object, for fluid interface + */ + public function importFrom($parser, $data, $keyType = TableMap::TYPE_PHPNAME) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + $this->fromArray($parser->toArray($data), $keyType); + + return $this; + } + + /** + * Build a Criteria object containing the values of all modified columns in this object. + * + * @return Criteria The Criteria object containing all modified values. + */ + public function buildCriteria() + { + $criteria = new Criteria(RankTableMap::DATABASE_NAME); + + if ($this->isColumnModified(RankTableMap::COL_ID)) { + $criteria->add(RankTableMap::COL_ID, $this->id); + } + if ($this->isColumnModified(RankTableMap::COL_NAME)) { + $criteria->add(RankTableMap::COL_NAME, $this->name); + } + + return $criteria; + } + + /** + * Builds a Criteria object containing the primary key for this object. + * + * Unlike buildCriteria() this method includes the primary key values regardless + * of whether or not they have been modified. + * + * @throws LogicException if no primary key is defined + * + * @return Criteria The Criteria object containing value(s) for primary key(s). + */ + public function buildPkeyCriteria() + { + $criteria = ChildRankQuery::create(); + $criteria->add(RankTableMap::COL_ID, $this->id); + + return $criteria; + } + + /** + * If the primary key is not null, return the hashcode of the + * primary key. Otherwise, return the hash code of the object. + * + * @return int Hashcode + */ + public function hashCode() + { + $validPk = null !== $this->getId(); + + $validPrimaryKeyFKs = 0; + $primaryKeyFKs = []; + + if ($validPk) { + return crc32(json_encode($this->getPrimaryKey(), JSON_UNESCAPED_UNICODE)); + } elseif ($validPrimaryKeyFKs) { + return crc32(json_encode($primaryKeyFKs, JSON_UNESCAPED_UNICODE)); + } + + return spl_object_hash($this); + } + + /** + * Returns the primary key for this object (row). + * @return int + */ + public function getPrimaryKey() + { + return $this->getId(); + } + + /** + * Generic method to set the primary key (id column). + * + * @param int $key Primary key. + * @return void + */ + public function setPrimaryKey($key) + { + $this->setId($key); + } + + /** + * Returns true if the primary key for this object is null. + * @return boolean + */ + public function isPrimaryKeyNull() + { + return null === $this->getId(); + } + + /** + * Sets contents of passed object to values from current object. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param object $copyObj An object of \Rank (or compatible) type. + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. + * @throws PropelException + */ + public function copyInto($copyObj, $deepCopy = false, $makeNew = true) + { + $copyObj->setName($this->getName()); + + if ($deepCopy) { + // important: temporarily setNew(false) because this affects the behavior of + // the getter/setter methods for fkey referrer objects. + $copyObj->setNew(false); + + foreach ($this->getCategoryRankNutrients() as $relObj) { + if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves + $copyObj->addCategoryRankNutrient($relObj->copy($deepCopy)); + } + } + + foreach ($this->getFoods() as $relObj) { + if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves + $copyObj->addFood($relObj->copy($deepCopy)); + } + } + + } // if ($deepCopy) + + if ($makeNew) { + $copyObj->setNew(true); + $copyObj->setId(NULL); // this is a auto-increment column, so set to default value + } + } + + /** + * Makes a copy of this object that will be inserted as a new row in table when saved. + * It creates a new object filling in the simple attributes, but skipping any primary + * keys that are defined for the table. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @return \Rank Clone of current object. + * @throws PropelException + */ + public function copy($deepCopy = false) + { + // we use get_class(), because this might be a subclass + $clazz = get_class($this); + $copyObj = new $clazz(); + $this->copyInto($copyObj, $deepCopy); + + return $copyObj; + } + + + /** + * Initializes a collection based on the name of a relation. + * Avoids crafting an 'init[$relationName]s' method name + * that wouldn't work when StandardEnglishPluralizer is used. + * + * @param string $relationName The name of the relation to initialize + * @return void + */ + public function initRelation($relationName) + { + if ('CategoryRankNutrient' == $relationName) { + return $this->initCategoryRankNutrients(); + } + if ('Food' == $relationName) { + return $this->initFoods(); + } + } + + /** + * Clears out the collCategoryRankNutrients collection + * + * This does not modify the database; however, it will remove any associated objects, causing + * them to be refetched by subsequent calls to accessor method. + * + * @return void + * @see addCategoryRankNutrients() + */ + public function clearCategoryRankNutrients() + { + $this->collCategoryRankNutrients = null; // important to set this to NULL since that means it is uninitialized + } + + /** + * Reset is the collCategoryRankNutrients collection loaded partially. + */ + public function resetPartialCategoryRankNutrients($v = true) + { + $this->collCategoryRankNutrientsPartial = $v; + } + + /** + * Initializes the collCategoryRankNutrients collection. + * + * By default this just sets the collCategoryRankNutrients collection to an empty array (like clearcollCategoryRankNutrients()); + * however, you may wish to override this method in your stub class to provide setting appropriate + * to your application -- for example, setting the initial array to the values stored in database. + * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * + * @return void + */ + public function initCategoryRankNutrients($overrideExisting = true) + { + if (null !== $this->collCategoryRankNutrients && !$overrideExisting) { + return; + } + + $collectionClassName = CategoryRankNutrientTableMap::getTableMap()->getCollectionClassName(); + + $this->collCategoryRankNutrients = new $collectionClassName; + $this->collCategoryRankNutrients->setModel('\CategoryRankNutrient'); + } + + /** + * Gets an array of ChildCategoryRankNutrient objects which contain a foreign key that references this object. + * + * If the $criteria is not null, it is used to always fetch the results from the database. + * Otherwise the results are fetched from the database the first time, then cached. + * Next time the same method is called without $criteria, the cached collection is returned. + * If this ChildRank is new, it will return + * an empty collection or the current collection; the criteria is ignored on a new object. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return ObjectCollection|ChildCategoryRankNutrient[] List of ChildCategoryRankNutrient objects + * @throws PropelException + */ + public function getCategoryRankNutrients(Criteria $criteria = null, ConnectionInterface $con = null) + { + $partial = $this->collCategoryRankNutrientsPartial && !$this->isNew(); + if (null === $this->collCategoryRankNutrients || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collCategoryRankNutrients) { + // return empty collection + $this->initCategoryRankNutrients(); + } else { + $collCategoryRankNutrients = ChildCategoryRankNutrientQuery::create(null, $criteria) + ->filterByRank($this) + ->find($con); + + if (null !== $criteria) { + if (false !== $this->collCategoryRankNutrientsPartial && count($collCategoryRankNutrients)) { + $this->initCategoryRankNutrients(false); + + foreach ($collCategoryRankNutrients as $obj) { + if (false == $this->collCategoryRankNutrients->contains($obj)) { + $this->collCategoryRankNutrients->append($obj); + } + } + + $this->collCategoryRankNutrientsPartial = true; + } + + return $collCategoryRankNutrients; + } + + if ($partial && $this->collCategoryRankNutrients) { + foreach ($this->collCategoryRankNutrients as $obj) { + if ($obj->isNew()) { + $collCategoryRankNutrients[] = $obj; + } + } + } + + $this->collCategoryRankNutrients = $collCategoryRankNutrients; + $this->collCategoryRankNutrientsPartial = false; + } + } + + return $this->collCategoryRankNutrients; + } + + /** + * Sets a collection of ChildCategoryRankNutrient objects related by a one-to-many relationship + * to the current object. + * It will also schedule objects for deletion based on a diff between old objects (aka persisted) + * and new objects from the given Propel collection. + * + * @param Collection $categoryRankNutrients A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return $this|ChildRank The current object (for fluent API support) + */ + public function setCategoryRankNutrients(Collection $categoryRankNutrients, ConnectionInterface $con = null) + { + /** @var ChildCategoryRankNutrient[] $categoryRankNutrientsToDelete */ + $categoryRankNutrientsToDelete = $this->getCategoryRankNutrients(new Criteria(), $con)->diff($categoryRankNutrients); + + + $this->categoryRankNutrientsScheduledForDeletion = $categoryRankNutrientsToDelete; + + foreach ($categoryRankNutrientsToDelete as $categoryRankNutrientRemoved) { + $categoryRankNutrientRemoved->setRank(null); + } + + $this->collCategoryRankNutrients = null; + foreach ($categoryRankNutrients as $categoryRankNutrient) { + $this->addCategoryRankNutrient($categoryRankNutrient); + } + + $this->collCategoryRankNutrients = $categoryRankNutrients; + $this->collCategoryRankNutrientsPartial = false; + + return $this; + } + + /** + * Returns the number of related CategoryRankNutrient objects. + * + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related CategoryRankNutrient objects. + * @throws PropelException + */ + public function countCategoryRankNutrients(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + { + $partial = $this->collCategoryRankNutrientsPartial && !$this->isNew(); + if (null === $this->collCategoryRankNutrients || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collCategoryRankNutrients) { + return 0; + } + + if ($partial && !$criteria) { + return count($this->getCategoryRankNutrients()); + } + + $query = ChildCategoryRankNutrientQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByRank($this) + ->count($con); + } + + return count($this->collCategoryRankNutrients); + } + + /** + * Method called to associate a ChildCategoryRankNutrient object to this object + * through the ChildCategoryRankNutrient foreign key attribute. + * + * @param ChildCategoryRankNutrient $l ChildCategoryRankNutrient + * @return $this|\Rank The current object (for fluent API support) + */ + public function addCategoryRankNutrient(ChildCategoryRankNutrient $l) + { + if ($this->collCategoryRankNutrients === null) { + $this->initCategoryRankNutrients(); + $this->collCategoryRankNutrientsPartial = true; + } + + if (!$this->collCategoryRankNutrients->contains($l)) { + $this->doAddCategoryRankNutrient($l); + + if ($this->categoryRankNutrientsScheduledForDeletion and $this->categoryRankNutrientsScheduledForDeletion->contains($l)) { + $this->categoryRankNutrientsScheduledForDeletion->remove($this->categoryRankNutrientsScheduledForDeletion->search($l)); + } + } + + return $this; + } + + /** + * @param ChildCategoryRankNutrient $categoryRankNutrient The ChildCategoryRankNutrient object to add. + */ + protected function doAddCategoryRankNutrient(ChildCategoryRankNutrient $categoryRankNutrient) + { + $this->collCategoryRankNutrients[]= $categoryRankNutrient; + $categoryRankNutrient->setRank($this); + } + + /** + * @param ChildCategoryRankNutrient $categoryRankNutrient The ChildCategoryRankNutrient object to remove. + * @return $this|ChildRank The current object (for fluent API support) + */ + public function removeCategoryRankNutrient(ChildCategoryRankNutrient $categoryRankNutrient) + { + if ($this->getCategoryRankNutrients()->contains($categoryRankNutrient)) { + $pos = $this->collCategoryRankNutrients->search($categoryRankNutrient); + $this->collCategoryRankNutrients->remove($pos); + if (null === $this->categoryRankNutrientsScheduledForDeletion) { + $this->categoryRankNutrientsScheduledForDeletion = clone $this->collCategoryRankNutrients; + $this->categoryRankNutrientsScheduledForDeletion->clear(); + } + $this->categoryRankNutrientsScheduledForDeletion[]= clone $categoryRankNutrient; + $categoryRankNutrient->setRank(null); + } + + return $this; + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Rank is new, it will return + * an empty collection; or if this Rank has previously + * been saved, it will retrieve related CategoryRankNutrients from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Rank. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return ObjectCollection|ChildCategoryRankNutrient[] List of ChildCategoryRankNutrient objects + */ + public function getCategoryRankNutrientsJoinNutrient(Criteria $criteria = null, ConnectionInterface $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildCategoryRankNutrientQuery::create(null, $criteria); + $query->joinWith('Nutrient', $joinBehavior); + + return $this->getCategoryRankNutrients($query, $con); + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Rank is new, it will return + * an empty collection; or if this Rank has previously + * been saved, it will retrieve related CategoryRankNutrients from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Rank. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return ObjectCollection|ChildCategoryRankNutrient[] List of ChildCategoryRankNutrient objects + */ + public function getCategoryRankNutrientsJoinCategory(Criteria $criteria = null, ConnectionInterface $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildCategoryRankNutrientQuery::create(null, $criteria); + $query->joinWith('Category', $joinBehavior); + + return $this->getCategoryRankNutrients($query, $con); + } + + /** + * Clears out the collFoods collection + * + * This does not modify the database; however, it will remove any associated objects, causing + * them to be refetched by subsequent calls to accessor method. + * + * @return void + * @see addFoods() + */ + public function clearFoods() + { + $this->collFoods = null; // important to set this to NULL since that means it is uninitialized + } + + /** + * Reset is the collFoods collection loaded partially. + */ + public function resetPartialFoods($v = true) + { + $this->collFoodsPartial = $v; + } + + /** + * Initializes the collFoods collection. + * + * By default this just sets the collFoods collection to an empty array (like clearcollFoods()); + * however, you may wish to override this method in your stub class to provide setting appropriate + * to your application -- for example, setting the initial array to the values stored in database. + * + * @param boolean $overrideExisting If set to true, the method call initializes + * the collection even if it is not empty + * + * @return void + */ + public function initFoods($overrideExisting = true) + { + if (null !== $this->collFoods && !$overrideExisting) { + return; + } + + $collectionClassName = FoodTableMap::getTableMap()->getCollectionClassName(); + + $this->collFoods = new $collectionClassName; + $this->collFoods->setModel('\Food'); + } + + /** + * Gets an array of ChildFood objects which contain a foreign key that references this object. + * + * If the $criteria is not null, it is used to always fetch the results from the database. + * Otherwise the results are fetched from the database the first time, then cached. + * Next time the same method is called without $criteria, the cached collection is returned. + * If this ChildRank is new, it will return + * an empty collection or the current collection; the criteria is ignored on a new object. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @return ObjectCollection|ChildFood[] List of ChildFood objects + * @throws PropelException + */ + public function getFoods(Criteria $criteria = null, ConnectionInterface $con = null) + { + $partial = $this->collFoodsPartial && !$this->isNew(); + if (null === $this->collFoods || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collFoods) { + // return empty collection + $this->initFoods(); + } else { + $collFoods = ChildFoodQuery::create(null, $criteria) + ->filterByRank($this) + ->find($con); + + if (null !== $criteria) { + if (false !== $this->collFoodsPartial && count($collFoods)) { + $this->initFoods(false); + + foreach ($collFoods as $obj) { + if (false == $this->collFoods->contains($obj)) { + $this->collFoods->append($obj); + } + } + + $this->collFoodsPartial = true; + } + + return $collFoods; + } + + if ($partial && $this->collFoods) { + foreach ($this->collFoods as $obj) { + if ($obj->isNew()) { + $collFoods[] = $obj; + } + } + } + + $this->collFoods = $collFoods; + $this->collFoodsPartial = false; + } + } + + return $this->collFoods; + } + + /** + * Sets a collection of ChildFood objects related by a one-to-many relationship + * to the current object. + * It will also schedule objects for deletion based on a diff between old objects (aka persisted) + * and new objects from the given Propel collection. + * + * @param Collection $foods A Propel collection. + * @param ConnectionInterface $con Optional connection object + * @return $this|ChildRank The current object (for fluent API support) + */ + public function setFoods(Collection $foods, ConnectionInterface $con = null) + { + /** @var ChildFood[] $foodsToDelete */ + $foodsToDelete = $this->getFoods(new Criteria(), $con)->diff($foods); + + + $this->foodsScheduledForDeletion = $foodsToDelete; + + foreach ($foodsToDelete as $foodRemoved) { + $foodRemoved->setRank(null); + } + + $this->collFoods = null; + foreach ($foods as $food) { + $this->addFood($food); + } + + $this->collFoods = $foods; + $this->collFoodsPartial = false; + + return $this; + } + + /** + * Returns the number of related Food objects. + * + * @param Criteria $criteria + * @param boolean $distinct + * @param ConnectionInterface $con + * @return int Count of related Food objects. + * @throws PropelException + */ + public function countFoods(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) + { + $partial = $this->collFoodsPartial && !$this->isNew(); + if (null === $this->collFoods || null !== $criteria || $partial) { + if ($this->isNew() && null === $this->collFoods) { + return 0; + } + + if ($partial && !$criteria) { + return count($this->getFoods()); + } + + $query = ChildFoodQuery::create(null, $criteria); + if ($distinct) { + $query->distinct(); + } + + return $query + ->filterByRank($this) + ->count($con); + } + + return count($this->collFoods); + } + + /** + * Method called to associate a ChildFood object to this object + * through the ChildFood foreign key attribute. + * + * @param ChildFood $l ChildFood + * @return $this|\Rank The current object (for fluent API support) + */ + public function addFood(ChildFood $l) + { + if ($this->collFoods === null) { + $this->initFoods(); + $this->collFoodsPartial = true; + } + + if (!$this->collFoods->contains($l)) { + $this->doAddFood($l); + + if ($this->foodsScheduledForDeletion and $this->foodsScheduledForDeletion->contains($l)) { + $this->foodsScheduledForDeletion->remove($this->foodsScheduledForDeletion->search($l)); + } + } + + return $this; + } + + /** + * @param ChildFood $food The ChildFood object to add. + */ + protected function doAddFood(ChildFood $food) + { + $this->collFoods[]= $food; + $food->setRank($this); + } + + /** + * @param ChildFood $food The ChildFood object to remove. + * @return $this|ChildRank The current object (for fluent API support) + */ + public function removeFood(ChildFood $food) + { + if ($this->getFoods()->contains($food)) { + $pos = $this->collFoods->search($food); + $this->collFoods->remove($pos); + if (null === $this->foodsScheduledForDeletion) { + $this->foodsScheduledForDeletion = clone $this->collFoods; + $this->foodsScheduledForDeletion->clear(); + } + $this->foodsScheduledForDeletion[]= $food; + $food->setRank(null); + } + + return $this; + } + + + /** + * If this collection has already been initialized with + * an identical criteria, it returns the collection. + * Otherwise if this Rank is new, it will return + * an empty collection; or if this Rank has previously + * been saved, it will retrieve related Foods from storage. + * + * This method is protected by default in order to keep the public + * api reasonable. You can provide public methods for those you + * actually need in Rank. + * + * @param Criteria $criteria optional Criteria object to narrow the query + * @param ConnectionInterface $con optional connection object + * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) + * @return ObjectCollection|ChildFood[] List of ChildFood objects + */ + public function getFoodsJoinCategory(Criteria $criteria = null, ConnectionInterface $con = null, $joinBehavior = Criteria::LEFT_JOIN) + { + $query = ChildFoodQuery::create(null, $criteria); + $query->joinWith('Category', $joinBehavior); + + return $this->getFoods($query, $con); + } + + /** + * Clears the current object, sets all attributes to their default values and removes + * outgoing references as well as back-references (from other objects to this one. Results probably in a database + * change of those foreign objects when you call `save` there). + */ + public function clear() + { + $this->id = null; + $this->name = null; + $this->alreadyInSave = false; + $this->clearAllReferences(); + $this->resetModified(); + $this->setNew(true); + $this->setDeleted(false); + } + + /** + * Resets all references and back-references to other model objects or collections of model objects. + * + * This method is used to reset all php object references (not the actual reference in the database). + * Necessary for object serialisation. + * + * @param boolean $deep Whether to also clear the references on all referrer objects. + */ + public function clearAllReferences($deep = false) + { + if ($deep) { + if ($this->collCategoryRankNutrients) { + foreach ($this->collCategoryRankNutrients as $o) { + $o->clearAllReferences($deep); + } + } + if ($this->collFoods) { + foreach ($this->collFoods as $o) { + $o->clearAllReferences($deep); + } + } + } // if ($deep) + + $this->collCategoryRankNutrients = null; + $this->collFoods = null; + } + + /** + * Return the string representation of this object + * + * @return string + */ + public function __toString() + { + return (string) $this->exportTo(RankTableMap::DEFAULT_STRING_FORMAT); + } + + /** + * Code to be run before persisting the object + * @param ConnectionInterface $con + * @return boolean + */ + public function preSave(ConnectionInterface $con = null) + { + if (is_callable('parent::preSave')) { + return parent::preSave($con); + } + return true; + } + + /** + * Code to be run after persisting the object + * @param ConnectionInterface $con + */ + public function postSave(ConnectionInterface $con = null) + { + if (is_callable('parent::postSave')) { + parent::postSave($con); + } + } + + /** + * Code to be run before inserting to database + * @param ConnectionInterface $con + * @return boolean + */ + public function preInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::preInsert')) { + return parent::preInsert($con); + } + return true; + } + + /** + * Code to be run after inserting to database + * @param ConnectionInterface $con + */ + public function postInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::postInsert')) { + parent::postInsert($con); + } + } + + /** + * Code to be run before updating the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::preUpdate')) { + return parent::preUpdate($con); + } + return true; + } + + /** + * Code to be run after updating the object in database + * @param ConnectionInterface $con + */ + public function postUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::postUpdate')) { + parent::postUpdate($con); + } + } + + /** + * Code to be run before deleting the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::preDelete')) { + return parent::preDelete($con); + } + return true; + } + + /** + * Code to be run after deleting the object in database + * @param ConnectionInterface $con + */ + public function postDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::postDelete')) { + parent::postDelete($con); + } + } + + + /** + * Derived method to catches calls to undefined methods. + * + * Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.). + * Allows to define default __call() behavior if you overwrite __call() + * + * @param string $name + * @param mixed $params + * + * @return array|string + */ + public function __call($name, $params) + { + if (0 === strpos($name, 'get')) { + $virtualColumn = substr($name, 3); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + + $virtualColumn = lcfirst($virtualColumn); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + } + + if (0 === strpos($name, 'from')) { + $format = substr($name, 4); + + return $this->importFrom($format, reset($params)); + } + + if (0 === strpos($name, 'to')) { + $format = substr($name, 2); + $includeLazyLoadColumns = isset($params[0]) ? $params[0] : true; + + return $this->exportTo($format, $includeLazyLoadColumns); + } + + throw new BadMethodCallException(sprintf('Call to undefined method: %s.', $name)); + } + +} diff --git a/api/generated-classes/Base/RankQuery.php b/api/generated-classes/Base/RankQuery.php new file mode 100644 index 0000000..9f3d376 --- /dev/null +++ b/api/generated-classes/Base/RankQuery.php @@ -0,0 +1,551 @@ +setModelAlias($modelAlias); + } + if ($criteria instanceof Criteria) { + $query->mergeWith($criteria); + } + + return $query; + } + + /** + * Find object by primary key. + * Propel uses the instance pool to skip the database if the object exists. + * Go fast if the query is untouched. + * + * + * $obj = $c->findPk(12, $con); + * + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ChildRank|array|mixed the result, formatted by the current formatter + */ + public function findPk($key, ConnectionInterface $con = null) + { + if ($key === null) { + return null; + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(RankTableMap::DATABASE_NAME); + } + + $this->basePreSelect($con); + + if ( + $this->formatter || $this->modelAlias || $this->with || $this->select + || $this->selectColumns || $this->asColumns || $this->selectModifiers + || $this->map || $this->having || $this->joins + ) { + return $this->findPkComplex($key, $con); + } + + if ((null !== ($obj = RankTableMap::getInstanceFromPool(null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key)))) { + // the object is already in the instance pool + return $obj; + } + + return $this->findPkSimple($key, $con); + } + + /** + * Find object by primary key using raw SQL to go fast. + * Bypass doSelect() and the object formatter by using generated code. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildRank A model object, or null if the key is not found + */ + protected function findPkSimple($key, ConnectionInterface $con) + { + $sql = 'SELECT id, name FROM Rank WHERE id = :p0'; + try { + $stmt = $con->prepare($sql); + $stmt->bindValue(':p0', $key, PDO::PARAM_INT); + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e); + } + $obj = null; + if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { + /** @var ChildRank $obj */ + $obj = new ChildRank(); + $obj->hydrate($row); + RankTableMap::addInstanceToPool($obj, null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key); + } + $stmt->closeCursor(); + + return $obj; + } + + /** + * Find object by primary key. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @return ChildRank|array|mixed the result, formatted by the current formatter + */ + protected function findPkComplex($key, ConnectionInterface $con) + { + // As the query uses a PK condition, no limit(1) is necessary. + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKey($key) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->formatOne($dataFetcher); + } + + /** + * Find objects by primary key + * + * $objs = $c->findPks(array(12, 56, 832), $con); + * + * @param array $keys Primary keys to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ObjectCollection|array|mixed the list of results, formatted by the current formatter + */ + public function findPks($keys, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getReadConnection($this->getDbName()); + } + $this->basePreSelect($con); + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKeys($keys) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->format($dataFetcher); + } + + /** + * Filter the query by primary key + * + * @param mixed $key Primary key to use for the query + * + * @return $this|ChildRankQuery The current query, for fluid interface + */ + public function filterByPrimaryKey($key) + { + + return $this->addUsingAlias(RankTableMap::COL_ID, $key, Criteria::EQUAL); + } + + /** + * Filter the query by a list of primary keys + * + * @param array $keys The list of primary key to use for the query + * + * @return $this|ChildRankQuery The current query, for fluid interface + */ + public function filterByPrimaryKeys($keys) + { + + return $this->addUsingAlias(RankTableMap::COL_ID, $keys, Criteria::IN); + } + + /** + * Filter the query on the id column + * + * Example usage: + * + * $query->filterById(1234); // WHERE id = 1234 + * $query->filterById(array(12, 34)); // WHERE id IN (12, 34) + * $query->filterById(array('min' => 12)); // WHERE id > 12 + * + * + * @param mixed $id The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildRankQuery The current query, for fluid interface + */ + public function filterById($id = null, $comparison = null) + { + if (is_array($id)) { + $useMinMax = false; + if (isset($id['min'])) { + $this->addUsingAlias(RankTableMap::COL_ID, $id['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($id['max'])) { + $this->addUsingAlias(RankTableMap::COL_ID, $id['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(RankTableMap::COL_ID, $id, $comparison); + } + + /** + * Filter the query on the name column + * + * Example usage: + * + * $query->filterByName('fooValue'); // WHERE name = 'fooValue' + * $query->filterByName('%fooValue%', Criteria::LIKE); // WHERE name LIKE '%fooValue%' + * + * + * @param string $name The value to use as filter. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildRankQuery The current query, for fluid interface + */ + public function filterByName($name = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($name)) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(RankTableMap::COL_NAME, $name, $comparison); + } + + /** + * Filter the query by a related \CategoryRankNutrient object + * + * @param \CategoryRankNutrient|ObjectCollection $categoryRankNutrient the related object to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildRankQuery The current query, for fluid interface + */ + public function filterByCategoryRankNutrient($categoryRankNutrient, $comparison = null) + { + if ($categoryRankNutrient instanceof \CategoryRankNutrient) { + return $this + ->addUsingAlias(RankTableMap::COL_ID, $categoryRankNutrient->getRankId(), $comparison); + } elseif ($categoryRankNutrient instanceof ObjectCollection) { + return $this + ->useCategoryRankNutrientQuery() + ->filterByPrimaryKeys($categoryRankNutrient->getPrimaryKeys()) + ->endUse(); + } else { + throw new PropelException('filterByCategoryRankNutrient() only accepts arguments of type \CategoryRankNutrient or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the CategoryRankNutrient relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildRankQuery The current query, for fluid interface + */ + public function joinCategoryRankNutrient($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('CategoryRankNutrient'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'CategoryRankNutrient'); + } + + return $this; + } + + /** + * Use the CategoryRankNutrient relation CategoryRankNutrient object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \CategoryRankNutrientQuery A secondary query class using the current class as primary query + */ + public function useCategoryRankNutrientQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) + { + return $this + ->joinCategoryRankNutrient($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'CategoryRankNutrient', '\CategoryRankNutrientQuery'); + } + + /** + * Filter the query by a related \Food object + * + * @param \Food|ObjectCollection $food the related object to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildRankQuery The current query, for fluid interface + */ + public function filterByFood($food, $comparison = null) + { + if ($food instanceof \Food) { + return $this + ->addUsingAlias(RankTableMap::COL_ID, $food->getRankId(), $comparison); + } elseif ($food instanceof ObjectCollection) { + return $this + ->useFoodQuery() + ->filterByPrimaryKeys($food->getPrimaryKeys()) + ->endUse(); + } else { + throw new PropelException('filterByFood() only accepts arguments of type \Food or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the Food relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildRankQuery The current query, for fluid interface + */ + public function joinFood($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('Food'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'Food'); + } + + return $this; + } + + /** + * Use the Food relation Food object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \FoodQuery A secondary query class using the current class as primary query + */ + public function useFoodQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + return $this + ->joinFood($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Food', '\FoodQuery'); + } + + /** + * Exclude object from result + * + * @param ChildRank $rank Object to remove from the list of results + * + * @return $this|ChildRankQuery The current query, for fluid interface + */ + public function prune($rank = null) + { + if ($rank) { + $this->addUsingAlias(RankTableMap::COL_ID, $rank->getId(), Criteria::NOT_EQUAL); + } + + return $this; + } + + /** + * Deletes all rows from the Rank table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public function doDeleteAll(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(RankTableMap::DATABASE_NAME); + } + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con) { + $affectedRows = 0; // initialize var to track total num of affected rows + $affectedRows += parent::doDeleteAll($con); + // Because this db requires some delete cascade/set null emulation, we have to + // clear the cached instance *after* the emulation has happened (since + // instances get re-added by the select statement contained therein). + RankTableMap::clearInstancePool(); + RankTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + + /** + * Performs a DELETE on the database based on the current ModelCriteria + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public function delete(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(RankTableMap::DATABASE_NAME); + } + + $criteria = $this; + + // Set the correct dbName + $criteria->setDbName(RankTableMap::DATABASE_NAME); + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con, $criteria) { + $affectedRows = 0; // initialize var to track total num of affected rows + + RankTableMap::removeInstanceFromPool($criteria); + + $affectedRows += ModelCriteria::delete($con); + RankTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + +} // RankQuery diff --git a/api/generated-classes/Base/Subcategory.php b/api/generated-classes/Base/Subcategory.php new file mode 100644 index 0000000..c6a7ba1 --- /dev/null +++ b/api/generated-classes/Base/Subcategory.php @@ -0,0 +1,1316 @@ +modifiedColumns; + } + + /** + * Has specified column been modified? + * + * @param string $col column fully qualified name (TableMap::TYPE_COLNAME), e.g. Book::AUTHOR_ID + * @return boolean True if $col has been modified. + */ + public function isColumnModified($col) + { + return $this->modifiedColumns && isset($this->modifiedColumns[$col]); + } + + /** + * Get the columns that have been modified in this object. + * @return array A unique list of the modified column names for this object. + */ + public function getModifiedColumns() + { + return $this->modifiedColumns ? array_keys($this->modifiedColumns) : []; + } + + /** + * Returns whether the object has ever been saved. This will + * be false, if the object was retrieved from storage or was created + * and then saved. + * + * @return boolean true, if the object has never been persisted. + */ + public function isNew() + { + return $this->new; + } + + /** + * Setter for the isNew attribute. This method will be called + * by Propel-generated children and objects. + * + * @param boolean $b the state of the object. + */ + public function setNew($b) + { + $this->new = (boolean) $b; + } + + /** + * Whether this object has been deleted. + * @return boolean The deleted state of this object. + */ + public function isDeleted() + { + return $this->deleted; + } + + /** + * Specify whether this object has been deleted. + * @param boolean $b The deleted state of this object. + * @return void + */ + public function setDeleted($b) + { + $this->deleted = (boolean) $b; + } + + /** + * Sets the modified state for the object to be false. + * @param string $col If supplied, only the specified column is reset. + * @return void + */ + public function resetModified($col = null) + { + if (null !== $col) { + if (isset($this->modifiedColumns[$col])) { + unset($this->modifiedColumns[$col]); + } + } else { + $this->modifiedColumns = array(); + } + } + + /** + * Compares this with another Subcategory instance. If + * obj is an instance of Subcategory, delegates to + * equals(Subcategory). Otherwise, returns false. + * + * @param mixed $obj The object to compare to. + * @return boolean Whether equal to the object specified. + */ + public function equals($obj) + { + if (!$obj instanceof static) { + return false; + } + + if ($this === $obj) { + return true; + } + + if (null === $this->getPrimaryKey() || null === $obj->getPrimaryKey()) { + return false; + } + + return $this->getPrimaryKey() === $obj->getPrimaryKey(); + } + + /** + * Get the associative array of the virtual columns in this object + * + * @return array + */ + public function getVirtualColumns() + { + return $this->virtualColumns; + } + + /** + * Checks the existence of a virtual column in this object + * + * @param string $name The virtual column name + * @return boolean + */ + public function hasVirtualColumn($name) + { + return array_key_exists($name, $this->virtualColumns); + } + + /** + * Get the value of a virtual column in this object + * + * @param string $name The virtual column name + * @return mixed + * + * @throws PropelException + */ + public function getVirtualColumn($name) + { + if (!$this->hasVirtualColumn($name)) { + throw new PropelException(sprintf('Cannot get value of inexistent virtual column %s.', $name)); + } + + return $this->virtualColumns[$name]; + } + + /** + * Set the value of a virtual column in this object + * + * @param string $name The virtual column name + * @param mixed $value The value to give to the virtual column + * + * @return $this|Subcategory The current object, for fluid interface + */ + public function setVirtualColumn($name, $value) + { + $this->virtualColumns[$name] = $value; + + return $this; + } + + /** + * Logs a message using Propel::log(). + * + * @param string $msg + * @param int $priority One of the Propel::LOG_* logging levels + * @return boolean + */ + protected function log($msg, $priority = Propel::LOG_INFO) + { + return Propel::log(get_class($this) . ': ' . $msg, $priority); + } + + /** + * Export the current object properties to a string, using a given parser format + * + * $book = BookQuery::create()->findPk(9012); + * echo $book->exportTo('JSON'); + * => {"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * @param mixed $parser A AbstractParser instance, or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy load(ed) columns. Defaults to TRUE. + * @return string The exported data + */ + public function exportTo($parser, $includeLazyLoadColumns = true) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + return $parser->fromArray($this->toArray(TableMap::TYPE_PHPNAME, $includeLazyLoadColumns, array(), true)); + } + + /** + * Clean up internal collections prior to serializing + * Avoids recursive loops that turn into segmentation faults when serializing + */ + public function __sleep() + { + $this->clearAllReferences(); + + $cls = new \ReflectionClass($this); + $propertyNames = []; + $serializableProperties = array_diff($cls->getProperties(), $cls->getProperties(\ReflectionProperty::IS_STATIC)); + + foreach($serializableProperties as $property) { + $propertyNames[] = $property->getName(); + } + + return $propertyNames; + } + + /** + * Get the [id] column value. + * + * @return int + */ + public function getId() + { + return $this->id; + } + + /** + * Get the [name] column value. + * + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Get the [category_id] column value. + * + * @return int + */ + public function getCategoryId() + { + return $this->category_id; + } + + /** + * Set the value of [id] column. + * + * @param int $v new value + * @return $this|\Subcategory The current object (for fluent API support) + */ + public function setId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->id !== $v) { + $this->id = $v; + $this->modifiedColumns[SubcategoryTableMap::COL_ID] = true; + } + + return $this; + } // setId() + + /** + * Set the value of [name] column. + * + * @param string $v new value + * @return $this|\Subcategory The current object (for fluent API support) + */ + public function setName($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->name !== $v) { + $this->name = $v; + $this->modifiedColumns[SubcategoryTableMap::COL_NAME] = true; + } + + return $this; + } // setName() + + /** + * Set the value of [category_id] column. + * + * @param int $v new value + * @return $this|\Subcategory The current object (for fluent API support) + */ + public function setCategoryId($v) + { + if ($v !== null) { + $v = (int) $v; + } + + if ($this->category_id !== $v) { + $this->category_id = $v; + $this->modifiedColumns[SubcategoryTableMap::COL_CATEGORY_ID] = true; + } + + if ($this->aCategory !== null && $this->aCategory->getId() !== $v) { + $this->aCategory = null; + } + + return $this; + } // setCategoryId() + + /** + * Indicates whether the columns in this object are only set to default values. + * + * This method can be used in conjunction with isModified() to indicate whether an object is both + * modified _and_ has some values set which are non-default. + * + * @return boolean Whether the columns in this object are only been set with default values. + */ + public function hasOnlyDefaultValues() + { + // otherwise, everything was equal, so return TRUE + return true; + } // hasOnlyDefaultValues() + + /** + * Hydrates (populates) the object variables with values from the database resultset. + * + * An offset (0-based "start column") is specified so that objects can be hydrated + * with a subset of the columns in the resultset rows. This is needed, for example, + * for results of JOIN queries where the resultset row includes columns from two or + * more tables. + * + * @param array $row The row returned by DataFetcher->fetch(). + * @param int $startcol 0-based offset column which indicates which restultset column to start with. + * @param boolean $rehydrate Whether this object is being re-hydrated from the database. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @return int next starting column + * @throws PropelException - Any caught Exception will be rewrapped as a PropelException. + */ + public function hydrate($row, $startcol = 0, $rehydrate = false, $indexType = TableMap::TYPE_NUM) + { + try { + + $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : SubcategoryTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + $this->id = (null !== $col) ? (int) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : SubcategoryTableMap::translateFieldName('Name', TableMap::TYPE_PHPNAME, $indexType)]; + $this->name = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : SubcategoryTableMap::translateFieldName('CategoryId', TableMap::TYPE_PHPNAME, $indexType)]; + $this->category_id = (null !== $col) ? (int) $col : null; + $this->resetModified(); + + $this->setNew(false); + + if ($rehydrate) { + $this->ensureConsistency(); + } + + return $startcol + 3; // 3 = SubcategoryTableMap::NUM_HYDRATE_COLUMNS. + + } catch (Exception $e) { + throw new PropelException(sprintf('Error populating %s object', '\\Subcategory'), 0, $e); + } + } + + /** + * Checks and repairs the internal consistency of the object. + * + * This method is executed after an already-instantiated object is re-hydrated + * from the database. It exists to check any foreign keys to make sure that + * the objects related to the current object are correct based on foreign key. + * + * You can override this method in the stub class, but you should always invoke + * the base method from the overridden method (i.e. parent::ensureConsistency()), + * in case your model changes. + * + * @throws PropelException + */ + public function ensureConsistency() + { + if ($this->aCategory !== null && $this->category_id !== $this->aCategory->getId()) { + $this->aCategory = null; + } + } // ensureConsistency + + /** + * Reloads this object from datastore based on primary key and (optionally) resets all associated objects. + * + * This will only work if the object has been saved and has a valid primary key set. + * + * @param boolean $deep (optional) Whether to also de-associated any related objects. + * @param ConnectionInterface $con (optional) The ConnectionInterface connection to use. + * @return void + * @throws PropelException - if this object is deleted, unsaved or doesn't have pk match in db + */ + public function reload($deep = false, ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("Cannot reload a deleted object."); + } + + if ($this->isNew()) { + throw new PropelException("Cannot reload an unsaved object."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(SubcategoryTableMap::DATABASE_NAME); + } + + // We don't need to alter the object instance pool; we're just modifying this instance + // already in the pool. + + $dataFetcher = ChildSubcategoryQuery::create(null, $this->buildPkeyCriteria())->setFormatter(ModelCriteria::FORMAT_STATEMENT)->find($con); + $row = $dataFetcher->fetch(); + $dataFetcher->close(); + if (!$row) { + throw new PropelException('Cannot find matching row in the database to reload object values.'); + } + $this->hydrate($row, 0, true, $dataFetcher->getIndexType()); // rehydrate + + if ($deep) { // also de-associate any related objects? + + $this->aCategory = null; + } // if (deep) + } + + /** + * Removes this object from datastore and sets delete attribute. + * + * @param ConnectionInterface $con + * @return void + * @throws PropelException + * @see Subcategory::setDeleted() + * @see Subcategory::isDeleted() + */ + public function delete(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("This object has already been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(SubcategoryTableMap::DATABASE_NAME); + } + + $con->transaction(function () use ($con) { + $deleteQuery = ChildSubcategoryQuery::create() + ->filterByPrimaryKey($this->getPrimaryKey()); + $ret = $this->preDelete($con); + if ($ret) { + $deleteQuery->delete($con); + $this->postDelete($con); + $this->setDeleted(true); + } + }); + } + + /** + * Persists this object to the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All modified related objects will also be persisted in the doSave() + * method. This method wraps all precipitate database operations in a + * single transaction. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see doSave() + */ + public function save(ConnectionInterface $con = null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been deleted."); + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getWriteConnection(SubcategoryTableMap::DATABASE_NAME); + } + + return $con->transaction(function () use ($con) { + $ret = $this->preSave($con); + $isInsert = $this->isNew(); + if ($isInsert) { + $ret = $ret && $this->preInsert($con); + } else { + $ret = $ret && $this->preUpdate($con); + } + if ($ret) { + $affectedRows = $this->doSave($con); + if ($isInsert) { + $this->postInsert($con); + } else { + $this->postUpdate($con); + } + $this->postSave($con); + SubcategoryTableMap::addInstanceToPool($this); + } else { + $affectedRows = 0; + } + + return $affectedRows; + }); + } + + /** + * Performs the work of inserting or updating the row in the database. + * + * If the object is new, it inserts it; otherwise an update is performed. + * All related objects are also updated in this method. + * + * @param ConnectionInterface $con + * @return int The number of rows affected by this insert/update and any referring fk objects' save() operations. + * @throws PropelException + * @see save() + */ + protected function doSave(ConnectionInterface $con) + { + $affectedRows = 0; // initialize var to track total num of affected rows + if (!$this->alreadyInSave) { + $this->alreadyInSave = true; + + // We call the save method on the following object(s) if they + // were passed to this object by their corresponding set + // method. This object relates to these object(s) by a + // foreign key reference. + + if ($this->aCategory !== null) { + if ($this->aCategory->isModified() || $this->aCategory->isNew()) { + $affectedRows += $this->aCategory->save($con); + } + $this->setCategory($this->aCategory); + } + + if ($this->isNew() || $this->isModified()) { + // persist changes + if ($this->isNew()) { + $this->doInsert($con); + $affectedRows += 1; + } else { + $affectedRows += $this->doUpdate($con); + } + $this->resetModified(); + } + + $this->alreadyInSave = false; + + } + + return $affectedRows; + } // doSave() + + /** + * Insert the row in the database. + * + * @param ConnectionInterface $con + * + * @throws PropelException + * @see doSave() + */ + protected function doInsert(ConnectionInterface $con) + { + $modifiedColumns = array(); + $index = 0; + + $this->modifiedColumns[SubcategoryTableMap::COL_ID] = true; + if (null !== $this->id) { + throw new PropelException('Cannot insert a value for auto-increment primary key (' . SubcategoryTableMap::COL_ID . ')'); + } + + // check the columns in natural order for more readable SQL queries + if ($this->isColumnModified(SubcategoryTableMap::COL_ID)) { + $modifiedColumns[':p' . $index++] = 'id'; + } + if ($this->isColumnModified(SubcategoryTableMap::COL_NAME)) { + $modifiedColumns[':p' . $index++] = 'name'; + } + if ($this->isColumnModified(SubcategoryTableMap::COL_CATEGORY_ID)) { + $modifiedColumns[':p' . $index++] = 'category_id'; + } + + $sql = sprintf( + 'INSERT INTO Subcategory (%s) VALUES (%s)', + implode(', ', $modifiedColumns), + implode(', ', array_keys($modifiedColumns)) + ); + + try { + $stmt = $con->prepare($sql); + foreach ($modifiedColumns as $identifier => $columnName) { + switch ($columnName) { + case 'id': + $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); + break; + case 'name': + $stmt->bindValue($identifier, $this->name, PDO::PARAM_STR); + break; + case 'category_id': + $stmt->bindValue($identifier, $this->category_id, PDO::PARAM_INT); + break; + } + } + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute INSERT statement [%s]', $sql), 0, $e); + } + + try { + $pk = $con->lastInsertId(); + } catch (Exception $e) { + throw new PropelException('Unable to get autoincrement id.', 0, $e); + } + $this->setId($pk); + + $this->setNew(false); + } + + /** + * Update the row in the database. + * + * @param ConnectionInterface $con + * + * @return Integer Number of updated rows + * @see doSave() + */ + protected function doUpdate(ConnectionInterface $con) + { + $selectCriteria = $this->buildPkeyCriteria(); + $valuesCriteria = $this->buildCriteria(); + + return $selectCriteria->doUpdate($valuesCriteria, $con); + } + + /** + * Retrieves a field from the object by name passed in as a string. + * + * @param string $name name + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return mixed Value of field. + */ + public function getByName($name, $type = TableMap::TYPE_PHPNAME) + { + $pos = SubcategoryTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + $field = $this->getByPosition($pos); + + return $field; + } + + /** + * Retrieves a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @return mixed Value of field at $pos + */ + public function getByPosition($pos) + { + switch ($pos) { + case 0: + return $this->getId(); + break; + case 1: + return $this->getName(); + break; + case 2: + return $this->getCategoryId(); + break; + default: + return null; + break; + } // switch() + } + + /** + * Exports the object as an array. + * + * You can specify the key type of the array by passing one of the class + * type constants. + * + * @param string $keyType (optional) One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @param boolean $includeLazyLoadColumns (optional) Whether to include lazy loaded columns. Defaults to TRUE. + * @param array $alreadyDumpedObjects List of objects to skip to avoid recursion + * @param boolean $includeForeignObjects (optional) Whether to include hydrated related objects. Default to FALSE. + * + * @return array an associative array containing the field names (as keys) and field values + */ + public function toArray($keyType = TableMap::TYPE_PHPNAME, $includeLazyLoadColumns = true, $alreadyDumpedObjects = array(), $includeForeignObjects = false) + { + + if (isset($alreadyDumpedObjects['Subcategory'][$this->hashCode()])) { + return '*RECURSION*'; + } + $alreadyDumpedObjects['Subcategory'][$this->hashCode()] = true; + $keys = SubcategoryTableMap::getFieldNames($keyType); + $result = array( + $keys[0] => $this->getId(), + $keys[1] => $this->getName(), + $keys[2] => $this->getCategoryId(), + ); + $virtualColumns = $this->virtualColumns; + foreach ($virtualColumns as $key => $virtualColumn) { + $result[$key] = $virtualColumn; + } + + if ($includeForeignObjects) { + if (null !== $this->aCategory) { + + switch ($keyType) { + case TableMap::TYPE_CAMELNAME: + $key = 'category'; + break; + case TableMap::TYPE_FIELDNAME: + $key = 'Category'; + break; + default: + $key = 'Category'; + } + + $result[$key] = $this->aCategory->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); + } + } + + return $result; + } + + /** + * Sets a field from the object by name passed in as a string. + * + * @param string $name + * @param mixed $value field value + * @param string $type The type of fieldname the $name is of: + * one of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * Defaults to TableMap::TYPE_PHPNAME. + * @return $this|\Subcategory + */ + public function setByName($name, $value, $type = TableMap::TYPE_PHPNAME) + { + $pos = SubcategoryTableMap::translateFieldName($name, $type, TableMap::TYPE_NUM); + + return $this->setByPosition($pos, $value); + } + + /** + * Sets a field from the object by Position as specified in the xml schema. + * Zero-based. + * + * @param int $pos position in xml schema + * @param mixed $value field value + * @return $this|\Subcategory + */ + public function setByPosition($pos, $value) + { + switch ($pos) { + case 0: + $this->setId($value); + break; + case 1: + $this->setName($value); + break; + case 2: + $this->setCategoryId($value); + break; + } // switch() + + return $this; + } + + /** + * Populates the object using an array. + * + * This is particularly useful when populating an object from one of the + * request arrays (e.g. $_POST). This method goes through the column + * names, checking to see whether a matching key exists in populated + * array. If so the setByName() method is called for that column. + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param array $arr An array to populate the object from. + * @param string $keyType The type of keys the array uses. + * @return void + */ + public function fromArray($arr, $keyType = TableMap::TYPE_PHPNAME) + { + $keys = SubcategoryTableMap::getFieldNames($keyType); + + if (array_key_exists($keys[0], $arr)) { + $this->setId($arr[$keys[0]]); + } + if (array_key_exists($keys[1], $arr)) { + $this->setName($arr[$keys[1]]); + } + if (array_key_exists($keys[2], $arr)) { + $this->setCategoryId($arr[$keys[2]]); + } + } + + /** + * Populate the current object from a string, using a given parser format + * + * $book = new Book(); + * $book->importFrom('JSON', '{"Id":9012,"Title":"Don Juan","ISBN":"0140422161","Price":12.99,"PublisherId":1234,"AuthorId":5678}'); + * + * + * You can specify the key type of the array by additionally passing one + * of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME, + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * The default key type is the column's TableMap::TYPE_PHPNAME. + * + * @param mixed $parser A AbstractParser instance, + * or a format name ('XML', 'YAML', 'JSON', 'CSV') + * @param string $data The source data to import from + * @param string $keyType The type of keys the array uses. + * + * @return $this|\Subcategory The current object, for fluid interface + */ + public function importFrom($parser, $data, $keyType = TableMap::TYPE_PHPNAME) + { + if (!$parser instanceof AbstractParser) { + $parser = AbstractParser::getParser($parser); + } + + $this->fromArray($parser->toArray($data), $keyType); + + return $this; + } + + /** + * Build a Criteria object containing the values of all modified columns in this object. + * + * @return Criteria The Criteria object containing all modified values. + */ + public function buildCriteria() + { + $criteria = new Criteria(SubcategoryTableMap::DATABASE_NAME); + + if ($this->isColumnModified(SubcategoryTableMap::COL_ID)) { + $criteria->add(SubcategoryTableMap::COL_ID, $this->id); + } + if ($this->isColumnModified(SubcategoryTableMap::COL_NAME)) { + $criteria->add(SubcategoryTableMap::COL_NAME, $this->name); + } + if ($this->isColumnModified(SubcategoryTableMap::COL_CATEGORY_ID)) { + $criteria->add(SubcategoryTableMap::COL_CATEGORY_ID, $this->category_id); + } + + return $criteria; + } + + /** + * Builds a Criteria object containing the primary key for this object. + * + * Unlike buildCriteria() this method includes the primary key values regardless + * of whether or not they have been modified. + * + * @throws LogicException if no primary key is defined + * + * @return Criteria The Criteria object containing value(s) for primary key(s). + */ + public function buildPkeyCriteria() + { + $criteria = ChildSubcategoryQuery::create(); + $criteria->add(SubcategoryTableMap::COL_ID, $this->id); + + return $criteria; + } + + /** + * If the primary key is not null, return the hashcode of the + * primary key. Otherwise, return the hash code of the object. + * + * @return int Hashcode + */ + public function hashCode() + { + $validPk = null !== $this->getId(); + + $validPrimaryKeyFKs = 0; + $primaryKeyFKs = []; + + if ($validPk) { + return crc32(json_encode($this->getPrimaryKey(), JSON_UNESCAPED_UNICODE)); + } elseif ($validPrimaryKeyFKs) { + return crc32(json_encode($primaryKeyFKs, JSON_UNESCAPED_UNICODE)); + } + + return spl_object_hash($this); + } + + /** + * Returns the primary key for this object (row). + * @return int + */ + public function getPrimaryKey() + { + return $this->getId(); + } + + /** + * Generic method to set the primary key (id column). + * + * @param int $key Primary key. + * @return void + */ + public function setPrimaryKey($key) + { + $this->setId($key); + } + + /** + * Returns true if the primary key for this object is null. + * @return boolean + */ + public function isPrimaryKeyNull() + { + return null === $this->getId(); + } + + /** + * Sets contents of passed object to values from current object. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param object $copyObj An object of \Subcategory (or compatible) type. + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @param boolean $makeNew Whether to reset autoincrement PKs and make the object new. + * @throws PropelException + */ + public function copyInto($copyObj, $deepCopy = false, $makeNew = true) + { + $copyObj->setName($this->getName()); + $copyObj->setCategoryId($this->getCategoryId()); + if ($makeNew) { + $copyObj->setNew(true); + $copyObj->setId(NULL); // this is a auto-increment column, so set to default value + } + } + + /** + * Makes a copy of this object that will be inserted as a new row in table when saved. + * It creates a new object filling in the simple attributes, but skipping any primary + * keys that are defined for the table. + * + * If desired, this method can also make copies of all associated (fkey referrers) + * objects. + * + * @param boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row. + * @return \Subcategory Clone of current object. + * @throws PropelException + */ + public function copy($deepCopy = false) + { + // we use get_class(), because this might be a subclass + $clazz = get_class($this); + $copyObj = new $clazz(); + $this->copyInto($copyObj, $deepCopy); + + return $copyObj; + } + + /** + * Declares an association between this object and a ChildCategory object. + * + * @param ChildCategory $v + * @return $this|\Subcategory The current object (for fluent API support) + * @throws PropelException + */ + public function setCategory(ChildCategory $v = null) + { + if ($v === null) { + $this->setCategoryId(NULL); + } else { + $this->setCategoryId($v->getId()); + } + + $this->aCategory = $v; + + // Add binding for other direction of this n:n relationship. + // If this object has already been added to the ChildCategory object, it will not be re-added. + if ($v !== null) { + $v->addSubcategory($this); + } + + + return $this; + } + + + /** + * Get the associated ChildCategory object + * + * @param ConnectionInterface $con Optional Connection object. + * @return ChildCategory The associated ChildCategory object. + * @throws PropelException + */ + public function getCategory(ConnectionInterface $con = null) + { + if ($this->aCategory === null && ($this->category_id !== null)) { + $this->aCategory = ChildCategoryQuery::create()->findPk($this->category_id, $con); + /* The following can be used additionally to + guarantee the related object contains a reference + to this object. This level of coupling may, however, be + undesirable since it could result in an only partially populated collection + in the referenced object. + $this->aCategory->addSubcategories($this); + */ + } + + return $this->aCategory; + } + + /** + * Clears the current object, sets all attributes to their default values and removes + * outgoing references as well as back-references (from other objects to this one. Results probably in a database + * change of those foreign objects when you call `save` there). + */ + public function clear() + { + if (null !== $this->aCategory) { + $this->aCategory->removeSubcategory($this); + } + $this->id = null; + $this->name = null; + $this->category_id = null; + $this->alreadyInSave = false; + $this->clearAllReferences(); + $this->resetModified(); + $this->setNew(true); + $this->setDeleted(false); + } + + /** + * Resets all references and back-references to other model objects or collections of model objects. + * + * This method is used to reset all php object references (not the actual reference in the database). + * Necessary for object serialisation. + * + * @param boolean $deep Whether to also clear the references on all referrer objects. + */ + public function clearAllReferences($deep = false) + { + if ($deep) { + } // if ($deep) + + $this->aCategory = null; + } + + /** + * Return the string representation of this object + * + * @return string + */ + public function __toString() + { + return (string) $this->exportTo(SubcategoryTableMap::DEFAULT_STRING_FORMAT); + } + + /** + * Code to be run before persisting the object + * @param ConnectionInterface $con + * @return boolean + */ + public function preSave(ConnectionInterface $con = null) + { + if (is_callable('parent::preSave')) { + return parent::preSave($con); + } + return true; + } + + /** + * Code to be run after persisting the object + * @param ConnectionInterface $con + */ + public function postSave(ConnectionInterface $con = null) + { + if (is_callable('parent::postSave')) { + parent::postSave($con); + } + } + + /** + * Code to be run before inserting to database + * @param ConnectionInterface $con + * @return boolean + */ + public function preInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::preInsert')) { + return parent::preInsert($con); + } + return true; + } + + /** + * Code to be run after inserting to database + * @param ConnectionInterface $con + */ + public function postInsert(ConnectionInterface $con = null) + { + if (is_callable('parent::postInsert')) { + parent::postInsert($con); + } + } + + /** + * Code to be run before updating the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::preUpdate')) { + return parent::preUpdate($con); + } + return true; + } + + /** + * Code to be run after updating the object in database + * @param ConnectionInterface $con + */ + public function postUpdate(ConnectionInterface $con = null) + { + if (is_callable('parent::postUpdate')) { + parent::postUpdate($con); + } + } + + /** + * Code to be run before deleting the object in database + * @param ConnectionInterface $con + * @return boolean + */ + public function preDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::preDelete')) { + return parent::preDelete($con); + } + return true; + } + + /** + * Code to be run after deleting the object in database + * @param ConnectionInterface $con + */ + public function postDelete(ConnectionInterface $con = null) + { + if (is_callable('parent::postDelete')) { + parent::postDelete($con); + } + } + + + /** + * Derived method to catches calls to undefined methods. + * + * Provides magic import/export method support (fromXML()/toXML(), fromYAML()/toYAML(), etc.). + * Allows to define default __call() behavior if you overwrite __call() + * + * @param string $name + * @param mixed $params + * + * @return array|string + */ + public function __call($name, $params) + { + if (0 === strpos($name, 'get')) { + $virtualColumn = substr($name, 3); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + + $virtualColumn = lcfirst($virtualColumn); + if ($this->hasVirtualColumn($virtualColumn)) { + return $this->getVirtualColumn($virtualColumn); + } + } + + if (0 === strpos($name, 'from')) { + $format = substr($name, 4); + + return $this->importFrom($format, reset($params)); + } + + if (0 === strpos($name, 'to')) { + $format = substr($name, 2); + $includeLazyLoadColumns = isset($params[0]) ? $params[0] : true; + + return $this->exportTo($format, $includeLazyLoadColumns); + } + + throw new BadMethodCallException(sprintf('Call to undefined method: %s.', $name)); + } + +} diff --git a/api/generated-classes/Base/SubcategoryQuery.php b/api/generated-classes/Base/SubcategoryQuery.php new file mode 100644 index 0000000..e5ff830 --- /dev/null +++ b/api/generated-classes/Base/SubcategoryQuery.php @@ -0,0 +1,520 @@ +setModelAlias($modelAlias); + } + if ($criteria instanceof Criteria) { + $query->mergeWith($criteria); + } + + return $query; + } + + /** + * Find object by primary key. + * Propel uses the instance pool to skip the database if the object exists. + * Go fast if the query is untouched. + * + * + * $obj = $c->findPk(12, $con); + * + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ChildSubcategory|array|mixed the result, formatted by the current formatter + */ + public function findPk($key, ConnectionInterface $con = null) + { + if ($key === null) { + return null; + } + + if ($con === null) { + $con = Propel::getServiceContainer()->getReadConnection(SubcategoryTableMap::DATABASE_NAME); + } + + $this->basePreSelect($con); + + if ( + $this->formatter || $this->modelAlias || $this->with || $this->select + || $this->selectColumns || $this->asColumns || $this->selectModifiers + || $this->map || $this->having || $this->joins + ) { + return $this->findPkComplex($key, $con); + } + + if ((null !== ($obj = SubcategoryTableMap::getInstanceFromPool(null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key)))) { + // the object is already in the instance pool + return $obj; + } + + return $this->findPkSimple($key, $con); + } + + /** + * Find object by primary key using raw SQL to go fast. + * Bypass doSelect() and the object formatter by using generated code. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildSubcategory A model object, or null if the key is not found + */ + protected function findPkSimple($key, ConnectionInterface $con) + { + $sql = 'SELECT id, name, category_id FROM Subcategory WHERE id = :p0'; + try { + $stmt = $con->prepare($sql); + $stmt->bindValue(':p0', $key, PDO::PARAM_INT); + $stmt->execute(); + } catch (Exception $e) { + Propel::log($e->getMessage(), Propel::LOG_ERR); + throw new PropelException(sprintf('Unable to execute SELECT statement [%s]', $sql), 0, $e); + } + $obj = null; + if ($row = $stmt->fetch(\PDO::FETCH_NUM)) { + /** @var ChildSubcategory $obj */ + $obj = new ChildSubcategory(); + $obj->hydrate($row); + SubcategoryTableMap::addInstanceToPool($obj, null === $key || is_scalar($key) || is_callable([$key, '__toString']) ? (string) $key : $key); + } + $stmt->closeCursor(); + + return $obj; + } + + /** + * Find object by primary key. + * + * @param mixed $key Primary key to use for the query + * @param ConnectionInterface $con A connection object + * + * @return ChildSubcategory|array|mixed the result, formatted by the current formatter + */ + protected function findPkComplex($key, ConnectionInterface $con) + { + // As the query uses a PK condition, no limit(1) is necessary. + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKey($key) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->formatOne($dataFetcher); + } + + /** + * Find objects by primary key + * + * $objs = $c->findPks(array(12, 56, 832), $con); + * + * @param array $keys Primary keys to use for the query + * @param ConnectionInterface $con an optional connection object + * + * @return ObjectCollection|array|mixed the list of results, formatted by the current formatter + */ + public function findPks($keys, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getReadConnection($this->getDbName()); + } + $this->basePreSelect($con); + $criteria = $this->isKeepQuery() ? clone $this : $this; + $dataFetcher = $criteria + ->filterByPrimaryKeys($keys) + ->doSelect($con); + + return $criteria->getFormatter()->init($criteria)->format($dataFetcher); + } + + /** + * Filter the query by primary key + * + * @param mixed $key Primary key to use for the query + * + * @return $this|ChildSubcategoryQuery The current query, for fluid interface + */ + public function filterByPrimaryKey($key) + { + + return $this->addUsingAlias(SubcategoryTableMap::COL_ID, $key, Criteria::EQUAL); + } + + /** + * Filter the query by a list of primary keys + * + * @param array $keys The list of primary key to use for the query + * + * @return $this|ChildSubcategoryQuery The current query, for fluid interface + */ + public function filterByPrimaryKeys($keys) + { + + return $this->addUsingAlias(SubcategoryTableMap::COL_ID, $keys, Criteria::IN); + } + + /** + * Filter the query on the id column + * + * Example usage: + * + * $query->filterById(1234); // WHERE id = 1234 + * $query->filterById(array(12, 34)); // WHERE id IN (12, 34) + * $query->filterById(array('min' => 12)); // WHERE id > 12 + * + * + * @param mixed $id The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildSubcategoryQuery The current query, for fluid interface + */ + public function filterById($id = null, $comparison = null) + { + if (is_array($id)) { + $useMinMax = false; + if (isset($id['min'])) { + $this->addUsingAlias(SubcategoryTableMap::COL_ID, $id['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($id['max'])) { + $this->addUsingAlias(SubcategoryTableMap::COL_ID, $id['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(SubcategoryTableMap::COL_ID, $id, $comparison); + } + + /** + * Filter the query on the name column + * + * Example usage: + * + * $query->filterByName('fooValue'); // WHERE name = 'fooValue' + * $query->filterByName('%fooValue%', Criteria::LIKE); // WHERE name LIKE '%fooValue%' + * + * + * @param string $name The value to use as filter. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildSubcategoryQuery The current query, for fluid interface + */ + public function filterByName($name = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($name)) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(SubcategoryTableMap::COL_NAME, $name, $comparison); + } + + /** + * Filter the query on the category_id column + * + * Example usage: + * + * $query->filterByCategoryId(1234); // WHERE category_id = 1234 + * $query->filterByCategoryId(array(12, 34)); // WHERE category_id IN (12, 34) + * $query->filterByCategoryId(array('min' => 12)); // WHERE category_id > 12 + * + * + * @see filterByCategory() + * + * @param mixed $categoryId The value to use as filter. + * Use scalar values for equality. + * Use array values for in_array() equivalent. + * Use associative array('min' => $minValue, 'max' => $maxValue) for intervals. + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return $this|ChildSubcategoryQuery The current query, for fluid interface + */ + public function filterByCategoryId($categoryId = null, $comparison = null) + { + if (is_array($categoryId)) { + $useMinMax = false; + if (isset($categoryId['min'])) { + $this->addUsingAlias(SubcategoryTableMap::COL_CATEGORY_ID, $categoryId['min'], Criteria::GREATER_EQUAL); + $useMinMax = true; + } + if (isset($categoryId['max'])) { + $this->addUsingAlias(SubcategoryTableMap::COL_CATEGORY_ID, $categoryId['max'], Criteria::LESS_EQUAL); + $useMinMax = true; + } + if ($useMinMax) { + return $this; + } + if (null === $comparison) { + $comparison = Criteria::IN; + } + } + + return $this->addUsingAlias(SubcategoryTableMap::COL_CATEGORY_ID, $categoryId, $comparison); + } + + /** + * Filter the query by a related \Category object + * + * @param \Category|ObjectCollection $category The related object(s) to use as filter + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @throws \Propel\Runtime\Exception\PropelException + * + * @return ChildSubcategoryQuery The current query, for fluid interface + */ + public function filterByCategory($category, $comparison = null) + { + if ($category instanceof \Category) { + return $this + ->addUsingAlias(SubcategoryTableMap::COL_CATEGORY_ID, $category->getId(), $comparison); + } elseif ($category instanceof ObjectCollection) { + if (null === $comparison) { + $comparison = Criteria::IN; + } + + return $this + ->addUsingAlias(SubcategoryTableMap::COL_CATEGORY_ID, $category->toKeyValue('PrimaryKey', 'Id'), $comparison); + } else { + throw new PropelException('filterByCategory() only accepts arguments of type \Category or Collection'); + } + } + + /** + * Adds a JOIN clause to the query using the Category relation + * + * @param string $relationAlias optional alias for the relation + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return $this|ChildSubcategoryQuery The current query, for fluid interface + */ + public function joinCategory($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + $tableMap = $this->getTableMap(); + $relationMap = $tableMap->getRelation('Category'); + + // create a ModelJoin object for this join + $join = new ModelJoin(); + $join->setJoinType($joinType); + $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); + if ($previousJoin = $this->getPreviousJoin()) { + $join->setPreviousJoin($previousJoin); + } + + // add the ModelJoin to the current object + if ($relationAlias) { + $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); + $this->addJoinObject($join, $relationAlias); + } else { + $this->addJoinObject($join, 'Category'); + } + + return $this; + } + + /** + * Use the Category relation Category object + * + * @see useQuery() + * + * @param string $relationAlias optional alias for the relation, + * to be used as main alias in the secondary query + * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' + * + * @return \CategoryQuery A secondary query class using the current class as primary query + */ + public function useCategoryQuery($relationAlias = null, $joinType = Criteria::LEFT_JOIN) + { + return $this + ->joinCategory($relationAlias, $joinType) + ->useQuery($relationAlias ? $relationAlias : 'Category', '\CategoryQuery'); + } + + /** + * Exclude object from result + * + * @param ChildSubcategory $subcategory Object to remove from the list of results + * + * @return $this|ChildSubcategoryQuery The current query, for fluid interface + */ + public function prune($subcategory = null) + { + if ($subcategory) { + $this->addUsingAlias(SubcategoryTableMap::COL_ID, $subcategory->getId(), Criteria::NOT_EQUAL); + } + + return $this; + } + + /** + * Deletes all rows from the Subcategory table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public function doDeleteAll(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(SubcategoryTableMap::DATABASE_NAME); + } + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con) { + $affectedRows = 0; // initialize var to track total num of affected rows + $affectedRows += parent::doDeleteAll($con); + // Because this db requires some delete cascade/set null emulation, we have to + // clear the cached instance *after* the emulation has happened (since + // instances get re-added by the select statement contained therein). + SubcategoryTableMap::clearInstancePool(); + SubcategoryTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + + /** + * Performs a DELETE on the database based on the current ModelCriteria + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public function delete(ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(SubcategoryTableMap::DATABASE_NAME); + } + + $criteria = $this; + + // Set the correct dbName + $criteria->setDbName(SubcategoryTableMap::DATABASE_NAME); + + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, etc. + return $con->transaction(function () use ($con, $criteria) { + $affectedRows = 0; // initialize var to track total num of affected rows + + SubcategoryTableMap::removeInstanceFromPool($criteria); + + $affectedRows += ModelCriteria::delete($con); + SubcategoryTableMap::clearRelatedInstancePool(); + + return $affectedRows; + }); + } + +} // SubcategoryQuery diff --git a/api/generated-classes/Category.php b/api/generated-classes/Category.php new file mode 100644 index 0000000..90c4ffb --- /dev/null +++ b/api/generated-classes/Category.php @@ -0,0 +1,18 @@ + array('Id', 'Units', 'Threshold', 'Operator', 'CategoryId', 'RankId', 'NutrientId', ), + self::TYPE_CAMELNAME => array('id', 'units', 'threshold', 'operator', 'categoryId', 'rankId', 'nutrientId', ), + self::TYPE_COLNAME => array(CategoryRankNutrientTableMap::COL_ID, CategoryRankNutrientTableMap::COL_UNITS, CategoryRankNutrientTableMap::COL_THRESHOLD, CategoryRankNutrientTableMap::COL_OPERATOR, CategoryRankNutrientTableMap::COL_CATEGORY_ID, CategoryRankNutrientTableMap::COL_RANK_ID, CategoryRankNutrientTableMap::COL_NUTRIENT_ID, ), + self::TYPE_FIELDNAME => array('id', 'units', 'threshold', 'operator', 'category_id', 'rank_id', 'nutrient_id', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, ) + ); + + /** + * holds an array of keys for quick access to the fieldnames array + * + * first dimension keys are the type constants + * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 + */ + protected static $fieldKeys = array ( + self::TYPE_PHPNAME => array('Id' => 0, 'Units' => 1, 'Threshold' => 2, 'Operator' => 3, 'CategoryId' => 4, 'RankId' => 5, 'NutrientId' => 6, ), + self::TYPE_CAMELNAME => array('id' => 0, 'units' => 1, 'threshold' => 2, 'operator' => 3, 'categoryId' => 4, 'rankId' => 5, 'nutrientId' => 6, ), + self::TYPE_COLNAME => array(CategoryRankNutrientTableMap::COL_ID => 0, CategoryRankNutrientTableMap::COL_UNITS => 1, CategoryRankNutrientTableMap::COL_THRESHOLD => 2, CategoryRankNutrientTableMap::COL_OPERATOR => 3, CategoryRankNutrientTableMap::COL_CATEGORY_ID => 4, CategoryRankNutrientTableMap::COL_RANK_ID => 5, CategoryRankNutrientTableMap::COL_NUTRIENT_ID => 6, ), + self::TYPE_FIELDNAME => array('id' => 0, 'units' => 1, 'threshold' => 2, 'operator' => 3, 'category_id' => 4, 'rank_id' => 5, 'nutrient_id' => 6, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, ) + ); + + /** + * Initialize the table attributes and columns + * Relations are not initialized by this method since they are lazy loaded + * + * @return void + * @throws PropelException + */ + public function initialize() + { + // attributes + $this->setName('Category_Rank_Nutrient'); + $this->setPhpName('CategoryRankNutrient'); + $this->setIdentifierQuoting(false); + $this->setClassName('\\CategoryRankNutrient'); + $this->setPackage(''); + $this->setUseIdGenerator(true); + // columns + $this->addPrimaryKey('id', 'Id', 'INTEGER', true, null, null); + $this->addColumn('units', 'Units', 'VARCHAR', false, 128, null); + $this->addColumn('threshold', 'Threshold', 'FLOAT', true, null, null); + $this->addColumn('operator', 'Operator', 'VARCHAR', true, 10, null); + $this->addForeignKey('category_id', 'CategoryId', 'INTEGER', 'Category', 'id', true, null, null); + $this->addForeignKey('rank_id', 'RankId', 'INTEGER', 'Rank', 'id', true, null, null); + $this->addForeignKey('nutrient_id', 'NutrientId', 'INTEGER', 'Nutrient', 'id', true, null, null); + } // initialize() + + /** + * Build the RelationMap objects for this table relationships + */ + public function buildRelations() + { + $this->addRelation('Nutrient', '\\Nutrient', RelationMap::MANY_TO_ONE, array ( + 0 => + array ( + 0 => ':nutrient_id', + 1 => ':id', + ), +), 'CASCADE', 'CASCADE', null, false); + $this->addRelation('Category', '\\Category', RelationMap::MANY_TO_ONE, array ( + 0 => + array ( + 0 => ':category_id', + 1 => ':id', + ), +), 'CASCADE', 'CASCADE', null, false); + $this->addRelation('Rank', '\\Rank', RelationMap::MANY_TO_ONE, array ( + 0 => + array ( + 0 => ':rank_id', + 1 => ':id', + ), +), 'CASCADE', 'CASCADE', null, false); + } // buildRelations() + + /** + * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. + * + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, a serialize()d version of the primary key will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return string The primary key hash of the row + */ + public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + // If the PK cannot be derived from the row, return NULL. + if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null) { + return null; + } + + return null === $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] || is_scalar($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]) || is_callable([$row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], '__toString']) ? (string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] : $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + } + + /** + * Retrieves the primary key from the DB resultset row + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, an array of the primary key columns will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return mixed The primary key of the row + */ + public static function getPrimaryKeyFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + return (int) $row[ + $indexType == TableMap::TYPE_NUM + ? 0 + $offset + : self::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType) + ]; + } + + /** + * The class that the tableMap will make instances of. + * + * If $withPrefix is true, the returned path + * uses a dot-path notation which is translated into a path + * relative to a location on the PHP include_path. + * (e.g. path.to.MyClass -> 'path/to/MyClass.php') + * + * @param boolean $withPrefix Whether or not to return the path with the class name + * @return string path.to.ClassName + */ + public static function getOMClass($withPrefix = true) + { + return $withPrefix ? CategoryRankNutrientTableMap::CLASS_DEFAULT : CategoryRankNutrientTableMap::OM_CLASS; + } + + /** + * Populates an object of the default type or an object that inherit from the default. + * + * @param array $row row returned by DataFetcher->fetch(). + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + * @return array (CategoryRankNutrient object, last column rank) + */ + public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + $key = CategoryRankNutrientTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = CategoryRankNutrientTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, $offset, true); // rehydrate + $col = $offset + CategoryRankNutrientTableMap::NUM_HYDRATE_COLUMNS; + } else { + $cls = CategoryRankNutrientTableMap::OM_CLASS; + /** @var CategoryRankNutrient $obj */ + $obj = new $cls(); + $col = $obj->hydrate($row, $offset, false, $indexType); + CategoryRankNutrientTableMap::addInstanceToPool($obj, $key); + } + + return array($obj, $col); + } + + /** + * The returned array will contain objects of the default type or + * objects that inherit from the default. + * + * @param DataFetcherInterface $dataFetcher + * @return array + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function populateObjects(DataFetcherInterface $dataFetcher) + { + $results = array(); + + // set the class once to avoid overhead in the loop + $cls = static::getOMClass(false); + // populate the object(s) + while ($row = $dataFetcher->fetch()) { + $key = CategoryRankNutrientTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = CategoryRankNutrientTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, 0, true); // rehydrate + $results[] = $obj; + } else { + /** @var CategoryRankNutrient $obj */ + $obj = new $cls(); + $obj->hydrate($row); + $results[] = $obj; + CategoryRankNutrientTableMap::addInstanceToPool($obj, $key); + } // if key exists + } + + return $results; + } + /** + * Add all the columns needed to create a new object. + * + * Note: any columns that were marked with lazyLoad="true" in the + * XML schema will not be added to the select list and only loaded + * on demand. + * + * @param Criteria $criteria object containing the columns to add. + * @param string $alias optional table alias + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function addSelectColumns(Criteria $criteria, $alias = null) + { + if (null === $alias) { + $criteria->addSelectColumn(CategoryRankNutrientTableMap::COL_ID); + $criteria->addSelectColumn(CategoryRankNutrientTableMap::COL_UNITS); + $criteria->addSelectColumn(CategoryRankNutrientTableMap::COL_THRESHOLD); + $criteria->addSelectColumn(CategoryRankNutrientTableMap::COL_OPERATOR); + $criteria->addSelectColumn(CategoryRankNutrientTableMap::COL_CATEGORY_ID); + $criteria->addSelectColumn(CategoryRankNutrientTableMap::COL_RANK_ID); + $criteria->addSelectColumn(CategoryRankNutrientTableMap::COL_NUTRIENT_ID); + } else { + $criteria->addSelectColumn($alias . '.id'); + $criteria->addSelectColumn($alias . '.units'); + $criteria->addSelectColumn($alias . '.threshold'); + $criteria->addSelectColumn($alias . '.operator'); + $criteria->addSelectColumn($alias . '.category_id'); + $criteria->addSelectColumn($alias . '.rank_id'); + $criteria->addSelectColumn($alias . '.nutrient_id'); + } + } + + /** + * Returns the TableMap related to this object. + * This method is not needed for general use but a specific application could have a need. + * @return TableMap + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function getTableMap() + { + return Propel::getServiceContainer()->getDatabaseMap(CategoryRankNutrientTableMap::DATABASE_NAME)->getTable(CategoryRankNutrientTableMap::TABLE_NAME); + } + + /** + * Add a TableMap instance to the database for this tableMap class. + */ + public static function buildTableMap() + { + $dbMap = Propel::getServiceContainer()->getDatabaseMap(CategoryRankNutrientTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(CategoryRankNutrientTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new CategoryRankNutrientTableMap()); + } + } + + /** + * Performs a DELETE on the database, given a CategoryRankNutrient or Criteria object OR a primary key value. + * + * @param mixed $values Criteria or CategoryRankNutrient object or primary key or array of primary keys + * which is used to create the DELETE statement + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doDelete($values, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryRankNutrientTableMap::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + // rename for clarity + $criteria = $values; + } elseif ($values instanceof \CategoryRankNutrient) { // it's a model object + // create criteria based on pk values + $criteria = $values->buildPkeyCriteria(); + } else { // it's a primary key, or an array of pks + $criteria = new Criteria(CategoryRankNutrientTableMap::DATABASE_NAME); + $criteria->add(CategoryRankNutrientTableMap::COL_ID, (array) $values, Criteria::IN); + } + + $query = CategoryRankNutrientQuery::create()->mergeWith($criteria); + + if ($values instanceof Criteria) { + CategoryRankNutrientTableMap::clearInstancePool(); + } elseif (!is_object($values)) { // it's a primary key, or an array of pks + foreach ((array) $values as $singleval) { + CategoryRankNutrientTableMap::removeInstanceFromPool($singleval); + } + } + + return $query->delete($con); + } + + /** + * Deletes all rows from the Category_Rank_Nutrient table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public static function doDeleteAll(ConnectionInterface $con = null) + { + return CategoryRankNutrientQuery::create()->doDeleteAll($con); + } + + /** + * Performs an INSERT on the database, given a CategoryRankNutrient or Criteria object. + * + * @param mixed $criteria Criteria or CategoryRankNutrient object containing data that is used to create the INSERT statement. + * @param ConnectionInterface $con the ConnectionInterface connection to use + * @return mixed The new primary key. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doInsert($criteria, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryRankNutrientTableMap::DATABASE_NAME); + } + + if ($criteria instanceof Criteria) { + $criteria = clone $criteria; // rename for clarity + } else { + $criteria = $criteria->buildCriteria(); // build Criteria from CategoryRankNutrient object + } + + if ($criteria->containsKey(CategoryRankNutrientTableMap::COL_ID) && $criteria->keyContainsValue(CategoryRankNutrientTableMap::COL_ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.CategoryRankNutrientTableMap::COL_ID.')'); + } + + + // Set the correct dbName + $query = CategoryRankNutrientQuery::create()->mergeWith($criteria); + + // use transaction because $criteria could contain info + // for more than one table (I guess, conceivably) + return $con->transaction(function () use ($con, $query) { + return $query->doInsert($con); + }); + } + +} // CategoryRankNutrientTableMap +// This is the static code needed to register the TableMap for this table with the main Propel class. +// +CategoryRankNutrientTableMap::buildTableMap(); diff --git a/api/generated-classes/Map/CategoryTableMap.php b/api/generated-classes/Map/CategoryTableMap.php new file mode 100644 index 0000000..70d22ba --- /dev/null +++ b/api/generated-classes/Map/CategoryTableMap.php @@ -0,0 +1,440 @@ + array('Id', 'Name', ), + self::TYPE_CAMELNAME => array('id', 'name', ), + self::TYPE_COLNAME => array(CategoryTableMap::COL_ID, CategoryTableMap::COL_NAME, ), + self::TYPE_FIELDNAME => array('id', 'name', ), + self::TYPE_NUM => array(0, 1, ) + ); + + /** + * holds an array of keys for quick access to the fieldnames array + * + * first dimension keys are the type constants + * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 + */ + protected static $fieldKeys = array ( + self::TYPE_PHPNAME => array('Id' => 0, 'Name' => 1, ), + self::TYPE_CAMELNAME => array('id' => 0, 'name' => 1, ), + self::TYPE_COLNAME => array(CategoryTableMap::COL_ID => 0, CategoryTableMap::COL_NAME => 1, ), + self::TYPE_FIELDNAME => array('id' => 0, 'name' => 1, ), + self::TYPE_NUM => array(0, 1, ) + ); + + /** + * Initialize the table attributes and columns + * Relations are not initialized by this method since they are lazy loaded + * + * @return void + * @throws PropelException + */ + public function initialize() + { + // attributes + $this->setName('Category'); + $this->setPhpName('Category'); + $this->setIdentifierQuoting(false); + $this->setClassName('\\Category'); + $this->setPackage(''); + $this->setUseIdGenerator(true); + // columns + $this->addPrimaryKey('id', 'Id', 'INTEGER', true, null, null); + $this->addColumn('name', 'Name', 'VARCHAR', true, 128, null); + } // initialize() + + /** + * Build the RelationMap objects for this table relationships + */ + public function buildRelations() + { + $this->addRelation('CategoryRankNutrient', '\\CategoryRankNutrient', RelationMap::ONE_TO_MANY, array ( + 0 => + array ( + 0 => ':category_id', + 1 => ':id', + ), +), 'CASCADE', 'CASCADE', 'CategoryRankNutrients', false); + $this->addRelation('Food', '\\Food', RelationMap::ONE_TO_MANY, array ( + 0 => + array ( + 0 => ':category_id', + 1 => ':id', + ), +), 'SET NULL', 'CASCADE', 'Foods', false); + $this->addRelation('Subcategory', '\\Subcategory', RelationMap::ONE_TO_MANY, array ( + 0 => + array ( + 0 => ':category_id', + 1 => ':id', + ), +), 'SET NULL', 'CASCADE', 'Subcategories', false); + } // buildRelations() + /** + * Method to invalidate the instance pool of all tables related to Category * by a foreign key with ON DELETE CASCADE + */ + public static function clearRelatedInstancePool() + { + // Invalidate objects in related instance pools, + // since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule. + CategoryRankNutrientTableMap::clearInstancePool(); + FoodTableMap::clearInstancePool(); + SubcategoryTableMap::clearInstancePool(); + } + + /** + * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. + * + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, a serialize()d version of the primary key will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return string The primary key hash of the row + */ + public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + // If the PK cannot be derived from the row, return NULL. + if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null) { + return null; + } + + return null === $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] || is_scalar($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]) || is_callable([$row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], '__toString']) ? (string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] : $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + } + + /** + * Retrieves the primary key from the DB resultset row + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, an array of the primary key columns will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return mixed The primary key of the row + */ + public static function getPrimaryKeyFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + return (int) $row[ + $indexType == TableMap::TYPE_NUM + ? 0 + $offset + : self::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType) + ]; + } + + /** + * The class that the tableMap will make instances of. + * + * If $withPrefix is true, the returned path + * uses a dot-path notation which is translated into a path + * relative to a location on the PHP include_path. + * (e.g. path.to.MyClass -> 'path/to/MyClass.php') + * + * @param boolean $withPrefix Whether or not to return the path with the class name + * @return string path.to.ClassName + */ + public static function getOMClass($withPrefix = true) + { + return $withPrefix ? CategoryTableMap::CLASS_DEFAULT : CategoryTableMap::OM_CLASS; + } + + /** + * Populates an object of the default type or an object that inherit from the default. + * + * @param array $row row returned by DataFetcher->fetch(). + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + * @return array (Category object, last column rank) + */ + public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + $key = CategoryTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = CategoryTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, $offset, true); // rehydrate + $col = $offset + CategoryTableMap::NUM_HYDRATE_COLUMNS; + } else { + $cls = CategoryTableMap::OM_CLASS; + /** @var Category $obj */ + $obj = new $cls(); + $col = $obj->hydrate($row, $offset, false, $indexType); + CategoryTableMap::addInstanceToPool($obj, $key); + } + + return array($obj, $col); + } + + /** + * The returned array will contain objects of the default type or + * objects that inherit from the default. + * + * @param DataFetcherInterface $dataFetcher + * @return array + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function populateObjects(DataFetcherInterface $dataFetcher) + { + $results = array(); + + // set the class once to avoid overhead in the loop + $cls = static::getOMClass(false); + // populate the object(s) + while ($row = $dataFetcher->fetch()) { + $key = CategoryTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = CategoryTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, 0, true); // rehydrate + $results[] = $obj; + } else { + /** @var Category $obj */ + $obj = new $cls(); + $obj->hydrate($row); + $results[] = $obj; + CategoryTableMap::addInstanceToPool($obj, $key); + } // if key exists + } + + return $results; + } + /** + * Add all the columns needed to create a new object. + * + * Note: any columns that were marked with lazyLoad="true" in the + * XML schema will not be added to the select list and only loaded + * on demand. + * + * @param Criteria $criteria object containing the columns to add. + * @param string $alias optional table alias + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function addSelectColumns(Criteria $criteria, $alias = null) + { + if (null === $alias) { + $criteria->addSelectColumn(CategoryTableMap::COL_ID); + $criteria->addSelectColumn(CategoryTableMap::COL_NAME); + } else { + $criteria->addSelectColumn($alias . '.id'); + $criteria->addSelectColumn($alias . '.name'); + } + } + + /** + * Returns the TableMap related to this object. + * This method is not needed for general use but a specific application could have a need. + * @return TableMap + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function getTableMap() + { + return Propel::getServiceContainer()->getDatabaseMap(CategoryTableMap::DATABASE_NAME)->getTable(CategoryTableMap::TABLE_NAME); + } + + /** + * Add a TableMap instance to the database for this tableMap class. + */ + public static function buildTableMap() + { + $dbMap = Propel::getServiceContainer()->getDatabaseMap(CategoryTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(CategoryTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new CategoryTableMap()); + } + } + + /** + * Performs a DELETE on the database, given a Category or Criteria object OR a primary key value. + * + * @param mixed $values Criteria or Category object or primary key or array of primary keys + * which is used to create the DELETE statement + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doDelete($values, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryTableMap::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + // rename for clarity + $criteria = $values; + } elseif ($values instanceof \Category) { // it's a model object + // create criteria based on pk values + $criteria = $values->buildPkeyCriteria(); + } else { // it's a primary key, or an array of pks + $criteria = new Criteria(CategoryTableMap::DATABASE_NAME); + $criteria->add(CategoryTableMap::COL_ID, (array) $values, Criteria::IN); + } + + $query = CategoryQuery::create()->mergeWith($criteria); + + if ($values instanceof Criteria) { + CategoryTableMap::clearInstancePool(); + } elseif (!is_object($values)) { // it's a primary key, or an array of pks + foreach ((array) $values as $singleval) { + CategoryTableMap::removeInstanceFromPool($singleval); + } + } + + return $query->delete($con); + } + + /** + * Deletes all rows from the Category table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public static function doDeleteAll(ConnectionInterface $con = null) + { + return CategoryQuery::create()->doDeleteAll($con); + } + + /** + * Performs an INSERT on the database, given a Category or Criteria object. + * + * @param mixed $criteria Criteria or Category object containing data that is used to create the INSERT statement. + * @param ConnectionInterface $con the ConnectionInterface connection to use + * @return mixed The new primary key. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doInsert($criteria, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(CategoryTableMap::DATABASE_NAME); + } + + if ($criteria instanceof Criteria) { + $criteria = clone $criteria; // rename for clarity + } else { + $criteria = $criteria->buildCriteria(); // build Criteria from Category object + } + + if ($criteria->containsKey(CategoryTableMap::COL_ID) && $criteria->keyContainsValue(CategoryTableMap::COL_ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.CategoryTableMap::COL_ID.')'); + } + + + // Set the correct dbName + $query = CategoryQuery::create()->mergeWith($criteria); + + // use transaction because $criteria could contain info + // for more than one table (I guess, conceivably) + return $con->transaction(function () use ($con, $query) { + return $query->doInsert($con); + }); + } + +} // CategoryTableMap +// This is the static code needed to register the TableMap for this table with the main Propel class. +// +CategoryTableMap::buildTableMap(); diff --git a/api/generated-classes/Map/FoodTableMap.php b/api/generated-classes/Map/FoodTableMap.php new file mode 100644 index 0000000..cb0c787 --- /dev/null +++ b/api/generated-classes/Map/FoodTableMap.php @@ -0,0 +1,446 @@ + array('Id', 'Name', 'Barcode', 'RankId', 'CategoryId', ), + self::TYPE_CAMELNAME => array('id', 'name', 'barcode', 'rankId', 'categoryId', ), + self::TYPE_COLNAME => array(FoodTableMap::COL_ID, FoodTableMap::COL_NAME, FoodTableMap::COL_BARCODE, FoodTableMap::COL_RANK_ID, FoodTableMap::COL_CATEGORY_ID, ), + self::TYPE_FIELDNAME => array('id', 'name', 'barcode', 'rank_id', 'category_id', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, ) + ); + + /** + * holds an array of keys for quick access to the fieldnames array + * + * first dimension keys are the type constants + * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 + */ + protected static $fieldKeys = array ( + self::TYPE_PHPNAME => array('Id' => 0, 'Name' => 1, 'Barcode' => 2, 'RankId' => 3, 'CategoryId' => 4, ), + self::TYPE_CAMELNAME => array('id' => 0, 'name' => 1, 'barcode' => 2, 'rankId' => 3, 'categoryId' => 4, ), + self::TYPE_COLNAME => array(FoodTableMap::COL_ID => 0, FoodTableMap::COL_NAME => 1, FoodTableMap::COL_BARCODE => 2, FoodTableMap::COL_RANK_ID => 3, FoodTableMap::COL_CATEGORY_ID => 4, ), + self::TYPE_FIELDNAME => array('id' => 0, 'name' => 1, 'barcode' => 2, 'rank_id' => 3, 'category_id' => 4, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, ) + ); + + /** + * Initialize the table attributes and columns + * Relations are not initialized by this method since they are lazy loaded + * + * @return void + * @throws PropelException + */ + public function initialize() + { + // attributes + $this->setName('Food'); + $this->setPhpName('Food'); + $this->setIdentifierQuoting(false); + $this->setClassName('\\Food'); + $this->setPackage(''); + $this->setUseIdGenerator(true); + // columns + $this->addPrimaryKey('id', 'Id', 'INTEGER', true, null, null); + $this->addColumn('name', 'Name', 'VARCHAR', true, 255, null); + $this->addColumn('barcode', 'Barcode', 'INTEGER', true, null, null); + $this->addForeignKey('rank_id', 'RankId', 'INTEGER', 'Rank', 'id', false, null, null); + $this->addForeignKey('category_id', 'CategoryId', 'INTEGER', 'Category', 'id', false, null, null); + } // initialize() + + /** + * Build the RelationMap objects for this table relationships + */ + public function buildRelations() + { + $this->addRelation('Category', '\\Category', RelationMap::MANY_TO_ONE, array ( + 0 => + array ( + 0 => ':category_id', + 1 => ':id', + ), +), 'SET NULL', 'CASCADE', null, false); + $this->addRelation('Rank', '\\Rank', RelationMap::MANY_TO_ONE, array ( + 0 => + array ( + 0 => ':rank_id', + 1 => ':id', + ), +), 'SET NULL', 'CASCADE', null, false); + } // buildRelations() + + /** + * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. + * + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, a serialize()d version of the primary key will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return string The primary key hash of the row + */ + public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + // If the PK cannot be derived from the row, return NULL. + if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null) { + return null; + } + + return null === $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] || is_scalar($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]) || is_callable([$row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], '__toString']) ? (string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] : $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + } + + /** + * Retrieves the primary key from the DB resultset row + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, an array of the primary key columns will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return mixed The primary key of the row + */ + public static function getPrimaryKeyFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + return (int) $row[ + $indexType == TableMap::TYPE_NUM + ? 0 + $offset + : self::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType) + ]; + } + + /** + * The class that the tableMap will make instances of. + * + * If $withPrefix is true, the returned path + * uses a dot-path notation which is translated into a path + * relative to a location on the PHP include_path. + * (e.g. path.to.MyClass -> 'path/to/MyClass.php') + * + * @param boolean $withPrefix Whether or not to return the path with the class name + * @return string path.to.ClassName + */ + public static function getOMClass($withPrefix = true) + { + return $withPrefix ? FoodTableMap::CLASS_DEFAULT : FoodTableMap::OM_CLASS; + } + + /** + * Populates an object of the default type or an object that inherit from the default. + * + * @param array $row row returned by DataFetcher->fetch(). + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + * @return array (Food object, last column rank) + */ + public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + $key = FoodTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = FoodTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, $offset, true); // rehydrate + $col = $offset + FoodTableMap::NUM_HYDRATE_COLUMNS; + } else { + $cls = FoodTableMap::OM_CLASS; + /** @var Food $obj */ + $obj = new $cls(); + $col = $obj->hydrate($row, $offset, false, $indexType); + FoodTableMap::addInstanceToPool($obj, $key); + } + + return array($obj, $col); + } + + /** + * The returned array will contain objects of the default type or + * objects that inherit from the default. + * + * @param DataFetcherInterface $dataFetcher + * @return array + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function populateObjects(DataFetcherInterface $dataFetcher) + { + $results = array(); + + // set the class once to avoid overhead in the loop + $cls = static::getOMClass(false); + // populate the object(s) + while ($row = $dataFetcher->fetch()) { + $key = FoodTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = FoodTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, 0, true); // rehydrate + $results[] = $obj; + } else { + /** @var Food $obj */ + $obj = new $cls(); + $obj->hydrate($row); + $results[] = $obj; + FoodTableMap::addInstanceToPool($obj, $key); + } // if key exists + } + + return $results; + } + /** + * Add all the columns needed to create a new object. + * + * Note: any columns that were marked with lazyLoad="true" in the + * XML schema will not be added to the select list and only loaded + * on demand. + * + * @param Criteria $criteria object containing the columns to add. + * @param string $alias optional table alias + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function addSelectColumns(Criteria $criteria, $alias = null) + { + if (null === $alias) { + $criteria->addSelectColumn(FoodTableMap::COL_ID); + $criteria->addSelectColumn(FoodTableMap::COL_NAME); + $criteria->addSelectColumn(FoodTableMap::COL_BARCODE); + $criteria->addSelectColumn(FoodTableMap::COL_RANK_ID); + $criteria->addSelectColumn(FoodTableMap::COL_CATEGORY_ID); + } else { + $criteria->addSelectColumn($alias . '.id'); + $criteria->addSelectColumn($alias . '.name'); + $criteria->addSelectColumn($alias . '.barcode'); + $criteria->addSelectColumn($alias . '.rank_id'); + $criteria->addSelectColumn($alias . '.category_id'); + } + } + + /** + * Returns the TableMap related to this object. + * This method is not needed for general use but a specific application could have a need. + * @return TableMap + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function getTableMap() + { + return Propel::getServiceContainer()->getDatabaseMap(FoodTableMap::DATABASE_NAME)->getTable(FoodTableMap::TABLE_NAME); + } + + /** + * Add a TableMap instance to the database for this tableMap class. + */ + public static function buildTableMap() + { + $dbMap = Propel::getServiceContainer()->getDatabaseMap(FoodTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(FoodTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new FoodTableMap()); + } + } + + /** + * Performs a DELETE on the database, given a Food or Criteria object OR a primary key value. + * + * @param mixed $values Criteria or Food object or primary key or array of primary keys + * which is used to create the DELETE statement + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doDelete($values, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(FoodTableMap::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + // rename for clarity + $criteria = $values; + } elseif ($values instanceof \Food) { // it's a model object + // create criteria based on pk values + $criteria = $values->buildPkeyCriteria(); + } else { // it's a primary key, or an array of pks + $criteria = new Criteria(FoodTableMap::DATABASE_NAME); + $criteria->add(FoodTableMap::COL_ID, (array) $values, Criteria::IN); + } + + $query = FoodQuery::create()->mergeWith($criteria); + + if ($values instanceof Criteria) { + FoodTableMap::clearInstancePool(); + } elseif (!is_object($values)) { // it's a primary key, or an array of pks + foreach ((array) $values as $singleval) { + FoodTableMap::removeInstanceFromPool($singleval); + } + } + + return $query->delete($con); + } + + /** + * Deletes all rows from the Food table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public static function doDeleteAll(ConnectionInterface $con = null) + { + return FoodQuery::create()->doDeleteAll($con); + } + + /** + * Performs an INSERT on the database, given a Food or Criteria object. + * + * @param mixed $criteria Criteria or Food object containing data that is used to create the INSERT statement. + * @param ConnectionInterface $con the ConnectionInterface connection to use + * @return mixed The new primary key. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doInsert($criteria, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(FoodTableMap::DATABASE_NAME); + } + + if ($criteria instanceof Criteria) { + $criteria = clone $criteria; // rename for clarity + } else { + $criteria = $criteria->buildCriteria(); // build Criteria from Food object + } + + if ($criteria->containsKey(FoodTableMap::COL_ID) && $criteria->keyContainsValue(FoodTableMap::COL_ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.FoodTableMap::COL_ID.')'); + } + + + // Set the correct dbName + $query = FoodQuery::create()->mergeWith($criteria); + + // use transaction because $criteria could contain info + // for more than one table (I guess, conceivably) + return $con->transaction(function () use ($con, $query) { + return $query->doInsert($con); + }); + } + +} // FoodTableMap +// This is the static code needed to register the TableMap for this table with the main Propel class. +// +FoodTableMap::buildTableMap(); diff --git a/api/generated-classes/Map/NutrientTableMap.php b/api/generated-classes/Map/NutrientTableMap.php new file mode 100644 index 0000000..25adea2 --- /dev/null +++ b/api/generated-classes/Map/NutrientTableMap.php @@ -0,0 +1,424 @@ + array('Id', 'Name', ), + self::TYPE_CAMELNAME => array('id', 'name', ), + self::TYPE_COLNAME => array(NutrientTableMap::COL_ID, NutrientTableMap::COL_NAME, ), + self::TYPE_FIELDNAME => array('id', 'name', ), + self::TYPE_NUM => array(0, 1, ) + ); + + /** + * holds an array of keys for quick access to the fieldnames array + * + * first dimension keys are the type constants + * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 + */ + protected static $fieldKeys = array ( + self::TYPE_PHPNAME => array('Id' => 0, 'Name' => 1, ), + self::TYPE_CAMELNAME => array('id' => 0, 'name' => 1, ), + self::TYPE_COLNAME => array(NutrientTableMap::COL_ID => 0, NutrientTableMap::COL_NAME => 1, ), + self::TYPE_FIELDNAME => array('id' => 0, 'name' => 1, ), + self::TYPE_NUM => array(0, 1, ) + ); + + /** + * Initialize the table attributes and columns + * Relations are not initialized by this method since they are lazy loaded + * + * @return void + * @throws PropelException + */ + public function initialize() + { + // attributes + $this->setName('Nutrient'); + $this->setPhpName('Nutrient'); + $this->setIdentifierQuoting(false); + $this->setClassName('\\Nutrient'); + $this->setPackage(''); + $this->setUseIdGenerator(true); + // columns + $this->addPrimaryKey('id', 'Id', 'INTEGER', true, null, null); + $this->addColumn('name', 'Name', 'VARCHAR', true, 255, null); + } // initialize() + + /** + * Build the RelationMap objects for this table relationships + */ + public function buildRelations() + { + $this->addRelation('CategoryRankNutrient', '\\CategoryRankNutrient', RelationMap::ONE_TO_MANY, array ( + 0 => + array ( + 0 => ':nutrient_id', + 1 => ':id', + ), +), 'CASCADE', 'CASCADE', 'CategoryRankNutrients', false); + } // buildRelations() + /** + * Method to invalidate the instance pool of all tables related to Nutrient * by a foreign key with ON DELETE CASCADE + */ + public static function clearRelatedInstancePool() + { + // Invalidate objects in related instance pools, + // since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule. + CategoryRankNutrientTableMap::clearInstancePool(); + } + + /** + * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. + * + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, a serialize()d version of the primary key will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return string The primary key hash of the row + */ + public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + // If the PK cannot be derived from the row, return NULL. + if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null) { + return null; + } + + return null === $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] || is_scalar($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]) || is_callable([$row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], '__toString']) ? (string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] : $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + } + + /** + * Retrieves the primary key from the DB resultset row + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, an array of the primary key columns will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return mixed The primary key of the row + */ + public static function getPrimaryKeyFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + return (int) $row[ + $indexType == TableMap::TYPE_NUM + ? 0 + $offset + : self::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType) + ]; + } + + /** + * The class that the tableMap will make instances of. + * + * If $withPrefix is true, the returned path + * uses a dot-path notation which is translated into a path + * relative to a location on the PHP include_path. + * (e.g. path.to.MyClass -> 'path/to/MyClass.php') + * + * @param boolean $withPrefix Whether or not to return the path with the class name + * @return string path.to.ClassName + */ + public static function getOMClass($withPrefix = true) + { + return $withPrefix ? NutrientTableMap::CLASS_DEFAULT : NutrientTableMap::OM_CLASS; + } + + /** + * Populates an object of the default type or an object that inherit from the default. + * + * @param array $row row returned by DataFetcher->fetch(). + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + * @return array (Nutrient object, last column rank) + */ + public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + $key = NutrientTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = NutrientTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, $offset, true); // rehydrate + $col = $offset + NutrientTableMap::NUM_HYDRATE_COLUMNS; + } else { + $cls = NutrientTableMap::OM_CLASS; + /** @var Nutrient $obj */ + $obj = new $cls(); + $col = $obj->hydrate($row, $offset, false, $indexType); + NutrientTableMap::addInstanceToPool($obj, $key); + } + + return array($obj, $col); + } + + /** + * The returned array will contain objects of the default type or + * objects that inherit from the default. + * + * @param DataFetcherInterface $dataFetcher + * @return array + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function populateObjects(DataFetcherInterface $dataFetcher) + { + $results = array(); + + // set the class once to avoid overhead in the loop + $cls = static::getOMClass(false); + // populate the object(s) + while ($row = $dataFetcher->fetch()) { + $key = NutrientTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = NutrientTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, 0, true); // rehydrate + $results[] = $obj; + } else { + /** @var Nutrient $obj */ + $obj = new $cls(); + $obj->hydrate($row); + $results[] = $obj; + NutrientTableMap::addInstanceToPool($obj, $key); + } // if key exists + } + + return $results; + } + /** + * Add all the columns needed to create a new object. + * + * Note: any columns that were marked with lazyLoad="true" in the + * XML schema will not be added to the select list and only loaded + * on demand. + * + * @param Criteria $criteria object containing the columns to add. + * @param string $alias optional table alias + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function addSelectColumns(Criteria $criteria, $alias = null) + { + if (null === $alias) { + $criteria->addSelectColumn(NutrientTableMap::COL_ID); + $criteria->addSelectColumn(NutrientTableMap::COL_NAME); + } else { + $criteria->addSelectColumn($alias . '.id'); + $criteria->addSelectColumn($alias . '.name'); + } + } + + /** + * Returns the TableMap related to this object. + * This method is not needed for general use but a specific application could have a need. + * @return TableMap + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function getTableMap() + { + return Propel::getServiceContainer()->getDatabaseMap(NutrientTableMap::DATABASE_NAME)->getTable(NutrientTableMap::TABLE_NAME); + } + + /** + * Add a TableMap instance to the database for this tableMap class. + */ + public static function buildTableMap() + { + $dbMap = Propel::getServiceContainer()->getDatabaseMap(NutrientTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(NutrientTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new NutrientTableMap()); + } + } + + /** + * Performs a DELETE on the database, given a Nutrient or Criteria object OR a primary key value. + * + * @param mixed $values Criteria or Nutrient object or primary key or array of primary keys + * which is used to create the DELETE statement + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doDelete($values, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(NutrientTableMap::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + // rename for clarity + $criteria = $values; + } elseif ($values instanceof \Nutrient) { // it's a model object + // create criteria based on pk values + $criteria = $values->buildPkeyCriteria(); + } else { // it's a primary key, or an array of pks + $criteria = new Criteria(NutrientTableMap::DATABASE_NAME); + $criteria->add(NutrientTableMap::COL_ID, (array) $values, Criteria::IN); + } + + $query = NutrientQuery::create()->mergeWith($criteria); + + if ($values instanceof Criteria) { + NutrientTableMap::clearInstancePool(); + } elseif (!is_object($values)) { // it's a primary key, or an array of pks + foreach ((array) $values as $singleval) { + NutrientTableMap::removeInstanceFromPool($singleval); + } + } + + return $query->delete($con); + } + + /** + * Deletes all rows from the Nutrient table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public static function doDeleteAll(ConnectionInterface $con = null) + { + return NutrientQuery::create()->doDeleteAll($con); + } + + /** + * Performs an INSERT on the database, given a Nutrient or Criteria object. + * + * @param mixed $criteria Criteria or Nutrient object containing data that is used to create the INSERT statement. + * @param ConnectionInterface $con the ConnectionInterface connection to use + * @return mixed The new primary key. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doInsert($criteria, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(NutrientTableMap::DATABASE_NAME); + } + + if ($criteria instanceof Criteria) { + $criteria = clone $criteria; // rename for clarity + } else { + $criteria = $criteria->buildCriteria(); // build Criteria from Nutrient object + } + + if ($criteria->containsKey(NutrientTableMap::COL_ID) && $criteria->keyContainsValue(NutrientTableMap::COL_ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.NutrientTableMap::COL_ID.')'); + } + + + // Set the correct dbName + $query = NutrientQuery::create()->mergeWith($criteria); + + // use transaction because $criteria could contain info + // for more than one table (I guess, conceivably) + return $con->transaction(function () use ($con, $query) { + return $query->doInsert($con); + }); + } + +} // NutrientTableMap +// This is the static code needed to register the TableMap for this table with the main Propel class. +// +NutrientTableMap::buildTableMap(); diff --git a/api/generated-classes/Map/RankTableMap.php b/api/generated-classes/Map/RankTableMap.php new file mode 100644 index 0000000..e5a8cea --- /dev/null +++ b/api/generated-classes/Map/RankTableMap.php @@ -0,0 +1,432 @@ + array('Id', 'Name', ), + self::TYPE_CAMELNAME => array('id', 'name', ), + self::TYPE_COLNAME => array(RankTableMap::COL_ID, RankTableMap::COL_NAME, ), + self::TYPE_FIELDNAME => array('id', 'name', ), + self::TYPE_NUM => array(0, 1, ) + ); + + /** + * holds an array of keys for quick access to the fieldnames array + * + * first dimension keys are the type constants + * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 + */ + protected static $fieldKeys = array ( + self::TYPE_PHPNAME => array('Id' => 0, 'Name' => 1, ), + self::TYPE_CAMELNAME => array('id' => 0, 'name' => 1, ), + self::TYPE_COLNAME => array(RankTableMap::COL_ID => 0, RankTableMap::COL_NAME => 1, ), + self::TYPE_FIELDNAME => array('id' => 0, 'name' => 1, ), + self::TYPE_NUM => array(0, 1, ) + ); + + /** + * Initialize the table attributes and columns + * Relations are not initialized by this method since they are lazy loaded + * + * @return void + * @throws PropelException + */ + public function initialize() + { + // attributes + $this->setName('Rank'); + $this->setPhpName('Rank'); + $this->setIdentifierQuoting(false); + $this->setClassName('\\Rank'); + $this->setPackage(''); + $this->setUseIdGenerator(true); + // columns + $this->addPrimaryKey('id', 'Id', 'INTEGER', true, null, null); + $this->addColumn('name', 'Name', 'VARCHAR', true, 128, null); + } // initialize() + + /** + * Build the RelationMap objects for this table relationships + */ + public function buildRelations() + { + $this->addRelation('CategoryRankNutrient', '\\CategoryRankNutrient', RelationMap::ONE_TO_MANY, array ( + 0 => + array ( + 0 => ':rank_id', + 1 => ':id', + ), +), 'CASCADE', 'CASCADE', 'CategoryRankNutrients', false); + $this->addRelation('Food', '\\Food', RelationMap::ONE_TO_MANY, array ( + 0 => + array ( + 0 => ':rank_id', + 1 => ':id', + ), +), 'SET NULL', 'CASCADE', 'Foods', false); + } // buildRelations() + /** + * Method to invalidate the instance pool of all tables related to Rank * by a foreign key with ON DELETE CASCADE + */ + public static function clearRelatedInstancePool() + { + // Invalidate objects in related instance pools, + // since one or more of them may be deleted by ON DELETE CASCADE/SETNULL rule. + CategoryRankNutrientTableMap::clearInstancePool(); + FoodTableMap::clearInstancePool(); + } + + /** + * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. + * + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, a serialize()d version of the primary key will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return string The primary key hash of the row + */ + public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + // If the PK cannot be derived from the row, return NULL. + if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null) { + return null; + } + + return null === $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] || is_scalar($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]) || is_callable([$row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], '__toString']) ? (string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] : $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + } + + /** + * Retrieves the primary key from the DB resultset row + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, an array of the primary key columns will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return mixed The primary key of the row + */ + public static function getPrimaryKeyFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + return (int) $row[ + $indexType == TableMap::TYPE_NUM + ? 0 + $offset + : self::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType) + ]; + } + + /** + * The class that the tableMap will make instances of. + * + * If $withPrefix is true, the returned path + * uses a dot-path notation which is translated into a path + * relative to a location on the PHP include_path. + * (e.g. path.to.MyClass -> 'path/to/MyClass.php') + * + * @param boolean $withPrefix Whether or not to return the path with the class name + * @return string path.to.ClassName + */ + public static function getOMClass($withPrefix = true) + { + return $withPrefix ? RankTableMap::CLASS_DEFAULT : RankTableMap::OM_CLASS; + } + + /** + * Populates an object of the default type or an object that inherit from the default. + * + * @param array $row row returned by DataFetcher->fetch(). + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + * @return array (Rank object, last column rank) + */ + public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + $key = RankTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = RankTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, $offset, true); // rehydrate + $col = $offset + RankTableMap::NUM_HYDRATE_COLUMNS; + } else { + $cls = RankTableMap::OM_CLASS; + /** @var Rank $obj */ + $obj = new $cls(); + $col = $obj->hydrate($row, $offset, false, $indexType); + RankTableMap::addInstanceToPool($obj, $key); + } + + return array($obj, $col); + } + + /** + * The returned array will contain objects of the default type or + * objects that inherit from the default. + * + * @param DataFetcherInterface $dataFetcher + * @return array + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function populateObjects(DataFetcherInterface $dataFetcher) + { + $results = array(); + + // set the class once to avoid overhead in the loop + $cls = static::getOMClass(false); + // populate the object(s) + while ($row = $dataFetcher->fetch()) { + $key = RankTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = RankTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, 0, true); // rehydrate + $results[] = $obj; + } else { + /** @var Rank $obj */ + $obj = new $cls(); + $obj->hydrate($row); + $results[] = $obj; + RankTableMap::addInstanceToPool($obj, $key); + } // if key exists + } + + return $results; + } + /** + * Add all the columns needed to create a new object. + * + * Note: any columns that were marked with lazyLoad="true" in the + * XML schema will not be added to the select list and only loaded + * on demand. + * + * @param Criteria $criteria object containing the columns to add. + * @param string $alias optional table alias + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function addSelectColumns(Criteria $criteria, $alias = null) + { + if (null === $alias) { + $criteria->addSelectColumn(RankTableMap::COL_ID); + $criteria->addSelectColumn(RankTableMap::COL_NAME); + } else { + $criteria->addSelectColumn($alias . '.id'); + $criteria->addSelectColumn($alias . '.name'); + } + } + + /** + * Returns the TableMap related to this object. + * This method is not needed for general use but a specific application could have a need. + * @return TableMap + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function getTableMap() + { + return Propel::getServiceContainer()->getDatabaseMap(RankTableMap::DATABASE_NAME)->getTable(RankTableMap::TABLE_NAME); + } + + /** + * Add a TableMap instance to the database for this tableMap class. + */ + public static function buildTableMap() + { + $dbMap = Propel::getServiceContainer()->getDatabaseMap(RankTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(RankTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new RankTableMap()); + } + } + + /** + * Performs a DELETE on the database, given a Rank or Criteria object OR a primary key value. + * + * @param mixed $values Criteria or Rank object or primary key or array of primary keys + * which is used to create the DELETE statement + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doDelete($values, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(RankTableMap::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + // rename for clarity + $criteria = $values; + } elseif ($values instanceof \Rank) { // it's a model object + // create criteria based on pk values + $criteria = $values->buildPkeyCriteria(); + } else { // it's a primary key, or an array of pks + $criteria = new Criteria(RankTableMap::DATABASE_NAME); + $criteria->add(RankTableMap::COL_ID, (array) $values, Criteria::IN); + } + + $query = RankQuery::create()->mergeWith($criteria); + + if ($values instanceof Criteria) { + RankTableMap::clearInstancePool(); + } elseif (!is_object($values)) { // it's a primary key, or an array of pks + foreach ((array) $values as $singleval) { + RankTableMap::removeInstanceFromPool($singleval); + } + } + + return $query->delete($con); + } + + /** + * Deletes all rows from the Rank table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public static function doDeleteAll(ConnectionInterface $con = null) + { + return RankQuery::create()->doDeleteAll($con); + } + + /** + * Performs an INSERT on the database, given a Rank or Criteria object. + * + * @param mixed $criteria Criteria or Rank object containing data that is used to create the INSERT statement. + * @param ConnectionInterface $con the ConnectionInterface connection to use + * @return mixed The new primary key. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doInsert($criteria, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(RankTableMap::DATABASE_NAME); + } + + if ($criteria instanceof Criteria) { + $criteria = clone $criteria; // rename for clarity + } else { + $criteria = $criteria->buildCriteria(); // build Criteria from Rank object + } + + if ($criteria->containsKey(RankTableMap::COL_ID) && $criteria->keyContainsValue(RankTableMap::COL_ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.RankTableMap::COL_ID.')'); + } + + + // Set the correct dbName + $query = RankQuery::create()->mergeWith($criteria); + + // use transaction because $criteria could contain info + // for more than one table (I guess, conceivably) + return $con->transaction(function () use ($con, $query) { + return $query->doInsert($con); + }); + } + +} // RankTableMap +// This is the static code needed to register the TableMap for this table with the main Propel class. +// +RankTableMap::buildTableMap(); diff --git a/api/generated-classes/Map/SubcategoryTableMap.php b/api/generated-classes/Map/SubcategoryTableMap.php new file mode 100644 index 0000000..d4b8c2e --- /dev/null +++ b/api/generated-classes/Map/SubcategoryTableMap.php @@ -0,0 +1,423 @@ + array('Id', 'Name', 'CategoryId', ), + self::TYPE_CAMELNAME => array('id', 'name', 'categoryId', ), + self::TYPE_COLNAME => array(SubcategoryTableMap::COL_ID, SubcategoryTableMap::COL_NAME, SubcategoryTableMap::COL_CATEGORY_ID, ), + self::TYPE_FIELDNAME => array('id', 'name', 'category_id', ), + self::TYPE_NUM => array(0, 1, 2, ) + ); + + /** + * holds an array of keys for quick access to the fieldnames array + * + * first dimension keys are the type constants + * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 + */ + protected static $fieldKeys = array ( + self::TYPE_PHPNAME => array('Id' => 0, 'Name' => 1, 'CategoryId' => 2, ), + self::TYPE_CAMELNAME => array('id' => 0, 'name' => 1, 'categoryId' => 2, ), + self::TYPE_COLNAME => array(SubcategoryTableMap::COL_ID => 0, SubcategoryTableMap::COL_NAME => 1, SubcategoryTableMap::COL_CATEGORY_ID => 2, ), + self::TYPE_FIELDNAME => array('id' => 0, 'name' => 1, 'category_id' => 2, ), + self::TYPE_NUM => array(0, 1, 2, ) + ); + + /** + * Initialize the table attributes and columns + * Relations are not initialized by this method since they are lazy loaded + * + * @return void + * @throws PropelException + */ + public function initialize() + { + // attributes + $this->setName('Subcategory'); + $this->setPhpName('Subcategory'); + $this->setIdentifierQuoting(false); + $this->setClassName('\\Subcategory'); + $this->setPackage(''); + $this->setUseIdGenerator(true); + // columns + $this->addPrimaryKey('id', 'Id', 'INTEGER', true, null, null); + $this->addColumn('name', 'Name', 'VARCHAR', true, 255, null); + $this->addForeignKey('category_id', 'CategoryId', 'INTEGER', 'Category', 'id', false, null, null); + } // initialize() + + /** + * Build the RelationMap objects for this table relationships + */ + public function buildRelations() + { + $this->addRelation('Category', '\\Category', RelationMap::MANY_TO_ONE, array ( + 0 => + array ( + 0 => ':category_id', + 1 => ':id', + ), +), 'SET NULL', 'CASCADE', null, false); + } // buildRelations() + + /** + * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table. + * + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, a serialize()d version of the primary key will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return string The primary key hash of the row + */ + public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + // If the PK cannot be derived from the row, return NULL. + if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null) { + return null; + } + + return null === $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] || is_scalar($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]) || is_callable([$row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], '__toString']) ? (string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] : $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; + } + + /** + * Retrieves the primary key from the DB resultset row + * For tables with a single-column primary key, that simple pkey value will be returned. For tables with + * a multi-column primary key, an array of the primary key columns will be returned. + * + * @param array $row resultset row. + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM + * + * @return mixed The primary key of the row + */ + public static function getPrimaryKeyFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + return (int) $row[ + $indexType == TableMap::TYPE_NUM + ? 0 + $offset + : self::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType) + ]; + } + + /** + * The class that the tableMap will make instances of. + * + * If $withPrefix is true, the returned path + * uses a dot-path notation which is translated into a path + * relative to a location on the PHP include_path. + * (e.g. path.to.MyClass -> 'path/to/MyClass.php') + * + * @param boolean $withPrefix Whether or not to return the path with the class name + * @return string path.to.ClassName + */ + public static function getOMClass($withPrefix = true) + { + return $withPrefix ? SubcategoryTableMap::CLASS_DEFAULT : SubcategoryTableMap::OM_CLASS; + } + + /** + * Populates an object of the default type or an object that inherit from the default. + * + * @param array $row row returned by DataFetcher->fetch(). + * @param int $offset The 0-based offset for reading from the resultset row. + * @param string $indexType The index type of $row. Mostly DataFetcher->getIndexType(). + One of the class type constants TableMap::TYPE_PHPNAME, TableMap::TYPE_CAMELNAME + * TableMap::TYPE_COLNAME, TableMap::TYPE_FIELDNAME, TableMap::TYPE_NUM. + * + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + * @return array (Subcategory object, last column rank) + */ + public static function populateObject($row, $offset = 0, $indexType = TableMap::TYPE_NUM) + { + $key = SubcategoryTableMap::getPrimaryKeyHashFromRow($row, $offset, $indexType); + if (null !== ($obj = SubcategoryTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, $offset, true); // rehydrate + $col = $offset + SubcategoryTableMap::NUM_HYDRATE_COLUMNS; + } else { + $cls = SubcategoryTableMap::OM_CLASS; + /** @var Subcategory $obj */ + $obj = new $cls(); + $col = $obj->hydrate($row, $offset, false, $indexType); + SubcategoryTableMap::addInstanceToPool($obj, $key); + } + + return array($obj, $col); + } + + /** + * The returned array will contain objects of the default type or + * objects that inherit from the default. + * + * @param DataFetcherInterface $dataFetcher + * @return array + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function populateObjects(DataFetcherInterface $dataFetcher) + { + $results = array(); + + // set the class once to avoid overhead in the loop + $cls = static::getOMClass(false); + // populate the object(s) + while ($row = $dataFetcher->fetch()) { + $key = SubcategoryTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType()); + if (null !== ($obj = SubcategoryTableMap::getInstanceFromPool($key))) { + // We no longer rehydrate the object, since this can cause data loss. + // See http://www.propelorm.org/ticket/509 + // $obj->hydrate($row, 0, true); // rehydrate + $results[] = $obj; + } else { + /** @var Subcategory $obj */ + $obj = new $cls(); + $obj->hydrate($row); + $results[] = $obj; + SubcategoryTableMap::addInstanceToPool($obj, $key); + } // if key exists + } + + return $results; + } + /** + * Add all the columns needed to create a new object. + * + * Note: any columns that were marked with lazyLoad="true" in the + * XML schema will not be added to the select list and only loaded + * on demand. + * + * @param Criteria $criteria object containing the columns to add. + * @param string $alias optional table alias + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function addSelectColumns(Criteria $criteria, $alias = null) + { + if (null === $alias) { + $criteria->addSelectColumn(SubcategoryTableMap::COL_ID); + $criteria->addSelectColumn(SubcategoryTableMap::COL_NAME); + $criteria->addSelectColumn(SubcategoryTableMap::COL_CATEGORY_ID); + } else { + $criteria->addSelectColumn($alias . '.id'); + $criteria->addSelectColumn($alias . '.name'); + $criteria->addSelectColumn($alias . '.category_id'); + } + } + + /** + * Returns the TableMap related to this object. + * This method is not needed for general use but a specific application could have a need. + * @return TableMap + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function getTableMap() + { + return Propel::getServiceContainer()->getDatabaseMap(SubcategoryTableMap::DATABASE_NAME)->getTable(SubcategoryTableMap::TABLE_NAME); + } + + /** + * Add a TableMap instance to the database for this tableMap class. + */ + public static function buildTableMap() + { + $dbMap = Propel::getServiceContainer()->getDatabaseMap(SubcategoryTableMap::DATABASE_NAME); + if (!$dbMap->hasTable(SubcategoryTableMap::TABLE_NAME)) { + $dbMap->addTableObject(new SubcategoryTableMap()); + } + } + + /** + * Performs a DELETE on the database, given a Subcategory or Criteria object OR a primary key value. + * + * @param mixed $values Criteria or Subcategory object or primary key or array of primary keys + * which is used to create the DELETE statement + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows + * if supported by native driver or if emulated using Propel. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doDelete($values, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(SubcategoryTableMap::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + // rename for clarity + $criteria = $values; + } elseif ($values instanceof \Subcategory) { // it's a model object + // create criteria based on pk values + $criteria = $values->buildPkeyCriteria(); + } else { // it's a primary key, or an array of pks + $criteria = new Criteria(SubcategoryTableMap::DATABASE_NAME); + $criteria->add(SubcategoryTableMap::COL_ID, (array) $values, Criteria::IN); + } + + $query = SubcategoryQuery::create()->mergeWith($criteria); + + if ($values instanceof Criteria) { + SubcategoryTableMap::clearInstancePool(); + } elseif (!is_object($values)) { // it's a primary key, or an array of pks + foreach ((array) $values as $singleval) { + SubcategoryTableMap::removeInstanceFromPool($singleval); + } + } + + return $query->delete($con); + } + + /** + * Deletes all rows from the Subcategory table. + * + * @param ConnectionInterface $con the connection to use + * @return int The number of affected rows (if supported by underlying database driver). + */ + public static function doDeleteAll(ConnectionInterface $con = null) + { + return SubcategoryQuery::create()->doDeleteAll($con); + } + + /** + * Performs an INSERT on the database, given a Subcategory or Criteria object. + * + * @param mixed $criteria Criteria or Subcategory object containing data that is used to create the INSERT statement. + * @param ConnectionInterface $con the ConnectionInterface connection to use + * @return mixed The new primary key. + * @throws PropelException Any exceptions caught during processing will be + * rethrown wrapped into a PropelException. + */ + public static function doInsert($criteria, ConnectionInterface $con = null) + { + if (null === $con) { + $con = Propel::getServiceContainer()->getWriteConnection(SubcategoryTableMap::DATABASE_NAME); + } + + if ($criteria instanceof Criteria) { + $criteria = clone $criteria; // rename for clarity + } else { + $criteria = $criteria->buildCriteria(); // build Criteria from Subcategory object + } + + if ($criteria->containsKey(SubcategoryTableMap::COL_ID) && $criteria->keyContainsValue(SubcategoryTableMap::COL_ID) ) { + throw new PropelException('Cannot insert a value for auto-increment primary key ('.SubcategoryTableMap::COL_ID.')'); + } + + + // Set the correct dbName + $query = SubcategoryQuery::create()->mergeWith($criteria); + + // use transaction because $criteria could contain info + // for more than one table (I guess, conceivably) + return $con->transaction(function () use ($con, $query) { + return $query->doInsert($con); + }); + } + +} // SubcategoryTableMap +// This is the static code needed to register the TableMap for this table with the main Propel class. +// +SubcategoryTableMap::buildTableMap(); diff --git a/api/generated-classes/Nutrient.php b/api/generated-classes/Nutrient.php new file mode 100644 index 0000000..c893930 --- /dev/null +++ b/api/generated-classes/Nutrient.php @@ -0,0 +1,18 @@ +checkVersion('2.0.0-dev'); +$serviceContainer->setAdapterClass('default', 'mysql'); +$manager = new \Propel\Runtime\Connection\ConnectionManagerSingle(); +$manager->setConfiguration(array ( + 'dsn' => 'mysql:host=develop.digitalmediauconn.org;port=3306;dbname=foodbank', + 'user' => 'foodbank', + 'password' => 'foodbank123', + 'settings' => + array ( + 'charset' => 'utf8', + 'queries' => + array ( + ), + ), + 'classname' => '\\Propel\\Runtime\\Connection\\ConnectionWrapper', + 'model_paths' => + array ( + 0 => 'src', + 1 => 'vendor', + ), +)); +$manager->setName('default'); +$serviceContainer->setConnectionManager('default', $manager); +$serviceContainer->setDefaultDatasource('default'); \ No newline at end of file diff --git a/api/generated-sql/default.sql b/api/generated-sql/default.sql new file mode 100644 index 0000000..1dd54e8 --- /dev/null +++ b/api/generated-sql/default.sql @@ -0,0 +1,131 @@ + +# This is a fix for InnoDB in MySQL >= 4.1.x +# It "suspends judgement" for fkey relationships until are tables are set. +SET FOREIGN_KEY_CHECKS = 0; + +-- --------------------------------------------------------------------- +-- Category +-- --------------------------------------------------------------------- + +DROP TABLE IF EXISTS `Category`; + +CREATE TABLE `Category` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `name` VARCHAR(128) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB; + +-- --------------------------------------------------------------------- +-- Category_Rank_Nutrient +-- --------------------------------------------------------------------- + +DROP TABLE IF EXISTS `Category_Rank_Nutrient`; + +CREATE TABLE `Category_Rank_Nutrient` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `units` VARCHAR(128), + `threshold` FLOAT NOT NULL, + `operator` VARCHAR(10) NOT NULL, + `category_id` INTEGER NOT NULL, + `rank_id` INTEGER NOT NULL, + `nutrient_id` INTEGER NOT NULL, + PRIMARY KEY (`id`), + INDEX `category_id` (`category_id`), + INDEX `rank_id` (`rank_id`), + INDEX `nutrient_id` (`nutrient_id`), + CONSTRAINT `Category_Rank_Nutrient_ibfk_3` + FOREIGN KEY (`nutrient_id`) + REFERENCES `Nutrient` (`id`) + ON UPDATE CASCADE + ON DELETE CASCADE, + CONSTRAINT `Category_Rank_Nutrient_ibfk_1` + FOREIGN KEY (`category_id`) + REFERENCES `Category` (`id`) + ON UPDATE CASCADE + ON DELETE CASCADE, + CONSTRAINT `Category_Rank_Nutrient_ibfk_2` + FOREIGN KEY (`rank_id`) + REFERENCES `Rank` (`id`) + ON UPDATE CASCADE + ON DELETE CASCADE +) ENGINE=InnoDB; + +-- --------------------------------------------------------------------- +-- Food +-- --------------------------------------------------------------------- + +DROP TABLE IF EXISTS `Food`; + +CREATE TABLE `Food` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `name` VARCHAR(255) NOT NULL, + `barcode` INTEGER NOT NULL, + `rank_id` INTEGER, + `category_id` INTEGER, + PRIMARY KEY (`id`), + UNIQUE INDEX `barcode` (`barcode`), + INDEX `rank_id` (`rank_id`, `category_id`), + INDEX `category_id` (`category_id`), + CONSTRAINT `Food_ibfk_1` + FOREIGN KEY (`category_id`) + REFERENCES `Category` (`id`) + ON UPDATE CASCADE + ON DELETE SET NULL, + CONSTRAINT `Parent Rank ID` + FOREIGN KEY (`rank_id`) + REFERENCES `Rank` (`id`) + ON UPDATE CASCADE + ON DELETE SET NULL +) ENGINE=InnoDB; + +-- --------------------------------------------------------------------- +-- Nutrient +-- --------------------------------------------------------------------- + +DROP TABLE IF EXISTS `Nutrient`; + +CREATE TABLE `Nutrient` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `name` VARCHAR(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB; + +-- --------------------------------------------------------------------- +-- Rank +-- --------------------------------------------------------------------- + +DROP TABLE IF EXISTS `Rank`; + +CREATE TABLE `Rank` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `name` VARCHAR(128) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB; + +-- --------------------------------------------------------------------- +-- Subcategory +-- --------------------------------------------------------------------- + +DROP TABLE IF EXISTS `Subcategory`; + +CREATE TABLE `Subcategory` +( + `id` INTEGER NOT NULL AUTO_INCREMENT, + `name` VARCHAR(255) NOT NULL, + `category_id` INTEGER, + PRIMARY KEY (`id`), + INDEX `category_id` (`category_id`), + CONSTRAINT `Parent Category ID` + FOREIGN KEY (`category_id`) + REFERENCES `Category` (`id`) + ON UPDATE CASCADE + ON DELETE SET NULL +) ENGINE=InnoDB; + +# This restores the fkey checks, after having unset them earlier +SET FOREIGN_KEY_CHECKS = 1; diff --git a/api/generated-sql/sqldb.map b/api/generated-sql/sqldb.map new file mode 100644 index 0000000..67bc4d4 --- /dev/null +++ b/api/generated-sql/sqldb.map @@ -0,0 +1,2 @@ +# Sqlfile -> Database map +default.sql=default diff --git a/api/index.php b/api/index.php new file mode 100644 index 0000000..ddfba8e --- /dev/null +++ b/api/index.php @@ -0,0 +1,16 @@ +add('', __DIR__ . '/generated-classes/'); +require './generated-conf/config.php'; + +$app = new \Slim\App(); + +/** + * Routes + */ +require './routes/category.php'; + +$app->run(); \ No newline at end of file diff --git a/api/propel.yml b/api/propel.yml new file mode 100644 index 0000000..c305b3e --- /dev/null +++ b/api/propel.yml @@ -0,0 +1,10 @@ +propel: + database: + connections: + default: + adapter: mysql + dsn: mysql:host=develop.digitalmediauconn.org;port=3306;dbname=foodbank + user: foodbank + password: foodbank123 + settings: + charset: utf8mb4_unicode_ci diff --git a/api/propel.yml.dist b/api/propel.yml.dist new file mode 100644 index 0000000..1a6809d --- /dev/null +++ b/api/propel.yml.dist @@ -0,0 +1,25 @@ +# When you're part of a team, you could want to define a common configuration file and commit it into your VCS. But, of +# course, there can be some properties you don't want to share, e.g. database passwords. Propel helps you and looks for +# a propel.yml.dist file too, merging its properties with propel.yml ones. So you can define shared configuration +# properties in propel.yml.dist, committing it in your VCS, and keep propel.yml as private. The properties loaded from +# propel.yml overwrite the ones with the same name, loaded from propel.yml.dist. +# +# For a complete references see: http://propelorm.org/documentation/reference/configuration-file.html + +propel: + paths: + # The directory where Propel expects to find your `schema.xml` file. + schemaDir: /Users/brian/Documents/Sites/foodbank/api + + # The directory where Propel should output generated object model classes. + phpDir: /Users/brian/Documents/Sites/foodbank/api + +# database: +# connections: +# default: +# adapter: mysql +# dsn: mysql:host=develop.digitalmediauconn.org;port=3306;dbname=foodbank +# user: foodbank +# password: +# settings: +# charset: utf8mb4_unicode_ci diff --git a/api/routes/category.php b/api/routes/category.php new file mode 100644 index 0000000..2666f1a --- /dev/null +++ b/api/routes/category.php @@ -0,0 +1,21 @@ +get('/category/all', function( $request, $response ) { + $q = new CategoryQuery; + $cats = $q::create()->find(); + $response_json = [ + "status" => [ + "code" => $response->getStatusCode(), + "message" => "OK" + ], + "data" => [] + ]; + foreach( $cats as $cat ) { + $response_json["data"][] = array( + "id" => $cat->getId(), + "name" => $cat->getName() + ); + } + $response = $response->withJSON($response_json); + return $response; +}); \ No newline at end of file diff --git a/api/schema.xml b/api/schema.xml new file mode 100644 index 0000000..099723a --- /dev/null +++ b/api/schema.xml @@ -0,0 +1,94 @@ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + + +
+ + + + + + + + + + + + + +
+
\ No newline at end of file From 97265494082bf5fc947ee8a86e0890092a126104 Mon Sep 17 00:00:00 2001 From: briankelleher Date: Sun, 6 Nov 2016 20:15:07 -0500 Subject: [PATCH 03/13] helpful links --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 5352682..6b335e9 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,12 @@ php -S localhost:8000 A `Foodbank.postman_collection.json` file has been added. You can import this to Postman to test routes. +### Helpful URLs + +[Propel ORM Calls](http://propelorm.org/documentation/03-basic-crud.html) +[PHPMyAdmin](http://www.develop.digitalmediauconn.org/phpmyadmin/) +[Routing with Slim](http://www.slimframework.com/docs/objects/router.html#how-to-create-routes) + ## Contact [Joel Salisbury](mailto:joel@uconn.edu) - Faculty Advisor From 4a8062a6efe5da22d21efd623da8ab386fa8406e Mon Sep 17 00:00:00 2001 From: briankelleher Date: Sun, 6 Nov 2016 20:16:28 -0500 Subject: [PATCH 04/13] spacing --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6b335e9..55ec010 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,9 @@ A `Foodbank.postman_collection.json` file has been added. You can import this t ### Helpful URLs [Propel ORM Calls](http://propelorm.org/documentation/03-basic-crud.html) + [PHPMyAdmin](http://www.develop.digitalmediauconn.org/phpmyadmin/) + [Routing with Slim](http://www.slimframework.com/docs/objects/router.html#how-to-create-routes) ## Contact From eb10a0f2e231bdabdfca2e9d65329cbe9ad5dedb Mon Sep 17 00:00:00 2001 From: Brian Kelleher Date: Mon, 7 Nov 2016 08:24:58 -0500 Subject: [PATCH 05/13] editorconfig, array syntax, comments --- .editorconfig | 9 +++++++++ api/index.php | 13 +++++++------ api/routes/category.php | 4 ++-- 3 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..422e619 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +[*.php] +indent_style = tab +indent_size = 2 \ No newline at end of file diff --git a/api/index.php b/api/index.php index ddfba8e..ee8530e 100644 --- a/api/index.php +++ b/api/index.php @@ -1,16 +1,17 @@ add('', __DIR__ . '/generated-classes/'); -require './generated-conf/config.php'; +$autoloader = require './vendor/autoload.php'; // Composer Autoload Libraries +$autoloader->add('', __DIR__ . '/generated-classes/'); // Propel ORM Classes +require './generated-conf/config.php'; // Propel Config +require './config.php'; // Slim Config -$app = new \Slim\App(); +// Init Slim +$app = new \Slim\App($config); /** * Routes */ require './routes/category.php'; +// Run App $app->run(); \ No newline at end of file diff --git a/api/routes/category.php b/api/routes/category.php index 2666f1a..d53bf11 100644 --- a/api/routes/category.php +++ b/api/routes/category.php @@ -11,10 +11,10 @@ $app->get('/category/all', function( $request, $response ) { "data" => [] ]; foreach( $cats as $cat ) { - $response_json["data"][] = array( + $response_json["data"][] = [ "id" => $cat->getId(), "name" => $cat->getName() - ); + ]; } $response = $response->withJSON($response_json); return $response; From 5002fc295e4d94d750ae2efc47aba1eff13512b5 Mon Sep 17 00:00:00 2001 From: Brian Kelleher Date: Mon, 7 Nov 2016 08:25:43 -0500 Subject: [PATCH 06/13] comments --- api/routes/category.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/api/routes/category.php b/api/routes/category.php index d53bf11..6a344a0 100644 --- a/api/routes/category.php +++ b/api/routes/category.php @@ -1,5 +1,9 @@ get('/category/all', function( $request, $response ) { $q = new CategoryQuery; $cats = $q::create()->find(); From 674589657fbfbe68dd64f102b755ccb01e25be3e Mon Sep 17 00:00:00 2001 From: Gabe Rogan Date: Thu, 17 Nov 2016 13:29:27 -0500 Subject: [PATCH 07/13] i added my code and stuffz for starting point on ui :D --- .gitignore | 18 + app/app.js | 13 + app/app.route.js | 73 + app/pages/404/ctrl.js | 4 + app/pages/404/style.styl | 0 app/pages/404/view.html | 0 app/pages/community/ctrl.js | 5 + app/pages/community/style.styl | 2 + app/pages/community/view.html | 29 + app/pages/competitions/ctrl.js | 31 + app/pages/competitions/style.styl | 15 + app/pages/competitions/view.html | 29 + app/pages/dashboard/ctrl-comps.js | 4 + app/pages/dashboard/ctrl-dash.js | 4 + app/pages/dashboard/ctrl-featured.js | 4 + app/pages/dashboard/ctrl-news.js | 4 + app/pages/dashboard/ctrl-users.js | 4 + app/pages/dashboard/style.styl | 0 app/pages/dashboard/view.html | 0 app/pages/news/ctrl.js | 5 + app/pages/news/style.styl | 102 + app/pages/news/view.html | 38 + app/pages/single-competition/ctrl.js | 4 + app/pages/single-competition/style.styl | 0 app/pages/single-competition/view.html | 8 + app/root-view/_footer.kit | 5 + app/root-view/_header.kit | 26 + app/root-view/_nav.kit | 74 + app/root-view/index.kit | 14 + app/root-view/root.styl | 78 + app/sandbox/ctrl.js | 15 + app/sandbox/email.html | 17 + app/sandbox/scrap.html | 13 + app/sandbox/style.styl | 0 app/sandbox/todo.html | 7 + assets/css/main.css | 229 + assets/img/gabe.jpg | Bin 0 -> 259502 bytes assets/img/landscape.jpg | Bin 0 -> 1018477 bytes assets/img/office.jpg | Bin 0 -> 159054 bytes assets/js/bundle.js | 182 + assets/js/materialize.js | 7614 ++++++++++++++++ assets/js/tabs.js | 138 + assets/libs/materialize/LICENSE | 21 + assets/libs/materialize/README.md | 48 + .../materialize/fonts/roboto/Roboto-Bold.eot | Bin 0 -> 20966 bytes .../materialize/fonts/roboto/Roboto-Bold.ttf | Bin 0 -> 127744 bytes .../materialize/fonts/roboto/Roboto-Bold.woff | Bin 0 -> 62876 bytes .../fonts/roboto/Roboto-Bold.woff2 | Bin 0 -> 49976 bytes .../materialize/fonts/roboto/Roboto-Light.eot | Bin 0 -> 20940 bytes .../materialize/fonts/roboto/Roboto-Light.ttf | Bin 0 -> 126792 bytes .../fonts/roboto/Roboto-Light.woff | Bin 0 -> 62316 bytes .../fonts/roboto/Roboto-Light.woff2 | Bin 0 -> 49380 bytes .../fonts/roboto/Roboto-Medium.eot | Bin 0 -> 21364 bytes .../fonts/roboto/Roboto-Medium.ttf | Bin 0 -> 127488 bytes .../fonts/roboto/Roboto-Medium.woff | Bin 0 -> 62980 bytes .../fonts/roboto/Roboto-Medium.woff2 | Bin 0 -> 50224 bytes .../fonts/roboto/Roboto-Regular.eot | Bin 0 -> 21320 bytes .../fonts/roboto/Roboto-Regular.ttf | Bin 0 -> 126072 bytes .../fonts/roboto/Roboto-Regular.woff | Bin 0 -> 61736 bytes .../fonts/roboto/Roboto-Regular.woff2 | Bin 0 -> 49236 bytes .../materialize/fonts/roboto/Roboto-Thin.eot | Bin 0 -> 21659 bytes .../materialize/fonts/roboto/Roboto-Thin.ttf | Bin 0 -> 127584 bytes .../materialize/fonts/roboto/Roboto-Thin.woff | Bin 0 -> 61628 bytes .../fonts/roboto/Roboto-Thin.woff2 | Bin 0 -> 48524 bytes assets/libs/materialize/js/animation.js | 9 + assets/libs/materialize/js/bin/materialize.js | 7778 +++++++++++++++++ .../materialize/js/bin/materialize.min.js | 10 + assets/libs/materialize/js/buttons.js | 267 + assets/libs/materialize/js/cards.js | 26 + assets/libs/materialize/js/carousel.js | 454 + .../libs/materialize/js/character_counter.js | 72 + assets/libs/materialize/js/chips.js | 289 + assets/libs/materialize/js/collapsible.js | 160 + .../materialize/js/date_picker/picker.date.js | 1430 +++ .../libs/materialize/js/date_picker/picker.js | 1123 +++ assets/libs/materialize/js/dropdown.js | 265 + assets/libs/materialize/js/forms.js | 682 ++ assets/libs/materialize/js/global.js | 98 + assets/libs/materialize/js/hammer.min.js | 1 + assets/libs/materialize/js/initial.js | 11 + .../libs/materialize/js/jquery.easing.1.3.js | 205 + assets/libs/materialize/js/jquery.hammer.js | 33 + assets/libs/materialize/js/materialbox.js | 269 + assets/libs/materialize/js/modal.js | 184 + assets/libs/materialize/js/parallax.js | 58 + assets/libs/materialize/js/pushpin.js | 71 + assets/libs/materialize/js/scrollFire.js | 48 + assets/libs/materialize/js/scrollspy.js | 284 + assets/libs/materialize/js/sideNav.js | 370 + assets/libs/materialize/js/slider.js | 321 + assets/libs/materialize/js/tabs.js | 164 + assets/libs/materialize/js/toasts.js | 137 + assets/libs/materialize/js/tooltip.js | 236 + assets/libs/materialize/js/transitions.js | 169 + assets/libs/materialize/js/velocity.min.js | 5 + assets/libs/materialize/js/waves.js | 338 + .../materialize/sass/components/_buttons.scss | 281 + .../materialize/sass/components/_cards.scss | 187 + .../sass/components/_carousel.scss | 85 + .../materialize/sass/components/_chips.scss | 83 + .../sass/components/_collapsible.scss | 90 + .../materialize/sass/components/_color.scss | 412 + .../sass/components/_dropdown.scss | 65 + .../materialize/sass/components/_global.scss | 800 ++ .../materialize/sass/components/_grid.scss | 147 + .../components/_icons-material-design.scss | 5 + .../sass/components/_materialbox.scss | 42 + .../materialize/sass/components/_mixins.scss | 5 + .../materialize/sass/components/_modal.scss | 90 + .../materialize/sass/components/_navbar.scss | 190 + .../sass/components/_normalize.scss | 424 + .../sass/components/_prefixer.scss | 384 + .../sass/components/_preloader.scss | 334 + .../materialize/sass/components/_roboto.scss | 49 + .../materialize/sass/components/_sideNav.scss | 208 + .../materialize/sass/components/_slider.scss | 92 + .../sass/components/_table_of_contents.scss | 33 + .../materialize/sass/components/_tabs.scss | 99 + .../materialize/sass/components/_toast.scss | 65 + .../materialize/sass/components/_tooltip.scss | 32 + .../sass/components/_typography.scss | 61 + .../sass/components/_variables.scss | 313 + .../materialize/sass/components/_waves.scss | 177 + .../components/date_picker/_default.date.scss | 435 + .../sass/components/date_picker/_default.scss | 201 + .../components/date_picker/_default.time.scss | 125 + .../sass/components/forms/_checkboxes.scss | 220 + .../sass/components/forms/_file-input.scss | 38 + .../sass/components/forms/_forms.scss | 22 + .../sass/components/forms/_input-fields.scss | 286 + .../sass/components/forms/_radio-buttons.scss | 117 + .../sass/components/forms/_range.scss | 159 + .../sass/components/forms/_select.scss | 121 + .../sass/components/forms/_switches.scss | 78 + assets/libs/materialize/sass/materialize.scss | 40 + assets/styl/main.styl | 8 + assets/styl/mixins.styl | 21 + assets/styl/reset.styl | 16 + gulpfile.js | 76 + index.html | 116 + package.json | 21 + pseudo-app.md | 133 + readme2.md | 25 + 143 files changed, 31455 insertions(+) create mode 100644 .gitignore create mode 100644 app/app.js create mode 100644 app/app.route.js create mode 100644 app/pages/404/ctrl.js create mode 100644 app/pages/404/style.styl create mode 100644 app/pages/404/view.html create mode 100644 app/pages/community/ctrl.js create mode 100644 app/pages/community/style.styl create mode 100644 app/pages/community/view.html create mode 100644 app/pages/competitions/ctrl.js create mode 100644 app/pages/competitions/style.styl create mode 100644 app/pages/competitions/view.html create mode 100644 app/pages/dashboard/ctrl-comps.js create mode 100644 app/pages/dashboard/ctrl-dash.js create mode 100644 app/pages/dashboard/ctrl-featured.js create mode 100644 app/pages/dashboard/ctrl-news.js create mode 100644 app/pages/dashboard/ctrl-users.js create mode 100644 app/pages/dashboard/style.styl create mode 100644 app/pages/dashboard/view.html create mode 100644 app/pages/news/ctrl.js create mode 100644 app/pages/news/style.styl create mode 100644 app/pages/news/view.html create mode 100644 app/pages/single-competition/ctrl.js create mode 100644 app/pages/single-competition/style.styl create mode 100644 app/pages/single-competition/view.html create mode 100644 app/root-view/_footer.kit create mode 100644 app/root-view/_header.kit create mode 100644 app/root-view/_nav.kit create mode 100644 app/root-view/index.kit create mode 100644 app/root-view/root.styl create mode 100644 app/sandbox/ctrl.js create mode 100644 app/sandbox/email.html create mode 100644 app/sandbox/scrap.html create mode 100644 app/sandbox/style.styl create mode 100644 app/sandbox/todo.html create mode 100644 assets/css/main.css create mode 100644 assets/img/gabe.jpg create mode 100644 assets/img/landscape.jpg create mode 100644 assets/img/office.jpg create mode 100644 assets/js/bundle.js create mode 100644 assets/js/materialize.js create mode 100644 assets/js/tabs.js create mode 100644 assets/libs/materialize/LICENSE create mode 100755 assets/libs/materialize/README.md create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Bold.eot create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Bold.ttf create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Bold.woff create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Bold.woff2 create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Light.eot create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Light.ttf create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Light.woff create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Light.woff2 create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Medium.eot create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Medium.ttf create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Medium.woff create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Medium.woff2 create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Regular.eot create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Regular.ttf create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Regular.woff create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Regular.woff2 create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Thin.eot create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Thin.ttf create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Thin.woff create mode 100644 assets/libs/materialize/fonts/roboto/Roboto-Thin.woff2 create mode 100644 assets/libs/materialize/js/animation.js create mode 100644 assets/libs/materialize/js/bin/materialize.js create mode 100644 assets/libs/materialize/js/bin/materialize.min.js create mode 100644 assets/libs/materialize/js/buttons.js create mode 100644 assets/libs/materialize/js/cards.js create mode 100644 assets/libs/materialize/js/carousel.js create mode 100644 assets/libs/materialize/js/character_counter.js create mode 100644 assets/libs/materialize/js/chips.js create mode 100644 assets/libs/materialize/js/collapsible.js create mode 100644 assets/libs/materialize/js/date_picker/picker.date.js create mode 100644 assets/libs/materialize/js/date_picker/picker.js create mode 100644 assets/libs/materialize/js/dropdown.js create mode 100644 assets/libs/materialize/js/forms.js create mode 100644 assets/libs/materialize/js/global.js create mode 100644 assets/libs/materialize/js/hammer.min.js create mode 100644 assets/libs/materialize/js/initial.js create mode 100644 assets/libs/materialize/js/jquery.easing.1.3.js create mode 100755 assets/libs/materialize/js/jquery.hammer.js create mode 100644 assets/libs/materialize/js/materialbox.js create mode 100644 assets/libs/materialize/js/modal.js create mode 100644 assets/libs/materialize/js/parallax.js create mode 100644 assets/libs/materialize/js/pushpin.js create mode 100755 assets/libs/materialize/js/scrollFire.js create mode 100755 assets/libs/materialize/js/scrollspy.js create mode 100644 assets/libs/materialize/js/sideNav.js create mode 100644 assets/libs/materialize/js/slider.js create mode 100644 assets/libs/materialize/js/tabs.js create mode 100644 assets/libs/materialize/js/toasts.js create mode 100644 assets/libs/materialize/js/tooltip.js create mode 100644 assets/libs/materialize/js/transitions.js create mode 100644 assets/libs/materialize/js/velocity.min.js create mode 100644 assets/libs/materialize/js/waves.js create mode 100755 assets/libs/materialize/sass/components/_buttons.scss create mode 100644 assets/libs/materialize/sass/components/_cards.scss create mode 100644 assets/libs/materialize/sass/components/_carousel.scss create mode 100644 assets/libs/materialize/sass/components/_chips.scss create mode 100644 assets/libs/materialize/sass/components/_collapsible.scss create mode 100644 assets/libs/materialize/sass/components/_color.scss create mode 100644 assets/libs/materialize/sass/components/_dropdown.scss create mode 100644 assets/libs/materialize/sass/components/_global.scss create mode 100644 assets/libs/materialize/sass/components/_grid.scss create mode 100755 assets/libs/materialize/sass/components/_icons-material-design.scss create mode 100644 assets/libs/materialize/sass/components/_materialbox.scss create mode 100644 assets/libs/materialize/sass/components/_mixins.scss create mode 100644 assets/libs/materialize/sass/components/_modal.scss create mode 100644 assets/libs/materialize/sass/components/_navbar.scss create mode 100644 assets/libs/materialize/sass/components/_normalize.scss create mode 100755 assets/libs/materialize/sass/components/_prefixer.scss create mode 100644 assets/libs/materialize/sass/components/_preloader.scss create mode 100644 assets/libs/materialize/sass/components/_roboto.scss create mode 100644 assets/libs/materialize/sass/components/_sideNav.scss create mode 100644 assets/libs/materialize/sass/components/_slider.scss create mode 100644 assets/libs/materialize/sass/components/_table_of_contents.scss create mode 100755 assets/libs/materialize/sass/components/_tabs.scss create mode 100644 assets/libs/materialize/sass/components/_toast.scss create mode 100644 assets/libs/materialize/sass/components/_tooltip.scss create mode 100755 assets/libs/materialize/sass/components/_typography.scss create mode 100644 assets/libs/materialize/sass/components/_variables.scss create mode 100644 assets/libs/materialize/sass/components/_waves.scss create mode 100755 assets/libs/materialize/sass/components/date_picker/_default.date.scss create mode 100755 assets/libs/materialize/sass/components/date_picker/_default.scss create mode 100755 assets/libs/materialize/sass/components/date_picker/_default.time.scss create mode 100644 assets/libs/materialize/sass/components/forms/_checkboxes.scss create mode 100644 assets/libs/materialize/sass/components/forms/_file-input.scss create mode 100644 assets/libs/materialize/sass/components/forms/_forms.scss create mode 100644 assets/libs/materialize/sass/components/forms/_input-fields.scss create mode 100644 assets/libs/materialize/sass/components/forms/_radio-buttons.scss create mode 100644 assets/libs/materialize/sass/components/forms/_range.scss create mode 100644 assets/libs/materialize/sass/components/forms/_select.scss create mode 100644 assets/libs/materialize/sass/components/forms/_switches.scss create mode 100644 assets/libs/materialize/sass/materialize.scss create mode 100644 assets/styl/main.styl create mode 100644 assets/styl/mixins.styl create mode 100644 assets/styl/reset.styl create mode 100644 gulpfile.js create mode 100644 index.html create mode 100644 package.json create mode 100644 pseudo-app.md create mode 100644 readme2.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..836713a --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# OS generated files +.DS_Store +.DS_Store? +._* +Thumbs.db + +# Logs +*.log + +# Dependency directories +node_modules +bower_components + +# Build Systems +.sass-cache +*.css.map +build/ +dist/ diff --git a/app/app.js b/app/app.js new file mode 100644 index 0000000..4c1d1b3 --- /dev/null +++ b/app/app.js @@ -0,0 +1,13 @@ +var app = angular.module('app', ['ngRoute']); + +// Root controller +app.controller('root', ['$scope', '$location', function ($scope, $location) { + $scope.page = { + 'title' : 'Root', + 'id' : 'root', + 'blackNav' : false + }; + $scope.go = function ( path ) { + $location.path( path ); + }; +}]); diff --git a/app/app.route.js b/app/app.route.js new file mode 100644 index 0000000..35e7d6c --- /dev/null +++ b/app/app.route.js @@ -0,0 +1,73 @@ +app.config( function ($routeProvider, $locationProvider) { + $routeProvider + .when('/', { + templateUrl: 'app/pages/news/view.html', + controller: 'NewsCtrl' + }) + + // Sandbox + .when('/email', { + templateUrl: 'app/sandbox/email.html', + controller: 'EmailController' + }) + + // Sandbox + .when('/todo', { + templateUrl: 'app/sandbox/todo.html', + controller: 'TodoController' + }) + + .when('/news', { + templateUrl: 'app/pages/news/view.html', + controller: 'NewsCtrl' + }) + + .when('/community', { + templateUrl: 'app/pages/community/view.html', + controller: 'CommunityCtrl' + }) + + .when('/competitions', { + templateUrl: 'app/pages/competitions/view.html', + controller: 'CompetitionCtrl' + }) + + .when('/c/:id', { + templateUrl: 'app/pages/single-competition/view.html', + controller: 'SingleCompetitionCtrl' + }) + + // Dashboard ======Below This Point======= + .when('/dashboard', { + templateUrl: 'app/pages/dashboard/view.html', + controller: 'DashboardCtrl' + }) + + .when('/dashboard/news', { + templateUrl: 'app/pages/dashboard/view.html', + controller: 'DashboardNewsCtrl' + }) + + .when('/dashboard/competitions', { + templateUrl: 'app/pages/dashboard/view.html', + controller: 'DashboardCompetitionCtrl' + }) + + .when('/dashboard/featured-user', { + templateUrl: 'app/pages/dashboard/view.html', + controller: 'DashboardFeatureCtrl' + }) + + .when('/dashboard/users', { + templateUrl: 'app/pages/dashboard/view.html', + controller: 'DashboardUserCtrl' + }) + + // 404 Not Found + .otherwise({ + templateUrl: 'app/pages/404/view.html', + controller: '404Ctrl' + }); + + // $locationProvider.html5Mode(true); +}); diff --git a/app/pages/404/ctrl.js b/app/pages/404/ctrl.js new file mode 100644 index 0000000..dbec9a8 --- /dev/null +++ b/app/pages/404/ctrl.js @@ -0,0 +1,4 @@ +app.controller('404Ctrl', ['$scope', function ($scope) { + $scope.test = "Title"; + $scope.test2 = "xxdddd"; +}]); diff --git a/app/pages/404/style.styl b/app/pages/404/style.styl new file mode 100644 index 0000000..e69de29 diff --git a/app/pages/404/view.html b/app/pages/404/view.html new file mode 100644 index 0000000..e69de29 diff --git a/app/pages/community/ctrl.js b/app/pages/community/ctrl.js new file mode 100644 index 0000000..8b7faca --- /dev/null +++ b/app/pages/community/ctrl.js @@ -0,0 +1,5 @@ +app.controller('CommunityCtrl', ['$scope', function ($scope) { + $scope.page.title = 'Community'; + $scope.page.id = 'comm'; + $scope.page.blackNav = true; +}]); diff --git a/app/pages/community/style.styl b/app/pages/community/style.styl new file mode 100644 index 0000000..65c7174 --- /dev/null +++ b/app/pages/community/style.styl @@ -0,0 +1,2 @@ +// .asdf + // @extend .competition-cards diff --git a/app/pages/community/view.html b/app/pages/community/view.html new file mode 100644 index 0000000..db77b32 --- /dev/null +++ b/app/pages/community/view.html @@ -0,0 +1,29 @@ +
+
+
+
+ Card Title +
+
+ +
+
+
+ Card Title +
+
+ +
+
+
+ Card Title +
+
+ +
+
+
+ Card Title +
+
+
diff --git a/app/pages/competitions/ctrl.js b/app/pages/competitions/ctrl.js new file mode 100644 index 0000000..c7e342f --- /dev/null +++ b/app/pages/competitions/ctrl.js @@ -0,0 +1,31 @@ +app.controller('CompetitionCtrl', ['$scope', function ($scope) { + $scope.page.title = 'Competitions'; + $scope.page.id = 'comps'; + $scope.page.blackNav = true; +}]); + + +/* if timeToView | timeToVote +Show DOM image grid. Load with images + +if timeToVote +Add vote buttons +vote onClick: fill(heartUI). Add {username: true} to photo/votes +firebase/comps/Time/votes { + myUsername { -- rule: limit count here to 5 + userID-I-VotedFor: true + } +} + +if timeToEnter +Show enter DOM +upload onSubmit, add pic to firebase storage && firebase/competitions/Time/photos +firebase/comps/Time/photos { + myUsername { + photoURL: firebaseStorageurl.com/asdf -- write rule, only write to your id +} +} + +if id-not-found in firebaseObject +Show DOM template: "Sorry, no competition with that name" +*/ diff --git a/app/pages/competitions/style.styl b/app/pages/competitions/style.styl new file mode 100644 index 0000000..480371c --- /dev/null +++ b/app/pages/competitions/style.styl @@ -0,0 +1,15 @@ +.spacer + height: 80px + +.competition-cards + display: flex + flex-flow: row wrap + justify-content: space-around + padding: 6em 2em + .card.small + flex: 0 400px + height: auto + margin: 1.5em .5em + .img + height: 200px + background-size: cover diff --git a/app/pages/competitions/view.html b/app/pages/competitions/view.html new file mode 100644 index 0000000..db77b32 --- /dev/null +++ b/app/pages/competitions/view.html @@ -0,0 +1,29 @@ +
+
+
+
+ Card Title +
+
+ +
+
+
+ Card Title +
+
+ +
+
+
+ Card Title +
+
+ +
+
+
+ Card Title +
+
+
diff --git a/app/pages/dashboard/ctrl-comps.js b/app/pages/dashboard/ctrl-comps.js new file mode 100644 index 0000000..c628543 --- /dev/null +++ b/app/pages/dashboard/ctrl-comps.js @@ -0,0 +1,4 @@ +app.controller('DashboardCompetitionCtrl', ['$scope', function ($scope) { + $scope.test = "Title"; + $scope.test2 = "xxdddd"; +}]); diff --git a/app/pages/dashboard/ctrl-dash.js b/app/pages/dashboard/ctrl-dash.js new file mode 100644 index 0000000..80838e6 --- /dev/null +++ b/app/pages/dashboard/ctrl-dash.js @@ -0,0 +1,4 @@ +app.controller('DashboardCtrl', ['$scope', function ($scope) { + $scope.test = "Title"; + $scope.test2 = "xxdddd"; +}]); diff --git a/app/pages/dashboard/ctrl-featured.js b/app/pages/dashboard/ctrl-featured.js new file mode 100644 index 0000000..8fe25a8 --- /dev/null +++ b/app/pages/dashboard/ctrl-featured.js @@ -0,0 +1,4 @@ +app.controller('DashboardFeatureCtrl', ['$scope', function ($scope) { + $scope.test = "Title"; + $scope.test2 = "xxdddd"; +}]); diff --git a/app/pages/dashboard/ctrl-news.js b/app/pages/dashboard/ctrl-news.js new file mode 100644 index 0000000..fc780d1 --- /dev/null +++ b/app/pages/dashboard/ctrl-news.js @@ -0,0 +1,4 @@ +app.controller('DashboardNewsCtrl', ['$scope', function ($scope) { + $scope.test = "Title"; + $scope.test2 = "xxdddd"; +}]); diff --git a/app/pages/dashboard/ctrl-users.js b/app/pages/dashboard/ctrl-users.js new file mode 100644 index 0000000..15c5aef --- /dev/null +++ b/app/pages/dashboard/ctrl-users.js @@ -0,0 +1,4 @@ +app.controller('DashboardUserCtrl', ['$scope', function ($scope) { + $scope.test = "Title"; + $scope.test2 = "xxdddd"; +}]); diff --git a/app/pages/dashboard/style.styl b/app/pages/dashboard/style.styl new file mode 100644 index 0000000..e69de29 diff --git a/app/pages/dashboard/view.html b/app/pages/dashboard/view.html new file mode 100644 index 0000000..e69de29 diff --git a/app/pages/news/ctrl.js b/app/pages/news/ctrl.js new file mode 100644 index 0000000..3b1400f --- /dev/null +++ b/app/pages/news/ctrl.js @@ -0,0 +1,5 @@ +app.controller('NewsCtrl', ['$scope', function ($scope) { + $scope.page.title = 'News'; + $scope.page.id = 'news'; + $scope.page.blackNav = false; +}]); diff --git a/app/pages/news/style.styl b/app/pages/news/style.styl new file mode 100644 index 0000000..11169eb --- /dev/null +++ b/app/pages/news/style.styl @@ -0,0 +1,102 @@ +/* +Table of Contents: + Hero + How it works + Header buttons + News + Featured User +*/ + + +// Hero +.hero + height: 70vh + background-size: cover + + +// How it works +.howItWorks + background-color: #eee + margin: 0 + padding: 1em + + +// Header buttons +header.label + cursor: auto + color: white + font-size: 1.5em + position: absolute + left: -.3em + background-color: #bbb + &:hover // materialize fix + box-shadow() + background-color: #bbb + i + font-size: 1em + display: inline-flex + vertical-align: -5% + +// News +.newsFeed article + display: flex + flex-direction: column + align-items: center + padding-bottom: 5em + h4, h5 + text-align: center + * + width: 65% + + +// Featured User +.featuredUser + // Desktop + +above(700px) + margin-bottom: 2em + article + align-items: center + display: flex + flex-wrap: wrap + justify-content: center + margin: 1.5em 1em + +above(1200px) + margin: 3em auto + max-width: 1200px + .left + flex: 1 35% + padding: 0 25px + text-align: center + img + width: 100% + max-width: 30em + min-width: 15em + border-radius: 800px + .right + flex: 1 60% + padding: 0 2vw + h1 + font-size: 5vw + margin: 0 0 1rem 0 + +above(1200px) + .right h1 {font-size: 60px} + + // Mobile + +below(700px) + margin-bottom: .8em + article + display: flex + align-items: center + justify-content: center + margin: 1em 1em 1.5em 1em + .left + img + width: 10em + border-radius: 800px + .right + margin-left: 5vw + h1 + font-size: 2em + margin: 0 0 1rem 0 + p + display: none diff --git a/app/pages/news/view.html b/app/pages/news/view.html new file mode 100644 index 0000000..89a9b69 --- /dev/null +++ b/app/pages/news/view.html @@ -0,0 +1,38 @@ + +
+ + + +
+ +
+

The "How it works" section is a work in progress.

+
+ +
+
+ account_circle + Featured User +
+
+
+
+

Firstname Lastname

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Make sure this is the right length!

+ +
+
+
+ +
+
+
+ library_books + News +
+
+
Topic here
+

Title here

+

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+
+
diff --git a/app/pages/single-competition/ctrl.js b/app/pages/single-competition/ctrl.js new file mode 100644 index 0000000..dce26ea --- /dev/null +++ b/app/pages/single-competition/ctrl.js @@ -0,0 +1,4 @@ +app.controller('SingleCompetitionCtrl', ['$scope', function ($scope) { + $scope.test = "Title"; + $scope.test2 = "xxdddd"; +}]); diff --git a/app/pages/single-competition/style.styl b/app/pages/single-competition/style.styl new file mode 100644 index 0000000..e69de29 diff --git a/app/pages/single-competition/view.html b/app/pages/single-competition/view.html new file mode 100644 index 0000000..ce0de8d --- /dev/null +++ b/app/pages/single-competition/view.html @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/app/root-view/_footer.kit b/app/root-view/_footer.kit new file mode 100644 index 0000000..609d5f8 --- /dev/null +++ b/app/root-view/_footer.kit @@ -0,0 +1,5 @@ + diff --git a/app/root-view/_header.kit b/app/root-view/_header.kit new file mode 100644 index 0000000..c30bdcd --- /dev/null +++ b/app/root-view/_header.kit @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + {{page.title}} | Flash + + diff --git a/app/root-view/_nav.kit b/app/root-view/_nav.kit new file mode 100644 index 0000000..c76d989 --- /dev/null +++ b/app/root-view/_nav.kit @@ -0,0 +1,74 @@ + + + + + + + + + diff --git a/app/root-view/index.kit b/app/root-view/index.kit new file mode 100644 index 0000000..55ae8e6 --- /dev/null +++ b/app/root-view/index.kit @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/app/root-view/root.styl b/app/root-view/root.styl new file mode 100644 index 0000000..bfae0e7 --- /dev/null +++ b/app/root-view/root.styl @@ -0,0 +1,78 @@ +/* +Table of Contents: + Main Nav + Footer +*/ + +// Main Nav +.nav-main + display: flex + justify-content: space-between + color: white + position: fixed + top: 0 + height: navh = 4.5em + width: 100% + z-index: 10 + &.scroll, &.scrollStuck + background-color: rgba(0,0,0,.8) + + .left-nav + display: flex + height: navh + align-items: center + * {display: inline} + i + font-size: 6rem + h4 + font-size: 2.6rem + font-weight: 500 + margin: 0 + + .right-nav + display: flex + align-items: center + + a.btn + padding: 0 + min-width: 7em + width: 10em + margin-right: 1em + &.blue {margin-left: 1em} + + .profile-btn + position: fixed + top: .5em + right: @top + border-radius: 100px // tap target + img + border-radius: 100px + width: 5.7em + + .tabs + height: auto + .tab + height: navh + line-height: navh + .indicator + background-color: white + top: 0 + height: 5px + + &:not(.signedIn) a.profile-btn { display: none } + &.signedIn + a.btn + display: none + .tabs + width: 23.5em + position: relative + right: 7em + +// Footer +footer + display: flex + align-items: center + justify-content: center + padding: 2em + * + margin: 0 1em diff --git a/app/sandbox/ctrl.js b/app/sandbox/ctrl.js new file mode 100644 index 0000000..d552628 --- /dev/null +++ b/app/sandbox/ctrl.js @@ -0,0 +1,15 @@ +app.controller('TodoController', ['$scope', function ($scope) { + $scope.todos = [ + { name: 'Master HTML/CSS/Javascript', completed: true }, + { name: 'Learn AngularJS', completed: false }, + { name: 'Build NodeJS backend', completed: false }, + { name: 'Get started with ExpressJS', completed: false }, + { name: 'Setup MongoDB database', completed: false }, + { name: 'Be awesome!', completed: false }, + ]; +}]); + +app.controller('EmailController', ['$scope', function ($scope) { + $scope.name = "Gabe"; + $scope.email = "rogangabe@gmail.com"; +}]); diff --git a/app/sandbox/email.html b/app/sandbox/email.html new file mode 100644 index 0000000..57fdd99 --- /dev/null +++ b/app/sandbox/email.html @@ -0,0 +1,17 @@ + +
+
+
+
+ account_circle + + +
+
+ phone + + +
+
+
+
diff --git a/app/sandbox/scrap.html b/app/sandbox/scrap.html new file mode 100644 index 0000000..6f51404 --- /dev/null +++ b/app/sandbox/scrap.html @@ -0,0 +1,13 @@ + + + diff --git a/app/sandbox/style.styl b/app/sandbox/style.styl new file mode 100644 index 0000000..e69de29 diff --git a/app/sandbox/todo.html b/app/sandbox/todo.html new file mode 100644 index 0000000..ff59f18 --- /dev/null +++ b/app/sandbox/todo.html @@ -0,0 +1,7 @@ + +
    +
  • + + +
  • +
diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..8597a19 --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,229 @@ +a { + cursor: pointer; +} +[ng:cloak], +[ng-cloak], +[data-ng-cloak], +[x-ng-cloak], +.ng-cloak, +.x-ng-cloak { + display: none !important; +} +ul.tabs { + background: none; +} +ul.tabs .tab a { + color: inherit; +} +ul.tabs .tab a:hover { + color: inherit; +} +.spacer { + height: 80px; +} +.competition-cards { + display: flex; + flex-flow: row wrap; + justify-content: space-around; + padding: 6em 2em; +} +.competition-cards .card.small { + flex: 0 400px; + height: auto; + margin: 1.5em 0.5em; +} +.competition-cards .card.small .img { + height: 200px; + background-size: cover; +} +.hero { + height: 70vh; + background-size: cover; +} +.howItWorks { + background-color: #eee; + margin: 0; + padding: 1em; +} +header.label { + cursor: auto; + color: #fff; + font-size: 1.5em; + position: absolute; + left: -0.3em; + background-color: #bbb; +} +header.label:hover { + box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12); + background-color: #bbb; +} +header.label i { + font-size: 1em; + display: inline-flex; + vertical-align: -5%; +} +.newsFeed article { + display: flex; + flex-direction: column; + align-items: center; + padding-bottom: 5em; +} +.newsFeed article h4, +.newsFeed article h5 { + text-align: center; +} +.newsFeed article * { + width: 65%; +} +@media all and (min-width: 700px) { + .featuredUser { + margin-bottom: 2em; + } + .featuredUser article { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: 1.5em 1em; + } + .featuredUser .left { + flex: 1 35%; + padding: 0 25px; + text-align: center; + } + .featuredUser .left img { + width: 100%; + max-width: 30em; + min-width: 15em; + border-radius: 800px; + } + .featuredUser .right { + flex: 1 60%; + padding: 0 2vw; + } + .featuredUser .right h1 { + font-size: 5vw; + margin: 0 0 1rem 0; + } +} +@media all and (max-width: 699px) { + .featuredUser { + margin-bottom: 0.8em; + } + .featuredUser article { + display: flex; + align-items: center; + justify-content: center; + margin: 1em 1em 1.5em 1em; + } + .featuredUser article .left img { + width: 10em; + border-radius: 800px; + } + .featuredUser article .right { + margin-left: 5vw; + } + .featuredUser article .right h1 { + font-size: 2em; + margin: 0 0 1rem 0; + } + .featuredUser article .right p { + display: none; + } +} +@media all and (min-width: 700px) and (min-width: 1200px) { + .featuredUser article { + margin: 3em auto; + max-width: 1200px; + } +} +@media all and (min-width: 700px) and (min-width: 1200px) { + .featuredUser .right h1 { + font-size: 60px; + } +} +.nav-main { + display: flex; + justify-content: space-between; + color: #fff; + position: fixed; + top: 0; + height: 4.5em; + width: 100%; + z-index: 10; +} +.nav-main.scroll, +.nav-main.scrollStuck { + background-color: rgba(0,0,0,0.8); +} +.nav-main .left-nav { + display: flex; + height: 4.5em; + align-items: center; +} +.nav-main .left-nav * { + display: inline; +} +.nav-main .left-nav i { + font-size: 6rem; +} +.nav-main .left-nav h4 { + font-size: 2.6rem; + font-weight: 500; + margin: 0; +} +.nav-main .right-nav { + display: flex; + align-items: center; +} +.nav-main a.btn { + padding: 0; + min-width: 7em; + width: 10em; + margin-right: 1em; +} +.nav-main a.btn.blue { + margin-left: 1em; +} +.nav-main .profile-btn { + position: fixed; + top: 0.5em; + right: 0.5em; + border-radius: 100px; +} +.nav-main .profile-btn img { + border-radius: 100px; + width: 5.7em; +} +.nav-main .tabs { + height: auto; +} +.nav-main .tabs .tab { + height: 4.5em; + line-height: 4.5em; +} +.nav-main .tabs .indicator { + background-color: #fff; + top: 0; + height: 5px; +} +.nav-main:not(.signedIn) a.profile-btn { + display: none; +} +.nav-main.signedIn a.btn { + display: none; +} +.nav-main.signedIn .tabs { + width: 23.5em; + position: relative; + right: 7em; +} +footer { + display: flex; + align-items: center; + justify-content: center; + padding: 2em; +} +footer * { + margin: 0 1em; +} diff --git a/assets/img/gabe.jpg b/assets/img/gabe.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad29f7bcd85aecbed2a4ba1aeb5a51616f477782 GIT binary patch literal 259502 zcmeFYbzECb*ESklid%6hP#lW8_QtJfibHWI?k>fPQ=kP3rMRXPFRnp~yA=rT!9sul zU+(*T-sd^*`RhC1`Rn|CXJuw*WoNQxu06BY%&dLoY4K?TK%}Omssunm0RU8xFTm3# zSGl6Uqa6UCsR`f&007tkOcW9T8d5_+z5poH0E~Zh0KgE1=HI$G3j4pxpaKA>r2i=& z>j*&qS9zpOKsPcYYx&#KzuvJ@0RSxIC-heW0{m$x|D~g#q5;1B_j&$TufC!D$Kp5C z|F($1`wi_sdNJm|${>yXBbX>?|2l*De{DAk!GGF~Lh(P^jq=~tQ0P(rT?=RUzwG^w zc0VmXbpwd8k*)lOhVlY{N{oU=jPleEU_e%df%1?1>t_HY7<3FwENmRyXUGDLL;zG2 zG&EFnGz<)MEy>v_foVg}NSc-6<%G;5*Mq99)X$ zlvLELFWJ~RIE92oM8(7*pU3_#rAf zCN?fUAwA<$W>)s+FFD_fic3n%$}1{=);BaZHMg|>>h0?v7z7Uuk4(?Z&do0@E-i0D zwzhY6_x2AC&o3^ou3mU+IBg67(b`QP3dlyhITt}-hLu1A>NAh;$-T~}ZpaOxf5Gdwut`LF3< z;j;Dx_g< z?;&o?OizEgXa4i!ny3BYBrS2L{}(WxhcUR!KK_6h15| z9z(UCb(3nR5-Zj27`_=2A7l%#7^XL@#J#Z|CD4+nRSZPPKr7ie|Jm%BSyO^rb^_L$-*$zuLixI-^&oVhC4{V}W!GYQzwL0c%0=O2 z^pK@0T1Fmlx9mfxz*wR2&^(D6AI-bOR6S=#{8Z(ec=8*p2wA5m0Ga=5rG{DV&G^s( zae$A@PkRqe@r~_7zuop@z4Gi|$*a8d1m>5MH#}Z2Dfnp70nw2!Y%DOz9jZctH zh{qSWnQ=`46ZxTbcmTSIjxhBnK;07nK>~*Po@1;d*b2zLyEws?tk+B9u@vBuggc$JIS3zBW@)Z9SG;?S+U!JUs$evUa%-!6?(M!GMX^vk=~Kw zmq8vbIdfCI^&7085#}k1A5FoxCk8rW15bSjcn~?Ob1bsx*6c_!jI~ zY*Re}Fg{!sJmO}bNAEH4FVx~72EssXiG}pvyN0$NpIN!#F+dHT0EsWim&=U2Qar12 zU>APB#OieB1fM1!!@QpW(FLTu$FdDT)h|UlS-lL<@{@Lc$dIVIPuVav>`xRB2HGTC zD(Duar*C9<7gfZ*`bxI9oe!dYT(p~fhGd3kBaGjye2v!-E$hY2bW}VNF;3AFfR5<{m<JBVfL8YX{Qmk?h$fQ>lZ}yi zevlRQv5DX`kbQ#?e7i84j}AB45aHxK&IHpovn&+oiAM!8D8_CqUrQ8xS!N5r{wnvo z$>CVd8sOD~&d^7GRTk4p2Ty-|7O?SpH&Wwca`Ba`gyr4B(OF-?(oMJE=hK?^nJ9

p#I#Vhn^n(!P<*H!mhT< zQH6p81q&A-2DX%h2|vckLKW6X!C+WG+qp$j{ziO`? z!Y+GIHIIy7-xSzUIdy!<97#@d0r&4Q`UA6wrQ9Bbko*`8kRr*_(f|#daHVfG)+b zcWu->0iMqjM?cQ!-S$z*)`Zod<#EVFb`5(yJ}Vv%+o)cDPOnv_^ZE&pY7MeyD_!vt ztMegolAd^)x@+6iKCv%7>ZDVbG&vr{^%P9!Iz-L|-0kP&znhnfp6hmTi2(L!?-wps z?gfLLW7W=88)wgds{9ZLOjRbozver6wka*TF*evyqE0gGV$0Gxv{{t+V*Gu-#3ADeVB-iPLJ9up2^2>^64V*T6uawO4vVNVYNE>C?(|0*F!BE@uf8g5V6n(iJ5=Ew~qwKS} zqVoE-*tQKg`G+huT2Wl=8kFZP2``csaNcLY=qlh8Y|_30J*UAu4RKW$rl<~KE?m6b z7N?Xx+J6E7_RoLcTjb$F*9kN!d()EVP9Mo)M}t~zx{n*zP z-?D`98zboF2DHAia@GH-F|IE9-6X5jPF!SUvLsx@JChh0n9p_H48#BFhTeFc_t>z>9)%sBL5|GKvDs#@#n7Q40L;#h z+|j}Ystgzd^mCgfSoN~1p-jQr(1|`1c2Mx^mvfoDc)k-}Cwl&2kk|->8Z)(d5njqm zk#diW0w+Y=LscisVGbyX4f?Q>LH?6>QroPL5z@&v(;fyv4l{Vn3UKPn$Jd-cz;(6p z_N$Giw636az1tc7@k5#=dx5CUuHozMWazh!(t#Xuo-WVPC;QU}k*URK92C(ZIZhL%oTVcHZ1n4o9;WRT= zVRL4JFz8NvS~Y=g>pK$A(tR=)G^72?iuypo&dJviXK_Mm+P`<5yNba0Y7KF zjyRUpU)MonV`GXW>W1GaPj_}en<6k0xf*OXd_ZLI07o)S8u~y6r#pqY_D>UA<^&>b zF2x~#6eE*975j)hf9CdLJHmWvvqNo23GV`fTWt8q;-%AFXAx=TV)u0GI2Lqo^}2W} znDyLwz;D#!eF-5n)3Q>!F6}nMv;ms8++27??!{npLfJGiV}bga`h+ltTst%zc*xgn zrmXhC(rDo~fI!>y3bbdww<&tUQ1tez=Y(Mb`wP=l`#;LHIYtdIn(-C|&qdy?dpOQH)IcoxT;9o}L!0uG2$Y|Jz1}-*K2(STpxI z+z$-PXG(ekc!jx9;kC!Cq}}13r^McfgwU>xtM6tjloSNj=y63;pjJ@35#d`l{6>R99}Ut znC*YUC`EEX6VE>rfUmF1$GoI8DF-GqJ2b1TI})wM3Tl7d^ryg8PJX}NWR|Ws^Xr>< z-e>LLLNE7*z7^8N#U08OZ$+^{N`AGMaJ?S;1R&yl(d2WfUb>Z-1L@gq*-0?HD@|S% zvBK$eEn5m};2XS8L5Gvv9Vx!CyRdN1nB0JL4Wm8cQbEkD2N;^VlG_z)$6a|(ud&jV z*~Hlxz8zTX-`~FrHk#dn2l>$D2r{rv(7{2M@ef5pl7yte-sfy_K8idZ(zA)(>HH@a zR(+rIG)>J^=RzTd>ZcMFhOo@9Z46H{cZ9HCaKFu^U>>jS!EZEn;D^hc$G5`m4u08Z zKYm24J0;gdx?_YH(hHtjM0YY7e|;gpd#dmmYu0+ci>J$xZ!tr4rt|qxK0nm9D)&e% zX;G2oR9`X=Kt_t=V2;fUVusx4{zunQ~lO?VXc;oK1-VtJ7Y$~~8t}xLgwiFN6?J|Zg z`8f-!m#ivOJtMKw87E3s3QAiz2SsMRFkNunJAHecAH_7Rh2z_d5FbDYv<4v01u64IYM3 zlKM;0$d-A&o)P*4NZ@OPlR!Hez1@i|^|;$8P~hr>8kWJr>qb1WjPE5k!Lbb? ziX_hEnR6|-;j)>wT2-2Y`;N9cmCZ7~GhKFc3=X0N$B^nlPsCYO=ht{-jkGaaI;`ioF@)`uNb*FJh&t$cq02^PP z0JK6UY9X&To+l*qVI^{}XpyFNwWVucyLt_hL$v~vxeoZykbYW93gvtcvVeFYBMO|^ zwSqnS(KIF1qJ$RM9+A+pNZ>!H{l*zuwdt3*2Q5gs8q-ru1q)XX9qM0kc3&g7?q}in z)|O}ZR1G?S~dFc~fC`HRT z91uKTcYl4KGE2DFw(&9+$^f%PUiY4km-cNRHR6i|Mm#4ji3r8JyD4cmJS=D**VgNO z#!Je=det}VF5D(5Y|tJo>6FQDvU>}NO`EdGSbw&#gxa;OQ#hzY6cYt7(P{&ZEcBG| zsdPOGMz3UZTVnZ=dA*_)eODHKBix{DePOhY=IBkW9k*Yt%+@>!xVBPA;6Kka&rb`j ze8EhEf>-1Z>|wpXW{PK$(iL6-DZ%8o73cLZ>b7&XkA>$V$&t@VJ}{!i>K&bOK`v>3 zbvT^V%UH+z2aJ4Tid|#)a?>d^Ywg2Hi3inEay~eVFc+R}G<)GAx$Usac(V~P-x)J2 zYfYzhq#{BpKV*(g`@tLx1;V^%rKpNNN`AB~^L=~L!$#+vjjz@yF=aS;agj{ZKU0~P zAKU)~Xv7XmLHSa8tDJtzmhc3Sx&crJ#MUfZWM-+kX?;E+;m+-jk~+IvUX=) zPqT1)nB80`i@N(=ZChoV64;#*>q7YM1G2N}wV<`RwJkY+eAt&BkMM{>;y^=gQK3R@ zQ&)hd^XlAiCe@w?j6jj9dwFLW+P4cj@v7zt#ZZ~XYk$tm6dvk}o45*U%Ebq3%#N9h zOIR+PF9^y9`BT4He#x5@YIb}|=KjtrQ_4^KS6}mVr%cCWyDEFrtk4A0K<@in!gal` z{TZttELvcr8|%vo7iOe`4#DxNeW%OkqMAc%DZ7Lo=A>H_@Rv`30Y2=vhoP)ciX!{! z{j4|Y-d=ne-ponrsZ-?3zX9FL>-@(Oz+t;~{PCy$bZucd9* zPk_i!?b1BV23}?sfC@9>fot-(lqj|M2DKHwCE)a&B$~6jyBxu9M!2+=O2***$VPtA zwj@}z`6-X^TQHsbH(7k@UwP_KTN-?y%h3-e6f?v=mhWJ|9>* z#yDE0+rxa*vFM;K?|2{t-9155QxJLxFCWy_RB|NIkSVl%FDR5COa1-s@iUVkOL$6+ z!nZW3-?2u}rdW_;`hi3uE_9?s`<>t_{b1M76X5aL*Uh6a9HjfwkYVzFH*Y22*qr1< z>v!>JF+u12pdQK-Iz>TGJbn7DuA@1@=5-dgC?B12A%Y75MtbTWvN*zL@lSxJ>^K=F z_zR(|@e>NwVtbZ`{;zvtQu+A4lSxXex|4ckWVJW4PjiT`aM>*e!UF7vCWs;lIfF%S zyBh>F$Vd1DaQR9<_CcdB<`5&)%ijwEjB8M*nBgh)eIs_8ZHL})G2(X=o(`71b8ND2#uODJ*ZuIgz4Wc>;sRZ z@0FY_h#R@qo*4;95%*6?(EFY0V&A>%A`08Aay{iXo(@u{+IpQSDAyKF_w$>Fk?!Nt z6M$qZsR4wkPLcYPgWx@poJS&wk(~AI!s58;#_fJ-irm6RipDw5 zZUMt;b4wP=l`^MnrqjVmTEq}tQb0=7*~>YEv`dgA72T{Lzc_1(uJ(MJ3D*SU4s!FK zHS#ROO=p1p&Vx1jF|#KM*A$vv+i)=RWM(qqmBukuxQ8% z7hcCX`aa2vUbkk2_uhZG-^Q+U%?Q%baBuh3Kck9w$6-}OdDGlBSlY>0KdDp6bhv|X z!VS(&`vjo4N{KSAK?bRaIx|D?2!=VY(eZ8|of;2`oi7n4tq)(XzP^Tt#><)5W(4BkrI#2sZ&X-=79b!5Zwftv4vNSpga$(g9EmvNz>+d~ z3$}RaHFlMQO2S?vLN5+9=~rqRp34$RX?sBM?LrjX8in2xxK{!gi8GEYQWzS6k?nlW z=LB0CKiV=}j=4luQFY=OKV+Qbz}E2&8HjCKW*Z-v{+P72YGm`IFR^u*bL|nvJ5p2y z`Bd{0R&0?-rgy(ONnVc*^8O(+=wcui)=+53F(dml|7eoE71|8pF=U8AZs!r=wy=2Y zi=00gMlo2Di%{j@Mu$U-`U3EY)AMtzEX4M+BHnq zep5CQLF`v^WU+Yn$y3n{<)!Wiwh!S&ht5ssqR|au`2N1IOI2lpab_9IK0q}J!&jet zy4f@Cb^~N&&33qnidKV}>n8R~D*xi0;X-2feCeF`9F>ZVBc^PeYSx4N)}Kx{(nz)W z$7V?f;EZl;&zi~~xGRmVxU;W~6+B(`wfQXUR_6s&a$&>*kGEDzvZh@iV@J)m<%+p* zAf(3rJ#S5)l0az}?-(?_FwSqq>#9AQqRMJIsD^;oLY(x*BGXc&@P(ZS5YO=^aVfk!L;dqtO=Skb!m5rWWl;$0htE#{M+HBWWI{Txga?&} zyilIo`d(gQISsd-ed#cXThJyDL23<4ffwQw^z>;*S^M(6bm(C)P=0V;^08PP-MTrh zDAwL$NHC6xc1GuDsRnwgb471sC`J+fP8g{%mAc*qN?aUkap4HHnx(9VeL$}M8=N(H zAttkm3DY9JpOaD9SHV!gLJC|Ird2Q~OXMc&BujQ=uQ4lpUoX(ZNeZ*kXRwQpX9KY7 zv{+N#fCgnFEE);>yQuxcz!@w=EBj3{q_eI@$dHOEi$+?#=zFw_Xtb>DoQIzC^%H|l zO=Xw~l&@dRCXz$=EAQ-T_-`~#YV5`6m2`iqfzZv(c~uL(l83_QXR2l<-`kAuR!-}n zv@Ty~#+;X5kc_4OR5}zl`bG|J{D#FA@t6zakahOqqo0+C*XUd zV8vt;~zgp1whcPB$k0&9#0*>#tH>z`5 zFF%V*H0X1x8_Z8(LX+)ITn77&F3g5PP=!i(fWgn6l~^D&wHzMxRC(gTHW7JNaY1CTo&DPgpU1s0-P{~ zR60L0;<+#@Tuw0Bcc-xAC2vs;3*VkYgL*_Qh{9alNEGp+k2P1@5)hSBN`I`nx2>OD z)m*$6;wO%*?qsvwDROyK{*wQ0N3AGHJec!z?`HJe3(^%K!-^2h9q^Mlns6cbyf8hA zSGdjKZE2Y*w>BQQuz>}hh?WtZ^0qnejOB7NeC`PQY_9=vKn`u`AmYUj76Qnd7@UB> z*n%V2%4{6o_=|A4SXraU<>;%b_NJ4^4iWh8B|I>l%MOO2?HByWjt+iTpM5WUGMGLk z##$txxX1EdmVi*pzhr=xpH_tYor9#%^@(%i9la77749|b3He-?P}ewk{|rG2f`vf$ zK8D$8O7iQ#H=RiVApgJ?+JZ z=o@c?KXulzaWLpnyJyjJvOg_6Ds|b&M&E%GgWWu=QDxwrV=qzn9!bVZ0X$4tp>4%_9DHZn8Lzfnm{%4fjHJySuuDP2pM)z+(Vte}w8Uhs{=cSl8Yi0~YW($H)WkV)e>>dQpG5Wh#o7R70$C(()iHxB(V|CGfYZFWGHH<0mLi%FebQ0HEz<*vaJY zv~F;2tnG$5?CQFR=grtOHQ=)357dWyRW_Bd*oIEHC(0k{4AP=pfj<5gIM6LWsXMXa zSM4#~>16fy(}n{39f}KNtvd}omC;4l-eE0Zor6lHSZ)2v3Xbo)Ro@ibhmZ7eh7rkw zc;V~C%l=*WwrB=RVe+>5UU*(t`TZ9Yk0?PgVx zdd`vv1HEP*GJo+i;W{)n_p80k2!ZBlXbQqj0J-@1xtAct;e^py0)hRQe!)m&j$eM3 zjB<$SW#R7Mr?lWAYbhIp!&AYVE?j6S4=7wzWz4gw4HyVD2%VRusp)cf0?@$K?*6PD zzvr$oymQuF$+UaVSsQePbzm_Y8y8HqY32u$LB>d8-!&)LPHzVgM_z?xY00#L4iBuh zu(g*E{0Wh_T+KI4q0CWL9722NYNitxPXOjyorh)wG05@7Oz(VJJhOVVU#5%=54YSl z1001R`prWDLM)$hmPd$d&p;G5DqznNFhwHQBR0wlECe+@0p4p;s1G<7Gq7acpXad$ zS+|Euil&%5Z?4(*>zEwMP;^b%5I|dKtf^$%+_gLoaX>Hhne~?SFI4#o5TuhIGO1I| z^x9;rPl$zNm-b*d`4)JbeHH#q%ND#^qH$`eCdkFO#YFS5QIUxwy~sH*S@fL=jUFZ< za?la8FWe&!Bt?Dq9M=2Lz??jx1sC3QvX0CzV0 zG?I#(XaA@&0@2c|eloRDQ86WZ^`Lf`X5~37sJW>*Hp7|6$3Ho-iFGBdoXZTKmsb8^ zgj=7tZRIgG6_o6=sT*NEEXl{@N@qiRQ z7j5*tWbL#zEkoNxP4L|LClGSN-S`qH8Z`wQ-Fncw*Yc*7O>@8nxBIZ}vLK&Bcmt=N z06&_K_rlHvA8{1V)eR?^vZS^9ZknhE+UsmhxlN+Ni6=O6AOj<%FUbEKD8Nov(?*T? z3x~-|);d)M?+TIb&?OiX&Q;-W?A#W{H=OgDDG7Vy>gdcINg=>6dWe^K?zF5gBRP$( z$xRvSZ0$=k-6a@`1y9*pIDP^^b7aX73=8YOo%tn7dT;Amm)bBq31yApMO)e@oA*J% z=2O)^3~>^&%Pvc~9JUv{z#?+DbI{nq7W;VcfyoHCObYV_Kg_S|_tPW-P-f6-;1MK+W+f_#xSVV?iy?mJq?U$jqOLu>C zuD@R5hn{ZG#Mz=-&vFfD5QIM_#P?%mR4SZf=Gen!>kbQ{y zkLDL$6zAr}mZ4+nuJVkGqFTgy#O+w%O}grVTmJ=LEKdo16#NS_e`bI&eY?WOdcl#I zbCEe8u`p@TK=9Gcs!E07U8UL=mT)mVi3exM#1ia}kqi$!q(&8J^39WfKg4-CRPrci z_7D3U53Mro$8@Ua=yZMb>#3mUB1M7x<@fnnnAIWs1ycU6`+w2+lR*9)kG?Fim1JYv z=C_QZ8ke9&IT{PXIzHb@Qr2lWmr1H_&DWIRa&EvDb#ZvBu#Jq|Xnfwj+RD#_+7*@` zHr?}{6f?S#c&vfFjx0(Te)u+TFvQ$tf(N>Y*M%gKI`^3yUkOcW;?;fabx-Fa7pFug za(9LZtkyxe+Ient=U~oPQ~8ai!1{!$DdC6E*lAC62sT>68@a;NXPcE8Db9Ce$6IdeLb^SW%?p{f_00n8l<)O_m9Vjr`oFVCvW9Hj} ztAbjjq2t#ZB~Sy4Rl);A=6&!8u*UXrv5V>vujgI{ZUVD|a|8+-G|syT2epkF_!m0t z#xuvfVo`jjWcouKko-y&G~Hss72wS|Tb;S{oF=fb5SsV;qkl8@OyJ9cjcXacbB4qQ z6Ehd4pQu97`X_)oT&yAF^EB&o(81_t!HGecY3T1?!S%l(s_&XVafFNV*%P?GCMYHy z0&UB@^}+G-5s(!69l%@xT3e6kf~Fo8)W>9U%eiD|HvPr&txu6hRu} z+MBB7C%~7>>#|Y39Qv=4MZ;kZvT@D%eAZ+hZD6vxRm@!4Dtd))8+bNe7Wi=GKI#*2 z!ivgVzA8p$pTY;(UP4oE07&?50-6HTJ_imQ%sUoksXUG!`!ZQY->?E(_g;1e!ar_G zqivQA;#>6H5I+G*z-3C)T&V*#CjJrouLLLH^Iwz*(*^oRZJQ5ni!uZT?~Tt3Lr%hY zw6oh)%MO>D6Mv%$Udp1mTZj8oQh~(aN8kE9&KZ>82Br0B7&W=;kxG9(s(k@Ay;`Zd z0&m1dHcZ47&%GuK;2Ss+xaOO8=IBbk=`V zqFK7cr4+zV^n-Am&&P0u(0`b#7`zy~|37o}A4cx~SDC9wy6WGIRb;|Ia#sI~tcr>K z4_6f%_aBxjHtxR!?;j!fTL}Lx|1ejP7LZI=EMy{jhVzW*|FQhTT-E!Z%vFTf0585w zUc+0Lw1_`nb#+t=FNtTc2Q-u%KYjVjTmLh-k(`nL&GboyNRHX}2oc4mug%NF#alIi zFO+ZA*l`L1a{&n=lLCZ%LIFP3E;O0|Lu_nX-GF!1TX}CrBqlMKiSG1*ORlQI1F1Dz zq;xFVb3K-GCOK$41{_X=qC+@@FdZWT^EqYf3FgZ6b2J;?;!V`+hI~3XFwP|`k#uW( zC4h$~sTcg=z=XyT&-#PTkZ~?QBKvALcUzR!rv}75wF4?)1L(a%WaMM8rH62NjlfDS zlwBP>IMj#wE;jQXCpcmr<-1MO0{=fO+B>5Svv%0I8`60MnQB&`i6 z(o`mCy-VDf%m-yC_3KVgj2Y~(uxg$BPwJ<0Fh>$JRjLCGChA3Lbss*1bRyJ0je$*w zs_wlj3@Q{`P0!VL3e?KK&-~c2bm|q~FmT7sOVec>cUqPo&*5bzG=3IHT`^&u;KhV? zHwpXUnI6zW=SQ7pBb}tnIFl-EZ<)?pl{b?)=#=g@K`!w8Kp~!&b!;~~MBmWK7j{*{ zt6t}5Ix{zf;4Jv;HB?qr5J*bwVfTI}-NLx^XF}L#X~)H9`OfOXq;h;wq1m%~i1on2T?S)K@O+ZopCkP4|8u&l8# znu>~qUi-|SdP8$@#G$rOU=Ad-YM(%T{R zZoE{r#aQ72GLgkUIz=uEv8cdW-(W(4L|+^bHIW>xR5g;@>bnAep|0kuC8KwiC|e&& z!ggD)3w%|N9kluuCyUpT1@)sII0t@p{O)CsdAof%gO;v(g_@rF(!@vvR+Tl*f=*wQ zGeA;4Ar59Ru5%PKiKZI7Oc^i9`rH2@gIr+2!W;hTe`F-W}{3`~~EROSX)k6aBM zC@2U?^&IJ(G2#~P-s{FAJ73Pio}Ae3%pkLVc;Cs!TV9zbarwu!!kT}{_*69FkdI$= zd#c^LG;_d`8(5-bdQ}$1(|ehdBWY(177iZL<*eP(W1;yqpXl2YnDBX!KT}xhtPpRE z*t&`1fbsyCzAon4S}~2^5dXe3)xJih>5x!3M2`+b+L{INya5)&}FpcYLjlcy${AZFTw?0 zIS*DCt-szrdbd3?CHEYS+(8NDAR$kQa5|gDIc=7um*orYX5gFnVJVr4oR&!4Reqh!n^R8OR@*C%rakpW-ly<{At>C}}>{^fw(Tb93{wvJD1(3h&MrT{? zP`cURySTKKJmBIVbojHV?J| zRo9|d{qBLDiXpZe>*2pbbK;Eg$NAHhUv@T3N};(peEdlyvf&L z4F70R{N8pt(LO4s!zF&|pAz#(y}W|Hf=vl_f_2dJzUsyr!j!IRuAAD5Lu>k_!aZvl zG2k2r_Kv^9w8-eqF;o&x&Y)$)FwdM^S=u1r2NpIfQdP+-T!AQRf(n$?Qfw4yIlq@3 zD3bqP8!xU#vZR@!$#mo}{!g;dO_`qQrl!zKYqKBQ3km+aW=-{8$@oF6E5T8_?R?;r zkE+^rwRbqHTh+%Yy#*_Vnl}~6)54+e&4Bw0Cpq_^RG)`U(0EXC<4@yyJi!|czat&+ z4U#mPcCYvDel~5&`W?eB&XGidz`3`f236K24zVP*C)%ZaP9a8l`B}2aoups)7+G#K zkG+?DW>&n}Zs5ElZhJNb$a$Rq$rUTHZjhTx0U5@4vVBy*VJ!ets-5S3#u z=MIt`y-=`59~D)17@RWYs364#bPg@#h?1Ma7d>k^jSYHDQ+5~@e0kHiuP5h9=x5s$ zB~kQ7jHS~4)Vjb*GYK!`73Na*_WkrNPvW~qoqz-Fx6%A8zrE1->1?U=WP zF_B2QTxPJ-}L)0IH1e5{L(GXss8M{Br-*-2VrCUivFFqH&qai;#+bb#k^HutB~mWh`J#c^4}JB?}v)TATB{K+k@nHu1|pkMLlZ9(?| zZwd1nkOZdZ<#^vfg#^w!Y))`5K>c$83(lN8)OE zbwOH`E=ko>G~&c9w8XjA!j`E95AH+j{D&od`tOuOc*^yp;UO475^x1B7ZoRC4HsGg z6K%Y#a&@ZjX)3l!tyBu0;n!P~%;aD=xEJ`W#LU=eh^-YG^=5!u{;k^lz-ysyB0+kX z%)!*J1T{Zv?;N1iEl)O%tk^ok4ANbYmt$AfEe!jXG+9?jpKqI&U3B{8TTMk z&Dq@xS`q%Pv`6xiMuA<)BwY^X#^+fsoxGxG3+R3f^R0`gI4@NQ*Qjiy5X&()ZGt_uB z;_IU1TRcCkM1xXwWu3~Jj)7w8wFH-Bi*$qI^oSw)u~|dh-;_}Qng^2ci{;IB$;z_S zUjr>!M2oVo&<6}~pRK=hKVwO|3%dE zw|g?A1_P|c@#8Yt3rNCyonf;YAuruhp(~h{b~_8 zk1pWAJf&=(V!kesoyBn5chjBB5*NyEG@6wrD>&}I>!~Fqq%3OtUH*Oei%8`fmw|WK zkjA2B`b=LjaybAn7D%=tE7`wWpX<{0Wghl=8pQLfOn#`Uihe4cU#Yv@lPhyJ#At7n zYy=|ZLzW;yI~QJ*6Mbl6Z7@nagk3yDu4=pJq3x)|sgkLy`k8>x z$x%=^fRrk%-6?lmWMdA;mEcrd$avYpi3Gdmg}wC*n(%@$4u>R*w_cwJ%YrGQ9k({# z$A>YQj9Z&d(0pN2JM!1=58a?Eex^Oj?Ss+NR6 z&*V|ral)mm&R$XR(qMy}>rXt#$>zlK)i=9Plg?@1_}F<3G%gPV6+ALFtr&I2bZ7|7Zq{DO;v$3ehU z>@kymOKD4vR4=UqA2`t=t~vlPQeyJZJ+&~dtWp1!8D8HS;_!N0;y$Oknqy>jH#5AY z!%4mXQn`OSB+OX{CS!bQ>8u6A^|Ct3zMiW4so(^4Q=>LTHbx9*9{x~-aEgg+hP)=_~!({T(L(B{AL7K(3IZF zHTY_o6h|qB&fsM{-8Z5!VnBf9IQS}z^G!$He8*j1-y=;6x-^8L-=LzM_?!A;>3JBx z+4;!JxtUjY)5;U9+8#>FcM^m#Il&_;t-6HMb&awyFesBv3vHk^!im$iK6wXB@@11o z{BEi~4`@*7?|RYGsX7&Vuh1G#zY7TNE>1x*ehoZEKA7Zkl)mgcQ0fkxV=f;m!xUz| zC{wQZYjKToqORol^X-)LDE+4xCKbLDWqqqFp|j>iyx{&2x#EMj!F|C$+jWnH+1qC( zxcIbnw2i7)H(B+rA@y%U6t+1j^(!^CcZxz5^x$*l4WqenrTL7wawx7!N?XxetFssU zRU`-0X7lyl^OI5@+zvKbjwUu9-xIU!dc=+a=o#HqwI3AfVzpbT2l{G8Oopo7Go#0s z3^9hwiRlavT~%C-k?OQgb2o&Dyl@k~uPKWp%p}GY2oWXGzHhAALa{BSY+xYNa(#a_ zPt@2A2#944c!Og})t29-<~&r>%;mpS(vrl>##$mko3~efU>?|xcU`+RAZCIM%h$;4 zE=n8FS|%8Z*C6NiGod7SB3=jr*r*iDLL0WwT<&vNU;MdJ-a}IdmTBx>X-SF{ z?`9ziIa;`CnLbiaoAm^+-3lwLwn!EY3AMUf&7P#6ygeJ72eZ(l++eohYfbj~=I#&^ zr%|y}27I&OA|b?+w5t$$=Eb&Hb0Y;+jVspynSj&)1YfBZ{nAd5i zNd8i$(=XWs;4xMHAoSLcxV&5BBHW;E(gmI2u@2O^H>Il`ac3XHX7Te+=;0KzyQrGR zpLfh$zSg85>4}cudaq63l#Ls)l%npm>M+~ zmvr_JBb{FfZ{yijv@>fhM!Uqyc zW9Fk8=VY$mO^js5YZ8f2Fa`VwzPWpuXKn;Zx;%rF7I+0vmo!yyH|?aosD76q! z<{vsgr#yl~KD)An(oM;r2IUtYy=U7qYNj3m>U%3ompNp?;J2R6)lH2XfLEM59iMS= z=re2Zo2JDE{Dt`iGUf_$cE#HdC5KnPHLbWy&P6vHNX^YBqUB?VTkm&=3jf~rC+Eli zo|+UZZ}{RbxhtP1Qjd)f7Y?VCRK&ni3yY5!aMDso{=wc=3d-%oyoKpU zD{PyLKCw;1(Q$Yk~*21b26b;O=h0 zo5nRA+@W!I2{aP4ad(H{4)5Wcf0MKRbN)dMs%ovOK@Fb!*|qnzS3s%9yJ^xBi>eB) z`Qk^)1+jnEs0(75h}EPB0RN|lCjRSkPUZN$-Bufy0OZ@N-jmK`E{?$~sq?*3AWB)_ zP)%+SHBf(4gkYgEV)gn`h$_OQ>4D))<&}r`@xXQCqGlR<1+MRf*!up^Xz{5#kb zb`^LOD}VSNskC1fVRo_geIIkGrS?4_(x)#>%eGtD$%$1A)6&e(@g#R8{r9wkpQqJb z6_hz!aREZ!#ib#FGn-mP^Zk3Y#veBSZZ)?u|^?fmEqYb=+$F3+Nm{_ zvDyCf+y3Y}gY51YwnX+dNvDc0Gkwv?;kzM;vngiRp>E{%edQK3K4i_Q+^WG}Kl)mE zrz^Y^Lo7hqbZpEtUpnjYuh9gfZnvD8{25#RQH}Rk>n@(;AhCOr&gV`wh;c~9N48_3 z;HOGwhbrsS&dDFO3)%$KFFo5dE`jd4KJj>Z_~F&UI@3 z2go$;XVpw7r(dYL1t|VS4m`p0XBXVvv)p`M2pO!|U_ky4FkdsUtx&j8Y<}R@=HQRm zP1)?ZMn=^;@34$D^Ig3?c5CZWYiK%)IEc5t^+!lZ}E@BXo! zmUNq!N4U>uy}+DUgF2B{LDKA0+IovP=lp}|Wy9pJ%v8m)(?zrgp2PPeHLCVDO8&*;&>PCQz9w8LTZVy%1zEBrnn$n-o3YYed&oq zjIQesOBR8;yI^|8Y_0HP>D}WV4ZnHj1{WJKaphS{goXf~EH&*KN!$lu6^+}Xi*HR6 z#u?dnW(yd>zwK=xJPyY}iirXUBnMsQa%?k(@?#%lza~vRJ*z9KFJa&cyenDrMXin5 zGvXPt7H;_=PFTcF8aLFt+MW7=*W>n9ydB@~g@g+QtdBAn0|<2Z3G%mMQ494-+(*@&^2O4AZrqclgo8dA%CY@# z9~;!0Gp3|G0d#nHT8Lrd2rMg6TLwYsi7SR5MzB7}HXknSeY=8E^b%7p72KoRvT~{5 z9x0XB#g#K(O?8hDN(k4`f&D;I-tn%Uf%(NR_|D$cP@4EHt8YLY{(*$IE~ELIYgZpO zr;PnJV3|l3j9yl>3Xb@;LjO~s(15qs%paVU(QjVVc;cU2K`PXDyjVu@TVz7yycKdK z50MlGDry)XN3~#$?&TO?nGTSmP$)3{Gs4fsn(&}%$to{YPsxtAn5 z51-1ca@h9Htk&Xt$;qV;Xj{oWs(Vysx8`YQ14NjlfaN$b#33WK&4arkazfC(>~O^y zXQuD2Ziszdq%y4m&||og}2PstuFn0lN=EZ z96Ot}L&)au6&U5?xXV*%xadZ4pF3}@e^I^9pP%6oi`wFa)mUnmVCzc=LDHD^ufu@b zi+k~0Erkv>;>Zd31QtBmW#z92v`8-R`I&Pf?=Mz@hGSM;XPP6peN032tOFR}+)V5M z&uaf(L4rCTe~o!yaA)UoQUm~-soH>+WEbRSKhIN1-+rC}{wM}n@p=%f<(SvMdSrZ>#^175It(D^go?aIHqgl`EjT1y}+41#5y0lv)KLCv0hPARxxufkNq;IwHfIm>umtk?o%QQmh3E0I_O&YAI->=1q`oCe zOxm?j55KVTsU&WLm1T7DX>(YR6A{#SmX5UaT2Bn5a7w+DXL5@rXb;kPdcDc9_F3M6LEy+&y(}3&+9pB>XBEpezs9ByAGV+8> zQ(*T;_5rhn)+RC8F@8bZhGgO3f&TzlRi|lQ{m7ilT?)zp-V;S%glA&s|&fTlXk zJcR7ya$tSEC=4xCqogV+)VUZ+j9?=c;UHxN>ea6JUV%->q>3^&=%PZf4y{u`Pf{0h zX?+jg$EL>~xH}xi6X)lPQ+**gW-80h~~nSP9du?;m%=$J<}cUvDsdEUv&KRgVeK`OboOp)Bd_*(=z*&?zL`bg<3?+ z$Nt)D=O5{u(CGKAjdruK`CsTStFT>uI|nfz&A>u!`@ws=nY)UknJS2l$h6>Hxp-Md z6aPUIhhOD8CE>-n)RC7ocLoeGv=+bOmVW=OI8**ozG(YFn)6J)6f@T6pcoDFJ1|_n z%y#!j#F^HpsFCzpp`%>m^wqR!?RcXjA;Yx1z@QF?E+_+~#V<&ttR(TPS)rE{6|Y?5 zj0F(Z+(MLIJHCpm(5i9wKj&PBUxl}Uz-NtqKegsijN#%^uCx=Sl{0bFj-b>`lEQa) z3?F<57qeFlgkf4CTo$pn5FSW1lpcblZ zwJo@Yf<-D#=voCMGK6}hkfAF2-UZpGl2cEKQL1Dv;;;4RCzG5O+G$=ilrc&>0gt$c z?i-n_($Rq|64p<~S>=d%79``W|Dw-4s9{>Ocg3UR!&y$ULrMyFAucHT72PJ6nsKB% z=&rKfUnJZ{uDKJ%xb<=E8osOwP(j>>7$#A8daIj+ia=1es~`d2RiwDW&H+kf1pIUuiX_YJeP5RVizU{IH81d$dxlV>;5a5Gw7kuMbKY*G*A-T!4@Ca#vHVMiGyoN{(k z!#TG#cgjO1_gOv*qWXR8E&>_J1;dv*{@~N-HOM~){4v^7L_sAr{yh0RA^l^wy6nWJ zL?0rM+?(>&Wv{tRL;0XtiSHNvF>T!%T?nN={^XG!>^Sk5W3q4)80vqq``0f@Ws{PvO~qs?zJ2QxXu0?UqMp8;7H85b6Y z#7(b^Aevv+%VQkeoXmUR2*9o>2z>LTV@oRkqot#VbA_Q0&>GAc7R4ymaXWyU0)i6m zC?68|J9T?6p^gnfIpwnhzyaX-=VQ6W+A1_90w!|dpd)}A$mIbk9d-oOnR?U3Lr$t^>x zRA)|rkx>JZdm>z)xkwiPg4CAI!}TYO{$J~XbKALGDRD=Ne@;ja%RG8j27XOuIA;|n zlTF{QGsZ9A~o61OXD_0u{j|i-UI3utVJtvWmpyEhO;s z<~O&{+DHcWI`IJj+6gcvNg>IT)ZwINQ6Z4Y{t=ylCSDc5Hv}I>0`eVFA#@rg0No7m z6@ChHVD+sM^aF*n_>y1Gw4yp0fjiM+G!{}G(s}7L>UWh``X^U$uvE-tEYw`;PM8+v z@eK7;#QCgWlk~k7IM!|3fArv*u-Gn7Tynr&M`I9Ut)wP%9>xCh;&JJY zs#>#ciK+4N*Y-#@5aIq7c5DG8yrOl>uT|#ileUk&aM-ZB#7d(36UF^+%;hVCUah}% zIaPFZrhU&37#-*+bK=P{GK-3uyzL9Mz$TE1Jm=P+Kd!_`K0^(O1~wkNHY`5&jV6rm zb{R6yU5Bcj7)*;x95q;q6LHe=#Blt zryd7RBo7C1jwVV}C=VZ$V>8V!GdQV%Uz2|`9uq1v ztltc-Vr(fR2B5QQD{4L}gPXuQVL(Y`f{x8@JmJ6z^rZyyz|HeF0+ z-qPyKNd1G}y)7Jn3IiV7?&c&gTLMO}t;g8O(rvq&8HLC!B6L&5IurjZY186r+098q zr{{%p(^z4^6$)k_-zqkslZRmg9@v-i^uAVg)$MAoN{-E)lWLu&!kWU#Ov zBiqN(J-Pn?Hr4jyL(yRilJ!}V#eXA;M6gJDhg3vZ_c$9@eow!=4nAU(#<~?>bQt^x zpf`E;oD{t(!i|wk{MCFwZVlt5sofzwT&JEfP`W6-tv5@CsZ&!vFac^f@XCa*jXmuG zAhg$~D+p}tQp)~|?O39z-EN;5PaFRfV=R;U zsp)d~Yh*8a2EO3=BrS}zSVsQ`z=ua>Eya!muNA~!v|0IGsg;uDsH+W_`BrCqzliLp z{#$NkcZzlro-on9a3OQLXZee6R(0ZqQidum&}_>jf>b#>nxpd?B|T}FM?VcjAZrTDB1{+zXC@9&8)hCmtCUdB^a2tY!(sE!r- zF3zo;PG=m}Ze{q?&d(%e1N5l^9I`y=6|O$8jt$y|3p85~Q^Tw@*>hRP>J-S5BXSAU6Q^>3JihRN*xk zLI=pGc$QjRh-%W)uOa5A%V{0d{g%^ImMiJ`ZW(0Y;#Mh1H2iP&#b%v(cym^0P_#|| ztNZsc`O=%RL{p7&UGMKPC)q(;YClrCFp);?U6r-pB>bh zC4$CB%17#S9<1-38CW)(w1Ol}kdu10|10+w1VGQUtOIbD(`IsT#PzjaPGoR>bJbAI zd?`1?qv34vgZHMWkUCQLy3Mao2S$yNjB}5PrrAXpX5&*^x^9=-ee9p7DZdsw(J4vn zbGpK+;5K%2h45MPkAWlJ&4Yc7O`QK~tlNHPOHYajX}gH63*>{7mEDwh+vm$kR#jIo zWt?nNRT=t!huP?J1v2M@v?#`zdJnl}MGi}A(TQJ~^YG8)l1}6j{B+<(#q|BaY1p@x%GyD+`5+j2aag5{IxUI}dd+>2CQ2UaGXabGf7nE;sZ zJOs~SWROC+u1w!3nc5Kjz>NioKGJ4!pc_esvq*tt5H7|HRJ5Isko=LM+ID{5|HS7y z>*GW&t_o_qW@IN_4Uo&iDD1-UE7|>hn(MnbCzs7*>)16o_@Uj_+HZ` z7^*xW_d9^=8(zuzsj<7L#GTR5-S-Qg_cV|PEv;LdO@5kPVHwxnfqddk%7=>cd%nt` z7L>1eKVvQ@W(>KR?~Ph{l0Of4bd*;)k)AK6+E};|Q@TlfcuF!dZt`;M9<%op8lzK{ zrZ<=SG(4h;MxLy!V%IlA!`b=66VL(bq{!O^Q_cJ;Lp`s~(KE11H%Atr%ROYF+$+sr zvS}}b`cfWw_pxW{(I&Z)hY}}Zq4f>}T%l^?ZubSKbib)H&h8dWTj?$ny#p2p5R$@s zt2)NA($`rn%~B6Qg~`2CC3eaAq2Rg^x-_V`ivGtWb#I2Bs4|(N>aq@QGE^S!3psYX zSDC9x$&wK-DB@xodKb*eTPT%qPqQiehIRa_a=kYb$hK~=q<9AMXSA|Gy8)Llkq|<= zc{mRHm4ffGL27FtKP}xYdUf*6VF|He^d6p(4?h!9<077(rp<~=ipxJ^DC?z?_`%IG zQ2+>?=0DLzoTH(J&)R&S`) zgT}-iPZIy?uml;S)8fe<5TB`T3uU%Djw&!UwYkw|M5OxV931Hs%v3vn9xqC&Fj{FD z&-s=oK<9TkT=iSV1hr!Wy^PV0Ub@{|&u6m6NoA{@uC?5D606cJP^ zk7u~`2D^dplvE!@eZLOa8Sc;Q5m03@?lV$JBjlPuRJH;cHItt;F8u!jGSS*Jt`(d< zNRJ(5j#-=-u~((Loz%)8ey%%4W1&HSX8t6KZpPvp<|?g5f6DIbnXO@eQ9#I2p3>~OQB^pg*!u~p;oN_au^G6Dp1uyA^$;6xOE}jl}s)~ zM_>$I`48X(4KC_)b|tN9{zoiq84%Lnrz|%FKRZ&cWJO~*#+Z3GL#*r` zgHM*$1>#3pRBxbSv99&;3vOui^ADwE1#G$|ZW6vbNe+;^+?87+gOQKDGVoX=XxRh= zgow%WS*JEHO+*ckr$>l#A%jE@`w?v#eW#uc^`J=5S$G zc<)eG34}0ZY|5rIBPCmn20_RdH6KNXbDH=9BAAB&i#Q|L%`f))sEOqCHfdKD<(Kzv zm;|8tqYDBf3j4`&mBKce5QOjTYOb?1nJ)eNCh!2U+7IU&hQAKuHi`Po?Nlpg@y;+d z^%XL@ ziC{iBRawNHx^tQN?ssnc&utrCR)KI|S7GKT#68)S$*H7q!%MN)8iyJuV^~~tbngD< z-e`j<)-O5QHv~0OgmR%uDkYxgTG^uy*hj93mBz=M4YPbE$w6pcWwmkx}+X)1X1D zAGV1*J7ZVQxHEcMOn6~*GF-A=!>x#JML41b4K8h|gW=*kuP~TpU#ZY5ZxwCc{naX$;dHBns>_xsy`G@W6^!abmTOm6jC~zSmKznLL@!82ALGFB!Ms|y0BPxZue#D-IM0&V9 z$=$wnOZo4$&hvDcv(nk7|2th6&BF&{@T26+4M6h-O24_gyYrOxbV6@5mY5}j47$GzUttxtiK!MEC5 zY1rD9Uo5pCJTVlLu+t=0?4dFD^>PkhA1jIL~W5;Db_M+R?oI)Ad zUe1jM!Tw{i63fv{{T~1(@e&`TX#8bj?rHDYE#U^xcEWhW`$+G{0bOoq67!Q*dvI`9 zzb#pLee&qCr3Uarf~J-rR1(@mdCDk?bMJc>!PyT8<)!Y5#!<)2vorLx@8mzP=l8iY z*CL3&8hSeRx~x)PQ*3VICT5vJt{MCzMTEb4?6mwyiO+sH0;g>_Fzc0Bxb&vF=hXg4 zW^rNtckk{`C6J7~b^3bRA{iVgjii<$LgkaP40Bx4kkt!_e-d%~*MWjxKx^2S! zJwpi}jD9qc3#BQ1n|z1Es|{;p3!K}IfnM!{pT%C2WZPXP*Y?w5wQyr(OK%_tu!)Th zH433pg8BZtND%=Y*Fifzu#AOlyTAV&A3eL`42p@o{)|1*Bu(BkzJjB-(nseUuqsZ?-&MGAN%}i#uUI6mzbl$AU$#iB<*L^PuR0s8a&b6D** z`qFWh4JRw?IAhG!B|nW=fB>|>SNnwd6rBds47YmcH$r}@#0qWFh#RxBtsk5t_aO&j z`pa0%hEe{Dd82T`JIEjIuawmQ&?SN$Mpb%GD|FR9Kbn@A-;>n(iW_2i^e_+L+R2FX^YAtzAaG?X7S=5 z7yI$qjH&PKQ*8FycNh&-2RJv6L@ciyl9!_1dG*b-ma#OC@kxyWc^b2$)+PU2_zboa!DDYdGS3p zViD@xtss8(kItDx(v1IdT(AO_F`XA5oYiOf=x|a9=(uHljI%~~H}v&zp-9f+7#9{h2MMKUBKh*?^cP&L&4rav`7SlHEhqDYhpFlq50uF1@Rop zklTvH4$d%F*<`76i3xp=0MUTkNe?lS;w;{ppqYgmc?icWzGJ>elrD+n)-}{{&^G47hhx;CKn1wCTdq`D#~gp>Y%`OmWQ@E(uc~J#Bub~=7rE5mml9n60qQM;bBAk- z>CFo!Tsv3dOfO%CHqf>FQbn-0V6nH(X!aaqC2R`{ox03;PP?bnn4>~ClDi9W%S!bY zxX;Puz=Ki|>`igrMIZIcLf@=hme>#FfOHDtAk9)t6lK4haSKo6d`C8yTo&ECRY`ZC z3Kn4)*x~?KD{y0c3-xKYY+cxzEf6(W?FR-qr;dhHl6&?EXODiJUV4Ps^isQ~jf~26 z;&3lT$@gcdg5e?5N$Nim@j=NLJIAPlR;b4w^7^FLMlw`Uw}jW&zmP@^`+vDrC8TBK zv>}#Nd(lZL_uo-L9hz_n?CpEfif8dk*J+{M&7xD>5$4$RBgbjdCP_y78;c;} z)#~#fVC_&fCqi~-;Sxfd|1&`nc20CPy^NYxg4UEl-b!pL(=!V9V)t4+2bnFl3Qm;% z$%?(nBAIlKy=x!UGyXkYVFVGA0L8q=*#ycUd-uC1lVyvxo`>!w@lTqg6 zURfBihAO1zx=ZHoTCz3&wPLSJom?ek!V4U_i3~bPZ2vZ2Ficj^`_MHAc4L@AT?2yQ zQR#p{(ye@0lR|IHq=h?&IG35Edzfaphbw$ygbQ#Sf2lQvdjqR^Xz@nd#h~)y0A#{|v5iU8bv&EgUcY5H?sE`Ss&4ZCV- zlr9tTy?lqwWp)x~8s8{Q7hLQ|rdy%rc4ImTWTDBZ377z3xu+441oZ zKeG@iqovwSW`g2N$v5n7C);&rtcq?NQqMmFo;QK^tuZ(HJK zv73$~#AG$(+yA6tukh2cUMKbHS!vov#% z&r)?X$MhHn$w5vCrWO?ZXW!zwMzx6k-eH<3EN!+3N_=u!XHMtsbvy%C%b3a?9T{sB z`bgWaJbR?$MEzxvAwk693X1GH=<}I%tf9kAvP>c7vv!T&b{|cGl5f{_vTi}dPrSbp z&BPcplZpeQh}o1sc=6vrT&4vsxkdi-o zaOMryH)+n0BT6o92r1ZCKN@)bKnYk;UUgwNyS!aQMd4f|QW9vh2SY0Zr477AJD=%n+W;dx6Q?g!8H9Z_iz<1y>6*X|#rJ%%c6u zQ2z7};H22##gEJFNKwm0x*9X(2-e)Mzt7Zze_&V>PP4JjVrb?_dhHj3IH&fIGg5l1 zO$Li>o)p@1b4*hGu8m6)nKyNkAGYlUJQWPcN@(cEIEP$ZL!t9AqoaG%#gp`8Ih+I< zBQ%60zQjlfvkM(Q!Tq)+dbIp&!kKI;#_uY~76l8t#vpoKHFe|I%??f1-dUT#3rlf@ z4!2r|m++3-MN@Z4C?g`rzu3w83nLJC+h%t7ZPUC<)gXMP@L9;3;>az=#s?*)leu2Q z8^BWf&lPrZ_RkRMElm_WY8WL$f~4$o50!s?3N$qh#soX|K-*C{A^~d)K;o&#Sm;V4md5%N^+j@;BMY(fm1K7Ru zF)3q#KvEX~mfiS7ZkayShWNn6aMcn;JB}2W9594jQ|S{g>V4j`h7AJa0+oC=5rZm$ z=gu{8#h*K#y!WmJwQ-G5%n-)b;#FuVA@4Faw?_cc#rJ>>IUc_e9&Nqz37@$O30A5_H4?t;tmk^Qv@Va zsw#5}@#jTlpu^ciJy-?Kjx3Q$ey!7=!{E$<8!I0XeM>#Ewrm36kR%B3nnnAh?!fsa zs0xx+TsCHAOEh{O#75We71R;93~zpR&w2OC2zFT6e*qtnezcY(`31C|(sUWK{7Y&r zfD)k=3azAiH&vV97#{t~RcMaUVt|i5Y zfDvvnvF%`w0%en>^V^sPT@=`q-EcRfpGl&neEshijnolYbFa|e9 zDVSpDFe!4$HKF{$)Vf@3819s%&6!sMA*4%X4>q4;X{9!W+n*pmGTtEjCq1z4=u&#% z^9+7YpC(-BL-sfxIS~T2$J1;E7sUu^^PV`$!N{u}21O=RL+(4`R`RB1^Y{d zI5A#O4@B}gU6lW^=eJSJK2@jn1@uTe@5gsHY-;lcSchMT-Ct#wG4b@B#FyCakhi9f z8?3L>6SmXIZe15LS3C>-;h`a7`Y3<->)w4Xg3`!bza>)=ppft4i+^&8Jf1XN>)3oB zvGox$8*rCsXm)m0RTdx)N7p~OhjzDh1A4|~sU~Xk5PT=q-LNv>_zqkmh4kgK; zgg~9diX9C2>ty%e`D4Z=E_bxfx4a;ofFk^yVEGoFUu(37l`rkt)oS0novg0!IT?fC zs9v2RDqeq#4SNNVKgmqZt7p+ADt=_iWIyG8f!vm?XJyDoM$^)`lsY`QPl`ln|pB`_a(gv{plIS)5?q5&g!QU5#%pPRWpotb;Xfaluc(h|v2paY zn10^>9dB^-SDY(;#9t@zJ+42@n;?Eh-n}5c=~Ity#JPXdCl1p=Hg%EG?AJ&lP#2XN z-onk52Iu^7tnKnUz8{l{4LA}{VJzXtw*FgnCBq%#VRW?ziFD?FB`C9~v&UJ53T3L4 z8Fi5y&LE+mFPV%{$iznzWemghypkJ#Eqp=)y03&uV|s-xZ|KLeYNwn&{TW5mB)OJA zi7*!PfhLESJ@#_n)N;DYkP4ZngQCML5@1T9+llQHR%E&v1!zR*d)J%#N%F|SDisXNNsBXlzs%``Iv zi%a;=q;N`@1Yw^~!yk>qHxZB=$8=y_nwA9Oim;hD?VSMz&2G}!ou+wS{;KBhlq(*}Xn+v`^}LkV?ZIHuJsu@} z1$(l1@{#>s(^$)4L{knh;ZBG+_3fVBeb_%oUa}F#MFh6*QXdNo!|D7x@MIgPov=VXfaDw9@ zZliMRq8IA&5h4@rCSQymfbm~-n}?IwHhn@hfH6y!2rwWA`9jW-F>CAGEmJ3%AN+vG ztn*iJzLCpdt!{iT9y)p0j*4g%L&6(%Z5(1`38W+cDx36aXP zTy!4|>5hxvRx)hI9C~Rn0{kN*#5H5NXg;Od??h{@+BeH&gUZj_KSM}#%Ta{k z1H0^RCbuZNmlq-|99d2UV)k@e5-~!E&uCF-tChSq*QUqf!#JCkNN!MzBEsd_F=%NS zZ4)Czv!D)IzeQ2aJDQ*MJJnQ3qBjGllUm6SK!6wf@Jq6Yxz8TXBBnXE#>~=K=31YY zLY#ukdPP`ajX&ay=XnMbQ8#5x>?}9S`i!8!1Bg9^9xyFw^}(#5_L6RXSdxA8ALqe& zGv`%;B#Pbb@uTwF@xix;ggm?CkCE%=-yB9dKFK2K(7xumiKgA^3ILwwOYkJ8r3moe z(L;d$+lOjr4gKYNv6WPSAL(sn-Ft%=aDfjL81JcmXr^Ov$$d8`(Bu$2DgRR3b8LU> zeK#xFT&*1R8l+}oT1U8q^p6|efE)tVP>lK)o9=p@q}KOtJWyZlSR<{Rsj9IH6YB_F zE>W3j#1)*`1^pIO<;)J+(JcDbA@kqD%eyDDuKY~>i(S&kE{kCsohum=dAIyQ-CiCT zR6mbai=x~M-R=3NI1lxu?mcBy^bTHr)iU)bho$=eh(t1BoiYd0ipcQ#+myv_7k_ue zVL|umQ!gW=fy?$H*BadxQ=ZK+(QgXXpkt9nk{V$`9X^@?`7&y+*21T{)B9u$w~5N!^Q3QqR)oW;HFPxzv|l^;6s1$t&7rrk^TE z3UjdwX7is*19}XKXmm3hg)LjUJUg`)(InXtN?AT2gOfKtH0w(Z+=&7=?| zEg;A+`$>B&1Gsu0Gt&NgF_x7V&u)Zxp_Cboxo%giZo%Xt8k@Rj2{G;3G z!C;%X5u$6b#y9&56nJvnD1J;zLyQYfkoQb4(d@>{GM@eBWGR$Nj^1i&+N-{{zGACg zycBsnJpH}c(-o=U?Y7o$yYoMQ_T}&5Zf&^MgBFPU8||eWgQNkA+|GQbx5nH-XX5qG z(~q&PI%qb2?+rD;&5oF@HYpZqp&y;WYD6V_MfLO&2OzODjbv^2z7y4)UojBdLII(4 z^EqBw0Pe(~jJUGQuATPWdnZseV#XUndlmSVgoFk{>^ly75G7sa`>zH0xGq6C+jIo;Eeov0WLHOgBM#+v50>tu70I%b>&OjAsmhD^CBan3EP04jUBl(#TyEHt8yo9! zpuydGAVoYAEp7gGRi~dmO=Pl+Yae%oXDD!YwmyC6CdCE_zo;)u zY`QN8H{6S8CjM`n`%Dpci2yV2mV7tIT@U9I@xRdAQAi<0b(chM`H$4o#3Lt4iMB}! zP9Sy(l2$6ExD!}|j*XmY^FmCt@gQMbTX8ci7|U058?2*F_DM_KP1#kWcetj_2hrk0 zOSt(PXmMw~=x0tB5+*Uc*i2!x&1pJ(Cs5P6i_(x2my$KvJiwkoV*{FkSBldw*HN&YeGn-y(?|*<>SY}}T;>AK`HdU)6mS*; zzE1kz%OQ2N$LKA&c`P20jyb3jB(Mz-$xZG9jqVr&%6RGNcGSCNn-@XJ!uN}F*`4cyRcCEh()(UZ$)I3Q&+kR?J9z2v}ro;hfaem2;+Hg67_vmuJ(OR1^W8= zxO3K63uhoJy5e`ea$c3>u^~U*;6|u(Q#bEKo5Hs#kl!X&4WMKn@koqFljdsT zlL4Bz!g0JsuAy|UvItlcDyoa8C?=+MjgsH%uJP6d5CDX8abaj9=G?gh2-ztb^|D*B z%YSRVEr=z3NdWD+UI-tK;VA3~JjwiM$&7!B?ES4B{`-A8HHGn(5YTe;IJe#M;I*zkxBDpc(k~MG{McypIzs(cVxDrlgH{Bq?C2X}rM;y?CWU01c zBOE@f<5=YL!=OuFf!|8y%pUP05tsC4U!a2=R-uS@IM9nOOmJ)D#*E-zb~H}Wz+Y#& zbFWP<&56x=2(cA$2ZhcF5LTK`TwS z9g9R`sxdW=yVnl8$*j>6@M%6VAlVU=WHgeOlfVCJ*l(4%)xs{$@#Qe591eaE_x=?b z*?mSIWz`-(W@qyYimKw7Psb6j`o|90>psPC#aWHofXjT>kEjOX9*W{rlF$d)n`R`( zL!bM}6)Sv>U3#ekbP{}MU~0kGhK;T~3wP?mb>L)z11<)XA5z1jh3g$(etuN7yYTsS z#zx3y*^-PuENbJXSx4@I40obssjztSVNDqgC7Mo8%!O@JKn*Al)Ja+ipKm?;sw*|` z3PH?ZG!ux8Bu`!Y0abp_dr_w#-Gp}?o|DTGb@(2eCoW33>( zN}-}v3%6nPiqk-{W@6x1%E98p^7+?9ck^m!En*-X!(&SaC@xkP;Jk3P;M zd+`!OyS=mmM~Ph`tS4U(?NaRCn2o+85iO`v(F5QtWJ9#ADC&|qMC`Baw}u)V0}Bs9 z^>lEHQ10PANz_ol6eIq? z3H{6VsXMV4!TE&32harb6wh=czEnyE8x>}V`{M4x%(B*07YtJKF^P*6JD;THZ!Ydb z`ty)6_snhFmAQ^5h|R4PfzgH{lGCJ+5*4hpWsm)2O_lKW^hA zvHZV1E&k8@)Z0l6v#&NjO6$)}*41dY?b(mNs8BxZ+#Eb=-zX3PsOo(4M z-NN%|mP6RfU+paU)ikx*2nAcWLp~$42HfJis#f|>O+Kk2 zj!KCri=kI`gX?kEL)zTfI9TkK6YR#~hk4z{^_AcpaFm&=k-pbkUMhR{?-y4_^yhTh z)sJF#iC7}e#MW|+ZthUnsUojxX*wjmyS(8vh&1I;hs&bhZAtx^XCS*r|9CqAe~pDE zo%P0B*ZBzCjW+(r?zZx2ng55lw+d?WkN$Oo1}Md8lMjI7*sh=_BbiOEnp4H>y%jm@{Yanic zR(KY_j}@-R-rTLyGDYal*!i{6QI@Jkk>`j@v?`zWI@qG{M7;? ziWMY@ILzC`7udfrubT)jykpFc3TLlbw$CBU0{Ka}SUO*dBiH-CkI`xm^@1BjEn3w* z0`P%qrVXF1ywiR}TZE4JtbbMd-Tjy$RU{=cl(dNF9CJJE`;w$eIYcPOj+l~XyR`8n zFKI!}BSrjlOl~Lap3Ru>6Y^&idc|E_T6^;F`OLxty^6Aa6R#Kk%00OvAckPgR^MG) z=wAEmmRcj_j8I~O^nvl-J_DTE9lBCgby}kTxUd+nWaKo@j^ZRSAjSaiTR0I@?8&g` z@4AB5;c&6sRmDQQh+h9o8X~(Lq`crt$nCC=jHbl4-`#FAz5qF4D9r_E4aH`KN7(@v z!CkIM#jrFT6!j*A)PM?<1582kKWWh)EbubVq`k*8vA&CQKBI-X&iJR z$f%|^{NV|kY-}?d86ojy<#K0jg<;j-LMZj~SZ5Kd_KrKEN^Zx+86z=53ZbrJy z1CtZ@2X3h@CFq@Z8QNFu_7n;Pe-eM*9k)Oq@R0_6k}rcCLUdEB3|`NAxPKEAEm9@E zbIa|mrV_0n($Ax8K!yb~^Bu32XQ@nuqOH z_|$hQaFX(n(|Uy;tLl$nW)?SWN`6_hu=~uU?(%f7pbd#Xs}mQ^q!e4-xBqv5 z;ik;=@r>2Db%3a(xR<#yQkeSplI(NEc-bdX!EWbJq=voqyNPewbV&}DqOLeGdL$C` z17nECzkd`fTE4VNkt0th!s+YB`RIX6$RDxi{GQM1kpI{Bhgx+@+p~i_CS%xdch+{J ze1;2iASjU#ez72|>zwQc`Dv0;>%p0_WM=B!7uc?5fkVnJ-8JL3uwz#^oLBxaBGIQS zHoXYgq&v_Mz*FJGHRtf?b2(T$6iQGt@`oI>@5}#GNm{@AivHOa=i5%huN5RRL*H+} zKN8oZ}2W0u+f3S^>{Kn)7*F7?|Ta9yazB^pB$A4~hwN1XyfUB-AP2|)K5=TuM5IM4{g5r|$pG7w%(Y1;hHEPRDj}y%% z66+$x3?z4n0;8Z4OXW9LjRJ_S{8T5;XoXCZ&^N*q@-VMnxTr&RxZclkz5~{xKTm># zD$w}^eVH#jX7C%tpP5nap%6v$()K+@8X9igRvoawGV)+oRnZ=CNt6LXuHJKULVIGF zQvQPzy-p*U53^h`C%Hs1qTdP)eb9TVyGLrcW0a<&{+&-#kGQ{Gn_jTLD&14VW=+NZF%Ha) zhEfeG;wZTQ(1>I@c9&pCJ*P2!)S9eTBkR=|Gw{f%yd^DZCG^vwK9xRMI?7I9DN2W< zQ7mOLOY)2Q7~fY|!Q&Uy>`IJsIe`Gdy*jd>p`fZMFL3znxrLxHSC zzTz5VTuHw9{}7T)V&-rKMT!c!YQekmgV!HWWkE6b{7(rq)`<%81`gqOYKjNp&Ij4F znF_D~S{e=IK9+AWfdA81crc>!QMblnL*l)|=u5B^`^On|{+3*Xp@in_o!5QS3ghwT z1py)M2e0e=kgK@h<=}+@>dr>a-L9LNwa5PfZo4k{CqDS3#Df1UV8j(;=8q;Du}L1_ za%FwZE?fi5qjE5G8*!3Gcgl! zIL2F5vv0oYNtHFsz1QWp1pwB*Zss(V$J2i(|MpYvXh<1wJKDFN$Iq}uPr%UGh24k7 zqdd@xKF!0Nl}UL6LFEcut4O(8nE;IrqNDLV|C%NQVR?&9%onBV`+NqYDtiqk`Z7Ey zUi**|m~&FsKDmi4I!BOqL8lrW784GS7R0S8WR9I;<8ZHtri~-r_uWE8Yr!{2qU1YI z{fhVX*|sYn_iXC(EfXXqdlKtKuPx9Al-5tJ9BokgcJeD82HScww1VngY!0lNhj!q! zUsD$)OOBN|CEP(WdWdbmq5%@CHqq8HH9jBO?Ba{!$IFo<&@KM8l-sF}q@o`&=tjK- zb~B8;sxKb%X}(N&#;Q1#bC>)b#yO<3=7Hu~uwF&&pZf#Hy!3$c2DQO&;a_Jti0ts$ zD$nacm4%zpOy5Bx>+*4dp zK4`-PX@~<6E^9*LF6LtIleIwMRBhahhD4_5O#CqlX7IM%HM*HECgxWRjm;K>1fM(b zk6Np~&oV%C^gjT$wBs(tcDB-<*QL;tLq-8{Xl2R~j9Of`N?)G{<$(q=Vy5_}2k!2- zUQgg2?|8Z4{hcy*8r5b3>L zJ3Si0h|$fP#VZ|1Gj{de+mRG0diNhd`%!GTJoigGXdr2kOqM}hW${_@m&~Jgf_g6W&}&7$L=;DWO74~379i94L&`O=ZJ&Biin;%K6~hHVk$Wuj0D)Qh21u-6 z^j?N%m4!r%%n#qwJRs)h*e4=OP2vZLSE?0hwEl2any0Iy?=gjitLTqYs_p=k%7c1|41@*BUkGhB) zIgcGJtW{I_Z7uhG+4S~)j5pOg@y|Zh`{c@*n8LUXSBbfd4V+%Ns#ec@-SdKeC>Tzn zuuIfSUR$jJcKa?XmIp^krYGk}6z+hoC+X4o1RZ-;WKoB%U|H|r9&Yad( zp+p_$RL)b7?_Ylk|GPyZxFCOPv0(xD$n(CDLQ2`g$QhQxCT;13H3^BMT)hX5Sfz?c zUxzMWD&2Vj+0G1>88t`FmKWB9wSYTFi#HR!pZ}bs#};?J8PsZSE>VA8|KtrQ z1;mR^T9@}lH*(^J;`S%+geoDB@N+&c^xSr?-`4{v3P$@!)PMFS&#_qJkyxcD2Sy^;?82(UQI23mG zA-Nq9?hiRJ-hbkA`Q(!g$9wW@tH4-Z8c+u?QSw!V;iD{e1=GbJ>?`yIP<*Vv8J`+y z^kuc)^KIUKORY>~bN{Ra7@Fjr9h;mZAxfY$`dcOXd|9;q)zA7^wV#wwCO8bctVpj0 z%O*#8y}f0r(GU_lfg}+>!ljpZsm-X~l}~?NffAPq=%=X&co<^L?kmKVfDgozgZt5{ zt>tBzx0h@8T$PAFZ}I0W&u#nh!vj)b6af_Mf?~a6VM_Y7pU!8!Kr;b@&kC%<7%X^9 zX7_OkV3`;fCs@;`;Ne+{>W^-swermLpVp5n&kR_Lwtwuzv815-Qso5+S)l_5qTHSQ z{OD+|f{A+8!0&#qUose;!vR+Q28SOxYSNH<^B-v1 zThj{-+_7RO(_7F7L)IkOULj<-#O+MFZKhKWQnWGq-)1U0V=}>&91q}A*;CLKM4Uwd zeKNzdZ7B6c&wTqDpF;g{I~gw!@1!8zI3A-?+|9K${_!=&sGxt=;)PBW&|Q{&jI8!& zaK48P;@{psWPRcAJNquU)=sP?mOQgkq`(o#|9$T7U5@_{pb3yPkVMs?ze1TL&3#3? z{p?kY*hsO7)E~*PjYK%tj#5hSx>vUtJY)4SAqD z&Oy1Y(+AB7D+%y)D{egL-~gJswZEwA>S?z3Si>gj=5DPc%jS0)bVpt%UcqM>kMLuy z(lHRr^I_;^oEKN zn{wne$!)P(6br|pa@$r(2`dZDMz`Qw)9AV}51& z47RVefX+Vx0-I4pp1KxzT)^>0ZPKsWu6D)GK`&Bvh;BM(zDus&#b;+W@!nx1l&yfm*hkdxNBsav?0{ zsCXQL+3e9tkhOyUH9pL0Zmd(2&Wh?{|5BPXfv|+k=<+r5#1+$oSoI@23jRLI$R0`2 z@y@ZgjIJ5-bSP>zYtf(sCNNbg2KSkc4(R)?Xgk?0)7Ect@66>u1#cqx6`s9G4R9yM zE$xSVnvdDfnRnkH8AvQO4f?QLswbEhL+E}=OdJ`7)hp+D^=(iFtvwB))1{XY^dKs8US^?`jAEc+i(a%bt?V?XmR9fO(Fj+8_xB5Cr zd{`f5JF-cBSV+KH_qgwml(Kg*dSNTPqjM2uArpZ ztT@mTjn`@`36PwCO=>WYH07{e_X@{qZtd%^_|Tp9zPa0Zgn^OO1+AZX(sVV}6yoWh zckHO>l49`iv0c0lOs1U#IS^bvn}zhqPFBQ&_u;Q4mO?OmLnC+0H2pZgDAGG_H4_BXP?FO2p5R`_8&pK_?;oecaisCF5v}G>q)6 z9~^B`8B%G>2R$9p!CcUSfF-+Ze_jDrc)9UUq9BX|h1QyXRM+I_WkVn_D#;dwYSj_* zO~Y))%v8*O$hSn}o~Mbei$^n#rwP)6`0NtU&~3@J^aFDOEA`T^82A-KuA%iXF(gE& ziIj>A=hJ@xesN`Yw&yr6mA?|>F-1&&;U4HFd(&4;THVKpnJaP#VZG$uU@Q{-#(wqD zRId6vESlRxs(?WaZ>i!NfbeR4Cn-2oGrP3gZ=}sw(~*j47F`uAcqEtR(chz5)4W+L zR>!B$WSOj#ZYe??HnAhG2Mt5sPW~gpWA70~(EX@eiyGLl(s|rIXYboZeVQYZ(dQ1kf{o$2^A>&J21$W8S3}5}D6b$Dq z%|6GR5vG@d`#-tLt>#XDSEl0V3s(Tkvopcgb6U}6hLzE^QR=Q;_?Stb9#hxxlCR+{ zUL_Ck3J9<~YNBpR&Sp>( zo2s66y|DuYCE)_vh5b+Elp|usqDF~3e^7_h&T`3{Zn~@5a%!Hkqa7g8$$i{C4UGT+ zf4l_g_$kNP&W5B&1ovlV(57^b+=?Hnn2`~oVPpEh=LykvSz$+Kr@S_hrlA5oS$({qCP zxi14pJNW_k(-Ly*sxNE^%0Zq6cY+H{ATlfyBU z_LjYQR`=iJ7!c8kU+`hBy-$hz+It;zFK5&~8@49(iXyQ*-bNsU0W4gSIf+aaUN)HD z)NH%iq4Te4FzI8CTl=s>-HFU+m9o0gch#_lh6*$s%q@ou3nlkB(qLVf=2lojf3yfm|$e$Kta^3j{yGCm+&0^oHcF-*>6-JJDU zWbU28OO{i}bA0wB^5Zk~4S(yJkwJ08#KHNc27Z2yj;6fBcP4JE^1~(YStNUEpWIpy z?RkKfQwdW*xn;ec2*vKnmrq~7eb294EA%CCiq!~hsTRiS^c1Dl<^BBwHJ z-CNkF8~#i+FNf@F4Ck&%o=hqNk)D&X4?EU3QM1r(p86gT@88u?AE>IN@3zcab%DU zPANbzzX2iG|eYi8mkifd&%bjlBQdLD0|~%9hl)tJ~96%E*_o$F$)yFAdgQP z-s)gQc)^o0DSK_NaN*FzH%Rm5Wj>cj`{HDx{6>VCK_JJq_s>n#LS}1+lJD`KieR%W zSVVF=UUJNtc+_uD!^9zJ%$xczt|BXfUFP?X17<$d4S6p0uP*X@{+#jEpoNXX<5qXl zq^PFfOn>)W?9a8dHGgDN&QM^>Blj0TAOar{SWpbWF;k8t;TF;ZuZWWyTqC*!3}s>* zV~D2w%`sruy^8nLwqEL{)#xcpu|q3%s#>8E9>bD{`+xW%RJeNV`oOd{r+Balmo|PK z9kM<(GF|umQyO{$c+kCkqO^dS3=z7MZyP?#ysy7+B0M5pq@GQ{n0+#g3hdf3N%yjQ zlZ4@Mn=WYBWmAg9ZUL1xEC=enGc8hbQsMg#@S->&zeKOGUa<)Utl^!UBAF;Hv|(BJ zZ{lWPM%F^?$Z)RVcn29qY>KqWFGHqQW)4bkOU+EfXK##Jw*BfD!0LJX_w0(|kMoSN zBbA7EbQ0`6X3y9Vhg(P!ACainKqCUxi;M8-uOKz*) zVf#4r$MlHE9;NEku@z=1jSkbC$%(wuk$%(BB?dMHb`5%RXVo_`Lj}$rJfL{`-{?{=^eRf7FH=HUGaBDA5-$cZ{Zk#MN<{Z57> z0Z{C`ub<&>sl`nZaH;rDtJHUIY_2c>+q@(uvr`7-XjoTd?b zzb@(?DQR;1k_>tOQdOK4t-)A#zk9YuvEocxBSwA=ShLwGSUmNOIo8QR*V4-}-|J%? zR!7SF=^3MDaNR@-!#!)^8wNPdMQjo%)`kzy2j{FBFcpVpD0EBM)9C(a4d~!^?Cz5| zWEC)e!GjB_l8_aPN|%Jy+y?Wrl~Zei(#==S=5HsTkF0A}*a|v7HdS)( zf)av8ZU7 zaVPih=&tZ--ddKG4=^er~o*Vb!hqzRkR6Tw8<5wT^%49A;xEH*C2cz?TCS~^L9 z6Wq6>!I^J|i!+$HS6GYF1QHKr{7O0h6WSRaIsmYc-xgetXW4o$q&thDn$vONBs`f2 z8);Rc{q?6CijzYQ?{S1tb%8m`*%;!>(*WLJG{bskjg`}(VWWxe_S=ofnfG4n z*$hOt<6DSJX7(qap>2PP)Fu(f?M2Uwm)=uW;Z26!4S78(ey9I5u;yG4|6Y#Y+;*tN zAs-pQC5Tz7%5A#;^at&1!I>8O!_}?-*2;G)r9Fu;)gwoKXJq_m;W#QL>ACga*&N`C zcrTKJG}b_4>`iPuVSxX%Ptz2;GeXh|kIV2iR_-9NalZcQD}CxDs)pKpR}Y5SmN+os z|D9Hz@d6C*2ZC=Aco*fD4MST_r+q-tc5^w^&W~c7vI&;%(}|`=;u$omUHD>>z2xd1 zCY&EkHS27{P-aK6D~TV@nZk)gYuSrq`c3iA(%aO@)PSSm?(9-?ozS?1P3nE|7i#Jb z;3+v}7P0Sy8Fmhi15Vj<*c1L@2NE zKeeE>M{Q%5NVGAon)rrJ+W6eDFagd)Kyg8t)gho_>>o@^#$kAI1Kqn>}Yl-ujP z%L@x7cEr2U(p|EtjhA$Rr~?1cFcdcnLW0=G>11C&>Ve2=&jlOflK)nNiiJ+it38fZ zkd1rPKXQn^{S~joBPQ~5@Vh=(l-A;lC+Bm? z({Stqupf?HkvX3}b}FjuSBP7TKgioS6@;xrF7|Yj81qoJp7;`D^Lg$!9P<+5QmU?4WY^E=aky^1$m~3a8;rup z@qPM0V}D$$JI|!2;8xx1af3|*0UU}rTmT+*4emM2U$4?3Q^?e$XjSKpv22cQtmP5j z790<3E~@~%DEkjEJ7-Cm7GOtNOSVS5&CMIaRZsG5*D!B{@gEmd%KUlO%dA15eYR^M zZg4Am@hHl*a$+v+$tfBR1E4}BLGTV{7yhNHj~6zCL84GkFl;b9z#oz@P~TQvZ%~l~ zCDmwVDwR@zQMpAy$TBMKn+v*jO8a^W`>l#i896t?Z)eOMS-lWUToAHCy!oni9Z!@f zq9q1o@y9)aLEHS42!eqyxaCf_Cd-UkO?ncW!rL>)1Ld2+FZ8iddYbbxo@=4Cfi?Cl zf%}P#c=+pKLLssMEidmkm+bi~hSQ(9^667|Uv1AiA%hY~6%P7_+)jOi4+kzP5EgsH zOiu(!)dJ6V%#?S7X`1TC*FUh5#rgmQJ4T$>nuDaf1a@AC{KfArJV_#^XV;(JMsNsr z+i^J3at`?AL7M5`EHe(YR>@D)eI9)GMrlLs#c_)Sn{ZN)(T(17tNgjb(ii2_qoo~y zOJ?lrfYM_o#Rg_qEzOT(JszeEa}lgswe&6p=;9@4hqIM!GY~8xbP7cIxEd|(J_{5` zEdD#F(1c*(?t=rUi29C90Ss-BjcdQlI`k(^W)~Z?J>@lX3E;AE7k3YIvf4 zX#QoHMcWIJed!q|GOf-`(Xp1s`cEI;_W=dzZw}19wULN{=X|}#TnuTG3_`8FJIu*p zct@rl$04h+Gta_i_(8v#nA+obI-EB!CA60>e^DBBzlg+T0ks3j$A8*(C7Tv!MVEcw zZ+I!AKgt%1qxLPP;D3xqfd2~@F8E>7HTZ?gxt;j4!%DK*y^%Zli_xuvuC_6I(jo3Vt6M#DL%vRt)ZJN2V>OAXxdY0{12ed ziVZQP{RarCWS2*&INHC4Ozx>aN1ILwO^07F)W1G?pnc}Gm*5{vycKR;8S>xcw&VF& zlbeZ5Q7AU~ly774h>X4R$3zs6_L79XTuh~}GeQ-gjBVu7$_r_bO3yYocL?U==~Z5P zss!H2MC>$ya9e6@`r1o|zWbB(&rWk@^X`1OEE3`t?=o4?1>~d#InpGwsE^s6UX6vH zHPT8siE2HM^iN$3)yTGJZpl)0i{S!h8{6G58-DM~NncqZmZX0e~m4@k43 zJKq(rW&mf5Gq)$RZgtz8s;P>qA4jb?<1h~VD%~B)3$KOinC#0JLPgosi6sc&?+InN zp~MNl?CSQN1Jwr`mqO{jE=*=&{UYzAip5gSW*UOFahYPf2~ZAnZd-YY>#xd;j+l{Q zhAiKB3y&3Oxn%3sWS9pws5Owe>GA$v-Bhgq2$m0b847?pJYWH2h8EBYV zkiv>MjktNBeY&{n&U5qd3dL&(pc3OryW1&Fo_LkQ!f;buM&%~)f`b}u_I^CP88Vd= zM)tI^=xzLZrg7IhqP7j4bYzwb2v0m!31alyf(+>22qNL83DXdK3c8}BQKWMN6OU|S zXTqhM(P{A#ysC0*WP*1*x_Jp3bPwtqjO`w`Q!T#pt~jcKcOzN`&0o0-b)&jv)dZQb zXCR?kj+B%IxCj~Vn|pRsI!pDIcsvMp;mzeoVQAjEOW;b7jP-`6);Et+eLl5Q`hG_}OJ>@a?8jy7Lz;2hR2#dbx<0y|6GBn|LorCp^13B$*odWXOpy$hytg2j-+%ysuhOO% zv>Ip!lh58-odd3Vo_K35^Q2)|sUYv=wC?tb8zLicXnbYXf#J)>+5^%b=q5`qX(HD@ z`yVo%jxzAdx@`-hEVV#n+Y<9%|Bf)4DgKUrBEm)*o5YjjD{|{uXoR1VOjQfHv?ve_ zuq5dpz)0mycUuQIz9$W16SdA1n$ z{MJ|o!T$qb83cR+c7*MrJntir%Qw?8b28xA+50E}S2k=WDQ_oF{{E!oQ6-l( zm7@=%M;9^cgm<08uRX02?jcOlyAo(o9P}BA#WUc8`tGNcK6CvXaw%+|z=pPtl?X{_ zQcLDHCyCD>OC*+FUfn~^u3;pzDa0G9wPj2i z)qyr$V5swG{dC(R()Ewvi8Ktb;k6GxUqd}+5g+IuKnT*4n-XC%&x`65Lb;kWuBrvs ze~W*G{j`-Oh~i0bYCne_m$;wt>sw8p%~k|{5!S-LJrzf9J4n&J%6TCGklcyLMemtZ zq@{JdP3^M8>FA(uxCB!DkScK@d!>IbbxPw>~JortvL z&*5PW;5i>+<1;Ed2i16GzstO5Gyg#b4&4?uPcR$KpR^t;OvB^~#6h9`)LG$ViVbRF zp%;BuYxOA4K~~fiQDeB+9{XK!lc*onA?gN9`qdBLT-;bi?gIux@{$=-ck?(XD(1inuY1bO(ZK+A}J&g&pr!PqHP&} zZ9}JBTu|>{5C@*e4i=WPZAL1`PHgZgm27hz%H-MWJ0dMtXQ81dsN}oenBd6z#?pNd zI}l}4I`6~O#G!1zJ#RqKo4&N*M&ZvFlCJV->i@Jd9F{2cv<3VHDEj*cAuptT=I-rgtg;g`zE0Y_bYrh zrV+jeZ~MV;JLtgjxH+4tD?N);5?IZ7ttZEjWq+u%Xc=z)=)HWe-(o~&J%622R>>E4 zZZVthL>*QsIoT*Y5T#5vyGpMP@Bw~WrL5sB$ zjXw638O`8m_B5BGknF<{s5tMuF*ICGubl7WaMcK-Gn!?Xx&RzIe=VzNs%MZcumKW) z7~5AS({e~AUSkA!8~P_Va9gVVZFWpZp2Bw(=icB+k4|X*;MK3CN{8DpiLd4?O&x`h z^JRhlyjku|JBejUk|J6Nz)AGz@eCmod$ygauF&|a@PwT}T^m6crS_W$J>GgcxEd9K z;Ly9ZB$Bjp4(p=u|G{uKQzI3wi(FlEdwZp(eB8~`RroG3><1$&9+;u2GO4`dSr3(L z9smHs!zT!YgCFSE=HX8V&am~e)T?$D zIJ|RiLdlugC)nqN*E&w5?hpGr&@!zxqmP-RuIo%i7kGYH%(h|;cmR_qZuv-DVCY>TrdbVO|G z7~Ne(Jyfdl@)z@ScTtDgV5YlwQGUhY#1b0WT<&gW^u7tE2?t3j<{fQh4r#v*{o#fp zRa)`#f9BGq7t7F}Z5BmzH*%3OTp!-uhGo?Bs@OOr`Q2t$s!C?l4JB{$ntBW~d7^+^gTVvEv+VnHPD`Iv~B>D5jzX>4rQON&Fx z$CHm3zOp&vvi%?v3Yh9!!SP`nNJk3bK=H;aJDd+UTgd#d^LkwY4NA_xGp>$omoF-0 zoV!E62D$02ef)+V)!D3<;`XEW-MOfkw^3mWl7HTyE+?EIxo7Bo{DRv?#69G8inG27 zaM1qXWe?KxOGy-nhtmf+Fu!S_pxaEJ5hh;l2Mq&V9$Iyih_79FThWf*Bdt!4y9lIt zT;UkO2c0KFF@7DQL2tC!q8GISz#4vH9AndFB-9!yY-J9|@B!E^UNe!DbxWv8seP!(ySi(_bA5289W|-h==3 zWTi1IrB3z~%y&vhT5Nb(gVB>)RdSBS_RSVRjTY$fil&Y~`R>f*K={Z8rBs_wydQx4 zeUHoBYXjvtZjy<_;|iT;P|#H9$R*v*lAQXS910w^FsdcNsy*CoHWc1DUe z3Z`iRjQ4v{B|}0(rYett{0A_Me}Xaxm)km-h$Ui!7Sm5s7)h5wupg*{i`4vf7Yr2A;mVvigdc z!b%(rJulDRY|NO{cg>;Gcxm(XHq|#;L!Nd-2JvxyKwBsj3o#dF9LNQqVyA6Fh$17i zACU`s<{}IVy`udXlzu}D^UWyX-^m>K&gf(_U1!q10>N+h6;kB<%xHoXyA&UOSzqA+ z2oFr}&nRIJGGb!nH~<3v18_T-^B$7?by^O?EYH zGiWEizR3DJGaU|BF`X|aUh;O5MF60kSR63|7ZvZUfbw`Pa8oc2Hf~C1aOHX^?1g-Zte_TyV4p6#JiCuO7v(h~KlcqMUa{#I z{5i&poWGj9TyH|nuEv~XSR^ClCM`>0-q1T4_h~nnkNuZNHD{@UOx*O7v6lbz%xesg zTR-G`YN;`T{fFHYc0DnL)Kky=-=A*!BE%e0dtJH33Mq{Qeg@ikCX03~5E2_(sTt#9 z8zFAh^-@$)01O6y<6e@syx4f5PvY|+6zbLwusPWP% z^8$0I+q}pr`%IUvihC}9T&JSgMS>3r0N_beH)UlG_9Ogi!kqbkBl-IOeWv=)9aD$3 zsQWIDJ<|kV*ZQsB%xjBS)-lJ6DTd%z!F%Gc5XX*OvZdsmdxsNMEVTp?q!K*yFuVT1 zI=>{u`aeO7lK%h|E~S-oWmB9Rt}Fb?7@Hkz`t_(YSDZ7(3R_gM6CL_1Phb!KA%>Cu z+9e*-b?hl$B?Sxn&I`>3a^@S|GVL-H>O%gTzV#jpc6F$pXh%;se|`rb)l;!lT+y2x z&=WJI6l$VWj9o+BNRO8qdP1hl66I)ctE;OUKKoaW@;F7r&1>kmw9DIF$YRi1KKJ zx-gD^Qy%BuwgPoHT4$G4aQl|(fM-{91_LZ+`zjU&H`$5avQ|9Wjwjk@ZxmR4O8d#p zDap6!&n;f$2zy(dH6m=hIV+AQiy7SGzkdm6RCN$DVU=HXGiZ?dwC3`@W>`1f(csG_ z)fuO~^^0TX+%;L+m0$BU8y9$CWcCT1cRKxJ9J2P(M zKv>@W=4h_^W$LDdL9Lp9^gqqKVfI(U={@vhF)}}uTzwDpCmMFZ_X_+z7$v8S9-GFH z>3ll)ENavSl9^6QCNxgwR|I`gl0}?gC_!A@2q2#>4uA3Ik!R`Fvv<=cei}#6!uibh^+O(0?WodfvJoI zkdbv$POW>AqSTr)B5ZjAx00Pbv1Ea9Q$MToDVNL#&0n|unJ2W_tBcy!qb5vFnZYzh0;|69oaV`-CEq@7w^qe&TB?%35~4i-$pH z`pY#lpi2t$EPWyQk>}-F5?{RRquCHjIO9N(G1eDN2ZYmOb&l)mbXQQpjt<5RU1vEN z_$&G6u{dAz7=*CZ6k8^|+i#ASoH3wkN5wH}kd#q!gx`*KmYgS4?D`=*|A#MHvZg2Z z!ml6Gh&Nt%`o;O_2K}+e$m$TgrR-bYCdjdP25#Epib5vATUT*5*|hO>V8*l98tkE- zCn5O4!A}x-XH4H79Q6&~dEq1Tr22r?myLfpcC5I1uM}P;LrT;`TG0#<^r!`7jL7-^wYR{{X$@Dx87G;(ah*{@lCj86?p3F22@a+P z%T=Kf7T%a1gdE95VLA&AZI6;dJrhL1V9 zD3oE5C-8&!%GznZT5N9aK#Pz&*JGicPn^2P?s`SMpqt`FCgD$@f1tT$#`kP+C?fPN zg`9-D$2qN^^gC5QGz@3tJI|!Hf|0boe4}j-5xoQ$Q@jx{onpsUlXBO7lC$-LC@>C{ z=+;Y)|8J^fBM0UuvszVndy3Zeb$?(jpR*#IlF`INi*scF%MIXSOG8&3)h@(1j zU{1`9W*c^Vo-(%fbL~5>mBZc)?Z^w-n$2&00`Y{hL4@`nIKRY^Ga<5l(17VW=as|_ zE?Iy7ocffwXD?$GbqZbGi^C=Q@NXv@YJiEvWOoQ~@m!^OfL%Hjp(Gds6lB6GN#{7o z$Rq*h81RuneGOt9_(>U=jSr2*rmOLEzeQ%MrGA3lh?q3XoUQuP=(*>Oj)PIVPHPMN>P7Z-JvUk`MV%G3WC z&%$?ZF98XTlwj(WYt9k{1@S#QM8%&$OG{)@_*t=wsUOSilrH7*%r* z&?IC7f{bz|W$ONHl6%ImXE@RDg#?JdExo#`dN*4C$%NGW0LeYJa)zAL%UUQ%0W$lZ z(*yI$F0a1my1(ocBmhweTYB@OgyQ%RMx@2`31enaOMG=FuhP0U{{tXIH~hQkYZTQ|3D7Q|%QySUCUd!GSSZlnfj5^@#WyMVBI!fyF5`bQ zxBkOw>7+9VOYM@5s<%JV6N&arf+B}`%w)d@o<=qbmk@)_QSybLjTvzV?-n@`ov5FG z6N_Vd8k>J<{8Wtpo(W3ncY@+dOvQ#X!I3L>;=(<0n|olE zm^&*CQ8XKdsJXY6dz6-nT8`YQl?m>ZD|7Yv@jZTj!u7qb>jnpRxC008*Kxj{=i_;v z+H~nsJRZ2k{*H$MK%^)i4WHPpt2Pur{5>=0=H2flfdT@>{?Nw9ZETc^JoY{>*rw=L zVAVjMo@<<($$oTt;cnEg9P?)>DmkYpusid|JItebTj*;s9%k|hG0LxsKb8!r$PND;kJ9CF+Ak}V76SazyJ^Nm zjsF)S&Fv23eD!!hqwOoH&k=?_A}?hZEDHUl=cxmK?%jAdZFkChBC4)33Jqc6;GS-~}U|>!Bl5^@*O&p)FGz@U9!6 zb35f7->ndwjg>yp*0VoDhX8WXtn%%GGVudG1R)?ES_T@?DCL;zb~`P#xRXiC2o=50 zccvMI-<}QojoM`a+-Twi5l8wvuUPW<{RghhD0!*rDJ6ux2aj^km}YZ9iVT4*?T@bWm=QTx%By z$NgqTKXzlZ%D}~8k8GlZF|YhIiry-8-klx$J!m&q2Kmt*q4_^CB`?qCF^owZbXE`z z?fG=${iPQWq70-r0p=i8D&ORH&CDdA7UzNq)kJU$_jqN6Z7m7!v+c?|TF z(gP(W*e7@HJOr!gkAvZ=+m|lp%V9ibYep;dN4abPoF%t=tHP#bMK$`Ccb1EE^&CF^ zGEHRotwxK<@|LktDBltFAntLxGwWV3iP^ahTpuBSD?un2g4}VyxEl>NGFMC`r_o>H z%#gii%T^iX7%|#BjPRI#G0vG{a%EX3#ALap{5FsB{2kL=6ht*~yr5Gq?c5?9y|>{v zQ%ii>3=g76kxnwL-P9lI7@e+JbH>^I!mbYaL*LF1-pRr6!+>cq4Tv_0Kndh&tzXvL zt>_vG1WJptUIZZ3qMOw*O<22`iFA|0Rk zE#k+Fzx1*EczDlhdT;cdS^mWN2vxP|1@EqF06wb_fhN3T7Ig8#c10UF#EzBBS_I*$B!U z44}m3lRy04-@Q4$fVGx2&W z#%fWSfbQn)J1`E;aWZoNOPGK!jWLuQI!-6wan`Kjl5AH<2@HJ_iJ8PXoZ$P$wr8rI z9zd};#h;mU=wP?aF4Si6XZ)COOI6g(iL;IUy^SjuwVx!Yz_LYlWU1AxSC{H30A7yEn%v0GjCZEs# zkh7EAelY0F^(tg*o_iJo0hNr8Td+(g#Yto4VLtB-2c7Nh`owpC7Xs-590eyU_?8|D zMn8E_Y)<<%{yUN~kMO@!Tl7|!>wYh&mOlasYZiKOPYledX)#F@C$)I1#rN;e;{?&F ziP_%a#S53@s1Vxm{2{-NWBi?-%%$@~YD@KuinqEOh1dMhKSysH3MYf~(9^10-)2OIxY*y1ZQ(o&Wqn=zXDfsqN1XWeK zb$IPk`@b0vigE{k??jJt|2qTpRV@0%tOL6q!l|@(9eF7cllr)Ixk^7ML^fCD!LDz{ z4>Z)7|ni}at&df#w8xjC5tj+hihR|w4a-I7e1T+2k=S=+|ZiQo=?n7 zTmL)tGnZfeZs8rAS5qwrnk?Tuf9Z2WI8 zA}Js!eI4R5!Xs8{-4x);t-Gi91X3{+?KfJA+%LYki(Exxn-&?L5>)*pyrvO*mYcgT zp#6RU2n_9PZ)_(0lmcvWVCqZ0MjU4+^2u=g47bc+{l;~iIhv^+dPFXcgP9l_!PxIG zVnLWgUC{tJY}p3fTWffV_a~S6aj3HakIKuUeN_<3lVI;vTE<_JG`LXn`>Wj z*7Z*=?y{K0{^kek*F9aiAsw114zQkn^Mw4mZdd~${U#u>KD+*F9pD0kL8HG^*;fds z1n|&czoa+hNPD=fxX`eh;~jW8uPknw(O|bGZ+WM3$$!9JM*u)J3;GXWW$Tel)b?gS z?_Kar^P2EGI#*R8S78j&OkO@vX4(HfXn6V_ijKl%TBa%28k{@Iv|iA2dO%5w@f+=h zozEjhExa+nuz84io^8Zf`-wR%KGND8;VjY<^qjACat-YhIk+sL&hzDIZzyHmUg@rW z#5Mi$N-$vfP~U9bmijPcp1R(78frgMOu4G+vvZ1=vt(mS3wgj1I=kj8c*#g?=F=5& z=QlaccbCRvuoBpk=i>FNOV@0G68531f}w?oU)S}UG|P{XT)tbp^K4@!ii&HiF! zTj2~kxcyZ$_wv$rJoSTS5=)8(w<@P1`)f36B`S*CaEWD;Qg+&d=1h_$VUq~Dr zPpWLeKgxNywQq<}k0Q(zBs8(3pyTiJ%y^8b- z(v8u$oi$C>N6G=rZdp}GYH%~StE*Sda$h+`&>agwSx{VJRZUE630T=1=Qu=g$AaUA zqk7POo8kFr#5k9J?o}gD37Yx5(+{4vbwLA?ZVg9Wq9yrNPsZL9co|4F(PXdBopxa| z3>M^Vf4MC&95&Np57sOyU5Yy@6;+>n)zZOk$B*08b5-mXh$O0eG%FjAXOuq);Y6;* zWYOOxhDN91^!|+`FXVv={;8Yu#Vb5)tUg^>lwa`R7;S7{tdZoZJ;)7Ty z;ivIb6JpCo4k*^EjT*W?6uI#3naxJ7??{J7(8{YAp(ZFS{7hE6k{ZFRKg#*#Q`s@` zAnziDr%h!%DuLeBO$(WQ`^sJDvnv^gJBuv%=4>})-TI9At;v&lKrP^4S%Sb>gUkKQ z_UwM=1BRafZVGBGdhMX9;A)USk_!uRJ5GCh(3yN8Y%wLXQ!2h|pTD4FB7N;!q34xq zKrbMOM(4(OG(Zk72AI|Rb@}Fb+f#%nOl=SRrcz{x zA-gJlOG2a7yzD6{<%i7mO(Ltf8HXxxB*tma*1bOS9GrABa(=OO9u_|TmCty?1E283 z5OM%ai1zoJ`9`z#6#@XzTg^jS(Cs-JV#$c*%jbXMb2?#+YOYjh|L~>8jrkNKt>|t5 zHcmnA{+ia1sppKg`ipadsY5@ns>Lae;PG*?=$q0#;$oYqVQ(k|2H=#ay7T;z>Hd}L zOn3#Sw6+X=HVG-IsmX?_e_^&nQSG_I^|T_dkHxRAQ#+IOt zUL<56CL$+o(ZUk}T~v~Q_VV$L?8SFV>{a}E8Y<2n_m0a9KnAGKV>|a(Wb9QgO>#hJ zA_|dEQ2d&#K7&H7UBA_#iKwNVHsw|#{j|zbKQo?c+U7^!vNgUA z{-nzjk@S-JNLw8yPlYJM>(G5F?|DJ*Siufi*!;Po&KK06(BizA=?4VEH@1wJQK;>6|A;O077WHhxVQN10FWb-OIINp>=r^d7 zqUH(M+oAV;Yy}%%^9^CeEOH0lOaA_sdyjwBLWGZ-E=Y5Yj~%;Inz&FY7WEWL9;(Kl z<>!@GJM_$<7H5&Kdh#&Cc*>5|dhKtW|Bp8o|7Syz{hrn{LJ z{x;1vA5R7GMBG{E9&7bk1Z_r%o>~b|-&1Nnoxc^cpSb3KnD*yGz1y#+e}Ji}w;!tJ zb-#@^#n~m7D6d3*dvKZds&DS#bWJVzgXP>o>6O~sYqGgzs~r}Fh3s1lvj)rA7M*v0dnHd+9n! zy7i@*fB2>rZuXIDGd&MB^j$<>6ISKB;YQf|= z=uajv{xQ5FK;z7L?cK!j~$vWX~T~v zt}l^5me=_sMXk`*m%nY)=SQ-uVTf^TBG0BXU}!bW9f9XDDT>AvEC8f*Rm!L!Sd;dOnx!FsY(&TVodacA)$+yr|L$6ABgH&My_zcc96Qwtx5S7g^JQnam7>n zrNS;ISKjR(NolSMhMjVd;`X|L?|9;9;i}=Y=3DwDq3UGcfl5kdgISY96^B>t;6o4@ zrJ3q{`*P#$Mc_}VgVNWCp3?T0$7Nxlbq9p=zuQ@$rrSersZt4b8=!PEE6ZGYf{6!t zF86ok_tw{4-vmns+Q|hwWe<~HuWw`A@bk=2iE4j+g%wHE`CM}5nL zgm`$@XWj%e?UW=qfT2_5*%LH2b>jSMN%u8RVy_{HF4$~5KAu)87`WWmtg^+odD-SK z|EM%*#>;&Kp4y3K!H1rGc9LPJ)!rPpj?@3~Fn(_5$l8$jG68KiSzUoBc9Q2_MG=uFcAduNps4{d zJz-$FrFYx!9TPn6BE+q4>6IYQH$b`uZZfI%^55BEvs+QovdX-MADZjx#sL2cV8@eL zZ=tMnoeUI*%ChDc8fi7lDIM%y=Qt8H{3<7l_ODQYZ_@vYWv1z9Ja#Z_s+jkHYSfwq zSU=(4Rk;d@`cn~4*X;ASIOMSI-_elPksmy|^EWS380ZxjKToqqo19YfRXp$>WSplp zaxp{ZORp&M5-Sxz&68TU;aLclPLJ`Ckj-P}7GPeLmr*$LVO;^mH z&prK^Lm?efVqy`W#tLE&0;U7@dkv}ZT;rAe=d7=JHHXkD;20+&iD8_Y@`%`^`2JD$ z>{*qz%^hym{(g`;u@fqmGB=igPE5$~vK%Dgp6h|8@u$>pOYTB<(g1fQpFoDtvgPld z+a@oj+B0-=44}mJ%@yN}PW>hMzHcB11HFY&cEs!FGUL~K)nb$GII7;PVmjZTk}0;0+P{YOmQG!jl<0D%ZtxhZ?~y1W5WAD5*p9Tr@VvI1oCgoe6b+) z*^#7|LA8H`Lv7s+?T2%wxijuxnMI0zRI`q9(&cC>4Dw-tLjV`x7o;?=vqWIxQmKrR>f6+^JqmQ69mf003kdNyVw*|5Wj8cwI8$fpa&fYKKuc z%ph>G4wV!Yh4~XQn7Ru_Gk}OmObPn>rZ!D|STUi5gt^}=8)X{NdI4Qw+kre{;utQw z%mfAb&gBd(YQvqp#}NkNp3j`GNit^4#j!DQcMVJBPNj?!l$ui+e_>n~9{~_x`S`DC zkkY_7efckJ94*lKox@rMx*r?rU@Alb*lEiJ4KZ{AJTr`zYl@Ub3R}W2ul}j1Tf#na z(V8(*PuG$tK_7hZHhH;p|6XbTh8As}VG2&{v8=Q4lE1c93nP&(i1Fn4v`CRvZ6=yS zc^oCUbG}KX=egps1bRpND7OMBh27J~Ai`C2nm02YKtCzyl;MY0*4=1*mJuC%y5SWf zIm(r^Uv|}vyU!g<=h!1T_~HtVcZ?XfUa4F+vb50ZhoAuSQG%$;KAYU*(?)gBB0c#x zj785lG7O=vs+`6|iveO5hv81V*I#O0oND876Zb_f+V84zh)ZXn;b0pZm`Xr(GXYy z;$TzGP8zr?SZ8s$xS{dt*VMsB9N0wiePEH(=!Q>Hjwig38nZ!Tf#IY5{$_r5EtHQ_ zaiVeQYyGJbl3>b&RJGVT1*+c_#%|gQ`mGFDJLe332QMwnEQ!m_LO?-dIo*dE(XzAq z=c)+&?<3N^(xA6{+kMbu$&GS-m2E~dpK{udrwZ@HFEr~nxtjwZnXAtGSL@ZC0t=%a zW!`O3f3ATN{pHxuZPyo8jqH`Jdt`Ch?b)*CP@5?BV@91apM_!i|6Mdpv1f9B_;7k* z9&EN~v_!9|AI6nqN!H5aT;zs&-(sv8w?_$&%&IYjy9fK#xgw;vT5_1LBmJ^=jh>ZB zoL?u=RQIX=*Ya1Ad?TG_KYS-H#q05zGyK2s0>Yt|vT2jNat#sZ4`UHa%3dr|x2pp6 zUSSNDZf^#AefWq=7Tp`9TY)vpRD1Jx0~(N&e<>gQ+U^Fk`neK_A9j^bH~fF@99%o0 z98Ec^lE&^V7MVO>=EqL$m5QAlXbj&Ts+c`E^$#je!}z7ODw@GU&1=Lkd0`smYlS)qkVE0)kKJ&nN%1ogd=wa`w)CyI6eoT*HKVJ8ZxDVWc{x zY4#@qzf~n&qus^Q9yIGb#Ihw@P(P{5FlZ}pL0pfRNvQys2I@XgJgn#s-2V2`b;`o` zz9AFIJLw{E(ky&eru?bc`Tjw#j%i?(g-RjGoAk=q$81SPg8#-M0PA#CNuz4`8yY)8 zl%6Gp4Se2Xa2R>fd9m)Ij-ynG!)nzVAuZ)lp=&dB$m(j!)<6DXhi>M(7Z8Y1zDD{S zwJ<|RAU@lBUXG!Bw+VUb+x)E1gs-Z3lcn8?3a)QdRj*TeZ*JEwbymsQOW1tDigokv#UCl|Bw8g}>?rNd((>H%PQd?Y zhsw0Dvw@#G{HM6A^*J#ydAQGymMIhy`#iaNxj^(T{}e&PA3g3m>3T9z*U+rQ9fsK|+U$IZZzm8Lg?akM^=eir~P>)aV zHL&$KwxoxXt0PLU6EirGt49+nh0_X#PBA{K7dpeF+z9UsQO74zydZ;iH{B!W4;I_3Zu+NNhoj0so9w~Dve1$ zTX14UPp{JX{B+2^o-=G= zOOnVOu5tAau{iw=x8|BVfQcy4QptNa2i;pv%h8Hnwsc4+#E6g~3Oy{=Ou(>!> zp%M?{!EV!&!fCrKwMS@9m(ZV+4R6#64LsS|Bp}1URzeoO`5CA5t`Pn}YCKI#ws?%2 ztddR*umfa(T)>K?Nf-UK2wU%-@(Rjwt8jcRgish39R>D}w03|a0G*P?zgq%4$;$v6 z=~nrV+_zb8m=_Q;$Em`af>UE8JrPKT_8cdci02^F_N=|?NV9Vd!6K`1{o+Ol99f@X zxx{J8nYpr@?A$nU72}cKP2$N*XWcTajAE`Q_;B(zhJCusGJ=BVI(Z0J*r23ZL&K&q zb7&)2kmgk|a=C09Emx;lI(wZwmpnIMt)&%G_<&MIaaF{7>=es+v|gIYOVH)btmk3? zRvXbytWHyZm(_a{CB-qjNG4Yredsc%VSUY#d$p5HB2EY$~w%6Lhcc} zdJ&&~osBOL@()IOE-X(>dFRjZkztSDr=Naf@dO}|!?6w>q37GLe~yf>f7tBGzKhAg zfLSGzp~J=#wW*dvYOf4a7c&t8<%yY@{{a|*CHxkT8ok5HD?NndIfet;o;LRi5%@N# z(6v~>x{^2P@vjwFVsiNA0|7A4o&A!zZE|><&-5}lw7*L-4hG}ky3uY`pfx$zzQCPj z9wG!t?3K^y-Zcx#GV;$y-~_6^NkrNi-lJ=ioPyjJQlNYo`Cv4k6MU5wW0eFIlMdiA z+`3QW>}?5DCK>Z6DbRu$unD>z83qjcTF~lZjkn*~1m|8@GabbdNpWVyY7Ev~ufqCj z_3jZd`jsk-23q=n)qaRnS(TohN1RE<;uDkVeiqM;loq`z_Ep;9?DR}sr#@a+} zHnPYU3uR}~HKuo_#7YUj71b|}n5z^C6*T@f_F##!J9)Juv zmPoPeK>sq8G1F98vm2pT=X#S8rB}kh03?J0Ri`U72K7U^?srFNGM-)YGJy2^6saF? zC;BWaH>|b6U_)vgU_FE0ve{N_AVN!bZS&an+1?Tc0|3C8r!Kvwt6>{;<-I3e%&g3> znYN^ekJjSIE2ZHxhlOP?bp=b2 zD2Udc`t<1)dcNGS3(3|ha1mVwbLGiP9WsQ2Lo^*;t~o8bGZTEDBeRSj1;i5{QD7+> z;cfbld~;s7Z#uV!ZpkuxWC#tm8QD>HgN9Tk<0kL-eOxycK;HE+n~zJ=Ekl$Ne?3P-P3zrEpYNCk?f6-C_K z_18d8_J6l_gaOq4R5zKDqKA5$&*0DFWJO;YOg3%W<TEf47U@<>xj#dByGB zDBWBB*e3F8WZY@|>C79LI~lnmf6KSHUh?*fBDLSeUmY&m(_`L>f}3Cop*9(-jWm&l zzK^u54Lqe|hYN>+E@-2|-p_J9>u?wX+h5#_giEr02mM?`F!_+Rh>by(!nSHc5$ zot3zQJ0(&&$EYX}|ID}9Ex?}&^X3Ba-<^O}hx9Th80OEP4rCQ%g95V-`*X!Gu>LX3 zX7ja*)5QINI47H=dPjX#tF|@S6^$Z9q%s#t>6KKKP0O0T-wHYOusWtQmsFviH5F3l%j zs68*{8#e|vk1{F0oTihN>Q#S_m{yQDKDhxW%TQelmFP2h%**U~3$=2SykC<|f$6O0 z?o~(QI1fKm1#EXSXuZh~zlT8W!9^X27!TpHl!wiXWD1awkfCc*##{S+Oe9N?V8WX@ znN5KnC^1^F_PVzCa%+JHa9%5dPF%eX|kP#k#p_}bueb&h`t zMQMjMq`Uug@+~@-OAacYuQ9h%e|PGQ9}(`ypG8kGM4c|c5Y|vafO~lYUB`hwm8)I)>m14 z3UAJkYSc2npQPSN;=SnZd3Mtd4ic@C+z$wQQNANK7<~#%sv7EOnoA_{wKng1P{#r|vHmY=_&t-0LcbtTnm%U{2)SM_bd z01zQJ)v$a%t}1tL-PE)Mzqe_b1W!OSn?6N%Cy_LcqQ_c&WSRPPq*UCxh4Bq-8{ zz$KTBg|5mIRF@tFyz=4`c`O!z1g$aKKh+E`)n4D;FHDicfP&jj%U$guT=^+`8NP6# zILk152A3Sglx#5}1e)DucUHEvr=uteBl|9&U*=w2>Is}pj7tTBs;D)Z6uVIjw9N?xed?L ziCm9gKdAURE=7FSEKE2Nl9!F(SsUT>K$nXtey_OsD>A-=jyr#Z6kW<-3slS!|vjV zL&*LLqxHG2@!7f}H+4%BzPv?`z|Wmb=>X=(FyM$y(wGucUwTDOsUZX;A&&9nF`ECd zxaKc7#1yT?=TtoDZHxEUTl%}In2c&n%z%uqjVzIpBog!H2rNUfN6!BTyoq-$ z$iaolFmyMu34{OvVc@9A9dR*y<;z_0NAv9EaiIhSv{{u++V!LkYL4H-Vx3;KFTo&))ST_Zq-d}kL`Dfz}udXGK|UAvOs`YOl63yz4>5|eiFLC6*I(hohC z<}$YXZ!E7vo>zQ%Expv~ImVJ`R^cdH?ZCVI^`HNQ%CJFP zk-ZCit~6d^%92Nb{QdtbOxgIX@I1#`Ffy@TdZ)Uf{A)YP6^VIm5F0# z#MYie!SN_!L7~{-^3ZxFfdL9Ef!WFy>S=V0eu+q$gVT7lrO3D)m&eO*zAvFU;=nDC zAoQ=S;iAWf`qtv4nXaRaBxYJGE*J&w zreK!gq_kpLmY$2rKN0-#T>u)5a6Z7nkV?aEN+hl(ZaQ@TD!+>hf66_OIP9=?g=VmJ zzZyK_qf2|Qqbc;bwE8(nKEQeQQ_S5~WVu1vH+!>&Mv=!IfwmG%NltRr8PKeBkE5k> z1Er_dmcF4Mvs0H&E3QYzfwKGiG8z_p`BL`I-1iZgWPg9mdo~iuy}ixmgMvI@$0@5k z993~^`M|$D13TGl(w5o2=Qx8uiSMsQ>>MdC+2F`t{%^Vks#9AW8aMCunga!YaXci^ zyR(K}n}z*k79@oUQoNH_4mQGrC!54}WSn>?do||?o6nXnRaNI-Jn(QH-_w6`=dk&K zwdl@uf8%TXl(X&0_xGHQ&9*W9WnbigORW;58z0+lJWK46Z&G{YAM?q{9^(1ifAPfG z#!GCg`b2Lsm&Oq_6$lG^j-Mpa(uyj#K1n06*>fqbok2C%zHT4tx6=eS0;?7Byj!zd zHbyGK@1h`sSA29e=|K)WDLwv8tXC9P|Sjt@WhM|0aTKU@7O!pm%x*@-Dx zevcYO>RX08&KaxPJQV$J{O|7d@n0!j-Ba5He9k9Z~LBFhF36DrmY7KuF8$fK5 zFRWU1;^h)*-O+CNRl!KT4@c*+^4hUe;%CvU`;DoZU*vm3UCIiFTSBu(vzuEg@BY%h zSbs%A#2ahhSk;W3Y;bjjSr>+*oP~qP?I~OPE6L{mk87n;_BAe_uW$%U50`U1Etsjd zeuhY_=v(!T}02_!DmP^&U&40>*mg*aYM!3!E<}>b>L8$QT@}n@#ELQCEM6?-v zHwsgIUHbe~N}3o6Y`AS{XppUd^Ek3hQS|IGgpptJ737Q5Ph}oPMek{=@nuexOeRp9 z0YhL_hLo?*AXRcmBydOKKR}H=(FaH_oT$jFW^$bmmJsP=w`qR!aZ=;+Vj`aL%a1rr zm}xufh#POxzrvI3+6|ryX^^Yh9zTJ3r-)(&?B8gajEiLfoDQ`to6``H52LSm-eq9+ z)-B&v$XTy$YF9#-Ii|IHjP23vzYX{~Vi5xB;4DPY&>vCx73nKHZ(7pHarZP38@K8z z0%>GT@PRc87wfcG~!XF|s<04TDmF~!1K)-tI@tJS=gJI$g zyYT~I>hxgp9pyHJp^>4@ZTk} zr^KPffjYHmA)48!{6*Mwy2OQ(SFkgX->a+Wj{@AqI1=qlRz$sTwovVHO~46z3(PBJ zKG;?B+V9fPx#mGh95O4h z`a4nD{tY7B44kT2#B8R6F=4T{%altXLRwPD(~3)}lTV&WLylTwl)ZG`ESKz-PH_Iv zK#VR6)q-4b|FSNX@_8fM=7z>p2t5EU3#XZ-Wrf zdtpfdrLYs&y%HL;`aD>XY_>T1@=fb`>#HFE?I9N2@s909*2lq49yK47(Q@5!V1sCi z24Zc)Ml8$#wtxK9eIXSBwFNWiPyrFt?A*^hz30LdkPz63wKN<2v@pImnr$`LxRK!& zqe6R3PPtN@?f6`6c-JEx{h#RO?PIG8K8n|W#VM$T4?}xw?9$nA3pMo6R>GlgEAF8>_Wxu!4QxtcBU>}ps~+won| zDw7vs)GOz@7gK0l8asb2G{)+U?Kpa-!Sd_Y6MS(N3TEhT@bb@;x9TMfeFKCW4OchD zW-firFNXS%P?lQIPB9T2hv30?_OtoXq9$c@E{<;W z8`bCwxL6nTrncH@J?*6*i9{!Xo9`b+!}8{Cx{;8TM&2Jc?4t~w{I z-IAeZ7morEA9g{8A7sX7#>F&*UNCfzt2v(h1e#CB#g&6Bwyig)1SDFkOY9weAQ=W2 zE}D6n&Xdy(3q--BDe!&z-`i$=kR){H_Se9m;H5hcC0+HzUt@Xr9~mJv zw4hZLPy48;qu(z`zhL0wX}12AtnNviJ6x!%A2jo7Pk-*|0`yGcF#7?49hS{MGlIW0 z;m)F2me27&hVvsejLxJ}-j1L**Pccg?+y!@$g0v+uM~inqN7OgclW=a^c5p0LmXUz)9v`hyIg_Z++8Ye;I722Lqb;@UvCGv<_qlpR^zBF)`Y4LiJ?ih`ta>&R z%TooRnz`9Bri6TLa|}n2+Za5)>##C0;OkIbvC6yi%@QEcIZ7T?{cg!wxvb$c0jM{_ zQ!e{QTLSTP@PH)P1UnXuhbA>H~zY4u)TN zVbyNs%zwiPX%nME_^21;x` z9oyF%7NRLQlJ5AX?~OiQ+;!l)HatF)I70YW(qNIbxh33pMT}j`MQa{_+#g~arW(Cj zc;PPXIQ&y-L(4{7cb64mIDV+(h2mCs63;CQIn4@<+owGh?J z&K_T-x5lf?6>%tJI+ZreL}O-tGH>J6Q7NDjFv9f`Out%T!WiZmwUHHW)JGvMS}XH! zsW56D3RGJD4YuhQsCT}jFsZtq6%q)9;rBaHORar9^@L2u&U7#|0uR=bf*_SYzx>sf z@ngXT^u@e$3$Xa!oD&$o>3nPI9?J~M<7}Nm;PbpY!?JCOT6O3lHCS(if7SO$h3m~q za1gsXsl@CK`YJ6wyy#bg%=bPhlFF|$b(nw1C@KM6p{w#F=cEVE#cM+or(nnKtye>D zPz=tMyPFrb1i(b1-`VnA`dH5X=;+V$`Bji04cYs?WrK=E37(yB*knih zFKtk~)8IS9$WD=i3K;1@dv;3z)<}@Y8PLLH!@u~~T0B;@CREKc0T=4@qv+mZepfYn z)|LFvmNs$+fm$u)Wvg!P=WLbK^Z@j>0>#A&R_oaL2I_sYRE5x?uirXapb zw=V&e{|;2Y*#50xlY*?9{K>^7iDPpx0%9=l*66GBo+V&}od0LNA7fohjT_46E5VV2 z;iHwvFULNgT1&moksDT9qgTXWQ(uln%K2aTd)zqKP`zF%taW9Wf1gj**$;O=lH3v; z+6J4%hb=U(%XUsLHHqhHtQRScB&tFd=|6BK>q0G$+q$j9OTvD(vSnR`o;GaYRHQ*e zSHEnIUT>`X|8#CH@$45{wW6b%o8N}ye*jx2m&VxerB>;Eh0@_+&6$Tjp9DVt`}7|` z;`T7;3Ff>`=)Z6O?w*1Fjm7R>`5D{#ldjV#3suOk)?R2&8UM@t;4KMa((OuU)1m=4=7`KL64cyn|3zlpzSS^VLu?XTA* z%3pfK%~2J}VOSlXtS@(EREhY_3bqJ70ybsw#%Q$f=WsKTtn%_(89rrqrsC6zaK%Jy zy2kqQCi^-Mvs6)(NE-GT|CHX`^0NS3yTG}6uDQvojwvy)e_X=v>JWdIb8|#Tg!>KwNP@Gl{ML-smh!jV>rzJO3z*rVN^Lgo8@SmiQN4c+Oo0)JvSThgWsh?1kb6zmLMWG;-J8W5k9>(UmvbzfckAIEDdbjkVF z!}Z}M`PExKHo?*W!-Lgq>zNSNkGZQlN&4prB!I7DbFu{3$Qud-9AiFr&5kFM#sm7a zB(|eOWRBQ-a<9zp9OQ4PWy_~GgXO^3aoC?#%Xf8Zuij;Z#&2TYJO~Nn{E%PqsuxtF zem9@*jzb)j7oM4uhu`&^4$EtU1;Ur#tGd72WXRAWOyB6(`HLY8)QqIAGWB(SHD?2i+O5C4OZ1y*U%tf6z-0_gk+D<$y^#w~~-UfGq`m zkjwjnDR;ekS)t%a7_b-3cXtkr`^W#$vGvnMSzuD<@lqRf%TiXCBLn~j%A-)dT9BnT z=d9jp2+G)_cU?r9`#y)$t5|LJryw(u{n4P&Iw+ZLgjA=?cI-q?~iWtfk!2 z;PS8h(bir;j2_s&*N)!z1gPu(BSpd-3V6^5D?Uw3nHd|+K!7U%Fi*{1B!>!9GDnr* z(o#|<-SP)gr?SSAi!Kr}5$L@C!`XWUHT^z7zkvV|1Ox<4G(aGc&_p^3y-4r9iby9E zA)zBk5mXGJBP9f+_a;?DKsrjV(nLa$E>%(V_vU|Y&YYR|>RjY1GnwS(n|=1#{VdJT zAsB@iioB~){)KO3M98GM8Bc#z7u!_^LWme>uLp1fE-_~v(C*7RR(AEvy3|i8*}1-bE-_w_q>T%@ z`GohoYITPx;zqxLZ*NLi{m)h$;3G{ql$=&cQ5$(O$&AC zDi!{(ME1fTUD`m_D^wR*F9Br;Z$>lPd|b0pOudaG)?~ z%kb}VNe;(5(Ulp`hH zo>T5#99Tp_Gyow3&ppk%EwX=QJ!tc-6EoTnJ}_!AlJXWQOHvIN;um%!%jNNww$OEw z#y9}*Be*{pa$1%Ch+QYsp~BS9snrLr&>-#`+(oYTU(i)3dRgw$thzD32l7KSUl|%y z&^qHNP0rD^cxda^ob4A5Q;uY0G1vqoVX2@_cMrm5uNEcu!TY6K0qJ%zb0w4ka?(s? zSnwRRP#e++nn7v8@5$isjDEyx_Du=lxDOi2+O%&YmE{`fw1&2T;GY%gFG?c{t={TG zhf81tEo2SD4^_hZNGf^r`GfRV%L!ABS?HlZLy`295XuiB-rM-rgjWJ4>@_O11Z5D2 z2qbi1Yu$!Y=BCcXnu&jv=Q0w)hY5+^NITMR>*Y zTihgY4-mH+72R{;XC7`MmL^QB@%Me55&TRqzV&M4yh89G8O$}aDAf?1am3==m60$c zj7vvS{Iou+SYi44j_Awc7jQTXpQ3^+_MdG@QH{G=1&7i209bslEJmfyK}I}pE`6(x zc<$o9gICSnTaO~{(@>sRWtBgw5`E>nlzo-AC}Ee?xqHP1C+P`bl>EVZxXPG`{$rj+ zU)6nKioww=j@9IC!Pod2+;G!p9Bs(t)M8zw{E&W8CJ&7ZN9y$!qY(0()L4()KB^mv z1&k_mcv`INNV&OrUvT>~hwR#%KpUc_Y~}l;onU?gm=ABd7m5D?c&wx?2|fN!C^)6u zu2lWF=*{$CLidi?aQ2MkXb7L@mq8=iyRFRs&Waxki3R{^aCZCUFlxGwA)D{y#B0P2 zN5*H%zvJ}5G7TJo3V_X4Cf7?W``m*y0h^^&E@sccv#?i**x3SNHRaWwYQ&=asWH8y)9lheMM^P zGYbKXNxFZ|5gPUlr&VcRDGrgD5dcR~LhZN_47~aCTII$3p_W}9rs_+-y4uTE$4CjM zYF&3T1+BY``N5Vv6s-mwmZ9f$4k?Zf;?11vNNoeb@gbfX2Q{cJH2eA{&VtTF_+1Hx&YJu+o znDrpw?EBfTR=~qsufMrED7KUez&tVecsJ zSwMtNUzXYpEM0_A?YoVWBU5 zps(F(a+l8#Gs~Ot{J+`DeTz!1i$0UVvjTMRy4hZc_pOR)%2bmy2wXAv1v(kmy;+?y z@>iPd{OzrMcfs;j&$LYRb_Us>% z9}@OXr8}5E5s!=g>+NqIT1NE5%SyMyqs(01q54B-{oWy5D;mGhmFP8!AFn2#)!6*r z=Ami(NLEVsSY9G1*T5fkm^b0Io^ z5LxZVj#7TheZ9FNZwKfl{nZcdVKcNB8m&FzO1t^)`TZyjtv(xZ>CaSAM*LlyrCsoC zqrRwZIQ*N|(gi603kn)_bJn|(Sa z5)5sauDAIiTwJbp?eCfvdKukL30*6Dsf>KgReC9~3$wV;d}!a4Q(}@TX&j%hO#gH1 z$7$J+Q@1>6`T1-`*4wk+=4sC{z`ig=(E{#moN}GMiWinV60k~gW-bcNGt}vL%ub*h0{j4Q z7vIR3ogL)JsU5_2Or#>o zQuMxM7Q0VSi3^O;dFvldXm&e8L!<$F7(N1EhMJ!ho`|!CK6y1@NA&yU&*4X<%=k<| zVF>Y$Q!ovClgH_kQ))l0b(}OPa22$BF^iLhw-vJIQr7XhFDcae20G)n_@JGqvV~qw zObKm22X?b35?N7M;0FZNw#Epi@zSJBr9__l_?THXGi)Q%j-0Uf}Cv| z^H@0Ej6|JFJ-SM_5Oa5K@^wD1`-?wcy5&#iwk^j=S0H2DpNZ=^N&&tJ1~n7 zYHCdw!O-rn0N-J`YnpI!9cszUf2+20GWY!r#x7C^UC91vnT$BzjfPC=r1REWj2?7O zO;+#lj_a>RcjmDxS0)mjfcVLf`k}_56w8&8zl$QKK&VrB+2b~kREZ;{7i6WV_0yvk2a)VfmZA`#Y0)$`f=$g!x5=qx)t38N+4$9^Bet9j)&j2B_fIpY$H3gtuFgl#j7jdbp!Dpou# z>UPKT(pf^7g642;O@L1P*^|+}uFF(BbaX0|2rM}&H9qU+@aV{ThPVuj5k(aYA=5ZJ;T@av zGtO0$MQOwsY(wN;eoOSZd0b;47sH|oeH$}QB*zR60bw(>(%;g3b;SnlSJ{+d%o3Vn zl&^H}PH&4kh(5IuKm`EM56UMgiOdvwemdt-S+a}PhBCU<@-`|6}DR*k-Sowrs)yRhwZ<8sXnRuzWjoK9z@2Rjfx9tjTE9y z+Z&`dIvw@fd)|Yb#@(<1LrS7xaKD7g!jaqvYY;58F-Za+tpZe_^ZRWc%(TA(8HIrH zr*d{Tz=&1oI!SK&_1vyEYZOBR^)&!>kpq;4Swqw2$#N()VTkGVz9Z|czIDLWgo^7P z0o{mWt;5~y=vjBJP2JZyBblotiFP2ki-vN{e8;=?#d|%xz>c#oN4T{cHMC3Wd>#7f zZI4DWTpKJX9!P;sI04I-LfvX@D8#b9uohYVl8|Vd=GB`?+FkwFUg9Yk6u(`CcmZpd zp6LCk{Ob89ZdG~{ZPdV)ovB_OuZGo=9YqhbEeM)ZnTF6aZTZLz`%o_-2Fyw=bMWKM zi&5sat6ae_$29vQefI!+?hMF*Q?r$=82mZ45wn*3|8_I!6a>FbuQzqXI>npGJ!z(T zY3C%AfkbT82&GLtRz3D4wcB6YMbqeVR#fXVOo16J{2 zQ&JNk4?ugXmNDy?+)LS%Tzkn&am!q5P-aW<@{Z63K&mu-YH~g*b0?jj*=ym646~xh0 z_Vm<;rG`;AX9m$vEr;In{^wORF1k@{f4c{}kf3Se&+1%-nx{?7wqlZAg>aC()7SXz zcoedJVzJ_Vd8eNNnv?$boN_%#84hyaB3vVz3ExSuQ;DS7LXj2Enr<93S_3a;hoC0T zy2p{W{Dt_R)wV*hO!W~Co}%|FdQRP`fTjb)MYwI8OA&U6)i{gK9`fLw9 z8l?@Vt$qDkPXvwnXMPgb{P}Y)FiETS9#h3V-VoGQ&=+m#Sl1if1eGYsR;EhRRmlEkAmT|Lh8>8{KE?rO6`zUb=VV~DvY3Ug zy@q6xH=4sNnP@S^uSgNqFJBkKbGwGq&Uo`Jw>Sbic5*bnAaL2dXS~M3m0Uti6Pf9z zc3#HL)SmSd4bpha2LcSl@b#d;z9|~YR$#(j8P!l9F5_hqK&pem30$ixd?s*L#DC&z zGab(K>V;pQOV@k+%#3mNRNAhgzAp8#=}L>_p9~X;*|x6M^J-6C^LmQ{L({oa&xFDE z=QS&{_F1(e6B}^Id96xg8VjwD|70kqPV=|y0JGR0#_Qdc0Zg39K`Ins%>REA#RB*p z6oz1(4gzKOx3(`B*hJrvOu%8Inx`vyTWdrfXo31EsNf%UU@7g=`o!kx?eA6drK9M| z@7=L{31rEEiT`Uhyd*WMb(~fxV>|xa*%yY7T2ix1Lqy^nY4;};Z$!9fL;Un+&iJo~ z=SdDL&`#i=#LI-IavzXm=hb7BRX563-M{Gn0Pc%T52!D+cM>RXDk>tCj-=iJ|Aoq& zR2OvyKhj=)`=V{vJpa#T)zV+G`5Prg_lKqpN#36(K8#D49{j9e&^awP9?;Rh&Yv+e z*yo?Ef0z#2;uwnCBFs3_+enim1;3RP&7UtTnV95r;cSnVgd=gY@1GlXQWE#OUT0j9 z*?XmC1dBwq#ysc9&34_ZdsHJK!ZJNIA=Q8MO#v>gTxU;u>i08lWxoO3+PfQI8kJFd zrE$hDj_JXjlEzkul=eCBOI#Vdx%HV5d+vO#g1&>eQ^5V-kq*Ao#k{Aox*diH{9JBu zySb1D-)$-Mk;m&P@tXOKQY3=V$ocY|wwn>T>!0h$y02mfM zpkhvt=rg#aUP-sF5Pr#|YAgApdY;Ta@$c=AQn4|P`>zNe(*Vr+;>5~qfG-4-$xi{W z3yMs7_+n}AztU0`Bl@XE5r394ZgKh<{OJJMh=^sP1~9HV1mg6PL(KHFn}P>m+I1(? zGz}2M<E61;TrvraW%RNC?4tQgzgaPW*?Ai3tEtfXn{r#`K7gTK|A_>i zsE<12{|Zt;GB%d^X)(A#1KqL=N$i=HD3%1}x+B((L@8UBQ@qm18v zT~#BzO?P|wuCRYYk5X+NQ8!laFDCo~eyw)3txCwS8a(qUJ?pAwN%4bODDC?`{rEO{ zifP2`3OzK{P`MT6JaeUYB-*S-ZtIfPT?P8=N9f6T_E2F(&I4TxJ5}n~hM@@<&&WOe z#>}B-bL*^mXV>MU_5lCbT*bAcYl{KQO9%P z;wu`WsR{Gt1>cUBCH~<|B&!SW72bf${|8X9fXlHrJ~`hkHR!`z0luzqq(p?sCsLRlo{6YX+n1TY%$;!e&o~Wd=Slxiq4n@sV6+r0@H` zeoMxlIVB0dHW&*ZjXu3K6|ZjY;p#ma+^+@wd0xf8#m`QrGBl74L{87VDBuFhi7ecj9sbsZWE=qe&`|I!Z9d_3k3Qb>TY@^T6EyX3c6iI%R_O-8 zkTC$6$jIF@`R=Nk!l&mZy{n9?k$|n#uJZUj!Q3yiZ^TLz9b%tDleEzYe)*&E*&=bF zfx2}OzsP)l6hz*EGW(|J!xiM=OzZ6WQvn6cn`|+D;S#O?zRcCJiz+Ib9+~#mG=4iP@J*K6SFCS3l%Qv{=%sCOT$d>JVhq(1|1)Y9Uo26zeN-LuQ}S zd5fgy1dN?l>v~+a2f0w$f=Kyn8kBf{B4+3&jiAt>r%i+lSs7)-0( z)eX5ijU#pHjAs_w8e|rI&|B@KA-wSgz@UsILz9TKjKHio^>^WgfuLdSp*>N0@M!pl zCX0y@8MX!0XL16-RH9Rg6@_j{Cwp31nPYx@KY?pC!blql2LaI#7;`wk`oiLExhZNI zv+j?pvI*dDBiIQ7Ye~JfpELyB=UE{gx@ zp4~!irp5+&CSt9Y8jYp_=nz6EVS>UWgU`>z%!S42A$PE%D(h$cp=P>m#)MKg$AiZf zaG0{PV0%MfoEl@^K@>qfR3lfu;Cyaa!-+>MHChYi;PT=?=u_1z+iu#AI`*z!aZjGK zj*0_D{l@2twol%&Q?AZ#%z3eCDAVkNKuX1)TARJOM47k3^^##9R835YjLey1CgMVt z`vZS8Znym?%V!;=1oA~SBZRoK6M852W2**OAazWQ&|3X#U0ZdCZIyK8x21rS*aCopg-XYfay7p_P_M|O zatOQu`8}s+y)m7TaAo;61F9(5^p5KK*@!|Qb>NxgY{HBNr8Cfi)_E7{A$hLsho2k! zz^lcR{4<&0`Q4g)*ZmJc|H;p_9!#7WW!&v-Yg1N;Xti-b!cp?1pH?bvRP3WHgxXOh z%}l|@Str%;laY&|Q)<7b8R;bSSFU}t<#m2w!Vi}+wwtaXZ|fz`*catHG|SE0FS2wV z+^m$h-hx_?x`In3)x7EFN$R-VFbRBAyjS3df_D!QTm^;FJ!KqBse7MeTZ})RRWIL> zPLhi;x`LZ*^8X&E!qwCyfVt08J~xkFjsL!%>JF}wqy1>{_uXl&ea1i`sJ@&UAS$?{ zVda?r(ty^zf{}4ff8@n1Tlmi3_XrjV{rQ_5@=tJvnMDCMW|>_FLgSL#+Fc_dvG_$R z%kbjiQV+fw@iwDCxmSVm7WrQIIVGA7Asc!+*_p;bRh!rRC2{OKpXdL-$~7qoEeU9{ z@QB7Uc%=rKTALc;iO2k*kTxdL7UtM9v*SI${8LsdTI%xyF|W%E&AU2QDQDXm_0+kyt8~X1#$O`Ngt7Yqt-=N zQs%z<>K!G=kxUWM|1TxPNbip&xZD;zRJE9eS#9F=`qYsM*nD5v`!mY%NuJGNlWydT zkXrhqxDt5m#j0z&d$ob!)c7x_^VC^t51IJt#54-Q;Zo@6>P2??r_eT~>WFs{Q@1Yu z&@Q=LpgDg1t5ika|}>O&T>_v z8>+I6n*T4x++NndIPUI96Rj3Vo|#rR*@Fpi(%yl(!6`7@6#yv~zVh2FqtK5%4LYu& z=yjsXblC|o^HPCPT^RB8JGU6n%6R(knn2wU{zX8PQ+M&BD^z5nQQ=&ZQl;P2Y|ha3 zh(e^feK@E?t98RPZ$l462s4fA+cqHIe?hkjJ~16a_frA6w~8&00Kd5llUQL5**|8D z@3KovVq#vSjAu(<-ti)}{d{wGbiZnmlJ>n|=wNiFs`KJ1t=21^Z>>yGxwTKN*3SL0 zFn*#rp@IJIxFV4l24wd(h-#MqpQnXNuB$Wu;mv?|Y9N>8OA$52uRVa0ORd zt{p^b83PowhbZ8)nehY|&-$nW`?XC>8jh*6-QdGaD8hoK?e2dRCoQ6&Ayt<5xmTK- z2bf!LYVI=xl;?x_c)wkRJ6-0JxzqdAb4pl4w*25q@X)u`!>J$TQ~=x%T^j$@p&?Fz zZCJwS1m%wQ8mLLdLlUh*Rsc;FTYzHi@@#G%q?oOxU!@K_`gNi$o{F$^oWB%wzOY5+ zSCkRLB`nhELB!-aDY(Vm=XxoHpp$aAU!whtiRi$5*w0ETt7{$jwcIa0>Kh&g2GT!I z%Y!~l-Uc{jM}c1h2$`1^Lp@2Ff~d=gbYXUF-rIG`3?Tasg`N3yCo)0Phj?DGdgEF7 z>iNJ~Igd&g5;#}mE~(pw6@dIRT?GG27tcU$ZnTq21m7D#n)wHRQbJ`Kj)C0U>Yr{{ zI!d%~DztJ648}CmJ(bWG?EArN`1CQxdl?>*B{h@rQU73n%(Jczs~AU$onC@4`nS8jdmAnkolt#@ z%3b*jpl;%23>2@sZGhgQup{fd)4!?HccIQMN4yqlHoLdL(16Y2Ti-DYtzJa7o;k=R zt&ep_?>vv9@qmfkG2l|pLf-g3pTG^uaN%5w)P%ZESHA1^lsrHa3EI_%3uxa8JgQHU zXoj>67=a>0wH0S3R1(Fs(E}iba241|p3h9;Re|{)02Qf+(1zwt@MpPS4u(-vaNO%| zC^CTgbW$wmyMM;PE7mw@)@{I+QWgY`kKhblt5IW*?Hc7!ma89vg>n@t?8H{W@ai|I zer-onDU6vCPi!)ZUb7Nop<&Kkcx}o)rBs7hr_=pb24|r7hb!{Xs7Unpd{z>1YFMb; zcvu77k4wUaP-Zg(5vf0;q#gLXIbQ;jQ=aJM`QJp`%XD^N+jr`rCk zxRCP-&vPDS6f~IvKe3r}d|;uuksE)bA4QWw1w9U%HGiKRH)z62&#A>21~3q%T0gR( z{c`tX+5$Ho1c6e59yF;$=djZXUES;(tS2-sMlj*PV=N^{O(6cU*m&0`UR1R+8m}wZ ztYsuh_iYrnZEfMYu;yOirMb?ukwYT}85&$q2@9xRd@N$lQ0&a}5($jf0F0sgQCplI z1E%N?_}&j}1A^h%3bFm)T3J+Eq5Cu}SD-h3Py60}lH(!zAT92@%BX=aE_Hx&SI1QN zStTP+S2y^7(fB>FafZQ!Ij2IAk3;X}yzi#3J6vz|Df)@%EZJ*zrA^H6m5#)vFptv# z#uU>vv^V$a*=!q;aBEH!Yw3=wQ^{Sd034p4G%U5xOk1(wt? zpB#w=Ss+f!NrQeCL2ib{pWqJKO>;DnvPoi*5DjtMZv5$8=8ehlhNPt7E3QriWwg05 z2|d8EdCS8rdRlj*x5}E5ecw?YqQU>rg!BbjT-Rn@DN_oFyb3&C51@&P^!qA5V`>YY zv(!7Rn#o4Cn5}*@!vX*qAO)1XYx`~5k#5L^YP7BxENbji{I|xRf9?z1+84eFl@Z2b zrIV8f@@qbJm+%QB3G&#vbknQ`4(*@T3@Vl;+X(OZ4?QSi>sJm0+X0FGha{mU{9X$^ zlBW#}K^>rL6&uo5U0U%6sIDD4+#ujwYGGkS>hn`sKqPqsiCp5Y4w!O#ZH@6!EscW% zp>C6D!(B-s1M8S8j%XTaIvKF;SY^NprbUmHs@VFYxvCOkw1IWxn1_nN@0QxN8=2Ng zg*3Q_s)+bMktnY8wGXIQua8kM%GHP+YJLTILn`dGVrZ*2Jn3+YuHdA#C#do#L6_a{ z#I>&Iwz$yd-jt&CV5`g5x%|RlNY#XrYiU(ZqRmb`&8PPI0h`x>f|03TtL0^?Js)K= zOy_h-F;L{o2KteygUA3cF?1#wA7y3)b*!z$s3UYL_YJ-bbjXU$Pgk@8rspT_*NnR* z3I5B4fHwC$D)Ii+S0&Ng1W)(7TJ;mwW#nDk^YW?5dhfI{=*jFmIc0|UvvLLILEcN< z_zp0tj8(L?oNS7>_$gB_Tj=IjuDlR@*oO`?CSipXA4ywB>sN^_v?oY!t#ejJTl6sg zo;}MQ$N+Vq3{BXZ6jUdDmC@C~F5f+)8af1`nf#mQFkKFFCb=WqV{J3)GRl~FhncYf zQPgIQrr24@mnq1tX>+MoaQXeNKPHl!$b!rUA;x%T~VNv@qq$=n}|z) z<~^IDlho|8$<&of$$Ybuq;*|H>zMrP{o_1)jJC`A+S}X)QT<1hGF7t9rrl<}bCM7X zdgNj2qahH$LN8&&*Q~Z+hFGsru@W)=RgyDK@p8ps?Q@3*UY3&>vT)iIVQXNM1o zEr(goiklxk{OT@OIQzVQOeJ-+yc=;e&{px$V(UHOy|7o+qowe@Y2RpQc8ZAxZrl9Z znx3V~JVs#Po2llwdB9fwh+YCk3rf;stT+X#+w1!Tr##J^>i?U#{JW@ChEdl^*4%!8 zB-}5|Gd3yf6Ilqp9m*gq$I$4&m3GEmEI4uJjR)&~F-7`DD0ukw3-KHi>}PoEOZd@! z3Yyz09?UBqi*G4QQj=>@jd}#j^72WIvp#bm`^ILr!-Uf)TuRf(_q^D!bJv1BqKS54 zlUjCC;I7Y;O7eXt|6kvkLW-(SEbD?tp@u?r2c84Ye+G8#22bZcswat==7Xg47axH+ z0+rhLErxEo&tu*f(f}|Qa0l=@&iXifCuhD~qc?a9UMw$2*@V!s>i=T{5U; zu4t2f;6a60Co;HqqkT@ljp-!E7b?ZlY;BtgIxq`BRL?dN=qBTy-RtW5F7UEziBd_^ zNxFyfF|^TGO>q|wOFrL<(T>8m4HkisB!O-@f_6#uw3<#`|4E{r$+rfD9hX-W>pK#p zqTNpDp$juzyP)i4rhp7>vUn~!Ln0M^l^1%6vfx)^NJ~a`PSZ8R*7M1fI7B@gH5$pC ze7W=Wi<;IkGhA3}?2Wvi>AsoLJ=8&HxSw@f4nIB)H3eSfJ|I1nootCU4ievL(Mv4B zfOW2A-w`%^`XAt-ilqbFVAp3~sy`ji=Q>HPG=wS|H5M* zMEAS-LhFsY&5;*B1ZHP_48IQ4pp{-$gV&l9;lg`z&dI-4qqK*Dr1AC}?o|bDu-^KL zA3@LzsY-7~u^M)2&7YcQWxiMrUNg`KI?R&apjj0$=9lAJ?2h-9SDP9|G^PWT{f9Mo zLoq8+4Zu%F3DZO|<@t)Xa=195iq7zn-AJzAD|qi=iVP#AhS+DNwdCNloM^1Ew0?8R zuoPVSx>)+!KDfDRLIm{(+K~q z>|lo&P~vPVwesgeLb|+-d=unTAb>&N&ex^&6J0+pam!MTHNK>fQLI~$(lBroo6bgfyunBV5d;u3 zAd!odi)p=coAYV4?MpQd5v+os{Hu7r7A||a)YD5($;($K902p}F}-QcjZggD&?A$Z7cUlfG@BF(yJ&+!iT^qzMSPwaZM zCVw`fx6>Cy6)iSZjDU$?LzEKa?`8f8V-7Fd5L{Stw)MS2!)j>>z+VoOfDFq^)NWP& zc8VD|uGFDsEMGqwJ1rh^T%>_N>ld7;pZzErTgeT(RFzWGRwSLu_Bb(SF>2fT+&3?I8B1B& zx(aoGhT$yD7|rbbeFV$iJ)D?9KF&A$sAqjb2aLC{VJTB=ka zPimw+#60)a4Zm*V6gp958dBC~?FCk6xp^bdhUI}H+;+Vz=B3=me z-@$V(z7+WdBPm1O%Irb|sVYKwG4YEM{_V51ODzH`%m&mF2KhquMZEiNleH z4S)Rc6Lvm~^nyTVQ9!d+Kb^{fl1;p=pBtM*iIJFtucDD(V;vB(&ggtr?Jj-WtnHc1 zq4p;Z_@*5-6;0q_JSMv>COvuj7lu3%_QFZMMY@U^8g0cwg`moNT?VODo-#K-S2>|d z;>2EaWQZZXpX1IS5!Bf)z4x^{f@(>Wem%)RVmvW)*XcNR%|J%NhsTUdLlY6{tF=2+ zQ>HO^;>UdK=2Fz-Ujs{z8=P)P!D=g9^%V_|4gBpDdB6E+Lvw{u6D3bRsgWKscXkCv zUV)zE=^Z^tc%60Z1*7DJ#3QnxK{dnfN0lA=6eDf_758#0@T(M7{k|Lpq%~W3o81iz zyEa;Cycr$n1YXZx7`W|f217h=<$M3N?>t#oNPrT149%e>7@0*2MIAlUDqDPE_p|27 z{qU*08;8J61;>eRZNB*q*As2l4|Lr`MAZX-7ib}U4Zh_~wq2dR&}AL0C05_a9V4VQ ziG3l23-G4l={5_+seOZav(#m#?fO%sHT132NKHBHk-nHU)QG=bQel-is%-_ z84MkS-CuYH@4Q*XOA_RNZa7?15oMjNiWqF;@Y3v;Fz)NKS6@pm{*#0VfzHMf!wfts zo^!nMYJHSF%QpQa`@6TzJ>Hh;alB(gwWS9~C&OH^-gaEy_qeAF&4s6Byhhbi)i%|O zck7rE`*Tta1SO1TO&wwaH)-N$W4nz!q0|!l7HgRT3?Wq)O?;TauY}bax=@Sd;v)-S zkksHsDXRQYTQ@{9*ArsD$d&%MY@J#kqaIjA#bl48d(#4`c7Lp)ajP-zUfX*N=TZ>O z^d}TKd;MF-5`eF!cqMFh=e>TqT9NhN9rIR&-Ml}V9Wwh4L8bc>_7k@a(PMm-jWdMD z8lhAA^ZVBCzAF?+l3a{aFgZ&ip)>S8;Pva~x6H@*>N0qeHa|5O64%PLMO37&YRNLx zJoF=1<3=0qC!{xs3MPa3s#3F~(%;&>EyuQL0lK9;z_s=mTCh9;gMrIkOB-(rFRk{s zI6g4$!;aU1Ia<8$0j0iw+pVNm{k+YSS}OGh`hJ#OoSOC_L5%i-!*;%=H ztP6;<;*k(@Q^liC^Ai^E_`q*w8Kwr-{B4-;ZLLQ36_D_q_o;y+LT}o{_flfFq_X^Q zk-otd4NGMpzB-Y!JLbFAqwk&Co)sznyM%e&Itll*>~a~gnLaa2JF&N|-fyG9+|vV&(3K6y;SCx;FKRudZ<9DY}-f#$odm zeG!^>?Na@d{O9o9jj+QE%ir0*+t;YqKPxsJC;VjVoSvI=VSCR!tbn%;n{hWBiO~=j21Zf+?zC;I5%SGcF7R5L z9}u$xSOCYVVd6hChwxvuq%BnhvRU6@w)73?&HZTGh1&Zp$PQy{(8>6D<;$O;$NVlD zchbC4_gbsAF7g&?=)4mMXVkTR3(0!wx9LDS&vFN7rg9s61>!sSoe3)K^Jc?TD9O(! zcwa$v=ymYB(+JX$2>E$dvAXvlru=;W zABQ9LQEmk#EQyP<${ujGyD*~S`Ijr$>v6Yxu?3~1a#pZ%rG@%GKv=o!`nA$(&jDVZ zFJR;pl>1+kTz1KCe0*Qp<*(#{@^^_F-%b;*1wkg{lTZ3Q`fkHrKISXw6#EpLxhRkQc{o|a*E4=Y zNiU+Lz+gbnn4iFve|&99@&MP`Y}j%kS^46m6O&jgB_G_qfJ;1CcDt~mq|#=>yJj{Bq|f;tO{(VDeL-8bFBxJ@>T-Aj0&_f zv^)t|D^i2#BweFqG_sftZpOcY>;(Vp$5{2xQZUAOI)M;`17)mp>i7~fj{=ZX*2sE zeUql!Px|rvUnN9QoRqCx4T8a%zL_;ZpD z9XqKsx-7OL(QlhS(iY(ptFh%u_odb3)tGnU%G&W$i}GK0AGjq4sNU`39+PVKzFlWw zFEL>MEX?A;Gwt?ZlP#|Ilrqj+SMU5}BWV2)d3#s$?#Qx1>@P{pVr>I{6D4RG2FQ~(j#6uBhX>`ng>9e4k-sv6C-Vl0P|b0k*9<)Q&g_1jXVaD;XyMiJ(amG4ThE9fX|~p~}T{_u~0K=`UbO8v8{D zaAFdb(sHT(W1Q@WH8#ugh*x?ZV3|M}!Ku4QR4xUTkvli+8b@xD;P}WBZ*w2!wR~zz zPWmCp0H>VA$R|}t(l_Ju^@W_JB-JFIwd%6v2OpM}#yi0xH45wHI6-FG9?dEp;R2(>=v7ta)$S|cST0`@5DHsk& zZgh$|D-zAfTr$_W9!?&A=SdEJqQQ+K%y)Ejtz>_VP zMvWAn^b<8V9;_9!(t8b2S>}$)mYAWA7wQZ-d@fW7M|#1^jE~7(tJvTjUwzgW743-8 zPPML+{UleFm=5dL9>7Rh##J})s8D$vS>j4TQe>x?9-DY*N>55iANGdtv&h9oEk`4U zm|J;L;%MQoVh7BINOVn&kZn_fjZjH8((X|jZVDmp1xF^^6pmEPjJ6wQ_JfG)sVUbL ziP7xTxUtYf$qm=UpB@{jCvIr;j<_-zURNtTRjR9bHSEP_JixmbO0B%ataZ6NE?MFh z!`~z3kO98)x}NLfyKOF);N0a8+bmfOc!G+2%#Prm?;8{L17NLugn2B(;vSnQAcfgi z(J>;r#`ZJEPu^zkXyvtc*X1{}eC{Xyc^|*_#L0(i42O3r4(g)u-XA}QCtE4P8)c-K zBLk&4oDSYH#2>j|C|Ni(NUw?qpVi#>#jO2ZXyWV>jy-{Or|5LoKB%nRNJGq?nUD0m zf4WnmZD2UC<%371VzB(JI14#KxW3zvwBn)8NjY*n?o2u;KKpiL5p{6Yl|ykwpC%6< z+JGVkO+)CL>02H2kWtT^Mk3Lz*jxFco361ruFg%(>#K;6iMXg@dV2``XnkAd z)U`3Vn*Fl!781SI_$DcNwzy#5@zlX0;a$SVw~h)FaInPy&ao+~%Guu{bKzRC*L~Hs z2JeAEArtBELJc{x#szu&;7ZIzchyWPKA@cZ#PywHS5rItNdKE_?QaSL<)#PAQd`(_ z&PnPpOqBuFGuvPx)$u2>wI9Qm=jlUNmUYFhyo~EJx>^Zcs`5UDq(V03nEy}*7e;I;A~kKRs6|uedYQ} z+ncZ?g$lFQC9&*^%>H2$jfDp{4&yWR31|2ew+<^dXJ$|EoGY>aWp;r_m}~h({+WV@ zZm7k-i8O0w+x*f4DLq{hpxE+EL5SYWrSHbESbRbzH|BY`C|cqBdGUOnhfi7-FkU&# zM1r}4R>?De68Y>Tdn$H7X8@nnlihip%rT+b6qoP|L6!*=D{{o73x9%;&;STq*P&5M&Bzek;He=h^llqG`*f-8bZ{ zR-{5NX z;#0wN4Eq*c5#=|?|G;g+1{!|XSnUQR`t*gvz zW3jE(NcZoI_F?O!X!tfoV26cI7^PgZq33R$bW@-VHQReECQzI3f!qs~$VQc>En(w| zukS2tw?iqP{wh%RM7Mn2&ayGO>@$v9$7~|eoh^(8wQEJ2#S&54~_xgr_|n-qs5nL9xgWwwHoe-80b2 zhPmytnM;ZmCLX+fD{3BAUc+ zFdn%|DwSWK#iqzabFd%uK2JO#Je9Cz?c)_0obyopK$@|c<|V4O|8c83+ibk=)hS$y zrx4smUB?sV$7?cOjI_?=XY#8IM_>vldnMT?o?tmMws3tt3S`$IGSrD9#ZAY86N)L6 zQzai2C)EAo?7&o_fQbFy$(C@yWmo)5tyy9KpBISXj_}@3AMkAKVSmD( zPzrd}Mn6~Z?w)RAYHR2zU-n`@ZZSKH;b7fQ1(5KoOKCV0)zk)9&-3m}-I_@05$fX3b+4gLDCOMcc#sAqGPJS3#ES|`d@ZKGv77*ytmAnIA}CZE z+%y9Q4}lLyJ((UveE+yblARja(J0mgUs9r3MK9A1yrjD94k=B}(9orBu1RqH*4MKd z^x6F+b{J)lEd{e=`H5@bIJ0&NcvNjBn^aMqJX=JtZhn$^IwHvQtaY6b-f6RCYx3^@ z0Q5i$zjX4g)Fw|#zW|xk{iX0%s5}qKmoGz4X=HR3^OphHNav^Z#ai>_EXEb!bDZb& ztgBg~xB?_4oBff2pRHWn=NqI5sn;HYt}qg+jYvLpMz|%|^c@G*rZU^c0&d27;AG^U zz*Pv@XUxn;mdlOV#(sjXTFq@4CM3o_T##~j_ovENv`<89K=Hz*W8uAV&*myn;NUnX zI0uZ3{Y_`R#Atvkf_s72{{YoaeMCl)L-$njbJS>USxbidXeJb+Ylw&kwC!ihjI-YvhHTKq#2$EfZ^1)XJ1L<0kvL&=PIRPA< zrH&gN_%%GH>Z*I4W}N;>6aC`Ezsg8FQra#3#q8H@GKi)5w=pE=IOO%NX=jznrOWwY zhCV~IuMD5KkLSv>0s`ZKjx&mv8=|9AQ_$_&NL+_=A#ar6@JZ--8REKIcb971 z#-x$^w#mT8Fb)r)uQ;Ca{wO^7aIy|CPdGlEj}?DT*JqdrrACn=Iot@w0O^8qdeM6` zDJLa!(yf(aFCG;^A(#R`s;c|MA zc&hVmx-A9>Ry(BbF^qt7gYytN)(zFv+e*g>ZGbY7jlqXZk<@33+w)_VR(J}cn95;+ z19or*?BhAl29UKzltw=@&Q|jnDBH;d5(y=7^JMY)R;|2(OEU}%(d=ao*c=c6ATS`1 z3CaAr*E?-GNfX&h<}>Ax9Zm=Xs0Rlb_N(zI?(M8AP#?s+d#ARvEz{@^MeL66yMc_L45^dDMp9NGbs(Rd%-H_3778_M+|T>agl@1sWjOcFP=1o*UJn{Z8MVUa!D)P@Hpf7Rg#^wWK+l^ z)o$87&aS*F0;dEVD(3{}0A{XOUCAqm)Oj%-su&OmIRKKxk^=Y6IqoZv)b#^tszoSM zBzOw1&el0Rw$s=g^ZhGyUo?=rq;eF65I%WE+(-j0RsHV2Ly&S{Mxw5vO z1n+lt!6d0J6!C+eM;}_=vAgs26qLs(wTaK~Br1uMg#dtX0|SA9gU4=98({X=5WV)) zh`_))#y}Zf4hSJe0nhTTr^A|*S1A?Mv{n4B+1O_CGg$xEU(~i}#q+e?Y&2Mo65h-Fu;Gp&eK`aJH=t%8cOEI~bV7m=4 zEKivm1a;3U0)fJ}AOW9xy#~2{idG9WzKS5h2zB$97{I{@7@TB`iq&Y&3X16TnBL;( zl(#HoI4v32qbq`W0REY-vqrw3&)CR8Y$;Wcs8jR`Gx*nr9}wT%?O~wJx==RAvWSrf z1fC8@O6zpX-DMy_Gb~IPIe_J=rS?+ zS5swj0wGCM6#$M&9Q4Q}*N+WiX`D*IUEO-5h5lp4M&ar1D??844Yv6lHp_^xtO>#P z&UiWYuBgo7ofp*hrPP7SNXs{=P6mG(j!B}pw2?R9;NW{#FKMgWPZG<)VlY9#&*R>; zM7c#!{WJWtR@K(08;d@C@iml^+{n=IRGr-O#d!v-SwkxxMr-Kb7-`naB-d~P zqykP474x>caI&k7p$N@*_?T{dzCMpE&p5b{?`(6)HI(ul*z~FHCfM#t=CYXNlbq(f z$U~v$Td8Al&mC%brQ`!y%G}kcMsP)Jm57r%J7yRayJ~Pju4dWUF`kvt+d7_U z3@oDusjVnaIIJjNXc?`0X5E4+8N6g_#CQYNw4wK`=$DaNFoT*Ite;~-KbMj8tJcg! zm7a&CTZxLe#auTWS=U;>$}(!$kdgwN)>Wq}0Tpph-nHEnchl7xam!N%2imidv4U#I zU~5#$XuPD*9~~+MlO1@Zb_8Hlv6c(wqGOR!Gx~E;G?*f}>a7SRkl-8|$DVzJb5^9A zAm*{IoG`Bs8r`%osUqZ8C)bL$mkW+7pI0N1QlzAC#}(sBt1^s^l`e7KttH{d70ayt z^==ut>s1P^nkJ5}3xaW4G29PcYmdQ#}sZO?^Pi9=xP_7lgXsrhZfexiI8JB zrmUl$Yb(z^%`e(;IIcRC3yWsAnU02qm$BfQ$2UTSxxvL_?fP8NGkPgF2qbs7JBWfoiuSY2z>l!yEtSp!{>(ZT(RyLO7Imb0R+>cttS$GvEo9|sp zv#^byv;o{yW^>%)vsP@=)eAOx6t|;?8>YUGjE1r7+n{wT2mA-ruM_TBv zWWY7aUr2T}c@<-&$Zu1XzLW17^Q~peBWK>bo9Qwb*Pd$<95rw>V53r6Qn0}@XCsZ-RvQloL!wP^C=B4sBu^=hxZX!A#{BTb7c z)NU11%^9Wh2dx3jPVL8~LAdv*+FmN3pUyK?7G~sK-RVu;?^OKiZ=H^MRVG4C=74e9 zfa5iuvwBm!&TuN6k$z?E{{S~iJj$iK`qM;*>q^U@7t7#tOjis^IO3_7;{a48$y_f} zQE|riIiC_@NL-GiKb3srtgr8h@0$8wRDn&qZW%m^`Rl}X-dwGLj%%KKo|P?*Ef?p{ ztzJ`zxvERU)#3iA)VUibRmlM3si@y14AlH>{Awl{z@~&p*XvgyT({SXs)J}GnztV1 z0Ml%!62LxVo}!Sqmymjzu)lD*@6Azm-hP#u-I}&Fn30a8)Qg>+Djf0&=By(HAfNIo ziGv!;l|10paKHjOoN@K_saWSY?g^+Ad1pOI{U{<&Qb0rlSR&itN^jf<2?G{Q`RL1aUA_k0fy25$of=@ z#c;%A4%IE1Cf37~?(IEzH8g5@&&qL7@W&)^?ZzqUz%B^j_v=h0E0Gj*VhN_Pa0Yk= zi2|qx0R1{sG64B{{XfQnN2>$(ushJN8DK%k9MnV1Qd|s=ulUj|ti+9kAHu0bBdDz3 zF$0XB#+kgTk1vo-R*{%H3<7??{c2*nfs)~I=n12g8DNHEff%ti7C9CQ^@12Z?w zxE-_C@~d&9MgTmM>rU4$7Df1rv+iPYI?~H?wL0S+y5^z;0hb^TZk1MBh-3MI89h4+ zw27R_n(3oW?6?Gs`qn+(qTY7KeWUxm{--@EmBF6rw;8rXr1$6WtZCLSn+GR7&QI%F zQ-zKSwXV&T)WU$li(vE>s}`su(J zmEsQiFA`hEzo2V8n(L3#TZ*6@P6|Q zkxj)5>lZy5+f$9$rK+^0d-NZGtJ3N_N}0Y<{odsLE6P(})k|Uq+uJI=Dsgtm##zg> zt})5y9>cXI70_=I&sBq5h(w?%Byb08{RL?zsTn}eHVMXY)O{<&TU&zI5~@iYeeQn> zuDbl2nc-I<)Q_3EXSg2Kr!Co<#apTFCt9`>ZCBd4?m+y{TDKMbn<#dC?`$4%)4#2J z_iuiZ4>sVo@O=m-wk>trNU|D6R0jlL@+tc}gmJp+&wfo;PJ%fkoP&daTat6w15IBN ztjr^iG3SBK2jFYSV(|nm`^#OsPawGjgZfsyI;^(aC(LuUNh$|C`sX62lgQFozcbk5 z*CQB;NlcHl^0>x6xT#>(t>y+fh?UsnbCLkN zjyNO?el;#WMv%q3ZhaqZskA6q%m<((XC3;Qy`^fF(r%o{vTS3Fe+l=mm?QC&Pl%M5 zm3kA`KKbifcD^dQBor=`tfjJweKhF=pn1PNo1Ha_{u=lh@ znAR@m)mB=!nPlm9a6lt+lBXH!c;MruYU%pyR(7Dq?7$rDVo4-%kWWn4%z9^tuAy@j zQyEc{vbyk>ZPH zmF2iuAslX52-|>9IT_&BWoLTnaSRP0Amxi5NFWvrbJ+eh^B0EvMzXy2mrB#b#Humj zxER>o@-dHmSGVa}<-D3gTbLwyW@L^xB!1}u!5orEAOVimgOgA63-vS0;MoSsJ~+O~A-yQrXj%pP#tlLrCR zWZ;$u1%c-j;Q9sc?=x{sD$=CTI@?G;c_!dk735$JPaVcM%`MiU6iaSA#Ay`?%Bc!b zNZUK^!6t?8Hi0q{?N0ETA4h1aXhju&%FWk_l8M*-#YT;DN|E3Yk{E299BFbWKcT>xIJUmxu8UNftBg7*3+zrCJIL1%=9IG@Vh zE07`#K`kS;@Bvl;0(mEqef)Fbe+20;S$VcMGOGyBp5bO^0|cpy%wo((U707jt!#5n zrM?r}=I2JG2K8^GaGw=p*oIPO7af}IP2P-Y2$la7<{iW?c$Mw?A#TVmw-zt zbZ)+YpL+R1Uy52i$v0Q}RMybl6SUjP3#kMFlMzN@4`2!Pt%$r)rCq>YC?~mf$yJ$% zauEE)0>N?#2cA!@Qcn6APH{)rx@U}SwIk#${BTZCv{FXIsT}>_anBt<711Y(^@NXQ z{8r5BHjYX2SF?s4_~dmJ@u!9SN_8zrX*O37+dx)8P1Io_ZzvP780Q6m!u;K83%?&h zrB1UxqN!~l4DqojV}8INm<;y$g>MwjIaNp7ntzMLLF2h5%Q(SO9wK`D!#sUObrzm7 zx-iPJOC7{;0Nfm$A58LV;2Teguzk2%eWDBNYpi4E1Yq;a1CT-KUZbVn$z^PHIj+>$ zxWP{|Cuumz&!uS_q;twqZ2N}V@(p86`(h83#t7u~>A|lc@pgugB$otX4tX6jRlXj0 zx*-g9f?*_5a*R)7&@it|)h$K*QlzRdK|Z6WTIQ=8o>pUq=85r^rdl_0cpU|0m*bwb z+<2EsBT$kE*9eCv9X^29A3eLq-7A4pvGOy~Btsc2Yf=;-R(vSsfdh)yfisM8N=7Z) za`Y-kTGF<1gkWS zoPp{qwl71rlP@X#X~DZx3G3-oD93uEpqq6(6HvEWk!eYjAa=$^YP-24dvj8`%~N6y zL9Ax3Nmb;)BC)P6D*Ug(&2yJho%QEpY26%Ev@gduKDA+GtVra?dbb>zuO4)a6pbZ+ zn~o~XavxgDSI50dt<5Dx6r^k2lqTW3%k%)|iv= z&2n<;UCye~=PWT@1-;G=Gh7v|zz6ZJp4MWTcg4Tve!=^CLlIsRM&qt1UZyT2>jM=6+RPc`5-WMOL_% z&jH$0Wve3aZ15ub9it}w|eYqK~&rq3p z!LKydZZf5hy?OAB*_}xqVd5$HVV_$0P-9Bw`=o#;18{Q@8dgwu}RNd*Rh7B zdl+3MbL5{N&7U_s^{Nx{fQclTSIw6`v)p1p#B2D8s0v z$sAV9w%qir`5`I}J5#wXJ&J5_DuHI{+t#kiHjXNbFdQ1Q7CMx%sMWAOl)uOLPziM= zrBjc3V$;XEb%tmqX_=3O*awtuZ1YO}&kxxhO_3X#W6~Rhia8 zy{a>e)5pCa7$lC=zySb(RtF2X@G6)&I0CL@7}QcKFHz!6s6eXR;8U34bL&;ZF+VAx zAe633r;r!5E;~~b{F-q+1}F(i;*wVBt<{o6y@iTGfh%S z#YhI@^7B9sRnIau2TTgH7nFdp7#)XmRlo{jC z3XQ z<&zRQ!5rXKwaTs=f%%`UV{@o-008Eks?0~HUt>{#c_82paD6IxTru1+wxrq{mS7z= zE;Emy{OQk?C!FIQX{bg{M+fi}ySHcM>-v6l8x6}h2&V`9^{Bk&LaC6s&H?tRGI%|Q zy*FyP$sPW*+U`J9D4Tq)^OAkCJVot~oxVZE4%Xr;>ir zd9=yRrS_fPR^vU(BnqV@SJauUexu)wGcmSlAA~D9QZl zoPK?yEyg4%^vR-Z6#JJJd)Fll#WCt|KMIly3H-ukb(N1eB%J5mRqJb*Zo%BUjx(Hd z_|%gXAfQzwuTTzn_QfQvt3Bx@+tmw&o(3= zGlgN1g1pk13lgm+LG=E$Yf~mvjx!XXoz9AR`LKSXq`h-0fu`IXbt>Qo_sJbqEHh582^gY{oerF7OQWppHfr<*da;L6y@^}*|kN2PAm45f4Jj2;iSdgdbgTytcCpb`OA0l@b4t-CE& z^3~bL`c<@_>rsY7A5uC4?kZch=88?d4@T1OWw0frgf+0sZ^j5DWq}#UIQ$K3rmk(Z zJ3Vg6i>?Tl0|24mfO+Sk1KPOwZW36PW6iL3?nw%84g+_{%+gl?R zxRf(0WbQ;enXowo0g~Mfe4pVNW4!SV#mr%&R4_8g#~*O9W;q|l{cGK<{6TYbdlk){ z)PNyHg=0H#g^6tK8N&h2dWzz$6|w5!rtP8h7PWlwEJ-EX5H^I3iN*lHC9#vi&IzpB zEm})fMG7Ym$1D`6>_NwVhP4pY?a?}gU?0JNhc0sJqW!>Is*I+0y9z0`);muHY8$r2J7 zKmZYt4+lQ@_pdn8ZXl2(F+SxV^35rtCp5R(PwavAh15TB=PB- z=Cl(2-4aE$^1(eB~|^}t2C(1o%noiC5icY_R03HPf*q*mTN5v)r!q*%`~9C^W`daEZ8KlY~YjI ztz~$tSOQrEoRTOJ}DfK*=*1I%(MdFK#`^`rBOLn=o zwU=~0ecaJOCC`=>r2W`mFsK_96YgM)p0(rmTEvbPX|1EQx`Ys_WNC_LCAO;uRO7K+ zj^v)3{vh!>S>)Q@eWC5n)e=p)R4^lGDw|iPT<_{lcn$uvw^ve6cRR}pOLeW`8=N(&_dQ3$-X)DS0TlOlE5!W9DEaQlKUPJ3@}t=sE|8VAU<( zP6Nx0)U1CyDMTl6`IM4L!gOC!NLu+$Elcd^@ukZptB_=oiOhf;giv|GJhnd{O5f7F zVS8m9li5Jh2ErK~K^*i9dgH#)!98oL6w$#d$J@G0nqA$b8dbB;CA3%v&5@Crj&MiJ z%t0B+>&OG4u3KL5evxr3malBW+S}ztBmho%0F$`=ab7p!ABl13X#Q=(eZ7}z?LhpV zti$e{54tgd?_J9H`$O?n>{c3s`6!q#B$26>M(9ChP^bs8)|01ntW7$}Zgj9~o(j|M zAcFGLSpuP$`GwmjoM7MrE7Ww~92-+_V`-`_^^|}sLnaQu#{guE1B2_uc?u?V0jyfv z#i-gqcrc(ldjh!`WA1CMbETa;O=Ec?%ecugokD`d3k~HT{*!t7M8upQ- zJbz|$a$_J!;ejeY;3R@M?O$5>U&OZUbgMnbn{6V8P)>eR!5@Ze^IyS!C)1|@P35u9 zGO7sLNB2iPYwC{&B(Oq~+{jTv6Bc@7ws|hVJIplNt*Db5)cn1r|(z)uxL*%hEHEkb1%Vr{e z2YRz_8Q|Arf2A177~;9dh(!Bq%&Qa4lD6c~D9Ga#sRE2u1YCBl2rC97P6)?LR+K;@ z)d)Bo_p8x0VA)G^N+%cq)zxarS2(HCU7bx*k*_hVk`OxZYUDDEio{u!hgy11$j24Y z797W6YcD%DNdPXN|>KT5W)aaMJra&tgo z&ot1*x^YowIi+!2nVY>)W~tcXsIzcuHbW^+K?b?IoaD81a`L9R%hB?ZD~i6y4Pv}< z0h+Lnipg0rYRb#+UTn^5nyV-WlTxgJb6HCzNRk|iQHYd{_@x_q)wPzn^pt=(t7&jL zcdn>Y>{_UA#Wqh`y&cK#T-wSv4r=00)0)xJHH}Lh2$*-NJkNT=S+a6!%E%9VR!)(+ zsA^{;J!uq*qO$wc!az-BDoEBdC#ai&l{DSw+L~YSu31n;^P(qQj8#LtbTvB?4;34A zt~t;|xe{AQ%5jS5t>!q$`d2RleEH9{ZbZiw>0oKtaCbV3dC4D2&`Alw2a4w{S9-#ujgZ-%~ZIbD z?ubU`In8|I;|rb2`S-7P2@O#WN6mgPK4Z6hlU^|`rs>E7jMubyiFahmVe|&iF zUsFM7k=;P&-oq=%r@>^Z{{S$pr%uM0h`Fm%J9$Xf-9|Dg!W7M1+0)vXV>#-uSlH%bmtL^IQ%#lC_cO74yz1PBxM_rne_F z&~q6gfFo0rRttQfdQ~J~TNN^~s%VtQyO6aI2dL>uBWLBINL&CZa*eWR&Uy5y4hPnw zQgOv7`LcSNn-1fKN%p4T_B_;!j{Rv72|RO5X%1ECQ^ymLo}=EJk$?kLv|Z8#BZ0}J zX&Bf@;0gyBJwN*OEO40^o;DBXQpoCv3CPa^gdtT_cE=TuJ2r$-ekj#cZ5YRM+t^jK zl_ST?z1y6BEY^EVEW|>eE_nO}TZvEtsB(QzRy{u|lX#cn1&ESQn3MQ^HGLe)LpR+V zeSLtcihQ-$1_Jdz(x!(b$NHMkNWoIhI&sfI_*POnDa5;M%m`!{&jr1z{Cl?^`Sq%?s91wBRI>F@p(oQ~RY>Pm{B5Zsf^J7`QCMBL^21{cD^rv%3$dGO54?j-S9)up>g**m7FdzMDjmQV(=f6MW zNt#??cMXN>jP&hLw3jNUBP-YC8T`S;OiLE)f_UU+nyyJBIRmcHKR&fu7&h;@nkN!4 zj6NJ^f-rIT)##Cl`S3s)sAY^X`oQ60RN=7X_S_r# z)k!0et~{_@e|f*9K#^UB3*^dN9Q z#<#_!sHOhQN%hA+p`s%3GCYysXQL)Z9@#LM+lmJ-1+w)~7mls*EDJv%w&O;GBCAiWJeOv1TLqK4{6B z8Ol3*f~~kvad-|W(5#mn9-Gt# zACG!`egci030uyL^fNSJD$IgP=DXd+`^#pm7X%|I-35~yrso}MDBuf?@ zIaX3Y;=9&S89yk`wN@~k@Bjy}097nVeMuaxt)#OOUPdH=^1mTZax19Pk|+?YF0z*D zjet~+qX+b=#?ecBrGt)gyq->R&0F%Kd=3Rm9A6~aOOr_h3GF1(Ob&P%2Y^8b>zt2j+k)6!w(%Tp%fQ-B zc4&g?90W72gkW($jmtyU})#~A?goae3%Jt|mrG&3wP;Y*OYI2_~-{k`kX?YEf> zrS~y8$vpaIyA3ABNn~HNwftTs0Z((30wVCYrYCB0-ZTN`Wjx3a5fWCya1L zd)J{`#+6ap)x}t%%7#l!l$^PgDuq||t zvcyuyPPukJDmt?wA`YY#+QhNs;PLC6*0ky*WnK2F z2m&@v&CwBt&<2Im!0py>{2SE~?EcTf)}j zQ}cbIK_fPExPZX0C#Nhw8l^vh_5DK72!v6{?}or+`EkP+1my4rI(kthOKo#M&hauthapvPSPnA8b+4vuz7S6#SG~Is zm0;hxQcoVN#G35%Plg^Ih?v$kn4THrEJ;53IQ=SKV+EpRte&HHXU1bkz0}XzBaP)n z0Jao>Jpm^JpK9HU!g{p$^5JC%2LVaQ_alt{HTT|^@aIm1jqpOqae@KQIF4{ntYF}}!`lf`b&&fP2F*NUY_8fCknB=i|1boqz`kIuatL-;e}1yHSb z90ay^7RxqzgOQs31+vhsqjeWB?av&X0zQJe-6O*m7SkClEY?;$=V$;Q#^4*iDJmz1O(*tKCIpAWxm50Mt znuW+o<6uEO)HWWY#o;mf$IQOh=M$j=Q z8Lv&A+hi)ffC}XAEy*NTM5$?G<|@|ic;2g}s{@s0V^%95BS+a?C(&9Mz;Ddet=`b*WW` zz$=zfJ7GKQTUYm`-aTrWemSb`F7EXOHfR}242oE;fp7`yS?@Q?l4_buwm?UE>W0Lr zT=acDOsU0m5I;j)UXd|4=Yw5j5B+Php2wv^TN{wDz|CD*eXANb&N-`5vFJ@~dJ$%# zIOe1$HA*()tv`5f1w#{L#g?f}oO4z;d(;l&9V%FgZg4A}zUbA^OZRJ>zc@o&bykNZ zZH!IEo~$}mMUb^fr##o4Jx&f{(z)C!+8#R91?^Ms0+M8!3UkP*RjWNE;;bxy*IhTI zg>vwd7^@M^1!jf>aX^r-O5GHsZ7lnGnw~q52U^1t4rv7W_Nq`!)l@oY?o{sI2qVtUqcq-?4k3d}P|^5>@nR$@=jT6df)ns7B!E;OSx0d+N9r60pk@6USV zlnUlW_#gMDo|U|fz{jO>_V4?{T_il9HP?n#Mbmd?ox7e%tq7#XFl!%~z>bO!XDGjS#~=l)i7hQ8Hqo^Lo$)mYk0DLV55pQM{v*S(h>p4QEl= z0gZoh7=0^}zMBIkwC`m*j(Q5^uH_^e@ue2o&p8~%tup{dc&{tg?r^6Dy&F@IjlgqW zSFJe=?e(t86pndnc}~4@aQ>C^{{V`mEU(X6_bq>;=Zf$@6S2$Jv4^L54Q_aTxye4Y z=Pn1Dd9Ov*`6SnzoO!MFuX>i2JuEu7)&m%*V(MyFZ$VM659dhjEGQiZN^7p}wIYBA zJt-TnOi%?!1D)T6S7kY?EKV`&P&RWwT>sb4O9fGlxuts*+tU@+`|Qogd}@m%coS^gTN!bgwl zwg(4_^L<9xs}%yh<5sf5oDM6?HEUh0+;ygBC1cMWZ~^Z~2^}ik#6=wAsH%0WUDb#~ zm%TkR{4~S|I27^0`FN`V{$cc~mYYul6%w-8kyL+no}=}q4EHrE_N4VCvC0QQOnAJ+ zI2?+4=B~hijFFtvp2fp+!n|W-GRzkTt$5U^M1+yjzK!vXr|#VSYvT@4wNQaOlbLdr(<_L%{e3IIj8Zvr%D+4Kr3S-sjCYcMw!M*q5+ag>sk;+xZ%01 zR@ObU%0xlzz$nhL(Aj9a8^FaY)c0QJ_Ic~Qg>LCGNJy=L3DKPe|C zjCZXp<$|wM#%npYYXxLZgCsFIOyDT~BmV%_t14R_TAaIbex8+99kMvb3ci&zL@S-3 z;GBLHD?@mjHsBog$6zs6Sdc&@4tjOR)Yg0_k1vD+l6|V|Wo2NIsR+F1zG^0PK)n>m ztOK04UBCTmw5-lDqz?5(VUu808&HGw`jb|nUnqb$9=-nnD$S#&oUC6(3VAs=$Kq+L z^Mc4Z91?%Sy*V;IQ_0}_;)RhBf@hL{$*D%tVwmulVo&2vk1V(YC*Onl8c~7Dj34Jv z`QAXx@0C4=2lMMrMMq>>4do4l0vq}J)H}*?m0p|@NyRvAWy%0S@BTD|@_FOa{{XK- zk#{SRCP|IJ?a&eZDX|%ljiE?62e)4Q=A;nEklO*l>w%F=wnaHo8{60NrkOE99f05* zW1cF5s}e$=%#o2-F*ZgMAMFeg`O|@oRky1Q{v$rTQxv74jv|$qjpLp$bNU?BTZ=20 z$C$DVjz_rku7zTcqiqEL0CyC_00EU{>FP7ZQqyx2k&btelqCy)bg0gLwPF}#X$P8G zB01qsG4%x2iI(c$KB06+zXYwMgz-2%LkG%ac`qs6Ksw5%)@XyMB zpGs1i*m0wBtTqtLp)tIV?+ku5(OX(4mXS!RK=tSO)m@Q05J@C|bm0D#p&i6g1zvDC z_x^PWnyNACPY#J~45CYRD1_vW$NVdyg4#Cy?^LAmRjeeZ zm>eE~a(^sVaf@P-j>n`$X#|WGMGQLQALCDW?c=~IKpbO$e?eY%X{}z}%tej6VE+IU z9fRwWn&=|7zIH)PYqEpTqwEtyZRQ23dhFtEm=+n6Bo04Zv~=j+iwSwy*H==I{5H5!%|O7kf4fp2wja z{dn(MEWQ1vbI%_hh~YIa65GX*8c5jZ<&2-pir{a&Yo__l48CM+Kj)$_{Y`s+iLX2v zr>XlD)N{-RN(KXJ=NW7s2VtH`uQI*TZ8c_Ac$JL5a1nyTxgd;y2XoeT2jD2gMvemapk&YOG2t0Ga93RHHdu9U}<2AW#N%>y|2*Jqw zh&7#!(oG$8t;CFq#a=cIkVpg{#1mT1H?LNDCJu92GgDR;blAU%QLHeGj z@io@z;CXwtVaXwKFgE&u?te--!YSWFR>mut8JL}ltT0!cfsUYx^b1IJDb?b(Y)E-s zz>(9a9A}Qz#MvoAck_}u1Jkx^)x13{W*E`RmK{zw;PJ+D`qwjhYI>C6q1Sj@L^3jY z_?5!)TyvjZmZz+^_olDxf(|! z2&V&|VOTT#KegJ+EX?2^n3g|ZTIz-cy;~+&=*OYyOXAHh%?Y^(=zd{>KRVR6*7Ti# z+Rg)$lA!P_!DaA{hi=7Xm64Al<~4(;+35OoghhQKGXDT^iLF1g-Lz&eHG+DdVAyzy z6k)bNM{%D1)!f*4mfB5<;{@=e931-l*XL*aC3m)t1+JjZ6~B+C;%j3}_`7*)a$4$4 zq&Nd<;Nz}7wLej*5*|K``k$!!F0W^C8CQIWzVSZ3)##c>Dkp{aA;G{L;=eyW8~j?a z)Gece<@RBV$++OLCm;;=74-Lqej(Yw1PnkQFg4pn^hXXN8ftCmIvjI2 zOSA-nK4LT9wrkq-{{Rl!2;xXpLZ%B~V{jb>Vt8Z2;^dcbMoxdvt$Nfpf*6u8Fc*sS zsh=s0mo$!Q^3hpH$2G{_*pr?s(q^~FHG_9(3F%!9q2pGebILEQG7eU_O;1fYI2>2D z-q{Ri6~^D`=bgf_mZzIv4Rn0-sMs<&Aatxkgf>4I4pqle)(>{K- z9mU-kOS+BO_B6*E4m;E)Om?mskm_9;gr-BDMN^VOJJio8^{Ou^CnWP+yr-dilNmB9 z9p`xVsFlSuINUj|xJJfjbE6!P6xU%1;1kAch0)|2!q;GuF4505(;bgf4)itBPStfB zXM06N^v8Y(DOe^u^hP_Yb9j&sZvrfYkG1W&B)~xG=%o7)N*^{6!_)mYgc7A zb4!=^nol!ns>R1@XPRqthF)11^O}+=@IWUumSprb585`KwN4{POqU%hbeAI)%O%%r z)!6QHfDLiYUsHHY-ws&y#T$)gMK*e#YEvqXhPhl(qLHHme)M*(qS``GbJDoDrBNWR zp3&D}BD(O=Hlr;~!1?P^sr_p`Sahk;>%A)-cQ2~|IW;Jg9Sv07??_&lizZR)P_(9? z&-l}}&;Utlt8%%Fin;|yKioe`PB#OCzfxG5wrhryt+qWE00?A7RRH9 zRwO4i9Bg-WrZZ>hNf{f34C=9cdU{edG#$MuNzY0IR+Bt?RddO!avq#jL)w^+|Iqa` zv-YKXL5`Kw#b!VmsUFMHgNiKSrLzG~70zDT@Ie*nH#VDBIIddy4i6L+ba{Q{zDeVn z=cl#%+*f;h1_@v*4rm8Cr*>DF<@&|0Q0?trQLNi_Bv-v^w%;#G@=a#keAQ+$JX27B z?&7d(v(;cDCmnNKgn+A%D`>Mc^|2jEQPhjoezikVxhfpgt5C<()T(y$sBm2cBucdP z?NN?6r>=iGmjYWPT>UEa9An_J7&UU(r1d!O7(L&Im|w zO-8ZrV~&}wjjduJwm7WEg*OZw3bjy=WcmpVK}Ksr(0t{OZuJ065UbL!TOlZR<0RDH zS`H-Rcd8?Ob z5oMEiJPOZiAH3Wu z@GCbPnw;+=k<(I2=`c`viRV|G+EZH3p`X0Ea z#Tud7K+j))Y}6?z9IF63lS#b01&4(_`;qKF#-is`JClOo;SLXSKc!8yE(yTt`1*55 z7?2V$03Xhk6e-E%pjUd3-*^{FDVwfntz<0C(}&R3t#ty|c}kGV^J4WH1} z^J-_xQ;ro13aA@T%eSxVT5*PQOGZf^*#7|QRIynxAnqfm=s%dNq7s0sFd%z#?Ms`X zHoGV!LEFnAf$P)yin53UZ7aBR_N(4k11-oM52x0Xj^mH57)dM80#8@7AxPDuNdSrZZXN_ZbrH z0F3=BpTF@e5SNDEGs)BC?fBI#1D?lZvc`-{5yu@rtuk$5%F_+!falzE_zc&ao6T=f zIA;*W=)H07YQ?UT9BvDp?0MYBHKK=dB~<9w#O35@Y-4#z=Wql8_?o!$>vs#jLLtsO zWMkJgi2A0Tr6dy|J9_EEX>B$G6{A*a#ia95UZ12*}))@ZNbvc-x zp^3#|YW^_Mv|Cp4LYD+8=_Zobc zH?p#n`J)Yx8CViCk(}UzU2vx+v{pRoxRkeNQFZZ2pal~f2m}s?-v_;MT93p_`?Q%N zxROkO6tOt!Fi3Af+;dtU9`GigbPH=&t7#g1#qddB2pC)fGC?F~jyl(*YJU#?4e9!F zTwQpRQhSEFQ0w-1$~CW;p^C5oi9EK*;~4~0!Y)qN{7hwuN6+@Uwxy`Z;vmz@7&0>9 zS{~ltXNy0wAvd(ILKBGHv@up!HC@Wz*ID(U`g z$#!70Stq!N%0x0w<-unoF`Z`8AfyRpRW1JU#dcb~jn12Nbo=GmcWf{l z0ErhJa7HtV@|*X0t)cAUqs^yOc2G>ZlptzXcGi~20a&-Houji1oDt|vb2oZ4P&t=K z9(}9i?jY?W)lYNug_lDWo^{Ppzp{{RZ4NGCYvwdRj#*m{imkIYsqtV7@of&O~c zsMya--524Q4WN!ky=_}aGxPEVak=@x`D38#S$9n5@sovu< z1Ci79{gDsi8~kOncD!mh0KFsq^Lngok$EKzx?Wx&7#AoGsI zbH{4>hr@bwcFPUXyK*D|<~0q$2XJ6H1$rFU%YGNOSHHHoG6>|1g1;yrg*h1qgP(f( z@51_`ox#eY?aA7p4%s-t12pio*1X>%OnefzFUGBssqY?tSJaqt)M-}jY z$L&_n53IAq>QAcBB;+ipJK) z6iCz}L@;=7bT+aGgz ztTIMV0|$Z)c%O>ABjKGZUrFy{Y2pVZQ~|s29V_VJm#D*@az0xTnsZB*5k5%2*Zf4% zwalteV+s#FX)OFL<851I%G%8o5|Bekqyv+TjMvpy`j>$8%TGFQ4|(paSy-OH9@Wpc z?H{I31X@HoD0W3Lg~$a)Km>7JS#=5%PE(%Uk0%|Bts6y0bH%kUgq}T)(XU{!H?Sbf z7(pC+*9&K&{{U&s_Q*cTeG$QqKu14~exdkl;-7|f4GIf*wC1v!H35bO*Er86zGV2# zq3Jgoy{C(`xYj8rJ7!cE85qY-Dr(b;k2D#k7OS0D!fSKpXms5|#`Emg*M2}a9C7%H z`UAi^z2<>`2z!wt5;nOxIP?RxaM$)0`ou67Ax=Qu)YomK{5rdfPdAn~Lg|wQRfZ4H z8u9BjIC-B%LYtvmm8+xlqv3CelTk<_Mh;FgdoFvEUvhX-#t|GiIW9(hYx2Y3L_QXtH=OVY;o&`~sFh{)&n97=GCvj>q(z%=aAfSwKUF`9; zc@=|q21iP1^f>BKJf{A@6*(MN1*>U0gB2Va_S?Hn`N+j`SNeF`axyAs6nVIeH!<^W zsbtpfSd0wUIVa1U*RpHcN{~nu?d8{V`bZncdI@H1L)9o;y^CXY!gnoISkm-%?A%70o? z#~A5S1f-6}qiJ!;s2%#$FDJ`c%@I9`B%AGO2S#lbM+N!D}j+-M5K8tM(WAj)PhzA6`2&7$E96Ejz>zUy#tuCvJ=*) zN5KOXND)t}<|#%c#wmtEYqAws)Qjyu z9cm#idYYhQJYdvC{p$IdqMnANa{w6K^VXrFqa&q?;}`_grsFlv zrNLfvQmw!}>nTL&gwB@UVdjIH>@1}D16P_`T>kZPdYbRF={H66t?Rr{y=lPym0VRS{TA*hYsSFZ*>yo);Irgr*Q~sj3`;);QmB`+va*4`nEI}r?Jx`ELcUpnX zaC(p!HPK6PrE|;mwaFo?!F*K){pS_*2Cy@bdsm8hnmnWTuU3T1QS5xH;%JOz@H?9E z%b9juocFJH@mxv^!NoV8|&lO;^G3RKHM5+1#&^wp;*I2Ammb{w^8 zCI|^Ffmr&6r)#D}US`4cuP)U*SATmUOJn7!{PA4XaSAB)FgaaHuIXrcKCi1-q;e$E z4xNp7-nDaUc1py#=dDH}mgJX}%O85X6`GNayw{yPRrWro4UpL`V~Kqwq~r>w+6%W{ zwdt|hpdm=er+tMP&Q}$jaWc8q@_J{HTxd54zbfXbErjr}-h@}T9W_}9+mb6H<4X*1 z6C`!5mL=@YN#yA}#Pi!=zyQ^zlAvrgYE7l>I0F?>>GCTOD>o#}<%W{nd1zid4z-me zYMJAaT3^|(joHDbNfzOW2Tt`6otURdnFu&7Cl#S+!ITle60Uy27@3}6b{ zQqaQ8SH{DdsVjjHRUD2g#liBEB;ih0s5jGOqLN7!2z543Z-f`#wL_}&(Gj0#6$)%vE!)vj@63tIukTd zv25c5jC$6bEYX0N7$22m+rOAg$){b}et=iHqK9XQB5n#r9JE=3^jHY)Ls^G_jT zA}Tu-`Hyo}7YYt~=cimzBdHHWD5r7c^Gsupxzu~{_|xP2r{0{WVZdHKnWUYHOsu0P zDYS#0-Raw3cHHCnRD_apM+TmmJd=`pV-)#}(}rVDwmNkiUH%E^-Ry&KBYyq!46oG53Y0gVy8%-a8uvgy;@6Ic7|p-^u`7%F8==!<>o;WL5#A-I0UFD%=n*@Iqi8rCEhojlD*FYV=TGV>lr7%^pOlGOEEM zI8b*F)}_j1HZXm<{&l8NLjZA}_#Nt}lk?yX3F3zqPcdI(70+Y&{{SjQhz<`O{{R}k z(7MJQP6-^Z_3KV+X+aEx5Kesu>qUm8Vy~8p!+9z*p1mrS_Mu^BgrR3~j{Ih|?yOQ# zhHRGW&INNfHkxguhFhrt9hW&7AI_=hPd_$?IViu^CEDc0ZVyhIy{hu*_LeHUz{llK z-fPjvk!FAa-0(jN<*qe5o6=fVIOsUQ9_Ex>o``1c_Ooki^2EU7uLHNea?<#o?($?? zbpSgNjCKRQDuB~2H5-N~SVFisBP5={4!qY{qr(o-5OIoBMw;W0aV{AYrnQ)l04n}w*7{^}qm8@IaUqI-q zjyiS0$8TEoaQ3y4=3*(c!rH>pJ9wu1Fm+}sySW9&Pn3G&HOu&h#V#T$(Phss*BtN$ z-kIXMqZ!h#-Z{$@&j6AJ4^n=W1^vaVF`URHVSyU+(EEClE6B#FH_IK!qPZQ};)B9} z=@Cp6sEiGubOe*nsr2T(LJ5Ayr+F5W6`JXO&nn=kD;NX@!NJ{(^H;7eA&jXYVc4GC zjs^{7-L;?(b2Nb=QW#0lZvN=?Ij^#s$U7--%q}|@jjz&(%fzG?Sp)QP@I-x-1F!G zu9wDI;_Fv0a?65OX$lD)dX6${(p;*Ni+Y_{N);n7X=CJjy-3?!g`PY(JP# zjvCHH4A?<|ka|`ov!LBedS**!k`a|sxaXb;0OWo(%x3 zOZY-g2x5!|L9a`^(ImAm$H)m8>Upj%_S?#GSaF`cMO-S~na+~vWJeKS zym)U~w*d=`923Px@P;FxF;Dr1I>1tb?FW= zdXfH3V<_D9aJ!#Mcy9f?*qFEk^~mTxnHj}>A>o})C5T2G50{oFCnuKgfs%Nyjl4Ul z2?}%f4|@0S3TlhJ5V^~GjNtx0-Rmg39)#&%bMC(d-`dEErTGdNmCGFSo`Y`ySA>4n zKiax3ho|_PLyOOAmKKt}F}FEoI6U;ouD8M3%uGDKr2L@n$5JuQJAZ|GZ^Vxb$MF;4 zrmdi;21#P`Ew+)pWr!A2&;VEhI(M%|Hk~u(@f5wCWhQ<(*xfDkk2axjOv+Aq;eBu` z(X$|6nx2Y@?QgZTa%QFgZq!zHnf*soHy@a*CU{I=K|1mN?E z&eePdnw+2MQ*B-W1ZOAP73o78dTtIoo*eRIrOc*$@vCX_YF7IpP)0lVt^&uvR*QS~ zwzmRMa!x(#>RZ2u@!146g@j<^aX936#b(3ciS-5&*~unJAc6q|4&aLLBY~V{?#j#N zT0YI2;CmYx(rMA>pNuI7 z8T`4gRnoi`*Y`1frHT$V$F~7N?}J{~HKEG2X9iz{QLL)fdM`8c{_DUVEzxY_xVg98 z3J_VaNFQ4FABIu9?AEfgI!PJ82aMyVt$qDv@RHwEvHr|(7AZy!Mn-*dKgPUH%i!a9 zAI1+9aqqSa3vDEfXVCPoFA+|pB7Fq0G^^BZDCqtSE~}*KPYhP1AY-+h9&`9t=}*HO z9Y;}rw%*BrFaoavycfc{29~kH)`^B79)mpB***xKp%n(I-46t%|tc#0KPBBz-&WYlh)|@srMR=cxbhCnS>t9l8)&prcuOZiT zwITjqwK9dz8yAG;K2+6Vc$nvk<)pY^FnZUp_=`wmyn*XpHK^OkZz&C)ro7tptj`_O zz?)L_D%BfUOnOIe|n#Vdfk&8R;g%u z*fw-KuAW)NY>mNy)dxsYcSjq-lJ=;@++n+e8uOG4yL0n4^GvZZh4_@ zMn!9K(=O)};UO3R)dM*7r4xfub5v;gqz<%#;e}E2H*rkPds62qNZPi$K41j*uT9aX z-w>}HiGYxN-RsnJDFH%9Y*$7Z>TidiymiYU2b!H_KD9|m$f=j5cP4t!W`fD@R%32D z)>qm!#x_Tu!C|%qg&UH9(sFB+bm{ z+PRCx7&RkI;jd!JVO;d_*H?HjPip5bDHgUl4Mr@3UQw>XettSvvFZ!*o-4|=)aCf+ zn${@JOz_QeEC%<@c}}Fbkk_&6v4X4!uOih39Ot!ax)9lkPF!^s%?z*R3N0CQetuH8PPc2}w=1M6J4n%t2+ET=E_^)=Y% z@2+mOIn1(>K|Bv?SS$-*^{dgwsF=<%PJK=baf8%Xi6+}WLZukfNhD8irk;dgRg|*Y zNELwICs?z!b6Jvjn(>dwxCGKv*}BF>9m%x{1`jnVTa+Jnt#Fo}Be_P*i;`>i;&7XRACf? z7-K!_Tgo}XtocUiHgpu@BZhSDbJ~~70LMYiP;3}e2LuYy)%L6fPfXT4KpAik$`?HS zE2 z{{YvDqi&!ebNpHSg<6c3l00&w9e%Y98pC6FpOgUHo+?xZL$OaO!uorfs?rqOk6OB{ zRt>7VNjN9h)K*VabVpWNiIzekP%+=r1GQ{If-Q~L7{K%ul>(4bGy`*S`I^-Xpqz~D z825fKf4WP*sF(41~^{4PM3FP_% z#YA0(Z{o z3Nd9-kK}72Y(~)#zFtmG*YwR!w$fk|(-`i5Dz>O)lrcC}?mF@BSE7U!2&X6Vrb9$g zTd4ydIX>sLT1$CJ2Y@;E2CRtWz}zqfIt*ad^+gQ01P1HJ6j;NQtRUJKdY*7Nse%O= zPNf^+@?1?8LV?@AHH&ksU88M7j@=14uBz>1Ey&nAdgJh{xvb2b5X5oq zM=qdo@?YwgOjV_j4_=&pwViVVWD}QfRy=3kyJXW9GTX2ZuOsQ2j!PKVlgS6L;+3ok zoH}VTTu2KsFO1-DD#6m>h=4&V4^ldxVO?_D`D#M&PoU@MYP_h$({?bwk3Fj69SVxO zGA(rcD}-&Nw*LTsV_TYRN{Gr%N%uaz$4ajax6D}e8OYC4I%cj}zQPmku6tER-Oc@- zx*GPng~gGKNgtcR+UfPI&2ARPCjo1eRAd&aF{uRwzpt(^87-C1$>-DaN z7)8u+A}HGt2dAfgde=f;VzcOJrTi<)#KYyt?bqLmoZZbEDqMN70!SHikU;5-pI#4o zs@4&>b&o902;H0$pXFCgkK3%0-rxn<5R7*x100dgYg&BW7^ejHS1~oMH%*w2?HS}u z08h=(k&%|c#~!swei>OjsW$774?IW!;07d;2S9UIUrf{_v-?YrGh#KgfRUE&2?U-& z#t+uJi(Mm8TPq18k&@~I8lA+2WkI(D6M_gNWb~@$ZR**}QiN^rqmQuocca_~iY1!v zTXD6JyR!fWOBGR^VD+twFAM3g#`XyWcH-TFt88~23k}7AWjGynDJ;hEfIq0|4ial$vD5np-4~ zHL~z}-t9xEC@;Z*RfM=7c&T6k9B_O4R=aoyM3UVmx4OEFFx;yn7E%Bwe$W6oJRBPJ z0jB77mWO4qW63^fB{!aTDFkdd`L>3IrXfpmgcZd zTHN8U{4b}@?6MU}W5CNCn}ed~rISx!mh zWak(F4nY|FYmmRxXMNH+{oq}$GIN}8PvenX^?6#cN-{Cw@RVxq_OL1z1TyeL06LM> z^~gA^xpc`iXv;$9F%0bJat28E815^f8mWpkm5x}9XSq^2=jtmTQP!4NB}uUP#|NPF zIT#@O))AnZ2~DPFwyAHZ!?dUjPt1Dlz~mfP3#;2I6TM3NbQtTJNUwaU*yk$w?~Xyn zc>L+N5}AV+Aok5fFMUT+J&tS2*qP_@sCnmb!4;=8Wmg2}9X&a!8%RzECyMEo$igtx zbU4Qc9qU%sLI}Y*thGi!R37zy-JG^M0bJcrQjyl$H~<{+*R6C`*JE(oob=6ckdw3o zY;)JWY+A_32h4t7L0KrH)1d6nRnavS5-PJ0*&jkH+w?7RSR{^6`#|83NjUH8UovTz zPYZ(FgT{NPuTt>!`fm;#k=v2iJ;C*^NmFe4JU6_xKGyKAyt1T3Kg+ltc*!`%PqFr| zseCo!R7_SuE@=80KNs}5{5j%Aw^)pJ)2XzAb?Sa!Z`W^9C!ztshhSTac1x}-*X5k8rrJ@7oMdxk^=iH7v zSLcI6g_0mSbITr2uNBc=P7LrcR+8IPL2Ihq#N%lM9x_e8i4~X+oQxCSBi5`~=@+p( zeS_r>$r$fcZ1sDaY5sA+!Q|(IUA~>G+q3VHcsM+9T`Ln4idcCq(W9Ywa`N&*)5W=y zCmjg`(3pP@~y*lQ#n&*k0~%36e!QOS*WdYg*WZWRLdsg!<{jt)V&??^^!ObT}2YT6`~%4VTx`Q+8@zSSG8 zZ4oqOJY7v@$pAIJ>r@>FTE0>aGg7q8#t zXpY1?50=DBYak0nrYb|lcWu&#uTM{4z}4LIx@Mk^0N)AGnb z^siF0vH?dGmpSg>u-X|G_FF*WtqWEi1$2>F4mhi8W9?AndhnpEa(`uGP8P&;u9@t} zJu0(X;BqQ?(KRR>!`syfW82ociDKg*RxQF~AXamzayZ!M=0@6a-niXh;5Qhq=3&9& zxb1Cltb121!emOnsN+}4(HO|8> zaf;G{QIXu%Nm&^+V`qO#RcfZPgNl=IUfpVv97}4|8@HubGGnzy@@BS#NuLtoO(SGshp~gi{k`q}` zOPmU}ug5j(MD^jZqOHbFJzFO=MOb2|jk?x}o2h7CNjU)4gk%s6WJKREBD5lKN6T9w zF6O*vfNDn{E^58G;OD(sCyY{T+BzJLrnn4oTwT(grn}uwsXo=j%%Fo@lK6thAA25i zisH2eIW_1Pk%A3zTB0g~I^wE26r-u;IV%4H z`G>|W{<9p{%NpS!k zZl0!>(9>R(GWMufrA)o5(2`_}ngWyeM-(q=N(RsW)B5(+xE$7rZ}dAd`4Ye^XRp zwnVnvMR-`*UZsz`$T0krdApo-)KUSpI5mkSld;cHU7XP6iK;R|+*H9X$FWj3IWMrR zoOh=tnsb0LT?72@F>{sR$FZMeQ*%jz8+QwHEC)n4fGg!#V z$DhY*a}OxQVyv#IaR>ztm( zo7BC`Nn;&5nxgTH^VYQHT({lnR3-`(NEIe zwW4s0W$1Vq9)hxx(CMeSsT%Fv!MO(>^?o%jy~i0i^c{z}tjHWBK%QBT>T6VPL|D}B zazQ8G{{XE~Yn?INyK4~MR16j6y*hOKD@NOZWPVuo{-1?Xw%VW($?Ma;c&lsoiTC^~ z2F|E?mdcjTw-i8yRCNIA$E{1rt@x1^UJ^B3Vl#!<Qa~QQzQEC==tQYp z=2qTDW*F&1T873)ALpfXYiis0AQm{NB!fK&AQ76V*inl{8`~z)vjZoeTADj`1SnpE zKaF27jok55LvQSIdFjO|BI0Mq7n0$l>IgXOO>`E`ChV!e#&7}Y=}otZQy5*u`__V# zjX>&8Z|P6kS!i9ZTZhaT!sEF;YjVUp$f&&IxEx}$t($UkHs{xhy98&=$~M#W#}xgw zjTA0)kXS%L1dXy}o_O8Yis&L}mL!Ql>JMBMBh-J5bCy#S!U2=dKID4-6|D$nee9XR z&UhcKFRXSa*>^hKChC1QV(}A$obX8Js8BPH#=01_t0GG|XweS<93FWfj^jM`t|m8` z(+%=cWhEa0*to} zA5aL-Kz+M&T&=>Eb28+E!R}O(*Xx?;8s15!22Na%2bb%>#~gR-Rc`DWH^$$-cHX?fTQz6^G0+I?%|{5x0O3=}}{`Cft>fZw2HMGe(JCrJO_d=k-85sl) zeX@F2#ClEEHa7&81Ft;y74*M@bvWXNC%BxD7z36g>4gIvAI`bqE?24Q*M~Jd57D27 zI=mXd`vk`^yg6lK#^OF@Y>=lp&Ie55zdwE=cvt=qpC0QT8VFK5X`P}2p^5%v{RkEI zAHvTP#pc5-D5c_4w32ukD!>v5`LcVTVObxwCxvbAue5I(L2N|Vkr*x?oHIp&xZRxO z9<}MzgPkPP)gKEd?6FddR!{RjCJ6~ZNC4wMTDNZ$GGH*+dUfeq7aA;xqEu|}C+ko{ zr`#677z3}aD~;2$)a~ZF+?v|nF)&$9{Pb_}uI|T5hE)M1RU~A48szQmWP!ozKQUcR zfpVaMf+$uYrgqv6mogCvV#J#F4-V<^Mj~(lVT|$3c~*fOuF@6{T>f>@oUQRjY{N1aL8fiqy7U>N0XV*QTA1pOku+ zEg})ffkr_hy;93)jAFdv#xSxjM@(Y93e~_sy(>D>vN)@|vuO_i)s^j8u|8_zFyf*P z=P_kR>rdNJsr_nDb6rTvLT#wnVAQ1GR7`SfNP;Uc%~W-(ja8bo6pTBR>M>kKsGPNT z*DKbzy-5fM)|_`Tndi4k3l*+oQL|Z8;8$O9AMX#nP@344ZZlI|XmB-s4+++^f0+Ef zwaCS%6D|nG4SSBKrZXwyisXij;zB^#+mimxkeJ$S5~gwYvtNIsS5z8i70dsmp2 zC9o^d{4S2z^sdY#z2jP1Ngj(6bgdYPJXBWJtU&EsP}%!euNfZHV(eFmTb?RVtfUUr zqL!o%IH!v@>@iy-Wgdk%S2)1MXu}aCVD+ivvSIgyTu4gxts|*iwjTl-9&brS0w%+z0OYU@C|VKq=N+JyL-X!i8l-ElYL$Ccbvyx9 z7qtjTdiJ84wCZD#|J3?|)?8y1d+imA86XT)g_|7nTG;bbMTw>jpIYayB+qs-ymoqemRyoj(P8O3umK-oT&ax#-S+ouHyuQS&h?;7+nT)~RD&ms zilM89k6d(qpbEEmb8ZcM3#7^Vp}cH*&a{6+v5?gb6hRWwi}Ms+1wDvlg~=Qo)>2)6;7!t zkv@-n`+S)WNUnv(S3PT&wzYWV4_zc|9RWS7oyeswhIHo~9xE02mktBO}l4}yyHb~4{a(_XC(AQro0#vBrRWTF{9UXZ+I62L23Fvap zo!!nZ;@zV2Bkno;&P7xR7a*Lo0zVqvxnJKDW#o)|@!qIBe8%c?yE(3e?yhjo8ksSx zoQ~t4!n9)J3_4XdjgoV=t|sCFuYM||j3FIOh}aUb1A~lyT-Ezm+%m(O#a0LqpK)4{ z3`mMO2Lt~AuUXGyrY_9YM>$eCJYaomY9?l4K;-eyYR8CzN$HG%pJT;rT4%}(zcC{@ z&N}q0q;=EW(}Dc85rMtVIrOWs0N^nE2lcG*HsJ<00guPMYQlj6vX7X657Mz{>ZhR~ zZKMwUGgHP~HZh;2M1USKob&HfM#TK8K=-Lg>PWe_%ph~Y{AyExxKYnepU#;c)3>{H z$g3|K6c{5Xw_nbYNfo14PvJPvKDnvJa7zpy^VXQI;R*rHbDwII$`O8Xob%5$Jf*mn zl(b+F008IQ`wG5Gw zpd+p;Dh=;~&4B*^ba%k@_N!UfZQ_zL7@sx0N#pPpNsp0{6*&QvVR`5LD)ev>&u+K_IH?y7 zL1T}vB;&PC42(jc02Ax{>Y_JHtYX}!aV!TX(?80fTTvqP{J0qRtz0}nq8`V;814mG zx3rDZc=7j0+_%!=tt6=ws~e|mpR5b zz`*q5ntZnsM=2Jb!w93C0i2VMdfbZ6Frb`dk=P!83fzXu859`fTnuu={OU;{I0}au>>5xwzwU=}Z!!eAr z5HfO3Pr3g9J?o>my0>eB;WlmKB$8VLgOQ9AoDMpEb%`Iuv8Pna!D!x;GWo_w2_pPlQ{1XTs*S`murxqZeHJ) z8Lk>=S_`&g(1gLy^;-c@ibM-Ib*$NBfH(7|~;dv>YqVjgJS z(~h3hq?zgAYFl&Dw0qQvL6iaqW9!=jl zgOWibuUw8R^gF;4+v|QEp33EwlI8}B<`^aB$S0@M9@XmLYAHvQ_`V{d>B&?}M9+ex z(BI42RPG0kILEDHOQpKG47}I7UubtWlRcq0c$lMi0D?jORi7?}8B{w1GV;f<6`PCL z$yVxkvuSfg08kxHIIS%<%(SQY2tRb!b919fVRCna<;Ze7@Oo9{(=Cd5z-8AN^~Gf< zSl$&A(H3+#B!*-%j0}&)y`xW>)m1U_F~)ITd7@h+lB&V;V;nd1uSc}8MPSk5A~D|>uRVfwYmis5=DS--z)(FgT=>6*9(_b~Fg;(5s}dOxTF{P9dWsS`WQ|2? znO{8CYRS^9qx7#r268PEiiDh;&|4nW89A-vrlfSDRO9Wu>D)e@{$jIWY!2s)u z(S{=DfyG-!k)~0O$BefW$F$MyfR8B#xgAxd=*{nk60=tH_$5D!> zJ(ws-;+&R-e#xF|JVqi&7ze!y_0!&I;Ddo&@wIf2so+-=A;GbM!Q&Ye;UAmDTaM5G zH)LkDtgI1;AXZXFik-{|wAmTP2UA|P;f*vR0!KBQWu*onh0A zE1RljSK0lkJggE8ZFyJ+j%pTzBaXGFF#Vb_%6e2%2FFU+`#8-%?3pxoY%~n@BDmMtA{m=PGWKLk?T|!?+VbE{FxP;zka$^`xgzgG{GPW zoqv^8PJ`)I6#lf(iB^#EX#v_P3B@v{EiQlm)%spFUJh|mvieqfN&xFqEZwWQ!pE42 zSq5r^(1H&-u*!Q8p(#9OtnFo%w$m&{n zB;;466bub>_txW@(Njc7@hwwDEJ@p%;V!&Cxyjj_SH0cZ0!a&466v6m#%p-18SC(8+ciWJ9*U92EsL$0h z>0X2xP9c?H=rdUN91?TQZ9+4V+*S^y`?oc-e(ANfArdjcJ*!I5ut%kH>g-NMYFayQ z+SQtR>P*#+luQEP9+eYHNam}83h~;PITf2$*v%m%a6#`?UniQh5E0gzkrH_nt~(i~ z)66&-B-DdU1RRRpiWO0~)=s0UM`#%5rDV~?IkfaD+*`qI31;IJ$wR6}FAN*FCbM;) z5YKW~luwdRTHX|HuFiKmGu9g=4}SHTF9a4mlTujS3!8O0$>?ch!8r7+ z(QwFYS`z z%)~zU_V%o}FykYT2>w;4Xn=*?#yx$#tCmdern;8l^IqW1 zB9K43>GiEx%aFyszx`^ihocU^$kfV9IAf4Uw_1a$p5>$&{#3C<5b!uOn|M>6bLmo{ z47eom-`=3ykqfE87#SF=D=y?X<3CYV6rbYersRRx4_Yj133Ml2$(IAKOw$wRBPX2D zUCU*#F-!!ZBo0p=^fHssyA~rGTapcF#$Ct^P6ww-$^;by9G-erm}F?sFc>7`*NU5x zY=9YX4hgBmY9qiOcc2(N)@)O|g5+$^AN_i>3G!GTi=MgTG^{wIR@&=xg=8R+g2VVn z*0kffMj=X)tH(8fE)_7NBRm2AHLY$prsg;XsWU|rLIWQ2A^B8f{ZFQQQ=uki*&}e- zW6lOWD>rx6Q)er6=~>4D!AT^b~5hTJ@;xEvh+06|t_fPh{sWc58q z;%by)SsZb(0LFW_K9#1ECd?9WI3xLYq7SK7u^t>S4Tk!EQ&U@%5;Nl<4!wb)V=fR8 zh0bt2zpY+US&r-?dVo56(^Ay9>NEzI0l5T#I61-W2VN^?+BIl^40fhEfIlJcOtwWZ zkKOJJNZr$?T=%Q6AVLE2sm@q;J(ttkn`QE%Wr?DYNgExx8;1aUR=v8HQMVZ9xAh!; zRYjTzFbHRJjxcgF@7pG?Livcl@sof6Bzku1La47{x_3o~wQ+!iWd8sb20s8zTT4{h zp~xir{M>aM@F}Yd%n{J+Uve{^gbZ=@tyrLgm5FyU0h7)%o}`|bt8+8uu!#g)aT)-6 zZf*ym$4Y#b<%uzp#A77n1{mn0AezxO(Zvs&I4q=q2m=6-!2^Iu0-|JqkH7N~(de z%K}P(4hJ~<*z4Y!Phw>&-I+J!$v4aZ7eVO0IbvLpFnAmdxxmk-rE{9QL*$jX0h@R{ z93Ft|93C=xCbe&GVzn;p4#(esP6)~5o`Zr1x215JrO6IUt{5&sCzUL7kUMp!%#ksR zW;cm7iIH|&kU&(7w_-7t#{<6{*8y~s>OVgGf_djZUwY{EJ;E21E?*$yBdI*`>?#N? zkiZ7qG31Pa_!{M$oTX!?5K&qj{{Y#RBoRL(@zeU%c_31ov64FXu8Me*)r6VgT8@h4t{c7__K-v!9{=ZtGEJ{?I^Part zAK^*d7nvMjnD&9w^`i^Wf?FQ6yIEH;f_={v_+n>V$Ts!*=9cEmdzGPPQ}eIPf0b#3 zQ`8=RDugD?WaN*_A4;(&UU*#i;0`A5z0Q@mb z8?eR+kap)E(yT^2!ZO$czqh9q2UCJ@ef=p~LlFQBgF)3scGT!?r4fUZfEPZzj+NMH zx|P&&K&c)Oj)MgM0QIYYw|3!p8SUHguIEO}vLx6Uz~FK0E0Vl!kE6g$?fZ3lYR-kOL>${APTq` z&T*5@2T#tv{P;`aP}kP&YNj~Ckg5uSkTO2-86>G4Y322KWn+(su)flpX!gH|8U(O- zlJLd;u6$0Xu?{jw{BvGp%PbS22jn~v*pA}9kn!Ds)HJIdUfk~}e3^Ef95>9Tjy-F| z^^Xrp3}#r#2)vAQUX554RDkkuD$afO~b$YZtEPprc~$lJ;{9L;{i6@Ie*aTRc+21e`WMQCtB)lL;YA zFe8fVY*m>945=76J*!CeFvLSkolTP%Mi+tpd9CO!fkLN)T*bR)Og93xVI>?6pw{tc zl{oh|?HvrG^KgcoOx+_UI$vpo6_3AMTnI3&*ZBCjAd96sK$QZ6} z84h~Zv`@grRT_5O<8n5ma&T(OFygXfexCJlB5zt~!t+H% zp$a;gte9?8?-F0XI z#w(h<)5ED!G7WHIDK+mS$Ce)M$IF_%lf@yxAPUU21UJpvy_3W`4)91`YtI)-bdZ8N z8ki+0-5g%Q##UtZ36eY4S!)IW7^<3fp4?<(@UGI%z=a%8)y>rsq*mKV&1>63$jGbl zSuh#LHGba6=Wwb~IwM7+JVrb9sS*r~;Mv(Jqj#MRD4a?NgIj-osHxfq0hF3jY8uI@ipeGq!E7 z_}AAyCV(<9@6CMC;`>~rryO%#6skL!PMPsnj8w*w=eafW9=0)XPip$N$2R1dN3DFX zuP9rCp0)2`1RF(6y{Z)ZqNZNd)T}~ma?^TI zMQk>I|JL_KxZ9DMaJk17gtrPi@k3p4*1c|1%tqT>)oCts(z1Tjnuy%vp`(<$8WKyo zsI%nts?Bl<>rt6=)YIhx`n6EHP;*L>)H59StK}CdhjDHgo+^vk`ikfZbBuMP${v*N z9L*fjv*Q3%CeP4wT~W6sdQ?W&+mTM_T*oN(gRrWvWsl*;E3kWDdWx*pna&3_HVdQT zAKD*6mfqsaRz=Daw6GkE`qzTnoX50xuf2XV_)zPf4!Tu9WPx|79eC!yKkOuNl#t<+ z;QdDx^LdpkRKIid4j;txQRVDU6Zvvyu4^Y(jD{`v*0sPW;MR5j0PiE`sIFK$qu8mW zj#WrMcdct$NK1oRsDW7V(AJfwBpPy-q&IVQRQ0KqMMD#39+hbbPI}fvp@ncNR1xe1 z@M>7pNH9f5a}kY3IG~ouC%D*zbQR}X?ZZis4R#ljFhiR2?Lf23pL#iUIO;7-sGtlp zj!i){E6xRP+uQFSO3%2D4fU>#ZF2_{OQPH~Pvo)S*G&GstB;H1kTB;4x=%NJ0C%o= z?{TfHByaPQYQVuCHB+{7&Ga>-iIbX!Tvmh(n@Pt*T)w4mR!K8CG%JOwss(B059<4KbfLSU{{fV5BWchI^7sa<>w&r`E;x1xtdno z+koW}Q1A&S>Us*=w<;K^8DaqU$>~^7KGUD!BLnGMR*2xM9A^jX&w7cSRPWHy5=fg9 zrh5GaTT;ZFo;|->tpk}RVYh_-FH_$YX-MgwmCqxpB(XB?5gv1zvUvGH;Bi$WTmT0_ z-maW-2YzZ!n7fi&yBsJ0oaU~uPztEs&w9rmZsj=u554~Y)~hPbyMsW}EXbHpSA*|K z6M|2u{JnmCNx;wN*5!z z7+m)Pv12SicFsCuu5s#W^|i!}6BRiFAOVah{vnz)>TL$@Z$T=Jup@6gfCupXNb6T) zgPpj{gm6K~803(83dXW3%&g>q1_lRTL7wE-O9^>fU>VLqT!1=c20qOB*pKtbw z?sL#)lwhxOMz*oLZ4@gRRwblDN{n!$9ORy-&{dd=E0=Pp8zc}i1~}tCrxlrM7t2{2 zEHZG5)sAtF#~!Axsx;_cOok1Sj0FQ3$RzdjcxZX^1f2xZrrvoIOc*c2S!RMuCL1^Q6nn0wG0;%DE86}SdoQwgEwV<}|3Xd_u z^&5c4JOhO}I2|+oHLO=-o^e}TY*Mt-MzUoge1bs9a0vh^@z9RB2L!+;ffyAgS6jl1@Fp3g#toE4xBTa(0e$z#OqBxhFhSmk~2e8=O8)QYotgFh?#o;m4N=0J{{+b7f3 ztxp*xwu}+SzACYW#sh$HgS(2B3G1kctU$r!Rg4Xrdym$TMu7Fe{`9&9AUknQcPYbksKmIyU`P1W zExuR4;Df=3pUckOS0=4u3lOC%`&{;$qVRAzh`0al4)X z>DIW@<(<*=Q-Ym6PuO3F+Jktv!hd9)K$3X31z>WngkuDgk&r;=rE>Dam1razTanK| zdSKTD@N31=NpiD1PaJUw*KS4$;W!EnevRTPf?$*KaG6^ zWz7{M@?32fM-eDKx}GO@r$rQ_%}@czz#JOQlTK?^*>1R2CztfUwOOildb6Hn5 z$RboslH3#A8p+c)r-*tOwy~=yS$LFwwY_2)N!&4-&xtn31g(Z#5PR0-Op;;Y=r9cl z7gkytP+Le;H*UGBkuCuX$rV}~q$DC75sK0zMnevV^5(SC+8h#ZsXes013f{mip_x} zdJpSdtU-Lh!;G5iH1ymL(yA*{gBGn4{BjU$S_wF;PJ~vSu^d-aB6&AABVmD70VAbU zi=eA2-kqzUT}x=^IIAk%IjSq#tj5O%mBi6#`&4B2p-u%M85GorXo^ljKDC=5$jxam z!K$vEc&lUhqD4P0e+u(!%?PB2 zvi7E%4?)(u6|(;TW}Yl~YY?0fB*5R@~QYQ@HsG5yE{lS7L~s)oo$#inkOP?OicJ z%2QZs5;T^~%E^l($Xk&Q^6aW~znKgU`!E=6X46?$>p&MxS`7u^*q z)N9atcBvMmk<_QHB^9cZdjbE~?LOCr>rHFS^=jqK=e;xSdFfu-N1mbPbw6tNsEyFi zTIN32o|Fr(dSzJZ1=exRNV8_SxaVw)n!ObHIL$s#ak0M}lY(kN^AS{GY~v=iBjjd_ z6LD57;-_16;--y3BCP}+scX=Sl>W{!(wJ@X2_m%wWYOgu^{H_VQz5Om=}eN_lf`U# zN79?+^NdiS!pAYFX;I$UO=~J|Nfd*T>MQc!$G#tv!oD%R(;Q+qa`F8Muh$5@quJ|O zH%Mb*4@&SMBkw9JoXoGafLhSC`@r|A7f3^H=~k>;Dl^#9keWIO@s722KA1I|7;NXY zXv6bRkr6ba8&h!Liq5)!nAV^>W5FG366L;QjADzKHK~PpC<;RiVz~(h`AM#l{O%2d zThz))kT@e#%K_RkDwIs-a1Yoq7&EsW}x&S{I=T5G`0h7dw04RXA9$%*P}XR-<6x zfy4FsbJnqF>4dtHsLnaS&+@4vm1G-$#xf7oR7wd`x2UNi-y5+w!R5VkQkBi3>`b`H z9r|-l8@8Mdd8d)P1aJp5!?;V90H`0WCQ@jb04f1IHwXICV56*R2vhm{QZxSSmFKlh z4nqu{2j`k)C!uoOY~VN`ds0dZHbD12nCVO=BHPKpJpMhZWDLv@43BDtX&uSpVxaFB z104=4MivjqIIRAIgU3^!vmIX!ZEbL&k68KrBr8)}YQ+b5-6SMsJ&w>c-LKs`-SGAaOZ z$l&qoS}>T~D(%ic9DDmvmqci$i}5^*orDl^)03K?&j9XWmg)Zh>Z(v|jf`aA_3O?L z^r_T^Py=KGifL$ES~QfgP!#ZbfO_Z9{{S;u7GNR>$QuW4gWu~|@XP=Rzj?Af&#A3@ zLXJW)AQOVv=to=wMU9lTvAYD2%Bnu`86KGJk80>`k~mcrasyx;yc`}$8O{&AbI``o zkg;%}AHCQf%zKkv1b0JkmPa6CJNgGD?(6kW{kF%UblaAzr>*{~4N-dsGnopY< z+PTOFJ@M3!T80+{FB#_~@;Du^ti(#la$6KDhGBxL$> zdlG#*R;+TYWJVEwTmTL*q#S2F=N(TKj|Ixa3KAV~Prgn$A48h!R21EuM!s zJbyZH#1ao5CI!fu4BmI(0oOGI-$xjhSQ|{ygI~9d0SB=yTIsqai8_ms(^{VT)ZVB2Hiiakirf9AABmL*fIuEa{S9kdW9OQd-0<7Fz z$Fm#~IR60a)>P6dJF(M)>rDgLQzD@NoRiHmR~vZ#FQq{n$C5$$kF8a>CwSU%&-u-0 zRGPUwkGVKG?@=VmtCNA6tYjf@c|9t&LjpZ`_o^oPSh@C(Fz0r0{He(%_8ks?rBICo zZSr*JdGxC*jE=-m&1uV_rEJH~QP`2s{{ULL+X=pOJ#caB&2pN2dF6>cPc_uqN@FS% zXX{zXT=b|(-1KcV-G~_=I0W|TUbo>p>EV$G`OywY&Nu{PHR9S-j>G2QpKNunUGS`_ z6O4_{ag6lOPJf+oPjt_u!qv1jKG^tauauDz-+PVVle+~@4+ETX4_xtIp;{F0t>_lf z6wJ{?9x_NJ(KsLjl1ay3rG8#`FHuW7IHZa|^D7b*bmRfk2j8`RfqXpi1GR;+$%vW_ zp-CXINkGUTf3yicmFnOn(X-;XnvXJ5irC)NY{C=exG5(*cFl8-VuY>^K*`|uuKxg8 zOL<4zpi;2hWQ9DCdX>oIjO1grb59ZS!^Sg`1~Jd$U2{jwQJb;KO=7M|lx<D@}O$v8EOExeIFV;wryZCL45Zmh}el_Le6K`l>;d7VsBbR8cI6W+Uf6)KO9VOrdP5RnA;uQ+V@Hd4AP=ucbFeW_J==~&FGX>uSlQUSZAI|tg7e5WF^USzeP-L#u( zbzZdm3Th^0LY>H{$~R$Gw$Zd!$_SSu747rXRTs1;Cl%5%0C*JvjQUp5fsI6Q^Vq9) zs!gZkfGf3l0qQEV+NCy(IT6Ikr)2c3*|ddhvgC1Hh_qACQhktmQ{)wq#+w2<3ZpKZ z-9W{6{{Ukil@nQx;+L_xrH?U}OKhADwAi%g2bHf!Z9Egwnf;u(=~+t(T4xs)o%a<*~T$bZKcP{TPXGsmog4V zrD9JQ2D&Milf`1(3}=dVC7iwNV1w&iZTw)VuHx(x4;9GYr%{Tf5^i};xo8G*$2%{^~mdBq|1PF%`RI9 zDb?FIO4xzA8s=cQUOsBqhIQkfC?T_>gOgWNx4mOQIO4Tpkys3NrD9QaP}I9VUbS8~ z+lsQT7#hk^v14`)c>HNZefrV3RO&@a6J#Dwdf`4I_+~E?cvkaFl|u(Zx7dM@e>(II zG3`-H5S}v`0$^5v*JQq09EUgl0LNCahj;=$Y_pb zX~9<{RlAtZR!1u&8&4yO$hki$HPq^8u@WngyUFL$p)0eWLiUE==@{*r?pyBHoM`g- zcR(HnYtjx3e0pZGsM>$|M z=V;{TKZRT>rzfdA)>|_!26^fD8r36~QqshxMcNt10l!aLqDXtw804P)MtarVq2nqK z9FNPTP!Zk)g59?aO$28fuYxAO>;D0Y#(Lg~!PD_*1+OsX2c?`T|Mn}Fn zingi}K>5!ce_C9nsTvUxfWx8B_*JBEgzh9~1B$GQymNv%siQ!oZs!A!r>$bm;>ja& zq!ZZHsMl!uI(4e4j(EW7?V6T33KE9|)@MyQ^eiDI$O9t){{Z!>Mjl}fIvms+@SJj6 zACak$VSYo?wKDl^#f$fG;4f33#Pd@ilpaO{951gm5Zsu4)c;fdh>b)u352YEOh2el7VXCh6~7a_n3N9KJh z%uXY4Bn8GY1uV9A5m78 zMR!+m^N*V!rCN=~nW%vq60!M+&M-26{Z%Yc?k8!(dUgc*)eO74K6a8Y8?HY((YFna zuh3%z{{R<$YGP{%J&9tGt(<3*kU2OW=C|!8NeS}s#Bq+`o|Vtf9^ed&2nV+u_N_Y< zjxoMm0C02DBaXCnvDZy2U7d6Y3`DyLNWnSdBpyF1)lwG@dbb+YS01N}b$I`I`o>U3|^IY|AnI!cCoMY1!YAK{xAMFjXKn1dKkTL)OV45_( zfhO5z>gHFOiEv5C&m0a00mm8S=AGw8kPWH0HU*cO>&#qS;iG+w=bbd#ODMIT!$e z)SAw_by*dOEV&ELN{})^$?L%2f!C!0chKkONg`Q%vT&F=Jz24U4?qW}dcuMUF0Kd6 z6aaFh-~}CW%gFqzv5a~072!|}u{_|APC)hp>r@up0?feTQcEsK`A>3i3F(e_6)rmz zosM$vO+Zl?s}$b(s=hyvHhu($C9yy2a*N= zIbwOvYAu@!O0k0&U=)x+An~4ZPfY&+T9Y{(vg!U~85I17g;GW{><6t?lF#OC>zrdA z*zH|ITdXQWg5Vs3z$?f&Bc7FksW~cEOyqRHz{mdps8qC)xz9R}sfjs`BI;KI{A-(@ z=)~m@%nor=UfykDz~cZ8r#KbLO?(M#upob0g%-@*$>yCI!Nv%x?{G&s&%I_f(z6`; z^{UTu><-Kj4Qf-B%d2t1oDM&MBiN%oEYE7t zHCNMCDMV)y$OcPe<;FMwcRlOtZvkub8;DRLcM1;B$8RSjk`G{e*Tq^C^W4V)yxWt* zae}xx&Ibd5UqpCT?ptV*cvK<=9I?hvPku zl#p^Vj1Du7_$Tr;opEhFt<&1N2-#SM&rFWv+qkct{vG(1O(I(>o2*Fr;H|E_gqUPZFlnD<%OP4}O`UwtzA@Jt^42=Q(v~L0J`YM;vshS_c3+ z@I`ePG5`SPvgZK_4Z*COEH7!$g4mUn3k)3Bb*DC9YOf8HWzKxzMnsP2B&~a8{V}n%` z?yD$!S3f%~qSDlh_k~2K^{Eu$v0FicM9WJ|Q-;MpwM?`Jp0t=0aI~WY)m(NAdsM0E z>rqsL?$9DiDXmXV^$$~CT?KBm+K_y-pnrCwl*PzZs|(OnYClSwrB#fjxZS3cZAb=b zcGjqp29G@|FD|Wgqi?lrh-FhAdekN_TF}6zGLK4PGMW&3RTs7%mAc8zLecl4!e%Pl zjBqL900=ds<$KeXFKW(cWkrwW#%K{{t||=EwpTpjnRdBH$~3-EtG-yJ+gbY{Y^CK2 zcb016p~Wu2=~SSGQ85m}m}2&=0-SSADOR9>&GLt(Jz*Y|Z)GZ>s<0JSA8M6it4fCy z^+Q5HK(TvKirz6sQo205SBq#k9<||~D_kSwde^^e2;oTU z*1Rjlk&=>e>sl&TIp-te--rqfGY?$X=I_OLHry7+@f!Uo@#=o+VtR95oL?6(WFx-g zQ94!~Io+Q+%igljTGf)W-|rfUZgoYL;`^edT81yWJu1Z@+$lTK(s!Vf|Izst?_XS! z8x@ZJBOvnlt}1(}8Hnjw<=x*6&TG(EgLOfknGcA|5r)lmI(E7o0lK_S6?G%Ebe0m# zm|W*IyfFiKbKmSWr5MTLy4yWvcsZ{N)2EYwYqGJC&N`auRXQA%D4xq}tD^z)R^&R6 z!1=4oEZw-Ss?&G9UG8wnGVVH-{q~YhDY?W^OFE%*>S|S+HGvf1_p7n6Jm#k3QZ|xrdaxzq`PNi_olbslnALe!57{h+)R7m9o(H1Wm_&9E%IbH^kP!oM=@WN2BSejYMG{44fzQ@4)#&RaRx za!RBejP(`yMe%pR^Y}l-*8vcVY1p!!*e1Lj(udnVvxhO3Zj(4ms0*Pdze?lh1}O^T z7&X|zD4slZA6muLZ8n|Yb6zSwx#%*^ViX$QwPTP^HObq)Fgl9evX`I+f+Tir`|D!8 z&2d+#P>^e^w73kL0j_&ghzD*u(9DwPar1!0np<}Ya@4mQfzN8G6RNi-iqS}kPRCoP zM3YIA(ANF(eVW`986;ONr(PsP9Q3VyLsp7NK+bS0YaEpmxy0SeB(o9Lv8Id=Yg&86 z$=lS{9mK@skH)e|CMUIu+47_g4hS{e>3W27K&nq8it~rK8@A@J*xi_A7&yVDQWsYx zPR#VV)D#tp5UZTks~e+t9uF9)9RNJnDm9zZ=4&9y&0{ev**(w8Ta#`Jj)ki(Scc$7 zJ9w?&a#USP_V4o)kZ=J2d)8g{^l`V0uo?6t{{XF9uMky2g9mV|o8>DjsOOO5@atQ| z&7|Y6w`}7FnhC?4at{<((IVOed}NFQ z58^o$Gmw5^#ww^y+Zjn1ImhSLq*)osQoIa)G};n+mSN>H7|9hN1zZ>8oOC=2f;?a{ zb^f%FfW#FfXBp@8q|1xDG-LUg1{oix6|RhvKpdV2^y&p=;T04DMnA1jY_XvcLn)T>U}rIjq=UE&+UClaY`( z^{JL%(+%y0Z@{;)^{BDaO`C9*e1~980U#g81Xh)!G)~c^ct8g4OrF4Z$5UCBpe#)( zL%og%`$OKe)Tf*w+LnNq;ykxUweE=MAbMIP786YIG1 zV+4WEek&$NWn@4~fN}W_0ng`FY~_YyvCi@_&IsqAI6bk_p>A4lb4&;F!a^~>B=pV> zGI;6IrGdn9JMPOV04d=>!6cKw$ODR}A-LQ^4U93<7{Dh0lkHM%Qb19|!6aaucRB4@$(c4~+)B`Z zUAHhC^O29o82k-!TD|$(myvVr$9~mkS=CviJ0B;5pTia8dXA?glMq;8efgI^7+%Ory=hKSNiUvF|02+Mos6)Gf z$LUC}R%0raIOu8HdLLSe<=otK?Z;kgMikt*9Y;zoU5Jqn1y3TjU_!$qgITf1A&`Uo zCbjLOD}qmYlA{i$m83pd4tZ?my4^qbu7^E8opUzoC6i{~mp_Gd77h@E&N0PI(b+|_ zzpzjvKzZbTHR>8UB_ls{@xdA5yx&2KAS{iO*Z%<3Uaz6q8Rb?_n;xgvjMf&`==EVW z%c6uZ;f%HWp;KwwTlEVv+hWFOAHG0Scs z<*jbm;hi=y?nvcwJ$bHP5iBV2vu+K~(AJaD*zjSjQzmz81soC9v+mB*wT40OR)%9a zl;`PLR|LBZ5)@QQMHJR#S;T!ZYtgio0@EYAXY{W(F)5fi=N0K1S^oe+QI7QR#(2Jj z(gVpA8l9&#BOcXVj!i1kvF9{uK`7$1B7F3$C|?-&tvDpE3Dmack&cGcM}R$Q${Zee ztmtIvingpcsP=^@7m@19wNQ=m+N>*&O0`o#@|INol<+_m0+sco-dDYA8odfpES^Sb zR-=u#3{#Z;wbM=L1L?|tN`$ov!!@9+S{(gFI-ypj+$woSSO+yI`?XzKrBnLTNWr3U zz{N_vssP`^QiH`biFyxObub=j%704HA^?ogqxGcS%{YD9wXqF_CecepQ$iynv8c*a z?b4Y@3gvm}N>|dQVeOMigIP(MA`rRh%{dp2l_m{13{(o_dkrShQ&V=*XqGWnmja#^ zoEIL{xkNK)ruks^srJ#Z)eo7J%z2?uRg#o#_MoefDjIMARN*KpMFSznwKyp?GDo=L zrYHvjfu(Ymz&g{gJt}gUJPK5Z5;swBu-M{Xyhk-KgK^!Q3Y}sD=~Gt7hax125M!-N z(uyjH3TahuyfaRsfGNvk45I{K`&SXJ_-WZ1Yhk|wJazo5(CDRRwqw6@to`Nh>>lEZ=tWv4~p(u?5CkM`fKqa*X;9c>w{mI{{R$#H%w0_am{Iqjh2T#9{k6G z$}1{Qzgm-Jjb+LA>xTN=^dec0?$oPMNB3$~p^`e2y)6`g|I+;KVUvI;jxu{y*zK9g z?^hzVZq?824}LWCBejD#IIf>hvSLS;Dz&AjAmcUK>9(LKBv)M;giejMFKM;~Km>DL z#f664ar#vY3vjsNyGs~G2Nmekk;7I6%R3Q)#dJ_xq5;KKi(-HP>sL|wR?2of>a>e% z7!@MMdekw#dCgpjv(~hXk;>_ziiJ)A{3_IL>xy!rsWu87iLx)jKTLP6dwYRgzIO09 zsUx~7K{S#xbnUU-MKY2NUQ$}Q3v0ZQgIy)0;kwqaYhkSm+iT|k0NMlLuc73+@tSJB2m25UC|0Li+ylG<^UkP-RTIEqS9Xz0V$aFUWg7w!DpIiA*Gwc{iZ zeMMZjLoyx1AlI^db@+WZh4rV_ETTR{%t^q=!LJsxxe}-Za4Y0%Q*e_^{T~O3RbZr! zT2y;^NIeOy3r8hJO=(|R2?1<%u5cMGq}f>=O`W})g_R(DkZcP6QA+797Y!lO4Qr+ig++q;Pe!-Mh0DTj`;Phj%lq7>o}d*Oa{ov&ffVQYkJA|f(Xb4vmV4srFOatcuBUlE5Rjz0DeuWC`o260ha9pAhI1f26$n`JM6Z$QVB`{Hhu$600`ir|yCH=B8NV0PO@b zWd1b}3P>Zr^r=DGg}RZG`Bj&F2u3421AFmOM9O4cgkz`URibGm0a#-rpKoed$;mZbJ{40Ds8ER)zDGZZpMNNm-YXxQvnbbf`$KX7(>8Fg{bpM<33v z#e~C=l{o2C?In~k^FHAN1Gx1jtpwi@JN9nxjP&jWRhH&*mZb6duEe3*K*Fv#&%P?y zX%IO$s+ckX~c33t# zj8-&P5lSD+`IjUd^x)u+!mXo*`IO`yM>(o&(vq<~jQ3Mr6q-Gepa*a{+)3np1#M&y z7^o+lA8+Sb7Qq>hmc)`UMtINAbggKkA{3W6$3g5ksA-)smt#*)pUrsf+4jFAu5;6= zA5U7o_W~IalLQiSTO|AR=BV1Jiaq%NjPiPrdVp&CwYZ4P2nIixpP=iCmYJ}j zP!0&%GI+@(u>|lcl#?^aVCd%nH(VZ^V~l!LjDF~&eCk0Qa6uUdIKU@0OF_ML8$HCa zi06%!#^ODJAOXj0XPXGwM53>uk30EOtd)DvXB6JdQvofo=+qae=p9t`@5LsXL8$1eeChiCyobSYKHV3uc;O6=f7Iv^?g7@Uk-Y3agurO{wA;A+^lhxM#v=l^Il`CUOS;V01h~;ZtinU z-RNQKnyUnG7#yB`c&|5_;LkT+rnU7s%AwuskUh`6bC&pdvyMmUTXLB$$lbS%NXWop zSL2M14+Qt9t#Pn(obg)g5tTq4dSv#+LDaO=B8PKfhDfbjOK60@KRG|-3T?au0lOGI zNv)9)jaLI8e_E4N?23ZXBVs!rT88USE{7Zs>02=^cN z8kRjDM0pI+xcNaKeg?jS&~0qvjtM1|QJ(~^auj=gYv&y%?PX=JqZWDYVV=CTX3a_k>bd~2Rnf2o}DY_ zeFp8`+Bog!!-Jkr+{qjd#=TNItE-T)w7^S_d+u?^ABA;C5RM5@v$fAx(|lCr9^I|> zNCNDWKPr*bHyP-9j+N=281Xgbyr?3PSd14^a!AKec=fNFAZcz0jai~_M)BN%!3+=O zUWehgnP!QXg2Q1T`t;-KDjp@>SX08q#oYSN4QgFmPj+*LMg?~O3gjNYfWM^_%O2PU2>aF98NR2=)ugWMv@P6Cxr1bo z+DA$u?)PrT|S$(J(w3RZehf>eIQ4f+J8+`sS~~NXKe`j8xH# zSD!i|6llUvuQhF3jzY@O;77nMrcUIvf7{0tSwek`qavQN~;;mQb0#RN;&C81DsXF%y3^? zbrhgxwTcFXQTkHgQmFLiowU%zM8H&JVyqP>r88|ob|LFUOjDj{ROgDuL$MOAJSeG^ zJ*q`R#}yz#sC_8%$E8_RH0_3hSyyc;pv_wH$E7a8K_nXwr3E?WtZg)HG!F&NvlZtQ>|cVMYg9cEL}gn}IhWD~edhQajXyW`WX_RoLz= z6j56e6j4P06j4P06j4P0F_1cxJcGr2hwGxEf(AjZY((8P?PI$9jcD1vS!~b3pNQ8xgz3->iu~#LqX_dI*OR!{=-jc_-ft|O=%^!wLxpfE1aq>?MHvbV-NRa;AO$9mtii~Y6&2H zDT>1an#?(^47o&dY7@^|Yc)r>=7P2~tyzK3YU!;BRi zI@LL4;N;d+cPAOmK{eRVT8WxdIZqyVYRknMG}d#b;=toP^NRe@@i&LBJR_}3V>%HT zW3`ANV>SANJ;vg4ax22VDR?T&#P$yGAQuah>ykY^>&wRB`PPTKmSWv0c^?wRB0pYh zD*C`krId5lv@dM0G;8OvyG#{09kMFIkl+r+ycVq5XW7DPNjRKhGuyCM9V>d)^bwNP zX70r$T#ik1O$^r3U}pf-v`N}Samdd~nc|8>KGn=yUn-5Kt!XXd<7qTTCT)#))C0#f z)sLqY6!!x;%~^%RC^V%Lo1I?7&k*B|YNWP%hXS<#$lX>D4jIScP<2Ln9EAFAcq>_l zOB;!<_H{=2k6O=Y!xMo)oS%`(L1ZFqfyk{4Wl7IU(30FL^{QkLrAwdl{OTR zd;3*&V~q8y10>}C0Q##VWbQ`M`Z2{h2LLYtMIqcr$T>9<<|1B3$RCvv)KYdNQzH*lF$7s1d}h*n5^xTg@W2QlnHgMkpmBwf88cC|X)1M(kCqYHzhm zwf~#@;NEl3xlitW@H@%xmq$4#C+G8hf8Ouco1Qd?KJt%Cd79A|K|aLq%Sx56_TH{x zd?u$U8WPczBoJH`?zffyi_O;#)K~4oWtv4o zSpg<-MA`LSnGS7AvW*as?6}Ixa+t3Qn5iTv=^?B(d%pJpOlHL6D76myHtz7Rz5?EsqIa}xp>_f@>l&QilY`d&FZwOUyZ8YjIz<3WaBy(Yjm&v#dLTaTw$l|3Avt#C|D{K1Yt>WOW*K zAVgVj<=r!@UNmQJlY8&8o03huiZxqvD|1PWtEGb0aaB2rOh{ z*0H=lwd2wr4nV=l`uEStRL*dB(M|Y$+T=E2pg)6Ff3%TlY{YRMty{Scu#&jfj`o%} zs#WjSh8$&$e)M+O_aaZViI)bK#oajxqT=@iF-N-ch=?5zKKnR0fV`(gN-Wvo{k}I^ zc6WPOkbV^hz7YCI0#rTgbvJe;0d0xN7)wPm{b22p38hsjb0p7GNjS-fA_WrZ9G0IX z5(h#vNMpA7oz96rOOqDOdqzEr8vay0YeJ_ZPh`O{t{Uv!^Z_`|(Jve-p_^GxIyl~f zMcm))laU9;rCkXN%Mlz6^&pC)h>7N-QW3)-rmTT}-H`~uWxe-_`qc{Ww+!gs-9xcS zFVN?@aQ$o^)-B<3=*zB%^S?b=%IUWzQ+A&Y>9vvSp0CHm{QF)HySU3=1bjM!VH>#{ zfX-4OChy2FH2uvkcjlF5ZKAvvVw?gZiPXllHa*EQ`h<*#OSZ8|S@WrbeSlLNk9bjX z;Xi(z$?I9pl4TsfV{}cKj&-+I+Ihm_-lh?kCM>LHi*MaV$Lp@8cnGxSZR;aubwt)I z`g`+RXX46yLtl5oM5`oTWPm#s_#l%)O;iXtJ5#v;7iV7#{Bc~x>+bca)pN(pr{tc; z%S9nw$`ulxxHDpBqK#G18u@ums^}Zit4Ur2@_6pQWPS$`dtS0-&YPMI0GfRx7cD>GO59dTPa*( zG9Q$enC%lYl+)U-XY02wX)Gb@X-e0#Nw$N8lNv@!s*47_@k2K^xHMVZyU2ch{JE%Q z` zn9AX?a$bNvS*AwMPRg0MksZh3$gA@DKTiNlBL5V6MwFakkzpz`DC^6-(d6p+z*l=Y zvy+{TL!5I}vDL=904FjBtFmw4-Gi}{=!kltu5C)ZZPIRZpo3qHd;jtxVy2@=XiL0L zs63xb(JuDa&h|C#|Oj4wD8+wQTHp1$7EZ)HJ6B< zj{25y7216!@Vp?{FsNk`=mYXwdXqd*y~V#)@4X^r@eg*lYUumQKV_9{k0S_dKneRdmnz!Gz>g#g>ImG%N1FQ9J-$4fmC4%|rt74ccuoq~UaYPk89WpVW# z*5Iy4>ka&0ab|do+*BZQgMQ?c-dMDlRXJH@ac<<;i|_wU{Z5&Muua&0RHNCdn@pp7 zY9}wlV7I;j-JYJnIe2^r%xZhL!-4ip%<8pxVnYcZ zkZp;gXjHf;gsb4oXM|OpPz7t^OXKWLdI;KdXjFeTv5k$OAxucupO3pn*h$js)fr_Y z;*3J~2sZT6S-PX6lr5VwY#7U^{%|>mQpjGP#un{rX+C`R)$c0W)cFrZZ=rO0o5;;( z^D&QPOdN9B%X6MV?v_63jMeZ;AUgF?DI?r*O;K(HzT}1t67{c8AsXn0fBRYvD)C6` zTV_)kR&_@~I@58?QFRE%Uatewi(ZE4y?Bv)O4A9R0wp ztZEo;NA6;Qw35s28CYZMQdE8&TAQEz5*%Ozr?(rM)Pf$O^+*%CVeR#i^J5Vm zqx{xq3?I_%S|#aiE!y8BWeHC{P88B-C(?Fj^fypz#WHyJ8_wtzdl**Pl@25j;5LAh zAaCdp=CX5qsp%FEg)EVlEwLSsQ zW?vUl)`1Yln{Tu>uarD0bgkgn(sKd~*%(k$e0K4@_O~bBq;+Y7M$hQ2ec6DAA2GBcu7AHZuJia^l|l zGm35?=#sak0`m4=i2;4+b4nQWdP>ImjRHyc!Y)*|Mm-*$*rRwIt!KM)-X}Rt&0azogBRPH}F$uUWJ86S306WIL__ zaes5;o=IYRBq}CsQ!{k^Y)y4*z7Wa&O>8~guANjY69AyaFqj7!xlE^8NDB6|QUeDg zZbqILJh>@#tykRJTdu0rQzC`wXTYNP>`aUAj^?G#@qSHiYH*p`AWA6=Lz8v9k2K@u z=NbPRM4?k%N%WO7p@_84Yi!`4hx-nX<4!`>RF}`an4-8S^~|PZ;u!g4S*9)kR&6|j zVpYxiV3x5;)px0y_25^JmE-;cs8}3~I~eF)8qkKWTZslU&yBZaZ)gf!se=)-Q2c1u z!y^f2kgjF}u+eq$fhOfmNrvU$$+2Ukd84PYEiiDhmGj1HL35`is_Di<^N+0)Nx{;< zS>Kaef#387KkiagaT7A%wwh0Ml!fT$oCq-@xaReSU6uzopb;0OS?n5pyFyF&ho3f_iO zgsA02Y}ON=^7NvH4@c(6I5|clV>R}6y;6PguxW5YJR%F{oOM&f*&0o=Wes_~eXEi# zp3+1mc%S;O52hm(Nq--D5)(G1VwXE)v@ zx0@hh`unR#PFChGh(WLw60GbV++p7v>t>d8(>@YpvgQ~UnfjJq5psRH_v2V@$Z?@o zgR>tFLX53AA-Be6Dsv|l#oOi@f8e3e$gq0H!`{z&WU9*rJ{_N%SQ@RioPj)wXNuLM z?p*Ek5Fx(5-s471OWZ<3>ev~>uK^^Zt!wrdc1?;@Tdsf3ZuW|!WjN{kXaajK&Z;E~ z7ZioRTpj4uZ-xfWwLh)o=MM8|h85=mG6Q$u@Of=QM^4;7GlEUZ;Wgy~Kc2X0gjE;7 z(S0lCeyhTN%d1V7ePkP5)!uL;DGq*Qp?z&io~%J|JbT8>oi8|i$xi8&rnLo(I{eMD zjHd2d{|FNRg@9?_m3h3QU(&Z#8SZwC$9-9IaQn(%+5wW6iB=A-5&c2|Kj{qnE4KeB zZ~m`|bjR3{WWUvtI^<`%T@`)JDjoEjM8D->1HSwE)Uha-vqYf1)=R=5{oGZ}I2*Kf z;Z6{?GJ-Mw4AoaXQBX@(%^p|ZSE9|@gHNX>Xo=(qwDJVv*kc4}MPP zhg$Fq%AfazT^oK#qOxV@Set~3qb3g?Z&=_oQqH1TjN3DRk~6;bP$ba+qvlAC9zCs5 z+SV>lH~+PO-=?Xe<24S@T_YnlVD9jdg-8AeFoi|gyO0;pZF03tzq=(pFe zs9qcCZ_ii7VUx8~1E+6ZIz@13YVpA_40hMItUvn6cYASxV7K@I?!xy)0RT5&S}f7d z?_Jravy4iNJTzaAOINL-$SmOgR+rqy40mPLR~PceklxNZUz4jT{%YeB@Zy~zXjYW2 zqv@5rUwE40%4P=?s+B0?hQg0>)WY+_Tr$m4QDfhin-zY#F7olaHj>pvmLZWR!0$=? zAv+VDM+PmAKuH{~BS$7h^%tXrdqfg2WlZ*h(YeZ^tMQDI?xVNj7#2OM(>s7zIL4!x z(-Dz1nKC&ciM&SY5@{nhK)H!5Pn3e6iNR!vbT@D;hP3&GZ=|_B?gb$9UrQ+}VW1AR zH4-XIOMbkk^F4p!Be@n-vFe3bq;)01%2UZN-Pwq}7qt4xx|O5SZq5^>{qn%@VXJV9 z+CHwWF3!IsL-e2CSyez=SBLH4bW2fz6SX+TQ8{x+ob+lgR~aGLIPB0$NYYUce56gDX*9tGNkbSvE^Ww zcVd9mo;k&y{_PnIr3k$<;H*Mq-$;bBBJoH)j_4aD&?J>UHlCtu6kUk+RtHp=(lNy? zT6{!j+^&W%#UX)^Zz`8s)w)JD9z{ebd{npah*K)ZU=vz z+p8M!4lHMYadZurS<9*2CDh1;a9L9ZBCv>Zds|gz6<%Aup3fM&Ha>f8T)e9L-}LXC zg%-bsn>I+l59I>JdWx=3LGP^zTUi=*;EFeU_R%0Eq@JBHq8-AXdDc@WaEn`P%g=WS zQkSc{vj@-a`iexPEXJ=XZhmrQIzXQ*aFYmMYw9y)NOMiNdTA5B9%k z?CLnTodXZC`6a85IC(xinv6GL+jYG6+qM38V8NP}3IMCV#kR@U>zctP-Y-5-qiGt7 zIx_8p6_01HYF2Qp)>UJv?1FktmUhgW3f6eU>C*bRvs1F4p$qPs{?zgI_}ZITD*eC@ zbyn2-miukVn?~??6|Xvw3|&MO)a_aa4+otomJJRUKy{ye)w39z#IL^5Zmlz{LgD)? zVXH`=vXxn>wSmqxqW`yD`#aKxr>Y)DuQc%yC-JuT28i(hdyyrr}8J^tP;4&hwK@3O91N>?@?39 zrf=x_Xm*=r07gW0KqPTDRji1(1+?Z$`#Q@^fUR zdl3WMCX+2bY{AZQRXz}Pv-rk-dKq;&uRCc{3IWEzc4&2O_EekgfOuT@9ya{iVwJJ^ z=Q~v|km%M^3rz6QOqIa${9ALqSm02PYdX=i`21fBJdxI$TGbiEt~jbPZT0F|QP*od zJ|Pvi69{R!XEsZKDb8Pg)Z$3*icYock7uZ%-bse>?W%4S&pkW#gCvQyDzYNE#6JV@ zhe)%R;B(G8dp|ts)-WIr`{h+_1;TcC+id(c<`{|geqd5CguO|7Ip5@p-l*qdgTvbV z=J1da^=s=lF+T1(#5juDlx1CHg$LLcnU^}W+zFUSk|S%H9W+(ldw;`1KzhUbiyHO@dDUR*)4)-G+#dSnaK=~i zaB{|ov-65x{KVgP5XB`tey`_d*Y$Jk_@{R2Y)2E5V>Z(PL8TAcr=UuHPXHooTh_Fz zH&7QPef2|G{U~LOne?DodmBH zf~-W==G9-tx@h-e}e{;XwW~g&p59#?%p95KWAy*qUvci#-5I3Nb zHf=j^03O`^y&Y|A0_pQs*Efdgfp4l8X@iwvvNp8$h8={gg!tFjpp-Bp!&I+nue8^f z$y(9>Uh+GoKkhFNCqHfuJP@PefhwJ^)_zr&&dBBG?Y`IoAY(#22eQ8&na8dq#OiVE zx1XI?Wl1W_vd;)7Y9MmDuXKcYq@*a-Xae1-u^J=NX(nHUkuyUzU(11t0A@;(ttk}p zUr3@zU`w~TEo$mnA#Z0Ka;l4RW7r%m&CL!b8Eu@FF7SBK}GgZL*r z73z|0V4DgMYOVp^Y|ozoQ1Zvy1HTAC|Af@M@YUB*4&*>43iAgUOObH$Gkk5^BQ(fd z)#_)B1?g>_)K_o1@}I0KyTZvjcyHEcMXQ+e^C&qO892y549^E!d}pMmzUDAi!f9n& z8&`NCm2NM-5R+~H0hG}4Soa}$-SuDU|2okPApswEx+sGnsz3fl8ZBktad}-op-JBv zytQY!lv|}qH89FUq;-&>)fN8j)2_{8&oxaKw33vmLFa4p%{mXz?xGMdQQ1{}Vf`%N z$bAt2gpL}|)x4ERd8FV5A{Jx^_Zd9Bjiwx7Nf?WVDO=csCKK^LTO7*XxZU46BdasH zkiVj&G;!!8K~H|vKGnZ^NXlRs4fS#0efNA09e#<@$J@JID`fl0!-qRCGM^l;`3MWc_sNBl~I z%_|mH=<~sqTpG>1*e{9ZN-AZ^NM@x!=nL`tbZ{Q5O9p^ENejt@LVx^Z4l6clSNkfR zR-gy<=2j{(s$*JLig^`zDpsAfc)T~!HQMuqx`oGY#i!uo_)sio++kq%3O1=Vn1`9K zxk}oPpEQU_*r-2L1EH^VzRCMClgs$^lWw6hfkmX>i?~95&SFqe4qWp zKv=Xg5vixkh>3*-;K-o)P@f|cnr8~XOycS$7QRKwbv2L2{W*x+bY0BjmVlfIwjI6r z%*V8R>k1H}JF*-U#xellg+SIl?{-AJ6TJ6qfi}Y`&j<4GE4w~d_Dc9Jm z3^FYsPEUDtps!T3`+nGdd!Q50`+8e(?Z#*Po>@8Q;sAS&Th<>Rw(6!WumQO=)$o=F zmtN?Q$>%-YO#M!KwXJ&8C0SQGh9B<$Iz}G%g({4b2^PE)qK&7dsr?itSJR-~9m)t$EpI26sM^(zv5 zHbz;sAT7SqPmvh8RHRo3H#IyXgNzp8VhY>Hq7QrSFQBb#B8_xW;Wj_Z8heU53#x^HH$R|3ZMor(aa_U5azo1G*%oV%uz-uLj zkk%U?Kq)Wvu!$<3d6Qa!-CJdk<1d{#Rjg?r-ObV9zly6i8#|~-Hr$1kSM`UNa=pia zY`E+kuQrQi^%V)i<~Z{(rMwo$Kc8m2raANL5KTj(do!5=0uVW5bxskYGUe|mqR+Us zZc^?Q2R}mpF`H?%numXMX9eeKxr1&MpIp$W6v(5xWoB}w!^`qc_hC}G`dZ!n3!G~9 z){l9WkOx0nzrar&6XlWK7LD6q<`>$@qs87_zlteu)1JZ;2jRbEZR>JgB1{yn<(Ynq zo9G5?%Se4;DiZyHXJp@+URcxPCdlgdW8lnt!8afhyNj2bpc&@GZ)lu_hf-L5`6Ln` zj&2e{65kR`h8`)ogfJD|E%13xowP$%b%2~5`N8~|O0w6aCOlF_m*kH1=Yo%pO4b{n z#P4#r@j^JuR0J`8g3hnsfXmop4B_9Gc3LGpD`76#3<61_nn!$+G3nu#E6WLM%3--W z>r052rX+-Co~w^vsNVn8)tj(ihX9Ol!i<3};T*N~0b%;v*GP5*b&cM4tlRtQ0La}p z-$tRLBbf`025+9^f}G!^J?BafTC! zU66KlBlkf|p4`fgw~9S%Qk*?J+BUCFa(%5(r=D0bvz9oe$jb^DYKWTtt6PvBMLB2n z%{bdo_38#D*dTHR=~;MfmAXqAW$CZddxe9BtG>BpX{4W)+>}YrKUP7cyhyF*=GNtR zLk2|fM^0D17XCpJaeh<%h+b&%b|6qF?K#c&Cl9mne<;BsKf1 zLMi1R#M+euC}jeBcrhV`(s9|A&bOF*vDlkG({~UM=8+y&fPu`j1(?jY43Zn~ubmV9 z0%U_>j<%<*!teUC%}L(&^A#zs$Kkh*%jcWendnCQ4+xXs<9CtlMF@YnTd^g4L?tF? zs?8-|r4)Dz$*X*}^JwNY_l;x^#c#USauY-Pmgh7Rd1RRug`j{)j}KA1UblmNz+Qrk z-7CnD8Y%^a!RRm7)A@d4`t7e;u{!XTt#^a9iBbaV?eOENtR47)?Kr!JM)D-`9bz(T zCYN0~ld05=6K@*W!Gkz3PFzaSwITnz^8CfMg>(843Tp_FP$zyd4nroJF6;Xj_bA#(1ZVC4F;XgS1J2? z%1=y9#EVR&NwLyL{^P9q_#N*;Vh%&}1K5xUL98z_JX6~_Igjkv|0E9)n<%! z`YfN5x}DnnUjUR4N9Q#&e+sl<(ilF?An4zkyPUUVDIMbIWlT75zh>$_z0K1^qDG#- zxcHal?L~T^RQ|pGkskX2%?nz4-g&rgUz{E%&e)GKGF~1 znyI7p+eVEgFHTuw35jt9UjP`rR|=ScPi3u$#fxHWjoZcx*TRL>fOEJOWfbW3~s+fbGLu*Y4x^(Io10O_$40FFllh2C8XpVJd7 zQC(uF0)of)o8_%0XEqdV^FvN=bN};e=RfNPmMhK3^)|jr@dtAHwc#vqYKc$eX5Uh! z!q#^>ihLPnvuqWZpJvD_tT0QXGJ%{WC>F80LvVxaU>eoK9*37%vke>QDg^(Doi6Lg zn8(Nbe34j)$|Zgm;v0GhY zFB)8V=~VS-bOYA^E@A+PQDZ~`Zla@(&)^U2>kC0LJe*k?=Xf*K=oP=^di!L~N%^i4 zSw>KRBCagtnxd?w7d0eSE$eRPwgLjx)BHkU5_VGB=X)n!2YtBbH4pYbhRbkJ!`};& z)Be&G25q%OmcRX(dGJX)b*@r)1F-T-dIVSj^(h;>QM7W_e4)opX$3frl_7IlN9+)y z?xz044})u?^Z+t=Bmh4krbkPyxDTk0j^x39*M20l)%93i-k%pBsL|~Fs+*rzwtEYj z7|7fQetUqPG>Vkq3!#jNBGe9M#I|i%_|a{HC1m z+iAGvKe?Hv3yLQh_-FNIWxR#DqFQL|L3{Zd#uuJmBQgObKz^ooIKi&9uc7a?0+PuL zn4C|k0W`+9IfRhdZm#tkg_40V8V)PO2~u2o07}UK{S@5r{1@L#VHWOJy^U0F{r>|< z0?FOt^?I~00quKZ(`KcCt9yzcw$qbBXEGb|{rumv88t~=X-R-VAiHQ~}|n^4;AW>yf7;;RjD86Ne=?V$<3$0cmZ(<*p}v zLGKjz{vCfH)NhGt;Z7JAjDOA%qX`U_EvX9!H1zPq(N;TR-{M)?%%j$V3dq^|Id5*g z*QQ7&u5GYG8sp^2akSi+E&GuzCza98*o|^v*Qi=-Eh+(SO~%AAU*((Q|?=y4<6 z0+vfXvEtPqP=0X1b?46Jqu!S0F&r+%s=axz9FO8myNPS)NHej4Il zM2+6<5bY2mG_-FA;AQ9$cE3~u(Q60w*>4c`IkP<6In>OWiCmf%ceP5SsbsKB2q~D|96du0LmeK zQt#Qw^k(8SnYCuo)x(9J50sg`YZM9Mw7!{flXYfZ4DiXk4w~{43ViW5A*?H&-~wOd z_3j%k^;~{`kLVYo5NsLlJg@gYG|VD+E$K(phprmanQO~(UHxJpR)DS-l8xFOgi!yg znD6}N@TuDwn_aCQ!SEWyv8Wc{bNX(L(8hjAH%In3@^{nkgAB60$J94Z2!upD8Q9|u z3Ym9x9P;n|UmxD5T@Gx7(qgSdA@qn3wZnVUnQGdB4|1x%YJ~P|Rwv3AGFp^&Y&ce8 zEEVOc^MXH5N7UZ6xb!BYP0^kAmUJ2YZ}zv?z$Y6Wzxnppyf0?WyaC^AKCdm_947ib zQ1F}j$WZ2|p4;cr9hlnRvif!dUlj=DlFMJ5dkLVOj<-CX<=K;TC*#>Q6NN%5vznl_ z5{Jfv6?>NR5?gG7jhU~Re-iW*d{7&Hqc@2P8O zS%G~$DeLiyt4*HXm6qEIx(yH7I0^0qQ47rEA(-Fq;E}BUcSwVNs;0YPcKN{i)P0d_ zu41@r!fXr7jk7N@xVi)#DDhxRh0A-9ZQDD))gNIRQBYHnPpnLp7it&y?3yy(`bhNZ?G)m&;$W`qHCc zw&v@w02fpK@*Xf$#Wqs4)lP`_#7HM%;-WEx3wkH^yqnI?rh zc6EtY@+TUqKT@r%-teb>e6L7{TjscWull*A4vO?)>Qgn*T+dJnpqG93weG72%&?Gi zWDR?JEGkQnm*%G~02#PI%m5p(meu{!$dJ8klO$3&s~@sce2w^L=<^a~kaN(_%91j! zW8+l#x1amV*UE(?b)H#Q*Fz%PoJ{EHygL7NSbu;IL}s6D&n}=LgiTlwtZ$T7 zKr1jVVuL856z+pHLRo?@X*4)@PjDTLo}D z+kk`&H76O6DC<#l65iL`qry`d>++1wyx$MgO|n*eZd^+LeYDR09zoRhlGK)7iV_G9 zOxfD>K{UcPhnQc$+JT&-@PwnqslbohC8x>vZs?`)dvWNf!V~Vm`87pcA@sv6w1x|+ zzwYMGSeZyGmfb^^kDO*}* z;+hx*KhXu{l?;lw6t=0H#;aeR*Gbl2Qc~&1OWDREniJCf1D8LR(Z}wV)_d76N>ulY zKI0~m!Jd47Q7fx|Lt1wN{1$?sf0ZF9dewu57T!$B+s6C~pMK}YRGnww;wvdceBdUciHF|;&(Tva) z)ItLSev(~~4wL>|7VbnBU=Sa^#X}{0u3|ZJ(G)QXt`6XirP?)?&6>c}6RW|WtTPw} zZ#Mgq(t`o);MjU!|17bl5sDXM)@}L)4NV;6%Mo_G3_QXyTfR&$&{Mk3; ziQ?9z9CPLOS*`mvQ`h&u&6hPMO1hayGx{ys@>J97DIV=$eSX{s3+Zu6X~tV{G97Rd zQ(@E`LJ3&C(Y42dzk}tPCrmb7RLR_s>rtVjk=JTpu>w&(Av#}$;(OqXWkLGcLO|dc zYSdAr^oRK|M4o5-mRCW(+C6n(b$UJ^ z?PdD9cZKjcOX4?eFGgO{nH`brN$5W zku!}*$9F;ZHvX!8J$+cS0psEMcr?%tqo>}c#y9x=3gm)L$qd~4&PeGJ zvqOuSMecj1f3?7Hy`H*G>nk*PV-r9YPoA$Upe{zW5*LT7Xk}aMWvWZ&ukWVRJ=7b( zUtTnTCeB6tIj7gV!7?BB<6#rGLjgi$tuaeJv%#0kbt)#C0{qx;{!G1o<>1vWMPfal zHA}{6m-+JMQvFZK+@)9Qk%$2{!Z+Ic{=XDyD=3mV`LQo-O2a2OR$5O_G%*Tftj-Dkr+aT|Rb0Ae$#epY^14DxlRZ zdpML>B7z^n9~ma6AHik~lweIFeP6@P!|Fa>@U75NxIP>=(>^MWZ}%%L+ET^Lnz%l& zu+M<$;kHt$LO}kv*m~rK6n9_0I0*DT^k`{{aEGj=_c!d!ZoL0~1o!Bw{F^qStR9iE z^^5hd;NCEq@I<{#SmTf#^wEBfP2N0W;?oeMm4pzH^GbPMOrO941Fh8y4|a@! zDcXE>O0jM24}L|ZIB`~xq)3qGCo0N&i;0j9zTYvnt^_U>$4ZJvO->Um>Hh9UzMCQ5 zrNo?9r%W9zpOHKPO-viDhgBTmBI`{h%uFM&XA$LTrozQVr_og^KO(J3BgOa>=F=7C zUz5nOG34pwX~&{d(xa8bi@TLl{C~oZwPQornBKD8GCI-`VQ&JIzcrhwy82oy!)F&t zdYOM{hKxXJK91xy2CzWNG!sK4Aec!Z>+VC7n@2Bl<{z#o%!%s7_-@YNBuia&c=&v*0|+Wfe<7~>8x__ z)TY#scC%VxP)e~ulg&41kiugGQf(f>7NiMWs%DT{B80#iEYeK(jWdaPkHVPj*WCBK z&z`1~*$nse?i>jBa6;Dt^^}lCd->K_Cak!&Y>qdsa&Gyc-zfNEb_voT+VYtU zG^^$J9KYF;Ae99*pZ|kG&nNw6glu;9FPL&{)OgT63{0>C58FZSiWf$Jrnir%8dP7K z3U_&Zdwyhe^$LH+asQKb@9kV1)MuoqbA+fcMwOtltjh}R8-L(}xHEdWg5OHq4uFuh z5BX%wLF6hY-XeddZ=j1=uleZyjiY1!e2{W1eYY#V?)+ot@$+X96MZvie*kUZP6FyN zplLs&L6e&8_dNk5- zJvO3(Bmpxaf{O9z-ptC%G%=1S7m~q{V60L*u1Qepw59>NrH~EFjZaaQheUh|hBuGL z`>r}2;H8Kkk}cx=^2R%}2kb3G_a4#Fz8?A4=y8$?jPlSV=B!jA?;D$N5l*lQI{XfP#NMz&-A;MMO)x$OpDi< ztl7jG=hPa4H5ob*<2i_p_8lZkY}Cb$<%_a7lrAW6n_e3I#ZPrk zUO&vusnsR=rSGKgbj#RO>`T!75tFe@V5_rr-8`R4Cx+?dd}ZxDo96tnK>sgRX+Y=} z4{)abd-2_i1&rG|27}E`Fe(r&UT~0+&9e_Phmt@k#8&Nt4D-a41E{wZRc2UI`QI4s zb6x^~>M{}C*O9~{vp0iMu~YG9sx?j!%bsRJyG3SWXGcYd0D!bX7jsh3u&fsop`775zhA!h(`Gk0=wrP73-Fxol5FITcHIi16gs-QWz>0}F zZSMwt1{x(D`As)|-)?~acJEf@R$-ku2a8wE&)yG(BBRYWZQyt^BH7lbs6&!o?nr+h zhi15gEW?Wc4b`kh04hY!^Q`clH!|-NT~C_A7;AOs5gAIfv}?T6-@Th&di+s|a|=?9 zq2Cu7(ZE4ps)W>&I&Ta~B-<$!vvSrqmhS%m3}xP(s%Ex>CzNV@L=2!dI0F`lWV+fc`ZzN0CCTJCv$XES zmnmgZ!Lt`MG4sH$uPF!!r3_zvpL*q(3t~c}#m5Kz59yUnb6P#&{3GQPRCQ$%QdBse zUqL1_pD4N>CMUCm4Flm=-Ts))S*+xqtWHb2MOySHt09ASiXP^G(skqt?THx1T-lj@ zxuV!^*J~ql*y@$yWj|Es*)Jb^qiMlZ#sC9GNcYZ&x=O;e4PdBcx`o^)Pw&3oDya^r))#zD1L3G%x57^wugy?HADz{5^-QwHGYTM_WFbNaj%!+ z>(VIW8TfkuuZ(@xJHvBaS*ZN7@MMF4S>U~a04iVR&e#r^jBG#TqT#iKT$R9`cE35A z+llKZCXwd_%69FaKBS0J!d>Z0c}WKFLQ_#@)X==2Gz`_S`Jkm(3mgCUNSDC(yMYCWmJu9hg95M>=`2OEdQEq96@cz_w6 zoUS*t!TZ-2WcjOs9HT`E3gmf~5U^K-fm7|FLLT1+eiud)TX0MC~1*mX3= z8D7Eo?px$YP>-4zuVJiF`G%*BxikoSKBw?3TdtRh;A}j7L3BX0$;{{Q*6AGTp@(r~ zPEx`UH50qtx|X)}Ux$TmZ%`no4wmVGHSF4X17o_mS1Hv<1s!TcdWT?TH(#>4kzlzc z!h1^B-S*;22OMisu2a!vpImz}%%e_RWL~l1en$pNOW40(K_Y*dG+x$!FltK+e=3t2dVgHi^l>HipW8xhwJ zm_kolHy$Zj;qsb^s53kJb+SE2tzu(qX{^u0S$^4Shbs%NGF|_JS)6@9T*{_Iy@q4U zn1<8}ktcz`&nF{N+LWx_%*kTu93R2NH4VIr-&xI=M26+5qwf+2VUbf2Zb?(c>Ob2* zG*rq`#6DjujNN?=dC-w+@jpMKe4U@looXS&Wb{M*^}_#rdn!ttoV(OJ+Q!?a)gDYl zd_ME0Sn5xgx}LtTu$->2oT}cj$!F)VS$XyOtmb|fS6oyyuk(4e>XUP#MYm4s-cf}_ z?vbU+^<%}zF^c~H3d?T^Y zStl4_93QpPwMVmOWqH&WbcyblO{y2Noc&5_u-a?}KDZyUf#l1zVR*iZFAkzjfSfmo z90Ol3ONFWep?ke8=^PFbFRlvydbi(dKezaehRA4>pC`Idg$@q&?vz%eEu8LtXvkN@-|SIRb-bg-wxZF5%9g?!E_7! z5JE6`9=u@8fj<4KzcI!#Py_SJMK2v5d<%omqP!0_8xJA%U(7z;GY+p8JN|%juv{y8 z?a4dyx-CQOgPrKEc=TALcPb>vW6O6pmZ}jsMo1j>DbRwcT=+BiN}8i_hxd?hfY*X`zCuD8GaU+%8-OgH?^p;e+Eo+YeXUU8^%mZ$bIMyRb{$qz!WRUI z7iN3`wkW-fkE$jt$h&v6&kb&9vD{H5 zn^r7@h6h@LohNy`>O_50lG_|H=xvK8NbPGTDLR4|Y&|Yz05(FhVL5B<}Mw2_p@KyV=n9SmcX&t%n!3){{!3FLOK%t8*b!$l+L@@ea1 zm&SggnB8d;J!!6UUpjpmUDR<+LyY}JO3D~>QDp(|O>QQONO78z1&D5yS|$y`inIYI zAXb*t$xBNLndcp7913_*oKl`gP6b4xV@T>ExIFvRr03{q6+i%*LymH4QYz!rjDhP` zL#i%MYO5LG5;0OVo17pR2dU5LO&}ym34GM*h1aGkD3BBGDp<x2k{+{0V);%t5*HkSjW`-_+xb=CYz^Y08zt zFKqLk`4yoG<{jwafhVumwmmAXpsiy1?O~9oJuy|T8Ymze#@NrxfHE+600G*n$W}B6 zq@s)gxBQxHPjf6lqGKl?HbKX(K9pD_%L*fwDH1P{h6YyvjN_5?6>=#`gd#Gbvy;&J zXCC!V)qKZxVU;HUZNTHdJ!?W(<6uj22*Ywm1Ew)j^b}W8QU>&W`~%0K_BEqzF;x;X zh6mH3&rDWoc}fh4&|n^T;-gn)R#{Wa!NL^)o_NR|u~Lzws%>Mbwv|=(46w#?*B^~* z+RWQ<+>xG#93Gj?bM}m=7#91u`sWp-htFKb_c`Mtw9;bI2o*j>$0x3RDJF~6BTP=a)mY_8 z0CCAZOqIV0u;SF>Nd6OmD#(x^3uq$8%iLJH;Ml8;NWv9EAsrlk}}9)k>(gRxZT190EZ8 zCan}Z6Dpk!qRu7~3Gs;%G6Z3W86zN*-0&*(t(wjQ-U!&76UGOd!EARUkJ7XB+c(6I zJb_vE6*(VxkAFj3cF|7Zqj;6$0ON50V1P1CI6RYDMcZ>ZrC_BMEs{KbNNDimKp?#?&FlDS7!+@@TyP(U&9j>8$pJTp5J?&1^Q_$4)a;>#*F$bgqn42lM^DeKL-ypr2ZBBL z&#iJ#sFTsMJL0KDdm&(?5=r`sN++ud7e`+{p_~~BE$lJ)n#{So$PLs2Nvzg>L$+{u z%}Tbj+>s5xJGeEXZsX;QHIuN5a%5r%2+~HnYdM`u)&PwPRTtTXz^~GQ$IIdJepgTKWpx;r6K% ztsbFnZG>zU+CTsV^aS!d^XXT7Yw(C#Xs1!SwG!JFG5MeZO99DN7&s&x9^$m*p7s=T z`gcjA=fkdB6O#IEK$j9c8<2lD(oDWLf(f$v&h%QpwMtRbA&J+(YaqMt^ zTJ}-GoDf?)4@z*OHm;HBM>@hqr8(K2L8Z&)y2OYH zP65Ct9_Nbht@T*!t%@Eu;W7ZmJu}v`wV#HbC-5bY+BF^>!NJ->kPZ&gdB@>iW#Wr( z7FuZSsY&MBMX(>%A}UaNA9dJx`%g@yGpw?l9Fhu*dJg?-)%-Q$gM7%r%K?r_I48AyIpL9N zB}ZF!bH`rQ^d67mtuw=sEykyCs>%UK6@g-VZmc7SmGwOgRSIx}lV{kzA@Le$UJs7O zNdTKtZOpmnXy{FOHJ6A)w`pz&z$5bd*U!En_?36B&*rh*dMM8dI{+(3!g{>Y-3DhQ zj%q5^ZQUOYJU2U(-&5`%3SWs_Z;+5MdFr_CE86r?y4pwc10;muk5)eQ@~4CKn8wKF zkRgA5{{UM0U&A5JmS%mfu1OnDPr|(#6S_WY6-w7^>@+*CvP!YI%1M#*IjMYSeAapm z&A>P%c7yfeu)H~MGF{2$t0W3b%}cSuTjvY!iw!sJoi%Pv1xMQ22FQ*ZN~$imF89x{EN+Ywig@& zn$+i#x$0IIXNu}AuDBf6o7mj+!LFv#=nw{ZpvFs~+(SQ18qkX8oaVVGE_!oXkxn={ zt4ztJj+rINsUtj9Mets z#|D5p4>#VAI=Sz+k6MrI;;WPnlg=Kr&pcN-{h`6lMs*BzH2Fa3yy5Fd+85TjV}5Es zxBJmz8amIkudOiMFRgLsQEr6hqc`pAnyyhDnY=+!o5aR*Tw%X|T4B66>ra#p(B7f% zP5XM+7H;1ib3nOoT#CL_E1jR)$E_#Zhplm|cHX@zL2|>b9D?RL@3#+HKHcwJn7AgT zTZ2i&IgX$0zVv;xS2(hqb*WZUnpO^Df9;fgteV7GPHE{O>qUc@+51`asM_p~Gg+$i z#%9K7u+t`z>auQcitr62@*ZoNzMOzXG=?(sS22P?&2jhsBv^sm+*M6h>68=Ac@Kzn zNfB5BRbj!MR;%N9VGX)KG4EbauKZJq)G%3cM__BnyjQPWuKYF!J?rNG01$YhaP1j$ z`PVIayr}D;N12~b&+&Pleq^P1n4@qkePmUjcY4#5ZiIxsN!nr+hc5O(0CR z3B`KUt6d&VT1{wuBWHNz+;C%tb4p_6ADuj`ED z{M|ENRjBF??nZOXXlqyO9FS{~iH*$Qb>@a?6m(j1%_|NMHQ(v&BB&LOqiNqFk~uZn z+gfk{6)a;zF!mJ;p_?a~+7?ZY1r2Ba0P3Wpa5#&onSsr6H`c6kk=DIRdoaN9&2zW5 zBL|AnK8AKY2VApgnVERzy#D3MV!npG*I%&QjmILqOI5aOX^F-KbV6Df+fyfwo|PMY z(rFrBdTSq$_omrVGbcIvRwd7R*0^q>v93;Y#X@}oEXTO|)(ywrt-F9oCkC)C1D4JS ztV&MD|I+;UvzWFCuBy&Kz^)F;LI_}U^schW`531vhBR==9nFx=G19tgQ_$BXr%E`_ z(z?552Lu}Cl}nzjEIp0rPDNSfszK7U6?o^hbIM1lP8LOSK3(s?Gr7k)^7VN(VWpM(vgECRE_o6!!s%$75D6CdnY4Yn!;a+tAjFQyEUhxn&EQ z&$zi#F`CYn=z8&4(_QDG&2I%`npG}Oac~B5aai+By^d-*W(-YJEzcFSY8=vw9$PJ% za3-PLKD4TGYF%;rGQu8ts|e%{4OLoFao-fxQA(R9Y0d{~qVwdDnvPj5E6=GB%FeC-oHRK zDYr&;xDGk@KaG4p@xe=7r0*WXxa9TDdUIY*X&ckI?qzfR;<@wsHo!AaZb1jVK#hZp zRH}bk`BUpr3qDQ-MfbTCBLZBSXL<@HOogjy>6)gjHt>2?mHzM*yXaumnIe);UiBbG zQW~NR4n1ndbM>g?DL$g9>CY7_@$~enVNULTwK_Kgf@w8lK{l^ERfQQ+py2kVk7{y# z@V>QELQItg>=V>fj5GHJ4ORmT0v>&8Sl^wcdFfdcHDqN3Al;6`kJhZFPY0=}Qank? z;d^$W1G5rF27fVHJxP<)wpjNgH2{}u1#i0iWct*677;R&yY$CAnzE|9xF-h`)wd?( zN(hvR8E{V+7{K?dGDJdRHYf)9+ z6)i)&o^H|BU&H5=S93 zFvAhIJ$iJgnQ)DfIB0_;L}a$|HjXi#b5g2#nLFDV1P+}$el-)Ua6Fv_AZQZa4AgCDY&U4a>qLOzuEzF!d{Hu>%bDEw0LBDBooUc6oL#=1qx!Cd^ zNg3PLswLo_<+icRU~$_Ar{`IDGkC)0{4TCPcsa-*dJ*eZ#*tiCq(~F!@K98J08VvaZm(xFqwAd-mq8X~ht- z<(=CAgd~+1&OHV|KU#*`Cxtwss;BQU1A^z@sjZDLNYZRZMLZR3amF*AdJ)sosXGgm zv~_mdJi?AK_Z#Qwxq&Jdwnj6@O6Y8~_}?)3M`Mk~GH{_t+5pG*v7CKsYaKRQj4r_w zGZM0JO7H^UA6~+?r58(V?I-SlBq&^xK18^s& ze?jS9CE|Y&O#v1*(X{h7K%)oK9XPLJ)L=+M+-^v={JauLBiEgvjQ;@o>&o>wW2Nf=|}HyHtu<+$7Fr*}yJxbCO8su1#|@TPcx0b`?8a;A)nbY{-WF7B?IiU8;O+Gpt#tcbh@oIBGpQ(j2IxwRMgZd^ zap*mTLm!@#?vU=n<7qemWbyQ*A7XcbDyOmdqP#0;2%rfS}-4 zplQ0YTgW6>+yp%12NhK%jgcS&JpBIvHwTV@e==(HHnB><7a$RyI_J<;IkOpMl%DDR z=Xs>~$4s>ay!VODK_yRqy#cFwr-}5vLrZ%xc(05Q7@Y8W42}hG4Py+mqzW=qBjr42 zJ&&NRQKCW{EHjRzhdOppy*EK7IPdf4C0G2*s3^H+(&QCb5yI9v^)qEYR zX_||~B%UnCCI}_RDoFNgRrBrK}TR4F;eSair88ltt+ z^%<4moXK`&Z@khuDo0(UFdv?4H=3x$B#xSV15%`%r%@kM{AKvZ;J*~;(pcR~=G;WY z!?ze4h{!nPj0*WD#NQA#9}{?CJRxlon>daWBj?Tv_3Mlp>yzP)q|rmEHt407B!-YW zupDqQSP*lNYfXGJV$i0S3<4J{3&<4hAbr-z8RI>Osmr(z3lyBD-H(|( zG4L|d@qyH*WOh6NaD8jtv>(}{SGJH(nN6TjS(I-o2>DMOeiiOo4}vc&Z*A>vfCxyE zITQyk5jYN@6On*P1mt(Gz5X8fQ%AGY2Ayv@U5OA#&Y_SvY&IG;&I*srRN-*lrP4uXe!|{H05n4b9mySX1#-Ig!wpACxmQb>r+nnd=OKr; zrGBdT-{JIHX0Y+wL;IQX@#7>YKAx4r-+VWT?04Npxi}+^Mt$h52X?Jv!ktL8sySUB zpBfg2a2Q7*JGx+=c&}IR_JJj=&3FkUj9?s(%DqES@Lj#N>jMx{rvT%%YG}G75E*cp zAC_y%oHenXTtrlT(*FR4beY*Aa&S*4K8L0~E9y@PD6rEaKp8+dV#hhprFe~%y4y4l zxT_pxas6xCv>76~h$=B71B2Mteid6reC9T8TC>$`nd7?>$NsJ3{*~b07PU)hEnUhdohE%Dr`~57HQ#BnmIEBui1>d{GnE<6 zE88?s8AeSv6B$b9Z(?1sl5427ibf-oSsHX8V!LZN7ia>GQXIRBZv=xJ=CxshL5_H< zHqfsF6|EEtk&1kTHc^fzQB7#1&jz-|xIIM%+m4i2MgfXU)J8c6sjh_E`qMtlaX=jD zNdWIrm6NcpklKUPQ$EM-Ob&Nz(+G3gx)YE1MYH5MZ{NDcnokn+8N^FKYQhk7W zQ|1GjD%8-7+*e3!2XRUE0aln;=8B%w!y9(4pX?sg->}ilPbtj#XWo;_Z(8a$9Qwl8=~ApM>08TYamc5wsQjrpvDm^`O-h#Lw-(p*r299u9KmB9 zVWvDpR`=P!9V!VR$jGCZ4ocw(1lKcv6LLj&*B0lT4zr`YTefW4j}*d3L#@w1Av?)8;D2#vU-WlMj!2`CG*Hvd1&A2aKBg@5MeI$Z`gH z_OF-xW8si@kU8hId053Jv^`7|l4r~fazkLAYrXJzlIGz?GsvtfuMX_GIrXn+_<7-| zfk`&^uL>0BDW5@BtYZV+ycegrDS^PneL3OFR!GsYjAFd+!P*KSL$}hs^G~rzVNr_r zsYRrG^;ss%)@;fFHL{FzS+Rv&04mD4^{&Xs<&;Z~#}%J(k_}ni?@VP3D|l*UBZ$>u zX%O*VE8<%j7(X2==-aDcSDN#05NXO(@#|V#$)n^AcTbU7hzGr6Xj*iSa#W1-Ubo_F z5SzvYV0c!{OLv@gHLPMeI~{(RrLsn#3hHg_LX4g$~f=QY4s&9?v^wbj{AgUPN5Pg@?eXjt#8 zX4}-)TVp@)=C}(viN-otQDZLLb67b&&d5{H@2#d#22EURu%m-qyjM6-Gfr!vp0v4+ zh{V{M^o)XVD<$r^#%heS*CTXuqu^2t-qPk*Lhv4BLshJl0{9mZ>gSzdLsXER5s=obv^q#E}f4q}n1#%seoI-_s~y{AZE6a!sQ zm5d~=dY+knz<@ym^RD+!zJZ21H{;EDhM4@0dRKd3H*IWz(yg;QShuOkXk#yuCG`gt z@^8i~SDprTVs>DR^Pk4PqShi2g6)lmBRH>@J|`rG&QTnpqbg24Fl*1o-NB>Qz(08( zG)8g3;;aVFDwJ-_*ludfeSZr1d9&=G?uBum!lFI#(x+@54|-$m?TUiNuNkQ~1;Gc3 zt~umWp>9bhrE3>s87H}RE=5c;(=}c)aZ@XPb#m81CP+I|qv@K33EN7KlYznXsb;C@ zS%~MS9@R4Zt=AP%SO&u$4O~pO-sB#&oRjJ_gxaCQuX>dbWHxC$zHll?^BCv1T9JyU zJe~)=3b`LK&-nXPx!g0JY7!*bv~d3braua}yAsgR%P~`t{D|w%dXhb{pjT{@kF6qw z;AD0BQb>hIT#o+$L)x5WshWv#TOcqbem!bUK-FnP{BNv8nJzbg<&KZkKZP`Cpb6wsKHkXRG)?%-qA zqmAQ;10w?9fs#9s(0XQ{g0g3LJn_e^J!Del2;g+jtxfC;QaEQ;VzGicoSvM0YR$NH zjL5_XBLs|NKh~>m<((6p9=-i3mc`C+Hj#|=AbScL2<~kM0~o<@Kb2^BF8LQia9qD#QfcXJb{lvz^jl(xjRNf z_3hH27;`=+(eEU;)YML&B!Ar?WC4x<_U&9<)td*E)b7Xt zWP)&UjOX*LmglVrd#LiesCG#2Cvs1xPfkAyk{{Z!7vo0W#IUgqg^X-5SADFJ7vZ9F< zM+dKO#;G;9c5vM1@#=bt(MdC+HB&jIh@lLm4gd$IC!gh8R!byG@&n5PeFy+?kF7@b z+uTM*LXdqs^aJTl4EPEL0Kn_pIl%m>t6bYwYuXb5?islM025s$yo}MHEx{!9$;kEm z>ynMiu*&j&W6wTAiXM2m07)*uZAJ)C6NJ!qrZDznK z+mnHwKm=zQ>^QF<@YK-T>WH!fEO-HjQIbi(JY?souU^ulk#3SX6JiVo$0rO(7|9vN zcp2?dk?vBhWRCYvu(X;#CP1kRkgX=rPDeOXjOXcFkKxa8 z%+R7pzGPs?NhG-CPCmUcUXN|3TwXqzq*}sV=6PEaWE?Z>4!{w@<2gO+r_{77ja$RA zX%>)&p6&#iHpo9bA&xR|2+D!@@z$H8p}_Me8O7gDzkcV9N#NTk8USXJcwRMSDnJ=- zSP)JD&PDQUL+M&Oy!>fz^+tce+NG7Nx0JUtla6gmH49lClLkB(OOQS7G-erBYpurH`C` zDQK>AIyZuRJFUK@E}azn3~?J-OoaJauz;EM^YE}^r#nN%cbBxV^B1Ct2^5KkeMkFGr{-E=bATOCd0QM9p< zTWCKw%u0dO9Ov_|LX9+!jLq?rn&iFLLo>!24YlHg3%*-M3^@RWbAmDLTpqEd*~O;3 zAwxcUoOG{Cy1A12_3i_%-UrI0KOFqPxNS$vyPD*j5!=PKOe?AD>sU(~TR_bc?gKgFkZYmv znoD%_B|5n=;@vry1jl6mQUs}Uzhssw)%#xd32^xx{Q=cU)nRHUvIE}A>%BpT|xKc+I=2{3RCdUC@aTg0R2&j?($)Fk>>(S9Gj45~BfUo?1Z zG+_okE8TP%SOp{6xm_bgQs=s9lY#~fcXku51$jo9IlvX&SWW=~ro*}DcJ7B2trMsK z^%cllO~B^1pq%l|AUY`7O-#FMA}Mo@YVt{+dX|8*PTNr<d zrz!m@2{E2nrSd~|sZ{=y>IKX};9VpJ!i6 zyG!!=P%D&v&c2j+1JbVGQeabTMNc46{nSb5$aI9<_zemb5w(a-n+FGjuX>R9;>xqdE1ei3WpRA6lm+);raAa5@}S z30pa>Y0FbHNM3FjCb=IKN&bl6Pw85!$MvpH#n)<7JCA3#F0rKP;=xp?x<{*XQxf~nW z9h}Rn9$OyOR&SYWWBVTbbF(#CT{iJY%@bqVoFgUBPRB7Ud8mLRwQ0|9C^&Q@@Tx5v zuiji&Wf|F=l@^6*6jpouq<0mh%f@RqV8gX~G>^aP0z@gA=!{=Ok+jaA z!`CV>39n(&Zb4NU^sY0*z6F>vd8Ft0SG8!K6Ssg3{NvWTpkmwRal-FwFbn}babFL7Q}LVX5_t^SVc$Fv>0H>AXgi&lSXxN(gvR5} zaB5_#R?Zy(?rTCZ#%tuNZhfsaWQU+%;uOb1PaM^XjPY5PR3j87RFY}m%7rGW3dMwe z2NfzwhN|j!aC+3py(?tmU|3K(0g7s?2M4GWqZs*V!1IjelUFS^IHpE@D$Gn2b5)}% zeqNOzJv|LeS4N4KV>^ydT9AN2J!%wB;-_Ha8K_F-AtR8UM_)>?K*vgmDh0|OwB-%c z)4fS8fZz=9N3A(`Ha7AH^Qhc;i;j#9OBV4SGoM<$#L(1CzU*>OIXN9WRh2m;oPp_4 z#h*^Oq$(LcVsdbODqM#YSQ|oRM_x@;Vpc&Y&l~}sJ*bUN3zLjwQ~bD_8~$!`KB9}2 zQaX+dN|rnmo(DKIkpbrr4o_dDG%}WK0th$*kTdO4M#QcUUwVAjA}C253=j(z{{TEw zqg|n6T`xOxA*1i5tvtazF)#^sMyx5RKe= zp4F>vzyfoU2dC#n^c-Sp!Gu7VIU_%XUAJ3lB6Dt3lGtpVjE}up3YQZ|3Z1czPpLh> z3f8x@w=2GLfJWS8fyvK7T0qXKG@ubfD%?#OQlE6^JBj0fKd7#{#zeH==fn&k@YyA@ z=PW&jE0!~=OB`z0AOb-d<3HB4KH0TkmSCs>4K7I_06E4x(tbuzM|%y-5~5mLu`!h@ zhB8jv0tQb(gT+<1mLqszx-qcGF&vQD3PUj&WtYe|-Lro7myoFijGn^q(RP&O0 z99IvhSg9F_1Ci4>&3dM#2H1*30ok3ttU=%(uX^JyZRPT|lmUkWo^W_Sk*94nGI4vH z1lHJ458fP+?^(rg#X%}Z^A*+H+HI5;2P{ZGO3#+n6pVmJ(-}UdglQSHVXC)TI834&Dc4snhu)Xw@fV$QP2J;mfv0kk5GrFa{M1NzsrX*ZJFBxxs9 zXq|~83;;RFJm8kE8PUoi9%12efIhkYb=k##8%(hw18_Orp548vdquhF`$c4y$Ff=L zwvpb4kB66F8&?CD10&E7F_3+0ztc5+JMFSa;5@E`DxP+`kgdrDjtM<6Up1SQQyhtq zRf!{^$lzst!Q&O)=-1GPgY7bbA#Aqn00II)#&e9H>s!;S(ChlDX*27+FI2S}f+ENy zx{@f1y6_Qqvq(lczykvw)zfJD;l0wMw}nJ+Yi5knV+B>zDcU%|0DVcteA%J+f*2sb zDJV%^KP?+16;zMaPCjCB?rYMt3#npR;aHU%1VUH?#9$siZiI~IzH3;`J&!XHgtD{p zH*M`<(&xUmjxrL`>R7h|PULo3B3?1T4oLq1IP}d5J9kIY5AM}vkVZ)Wr?44{St zxfl!vK^X>;X$0uGM}O=3XS(Q`w9gfl!flD%7$jK%AzTuq00?XcyV~EU*xn+*tBi#NpDd6vfsbW9 z2c>6S+Yo|ST#$G<@9HZbL@g<6g1b=^1;%re)VI0MHPS>w86qqO2UFAX^{#5O=XN|g z@#U4GV8yxet_TEUC%!vYexYb5V4!dYGv77RAW0)Jjz}jX-@Yn@wys#VLlMRa{*}zr zO2&N00X2(8g(FZfe-rDP==2EukU$t=#~%K*72ep~#~}I0&mA%Kt!)J2qcZ}0mUa6zLzzun}mIeiS9+iQE&2!W@f$5rc&&oY(v9Y`)WLE>HV~T#lpjqj#lIif=G+RtG&Pdofz#I~uCw)a{&e zRHl^^IXx>xgxD7e$*v#77mBLHx2Io1zJlBwTpI!l67WJ(XGv++o#(JXdah^G^ zI`FQjKGyBKqgH>6wZE0{+?>}3;f-Hq*C!b@tvKAxv+IcN#Ib@+JU<}zHRrl+sv0#r zv(mbITiw7CYc~rTr*n6A<53b%H6(Mzk6L%1AE>IZT&Vr(oP>9)vQGhCfYue=!r+xP zbmC_xVJ&5$C_C;XPW7RPHDTGHN=6YX6uvI zn5XrszF>ANPg71;=bGw^(C4+w$an^c-Fi)%_|F_}Y^$gV$0gv~l4 zjEvXOUKrD3TU9%9IL&t8GTwJ~Mk5(*5znTYmcV?t0=IPeBLpb}6_w)qx3Z1=qqi01 zHa;TMJng=D13fF=hFb)1Pah?*^isS9K`J_awQdW0InG@H2E0J{k5EMnCC}HIw`1db z=wu5v7z0yN0R+yP7|BXEJ;}T~r%Vg^eAhd9;X5}6YW4QbX4&}tHVw(2#-@|T_HWb` z{cAbkA|;9LbJu)>_>_8_b2y&8jJoC3j+K6(OLaR$cKoF z>SS2>CeUEAXTLnxTW8?=D6xbC9@U<{DzT659FbEW97G4moc(L27<(AG!JSM#8nlFc zzz3yWk4UtMw-5#^&gb#$n8NS{WXx{{R-<$rCS{K*mos;QF4YE#=`Z#PjP~`nIXPNX>By z#!18Hy?NM~HnlowC3C;9eaJqQu7v(og{GBghkRDVU3zA|dV8NwMpubxN2Nwobk1r` z#+ZKT9qT(9kWzmte(#$&r;vx*m<&b7)~qj1dekenq$dLvq;+NuSe<#|ky`|wl^W+6 z92$4e>su&@oiGVG%}8=N#X^Icu)O@>RQCX6RdvqM>+4V48>d>$p(ZIMSAm+c8|54L`c+)#0~n`;^Av6vBcFOKJ6N!! zDw3xd^`J0i1aN90+jnYk0UR>qQXEI35ZyY{`u#;PvXhk=YH)M2IKdx@r>8=i6?w@$ z0j2_kf)5AV)|{kZkFd-nMPD!ypp-eu>OJbZjDT=+_;slfj^0lh{{T6ssN(cC zB5yP@0i64Ftq2c?M#7QUI;CYpo7z&YSIbZ#&b8C{y1d|E;hC~ zCnq_;;~gtbFD~L$Wqrsu0-%Bk2N@@?7&XR;3byd&faGO)<2lBCYUQ=d3CGN0WWgtl z9D)e%z^!?1WT$3#HVz{uCy`8ycOd9M7z5Yt`qxY@q=Fd3{PL(DH$0v}IQkm%>kGt{ zoz?O{0AvtU^*JY~BeiuAyTxw#ZSkIc@IX9w#brCK4?_=UsnTzcBg%1x&luw%bQ$f% zW=AggrNPL_$EgQBDx?>3NOqp*)2A5ePMMXEf$}~;Y;@%F(y{1zN+efPLBnHlBL%yY z`1C(Y<|Tz%VmcfUGx~6AX6Px9s3ZZM*z1xA`D+?TTq?+<7r(G4G@DC!7MR?zMz7ADJgd|ojV+xT9cB* zf(}Oaz%|(uyc*c!nxoG57xIc3| zWFEZZy=~fG$tGGyAY>Dq=hLo1u1X7Lk=PPJ7~6rLPW50%dlD230*rlW*`AFI*~K24 zW2=~>F!`YtP(yNYoaFLJ^z^Sp(=~-e62UgvLg7eJlb$#$w2*R5e9Wz@JcVM6uv}-H z_rU4Xt$JR8ZLdWdOC)$56dY$GpRGrg&svP8! zT#gAGVx_e41W;w#;LRg!8=0K4gvbC8_y7~f9C5{XCC06+Naot<)-@z9LmY#UInT9q z8a1Wlulx7f5m>KIKmg+dB=zh56{D>qnPXzE*HhlCHMhFDK5^X>5w&u~a(D*>?HrFz zy)j)C*1Utk`cpfGnr*nks8UAbkZ?T+>&<;DqQW7B zF;dDsPdV;SdY@?9)bsIJ>B(9rb)^)JCs$>1_}j?ugo?&7M1bX%Ss=RK? z+mpUumbNEF^S8MQ$;V#x8EksjwUyzWN{KV)a|+zBcIt4}+BAp# zXH&`kbeEbEGT3>Frn*70KI0B9JSfv?V~|vTWTA#dDV%!RH+z#{s zr@ohUX8omUKG8*h)7?hu%=<+K= zF7fMG-eIGDd(mJtJkNSVDEd}*<3>-VFfVz6k1$mnpGq=)C<6DIDLmhLrIYDREJYRq z_nq%d`$GEGdp2q&Y*K6u18|^YHBL*g3CXH#?o^H&&!%9@6ujMts(7p;S}fUQkR{3tj)*O}`YnLDw~Z%&J5a;amH@fE>v zz_}v47sN26%-feB=e>HKuXxguGhT6fZqvCr$jx+n1oSdhPb*&z!qOM=$0yS@*66lr zXv&}ggVJ8WBhcj3hB2DOyVQmb zPwQNCn&N)xx_66+gU&af3o-Hx^4{v*{x?*+K4de4YUsrkQJ@_k!T zdxAi2D_G&~V(T1Vh!5K2I41;}=WK0W3Bv=9YpRkR&DS*?R-m}rdC#SEDg-*+4&TG~ z5^V@tyZd?CFaSBPG1G(F1!2;<7&SrBjxktNqp7Vrr+T-pDaQS_@@tTfQcQIwo^=?< zeAa%<)7qUA-}}~0)&Bq)-C0kn!-Ko|Rz1!1a`2>&rCe$DA=EOp-9*V7svdc-7r*;N zvmL`An)V4a@jH{dzk0^L@bfYkRn9#trZ7n6magZPEv$#At4U-}-W=CfEDUFBE(rCd z@)2>xZOVjm%VYV}pJXZ2b*;=I`&2I^W2vWQ(6o$W6E9kedsc+9!~r=NtV^4?RO2J9 zMbZc6fB)9}V}`V2JcU8$rFn!>d2gKaTT9~5&zq^}X>`6;Ju4~h@gV1#%8yW0 zOdhq7bAR&^O<`JBM@AlRWOtVOp3$7s~Xbi|c}*H&NP{%uwgBs1`!m z!RCZJn1jY^8KXptI3=^Xo@8Vo<0O7{Sz~a(gTSfxAHCnwrJ{$%;lR%XRL{F;IQFci zolKrl7$fkl7?=^XpT>zZM;5gvPnAILNUjON=~17Mf$vJovxC4jnngKlabzJ>5ynUq zp+MjczLf#q7#^V2nAKf*Jc=3=t+3g!R4SYj2>faonWIpR&MH&JG1sj|%nOjGByfKk zEJRs6PFxTMPxbYv!I@iYkbk}Ie;QEuAcNALC0AS$DusP+X+ppapkNW6-D*EJG?i6( zW(SZuf$z{&RdpF-z&Hb*N%R!gk+bt~gBsQsm%c7(ATy$m#gi z$!3NuWws=0dB_7E{{TwPjX}hya6rcHxgLh1nTsfucLKR?`5=sAY3o`<)3z@CgU54+LXA*)^QCJMfoE=UlQekQE~ff<|%EsQoEg=56KKe~9kK zOlOWgu~|rEkvBrv2d^3Q&N_W7K?4xLHupVA>66DljdJpywK|M!>GPG3EDs~-dFj`T z)n;W+-31sU>B;10*A-}#3R^s>z#aLl@P2*7@%;U1UfP{7pF*_pDUf-5;~$Ty6zOe% zU>R_&*ZLpItgh!^8F9BDdXPF)!XV!>Ws336PtXs-oTO}#UORP^1x}#j&=NkiBiU`0 zKwOL-oD6zam7TLA=kH_{IRNl|Gtk!jHp;M)Q<5+;0X=&W>sj97a7^RU)dZLT0zLQ# zwOLIh+zsAdJwWFtzfVLn>K*|j&>pm|LZ*)gk3zUfL^0zefC~&N5^?iqrB_==hU}r*;0$xf|kbagaSF}2?IFk$?aH@czJ;?P_%>)I5^L#rl(^5s~y>!;q4M1w27r$fJe$Q zG6!>v=DjI2{{Ssf(Mkd^3V=>B2MT(1tWOVU*Y=kMO0=MEI8pZo-cKW-BdvNqg$>8r zOGy|pkP04ika^$_YMy6uH#P7k~@Ty0;;Fw z&N4CB{v20JZvs2+eh%ZuAdDV4$FDWgT3A995N(jLgj;J z85tP^^fm2zb-_s0005qP3}><6*Ouuvap&y{FcS;G1myJNl6V#9whGLlhA@4wMmv5r zP`MSO6Q~zCjZ5W>XD0-VgV=VhHM@#uASq4i0+Y@N=n3^ThZ?cUWbFe!dt=_W)Z(cXYnNc0TQi~L5D!lEjdyf+$rAvjNMK3egW9c|gpV(`DV|1hefh3? zRe0pMO^>!GKaPDXYA*U7ej-*^C!Xdg+3zk60Az2V$1EFDMG_{`3;a^*czO(V~@K3ajFYViL6 z8R)mR%Iz5S?O#x78!q7md9HWG-X9a&J1SSw!dmjP%I9li^IOE4j;UpG;c_rdX6W89 zzFF2empJ_E)_x%92HtliI0T-R>%0dx-UNE*B zLpVQ=HS#8rA@efWD{w7OLyK)J6^vAT)WVSxwU zzAf;6t{qW)&rS_{ww6 zx|+_@^AalTTGSuJ`1;ox;j>xtI|IS2{;SxZY@Q2fl0OSo~^ZIa!bASEBfnBqIgE9_F)_ z5?zfISiYyyD=77;LxWxkVewYU*d**0yS+EY+C}giXI_2lo>U~d6&9Yyp#~j|Eo572 z7SoK!AU{J|5x8!KvUfu)ihc*JL;*iqdV@v4dW_SRdefC#si_rPsip*bY3hcgR5c=@ zrEnow>3p&2Q-#k?X~?{ErOX9?E{`s(?WDn@mIuIg&X6q`89fh3H5DxcX@ zcF)$fC4xj_+Nzk?_che4VeJ`|@T#0*snZt1$;X zsj28snatbqu~2j6?tts91eM`-0WIM|JVF(019P4APSGYYc0&iRh!pG-+m%VSsU-wdqn_PaT+2)#f@)%Emz_09QqMs;RfiwmVnT(5LQQ9#rRPYH*tN zqQ>B(HhHda-vQp4tjg0&SRUrE@xtgoB%72O+YJfaw_8LMTSKb(y^?sd!wQW2+bs(PTJ-lQE+Lk ze*TpCk(zAUVxEGb-5<7V0rd$xR0jS|)tsdg*D=tu#(r9=?x%rRUv6?Z;-hQEC!Q+_ za+)oTHg)F}N!@enR9fVorlT_xSZGpYtl2zPjl4Y#W?BO*fY(P9VG}3ts*aMN~7^8;Q*W9YE5yi2LG98|Rg zeFazx#dDn_I*bZMJ4QOw@kZYC0T13BQwZbfQ()5VGz!FV@OJuChn!-eA9|)!)K$V( zGLi%*6dsi0(0ysVWMaA#xg&CO$4Znq=}j3l)Ah|TE+g^s_Nj)_a4L$sC<6l(IFO7C z)U|TsBJSqx)}F17gCx~e&O-xESuvG7X0w!TYkQ7()!%Z8azB}=7DisnpCz@^)IBxjI zwJ%Y&U4C#!Z%^w{lb@Fy3P4y7P&lg6PM9SybJm22xc2MR;Cg>rYXx(TMmh8qMoW_$ zC<8g;KjT&sMsy(`2M4cA)g^G3k#;xo!OLKE_7z>OOC6x&ZzT4|rBjjIWT-8S908s? zg}~;RH#C`UF`m3B$lwvw*0F}B5|OC`${~s|wE@8@rz4(tCkCEwnl=Q;1~PWDVB@C) zzvEf4tFYTC$mH(hE875ynTvo`6DN$b4l$m9*GD2b8#)VVt>%wq#{;R|gYWOsqkD@~ z0vPuY%5lLVhI*Df_uyAOVJxCT*u-z0t-Con;Pvn6TGv*wqItXib;ry)j0_WwovJOU zLTxQbn|;BFp5A0SZklEjE66b0vC!kDG1yj8O+60kHT~N&)GRIokt+?mxc3?7ky`MR8GH?w*6sp|R^G4y_x_a@Njg)N%sOo(Q z6+$&|)Nw&MvT2sW_Vz>~uq0x`}&25DCUIPXhxOY!lCLYoSG%N?b6=Q-Q$9AOntb)Kr&n z&v2`|C58g7GBQU5U;)lE#Sd)@yLP#eZKkYu4&}GTMmQN6^#qa4Zd$9ywGl_i2SJcV zeMfqd*3pJh5Qb$0VUBVR;&H}%)~%!hBE|NyWM>1Bo(2YU^`UQaiQt3Gb#s+d+o!*! zbP-ts!cIs$ao>)E)|SND?gBu{oFA75oNg7_03NyJk~B+ zMk0+Fa5o^kKcum;GE;Pum-N7cyJejIU^W9UwWk+aZE#@C4dK#GEaZXmRq+* zjLJ!2ork9#!x3Agx}J4b`WCKcNeNtSaC!mPHGw=3qc-z`nLB&>=AEcsPZEcPa;|q| z_2b^TJ#SN%!%Mu??-(nEDx*H4y$mf5W|BM{U2AC13-RxWR`*wMjq*dl$@H#oN7t1m zTs{am>t1`}EqFB2%(H1{7_QxZIFSSb+6Ru;gvdZg6Mo~>Nz(iewz3PSxbnK zcjq`2>$-)KU0NP9kzWh^FY%COi+r63?_X@_n!H+tqJ?bnMQUw6WN~{{dmknISMcKn zmDMrUzC>$hg6OW?5KVrR{6NwY^43fYoD*LW_>05F+WFir22V=b*Nx4v^_qH|?W~?$ zU}mh^T^5)hdZBU*BOiqtdCP;2bK1PR+n-5?hr4syd^f2yC0HI!dmfeIA^=uw=DvE< zBxF&Z4lAwG^(T$C*F0v{hE*xupGw&3%OD$$YpJ!ng_IC*Yr-^*Nr)La72Cn85Tj|W zTe-;Mdd0o+@HcQPqO`ln1xX)6ULzi`>IM&5>U7OzxZZP6>6yEpy&cmse8)dpuPd`> zE0NQR=WVrQkO0J0m();WX~kyZ%$yS?opPiU$o8*2*X>`+W{xrluR()RiNM}@s}sR% zaTy1k){vJg)fmo{TG06uTi5P%#v%78T=q5Q*MAd|DGD{fQV*^x>W>$AUdr+($^)GC zuZ}!(@YFn#y|V2**IIPnLkM9T(KB}6;ww%=EZO=R=+PR#WV2Kl@g-vb%o zeAW4pp?pTNk%HW?1pDH>t3vS>mwFRqgPeD)DqyM4V`^}ecRx^ckBOcizS<1x3HKG= zT5Gyx(l3)bocoIW+tK5STs#u(KA_^g7fid>tz=mtxpEh_Ylfyv{H$*iZinAdJaPb4 zfd|mlwT`}I@Yj#!waD(| zXF7tCsn58r1axd+hZV@xiX-yr-dOahusvyZ(gF>>)Omi@Hrj0kra`b%N)F={V1ZFL z>p>}%Sw&||zSXAPYd%hrDDx(jO1dw%Zp%1 z^sFn3U@|MR4(A({w>X)i0FXsv&VXke*I9P}UU6Lf@$tZ`xeiA;D)r*CC0}aYnK|aO zWKtTFWcx!A)a2C(6q8#|9Z{AsfmVcLTqjz|mNIK@Me9_hQAwi*J2M7YkG)W6Tb$PW z#yu(n4tsU3h{r*5obZUN16r17$U(dM_I^f$$qnl_?rBiq?bC1HhhO?0Kv+}A>Y(XO*n5-R*)cTkr zG4-g-eBf5Ukji--Dl-Pd=~=j%T&Emti^oc2xlvQf>VuP5*EfpU0;Qt)tX6ZrUEQiS zIW)1h?2;-rVY?MA1X*3iLG4-7#n-)Ql1MnJGh>h{%Z!d@_T5|>zB+j+M{P z7%!TZtZ8%q(EMwpIqg!@Tdi%%WpWx-7$TjHb52xdLwM~slUgkCnbJm3)rFBqvKT>g*QU}tsV(?A#agsj@mrb&w*5?%%=cQXn z->*vT;_x-s8?sGai@{QZmdy&AF6RIj&}N++PVNX?3iT*FBMf7aS7Y$?tN@lBDg9kN z*$Pc`JfYz*DQN~V(zxsC*vM2KmFgZONUfu7xUVQr-&~SM8LrGN3o>fdvNWtrq=3Zx zR+Y%v5%#M#a4A4VRn-BGBCHP;?I~FvYt^1}eK-=4o`$mCCqKdIq zA`Etnny%!MXp#CFtj|#?Sp-C88;?CI634YIH)*bR?p21;F(A{3#WlKCW4@LnCltg@ z=aWj=Cj-4*wTQU@3UMZqwx+h3ZRS34z^zNO<)BX0YSP@r9_)3j>(=>z^sOMS&19^K zOfZJC%M8`|Kh>JdYzm331rxaN{JXJT%v~$ad_5-D1Fmb)VmSjHdRK{w_>Z8$JI3YY zZa$S^TZ*k03s1*t=Q~N1{*>;&dZJ#nEdVh44rm}_>r(AB(zrATuBs0-)6`Us89tQH zy~kPzlt~ZFxE(2~G2WB(sWJW)tY-QU(BI0FZ+!bx`R`5WGAl^7#3;}4QmE$#r8g&x z)S2!&)rqpoNHMhXDnNI1s%pV{3U=+M0MyvD`W6=<$t}e_ALbpgPy$FBswo;x>QH26 zv*py$Jq?9mN%yM%05bwtBR-r|Vo;zA@l$z-<8VDIHwHBBIynyAr>#LGrCS}UGFu~Q zz!ej!J7AoUbH!9++#4nneE4yU{#8>ixH7I6Bx8a2@lTR5F&H?sJJcAyB;u`j5obIc?QJlzgQ!bJHAktrUBixeFEW z54J`CgU?gPZ>4I(bdE}~%XReQw-wIX##%tq51-T5>04ItAkGd+&j90(R?k}2);ZLh zWc!j*LpuZ+1$u5hdW>|Z+PH1#Tb68sGswpsatGl~WsRc(Lz1UB2am@cy{ZLvOekO^ zT%MQ&4B#B+AB7}Dqhi&RBH6Y|+xCD)Yu+FGX z&~w<3axtGywZCC=ZX+^E0hNdVFC#g|Pt(0iL?_UVJMH$>p({%?FW<7 z9P{hP9sO!Fj*M@87Fo~z{$oJk~qb5@hCF=?=B(K_s=7d{uRb)*2dj| zR@z$!^Y72nx{E_Ba$xd+dlQfbG2e_*jqR~gdgyevq!%$`Ib4hb+!LGtdwx}|Z7U*u zm=X)%kl7sc0FFOA)&`yCM>|ZfhHQ)xoQB|nPfibN=yFp7j%ld7gl%G28A6FRGPwX`VDs3HFh}cFbg3>D z?&mP8#_^J_4g!KkNdWQmJ^NGb;dn|%8iv?6bN~^9kZ?&j_UbvUxGfdDxg%92vCcpQ z9FhnG^UY5yH0D+zg4o-zkbr!`Ps#^EazNztt=nkbRZtH!@Kk3w2d4vp*Xvdz)5P#H ztU#0ij31b+_HM41#1Zm0I@s64*MB(u0BMLGCI$+mU5%^GA|-ILJ5$ zpvTv(U`?w*Jmy)g+BB5_0P-@ua((+&)Zx(cu@lpn(4JXt6bX3S)BO5Z&mS7RPj98z z#iW^b%Q4F+J-XMkNq%4x-Q2kHkxK;~fElmKPm2El7k}X?@%8&#u{QRMVP1G79!UOG z_1rUq_Lzj;(bV|7>lUF;P1(|Gx~ZI%SHP|&5hKnDo`=@C$aVPcak;wJS*1w~j-^g> zU#ii|qc?Nn>SNkRwfHAemdaEuAzTq(ZTJJm2g*pKaCif)d@G`DRT$vcv-ne0lE!pE z$8KxVtCmJlK70E@QK^21+&6Q_sM{QKk=DL*@s5O|XK=kqIImmq-l#6^6D^$LvV31| zk8bWqJev7=(By6``iw1ZcC375ufk%Ot~dsu(xUmsM>W0TI5TuX9Z9O%RkJGxBZ}~` z8y|5+r37_wF4)28jwB&6CHOT7vG&d2k;MWPJYry{SzrAz~;xrMQkVPm{=6V#{ ziabZgeiwzricoj$UmK>Iz*vK)YG?tc*K5ML{xJlD>iD$*8Kc2EiA)l{IZVyNOB z&z$Z50CK~FkzK}%;zzM@wTQ>PU~0N^Te)-?u4J@|{YbApUJUeG(EBgJUlK@UidXdS zUr=~&#n#tIgh_&N-oGz2ZBkey2YDE;bnusqIZ7@>t*q8-8~v{e79%V z%QQ|tMh2XAn)!AQ7x;$JaprFW*0n9ZDc{?Ww^3vddggg-`V!@1=#n_7o2_{^oAEnO zxxkqDWcIGs&&1X@i*jQfhl zxH7SeOuBE-sc|8mZ z)m6yFa+fWP_NnzPZ2>%!TqX9tNjOi|ubCJ&Yt16(t!6xkGtF`n_=a7?fmt$mhHq@u zFETx%M{M$@<5}}chrMwUYxAC@RW{e9Z2ZEkmsd>@*vTSiHA$QvhPg)99kZ4KpgPEJ zymMM8+~#vSqD3(6$6VJiHE`X3ojG+>^~P&;1=L*Ho3BiY2X`As6`KX>Ou%QU^sdiN zfmi}5O32a|ZpfQWiJ~C5<2Bq`*~4(4s?Kzn(+Wo8uMz@T@PN3Cv6G? zMT~>f6-s>yFh1@puUI8f%~hJ%xH;=w%53WPZ1bDlCK!RnGh803?QSxhiuMcJHaP%S zpKBU(G82kQTA5UjQ_1f2C(mA$m@Z6>&o!s2>FpC7jAPQdjpirX#TBQUGb)w3Y5B^Ea`s>?xi8FGQj&+q3Qns4k3j=Fl74TzLK}H(xFkg zmyb+Tl1rze5gG;}wN!(ZEzb#$!Z5%#h=BYl<4CuUfPiD#y%$xUO{BsVaqV79t6yIN zPnbv2o1~FyU5$wBAs>4K9A5 zM@sC3ZK==Ac4}$2V1SL@t!lCPmc;v3RidIez~;Icp;;}M0ouA7x-d&q!!;$u>d-&R3F<(v6BMk^doOVHa6j8?5&k~Qb$G-n(Nc^Re-22EA;6GEOBifQND6yP#4CsUmzUa>J(-#7`?bG6Cu{OwL9JYH8`#mniwV z6UUx%PHHubazMd3A76S^#?syC%F0*eG>3QGWu$UPyK&BW>(Et_3u7a(6`MT5Hu-bE z9SP%#k{iw75=T7K-%>fOM}U$8fI5zNr*k33c3akyVU&!NYE6AF!PM`;Qkd|qLYTlvF+4%^%bJm zV=1R{Q$LnbLBW1LW6#smH9JKd(V)pz3_ET)JadodRh2kHjHu)BJZIXci*DcvWjz63 zLDSccXh_Vs>m96TViJ1yz|T@oIHy|`4fd1C7&#!GF@gA;)DJTfQa0qaGuNgv3FtFX zSS`r9k>oA3k&N``Kcz|!L!xQC#6E5@!BLE#bMKnMx4V?g^03N~894b=^amrU%~_1c zE4VGZ938zvfOy9Md)39avqfy+33G%b{KWO^^rx`PwsWnLnOKtU0mgDh2SNV;)~>R` z^UjE6fOZ3n_wV>u4Ix}g%FYM`bo3opk9yp(iKEQ$M~7?zN%S1&9WhzTDCvZnI$*Qz z$-(W%Pi*?t=yI+DIU%^)?s&kiX>SZyC64JFE(B}H89j08eQRFUWm6l-+az@(ZhP~b zeihE+rOx_wJDqL2Dxg(d9suq5R?G}?H>e}0Jd6)abH#FzO53r}`u6A3-naDMF=a*# zw{9DrLtyiajD2esk4lWLj;TNaHscDbmtomK?GwQ=Zy60^sJj} zfpKdbjxixZ8F?TMqa2--+I+K;NF?sT z~nXx@}@}?OWqbvlhQ9OZOGz{sBaYN6TU;?J8vrX31`h`WlZ^Y;huJj?d4n0*5^z{VMnZx2 zfH)ZftwXCg=T&Nx)1i@gEi>dmqBfKebI&KKIO&?jyHRgoi!5P=KnFSL>*-o|?<|hq zSYI%FpsrMm@(IuBS#nCxZex}|-bIyea-^Q-wS;xh^6_;o6T|*7__TOS;ohZmBm!wv z#~Ww++yE=`O4~|~SsG~$WR;6C&vJ5qTKjYM!SO@SbEWt?!{v%0=FN`ebR2uv#Bs|! zZo4v0M^JHJpyU)BDJj0E#b$LBr_0#uH2oDF!j84+nofs2Bn3G z_XqjcsOdU_t;&`o1b{iseeMRVlDYF3nsI5^?lg-j(lE@OE4I_*Xq`def+`IX_S)u9 z7yvpSt#;9Aw$sb|l^rw1do=Nh=_BVcI9XlT_8$gn`z@3?=m4$n5o*aju}#_HyqiwC zlTTfTjB)g+H9d5^Y`eM)``6FrX(>A&OOoi5k<4o_iEat#NvQ3h5k>&&YJ+NM(iWKW z)~ijc#0kSqTeaH&bj2%M2I;pT$5_?^M~nGUs#QLy?OrtS7`2ybk6o0 z$kB#QFKboP*ESlAuhgu7}fhz938m-GD1*J#r~9H*sGr zN8>$*CAqB#d~^d3m=RklerG(YpHjzv47koJXGrAfUp!g(`Vq7<-D)k0c6P5Xy?cRh6%PRBx~q>6L3F1Nk@c)X(XldQ9M)B!-ov9^EymmG zvqA#1V-)xCEQ&;AoL42PUL;$X9AdefZBRVKoW^TO**2;q?5_@u6I&p zoDg{=5nT1ory3mR6$BchKg!3GTFsM68r__pxu%Q|2NmXbb|yDC^{;WgG021*de;G| zTB9*#;<)QV`knNrWO@1)gyOnABT#sp0CCM_T)+^O^s9Cjz>rk;u2`!xM`n+qd?&BV z8z5&O@GI#r3+vKdI;n4zV0}$|RixgvtE!WZgYd7X`~z?%5fFGduR@hW&%{wnQ|kRK znn;x6t~srV?>@>lspNk;%Fym1hSdv^k}xR0D>)4r&M8!vLp(JG-!s_hbge{ONEMGi z*1ZzS(kT#SM>XSmC^1czI3U-qX_rJss(M!(;BQuX*qZB3R0OXExqF);Wch`6rbUoo z@@p#U&^AhrDkGtfGdPB_?z~e`wHqUwSs6&@sl{zvLdZ_uwH><$J7yUA*0*-hiE_Op zSBJ;`A<{@Q#%4j+9dTWziSbg$QDGd%%3;PEiskMs;bbHLL9SL`4Z|#kNJi6?#%m%oq^`EWR&9s;;%nB zthvD))}GMG($udkr;$|JW9y1+&5YFsmy^vkTT@S9tXXM~tu)Kr8luwEM49hhwCWtS zBW)3M%0(i|cYSJynlqnTSY_QH7{*Agy`eCP-e@-OD~3GtUeBWG?8R}@ir_pcW+cJK z>0bTe{Woz;4h}1m5nEHY4MA>cX?jUz99LHsn}9KsT@IV34S)r$^wW4BEqQe+v)QFZ zTT_K?KZ>J0h5`9&(%Vksfmze(oPFBC&Gcs6i?QUFc40{bU{@Kb*(0IAuWY>2enXL5 z9;>Auc&b$yl&ReL)5I1^H*t=&;`*ubByVG1LwKgfR7We2Mr-B|7Try3@@`X%n%)(x zaaE=^4Pg-NCj?f^8q9dZk&5~H>%?)zbYtI-(yv?igpfXdE1^#3FSNGDz5f7eL!Z6Y zs>!KG&JB4K8s_`}-D>dFS^n!(%0{Y9oy7WxIp(mYyHey6(y-e5an5R++!B3iT+vMb z()g-x7EKE6f*=5_H}RID8yoOFjb|jW$ez`ic^dK**U{9YZH(zxzr=K~_||cN@{#z~ zgkCvO_vFvxUKy&~Np23_FpZ@mNXNwv+fzs$}tmb0G!zKBl;hQ^YomN%J#a zA2*0(L?E^Ru6|u+_T=I`;P*93oz8A~CVG~m;y9Ne5CE{{Xd2lI<6u&+@G2x|#m($|~(*Zn~QO zVkyZWVxw!w(~xp~t07g}<~b&@!(5R%9Hxt&oR}|^sW*^$u-&Qm_R`9Ttl25Yqn9)=9AQk*q@fGvYu+d zz#Mg`8LOURC(~PH!1~v%SU%|0x?;R?-S$pCwd(pryX}WO*O82dw>^BiT@HdXpT?zQ zwDtUInjWBj6=iv^JoXmE$octASWdN4u0&Nv1p_ANGAKiXO;pM2Qf>KY0#zTSHv)y{ ztw=yV^Z^Ax$ZE?C!xawS;-Hxk=WQy3&ov-Gd89mbtyEuACV_HJ4{9-V;=OI&NJGjP*i;U)otJ1 zrjahCh}KX^1mM-K-#1ZIqx+|D>z=wNiP+7Sm2Bd3>Eds?N+4o zV<2FS`5Eimu6t0Kl9y6b_KXr600K|H9Ane+t2S3oKt}^>C_gd52d_1hZaB^|jerht zcasfOB<0PLz zGx}FeWjiEd5>&Ct`9=pPHIpfWVOH8Rk?eE)>dllMTx%nRl0nbPdy#{To+~FOV^tKj zG_9DVjpoP;@^}CM4?$M#V`z}cbs?8vKXhY~dt)SGu_Td_QGvA-5^;~4&}8#gt+FG2 zSr9JJcVzR_k8$d0L3cK{W2=hjBPc9LI3B-O`H9z$`UIp%)V0) ze(**iIPO~@pMENxDuqPZDsBU3V{Bv`k-=hk=y=FA<(hreV;3th zBq$rZxNj~YrHNMJ(^z!C{L9kb4RRJGLU_P**y>MC2#(x@#UMhZH! z0&|4~fsBj~ab3-Xu^R`K9yXH-W6FUbAU05vdN+J2!Nqwznw0R&Bwk-=Il(QnIXqyI zjGk*^!&tc>$85_fjl*ppDcVTL18^q;Cmyup*ut!R+oRQE4lR$_0c0Z>0AwR|+y+1Z z@yF>}9v;=TDD$MrZ0`cEmOx-ifIe1SjDe0Y4?|qlhlnkfE1P*Ou@u89TY{yCQ<8@x zJ$?F`b++hamO*cJBbXrNfD5#3Y!Z8dzQkbgYe=rA4O#t`de(}vO!C>xk^%ryuECBJ zcE%4Jj{H?5xso$Au#?YNi72_tM4h)-xrk!(%_^73lgOgKqTMQb*1g2cfS*78{fX99MQ5A1K<#i;l~c^k>L+!^FA; z@DnMTB;%gA{4Y#8i2*RM|- z8Ld(C^|11bRybWzeXg{aNCejoBIXuXpiQk1n4R2?kJPSIb)TuV-~5<0x`! zy_%`H)j~=OLrVKshC~1yHE~zkoUxO(On`lBnY`B&xl-68J!=kKQ3?Cpdm8cal-zVZ z94wR7okW`5z|S>R_1lKe&0KqGC|et;KGhj)?(1JUR#Lg`(n#NvTbTDX0MzcAp*+?= zxr4c>1?(s~=D4}0&ZXpTCFRro)7Pz7OUsla=B{XJu%P?mqHSg!nBQ8(O2oGvjVKPtBcEEzwPv1$(z`wWFBQWgjm^OKsv3s76GTc7E64QRL38D~>F-)McPQCF z=by^6Rj#!(_m+m_+QJDATRHZv-78T?`LaERYsIc^WR7jQ$gOQBQzyRC65tD9q? zb6EEnuZzy17;tOpZ-<)7MQ)j4mG`fV;g&!Ii21I|M)925UC+Q1z8*KK90?N!Ome50fI!aYXvJ&Xtko@?LjZXuS{92_1y)J~1gA8pm1 zzop*!y>eu9gD8_O8zQ{{YOl45S>_H0ZS=qfs<#M|BO^+B)>9 z8&2LcA8PZMZ%w_(4oZ@9p4IA_ME?M2gl-_xoLovy`<&g;n&0Fjr>#w5=;M)s25VPW zw*^VZBDv^pBaKLI2;=ghyTn~=MX19Y627%xPSO@e+{=trDeoha;0)vgUCxmL$rvNO zHK9su%Q|?s1gPZTRdF0+?+klaQ+m52108FQ)~;3vnYv(O@vWk{j!D?czk7BiRAU@| z70KP{5MGm&>+M;y>nkMUHYX(FyGs_B4+AGvO^tXGbx(AcN^#^Sx>&0{{54BgG-zso8 z6uqW`bZl^UF|y|sfisk9?C+o;8sqMx!yMH6Luk>^rt*$Xdea2CY-a|k&c#o)R*qaY zGhT)scRajBD?6IaD9>7!$%9=W^&+xNss;yoyQHvd=#+Yj)y!03q4e*9?R?1N80(JJ z^sk2O0oZX~5#TsC#Sq6_SJb{6v;k8q(-py5dY+vKSnKR87hpK8xU5GQ6{TTle6huB zM`y)wIUUIy(Xd=qN$fiOwcItPItr;JrUy#Tn7bZjd8UF76~yYAUf_7mdu7F*LE^bB zLr%()R2)$@!!OIAhF4j*w%|f3C8IB z@9~&>d%{fPe;@IQj!poou}5j z3vF3hMjs&8&)#u~vJNYt()Fn!Az0*9!lT)l@}BP=pv~VkU|oY=e`BgFst9V^itH7w zRf6aL)BMm~NW=gw#aFo1kx-U6C$(``x}b;>8>Mq{YE#O@0&!nX>Z{oE`E=0T)h@-s zD!k{DT(!aS^N(7%lDiCnfIFJUy}1FlD`(cQlD_4_Ph?Vf+CpAdB>t3wbc64aQ8mxY zv3WkVP2-We^N#ejMyXu3+JiA79zMNk(WH`$l1_bUt-Y(W?Nuyu+PjS}!&;T%1~HXi zfAFh=ZILx&mNv{+p0yk{dz%|_YuGgZ0EhQeFYi#2Yp~M(8Oj)LPQKODuDHm zk80UZ1<8#0eAm%uOS6q|7dWU|$~~mx0DD!sX%wT>`Svdb6UdL6rG4RPEn_Sb2EKt2 zMIUSm$<*S4NSH7gsZdNLkBhuTX)F#_L0m~vI@i2-<4=zcK=tWfAm~9Lj1X(e#Z$8# zIW|^=?d#gDsmQ2ycd5|bO2Z_K)??p{ z^u==%OK}?GbyG7;z@5}iMv;AvhHXJ#8Yv4 z^ccq@6%iS!J?WL3T3C*4ZbUM!8_?II_;zJ@!sn1H&4|TyULU#g^R#nTcv14ym2u#a?M_pXOvgE=XB{b& zO1PAME3b;To$j=3hC#xQ-~m{oa~E7Pq# z)w9=%lyZ6Itj0{w3G#uA{b`{}bnVimec{66gG%594c@HFQnNRh_->s~y;fNBi z^fhbckdzz|%|OWDmN+z#Ns-(}OMHiuQbnDE%>#}){{UJ*SD*(x)M~r3LX3OnrsUkR zaIB<&N&22CrW`18a(~)Br`U5)3yl8mGC1qO2Lh}lk+2HD0y=Zvnk9~jo;3nrlmbRT zz{MnwB!eh-t}%m=z&(e0m(GlVk)Fc`ocdHtxd+PMaPi--Oy|;$ZEj~JZ3%pt6nyKv zwm$LXf$h?yPcm{HK>0E|U}v>J>|FVANwt9;dG{dZr$-3CC}Lf+l_wl@&S)+%Rwss0 z6BPlAs)3$>{yYk^Y>Lhi+pb7(a!45a$EPIptfm{-AN6~Q_c$F$9XZDpsXRpn&v!$a=elN1A^VN%~vV6HS{%JR75c=WX7QU*}(dq=Zc04<19i* zh}h~%s)LdSIVbU~`IYBU`@l&#U8e&BpeOm$A`&7r7&!gmc3v@o+db-3dzUJkSm-To zne7tSBq36)#lCKs2kLs(y^NFFV?4z8C5h!ifs-#0Z*Z9M%81Dzq{vb6qZxIgSmpH=8Tr zyxvMMP(e5u!6abgjMp`5YZ^J74?B4P=aGzq?T$rgX>$e+%-b9T7-i)$NjclkBfVUR zr+esn0^HkQ>Djb}jOeO^~gPWKDE+ln(c+kT*J7-CATXX!B;_+VyCfO5_spgdgp1qk5Nxc zv(p^~X_IE{IR(QO`A!C#wLWDOC0AaXi9gSq%Tu=6pQ9Sfb*5RLrv5!Ac!$hGknb% zkYT{cBrxlMKT7K@FLcS(!L?|mx=^ahOCq=!8CE=kJ6DS7VQ>7R(<9GqhS_k$JH&Dh z-lu?Zj=cqUx@5a-+w8eVh;1u291_2Dt`7l#z!}f2X=`k8PEi2xKo7tBM}2Axs>10K zIiOwGRxi5;oDP6w1Nu|N`(E4qqI5)xO!QC-Z8+V6a!(xB8wC60hT(^kDPgsFAq#xJ zF&q(*(zWdMeH~}z zT-uD|CcMYRmL(Xv4m#EfOwCl+Qm2P>Sk^R>G7oz6xb$0DEpmynO7Z<0TsAMVPrK8a z^!+bihEfo)!ReD$s?8kr@bQ+mJhR8z7Hs7kH+Ajb*1j6?mX_?&z(z5i)%ts`+ChD4 z`2&!B!LNw^DtK+}e9Mby_{q=Gz5E6xwW;Fb;~2D&@JEQOrHPLRuTfkC@?FE0S!><3 z+j!i)u}}!FD%CX2vTRNTJYsvAQjW(Q`kmSgu+2gJyK&qa;#uMU0G5D(?_9EJ>mD}~lj~DSrlNqSoceQH#-imiak;+-i`C`KkI16u#BjIF zuhO|OrU<4393N`g`vUC%AtTsUeCew+TD|lw+jylCK=~kp_*X!_CG&t`&PT0qvuUyk z0Z7i@rB2pYDn`^IvQkNEjS`%;X5H4aE6I>Kr|Ej3ONB1vb6D|cI)%)Ow{RURr?Bvw zhYv3VS30J-u5?MtD$Mm8Ek*~03NXjksy?EI`4pT2YYJN>w1kMs2kU`cyWC2bDhqDr zw63DV2_~Co*nSZ40@=kFQ-v7sU9Pj^DBV&hp9QPt4F=-zZ9_!nvphww>e_ON)Omqx z)1?TwXmMg|K5NMzYj{6hOG~I+K2fk+n);I4#nz)wM@c|pJ!|qC!@n4Q&dRqc$Uy*e zUhAd&Vzs=1QD!061FkEoo*qqJF6R|W@xG}0l=#K%uTZp^$rw5BUqN_xTZ;b0B$cvA z9Z$7>S;z4v8-_*`@`pU0r|VwF;ZKclz$3SkaG+pyr8*LNNeN9Qc%O9Y*HEq`UNC)Y zrtp@&UBVX1oC9AT-h5NDySGm!aQVl2>-;0}0tl|)Qzkc)!kipe z6XH}yjHn%Qe=2>xpu%I%70&D0p4Y>BiYdjZB#a%W7S3+NM2hb8NsR5UQn9c|t-@m% z>0WK&yRvRtUfDJ3iEzG2+0fTTS9TuB!aAG>i0+=wH!5&ONUt-4#j(pNwzzB@;1X-F z@wL%doP+CMB+1|Ugdv6wYs1X2Hs52@!&c_obL9xEiV~zzEr#H5E7iPB z;gMl?`={=IUKV#l?7o92tBr0pvbuB-x7ZvAPg{wrwD6ZT*&OA&sB54b9YjeYc&D3Kc z?*+!)41Z6&bnRrK}!+VSaI(MCIp;*rpqmTid{#X$D`@m(jDxan2p zjBPwrl-bBnYmj)&b9dI6L&bOVMlyKmT;8D=R6JFpS@VyKZ9qrk*1jzGnG&VEryTQN zb$G%e(Kz(Yd{^;4*tN9E2Rzo6F_HO=@fc?Kk3(Ki-*i{B{7JBLcusngUQBf9Tc<

2f9Ua-l=xb_PfaMXezSYdlbXehYk6Mp1&PzGXNeo9I0g`D=+?dA1_S}KH zy>$9*l$Y`dqFySVpQ2pc9H1t>Q^FcdP)>qzj2`u+IN8~qH0U|S$~_Lh!CnA{Qm)Zu zjt?TfhSPi#r`kXZC?tDUKZjZvRYZ6Liu4tqDS&fc#VRQrjL5grY+-T&V;tcczgk zAZMJ{)1E4}+Z&K8=d1gVF5sgKb6nV%rDn{j#kTBn#>X6xMNMyRih1c;=0uSO(VEYg zl+HSuWOQ_}QN5&~D6Aw!*}CoWHP zs}++h0FhNvB{E@-NUpZxHI5=W@m!d1^q@Otx2sE(#Y*nxi&&W>1Ps71z0V)GwB&mJ@kXDIT?6n5Sz4=~!2V(X|?u zdLF%}&E~?VIjyKzR|%nBWfejC*J*6~uzOd}RE?dFrKM8wO&V!}YT9QtQa`(oO0bXZbh zH58H#3NJ(HjGokxC}M@i924B&WOIzr<6;qFG=PHb%OT~MdU|vn`qY-n4bljJ0zz4{ zl5zk8Y4#PL3M@>pNy|&X86bSUdglPvrL3Thh=n%s(;dhM@x>;rIJ@Xw!g$bg^O>+s*(#m%kX=zuh@G?SeQI*&=Zq?ICxG_l~(3AaX$DW1tk^5EnT+fjFq@ zbR}eTx>T@m5nckEoPYyt%HV_4VDM{hz@d_P;W!6x01P%c$n^&}&$V)HqGc{zqeMVf z1RgjzIrTgdS1j+YEn*NT2v_CUcnV14o}^?D4O>?;Q+u9^qg~53cVq_&$`}=;M+1T``S*~Wzq1MXw*ho|4pCNXWklcbZjtC>Ts4Q%)SVZvb-{K^V}i1w!Ci;t z87CwXG0*E+N;(~s>a_Gd3R{zHY>+&1$LA>6z=uUE#sZLV0QbdiLwV)NEsR$I!)1Vv z1~ABQLX{;!$-x<}MmQYuAwy-1xAP^fI9AKWc%%zlflZ!cR z{K%vRHaQ+zg&9+{la1LRlg|~^!3~X-u#N$NZ-|mSoC3fMbJPs+n$ceRBgm;&n|5yA zOK%Oj@5FLWq_+oeILRm2^s8D~mfGFjcB;XGch~LNvd#HY~Zg|MRUE8^Y_J{6eo%` z*gQX`zxpk=GGq9ho`>mO=YV`DA%-ofj-9LL{{RTG-*~>}-Hzs2i06`Ud)MeEgFHUJ zV@3n8?O%U@!>ChHM~zmpwa6^=;R*qcmD1RwAq)>nw|Qi3K?HQF7INZ14@}pf;Bd~h z*2ku3m&P;*$Bvagw;EkUc+P7E#9?=X&04v<#AOMr{hir^k>vWFv9_Ix@H0^9`m~V9 z2yTY9b%zo$#cFFV(WY*_Ij%#-`ZQXdoTC{88sTHqp3-%F z#9-HIy3BX>C0ONv#d>&Gr!qV&WhSR?hv&bI^e5AGIYTZ6Ngjk(i0d;57_^5NueN?F zX>rRLmNf;&e=7Lf#TGD5LIZ=yKU(aqH7E-W%(OULYo(S}B=CAwiD8aKV~kZxZ6RZv zC>$Sp*_O$CvZo-Adhw)>L0vP9x^;vVVh1&w_Jk*BIji@UitfyMk9wmLM<319it{SR zTONfuHiA(hTq^NdQmw-ilZ8BST?<^p<$S!6S<;5P;RXrfvYQ7Jl(~sP`G!fYZ9h+z za)|=un&@Hhyt1f~#!Y$`g!Cm_$WfOAAXhiEY3g=S!Mc&UIctB1`o5qLq8@##sj~P% zsYuGsha=Qi-o6O%HH_AfyGEqob+1Z)1z1}g?NBkEg1s0f`W({3#XVX1%MZb;h9Tuc zf$du{d>;>j(RAmfeam&G>9*vl1COP1@=IYED5woutd{6&2h6lb$9F#pVTT2x!5-C} z{{RSFYQix9IO904sn8wx5!dHmCI4zQ>K)m1!RvYUk+PYF5)spSDq_)M+2I6 zudU>=?&7&v@0#Vdvt*j$_O@m-w7L$zB0y1Bn)8iDIiZsvV+S?s5yX-%4<@iRoghgG zWL%!L*y86C&3@#pW_U-$>l=$po`;MRUW=$&Lw{&OfJ1UC=Ua&7vAgqtAcJ2)_!i-{ zi$NTRB?dn#>C5Ui`6OYBisiZCdd8PNoql5rg(o0lty)brx`!MZ_P-hUZA1p(CQ5VC zyh`zs0qN~uRSI0InH~?cyRl+l5laxmF$8|N!5Oe|&3<5L9y7d>L~z{XWE1{1^nRJ+8@qcXmQX+-9QCeA z(27TFYR+;|wx`>Aey;`1!Bk*D1oi3ZSUUXbWZEAD=dE}@g?wt0UJOZ$rz1V_S3FhX z$AyHE$)369xad*lsFBl%Zk!uEYr;B)>E0O*2xEiz*RWg9h|i(^b@89W?-?cS%Q1d; z5%s~ZsOVz#~2D;Gr=R zmIs>pGvOWd#^xlEu#89N+Kg5mP7O0kRe2rJ_716{rlV*0-{~?GY{m@Nw&3o?~d*N6^!oXz>fZCxCX>8-J#7RhNqO zJC`64j+#pit^oCNpemX7&Y|8?UZZ|SBmrfXGl<_fyHe` zI@rp-u|9VG%#bltzy`a|1L?(e0D9nx%GDt@_l%3cJlAF5KuzEzbt1huM?=e#*2mXA z3AQLB9+mX}0EX9UCTr(E2C9Wa^sl2d7aLR$YV#{2)}yLDZoq*U6|)qBIj(BPU)>7O z65_bpIwP^S=L)YRpp1i5R!#>r)|1~9Bmzv`Yn;>%$ZK9%2R`+OeB)uoTts;9ilYv% z_}9pP5NtfirCetq*VsNIV9LbT&0aErWmf=o1Xijha@hRK_=lo1U7QXuUlg9gRrdiPw#V@w2=j1ae-6E z8t)k7*U&56;7uYlj3=LsiE{2 zhx{jOmSOe`V?8UK)?Ov~?&ZkdJyZ|x!SCM$Y{{W?K2fcb3g%uiUqo*Xq zzIPss^$!bPNpP{8p4IGjaWRY&#(5RsJ_x;yVT`#M7_W7*)S+}3HKrL|CTCq*O<37j z&N|Z?G08PF5~H_Vigc-6Q&up(rDTi&$9ft)z;XFh%DrkwQ^!ipA>6>8FHu>{p?cQ* z@$u?w26ZY(sFZXn`jN%=sk(xXA&4B+yGY9nnr-+VSrwd7M~--k6_zJn_43b&tzO#o zk3CI&bE?JW2M4ce`NPKcp=B}!*4AjYk+=0{1W zLRCqw8Npe`J!`kRyID}T}VzHaKv5i7E(Ldfp)M=c*uYG%E}MXI)d-2tn*{CT$| zb*Yn08r<>_3tkb9_1DE25rbU3APc;=t#zv?NcpY``x8coNSC>!kS)VP+n{as)5CHZyAkTVSahz6(io_=%^U|1hdS?|o zE=5M!TnceyG$%P29104lZN{1o-jr_KM>S-)p`>-@s8V>rD-nR} zfsMrf09tNRA`G18JQK&$nh?pnlg{3_r!tqzfDS)8()|f>85+EdFu)VQ$UJ|MS}Qcs zkDQP;J-T%52`)ce%(nZ|n9yRn`Eiy{fslBb~S z^5^gvH0TY|q-!B43CkV{&UhFDq5UbaEOIg58j=9c0qQG zOLJK*2immKCA)EdIAZl zBblx@37MC3fTc11tO7E`^T9b4n-nnIl$9535)xOARmmjh9Ds4&we;&-g5hou6_hfD z+Cbwx9P$P_RHtNA9oDA(j4@fExsA7-$aZ9v3=hgd1GvU()NHj_W+FBwNsuUPazG;^ zIOsdqn^;HXTg^05F^(o9XyAe{0AE0Hk9z5Bg|V0gJ8lZ+&Dn;+Fa$Rnalin2RPv)} z)oVm_@#<60E5Tv_kqbn`a1fA6<$b{bm zUZlsAJB*INf>d+>f!O02?OkhLTRh6}?aIbTU`cfkfTRwXBi6B#>~=zSO6NxQk(46Z zR@x4CDdmVcBRS(FV-=%g2#^GkHZ)muWl~fO_UJNlNfpa!w-0r2h>XG#T}qSyWRReM zIl()QYq5>IvTfRRGQt32FgQI4QJiNLE}gbCSi9~_w?g1aZ4z*R9DqU3UU9|_KRUT> zsH8S&XfPxSWO!xTT!tqgfN*e5JJ%<5EDWv|c7$ysAoLl@I6qFNv~;$6>!i7pWN`ut z$Wy2!D<(bJdy`)+*h7>dg4o)Dq6HG#PCz z6of=#Sn^qj1bR>G$W%00^4-4H$rwy?Fg1<-0a(}5o zPN&BA^71}bSjCQ;gf>U!pTn(vPsGhe9OMg@{&o8K@ZvbGw7A@INEP^B@ZRyG_&1%rC+~;)} z2qz}FSsbxHTH4en4U?MX+F)4by!=G^9*!OsDC$2b3~H{QsXP)CCxccs2FzV+m`B9K z`d0WV+F0kzD6JV+#>n#7%FELkuZH|zC)l+YM;Hg1`|DDTZnWkMGl5?ed{@yzP4rsPe|M z1Mghei0tFg_wuTic9zWh8{uDze%ok~lb28jTK8M&C7ReuroI;VPpn5}dXY-_3~TMX zO;*lLJQiWduX6_;cwFou)T&KU{FJ!{RiUlF8R zjAU`?SiC#FqFI8qqH5gvF)3+Zk=D4)LteMFE#)>bTpqRJ$rO;TaDD5|uJzfjWFc6P zeQP?Lu`*R>Cw6*u{{V_!MJgLL=9<2zESWhuHC7vzWAk!))jP)oSDjX?*x2W;nVgKA z&Mmywwl0RI3w>;4xLYkDo1U}pzD_0~(Ii^vJv&+Ak)O*{KHQ;tx% z1%Uj0Yoe708L1oHTltW)H%*q@&s4F zUOs;>Sh&I9oY&Gw;0 z*KU%cgI`g2PVhaV`G=2s`71(lW*O_6`VYgJkCPIncs2H1J6qk<@pCBap||3Qp_V{b z7|nFv2GSPd2MRa`JbQ}s{Yl<=M$$+%?q3HWGDULojD=-hdS?WaUbR%Uk>}Hsx+jA~ z@?5kfg91M+^IuN*e@T*U1|@Jw3OTPFy12HozjY(282m^T^-qEzhT}_E@xfgFmBEOl zxiso@P_N5fH_-CvZRXPM z32XZ<)JWL{vOPyN_wU2c6Z!gdd2E0H>t9cgqN-ClE&3ujG zJFwHfPavB5YsMGCYbQC*IsX6}`4_}@Buv41B;ve!akhuKCw7cjRNUPNz3bk56FJl5 ziLrnPuN(0Fqp=dUa(S;%)8%NHK=rGvts4=0v-AtV`pj20@V;_L0R3xs##RRA#m?T@ z{Hw%%6W%_O5pN)Jmip=%-=Ntz=B#lg)Heh@|e10r6#^ zw!Q=|0j*yHzAnQ1)4Y11NE~)GkKpT#m!N08cT##DO-E*Zui-hsMCa1I_dvNDSDN`} z!q@v127N2&4-a3i)fwwvb!h5(w56f$wpRc|Iq6s9pC>u4GREu}#!oe*msQB(b*+x0 z&j$e1PjET|Sbu6bs9x)@G`T?3n&z;z3z4vbY62U%vkUHQ_N!3cl*Z0$=;^i1sl=fxY;9b|6bua0w7Z41xmP^o z)?}BGxXI?T#IiGtbXu9lYPYPR{R|n#I^KmIEFf&yAF0;#T#!XGF z+bkpZhbFhh)|BDoURel2s_u2Z3`r!3O6I+`*4E}YRlp;?c)x+~po{=}SG?J4Hm?vv zk4|f|0Yx|`eMOAMPBmOoC$ZGt)=jdKD`e}CJ~G0wWVMduZifdxm76A)a1SFQyDcTq z%{o;zy^hT_IEc>S`O;0R!lMPNi#AsXF@u`MypHKxs|;2%t8LM&Fo~@ucdx9(PYuOo z&sGAo5&wEqAVMr@+Smt^{)%@x+9W7&(ggl#WBgj9c#;cPLl2*^b}(1w+&IlLWP~v zJeooyVms8avg4X<%8>r`P%#aWUP;oRZa@&$-K32H1$$R3Zz&8ritDUx+TljglS`8N zqg*|HSIZ-$x735jwa#jc^8+9`todM`*pLALRZ}xI0pN;>zKq$yUzu!rUx#JODbHHz zwUy1TPc^{!ZhxE%_pe0M7k!>_&MQdjj3o6uV4p7V@JQkn0w{SIjzBI^Aowzs1eI;4{T>Oq*D!?OHvqa<0Tp z){Ul~fU(9ZYU9RI(&ttdq3JeK z?*IeMbTPi*1#tRw=Z<>UTWa~i>}$lS6Wygdn(4DV)#!lFt!ASWk6ODC0c#Vk47C3M zbYrirJqy%%&)lhL8VIBjj8mKg#VXXQoOPvp2&Ncr%T()1$&LW1z}k4G7bU111<9v@ z$@HaVQ`As0sQ}X|+MvfZ6GM}c(uBZ|1J;wvK9v2A22V$fRD}w59dV+JtI{{FMgvFy~ zIRK8}WcA1R)rGclTgz1^0AS-d@0tlM#dABz7AU}og4+rE#Nd*BFaCvhXDK_qwMrFoy5D7uSa5hPB>gTVxG)6|}ou@g%Q8!eFSEMp{q zGk|+~WMa5m8~G)T6~Qr*1_%IT3Oa64R@+C6 zw*+CX^XyUaC zk{sjKu{`c_YHd>PFvMgEF`93SzUB&T5SFY#1Dq zQBQO?aa6YwdFfoIQb%*)eMHANNgEh7?pFGYGurGek_Q#?+!t?aAayvwuT=2fp)J!W z&Oxq8u)pdIVvxit2-nQlO@Pw>X5REU|Y z(!fuX+-GiK2-l>i)b#CNSe{u43~+0Sy11HFD$S5s1WPxQx;>?if7{ zamcu$h;QEQQ;}Uxoor;l$4ckztjlDkDL;+#XrF3S{N~+1y zsoUGLfK+4}>a?p|;Q-**xrTw~S8CQPSm}Gok8cLEZ}eje7TbajN8w(jr)k?*U~`(6 zUD6alT&@j!QKXtj%+9|o+B}*}D#%b6*jBL6d&0?mvpY!SO4yTFV0V&MV^o z03DY%!N}?etTD5G&c@Utok*T{E9CXfM;|2Tnjdi|ik8+OPdx>Egx|b-@j6Wg7kSf; z_3XNIQ%0$Z^G^-L8e~6>drgRs%0b5%udc~u%N1kA$L?*}>2ux2CfkwLz0<+g(&*Y$ zWDTW(VmcC7^*@Dj{uZ;2coHxHB!T&w`U2}fwtX}JcFT@`E(LuaCZu^1?s-&V)UJH- z;%^eS_Kmf<`DA$k_rT}**WDip?-KV&fNtcd9Q)V7z9R6<*B&BB&&*Q*A6#=^Zu}#$ zn#RHiq|Q}A{VFQ2-IzK4^5=Qua*$fgayZBzfUnMviTBRtc7*LQDL#iJ^Ivm(Nz|o^ z)#D9}+Ec{o)4qdu=2PWV*W!1!at#yf?E?}i7heb4Z_ z#K*`~SI9W8&1<=t3>R=FXjHkVFEHYUu1& ze1bf8#bKcq9Y(*Vxu0%(XG~$jy9v z;KUG15$*`DvGgzA*+kuPqP&de)>b<35o$-x9}_Ho$$qyO;j*Xsit-8N8%=#N@pn$& zr^zrJr_GX48^AM+)$b8qnPffru3pkp9IA7i8tbEEa8zASt9&!5jfg{Z#e1)Z zwSb{U?@IXx!cJt|wvyaR(?ajoij2byt2wqfh~r~$rgXFco0HT_H#ahmA${ZNhPIP|X**7Z`w zhIp=uaO%vPIjv%GEXUl|A0On>T-^Dx6Vzs^nMc;TVqnQ9`@L~k7YA|8Y_o$UTi@3!$b16`J*RW~j zMgTaj`~!Z?6PT-4XQOEP!HvLk!LLBKzqOf1%mFpx3ht5urx~p)eNI@EZY2FH*QZ;# z<dyORvX4sVwHabSdR76~p9BtTmeloW9N={|l&Y?U zJKD!ow>JJ;QG&hNcg<0>Z`7~yHPBbU@53ocYv zJH!u8wY_;J{Iz5^BD|K4rTAKKj-t21+n9_?>W;ft z)8Z+;SDN#QqS+}RSE%Y!D?`sY73Z?V9#;HmV_=l*dRPYKMcmTRrP(-K@=q1(PF7nY zNB3*RY>Pp32ul$tQpfbJ4yQu&k}4 zBAks|cL0OwTkuJdj=8Q<*~xKTEvoU&Dtl;L-N_sm%8^{gr)lZet#!q4I@VR1?b<0x#|E}am?ms+1vdI2aGSu~MPW((lcKzD?<1UvK;-qS zeqco6pg$tuj%bQ9=bE`)XpGWLU5{6ln`-3Js+Gil0iJ7!wfP?%Ij)wOu42g{c1&Bqt`U9G{>$;JXB#recEz^>zZ

$)V4ia9bFp7KDs}T_@Q2&MIZH z2dJj&F*qZV7UvmmDZW#d=t!>Vbfs~^im?`s0}KturPpKjDD&}cCI%9$C5*4hj}_@w z`WmnshfiwSgTvABwK~+iOp#w!@;r_$CUQ7a{(l;_z8t)eW+csfjh}`$k%Z&vU44gy zP`KQ@{VE1ShI+Ga~$4t~uYnI%^5G(d3-{ALxFPuwzqFcP3 zGEficPnY&|_*HtJz0o5~^YUaKeulSMg6wh60N+#b!EOA^#z#Fm_VlTdB#Q@>Zk!(7 zF<-6`{>h&RWtHSMG63C#t%dq?QOo-ud?Ao*@-7tTsFePdYcPjqL(62lekbJ2Q}TA; zfAy%2;!cc78T>t~^|sUYI`}ksk znm@E5*^B!+UD5e7YjK#GIrwBb`kzD3Znd#uw|4{0h6a?T4i`DeI2;Q7Szm$w00{KR z)gbWwyOjPX8;Sas%||YY;cXft7L}%3zz6qGXODbVe_oGBmmC9HIUk$0UKa6&p|V?T zK2VuIc?yj7IW?;%g1kj;kR1AQb6#Pu_?uC<-l->)4`n2Du7h3F9#T5{WoVuCLlpwES_KOU+mtJhFSd){JlU=U88H&&h_Nx98vr++mpl6z!#g}Tal^sCE zdw6gqQ4R-hbouKLt1E1XX-ZTraZ{{RwdH!#XZI2o@h)b&}}NEyw0Pl_y|m5YK0 zwRsk$r^YkQDzqfybahb1(dv&K)%7d3VhJOjmCG~TNJ%F-uR_&qZIR12T<4nQrMR<* zoF0|M?4IYT415x_QJ)R0j)!*u=CZD>;DGLwfOA*wHOONHP}iF4dilxP+*d{($?9?A zE6#DyyML)#+sGIJ!LLW~rmJVD*gSj|UfuEUUoGnTq~|0Yk6PI9M~QB2Z@jJG2jKJ0 zDCdivk1BC|zGm;m-8Lt)mUx#8hjs_2rF?&PGpm*CE9{RN%GcIXt~g~Qp1)f87g4q; zE1}?qBDcrVZ6=H`bt0QmIjJrWIO|!`Nbgs!7o2AVR&x+JHS<-IN4W{c+70VbNg~F- zF{q}yR2TxW<+|Q-M_$!{-CO93a@_Adam{+?fbJ3GKz(b)V&v{M=pGKgHkUyd;AXn; zitOd9q4jOWuzL{dIRiC^r(K(Sl`L_Ciqz4sMdg;<=DB@K%(u88a0$(N7>M$l1?TK%aRUF zahjhQ#|FDA)3ZO)xXnR<$*(sMjT1R%kcK24MOn9yxlny;IkUX+-nA?vJAlVZ;hED7 z^g268K*M6XizfkqHJztf%Wwk539m)ad^MR-ms}jy=Y@1zdv!(%0T{1fv$eO4M1TTo-lJuq;o>IQ%jw<>ja68#DlK=zkws|P z8NjbmhG^D2V~XQ^RemG1AaRgQdemmDeD*Gz=10W7Jkz6v=D_L?`Ne!o@dDa0FmcsM z74|R0ooj8>yH9c};;$Ot8QH+j0nK@Njdf;@%oJPYx#o@lC$&#+87wp2se)M6=A8#1 zk(}4e#dAFmdCth~JT-1wKuND)u(D?=syR5XKJfGkfHALV(4t0>3k+A<f+YFg4k2!?-<Y` zNXM9pNFaCV{cG2)70jY}(5#wl@{K!Hw$!!Mc@zTAw07ymeVyR=pj%aS;{zY1d<&x5 z+*|9>BPj$mecj;${{Rxmj&MK({#0TcQASaWT+b``#eR`PA>I_GMn1Lh2C=EdadOcX z84Pn@UHo;qc2^J{TRF+}JuCD3QESnAEQD}a*OfwUGP^#4wkw{Bri+qke`uMc#zPZb z?}AcYGW8cHY2vw!3h26sr5`Z$uT0UchuRa42^H?(X{R+Lcvza2jgNb`yOZq7+2a+? zTN)nT^JU1ck4Gq)sqVAdbj@Wiq(Fy(*1fC4 zOoXBOSH>P6)+d5M#PCghDd7JA6hk7S$k->|xUhDddAghC7)imaE2HaA4@we9!g0v2 zulyM?n@dsDfnN&vXIG9_jg_)EueJUh%q6f24tg5$b67rCb8IVDRx-XPTlu;??87-j z{Hx$;Zm?ZRe`OQY_=+`-mriY&5Gc4O=Hets(7sJVmX;lQM~gcJm)5=!siFtvxAula&uQ8 z+!!9lw5Opy&7D4*sJsMoiuC;#UHhYVrFgDN9FtqRMcbr+lb&l=X0;|R$JLr1u5vKm z`L9^hH9}Bx#eB)(>*gUrIImjLwE`4!c&<6SI~}ysdY$YOa3sP!Ts?^_1Gk zUWT_-QJY6*E(z=2sLnyoO>zfZBclOTrPoXGyb4aDDK3Wf!;BH0mCanREOG7qYck_k za;FcU#<}~QNR}TzPkNtdh?GzN(EK7%h0QG#gl4{hBaCG=y3?t>#bYAvrH?@H)3F3s zOMZ;d91hii;WY#UitMi99z$1hh3TC1C(BVY6T>^!;IF-U&5xU%$E|rshb7s3K=rR) zuw`fFy7K4yvuxfrtc^(ICC2*KNH;FyilZbrBX1R<3p%Dr&3aK+Jm%f(WZkI^fzq?x z4#VEGuA~h7^{O&RHsiHnG|GZjC?MI|p>}>xy<9jW68CI}U` zETacKtDL!fxzBpd=*?cGTZASeNXV`R=jWX9(!C1xmOFm6=h78-nMl>QatA!s~b#k(u|rhYxkO-jsy4(!!BX+rwv|>;n~(p zeWdlSBT!Y~)|P{)2nYn$3H#PLqp?%QcHeox?rY89lPU&l)cj98bHGk=O?ebYY=u1y zVTeT}?r+(E(ttRrfpI~c|vist@6<`rp)~1)jI;5;}xU9KHI5mAw=~b>%jl#7| zm~L}d*87x|?OE}B>QL77i{>d_pw?nTRkx;p9VxlUT*BC;Ob)2+_j@mji+ z7{dYetgrwzrzy_gLe}61Jk;>XzvMMuF}(A@tEjQW*)?%jb|T|;d2#{OF|R{j@n_1Bi^nrBQ%V;=9-Y2D5~uk^`~tOky5%I zw9pRh0atV+Dgp;I3_d@VNQf9>rAV-TUTZPjsAE;_PK`)7HE1plK&ixF;M2K$#48To z)iQua4M?fhhKY$Ae=3)DD}uop7{xtdW1cEV(UgueS{p|l>DuG5Rwx4j#a@otbI9VQ zjxY#4Gg?qXk_IzUk)oEPE$vZ`2Nkt%V1y3lk{eyQ;3L0 zWu$HZs^*s327i{jJu2Ol1A|=cXl&M(6HC$nU8Hkejh2uO11>SoN@b0+k{k?r*JWpJ z7y*t=O|`KOY_+A>#-u0!kzSXh+JZpa`d2ZfSvhUnb6$s~ZG|uf4Lb!(TSICKMNl#^ znziL)3Jx<>*5K!kIj5O+o+@O{ZC<7L)W!*^&?z}16;>8!19dt{RRII7O59SGq_-Ce zh-;R;zX48osV}cEFH@tBGokj4MFn0AfSMGHRU?qumEA6m48^(b}M|` z*Nk|BRXJ~)j%wrC0@TCtCbC#JKDG1ji8V6C)U|c`_NkrOKDFZ7<>`^h&#iREB+hGN zlh!VWBfW6QeCv=0I5o4WPEJWZYZpjKC%pp)8>_buPgBms%R}0HHEd&mG3aZV@gk&> zlpeL;X=t|gL;;Pfn)2OdStPy-?oE9j5;vMhja}L&N8vp#Cc8qwaz%Z2;jaxtHMC_^ z0CCfyub6xxZzH-mUgEyQ@GHx{3sMQr575`?*+g7nq49Z)o$imJejjLGWkG?!0RENb ze;@U6Wuje-;O#%kzM9Z2QqxK^u)*8?E8xG{Z(a*)J+hu$;PYJA=8}^;sa2G@d5_M0 zM&!NNVtFl}*1nFyq?3Zz`zNnmuapO`oP84>hUg z2m{~@cdw}Q?Mmb9yqwp=zYQ-NF^u3GSJ=8Nq3su(*V0JxCY9__@fNPpsmbJ5i|Sq? zD(EBK4V%z=*T@>{{@DCp5+LpiDbAec&MZM)g4J6-mgCTooK&p^X9kg8Lg*D2d!e+0!Xc} zF<#CR8eHM6E4wr3&jsI>ja0Tlu8Uu_J3Q6xUOnKgQ){ejc?P}WP%mt;oSavENb^CW za5bGeiL->!H3ov~VK@f8M%G~@dCBRT@tdFYTfB}6n)IzI_(^Pp9z}Wd>S@Y*_}Xbn zO?59_qisFwk-Uh5&syvzloi1>%ik~$^)_Tp@pz zc|O(AXm%`wI}S~9qj;W+;hRK^E?2F3-i>anB9Jr9aULG9X_XaJf`2;q-wgO~h~1Ya zy(~N=_A-Bg$2XyRbB;pmYt{ENf-h_B8aqXde?)Ew69~aHi$^wgUJKZ zyh!K}O$m0v2e=e?*7|FWaiUf~D`)kh-&Qd%l|OIiUpa`c`^LK--X4#*j(B)^qnmVG zbK1Q-!?vyrYck-B3Zd!wP7Zr1h)ovQj z&m*;XrS0n9YCc|bUghJ>GHp8D;*b%JL9ddowMMno&hw9(`qxHo(@U|ITPB_2d#;tE z$YT!(+$*ZITZ<+S$`M@OgS%4Ee@G6j zxSrhbsl`^OvGxA|j=(x>r?1L?m3}t-P}e@e;|u$6Fhdjh*X)mrBukAdLJw6x%D)%> zJX(uy99%krH{jRCVl<|i$5ngwJj(N3xtk?P8LXDRkheW*i@5;vj8#^Zy*gK!DzBk* z?2XjEWj}YCy%wb>8&m=Gu5#QotPTmqX{2(10OJ*s}Ksi)fcU<&3uH>WT_anBX$c2+$yE6%Go zdmZ%Sp!;Yt0X3|U00mjMv^W3?&|6m^U{+^BMl(Ty&MPYJ&vKEDwb>g(jN+kt9m1BN zct*Xa5Uw`**Ur8yv~=@0$6EVSThauIeqYkO7sZ|)604oOoc5-!OJ~8}CApRcBya() z22ECN-+0%%_}{~Y41_O2YsIC}8CwN=*0GCcKQ**w6Y6soI3}t#rE&Z@t+vtRRy^FAu^$w91j* zy{6s`i~tzvUOlBLhgTybB-giEw(W{}>00Hn_gXu1kB$$>wxr+_T1Wvwnup2&2F49a z11fRFdXb6bN!^(9rdZ;$Wkv(NUy+HGl$x(_NjUFV$h6l}I1Rj1K2ed09je67x06)j zl(S$A8pB?Nr+rAKh>rEoTt~KCw>7^rG5gid-pY3lag$iLscmUuo~S^Blg~=wk+U{) zjGE~+JCWrOIrXk?-{zHZ$tSIH)Rp8qYU<|o>`Jx;y{pTgnF{;YscMb4P6IrFUQZ;r zk-aln;yM?GWUd)cJYu_F4&R8_16(+m5_byJ(&yPK2b|8*X+mT(MV2UvXQVkx3VA(im(#%53F}+Ij}?_agsDYZ=7JH9I0B%U1?EN(FQ}c9u4RM_G^^*Aw+T%jD` z*P&{b%viFHM^juZ>*dPX^{kUL#755Kkx8%|b*0?QK^0OqIqOz|8-7!dT76D;p{Wxo zkDh2jwW=#jz6EJLtcn9;gUG1G;kn^-RSK4NF55Q)oYw8X3NhZf%UrG${&lr(`&eh8 zubY$_*!HPZ(#G|>VCJM>B#l=)9;wurkUO(UW^8g|4ojl-W>*s)|+&rzDAW+NaeuCBty zB|zOltfzZub<>hZO{J~8m}cPDZD9;yzypI^mYHE0a5IYTH0x$(0Cuce9NIdqKGk;u zQ;xOO+t~6pt_Ky9r@-WnI#+9Aq~I{fr+Xuvw|kfLs2(N?M-|f*5#X-`^I34Xhzxe6 zX~{Y2I#gVaX3Zs(k^tn@*a0n*`qnfp(DkiYCE5cwG`B;OG{a$XD>CZq0FIQ|Z!iyG zT*jq;wN6hasVf;bVy3C61PA7?Gu5?ImST9TTF$49#2WIQUsWG42B||`Nm`Y4y;~c; zZcTXRy{VE;Pc^lyYMI^hb$;I8fIOP=-A?4OZfl^`F1HiT zYlFX^cIr@ zlZS^a501r2xu~Aes9mO?;r9gKh5nWKG5bS!i|x9ckSk7Neo*o)S_ z%dL-|axZv|eAo}52EJ7BY;6_OvF>Z@jcyed=RI(1<)0fUQp32-OqP}$C21qWwP(m+ zdshi7XE@`U>~%+N#0ui23>c2U*Nup>J$i2Fvu~0IJkfFqQSDXjXcXP|Besjh(7=dQ*T!iVhh_1%w zP{5v`S1oiw&MW7$8fo30rW!_Lb*CxGsEOvJPPOyt`^RcV-Iv}Ujc)DARt=Zm0=huI zC4D9eH-W{7_=}ny(^_93V}Qh0(>ewE&1w*w=DtgJG0GiANI9=@@J^#8!lD7s710@M zW0p?Zn%*UY%AC09d8c@G{Db7N>BV(A)`vaaxs)%xae8i^_P1b4a5`eVtV|pxeNGa7 z+J(BK&{f_=$6BQJGu$^!0Bf+*?Jdk`=bYlS8VDmCW18iyV=7U(%2?>AfHa+Jsnay& zX%Rr%+QKlFFGKNUW(w@;aTOv^@vHT2Mwp%fZEcCE;x>zQC*L+Pwb& z!uldApvFkWeIel;FepI72EE!7idr5HDlSh`rOIgA~^tWTKEUzmZH+M zpd5~PHS5uzEE(k2f^`x;N7QbNnzW$v&1Y)Xq2MHp_p0}jxAwU?;F{dHjLB+A?knZF z?%DJar(};GScGzv#{k!1rK*JmYX*2qUN9e8>2#ZRk-!ynA!lOcBe>Gk$jU}ea4YEF z13*y5>^R8(01ELf9>hdr9r!i$&w;EEyehp50s7{?$1j3WyF5H)O>{n&(o90d6L!`B z3}?^^;e1~Nb1ShRvJ88id)G|q9B{9ea8IG`YtD76r*?6Y12#GK;7H?2caJZTw8- z_~%@<^EEkcM>%3Y0a&*Y<}!KpuSnPQmOxkzLCty8@+xLF;EMU&Og-zKy*A-w9v{58 zvA#(ajtL)?eg6RPy7Jpt(-RmDg9q0*uh07+B$Q*Warjr)zXmR6wvfg%vA-@jrG}KF zbc?TPS+l12&7>n}(p^ROq35S=hQBd9TufStZihAcwed1Q`dz{|A=Hn+iu|DQv;P3Z z!O$K<5&0VQ^9uab6K9`-r^{8OY4~r&7gj_pj7ki1UgM+q>^w@VFY8}1Y55=u+YIT0 z6YL}2xUe~;NLh3}98Ll<=zWc&UnZ{MSnemieQWSqdGw81+B3oy82VS zUp$WW`cv?t81+b?xsUIr4SP7ot5f!ia~zN$`}hHe>1=jmUTzqAFZ zm&IaK8Q#Chn*Au&?dAT*+BhJ8O86V%)|D=ysKIipl9^NMkZa&E3*B(@J-p6>k1a%e zo;2AQkOfZ;i0%A5SEt3GNUS$TN8wtqXk3q%^sW~`^5InTdtDSD1g%{D%K1nD*QAXY zuK-j30I|+7kJ6keYHul?W}05v0meD6W$<>Dyr$*!tYp!{H%j&22Wi0q065~hr38`2 zs{6?F{{Ro^xQuaK)wPx|4M(Bba5(x`X>DP>fCClfN|U+lQ>meyZDZ4l)sDdJ$Q969 z>7xUR*pE$OIA7AAvIkSS#eIPKR7S~x#w*Z(i2T5_~UBavP` zujx5fJ9+1|eL;JsA1s18*OlwqUIQJyGeV?Hs`Wk=@$ZLsD==QQ;5Ql>MkSKI;_-%# zCP^1>9QLmRzR?1)`F|l@6zJU?bEvL-{{SwG10R59ftsfFM?WyZspMp{|I+*+Q~Fb>iSpEp#g0vT=;A|L zr81n^??TpX6q(<6F_+B>Yu6)<3bDm_{{Vwwd2T>ZNzZEbNUW~TR3X5xYY7{`^J+At zaS^DGUIg$7uWZv}R|wsXE5)v0xQ|;!*heD0pGy-eMY($7uP%%Ck?H3$OWDiF=q5m* zVx)-!MthJdXHZaQgVLmmAP|r%)#W^{T~2CSMrn5ek($oCfz^WJ7_OwUtcN1AFIqC# z#}$O)N@poFF5C{jwOTu70J!A))~&+<&~Z*e1bl!oT~%BY7qjOuiyQWVs`FehOx97D z`JUv~bt-CQ80llVv%Zx^(bBRtFwXnP-AkrO9Dr*^_5fFSt&?pLYZR=$Nbov=S`kT; zf!eZRm&+wZXhqC{m%U{jG&WC7PJ+o9&eg8Y!%qYTBZ|Y(ZNm{=zVx?;Beiu?jg{G) zuHBIo(noHbS2Hy2JfTM*nzMH_lgL$lYUZD&9Pf};HD=|a*zcuAFjsq-6X`|m%!G1z zuP4@R+8K`=17AnWYz#$lit*nRSZpl*nWd*eR9wqb&KIbwkuK%u993mspXh4Yd`1GA z8N^$%b&5bb;=0J)WsE9{;_a2U1}B4EzL;Ss6pWhgqPdlf=cc3*+mult7#XSU@JPjU zcJ^OxM~y~LHO`ox*5ROWf`=90W*9e4N2P_Xr5(+9T!W8V&__IA)?6nzz|Ct!0sJe- zlv~vvjX4???~##O5w<|%HJbtztr&@4!l9#~J8E5xu-L~naZdo%B>}yvP)KUzk~WLE zp%+Y3m=jS(dm6Zi8iX>I+K*_>TxidJY66_nYR1rd4GKF`S38GFlLIv6UuuSmOlqER zc&i8j#ztxogrAnJqV!sEMK&VD54}BN&NE7?>&UACcscJ*Q3S#$vs0`^3C&FkjyqM8 z7$Yhvb6;|KdlW|Ca%sak`A#a=*_a&Sq7jgIr!)wf7jzue_-+6roK+atIL{SmLGbK!95LY3N+(<-dbXPD#dckMyI=cN)yB&2DVV%!?E zje&x5^{mJxTylA2noFD#0l=(;m}4a13a4{?u>+IEJ1}zYUA(}9)PV$NfnI&6+>8=yNG(Wg%DuVHPHT(2 zxH%^^r+sm`g66rI7|$Sx9;Uaa9ZqVKvO3QSSbe78J9Cp>-ESI3=>iTo6~%Zy#yDaR zjAPTSdOnW_+I1M?13ZfMsMEAkJh?l&ot5x5`XD4=m9HYu5KX9=4>=^~>TB9OZog&G z!Y^gTd5458cU)wT;sfzD_SrTYl`EbGVOs9U`dh)eX?T$PX1({rTP+Uu8%VD*@O_V$ zVuiXM_1cTUYK{r$YwYjtv*u?n-X?IL8hl8pV(aw{#&3(7=gI_ZV zkhcROz6jSQ^Y3JkoQ#_It|6+DQAg2bkm}5cn=+_9>)n1D&9dbb_BG)aNM*W3$9neP z2&-CMryEBV;ouuhNcZsZ=DbhR--jx)*+kyLzKYPnMhTt;e7o?T?9Hb{4^e?%Oz6&0 z*F6n=+;!CXS;o?9%;@#5ZJPtJ{#EkVjn{@g=DwcQm>YJ_dij^ez!Y!^?^N{AnC_AD z{-jrN&syW|Kh{@6s>z8DHONVEnF;C*co@g6k8+F9nh3(VBD5qRA*}cqZW-@diy4q$ zbT!LPH+r2HNe-}#$r;6S+T2@kPZ&O&{sz0PD$Ip)!xhW;hAkE26IvEtCrF3JFCo!yE+zz?vZ9?nN_>jrAMT~ zZG&T);WWRJMPb1e=&@b5k&IW;WzBM)b|Cy`!3u1)q!leA=mTmBZhlIjFfcx z9SFGd06w+Dk8+$;l0B@Js;53y_Z^|@5?nwKax1U5iffWH-1M(L@bp67aT^XZUfrcy zsZ|Io&Q#o^soz>E6KM?7w5+%!WSaIr3~3=0a~U+fy1T0|a8c%fl8Vw0w2Nd&ZGui5ipCV!b+1v`-fiElt?Zmlos3 zE6luEs)(a-4>jIumkVzR>`i?4;@w+&NHd%hU34RNc6pUG(D82^>cojM+3Q~u`0nV< z=H%zCeMRG2y~y}Ib6+O-s}lK`=aXK7mFY8rbl%g4=KUXh2g!RHn8G16@w^{*7qHNUpF7oZBK$4u6B${ovoc7Kga7F<9>kCx7 zSOS;erxnj$R?zLE4Q^q0gUb=H`qzPLKkLa}gx9O?4D%Bdf?ZEim01C zT5!=^n?~Ml6cLrrHTM4i!dn%VC}lzVb>hB9@V1&Rra~7vBk`}jJ`(7yZ(;!)@M~-$ z_ggq|QE`&7k@003+e|V8fWrstUz5H$as9J!o{q=$uhqYfGb9=X#s|!xpUS@>{84-M zjZ${beq&tuoo-r6C19b=R^sW`0ALZ)x^-odH>s`y)?KVP>0J~TBW?k&BM(&d>Ok!@ z9ZmH6=*pjv8vR)PnKkJ3DB+ASB;bB^`4gtQJfM@1O@4rW%ibaW&DSBbFM#A@n)+P2 zZKno!S(Gf4k^23rS)=JYfc_E3;a>@O{@AXn@VLm_Pv>89KBE-cP*y*AKc#$KTyImLY^eW&gRiu3JXOAnE@wx*GdNp?Ok@ji(7em!f$ zHGLCnFe1L)@fL&_K2z4b7sMI{!o)5QHP)lp<&^IAK3l!gf-&N`Yn?xn#d}_>rfqYT z!LAJ2vDcM1aMrF+;3zDp!|IEZ`Nvy9bN&OLf9 z$_7aOb?-V3ou=GEfT+nI&c1!|C9}n>K*fKEe>(Q>42gs>FykO|?NgUjYNXRgy_{0L z3NGdCb3qpPdwh{x{7Hl=#=SmVOAtoqj8`S7Xwyc9Xh#R0E7s+{sPN-1Sy`Md#CUUq zSa%?^?I#t#CgqTcl#EtI!5(M#Yo4m;Qb@;=F6Xr}MJo~K85M3Np>QE5py>iYy z4O8lKw+s~fRut}~+aoyUv~JvxPCC{blB(yX>gR8ERQ5R?RkJ@8so~%Rqp;8CSa(h4 zPR-6UT_%GTetozCxM-`?HJ*?$ykjxk6FgU*zgp~kQ2Va2n&X0Jy=jO^%Tj54D5m2T z6LqUDFlxJ3l~EmQV&#*3*fpvTdd9Rkdf6Q+qO>Y6Qge-jcdY3+IrXhoj2P;KtI4eD zJpvKb)YB!yh0S%X^TI%`7RmNXE4Q_mbaky6T$w=S?gK?Q^v!SS(X*8};8hFQL6@g` z>U4WhVg!s4Rmenp9X^-)h`~H!tj%)w54Cv)vKm8>i}W?oX;!82D+<1A`>5`v6(4z) zbp14(JcB=4=+ZKZGBHy^0w^S7wJUwmQ9U##ows&YJq>XFD6sP&Bn+v5@X0V!Lq^J+(V6&T3WFDc!x#H?@(F?H`?N#Kaysq}6oi(=X(AP^*9S@~vdm}>PuwldpoKiv%uJ)F zTBP}oe^Y8Xhyxw!{8F|CPZiIk>(kPv`*>ajH4StpRBTIjBNzvo=I`&oQE$?2N&%~Mq)ARcOx6^ONc zPhcTUd1kSx7SA|2tJ=P;oQ>a=dANj)ozy}VOxZFh2_Vci?A+qtz7MCQfSRYIA0pN_?bfOIyH|=GIzkRI4SQ9r zqIopabx(=@D(f4hl?!r7uavIjEg>hluV?s~sd>7TtDJ&Ocznkvt$t;kRpzMAvcX2s zH#{|I_MJduoErB_YcH}GA_aEAt%)O z&)~MEjS9l#9+mcPjpe**;Cf=eK0XaS(7B0Ja7}&n;rOoOw?fOu2EL06tP?zZ!E#rU zIvrLe5FNgmubDh<2w6g&a%<^*N_IBnH&83)e;b^6zWJ?L%N^Cvm$jC|IL>fQagsh? zAXihb%BeJ?+}9eiWa7SS68-buqa6;0%pM8nrFL3vrOJorp$3wRAO>5LXpJBp%vvGExK6A=c`xIdWVH%fm{xi^N)@+$>JmrTJ`ae zN}h+$;VN@Ylyu9LdomHTUMu70%aS{q^^Xr)$s`2}8uR}E9_a-Tzg%-(T&mug+M#Kl z6)DbYp_O2jOeY|iQFqz7>3|6Pl_m553{QX%9LuO-?ZrZU{|L2YTcx`UMtSDalHZQUeDmmPcr2W zGt#x84|>O)h??a+=ff5lg&2-TE7vU}5Wq9Va=sq32@()E;MYxkIJdSeI@haihtE`= zrv>88P)3fR8UYFwCP{{6}@CmO9)~-p(&#iVz^2W%0en<`-vmx=Kb!s> zf1^6x#>@#&L9f018ECflA;7@fn)z$M)(Rdb$EWLGUg#F)9VqS?z^_sZl_P?;y(8rh z+AmgEEG`r_GN&J{eoJao`L~kD$Eh{?L;Fx_4Ga?iaBxTGUzzf-G83Mpn(%X~y2d8i zbTw?dZ0C<^+_xhbJXbRdWCAO8-axo+3=NQd0V9Y@=0Dg*R^OQWpX;#eXNdIJG0aDn{@$5uS3&f85~y)rICSM=ALtk;iz=eXJcT1 z4wcZu@{CpmiQ^TxkBalBx!nzmcmxkxiKA0Ma5F(86_VVe8tTFhyO7A8) z&0$?eaDD4|O3cclM~Z7&NMLZa;oc?Df`|Eidso$Zm9mg>Gn(>`5b2S~q~q4T3UfHB zLG(T<@fMfmlEh=Jd427#TvyWGE78jD{Cd}hY8Fx>9x^jdYh4Jr=TlnkZk3wQ44n0@ zw&o3_ml*sj9z`3CGF!R-)ciM=ISC^i(2>60YomKo&C{hdp$ayE$gi#THaxFsp@yhw zRxGzZwWw1If+=8t7Rl{N(N_fDL$mNDqMca?{_wA|belM1jXqrPE9CD3#6Pv-ROIAW z+ZsNfn4)4k3i_O;no!j6vl%qc74dD9XI8e#@w@uhzxYo>x0g?dk&-|)<-RbnMb)j; zbtn4Q(Ebn8nRMuwbin>qjuH{}wNHOL=U6N|M<1-|QrYF==sBuZlSb*~$}7_K%R=#$ zVffdaO{YrEt%yv{tc02!0G5K4*vkdZmaY6=N0LChM?hze!29nQ&QB+E(pbN)|59j zr3rOB-seO}*9~0V?SwE}F;UHRx{dn~SR8{~2B~=`mQWmbt_jqQnWrOd9L2Sy5={9S zIs7wTqoHV);>n!jBlNE7ZKf8_Cq3(*2{p{_JWN|jBguSMrmJc$ zBRqm@hnCtzCyt(#)arVJOMNRb&J9pmqmw)ey1cS?E*D8$`zVuch?ZbiWelM#jldx-UC z=eCUW@EC`s_*$5T?p8D5?Fs_`z)^?D(=)=a3%#PI@fD?&Ix0;|G4 zVOkN>O32kal1C6u4>_q-7k~vz5(eZ}gjQJ~=Cg7%Q0`Dj6pwnpYi*JN8LQD)w*U&; zwX+CDMrvCtVx_H+1Ohp(uFepu031{{_Sqwf+P8p$8?db8Z5N@vW>g?hITg`cbOE@< zVB4tTwxN@bzSR~psbgXmR3VAxv_8=qC;;ZU#GFQbY6rY#Y%fZ2MpwS)PHxv9N~ZVt z$jxJ{*O}4t=DhDwz1&Yc(4*XkB9-;)F(B6?cX5z;>sD^Avz+vZ(4GR)*!gT%r#0k$ z7}4JT=sS;;8v2{Ux^T3FF&HQCz^`KkOYI(gdEK1HiVH#!M+J?2SNk$+65B-ZNHVfs((o~!WpOp@Z@9B@dlsDH4b zT{$-lk}Jag90Y}c1CVRz%ZbbBimA!Pecc*yjvn4en}@3}tVQ{roA7qp)ioHDfq{zs z9Psv;Z6%s;GlBK5%+G^ncGUr3cyH@pqrM)xxJy*WpsaAUo2HJO`i-mKxhIG;NX$-S z9<}msk94b;#JdJS$*-|>3!gIFiAN^Bc=4jb{$i8YHP`KZ)5oUh(iY=~E<-kHt zYnidJo@oJLftvS^7TCZgE&w?uy!k{?v0eu`ub;%*ocHLb%57?J|xntV3d>(;tmOHDTSa>7OkCYf(* zhUv|5Iy&lY3o|Y|Z%0G%$rp6#d<%2H8P|`4@%)}M?$)0_NT<9M{-i5AA_vb?7l&w5i%xJZx1>8fU)gka>3CisgJ;sVoq> zslfvk+ht(1+ zHCb}U@uH) z>sO6Qc!FS=&Iqq+@K&J`Mu)C3UiMg*GP^i&F_T&&>5mLqhLSV`86bWg>(?&X8rVWd zYVywrUBPgsVBd2bbDWym)_g#bg7CfyU|^nk$xOpfp%1d>I4g%*z18VE8B61hBg#d*iV z-wBP;Pcrnu{{Zz@x%lql9X~^U*iYmux~#2adCA?jel`Bpny?qoZP2kN9>Tr`bCxyr zZ|xhYom0h=5ZORVkIueQnF`B~dih+^cc{+%6n)XidSbRLoQ4F}BwW_5sUYIHaIW$@ z8qoBe26T=YuaLB0&mhOOeLL{x7B{xRvQFXr>-21f7i#Cr z=C1K)=#_@F^J#!Hat3S5^=smFX$d`m{VUKsJ*Ts2s>}{H*N%9~;OW}g!3rB4eMNXV z&6JI>Nw}>~K-2GXqdn_wZx`0Qa>HCZMqBl*$hExS7UsNUyB(Hj^s{zPT1c)(nm)DX z-`gV}d-bWH)` zQ|WCcg=i;(%CI>YW+^8Iy$hx{1BDIA!LzT*x@~eYh zf2%6CMZ^QdqlUta;`} z3{Of~CKC4PUw0&#;#|a%K5>qM$_1Gv;$Dp8byn@tvbK zyKS?%{(be!q5-0Ash{&y!s2?sMmAsGly(G z8ZWU=RkcSP4r`8*$Y6pi(X}Wr*&PjHwX!xr710UXMts$3ZM($txilc`T^EyF?cRkt z5?8l1>#J$BoxSR%%nP#xa(DEr(0Od;}ywY2&{ME@lDwtKXG9rWe#vnavI*6VSt=tzcuSK!d&4;CcNv#Me(z_ zIQA9AT7p!|jY&F|IL#|e`%KEX$j|vT=o-$DZ1iuJfEPbp)=z~ko$i!l?w`olW8sBrKDd)G_%*VJclw*9wbc z4QA|4YK_20Q^je|X6OL`)?A>kTH~vGSl%sejL5-Rep=`ecSJK->5brEX1W*@G$25OZ4EVZ(~gk#?RsRhuFM zf-9acQk+h$+ki(kN_et2)uiSz^q`EP_OC)49CFaz@Z`)0Ui~Z5ZNBKw736vx;wzvV zrfb&iBof95u6Luc(M{bNQFS$G8*U9$UX?nv4eN7D4{mC;PFo_PZncrL9)=dVZ|7<4 zfu6PVwc;2qT?xhsucqfgBrhNPCcb&`HNV;K+l*wI(i<4oj>k144AfDHWnidtnuXh* zO={_&Av2x;;->c}ZBClP8%;Lb&X|DRN$N>Gg)zKKG=xT6h{4X#c+aWzu1@~;S>z*k z$~YfNr4c@0#dK4xXQ7Ot%zZ8J%g5ImUZ5@dq?`}OgI<&4YiVzr?dq8i&3vJu+{tfo z6v>>U17BFdu19&{$kJRH0{%J0dsV-ELzYLIMJiR4yPj_l!76%+y9yRNyH#mWM>ic0 zHGbW*iug*D+Gp0nT4-H`a5nxF{C|ZJpk2 zL%4cYZY6VSTl+a~f~`SrSA$6l^sQ)JNFJ37Q%%H<0O~f?_${4RkyfnQHY1AJM312T zC~U4)V?YdSI5p8)sC-~l@L9(r^sa&pIY=7^H3o?p(L!=CIITFLbAyictp=V|MnJ7t zH1J0QCyY?g^jeuPTd^H6T5!Zb#xiSO3jhe+(zar>g+SmOR7xT35;5(gD~$B5G=bml zin8!Vhl5R$b%VGhP@rbzai+-if7Ysyh;dNdYE1b6;<2tT%H*>HT3DMtrlj}F5F>$H zmZPi?2?nWOY9o`H;dM<>Mo4P40xx0uo~m+r=Dg!l)bbmeW~Hj*CwDdH+J>fBk-NQG zk766SJ^rFg5uUZj-Ccv8c&KjgcVy?SbJtgS&otCpGrwX>tBeEBHP2kmPH{;+#z(zm zOD1^jTA8v5Wo^{USQ_eeiAG5^EOzr;Fi62U_OD6s$A%dkOCl1@?b5fUOPQS2YIZv> z2NUx{9AnL;2 z8A2R&uZKKQe)kt{#PlYwFNRSR0@7kJyG%|A_xe1P@lsYu0}>s=m$YGjdk z>TBY#5Ob=JdaUge*gORcjWAL;&3#{{>0WM{0U18E^T&X#kuE?3xUa7KKWNh0Dh}fn z`c4}UA7!cYwJW&PO?NsEgnC49>PH}CHGYC@$s=TO z&1uM`9S;T-T6Sl{UM#k`1mlniuQFR(hntXboLAKTDAD6>#1C5XnRK*CdSeE>Y(^IH zx$a@HDa6dtECK+{*R6Ubge6xBFStUegSjMEBdh?NPyaRgZe~=%lsOG@>{p41Sg2o+4=> zyCii6yAKHJk2R@@k2uA6)GBh%m7c9g-WNQF#+q_NsWU3z5^IDCV{f}&$>Y0myiR(9 zn(}F-Oz<TuXHwy zbK1QzVn1dabQR~?99eL2*1akvUm&e}ctxepKM?h?=9;kEAp~`-DMk~HhPy3V(R{<6 zMRHe27a$A)Tv&+eYeHQN3x~#YS{@y~@-J5>0M=c|132QUTTA5JCJ#fJ@vF<;x#&}l zhu9t)x=V{dgy+(^?RL*GZ}0s)C^RuQ}DP&;oPPvQd4GxU(Me;IK92n)`h1k9zCw zwKN3tUURNqBX2naHJX;Dl~Qp$_gvj75~HPXmkQ9K$EA0-@*_mqEgyx*;GQJJ-_W_*C_0nT^Lv z9|`K-46>fq&E{d8lgF^)xqlhWD3Js}jpXOtj-SrGFHgO;u+x_v2pK--n&CB>ZFMWa zia^Ia{${LZPdR+t22#xTkZ_Q>8s(dB2P=37wE|4RF@^XU|+#uCsIYi-HO7RV`p_jEsX{ zHBs|RL#m8zslTMe(oTw?l1+W5@RP&gj8e?F2OVqX9|>t2=1C=9GAr$$hRl(e;Q(M_ zyJ#ep&TK=zhuGc?wT{vRC@=;q%Dy^yq}k~A2(6EljG{Qcz9F|KbJC-0B#g+%IIWvV&O;iYk&<)iTULlc7_D$LwFc8*Yg zD)}$tye*~QrN9^&>tBC(M@&nt3Ks*Cfc};7_w701X=KwTmMrdw?jK6|OzIrUX>N~8 z13M@?A1T=QlV%spADwit_>CA0w_kesjqYyk*r{R|AJ(KED7~{If6go7>0_GQ_v+!g zqv~k&)o@1cwXbWal0gTawez-*;`nZGB_$i_n)LlIShtW2I63#O_+sPS<&`I~^jC*< zZNPlh?ivoLM$x-HE99LgQ;s4TTLbG}v!M8jKad9*;<{stPh*;RR*$jt9bJB2ezoiR zHmIxzK9%w2iQ+ZN;k`T8vFLsxQWORsooeQ!VCgu!pHWy}3hS^8esvZ_b0emn^Eu|Q?yrKW zB=cA|TGU_@yA{c59w3bY`G@CJOs8{qP}J1{JF$xM9dBAySNW?WS@B8$M*g1lz;;=bZ8?#GWU z3wBm*EBS$On&_?L2yl2cy{1~*JV0&19@S{uTC4I!dUWWdj!9J1^e=?guXU}UE5Ko2 zZmJ|P9o%4lO8LLwzJnQYe4`+9n))MHnA>Uc%Dr%F+@!f_qvz|lI@Vp!p7my1uNy|I z&eA`feQV*g^6d~Fp-1wsk32B%t9Z&;o8}7G_T!rSOF@9Gu=)Y|SB;nJ3D3J{-SI?u zDo~@^BsZN%YRxh8kSk*TGK@|-R%if>*LD zQ+Bo&BITE4J4GU>E6D2n31TF=4~_vI^(Vx+0w|0g zO?2J{wOC>@fs!&$ZfngxB5DRrPs+}4Yicp&qM4mXdWW9JAAPtL9QJ%=4QN|PtN}R4 ztF9v;0a&Q$Xp%Vxha=`6jdR!5qpH_)JS)osn&z)l1Xnd!X=ZCq>qCchDn51o-4A0iN#v)V~&yuEN9*hFl*4XJx9%rQ#HV9_W|1-F;{#!bVQ*~jDT^B(1N6Hj|M@#t6pYHdr+&@znQAA#!^fX_!_NyDS0rxsqC(D zy+|vn@UMpN{7I-sr`RrCxh&iS9;DYjV{Ikm$pj-M$Wi$5Ur<q4UQ<9s)ALwTBoO94;o-2z`V`8}IaaMofCe`#Eijc+XRciUcex~x#~Y~Ukym2IK5x>z>W6eT9&unpO(Ap&t&xZT{fQ6-_C>H}lansPf;$q-|3;-Cml zMmkb9PUUKvGr6%&F%Hz!U9X>d%%egwLX1|etK%TnbYKyTbgQvtPH|Z!sibAl+qXOd z4Q$)976hKPgAX7Y*t9IJ0i@z|#!AOcYa?-8HLbx=1#>p8qyeACwyoSJUV@ZRCc2#@ zcff#aUf%Uo0&A676R;I-DF*_OHFK&uhI&)RpjV}HNiwel)0*WI?w)<9Xqzs^^qP}_ zjN-Foy*!d@8ScI7GUoIsBQ!w@#Y1+tDLoR8it}zek)ZIIZ2oG z4Ormd*8{3*-Ff8HI)K@mY^2@RRvdu@WPd`6D%0Fll)i=9f8Y+wk_8_PdSp z45IT_2sui~%B0dqZQ+e9Tx~3aCmerT_umib)^_m^Ily7d9xKG)@ePiH`?mpG9G_~> zx%imM#bInG*1hUs_&Q~J?ps$N;J|q;m z-ee#jdhcyMAxEgFw=-uP0f00MDeYbp{1pS4g)?E zewFTJxH!%V=<;#-japSb)_82%CB}&?nukMgYDO8VYgR=9%z?LUTVzlgQY znDJbnF~IfbZ$N(v@cnGInkR&3VaXnq?_k`cc+a6Yg-*0pSZMmA=bwn$v$T&8IRihX ze5I_&##bcuHSeA?yZc4lr#SW$9Le!ysbf1k6c&U{sglULYWx@iuk9) z5(L#_TKm`G!Yr0(*ykd?%8R@#csQkJbH36olGgYTF_J%>eQ)6j16agIwS1c^G&+o6 za1DJu;CV|}p*^u)9XR|*`n=)uVd+hswy28H8t}go+HPkcb+2vIq}Z6xTJk+@!xrN; zRNF}KbZq(K#2S7>t0iTZm8su-ncOpT6R5bH577o_TFF2 zc*SZd3ZsmQX&X)jL|+3K{A)PQ=;^5hwi0sN4m(#Lc;&;Za!qxP*-{5Nu1fU?W08?v zxOsFqaa8o?M~C>b&2sDqBc7F=;fs$ZaGBu#72SBA&wNaA!OeLkjPGfDGI}2M1%%^Y`l_9bxm_v z=1W@@ZC8!B!KutKd@}AU~od?@dB=dIa{WCxx|(y3r@P- zZc+G;;*?2VJ^1I=zHrq%TNo^%t4qe$liy!H)+7RJ#Fi17x#_F`1y4DyYQEE<*B`5`5rK89&RF8PtLvHP3`sT9 zPh%KikU6UIT0|F`^OPjzsOnaxm65|q9Dz4Bde;}?3xOHhE7b3Nl#2tcc&~}&2H=6( zx+PA{91juA9SD3r(mmGU>t8~6V&Y*u5jpuz3Hl1~4+_Q%!_vNv@Wrs$ZVzrhAzxvV zE?9FPIgeMBk=^S$^!Ap`5a4akUu@T%=pHDR;&-@_i6f5v{{a0}H;M1V!c;a1%9`e^ zEybmp$cxJilkR(0ZE0C^7)CzwNcG6|xaNq+PD$hQt_#GM07ghS&0q~tp^+6BfO$V& zl}A_A5_t2P`OID^Ni>gY7+FDTaJLd}oaFU2)@U~3;ehHhTw~^0u)O5gqg9IT=0c^jqRSsG5F|;ahGL{(`?Iz9eeR zsOuLpZX|9XcdYRbmKW-04}M7>H28+uOS_8mYlPUu*R5*mT%UULo9I4rK;pa#$xBnZ z38$%>0)P!`TSv$^tjN@-Us~L=QsfUx^e{B6K?A(X)2*VNtxh^6JH`^)_6 z=8p_RwUcic#eGrWD8#o`gz`fV=U=5{>d`(sG?mjoTYeVXdA=QmSY+)3^sgfL_u-*+ zrrfT~f~U8&dym32Q=-J9x{u{hd{xoK#e}2`ou~O%$Kv1nM3L-JkM0vk;0K8`=CRc- zBHPiA^TDn%{w(Ym?_WavVDRHbsPo=}w=cc4+ z=#~uFVmjBWX!>C|1F7p==ZEaFtC8tm)1hg-ILS4WW|0dEDPs$?*H30HARvN46}e@l zfS{4hZO5j72gylErfTAcX?`QPw7`)`1HF080%aj>FbQ+ueDQ`PUC@! z>4qXpsf4icdLKq}mkYsxRYOlBLyXFm0S`qQyFKb<8|xY0c-ZEMVI zmi=l0sRGz1HRnItht`3qkKrb%R4dsYk^Q672lb~7Kp*0-J6%xp-GNe#SmWjX&3Bp(n3BjHxyLocS;ii24|?_A4@DF(la6ceur#jj&kDS)qA%?h=W0|| z(Mfr9kVleTfFIVIEa+XB*Pwhb(A!zogv_}_AOrmC-Gv*;MDwcDQH{^1{u}9k*xDlQ z;J6=^TJgrREOePp?x3Evw=6=+6oGh1z#iOJ&)z-OA7~;5SN7+$~4@)@4ePSJJxNdCBWp5=0fsky;!k zI>c46R;5oa6UA6DuJMskU!9O1*{G5(2aR~DMdW>J$?k>$KU(z96R~L=`kV^$Td{<1 z#MVh%)%+)(Ym*3~bDjoGc$B4Py=e&@ae@77)_h9rkhmR9d4`o`=UfAv0>htt*CsjM zNe>OPZ1)ce+X!@%GaO(Je+v2E#A^rF{r9CoW03%Hz&S1MW^Xv&gO7ZraC zD<5`A6@RpUm$Z?Ri|kMDc&cv={GAix{`Sntr-AUm*^U%!XqaY==Sq@s2Eb3vC~d>FAjQB z58dXHGDyui_!WWBo`Xlr(y?{KTZ>Y-2Chp!(SU0)ud6ewR@xp1s73Z` zxfG74kEL_+10$2~UH6NuL~&nd^Yern%&euG^id{$0VP+qP{@a zHT$m-YWF&|&^zv2x6pP2=qui-RycYplHHzkX*!eVXKCRrQcE3T()HU4jyG4?UNo_f z#2yp3)ZqY_lpkIXIW_tHr`|G17d!*jzU%m5ufwePN%Vhn*&2 zQ94zlGsSKG@vXQU6-!gHmrc}Vwv=tdA8smZa!4H4=k+4vCYkkcmC?Bi4D(l`j1k3S zL`WXBt8Pf-))GfeIcZ|Ymc1&%=eWg35hvJHr32EiXx8G!GTi*tB#Vl2sLpB4jkS?c zS`|vD`McCD6LcI^pOjz`NW%achP#?Ut;!)7Q*c4%t|`w>C;$$XoY}D?C!AKCOb$5a zvXFtntq2B9AWp{AIRF7yB4$PvmkY3La%(|J;MQkEWud=p`6}71yLtH=tCP3gkO8fz z7=R9WtkilGKFuPisEl? z9zt?>HLP?nmZPul%jYJ!ON)$xNvWrt@=rB|Jo#*j*&`PE5zQ_}4^vrBDCVS^T=g}c z?T!UP5fqJ+lT=t5mP3Lnqd4zDBUt6IKLK8?;JY~<+E+v;3!Vq1d5wf7=IS_c)YsB_ zFtyNh67nbv>w(8PuU{yjU{a)pj%Ls9tiy_hzYpu&TF~xB(AWO}5yr1^1om=n11wY@%Dx&gEUG}^yAfTlh3~I4*+7x^ zss2^<*+yaP6|IMUujfY5=^YPgXVLSFT<{7o3{ub$hpw z$j)Ttd6(Bx^c?04o@}f0Twud9@WqIdelJxVmYlVyN(KG zzN-aAQ>KzQ>dx-w_l9ILYjCLgabKg~3$)iZQ9d~0zc;)M9`6xbGjcLBU#kBA4Hg*m zsP}c^y*w|$bH>MCnIl6|wMD*0VT@PMUI_s-eAsG99NTS(q)f6wdxwSOl11klI>ek|0R?ksh0jv>gdPu;@`q$A{Uo>wS z?hSZHi>yhIzfOM|oXQtUNaDdgY!{?C<==7zFcO=YsEAISdWc zrBV2WU}m>zlx3Hinp0Azp;cpP9yuF4&Z4{RA|)^!^z^P4!Z1!-f;(4br%&a8y(_B< z(a%|Fa?7WcDBIK;?{uC}1Ju_D@&PE2@%mR^qD~5c*vYR;4=qkwn+J#?Zz!KnTJky5 z3|O8)uV&YV`*VX{C4A2m!~u|VS!3O`G{S1^RGR^fQ}WE50n()#i217hmcqwzuL90Y z^>#!yHm@A1Cqf86t$qIh@GkZ%m4kB*Ko#($^1^@+Mn_y%(SHK`R~@b3wr1oJiuN+) z7)jlpW-^@Strc_hvrw>$`!q>_FagQ0Ho4Ztq=p7;3?B8+TAO+x;u$j~4i% zTYL9V-2oZRX;G(DIG(N+l;MMwI)`tn>b9GmnDTOK%=Jxj-CU5v^RF<}{8>A>1&`re zHlyMRn30oLRWCwj!kg;M%~V+)6nSd@8pzcJuAy~ z$7hwZ)1`Vpm-6Ek=K8{BWAy^HO}Q(WStNCS61OZ-vDX#!C9{h?Fcjc{&(^$W!WP5# zc61I%ilyoXgRBZ~@}JLooMcbbUq!zqO~yBf8OG^P~>PjPYKNY%o?d>&1B{i>Rzv zjn6ggo)(DS%#21rBBqm4OO%PzaC)BK@Y_U^_VOl?axy=ievWttNsms`ywEX);=WM$ zSD*%HoF_bXud(ER?7bf!bcOzv?9-&98y-zcu2MdA_~qh51%&ZN*e4)!Uz&a*xiU*5 z^(2#DV0>xTTJquHQ^zFN#k%8>DIWg-*1W97eGfwg3uf``pV50m!NcB1nO*35{{V(<{_Y2% zucrJ0rEaZ`KjonQb@QKwqu5Y&#eFZ}PoC=3jxfT%M$4mUpCOn##hr} ztG)5HfV#4f^(9a8uQ>Ql+jQ6mu&-yg?NB@ijw<7RfN&Rjcq&dh zSDx#-STQ-D|XiY_5eJ&SbjWImYO_{0mdtK4-dXEgF-{P zC`sZiMmR}qJ}VkO9kMxFge!yC>8!neWP^48sZK%L=6Ef%PR;$aZGxlANqaxNKd||=*)ZZUPPGB=)b<@D#L1&DWl$SaQ;YQIb#d>0f00A<$P()0XZ;!60*v=dFCh z;XN2?ddv|HKwwXP{8!%E7MQwzmkqLve4wAky{a&>a%YQ}*3*?49x1(!%S)D4IARa- zubVs>r`+q_A(v5?B{yMyfY*KTOIMH)ra;+gPTswbQ(Hd{^p&%>M%&52>0Txw`+Q1= z*@^a5zF*f_qh~)XaG!rE5%c-se9MEWjYv##-JYab0V1At%ceOvKDNbU5I25@oD(-rd!Q7p0y9OVB1D)ljYq;X+iQq`DM0hnM4N!eZc@!GY8 zvIvF+Q(I0+$4-X0`E9w|uS1@>i~@b@5!7z3iuxH4k}I8Wy^i9ssEUc7aGxekSBGLxk8xiSR(pn>RTD_#&2V_9 zj@>GETwVW zK+SsohbWo=xyEbEHA{0465|6k()f2$*Z?Q+s+=x~r#ndWaJvmQR{;sA#lp!LU`IUG ze6xl)2D0{Tv!%|+sVnXz_NCzD*%ujV#7=8ChjvL>3otmn1B_b@R$ z^~G{J0x`Zw@yTEZ=U$U>Y#!WSKDAh7uQ2Adw{zS4dE!xj;TZG* z^KaS!`VLKa#6AiSYvw5Cw!C8UTI!an8!=-z_ch&kYVI4GaTJ|v3{`hIUA;{zB&O0n zcE8f+)2=p&J^^lS}he@C+kh;Z#5`R zMNC(N#Yt$Y2pu@2ARLfrE6znU^sL*lr{OAd=X3SoYdPl#J!+fJ zk&M(Uu#8_qsgZBoN-jAxFb2NYm1$L^H!p_WVx2^uK^j&a~GGpi3HR)H%Gay zV*2f~jPh!d=tkt1mn?D#u6E{D^{WpqbCXz?FW26*j7;Xrv&u3@y<|%Ji8XFx(3;M3 zjtvrbGq*yUFwInU>`hp5PHKdNs~jJ_K_m`vc&d$4ziO)NX{IM5ukdBJ+O+^No^$wD zdE!k*UE;(XDgHvTJ{j1x&Fiq}0sJeY)%4VtR+G-;Dqv&lUunbCJ=^s@Yc;E?iR2ft z4dx^~n##7*z~;IQW)HLK1!Fx3{Oe;w)86hEnU}8}JuA}2Vea+lanY%4SP%nL(tzy0V{2 zkC>l&^n3QrxUV|YM(mSWbUaFI;;zQvK&}^4kA?(Sb9o^~Jl7e2^OKJC$A~=&F6{HW zxOqHsYnqsCZ+h)-qS~dp*Bf>Uxgxk8=c7&C3`uc=oK;(*WQ>YoBno3TK?LzzL`^H4 zWzg9v73Q8Px7?4$JM^zs)MCLk!s{>@A>WR@P>1_K(*itz`0S4BB;yBzS=IvpWnC3e0Wj3yb4d0T3c#nF!yqhaEAjDVRZ zrFs-G5mMZV;b%2yqucc~iLJ;z2(Jj&HbW$U9s%!NEc*T3#6^4kYs>Y!i;rvsKy%v(nEJFtPD97lLe#7a(dTir0IV!%Jr`+4^DG>9aSezn)kIU zrJd!#`LZ)!;qZG$k{=OUG=~9*{A-l7vO$1X73#hQmMbl0(f4Bwn)(dCFN&IM@-ex@ zxf-RR`V(;#y|;#dYyuP?(!Le(t?JLI&R6cPN9$ik_=m=5bU8xEI81f?E91>(_)jFR zTbCr(xVXj(Lz@MPsWkbS%iPLY&pm6Ny?mX-)r*Uu&$Mxj)*bc9WyWz{ElD1f66!R% z?8Y-xrNK1}6PL+7sFlufToY$PXsskc&U@C)j6p!atZ2b91Dfb8#uR#rm~LwJCvUua zR{^O+&2UF@Yq&B4F;Z&^^4l_o9l8B$vke|;qlUAzTRVRW#j@NtbQNb<)i$;P!9UKQ zp${(5liXJ)t~ruWtLtBPep+cG=G<>4bb2(q(pirgJ$-<#BgFcn#`w+%Zr#AHqA3l& zo(6EpF^^jEZF=plu5+B=0DiULQOP4U<`$RDYWsI! z8t9_d%*rDzkZZt|c+GON(Sz#Do`EBN;}zvU3oX_?Cf_3;DE?LNv8ot~;=eb|Ykv9I`n&}{-J|25jNTgiMwxJS zWbG%VemQ(#(L!&XR}B*r@7D&udHy5VEyaZEw>bn?^0$ff^CP(fxvw0TM_;v)7dbwa^&g0|!@2M? zl55PLMF!vBv z{o0`?htv)hslw!PpFB5(_J7Mi(wqMP2;ci3rF;AMcoEX8f5JV2Mk#U*$N$m%o$%C2 zfXs1Q_mTqt08hfa?@88D*>TiX`rplcks6#D{X+$ahKGSu2UFr|$ofa%wS*TJ{{U)} z027{l1$|+Es@mDvODP})7#!EkKM8y>sat8L@lFd2{&k`84_MVSoiastISNl&^szX< zXHB_BW19<-#}QsJjYW3$INeWGI{yHRU9*_sYCH=X7$|Zvntq*w8179? zaGxoyX~c)I%qjp$J*$h?=3ofVYVT%`%TmLod7p@67yh(rU|GF<0tug*LC1n-fOjG&d@>4d3LnkeyCJr z;Nrcb;k*L|O}XHoY=8BuhY9ajDzi$7%luxuZK)1>^sfrC5*M#f__1(g)kJ%^&3T=k zRf8Jt#A{H)4zxAHx{qpDWzSk!Bv79>T5MZLIXqTpLMvU!j0hbojh;NpNEiaTi=Y=J ze=5L#^@k%Q)^%ZWk(F?mLUUb5gYAnF*yNnn4cu5xeJj53HK`DnBRx%XLN}2$B=$WY zOI@>|uD0R~F6>t=ri|XI9&uglsJ>o(D>k=BqLq?3>!`RR99JQ89!dFYyt+=c$X+H1 z2DoagI~qrG07f?q_NAFHxix3Y#xc^8RNWaAsW7VaIDJ)%DZuJ$BEd6oqqS`6N;y3< zR4gKAx&#ijg+=?rIBYk>Q7m>_x?;I4Cs8r5OyipGyj2d(Jc297tmN|N2R-Xr^0P?A zB+qWswIb>OJRjDyT2PC)*A1oIsvu(AR2%0#(64SDXPz1irfqFbj()64ban$57$o?S{Sn9eqw)qCroI!vkQT3U9e zCA*@5)MN2A+d`sGQYA`KUhd`xkL58>Y!6Xg4}@9d3hP*&KY(1?$9SU!DxZRNrMARU z8s)?*OfPq-?V5$M+}e=iB-hX0BGSdB;hrInn!VoI{ccm(*PD306jgR^gPP@2agvfW zvT?EW5A4^kD!jT($15gV8R~I?kIJX`pW)M^>+-x~3n?x6^ItuDC-F<@o*}ll4S-k- z{Z2Dqbo@-yVetotEw#u1EEEzz>&1PBHj=M|O>U1D1vg5&O!<$P6Ju2c5agOzw6V>RX=QYbDbjBsc9QulSpVE~GAXCEe#bC`+ z&~lH`n8za(BKA4_Da0ur^_$e&l`YBy5tba9t@CH*{VPDG8x;hRuTU#Cu2|S{yEUSt zcTOuhF^;@dxSt&Pa!<#rB87o>6*-uw{)tJlDpKaBb?@{ zGy2qyaC7Taq&OorC|0r|cHF~=U2L5VCE zt_@v1%w;OUe*gO4OnpU44+!<^y?^K z($;At{p*I4=sCrHox|8?8h2;M=5=p94;9tz6|bBDoUsDEHp@gBUW&6wxGIH@9@(Qu z@Uv?A^f8s(iTlRYtwbhCAPNQcy6`hvPw+k``5%{y~(Sd_7+!;hgW3@5rR9{ec?EeNY_Aq@*|O6 ze`7x60=)yl@l7S(!I2T_Yp#M#qGZoX(I)dQC09Rp=02G{tIYgmGhAv#NXX{9sU}+` zc3v6Sk8%fk^Sj`0H5ZewY*)FBuODL=BhJH7e$~mDHuiwvkzEb2NPzaCZM>iXAB{t} zuS(AYO(k<`t@9TooRwx;%7mAc0&~qyNh(E6VQ;!XO>|0EV75IMLPXev^#oVkzY7a} zjvN!vb6*Q-BW?#{Uw3>UK|Y^u%Yrx+>fv6D@v+J1dmg_&?K~DaAXdM^$^QU+7v8!5 z01`w}!bRvtY5xEUr6%c9JqWKlzLn3d%RT(EaqN9ddO@}v*PiNcfJSS+yUDZ%{PeFm z)I%0M^HB6WS}NxUc;%$xu_cRfB-ckRx!iN~tlN|dymhWRk-6OmV};bBz+we(w`qf# z^qcsB2i~|1K}u&FVz?@9chP+gZSV;ml@F=widS$O+N%jdH`c4r+^49-3ho1gT(#Az zNo?VVBD#C~*kg#6Bace++ue3J%c7nS=UupY#YWO+n~J43B;b!O@f$6rz2d-;{ zvy$Rdf=)fF+k8{u<&wk91D&@>A*o?Aob|4sO464L zzqzR`UH~%9Q#Pe<1AXCMtsFE}nZ;WjH=;TNVG1Td108FP)or09o;uc@$B5%F5T}~p zwH;;TlLNV{#PZnZrCOuinh-28$N>Wt)LCA^5)KAMdCYQ4AqOX~O5d}Mq~(oP3LOlq z$n50Sfg@qht#lqA)h0TOPN%0e=YMCzZeDR+uZE#5a3mSyy?a!n%czFr8za@V(K|a^yyQwvN0xHzD;IaCP59&T)L2k z6`v#Jde@Ux=y%6LyhsBODI6ZP9B-0A^{HKk(cZY^&0@48LL(pnTQ=>8^PUBB?D%nx z0jF-%uVP=@k*zx`~_BE>er-e=zWcsT- zQDqMc*1VqSwwG^QpUl^%Ym%&RxF;co0Iwm`?hfKJUm==TNgm!7H)dVL<%z-Krqk{l z&H$c5h9;MUo}o`%`?+$L+QVVx=_@e5r#p#dgb0r^UpQo z8q~QhlU|LiTx1cN@?Bm-xsG~QgNdEZX~xS#jg|iZeY>zV(Z_DLZ~&{5T*-{dFHZH} zcv)i(A(I^7b5(`1dYD%{_T$6y$8)@{6^(k&gR~f2$G;dg)nE92JBWiuqnv(K7K0qt zQV97Qc>JsBvgoBNo+c%>tb108qS{7^0**2GSGM>z+S)tF908ES`PYT%bIT+u!H7TM zUYp@7*#@UGHNfm?#SEH3xYljmx|KK?t1B=)>Sn{K9dlhVS{TUkZEnYY~++f+Moj8M%j z(2*>VkGq=1ztSRiEEg5nK@$T4UU}hNS`~#6hy(yD+`KOF z%P4TbgGD?&Hx(OfYf~|-rz)4-m*TP2tU!`1upNKGyI&7@n(ER}mxw^mTpHWc;aQnf zs3N-L@a>({AT)fQJu4|;XCHx`6mz;YJ=*ZUncHX{Bel7WNzZ-W z4V6*qk>(?1#r%>Hz&IZK*U)|kjiJ-tLV71|mGh;vksGkVuu1$Y>8}n;96leB$pDd# zJ#k#QRButSW)id#K418YdeZoUP)0yCgJ8SVmaE<@ooCjrBTf?-WK`E4e85^C8+SjOJ|v`2GR>|tIb6(M@o48OaK2@W-p|c)s+)<9~Di@IFIIB8H z&GcVUUD#@OYUc%Nnjb=GYXVDUZ7xa{P;uyb*Foc{9@Xs<&=d?#;5(qkGx*m#p)$6s zW9ALvWCV|=YV_|FLmd7>OBhz<=i9Ka*0P#6r4!?Ev-hMk;oQ>R-+2)I_Z*)172bHC z!mjsUYn)_k8-EV9#{4vh+w06?U*SKOt$iV>>CdWKmQ~_7`;O#SrHQ9|CUDcPl0QDa zB1pEyp&dsR;R+0r53PGo#l(`&R+ilL1lNw(p=p34sjtnmKYJ0%eLe|(=<0OKW*`i5 zdRMe~M^AfuIV5Gld;!Put~0}$LAaO}Tq2C~(!Pz+EOh&QEKeyL*kMOX^)Pf5uFPsS z-iMWIXsdEhK^lRNdgb){ZR}(tIVQFIO?0wqQrkk?j!x`yGoF-L$K}J5!4)`}sm{xx zrWTc>sh@T{yoKm16tLqx>q_=q0+GFxL>0fMo2Gy2JNZ@12HageA_8P<}7Z}LmzKZxc;c zQOjb5&s80MmCkBDCA9>d+>d&<%JsS7tTkA>IFQ}HmPsD9fq5W3>V@BkEr}#JKaFyC z-X*q-=XG<*C)DVL8kgCccd{r_Nv;P_l?y#r)jV4g#!8&xywc~ylTR@VoDfBDR8d== zl?*Lct5!BO3&`Oa-GD2KzVQ-9N=AA1s(OsK*C=z)`c?!wO!7({!REQ$S9?Vr-&c%v zn=MOub$UovCpDWclFEM)amcLQO70tQM*|hT96E2`IB|H^m8ql4{6(ZM zlw6AQ?J?l9yhc0_*snzKCa4+$7v8)Y=JI2B<0ppAa$?}2B+-Xwj}d+oo)hvT52FNurEeoTPBn z=`LiD1D-1xNmHLnvl+_ZRYH0LrnfIFgp3oP#-b1@ZN`X(aBBL-#E(kWI*V-wTSc56 zwbEK4KnU+yR;z+It@x7|K9%fYX;~Z}An(svISC|ZB-c%Ka3vjhHOt(omO!9m2EKZ3?#F$sh^=h)F6?q?_OnSH@@zQ4 zAI`da8xt%T$4ZVZ8bNlij;t%G(t0#;bH`QG`d7hP8P>G)kS=<5%_gbfi;X_`9iJe&x_=omYx31CrtJ@MReJk@k&Z_pZKHCFN_fazSh&S7uj>f)2__3w#j7$eZ z*1prcj7e@l=Du+Fi>8U}rd(%kO=*+XwCqM>OWnEo-Q!IOZX$IH_kqV9`&W?YvB_;P zMi?k@`B&9C<%pRYGC4v;cvb$A)|!-s7YYC!LE^sWaO2mlJl=($FktFxcKSrjv8l~< zkX&v68sapiVHg$C+pAa3xSqsbg`37=4l9~@Sg|$MPZnYay>ipxWFYm;Qi`}K6T!O! znz*hW9B#qu;lSn zp1^kaxqkz%x8gB$O)WTu;ZmeEr&fbU6WdN#YFae^sL!wpa0YRQn9$0pk3S_ zdg*j<%XuCT@mD8fz&)$6(cAql6P_|F^$ZraXU*ajk7(ELKF#6KNg3In!xi)Xj2hzj z%G~Z^Yt+1Xd$UGJ(YPQA^Un`JV~@-un)7k<=fx<#hp~Z&v%xuaXQb(}G&@4RE7g2A z;v1VcQMi%)E5og>NSrA+HRxI-##c}|&lT5BZA$3#Wd&=WT6j~%(YaGLFmMff_Jyk0 z-UZs@JXgnB0%9?dj8~*+_t$o^D#GLw&sz5BPU`2Eh{L4xKD>it$H)YF*C(vl6((qg z2s`#VLvw6h2q4p`NljRcEqPLxGCq9Pyi<8(?-Zjr;=G$!@r2Cf zKqkG%#WohQJG&^(YsB?!HqjZjj((NHIu%xlp8Y(25`OcBr|X!Gd(oS03S-1O0;!O=FzW)m&B}M z{{U;i@`9%x^}P+`Qb)_?xtTmVcb%LHY0|H)xk7L~DMr0W{79vRqd$U2Uh@K*Gs*8* z^X=!jtcAX~hlv5esXpHniZFSum||fxb63L79)oS8S#RQu58|(-benN+qA5HUubsR< z63eVdpRIjGA}m@&2sk8Ww1W2}(Uln9v{1eow`nJ5Bc*lMLja6aJ`S_pZqpH*){dti zmmyx&%ggQ_mLdM}oGsYjlU&8ze34y!+GG-Y*DrXya4XKPwJ9}Ymyt*~p-0GR@{Bbi zj-t7vxo>05JWixaSa35__)Ig*x#$R|_@yvQV>Ea(n}dUsPT##pE7A;K9=;(9n(=wi zGMv}5d_hbi`&W-j2|`6_i(d7J!^=yY(QhI^M_kvlcp~e~1Ghn5FL(fK``2gS%~V?4 zsyW9s^VJi(JqV-eD@jo#JNW{y#!_38v%Pb6lM93lt(@0IWELP~kd6m>$ugSI=Db%J z5d+@>yxzr#n+?d%O6AoT)bDdCKzg6jx#?puj%%k89SmUZ!YL734^u2@B!!l-9JxGJt$}r6ydHS2 zC`*~x+hQBB1huVXK% z%T+Ur6Hf4G{WQm8RC=Fj?}_= zsBF-UhH4^q^Vbz46O7dtk+Xs^QEQImhGkw4YK`V!UTU*3#tm0?#%O3m<8WS2BJjIxER3wws)1Ap8s63mS2CZyS9Ikm8s*NT)WYm&iVyQD#MH$Lg z8zbhkCTg=G$Q4FrQG5ZBzf~}_RkMXDb;P-Bl89XeMdFu+UBDxPXrP!0b+Cbbgwz^MYG;`lG-iU zB%ja|UXkMcF|BXyb~f}Nfsb5@{Yxi*xry>v`0x1FocK~ZnEWu1FxX6DKA1f5UY8x1(0nB%t@7nd6Yq-K7dGb3 zDpc1hXXUrY*HrP8uqHU?kF9x^hjh2QxM&rAz#SXp!gTV5;ThC zdZ@36jSp>!oVr~4SWQBdQRzMq@QY7t=aIG~UcRQej~8oqT0ElOCcs>UAJ-M@H@eln zfup6E`2qr1=Le;HyQ}Jw>-x;MZ=HpRQP=^}y0Zz!DJYxaDoHyQbk%!_jPi0^=RW4T zYnc+>+XsrJrrU_r9CWH0-N(vf2c>c0R<~x=G)FygeA387eL1QOWs*#Ced+MTSQaO( zPP;>b1~FcwqTYuhs~Ged6}*l|J!vF~)vu)2D}x^%Sv^ zS|Yp_A~W+GSG@covx&7Lq~!2=*U#^%M$#M{*RFgk*5S6+)H7o^uSW?^9O*Q0;xV;( zFBhr$FK?nnai*e>2rKLDUQ=b^h;95%NErErdQOMpi$~L<`G?)d>0AxZi0q^B2xE>I ze>%K&8ag{3p9$uboT^33q4e#BhF?yPZ*{Lc*L*v2BytWjn)N>o>-KVKv3$b?de&yK zsM<3(&M8&F#hmoBs?cpS!lck{vP&HESeL#Zne&s^(%k4L zvVu6zO5`r@?X7c;pw)Zt5InKvPbR#-RMh2XbFr#uqqsGtnOfyM+jib^Ys)VqG2UmOuTX_rR@hHk;&r=E zEz9lbYH?8aZevB+*y(&Na>RK@0Dns7{A+24GM}wm@UyVGP{Wh&U4M);vo@Y5L6Ap3 zm2_bp;&bA3mCv4J13Q=Tr=aiaQLtqtNXFBOd|!Vam84^-Y3OO%jzW=Iu*Mm{tjlFQ zeQSQwEVX)ASX|?-*>Vd~0QRi}jD_c=O&X|BPijYPszCZzvj|!zpE;Xe9<=kW!RiHi z(iMi^1HF0w0EQw1AD(NizPJes*Yll51xAZTZ3IYo3+Y zJXecQ^k9tZf}@_t)~Y0fkT|JkaaoNaEJblin#LCrb_POw)wrY^dRAPlNgVQO<+x%o zT$`OS>}lH{m;=pgO#{hqz~ZTCmXbSzjtz8ofJJS$9V>cq(&DKtj6V$Nk;$z<(hdU( z{UFn{%PW5eLKG+lFX>;O9v6yPHAu>h%ea1qzUaNbHhvU}B5+nQ`j1gw#!o&~W!&)d zN<7Uo;y)PQq<$m4D}su|e^XvX;w$jmf^>c>yzx6L>X(kkC7Awo<9fWs+{d0*HJ)XO zdYWM=t0Z&NHs;5rR0DefPh*o(+eN*(uagi74EsHK}1~_Q}Dx{sZZgRtLgXf zF&H3#dwycR#nd#Fy3;eaB1HXhUK66|X3FsyMmi72HT6!PYA$qG*bYMDAI`4}SC!eE zSgL%={m+pFh_k+y78nZTbjMR&wuKU`=-C`FKdnXLJvpqk$wBD+)LMM26M^Z2*EQ|) zU7lniWPXr5bUr8_B8Q@pvdAx02Nc!BqSECZa zUGbDW*O2(qz&c1V!30;ZLP;Fg6XL5;BrJZl&4H=QQ5_hlb3vo?^TZZ{+ftSm91?5F zd{3p7jc#KZ2ywvdYv`XH>Eb)*lnfF{uQ0lTE30`eq`?Fc{{Yvorp&1G)4Dud4D9th z<3~{`=*1kcb--Ef4c%@?JisG(M?@zsY9-@Fm zNEPPyjH@ZlX4#@G+rHcZTTl)7&2rFAxfRpcOoR+p(KCKUsi4Y?jw=>uPH~FqnU$mK zS#pK^sC(E4>9F)%V!LY?GlA(`os+0xla6b$vXw?T7^hEi@1fG#TL1yYU3+9Hj8$uC z(Ucv+v^>OR#cZ?-81q_;R%6?(ZBIHJRy@}$lg(2ClS8-gr1FQQBiwZa)E{ZbLs`ga zpa0bSN3vs`y{oX&%Nv-0>_u`GoDJTU)amTX!G~^Z^xPBbeC{D!*72Rwymt2a&T2g^ z8Y^%Jz^;2%x;IzRspoD5bdX8qzyToQyoxWHwC2xq9qv%4O%ul;GJsAGO7$NKqsbz- zVg7p8ky}d7IL{>UUf3{702O$FXUy0tG?RyR8BVOO#c8{_vyPM&Z_k~dm_@@s)P4VIQFi>e-Mo-0FK-W=k!}*r_FJUb6j7J zwIxL{spv6P4bDcchIoU<7Lt>+j_2uKMX7j!WoO!Y*E@Z1(@IX`k4)D&eK(eb=dE+% zF->TWs#sXVR9L&#mNz7GjMtKQgIe?N2h4ib#pU6{i0|ru3dp&Z-toRpYHHAowl$%NoOF8>JRv?cX#CG_=U-J% zwo5orc2Qp}>Cr8&rjjoQHS|rD`pE=J{cr_LA1yZ-9hi9YS5t~TtHIWRECD@DMXg1$ zLThirK@OUYnyId!$;COxK{?)So@ICrSq4a=g0xSnP(V z<{VXZ7&UHhzg58*>0EZyrLn{Ksx#%}4r;%E!E2loz&&eI#Nd6OBz858;CqFJ^J{g_ zTGA``kvZzSMVcQGA|(MGPg?N_BT=03UfJW@nB)Kg4S3bbU8fbMDSO5=U7~Wgh0XuMpBfX9qlH zy5x6Xm5psif^oT=>NMsx4{Gu(B?YN^w8A0sBLlov6? zzM1wk-!RA4u_eBWCc<%pT^EY=G?qgZx#QZr?bj?x>T4WKeUr3Gp)O^q*qLLzw{L2t zrWql)2eOcV3dFLwc-vzh4RqF+-WwbmtTefr39T%Ci+l*yzqC9pEu_6jEPvSmU=Px~ z1IPC7Vd5)<+kjY~%;vpA_INCo)1w|;K|a8A6~g>v5=G(}Wh;Qh^Iq0}3*logLx(4o zt2A)7_gNilLJN{lT#Do&xgc>`a9s@buYkGs5!mgZm=zUzHf#)6F>5~ol=EBA$_O3n zCiFIr=G-#&HFi0MDFHE<2(v- zy0GG_yK~l>xH1>Os*c|D`C6&758|V7m8FmjgH(%_&UvZj+Igyb%8n^0lPOq=UL4kZ zqyvFgC4MU|M+B4KrD%qwp%b_#HC3{Gsz*3HRcQ|dinAul(l=jPr7H{?u;deprz;E& zc&K+DLX)1=n(x;g>cp?Qvn7xWiV-c4+&JeZvn6(r?OsWz&o?;rsFAi3bCdL~DN}8j zRHDwF5*DYXpMNg}YtyGeqa`x&;KR|Lt zc=y8n8ck1Gu~a1QV5c18C#kQ{n{7Wu@YRG93<>aK^&s^p^RLr#+Kw1_v*a<(^KnGh z8hkM=t%!(jatXk}P&gH5;~enlo(Yo&1V%_54@$q_;`+X*C&4KZz&){EQ~OnFh&6tI#)-*=nIqO=3fz-kdjoDfS7G6)ggUjmDes!;!_VGU zFt1PDdLMrHZb>E6<2%j=`R`nQx@Ut~$a9_#UTdT9WUnrs02~ZgJ>tFbYN$_BkLO;V zH8%v!cxp;Gi7Rf8qP!=lU5zF(T;vRO_N>ioUA$R7@dKw?q2XKO{gA%j*17$5>9YR4 zYed<@QVZHid5JfOt{W;z>U-BOd8*vVNG-?Kv1Pu0GZ;K^RV1EAQgOiiYZ{m6Z%Q6T zYs=YPm^)-wA$xcg&pE9PMcH%DTIAX}ByilGYss$lJs2*BOC8Ud0D9uJMv>g@?_HIZ zvl#YzR%WGQ6D{jpvrgA6^V@Wg%16C!JZraU6+uS;Y!oF&FL&*mM15n73=p>i|rMLGC=;7~xRahMxx-Q+JEGOJCj*W}be4&5yyKCbhH#owyZ?aF(mn z99Jbsp+ZfbStg%y;N(?9rOI2luSJ@BWLyq@m4PkPTkrri!ziO_S9%=s>1RK@$*rq< z1dTp!-Knp1I(k&l%w0(wk=n6MUqiCSou`(V!0AhK9J47HCz_j1ww6)}uBy*XSNT|G zx~Nif(B;Hb&SzWW}UkduHEj1F)B^{xZK+HtnISvGFl zlh5_6uZi00q)ixZgKr*(wR+e{DroYn$n>Bb=p;@ zm_Z|o^a~4igk%g6SXvdZINCE^q=;dQBZFU0hK7fgR(%RrcW98X&N|nVYuB5}0Q9b_ zSH3BcoL86XR|ZFJYo8y8ue!JN?MH3_HQ~b( zcWE8+rEO8x!KN85(NJ}2`j@~uIgU7#3;~Mp?*>9O801R{vpct6gwJSC+D5skUcdp@0{v~I1p0AP+Q=<@k= zXU=BHKX~D9wBNHYm<9@S>Bz56@P?!=G^UNYz{lxHuW10t4U{F3WwHoB&KmKD{f(bjyTe zw>ck`do&)GJj${6kI)~0H~watkrT?0E9^*{bV_UBKY)6eS&gwhF^{Ev<)^;;WIc0V z8N^iWS-$7eWb?f%b~K^ot1n!HNo;a6*0ka4Nq-o7V~*m!b~3b+J!vbW;-867n|Vui zCqLs~K1p;VxhhWt{{TAri{izh`!tP@yOa4>$(QQe#HrKzSLj%1s+e=-z6z}rui_D1 zrN|sN2DYuQl~e=Tv+n@8u`(|uN9rq;7wo-HO8A^@K3TMVCKg=LJA2EJ@h~R5$5yxz zxo>*jO+dPkPDOeD0En)FBOLdxOC2n;Z>Z(*n(3`CI$-f$IcuqtE;EYjZ1n??&1jXi zMm;Jaa{F{_r=?T{W9!2m_^aHl%@FHHaQr z=D$nA=y(-3xtkPiE$e5H4Rq50k>PvRU7SiT3mVhAIZ&d!%5ddR)bufxROYSG4b$V@ zGUL|0qeQrlB|r~6SB+`Rp}KR@y$eWL9z{Rhu9_0n9CbE6mGI2IaxUHg?_Ra0W>#3S zoyGvGG}Y1O;&f+kJVMsMzBvOvmGhU2FIrcV=ITv- z2jVNOmPS0}V;on_z9fLLef$czM$u+))<>JPi^(U76QUismDIUv!cmAc~}Q;PYs#S@uzo0Fac99Oj^ z%Sj`KI@Gz%(0J=c1w|pj0=VvUsN9deTMA0&(xHrVny{*N{V0ODq_+_yVfRg0g7#Qj zJw;YQflMR#s*|?FI3{*_CDPsM5hM4np(3+kZxg3ciur3rn8m5YN$+1-XxAxoXA)!* zKoz`csl&{y9Y;>Ow#TXXXI5)nJyo&*80M^M8oVcyKZEcQn1 z@+R||tY$&!Tvf)iIVV5 zw`r|OaB*3F7lBgr#z#X#gOt)TsZuo8a|gvzUT*}R2d!{#=VJsK_5T1Fgi^mK1e){z z04ZdQkTF+N4DV~0LmSMmV~v}3)41ZYz%o5_SN6m)Dk_b=vu7k`yo%J_?9G&u)f*Z# ze=yx$>~?7BxNs|ku_YWR8*HF|AP;$H1> zkwk6Qu`X>}8BzIEdVGxy%CAmqo}KB$ zyu7gl*UaArrW$qBQpni{AFr)`f%tz?wYiNp;f4S|jeX~_jZ89&)cNRDbnD#w=J8L% zjbp>|J0xt;jP~tbbsVo0o>YSbaf4s1UL)|XpR8N3Xw|cx)$xbKZ-j4YG?!K}?dpC} zUmKX@e7^NF>TtP&dPwkVJFToTa0PU>*BK$bYl^tFy3=Ja+#x~^IjxHuoxm$Ke5*}p z&u$LuL%f1e;~>@O_MTYRIcYZ-6||3$?kX9oMxw^K$l%m6!pbr~8jcwXwli1!&CAHm zM6J}(CTAw~$)-6x)#9B;tw8bMWOSsY24l5TB%ZaWBtoe;1EouLU}wwI>siiCYe>8r z%yh^#QI*bktC`Q78q9KQRn+H>m7O3TO40_bpv2~(ZQFV4Q?*r^MM1WynG~fx>n>>k z81GNHx*YRZcQ;<9rHQfgOsYE8CB*E+0Zfv1knJ3r(6iH8KptL6t*KISW)*7L87U01 zk$`KX({!kvhnvl7L8kn;Mb3Sy@Upm!e2I*T_2|*%*&Gv{_bpq)VG4rCxfJOx?T~Ga zbDGKf74x1{sH+R2-ASFmgVwcjmtt;Ip7t!0f!3(~rY|*4JJ#6n^o9O^OwvDx!T}&0 zicseil6_CKKV}GY2`+=*6))96>}%;iiWb&lXvMo=95U_an)nOhMx!o`ti$E81atNF zuhdN!!h^+nHMR87KT?VNzxZ8%vt}gT{pS#GfoW(wEPg0uJ#r-#Q z((it?-C6vLy0~p1<%TP&xSPthIj%ZuW7At4-o1Qea+&MLHOdZpRg3vd)0RAdY8C#1 zyLq}Jjxrw}ADXup2Q^+JxR&TD!5HaXbd|Ltdy|oxfsPuD`$jv|Z`jpJMDmkFKM>r2eYN4i@7|mp;+U~9TzRmJPN^$S9UNfqt)@23TuvvSB_qL*Oy;&x-vSeO_772t}7E-l;Dok z_^w}af_sKLAW5DN%|QM-DHzBV%b3mkH)FFbOWVZc?KO!7^C~w? zRr`zinYcga*13%;(d557iRvrAT`fZ8g?!x=IY#LBap@|yXCpMyzH`rN!Mb^lLCtsa z>ETHmaak7@E6SD4XDTu{{i00ZS!OxG$E9XT6Yjz4E4-4;M`2k~TPSXo&ng!>DOE=< zw(iFQx?2k#2JVKR911Wjpr`En|_?@V4n8w6pl6bGSb)6^d zS_HCV1P{u-1o88&#<1{bfH%^hn3=w0@f#gFsI@xn+Gj}U8c2ZkXR0t$3~fx z2EJDj8_MUgMd)9&izIPfew}D{1JhR5Hu1dKe7SHEi&JFvg9eo+~zrf3*9#=Z=@VQ;C-I$_Ai z<6nP~OPY&E%w{UpZdHtkx7(hT<=WJy(&^9~0&*+SwMHnyWbS#dJn>vxp-ZUw$6ukZ z7dygh%zBs##S44#dYo4c;%m>5{%*CW9nysuKT6@eK`fF70={v=$E_y19PPHC1iZI; z?JPAAar0M`q%*AB&#iS9GrVAA)yJ`%mZ!1l_t?P=S1xbB9c#@kwO=b7^Hv*H^Ex$K zUSc|Tzdm39^sVbXLA`6wEv6Dk4r{g3qgKJFvNcOXu!8NI92(Vz<;D*+mumn3R+=DD zN-{+x*x9ZmYRi^+Nj*kuP1JSkRb57FIn7*rjK-1XJ3$qyvM+vVP~0kPeI4Pj zLL_?%fxS?H;55_&$~Du&c12! zJ?jacCF42HIpV&A@vZc5L{$z5&wpC^e^|T{+?69Best#T9Z8~<+c|57Et10-HN@&= zyv?Jb=DT~dgd_}NxQpi`ob$&X_2S9vbFxoM9A>3E07h_XzL>2&)KHQ@&VLGvP!dlz z6W8;tUk+M1)MAZ+C$4*Dyyx##NZ;Xs?@py{?Itnu9E zPw=3NI3)=D>*Sdoi6s3^d$`RKiRa;4ZL%UUQLK6DY4p*~Yl6pYSP#55)xq~_pii4U zYUmhRxPwGEV~*6)aKB1aQVx4mje$wAG4?!O#DCfq^oD_O(ObvQ$}wLz>BIdpA^z2U z6Qrm55_aib6xX^$7w-}D&xdtL8o?FMIK@`g%oBsOf-8g5XPVx~GLwp-d9F(zR=}>g z)K(!;YEI0rt60Ruj00Rf)|(k}c&%Igdmxf}@m#F>{Af-NE5@v#-RyT#t5Gc(PJJdJ z&swhqjB&|=F^Y7W+-wfgD>e0mXTU#|a=5`e*x6U8)~wjS@}smWdsm-nnt-*`NgQPN z>s0FFjfdh{HYTmqZqr@4oqdi`7^WkO;`usOR?t_%{dyzEvp`hrE1&Y z@>u7LR!#HfLc@YhbCy$>)r1=W_No@{Lt?Lyn%UPv018T9S*<;xz9S zYTh4^1jqn``B&Z_v&W0?JWm)iWQ^dSr=@(?Yw*VJU6l(BipQU&eYfz3!PY(v(_&Qs z5I-|sz7Gph7uVf5F;k1PwU43JCBPW2L&TbN7Z6CYs5u1mu7!1&58gaiH?HdT=H1Rm zLOR!HvF>K^3rjQO?;3b2-tOtd2mvJauMgHdF@K@SyrJ1&Tm8D;<5p#EK|Iyp6L@07 zQ?V`-1Ghan>0dL9$fIAHQQZ3a*!4$}FRAg3ozvr!T}7n6VCz*i{T1|E<_VpIny+PX z(-rVl=t`WNWRGTrRXC=Oop|Kc_<3Ji$c9b8R+Lg(ZRp%*!siu08jG@$FPw>(r2Xy@FMYKp5026`7O80f}>=9cAWahDk zj~S4Fyk@<-(~3zWhwAcgbH`7I6CWyml=SfO_ZY8Yn@o;001j%h>3fF)xa!ZMM^rHO z)w9W8LydogWYrs;6?UF6UaNPe6zy2AY7PT&&MTR@CTr~CbG`(!hS$Va-f$at3}>O{ zziB=dMQJ{P0w@?%0P*e8zb*7n2Wi)7Z#}%2oJaumHTp~Ns?Sun(V>DolmHBz^MPMi zm(TZHuXE*dY(3_s(B{5AN}5K2a9}vf6M^n4@N32Qw-alZcaM@@LUZk!{kQ$6?^{gp z#oU)C1g6o?bH#ot>oAFKq-=0Wt~}lnv~9WBmCh>ZoQztF5r-9%eL0Zv(zLEDfX=~+ z#+KSbaoWCqrAako)8t9r8u~<~8A)!nt*PGSHX-R)R(9_g-rWUOxtOz&T4DVQpTbrI zyXWz#QE+M)!9RstP%&NbTAXc!XPkX1#^47v9AGUY^{$1YAPFbE8NdUjHEG8+E!?XM z5&5zB*F~pF(af8B5Pu_FwZ{#oa4nv+R!JDrO_+L|n9fgJ*C1vEvN$7(+}0*oiTx{#j&^xS9RaT&5xLhL z&BeKB$Ry{HT8}zUY{I$Stir4&^1DYFu4c_66P~;c=8(ML{*^V9tW>G(T0#y^MLOEm zOO;X7)G%9_t!nZ(U^oYw-_q=`AdWN@dlE6v~8+qNTiVAK?BydwEYfj2Dlg)&$Vey3^uWmfs<8qk)oCMHT(}` zrhJi;o~FHH#PLR&V)4lbHRt{Vk9>fRnXgdsMZWDgW1c^yVTozdX1FaY!rjjg(xus` zpQx`*N6O#~V!X1%Y}B@%GJmalt-6AMde_cjDtnCjoX(H$Q}QzI0jzl<+zxA`l|lOE zv!y^3=CiF_<5+!8O5!ul2NjJZY-9`Cx?8LQMPs)uToS78bkd-#L1_l;Ggnck+W8z6&0;x955=iJQZOn=Q9c$XYAL*c7M&*0@SDNT{rbh!DabEub;OiZ-MpSnd z@8xhjJnE&Qk}v#A#jl5^*g7FN>Cji@r;2aO>k`aPcAS0!zfQg~T`jhYDwD>-59ME! zn)Kdn)Y2~@n2*-5&7Ue(Gt1vI)X%(_Tp{=CT$GmOCCD5a+O?1~c}MA5GU=@{1j%sf&eQaU-VRK{`ExLs1= zxyh{wZrHS^cuUhKC2%PQ9)}bht}E%eoSKrr+Qd8UEJ2!XV6{@(LPxIUrPFK z!y0%S03L$8$HAIe2%LIX(Y_hd$}%q8=DwPY4jfHG(mXY4B0;!gIIlyuw=A62CYNSX zCCK1cXQ#vazG$5FxxpCUL!Z5X7|Ne|`BUOmrzdJCR98Ev$XORXYknh< zlgO`zsT(ugN0s>E)XfBg)Dd5uelb(0>rJCxx2OZKiOSH|cX`R5nPi68`{EM}h6-=cxQDhM%d+Bl%+_wNlk>=iFxp z0P$YNWrb2lJ{D($ix=5~i{`p*-pL(0b0!w*}fc@?baCa9H5=bWkzcj?n z!fp?t^>m<|Q#IOf4nZEZ3tx!)))Ab6_qnS5O>_HZjT{lYH8)e7EX{ zin$fEh;lmA&l6$Bh0j6Ku6JPOy)R3heq7g$X`9rJ4SIf&zYCMiFKo@>O4=TwXC~o+ zz^z#RU^DfuZo$C7CpFSQ;Nr9PhKi8yFWRE=YfU2$(xng#XB3@M)e{iF{*-w_wcZu& z+Mp-_=~+64p3NWs*Zf7Y83UT??S{e|*13x@vmVvb*vaNNLC#1O`fdY6k@J|1&Xy%m zxiyn;%CemG&3AVC15IeMlZ^9R@oT;oaFnq;PsH}`N&jotdrFdAg$f`NySDct6 zkAf@Fd=}v)R({;`Sf)m*>v$HM@sqo!Ey_~DMut?zJYgW zEDGlXZY${Ev`3Xy`^S#>=IohU2O}rFeEFzO5!m{l#=VoqQ#M__IIk0RGP^PNtg&*^ z#*`zWi*YkPKZiy!Z zSD^Sl)Jv+SbGLv8x2di(OoT}@Ip+uU?Owg$3qLmaHZy`wex0kI0}IqwH^ffRBKW~@ zv1!R_r>+MT^4x*96&*!;-^MGmCH!{dfC;Y!m+zYN@xKwrgpQXX40FXVBc~LKH*#sm z8R=X$J06TwR%49wR$HY*7vA=%&Pc0>uWJrb`cnwW%?Y@1QUuAxYZrB4OLA>7Gk*~G zucma%bo&fMjPNVw%{fo@j3D}o`e#icETUeWD|!}D)XFKkmPeu5M4#FCZuPv{2+? zpq4U0!K$eg(NNyTTMQau8LKR{3oa|plq_h9#9-1>*nX7-aMec8Vy@*NwRCn8i4$WU zwam9#($l3WAYXbZJ2A<1FHAhCc|Ge!+=s_{hW0#wK*mOMOJKm@dRI*iCCU?5jn2D6 z)2GyLqPBn%Sb@cTRib=4zO}MTjfbCV^6!IsTraF8-QwW^8-F_e6|hYq?Bj|iUIl%& zS(fwB=4XjK(NL>&b6hv2?^lirYn8CX|3C?(u4u^uY8|Gu#t({4o|gYUHD?g zPBsJh3fucOtbPfe#5lJHHEOg`;@|MHHAIY(jBA_KekN)%M##a2YuoNTAE%W&kbXkA zEqB4TDGQK;p4FX9E-fc%mki@9oR{v;6w~~3a&ODwvKqZcABiXIx-hq^U|W8=RJB>EVmoG z)LbPi6H9VUXFD-D9jSn{hYQVX+3BqKI5oWrPE5*GEVL3hjt$HA z?_Qmw_*&d4Wx+Mm8ZKL$lCGn%;F`XawvEZoYbrP&fQU%?SGD+u!;mGwdE0^O(z9)C ztP>Hc4D{(o)wLXPHb;+KX}41^`oGe-EkjL~42ME9UsFeGW=fnuWjGim@FTwUYUABi5mb*v`p5B%C{b_7$?pAAD zqoV>b+XlZtJ|B42eK)~EZ9+^rjP*W)t$G+KDAVP8o>pf;&Z3go`A7EQ@q$HaG}zp3 zk;uk-3jC#({5uj(a%<>++Hc|~{3d=hxkx164XYF!*@3pGuADQml|$-pgjXlaiZFA|E8jdvZ6x|+jf{{#rF`M= zUQk?ubA}c5rlyM8WQYbbx%_coQ5|U>1Ya$9dj6-)-V#%9t4j+U5a9l`^aEK)Vhp_G z3h+HS{GSoHRmKnXucvhR5$x2k$zVT~aOHEgC+dAi6GqkG`=fx=72<%a4tcLV-r_T9;uqC%`e&wArf?35AO zyh_`hY9^PHwk+eCxuwREF(;s?T5$1gUP#&36-op>L9bZw--K)< zj2QqV9`)HBFHE*)BgP@{o%P+DNKlc%>0Aun51Kte!|*sh zpPhYYd2?@TWKtyi%0R~z;99-(kEklIR>(D`HSO%oaFvw*JT>lj)oDXYL{je z?b>ufkEL-sg~Ok|ax1Hv*@ACxoBCG~sXxwB(u$8uv$B#+*!53`(k{V+iuHdHKJ7e% z+SG*pUZ-a^VF#}jt1GjTIv977^PJXF zWt%l(>4r^5ZU#ncB(7*{S;d@Wab0Gg4p(}tw;9*3Y>@|b6!W`yG{EJJNB=7@cbWVib)8@7d7tS9huH5*Q&Bv;SgEYeMsuQW@>Yrhi)$k(&Jp z@IHi9B8^wmwS4*To5I2yc#oIMVDzuMJPV=)L}pM_<)Hv;46XN*=#4O};K^Y#k>$>}yBPG1O6B%+P^`3Cvb)sT@Eq;uY@lw1&4@I z?M4F}emThIzNqkCzKv#px6HU5Yo|A(&q+yiGRdmA*KzKBO{UBN$EP*ZM>?wd*OloS zr<<^jaxq=h49=sP_$u%|zuC39Ca?SZX7s_YhrT)Zf9=|A=Wa*@k76tCmWZ@RJm$V} z_^+mti=-w(b;xhTqABBFCQwZfw=fg)6D9Jamf#Rz|%IY~IC-Sc$xQ0`m!oGsl zVM~@^dXb;TxEtLi7b9*tJ*)EGAi{Fg=RWr=t<4J_Ojw~jRItgG0~jW^@3hrM`D&C_ z1Q5hml6O+>eBnILvGvlXy7$jw!?fGHevT~(F3zA`J8QD<~ED_OwEM;zw6tvSd5 z)+AQo8t63WzrD|Do0n@Hb%VLZb+&u3GhE)E7~=xEyG0AlK2f!)yKb3LR>XNxQQQ66 zy1ao`$_*8KjMP3ywQ5sNGfBh}KmXADTZ>PaMhW1W?L0Z5L~%6D&VSA;nX)%mvWUSU zf2Dd3k#8hmM48VYTzi`RKMTFl^A)daTC(L;!nzw>+@izI;wtFf zvZ}iy>R*PoVPZ*}z7I9*nyjjpqyxoqo)z%*_MN9j`+ASS)3y8ii+CT*%7qx`iuwpg zvE$X6=CVA4#utH@#t$TsUUrb4Ppw|pbx}Rzk3-+ysv-FS&my=h%Ixl@thG7)Q0@6M zTo$ZK+dD6M>$Q2qO|#Sa*Bh%k2tuAg$o%V?y0lJua=gr~8a60oBd_M)O85T&0NcDa za?fzMDx~r6{cFT@`6ESDOm8Fuj^4t(`%Y!B@T`*`l#%>}R#{Kpzhhiq2Y zyg@SOaF2@f0jn8Q=9xZVJ!@}WyEl5B#N_0&9<_>zxO!5rE6I-ztpqf1c8Wy;m6S2T zru7H5D-(3AS&2sKk&it3)Npa1tvrw_*2FzntJ1sx$57xe$w1rmE7Cm^axnC(*cD=5>k596Moi$H=wZdx= z{_(rlqG`^*+3Gz9THyeM;Rh}WAmawZ%zD>bX52#1&L5%cTg~#dA<)%0pG^2( zV`rzN*8DI~2l&@_r+DvHvBu_L2f42>@KyD_-GGUY&ByYtqUIG?$Kzk4;49ja_$m1pr{=$tf%t}A{oizF~dexCl-^O%IL<~;nwR18=#2a{WUZfkQNszYRbCpX22 z3hgI9jdI$z#M^1D$j>B^*1Q&MvFdA?)ORdoDLBuqa^f-4QP|do1}aIO&7*umfiKAi zq5ie$$Kp+kz(b$bzAMv7X_$=XHPlTs%7kxV0In>*9VHfa=J;hfrq68EJYlBX++?uH zs+RhmnREbh0X+7vnr`l{Vw~aI^Qj=!?;*w?r77Z+pS)pD4CAa>^rV)SlVzc7_pF)Y zYjAe*E643TVR-=o+~T@8JYKV?Sz9&WW|?(5iOL(E#tR!#4Mt~H_oZ@4s!ym4^4YF( zeN7yeL)V(cn^8Rc+}FoWmn*YAnl%)a&Yt5^QT$l0dgD>a`A#beYw~gdtch}KX{TwiDIoK`%yWY%Q2MD*sWJh|&lLG?3}xo%sM-SbeyuQLF-G?uo~-9E+WYtVF^ z4mi*}g1RWs=6V@QRw!ut6U~MzkzLGMT1KI9iqf$}g)oVXRXg2TV{a{2=ILJKaBU-% z*Nx8a!Wv4;Fytr844r^|4( z-8-|&#Nwo+tbEyNcOILn`B=|C*1nhU&ZN^?s720e!nJ({-rHL;TsT$Tp1$?mNAU~8 z-Wak99a)t|Ijm?aDM22FF(#und!4YlcMPKfy*I;i$Ha2Tp!DlsoxURdq}B#>v2RiG z^Il4SX>Su-Y655(iUXWy6;8Zqwam{pUiQl8>bH)pB{7+8*bq75ypK(pEiMCJ$PfeT z&3vJ0`&Vig_I^#<5cu!by!T%C%c^S=Y_xJWbLc9aNX^|agzUCIR{S}ucy8zjy!2-2 z$sKCvi?pjLEKA#!Y>enB&3jMl<+V$o?YuqpWJ7 zyr~NAJ#uTvwJlou^}NfO8OZmpTD6kZ8(W`7iW;rlw^PYH&AsGeNj|5&VmgD+)1{oT z#%dLDjMt4)cV}HRtzsg)in(V8nJ7_J;~=rEogp_*$2Bx5-bkvFvNQEKjAI>%tjJJj zHPCB{K~e8mNV|I1uN7u;Emg_TXRRp6VNyamdsB}s&uZz7`ViRMahiZJno*Z@c?Pw5z?0LHTnpSwETn)=Pip!XTJUwEoR$W-v7+g=oSbA6 zPZ6(O4<`*#e9t(Z!s2MSOy{14xt7qbnf`IKeJk9|_Atltfq`5Gt*b(=Q2-qFuR5Iv!zu%QYxek z$*-f0H=^|Zm6&x|WMUJc=~m&ilIjuy9G*WqzhmK>nO$(W1KPD*%+5_M&bPwGX_Pzi zKl;_Xe{AMNkQ2iX%DPVn_*wjvS6+Jm0QIZVB=CeLCT1R=hAXBNrF703^u!@g3mv3M+Lr!#s{oK+iS7jIGf1 zu+*AIrT8LHt+zev+Ha=ar<`=#Up#m+;H=~yTK3nRwUAT&+Qy8p78Mu0bH%ke40?$^ ztzL_w&KlVW>0V*3owxiP;O4tM0%F#~@UNbwD^5uIynDSkNb7DV3Jxm{=2G1c6>517 z-nES@9OAK>IU%W=aB{>b_N%swz~Zx?FEHY^?9(Juf+^^9HcPk)?=)L|(gMP{3kc5O zE79~Avdi_Z$`K}`vORmkkPYa##~|0YnEuVA%ODsbPx7xT@Wr_jBYTSVt!>uZLX_}6 zQ~ayg!Yxl18LDXf%=qbcZ}qie5*a#Ww^UUut{06lBY z#!mQ#YlElzlqIf~w^(ds=C|RnlE>%90q5ykei^akZyjr~)b!}S&Tue3l{GN@(dI&h zdpmSE%ME$0m_qIC%|orn4y6My0Oq+JR7qDVy$IwIyCdnphu$6XE#fzylAS^M0E9x-x?0NW#nx2uO+F~VKbgs_D1a3E0 z29>n{9Xr;^nNW^%irQU{8=WMIWQ!xUV96s!*e4jP@oEZ@oSrL%)wQVOkd=Oi)|EPK z=qFKH$3cAQBn&g0*PUFvLQ-3y$o8UN635WEIpVm@TUTw)BLwG~@540*X3lI*4y8qS z#Ph$1I&#X-@{Amx>r{Rh>q&2L){{2`V;TNcudV&7Q?=fMsKKu$(sb+nH(uVkRALX; z>MIKM(w*XU;j+f#@5;x#_^##vM3J^gAo16ZmDqR-Qj&j=6V3q3N!x zI9B_l;=Uh=a2h)wN0MS~WY0F%bghK(f;v_VR^V_)O7^{bO^xzE$UN7ZU09f0k=nmH zQRsbgk%W+l*ko~A_6!G4rDeGb*R4qf$V1d|T+@NuN@q~6oEq2D+!o`eYmi&iJ!@xA zyBQUfW2x11(<~q52Nl!X$&6rE1E<}L0h;PxKu39Ulz`?1- z;2dV3Die1)UpQop)NMC4&l~a6IHnu)AH`3QYRCW4{Fu{pOUR_$69EtFU6zHX&HbQO zPD1j1&2)pySPKD#``rgx*6_umPdO)piv5m;9YtLDhlp}~rJML;5eUlH8+UHJ4k?UFyA#Dwut2d0hS)v%0+|H^?kct_dM52ugdnYu#Dg+r3#U6QtH9QJ2T5Jd=PJM50>Ku{*}jg zv%<#B($xnijyjRw9`)Hx zj8`+IcXPE=dmd#nn8+j%P%DC+Ytt@t`#BZ&M~r$_e7ZHB-J^}(!m@PQG*xssxSE|N z4gjvucy8Rslxzc4CGheqU`d1Yr^xIjRb1yHA0=Lk9D3Hd(0lZzMxbKVGcTASIinm8l}EFHGNKrw@$ao&jPy?e|EzP z{{Vci*zWY@Cc!iP-`2S;X|XB#S94(+wwQ!)K&~@bgn5UaYN{)si}&4+E!EG=b6gGP zH+;3|n#@bjy?L$I`og2NeEoH;&dN;6dVy6Lv)45%{pzTLCwFmPbhkEAHm%83`Au`$ zvXe67pf%E31u97y=~$Y$Q830w8^0R6d!ua5)fAmOo_<>MH~Z$jR`hSvGTjKTEr0cg z>seLk$)_atB#E+dR=bLDtRG8rNx6&|Z<;BLp` zTHY9mT{-lvePYc-J!__|3)8wX!&kLbj1La#R~95RWQ7L3mcw0!{tc3xFyg#_Lbeh! zBOVynT6FfeA>w>wZpJvxcIB9<(~2h_LN09`<9U&s51B_bn$C9>91~bJTD{bNyJpT! zU$)d1=5x6*gX>=U#l}kKnCMuRbts_yYmU`!2GXb8*Q8w9#_%cWoY$FZwwRFNx|3Yk z+1?r*7-;+I^f&GolSwV%E5XHP z6N;$PF$bFY+{X^Dbb7d2tt&F@mjoUvo6O8}ny&8IrZG9M6+rIxh?{r4Shj)gTqqb7 zQWY{Xt`@S&YMPBHP0r)KzBsk?UVsg~{Anx#d^Ks~NWXJ-wtS&%n>Otzceg+C1|4 zhCl%NR+o!!q_wblSEyR~_FZ>SB(DA#pTfO-Mg}mlXPHA8DZLM6Zx>kjYl|a{9=-Uj z-6P``r*j;x3t=3)3i7uhf0CS%S)0^zG+gMjD6jQI5#BOqvJn_ znvKoEDo8^W+P6N$}pa(dnQpV2|RiN^<6?+2~bVl$1;Ei;P!4cDM$& zrFO}z8>tzTn!1y^Icct@10ml`0|KQywLCBLt}bJu-4Prylis>-4@6$*AQ>jIZDLbh z{{VyFj9z4nitEBd-bNUi+9nT(wAqoD<-pBy#>zlOYuS8d zE7++7jtW&9LfPrwU;rHEwbMgTGRM7BvYpk6uS(u|UmbX@X|-Zydzo`-@W#INfi!V~ zPo-{LyX_>L?lsTc5*_`k8ne*SoJ!yzYSOl4TyQHTbDzUB_!#gjjZLO%)%7=)aK{|ioy~nTuAx}+O?nO9hHe7khdJs<{z9{D^avtvn1fo*l-c9csRgmj zM+A~UaxzVDx7HUDUNm7z&3n`q5iCUj7&XpaSVQ)m_~$!+3c`3)^ku5+WMue%!;GP2 zVaUaL)xU?}p4m>&ae?^Oc9{w!WALv>(k;VARl0Fo)1w%xBZ|HvPDUP|qD2yz_JBvV zb#^*@V1-2kJXXv)Qi2SG0f9zdm(~-M)JR)sOS9x;%At z<>(G@f7Sm0O8oNI?g?pBagu+XcPUz#r3HGA?VdRNbS4aVEi#d~F)!!@T;KLP1R8h+`Gc>Bkg zc#s9VIOCe#@Z{jc2c>hqCOElotzGcTv5X(Bczac6)YaDy7S8r}$^+W51>y!Xplx%xzy?F&3b-=5K_EnkzQ@4AUJIE zUag?SGJ`eUMQlw|-25>S9$5mqe;r)?o5Ru*{lomLGs4j*i5&BcbKbH3F5bPahbpH4 zA^uh9(9*||Q&fIs_`c*^_?GR#$lZ_EHA2oGK5#p9s`t#-8pYcagXS9OG%Ij!fo^&A zHR4XEG~4q#>Bp7{9*d(`c`yPO9V*4-+Xlwubgf%mqAi%NYgb}3j`iJ6u9h&bK_$$O zI`IXnIDRpl*OFe`8+R%=J&k&Xv3>HD#~l9vp0(t0hFr0}BKZC>(LqiuUsCH&c$SPE^_NejKuj z)TzJ#SEX9&32p+8hP-&{vRa~T9cl4vS2GY)?ZtbFP=eIL7&^6lk@QWTw-j*)Ez`A5 zn*47eT=Sap4J_PUA&KNQ-RU}F;aW!AO(j>G;YO0cQ>Xk{8oIZM9w^9+5PDaZYC4Xg zc_AY`NUulK?4a4Z9E#>z2(Z{*hP0)o6A`(W#lh<-SI=nAckUcSnWQzuR|+*@091qrxkPR z-w1fMCurnH;lTXs*G12nwUqp?*Xv&Zd_M6F+!ya;-!fzo=nu7hvEjSMy|P`y1OR^; z@pG&Pv8i>j^f@*+>l8KJXm@&hxR7q?nyuoiaV4XiXCT#!Gs>E?tzt_C&q57&cYMjC zx0l_LXXIb)7pHkTx=FVgBv;5+Fl>;IQ^kGl`%Bm&?6@76{cGXtlnh92)%uQH??xxb z)K-+eO~TdtlZXz7w9GF{Tc; zC0lnrYs~vys-CO{E0NVKfkH?iioKv;$i%=#c-^0Rv8YN4oD5_hFfm_{<1pUNqlx+s z8m}}{JbO}avlEkCjGDnlIcn;BQo~~qF^ceAV^WeC9~n5WGO687p05tLq=UE$>9p-; zJ;N`RQWua|86M=$^k{*}8A zh^{~fn$aSfK9ye(L^v(_(*FR$K%D&Ft$g(th$kR*=iZgPMQ{g0`PQlkX!rR%N{ReJ jvnBCLsr%L7a`={WlgQijsuFAS?&o*sQ6{<-7JvWQ7kCzH literal 0 HcmV?d00001 diff --git a/assets/img/landscape.jpg b/assets/img/landscape.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6fe2c96d81913546800f1f8668028f65e9abcc16 GIT binary patch literal 1018477 zcmbTdcUTi!8174vs;KBhI#LufL6Jy6s?tIU1jvMD#6mz!A}A3>fsGpk5l5;7fq=9$ zLQ^y}m93%yMWPS_TLQ8b1Vq6G;=~SfQe+rlzXC zN^{k!m6|J8YOP+kR%^BP>Xj?kZdj|m9zdZ`tJdh~ZUA)G0Vv>iC5p<(F)LIwR8%wo zt(989|L5huy9(OsY6B}floibsl(ZFDb`JOJtc-=Y1_$o}62 zcJ}{QWdA3y{~MQFVU@BXa`Tk66?Q9ptt`^z-E~pf&UkG?=i#DSl`bljiqW;KAVnDc z*3b2>q8Hi-OeSB`bY!}|81yEDDl7rj3BCc!aN=4`l5c?E;2LRuvXgZ3qQVtCn!~fQ z=PM0>SigTE#pFR(p0c!5VY0*sy+CjbQhfW?kL?e^3PBFMUL33IwPJ$X42;bgHdRmk z%IO02I7&iwSEoV3Y3|!#6LVY?Oo{jy?9&f@tfEl-neT%$jamrkyF78oBTYw`0;Z9Q z@Y@+HEYKS%q&aVCqpSC<7uJ=xk*BkEJbJ*986dWBsP_+D51g;!Ip%fM51DmS^U8Q! zTY6FCZq41A2YNEXj_VuvoDsdz3d-d6CLd_pOft*Mx|GNI(~)cPl;S^Fl^ifkyR2GJ z@zEQ1R=Do&q7U6yj9U!$8TuQSDJ>-0y033$TLYxSRU&GsDOLn#OAFtFci&y z^icyistpB|Of46CBf5f8rH(w$brxU-+_Ol-2Fx_D&YSjG+XO1t@DL2pJ^IQQQreg(_{{1TmW*RZazS8QzSs z?^fOf{UMk7z35r_voEOiV}?F)6X2Qo<3DP#>hu?yUG2V>JP)y8y zuYUd8%N=}O^@TkmT3I*<+)8RNCb zEraVBH`&ERx7w{j)Q+7^As*x!F0>7lgnNXn9nOAp)J&>hX;=R!bbVpKi*S!8j6;lc z%%Pd$?gwv%%_?M;&^D)ZvyTBiG|Fkc2B@X{To1sNGvdp5qYHa`gpV+r3{KAxu``XC zoX1VW9+!h*9(ZdvrgJ(bU2#bg+YsIzYz1K#eW$-P@Rd@?f3PQPiyRJliCsDbXt96f zGWSzHkHIf{@?v1v-WJp9eGNXn0!lp8^ZLg6m_~tFozSe&+rsiP?VVt=>}Ek03N2cN zQIA;&t6?!K!hrGGWZX+V)L6h%#<`{YKjreAjL!`k`mG5+sU*8^-00(%=K7sN=v%`R zo1cxE=M}HG30<3`^cuxINt*uhY;ynKM)e!oZT}AB8m7uQc9(;zF5im0n3M0wS0%kp z2#jS|w3$~+jya?G0QT8Sg%lP+67hIWoS~G}87NxKCTd7!7ln*zjG~ z;vd!00qwmr_g(6D4*jejG1a|oZcWk8d2r;U=s$%hl1uthQ^@Jk+go$UdOcVoO>)Fw z{T!*Q?AHRVo}+WVBx;kGNPA0aTEp`i5lBTL+D~5F*gRh5qP>k8T;<=P)N;9KIs5T5 zo82*>W@yQ1mvC3Vjkn0{b7G9H#58Btwl405yg>e)yj*u6EaosPd2qTS^g`=0_xr9j zgfoNd=k?LqzJjkSmK)A)U0rM@7W>uF^;HyO>Hoyoa?R9QeXgl4>~S1%jLPa{ZTl(g z)*RW8CjFT&zj1Q#diM>qdx|vMGH||>GtcU}jth^8`Kp?4GE&ew#oIobTAy0Kak&4E z8B!t`?RZV!C7GwEME(r#|Dax+sQSfhdS*{N7IR;3st

ns5f@dsCF$L?>k^wYxS0$LBc<11;y zZp|Pq`zEV#ZJ%}KmJ_+1!ouaJ;cBZj#I0smmP;M9x!=Uu6yh%wIrPU2p3S_X;Mgz_WxeGujL)U^i){w*!BH z>yl|in+0C%5~ZK1EzlUkrJWKa9ezW1pL*-M=d-@5ce483U#xlR+0`JB^+G=~LNRbI zVCAR56qROcP0gjL3__UhJQ!fDrL2EfS<3cy5KOVLd05vPE_U5#(WaZ?6*h@ zjx!xI6stb5M>O`gm+eTjL zic32v-RfFqZ&BeI0WERgLVfE`0j0C{KjpRPu-|6Dr#$?Ac%{GFc~r}J6{P7XJ+vjp ze$mHEMS)uK7NV!X8SwFZhTAu2sd1D>!TPcj&+Hdn^bdT=)esxa1qPtkU|*|0b*RaA zmYPmp`CDG|j*_hIV7zpjgf}bTT>Z>_1b|}Yt6iq~Mzm@wj5mLJhd?-~do{1+%ijhg z@cvYE?L8)Tf~9$28o$A)I|rJ~fv!cks#swOD!RWn5ztB{KsXhG_p_==2RqUrX*xTC zba1^Mr`3s1Q)VkDRBJ|Pdkw(~{?O!=cATO-{Q|6l23|_j4B!Z8ijBUe4&Eifq>(FW z)?jjwiY{MKnzz)k%=ujH=KDSXpbFKGqI-dPNRfSTi?jr{IvGlrKx<1mzzYWs@W?=3 zVu+j+xg#8@A13*St}6k~UKXy?6`Sxl@;Wyu>=@)Y)N!sBrW~|Di?=h-sH`b~T0!TA zSXgT0Ke<#vYXWlQ2GSx!sq|FS`pq>UNZd>-)6(#D147I^B`ZF23(`P~q(wfAWbkcZG(4UY6`&c>;j%-+McCUs(G!w`;z57=F*ABZ42cK1Lfc+4?3c$YKQI%7BmL zdgX|B7JWXvWw*I+WaEd%!}TrX+ZB1m#bx#M((RFz|L|PD{kb2z&$P|xKZRoKg5rW# zZOdbq^R1yNJDkEoms3yIe+r*%pYsoEd2HKaB+Od@r@f9AqE;C?~0Tqplq z-m0W|0KG9;ZeM1u5lMdb&`y>$hPt}UB!0JEYPyV`Ic>A$Ax~SIk~M~_idk+tbFHju zxPqX`4gQEl?H+BB7d;aDRqSDA*7^a{j2}BaT#i_K;e9IfXDWcahr!I9H5EIPub(4E zdSi{=jE5cWitoG9=As_rKaAz9E;jhhfcq`$MMW7A@7Y`2NtdU=6Pb}>sN8dlJ?bw5 z+`KZ8y2Y65w=&?csTF+p1Lg)jFO#{i<-*=Nl))(HPpuQ)Mw>eyZ|!u+vz+Jtsll0_ zlHQ!diH;6ah(;-jdmE$o&#X~KFF9PjZkbp;*LQ@u)LkaVFUNRDMc>5B(W!eL$|c-;bcJ*_dSkR&>z2_}wYjh~K_;rGZtyy9Lri(BF>C19 z0%anUzUv8k`Tnc!-a4l zMwDZ};BP%#pS3y{HV)ZRoKLtNImNRUhdlAVfl(JaU*+xn)LGrT5LmIlpC1W~v`ZpJ zz3$BgUb#5RKkU-p>b~6C90d$1G@(Ls4!PN^_6xWja_Yu%({j7Sefh89LH$`Hf3wup zNek*m7}a+3))Q-v{0*P=3uL^_O^^sPtaI%7y4g(^w*IH!*u2a=(Of#>zc_o2CINj# z!@X%4QUpf#3ddiaXbfHHC9mK+k^i{)SJW0IBUU*ku7e9ooC^EgZs5w3lV#sQyM%yO z#|!4UqhexPF6*5YWK=1uVeDf8K(is&DT#~5q~6K37$0PQDp*+Njj>rQ?5QtFF-QAQZPd zuu1WV_UCH2=x`uq-<@L1yuZ!veuJj+lanaeyIe@uizas*>aHTVidIEN47RJGOe3Ty zpxJ4avOI^pyy)gmw9LDYy~okh6%^mCwgMyQ+6%mSd!bT3Laeg!L9@1Ta!Z;`pryos zK7KKr25=L3awa=oA!o7(mrupQkZ7S|Fb@RU4BGji=46Fpb;g`nVGAy+BGA5C;dzVC zslPJlHt!)6zgVm!%So81`r+ch?b*$9piwXCCsT9FfKSznZYxrxIG>#D$^J}evf!%G z>y_FIQ%$CnGuWzWS3|PJeY=6+t4#z|?^vm$v}4}-MMV@$6unrDN0TdAs#76O%hhRM zufU(|z2#dF^hrn8q1t#!Q23VUT=Y%aLVOk)CwoFvwy02Wn8P<(9eKBf0@>qMYX~;p za`P=nmsbE)O)g=ZzAf`K=@IM9m2s^WVD4S+{)g_jGkkOO<9~vLe8S!}saYgxg_j1u zAh1=bg9+307{~MIgil0+H7Qyq3BGM5hSKGC;HqPP687CbEUgHu=B=#y)n!_1JMAk# z|CoEAG_L8|@lAg(OSCp;rocWY0mtP>UjIlyXAYqb(=^Dp#exeiUxvX?6R)TmJ+G!vO@`dgo-a}+QX0mif*wAg6{ z=^Oj2)5cTGj@l|1`xbw8%5Kpw58=A>iQ@Cj4)JzEJaCJ4?cGiw3RvhsT6?Hb&twku zib%R3-mo&4*F$H*LFj852uDq_pldzp0h1+q9KG86nhLxHq#}hYG_e)P^j{%ff$XrF zrYI71@OqmRaMH;VpgKrN6Cuee0@hW<0=!GjAssZpJKZ5*gO$B05lp|l)4XccbT5!8 zWeq4La*8I>9C-C>SC zapz%2DY?^bZO#`i50^RH>U1t^icL5L4809_^~}QyZ-umfOtYm%03f$vpR%}rPEWEE z_kx}slqAR?4GG6XH>u&~zXek(w4i7lVGZzsVS;x)(L}~x+Dv{A2_>$4Ug-P1;!>Xq z!vYLx45i@EgE?V4xSs9#SkBK)staBu*N9^i>70s ziKZ=Q9fK-@YZ3x976KkPtUag4p$XeGHIqq^2?diSaemj5q1f7cPiz2cB^gL(67J6` z1{evgX}rkAHL6wYO#Q_9!GoP>XK4m}F%i5gy*9K-vW0P!p1>{#RN2qLQ9fHW%b3n3 zOH5HJn|723x`5{=ius9#QT@X?1>xDTQl7)N| zo#`vBVfnP~_#Ujuz{dvfkZwf_NsOCzjQ+SFiP{R`iWA!j#qp;b%WAbDUP!ejYa4a& zI<;Cjkl^pHS*#L0SRY-Fg)|vULWRb82KVkNIH-Dv6`Y>nSB!e%Nmb<>Va|oNY1*+X z-4T;@e>oR{4}2*~DGo-E0BwMD&;)4oK!b}_r3&-0F^|z7(_nor1n+ofjGZDdhTG*W_;c zBG6z?6lLhw<*GOcGT2Y|biKh>O$Z8$pRRj1kP;LW5*hD8pNvl#e7s5L;%2arh}PP| zcA-sRh6gJyMG=M)haNrRuiwj0=-}Ej1GV6^E_4ao@Tg|!wyl}kl09(3o=G>cON>$r z%j%?it?i{V6~mdO`n`TRr-YYYCI7uuXvC~Pa)CZ^C}!K!E`pWY`-pc%j#0q_3Q!7Rq&@OoQ zhn6)Vhn?#-9X3EjG_Cz;73;JkA$I*nICy`k6BIkk+lx`b!GFaZeh81z`&zMXZWQ9# zPQMZpK^gYlrb|h=c8YfuY@kdT15FW&K@Fy!I@5R_s z&0&j#woG$CO4k!xKcZ~vueh{{W2=$uv3Xahx1$9YqvbI}n)x;~Ov5Rj={*P%` zc`YqIIkZR|bo=CxUge3`+{2|p9%HH(>E!>1|j;ZIcsA8w^x%g4P4r5>U0zE+ts( z^796XmCcZ7)dexMrud3u3E@VT*qV)_-EGG_>O$aSo%bK)dfy$2`8h zNreI39tcH_N&M&~FF8sZo45!+*h{yQjh(J;LaMc!EQ$+&*kt+d;?o?XdRGyu_9fLt zgh+4*V1^lGx7_6%wzV2hoB=zPK^K2DcrM*;%Zaq6MOOMECJ!goGI8fcbw@TN{d;o z#;^{gBvAse?|nQ7zgVUBqfn;%m#Am6;S{O*qh4E38K^{fEW<7y)Xb5kMYGkX0L8Tt zOoD>Mc{?tycO=bRa|hiU_yJ`~R@K$o!2X8p0v`GRqdf2apA@=U^&F&4G;apYo=I*) zg#im*XvK=6w*)UQX5dP;`qyNs-rC*+1cjL^ISGMoPjOi9ed=CoBFJYyN_HPJLXZ6m z9Wt$<3knznT7U@F*AXN`HUW3VE25bYqijOmF=M5TQ_pWJ{NN916F z4z8?LUkyiYfg@H0UmqCQfwl}((Dv=wt%*OOt7E~+VV^ckyjKl}DW;L&Gf&WC5?@~9 zPQyV_OjUb@bjKo@IiIz}d+RkMMnh;tEJ268uS@viAX3%y4qS%>JqJS=KM(cEbVLM; zDFV*VY}S=nStG!t9IvMYN1O?UFtciTbXT!&dnGFlwdgF6FKRDTHzx;|J|);mr?>g! z9|PiqiEMvuu@y92hg>5UMg1LvsvUDHyHIO5>%Yx z&_KAA^){zCD=jM*diW{5_EszTX`UF_tO7*kvF4!#UgS6pxJ7^V2-{Nkp=n$|pnwVLK$c5~pK82Upon znjRot!F1K?p=04QXt9C~P)%;}0&B4R0{D!|3TCir2e+5E8~80axr48$h~$@b5UKmw zTd(oq2qc@UxvvADUJ*xP{on{v9<3u>f%8>5nL~=dR=UhFB%dew!d4p$@+sH=4)Bhc zrTv~LXZS-@AvQc4b_&jnDT<>MG~!|PUX+DB*HQu%+L@2BiK0&qTrpJ8XnhrzNq)%f zZG{T0Hib_Xz^rDv-LO!*51+xNqd-9FP(QPUm9xZW7c}iWis?KTnT4D;$klI-45vGj zlTQf>iDvAAM!QQ_V2`ExPCI>~QL>b6{aZ+kV!MOP_xO-U*Tzrr=KLzy`&sWSH3(X| z)taX)x`)KpF%@f2VHWrA2~|9`ob`ET`kf|^<{+>xU69o@Wv=0QMW62_4h>y^8e(on zA&HJ{4JU+C$=s`OS@g`!D9egV7f$ZAb=-x4eaYstU9_?%gQi7yhBhF}mg=LCfi_+olv3I?{)B(V4Dm{GS^Z>PV~6nae#cZ&F@7n)SGAoh6t_EW0kE|MYxcl*N;#P2P|A~FHq}E&Zj=Yhkv!t) zoA=oX_*`YdBa%*Y-H`q4 z-fN3iT3ad@7Loqj_i0{oFp3GBEtH@;Y=gQC8t`~MXV1bD5rq?69os8+CQ6d(zuk=f z8Q07&y}7H^?Dg5N{~7cA z`-p1^?&a>T=nt;SP49j(!O~#ox4+Esd0B}iu7mQH`&j9wZB?7 z#Oiq^5Bc98xqe2LO8f5nne$Av{n&c)6J4&&8p`9HdhdN_zYi^M-7mKgRB*bmeAOFg z2H$(jUEXvRt#7m z3+MJ6IbCrn`cO8mTh`cW5FI*aC@u21m@rasr?c+a&`Rz16to5P&GqBImYz?1)<`DG zewKFKu-N8$srvbQuWx7i_YYrQ(ed7IHf4Cekk>({=r=tH05c2g%mORIf{=`#C#;54{cXzc;cuhOZ;` z+RKi#txwOW_lba#inSR>=k;5a)xt~qamVV~X9`-wOm{si>9^ao0!t1Z$mqO0p&m6uwp&xOPi}@TZ^q;`UEgWvX0Y>uh`e+oTO(l zcC_9+Y$&zV{V81aN66Vu?r2zo&bk%?v10fVqQo_OT!^p$?LIdc?=#-#RMh9zR&*#_ zLtGh|@z|uc>L6tJyH&06ze5VKdt)Rc;#MY?8 zlXOiI^LX)cGU>Wt)E80JsB1ephltmU4!fW`!p|RWRY8)v=T6TNUQ&%jaqpppS)S>E zCMWp8>6xNqwpMaGsZsXwWYHnNwxT%GXPE+mdj(Yh`h>Ahp|b6yDnj@>sqHuWCH+?O zisF<#_a=Cauc5H4KrDiI`G*XcWEJkpUT3H?)T}32Ixn4mL_gmEer`SX=nO0FL)BK|Ag;xw@lpIyjy*Edges&R|Fm^#6 z4G}6kjY0JvZ}xRg;eeToc@H+Fkk133Zj){R!75`q>V|*Rs|N(``Uyy>lkiL)GVa3cIkN9zccItaFche)rc{t8YYr(i9_p>G zh6|b%ai!y+mT8!v6_-YIUd?*m(fE!1kE_^pKYsU7gfdLlt92Qiewv&FtkqIBw=9|q z7!%vCKFxi{AW$@J@SOA({JcOwv>qrA3|RURQ}h=I;PQwT;44Vw$DBgL1gvnkmw`4K z6{CL8#-M|PqHkgO^H1wTNE`lP5GzgyTM!(S-8_WJ+{<($Lx_SLcw<|zd2g%kJs}ph zli6?JTc?jT8PLDe?Y=R|55w#S&X1HBfn$jD2C;e&0qw4Sgnk4sK})PFNFeNDb$a*X zpalU5j;QIkV`)aLX|hr=T3*u&S@8nvM#%ac~TdDL!>0};h zQ6qeX=MT9v%XI>H}9Ake~TFml|Vl+TEt<>?}XNk@oH3^eK(3SLJMNhSY);sl782V{~zx*0AZf}D3ALh(Ix z&Ebf0?c$m8c3UeOpU{TVtzMx;D60ujbEe9=(W9-PIndT_$R`w8aSv<7@dEI;beLy) zykN(oPbkmarOvXK&`eG8(L|D^1hTvU{-b-^WK4o<3J7D<4^Vh!Nj~bhQX%}&C$!1` z{5nJEV6yC70Z zIRW$fv^j!?pg$1(*&g?SVJ&;XkYzJ1$bq4Cih>5_Uay!P=?Cp4K39uI8dQa-hFaUz zbn>>X#XBClFiMjP_rkApJ=nn)A6q!e8Z0nyr!aJXQj_f6@xHRu=+D9x#h$*Y#5)QNGF)A8Qqc#;!95~MG~Sh8tS4+?6I-?PBhKq` zfKPw1N`=?n*|89p4v?k540ugbh9iP>0L|l{k*Xc&;bDea&bHRZV0ZD^SM|??AwS<- z6J+tI&3pG?LjL$tA6Xv~d#bL5fWP+H>`@5ntI$K%ahbb!j{}l~hMb0N|4dH4)8%o2 zk+{9_neft?BldoIw`FH3lDosfIB6u*nD(Vne3|Fl(fHg3A0*Z4r9^zG_j4iKNRfTI z-Z>a$BGo2cP(d!q{G%B|B5tzi&n}DOh?_Ip8|a}V;jS>UV{>>oo8z5L+$KV+(-=`(-(KAQom_Z8i0W&-A<0-4omI0tw#-+p4a6eoyqdzDVZ&^*LBG zd2l{G%&PIP&**Zcx`sl?@*`;;UjFiC-+I#Q_hFZ%T7nCE%h;~z`@3j1A%Qk|qRJRX z@g|Sv$7fCf|LkZuU+wU@VL96I!Sp@8PTd!1LqpJxlfFCiWQRvM&k0%~jfW-2T@(EL z5q0{v_s6j)5j^e)X@|07h&cO=$w4!v_5x)w>B^|d8OKT1E}|#c&41WxM=&l)szcn6 zOs{&*rhmM?#RSlae(?4ydH?v$Xp=UM_3$yJ7R?AJUY;nW?Ujf4mmS^M!wg$KIH!qBsw|4MB!A?`KMGY-~St6_+uRzAf}Q zyst+vT3ejBXOU>{_cp}CQ2Nf+SfY=aZ=KQHIn!_qhg`VQl;FpP`tE5mcf!73OUFfq zk21WpJO`75$L>`ZqzqdOt|J}t%17xzP9c)&DoRv!6DyDI(Gten$qUB@#~Cr$hn-uuHj8t@&x=AQr0kJl0qAc?u6cT>kI*J(O_lPSF$v$o% z!F?7wYDPBrJbD8^%-1DA_`@ndp(D0r6;fVsIONkRidlaq5 zoy&EKGhj4cn2FkX1{ZS$RE3Y^tqmgM5|qz^Ur#(Qj_viQ)wB9}{=ypoAnb#H zCaZ&!Zr5`WBOUPylJzhhU2r3m$654QS+0%!&1ku$K*UzpsJCtb$-!b8VnumifVPzQ zUC(8yWG6~dV*fDU+@Ja@+`Vz-$6XN8;Ev^goKKg|5{5PEKtWGo;^Mgxb(4(&N zp7jpAF=)lBK@sBm_0?XO^KD0ADRjNsDO0nOIG+tAM-d#%Msw8@ptv4dFAx!B_u|A1 z+lvvgvB|*3C)zEky21XH~Mu5evt=yZ+wzv%b(KJcenp6 zWW}e_&!wsnJfc0LexO6t<{;Dyc2EcKjzGy#R|^ouJ`zM(T*)Vt)NoIljrxkt*n(u= z>8e2K#SBUz@U+QFU6B5iutp7t&^C4?i-PJ8vA364;|iTcJ_e>*1KlPxBSpeXj8`V7prEVxeX#;{$;Xq3vMd z!oAP9C^l0UmwE66S1A>J*DQm8UYV`arS(Yg`5sWYAMfjtyo9ShDZo%mba7>Voq9mE ziqP7|YaGUFPuVZkR@Tv~w=%yo-=TYFp|8`commyu{UT0&4z!vb6c&R_WfR~ zt;1i-AzkNbrXpQB=^?~6A43#nBcYwFV*}qiPe$b;&t8ei*Pgf~1ZEH-%b3+`N0_dh zCN?~mkTXiqahbb&3UT6P%o=2Pfv;kUS`B}HeCwA{h3If9hUrgqf6#t_OoED)n=tn$ z7;h8s>jV_P(Y_n|51Yd5NoM-OmF}Gn#1_~9#B*9=8u0?Z+3Bd$K(Or7nu=o#0uz9y zK_B*B}`s#$B~VRtw{nxV>}G{PG;)4FL-#Z4j|8iK6gZ1dOx7dVz_P4W;EO=zBAW z0f5i7B6%+gR#&nH90Z|ow0)jxr3OlOSrA$u6R@eCfp-p8s%*;G3zl|lP)>lJpn7mS_p=+ z{ReTky1+%fPwP~9|7+7`|JfoKbMaj9AzIjNa zK$60>tnIiCUf-^RMj#%^=#wKC6%Z&#)aDJVBNYXSJPp70Pr{anyWktyIF+Rtx)E#E z-sRIoQVc-Z89mA%58udRXp46PjZQ^bf(Drqm+Z&-<3ZnNlcI@ga)7FU^@o^OG{N1o zrYVFB7gCU+#&v0@&|{_^6f|t4R6?Dj(RTFF`j@%Rwt=Sm2TIIGa^QozSk*a9Z}eC3 z6WW6BO;%O+m2>?_B!_W_fqAQgVr3Y_L!J&A`Q5o9QONPKPOUMo@u81im`>kWq#wsh ze*3LI6+N*L;K(09yP;_vQ54e`84|lu9F*l+3e+@vo->4ub?je&iP9h&{P}(-o*q}r z_ZB;JWu9uTtY12l7c^sZGk58pUmz=@Kk=J$UnEY7ZgGClP1yIf{_C!#np~yvmJV_T zGbDq2U)BcsUo!w+bT?>#Z@xB`4O}!C61!fN^Fk%W`LJ!hQ@9!$r9gB4V0Cbj?t0t{ z)(6ptGU3UK;VJX@>m{h&tW?^k+`u+`>b`;~K)>n{zx3mK?>3L+Rhg@hewzPDVsZap z>2lo}ap8+^P~5I!t0Au;Klz$bBp*}&m&B>imec36eP)U>$SD5&q%g#EAXQz+4HmEA z;ow$it5|x;j9*y{Qs|UHT>t!_F{mh5;9B~xzcxVcF5+1+^z9Hg6!;v2729jS-D4Bn z3;n`D8SD&C-Rf2P5#+R|j4-ztn<8)XiOSG|CJMdaUFM3PbT_fVX|9|;icM%a^?e|K z&V@*QhEu;-Lm57Sz)_1lQbG+6Z(WVDN+61%o2H`$rEe_qRhtS)*JIkC!_KuZkItnw zviPW`A_sPhA_WVvxR#+gWg3QLU4#+nyabB5-VP-&GkE?sS#yzMUg^0xiEG9OeQ%&n zVWaIiD3D-B?%ae(FTzA9j&HV2grrpl+pau7oLQ})Kaw>}UoE!_9;1!n#Z)a;teL=) zO=LB1FdZXo;33MBRY-Q*GAGV|U2gGC%!5ceGF1SGmc+8b4-VrR-J$Y~{2= zsY_`0;j}H5;wpM)xpu)MM|$qn!Qe&*AP%u6wQLwi(y~5b%D}BuVMLP77X~ETi z$@IdTQ|uMqcTkp5v?=4IYN*4~4&M$?x#qYUYa6#H12{)$!MA)$pzkl`rnl6%sj`}r zp|k|pZUFbrTeQA{e10PVvQFZy?11#O!z#X$;6hiur?_&&Ek{ZvCa>zDC(cyeK(sg* zZ(43`<9CDoX8_&i3Bzw7%2e#E*j6z6fhVy@$7Mf!RC6A&1SWF91)u0}0p=AMhSHz5 zuJVbDNFlfM0=E+GI)9QzmP<287F2doDiIB`yh zb?tb5DUGsE^a6Ah^ywJ1<#r0D%+f^1FP28?agNgezJL3ssUx9-Ga zvVr$p09Wjh&Y)^W9F$IdsLngGQ;GFJth>aUN&gypbhA*yn{X24jL30s{YF?(MuaI@Re zI3WQh)*=G7r?E`h3PvCe^!J9pWak)=NNSJBXr6crc{xxj=-*(926-B`yZ-4bGDh?( zk!xsf*J)vkPjCphZqfrLwt@tA{?*bv$VF65tw0QktP9g?4@w8&Ak5bbGzA`TMVO38 z&LVsLAbOYZOmS`D>P=}w=|Aw+iM&^#aLmya^|BAoF(}-}k=Bq^SDY@viSzo|w)WcM z*m~WY(a6T$Eas)8V#4Mhn9^AC{Sg=;rFcKc za<&y(Gr{#$Fk*D(Jl`?#(XT4G@p|yt0LP&j^MX>tA=XT-7CX6;KAr~!(Ys5V0wFD@ zOOsYeo|2^)s8nWWKI-OA<*y{H$0;6&(-l*+WAeACrbje`-CQiSC`QZY9S-{FcWp4k zRS}>Ty$z6GbY&1TOkgodAWqtXm0zV*x8ACc5j*D%SB<5_BvIBJvL#fr+vj za10E$@@NNY7;&sxM}(4A_aQzQ;q99%PK5vQ;2=3|E^stJdoVH~o3kjW>+V-VE~crYcISU zV5wtw0^?f($od$U{K%WmUSmn7{5x*L1y+oDUvlHw&T(W)sn2>`WeB3!y>P3WrL_{Z zOI!T0vag6v9HQ&!)BK1y24Cv~&mF-BNu-{8>0JE+c+K0eCy!1b%!6GBG%NTlK&fPTzfILp7roV4~mbH*bk1h<;bmzabL`luF9z1gD5_xpEFgA8pzjMK(3TokwR$S zDTga|S=z8F-Wj%=Y49S%scYG%K-9d?R;u+iCiZUwDVgh$A#Y3k&RkD_a4bPy8#==c zZKTki+dn+89hZen_ejOy@9~~)+DX`fDg7xthYed+CSo;P_jcx7`w6SK2sMXCvN+Zi zOHIYWk(eF$2*?<7FLTI0IyI6&_jaxg0f}HJ+h)%HQv=>yXI)!AVqt3CgRLS2 zZkIQd=DD}Y?G{5ZP%GloaJjt3URkTMQHZLt;}E8VoOlD-;Qs{{hfnBcc9_ZWLzgO z{2U-97)8#GZVK`>!$FDnn!Fb+>aF172pPd4*Sp{gh=w@I2;x5C(;(>}I7lwYc$}$$Xr-;Hu zS30*JGqBzd#L%q&}Hc*a)D2nnJvp3V3e&Z~5Xhouxv@nwORu`d_C@`k)(E%4PT^8Xm zz(f8}MtJ5DE8-v><+D=OpFkyorNh2@BY-udH~ceOPPXbE{R#q>edk|{wVMp#p7>rG zzW2U9<~twPFbBjFDhRi z)|3ftMZefauh`Uh^K@S`syppO86wLTsX0uG8N3%}*pBMUmvmwY$R)w9xbY^c4JX~|HU_U}P89Wj5>^~AP7>$Mr2+v&qtFLI0#-#O0Rf0z?m=1G zB$=}S5>fXMwZ@_F+d-XXQ>MG9MUZy)MdZv~6Ye??1DlESn% zuwx$y6hd)= zeJDX_hqO>BiPf7-3N8XSkQE=6h6nW23_>rgR?z--c8UW&h@s?B5$|x6j1E3`6su-8 zhS)v`&NqF=j0Ad!H7otx2mAUj$7E8?H4!{*|-nZCxU*m8Gzq7(AyVu4ylzR)_)?4obQ#LZud46z_Cu9n+hO5 zJ=&9kscOR-6Y}zJo>K~`c4xblvqKAM3syeR^anl(mE(0yDfS2PF-ad=Jn{r_Uc821 zYUtz}PFB+&f?Jb8nT84zU>Uj%vTT9T;0@t6EvBzziNO-!2K``WTm?>K+Ex_aj*onHh(tQpjD*5_{cQ@_Xc zMup6lxD*2?Nx5wKLtW|xzagKyFp*!;6m;>;$8}p0brX9C&pE=SQMt@e4Lbo`1(it` zZ$@=Ob0De5t=X1I)mv=|$`&uVrczLuocV^#kG{KMVh^a|MxFa!Zc?ediMz%@dR?Hu z7FY2rKkfP_Z?#Xp!fgjLVKW%gHe$}cNMYE=0G-NoK@iz+*zYm_nWY^w{60+d zo0|Kz&NUheDnSV)*T(zbmF#{{a?Z3J)gD#!+{j&(n&79Wm=nM5m4~Ak(ken2ovEYZepjzlQ?uTxA=Yb>M7h0} zyII~JR>KsCT^Cyqq%(t>JH*#YD>$Qd{BrvdDrXP1@t_qN$29p8mSiX@e7c0s1ZDvy zy~srU)aCv8^lDrn*gpF&X_eHK`#!~)rjVAdmOKYrr&bp`o5-Z}DG&_PynP2X^T1kj zX+m{CIO=J7C0?_0Vch}}nl*Kglz$=Xj`Q=i`oUq^gU~e&ql@3g?mrtvTu$ZLLHFk& z9}{5a9ni2JUc&vfZtR9{Lc`aZ6>sOj8Ngo>Gy;0*NyL-K#B7JffHM0Z@^{RAR&*S$(Zg)&$@^kOW43YGLLaAsCNV39G;@1BYTK9{^^ zMfM5J`Vc-zdpmbWWc#glm+@!koAGq9<|?pvhP`(gFb%0jWZK0+;>65kVzf+iDS=6} z)%pom==Kw)Vr}hFoTd#923Yte&8}7)&O#8&Rkmu>G<(jAqWGOV z45o`b?ps(6;{L2M28cgCng`*dK%-$@&SL{Pujd(vH$ukKGbo)0w?=_NE*ivuWMo^0 ztT=i}rehJ7(sjz;Z(cG@wH%GTv%#Cn#swHNV+Jo6J=;KaQYO}#xlWmYe`d(cJ-ip} z*}`Ehq->?Is~tS-%vpfr2V}QUrqf02$s&(+BFr&q&Np1jo@ByKlC41=6yutruig1&ViLrY0 zZ_4yITdu_QFPiK#+s#W31=hTKvw0oDom;lj|C3Sr!!^;6?X9TTyvx)YRCV{BO8#w| zsiIvx-zQrlX9Og}Yc2A7g4Ke`>B)H5hu7;4h|ejb_nC!nNai=|v?3BX4$vjW6k!z;Av)pTM~K9k((|eFi9&0CRPc@m>LKY&8J^O}j>1t* z{IL;2Zju&viLHw~hH?o-^O{AR8KuZ6=S$9JOuQ908W3~@D=ncxcE1(-$BB;2zM%V@$K>gS-&~VB)%EezH z_nZ|kkopj}bNlh^FaL;kvpw5J@PK_woP|m#bvgM0=S>{VRQ|W3H21Ju!ONZH)g$?{ zjF90dat;Q#rbq02gGJc9uYhzj0?$ejGAJQbsqQD$+5A?j5JTL^1Hflm#i>kv^v z;bxArReymfpNYon5^e9RRri~XkUm z2+Tpx?C+o`OePFb`YcT36O;vD_i)A=95ZnE6}<&k=P#}*CXOq)0wbhX@+fpO(%)K3 zCuJ16H06ZmrI`J6tn^ic{VQSc)}mVCIygo7)Sn4ofj7sQgJ+1xE1(j^@scwdb{PrE ztZrZfFgzLrD#7S|wy`MjIg{nZP~4^lsyn=u$QyxXm^tI=-@C z+pxOELchPQ^2rf+Lc^*u;@|?=+%U#9;eKq8itM(sP9TuZ5S)}FMk_}>nRU*xxo1K9 zJ9%Wswlb98P3(oezLHK3{@rUvlU*EE6=^!jl>?_&PsJ*%o~x_`z%nc=yxG=JW9tub znk1-+-GA8K9T4Wz7OrSMUfCG&py+`b^XSt(M~15 zB6&$~=-wFRpQCY#lO^xJ@|mX(@K8ZyA-2OJaQADrf8T#HLAMwJK}mzq_B2dz8I+5W zIYlAM54D{)@i2BuCeD~M1||J#jbNV}F&YPiD%LXXdwzjQPO&ct+E`BT|5Za-&ah2$ zaP|)P;(xJebROR^ILKJS%kv)bPac9@$#r8U=0NdKVvWKk-iO`o?rk&Xfao=4a5wT~ zMN8{`_X!nvE+JcBL_3CXIa9XaMn^iXa$C$k`A$CaJK0}9@U<~S&hxhRK>tE6_5?{k zXX;i`5^FhCK1_PnReoF6g2(N#Pli*4Pro+36pq=_?_DBRp!sjI^68n{LdhLIi!kZY zD%;HH;$<2JKHvw>JaKK>JmuqiT0~sqa@DOTwYTZ zIS+j`b+h9yL}Ej4f;YL=pJLBvECD8&tx%@bOy1iYVE-(UCBS0fUgOWVGjEl#}J{`K@k7Sr0|5S^-|jlQeas2(k4VsLF@tZ41MeUl5BLFV?sUXqagWsY^S zZ9VNFAlWRD4+13&wjsDsX@+T<&y;@3VLOo?bxv6vw_0DN*cuKL=LwcUe#rc7dgN8B zdcZnoD8gn|huY*EuHW!31z=rTUr;RVz|Mo$5wl)n4wA3QHz53-=m=m4MK)X%r;i^_ z8`ZvX@H%>-`}blEEjC#ow$Z>(6j$z>{S5#6xB7Gb2$P7P3tNcCI%@`syq{TOkHM}Ozl(gR`b0|y^uT>T#b+0XNC5Eh1DcT^`G6H`F~^ozI1|@4WaOC&g@9M!^ws~mdJ~N#05-DEC-Eu^J z9q6i?n`j|lZMP0`dMx?d9{>2S-oj>Yf^I7g@E`l?bm=hOc|dQ0j$1Z%4M=Hp&XNGI z`1`1qZ`-}eS09Nw0$PY5(+IdgLCm5bDAR(Jq?~Dw+i%&nSqN1T!ZJe2opf~0r%2^@ zm9FW%wO@tJa;6=;lkw8s2mq=(w4c_rmx$UD6cGwyk9%B1F%Swdg6BNdpGeLZq#F_>%BU@S9 znGPLmyn9zvj9$Y#n&a)xv7TsHzEld;+Rrp0W$M+0fpcaVNpI-G`ftom5iPB8H>~K0 z*M3ti@h)DKm-EcZn73UWS;kA)`KdYi!w83--?Xr-&z!q{vB2MIrDfmtFm4!I=vG}R zz83-t^)upldX?Y12=8;kAU9}*Dxh`w4xwG;_!Y5*I_5AO+-CJ1hcX&6M(*$ zj{nHsfB}<<7$8QMKf$Kw2!{{X*w#w4o^yCx9q7ysN(7 z2&sZ%?_uD-*Im&Bo%+S&vsWE!P9^Ma*FVu7lIC?vD2GYyV8M}Lg+uwdD$jR7< zmMO+r{idpTnmon9@WhvmN)*EpF>e1`PezO1S-XAg98CMT zWXLV~gd{-`{!t_?7n0P;`_6R;{T{@5bbJKmTlj0>%>0<2*H%Lj!nk~6SvzB8NoC4`&vLzIt!o{N>uf8O*F}qTc zx`#`hbmEvX$oMWEJN3g6uTi4Gw7Xlo=e-JOKny6n{$Iec=+0Sch>e6O*E3KMy%}|@ zqaoI~T>WkH5d}69^mRbNR-nt*ehPL1m;`PA;N74R|zF1UNd0v=x`W_70LrtMC|sbgH!*HC7Q z3OcBKwu3&E%5@@cB5j8?Be5$`D6fBB%0{!(pZcQ8jy()ChEe;K8#SOlNw))MaA59O7Nx8>SN4k~J3+Xv42 zIn*dH$hW{g(I`u!j_+JYj6n6YN7wHWE5(T|?(#$4*VXScy`>SweY4)F@H^3IV;Nq{HVu7 zL%G+HT_#kGT8hUfpKT-u$vmy%&N3%x#T={G2reb|P~S)K0mXOCwyEU5!2f`KSl3|a zGxf>4F0v}M2g^3!iL2|EmTAZoSL^ZTmfJibKY`f^@cS8j0M1pVgQUyw9hEA3bVRdk z)^j|?oEanw1lbA=VQdYsPiso^(&J23KpqkP?G(>FYa6=l)g#G-&}gdN@Q8vFIX8@B z2BascYs`TwU+ec0du?#llE1TC4TQV+Cl83C>K!B$yT~%ISe<89DdB2_CRACbFCw7b z$Rx35^j@XB#|2Gt;Vlg#U^46oxYj~tn*&*E8f2i;=ELZ@>vRvk~R>DVVgzP(V3glfVC$SLF9gtzng#}w<=hxfMdGrc+M|^3|Y}px|6#{)t zfE474q}ta{K4(w%VO!_%Fl(L^<$KEKK<bDf8X-60yq3 zpZZJgQ32IAOApbYwQZ?N`shDxVzC`jb7gPa|KqPX zJG`i=l_?D?jt2i|mj4R_W!s)lROlx_WutLct5 zoA4Wgh_9eiHY4GJpygvXgOsg4ye_j!IU?Z?jHFfOuWH^Qzt}G-s(ou!UwP>TYjpdt zY(|cp?&9>bSSwDF-Gw1qXaCu+#z}$JeXvaRp+sH&sF$|GqcG4CcOjaERm{IDnD^IG z)JciMP2OzA7i~-P<*4k6r#;<|s=(QnPh_2rk%+SF67UbUCBj0!aTr@=Hi0-OkbDsJ zbphlHffB3^Iw>j1P!L4Arx~sl^@LkB2LFgS2r|5HvcP< zBQI|*FwWcGspa<%K~|}P(o40R8!^jpu!3DX%|@pwlqUZtgO%&Q<~D%(c#fyEQsi(F z>u=njb7}((pILYa4cB&-U2#^s!RiL-tpM&nsHvf^BgSrbuk9G%6fO8n#KTGNZjPrZ z`#MO=v_9aYW($=?#-R@p4=?{dXE~$@hFAcEG9~d_z3v@+IEW24Vl`(jaooF9uoQt@ zSHBta(#ze+v0gDCKZf6%!e) z1@AsC)^f$2FC2q>J4^9lck{=i=^Xm)bKHiEi7L5#-jlvx>1H$}AsIq4w{;(VwZ8Ya>)gSW?NdDW$Pu99HZl`i>C4j}1X z%+|J2YUkz%2?A6X>LzxewGJLF zl@`#st07;wKPV<)l`V{z!L zBfRj3)6a6x!ZP#YmNU)W44`18;5UQ%bD~jKjLzFR)z_PUm?Yy>;X;2i zyZY7zw~P3*01;TEUys{8-MqW`2r7n;*MD}2q65WHhTjAsw$56KR4EEqF+s)Vx4ZrX zC>X^Wpk)Xc{zAPqf3F%$ClxN-r@iT@woea)2vq&(q{v3)Q-4!AB^XXGNa{$0W&Cjj z_8f0u_yM3b)3|l2F2ZdAXMuo;13PvOxl*qYCxig&SCvmF3S&6%vN`JG+`^Wy!w97> zJ_aQkcIkLS!)7BhpBm81T~TLx5r)tRd-^))E-*r@R;k!3y^Z_iQIL#}bC1XE(CE2( zR0(cfPxn{$6BXwY=C|ayVb27?=QaBLDlc%-U8(UIeUVTM&cqwUs^~Ifqf!x9%j_f* z7xunHI4Ag(U{%oz0T+y3VYO?OsogwfhACTRI9Q_3>*ks6R}rF*F#}{4R7&l zumw6OZKAc>imSl?`FmmUA6`em-DbS;nD6S>5{0UXfP30(4=es3`_K`BouOfi1D^;7 z#xN0|@S7=8jhqh_Ud6J>(mE z6JhTdt=|0XXcEp{70DES!n3+QkOJ$q{CsL7)RGe|WCyC-_eA~ACGKEM{Bx!9!(Dc0 zCpFmOV*Wn!VxU4Tg2Q>;DCeX2`W~sox>~Dl1Yr7VBv_FT8I|JVbDMH+6IYpZE*#&u z9lr=`c$xG8I6&%|zDRT(is-sDdj;_`iMz4sl`};Y5t`uHCaE>0I{nX%Ke3o6d&s2h zl-E{#hDLgm@U5ddk}wwMGX?LnNas(Awc!rdAXr#dbmfnoqzXP<<{jHzWseqn5(sVl z?60V$zw%HA;e>_22boae=a=|&oQ&v-8%_9PlyLi_v`h|lB?UjrWwdXd0#TpINKzw(`zLP!TD?2f;+E#mcszKgY)s_kA2$rmqMeaVr9D@ zc&Ra+JukZUf5cR@a}joL2tndYE_Kw<5j5n>;AgZQs0oA@_I^rAp#?^41t!iuG`_IS z;e11oI$3D;#DW%;C0io!Ly?lQ8XC&2ff>YwV5@J+& zW3#Tym+`?!lX6^f-KoZWM#FLQW4)*Cc%_>->Ht`y?Iip|{?d?uEm!A6R!e$}&zV<= zwx83F!t12rgeR?YSRRkl_Bk_;kW!q`MImT-a`OW^8eeWwa!`@0$ggwuQ6s&`o}=8> zuH0o2Y~ik5HPSS20sl9u+Z#rad&-P0t{;ZgH}6n4EoKEGZ*vt4(hg5ViL)$x-7)S) z+&EOglX?wJI^k)$_Z;d;Gl)G>^A`FY33p&~!*YF1LOa+3U=6`O1sgpxPd5>uB|ygH zL6AmdgaG7rUE$vcjSz?7il`=(fUPnG2!f!pZIUcGZ=o9$ECKk+w#Z5q7ZqCzOJhbM zJ{_W<>Ocr(H_ut@hU%zW+mT!7Aw-`tsAVhMG~a1(id`|z4s_%P+P8h4_~Z$aWgqN9 z&Cu$egJtfyn^jlE0XYW^?S2((vuEWcVGiVnwdQW{tWul2)0T=@4J$jW7Wu3m*1_)P zzR*c`U{4EdAnS}l^B9m~;J$$?KbxPjWs>9ET1}7Qt<8ny(Ni4Oj_jFqD9jR5Z$5urF#!0uxS9DMY;{j?7%NmmOC0js53kr)x|r}D^1FpD(p!$_Wbyr_0z0=dduR+7p7ml zOvh{Q+0&m!FOeIyo~zBBV#MLrp91q1Xk%nI+o$HH0)X)}?*K0nN2MBLNap(;TQaG+ zB3PsJuPJ8q??#ND=7R$@_>xm6EPoMjf3_c`WS=c}uU!RY-M!FvY?Of6epuI%WbART ziIKOzbV+C*;hYxGtnWznBK~DO1sV%VKdlyUlT1+9CAoqhwN6F?%>2&0Hno6hozXw| z6KwIo$tV>=)|oZ_)1LP&%(9q%J8O7Sgkxb8Tm1`}Y*>)&x6`U2-okf}I+Wat^xJ_T zSp!`?kLcQz$P3RxHI!Q%&eiV0pC%fpPeJ9;$+2+4kFkuH(gB3~-&eD{sf!!9TTEYu zH5p$;lJ?}c54|(wn_c&sFjjkrvpE~FtT^w#vfwR4{ONH4HJ9`L)V+$`QIgYGuMlW_ zkNOji)!HnN%v|(jtM)omA#OhMh&a>ucv*G11uXr~08d8A4E09 zqvH<@LHHfwaKd{qR|hH9-#C|w;F!#W-N#$&SRj{#`X|&D$V$=nbWzn0rBUjp)lMs650eB<2dFT5ULv==MXp3$?bFZ5X`{y9ep)om<*Lkbo(~C-Wbbn>N@>5_RbTj>~_;>wzBw7+N`oi7`*N1u>`nBP{-$QUt(he~u zKe#bdX$PO8$_IE-FmCBH;$FcsuT(z&zFH zEq;ztV|81ozu-|aRdOzJE?RTK++8i$4faHnE)KNtz|+Z9T>4(=YTy(`)dV`y^2N;ImTJH9SKbv5uhsfyNh zxd~viT=s_w_gr1tcxg|MDwP7PEbC$*J`K~mAJ)}Tr`tiA&NTC39DsFw2g$rI zj1{rABPv?l7sgv$t!uPFpmj*!JI6Y3&kdh~j`|z{HsNc53MYa#dY$1f=B2ua~l^Mk+dW9X)Vk@9uhq9HqBr zjv%@uTvT=SEf(_91}0}f_D>;JLz3~JuRNPi@2FAAQh(_+16oHnN_f0DxmsQ~e=D%qd18VqkG%6%6FO;EYL{lk$4b7^TC}ToX;>oX zGm;ZyXm^3uh|3IAV4XTw9)vdWbpeZxBDTt-`{RGfHG8RB&*eiwU6zY&QCxs=qPkIJ`&KLwLRJd z@x~E0Q>x0Vt8v{?reOo3<+rB$E|z_Sx~b<$MVq)uB-L746*PN5eC@|0KsmLREu3 zHg>J#M=g})#njpp{Y~4dcj~ntDFx}jXS-@oJPUz+299C+!Tr9M2B1df@vCY04TL2n zVn0ao5btac=%rqKB(cflmkvfAAVzDPTuuN;81W|o<1l0>>;$Om1QQ7Igtx@SVgayI2$HSl3S@MO68k_{s|PS!7ndK z+ojqDJUp=RpfN9@c+V*gYzeweltg8LK~>6CmZY-{$8E;Oy^%&<(3FMODfgO1+D`1_ zFF%QDJKN8?@~!9H>)u~h$|$~tI=993k5j$^(J804UX4>F)ur2w{_vqhE*$P;p^@a1 zw9pf@u3G#4NXjq@G^%N1&PTj(k{QV>VEkz&>WlZ0c^aJ!#H}<(K~O{3!gd}v-IvGZ zeQP9ny)p>FSrIk}0hi#X^}x$^mHi72>);Ogv?>FC4h;?}u(T3yRm>3-*qpZN?KP<0 z+wef!&vPmO4Mog)i9YGIZ)I;x_n9jG{ISyBR`hp+BOAmcRn!c$dN6ahyS|-TKV`UW z+i|a;+)mC7@GF<`aZ>+GPvM_ku0dc>&>(Tr=$D^V=^7KnRToU&?Jq79@+-O)E=X2t ze_9^f7Fm``SV8mzt-tV0suh~Jjc~2quK$woM!GnCEOeih2iRO29>@~d9i1m_tX}=H zhy4PYJ5@EwR%qOeUg*J=?Zu}bh~Y*yZg%74FFkeJqs_(?qdHO_$zOH2FYt!pD*V?DAu%iZ9v*aiPFy5tx-F{6Se5)|aE!q^fN zF-Xsph6$F?dRS!L#v|qdBAu;-tI56`mS1%{nD_92Rjyg^y6ibG6TXX)G9 zHklQWUqSMTNwvi}W6cF0btU=+Z%w1Jd)iNnHesxsj%qVDEcj>&51oYGjuaJx z31gXmp&Nsz)4fbn$oxAwPs!bwML$J#T3N~c0QX}j6k2qcqJMi3y{bZmR!29vwVt zyZt&s@KgKNL)1gS>{}3w{$i4?1rDmJ$@p?)684?*Uuk}(uYCUchu|^GByTT{FsVZB z2-Yj5=DEHc=P?FAy`!;9UwAA;#p!u<)gP4B%?7QvZutb|_9o9Z-QCWldRLMcDwi>C z+1rIKqdGUSj|fa>&EYqqcEX+Xj6nriH?4+8#mD|?re^nj|KL9U=3%%6jh*{yS9#v{ z)Jvs$J&O0i1dxzE$mgyJZHyTCc{$S02RLUH>{M;XOQz(eEwoy#tu(NF!wC=bqaj+u zL6+ybXIpmdAAZHzq*kjFYvw;xt~cbd2<29;2#!PtQL+{DQy0y4Z>$D+2bH@0SRFuN zrjY0bb4RgMCl&iptM}wB1F$7VucC!Xj~a)1elGu!-wW(@xkL8P&aDT*-R*bhd{6u! z+?-d}>2nE9ReEPf%1aj&HUk(yCiibxhG`sO$!g)pi2v)HEJOfj^EWnWD2}`_N!PwD zDP)^lvh}qZuwfzF6=3PTKJB~TL5JcdS_m6QZ%4!tN{3PxYR%SzooS{C`3PC?QGJgo zL~B&b@oc3K&>OHYJ8`)X1lsQ05^$|{zXAQAmjbXCi`aKX22*C^Kv1vb!Ya)ElldRW z$-2_wKJ%L@h)w-M;Oi-N$tS&I1`FWR_)eMgbE51oc#ZGfXmjs#b6*51S23v-KCs$2 z0&IaP8-efi2q-x1owT-YU3a>c3tj!_LNG2kA=w+Q0r$$yZ=31Rl7n_>2fa*xzUQZ} zf2DRMCwXL`Ea2YCbDTQ;sQOgUO8e?j>int$dHY@{5Jqb7Tye+hB} z>@5Y!m7F+_){Pw{d*FH>HFTlQrnVA1=|)F&C0$d*9X>4lfxesDw$!GV!GbXoNkGgw+t zjMK6f0vhl9zc#C{KCYyU-;#U@67=6wfJw8k_R=1#-POr-p#IuwS!p|tOVDiHV*rA-wR;DvSpv^cV{TFWppWk^+yDsSN(UD z0m|bpTc`&_?=V$he;X?%`+f4j_?tFq!ZrwC1gS>)M!YPQV${f}_S?W#fXuGaIx_}g z=YfTJFA2CebQ_FvXA6s$5_0G^+RhmLA7dab&V*|2 z;ZeE%o`YK7SbOo2jf~)W-e#5%_B~?|@R)Ql^<~8-stSUI`Wtu64zCRtXsc|_9idV; z3*CD~I+sw3Dl(=Zu~!PlXzYT#5`anBR%tezZ3Il*+|b|{xWFcVHNfNuut+W-Cj7O4 zfkyy9=Ul&5b_0nA)mEu8>I$;o8rC=Z6fuFSxL1~-0VY6iE8GR@v?>Hg+ zXq9u?#h$+f$S%wLE?N>+x=$J5EOCZ`yW4KFqvbwi{){N=32)w*(Y8yWQj-+2`uQJC z_8>?F8Q^B}->i76fYid4KsE1e7x>-0!7;mfDG;xWS4dzb261e8?)UU6_pVwHtzmEA zKa?tVu#N}b!GrKK2X|@@;eTvrj1l#~*x_O5d0;^cjl^Uq6_)Kz@(YGcRm|~EB@vDU@rhz$N5#Z6N4>ETzCky-A zw;$gJid(-Afm@Dh91czyk8y>J9t?sAX0AnXnH~t~4Yb|`*XIBG6?Q)EXjqM{n=LJ%`}W2I7zTl>M#k&$xlHG$netAjrGc8~R5gU!%q zIF&ow^(6K!`^%WeK~Q&^=ak|d3I*%i_OB%Tb(swUAAUa0br7^v(tM>fUeWinNhCOI z2B`xgTz2n&jBv5$UHL_wQ5uj~5?lPY5^iiKJ4vez-Ws)@i=s6cG(eSxjZXUBpj7^_ zqd~(mc_bX@QQo%rBp|R-8t9;CeX17JF-q_PgDf+U7=`qy`adqyM%E|AjxIS*8X}fj zhmb~KK|Y^j#0YuI4r=O8Jp1DOeb6_TJEj7b;r52+9eW1e_~nllc}-kuZ&({!U;Jd=elr=FWpufmIGeW zMmkrBhpjb}!uPw>g#MyF_S2O=x!lLr^KB%Js$O?~e)Qi5mbndFf;&nbJ!@__o{F zPA3EKOo|J}w3Z8AaBOo4Za|2@BOazM{0vPE%$&8SpZNw7R#Y)ZX}kUPG{sLPI-YggCy)$Z?d-}|napayn|dL!tfSPLs{{@pNEpt+k>=N1`p z`o9)3QQ~faCquG1T|5TTimqrUT2vJAA(tL(5s2yz&>@t52>>#J$Icztq6j|iAMR%J z0NbifkBd_zIR||M;}IYBg-xS8c3vz00qjHgK%}D)H34N$4BiGM(n+S^datj_YQ>Dg zfz`%uTb%c{Spd4UVqW!BYV(?2{vbSiI)1Zl|KyIRr@PPrN}PSLPnKD}w4&4q*-E3P zFNk{KdM{xVb@9yy&v)btHz7ZC*y1k!rqS&iJm0AW4ef-zISOW)o$b9|x9@GUm1kg2 zax7y!hIh9vPan?P*x5986Dm60^omStFm&*)a>Ibi}Ow*?dJ$(F| z-{!7Zv&)jyD`IKpe~`NsDrKxRMs;Xb?{3&<4_ivaXPDyU6}Muw(BpmrL8bX~=>x5! zkwC^hLz`IM032_vQ}+U{{iwX#Ej(+c@~18$Pq96^0<`-IfzSJFf~U&9k*AiwR@WJo z#^@$cL-&vK@0aI1ecY?n4nE~1ZOW3tvOHJU67u$ z`o8SNa)-Ty@yTCrB3*pWbwuZEBf%>RS9eFCFJ)1(Ic*W=8xK=!GfOVK!#e(=b{JJ< zcPu@HPSm4%;N3tm=?h7~8JA3e4EN;ANZ_=bbPw+r9OX8fP;^Ik(oLxxbHZoqKCIPI z>;($ht6@YPw|txS#XE(d6enuNl|P^~Y}cGE3o%q=2Ot2#eYR0*K7U88^vNn){q(H` z0`iMDN$7lvx)|$66L^bMtc9i>uhCs#S*A@{8-nq&b?%P-K zs{Iy%hPU0ekeklEoN?BbJ>=ncuQxGR2hUixZak=J&52%ZCUmCfK@T@s*(v#UXqXl3 zzd1yA>$4hWlU{uEpDxD8TQ886fzXj~em%QzZDbqe@7R&Yp>4H6S=x6*q-ih|tI zDsONrnkO441h9q{P=oj6ZXebNsnG@Dgpi32YggPf@aeNBHn69cFx^{WpMDVR?r!RD zJm#jOgezaP{#v)TJ+EJOj&Ln0Sn|*uIKosR zyNsSBRLlIP_2m9W+;!{!m)>F0$ za@%)~q`KcbJq>~L-N75YVvXXMPJ&2AjWPFcT=^&e$yoDTQsPrY(Tj>fxIA@v_T;da z^yY0acH`zyp=ghBpCV*>S&32G_mw@lyb4O|7JuM2_iW|;;-_B8r)&1hmJZ$t=*#`$ zI+Q@5PkCRiLIJX+$#tjP6vQ~BW#>nTFVGYK4l&n1RrvA9>s$hmQ+0p>=-n1Zk8`ya zm~PjTfQm4B=hl}1Sb7aIX*vQ@}sHS&tL8KV( z;O1NrSRxQ{LeB$KSXh-?&c8g82;z_^{%7I$NIs0{Fmunu?t-z-)?KrWY6mVgx$%2X+7K1#PoUEN%+ZtPkX^ zUB{TfdqI+)cCs%uj%f+n)w{;80@Pn%tU99ruW#Ns%X!)nS;&MNlwO@xQbYN9Il2YG zYh?4?>mV6~%0Yc@>}`BxS+h|bDLzW89!yOE!#Wa}J~Z<*59Wm}TRdE;=Kp|69S*$ z=B~KAH{y4~wW%LGA+vG7)c7Gbvsv#@->=Uri%vrX59nfdh)};?7R(N5(xrUxz}Q0F zkQ01}YVJLITW1su7z2N{(aTZg(y9U7o5|Ri1lPqz=xKvdMUf-wZ+%JC!qHN#Z*{Xf zpqO~dD~ER7ZWe3Uo_-n@;NYsVE2$nt(1J6h)~pYR`UartI=j(SbdkYWsq#;}v;Pl(_CJxg5z={B+r@}9WaSJaB zu1G8Q^4~0U^Q<&p1b{`C^i=8m#|sUy+C}z15(~dc8x;jdFYEqsWIM*7KRNLt$@drV zQN$QQn6WY_`8mYeI}BRZ>!U6VF_FKJ#GBRaj8@{+gg`4MLVMt-g-vkSo$+{E$@93r zpn>`bA-$v5oWK@@HTRGKQr>|H-VR!(Fnrr`7q*$W@u?26@km#wVPf5nc5D;!>aftg z^<7uU-)CI~FAJKDtQSZ(l8a7nJl9kaIiNpJv-F|G76SIUlkr`BGnN`u`L-DaSu;A- z75*A5Y{p_xfMs1)*BFM0O7&rxV1vavsJY5X(pn;j-pbyzxITv=C;)P_k;8bh9Y+jX zqn3YCYj^oPo+Fb&^tv(*)$5DQPbf=po12ZW8THL1a@c~Q#jMqWFDPgmzDN#kZ7y|< zcwc{Tb~iR{R@%NdvvEMp;%>u>#^Cg+^yFvp!7 zhRQKpD5OFvIg~k{nL}a++f0r{MWyDHkzwVK$}uFj9J)(&|31FIKki3dHOb@VdS9>4 z>-~IIf;P@|woKZiR4ZS&Mr~;q#oJ=ewG@7@UBllQY+3;`n?6Q-p z)bJE$x=4f-3+U%X(JIVXY8a*8e)h7;ch(JR@d+bUGFwN@arzuI9m@TAW%mMsP+)*^ zQX5Iv7^#lDBFpi|-?fGGTqz}ZYDMGh%{e34Uo$-}Kz49;!bxfO8)WK_0&dD+5sV)5 zWj$`HX2e=ZWX2uq~WjL8u?22hTbVSS-MJKf~sh^mbB z91z>))QKp=>udkScvV!6m^4WRaZhnI11M7{>2#{MDSW{S4oycyTe;RYJ0xh`ZFIlR zGw+(ivywWEqlpcE*=9{t47(i-Fy_e(V*MAhkQIxXy<&Ql|*9-vwFIs|0cE zKWk{tQGw;B%_qbyb1z@8*W(TBYR@BW9uh1D^6alM7e&`yPH+NB2zlsRMNZVIChhY! z%$=2SaZcd&Ss)0^LF%1B?$)P^yLHL)>bkoq;3ULj*>1+S#fP6+rV3exUexJRX;E)R zP->Y#f)*_d8`~JX^97%mdEM4-CKI3V0`d8j@%$kKra8Rt2VF)Xf_?T5>~lN2~6gWlc;j&tLST0!hxqB0A&_bTQ~%; zq=~(o62F3|!Ikvk3S023yS#Y=4DU6ll;XgWhVWka;C>PZLh}lN$PyK-O1!H)_?{yIJq-FaL!AsqjmOJ zUFSOdr^#Tc=_)5$$EtfcU_a0{SD$=fGrA(k?tC%l`Ur=PcHt)5V)r{#uIb}Quw4b1=cBsqPpc#9LSoTapM2vREqT;Ia%H$E2*A%ByhwF{IX7?nhM zoQ5nOcvJ4%TI$qd{wrkHhrSwa+a0R2D_*N=qLi3Mwo@rBsFZ)3HZ=I`=#z;D(fIK0 z$vLmL?abyG{F`$YRNYxYcDM2F>V$@=keLU;I%yhoAD>^v+An*dC$me{PhF_x>eiii z++lU(1$d<8_9*UrY!w-Q|An(M^r5T`;noN zcU2FX$bVy!d-;Xg7g(z+;^(X3x>68UGECr0ImWO=lV=22#wYBsjg>*D3sKYHCZaug z6Y$jZ{`NnC;(T=fGA0K}Jn-%GHARvcNNEp8X;F?RTs^AC$aeImUW6L2;4_Nvy&rTM zKa~@sRs+cgk1&N;>{HS@L&Mx zT}Qg=0MsPOb6>7Wk5VChcwPtfQn~4DX#-@IT5QeV0{XvAU(ISJnV%g-J2|Smra_HW zIk&?{q(Q3hKasPH@Bc1RoixGPw6az)RZL`mRDpGzApecr8F0qT3#(|_j+tJ5!HW08 zJidCX#N>SKuKc(K$I-N5)}t`ceSRF4RlD!4A@=KJEG6f%_o)3gRJ#jo!A3=q=V)!x@abtj1MG4&@3t7t zM7a%j)RyPIsr~#ia1;Q0!1DX5I5>XJ4hE%(ON|H_Vht|QTu=ko^nd^jYJ#eJdqAk6FP9(VOgaZYuq5*c)a>P!N z+~~(FcO1G7QsDex%@GivSzU!t$6Y`G904dkQBP=# z=M<4&0-iGCK^~wb05bf;#zSPgqoY=EY;pf1daRNJst3TVg(UzrZ{r(E#p=&F zVixRD1imW3JMxJNE{gnCSHAxkah?Lst)l}~wgIdozzj+k^k9AeVd?%S@{0u!r0;3% z5>|T56~N^(%$&%g0bq8KRG5wx>~*xWb)&}q0uq1wFTq4M`0ZHQCqd?dZF*bo-OC*a z!1HtSIY<&W1nH-X;_Hf(elsxQem0x4wT^Px6I&i<>xHba!BxK+=9k*)rH&x^3T2g{dE)2?F9!TfBGER7zpM`L^BK8husA#<~Rv z-^N$5lU%hZPS)G8019zG5?J1%HZZ@irGuL)yJr4TrY~5&16=BZSvhMoD7a=^`Gd|^ z+sOtpV2a~l6HnDJ+j}=7(~;KeK;U^Z$5RB^d{vn}yB%RVcD$o=fXL{rvk5g`7G`f| zyqY9>r4a?K58j&hde4}J2*}Mz)5kvAKB?f#F#z-$b}4Eb9#uKEc^SHEh2Bd(0CtD~ zhs>U$V?U;2SGu}-fRPfAtv8V(sQCu?9i}8Rkh>;cr}rVoCT^1e3+XD!j4_M2Kv#Is zb0+4{Tznk(q^1vRsRs#W%0E!B?^)oTQ#Y_bbI*lBKC7x7%t_wTG3h8yNKan+Tk`Ce3U&yDQ3+{UIFlo!2>6`G%C=67~4WI>NP79LubMYTbS3g5H=UV0W z*`1QomXk?i>i72cdeVg)Z%9M%|Pf_I3Qm+fABvM<9Y9xCC?}4eo+fAwJfOF z596)vPsXe`$;7=w^0_~@QFBjTpNB`vkx3={M`D-k)-&BSqL-XDF13K&QElDUew&bs zDvLLN(l=aN6sq(yt2ATg+7`xZ{|=$STiR7qTkA)}tqyTWoUB12l1 zvD|S(p~zE~%hGt=l{Wo-Sb zCw4Y1@=xA(w~JW9?#Uo~Y5#dZpNX^aB&aq)J|mq}4jaEweffo?4R6Z9-rd!riCIw& zet{_lCFW}q=vPlv`KJc1QO!HR(3?VvUqQ03p&s~FO^~OtmIunys z;m^@*o~ZElKq=Ja0^P$RQ^MLLmu!#_>EtR|>Toao@%G|E#mNn>{*9kGt1 zHjPIhKdUSl&>pI;SjK+3=E#kio1O7M$>P3el@>TZWUdG$_)XGJaox2BgB4vHETeT@ z;b47+7wVwlR7~D}90oY@686eWz{>WdWSb1GOC7>2?)n;c4N-27_Y+7`JwJc#iZ5U$ zkt>6+OEX|eUQ-lwW6F;)lM)Omybr^m(au2{*)5^&MoUUy>L^YKOlv-@ihRtfYy83W z`7Un|UncEA;IixRmda8CBK1r6ahklh9w%4{E|We|GQ5xKcPRA`%N?#G zWZAUizuJJ)j*dpx4_3eWbxK||98=D5!2j+(r^}uRQT?oIIPmOaRG*}8i=I>3>NiyC zrUw{F)zkucCNnJ3K^2UPFQf|8ct+;EL7!C+QwJ1p60i%w%^qYh5 z9B3U{!XlD^ujf24DBG>aZX%#A(N^|zT~_XLcVf~Si!RvvB%cjkV}e}@?7^8FI|{#^ zamwmWui1i=j4ZNPm8YIRULQ1!k~g^--9H;p8QD;NE{a$0R{o=ef3gH`IoKNPH(ZD6 zGf6*fG<5Rxc=55SLN@B9mI5w*$hwCqdJ%NbP9}w8MVozMjZW} zBWc6jOU2J-_kvwhl#uvgW3YT-oJH_6uu3E`*n1vEnY}=Q76LMcx=9BWrsTYuBj>@ny0A<_wOIa*J5+}zS2y!_r z73&_JT9Nz2C%WhiRK2_Z?s<2RSO)DE}mMeq@nabiRIQ~PN_6reW}x1 zoF~+Hb{=;%8c5hOZZ;kY_uv$#z4kW_oGFPzAE=$fJI15JV&=sBe3;+oZd6z!?{?#c z`A5Nn>$75|RpIT@F#;=NE(a}vDVX0dHJzx?of5JG+wjAd9Vr8HTEglEKfJ$&zlx|8 zPdR5mmUBr7tXK7&9HsW_>^jIgYk;$lR8S%hSdkL+CK~Mduh~9FqVd6UY6EjF-IH8o zhA%yk<}-l_1g)y?wXXK(O01_R8_6_p^<4WK^5%t$)Eei3tB27~3*D-GY2Q~|(DFu4 zI22xRPLY<&?`QXyX1$uB(g*U6)8J7ld@fu%$lfV=M%DiutKTUu; zZ>xS8(-?kBLvh8b*9lUMpzw64&d)Us2gluvVK-X0Fy5=OwxkQwHLKzg5IG|s#!TK3 ztz}@A$@K*aL2wr$0+sZ3pG2n>O8sL*(BVH(MR}QcMx?^Pv*$U{U{Ff{==9nxW^*<^ zKWlcleeXc*5WzN8nbq7xKsp@ZmkS_Ija#2#gRW{s-iYd-o&|&g+*iGAV65(V8?hOp zI$truYVRdv6!wvQA9OhGiqe$Uh`et6x8cjcw#o%cjmnET{#GNU9iSo{wDh}@v-Nm7 z8s@dHBR&_Pv~oe0dFbo=j)FL)!FaJ8I@qMIC1nEYG#^ky2)d_>SP0^iitmi-Egb_q`4vz<4o`D2_QTSHD@e0fwmuDCs>Jk^iI15{DhX|2v0% z*@KsuZ9JJvZJZ8B2daRT+`X0&6>lcEKM}IEBg`DSHZ$*LLlEaIVdu#<`in+q_Q5;3 z7rHCntXGYR6U-my+u+j3efhTa%T;4?Rb=H_bVzRuxj&7HTSgWou?x=uU(&6UkRmuB zNge?(7a?;P%$xhZ+`WJ(0>FgT3V#i$umdz~0!w!$wLvP(xIFb4z6hX_-d|GzJ{9^N zGvG>A)-aP&$Jn4W_D%U=gEy@bk${Vy9thyUqdx@_6c@#IpKMV0^vS*3qa#-#J5%hE z0@7L?2mp3FH0r{^tE6UVn}O`qb-*P3jY$Jxq)G=_Ytv*WsCAVEZU6u)+s#+5KE3r$ zLz7$?rD$)6l{(;nr>WP7j-+7j=$9w&*0KfhYCvuxs5NY}BE8pCRRue_8e$U%NV_W# zxEfEVwtUF7^4vS0ZP9^z={@&QJ5zo@3VQ=Oa5L7}ms8 z$h4(A@FW4(_%C~Bn=#Bs;Fy+GW{C^{+UJOteP&|DcM>m>29(bV{lFvyjA!KR1Fx)L zHf0pQRKx%ejH`ea%LDs?wYDIQPn5UEvBYKeh^wtIrUvfKPyxt)FO{T6H->?$qEA3s z0sJcF0JVzpxpSR{@N|Jp6rmu43FrBTSUT2HWJ|rYj}))9!*Bbu;6Lw$s;2XXT-=a1DX7rF}mh<4#dgsWT)(}#xmJv3j@>#dTs@T+M zb4AaY1k-cl8C^De3}b;>l{*8xVS~A0z5j_sVUFyQkoL!-B}exdGP7{WZpK9u z%F5rK^H~>OkXNj_T2<_T(>y-BlJRbJu*K3RdlqX2PEQGar3*gg#7-d{wzkJuq& zvbr2b+R%>S=(^0)Jf84m)QrhyS5PMdknTkn!8{5^ckkqfQJEnv3#ZXD{jU#|FQqlC z0?Y8d$F~;o$q^mIbf1fBaiJme{$LtD_GFTa29n@?N#y2d`I|HEg_iU5&NY@049`~_ z?+H&!gXtGq)AsfvjBVRu#vJX{G5#R(d0_;tHH zhpssq5EwX2-IQ?I+NcndR}sMpsX*?bU*Rca`|C-v8hH*i;{=>;!|6jOdYYkZqyZE$7h4z7;Yny`-$!33UPfO>^E&77 zZ(lS70~=cY8)Om7mtZv=mV3xL({-;q=sj5FgC5BM3~?*Ls-OC#-=`w*%lhjW7gcGZ z?@3{`fqX(Xm&mpr%6iYXCZUO0R&<+lT{T{f{OUm$AiJ80c zF^VOw42yZUY807bcZX~=HsrOsxR!kZ@8iA#vut9IF55j9)(3sT9RIob?ReQ> z$azeVSXG3?oDdBkFPQ-gnh%!UACb#F4q|4)h3uaVk@3{7dVI1u`f@gv^Sn_H308Jd z_jLrt$9{kglf~vFO9Z=Z$Jj6DEQBYhKuoEHJ>I;8e?`3>#Ro6s=)xv~2uGnX7kh9L zb1YEwU)J`&Yo&liD(=U}A}s%|uH7H6k8fRF10#08J%Qw8i#oXQ`dI|?`0Hy`!-4&h z8w0|d*2rRz?TWT6=mw@Dn|`nk&XzXjfL6XVU{GrJS3lNY!dZuxuBBzK&d@#5qj(i~ zelGZFkOdBVq(b&{?H?bCaH@9CJzUqZbn;8)Ig$$NMCj~7iE62X(G!#hP1W5Ia7x|1Z&58H2He_D3Q{TAs5 zqp14X5GUhnU?U$fwjm@n|0XeJ#~V_6N>U}mvxV7Q14?wqV+%-RqwtBz>esh+(~G7xB8%a zlu|CdbAMEi`^q@Omcu|2_0_Dj5!<$*!S*Y*>eIFAP9J%rUj>$Lj2%?0#I2x8gKHV` zU(?_nB}U@EcApow9u`L{$Y;8_nzt*YpM)oC??PXGq|)fISKRQ((4SD9Ghf#!_b-5{ zBs*=$?>31kb;cb;;DK>nTjLI}nrIWug&luzPmXN1LPq0Uv~1JKl@oFY+mws*qSMh2 zRkQaEbI%UO2R!+lbV15q{?zzbiXYzUBzZhA_X#C-@jzPcI|cI#B}OV9vJ9iEjDiIh zJFU_ku37INnt5T^g|Fb+R*}hi69xUD3$FIZuJW|X*Lgv-aJ_5li0j7s3O%}F$YU(VS9jJws?>^H{02oH~6(?cX0 z=qLC*dSO7hlt=E%Ggg-XFi~(8A1lmY9usSvp1M-ju?SY4(4~YO@c#7DoI7VQKnsxD z7H)>Fufa^mf==xFhxL$BFZb`uf((Wg$@92H%_L+y&t8QN2<8-<+iKrwq93JvyDPeX zCulr)f14TQ)%*n>s$`8eYW@GYTYWgwC469bHt6Zp%^ zHFI{iu-_*?|75(Uqc3@V9{PvbjjpRgpFhuRRSPF#mKpk@l1U)hjm%Je>x zH8}Y`0lKeZ`(U4_=POzRXZM*q4}KatK<}F1;$`a9_B-ugB77&Au?f4cys=X?vh5%; zB9%t81X1{TAcOZ04`=?ewwo4s+vw#&f<7v6= z#Yf_oj~LHg+h!^uyX>H~%|%;W)q&!WONDzUKPT3K6(j)y>woTetnKt{w#&VpRG0e8 zR+J#_v;ZdGpBoIv=PTvmu}idQMAvL~O7C$e_K)l0!hM(!@VX1d**W$mJ6P zM=37wDHN#*Xrmk&s$`Up2z-&cV*_X~Kr1U}%dyZ=g5dI3&C=tf-7NIL)xTG&uzqel z*$EoZtpjsh=Q7BG7b}7t?uKda05tXW6*D>D{k5iqz|GZP@WI3!kdZQ&K++lkX5i}p z^y$!06!`z6b%U5g6KJ-2S6qs^u5g9MlirisLADRa`ckz}cP4fFDOc6o)oVNhKz0o& zsL1hr9laTsR|K12!X+lD4uEk6vTZ=EQsEsU+hZOJH{S&QIDApysI_{yL~un2*`Xn5 z!CFH`OG0+e$^c)aWrHsb1RoIw(BOx$Q3_+yjX;g0X)j`6fO=D( z2390Bx4}Spqdg{7X3OrGjDcD!*x1gAY(>)hjwo~3?Jmz=?$rI1n>6kKJ*KGU_EOjyEK%5PB?0H+qe{&N2;usG4euFOhZ%eG3&-+osJ z?uzCXr47qa4c$~p&By|PBzN%JT&cMWDiQrzB{LK3q}`BmG#@~T9zpqfc6~(V%*~xS zr-9EI4dNqkzgxyXrk*=B%e6})`+o+q#EBc%s+K{!uxSDNiC9QeGbtMoPSOL8|DL!% zE8#pxg;A5k`-qt#VOrEK_n*w9|3nP#+BZ7Cmyrcv5QVE%v0BWk*;>8@jaV79r})=k za)jH*K;)6;S*~^634(6k!WcgJO3X#6kkApDM>XJ-4dH@A*aR?=T0T)~RQ}-GvMFdk zja>pGaMh10dqrc?FiJ*cpcg1cvedLfi$e)ZubjE9i3&#Jl zq!*Zou>B+QZ8J2PZNfU~SpiK3nt$ZagQ~}}Nae9;5M9NG)Y+9h??<5CcT<<^U7PV1j|;18-0k2=ttW4ove@tLn&igbp_$|dB5 zw(t(AJ(l51UYHAodJQfxhwt;f-9}G_Wwo2qa;&pmw&PbRMcZ9PvBx9MTXdkKUb@!@ zmLJH4tD=vtv!oSV4jPg&;}@OWR@PXS*7`_z2W7e_@Y@|r4RIsWP?sztO0LgZwZ3gd zwHE4deYP-T)TQ7~ey37yT+wNK|Go90?HLNf4Pro9Ru6VPZrxS?M||4Qp7t1xt9DLg zmTL8Wv=C|k0qTc{tUPNlm^CWp^|^!mCFPs9x{ki!fnNvt+44H5E>q@`o4Ztfvbk2) zQY66x{{_mp8lvRhezZ5MKpIhB}?6r~wlaSJwf% za(#vx&=GZaJ6{C@+pP_ z95;DV)SDd6SVklCH{Sobfw_Z*xMXBbIr<^h`Tde@4)Gv1NtFG7_4!|xVzM{*7Ogx? z%`n+vfuNj7(qF*t`oX?8q+Bcn3;YtKv!(KY)y1kh_VudOX(-_0{aRz}+i`~avh$0x zg19=Oh-ALv-dus&sZRD3#3Ne00%pi%N0@$scxG@_F(0yhYiWZo^|I#=@J`Ow;vGkr z`!1eVA#AZyUoxG@-@e(vSB|52tri7J-Pa_J$EuLo&X^*Cw$I*Pq>o@6=0e21KjCI?5vAU*WY8<2lBpas$4n#KLs! zK9K~zD|=5Xt$u9qr3bNO4H!wyeJ!UK&#qD5?P{ihX*h%>`=tH;2+L&Pr_j5(Vi8$R z^I4F;75IY*7I?ZgoIovQ_MsHBF5u?idyiP~W5swu)(fQD5le)xT@jkWp#J5Uue5eA zKf=e5O_w~aQA9F!%-#?xduKuyk9Nmk$`t{>X_Z_Yp+Tk{>b$^jZ za()d-gI9m-{ugMu}Y*UM6xyR(U#K*VvWkzZ5bK z2VoHwtS=W$U&dh?R`oq&OziXIc}!+g8x4Z_2dBk9MnGdm7G%(u>c z!SOjtJ$G!AJj0p(-J)eXJvBA-Tn(~2d?X)?vatqHf_wAtANQe+vJ9~^FiXz#GS9FZ z>4!oq_x(G#BGrwTn2fcXR&2b~iCDcoNw+IR?~oAfKwpjrn`VJ~!frOg-LrJkdmn5P ztcUZICu1ECNRB*0rCEvFJlgXSJQ=>Tw!FMpC>rQs^T;nV(*qX3Nsr16zP(7D%~MsW zmeu_wJLz<6Rc(aw;Q+?X=v<+o=ESOrkw`x%zdAIoD|GO`KWLCZqmFv60pr)b5)$lv z1(=Pe4p9w(`+Fo~n_a<;I|l-1@*(FlHz}q1bP>T~nVA0F&TaZ@%)QH2>e~cq=ci=! zDiCGzT6}Dw(QOz>geNQIIrV)%Kp+QBYX(34`wM?$ zAdbLJ$+wlf%M{gT|77m`-vV-HMwB4QSlneCcJ0D*^m9WNy-z{0e`-2DT1D~ zn!k%E6U>@*c3s0fDgR(c)z1XOzPujKY9C4+(VP)h`yr5b6mbFJB^3a4wxf2LXdBjB zqzdmS2J46QMU((l3lm6Q;LGZ-7U=5Xv+5~T0A?LM5coVH3RHu?M>lA$H7Y)w#X69bw)rW93Kushbi`$= zaf1Xl2n_jKjWCbyQ{*d)GC_KMbHtvoJKzkQLQiQmF)!n7ncy2E(@v0^sHY%EG#1wZh9xOYRp^-r zO$VJ8^-qIgc?JKFMiZ>5#58PklEsGL+f4b^JZ4U{kM|Mgu0CNI;LGx?!2{N4FKKke zIixHrS^&OU#U{pI#`jM;Pf?tm9CLv^RC3pUB2W-8Rcga-$$NtLlR^jRdbY8}Lx98{ zP6bz_cS|6oK4^uB^3~p%WTG)m-g*l)fo2=!i&XlSd;iHv@EIhq@TZ}kE}vG-34x+XA>XvH&=yJ;; z3;xuD?3rjl2&@~eWD6{H95&n-MVaQwrXzk~=DSysdtT_XdddVL+l8zKZ*?d^_a~!3 z%N6LcH3--a!&khVXRU*4_JoQ9G>M@NeE75DPbAp*{thZ3T}qj?^L~RpI%V>0)XPjP zx0R%FY+tUAu2d0;+WsYlxPkpsoHle-TaRVVLdG{5p6}ixA*IZKe@P-4WqM|%_I7qw zbJ9qop;*~}Nc2!oLF|xR>XE}-t=ovIP>han-`*kHy_q`*S*OBrT_;SxW9v~~QvS&l z=5b_{HT&BO;qq0TEc@O(rDp_^3Rg~xP-4oDXuGO6>!4#i$^KSM_$kfNtA6h|TjY}O zlaq`w7;2W`x`y(uqDuWHCJ3RFguD72&BkpHk%BD!W5bg2Dd1;a(t>45k%})^NA)cp z47rH6kaZ+Okt#}!lJdhk&_u1Z%C3&6=ukn0FOenNbg#W&kc-K71>3SG?0rG8%eJoS zDA{3<2E=vQ{xrFne0|y;JHEGyUz}WdELuYv&}@Q5#IDONICgw?e-te1nX;ek4ErN4 z3oumpf@G(i*}=xx`Y_#8sD9KSn?z}Wo9b8j>r_L!AcGXLsuXa5He ztkm+X%N&x;R+my28MMX0R;#b6l%G;iVMgLP*nJn(bo{qlDbv4qvT9(aKo|j$IOh-e zM(sUseJ7a3)#k0@nue>aXSEJ6z>6~n`yM4Vm`9B1uq3|hZ-8)Av%nhefX<6D^2(0G z$fO{wG()<~vS{w~AZm`DD!uiRZn`cfkCD$a!G?H9;+~B>m;sc_D1D29=QDz&P`uHv z%cW_iv#9?>5dE`+ZAkUvU;Uj5U*4|VQzW&`)ZbW&I%hb3zg~3^!Ru?$^Ax(?Uvk_) zoe6MiKqkCHUw$H$xn7KG9da6$Ty(hAxa_z=@I6#*(7*mX>Y<-SRnVWxUxGsqqdGR+ z*D4loM6mJq))}==AOjIg?&ruq7=Jk9jrg7q7KG}SIgsnt{T*7eT`zMWm-)<){#1;o zH*Cz*rFN-tw}QO`c2Zn6GT|j%MrkceQ{2dNW9YkFvyPi5P8ikg@vxodQA+wQ*>jQG zfzt#u*HnM#W* zboM(cvqgz7PVfVc8$9aelD)Ps-3bQDoF28-g%s|rFIOoLarRZ?8}qYdGgZt-a3ttM zWqC)ds+jrxn4ulqHs^lF7ki?^ey9qSG98aaRSN&-e>z+Ui)S@i5r5tC~L-Od}J*(ApcH}emAg7_is7Xn@2`A zE3(h10Sno_NK9?X)MTTQ4R^nqBFm_h{IjRT5Ms2sCA)P$c{`%{)o|foD?{v``=z<% zMQrqu$?V9Y0FaqRiyF^maO1=mSxk@G8hM5oCUZ=N{R(2##*!4WN|;!?9wmIY4zB>?Dj+K59*h4jAXknsJPX^1gr zrxr-_-ELLr2vHAoqE7=mI2DZ&=N*-03T{F~+F-kxVB)$1S`C08up4B--g02jvtdkR zbao4TXv!I^ncK3`8I+qkX0m0wJ3&=G*cMEeB34#_prxD*5#cugw-0bi&wv;F0581? zxLL=wk2~+Maix$TywJO`VDeOf_+-l;qM&brj8&^a9;?1!Do&$=@zq??Bqtv8qU;L$ zm=k(`lsXTTYIOig;)viH$U7ks6?3*$x8R&?@8R;IQrOL$ZyI~R+89-5q@*iQ^!FD& zH1HTfRcJSMf0|~4iAwce~oP6+-)H?+ju(IZiGrc?$t>F>GkVS2W9$$ zvD;h(10Dbw;DMINRscl`3M0|PlJ`wn;%qiQf9_^%&B&I5ibK_FzFDV}&5hY!&p;34 zc5;Z8?c?vPtAgN(N=?*bsy&`g(lR@C9SFICX&R;yi+zB^ZQdZz!QZ}D4cFaSCG~00 zKh!?YoD>h5iVhm4_rwNdud;@(GfuI$DmFs|jhd%ORg40OOe_5fnhK<#Yn8U$Kd^(G zkp=^x@x24J-<~ z|3ZRP#z57@x-WzjsW^u&1^!)xo2EJxaR#53B&!W-*ype75^H((|!!v z$*XB=*{`ToW`m4!>s!LA4%U^QoGiPK;nb3oHT%Kvxeeu|^DrIPXW=q2SU=v>w6;~` zB}cR}bNoR+f{-ROwmCe(68w&OC#OUoy&5y$6LsJCq8vt-koN3sT6_ND&9xo|vpAe@ z|0FS5c#!T}jyz{|si-f?>Cpuvp*pCjTz>MSIud6f6%dsC93)qN{x>}1j{VWEjxnSr7ofGt3l}1s*>?n7kW_ z(QKK2eNDxP%ID{?va6(&UyxJ^iQET!;a*^i%l_eXrqiMP77vL;NTl2xZm}T7>%egu zE`AI*GExvc7ma`Q9-(v|A=Izv_W$LKA8a1G$uEa05F$Z+;w*fZlu>836&{?ZH*>;R zQZ8ncYxY+)3<+1sH4_|LVZm3+C1+bz10q+&*GQPDoh9*+>vD~r`49PNmsd`&!M*TC z(^aF=wLP|8{}{0!ou5SR5sSPPMM4fqM+zu@$F-bmILCD`+RI>))XVk6JMi4Ebb{!% zQCZ*J{byxS%HX%$JuIp6Ea+>?6?mW6)&LGbeB}d39kCANY9D>8(!eEKs~DiH zA)eK8*hSHCe?&9~(f|ZfbH1xiAOne@FQCh71G+>V%f!S3dJD=9XEIM9_Tm!!dJD2n zpgGR0c6i`O^Gt8kF?8(=O#*8*WFSA4Q}|JqamvEUtroi#j^c&u>y)3ev;#sjNvR`S zi+45p0Gi`5r1fWP8I8cCfJHCMsAVSzkGaiVH!$2K=d3(iE#LA*zT`b`6Y z`YkgDgy7#kM0-}&R`Wpt$aCis{>;6%Yew2+x53#L6>X9Zx)*~z9b*%$nex&qcbRvcyuCq-BmZ+Vl z^_HwhTIO4l_BC_Y??+jLr>*6$S4Z`)$KhEA7UTnFiq;=S@mE$rakdZ4tWJ-R;AOV! zRX_e*JPEe<)JDY5_}NvFlOHT>mVqr>H|+0L z_<@WEIG4U9cNpjv90#HpKB38^nI)JUufuxdj{UoYe$`x^4`?t#gT7eM8%~dMF%4Gj zb0oKc4#KtoGz$t@`&4g4PHUF~2| zCqDfe5KjG~_PGC<2k1lvt~?A%O0F{;NC4Z0mxERjpCT8`v&}E3qy|2Gq%c#ZSut?G zt#-?j(?08{=j8r<@$OHaq_@Het-D&zbEuiB`U}>LGBuCd=Ra(PwK+!%4eZCn3jK}e zBi{}|$w^?tz*893Lk2K9eJVVt^_Wt_VjD|C5(fn-yZ=r%_kGt{(l}@K6h2w5a^_@4 zNdO;Rcb`~YOU-qrG!51kv(7#6_G4}7tju(T``HVZtHJ=8Sl?Qyp^0@6p6kO8;iwdT z9u^^H;{U+gUSW?bxKP;N&j0iMt1ICQ@w)SM9??x_r1a5GZpGOTjwJ7gZ&}mZM&d$@ z;r~41>v=@GT85fjfc$gqOTeDXPH2)s==LB<+RogHKg zkyVacyx%`rUVE47;zn|aDK2+&)W27*Pq>9lOI(b#TgRm3UJFs*M!D-nJ#GMt$$pRh zlM_Yg*|&Ngzi~CNrjvH!vY~Tu3;S=sRrmcWNKNH~b?-Sl@Sp1=%rxbGm2^$Q;kvgc z*#C*-h|<2lsJzaRuafG%b%Cd3-RSimW+ThYG^-J3-!md_4vEXNq{QSờ*#+HHJZ02C5X{*D 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 z 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 O=K`uh)Rt2FA3!-WNiQaI_<4AZO@ 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

WpV@J**rm@mI4#)=H1 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%0DBL0qQ-vXWUitD_DmuZgrX+ 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…M?}AGWqcQ*#xDtu%omwlHrN z$<>+I=bgOm9^{_YQV$rdjCXeS=Hh#pZCY6_yzvL8lL_e9gOo71yHm|qX&0A`2e@lxyyKN z?pEL#VYh}P4A&4o;-nCI@^XDBj2zdz_7^gX(C(qpZFQ^SP36U{ihvcSPbxAxWCDKg zZk@$SMV+<9)H)`k9l~3jG?TfEGh?dm&qI;;)((Sl6`UyLuC7F_@>_`VT;qq3lk3nA zPtHv|e{9*@x}G{oHPYRnekC+@~N?$11Q1ojjqcWa5gE_Q7upW;g*W4*VvhRqC;#%y+^ zO`PN$;1X~>$;UxhGu^tDx46HKCc9D zCm|BzFO|zF!FC6xdf@i04I=L13*WNZT+66Mjfrn>(lPz#9PjnOq+}{uR4Vms2a*=*T=n zsoq0yx{cKKlfCI?Q|0b(6onbc01gHK>55xF78~??dyzDdN%9{$KtfNE-q5tEg9uz0I`>9jP*NuaqdM8#xeKME@t!{ zqIh|!o{4m~5(T!B2%{o1DxLeg;E+i< z^sUoZS25S2kbE~P!~2`dNi41#_kK`m3b@8&V51=N2jy9*;XO({N=s{aT6b2%GC2WB z?UVUeOQraVFArSLr^_U%Y|)+ei)^tKJ$IAWBODV{uCFic+B-`@FOzYMTo&d<&kD`d zW4erfHKKC8iIP^iv!rR7e}}E*)3qDcywv0+q(y%=8zcj%Im17uIvjVbtBIw)g_BQX zBrr%+TE@y)AwR?qCAj4E&1Fk^w#)W;Wi!mv4>EX;0RVl)_Fv~*^lXoG?+dbtA8`^6 zM>*@>oM}6^aXH;s^gR_G(qk!t@*Vt14BvQ+bsnT=t#kVKgl{e9WQNvBBLo=bU1d^xt)~%0M9tw;C)E`mDAeAZ1&OJUd#oZp)DM8zQo_^v8g4Ga!*`Ve~dI3ZGU}c ziEA1ilADQvJIN>IP*2JS0Q2u$?XBz(PYN+>sYB$m1GgQo_G|o@@#{U3h4mx+^y;qaOr%dpi*6|}jGbacpC4wHMv4Qjz$?Mv@ zw>O_@m~NevBuYQk#Tei!_Q>|)n`1bZ#^OtWU1VP^7d+&0Ncw+Th)}drex*vK-N+%I zd=}ewktN5?mBt4ZKBavkYgb4vWk}hTQ)?ZdU<{Gotm&F$dW=i+t*i+9johpjCF8$; z$Y!U%k3_MKIQ-js3!iFk zRwr^}qH2261~%_&W|%}b1VoU>)BszP-20R7TN($3tTd~r#lx8lnIIVVhsSk8)BWT4 zb6D3N9MqEa+DO`KgmAAblRSm+K2;q2!#wfDZ1{Ucva-B$sa#7DDjI0wQq$mI{_)Ss zgO9p0PkQ64D@ECx!Cu!T*Dvkb-qu&VmF(1(R<(#b6&zr*5Jx#2_Xpaz`6baNmHgM8 zMm|}UMo;_7E3DL-8^bl`pQpf{Q-y>HU3}QiK?i$apTfE8_-tD2#d)Otl6;T^Q|-^D zGBAHX#;TLhDsQoN-VG`ZC8m4kcp#BVH+Uza2DuA{-Y)2F!9ZXK*6w}IL*C(D@`O0HCM-#8s{+PSHw z{?PIk-Q>&2>WZKat&!i}rk3X3$_LZ!(redqwcE@aS-YM(_XD1s)wtbQ&ia;{P}fVe zHZ$BwZts}Z+D*iJ1yj`4Zm9EH-7F=V;_XHy+)J+i07IU;eL7?wwX12Ve`P#z*qALY zRY{udMiGD6-S@u{$vv@DzqT!)3?q0%>xqVmb$=+a*rXP; zRC4PGZ{pqbJ?lUBm(qg~5<`Ga@skSoC)5skt$VK)3!Nz~;Dv2$r8{MbS9VH_V4Q={ zj(vq<&m8Gy&{)U1IoLFp5k5;O{sKDyc|NspUCEbZS--lTMo%JW5;z9H7%pR8$MMcj zxv8wR*kYUa`lPqFCNdC2#G;%KF`NKKdsA)vA$S~I7T7@ zNvYjNSX?Aliz)^nuziFcFr$Sho;veQ@r9MXi>K*QT|*k`A7&xG%)B#st+e`m(bVMh zu6*A?G!V^nvqKuWWPvbQ_y8Vy^yQ5SDXWRzF2_-&c#7!T%`B3r=TB%NYe3V?=P79Wce6hdoq!RuiU`t+~8s zd)&>xxU#jfn(l2P&2mb?8zJ)pWZ*wNht2r|Tr;~nGcyucQ=?)5eu+60Ov+$Zd``z#sR_eKC#)x%@L-w3i~(MMH@p<)|Qi<#y~6!y;MKY*=GGGv%a7Bdy7!X#ssl0rvQ^vOQM6^0e& zAys!X9087|wbDhk48Vf6ag;{v(>TE+*Bqasiq1;=jXM-IZAyE+X8P#~Q8dosK;R7V z$I}&J>sy=qN=t$Yy9LQs=kAQv00F@#6>Qs~#FMhJ9z-gBX8!;IRHBKwxum_kg>UX- zM~N5+;Z_J`Z|Db7KHw*>S?ine~f)9R6XuyUG%XnleBjc<%o}P4nNt*rpp<5S+Vz+pVpnXZZHTZy-1e} z3FakybCxIhR@O#CAm0-M8F1seb*rV)Bfji!ZqR{;KU3TJ)kf7O0ELrc`X?XCs=dxV z{{XEk2E9$&Ek7|Fw%ti0Bp6)!pI^q8PB^}Vj&_pA*Z@iX zRS~#wNf;Ub0Ay6}xX2?0M+y|VJ%G(!RE7cj=_5>ak7#y3;rZ1`W|8{2!0ZkO=}cu= z6ZdxK(79r9NtBJ4u41>f6AML!q(8f51)Qkr#PkC_fUU!CYp2>l`sG>~MM5wE^~56-hS9cN7p z%jF*_xe;3?6lbAr$C3w3Q#AN&ub9VcdSgaX4YZ?c?*0-FMmhHtn}TapQj<*TY_+?l z)^6|QwzL;AmyihdJiFPko=M$-*zsCqrT&*B*AS)6%H6Dp=2lpVD$02WsK6)F>0W23 znOf!Tt*wkI@3iD*Mkk`N`h&pzYfdJc!m8Ga;^yvUQ*mm)I*#ibdN)FG$mmGqR&t}W zTbe4GS(`eBqXoB`k8JZI1pq7gq1&&@Pf$AgR&+NpTultttg+t2IaP#o{{VZTJ%0+L zu4{5bIJ5~Au_A)#Mo}D$uv{M9GCeCLwIJ(~Bn&z(;8wR$(^CtbfwI*0JZSB-lF-O) z!RyZ5*gbtcezl!%1>coC;$Rpljx!@|#(wbwuLIC`tov<2j7rTcwyLLcF=C)Ms6Uab znyZOgJBX9cGUT~0xeJUI!u#YO#*(~r9{PoeI(M5hM)6zuWn-36w8t8Kf*_2Pt^Yav~I8EmQ)T3h_P-%DkvCL0CXG*sivvAwwe}f7C2n?VgCT@r5M`p zxHo+X(&3;5f#4kA^sU)7SS)odGWrJ0mXk*<%u1&j+zaE_{)V{(kgS+;M$?v3eLGb4 zk=#!Hba>hu4qJu6>JPOy6!!$|dTr*VZK2!S!vHb6UEK-ijW_Qrj4OhE=|HC=zV5iG z>@~Ba-2H`h2DpJDK3&oc?2^gzGnM`!k`#l^7wK5?u(`Xil#ewev-4U;UKlEc3y%3J zqn>#_wa@8^aj3;2&m*+T+qR@+useb1y)l!YYUB2Clx)tPdp!=vPJ4YvTrkS^>X%`rJvTm9uCO2?Vj;pz#wL+&;I}uJt3atJTpsk z_K`M28RPP|d1Dyig6<>^q;bt-TX>Jo`%Tnnmg{tZFQAP;MUb8y1~><)UYW=g{Z97g z`ol%HVJckPE6*FM{lcvgqHb{a@=<3_;Z|BLmjKzTU_5s3An#!a_VxKj4|@@-J92H$?ei9HcXatc00W<)eE zuY~nNrWKmrS=n8rlrxW&Ng0rOJ`V%bX0A&Ndaj>6tKBW2np6?9{H_#d9B$5A9A}(! zz^oP5@2oDFY~Z=K)1x9n<->V_M^Z*WCppLe09vg@N<5_VS=`ywHGk|Y%SU;9*~6c* zPYCmyesZ#Lfq)ni2;|dXdCs8(_cMv@re(~`?VZ^;e3A}00IBU+ek0dzZf#a6q>f48 z`GE?k!!i7!N`P^Z$nTNqT(^bhx$~~&GP#h%W5lhTobU+r7^_t88}%1Ay<^fKGHIHc zPbS%1As{b1VNs8j$?i`<+v{BJi*0$RBm(B$VU)?T-JOUe0Hr`$zvl%)^MV%{j#EynB^ z)2P86K_us`Y^id)CTGuebFaVDlS;SLQCzehR^uo;WssaIAPe%Wc_TdJ^WTcgxYgyH zEU^gYxr#8+s}KNOU;sLjIpEhnrr*h@*<37_HwkAj5tvklSx)SQ#~H`o`s2L<-sa>g zS-1%X14@zPwt9{SP}%(JPiB!k!-d7&_K1xpV0eOrKGdiNhRgX z?ju=5Z28GqdW8qK10ecwP&b5H`qk&Tmf9&;h?UHlV&~KjGweE(+MyQq+Ei_8sYj^q zhpNdKhaTMLJbqcHWb{Pq6H53-(%eRqM>ZiuNwek5ksLM;t`GkJuAZ8FsV1RusD@j4 zf_XcNtc=;=vCxce8TD$${{V!RJwPmACYs@PEB)ohcnzGKW4QF`P+UoR?rlk1pk&`A z(wr=WbRoaG2P5lCmFyhFtF1~cQsUy?cJhgnd@UA1LBQMGFuzseIzknfgofuM)8uMWlngYCkolm2ORHWLRzZ zZ!8kW7~D@>meDewIpHO>`Po;Cwv&KnY3Ga$bkaO$nM<~>p+g#pD{fi__ z3Nl;_q8x8lM)`(4G24&MuqD)PEzrOuXOkNpx`I1k9{BH8^le!q(tgP>^WigwMI+{c zg5(rF{PEEKwMOwtluCsrh1cbgIQ++Kbg7JN+7zEsa2fix0?vmFzRgF&zo=NY;F-Tr3PEETEX=DgXhf( zZ?!UTMhDLrJ$c6A?g;NxZ0{hA_p7u(kC`L^gZpP4KMKyXmF^0=lM=*1TfN&%WOVxd zI@Yzlj_FbDVUF@v0-F?ro7NKQRG$ zA1LD|@WHLy*}l=|t-G_y<^W54#k&>*J$U1u$I`sIv%IX1`cbmf7eGsEiDb1{;JOT0 z$damK112_%wg|_k;l)~8sb`U%KPe^T9p5r3Bi9FM?av>DWLnrf5tvNkAn~`Ea;zlU z0ME@M9COnM4_^I+y3=PC@xvYKmSGfW8=!XWjPl2+&tNNpTJ^cv8zgi$m%3zg&huO4 zQP$xTG)fFm z88DJ$GAZO>kiQ}6$0Hf$sZS)!sL68`yWBk&dSoX6EKQ>lT8~?G{&eEC5AyOJ-g+g>b(p2PE#s zM_ki-wBEzDu8wY7_BP_~+&u8Ro#IHr+SmtfdY`@gsn(j4+Pp1uCM7Ha!hZCFKgH-c z#wyL}wA1eHY~;6pIL(E4??L2ncHs!m80Y%abe|2TqpB6U({8O}NAnpH_>$@f7+gn; z=hTnFy00Evy^d{Dv5~D_Luq?)9A7Yvw?!a11zZM31Jee(PYhmK{{Uj!UQcTcoyFj5 zBX&4o*ux0Xv^67o?^&ZLEem8ZgaKB$8EUnPSCAm zpGCOSW4w+fd4AGnazF$PpfMRZ#zy7NGsvv!T2LxCQaT+*DRluBoMe#29Fj+KG*Wp4 z#vgyoJA;zTj=N1>)O8iVA`3LQn%>qWxROZYQqjapsKIhbB;&q*VtX3F38>2*y{bk1 zr>M^`wqGjXGB(fxu5t4o2S4w7)s0tCk5SVvv|Ag<=eD-BmE^dH1{YJIP|~66wNyHw zKf$?&EJbp4M$f5p!&;Zy9!uC`v{p#7EHEO560X$%G69mxRf$v7oK>$AU$m(#pV@X- z@su&G#EOUP%nNPG5xH@mUp@V+fw9*tZS>X9=7pmHCAf-2LQdn2%0@vX`Ejs0$l5^T zilu+4Uuyc1VkeIK%8n>*t=)pnAC|d_Omm!cW6xurqqS0Qcj%5uNm|U)*ER93U)#7*RzVyTo+Fuq&--ze*}bgmifqLOE5f`%+h7T&!6J!<{lt94~{a7@2uyj0kd z#)2ln;N$=ZYzz}td^xjSns?Rhmi?I-AacbW<>RZ4pbU~*HR#9paKA&2+|I=vZKwXt z(;$(em7umVDh2t~9m`>le#CkMS^9I?w6giDB9jqOv~C$V8RL=0Yj?yKO{`x_ab#o` z+eTp#EQk~UxXyW8060H@su~s5y`AeACGw=XiLE5Jwk6ES_ysn%LQXM;>IX{MOWeCN zYu>UW)HDZzC|RzekIh}l1>WSBZ>Zyy_v4}Trf9k}km{Dx&mQY|iJLJU+sgdGMm=$l z#T)Txnr8E`6t4uHP-E_nl|HRub|H*I3rA_S z7cYcqTqrC^^aSIMKN_GaxL;LXUssJ!`M<-nTgM1%y&gsTB6FZRN@V zgbj_gN}e&e0iS&J=DEm~mMfDej#$hL(aN$hP}u+#KA`qLm1WB``HZ{gV&OKkS@sJprx?JGo&sI52GWVwX}$ur1@3eB96?nXL#)H($!jUJT_ zt7Cl>A*Y?L#{k<#+jp@iBRrjQsU)9uRL!5c`jO4vr3##n|p;04+k zjB)Q?Z>H+8uF0c9rZ`v#gY8COI+8GWBsZbPD!z**q-GY@DAzYm<7#9%C+XDpC#d$W zNnzT4>#@43pTv(sxi=`UZmP4~!cn)$f#=DMpeiu{DHtI0!t}|iwmN~(rk?iqPFri_ zfX0SLQW)g?x%;d}GlQICw-pcD8r^5Jxt2zqm89}wQRT*=dELnh$F9ZC1E@7U*N(4c zn&QVwg3&kQ_htb+ldjM=Hw=A#=>rGbG_5OI!&bR+?@^Cc)3kXdc14kd0ydb2QM|C+ zNWmZ!9eF#cx}}QSJ^kbo++V{g#;py!{(7XYL1^D=5)`7j;BY`4t2TcX!(pfhuVni? z_U!iY4=r9dIpmSaKnFkx?a)$c_Ii5S%XF6V54AhX6bU#)jak4+2^lAL+zy~^{{U+h zl_)s0o}cjMlbT7i%7y`RZz5Y5Cc6wgzqGJ3u6W~k4Zy(XJqOmgxdr{3h?;4ZILX2z z6#)9+bUyuR)~|nYXDzY&Mg6`}T~cX&(HLxyO0nt=GmdebQbppHa82EYgfY3UTNAn8nxVF85ez> zyx4gLPSGF@ji3VCKsjUR25X8@v~SFG#$NTBDeE&GPg;#FEn3-$RJDBXMFj2nP=Ej& z*ZlgwDr?fkU|8zR8~05gW;=~idd8LYz_nXgy^k*p2@ zQUC@n^umDEv??64~1Ia zP`O~tZS5dw%&vfMY>^nj&T_>@E1uO7d)dC&_>|1s7v{@8(T&*jI6V6wO7to9JAER; z$i2*(gwiv8o-5e=q?S#~w6b~XlC(_y1{tl==H$mTRw=b^bqLhrA)mV&blh-9sp-}yEpvwbCu+9O= zWh8X<{7*{Bytk5caA9SZCjm+1vYvzaW9wJEIjK#5uh>r=%gcKVh|$DctK0y2j4>o+ zjE`}}Sk$&#OK{TZ_cPnEA~z1ewqGhR00n|$AY-j&z1bA?MO$4pG{Enw+$Sst*`klm zkRSKK0Z-A7xT{~=Hj5xzHMxuk+9h`)ITee2?mkk()~Ma-*H*GCG!exalVS;+k`Eck zB%U%e)C0#_jkSlSbFPIf$ zf-{6Hplkr-^vA7M)AcX4GAqW9v=ZCf20lLa;(C2eXK6=at1}+=M4sALNdv(uk_>W= z5Bsb*KT3MREzXZ@KKGF{ib+3pNL+ro{Oh5+n%a2dwp5XCk}$De+p#dRXMk6NNErc- z(2g@&dTqRO!j`uy_Q!FItYSAq*qy*`2h%6(RO?w?p?f>M4nosKo?Env5G0w#V~LJY ziSAEf>V2xjmWvE?M;ZG(kFqClq$A{#Hj&UAbv<#`y1UN{-OFzF)=~YM6UbxtWgPTw zNL>E_4ry%cZ&tzLYssfDl?;g4RnB(>4nAxWx#y|lBBSdG>X}~6?9LV)9_A-8l|=*{ znQj{%hox!WY1bE4Fw1WX87>?K0o3xVkJlrwy>|9K09of)t)34l%8R9m+#)f+Ez=9M zk&+HGkTNk^hn$ z)4D5LX%VKA43{xQd3`*_G?GAf#DT+Z85lxx0N~&gj?~d<1osjoO(e1TyS#vj!I2rAe%~PJ;7Dp00N&;@lK#PvqC#v@8p7rO( zqkT@-O(%O8$)sLLU}jSdvNDVl)br2|bB|s<>hwk%6-XwUA#(o!FP5OQj11)Cr=aQI z1HDG~v8B9kDQGN;24=}tIV5e59F{oGujbC(bal3HHT;qT{cj{`bj*?RI?H5wQ5wHf>%&jhZ@Hh+W z&rT}k+cujiwz_Y(-CSW-+a&op;0ZlCAC!JLtt$&V`0N?)q%)IkyhfZAA27gG`E!xm z0AO?4wC3c7gj=3U=535n#SCi-7~_!nvdJ!U+;P(-vc89il?WdCBsj(T69_E-lP;UD9S3S zwryM&>*?ftaVdAk!b|b#?UIxW?ksn1h5>8GYk)2Y1&jxWj(ah zNYew7%JJZ_Y_{RX;G=N-YAe)~qT$%8a7sy(uk9e8LvudD@iA0{Mn{^&ADh`g`MLBs z2C}t1Q&RJ#@@{;XV%_#jWXJDj(k4=XFaY4^ zBUkhsOCuJ{>Aakb88)dQdFV<10CtL2QCA9%&qEJJ@T7~WwZ;7E z@VOJEx<~|=BbAZ9>W)t1$;Sh(YUEcoH`BZ#*6Q9R+Q#W-1I%6I4uN*5!8vAQj>MYP zYa*8ZTBYr*rHKlNC3BU)k$_Q*<7%lq4o)e$28#npJ+v)7-i!IBv5B4%Yj#1=3ePt=dbw0vJQ$*4%`;>iRsO7UsoX1QI^u2%=; zQ=fBy2NlFL<*yLgX*V{jAdyUyxebz}0@5CL6X-|My6Mx5>8r1v@9{Y&DMn1#*CoBx z64uK=n8|0gWoV0pl2Dk-lGtYZq~L*!U}u`4sv9jgexZ4fE>k2+6a)8?6+dtjjiZ$; z{`dzx*Hhu&1zdQ3ODnxb>rAqeC^t-!-tUr9(s8jP4C83XImYaf&2QXk@j)0f+{G=N zE_MT^#>FFHg&@pH1ntj3*BIk9GOHR=NotBz-AKFcaZBKrxG`O8a$4FXDkh6gYmb^o zE0WBKk1Y{!GQ<*oQOP7?c#}YO-RF6?N{zlN8+J(55dQ!XjxgItp=Qa=dQJAZrJK2~ z<|g)Oez4xR>~Ini(@J}^s5tF>Cj%> zEN*S2DYnkuBfLPX!xnLXSo4$9C60I%x!@}eRc{+vpG}Vc09ApcxsC4Ra>$7p*|TGG zF2Qg?>)MjzMAEHpp&Ed;w$wi8wz0l4I)X3<%8!mtFnVCuRO&0VzXO^u)a7pHir2}C z7~4?0U)``=tVqZ1jl-D_>F#TO-p|BZ6zh3$u1TT6a_olM(b431`5{^y?HT#78|rM7}s*OZ82nFp4{KgxZ>Z3hjs4`nzdwimioHrFmMPM2vG7JHd3KYe*C z9uz+E+X2CBeA`syfZ!3NOI zp=2Z~kbraZS5{fvMyD+1i@k?%zX!f$Mp?#=ZMQbz7_SUmR*)Vcg zLJRI@$tnii6(=O%W6!B5?w-AO{0^8!?Di?x=$2ZO%8^@X8hlX4Ah^^lQfpRbRV=EB z^8vr*P`EkHP6F1<`b=7-n!UY|w36a9j!Vm#P<^bT`D-W2NWmd;7y#V1I*P%YReeJ4 zC}*>c@gv6_q@jGc$>1HRFvpT}&|^I2v!uAbkIS}8b)Qp4l4Y}l_pJ^{1I%W~7yy!b z1s$`;GnGl{dmTy;jSaJemfS?T2uw9KpC@vX| z=zG$_IMZpDXylw%6w|%0wT{Ymv3pq5WlQ-|KQ7MhKwRB< zS#g7mqON{ilB!Akc^JZz#L`=qypCx^kP?PT-{qWOt`2f>&Hy}&oB`IC?eN;(L8n_J zwrdo{rkW7aUCc>1d1WAlP`;<-C*>8w+v;$^rMxj(4>sY+d$yaAhR)|^`LIv-ao>Yo zFr)1?v6QNE9s6tPbTvk_)EdcRjyWA}=gLL9%8zRW1@XJ&2O}6B=Bs$yU6wzve`VP; zZD?+7?w;b^UMFE9x;r~(Y1qoR&mLc?sy-6EHtFRBg44{mol#yOe8owkaV8%)$nz8v z&~zEC+n*0x_?qJ5PM%bb6Lm{AB|NKy=(s2wrUh^#FLR#9lu?o{rMPgwCq zt-NZJ*)kbRW9%)0#|m?`f!YE09Xi#2?U*&ib<~cld8m zX3wa{6-Mo~19goyGk-gPfD{VSaz@ZHN#h5T)SpaOOqwF=HzCqHwz5^-11d%>$?5x; zmAARa@iqy^J!?lx@Z=VliS+|4tkNNc;wV7!&ISQHSd)Xf_y^Y_s#Rl6ZKx`8ldg_Ge(z3?6AL`c~GJayY z!1d{h-@3EBg5cW8AEP{;T1^T$pmL{IUP7XIpY=G-%mZYn+UD$uP__r`$!DH zXK>s}9XjOlFbAb$-N|~fDbuXy)8l2`{)M(+fwD>#+Nuw3GJWd4vo`K8VHKf;r+g{2 zv5ZYOlQcu-^JaIpMkB5_K6`_c$E`g0Yr{(-wZxXs^D?dv+7t{PnA(Uq>yO8tG@rva zw-SrH%|hyJnauZb#?mSRHsP?!fF3z+bJN!v`@?=7mgX}x>=$K*)`c#kKu=O!Mx$?T zcXL7%+}EPZ*4eqyh+|L8F7^|LJ0*`);t1o2wV_wYTl*c zbEru*$hEq+l5n>(#)V})TMWy&vN`O^I3R#VD>?PJt?Xx*=~h>6peNdGBU^bJXyCTU z)Hp>0@2d_+HA_?0Exb(xb7?p2YpChS*I*cwJkabL$&s7O1UD_50;P`L2r#25&godD z)E2B}yYQP>)_%&dAMH^Js4?u4-8W>A%mR>b7=IApRPgw3TG8yJwYIoRkr-1Og;}DH z2b_7QV)yDv_7%w7-pc@n1rjc(8!2SVwhNv>CI@`(IOEF)9D;=O9A(YT?bY1LWp6BD zSb&g5+tbt&*RFb;*QFX2X00hJdK_}CO*^Hpsq0#a)RxXiyi4o(W^KN5Ge4Fy$n%?L zJPw(_<2b4@Y7nf_JHZq_Qx%mw(;;%oKwOS;P7gV+JJS3kscJX5xHle5YD}%XyCEk4 z08R@Yz>(^B6?Xpm{i6^;EvBCWebaM#H=ys3xyu}Sbl_H!!@ZL;RaN#hwT~7VZrUp- z;};%kqNuY*lgw=J2RUL$9OTzQt6j-se{JVM9n`Ygge!46+Zf*%W#kO}+2A)FK(0#F zCAX1S-A4Mo%7P`bi{_0R`2K8SMpMB!!kqOyF1x4+?k;?bHIm_oQ+IPIcK{u@P%x;u z1Mc;yl@-j9qN@2>=t*r5({(5;u2);vF74Vi z(c;qN)2;AL(6~~L!y$1LXDSyb0lJoEBQ1cME&cR96xZHc=>^J^cW7J7G443qh2eK# z=c(J*(z$ypS#`_D7TR2U+?RW+5Ru6e0g_)oAnU;)Nj(l~Xi@j4&91+q9csSpTK=^! zTX??Ud2rq8Mo7%z!pDALDo;~@+~c<$&2;u!#pj5xWzhcs(O&S#z*%Y&rN}A|CMhH& zqXh@$bA}xVI2FhL0Ax$20->8wxsa8SrXE|wG51tRGD#g+XRjW$V@!Jpb~9>LaKNV4($eQqu|lskl#3h17bL1H=Y9tv z*aALay^SOqyzQp6cDGPTYYZ$V({CVB8bSsR*3RySI3W6U&2bu^h-|HOxe?*mumUaa zQw=0b_qLF6y#{f#@&`gX8#cG0>@^ly7D!`_1)?b5lEeVKjIx3V=aGR~PK~0ZYZ|wF zsOcl|aj?@Zbp1m~YiMSO6^_iEicWUnSnggrkWX9{s#>L;gpf-daQT+TB{Kb<1<7N# zJBJONoOC0mDulO>Ykg~Nb#V5wG!c1_B7nip3H{zMy>ZSfTH+aIlU{3OD)G(aL)1v8 z%mK06?t{o2el;;_4O>h90GQ=@CSg9AHIAgeV!5-BnAAKHhlWSO`)vmU2ZK;p-N`M* z)-EK7v~mK5X=EIN26t!HwV|=Hmf5aWd6w=V%r^XrRY(MoI6U#tdewNQ)r3cWuY6+Y z6`z6Yji;~WT~4LbMhX^bodEFqc#A>MW0pv~_}G&=rqV%j2K*1YLV>#-ah|oAsrY!u z;#Qt`WxZ)7X%t!muy9#HVmWS{4n6Cjx4N1;%S)%ZZ?&B)7JO$LVfk40Ck(kA$OQGJ zlS|UB?Lsxv>Drt&-ebUA!jhvX+lOL6AUQa|7(8PY!%Dm7v;MBmy0q6KW=DYhKW%M% z^WCMa*0DdBB4;uH`2lhfhXCh4H%hmzcr#CyDX(K`v}?v?Gg{t6@~m9^!Q@p0DIj7( z2+zt+c{c2<^#`6U9c>I6g9kw!;$}k1j^OT;1tX?dA53PAEQFZM}+J z?s$>_Fh#JZn-OoI*&mc2M$!_Z@JGmLheDogm(_2D5$@bew8rs-`hQ>%n4I+@ zw7f97ZO)(e+hP^%CA#xtiZ+E(NAgleF}61U01wN6xo$WHyn2(gUoN)4;-CBj(u7lz zzhC$VBX_D^>E0nWmzLKyGF)6s98ugUjU-*=z~php%ws%bo|R%fdOb+R6ju!e-0T*@ zW*ZnP0%eKYKXuq9GtrdxV^{Uh30>SnX{lIV?$fPgYj(FX8KIsN{-p0f%a9e2mcs(0 zt}|T3{v2q(vLm?D?+wIDv`t`l!ll^lAQO@pp6tDN7{zy`2_gTXHKBXXwj z0};pEVn+tLUk7Lwx~8FTsop}mw9LZB@t=G!T}3MtW(VbWWI%F98GmsiYZcV?UST_|@%DsbxdnEd5nw?JqXp zq&MW;Jn%~t%I~-h<+_XmjOVruY|r5BM^B0;u#M*zBXYEIZW~G9l;bLUF$8+x@lU*t zW2QZ%nsd(#Blk|=tg)ON?EdH{u;BV}UXMCmZ*z;4x3Jx6_6F6gWLAYF^3qVU5{y*g zhdnvxjw-BH_m`60v|(h0vaHO*V=i;`^!KT}RpDp4)GgZHR#3K<%COF)NPlvq9l&6d zlj+i_S!lPy-aBY*B^ML1lX@v(unb_6!0vO~ipCL638Ps}^EAiHXZzS@n8~>?PRRID z4hr%{a4}t)X;$yA>2|^7VFjFMu!#4^8*)Q{$2G`l{KhyU zCFcj0A2xB@10$_ENgHgBRD>_nc#L7J}a?VH(A1EW`*K$6QdM6cs{&xE2D?RT7QYG%3aTIr|R+% zD&Aujw^smd%!B?}JA<|V0D=1aqCcy;oS!^-x}4AUcA0T<&u2a4#aJXK}jq zBO5F36r$UD9$P6dZi@EP$2|A5iA;!B}_rs2@v$pIA!-A z<6eUB+*sLZe{EHXqx5vEwQIycrEu=9o+TDpvmI3+EWx(cSY7Caj~A` zBjk)_Rq#8nIRlf5wc^{@KG_nbn!UO#jpdYGx&9_)0~um7*U%1vsL!XJQ$d03bZKXb z&I0qa49<`vFh4N+*vk)KO=*5~rESPhmg&8U8ok_llrS}xA%fOM@>C6_&l{!4{w6$; z+kx7)*I$QG7O5mJBz{kkG_ZfJg^>R4QT^e_U8kn*2nM*@o1rqr8d^hY>A0y>EWG!@ zKhmYsHH+On*~IZPLhCXv0**fV;C0IX04nPCH%C9T*HgH(((NxiIX%2m%M{OYmnJpk zWk9UCUA;5ArZ^zgdz~B4)nSbJ%W#T;Jczi)I2i=z(-`ku;>&px>LSn?EunCD!t4S< zMls*%U2dnVtX?8{e$gaJ3W()R+lsfA2srJ?{XOe~q$L??xBM~HPD)EsO-oDC^vlSH z_J!Pe-55r-%93~lox>n!p8Qq2{{Rjs)YDJ9yHR;<*abC zl78zpK_ujL&#A{+$g|e2?S<4<>m`v@^FB!e5KwXo=KvMRAcNPMSoI^UPZZ|n>cV3x zvk0al8FG2prTEG0G2a!NrzGxIGU{8kiD83u@C)Zy+AZ_UaT;SEG99FKcnWZLFze}`Q_{1qWxUicX0i;}V$(Im`*(#h9AhH`2P5X}I*OLt zPrJ8-E~ss;pmV@_28T3KzcSZiJDVq@1nH7fJi2%?9Slua4s$7wu=FL#5>jaJmhe5&04){iJsLg)6HQ3COFiQ&pA2! zxb?380K?iuTE*ND1bJ17UnPh{3OUGNa@geLe8bYZXru7{jd2OK*>`gUUucr%P#G;k zsw0^8gkWYjMX3wMr)N;Cu=^@ zgdU1cBlTN12xxpj_S^9U2;u6;#;j!Z9x)w zXP0l7*^!yZRbDaAR{O)!v;0G*zlO9+RJygegHW0Vc#x=Q!65mC!xG9$uF#_d79{#t zbTJ(9N$&pu$l{$h2X)ZmZ{reO+y;?s?iyBLi~^|y_Rm%S01B_E=$E&5lD?bf31?E$ zM+@LK?gLW!UovGh5@mj4>|4#%~!V7?taSCHN;lM*u;#= zKqDNC0nlWAb=&VHq0XFJI{Tdh{{TvYJ6N?tb8!T5f+AxaYV3+xODW^8Rv0+o)K-`G z8gj=TrDX9LHwB&u&Qf1er-PA!$Fb(EYTAvYejuOCX)Q1O^BUepH$Xy-r5_xF^6=QG z^k*8juDU*^gzi}gDS+pTj!JA3+@N=tZyOTzWpk%$_h_JmX$I2>lZR4C`F(NIv8p=6w^lli`$Y|EtU`$wGW6qk9eC%C zG19YUj^Z9y)z- zQbjBiP9wX$Ar=$mBxh?gnU` zkAx!B<|5VSytXQ3ihFP)Wn6M3Qg907bUgO1S-B_6IUO-^e)M8lxzwZ8cx#582pbWU z@&Ul-)}y%7t?n<4wT;{Pj1zlgx~p-JanJ+$f$Ld59???UQv&8k`whBzvdM554TGZ& z$Dc!8eXLq?Ufx3hc;=2rj%YWQcT%LLFmlnB3PA*soF7`wakQ+uBS_Cnv7Q~$Y}--O zH3(+iCA4zRo4E{9M$X}!ACNG|(y^xS^j4bW@tI!BO`2DNSl&X)r3nmIJw`_5&rU)0 zJ$%=;T5aW$+^JYXqA`Vlc@|hoNxU3x<+6F)3udOg(xTM-*e2ODyBlMYMkQaB_8yre z43Y>W)=`|fwd?v9D8}B06LF?Cjcm~?TG=_c-R7LPn7eo(yLycFIjV4La_OxFtN!{H zkjO}W4tW7jZbfccXtuhAp@&hD?ID9|nMJtW9A7ezly%z2r(9>!vnTL;S`F%Kk~xXU zNtO2m`2?-Q@u+ za+S}Smci@O3_9aAg=oSlTT^;-lWylVscUoJ!x>maYM&rtdB^2hmlqeN-WQJIaUfmd zF)0iNa4>7CyYQu^rD5h;wZv@E?`3H4nNi6c^dOFVVAf5~hosS@id2qCp=D4V4)w+| zIT^=4jS!S0WQ8RscFMNa^52-Cl37gc5{9{!FyLhW01?i64o9VB>O~;Fw~A(+A{#`n z9}SKP3Vyk*nP!$0hTy@zH*JjrHUKUt%X4 z$3q(G#^Fn;ad!hgW03OL&j91SQ=dY*g6csk?LeTA#~_2yjCHNeCdk?*bLYa-D-}{h ze4~OtGxe()q-RyKxDrB^>W-@cRoX)Q$7#n=-`ASyRg#yH%;E0ssgT$2XKs){QHm%H zBu}?-$3h6_A5Qf}tQFcjgK$bT>EUn$Y;|oiW#D}E5HGBk?mQRI?T~Y` z@#49?vgnSFWY+A=gGqZyP~9YJ^6&YNf9{dk)}_i_rL1?pOz{UFKa$@lIXKU8nwHze zw&@gsEg0l-Uk(S;HBfk(1)Z4MyG9po(A+TVf)8q!Da&}2lw!9F4-s5Nal6fOq!2@~ zzz44tE}^U2xZNGa#iW}G97&bOpyPq~`qeRarB5)zd3ijB9DO*e$pwonVHzXHXTcwZ zFLo~W4O+F#Q>b6Dll?MHfqqiVc{$?;x2-MB^Ttm39VEiC$fSeQ`uf(<7JcPYV`{m{H59%bvPT3>DbE`N1A$G|ruP@Jn%K^^@jJZ9EU^g$ zYzfZ*{#ABg5Zhc_`NB6)$L5SS1wZ>6PPG8EQ#S5MEyw9qpHb5-1|qapnMflb@%Yf( zCGf;aO?*tzhWa~*o<+2hNRVTL-#^N%M&4Oh@(O~yE1Z6HgExz(hjQEPiag|^uP2OE zPwm^Q)IwQ-U7iq#jV6}Fp0!IG;WcQ@y1=MOXeG58% zoRY5NnFm6+&JSK`(vu>X+#m{h0B*;nR))_~S1>9RL}8K}A55CkeJlM9qqultW|snG zbMp?kBiowgl(p5JFhg^Z~N2NQdYjIh}OAcwi(iviaHZlW$_2~NpFaRB- z{yf%>qo^jAh~!WVgK%ZRTzAi=ds187$8~MG+~L`X0FF%@%`2oUE~b6a3k*n9Zb5=c z;M6I0k-Dsc9FtF70UJ+emCH9fnT81;?25HC zw2>CR$3FM-Hg?QsT<0Y9_ofyO71W&cDtcDm*xCnlYhRH-94HJ2sV1H*k#;y{u*Mqi<%`=5e`rZOl^4j!EF>BpNG0md@fIGweXH>AQkY z;Ao*v-2udPr-gh<lz-jdYVt!nm8KHIT~w+$Cjr& zh66l+2Ln0J6=vQYRx3Dvwu3BjfMbeR-qJTx?!!B{1A%}#R!yzc7t@I&FLKJpFwGcD z`t8BVBm9cx_L7vYlF-E^ZAmqaS# z1GhX@9NJy&v==(ArDHQpM$+3!d0CI%EzozZ%>wmg)Ey_Xy>^m4fGo<}RCLMOeJf3T zOL?R~zhs``-o`_QjT$8+dNC`Gyl2|A=bU8KuEbBq4dzMD|Dd2+GAAC{IVxEl}N z1$qE`lgX*B=Zi~boJ_(KmP=b)5Paf5~ zwb1)SjN9jt8MiZMqw)p^=aZVX1?{E0g5K7~=0d@vXl6zY?r<^B1F02UY8Q6ef7&fH zG}AFEp(k*Wfdu7=`MUwe1#mZavDB~BlT@^uR*FzGtw|-7LH*6Z2viOjZU;TjT4tG` zt%!kS7nkg%PuZiDTW8hy0R1yot^7@NlFV*&gFL|t^6w_@ag39IFi)>a*3z!$xUiM2 zGzcu_Vlad}%%}a(aa{78qO8`1sHX0Sqt)!Kpu4fK#-HWHL%Oe;(Px$};Pvh8>6)vf zcmqe(#HTS3hODk_qhwV7IZf0Zh5-N#_TjrDH*) zYc{uUsOs{5{DOSDxfOtJnIL5C_7p|?t;SY+--m}l!`L3$N=Yg zQILA|HHT^9t1HPGG3PMYcc8Z09ti{t6VKGI-t#4w?`w0lV6V!(#m2nVSc>U#9as}_3PaO+}azDKx}gXBn|kry0r z2M$L$^*t(--W{6u?XI6!n=zb}<)kOLzz6lfu86%aC#labEsZO^4$kTO1?^;l6dFJ|8j_J5aoD|*fxNs_I zyg@ac!ohKIC)#=PXNk8W4@65TH4+0*P1iT_a^6TpsbEbWf(abBRzdm0^4w zHyH7w_R{2Ir_p1q_IND~GOS7CMybZlc>==w=K9!R$q~ci?=Gm|g2z-2?Z~z#< z1Jb3tzjc*v1d=F_y;|=ku<6ON!PaUgg88{Op2F>=)l04{ZKbYEKp2Ufg++Bz9V5 zsKijG0eHa4A9>HIrzl@UhY4AmI);lKzm?=`63WfhWKzOIoDdIj+dkB~ma%`Q*_cJt z?Gl0Kt41V@WA5Y}^IWCJiS93^StcqZQ}Uc-0qOWw^^NpbmaxgW7UDPZj|cr(8GC{i(sm+TUA!sw>D~7zI`&*d)(Sl#V@jXB|gc=1tg&0MeOd^3LCw0g!*4R4vek zyOu34BV>{u10F}Y{{Zz=v9-^ZRu~+I;IvVaNIi+DVAbs63Vy`E{{Vd%Nd8<_rj@Ku zsa>o#M&dS6mfC}AC_J%Zc);(0TDe$`Qx-_2TZV$=B#vYm3d3t-(1YzuZ>*)7krk|M z&O=IptE7{|cWtetlfd({VnZk;(`o2Q9XRZHsG{)U6Q~f|KncRV!Pvi(9R3)o=S-&- zj(F=Dh4c9k0*xuhmu|Q(p4@fMrAKu+)8t!LjQNl|Zp#8UagoQSE78_iyeXzjb^WJp z8*ONk8&>_~vYc_i;Z%IbpHEuzo4adyZW)$n_B$Ma-2VXj^F$=1-(lL@nl|?;)(vqi zaYb&;%I(~E0|a~Ikya0i=dy@f+0OQA_~&AlWh0JjI!k-Y*kgt^h{GQ^><^_ar-kLz zZsLUM7T#+dZB}VE4!q!CVyUIOAv2?})koNj_t!JX9$W(3NRgNLah&(*n$EJ;wOuyy zLhb;sKv2K3K_LtkV^bXDpOg+db^2qP$kcBwC5A;ZWdx!a_8vknEhar!L^CS+WW z%y19o`PW=^E3H1(%EEb4=3#WHa*$*!PmHQAF~W@Gj^yV!texqv-Llue@fLr zWi`Tsk+xP|PosRnaqIQei=QhV^o?uJrhlqRh1-_=a9uGNTXjaG(df@`1U^a6n-cE#kXjq zdo;GURuI5fA*Cn%dx61_4is_}e!R8Lvo55t*{0^U4p^)5(mBRk>%hRHmC9EO*;ugm zR`6S|kcC*t@@3B9&N_N`s%GZknIsc1PX7Ql82e+rK{@iS-YEkhjFiD2cO8$tL%e5$ z#dIj6DK=cTzL8bLajFssG9SD_7&RW4ox7tw`)h$TQa>lqWd{iii`M zcJq$3?iMTtF1t@of|a3<%Tv1tx|3CejvJuc>za^At<}Ij^Z_6PAcrR&^(wy{xT?>< z_4gFbo z9EyOsG_E@qeCUQTyYZFhBj!6v+nx`4>Sokuz4Buv zQKHK&%vTGY$F4y*BY{xrT4P?>$#fMO@-`*f*n*QMcEJ0rJA>AQ+T3;{(ELRuoO7v> zW4Ks|x49$tk)J@`y>NSW#Ydx;N8BT5;A8vAd1i1=E9uYqHH<;+R&4cq?KN?0J3u+f zQBRk!HjcZ*UJt#!d2TGM-N>3lCUWL)Fx+OHoH z-(O$Hde;-fByfmW$0^H@F_1mSQPQr@CX?b={M)e>k*E)s%#FWx#%M=_tSqtPCC4jSQL&B za}%rybs~Q0Zj)mP2^}A%KBG9za_w^!qO?zJjQQLaPC^`icj@YBMyGlrK3j)`{{RXg z3O#ZKXDHoRr0u!T>(`R$7YlJ6y{k(iZ!7jtV_5;i3^2*$XVaSJXTQJKZb_PEd0Bu} zP!Mh>00kHW@Tq3hZf8Sr4aAN(62l`FD0%~v*wpq{5wyw3vRqVyS`&h3cX`D*=1`(W> z7{&_%LXYnAn&*DU1;jG03SCb^*8`#p0|-$+#9V)?4I$+3v7`V zjZ>*s$2j09HdC^@komEupKQWovDP5mr&4p1(}EARbklg6T`Nhq)1jU_ zHP{4qXatj7C?tg}ctr)90APZ7?T$|QKGh1#1>rWpY{TVF;m#O(p1J8&?QUe#g|)p2*!F; z4}BX%nw_YEDWXN<7|CMe8yFtA#(q=j#zrfPxA7d-(Ah%KM|TygN_Nf<&az{2l0P5L zuGzX2g5p<_7^ES{m*)(sHjX&m-visIti6(ov8S|c-I_Lc}-WRqhwtg+xTGw0+CbJ2MmW|1|N)->rM(jiDBZNp^2 zOqVCCFPL%8KZI>u4(78o9a8$(lXd0V{{UyBx0ehc68`|*ZaCl^_25+6QhtElk()gF zg8iQANPf>1%P|IQyo3YE0Oa@T1zWfA3ADGkl>^-gwJnYYZ*wC? zZzPdH4Il3#Bd!R>;&?sr%~C!iZ7Br0ZH=i^mE(EjQzV2AK*2je!SpqWZjYxsJIxun zWhxeNMV^zqB=IU<^WxQ8mcQ}wEh{D`K z<%I#h>M#If_`73~+cnJV7FV{iv@gCA%CZoog(Qx1j`d~>_tRpLZZ4HBB;~+6nOiv9 z^7;&(dy(l(m&DC*5E-Qri3!{f&bh{NJC913$CpL0+^$b!aCG}8j!6W{Pg^GLEYv3Qdk)lM2&2TjMf2l1FMoOmbWFcX&Ln?L6TI4H2bKELZJ2lS3!Gw1lDT_v^UX0#gwy>!;ibb z+!w#s>sU4d>Ul@m?BbP|l0anud!4`m^{eMxHn$99l^xftc4Xr|fxu%uNbJwF-O9x_rMq#rPcMBwTszq9yEu{Ir5|E zKDp$db5uYh2e|1~$}8Bhb9E#aDyYpWBJj`2Y>r4hzY5T?)=TJjc9XooMCmL{t+*~p z2P%5@{Hqy>AxHN{1xsp2m2|z?0sNR#{F?Un!4;l5wKDEukF@`yOrYSRk3x>uQsRQf9LnFMbOS3UOa%ni+N>)0(EX8AW z1?`rgBTcOt^8t;A8D4oF-D-}hrQENbCzh=QpiHd`2T%rbG6}{x{Hr3`>Fr#y4aD^X zkPqcrmfkD6gi59uLb5Wh$iOI18P8M3e>#;Gox#P$>GY|{>&7T5MI58J z%X#F4xm;Z7MOtyNJ(bM+A>MTDdc9RisDEkbd8Fu@Wpr}dS}v=g5!m>(6X$o zf=1v*hjacytnIb8d`hy*ARjb)f`EO`G{GpbP_RGm$oZvH_kEZ8nk+0Py>s&+U_=B1f(JRv9G>Tnl^x=$!#pstffQ}~ zTVa)$51cPN;{XhPW11D!uP-4_o_lD5O@$lcLb-jd{7=_+1mGNWHB(j7tsv82Q2uS3 zZ%d?ewWEcy5tMc62h1`FJmWa8Cia7h4k zs<3V;8!7(Jw~bv|VxajegSZ@ZV}trs8ccfx7IDlC#EOtfac;yCK5fhh;{!hZD!t~f z{iwGQNM(Ci00ra$zIDkMEy*|paC>uC%dL=KOR*O618!o7v=E~LJj0gTfwh>AavR$e z%`e2BA+s%Nnt0aZ-eWe?S__EZ9Y#0=e~%TDW8yetxoK4sbXbj6Mcg(JLCEe#YoULL z4|1&>Z#G%=y;$Hnq4-^_9Gr+A-5_WQ-)%@XX{5 zzjb`PvEf4Jp1(s^yglK?HyUlG-+nRX51;Zc@#J2ex z{8K-bqWQW-rjKKPy;O_RvNYgur5Tv7Ao4IWLH4YhJ$F#F@dVa0-KrunQ34ShN=kLv z7y~7{^X)`>gX#;YM=URS94KUya}czb}5hIq6YNJ90H~$)x$NbYoVM`%l!I-v^rBM3n@)on8{(C>b26Cuu|d z6IInBO+s4;q!$C{kL<~fu{)s$X&re05^#8|Z7;-HR+oPa+I6+=qTo1Yxe8H<#zDsg zao?|g)eXElUYmN8n6(>&a-_w19m*tOLCbWEoxpH&f;jdy(y8>Zlb!WCTYvN&64vV6 zNcxT3WWYee+eD-!^0Ri|A@YZ&Thvu=58O|0;_C=)?Pj+|X;4WR{{UAkk+4`8J`Qr1EWHOtD)`>G_M=YMe{nA{Li3Y1jI7vxK^W84Q1EaM3%GrGp>g-WYS7W6+A` zyg{i(HEWiO&C~9LtQezZcsT9Trg-C;>ZZA#&V4+$*=82)IxKfFouyfeg)M=`N$=m* zupdj(^#;@@o!-vuuKxhC#{Oy+E(Qaf6&&~6N9$d5?7l`4)Q;cny6PhfsOMqxJGl&F zQTNH*I2ghFYjZ=geL@{tRIQ}lIQ;=C z+s!{*W*!O={_h_76?)q0>HI@)sJam<1-Wp*0lh|e9)+>RX3VjRR-Sg-xw2!8hnT}X zNd6x~p1rBszP#F%h(}UlP_V!U8&P?|AD8P}?)EXUUL?G?XDx8*?n!k+za;f1oOP|M znU1EqRh&WQXwkRDvuRlz<@RF$@CRQ?Td$aFOhD1nHc$M3prp;0R(McrMNw7D^^)$F`$AQDdJL+Mo@16 zF$q|*mV}B5dB9SK9=y)vO-yE6In|g#FLG&9qS+8W^UXbI{MdZ;B8vY z(3^oh)KEE7EufQf%Mv#7xa)vbeqMVX)y9h*JdB5xnDkFEI6j1M*{-8R(-zN6d66MW zqjyBhG>ikT*TBcfb^;+^#$0s9IV9uPH6^cw9`$ZeNtcE*BbYvDkY@nzJe>9b z9QMs;!F{Vt@Y`P9E#9AS$q~4Ud`Yt-IC0MkPYezRYPqd=iq<7t9}nDI4HhXK)Wr zW{Gbs;Qq_et%a)F${zAm%t<5Q{Oggs2nh-@NjYp}){^*;M)ACtk8Tz5<@qgeT0x9C z0ALRLPkz3Y$knBIqoyxQGL+i(uLD`ZWbzNQ29#Vv@hqj7oyE5RRO15!)84YzNV>GJ zp5soC!8EcHEc3=!X+71Hk)BB0dUhi;zAHCZv%SoM2f0nF=0_gWj<{tY9=Yrf*0ODU zL3j(SqTB{xcbGylp5Sf38RPPID%kMgjPmVkl6s|(1YqLIqqat zD~<^C@9SN*zYU(h9lY%&<6Jrw{qEKyXc+-O1P*ig))lpep0gPK($X+I2^VUg!Lj`7 zww&&@Ii(hvf?i1g&gS$LejE9`vA7Zd!5Hc*Lhr-+d?^`A$zEg2MX&&$@Fgb{L2Tke zi6ZP%w`$9rpJLn}&aKHkM3WXfSA?X7;h>4YDjVfF{{VX&S57Wl#5R&&UEGMTtqQ{T zHqLf9BjwL<kn&+U?;fdro5lUewz&MEITefk*=AAX}1?9E0vL&A-a0;_+ z`>cHqGsnGSEnbF}vMk(r_U7Q+**eJZt+WaxJ77+C9{FRF(>TfMYcBHUDR1sfAw{uZ zLg1Dd02b+nK97F4 zCd$!mjk*%jc`D1W{{VY=OCoO{$tyi&UEKD-wxp6=h{TFJ2Hm%V(;lL` ztv|xHdQ`DmMtr@ym6slC%tktY3Z8)RkUQ1s=F%dSOtM=`_I51IGKm!!^hFrp{{XN# z>C(8RR`1}-=Lem|i}d3p<#Fj)dasIYAy_`n;v0?Igaq$vn8Ep2um^5%K^zQp9Ax6p;$22^ zt+`S*kx^8;Ia0$Q0C1|K(;4-yPiHx5&W>oKrjp_dG`#Yplq?Y$T&BhIK`NjO00C~i z4uI4)H%+T)%F&~lU7WV%0mM6UTRo0cob=>(HHB-b-CP^1d7@N&2;&AnmGZ!kl#G*{ zjP(5LYQxI3(yx|A*(9^UZ2Lh96U;2ic*w~`&O1_ZQC8|&*HYsuvs?YJ3$q~H4(z@+ z0yB;X&Q3i}1}f#;-`P{Rjh#chaHx-vxEaPjy?`=$05Ch6#=O)%%W%=FByDdy9ng*f zsVWd-ISNL4^H()JPwg7En{R+%xE^|i?3p>q?}DBAIX_BPDOl3Jh%JMo$RbO7j2QxM zR*{rv3O|c1K+hNgsaoBbt;~?KLu%wA`MX?!k_H!{k(o|1PXjmtt%&8h@aRcX_mW=7 zRhf!Bqsxe?9Y_OVIrJwLoqu$s<|-(G%*I zZE_}#7yCWT5WJ|YG8h5KjFH1}pL})bDcVMzK9e27ym5V?tZo}_8Z}}=7IDa8qU!Z&XNmR)EK%KeL`NJG{m?O%^*mK66y4t2-G~}hNbq9^?y%0{N$Lqd zk*I0QR?Re97cQ+Jvz9Bn)@ziwl#4mh*}UZ#=(x&&cp%{LJ91y4X-d-lq>vVQ00!U^ zuHf$|Sabvh8Klyh8*dKkHz#DFq%ABmy98We6_aVsa@=DCWQ^k?x*H8rC?83CkFndv zvaF3AtONpq${cPa0;4&}^y47b6(rPbjUbmb*@a|H^tTbk2u3WWcM^rvk+n_%*auu= zI0M$FNTixn5WTs!WRo(hhIS!xa6ut?8NlbJYRuZhsG2)#blDZcsS?OsxCah1o(Bzr zPafH<*)Anpv_!nNeLTYMjI$YBb^icZ%h0J9D5IXhgPL~HiF9nSac0++Lh|a;=T^8$ zUEq^Zor)kRIr+bXAOIC|PC)0Hn)-P(Z9LDZq>FHgx9kvF{hAnw>J}yWw{5^6?K#0G zITbdMG*;0=c@(bqh6gcS#~xnXtYmqhWNg7>w}MFrBx15JB#h}>GeXS>-7t4a*H^@$T&&)>^hkYEwQEREDwr6#S?~*rnk^Hf@JBKGf zm$hzLLkcdvaSTw~-EEHI8KhQ`!brn(hjvadM?FU=TpNwbIX28fLM zbdX0Q-CgO{?Hc`+zj&(>uH-y|nNy!a2t6v#gmjOv>QO|Ov$m)9d1U)ixsEG*A$G#> zPE=!e%06rkYiGn>F4MG@eFZNK#hl?cSSq@_e=6;G-PHMRa1KWp>Zi7Lg?Fc4c#le& zE9aL>UDi^Vp$i*jHh%awB;%FNbH)yM9g&pXEmns+NldrmEq$%8W3;z1-X+SLl5is- z3g#sRa9axb#&+}Ht!YCIwcd>pM2NlQ5P7pd%ns7W1m_|-588pXwim9AgUbEc*J z&9aq_#TRlE-Vy|M0AWg$1P*W;ky2^Pe}4gYj@6p#@`_3mg*0SE&*x6c2=mfjjVu>MOkA*vINMueL!x zT00BJ+Cc|z?wdS1?I413ar{}uYU)~rfP`J#>3UtkxNjy#h+HU%m}N#9Uzu|m`MU^vPWJE`ggbCb<2#L5C(N=_0u9Eek|%Api4dsnVnXqR(o!ZU9S zRz#$c?uHoTlY+#lmkggGo?H$&0Qa+Tr`qY7^wL3X6~)_bWh)qlBK=$k2pq2%4BIjR zBZEXMsL9d?~z2br_g4qfQ%P=I7z*zVvG}h5!i&a?K zB%fJ=UoIJnw3d>&`==!53^2w`fO?v`_WHHvrvu)3I#s)q6U8xUM3D}Nktx9nynNhe zZVpXqYBoae!_gIjX(lSx$I06lk!{Byu1IHX#FLO1FvbmJ>vFW4+|o3;uFU;6PPoza z^wgJ8mJ-%-T)IIn{{SFHPVzPlzbl0!JPpICHDUo{t6L39`pV)-8dlh`810e61sM_J zD}r*xNFO&G=A?zJ?4ZM2cWJANxf};pPAI6x)tRA0EtYN%{{~sO>jK5wU$>BBIGi+mI&TY zVn_pyz0*?2NnaBg|rbNga34G})0KqhUsJE$G#i9B@ zlKS^kw|k?h>QU)atlm&nM8hcC88}RwfrL|&+?vX<@g}>fUdwE@aq0R?LdgOJXPV|l zQ?#_KOSUtdaJ&JuQ~Vv_=yc01Wng*bmhRr-7JZl}Vh)UPyXKG)fC1Z_kTY6e@Q<6A zZ7*XGBl&N-1RLd*_wC=nzzjhI4u`PK6Op11zLuEK(qlSd(A;oVPNpG%b_oZCY< z5>GDmSt3>eIP09{Z~^M3tlfBO%EId{r`*eZEUYc9$zL%8AN7okcBv;IZs#1}abBIL z+L+|JWsct2Bb&^)hQVfMDgYi+<(Q1I8%JDZ;{v6&@U#&a+Is|wX-4m}+vF^dyBKoY z-+(yUK*=0+rz~nuvMM-c&TqlK7Sv(a7E9%A8r<1R(#&R!XO2T7f3WM?} zBo5uEjqWWip>_>s%L$Zbx+R&B*~>OK$STLE^&>p+Fe@tIRkb@Lh{qH@VP7d({N15A zJ4>-6Ip-p!pIN$S);S71Y5T~M(W7-M(6+>8$mIRv1_vg&{aQxTQsyfdCAE!A%=Z(j zyG+W29f-LK4p0Gu*S&N?H_*wuYT3~0H+FVb(n#0@ z)|#|hecjZglo2wQ!TsDpS$BhmA29hz>x=_gchcPH?Q1Tls+n$tpEa?%5*+S0R&3yq z1~7mO@sn5eEj8>dF2As^-sC#8QeQM`lTEwk+JVel6zw6t^PZScaa=Xy{if^e*5cz+ z3n)KfS;4o2`jD|HNDTOu?L zT@HR(N&C#_z9DKhwvp*E-9YyHA!~LP(zIcuCobb+kV_4KVBu92MsP`oPw>6;QAKlO zr=!ma6Ui;r)5jD}2U%rj0kAR(jGnv->hz0K;q59*`^)S7R!NBa8VJR_6X1}o93U5! zcMp`l!HvWYGhE+^wafe1Cygzjy}6JNGTbt;hn)WKl2>Rwl;Cr?=Cr3NT}D57oZ}s2 z%KD9}X%_QIVRNNNYbypzcs7fCo})987z6&uIKinPT}#BT1XucW^2YgZKT4HdTrNIP z?9ID50OX8r7{IK}E5mJf6U(SS+I;vPS*N+oP(*S2y@j@!4(tp@FmiHnT}Otr_;iDL zYjDvEShSzE$s543ERKZ=?TelOk^caPKQQFiRHmW6tmjd3^f~=L$4s@d)uByNJ!bmg z?2^w;o;a2aHc0cNAy|+|{np`vdFHcqJA0c5m4C2*vmp@)8Qc;8&&sOZ2{`pWwbe=D zn>%HlVAI8%(l_pw8$tQ`WCjDjBmwJMy8i%+E-m#N%XlvJ2!c38oSLIBNk3R z_D9yT_LUU0j{gAg4LzJ(Z*$MIn_W!ZwySU@l(ojmL07^80aN#J&KQ0es_$j3%J4O| zpKw}VG9*Z&`JXMjU zs@}^g+ca%qX68geEHZENW@Eu=9c5F=$@z{w0j)iwQoNEUm2&%~%>zrd)4UgU*Y6x3 zy_Q>>b(9GaRE&os?vK5N`^4mYxy@y3_b&Ptn`5R+4xecxv0Oc!p!uYc^X01Kj){gO z_jA_*wlrORZa&keTEQ5#TUj1RK{7(P0D}HvoQ^TmsTl26Ec{ibY7Wteb*LvmF*S|S z!Eh9=-NSA+r~{@8V;SvSk(8l1Nv^jyYBG#hk;c#9spFD3X0_B@rv{LHuCC?WTY%n+Cx0Du>gReM;8MC0oJ-b2Tt(h+TEqHYIn1&cTDdM z&B2kUDushfCKZZ&qX99-bBenS-kYvmrM09pq*6$~Hjy4<$;r!!0eo@OoK-sd-b?Ty zQ@YUPFB;hdCbzLq7nq8tM^<#}AW zIRhN@9VO6#2|bXGcP()V4v zn6Y?KAa zdk#9+NVc|D8njlIy3AM8JfH|5jU{cH{%n#yYyw78k9ZB$>J0lH@;1>253naRWT}dRO z&A!cT<^W8v$kG#oo{O}DgOWH5KnE)6RxMuU=TVr?<=e)p>I%l#0fdAQ2qoQ!B$8O} zJu50zS0$U&y0qUnk)pQI-C0R)EdF6@D8Z#Kk03Jr(fa4t3IdeJH0kpla zn&R3JQ4Rk1v64pAmA1N^DBiD#m||bbHIua}vh| z(SlgzNZ=}wG%TT3L6*Yp3Ku0<@Nq3o+(Y?vPRm-)}@_M zl#;}Tc45%vRX``ED=%yNo`Zj`b_K#;J=lr9e87&y-bN$Hx;(=|IoZ4*Tm?w%TE3l-cl zOfqB68JJ{n2P`-v6{T>KUR_6fbA55B*r<8_*Qhw!11UxMO0Eef1R%)AAXgpSd9*sM zeo@lsx_Qy=r5bo^yGf!FGTe_b0XU3rh?dD`0}b;0*zKB2cDc9L?+we|EyJ=&bL2#_ zAW)2|1K@n11yJ8GI43#9RgU`0P`^b<7UDZ$`=x~9E15_iJ4U1psuyU+4oPnGMdNua ztzP29+R0%Wm36nh5HL91|q8)z}(D8Ydw^y^Z- zhBVDe&g0L9{?*(ly?bK`+k#yg$;y%jFvmRq01*4RSHn)0&h?T>?ch%)RhG;%43r79 zs0?@*;PJ`MF`8uBn|Nl@d*N?!Z*x7kP4^c|92XE|XLblJ^8&-~9{9lKX}Klt{of=x z+Fuc3C%uw;c<(f*rZB(^u>GJS6?GtgtzZaZxXySz>nbfXM09fvq*hXx{{Ymj)UJw8 z86I0PIKlh8a&S)=*oE|)>${yccx|q&9%mBTyurjySQL;ha@$y7kCnjA;71~r_l9(P z%NXa2P1CHd9zzY-a^(@#cVSLj2tYk?ji=^4Yj{*ibzj%1jG@?-{51{y@#fyw?9#^s z32>%%YnD|J;YQ)Of*Ylh;MPnl(D)RF$FODQ9#IKaW{iuCw(D`(NIbt!L>Mvh6WQb$+$ zWLYuumMpE9#$24 z6_ZV z-I~OTJ18`mAk}T+p5nw85yNiRL?VpHjK`)n?+UMxm-Q9hO1t>_{wFl3r1?s=ma^zE zTiQ5XZ%vE`j^-9=nl?;im`aHwBd5!_a1IS;+2~hVZkqCGQw>{2xw-pIyS%IC>Gvb$ zCvxCyVpJAh4;z#f#b3~q!|8V>+lkOF{{Sk=?mWeHh1~6h4V)?Yc97k0*%+&kYZ^_w zGqejNw=#|H(^|Na;vmB$$t!&1agUcIWL6&4t>WMH{dpQHeVNN$+*<0MAF+nw8FZ_u zZYKubbSmCpaIL!ohR+!To^q$HWa|&8cv8kYInm6waqf~*HloGVBOQq&49AduP!9&Z zBJadH9;16@4zFZw8s#UtfHlJ^GOC#g-ZC&kk+h8GJk-)z*-xiisnFL~(WhkJ_MKDC ziZ&;gZb93UPsm6;f}Sf%bt0F)9Ua1Pmg$~Ub!l#HB!S_D;f(|AE(l^&4j3K|NXBcj z(7ZD|x;5kwx7qHmZzD({ypTjBSdrVyFT*1cGKYha&jeP5mXqOc3u+PS+I(}_T}V9J z8E2VhiAn%gUn$jEHW~Q?u^YCYLi1i-Iq$TnqP5gw`)XZ%q9>ig@00uLc?`_N9vBct zc?POgqMD3!L`Ds+XStQD*aeIw#j&|@z>48h>FZO-ka~Wkrfzj|nVtvnuY|gn-E-1F#USfr2V) z8dMP5Te?8Db5E7og%UdeuC77uRrZw_<}=?lbn8kTZYjY}p~^+3E{4|b87H{=Lpqq0 z%p+#trvk6w>r$JB<4GblgLN{7_Op}mQtlaWAZNT+0Q^nCYA}( z;%_}S&2WIl3dIpdQG>uFjOUu}G@+$y{{Y$Tc?{Fs=yMy$qjBYzRbbl)+w-RI2**7~ zaa8JE-bjTP6=Zq#jh!=ESp4Z0;hA9bw;V3x`_}~aRNt2E&w9+&H9J${{bN*V@xFNu zE=Kqzh0h6vIpuN24@~ijw|5k}oO+U4+%!h@jIukc7h+hp)?v^boQwfkmmU<>t==gf z2xW`Q3o}b9d3YQgl1E|NpGxb5VBPPjjHf8*mWM^6HLUlyx}3_FntXOMZI*mH7G(&l zDB}*S;Hl_v4o^7a=hEhzUYgqD5F0l@w+`R9Xoo6Ke3j&5Ij)Dpz8JYni?p#-O&;pb zM7cA_vJkioNh)x0x8=tpzb3XI)AX%NMzwqCCb!DGP{gi)+QzItNW%=d{{U+zobleF zxYCvHb^U+A3(BIg%i3SfYp={Ktlmc6SUie6_FUu#&j}y<8QgoC=x%Ss5?xL9x$iEn zSf$0)ng(#0`J!bc0gi;PU;yA$?coV^31Uq~h(d?Z}Ea;$>&p3x*;5Av=^@w4&mgX%^8~b%_vd?uBEH=sBJ>TBW zIRuV4&TGw7xvEK>-1dY~XIb$ClgA7xY^im3AO(wgvUx)w2V>W81mhcVjw<@=azzE5 z&DFY1E~g`(D$?FE<`oJMk&L@%7zeH~RL+NOe|Rng%L}w|h}5CjRRLBaOkiMj2M5xX z^$VMQResEZNmel&dWE?XENRa5K&Nv3lSP;>?iqJ^e5$GQ0ql0-Jb%EAcZsbHNa-xGA2RMq*4jh?l^B3d z;xoo`fx!e8K9w$;grj|k=Tc6`l6a3twYt&gT{Gz#^KJ{i>7SgRJGSG;806QZUU*c-buDeJf3zo(5p8Fu z&gEmdjb(OYkUHT*ZOF*(NyR#|<(8d=2;FPk^XXdP*w}`S<4=a;`b%6Z628vI&{l35s(#ta7IoVMU%FEW#YCkX1JF7O1V}OPYinz z(;))0KbaxtAwUhZXRg!QxgUo5%v!IF62|zg<&D7q07&1Gff2mJ&r%a+bKjp@=Tno9 zw6@nYvQEpXCEPj_8+|%EGjldV{`J@&n*(qe%!7h<sY$Yg6MZzTO!SE8|nUexMdPe6yfBF)d(ForvP#{XFOJihqTQ= z#&s9Ck)d?^UBs&2IT7c~37qYA$`O!8Tfa(*(MmUZn^KcpBTXa?0utlS$dAyu8#izPk~{c#q4Ci5+lkq(uB+9CPTb@XCrGCKyXZX zP%~L7v5cI5u7;ehNj7ql-`V)SJBw-DSY7HU5E+gU9a}NJPyO)x+;Yf7E&g@yc6K_A*t-dEbfcq1%jLO~$mNeX*|j&Lhz&I#$$p%RRm*Qo0WZnbMW zX`+?jy0})JSsN)9&=^hgb~{0AdwbSvYL~J^))O1CC7w(ZZ7V5=5=!K7aDHG9KX`gq zq4-NpQ=`dkeUoje7PT-Rn5pv^?r%Yzqdj`_gUt)w2-sekM6=HV9q}uE@fRG12Zje2 zIL-;@99Io0@on9IS2}7^YSw2PZtJRPvPjnncu8wx8kfi}0ZA}>uRltmW3Am=TBNsD z$rQHnwYW)hxb5Tkxd%DudRK9IrOBwzBzs)421klj*vTLVIB+wPK^*Ws#bJ1x!n0gk zt;L^^@(|mt?+UZI=y1T{x&zc6PZhT`Ciz*PETd^6#*wPr$8UWKtnq|aD=7hjkYg{% zAdIVLJd7V|#+$_}ZG9r30_D^JHNGFmr^v@Mi^G}CUwVr7#pivoJ?-AN?dS`Ai_>3Cf zm%|t98@g%@ac3EjxReE%K?7nG1b}i6AeF%#&L~(eC6?G5NN#QAj5$=4BbY`vg1~~l z>PIJ$P1KBaUSm*{xAHmj2(m*A0JD_C##`HV+>gVGsXnC8X_nDV3cF8m2~fl^Rma`W zLUa0Jw7f~+4OwP;%|CU-6ETtAWDuCRA1h?=25=iVKDA9eI4!jJB-Qmdi_HZ*i+IfP zIO;Ku6daCEjqt zbsKjn6pWCpcN1+{Hh>BT#|{Po-N$fFX>L3r1Kmy%Y{wV_%9#R51F<_*x!S;t;IF43 zRxYie+KqniO!A|FUVb2sU4*GWBdBbtyxf)hHj1z!D z`;TMIZ8V`9sTsk!J2;qfcy`GdQfq63V%$86Kp^+``c=Cx48t4~$YO#SfL4e(VZW|^ zY+!pIUJY2$lTgzv-qzyMT^c#g=7h@IRlxaV3Uh@dVV9APM zx$_pabAI;_=*dE65Q!iTRavj9aO>&XNx#F4Uoi~5zvE-WQbuLfne;U225jXGV&M`f^qrPI}59OU24_iw!OA>bs``U z&OziA<3F8S)MPq*YZd*((%Rhq^4|U!@?&bwa5UH64P z*C?9N6~wMoE<((tbqAuqu^gJ`^$!Z(Tb4r%hCp_*6x!;2)bc*PE2Gl&iDYK6)vtpW zRcmHt`3cT4(hf3vH|9oa{-Bzkj0`i}wbVH%qUI(p53{aGUA@%f+PYGl9j<2O8T35( zcy+Cbl0%snlB_ZXTZYan_eh!n6PDT~R4P9j^c#N$>lbjm*4yo5Y#VjDc#27pzzXCz z$s>}rnyKRJ1TbIeYD{N|QP(Y>QVt39BexZ9ZRq5$>PISDCUWOOxPU+I8dcs9$r;Mz z^dDcXPido@7Lo33$XR^K{tf z?yY{wEU|%eBO%+8R~h%kRJws;UH2AQRwM=o8TQR}$#^Z;T-@A=U}3v=lDMBI3OMQR zdht}H@c_ECmH|DcTO|>qWyefoKTLC0oSVAXO(nU{OKs%Dk8YTTKtWPIXxMcP_+Zjo zXjht<1{kED-3CDXYijFQvyN0O>I`5hi4$^QLI(4dAwf42F0>Rqe*?AG}^3)Gg z>sqBJshg5o1-FDJjRelg3W9i(smESFp{;uz62ji%SsjRs0Q+TNRYB+otV?udwYz4R z$qln0X&4=(l6q&UJl1{orE_>Zxc1xm1(^d3?oQeFspOpQu2Y<2vO7y%6GzlTNV2Du zw8=PdTWSt+2>h|@Sr<*GX_2^Vr1C)|VLoHe0|K!vX4WpDcYsUwHvmbGmpM29dYtyD zEPOdQwY)cy#~LH!o=Tp6U_0;#$GtCQZ;C_qmwxO`doL5|cPkCNHq8vG9!<^2I2`Ak zjtBY8S#48DmKo$rYr%yqqyPXJ80Xg=S+?{;w;ekghVD7xa_3u~V=wn31OwRe0sSi+OQ`FG z!YM>%8D$}2jY;H|=m7W4R@I_QX%Vfi+0bJzmgM@5I(=&6P2W*UqI(-Fuj&?XD#VlA zu^UTC5LVAa_i>Tds{a7OYHqO>r)Lz89zsnPRn9u@=bDKwH3_3c7ZbI+xdqe^P~+6} zqMJ%~THa??j>#4Jk28`_wlPe7VoS)3WJMDJv;-S>4^DfEzpKZw zpSP9Hn#WPL`vi{#w%FutjlFqp`%PF$tt|}FJZ9ch`>|tqAAsrjn&fQ|L2%pTWR27Z zDbF6ig*qo>mR}*&im4_@#sL6l3_S=Hi^IjXuFLlAEmAsIbPI&q3tRhr&FppwG_BLMduaBGT=17|!)w+?PF z35;^8PatRLYh|tO9t)?pm(D;3m{eeJdz0JTRxb?W@UvBjQr#Oiw$WMIz@IFOo#ZI) zN#~!X70*R9)^IA%3Ub9lxg;phILA}m{|$(ikIP<0BrueXB3SSN6?%vfNzDExP7AgYuOKM?uIL z$lz9tz99b4)HM4`J(h+hCKZe;F^x{_?mf>Wo|UVGr0k9*Ej49J`&;S!NvTOq>oYqf@JYZzj=8{X>m9~)Jsdn1k z*kkd>(-ltFP_Sr3)-h^Cvj8T0fQY9(FhM8q#c9hsDJ=~7mF#ER=*{8XPBi;W7cPf# z7myIRKT*%r)|R0h@!cdg@e;CTM7g=z(SlBK$I3_NTQ|B5j;!f47O}-}fK1{+=9d`B z+NX^F06OJ$4-s8mYT;p-_7FGR$@6(?Ke{?79S0SpCGB1Mt-?{{^gEPGsXQ=?5nG)| zhl(!hGDiKU``FGtxE0LY=(iT)3rO_1W1bb=ERswUEXScaB#<${@0yz1#0Kw94KRP) z9nm&<2l!k0lkP=fKZtLn1U2p&Lz5$%2R@~TL+|<2(uCu6<~g;cj;=ooMlI$SbFIAQ zFvdo>W;pAVk8kQ~Z7;-D`ec9E+I_X{#4n zZ;?+q$>bBBx#pz1)U_+&5}igX=x!PR0C-|7(c`8`85th+o2hE-{us2ko!a8$Kc22+ z#E~aJ0qzecA4<+vp5VtVugnO^^55rPdXOp=JCB*I4R|!^?e3aC?Q;{)#@X%Or&p5EN6lobpC`RY)zabs-G5mZ>DDa4s1(wmODx%zm|g z9{_5$S8&})6}9rY+=bm$V_)yKdIR}ZQ*qjC(l_Wf`%?bTwT9vwIg&eqRj!1Lp!PWf z8@{np+~z#tatBaUbUgD@K9xO%>&<(pHPk4dxr#6hajtqC z@JCO(#aKu$HA};6E}k1>7}+W^pf9xJa~IA%zLkf%+Gy8Rb1Z4Cq{l7&+x?*@4Gdap z+zc*H%w*bl1CNyQYZBYU*D&g{l8Yq1X3+5_a6LgkbbT>hNBkjowov(SK^4$!{{X4D zPrPxK#(4nu`q!WMi%r#hK2a`O8-{$deV6x&y#D|b4l;hV(@U0jSGk0})3EzRg{`yd z7s{7+Qif8_%=<@7xF35wkDxW3cXwuV#kxPgx0!;G7*t5vc>@4^qtiZ}@m%bB;-;ct z7NS5vjH(02%aVTrNv%6+Q%+ePLYE65^5v2vo;?Wrq>p;PX5*_DGM2?zHQ4PH-qy|o z899B?86Q5m@A%d2Cte!iir(!Ed)s%M58NR7XQnE(y|snJ>l{||Oz)p8qOix*FY@VK z4vXN+3%4^zb8l}1Cw;=JuwnJjOrOT8a*B?mr0!d}wYJr6?;(!n9X$ok;IW}0ayeoL z-6R|i+}Ay<%?;((*zPWcwZskO?L2Hy2vp?q7d-ouTl&_KYj+i*S~J*5w3n75U8O=! z-OSh|jAH{FW73!$Y9o z#6W{lx0y-7`$U0P{{SB1t!i3wLj+PvRDGQZbhd0@mhGRWaa|qPfCbDxQe32I85{27 zlsdDM^92V5fZ$+stZx-~H&c#NHJY`|5H=W=`Q$yxPTX;hYpqp`;= zM#-((?s$~AawGr-KKS6#_9*PgmMEf@BftO#WA*1En`z+vO`~1*4+KGr4?JuGAZM>y zv2_RhBDW}p7BhrbGrMxidw-wSw7O2wWN*2%X%wq#Z#A{OrK^%mk+r9o*yuh`2|4HT zt5&-0f?3aU_D1IF8A2>>7TrL>$;Tx9IIeF{@jj<4X&sbu4>5~B+4pBYgpQaW&ZDtQ z#6|R^&q4Nyx?zP~3Xe zEn~pr{6&ZnUXt5mw%ki^T_`I-Z;hwOb*r2 z=~u4$WLNTB%IvZEzr2_3RpY14M2ocpXm?U72FmiG4QyI>7$a-PDD=PHz&VdzlC%~w(oN`tc=Fd?)k;Lx6o#^Gz~jYisD}`0~#30J57{D z2aM$R^v5}@>-!t~Dazej&2HzAtfhGN_N^@sP1P=CcSz>>V`ChWk`^=l?4Fnz=Cyln zXVlreycYf(yRvZUHKgL%=RFm0NKn0g_g}4Z(@8qCk+S(}6+rVj9Czlr+iNW!!+K(_ zt9KRc%(Aq*V^bta@_-nefg>Jx=sKL{v6|;dl)}=amyHN2JjM|#FJMSN)1_w?mF!zj zsbj;|R+o~8TR85-Uo(dxL*Qkx$m5QED?;POscUQJS=iXyTSiC_Mz~vt^&_cO&wi&B zn`PpQgL`QV4Qmlb^5BNuLvnb>1N9`)tZO=QTu$;tFTpzqz(is?fw!bYjWT%}-e=k6PCwPQGq)#` z?Vr}Lt~^0`cM>hM;?@v0tPv1}K<$y%t?1gH?k=qLIb7M?ZS#)|VjTpd-ANyYM|y=# z!Sf>d`Lrju)U8_0Z8aoSn0)b0gylU$0o#x3Q0f|SfIP`^;tsxS5(!ZHdJrmTrY zEuG;>UL2>KpLhf4e~2F0^{ZBQ5b0BS5yNo|U&Pl_E=L^vnBumzwTYW|c4k(o=Gt8} zEisp10Gym>8LOIA<6B!#a?GmD8$%hu2P7Q+nf&RO_VzM4xqHKzT(_31l6}GStow;o zt%OP&V#rGF>x^;zYgDeRL(!I%nmCeGNMj7UfhanDH5-#~0h;Yq0L}w${D7!!rSsr6 zY;bd!+dug2HW(ErM4Kp^fNYLH&ou2|xx1%d9Xv+Xq{lSG1>V3m-|wG6#{==JmUoXO ztE*hK&ijRHi-pe$6}JUF&N$Dhu4;Ljd1Z3HJA9z_RrDW+6|jpfmW6Hdv4(xjqju8A zJmcs9{cAS_^$u>ujbl(U>1ind+)X5rG7tG@7FCpedwmwU_#SB7ymt~SV;Kx{R%W@4 zt)4NsDP?d7uc)bRyp>TL1)eMdWMP8m zx%M8FTMT(P;BCMis6_x{u&N|`uy@Gfn0<{MITdG3u#;51g4!Y#rFBf6i;@OU=T&r- z*cG$Ere_5DRh>@I>DrCmqY_%)XM~b4a;#LGcIj0A02&sdVnE-OJ2?ZcYBdD(Ij4Qz z)WDHcx8X+4c^MsQGbRU4Y3n{z3=TWcAa9Tibp2_iiR;_eoxBs4$4-O2AjugN0MJfz z(wEME@30?Qb4J)FoDO-Y$~I{XMLQpQJ4WN7Q-f1^<==dYvNx{K399&Rcqj0w;J21V z++%H{jH>37Kuj;=KsH&#+0XjGf2B=td}l(20-*7>DGXqruX>Fkc+kkefCo%fhmgT) zyls`qD}jK6ryiA?L%C_9xwD4iGXlwLaTfQEN8DAH=3M$7znxfv;o@W05SnarvPhspS@mRE*h+yP$c?0tGqm^Fa zcWV&{az;N&78Z@wflz$`=B-5~v{IPfH%H@X4VC<8XA#T~mKk&F!Kx6gVY6h%1nu31 zeyl#f%Cn4;Fe|yRPES2*^KPEpE2uFB$#K_rL7&2_YzX5ikUD|hk{JO`I(=$OYl*ES z-wdx44(f4EAe7sVI?)scM#ezko_o`^!tHD?mt=?2xCdJ@S?$S zq+{-}KJ>#kKh-Z6t+=LAE1Y{aUMtKiFPo-6?Ey%hIRoe%0;bU0i0ZEcp&I0${ z&*@b*9MjaeiQ`woJ~t0saw*s@HLe0q?Hf8q*;9kbUwV*U369Ab*4;)#Yt;K@p)q9A zh>HLQIHzP6H7-0wd8k`Y6w^w|RdJaP6e++Tt!78DPGk(~It4h-<4PiU)rNRsf<3Cl z5lb2qkqT!!pMhDVklv#W24v2mZN>T1rR=FE}E#7s!}omZYXG-Hjl=cG>Z-lBmxI7_i}!e3}Vjkt*)lJWsN4o z9)ZXp{WDf=qPc1C@uNfzSeVoX_Q~n}D7dX*)}PsSQ8mrlz4gH-%CcOd4tO%RTz|4U z_adU7Rl3!#43Y@Ugl$j|Dk6@G2S5jHh$3(}k&y z*5+|08P3>3p*Z6_laHlM(Dx>`%n%bSk!@ki?ZT+;RDTibI$&m|)peM!G*)<7)!dkq z%xt#KGn3u0FbVC_u%hx_T-{70{_?YwKG`QGtX@Kr+b5RMLvDnUAX6ap%QvkSSGcvY zn$D}jsmG}_;9=SeOV3cj&KbzzYVIQS&AC_= zx24i?i6dZSLym-X$JVJVQ7XGLnMvdz@92H1U}YCgB$p8>B%Fl|%08nQ{OeK+?+=@2 zhVm)N;0vo@5=AGz!bosE%9HC*-zwVW+UGoZ1B_r`pIVyT#4;g`6{XJ%{0092KDDEJ z;md@zlJicIEoQ|&^tQS4BObCuer5XdJ?kdX<&xqgNXhdUFHDYVl$4f)w9(RQaFeD( zC9v~Y#~ZXLq!`qaRlD$d{x!~A?Kcj|fQ|DH#=2h+T-?E`#|?xA;bHkCD<8^8z{W>m z)1OMuxzXBreCXhKBLj2Af^mV9gHsn}s94OB=2>I%-HOIP<(T1rDu)0b2NiA@mh;Vx z$cF8kbXjka{ZrWbAH%(8x;$qFKt8$RwM3HOeRE5kR2Uo+E>HU-IHdwE^DsW*sFGZd z@@ZG)&fcYPbLmj2gm78$?kV56&-%{eLrf@C;8VVDBr&&U2Y^AVcGIq?s}PHA;_wgr_8o`&!?&;2i=eYAWT*u24M_~> zt-3?Hh?`nzZ$zOiIM{FF84u}jCUT#xu&GH6GmKj%I%p> z*3V&62Mx!5w4%c8)k@g0RtN838h6+=05Z0iPpxQ3+A;0dnsV4*$Z#TzA9ozmEtTml z%nP*O=0W~6z-~ViP6L5X78hL%w&VT<{cA?cMP)%P)y=ZRe&`YaT>1l^o~DajP1vIx zA@W%4QT$lX;44DfIrUciJZp#|9${R703F-jry4@;4|jWS9DP?bF4ql)AW8avcj zEu>vz!nM#yoro`|PreR^}wIh|c*eM0u-Mb-Psmpe{ z_4k`R$QO86qg_Kw3@nYdN#gR=$QjOAxc>k>E1|ZQ#yWLpSELgipw+yyrr-II z!9LcAJ0Jx4h`GuZJ8}j-?t76`wHu2|Ticn8r7Z4kgs54Wkx$FQD8VhBy)lZ-O-{(7 zT}f+htfi7Rj^MhW+l++(fB_?%_NH0udT?ce?PZcHXEPQ-n9p2B6}u8M^v|tv$}P*9 z$4q3Bwa%8?#4D&<$EV-hNLX8$Op)<9UBCqn{78Jhes4?+VxZByH3pq5*Kph=#4<2g z?)EE)*Oc3^@UMf;cMlC9Fr^F?zx2Qj+1-NrE442P9rk~$I1U%v4(cy8wQ zZ8~^iR91i@s+A#6DC$84SYUv__U8|9#Dr4qoa&x!<$IIsL`N$O>qo-+_`bl|cmilp(%#Rt|Ll!-og$fRE zJ-V6|Sly@SK1o>REVb*aR%q7b#+MTr%(DE-KnJRxIXyE@vcI&{7JoW5w0Tp?-){R) zED2(`BN@j`RF`)PZ9T$GXN@*cAxott{H7mu!}QOp_XPV^9rE4jcT(HTsFOx^u?h}H zP(khw1RCg3zNp6b+_^R7zKyC}Le>#nrM#^Wj&fXN91;#kTD^63qb={+&85OXYe`ujPq46>3yC0sRz(s8ca@Ij z;j!4L{41W7yuuH#AC)A#r;(&~F688~?rQm3Gri3loht85eYZAq#`wuuBV_~pYQ%a? z-NmolE?I4C$I7!@9jf2#pz7a%II0%ft>v<8S>2=m0G@8em-01n{7bPOFj77-&>V&$j-1#o? zHh<}Y59BI8x3+$G;w#)NVSkky?kiZeCZiM+nJrDN6oSd!`Y786A&hEp28?1jpY zY>bM(r0esih!EU2+F^-Vg1PjFgNEzxRjse$V+{6HPqKJ{SGtPl4IBRe2r5W8@6Q#FH1bU$cXnp=Cc2$U1l0^PNRr%K$eEE=4bB@U zoQxbExjC#$tvU-g-7KWW4h(S+&JUqI0s7U!-D)ZBE}bOO%O9I0vPMW$k9RD6276ba z=x;sNk#>zQ_C>2HSej-KMD7S98;B<$V4iw|?OZK}qa#ZsmXM{o!hwnV%ojN2&rZFu zRqwSKbvYx9hG_G)Gbtp2-=4mt{c9?a_JzV+r>tFC!=`w6GhfH3J=}pOfzg8QRR?bX zoE^Z12OlnY=~?DqI^NC;X+$>?NRzZoxmn{UU{JrpRFZid=Q!zEdS8jY#T2=gFR)wM zAc`x74ZX{SQyP)M$Sg=BjEvN>YcS0<-Q9(?&-R+j9Ib6F$SLOoxXBpCPI31$^e3R? zP?Rog+MSUmt)to5$Ew-d-9aN;U%YEHE~Jd14iFLn0DuNPYn8a$rb^ax!y@V7j`WoZ zw2h2!1aXi$cI)d`Y^Qs^Vm?6GJu~xUbqiGdBy8_*)XO~5B+unSw+t1Ac+NrLK+Z-8BRI!e*uIBLy_U(R zl*}VT5S&0vO#sK1zF}r`crk&<+M%f%A9Z0q$!k(^uw+eEM0JzSnJUW(Jq` z)w~JwT--nU-g<1o00GmSp8l1N_DQM7xvmo2vtUF~z##e%F~_;@#b}%8Q!NzH+m-~2 zSk$wO9yvS={d3m2ZCMOg0ailFS37p?#!o^4uBvf&B23t@(=II5HL zrC7PrT2myb8eP9LM*?}9a&y9-gX>(p6H6JwO!0fGU{$!Km`Ua};-Nj)?;6#?r*k{> zItxgrP+sEE*4aT^$p*sQa1IF=&O23|*3#Lp{7QGkGCbLa066K!0IZ8`$ugtenL`cU zOpCYNcg1aK9vi#VuaIVMHJleRV`CH009X!tb685tb5xruX|k#njbM0z{st_e$3w<> z`ruaVS|dy4+}i!35Zncg%#6eiP8a|)k-hhQU_b}cobl{2&2vt#@|_WaYg3k+!c*&Vp|wM3qyot!6^xwo(0rq* zBRq3knpL)&q1+fJxJ%oB2uQ#tGutQ#=eWn?ShxN<`zpLPmgeNh7zW?HS0|uQIr`8E6TpJEOVPJYivP09dDnHsowz$s1$UKm;GJ zrE|;Ud+UpPrh-#yikr-!;iKF@&U<8Mr|N5rk}0la0i9jKg<@NF(eLm6HFeTi4%Lm| z)5bE1g6_kibJ26}&|`|;G-DkZlc?UtqWFgX_0v>`+dF?MpjwLaM%E_Cy&P- zzSWGAo~YI@mvgw%=SH_%oy^S}eda$gJe3FXC-SW;=}w;|^{^Y!Wl2>t_msZie+-O% z9<|HqdgL)_QQk2~mU)>TCSkh@4hUaDN$0TyS5I}V$2^vga*B{8f<@+VWGufaMLpLF z80UeU@mv)XQ`FoyRBIvfg;DZL}RuHV-J8;s7La z>mJXWa9-`m>&F?zH^vt?I+S{SrkKT%tYVtwR1YxVkO=^i!@saS1}fKwG$?O$7&l!* zFWK+eW_*IE&lm-=4lr;=2XV=*6H!V`n{zuOcSzPg-=*8Ut1GcG&cPV75>a+wby7&j z)2AIaw9N`VG8?MEfjoG`DQXB>lr2?8wGIVz}dic7if`;B#JksI^N&qnBclkIHE77#MbD zDJ7C!u8W+r5udzzaryS9&wFbJ?v@i3q-d_I3FdGc8-fm4mi##5nw4X<)FB>RKWBiF zA&CJ7PCAqBd;Q!4k6LVr9-(cz+FvQ7ZzL=V1dsB!?$i6Yz`*rAGfFnTr8i|{W$N}K z8>s9WD^m(YyF`ozax$&d4tfF3PZbuUbg6Z7V6v){V`&55 zy>H9PwK7if(7U9-vuM|GE4$oD5M@M8OM{S#zK0{`^}xq9F%H^inQ<6cq0^8_xDutL z4EQ6dBRu!cdlOM;P+eYH{@?*{k~wDFcEx}LvmD`L861=|bV zG7%f9k`74Y1P-`wdgGh3I-stMJzH99$*wOhr)XoD1mXg}aY+PxgMdjn;Cc#og|8M{ zjX|z0(g>uo$vN6!VouyYT$OAbcOtnHbrz$j6rEaIBEeobpZAKt#Q5l3b;nLIT{Wz) zXML{8B+<EPUMJ4!6n8rHp$dhvN z{HbnR%Y^>$pe?vANARd1aC#ucVrm-9%{YedPHXE)B)GOoE?oJE2y!HMwTraW zxrgmm@x(50N!S+*RCjj4UtkG1;;s047Vyi-A~)FBfaWoW+5x~4XN}F%9YN{b*7u9W zzMh8lq>WkJ?=Ltik`MW2in++{F~A*iMk|M~gzDE5<5EF6++$^h+by)6k>~i^1Oj>O zn(Ts8r*4K4mn`{?(^A!!Q1JZMkZKYowVSBEwT4W~XY;9uXMrd=Wd!gD!(g179}li% z)u7koONIhi7UI$487(qzQ-S;}1l{_cPHTYDZ`;E3}+xnI|%t-{`AK?Q% zO<117ORX~DrM$Scx3@6aNgcjq+Q)He3mg^&5kMs5DaR){-P7!al$QQ#q+5|@iYc7P zK*2lR4+IQt$95;SbB#*LS)*uEcWOg!G{blB`%h5>qHW4%RYdb8*e3GHW5O@bfO=yC zoSMggLKjpNgiYl%L$}&a|PC4hbjegC% zK^odhM);$)@-5iT85F6;aH-ep*18=fQ$^6pO~Y1nl4=*pePbMOiEQ;5e4Bv(0P@Su zjOXTlfPL?LdVyEGA){RRaoAl+H~J*uUgWDM&g3kZVnRj-;@?cvI?l2*t8Fqkq*x)k zg~a!^%lp`d=1syKD>ZA}Wg`gbTNyFs|c_ z5~sFnn(e`)t@)eTUiURGw6(I-CDdMXadRZ{c}f;XXwc<)u6n2dle7Wc=Cf}+J8yR_ zy~W<4d~FsrVF8U+D7Oq?{{Rz~Ey}0|0CufQ%j?@)nby)c?O42UiA-yP%yRy@Jmdl2 z9QCaPvRAnO0Ev{+T&!~K`!RP!+@mLZ0vNF*k_IufR|m9|J?72%IkZDy(V>z%I9twW zO|f4lBI=B+GqmxMkQ5K@fJQm1SIHieWG%dsW%-$7wHsHaN{Gf!W0q#@NdlzQZkXJd znPXhX8xxS5j=_$EZ~@8cJ#u)c%QcCdF)TcyQDp?iq=VD|IKa+3^*PQfj`Dh)X(U*; z)E3+^D;27~99%q{EY00hfO=z-p83hD%_rJ*28C{*H%w@8e3AR_s*gT56A(!Mut2a-?$oMiMQ znjBP9xcRxAkt)QqMW|d!8kK91yr54ngIxgRnJj`^GkxO4fQ!yq7k? zRG97CZ=T8t4I&UXg#eOvfs%2}QP*`XUh7J*8a#IAQ=iRA-U0-6><%`je(N9aa>Sf2 zE7PY>mP<=txydPAJx1Q#$8BoX+U@;}IaWW}?;yFjelxkk3}+eT+oz@~ydEdExbWt& zscDlnrKPQ$WZpo#Bp)z{#-wB@J3%2va7oQ_dM|}-pt!wPm9=d`!{1n$@dS05=LbT!*j6yUFYt?B2X%Nb5i z-lndPqDSIA4%+NW@msvZZu@NFWt7krAkh#FlG7fQG zjXHN%S{!nfncQ36+Uv}-Y4&du%2c~uNEL$o%NmH#WuFL62SVHcO=nA?>rmMF`gNRE z&KnU6)O2-W)wVh)W7Ghn9d{Gbo8j#uZ?+K)-PCu!TqQ3iu#RhNh>+$)Y%$!-aLeC3 zaa}#{hNepk33WdZ#imChm}Q-8$u7c12qX#>V^i`0k^s&dJP_RDPD;-A^(Dp4ZL!bj z9tqbjuV(vw%nd!mEGFVvRoFQF>Z&pOx!9u|<0N2JyPpGCNA}5<{{UBetKz}aNr7#U z0(nU!ZSqJs;1G&&(BisVQT>tO`&qP`JxWR7yOKm}i2ly1;D8m77X?cx;fcugsQf|V zSoEtyCYPecESiqus)+tYx`x9=!wvrcG2;UpHvR0HmtL!vx#`ee#ul?VtrNrAM~5{C zmrc?yE_EP=Upjew=#|GnSi%>R#~g9qsOlaVI_9%2{-JC`iMG!qNi)MM{a<2&M?WZG z*QIQ}p)Jm}VQ($8xAIFQWWd*E2qOW3`6Dle7|#JftzYbq73*njJL%RhrpbV_OEj`7 z`HpeAL<7k<2l%nqj?~q8DP6lZyN%P2ExH*NT1~{iX0g+By|CGY7YWIx|vAA7Ova5j#fwX>>8rwuW`vNaVtVoCN$ zkDL)&OpWeF-h17fgj9tL{WYIt_$JKHqUbPu-3 zjNgR?uU8UpG0=L}y|06HW`&?;nG!?< zn|PZm*KsBGg(DcjAaRmO;-!Yh(?Yenjug}`F0LhsWRmU{FChmY#(*vW{`Oe?Dyvq5 zi;P{~i{<@X&Yd|aU70g!wgXjo?%3M-3+2Y7u~LB#-B7^iBfV^CdS0GqWdb-)*}Ru& zo%X5~1m_0>mgEjd=R8%-Gf#@sRG(BDWy4M%BcKI{!D7Jl!8{?(NaR+cM$^w7v$VGc z+^?AlDnL99v9FZCu^=TCYWZhjlt>-T9Q-`E6BTx6|4wE*T-)2MFwWCSaXdD0qBEGo?2Iab$pSX#8TqS54fgR{qr{qJ zv~E^6h&Y-x=PJZ1XFW~<18;tnqpB{Se|pwecF@f{D;aaKquN<_kXc=G^D}Tk=Q#w| z0-x`0me)G@AG6%^N1Mb}y21yyveICOI7_wzVqo$k-WVQp@~(4Q`aRlQSlSt{r_?iZ zGas|TKHY*PQn`?T7Y8NDAa*&fi%!vWoj%@q;nC#UkP>Ez3~9S|Fs?9m;Pa8m2N~^Y zY@{$=5oZElzuwlG@qADD&7t%wRYe4YaA+0qQqklk$q_ z;j%K@+DdJV>lgqZw2-eZ&^a;eZ2i-M**OCo)8)EF$>X?GGdik@65u|7b_CEQ3s zIRhwpAoMw`V^Ljl@BaV{T}ZuGLzTGj^w%0pi3Wtgx~fQtGu+#V_ZP-+tXrW2w&F3t zr{C!zG}mdxv(M$P`b-f!NMj3)oD2Xl!NEO_c*TuJP}gq5TSIV~Tf7;NC^u3W3!JW1 za(+-TlgBj%mNi{I-P&J2QgJWMaXru26x`S)xL)V68Li_|T)J=T`m+ZJ^Ab-j zu8$p)O|~H8b{sg|1Zo!naC6Q#1IP!1nxb`!813Hfd0I&B7`h0r3Sqz{kVea$fPe|l zIR}hZhO6T}TEaz=++W-zQS6Yc*9(aWC5H*gP!I<69VOWsHx*Rz0=DymPRX8jbF;Ta~ZWpAO-*ounnF@Nyz)h0+tO*#bK6ZwvGt-*!Jt$zz# z$|036?4$B*?4||&((J2^xkI=xQo|ghcN}1f<(IooPTK2Zb$Ly8I4wWKbH{aacXwje zhQT5T^IG{5FUcbS5aR<2!2|=7#Zz0vhR)~gdS%?!;^ZNM$=+Ak>Pq>D#1#Z|DtO@b zuS{+%bog53;rQXc)RJGJ?HA8=E;>&9mjC_fx zU6hs_@-w$`oR54QV2*KHvE8Prr#+?J@>>$iZkHNj0~YxY1~L!s^MkoZ$U)8&j%L-Y zbjv7iZ1qnH$qd*L%XM*cBqXl{l?E`)hR7kedV$c>d=KGG4&LKQn@f4_Bx~r|ZQZvk z$QTAWz$H~l;~C5P4A-qU9$UZ3e_wg$#Ww7Y$ZDX$s4dj7SlU`#Lp7$NE!Ih+UG9Np zPBX?G~ z)8Nn(PPx;sH8`fQw|lv4W+knQH}2UGFF1}hVjG4sbr`DJRfV0dgL!XZsGUnow7glR zw7<7DQb5c$oaM^rg!zLh892rWI8sU;`&ZZWw*LU5`5M%G+9q;dDAfhOigie&lWbz@ zRgUz|1NobY!6%Kto`;_KJ!`R##WHI8P0Tm0vb45#(i!bn%b2>ciT83hmSdBQ@_KyL z%=ni@*EFp{?n_%g?K^9U%+l#PmA+YtZV+w&$<$z{JoN8WwCL~WwYzr_SuD@j(kXGsae_alKcL_7Ok5HFKMv4f=tE7nbn?75~NcRyU zo~Y!F#IN_wKTGiTlc;N!cW~;r(do0QYl&BofWlh zLN#Yaakkz_iOZk}!C6LQWf&lEIn7T-hV5cEh@WbTa}bu^;wa~U5O5??+gU+42aUnH zgIv^O9aOu&@-~~Z_j@C$w=r2>+1qKilHIBR&8E5|O?4cZD)4cGB4>~@xp9>Q8l`$| zHLYIHQIO2nwy_OD8)s%;wPA}C9Zu5OR*d}Xh6+gHxy?^N*5HYyx79w?Wf%q-A)m~W z)sU+0F^r$O6tEe{!OlUhgHZ76k zsmB`LrJLB??ky09%bE!W41~&2b$w$tVgCx zKBh(6PWO<(=13)7kwRE!&2~7>Hz*kDKpk;iN}5fk?v8gh^;@2sVX2)`A#CMuZRUnI zF<${2qc;!GQ)o|w3lLK*s6r&I>xV!i-k>~5L66u zD^}S@h_ow!o<^IhLu+!@Pb#djlCeNoVRM!N7-SBF@y2U`Z3gx!Z0tX@BDsnU<@Pqy zvD=1KYz*^`xIG6rtxX3<*7U2rDPy#~h3ulaHy>kw?epDR3dC@XFo&POb*`q8OO{%z zm|gWn+59^9$4t3)w6d1>_e1+TP-&oPPH<69RI7EsU{vK#QB!zo!uce>Ys>2^zb+*Q z%8H+AQt1B{Rl0Fj>Bnq{s2l?*AV*|nacZepG65P~gSe5OSM`^CZApO=tNI2f9Z z{+}ePnCH{yd#@$S(cTL| z6nuURW06@&CqFg=DuBZWIpYl! z7Hel|sKu!w1eRcd*F&ql3}7uDeiOHsayjUR&Ed(Ya})xd|L3 zsocT1I0QQ2@B-v>&2T}q$gN|#ySS03XJ}Aesq-ZWRF_0Ns+J)`wtM7p%?UMI+4PI) zcM?)rJhzpZf<-Ce7?GYGa7p0#o|VTsGn|vTyk!`x9)V@2TEI0|)mjOF7UV*ozJg>W zfGR;DkYr>j`M0Uh1RhVs9tqMeBh#m}XoTU~7)RR7QQRnP+Zk{|;T}E*t~u*jJ`cZ@ zbc?HdxVHJRGc0UEM!zdQLx2Ql_eytrb6rYKny-S@BUxsS+F^MG&fyW1NX;CfdV)79 z5WEav=O(lFsLkuU`}8$doDo{v!|>ba_BWDGv+Xys#Vi)rK6EP~Rr!^$yIGOX$Z|6n zLb7;z?w(`%TpL@y5~348@s)L>n)jT}DY^)NS{zn00$|rCiAK6u0|xfLbsJ zaU5m7UWKrB`*2NR>N>=?LR*_>TWi@%yh?`&@}}Mh`=7!(;DCK=N^+IiGD^t{r`WBg zjd^utJTpwzV{_RFf;KfY@9D zLoVK(kA7=zT^XkMUkkJStsuTP1*c;lney#dZgK(IM$wG->zd?jJZ){~MI2guQEBpX z0t5qLU%nlN4?PQKx|;N(j97WQ*)FddQPKHO(- z@q))2fjHumLh#b)(p}xCgHv$F2|E60Z<;UIby%=od=bwek_~fxW1b2U@2P&vmQAk47K5alTUiCXGuv;K z5;%(OVpWJSxXx20xd$MSFlsgNBR%r8@`&WLmCz&ZQjT%A4fO*6V2qM$O`*Rq*+KSa zxVoJA+vEppxFZRYc;j&+pyspuL#N5&dt`Pp>9B{!wAk>;Ji4TFz(ppSKOhlTm7p<(d1cYwn?rakuKms%@h31 zwTA>A8=j-(BOv0j^&9)0dsu)(@mn<0EHSma`H;^U`>GEZ!1+l%84pd>wP`olw4El} zXj<~lOMfSERwgTjEa>b+ORC;4i2S>YTZ@GA*_Dbj$g*v66FC5w*zyP7HGcO`g3ea6y0;S` z%#hp_X!oNx%I?5r!sSK*>5<;4YSwS8SiPmZ-dc-@E!IiyNb?pnAQU~=7CBxz6Oo#O zRa>no5@^raO2YQ6o_m2N*$%_B{J1NOF~>{_h~8JTE_x(ghg7-I?iM3zqsW#>(-=wTI$yEMA1A@+W-wO~zM>HFj#u&;H9g zC5&>2V^xX9^KKZSA;-yAHZ}p) zXobKlBC!%F1dy&eV4Ps*2Lrh^Vn>AOQ^hXzOI*krRon@A6m>Yq)2;#ZtS31sU%9*@ zxlAj&9a-Y@?jea7Ik#J^le_qcVo2lf401YBn@uM6Q7!ed!+7zN5KJ;ZIL6$3qaVUK z9C9n7p6&;_Vq-hP$!>*)(i>?kSZC7!6VR?|zxF+($#9}sVu`K%!tT-y=nfcT)B}z^ zD|ptok&CB&&Sv7uNo^y7!b=3bdomRo-oSCgTVF`8o<|@lnJUBgm%a#hs(J!vH7=P zw@*xZ@zbqzxu&^Ej2vCfHq&C&yqTLw6I$>Z`Y6M+GMD8zAH+^~bOhBMV^y)!ZkNwn zn@30hhWf&FCU8#&Zr!dh2qOcqJu3Z+Po-*?cOqD$7a&Or1uY(W6u=xP%L2bc?@-TV znw;rxBoIxfs_#wms!wkq955VYa@=vA{M1vGn!dx7T10k#+4{+qto56hjU`umJBxKY zM{)r@2|WgO@!Gk#JP8h$tE}yDB$5s01&EYwD3k}BwdJUQ2^O6N#gGtomg)JsmhHdBfkA_H8BvdJNw58Yw1$_HE& z&mYv+J$L=0_j1E5Eo}pVy9>e z$Q+h$_z9_=v2v5t60=cDLapAJXB2VW`A_EO0$E%MBRm7Z13BssBazN=R5eyxM$#j< zmPuij2J<47eBmf8+eG>g(<)g>580)HML3CrhGz#E0Dv&Vt}CW9PnF!o!KCylLk5+3Z7dN;%PgwW{f2b~ z$N=tWTNuY2^(P#IjMqB$(Aa}5y~EEE1$A*NqeI4eDE@#}npoNo5F44b8#lU$pDczX z@(2YF9RVC3ewe6l^k{ta-#qVjk$EO)S7~jdAd!=}W4QFL=(Wvj+~#Sedsu89Ets~Q z_FOg1yy8J2LLN_;6Oek5j$5uPH(Aw-Ti!`4Jnt3C$0frM%KMeDeSe0uWsk}+w2_Hr zb=&7oF|kKt!=XI&st~+QHQl_>#;hC`MU1)@1mH0z91>1?V>PO!4bmgpOSq8gazkd# zX33a9GeH?RVg2LJAC)#Q5?yLBPaIH>H9qyaIYn{k2|SvE#Ly28YMw>Bj@Jo^C1{uB z1b}@xALCk(!8W6z2DCvP)Qs{V+7(ey4dCwR4nYUs6}zPbuVW`xTU_Jr-bS68OIc77 zTN29tzK8z+uS*TocGj%^OkrKe?p(7jI-CyOx>ohhqj0vd#5Frv=4Az~f}^UpOyrK^ z915)s*qKasdUc!60V*Q$wwW6ofK=l+tyR+4&qvgB5iTEh7>+ z!b5iv%F0}V3j5&n_pH7a*K=Lc@-m)pvBbe` zfchx?b6T%&YolB+xwuR1QZ?lx$%5Sa7RSurL5jwEo2i_nkL4kL;}{s|FeAgLsdO2NMA%r<1&efjE5>aF+x!8SAPpu7MclN{(w3Ei?D=1<@ zgWTiWHDXsb*2o%T8GYGS`IwH&k5ksLlj^#frLCCTDMYD#3d<}~DGa`5Hl&&PKp&k; zaQ4j|%goPgB$aSvUKLd_#(5``{c4Twr>C`nX<_~NCEgNBi5M=`Iqk-C@1I)Cm&Gz_ zx>u8Qgh&`7yBuSZcAsO%(wb71sRiR5!ug=Kay0oEqhVTS8(F=*hu5t|ZGP){Bi%$y zu?(ycfT+au2hd>Wk4jq$W%GoW&=_HqGBPP&s@QJ)EySi179+GEc!jD*}fdUf=!l{_V<*~+bRAd+#9-Kv~#_dW5_ zt-hgerzG$}<;gr>E11B*W7T&bPWY-Tad)X&O&Tj1T>w|@&j62cn&NYlUhatLjAMOu zWi3t_?aU1v=(agHx3|J09-NMI^)-WZe8(}w=?v^LOAMc-Yg}kf=(i1VlrB+99)W&d zrj%(g+~3AxjJ3ptRb*u+BRJp+=z~bgN%S!`Y7mwpQ!I?VS+=g;{b_?pI-HRRo-)Bf zGBad*jQaal^z&(UwrTq)9I{v4m@`VsJfwm)WchdF=Fjx{cB@);hjo8)PuZ9|gSANEn;Ze2x%94w z#2O`*nItkT$~=;T``EYnd%J+AI5_N2(~8dU?9*BJipFUPxDm)CcJsj-M?5I#c;c&> z^4=s{TQUo84qm(=-pdLJ+|$glW1hhCSE5@hNVZDsVJ8LO13YuI;;8FssOtLN)X_Z8 z8@Xf!HsML*fzyh~O)}|{Ms3Wi_t4~(_xgX0M=O$2Y}1)9bsZ9Enp{)F*K>upCv;7? zW?uOO4xe89RohrJcDXSngcCfn2!w3g!>@M>kaPYO%jzZW;I@sRl>`t7R5ItI6Q9R5 zTE#9bSVXKU}<+1(xqk6UgJn(Voc&b)& z#cytoj~r3#c-{ALBN2|A{{WL*rm?TJ)z!gB!mNzUR336pa%!xXZogw^MoVykP8T2? z^GVW^)Tq>oI~zT2)nJrKJWm(~LYN05xgVz;=&mB+tOP#-j;h*by`o%PX~`^24a&tNQ$G0_%9FS^Y~b)Q&#iIB zq@wL5p|gT&>6|6zwI$w}6~uPQ^5PqWe6wy*^0?1JNAj%88`+Zk&)m$hjo2fc_8*;g zKV-4HwYq|Eu-vmFZg<>rGu3hqdFxDr!yBephO=dE%rhWf7$_c?C;3-jJW{ocR9(fC z+(fp;ac;>HiD!1kTNwu@>)N%a(O}fAqPU$z_O7MpSfVk?VJi8kP{=VKG;R%~@G5`ArL?eyz?=^#TT+O(_( zcE&*Bvr|b;I_f!Pl`P_lQz4Bc-bw5*IvzWbR&2Ff8#{Z6=YgNhR!=d4G^ck51byBr zCGTCUvBg_+8(!3`FExqeDRXWW{#aBf7#t4%pM^(fGMOZwO|w~LJTW;dAO8TVv?S8B zdC^`YKb}`VzFd;OUZ0&!XLF|MijU{I%g7`XBA>tvAEj-~lx&E5lR;;36hCb74z%{R znFK)?-6YuKD{(w)WjflWwWPN$2v=LF56n6Z!@tYG906E%k?DHgq#A3BnJ1L) zd3?R({a3g0tvx$M(xbYX^6bl}*xL{!zPln#$D)YiQ_CLN`t+_^iZb|(V}6Bf+iG$* zm15>GF;q)J&5}>bq_M^awMnMi$z`a=HO@u4k{!%|gc$zu1wp{*pqjO9uiDv9c3`%b zP?FpfgY5+DP24F6yc3L`eJZxIuG|j{*iEWL>l}f+s8|4~56TEm0Qp09^r%VR$!N>d zxpPwSRDK|x)W<7Z6fVsN$TprrgoK_(06;E=HS;v_2PAob+7Iv;abw_5$ajbzCjv)##Xtrl~$3H)60a>s&w1}IRe zQ$)zTR;7fzlS&h+To@zVLqiK;cKQ%H{wB3_?-I_|s~w;EH{AwTP{K9!RrNl#=dx;Z z>JJ~#!IPwqDs z8N#<5Ezv6Tg)TO&_tbY8f&)tgm{8;jXlK`zf2!fnn# zOmUKZDf)+qE^Tg_$~eQ@Z3amsY>fKuJ-GcUovpypEn3vvnJ(pE2vhsGbNo5=^~F}y zB#m^dS#MLynm1&Q)jsPkbGVM**0)ei`^d+crK3ANAH-<((MplTl6iqm&RtNT``cGN zdJLMSec~k4PN^fr9$3^fZ(dc;OcRoEf!4T~wTaqSkl-m$i=VoyoZwd4YL@r9blyv> zQ@INx1?M0fH$LB}sB{!%bXt|;sRoQ5(;<$)L32oqo2OExftsQe!`+TnfJ6T8t)Nw0!WB8L<$`^JmOF@@cXG`n z^Ku!wjGj;8Gx^qOMg__Y#!d+RC8Ww~(QyCD;&9sSKhxyjr!>rF#JN$O2`c`f{<=8>F}o=@_s z+Xtmc6dr>E>p%x5*0r^Wz00~?;%U+}h`5)_d^zk$z{lrNn3hA?+ z08h%G+s-LQHU`E{T6ZqTo`7}(&{M!5N57rJKZj~I;L@lh_03&`IvAsQP))gG2j=qr z_u*39+&%5VkfzQs6;5~_r@8m2*~=WBds3+?Nne!X6j%!}xrGDF0XX?kclSQkKCgWw z_k5ylNYP{C7y(8xS>=i4xv9LwnlL0JI*cm;+tAcF>K76l!wZLK<2z1I%b(|3nwF&` zr%(Ch*(4%E76Sp6AmMs+6`5^pZXe_Yfb<#tD(<0l*5(M|%unQ^`JEr3<2{GclSz$S zxh;v+jJGhx*3zRO5VD`U_dy(XIOE=`YBI$PG3oG^acwM{-vleM#z-HAKMJp>U0lI- zjFK_~kjxM8_o$Y0jGTt`29k@upg!ISZY5aajihEg06DE`Ev$5?GSa2(;+|0(F$3wJ z;>UB+sI}uo14R_9+r}NqW4G7z4Q{fl#x1 z;-lY#$s_4hNp*#~3>le^q9^q=V@kMDc>=|~LNiLt$CfIjsN>vbvPH~j-3uRcQd`{t zG=5T%D>l^t_0J#HhBIr#@cFv#qj06(IV2MKgkUjs41W?ytWcTfAXBxg_LlxdELcT| zfhQy70dhYorneXzjwwM|Sa#61!x-j)ma6gHCK&p9)8M{QGJv@`;A6d2#7f9O=~6`& zP8;RO$S1W%_dy+l9-V2?UPh|NX?N^4(Q#OCg|`8ML8}JU5PZ*$_^4vJlI`|{VV(i$ z`P35KEQerIxE=`{6G^eykgx!P+ym1&rwf%{0O!>6S?(of`J-jer%F?AIx4Umy@zTB zY%9JIO9Ui+o^wtY2$&ATB=ye~SIbUH#_yhRpqzVCmNY;Q*<^9(P|y}6 zmS|UmIrTLGxB%o6#Y*@9nC#dRISi-sr^gM;My(aAy60&DdKyPCil(e@badnkhmN)CUpbpNM#s{vNuyrm zupx$VyLLZHA;MHr9zA)Y_X}84bnTEx89ixy#x52R%tt=Cr^Rm!(hck(7|FrOKS5d%T#H*7 z1QC@aV{kbm-M#++K}pD^7FX0vw&LBvWZsLgC2&7cSqA1|4%r+q zY?Z*~raf*C$gI)bI_wDh0nPyH_4TGCaL_owSgC)68V2`_ZJIZ3!TCIV00RULgsNaCw%pJS8Dm8F!*!{%TC-|l@s ztyFheou-*`7lep+KA%djG_P?c_UdbR=!}}Xxb|yZg9_!nMOph@vhK=)2;>2b)c~ia zDMFBV0+@{hsM(FXElBm}G{n>)R}3`dBevsJ0AbSTiAfm7Dlw`_ zf;_0kf7!^Wagpzu0<9MWT#rozm2SE9%?9jSK+2abB#n-7!hJpJfcd_aBx(WV1M8X;P+Ug4 zkl-7MkNgUdMr1iMN%*m;1Y#~%@T3kZ$r<)#Je|k!qwJ9mtD1kA%^Ss5fPr9%aD1`& z)w6lNUp0_CgN58aRRg96wN%~BFPOW*J3u|pZ1k==w`#{tJsr*M9`*GJkmXn;yTsCtGDjIbdoci3hOKoTp2;ru+L9Sq zkM*)2z0mX|l6M}RtCt#=mnFP5aqf7&U~o2qJ%7ATJMbzJw|7q%f8X56J2@Nqh1muiOA(N0n&IVAr8d5=&pTFAS(v~4Ol<$~-qzHw{jYBn?<^^JWn?guEy!#s>(Ob}y0wf`$>-^daTLHTrS2a-%rTBf>(a4W z>33xiuoUE;H^s=C}18uEKW%Y z{lnZ;7#-@;Cgf}bF*pM~he|@6RJ&;#3yhq7Y1l4BvYZp;9CPbInl=6*QT?$uU}x(< zYRN)#ODth90m<%avAicZUY_*EyEy61NbFv`jbofD3;>JYzR{o7uG-xTJrzz)^L8c! z)F1=@0A^~#ns<4N20aJzt2eUC40f=x;H*K;M|L^>SgBVy90DZqO`=@q3?oU1Hl$TYY-X7GAbt>70BpC}L?mmDXzo$Oc9=UX9YfxBXD7KBgGFY+wSk(`-v4o*~ z@()jH61pD8RSu@BZl>xtQuy;`Mj4kMbT_xtlU6k?MtwrXZ6awd?O;>nBaEsqaHFvN zee036)E?Ew)>4P6ILe>Gx-Ab#w%2b&u{5??bWA?ga^#gje}*u6wljq%CmxlQq06fs z?q%x{n6(G%w+pnf626^|ZHoBeUF&KlQTeex# zCt=Pp$8vo;)=Y7u?vH*0VdyNd4h9f<8x zp~^elyctqGvNVH%w2bgSI)+)i?0n2sP~f>6jw$IE+L}aVk;9*nfaL!GpGsSOI!k+m zk}_hI2xapZzoE@npt|Z)jtOq9Ws)%1wZM4RVWjC1bTRhIys+;$o3>@nW4sZ)|SG=zDX zABTJ@@yiptG)TW`K!q8R)RNmj}XUW z3_oU5sL0C5CqlsoILIe}N!&egT*kO=Zq!LDG#0@USB~010e8t6^*HW&S0@sEzkH8( zB$n~#VUQiofC=L~0iLzdYVRJXmiJb0O9U^41AZlU+Mud|#@y!w_B`~i*wa+ZWjbjQ6_g=W_EBsT$PJA#(Z-1Hb+enX1Z(X8Q? z`be!VcC>1I=UBm18Nu7@-v_=csnoSN^y_G0w0Z399YQor0CsY4S0j^=mLsMJ%_loM zEyc@yN)|o{irpUiGB0*-Wky}4Hh{#q?~TBEaxtE2#5OWoY0}JO^IBOJ80^tQM!aMd zIQf{6M@#^7n!Dk@5lM4z1)50|v9!}9-e?M{#3>E94io~z*aKK2#SmWVA7Zyxk|tRK zw16f@M!_6_M>st&Ju4n*x2dX%NUwdVNejqr7@?JXwul|TWP!o&!8Jams!0Sb9Mb)= z~w}N=*fs@bP#d-B5 zrP4Hf;Djg>L-%0+K!J>`7dAaa@LAlo*zFrCA zliZr~CpSHN9k7ayhfQo%r^KY?ZX{C6hG_vgAx}=A4Ar>STdRv$xW0R0iKs|bKRrL=REIL!F&LwTZiG_lvAdX6<;V|4AL zg%Qbk!($?y@_0A(emy zn63$6Iw%+eJf41ojL@~)i;JBvQCV&x)K*ypQKNN_f8Hmq)lfkL?*e`6LdNRjP`|sm zlrEoav4wju!wrs0p#wW`JxLiLXFPLGhK*nT9NIJ4qa#exE@Lyt0oiqU>kBwctV@l= zMmm=1o`3^eI&4-p8cwZZU80Rr6q&9g%x#&Y2MDYfu_uCg`gA$h{vo-(K1H0?)^}1n zhn%YsZypHwKpZg{v{jc#M-a1dx<%xbbaKy=_r6hu^&>oW>Y8$m<>X-& zxwJYPU1~jc(8&UuTRVG@OH366skD+t0V}kw3j#>>=M>)&-Dr)gy|{|so!hzf&pmNY*Cv(+l32-r zO5~3ufS~Q=@(36hKG_4)73Vtpq^86Nj^^lxF+~e*Sfe2bW+xor5>Gz7RZ+cGoSuYK zwKbyDk5bgMrngH7mQm zgU=jx>(al6w0La1I{NI{D|K-8>neGr zVo{6$58n4<$51QMO)U|`(|WQCO-jbXU$k7r=2^+xyrgp6ZvG+_2}L>Va&y+YUx(Vi z_MeL^0$F)lWETc0C5|!+fHJ@z!#y}1YmBhaZ*Oj`uEKq?d+X5za=eSRm=)cUa2J+Q zkF9zggbSu=i)UqcVGw_=mAVLn?jQk?^E)2-Au>VeIq_V)jy+zUhSV?2pG0(i7=1}} z>xd`3d;7_z5tTnYaHx>=W+hJE32s0NdexDuJ+-!>sLfzwX#h)NWhQHd+IG9-XXd~v zqp>88m6LCI9-XJ(TdaE)H(Q&QX+u1PXBmx~vhukAa6#*~ru$mk>B@ZI_gQI{dE~@^ zvbO07A9Ubw2*^@E=qt(PyLujt?PC&e5MIG@!5$bcqc1bc%Ny--#AR|0cq^9a#wr_~ zM^k-0bqk41*5KhJXi*kCe-PzH(sP!h%MTbLFotu~k;NMqe3xIZB! zvPUJ31~}VX)N@>F+WnN*tv&718Jx>_OKu4pFbIc$GBKQ2sZNS(n#UCCyV!Q6b)?)Q zYFBp__f8+ll~xZvSsV-g67ri9iv z7S^b?@d+*r>pa}QmgPyu93Bb`42;(g;r%l2Skd5vP`fB5y+*kNZfN6DU4ov8_T}T|sSh?M?&aOD(;`No#Q!-r_g+=mlL&KG#z@#TreM>*^Q=91%4IvtaSib!Ue*!fEy_KA7}k};A|iQR+K0OaC5 zZ&Z@jXyuOd+Sw#Pvqdk@76#E7J#e`vJZ~7srBt)i?wUXC3#eqbSGG?s85>~!Br-^U zhYGn0IVAg6n;7#hX&r6rWJx96tak}x3W&8En9_af14z5j6lOp$0P0H>`Mcty(ezo> z8d&aRiKGi7-dtR98kNZ1jNs!9h3Ak94At#JP?~WxFbnpA=@!-AHvxR4OiChO;>39c z+c+*W&lO8pOT9ws#bjupw{WVK(UZ9tH}L_Em>3uXmg&-|Cu?jTY<{75_7(w+(n`iN z7uxS_#|R1CA;1T31Ox{pdz1xta?Z(`U4!yFM zkXqkfT1bNBkz@;Kg##G|3w*?|`EUti$r>N>(+h}vBxaprE6#=BwzCm0+Rzy}+?U=%M(?e_ zrb)cCNd%yWQ@P|g%MpNj3dPktL3gHI%CaoC+T_l`p4nNJ+Cm6zi;QpQ85qFFB=pUS zNi{XQw78vMnn>{LI~gCz3?5QZI0ON>bDl`9xWTn~Jq%pZ(H%XWr62qy`h-@nNEL6T zU9v|cr)s%U?8A_XJ#q=a&NEf~EH6LdFc$ZhODVe#8tJyBQY1h_Z2X%oi9pT8-~@Vk#By?@7k8j9w!fE9YphC!=RQKT!}l`Ijr*1%K|d&FRvic^22F6dDEuhe z{mK`bwx?q)^^2v!iTtVJfUh$upbYW`QU*pyUcWCV2b|ljW=GZD(rZmV=ONM=?onJ? zz5rLsrf^6gfyo#n?&hu^4JNUz&pgvCFC$5DJKadhCBWWtSq5;t;0?er;12b7TGtMf ztoeFuM7!N6^W%+2m}EdvBS56?Jx}*So@=HlDI}HMjOBh;b}X7T&DG3MYPv17*X9!l zw0O410bW?l`01XAyqxk!LwR(uaivW))Pfip7By(?z>jYIqhfu?(LQ+U_lFEhp4(1mYkeky=wA06xVbm;I1jZotP=OrKS2 z9R@gFIisFi*{!EYu2rXn7$Y|G5a;G6`u_^Kqnd9w;Nf2#^7s9!#)CYNKQ((koj8Cj%ZZc^nL;9n(#v&WJT%vc@EgP*&{@PI0j(X|UnFRdid zE|zwbc{A$j(ZY@t2*Ss;hTWuwIL-(sX%#(}hjimrpR zSlF=ISZ?EYHFm>7pGDImv3RtrduDSZK@H1a&n_?oD3=a!bDXx&IO4NYgm0=fc@Nrk|p@tnmw6`{ZBr-hXO+mP}!W@}CRh5A_EEJBPHBENt*+ptdb|7tTX>D#saMj0nNT>3(8xq_#3Kj3r$;-7UL(?p$d#8+ZQzfODEJjiRE7|6L`k(qliAmsG<6}#shs;%JhEuG})r$;aX{#S*e z2{dLwG1$9XI6MP_N8v-9WjS)Czg8Z}q_1*2`@4p>wUOM}#McXVAdV>H^6;fX5}Jw{njjgSXVo;?v#1i6AQ zEIdrx!WY|u3r87dEDGl=Gx<`K`Qnp%bVH0(WbBBN@#C_BeMSvFz&wIDEoONkE=VL6 z-Hr|c3$rcl)~Zda!C`2T!#(DsEUJqWS;ZpTWVTptE}@S&cuIG#<&=`;iEt7$cN$;Ax{xe%Kd2zakvFmZQUzJM)Ph+k7@2CY~J0^f40@`MeXL%aW(vm zR^BFzhB;Nq!O2cCayaWyY8Mw!U0d9|sU4lh(dWrATrpx870(Q+R0V9Gx)*|2V`)0& z*0VJCO>UOf21!k=sv(bX3K66@0Ji|+e(q0R#_Td%ORYJb9`#ZUcT4gm zyR^Bzf*2TwjvF|{llmqk!#7fXQh4juq1N?cQr>H5%392zT2EsfXYAuYCO1d-lmrB` z=O?cjrI%IJx`V#s5@$C*?&{l^t(+oy9>{- zT*J8xauTOFRUf+t01@*th5+%3#kjw@xboJ+LASh=#99P0Owp!3@g;!g87FoK1E)by zCH>B7UvXD)|svK`V<=*dVrF zb~^F27UPpuwFJ7nv^I}z_FF)T@LWNE6UDe3v#J#jg#ndWhdAdsuRViTd*2g7i^yYft|Sye$f4V;`11_%`E z4FgV73Q4&{Ll;sqy2Z6Q#zF@S{ERLJPI^{b_|I9_JW&pYu`Cdcf*Xh|;$~J|u?!(n z8->6e{(M!t+c|7>{Y|efq46{MkjHVP`L^*rsZjftRv-YZ%&fQ>;Add~8A@wL{{W}> zeeA2pdlq#Iy>j=%?)nw&osOlbU2U4~GKEqV2QfkkDhA>P0m)QQ4_voQw$v9;)UG49 zDW!`68Isw`&L)@3MobQ;B2C1Dv=DtWopY<+X}%t`iq_8WOn5fP=KO?B9ROcwAzO8>x<)Lzv zRIlWp_4k|7NpEEpnTA=BuOVlRZWZ&m2F_flAZ1wP$0MdW#CNyC!qVpE>e*qn7RE)G zuE>X$${CK%dUno0Amf^*+Tpgfwv=C_O(~5QSejdTAx6mvRq~;RRQq7_Q!U!0^UZ5^ z_oC(-h}o>Xr}J~Pd1G@GARn9N#!X=we6LmgTymY(hLd={$LxL`(k^wiwOgGQ8DmS! zW_vreZSpf0QW>NJ0Pp#52RW>5VrA1T>_SG64GKUbuHN!uW z((UZLLE)=eqO^M}Edx8Q8Mid8aO&is!=E#EC3#)SN8J@Sh;*$-PP&%QQMyf6OeYqX z7cjG5MUF%hjbatP^LxB7VUjL^q@ZWhkk(6R)$S)7z*U9qTiY@SX|4lp>Y zlWD)$dR4+|@wLE;M}#HB!Nv3Bl8Y!imN>Jt$-^8nuik8D3Y`1@08RG$^(s;2(#I?` zi@h7e*Ee={Z!O)?j#xD4)U1gL03@9dADbg!RRo*{ZUzl;`mc(Oyhy`NwSwk+%5xK1 z?_hSY0F9*VY!Jhp#4tI{b>217;?#B3wYg_0d}R_Bfl8}P0zk^>aGN7Y_O1f$JQIUl zo9eey+r@3E-peVwLB2=%#9MkD#Da1&fZc%V0Iup*NjI`={B0IyTY>$j5w&(bK$NW^~D)?00@hk}zO}L)<|#kCn+d+yDb4 z9Gv=!si53UXVP@}n$uOZxw>mxxSds6M3O{U+Bp$G+z-q*W2O%Tis1uv6P-jVvWbu;3aX97g(QMDjPr+4!6g~*e*R*od$%6M^4MD6={i}MN2}h< zWu6Z>wA-!Gf+KvPT>QdQjz$JLisX{!3yZ>*`(8U)1dQ5iw1u{k+n6}>6ar2`;c|G* zXxwRf#Iai>myuh}u*QLH*g(htC1Wv=Bt=ku>aVG)0{wrrEzQm2KDeh5YQ`pjOnMJG zF^0g$E(T9I1RCBJvr%R*M|O=lbv0iN={Ex6_RZGjd$yVzf*EiZ{bHZIrzB(0n#I?a zeOl_y>eErahBb*K#=SG$vFztdseZ0Wi< z=8}IXHtkE(lA_q8ZiH;LAXb{Tnp=?Lu8iq4K|Zmj&X+DYo zy1es66S9d;HeuUlMow68d8I}UEz6>8D$hk9BZ>ap)O0VjLFG*|S=(A1#17_WQqnRU zecbWsfm#}FwQ*yrOM76m>5skD?qLVYkss#>=)i&qJ&$hHt>Qlw+iQCC(Fu3zQ*OAr z+apUOu^%zsepJR-1qv~N=~)+k7`v9vG>wh1+6z4F=w*wp;08wFjyePN6{4vIz2#=e zahFYON#{=bZmjxiL~UMwI`Y;PV9u;FlNdcZao-D^^gT4b8q>wRwl{iR?3V?DG-*7G zA~DCxftzBsINEqT;{*!hVeyspaLKCNL8a;uLvW(eCb&kBF4L810S(bqVTl}cuDd|g zzRYxZ#m&c;CHd4Ye}1zpv7+FX;AFSXGC|Kg@lif)(Q4YGGsV6Pu(H-JA+f%K`dJZW zwYI#JMR6JzVX-nsdOEU#c>v>@!-C~JFD$>>!uL(GR58Arb8HovPYkG6vhdr8Jb~W2 zOS@*h5m{d7zuS?>HnmtN#FB*Fzpeo`xNivtBQir)e<=q@9HCZh?|W zytB2UY-Hp%a87c2;{&*})hu+qYHtiQHx};&yjDikPpH|YE+RozM{@zgEXo~%0wQM+cQy5S}f-<`?jz^_*_F6@si#4Rwjjid_v{?t8*yA8z4na8SUEQv^ z2D^86biQJVe4nz~TTE?MSx5yH8z98kS8dyfJAmMvi#mL5XQ{rebs-ZLAzhMKrnHPU zNduCnCvJXVFnQ+{g0CpWryWfkQ+hLq*E}1nMQ^C-*5(VfSr%(pZk zFm6aaMMtUHzliSQd$`umSDw`xRa=E7X&2>WY!j36?hJXs!96k5++9O+rQY~|R@5!E zK)!XYnYi-P%teqB8I>@rhfJ5}SKEvC(JmW`e#!Bi3==MA1z zec(v}RN#zMr^Az8SiSU6E0Yr_mIVtdBN3Kf0}-CN=Qtpq*vk{i@$cNVO6LXOtLv$( zqmEEY+Aoz2!^gShjFO`*)RDcm;P5*12DLQr5PxZFUVXbHmTp<6wrP+gWGN7-$2=X2 zxO0Ge)~(Kq<|!>Q!Vz99pdM&_}AE)2=mJq>@%xn5CA)V;ri7<>h{5P~04M zT$-oh%|l9+ES3hiv$c`lLuG!89FfWcZEfl~+)q)CgCdyP?cbRa+d(bXpL)hv;YMX> z8bi1#JpdS3_ytJg9jdjAEj8_$g^{e~mDOawLx?vFm6V0~2pwCd2WrZDJDNdQ=^FX0 ztrB(Gu}8QKjAU*G2t79t2^j7UM>wf+8gIEM^Q-LCOC9nRL=cAR7pj<~EnOHI`+3~21r ziDH24SYy`p zT_;k4F=Z4?vQ4p;H)VHmFd*)Sk(0NBlgBkssIK%a#o1iP)pdByiM~jd=H4h--WdRK zw8^w^c{m|+$UN39*0rZ=8eojK*(QjxM-->Ce9VO8=aNY1Mo-jh>UK{gTAi)GoYSN~ zVpwk(Rl#Q5*vAe!5aS(*13YEw*FR>plF=~|kG!5pJ6DAP93Du)<0R&~DJaETt<0)j zvwBOVZ8|5NgogUnZ5*te8?X6iAm?e?!)ZM^Z(~>Dx|n}u>K5q@?Sv?k(@` z7+u-4B@<+UjC>q?s@_?`lgR^-&0M1X86p>WkA|-5EV$i}q;A1J+2*rNE%zJ0L`@Ba#exHUI6~5H zki`}OASqX2+X0C^4s%h@;jLcR?cvO636v-jhXGYj%pA4>Bx3{~{i{W`@KD-O0QbSo zEP7^{EzGk<@?4_=(nAY}aN*AYW9A&3XPzpR#QHz{w}R*F)+&+Z<4|0Z1~54X0Q5h@ z)4eOHH1*JJG>YCC)*!vHy_b93#T+6PLK#l-;Q+}e=J}64hZV12(k`1dwc5oZD!F%n zF4bVla7XaAGC1_Cdxq1r>qNI(NX5Oy(|nfm5){TWy@@#|r@tb$Zthn}w%rZ9kQtUJ z!%CsNqH@8c3(5Q42ch(!tvbeb#Qg1ia7rDdF#NUoU#uwOo-5;s8c_ zj|2?}o_12~0;tI(leu{4ikM-OoYs|-z3zMI& zsb!_uCB^WUb-*$Js#(G>8wLo#>(96yjbzW_JNpZbF>P<8S$z9=?yW8yl8GYaI`!e1 zPoW<5ny2kGOLIA#!jWbkAYZv}P}1;p;?- z;f=vBGduFovzFLMZn#Cyw)2Y0k6hPdNY9oX8Zet?i+mDo+5zlTwm?04X0^2!k<(ee zhB0w8N|HXFsvO3+2nx3u7$X@uTyxmgl`o=X$9B-RjcA*uj#ag5kRg+5kni$?y_Y|G zCw6;sIvTI5#`bp!7N;zh|wr@T_at6G*d2EPlpiiCSxdavclf zIa8Jc0YPP|#`faMStC}GXwVIeW(EVh1R%*LkWMq)R?w#RMiQS!M|7wf8I}+28&x4^ zieZU24C9|nW9A2(R<^(53t8vlG}u9Yc@INY?zhHKK%?`_SL z!Q>DJ2hy~huF{J#ifJ~{S5VV0FCmKJ2_I8Un3wMWdd89r8D?gFEpIOC;sI){pq=)B8r z_x3@_G3pAWs^_Qx=N&ub8uT?*Tb!0p$i}$v^Ig2FB;PR^H!K1+2Ymkk821A;tEXrd zo)@=PiLNyp>7Xti+@CHrBPVYe&O6{@wD0b0THZM4vW_|LV!?yXA)`!XIqnI@IPP=J zbM`luaoFk>S5w_u;nb^eNXJk|1b#Gg$*YGVOtkk_^UuC*BJwg0<+xQb<+#pArCjj# ziuY67%NV#2!7O=!*;z^l47u)c&JR(F=D{*ag|ch-nSfCw=W)p6AO5O+wDUHHc(%5p z+C*gBkdK^mKp z=D-Ot?EWF1bLoodZms9K@Ts0ikrAYgCzL)J6>?FBs3Eb>b*-EgjQQJVGBqW;`%o6% zXka!VVp}_gMtj$1;n?h_(%#l+g`T9YSv>X2D&Sx#BRT8uSP^Mjo`-VrB#Y$BZf1?+ zU%U=8p5u?{QA24Cr6gs9urem{Vr|8M$v-P~{OTs6)uPLbcf66ScVh&%#wKg2(O3bn z05R@QBaGJdh|=RoM6qR+OIrEvPTcm-0CGC^%|+oTV7Ar*%`@G>BrXx=QW!_D1q6?K?!y56Vc8lz)(4Ks_$jJPunm)M= zmDDDCVj*FIrJHj0&Oa)`ig+TtLo{<++^Gs&obl5qraub3_T5ft5GB2=k*~_FGVdpz zfc2`CJuJkhXLMhs6 zO1CiYA@gAm8nUW_%@|*qMt@OT(8{`JhG4$ft0bt%uE#9x%9h8dQ~v;uQ|!DyeS2y4 zpR_!7YTF)Qa=iUbRq;Hww~c3QV%}sHmg@?TbH9>HdlE_FyDpxGD^GE{Znt%G(=4;F zO^Tuk6d2_Lvtzyw1aniR<(O%TE&{6#N6#B$p~q40S$T>H6m@J2C-;4K9@NV_`*hT! zXrm+(v9}!V&je$*H7+;XVcyHky#W6`M8M z_A6>P+K!{B$dN1CV4p5L{D5^F{{UL4b0yuRQW>6EnYbkZ+7EG)!Tc*)>sqydCA@MY zz<_+LPng_v2d7%EYvV}alq{f_4+SGo54T$0F8f5qt8UDTOI=S;hG`*%q>XX&G5{Cx zG}x@}EnSJdhCKb~)r;rw99HbQv)tShZ!hkfkf`}1*s1(#E4RCiR8Oaw<3Y^g0-gi^ik4f$67D-Eh_(xb3y)$u8Yx|l$(Z^A zu9;-_H`|Tz8)1#(E~qj0kNZF#2Wsl|AGK;46{Wb;9paUR^wLcc1tSAupcv(e-Hg{0 z;frg{TJ{CGnnNYV+Dd4ZXxRcJco10@!8;=G=N`uU^%J zqj_#9ma_wK1Ek7u zCXGf%vGuOkN${%c{zS9hNoZqSn4(awjP2LC6K}AD?iAgh~uE+@T~Cgm8`ZZq?YXJQ(n^&NGyO`nM(|z-6To)pS*tz z4|=B$i7c&e6;L~_a8?)*Lw+3Qu`TW*v2iTckXw_}%q;KuXZh64;`!~5{7d47)Bc() zN+0kz;<_C!#(c>myV129h+&d>l{Bjt1QBkl9Mk0I2mV&d_MwJ!@U$diy&M?yX7WtlYSRuIF?kZyi^ z0CD=7t7gG%p5}bAMm8dzjK`oJ!>Ou-6m})avgO^vTiB(v3FR00rGDggU!`Sj#{^^4 z(^~PIC~RRy1}O!`c_Ot+#5rA>sInMhL>^_qJF%WUiTo=4oYx6;5?e;WmA6SME)_k8 zx4(MKx71%~Uogh4^D$9^SJIhts?RK2Lzv*t+y}4M*0XSIzGB>~9h7rVArs2e9f&zq zJn~QD(yGmQCFO(5aK=dlR*4@!a~;!P}(}crP%=&<=l{T90xs zag5C=8;*S{TUYxuxg>;PhR0lb)j-5|r4kS^n!5`2F1r}zc;-#B!*Z3mT8XbNJUgpL0*R3yNNn}$RD;$m4>rr`t4CbfS zFB;+DP6Eds-J_u7@l;~~o3PrVPqGH2r ztH{qr9-mrj>GHA10MgWBjKHZN@+pGkcNnJ&2OP5jPx}fL`~3E&W=mrpWlf-Sk(zJX zx^Yt*Sc?48g({$R%^{A}afu5Ib4yX&gY7MzlpB`%Rf8q4Q-WK+N<7F@1Is5pIG_r` z>4i-Mtu(8gDg%~pK~s6CT|d!to(3v#vLgW2uB)8nbQLX(rjk!}cEST92^;RIBLn{c z)lRvZL3Yav5{d!_KgEvqZfWF}MpU*TeZE}OQHzr*r;rdHso>H=ca-*eM)RydHww~>s@?pKHr%fuSGVVUY zwMK(7$ON|}AnK~aKb=KBh7mmDdXe+@cXDak+lBfR7RoRVSdKc6T68hTYbr{z0PD!- z^{dx84V0a%}{NM1doa_+}!Ec=1CZ3dX{A~SiggZG`VQ|N#Fbh~s&pkFr< zm1CAtLlOCNSVmyS0x+Yf9fdc07Ti!C+|=^7)OR-9P|?*7mj^!Soc(EM)-42OUI8E= zZ5RZP$F*VaW^9xMb`<^6F&qFrF;A2(X{M_bYOEnxw%~#5`BjtRaAE^97AH6ZkJQ!~ zSqD>t=}uVX<7@Temn!N$V_m#UGKOulHtc=kJ5v|L_c5o*2+n;?W=R~131=i8Dj==U z6HP@5?7tqda$4l=Bkcnc5ynPyfl&Rv<$Ts$hGBwp(xG^Et~V2&ywap$fKk?}#Ett@ z#ID>f(bugyJKKnJh5%#v_ofwIf`9=WigrP8lJeqCvat43flW!~4x~)Lj^Om8XyTNG z^rd7wvF7@4#QDs`_a>ofq&fM|Cy}1C;-k}wTn|btgHk^_PJVV7_v=nm{)pqg^*^Df zZO(YjDFJvitUHh^vVGD=WAvsRvFXiP$Q^|l`AGw(dUh4cyH0Rw#CKA{yH^aPV+=FJ zDIoTvAaot*YT>icee3@2BtRE%-oXbM=s%TJ*xr?A%q_?qj%r1ews$CRtxnn$^<^!D ze-GnQBeZIM@CSkcshx!+Z zJtPYG(^OcH0|)-zTkF0NI5thj4h^PKMcK8BF?QRQFaawhT$!>UR&N09CcQ@*UZj z9l(rts_Qg?fFKpmLMje-aB5MW1v?2llX*?%4d|)?{0&=Iu!0vR4>nWKG2)?}*_3Cd z2lAv#c684e_w7p89s3a7-b;CbBYcDIpy5Z*R4Et^Gr-SL+N_%rz!V{X^r38}M&x(L zwN{H_UCmulkV6g24bp5}dmi*(JO2O)BkNZ5^0Hk8z*PX|sNG2K=kk7CxD_{J zwTe5jM*4cdOmY*{3WuB%iqMM_sS_|zaB)zU#SxOfFzPv^AeQMx!ors(lO)n@KT3MU z%)^eft~(BbBOoWJ&OaJYD1ZxO6YE;`P%XWbj>9Y@ABI8y01ARtN!+roeOJHXQ_MRR zAPo@`DZ>N771LOSytQGeH9EKe+qfQH=iphvihS>~+l^w|)b6kA->U7xUB)*o~<%$ux32dB_-t}t6?(bZ`NRi`?Mp9VFcAx{2#QFiv zHd_%KNRs~UKuC>`LVKz9HC7EE;KeF~f>FQyRnnS!8NV_2dYm@bj~pRcwy_% z`x?~Y!%j4(xq zNd{Ize(`UwPo-qu+BA~9&k>Jt-LSTK$4{j?*L}*yVu;Bjs0H))7N#xQ>FgGb=62`oz=Q{JSW zIXRW9^$6dV4BI5gv&j&oX0Y+3_TB{4&sd`REpANEfOQ=iFW57g>2mG z)-WW<_5sX=Sz$69XS+8Y`(T1AHz_Be?V-=xTij|htPm^9D|C$qC-AC{3~p6{%A62; z8tb$zbz*|%3nYrordATfd3lrjq0SCJ+0Q=pg{@!3b#U8YMPY%tSe$!jzt)nIa%rL2 zSj{b-)S2MpicFe0tpqqRrwp@W86@BVQS^`tU!6YnSygsas%)sb&4)Q8Pi zMM^p?ndXcO5B^%F!1%&g3ikik9Z} z=HM|3dwSFe3+@@l0Y8;Bdul_q^aLQd+%i1}2CjXQ<}ejTLHU6movMh&;r%Lo(#pB> z8v~33P5A<7mQ6l#z^bVY$iW$@rP77FC!Z=tUywn_{A)eb=aZktrB{)p7(1AB&orIG zLv3^mi-_1jrgY=xh;GOE=Br)kjbnjvz7yCm#Z$X^0Ul$QETDpYDxus)e+sy0wI)|= zzXh$VlB&F{0qcS?eTThlOL1>9MQGOs3s?g@aG*FWdY`HFK9$W!14_Uul51ktNZ~65 z$QN;j`^r9K`X2uPN>XT6W$W+k?=m&GmPk<$ENL8k70Kt`r4s3KTd=&6MTih`5S)-O zpn>h)vo2(U3w2eGbE}*dL#s}A)_08MH^Q7Bb=2Z>X9r>#=Ms5T|sU=V;IP|OMC?&EwJ2 zI4!q~05Gfc10Pe(X5H#$=FQ-P97Y#tLF|76S2c|~W*dRr7XbGjF(z2ij_`y5)#@(a&(KOz|RwS^AbjWojcG(-Y z%rVJm*RUPWBZ{8p`7U(bITfB;s2b)pX@7~zs2JyrbmppE$s9LuvQDH1G8joY4T18G zD-J90M9?@PUAKl#8C%qPRH$9ttLSuI4%CgEh4rZ}WtJC4ld|q9)A39b?}1smb<$XP zh9P-{LdPJUfPw~n2RZukYQ4UoZQPbmGjRU^Schpoy9_1?z)>hNm$Jq zTw$6r+euJaM?HHV{<}@`DggfNC))m#~!uZ_-4!d zI@w_nn|b9>7!mVC8xGiG{{VcCt5=#frbO|wMj{J=3W3Ja)2HM0HR}3&ziqyaOtQ3b zBydF(AUPa-#Bs(qWRb}v`U>O4K3LmhYFfLSn%0d5q}FpYxMOV@k|>h{C^kPl4y(71 zuX@dz;@TZ3Yz-Sq!YLE@`u_l{0D5)rp5)Y;hO!$+gY3RsnqtoTu>SxoZg~KLcLGN{ zk6PySi`0tTT_gE&D-gdk0knb8nZNN~p{ZOw$|J3;4V7z{Q)yAb0g2Bej41S~s3x-0%i2a>=1Byku>)jz zBVj!{oRgk_S2L(bCFHV8f2b*)$;!vNRs%d_jxqSxsY0AnXDvy#jTIA3sY0q+@+-*Q zZRAi1ZV1|a!Qg}S?^cef<=f9@g>J7E0=Tz3xX2iH>iG8Hd((71PS?ZQgV}wWTexJ9 zGRW_Qjq!j$Ly`_~M(#(_vu!m^TU0L$FvDeRip0Zd3da~A92PxKAPkagw)gZo?7nA5 zq}a)BiF5QLqQa%3w+qBDDoGF!FQja^5Vh%xOA$Y()cm3n( zP}ykGe`RdB-FGyQEyU>Vaz;Q@$5L380C7>;*h}IYok|OZY0aEIbWy4mw~|EQ!ZF4< z!1dY&d9HV9JHCdB=~)(R@9ebLtuCk3?yl0(Q7+qW-Ns}D5y{T;#{dpH;=1`|{?bV9 ztrFJC8>dT|T@Kjeh#j5z+zS(rTw{z^nfQ|8OFdG1SRjPOZu>*XKrg`OsM<5o064DO z!|Lb4;>`V)WVUd`yr~pLie;1MVZ1N4Mo-eRtqVm-8dH;Q#;AyCQCwW3n{Tt?)+r~q zF7D*~&OrHDfFDer_!RF5EN^kBLkz^u>A#6UxG^Uz0(4WJPD#K7o|VpcgT?bts9weP z-I{!=86k*?1ZkbjRAXoxiw(!-KT2oAonpznUuiPf3pmVg8||C-VkbsS6+HALoEnE2 zdnYLkHSH{mz7~p2N=;!R3k9q@P%XM{3`>Z~W<0Uvk@VnVyL~2AwS!2tfli;)UI4l&njbeP*a*kmeW$Uxt095 z?BXUE9#Ujj{J9%yuc<2J=N#br*Czy5ej%D&F5RSrh|JPT6gzC)w=cKRNGgE#1CnaK zonaoSWT|gA*!1{ao_X~Y$vt!A#HTKH@yQ*1>!X)a{{Vz~?KHbMWO30aDq zE08tN#klT~+~G^e z{F1z6;AAafU)v3S=*M+;ZFPTYN=s{RCgfEF;hDK71h)Y6+mbSCo7X&CB9X zWk6J^^CYEE5z0iw4D~$qJ^q!vDKxp8)W%a= zBc{64+T;5l>@YZ%DP|V!yUSSBO6BwXAS#od0NtN@?%xZl;_QPQ515ReImfz`_&Ub$S=vRaDtQe840)0n6bE!C3-YG#FMvw(z$;x(g>?Ab z>CxVKsBTi?=KbAOr4Xuy+q)TxEe*RNmBdT1f~-L#k?|0Y+-xI`V*nLp*4 zk@t_ugSTq%a(f)rCan6u>-03|Pe;(^^$inHOQ(_;#+Jc}dyBaX%yFk`YjDQqcm3xPmOm-U#yBN_>(aBJ_=~FQHxJ~xoizaqZ8So7oaX@S zY=AvBfJxwEw?U;z3fv3BWA*}V<@5ZDozVj#vNrW>xo{3bqc=go>s_@SNYiRvj##L< zXmLJNn$DvvR{nhRv`(R&a*>Q=cllQ!a%-p7JU?%5r`u|`!rbe3g_2n=1DjbTj~j}C z{6rKa5rdLfz8t!w*57Bb(4m2C7F2nq%88$7<9KWn(BW`#o~E|^3E@Z8JS%Y?q|seZ zYkv17COd*Npxc(@0$L)xo&#j#id8GP#`4j2>+=XxyRy{1;cXJ;+Rd-E*R+*nSQ+9; zFuq>G6rKh$#1o#t06F7w=J3yP8%-=xv$DFy!XSBp^3Z{jyN1?3-BLX(HdVOP=eK5- zOPIyhAXi=MbFw@aC5SszhR#R;a5>FMdn6V*s=1YJ?kqrM_%rqb{j?;tdk! z>QOYL%RSY+F4!`ajSCWU*M`FIG5`afbFGY)*LwQOCsk|pQqzF)&Ry67F_VSLo;sd0 z+N>C*(=|;uNsSBYT4XXS8-62=q*7%h0fu5oJ4f9LPf^2-G_T+O0Gyu0-XL4coo4C_ zVIV@w3kcnD8ltN-ErOsZI2g`8Ph(vuwi*VL3$@H|dg~;rWREOdZgMu`lq^mg-E-Fh zr-rR9m>KUa&Md)uh}&uzn`i9jua(gct>< zY-c5u<~1EZcgA|wPCUz#v8B?y`%ks%^HU&2B9kJB5-N2ROsjFTh z(XKT}t#9=kU9rTl&eqpa1W2~2TubK6fWA)Q8f0|cj1gE~6xMEGZ#^Ua&+_h;&rd2) zNfas_1fMa$kc^Vp;{C6OivJbRB1cheKT)7}NNx;d-6h;r7 z^swBLO8VT{i^Mu+k9jZlY;fFOpxe4h5=E0ZLmt?`Qm1fIGqeIgsr*~3zk|Fy`i+Ir z*?r}~Vz)|L?64`_Dqsu;MpQz1Cw@TZiar|fywbs`UqNlM4gUaQvS?HXdxgU`?2MH_ z!O7qgw}MEmIJC__#Cmi1Vo&tg3Y)87k`0jFmT?3oZ1VF)i5mf)a7h@hn8pfMdfRiI z&P_Ct=l55-rS6w&4T!jy+#!}2h83D4l1W|`F`n!?bR5>Ng?uoYPK_$xUnAYl8|^Y% zjp=U$M|6Qe`}sJ_5(6@A85yWhowvpZDI4xkr5k6OL`P(^vn;}yq;C3B% z^t}S!=~Bib4~KO4k+1aw8#2gZjl8stIB7S`WGaInD&?>VHQ6hu+hxD?{#{N>``6sJ ztlxR_#i>NC7`V`El`YU^qedly1HcTy8HwRkeigZ4qfK_PT}Y1)_Iew{ufl`b2G8i*C3I=%etzAM3a{1$h^;QCfZ{a=Ujqtw}X66kk}`*xP-gHj!qY z{!f-DpF4p-Fd2aPvCu9D$_E!#M1kM?EEl$bBEaapGW`48o-#7Lw?KaHOq~0>i=9f& z^L?$&rjNN}ipJOzHSR~r0AMe z&U06UI(6;EtoO6aJ-8w#wX{Dy!#aSgEA9-D=W%acpktciJY%ijm<&m7ZLRGb6^b_` zvxVAAvE|qjI*bm0b{KkAttGv+%n^e#%NbdAl2t#90C?|`TfRuHpR3AIQ&0N;0ERi; zRHWk1Ti3iz3j}EH<7=NXFk`#7K3gW;%&{)gn{rNAft(LYv7_kYb;bS5NhFZl2@HuM z&LrG~3;~SbxKW$~$7<#LA9)n|MxXt%Bop7s_G>GF7;w%bP|Pw$2HmFzJGjOx(e3rS zODpFvY0Rr2Dr{pnPuLf$PjG=1l{tI1M}OOTO9%$eI{FEL#$7b5Hgt}8=oF%QG#5CaxtERA9Q7O z>+6kUThr#$Y%Fc``=c#{A|l>douFXRAS^+^0J8DtO&%_gOLKAvQZZdcfX zSk$7h0wp9XkZ0qI<}g*Kh7$#%XUv!3=iVVFJ5%%M@-sTd3wcYaP+Jpd;Hx?KyymL?n2 z)a>r{m6{Fdr@rVT0ZNdvhAIN(dIEBKlg)J6c!*t?AhgAfpKcw-n`|Ppw;+ZQ?>xMR zkN`ZMPbW32sR~h&j=z`n_Zh|#n^*q;f?#-x(k&7Q0C=q%0L4tl%VgSzb$gB6dJ=cj1ot%0djJju%585>Z+Y}0|BB$PP zuP4etT%7LcD1`YOQ|Z3mK;g`pk)U2jf20|$?k(kpbX!|%8vtRmx@@zRjJM9gS$<-` zy9HpF+_lq94b8~2OZR(<5?x$sFLP~cY8@lfUMIIg06SHfZUwgx z+~f|2(BIXicYurzHj*~2ZO$!{F8 z#?6EboB#Uws7L>5bC+?Gu zah1n4jYzjqrELvkFLzS+{3p<9^UkTLLxgaQ(1R#fIaC30kQ9KqW5{F26^nCesd%?j z^X@F|h_*gc*?o;BWElhqq}mLigTdi|?s&{`X|r5urv6K5?cVBfcJ`Wwl%f?)-!rM_ zX=ZSW23@cYG4pdCBhoxg;#Wt88%-llgn52_?2HwiPs+^52;YN@0&#(g?4?CVs!zKx zsZqNtU&yuwHfW)ne)r}Fp#ArIKgHa zI3IPo;A&Rd1lr8k5KFCHYIENiS}5X3)+4xl&g{jA>(A#~DqPKK^z#0`{{YCv&dKS& zncT%^;VmCj)Ls~Lt1V*U(q$wxmrEF6PU$0%VWdzpW6uDL;~PeC(eAuUb$nmN7P^a0 zu|(yJi#sryJa15>0%KB`QgMuWR#%2Rb)b01U%m4zEUonqB0!p!p&yuMAdTqCFacmr z9anMZc5+BGE6eMRe&S7XXmsm%Epu|0>x(Gu+D0Nl9BY%oU8O?;NIBruN);h{w{>mx z`+_oz_Db6Ap)Q@EO=*APDNW*kY)fKIykdDbTeCCeg5V6WI0TM4Ba#T|d}*cM>T#vj zg_{fb-|V*{;Y2HS51D~3dOl(WT#!%h!&Q9`P`(rCmNwodvzJe~OM7I7CXxl6$dhqF zu~_8bs3Z>jQfLmkmanN3d17R^#8Jbd>q)g``MG3qOoN~5dH`djo? z{0&@Sso8b8%J`?lacYTbwii&_pjjn`%g&5R3=JVD$W-&Oh9vYHj^K8F5b##31)Zgu zUTSwbjk`(mS#D=^b>8`6+fZc+hHN(6kf$P*6H zUEfbWrfLc@ckI6-GHoZt59L|53=u0CF11$@v&ka`CCFmTcBTTT=b#+c)|276E-hZt zTZPl^j52I?j%#z~D+vN7@EL|wo z+n2P@4O)G^`&D^uuI^b>NphN-++52uvWU!zTZPyhlee&{ejSBJh_58JmROn?!^;c; z>RHG#2J*{cHmMl<++(k;ZGUI!cGmGhXK&Fs52V%i3m0>+oL`q>xosPl?{zCH3x{8^ zyi(m<3|zvdG!3v4s_NvH$t3V|x8F6HeW=)7q~hw)Uc1sleC`jDq9^0=LkihNn8zlrtR3#GKVmd)hf6PU}Y zmf=dge=3}=Fyp6DS$2BvmuqH=Bop~FI>i%Nx=7K)q`PnnmQuw@QoxX-rZ8~4Nn?FA z@S5}cD&iNlww03Mjogw;)QNRiu2T-z3qu2dNI zk&%Emo-y~jnxAJC%Avb2ox8Smc3NC>+}jAA;%F5O;TD$}cF80mjlf`7mFOEJ1DeWT z4qaJT9X;+Yl6}qP+uW>*(g2_xsz4~map31Xp4>@qsb1db7Wk6p>e+$1S2sUqjZ#P0 z3vFT+A|n`3OpbAkZl-HqH`IJJsaxr>$9eWUnbjhb%rn6{@4;x~R^$=JLz9ed$4bha zDmgT@{{VnF${eYhaN9wm-0!utw|m#OTNIqSh~kZu3X-I9&xkMdOWSvA`K|=E4`f;-Erxi|hAcw3IUE%XK>0>$CGcX) z1gkC0vK`yQ*q^eP#~@>A0Yef&7yz6eDqROdy-{a%J4fOhRk$fMw@%XCCRD1CCgCh+ zYck;FPQldIV)jz|TCb6V=Suc6WWTl5?ISn(b=b3=yvLsA-aENfIoda5GhnL^loBvc z6&{zP*j|ZkG)-pmU~=NjM%Yk51Uy$6002SZhqY-9J!jE$`0nAkvbLH>TdO@;GZRdh z{rK1kR%~Fhg)NNm3mUH_yqc_Sq+DNW_tq-QBk5Nb-c7VC(2qEK5rPg+1De_mS)}c6 zn*P3INj)yVLSGJeK7Be{TdjF?%e_9%bQbGvZqU2Cu~mikotty>G3Nka5xTXTSDNDc z`$P{jRox}E!Jh5Bi-L{|ZaX#%?!Z>*jyl&R3r(Or3#AnB<-Lk9gk4UPNYQUB`%dD^ zyT8fTze?TlNw?GD)g`rxe-lj=#X%~{@Y5xFbC9R|&jfK3;x#SSxfFSY-;&9;VnVsZA(I1m>Mg~i)OWw7b=7u%&5Q+(VVZ!Pf}@exlP7y-_?QHB_ytOHXb2u zadg8Ow6fJDfg*-ktwgaVRpZ<990JS+8;obsu~{G6jc1|B74D%TT-(QNlQE1&>cQhC zAO})H zuQR-|TgvU_v1Z7XLF9GiMmRNzVet!Fk6ny4%S~tJC=urXsbP(dxIKx_wOBVJ!uPiK zYkcqVb5QsU%l|sUs$H4q%1m)k37TAhS|WEPM2}c3vJx2 zsxih6Sa3ypQKwBSNom~Wbtc`@HMI?1+s6JIidVi%7~b{N%W;)p$cvWX9ogOnay`MR z?S=M{sKoHZ*THny?IXC2#>mNrU`|vJa7bWA4nXy+<@j%@-*_g+O}Dg`J$?;B@_1p9 zb|ld@z}Y=A0`CL(lsBNv_Ifqk>jllHpJFYgbQjV}wy20O1c4YAVS+KhB-bomH5U~0 zyEKxMl5KQFzY*L?YHjWG-BxQPnjbVuCPj6KuqeMX0s#schB9)$N|Mu3yL)R*I`-n$ zeLu|kS6(k?%Erbkc#1mZRT z*It*_`fOJATAlP_`r+h;C%A={NlA6aQGr(kkO6EQ^0~$~#yBK5I8{n#3`rI&JKZsXVa) zH%98@Hb5IrI^(`ETN4uK z*1EN|ww$)(?U3B$%(z58T07?}mcZURWw&G;f-sVXjWmJEDq58FA0OYJ5^9mpai&;W zwe;%YZX(Ud2JdF720J+-ZPwI1dMZ2#dRIdi6k+`Eww11X~mX9 zByhVam56=CN?@>3P62j31#MDlQCzCTLKc>jX3m7BZ3mU1I0h6wh@ z^On!e*8pSY!Nw|S+-oY*6%&aej5wJ*$rXX##6AE#mdMH5kINHDxVVQ(hCM;P!=~NH z*6$pKGGPmxI_xB{Wnqv9Av$CV#k%_*l&y8DYOt)(MBY?Z?JM~sX;m)BqzrB!DxCKw zxRoU-a;}F>(vAC__NU^7w$m)GZ(il>Z$Xkbxf`PyP*pe#%I6!o>KGqdr=wiKEOJd{ zaLm?ICN80!kCsSdv<^3`ZP~NAY}GAd;y)4UTD)3Zvdc0QkIITOm6@01028+%Lmc)4 zwn(d5rJj$bTPBt@A)?yGt`ZAm4)PF3@1#{5i#85eu-Xm)z`=tb+zdQJfxfgm>BU;PYBm`ea(Yl!j@L+`#h21V>=}m zHqpy)9q`eDqB$|pw_%grpa}DS(Hp3Ii(refGCWTc^$pD$4bW4 zuZ7;D3}0k-4Av}?|fgtUi^H<{V?6cprD%SF%YuaG`Uw zM;QB|7p6Jn_2Z>gxV14_HNAz+y}b6Q9{Ok?VBUMSHf{ibxyVotTocsSH>TK0sNCBy zv9)>Nloyp`0g!J8esBQCCp~yRwY($DuX8y`9gVI1wcXY8G?Dq1U%V14u-bg!qbD7R z{d!hJULm%&)n$dE*=um6+8A5OW`)RC7{F5MI9_-lRqH7&Zgf8pBCxl$mQ-0Mw%X=k z1GAOJa2bmA;B~C&>>eEfrLij=%aUW4hGd*&j`!%G4o(0Bm9BUtc`12*NZw7^G$x~G zCY`C=TIy5%ugGl0B&W-5hwc(bUF)|#g!QYJy4cavQD?$$pjK(eZoa#4vuKJg<5 zf^(6^E1kBE<@6}8KGJWlEGLczI1EL*l1I2R=M^NHiM+9413lf!&E_;IBH@mC z+TY$EHvs46;F{gjyI0o4bA9Igu)x+)HHVgd%(2TTT(iZv631b~0m^bS*9NQVS8_=- z5iEBNE39oR!zzYC**k);&sNTTjbL2rUuU|x`#ODwSwh1ElTEh=za4rg2evwjp4P(G zU)8ls%K~j$&Hl$CPcX7Yk8Gg%R zZKg=rD3UiB`B#jP<+=4DsY`PNu)`GA_p;iS2)=wll%b5Jx`=7=;^UpnM$AT{JFN|@+e|py9Qtg<@RZud+VI2rlk&b*cGw}E_iP(@Do;DW#(LEa6?ESa>o)gtU3s!drrg}2-l-CS zy=CAN^6dbhTx9WE^IO4t7R^c+ZDL5x&=#O02RXr29=XO2JAG@J{>QMf(l2fF+sH-r z&Mu=D2+Cw2WpTz1RGq+ckO>@Cki4&Z+=*FQ+a2bu4X=px<(^AbmeN^W7THiWx+)-5 zSLdiI4tOk2xvo23@eS3Vh}UsQR&f%>fd*ua+jwO-1$Kfk4tX7F4+}P@9)+q$sK+Cu z$hM;5)B@25I1iDLfLm!NvG%Gh;!$_v2k`8-g5@mcNG-nHJk5qM6~f8WV$wV_RvlL010Ky#ndrOx?Q{A$k=t4e&rzNr`MI$9&uPA8oetvLSdf_Qj(8)t(wu0@s_k@zDvBDOlXakJ_WmOC^%k1x?QnkA8*H9P zoNU=4JQ6wNV~@hCLa-Z@u+=VR5+nIBUW;WY@2-Zs~o(^9#P^D{)( zahrRF8+HVXfHBw;inHQtIW*S(-LgS@r(ds`J&F6QTP!h-axhLuBX7NQDs4t7%YBSF z*E7>%&x-snZ>ZQ_M3<1x@CB5?9z=nM0F^jlkXxSlrf8^|Hk)H5+q6?HtH)~uz^)%G za&gWuG5FP6I40C?thFn9lYI&?E+reMjy4#>GV)hB9f;3LA@M$$b#oSts$9u_ZRcp< zx|n|Q+E9K_kKI3q4fUL*ovIt6xbGh0~f_Wn$6cfQ6 zg<7?`^KBA6_R?AjKvG<)$?}#}B^2%2Wsao9KM5T28|;K?b=VZ;T30DHftjqm|Lxl-SEk;V!BRf&7y>)jF-Mvr`RDzeVsaa4a6dmn1Jq?amWHru%OxPmw%g683t z@kh?ZLm=mXxIa#6=Ao(??XD-bot5N`W!k?k)(!y*e;ni9vox&%^;@$VM)#4Z=g1gt zM+9!ide*S;#r@=Wv0OYvEwq6=$)i#T+Hrt=6wy9dtyn_s=wd#pX&MPN4Lzn~)>zkL zXWy}-N7LcWn*24?2C40#_X}0N`YS_|})|Lq@NOCptClg}uy1)>XDwS&uo~xFge& zI{W%pNu|$g7lb60O8(;A{zALAZj-wI01yWsOmSSDw~3h(Wz?yA1D}=&tpi3+pd|GD zYoXG$3v26XEbX-P)6#2qU7|ux;xY1{#AQ#Vb5+s?^p)goXxde-r5(gY!~$Cg-EQ%a zT&_tzfa3c-nsJeGf`}Ix)7LOw%kk7R~b>n@Hqy-0@v}utzU6nQvGU$$1Tg8}2-~ z_D9Dc^&{z=ns$qM7L{_}Z7FpV0~F9k-4ONX__2U-?MVcuTexWK)V3ETi)}1>RCAc^_+*PyrgI!09BbMFdxotYs z*vdg!&A8mz8O8^Gx#`lmXm1{Ae{rEEz;>D0*#P(4PSICRe9`7ena0k|mu;`_jofW1 zVv;Zf%d~C;U?F)~xzIMIeGUPBKP1*T@>zc8BE!6j$tt4=)GKmrS zLXOy~mMM2GT6tb53OCIuARan_)czG`Mbsj)m7}*qEQJ`E6)=6 z^(VRasy6et+qZ(-S+YRtMI{FHkaI1O(k8$VE7ntifWZVh#xE zGAO^h^R)|0M$05hQP`eZM&;YC;|W+&NNZnUUd%P?mQGYhs)rq4OqA=6hR0 z>`1zd=dSFG)Qe+mt^?d}CxDT!CaYe+EW*G_w5myvj&OY{YipIaf3@|IA`2h0^v~cq zu8%`MBU&F3L8jWz4ZI>L7Xtu&;tzA*rDM-~Chf=Onm}4YdC5I0dpM()OzHd8W80`B zkJhs!-M@2nJpC$ERm$eFCWYB&5)+qJ4T5`vP!?&VVoq3`(kmU=CzJZp0nb|1D-nB( z(zLCb4K>V;eD-9@06t&y?Nnm6c}~>?n!gND+SF-vW*$9&adk|^?Y{%A}t}CI072%F>Fa~;4IrpnAYT3@xIOG~|w@{!EH+SZQ zf$miU*R5E%lrqN}jG_z=bKaGr2zer$Q4c~+DcDJsmOb67QD)qc$n~cND#};xbtSzi zKGPz$M%-thrUXrH;PRvodT_RKKqCXx9MsNck1QK-9Y#WwB@i4kcFD-V=sprqk_#d~TOY;LX^ zStJh6&(qL;6#<42c|84U3D55ejNo*rv(OT7D%F;PF9;xB80Eb)Qr%oa5L=4J*dLlh__tcmEQIHK=iZa| zUH213#bZgWboiV7et7Ae)acr3E=J6Ib*yZ}2izp%){W_&69e4QaIvPhRtV>6@${>g zI=!aIa;qZ%FjYE!HG$@?F|d7T65wC~`BL00YusxP$jVkAPJZziBA&X|z!gKulZ+p_ zD;LaSc)tIxQGg8+IOhx<}?lpTO5>IGFd6D*`LG5~Nv z83vmyOeOg;6!J6Lje^Fg)#n5%#;Cp7j!jDjqj_@XINk{O`|`L^`I^RCX&->Vp2IxS z2zL+ZO=t$3nvKj-99%@3f4Xy%^{87?ozSaZF&R1as{a6Dz{%DPp)W>%8}Ise={5mo+;wjk)A2=T8SrA z91?gxg&~j$L~KWv0UQzOO=+33a0Yz^UexSNR}6cVM`7;D4OJ0_Fy~A!Z!NL8UH86yz*9>p(q3NFFYCWao-WEQlEc zlh&lk>P+$32BvFR_U9bbMrJ+f$ukkj z;*%JHAQa(v>6(n&6#$j%R#r?59+fmwEV1k(r+NfeNY`?yUzm}BPKFTWh6e6&Rz<&; za~!3&1^Iv;)kYyIxM9UgV-%DP*Bz1^6rHz4cOR5L)<(`{p(DcmeesL$OB3PnPw_Mc{Lqnq4j7BanS+XVpB2#Bhy+p*2!#)^r1L_cb?d zkDvq)E_f_z9i~FZ7{JXmNL__Iw%M2i#&8W)g5*pw+nSo$a87>f3=nEkitCawnws9p zrr~Kfpje_|%Qimf?@t!l8P5l$Xk6NTnmloX$*7@d%dYO7C`=j;?8b@*Y=TORVypd< zMCzo2>00M-F<@nOoc;$DGQv@!7|OULXSGf2I~W2D(t3LuvvX`t0u1A+_pXBHO+{er zfqNc1)hSU@HwrO|l{@S^SjPJ}jY)nRu%;wsj#r#jvZi+AXKxj7Y2j^=kYE#>`qgs< zjM!3iD(R8EijTwp0M}X`Le3X*?R;S1R*c$lODMvOGO=)f-ckM(_^s0`7yPs;Ijr2) zf^_$(W0yC0OCVxD4= zB6L(gGvhwOx8<@_Qcnt`aaE&@jNk#4qnIpKv$gvztj0y;C?h?&s&_X}D-SGi22MR| zYgU1l+#Z|2Tz&?zw983F!45w1oPB6c>f^CIQ8d=<&Mh^Fv``pZ0P@+zvwLpL!nGa<@5U!Kvkx zz2l%AW8?6q$(ZDjgZIYTO@)d!(aCRlBOaI|G}1v!pgCeet2%@2WmOn0fNCp16_`Kq z9`#oX5;OzIQ_#5SQ8t_ATF6v<*v($Lhjd|-@T0X`v1My+pD^Hq=xSW7H4~OgbLJ}Z z$i-V*5hP04!32X-G$uK~?^a@g-7(mjeAf$Dp$(XxH2`F>Kc!rX&0v0|2Ep|? zsxVo{b!mdf1xozinEh*STGN{6ba}yys3+SML|7Y176#=C1D`;7tBkC)8&@$cqiZK+ zahx0wY1f*15G0R{y~UW7$>CV`6t86@<_YOyJn;xg`{Nf9;%Jx9ORvTn}i zmb$Y!MvEERe>wyMKQXNp(%hVrfO;Q8Ol>+yrj$wwq+=|7ewDhCGI1+4vc{;zcwvxg zHjXyy$I`Sd(X|^H(GxEb4uE=eBl#MxnslXfW?CM$69N~nK;N5 zp+1nq%V>#Yaga~*s>Z@is#I>sC-I?8G4iqz8UstUPjAYVpmhL|*V3#<5VTJ=Z@xxj zPX7Q?S8_(ESTMywlc)rA_o!J^l1S&drJc_HMh-G_@6ALBG|3)gQ|(MJ4^j`kDKu`! zGz@Q$eQCa13Xr*_-HHctEu?m&D#oQPLpFI7tQR35gNmBqGptXH23#C^jz7YdQVaaO zHjm|2AweyH&s3BTpke<2)}`hbDzsi+-2LJ*YDkqq^vd9xdl7edzzhSNeE{S6Qd^Z| zU_r+mjs8}e;kSvxbI@M=w_Uf4jTjy zz)@{sEyH}O0PIPtm#PNBFnI0sAK_YhD1tcBK$({~$vMSU?1<_ng<%(-7E(#UQUd+p zdWzF)TT6IVO0nu#A5PrVT7WQleo@(wIv({5Hzg(^-**L0PHUP{Z&K1O8#I{+jv*3( zo#gXT$qQPC{qr&sHm9%QPJ-s)+iI0=*dndTY?3hZG1jncrf8OiW5Rs0;nzNgwPxII zeX59~AKg(~H}QpUFF74JsN%PcBVwa-XX{$VT|t?VS&L}WM>r=eb60FN0IqU(D|_^+ zdd!bBfF1x)02M+cc-uWQTBzM!k$%T(Z>ZbO0zMcXGDTI@^pe)BVHr>l0lzW_laTibmRHf{Q7;K zpo&5SesV_@pQ-7Lm;)@p0#17Nr_80e>|%yDB1TV?qn1*cyD3NauFIIKgan_pO!EjL0RV!fDp?P@^~kP?HMwl`;I`^vm=%<=K3jMIeebB; zN3K09I`vmof;~nN95+!$t1z9mdB6?|6V-qKW2xeyyoz|#NPz6X+RM=7XEn(<^QFvf z8Ckm}xLQs%Y^(_ z^d*|o>KoY7+U_ar_K42L%8}1iAbj54YLR7>%3*`-_gE<6bs<=Hz&#JQe$}Bh#Hz~2 zQh?xY5VEoYdyTtrPu8;T?ypf34!S+NUQ4&dy?-`qb=YjtK>lKkb)}C;Tf%3&q?NwN^X5LFLhWC#h<;3jv->)U~&P$ztFsZTZhZlaKa? zwQ_o2iKWtIy89i(ws$56aU>Fu6@d(c9Xn?gCb_NK>N;(erPDJ<2;8AbP>etYz5eg( zSdM^!u@n{gH>lhkdv_+Yp-=T6dzm>jYuV}+vMjMm(nIE{Lm^$;f5dU=TN-|-ma?p0WM{cp*g#>F;hB1k zxH-r@Ym$;LnN>L;64>V_*m`!Z?@zmr!&+6mt!#$&S1~?V<#Ik;_fSFTG1HpPy^={Q z-=T25?#rS*MtvP+xgTVXNcd;uxh#sO9Z3N({P9S-)vS7l*r8RrmM}`sas&B82PH=! zG3rk^$E{*s_=e+B({FFDr*E~#<=ev$U8+9uCmn#t=T*EZYv#FW3joN{%O)~JBZmI~ zzKJ97u3u+pxlf_9o~a|$^gr}_JA5A~gcnN951i!SH<-YmnSzX}^vPWGu4`G;($3fo zN>3)(oc)fpOdENoSsR7>+gE%*DRw#~cpT(wq3aKdFlg7{%VRGQGQA2G5X4Y^)@AEJ!b&azNvg zUiZWX!A6s$%RIMN2us?Ob|tbA!hfLK&CCk~QngBkEg$gmo5#42-UM zaoao&yq*VsvQ}&5+~=}KeWdxCUX`Flc+qT@A#!6QI0)tWIpMO$CBM8yX~pBEhfbBG zF#;{;FDwA=a`Jq`uPcRK{ea*MSDVk`$u4|5rK_V{OK0YXS#o#oa^SJ=f=?c`Q$V(r zZ0~IDZlSj(H8^QNd}kzM(BvG~8^iM_Dfj(OpJ`^4PS!n9bxS1FF03Gq2`AeOPVP*q zp+RCZ^D6K*4m$P0HJkmko-EZa=3O;pfnUgljl`-7UZ}S zffC}<3pI8v~iQ+mtL_zGsn$Er6?p z$OVdkI@V?F-LHd8cXv8!+{q?nhAW(xa!1SNgV8cW5J293UX@hUpLr82?XopAtDB7@ zPLg|z!DON}nkXTM_tGKg5VlwYo-hF9F$W-5d*Rt`E_@}bTihS)%k4(cO%0??v_otq zTnr8em=;6oagt8z@;?mtn^C*gA=Pz4_g42Zn50wzS=B)KK~OP_t^mLrabAP{u-XmI zq)7Qu(rAhnDdhror#ZkI!8tkL0n;_fii^K3wcq{+-fu;wuh80yRhG_4FQ+2n8_Q)D zu|loo!mKvPj5)~+Wh8Xm#JAoR$2G;YR*cUgTt~f%!vf^4GnbK%9dVLN6Tq&H$sXfI z(XBk0?r&~jp7HGBUt8v{ zOSIsB8xAvrSwa?Vzw7$$YUOl|-4nzPx{Q+~W!~aI?p`B=WhAQ*NI7K$;E{kc*A-{N zS1Wtt>#KHcO6piGu3BMqQQ~&n=WZo1LK2}s&jGQXwa9Baw02jv_JTR@FOTo61F#mrq~w zJz)5&OtxR`8$CtEj9^=>%A|Jj$0FnsINWlqdUJ;36^p5Bnrh1kYs;x%nn65qz@Au< z8Mx^sD-TxG ztro`O$szk%T-~M9B!RZOh{)_gDl>p_gUQWqMd5p0D^7ywoLFC3tkI&z%OuWJZeJ&< z0GtM9!vYHMOi$Mt(w4_>pxW4L`qiI{*7DrgUuI1~rYzzeKpeP^!D_vrE?jm?J z>EMnjV~xDQ1N^~cj4m=``IxZ&5g^aZFwY!ncN%o*q{(S-b*cqhtjGW{i2N`=+A1ysU;D3?V?znRu93CZ(37-1P&!6nJ3lP-quvU2_W-l?$ct-j1 zPgO+Kh25u&~qg)3~Gubl+Q zzP|CHHl1m2JQ{2_OQmVCg?VGQmn>r?a`R8YRAQs=9Jc@{1XfO^uj%(1zMT$}bz>CI zalPfc4RIt$j7ca|Z3+V81&#uYRc{e#R}yJI@i4e+NSsF{&D63MRUqI3c=H)a&KIe1 z$OdHy4}qNH71c?7Z5Fp9OJM~1{luSTvWv`V zZdv41S9aWX#EP!Upsqk9h37Tp;w>pO*K@Ltkxf3vK9#QO`me-G0Re`~Ow;ajZ*OTD zvf9EOOUWbPumuLtI3$ogYkOMI;`?3oqe%^nFq@l8dH&QDU{o8Wbch2ZK1NxvGqpx> z%~4ySErZ2%6KWS1*I}Wvh?vzP1dO-?Az7J9?)l`}3BX}mJ|og}y<1njxF=AF^?R}; z@=SRV;wO+MMpX-JLiso$lm;fa=r^Yc9lE>DKCY zT4(rTg^H3?0lG%UGB&6rHE!CQm|&q)vn!QP zpezp2oDPPx^leh_SG~K`<&w@jt81%)Yc8jBB7-j}!8jmp3M6rk(TwLK9${sx++Az> zeeKP~)Dl3;cXZbgv`UF7R*(f500fO=03NI>Ls7me?CBEzo2%ffbcV z3Zwv~xdi&;*DR=e-uGYY@-|g&v^wt*_(S`5Siifz@gv)5M^KX5+S1w;g>F?&)s80I zT2?GpP(^S_&U97Th| z5du79mQfkw2kwGM6td)ueB2Ir0-?6BzSs2`C7J}&^w=0YR{4v9K4H0m-?T2{^RUkx9+i^%!|6JC zpIg+fkVswabgOB=xtwxInnUtiM0RHZcVH3+Ii_lN+Ji2erbA~R+OD8`sO<9RU}Y~F zFd&jbCiZvBe)Y546YS->`^x7{*_Vc=rCQ4c#1ZMT%N@M3tZgBV-r2eguse$d+}Suh zFJsd#QQOX>A88aQHs=Z9&E1Sq7eOB#LftU&5X z<2l7uYCg>002%;MXx*6<+0Un-YdkKMbgo3C0Nu) z3}uGqDhcKJLCD~qmE6ywL*iRqQ$e zrke!uMt;K^A(5mn5{2RO;-F0}|H@dPtZZHZu2^6w;F%Vfq9cQDQ* zVn$AJgMb)UAs&<=x$~CtEgMK^{>B1GUgSiJy<%nqj=4y~TOdCZz?>(SB!D zMB^vQx|j61UfSGh=^VdmwT#?7v>_!CvyHLgHh{zp(h@iioR5@Lnx4CPsI(RlS)|f5 zKt&zHBPc+bl4%qwtZ1idjNlw`Qdw&d>N=^hv6f4hP%ah$Y7rwv^AKQiRd*6FK45vz zIjVZBI?#^cH6IV&X}V_CMZfYGE0O>YENrp~{_a7Lj-w0fa7uFbkeg~cGmzGNW2kAm zq&C_O#JaAgvZQTsqgzF7X&D4&Q!20T81ukwxE)Pl_<}o~LP<4C-9l@vRz>q4N3)%s zUvKflxRB%3m>hh?clPNdhGew1v+%cwtema8tc$8Rx4KXjummAW0i5s|jyo-Rhlw;h ztu|<{yg??ZE!46Gj%#EVp_zY(7Gs=t;C@x^(1b71KgFJ1S-xND$18c_Rn)E)+}T4T zWQgOpZLvTB&OvPMJxOEkYkx-99_X9MnrP>@WpjHZjRaRLIQiR^&I$VW$ZuZ4&X8*a&0jbDuiabt{coQ|(6NBxIC%AF1^!dLO4s^Jhi6{*CAeUw&oM)h|pAI0fvhcl?!^?FSJWs95bsJhFjRaDt zj^;S+;};h|ZDAs~VtlkygwF+|VsV94O+!<)w$v>xTg->a-q68n=X|?vog^jS=6tY1 zR0RZvC9no#veACX(>>~i)n!$QbhtMN?a?I4dD3&bQp^S$Dx>bMK&Yo^r73?}l{a?O zNW3+trLE<)tjiv!Zgimxe`_%yXvBq(`k+*lsFw6n(T@Bu^73IB%pGKDNP?Ba} zv)SAk)-sH~U@L`I3R$wN@{Hpr70=n+TU+WE=5p7!kl9M@EMtZtO0;YIK@^r<#GgUQ zIE%wuX7EO#I^33;DJ4@X#uP5{(jBC)%ghHLayZ3dQZB9J`dh!5tY0RJsn_3JYIg|< z6HBIQO=?U?(=2lNfCJ@3v7O4m07?vy0pRmqaCB7E#oU(v0N6etyZcW!4>#JG0l{sN z$l;_p7(9>&?oSmwTd5luEUj11f(MRQ4Q+0G?yZ7ZSZ%;KJd($+O6K%yJv+pDhKBck za$MV785tQow7vO@Yw%<>0Zoc>=^vehW%PPwyf!W7y{qXrKL@T;lA0nqIL*Hq^oPG~Kk_4s-iMl$BKx}Cp?bZtRAQ)^?U z-kTEjBK0zJFKyvW3X$!P{y^%$)G00hHz;hV(Mto0ME==Ompytc5EJ)=60 zG`{djGJV7W2OxlRj8y(BfiEJloBk3jxTn3jYnxf%wcYlmGR8wHEP=AjxY|Yr=I0#N zSBSMQ4rvz`x+U13PaWr8<1A@8#P|{{UK@ z^R#Dmr_A5hbr~(Ri-;P|%TtyG`%Uq_)6?y#0bz(TISjbS#|2Mf06Jf7)ORnF7f=lj{}Ju9iv{6VMq zhR$6b^sDVQ`7Iac^Nr`o%%rjw&+_R9+DH)iJHwEJ0x z(|6`1SZ7@1#Hg-IbYqRY5=Oqet62DR!}CIAeR6e@9YR&LoJB3%uehwmv5pEk!tN*t zz`)IIC__aK`hEWZ*5*9Z`(Hn}klE;(y@P5Jc$(&W%Xt=Md0>{vA;{cF4I;FvPTi}t zaC4rOC95sWmv<1`hgA$@i~z#)09d2}LBZgjNC4*?@mwaO<6F&2;?e9<*G)@_9($X3 zEw{QzLCeW2?sf;~9G)<7jPuXfYsXc;TfgmD?e6Y!F>p`JiU0*<>Z2XV@4=__S-ais z_`hbFPcn?7m_&kN3oRQH?r*^vT(p0fI#V0b*&e~+Agg%wUwx~)I9kf zN!`R!#)Bhlg_~%>W63zqJu9ZM)^AofQ68mzZ)G5B>&fhz1W*(+Y)zy}Sb{dUe&8M{ z-)h&o@|@XOeVLraHI2dtU_r(kb~hKx5rNwP9CNR=tIh9Oqd3M5d%6T#oz<>`;rk6v z`%RAi_Iv5>Ci^;FTg*_ZjNx{P6;~ovWh=LWYnSoVG3us6X{cW5*SB+tyrj8wNq4G` zGB+P{AQDm6u{*n0b*kG#so2alWV*ClG?5{@k#MjpgXTmG`&rn6K1`erfMYd@9i^tJ zs#(3I-L>n0AoFFzs472&KZUWzM(mtcRI8}VpKb5=-~5ebPV1L_zsQSq<+h{Z2Yaiy zZK8?MF42qTDO4&5@_7MEFjK)fJQGmsekasyyj`Z7D|@NZ$_2M;7#n2m`HH|H9W81v$3=}I25%P={Bc=eXZxF>gYjIs_m+)HZcd9NV z-SaKMEJl3Xsv+D8W1wI`z!lX=MZ0gO=yT7S*16Q{7n6B^**CDQy{({vD{V7UPxNbo z2g=a~SB^ZA!y89ADsz!sHO955wDTsH;)r}d8lxZV`E5)?j;N9-Ret1d3)Y~!@umHR z#;5(EYc`z9#&Gv0Ms{7qF^@kX;N)${z&Jc+vMjuG-XPS!(e$fLSow&pHTKggFABNH z8?(U1N$FkmsLe+0eqXQrIm zrrUPZbon5j_TnTFt<;%yA;HMrs`(u9quZJqV7s2i-t6lZpJKQkaJRmDb^B5*n_eYW zR0JH6z{eRG#d);l9z^=Cx9_gj`;NIL_4tWF^6O!#Ew-UOmz|~Rb`WUyLr+szYOyg8JKZvRgyGw2J4%`fc>` zG_%KRs77LvRFXAV!hHV#De5w(*iy^j3(Y&nbAQC-$8T*bNq)BNB1AWx#wDDMu42yC z9;(NpnwhkvFM8Hqf3I?(9TK+YM7ktvV$s8>G12FQx+#fT0N?COA_YPTB&qq1NIgNU z_`E$HnGC{BS!LcpiG+_F1dI@+SoI_Ww2}97(AS{qmiN}iXf-V(PMXq1VJY(_nPre; z1UOKsCbiH3vhSGUuj#yQ! zgxOb#N|Ok{AL{~^M#rJYCysi@MY($biS7WPr2nl0nxl;4^pZ2Li3ds6(UpcUiedL-t$9M5bZ;yi1ON@JaH| z*UUbZ#ha-$oljGJQp!0|E@g(+RE!ot9fo%=&9r0;9D~qf6zI`%oTn|nuk$8#6k?*f zon?fdW!KhQTL8*HHNU%KY;A?Si)*;Z3k5(!k&+JY@vO_Q5`V%wWWhCPQSW79Elh6F zh?Tffn{ZBZ&t5vzu-ZpuuG{JfWFwB=alYV80GN}>A3&pw{{T9}xzg^ny+`fW3v#xo zL5b$FaH>DLjJY@;On!CI7{*ffwz4yA#yW0#L}unM1!+=#?g{TD`(k+|^64Uw4_v1R zKb#JxX-Cd>WicQMv2x%Jt0vWOMo(Er>uQbbBSDN!i3l+?8K#HKWG7ZV) zDvnBwbCZvH$?!RQI}4lrLR~>+n&d(*EgT;~XzMSDNXoIX~*}{sGs_ z{nU2)ZmWFSd%<9a{7E^vorpV-ZQ2PeI~<&PkSkkG3w*G~BOhgx%TFcb`5133MtcGi zJ-s_tG|!|qo#Kfh)NaB@G|+gHx{ znS&#q8zX}m!N>$=xb(Kx^i5HgNkN9&2wd8d4+a=v(8FNS7`x3D~D1s#&grZHH!C9 zh~d4`p6VM&REe!;iJIa7#D-F*=4HWQxC4QaU9pcn-+$}+?sLhg*>*ZR&0gb6ux0XB zRk?HLrKj4J{!b$byQD{z}ksCTj4h44rtXxpD$bv2)=Lw9WA<_H@4%4Qp{kqOG4cLn|q zjgig>BaZ!appxZwIjTvwba(nCtc{?|7Sb!DaPpb$$Puud?fF~`5uJdHbB66y?S`b@ zeZ-*|NpWkKmNbpVM$o4lqvMm*@z_=+kBnj#jAgti^GsSsFV-0TT!GPCXCM)V#yBRE zMDY%IOjQYbOaVXKf4SPnId0^XXq?)MjHW)^=hR zww4$q+ic~OE1VPZ;FdY(?yYkAGHQ|Pv*>czrJb8El=o4>M)oX1%3Nb3t9lx=d{l|z zJ!(N`b2CA5(UN7%a=C7(r-UIvI0xp&JJy%l?yuI(rb}z4k8&B(E})a;x(-xjHv^vN zM_O@Hj6LqdZ8>Ss%7RPFpAN0Ys*xE*;+swJgDih30G>OXV?AlQ!JA34f+%8)+FTYZ zc(IHEK@X5K^Jh5EOpI3UhcgJ8eMV=nv{~9^X&55FHV?c91Fz|k(y}e))3kdhwi@lm zpzgclQ8arB2> z!8{(rHL0Xu$!+0XUgqX<>l~3=A(lr7cPR%uNG?j8;G7IrB-+NEEO1Q#mgQ~tCzC#> zwGSUKI}l@V>~WseJU8~1UIe^sLB3nVUe1-_dzTsWO(`7@ z_Ed6f?W-L!{^DP>Gp)k0*aFGJJ_Z0BZ3ob1v8}9hwbo>oMzquJW=2^T`$9H$-OtVe z1Q2=YnwP{n)z^ob-$}kQ!=_zAzHQJSD3fvA4nFdzBP*Vykz=f=~2<4IoqB% z&T6I4i?s=2TT6tF8*G($=3U(T7SA7zb$b~!qkW8hs!g`HJKqKPd;1SvO-91^7Pk;h z9mTbqdB_Qjl8oE}Hw9(j^d6b6D^k3$@fM+Sw-&cac+7WPD**06>c9?9`&=KbPvMKl!+q{>68usInS z&mh-36~~%d-dIiIF9Dl}RsQm~YS-?KEjG(O0!8~owkxR1s6~%4GP#8Z zt7jo|_fNhEu8w~YK9X(j4Xw4}oyxE>c}Ww0bb*cB;Ry9;2RB$M;wa z;=In)-ft*fNFfYxA0IgMAa@l$o2lMf%PUxyjZgaN8HhqZ+8rvL8%LHbBUN9SqqCkH zVP`dr^1(5NQ!TLrKOrQQ7&!p`hwE5(nuIoRnBo28lW{28a;iC1=dVA=RxR$VEn#Tl znXV*e&Rl$|J*zRbOQzt=MnAeSTEd&^M5ekLX{=r;5yU2C2R=v`AAl8ONAYahUal_6 zvJeP6n~-}PcO#1D+Ib!KnH-+Gv&{{e2oIJgq3>Ecaca#FrqjAQ*nDYkW^cqLkc%>K?85;M_kle~^sZvhN?9``j-n+5>|=*NL0YiOG(tAB zfgz20ODco<8p+a%*wIy!+|rg^LHAirAKKI%f>c5q1EELjkJ7a)G>4AGWW%Iz#BLS; z05y<(LED;&*Hpi24?V8rn4_vXxC8)tVz22}QM7k9^2{M=BXt5M1Z1fLBer-3vwAC7 zz4b9IFQx>-WLwK%rw}mvp15wqy>zTp|NQhWJUzZ3F&}I5dhQm+rx7)tS4xM*^ETAR3FuBY5Iw7wtK_lK1BKcW*-Ai*6=?-Qvhgjce&UX>e;|8(x z{{R_km+((+lS^kZIKsS0&p8WyGr8HRRx_!D!HNW<;g@B4E6_PN= zsp@l%xUDTt`|MG|*J2`Je=VN%zF>2a*q?0Fo*~yGT~XHl>4dRPepsL+su%1SDEy8p zwx?@ymkSa^)5ueNPXWP|M^J=iTaIu!tG62BX?D#Mxt~$D+OspL^I=2K1|04k3GKkH zr4_n4+@7hFA5PPBd!H*&(%a8S%Y}&MAi!`-3~oI-QCYE|)bG&Q>YifBAP-@3bDluK>ze3L?n{;S8fJTjcalbFHsCWK(x=jh^Ibyx<~JGk#S3d3fNgLG zw>0r;kq|_fW5({8rq-51PRyk#ci2xP4ZM3+hMj8SM%x*70CGk%?ViGfx{4ElB0<^+wmOPu~g@v9da z!MJVlv59wWDi84Y6@?@Xy9&FX(DnUkUMX!nvg77%cIUNEB5zg=+o2W21I=xjE1n7O zPH0QR8V)g>{Y_7G5HT#NC=59%j%tsb#OFD!(lKnkXzy&UkIZa85Jy8$x|zmZmv%n* z93QO$btrh}=}KJ!;{<{SQ&(lU?#R*sgPeOF)TpR(ILNE8J*k9=2N~d#$TbDj&=evi zO#0%BqAW5A6)+oKYRgV}bzZu&Uq_ zid9C>N}I8kB_y57e*#5DXL1iC=}G01PhdKlYXR#;!qy(L7RWD;uQf8phpeFEo}ATO z0CAdj6amc$4Moh^gKT}y*UwR2&Lr(fwkdcEs?Eon}3PAX5(Z|qx zQH9AhB_dBbmvG5DhAF0Jex&}u4owqc&6ad_DKtfI_ z^a=zt0u+y01bL?#auK*^r2t3e^`#Mm-lp=3+xe%VZJ<qZiqd`IL%+RvyW4>ngB>}M4){-(!I4Aiw)6Eqbhoew$VW}e<9k(psF_! zh+L>VieO?Y_t=r=Gn$skfVqoz05Ct&pmBpq z-kpVV=CsP%wcf_cEQJ(~>Np>utm3sX8;K{WrfsB<#(;B=(w&dOlrAw&D^9{gw!?@8t0OF;J=O4qxN9B*DIa6pLb4tUxXYE*qRSSk-27NiI!I&Pjr4BjiNEf-O zwT4``pJ*&kK9wGz@wCcFe#YQPa zg=&~1UI^hZHUP~om`9pMI8aSyERJ!s@tW4LfQxedG6<}hL>H2x9k}2gwVgcXVo-F? zO47Qr56C{16}75)fPtDwb}Cuf`KGf^E$6>VcMA+?(lQkGtCm+tj`$t1 zQOjapCX{kE7vPrk7990(~iNzpHwtMESHI~&=>rY{tkVaN3 zLHtb{6Zz7`e6wec6k%&ct+NacqvnoJEdK!CH4Uzm9&&(j*ENHZdzO)M{r=qZ6ypuJ zegd<rT}c*3J5eTtgTo0Vu)uFf{n!Gg_^ z^K9K#dv{kshAML4A^*OCXvNRg9<+!~o+gu211pye%EjBkty`5Te|i zW1Llsq*)_EKKD~kn!>R|QBB*FbRZh7rXg7ucdcqhf?09xii+kD1E^l53srMzVOV9= zu)3Bt?Vc(Yv+|}w!-36c+QQEu&l_sB>#^CMyFmVwTvis`2AVQ@3d=~msR$j|pVqIW zq)8wj!&Aklhq&C|bgpUM!`xYI0?4b5M>(uXl*b(T;BO218tJBVG6TTKtZTb$yvPPd zOVJq#qB~wvJai)z$$sEZL4oa7ER**{<+Eqt(Z{<_VZHCAlMJDwcS`=Et&bkD93bL?>KwnO4M$R3R0)48ykdtwY zW0OweAk!i(c&^-o&-1ERF%cuT`&F$N@}e7h@+t+iGZH&>G}9%cCu;(u93E?0!%p*U z0mm%F^H+wNflv@K1!!18v9ibfIigbph~Tm?$2rGX$MpXI3eJ_!ospah>2BFYpi#zS zBR`21&qEkwc0a;L>roedL6Jinw8#KB1%I7wY~2Tz+~5&U)7B!Zo}f~1Q6bMAO+@uB zB{`GNEuIS|e-VHyKKYAA2^lNbAEj)T0o^#_socOBTzb}K%VQeNn5r=u+Cd}nsBYlf zadj{7yB7S<{{UXJ9s?9WDB~QOt14zJ9&=TFK+4(>vE_;8i)*=A0DVa-s zGn%N;k*rC${{R~{KN_@^#dl&miB!tq4mzri^-5CrC7FpQ6|pv+0~4HPPCbV;3>L~f z;=eY?$^A$8*2+r8Z4~t|qf?v?ibDP%0BM&fu#890`t_>~Yvx>;9OOG>{c3BQRR_&% z?G;?Yv68^A2dz3togZl#HD+R`_llyD>UNeWi5O&Er{A6`lercn7OWR6K&0{j{xMOP zC#w=_by%7ZaCeTiT7eUwQgGmkO`{pjOe0V;f@*N0IF+^my>dN8D}h55sij)I#g?It zzECPX!O!x|Lkt_=a}4v-6{|GD+Q`8k7jVmZ)XDTiMQt}uQ>ojwa~WU{;xSd&#|F^d zj&KDvZX`to7=nZled@RdNd`&e(zEJ2_B3@FhRnut6srDXHIUM~Hzu@1254kCz*Yv3 zq+^V8>qKmUky^xwN`yFZz2}m87DivD%9%RzEDqpYJ>NOBc*gN zBPLdtPhca@ObWSa3dH+41Z446tV1y>=RaDt6@nQ_ImsB}rc$y6xmf=IrG_MZ#mF@b z@rJqFvEUFodgGeZlFg%05~k2cE$iu1SlRhYwa6s!J*yV%Xh~~ihTKe}VZhI^s*f<- z0nSHyyFJi}#7Zy+HBM`Y;hlg0rZ5d;lWye>F^OSE0B#3ATFFbTuO>M8zs9Y;qCQm} z2q5F@#bw>ZP!he!HMAFTNVILEyNt1K-Yx)NT1%}r?9y!ezyLw^Jt(wKCM9BeoMY0o zZ{}9=)SgNJe=}NM%!FeDv9M0jRv>a;ImoKFR_rAN=M?031OO?ua*dlwipU#04_dh; z{6PqRn>-QeS(fp##h+18N`=q8VAa{G*tTJUa(uVi-t`sGHtYb-0PWtH3~d13MoHuF zt!o=)x{=QxcQ`(kE!cLs2AQv)FKh%#2pnU#TF!Lxq#M`f^sVlhHZ-mv^RA-|cB%|0 zJurFAbUI{dBuf(lLaLl8;Qc-8pNdAB?ik3TJ=@&2co0g<@5N46>e1eRI~J`%qMV5<;Mzt--A~vELEjm2h#9)Qab>qI7o* zfxta+&38i5FnSi`kX$MG7B@J??zEN`b4@G4B~%TMn35HF=OU8A%`Yy5(n?|*hSYE4 zK7ymOySvl;#gR*-ibmjaJ%62Q)3Zp6>TBy(Ut-YWzPEIj%eXevVY7zX3bs86&px%z ziC=fimR+T@^yJq`ZFLpil_^zLEQ8F9@w*(6^~P~o`evFZxV(jAjZvXy1m}Qp$@IYM zQ%&;4sSaAZqL7eDw(A8%P!$XQ(as0czu{SX$ZW43p4HH6U|Qd`lF9|V07s3dEI=7z zf6o<4_fIT$D=8dcfx!f3w~UulJ2$BgpQtUAo4^6j0#Gu@JAwW^Ygz6kj@8}OWfNQj zxSkoY!Tc)?Eb+LsfGUm01GR4H(|OT-o#9~$mXtm?9C7&ZS=CG8MZvw9Qu5@ql3;>N}L|uzf)E2>{dNKZ!JWzND;E9lwe5wI5k&G zcC@>Hm!K-^>B!^p8LZk;gGjY?E0^vy>wwp8=X7%sx-?Kuc>B&lJ-zDHo}y&aKFM`* zw)TNbI!1xYDLeqjlarnYOw{_Wj~%@7JOIYB3?L_=AN_CC)ys{d!$S=)zpUs(=loZTW~DLHZ9$qXne0$|YHnBwRU= zcz*Ddgz;@>+@y%q6d^sS2KxY3{D}Fs!7Ll%8}@Og<6LG z@+FO8XJ{uTDItI;Gh}_n>=&Ub1~b>1;fv(EOIy1ed|h-qjYn3~v{>P=b~D^)Iy^IG z5+sFWeVoKOStVw3^O3bjDhcMis!MB|%f{68i4w{W|0*VCsaxYX2xU%axZc~>A$BL>Lmb}vl({#Aw%Nk;b7 z{{UZ^b>y6^bvAR06otf5TeOg%x3zrSBY;ed^IJi zGux!HLlv}f$bLr;xyE{s#X!dZ5)W$1ag?mq<-$oFMyactFA`s0X_E_x?c)|uE;u_Q z19M~h#yz7Q6;DFd&-kNdwzF;G3p;@&h>a&mWN;hLAgU%k02v*y8mnvGGZ1)=;HZk? z%md}L3_xYaJv!u^A8}N)>)kQ5XMy61YkPZ-J~x{rNxWf)JPct-1RNdRYe-UYw3_K} zkxolkq4W8_+m{y>w$j~0EJ=2V#|oRUWZcJr++)}t!#$DlHPrLznl!iHY0`9*N$w)v zw)T*eJJKZw8@_G}zs$tslYv~6wzHT{sjSNuou}L7lTC;HWy$KGL^2c}rQe)%tQ-Aq zO-kR)jstI|h9P(XOA-Cvg!`Q1^s03IrI&B(@AM^4mh9;7bm(XCO}+Ka-L9i|c_R7p zt;(blWZ}MJ%aRXVW9vbB(ExU;D#Mq@Y!8TZT6DakfzXc_tG4kfuEGQ#!qlKFx!Or zIkijm8uz2kZ7ys_G?u;{7Ls2*<;c_s+ir^lU!TDi3G&CB%dueV~pc>PB_n6>GYj4?&rgo7Ldjamy$c%M{SuT@?%VVfqMWLk~r&= z&MIvm!Z%jZTiQz{zL1fi`&z5-x^>RfiQIpy40ypH`mYt8IYtgweSfd=DrwHv9i!;_ zW`|{OE~N5JX>Trm&pH%axtT*GWt6iK%zOIbco^O?lj-es9;vD7I(d-D}p9&icDr%ctpDTup0ZEx<*V_CiY^DIbW2ce$4g!=`hz z3{MWkz9R7a+NPxoYj10I@!4sKxI$!jg2e5}`4FoTPv0X4Jl2l?02H6~{eQvOPS;6) zU)S}ya@x;LveC4wl#S(zGS>@hoC%3yViPgst|M|33=ncq{XyZ_VZ}>`V z?F*Py{I)35vDnME=3q`$csbk;09Ix5n@J_OgUFSvY@oK1 zJw8w>OML@XlEX+gP{{g<%`ln47U5n(7(`jQUbxya$0s;B#|2j1n|9Yr`ai?|0nrO4 z)w+JDtk+xY?k^Ngt6b_ci&WF}_TD7>p-^M^wkIJ^8Oc0iqrJK|=`5%0b81U8am>Md z>stl`8&MB4N~1l5YIz%v&02qGwbCt~!%J&zO8#ji7g8cOnJla_=@Kv9Kmk(k*BR+t z-m;oywv}rY)Zc6dFv}D%7K?sP?=xWvHsO9<+>#3uz#3Ecp5ND@6VYDd=DxkvZ!B%% zlHjm_y3Hbo4yw$5c&9mjFbEr0BOPk=npB!}5b75<5yP!RX)L1Q0S^pHyO_ZdZWs;9 z7>u(K(-}Ed+Voa-Q(a9xrKm_&1oLiAO6PIJaU*R5AYd@<)~4{#it_odQV8DO>c-^~ zvoQ4yMm-AUErdeOc*m43i+S@~9jeW_ zh`~JMsKyU`jmMx=eJG)>hJH1a#cCBL`lc`+Y!D;2+ z@0@_i^1}+ZEXBqPf)EYFui`6a&R@1ecc$CwHkxjkXK#||u81dRjF&(@>Z<&mGnUEa zfE`n-$rhuz&lvMbUt;!;sx68QGsBTf81u6==}@vxxCsVm-nt8Vz>w=SuKQb{b{NKwu{Vt4|){{T$WZEkFC7T$ER)8>&zK;J&3 zLbDK~BWy^1X3jYoB%Ui?)LzM9s_F?Sv9)`dp_1*&fgP*>d50$)Ni31Z2XnY~HRe`a z?WNU!SN{Mn_+zr0X?)Aq+SR!66nc8xEZ6Wnw>pffHpd*9JG{~f937~!jNk=RmN>1= zQ&qRoG`OL7{QY7pRhZgJg@U^&C8g)&3O;Oh0OSS0I6CAo+jyH*zqP-D!WCFGtE;wx zR7eD{iBN9nT$g>S2|NG*%Mr)6v!-kR0Be>D+sjQ7Ta}t=CbB^#(-H(pAP>2aY|oaQ z9CA-k>B2Q*8N2MdcP>(JZ6mw4@hq>d-d@R+vaqx)9Y1;stcC2+P+Y6Nu5Jj^VkVrbLQQ+qXAfJ~w$tNbet!GKJ)O6prPA_fkNrL1T*%Ycg zqN6H1l{>SZgaA8NAFgToevt&zHLcaXlQIp_Tt+02FwQyovFvvL0J~jycLgTa?8dJ% z(d>&FM!gn~ZFzAvy769J2XcrSQ5s|x1waZuYydk9*H_{1h+1~DtIuO3BT$o2B4{C# zOGxrEGnYpUKwa&Y9Yt`rHyTEtr(9Vb0AI~*u(U??l)HW777<46o3}PQoOZ6u;fII( zj}+Qpe_>nLY7xHa%yP{P;6XB^3VvGgcjX z%GX$iVPmR&vF?b5VKjHP@(A39CNdO|PI4Hr=sOCNQ`CRa#-C+*q*%4Yrf4msg{_0L z5`N={br@rft^hp;HHD}6>e9mZQn0qRu+yz!pX|*%R?JY`^1K%;>^@Rh{Hg~#Nyc-u z&l2lecE4q9tcb0W?pU_j+QSqdNO1l&@ zF$ClcmH8tCr~r^nadx+NhfLC@p5>yv@g4Ni+j(-7WVcy%Gj8XGATD{xE;{0~Zmyfe zUNzTl?;^90Nz<+*NM(`^94{mR!P|xm+~n>9zY!WTy_?Z5_#c^Ws#^E|0Ead-N#oFT z>0Sh|@b$jK8GRQ_wn@k&%HSRc%Np~Hkya(YjA&QaZg%PS_pz!h5i=}sTf}CY z1d;NM=r{Le73Uh~i7b3cZT_1L>{@a=n=uUDT&#qh^0JjGOP;Ps;cz-vvUpd*wzrx+ zq;D0?&7PZY7@cJsVLoQrW%C$g3P@etjD^|{Ijt*FjW(xOcK-n2{&psvMYdo4~aOI28+Xr{fnl4C4j zY&P*6%X7VXAf3t=JYkLjHIr$f-0E7K5-s#fmzQHdX8q!%SqIDGYOe{ifODJ-C<|SU z^bp52-Nn76pJKmkc^4%TIZ<2hVUEzBC?U9P9QOoq*Q*=d>woL|^g1ciZ4@q}lTf~i z)GDNj8@lY>=6|EcHmNzlQcHZhi8#$+O(oWytfUJis-ncw+{1Oqc+&-gq5G?xF=O+S zj+|Av^=(3He=5gNg4Ex%aN9tu=D|73uEp9LaX97q+q8h)20Gya-wua_QjXPY9#!?mD_6yH0ZP^^UKPpcnfyp&l zb*XLbC1uq03)l!?Z*9^SPH~))4&H=(_$MZ~?L%6zo*TKNwkje!Zf!-JAqEZviHv8S zy>M`O2ak4*7c1Mp_0#h_>a~(f`u$H%)4WY27Pk_|cdBc*1YuTtl8jD37~HBk&mD2s z9V?wri4y7J_{(W5w#hh)7h0UANoGGV+S@_-Mq6omfRb48EXqb%!tKW3Fgj(q>E4#d zLeunncy#M2?o#N+Z{|x+-N?#QE4;Sis1qkR$uGb)(HT;;>9%vpPwk^$!#W0|V`Jip zBGlp3?Nd#W{?~7Gsg)T_5wsOKWhGw(4sqVN=(NamJ9fUA$D0hXvdbjvg&>kycsXN$ z0sL#!J{>*1#g4GCSwS7P7TG4eK@?K45;kSW@EmR2-!RF^9kCCE^!r_JR82$eT5Y^$ zDdy5=flcEJKfaEYGyWZ?YXyqeR|5*rhv+uYnqdSQk=^WHED zp<8bm3|X0(f+)ZqSvkohcyf;|g|p^i3M)RM(7etlp?4E-lel z&H`ehD9%VwT0^*wIO&`UZ;CFZ)3n=I?`2zQ8c?ZcZ1OZ^*^0DE+_NxJz_xM~U9bxw zsMVsfp5s^4?uM78Xh8jzHF6hCj~H2FP)RZ$l@)q}mOPM0o?dv) zAvP}IwL~!FvFJJD73fu>rF9)w`6O||tBXzl09u^VMRBT4p;}7bWRbM8n2}yNWmcG# z&zFF?4V;{kcbw^~+(soU8uofU!6ZH>*;eshJ2 z>P5=LPWA>)nH`2l@S55%a(uk5+W!Ebezz2+qpkaYUx5@pCAHV|y$Z`wy#ci=g_cS0 zt%J!dVYU)jWU>3hJQ3TB*I(jYX4=mBeP_$Dp7HLB+nYEVIHQ3ZY;v@ce(FG=1V9&V z=>GtV2Rz1$r6-6yO`|hu^IF4Yr=#OCT)+sr#i19M=K4m#(YR)&}MPYdgo7K-RrJE-EmW|(evXDKp< z18FE90~}-)^u|ZSeFAL<#upl{rE}z6Y1Xdd4a}7r z;bV!}h}|o<%E3v)Gj1I!-;TUOwp!ipp>+Yfxw_KXEMZI)Yl-BRRVVxC0L}+2-d=l( zrK^jN4%un`AA;~*YF2iueD?*^HR|IM+u-ytsa8?dmw!D4d3b1ZQ?}pN>3{0Sby-?> z{=cv5sZ}-h@idpMcV%z(%gdymMGn&WZ5%;ikCU(;-lSkC!iMz()~~^@5Y4Qu=71+@ zp^`~td(aXvFHtu{slXUw9y}0o2qzdA^R*UQPk|oFE0zA!)NZD|k&*X#cEF+`Tz`4P zo_YX1MQr$H;KQQFeEwuN8zsBB^3!QaKGSUu@$0+GV!n(>>0MQ6L)p8nFJ=9HM?7aP zb?AD1{pr&@0b_A!`|LG8Hp*|``2$T>LAzt)aw_B~r<;KNgGm=9N7!iZi4$tDAq;zd_OOo~rX3}q9E2!!7vnspEJd!%8 zQ^69m5xXCGJu8>-q;Pm|#1UQ~xbklNyK76YHFlVS?T#k|aO<$C2Rw{t2Ds=pr53u~ zuRr)FMNMMw{{Ree+Iq*~%OP{D>lQLft1YND$nrJJZZOEo!Fpg2-k@Z2S(=5#rj0$r z+D9g-deIiQyS!i{nl|pJy};~FGBJ)RFXhlR8D4TsGsPb1qP(yrP;rJ(kDZ6~`Wm4n z#e|ms0KC*!?7)))TUdOkdxiOi2d;bbUgT;0r`O2yT(q)1hr(B|_=?|6hU(AzTHfbP z`&^c?A1pd=Xc#kt@+jN54ui}071Q~Tu4yT&!+B*cgJrTYd3PHmF~TDXkuoUxcLGRJ z!N|d`e^a)90(cVbG{}a%sKscSc}Nb|4I{JcWn7XKWD=4I`J{w#wC9xZ507T>Tsl>T zn3l;Tws6b2Rkow-0g;NZZMh0LBx7zzCcJe=+O_PpyZk?|>7CxuM*RJcON}DcbOO2! zk=Ji$W(f|hvdYv*N{Io9SzcDb4VEKt;4e{G@#=T_Ji4Ho?$+Mk!7k)$NUgrcnN}S?H^9Jg3`((C~0B5nrAXxF(t^r+kw!i1E)&G(rcbRX?^xz*4@n`C8P5H z05ST8t3QaWboaQ_-K35;cWG_F5fg%=c1{-r{G*?njyS6p7q?y>_-C)pBP@4|5i1Ru zSwn+>3NjKxkU=HAD;n!v(dY1ey~X~80@w?N+ay|q*6kw@0APcDa;N}Y3@Y{Jx^E3% z+fQls4KGff!}m%-OM>z{9zI|}AOrpGK4Lr3RdPe&(LXMaUZvA~($VX0GmP;^#65dL zeJ;sN*Ot=h7BWmHAVVXV6dWGd7zYQEITa?O<7hldadV;TR(fWwr$KPWG-%{Yh^6WB zG&m=o2m=SH&ssITPs2Cb&Eyw}9o#Xv^0dRKe9^Lvqhl&~y^Yr>xt4KDFEthz3(Wu_~! zHrm-!Xd^gQF-+z+MmhV-*S>LzlR(gHVDUw?cKVK)6{5v`aqC%)w;F8yj(! z!5nd1Wrmdcg~IB$6Wv{EcJ3upDOsdxNf;*#$0U;2{{Up4TDPKDOJOgIHA8Xa$sL@K zTgM_F-HBvXCm-FzHzfC~sSa4lMqXbxr|Y>eo!V_3--vu*x>dJ|^+!jyxR-Pg%<^VW zF{O<_3NVTQibgpMPTtwBKgQlU)UR|666a0St|9wib20)?m;1&6a@jZ}5;^2!p$4@) zQ{v4A-VHL>#JW=JGR~36ZUw_2jf844%NP#BF5GU(^@~YZ}y>lW9NmDEK2()GVM_bt}2$OO>2T zJhL;Y!i1C{?gNiZf^*uX(mXk=Y8P6p8g`BSoqZLrcLed?G0uaESFa{2I zuTZ(sPM2+aHm9xK>e;zw5L+`tWf^BeQ1T3ps-SHjFRwr=H&wmSJV9r7p;~K@w3gAy zbad$a)Q@?~JDsXoimpfsan~ai%&`lZ@~!vn`Wm`Vl_vJsi$bu|v|ke3-p&lSdIT_e zNh-8<0mH}Sf?o_sY?1&9zhhb`g>=2hYN@DPj)?JOX=)>27puxNdKx`#0Fq^5v&Ue%BM1 zLAxI}4B2-3y!6P)t{U}S<#*-zemb+NlogX`@_26U^~v3?W=p$>VOjOnnS9G@lOP$| zpYz#r6l@^%BLEua?(KA`Y=!rRwJW_M!a00~wlBBIat=Jk2Pbw89E={E5sLJ^U*X=Z zVKJOsq*1y%{gIX7Rgu9C=4Ma{!Q+B4!0FFFW#A1{P}BtQ$7*jRSA|j;l4ZFYe(aq9 zTx7Ez-LuVl)Ugz;erqr5qyCqn!#Z>7i989e3vDA)x7KXGw&0y3jKY$OX&H-wyp)ZL zk(JtU*PQWIbvxH#N?DGqAPOVAgz7s9db}T1~dgR>#is%1Wx^sB8zp zJr6ypx=@mpb+=D9w%(!bB&|=ceR3u2M}l;$EAUM`dm8Txza_$>3Xa?;e;}1XU=fZu?1WEyH9$rb*tEYrrp~9>iLX7I3ddMA z4S3y!y1AMN$CRa|e910&!OsH#jP%7{xzuiL?NZ*-_5_^UB#SNH$Xh=#O`%Bxw|sZa zW~tXlh9@#wyw~@V1Rik6G4jQf1I~CE6)}TXYRc@^O*<#p=sX72`j?9$(r)hy$t|m= zmZZt$6pXgfo*9nb=dK5GM&+C~+E0r7FW~JzO4RkKG~i^BzS2fykcXGd^4BD;6@Ks- zUc8#E@OQ%?Yua~-E*eWq`x#v&w_%uzl_6wYbAgk&PdVFc3M;UkYzce+>(lmr>|`1iHV}mfjn! zM^IaKg2|TadURE0m7RA3xSVGg6`kP!02FGMcST@|D`o~c@PxSVH- zZPuf04uhkmt+$(EZZ{>ersjj?W0JVb5C%a|0X=XHWoYRxm3eumrP#Te9X3^(>09M9 z%bcA50I~wFu@79Fm!~GyxBmcub#vNLvp4)rt=>P2FK+a^pdq}POWVx~VxR|^{KZ)L z!-e1Sx61ru6*B7jedKpCPYkwFM}u$}5JIp4cZ2s!ZU8q-j&acW{{X}w@pz8vC^0Om zgs!6u8Z}duAYgAy41>FaipqZ-L3eo^ z#bdlz1X+e=jhZrWGIC0sk_kd^LEwX$z_!(`bsJqqT`y9&(k@^}mF%a4yk*Jxm=rss zVCRj4qk3kQER)4+1FggpMEH4I?Pw)}ZU8AJ2UCpsiZ~peGg?N9O}YO7U)PbFsj`XD z>vwux>#APpvw2d+46$!Ae(`zgy>JFHgdVvDxq+lZVR4@hY6f4m@@x|1!EiEi3Ip=D z)lY6#s`!IX@ji*ENp}|OlXlAKZ!ZPLa!N2bJgz=gILD=EN2A~CD)%?KV?DgZrJC0I z-P9`*NmZ3`wDrS#b6dh3k-s(9_0Y<5=61E2Ec%7r^DU2vG?*on6B6F6e>y*1w3g>W{v%rmuyermzgt*jWV<4|d%BrI}I8H9t_GlF^g_N#>_d#kTON}{&9m2dn5 zeWK42{{U<0v%xy)sw~an3VadR4rh8;aW5L*2-d7n!VFO%tIYfX6>Fj1z!4 z&stjPOCu8>Mn{O{F#tou|cbbh$D|b1M=* z-8>J#*F<^hX(xY?gK>_??C!jAsN3srYo^)tc;dA*{{S5A zvl?~%j8VqpDKkR2cm5VAFnPugJ@eYOj9hf&xtnWy*sbDSa?u+{ypBmAxw+Dyjh+Lw zLaQ>6JB*a;^{j>QlN7mm?BTgBh`iJuRDpe&a0%dYL9MM@TeH2li7#wzqc*Whu58Ib zfJoaw3>)tg{{W9vI#z*WuW473+gfTC`wVVgTXkr{k+4A&|pp(tm2&vY85)xmh0=J5aE}&VLGan*Jj2-RyT38e3b!hXgA5sVbh*bMpc- zo}Yy~LHsZD73b9%_nK|YGl}$twvkBA`xa*4_GE5H&bPe+8N?-uPwF4L&8Y;I^pf^rV!jlcF79F*;Dw|@wUb? zZ*#EIbnQ0#O^u3Owd9ZTHsHA9kcv9z^rKGG?Jf%5TE(*d)!e6?apn+yQb!*!=kgx4 z%IJ@7bt_vu%IPe-x8ns)-Z9S{;<~*-n^SAIf?Q6HvPCX1K?LJC?8A>{QCZDfsZe)h z8b!_PSu}Uc7O$fX#zdd*Mtu>-Do%JEJ*h8rXrh+lO*&hfFSFaR7T1Ft3ji=5p~iZU zGgmIJH0T7Y3qt}(1oKW#U0-$-ZRy`X{;I+k?{_Wh+}_J_w{B86oNwSTJC8gMO3pF7 zxsjxwyJmCkYR@QH{IJY2S~4^F3fPBHI%b--cP@1+GIz&oAi;$H0DV~Ur1}mIaazxy z=~2jTBEH`Wzm(Y^C~!XMZsQ#BRBz^CWpGNW$V4rV*ROt*@6<_jIQy$0?;J41@uH4eQSsVvGpNb6kAQj*ZxHom6DpL=hn-8H=S*P4WK zWe=1{kLozdt-TWGN|#cKFR{lGGh;VJn;GB&dUMBW<6B?7yo_vNZzO!;6#y0be_GDC z*Jon+m86l_a87GC2PNierOM9p#WuQbzce@Ze`$%HNh}Fme&$3!F68XHNa^Tnh`qCw z6}0cK)}zT$5Y;&q})aUYoUUZ{+qFAP zTE;Dk$Z|<{tQnsf< zZKD4GW*fCK#dz0$xkx2;3+1;b=24Kt02<8kev@}+5H@#FycZIJv8V*82mwrwz4iR@ zSkicl~OIs$zwH29M7v_Yq}%${^odC(U*DhR>n@~qC2_A{KX1NBi4Jr6ds`CMHvnfu2{MeK_r0 zB>I-1w@o(rLbPGX8T;75{c>s0>pGL#z^?L;GJ#}_k(}2|sHr0u)w4%#x`vXmlPFzrN6+W?O4%Eggo);BDle z@0BNm=teMV#m%0Jb9a4rG;&6=#6-{|hHwcOV!oLJn&B4G#{U3ORX37BGLnJZWlyIg zrCPhPn@rT!dt09-bRoRy0UNmeMk&fF`Vyt4rmn2f+JO>BX<`EIjv2q!l|2}f$@T!z zS^BJPs#V4m~tB8>ZECvVTN|FBU-x`qQN6aK>>y_z zrlq@THK|mwq{*qK8(gcX�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�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