From fdf3e1e602b80c232c50845479d5a968d5a46ea6 Mon Sep 17 00:00:00 2001 From: denis Date: Sat, 6 May 2023 20:40:02 +0300 Subject: [PATCH] first commit --- .bowerrc | 3 + .gitignore | 43 + LICENSE.md | 29 + README.md | 60 + Vagrantfile | 88 + backend/Dockerfile | 4 + backend/assets/AppAsset.php | 23 + backend/codeception.yml | 15 + backend/config/.gitignore | 4 + backend/config/bootstrap.php | 1 + backend/config/main.php | 58 + backend/config/params.php | 4 + backend/config/test.php | 15 + backend/controllers/SiteController.php | 105 + backend/models/.gitkeep | 1 + backend/modules/news/News.php | 24 + .../news/controllers/DefaultController.php | 53 + .../news/controllers/NewsController.php | 148 + backend/modules/news/models/NewsSearch.php | 70 + backend/modules/news/views/default/index.php | 12 + backend/modules/news/views/news/_form.php | 31 + backend/modules/news/views/news/_search.php | 33 + backend/modules/news/views/news/create.php | 20 + backend/modules/news/views/news/index.php | 46 + backend/modules/news/views/news/update.php | 21 + backend/modules/news/views/news/view.php | 39 + backend/modules/profile/Profile.php | 24 + .../profile/controllers/DefaultController.php | 20 + .../profile/controllers/ProfileController.php | 166 + .../modules/profile/models/ProfileSearch.php | 71 + .../modules/profile/views/default/index.php | 12 + .../modules/profile/views/profile/_form.php | 40 + .../modules/profile/views/profile/_search.php | 35 + .../modules/profile/views/profile/create.php | 24 + .../modules/profile/views/profile/index.php | 57 + .../modules/profile/views/profile/update.php | 25 + .../modules/profile/views/profile/view.php | 50 + backend/runtime/.gitignore | 2 + backend/tests/_bootstrap.php | 10 + backend/tests/_data/.gitignore | 0 backend/tests/_data/login_data.php | 13 + backend/tests/_output/.gitignore | 2 + backend/tests/_support/.gitignore | 1 + backend/tests/_support/FunctionalTester.php | 26 + backend/tests/_support/UnitTester.php | 26 + backend/tests/functional.suite.yml | 5 + backend/tests/functional/LoginCest.php | 44 + backend/tests/functional/_bootstrap.php | 16 + backend/tests/unit.suite.yml | 2 + backend/tests/unit/_bootstrap.php | 16 + backend/views/layouts/blank.php | 33 + backend/views/layouts/main.php | 83 + backend/views/site/error.php | 27 + backend/views/site/index.php | 53 + backend/views/site/login.php | 32 + backend/web/assets/.gitignore | 2 + backend/web/css/site.css | 90 + backend/web/favicon.ico | Bin 0 -> 318 bytes codeception.yml | 9 + common/codeception.yml | 15 + common/config/.gitignore | 4 + common/config/__autocomplete.php | 33 + common/config/bootstrap.php | 5 + common/config/main.php | 13 + common/config/params.php | 9 + common/config/test.php | 11 + common/fixtures/UserFixture.php | 10 + common/mail/emailVerify-html.php | 16 + common/mail/emailVerify-text.php | 12 + common/mail/layouts/html.php | 24 + common/mail/layouts/text.php | 12 + common/mail/passwordResetToken-html.php | 16 + common/mail/passwordResetToken-text.php | 12 + common/models/LoginForm.php | 79 + common/models/News.php | 47 + common/models/Profile.php | 95 + common/models/Text.php | 78 + common/models/User.php | 213 + common/services/UserService.php | 76 + common/tests/_bootstrap.php | 9 + common/tests/_data/user.php | 14 + common/tests/_output/.gitignore | 2 + common/tests/_support/.gitignore | 1 + common/tests/_support/UnitTester.php | 26 + common/tests/unit.suite.yml | 7 + common/tests/unit/models/LoginFormTest.php | 67 + common/widgets/Alert.php | 76 + composer.json | 56 + composer.lock | 5183 +++++++++++++++++ console/config/.gitignore | 3 + console/config/bootstrap.php | 1 + console/config/main.php | 36 + console/config/params.php | 5 + console/config/test.php | 4 + console/controllers/.gitkeep | 0 console/migrations/m130524_201442_init.php | 33 + ...erification_token_column_to_user_table.php | 16 + .../m230503_111312_create_news_table.php | 30 + .../m230503_151339_create_profile_table.php | 33 + .../m230503_151354_create_text_table.php | 33 + console/models/.gitkeep | 1 + console/runtime/.gitignore | 2 + docker-compose.yml | 38 + .../dev/backend/config/codeception-local.php | 11 + .../dev/backend/config/main-local.php | 25 + .../dev/backend/config/params-local.php | 4 + .../dev/backend/config/test-local.php | 4 + environments/dev/backend/web/index-test.php | 27 + environments/dev/backend/web/index.php | 18 + environments/dev/backend/web/robots.txt | 2 + .../dev/common/config/codeception-local.php | 16 + environments/dev/common/config/main-local.php | 43 + .../dev/common/config/params-local.php | 4 + environments/dev/common/config/test-local.php | 9 + .../dev/console/config/main-local.php | 8 + .../dev/console/config/params-local.php | 4 + .../dev/console/config/test-local.php | 4 + .../dev/frontend/config/codeception-local.php | 11 + .../dev/frontend/config/main-local.php | 25 + .../dev/frontend/config/params-local.php | 4 + .../dev/frontend/config/test-local.php | 4 + environments/dev/frontend/web/index-test.php | 28 + environments/dev/frontend/web/index.php | 18 + environments/dev/frontend/web/robots.txt | 2 + environments/dev/yii | 24 + environments/dev/yii_test | 28 + environments/dev/yii_test.bat | 15 + environments/index.php | 68 + .../prod/backend/config/main-local.php | 10 + .../prod/backend/config/params-local.php | 4 + environments/prod/backend/web/index.php | 18 + environments/prod/backend/web/robots.txt | 2 + .../prod/common/config/main-local.php | 17 + .../prod/common/config/params-local.php | 4 + .../prod/console/config/main-local.php | 4 + .../prod/console/config/params-local.php | 4 + .../prod/frontend/config/main-local.php | 10 + .../prod/frontend/config/params-local.php | 4 + environments/prod/frontend/web/index.php | 18 + environments/prod/frontend/web/robots.txt | 2 + environments/prod/yii | 24 + frontend/Dockerfile | 4 + frontend/assets/AppAsset.php | 23 + frontend/codeception.yml | 15 + frontend/config/.gitignore | 4 + frontend/config/bootstrap.php | 1 + frontend/config/main.php | 50 + frontend/config/params.php | 4 + frontend/config/test.php | 18 + frontend/controllers/NewsController.php | 117 + frontend/controllers/SiteController.php | 259 + frontend/models/ContactForm.php | 61 + frontend/models/DataForm.php | 40 + frontend/models/PasswordResetRequestForm.php | 69 + .../models/ResendVerificationEmailForm.php | 61 + frontend/models/ResetPasswordForm.php | 67 + frontend/models/SignupForm.php | 80 + frontend/models/VerifyEmailForm.php | 52 + frontend/runtime/.gitignore | 2 + frontend/tests/_bootstrap.php | 10 + frontend/tests/_data/login_data.php | 25 + frontend/tests/_data/user.php | 45 + frontend/tests/_output/.gitignore | 2 + frontend/tests/_support/.gitignore | 1 + frontend/tests/_support/FunctionalTester.php | 34 + frontend/tests/_support/UnitTester.php | 26 + frontend/tests/acceptance.suite.yml.example | 9 + frontend/tests/acceptance/HomeCest.php | 21 + frontend/tests/acceptance/_bootstrap.php | 16 + frontend/tests/functional.suite.yml | 7 + frontend/tests/functional/AboutCest.php | 14 + frontend/tests/functional/ContactCest.php | 60 + frontend/tests/functional/HomeCest.php | 17 + frontend/tests/functional/LoginCest.php | 66 + .../ResendVerificationEmailCest.php | 83 + frontend/tests/functional/SignupCest.php | 59 + frontend/tests/functional/VerifyEmailCest.php | 68 + frontend/tests/functional/_bootstrap.php | 16 + frontend/tests/unit.suite.yml | 7 + frontend/tests/unit/_bootstrap.php | 16 + .../tests/unit/models/ContactFormTest.php | 35 + .../models/PasswordResetRequestFormTest.php | 59 + .../ResendVerificationEmailFormTest.php | 85 + .../unit/models/ResetPasswordFormTest.php | 44 + frontend/tests/unit/models/SignupFormTest.php | 72 + .../tests/unit/models/VerifyEmailFormTest.php | 55 + frontend/views/layouts/main.php | 86 + frontend/views/news/data.php | 32 + frontend/views/news/index.php | 20 + frontend/views/news/one.php | 18 + frontend/views/news/text.php | 20 + frontend/views/site/about.php | 16 + frontend/views/site/contact.php | 45 + frontend/views/site/error.php | 27 + frontend/views/site/index.php | 52 + frontend/views/site/login.php | 41 + .../views/site/requestPasswordResetToken.php | 31 + .../views/site/resendVerificationEmail.php | 31 + frontend/views/site/resetPassword.php | 31 + frontend/views/site/signup.php | 35 + frontend/web/assets/.gitignore | 2 + frontend/web/css/site.css | 103 + frontend/web/favicon.ico | Bin 0 -> 318 bytes .../web/uploads/image_2022-11-19_16-48-34.png | Bin 0 -> 82079 bytes .../web/uploads/image_2022-12-22_17-22-19.png | Bin 0 -> 41018 bytes .../web/uploads/image_2023-01-19_19-48-33.png | Bin 0 -> 97194 bytes .../web/uploads/image_2023-01-23_21-38-25.png | Bin 0 -> 316386 bytes ... экрана от 2023-03-01 16-59-46.png | Bin 0 -> 518596 bytes init | 356 ++ init.bat | 15 + requirements.php | 155 + vagrant/config/.gitignore | 2 + vagrant/config/vagrant-local.example.yml | 22 + vagrant/nginx/app.conf | 77 + vagrant/nginx/log/.gitignore | 5 + vagrant/provision/always-as-root.sh | 12 + vagrant/provision/common.sh | 9 + vagrant/provision/once-as-root.sh | 74 + vagrant/provision/once-as-vagrant.sh | 32 + vagrant/provision/provision.awk | 70 + yii.bat | 15 + 221 files changed, 12262 insertions(+) create mode 100755 .bowerrc create mode 100755 .gitignore create mode 100755 LICENSE.md create mode 100755 README.md create mode 100755 Vagrantfile create mode 100755 backend/Dockerfile create mode 100755 backend/assets/AppAsset.php create mode 100755 backend/codeception.yml create mode 100755 backend/config/.gitignore create mode 100755 backend/config/bootstrap.php create mode 100755 backend/config/main.php create mode 100755 backend/config/params.php create mode 100755 backend/config/test.php create mode 100755 backend/controllers/SiteController.php create mode 100755 backend/models/.gitkeep create mode 100755 backend/modules/news/News.php create mode 100755 backend/modules/news/controllers/DefaultController.php create mode 100755 backend/modules/news/controllers/NewsController.php create mode 100755 backend/modules/news/models/NewsSearch.php create mode 100755 backend/modules/news/views/default/index.php create mode 100755 backend/modules/news/views/news/_form.php create mode 100755 backend/modules/news/views/news/_search.php create mode 100755 backend/modules/news/views/news/create.php create mode 100755 backend/modules/news/views/news/index.php create mode 100755 backend/modules/news/views/news/update.php create mode 100755 backend/modules/news/views/news/view.php create mode 100755 backend/modules/profile/Profile.php create mode 100755 backend/modules/profile/controllers/DefaultController.php create mode 100755 backend/modules/profile/controllers/ProfileController.php create mode 100755 backend/modules/profile/models/ProfileSearch.php create mode 100755 backend/modules/profile/views/default/index.php create mode 100755 backend/modules/profile/views/profile/_form.php create mode 100755 backend/modules/profile/views/profile/_search.php create mode 100755 backend/modules/profile/views/profile/create.php create mode 100755 backend/modules/profile/views/profile/index.php create mode 100755 backend/modules/profile/views/profile/update.php create mode 100755 backend/modules/profile/views/profile/view.php create mode 100755 backend/runtime/.gitignore create mode 100755 backend/tests/_bootstrap.php create mode 100755 backend/tests/_data/.gitignore create mode 100755 backend/tests/_data/login_data.php create mode 100755 backend/tests/_output/.gitignore create mode 100755 backend/tests/_support/.gitignore create mode 100755 backend/tests/_support/FunctionalTester.php create mode 100755 backend/tests/_support/UnitTester.php create mode 100755 backend/tests/functional.suite.yml create mode 100755 backend/tests/functional/LoginCest.php create mode 100755 backend/tests/functional/_bootstrap.php create mode 100755 backend/tests/unit.suite.yml create mode 100755 backend/tests/unit/_bootstrap.php create mode 100755 backend/views/layouts/blank.php create mode 100755 backend/views/layouts/main.php create mode 100755 backend/views/site/error.php create mode 100755 backend/views/site/index.php create mode 100755 backend/views/site/login.php create mode 100755 backend/web/assets/.gitignore create mode 100755 backend/web/css/site.css create mode 100755 backend/web/favicon.ico create mode 100755 codeception.yml create mode 100755 common/codeception.yml create mode 100755 common/config/.gitignore create mode 100755 common/config/__autocomplete.php create mode 100755 common/config/bootstrap.php create mode 100755 common/config/main.php create mode 100755 common/config/params.php create mode 100755 common/config/test.php create mode 100755 common/fixtures/UserFixture.php create mode 100755 common/mail/emailVerify-html.php create mode 100755 common/mail/emailVerify-text.php create mode 100755 common/mail/layouts/html.php create mode 100755 common/mail/layouts/text.php create mode 100755 common/mail/passwordResetToken-html.php create mode 100755 common/mail/passwordResetToken-text.php create mode 100755 common/models/LoginForm.php create mode 100755 common/models/News.php create mode 100755 common/models/Profile.php create mode 100755 common/models/Text.php create mode 100755 common/models/User.php create mode 100644 common/services/UserService.php create mode 100755 common/tests/_bootstrap.php create mode 100755 common/tests/_data/user.php create mode 100755 common/tests/_output/.gitignore create mode 100755 common/tests/_support/.gitignore create mode 100755 common/tests/_support/UnitTester.php create mode 100755 common/tests/unit.suite.yml create mode 100755 common/tests/unit/models/LoginFormTest.php create mode 100755 common/widgets/Alert.php create mode 100755 composer.json create mode 100755 composer.lock create mode 100755 console/config/.gitignore create mode 100755 console/config/bootstrap.php create mode 100755 console/config/main.php create mode 100755 console/config/params.php create mode 100755 console/config/test.php create mode 100755 console/controllers/.gitkeep create mode 100755 console/migrations/m130524_201442_init.php create mode 100755 console/migrations/m190124_110200_add_verification_token_column_to_user_table.php create mode 100755 console/migrations/m230503_111312_create_news_table.php create mode 100755 console/migrations/m230503_151339_create_profile_table.php create mode 100755 console/migrations/m230503_151354_create_text_table.php create mode 100755 console/models/.gitkeep create mode 100755 console/runtime/.gitignore create mode 100755 docker-compose.yml create mode 100755 environments/dev/backend/config/codeception-local.php create mode 100755 environments/dev/backend/config/main-local.php create mode 100755 environments/dev/backend/config/params-local.php create mode 100755 environments/dev/backend/config/test-local.php create mode 100755 environments/dev/backend/web/index-test.php create mode 100755 environments/dev/backend/web/index.php create mode 100755 environments/dev/backend/web/robots.txt create mode 100755 environments/dev/common/config/codeception-local.php create mode 100755 environments/dev/common/config/main-local.php create mode 100755 environments/dev/common/config/params-local.php create mode 100755 environments/dev/common/config/test-local.php create mode 100755 environments/dev/console/config/main-local.php create mode 100755 environments/dev/console/config/params-local.php create mode 100755 environments/dev/console/config/test-local.php create mode 100755 environments/dev/frontend/config/codeception-local.php create mode 100755 environments/dev/frontend/config/main-local.php create mode 100755 environments/dev/frontend/config/params-local.php create mode 100755 environments/dev/frontend/config/test-local.php create mode 100755 environments/dev/frontend/web/index-test.php create mode 100755 environments/dev/frontend/web/index.php create mode 100755 environments/dev/frontend/web/robots.txt create mode 100755 environments/dev/yii create mode 100755 environments/dev/yii_test create mode 100755 environments/dev/yii_test.bat create mode 100755 environments/index.php create mode 100755 environments/prod/backend/config/main-local.php create mode 100755 environments/prod/backend/config/params-local.php create mode 100755 environments/prod/backend/web/index.php create mode 100755 environments/prod/backend/web/robots.txt create mode 100755 environments/prod/common/config/main-local.php create mode 100755 environments/prod/common/config/params-local.php create mode 100755 environments/prod/console/config/main-local.php create mode 100755 environments/prod/console/config/params-local.php create mode 100755 environments/prod/frontend/config/main-local.php create mode 100755 environments/prod/frontend/config/params-local.php create mode 100755 environments/prod/frontend/web/index.php create mode 100755 environments/prod/frontend/web/robots.txt create mode 100755 environments/prod/yii create mode 100755 frontend/Dockerfile create mode 100755 frontend/assets/AppAsset.php create mode 100755 frontend/codeception.yml create mode 100755 frontend/config/.gitignore create mode 100755 frontend/config/bootstrap.php create mode 100755 frontend/config/main.php create mode 100755 frontend/config/params.php create mode 100755 frontend/config/test.php create mode 100755 frontend/controllers/NewsController.php create mode 100755 frontend/controllers/SiteController.php create mode 100755 frontend/models/ContactForm.php create mode 100755 frontend/models/DataForm.php create mode 100755 frontend/models/PasswordResetRequestForm.php create mode 100755 frontend/models/ResendVerificationEmailForm.php create mode 100755 frontend/models/ResetPasswordForm.php create mode 100755 frontend/models/SignupForm.php create mode 100755 frontend/models/VerifyEmailForm.php create mode 100755 frontend/runtime/.gitignore create mode 100755 frontend/tests/_bootstrap.php create mode 100755 frontend/tests/_data/login_data.php create mode 100755 frontend/tests/_data/user.php create mode 100755 frontend/tests/_output/.gitignore create mode 100755 frontend/tests/_support/.gitignore create mode 100755 frontend/tests/_support/FunctionalTester.php create mode 100755 frontend/tests/_support/UnitTester.php create mode 100755 frontend/tests/acceptance.suite.yml.example create mode 100755 frontend/tests/acceptance/HomeCest.php create mode 100755 frontend/tests/acceptance/_bootstrap.php create mode 100755 frontend/tests/functional.suite.yml create mode 100755 frontend/tests/functional/AboutCest.php create mode 100755 frontend/tests/functional/ContactCest.php create mode 100755 frontend/tests/functional/HomeCest.php create mode 100755 frontend/tests/functional/LoginCest.php create mode 100755 frontend/tests/functional/ResendVerificationEmailCest.php create mode 100755 frontend/tests/functional/SignupCest.php create mode 100755 frontend/tests/functional/VerifyEmailCest.php create mode 100755 frontend/tests/functional/_bootstrap.php create mode 100755 frontend/tests/unit.suite.yml create mode 100755 frontend/tests/unit/_bootstrap.php create mode 100755 frontend/tests/unit/models/ContactFormTest.php create mode 100755 frontend/tests/unit/models/PasswordResetRequestFormTest.php create mode 100755 frontend/tests/unit/models/ResendVerificationEmailFormTest.php create mode 100755 frontend/tests/unit/models/ResetPasswordFormTest.php create mode 100755 frontend/tests/unit/models/SignupFormTest.php create mode 100755 frontend/tests/unit/models/VerifyEmailFormTest.php create mode 100755 frontend/views/layouts/main.php create mode 100755 frontend/views/news/data.php create mode 100755 frontend/views/news/index.php create mode 100755 frontend/views/news/one.php create mode 100644 frontend/views/news/text.php create mode 100755 frontend/views/site/about.php create mode 100755 frontend/views/site/contact.php create mode 100755 frontend/views/site/error.php create mode 100755 frontend/views/site/index.php create mode 100755 frontend/views/site/login.php create mode 100755 frontend/views/site/requestPasswordResetToken.php create mode 100755 frontend/views/site/resendVerificationEmail.php create mode 100755 frontend/views/site/resetPassword.php create mode 100755 frontend/views/site/signup.php create mode 100755 frontend/web/assets/.gitignore create mode 100755 frontend/web/css/site.css create mode 100755 frontend/web/favicon.ico create mode 100644 frontend/web/uploads/image_2022-11-19_16-48-34.png create mode 100644 frontend/web/uploads/image_2022-12-22_17-22-19.png create mode 100755 frontend/web/uploads/image_2023-01-19_19-48-33.png create mode 100755 frontend/web/uploads/image_2023-01-23_21-38-25.png create mode 100755 frontend/web/uploads/Снимок экрана от 2023-03-01 16-59-46.png create mode 100755 init create mode 100755 init.bat create mode 100755 requirements.php create mode 100755 vagrant/config/.gitignore create mode 100755 vagrant/config/vagrant-local.example.yml create mode 100755 vagrant/nginx/app.conf create mode 100755 vagrant/nginx/log/.gitignore create mode 100755 vagrant/provision/always-as-root.sh create mode 100755 vagrant/provision/common.sh create mode 100755 vagrant/provision/once-as-root.sh create mode 100755 vagrant/provision/once-as-vagrant.sh create mode 100755 vagrant/provision/provision.awk create mode 100755 yii.bat diff --git a/.bowerrc b/.bowerrc new file mode 100755 index 0000000..a39b5b0 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory" : "vendor/bower-asset" +} diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..3cafba1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,43 @@ +# yii console commands +/yii +/yii_test +/yii_test.bat + +# phpstorm project files +.idea + +# netbeans project files +nbproject + +# zend studio for eclipse project files +.buildpath +.project +.settings + +# windows thumbnail cache +Thumbs.db + +# composer vendor dir +/vendor + +# composer itself is not needed +composer.phar + +# Mac DS_Store Files +.DS_Store + +# phpunit itself is not needed +phpunit.phar +# local phpunit config +/phpunit.xml + +# vagrant runtime +/.vagrant + +# ignore generated files +/frontend/web/index.php +/frontend/web/index-test.php +/frontend/web/robots.txt +/backend/web/index.php +/backend/web/index-test.php +/backend/web/robots.txt diff --git a/LICENSE.md b/LICENSE.md new file mode 100755 index 0000000..ee872b9 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,29 @@ +Copyright © 2008 by Yii Software LLC (http://www.yiisoft.com) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of Yii Software LLC nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md new file mode 100755 index 0000000..68d0841 --- /dev/null +++ b/README.md @@ -0,0 +1,60 @@ +

+ + + +

Yii 2 Advanced Project Template

+
+

+ +Yii 2 Advanced Project Template is a skeleton [Yii 2](http://www.yiiframework.com/) application best for +developing complex Web applications with multiple tiers. + +The template includes three tiers: front end, back end, and console, each of which +is a separate Yii application. + +The template is designed to work in a team development environment. It supports +deploying the application in different environments. + +Documentation is at [docs/guide/README.md](docs/guide/README.md). + +[![Latest Stable Version](https://img.shields.io/packagist/v/yiisoft/yii2-app-advanced.svg)](https://packagist.org/packages/yiisoft/yii2-app-advanced) +[![Total Downloads](https://img.shields.io/packagist/dt/yiisoft/yii2-app-advanced.svg)](https://packagist.org/packages/yiisoft/yii2-app-advanced) +[![build](https://github.com/yiisoft/yii2-app-advanced/workflows/build/badge.svg)](https://github.com/yiisoft/yii2-app-advanced/actions?query=workflow%3Abuild) + +DIRECTORY STRUCTURE +------------------- + +``` +common + config/ contains shared configurations + mail/ contains view files for e-mails + models/ contains model classes used in both backend and frontend + tests/ contains tests for common classes +console + config/ contains console configurations + controllers/ contains console controllers (commands) + migrations/ contains database migrations + models/ contains console-specific model classes + runtime/ contains files generated during runtime +backend + assets/ contains application assets such as JavaScript and CSS + config/ contains backend configurations + controllers/ contains Web controller classes + models/ contains backend-specific model classes + runtime/ contains files generated during runtime + tests/ contains tests for backend application + views/ contains view files for the Web application + web/ contains the entry script and Web resources +frontend + assets/ contains application assets such as JavaScript and CSS + config/ contains frontend configurations + controllers/ contains Web controller classes + models/ contains frontend-specific model classes + runtime/ contains files generated during runtime + tests/ contains tests for frontend application + views/ contains view files for the Web application + web/ contains the entry script and Web resources + widgets/ contains frontend widgets +vendor/ contains dependent 3rd-party packages +environments/ contains environment-based overrides +``` diff --git a/Vagrantfile b/Vagrantfile new file mode 100755 index 0000000..3940bfb --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,88 @@ +require 'yaml' +require 'fileutils' + +required_plugins_installed = nil +required_plugins = %w( vagrant-hostmanager vagrant-vbguest ) +required_plugins.each do |plugin| + unless Vagrant.has_plugin? plugin + system "vagrant plugin install #{plugin}" + required_plugins_installed = true + end +end + +# IF plugin[s] was just installed - restart required +if required_plugins_installed + # Get CLI command[s] and call again + system 'vagrant' + ARGV.to_s.gsub(/\[\"|\", \"|\"\]/, ' ') + exit +end + +domains = { + frontend: 'y2aa-frontend.test', + backend: 'y2aa-backend.test' +} + +config = { + local: './vagrant/config/vagrant-local.yml', + example: './vagrant/config/vagrant-local.example.yml' +} + +# copy config from example if local config not exists +FileUtils.cp config[:example], config[:local] unless File.exist?(config[:local]) +# read config +options = YAML.load_file config[:local] + +# check github token +if options['github_token'].nil? || options['github_token'].to_s.length != 40 + puts "You must place REAL GitHub token into configuration:\n/yii2-app-advanced/vagrant/config/vagrant-local.yml" + exit +end + +# vagrant configurate +Vagrant.configure(2) do |config| + # select the box + config.vm.box = 'bento/ubuntu-18.04' + + # should we ask about box updates? + config.vm.box_check_update = options['box_check_update'] + + config.vm.provider 'virtualbox' do |vb| + # machine cpus count + vb.cpus = options['cpus'] + # machine memory size + vb.memory = options['memory'] + # machine name (for VirtualBox UI) + vb.name = options['machine_name'] + end + + # machine name (for vagrant console) + config.vm.define options['machine_name'] + + # machine name (for guest machine console) + config.vm.hostname = options['machine_name'] + + # network settings + config.vm.network 'private_network', ip: options['ip'] + + # sync: folder 'yii2-app-advanced' (host machine) -> folder '/app' (guest machine) + config.vm.synced_folder './', '/app', owner: 'vagrant', group: 'vagrant' + + # disable folder '/vagrant' (guest machine) + config.vm.synced_folder '.', '/vagrant', disabled: true + + # hosts settings (host machine) + config.vm.provision :hostmanager + config.hostmanager.enabled = true + config.hostmanager.manage_host = true + config.hostmanager.ignore_private_ip = false + config.hostmanager.include_offline = true + config.hostmanager.aliases = domains.values + + # provisioners + config.vm.provision 'shell', path: './vagrant/provision/once-as-root.sh', args: [options['timezone'], options['ip']] + config.vm.provision 'shell', path: './vagrant/provision/once-as-vagrant.sh', args: [options['github_token']], privileged: false + config.vm.provision 'shell', path: './vagrant/provision/always-as-root.sh', run: 'always' + + # post-install message (vagrant console) + config.vm.post_up_message = "Frontend URL: http://#{domains[:frontend]}\nBackend URL: http://#{domains[:backend]}" +end diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100755 index 0000000..0515d35 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,4 @@ +FROM yiisoftware/yii2-php:8.1-apache + +# Change document root for Apache +RUN sed -i -e 's|/app/web|/app/backend/web|g' /etc/apache2/sites-available/000-default.conf diff --git a/backend/assets/AppAsset.php b/backend/assets/AppAsset.php new file mode 100755 index 0000000..7494859 --- /dev/null +++ b/backend/assets/AppAsset.php @@ -0,0 +1,23 @@ + '/secure', + 'id' => 'app-backend', + 'basePath' => dirname(__DIR__), + 'controllerNamespace' => 'backend\controllers', + 'bootstrap' => ['log'], + 'modules' => [ + 'news' => [ + 'class' => 'backend\modules\news\News', + ], + + 'profile' => [ + 'class' => 'app\modules\profile\Profile', + ], + ], + 'components' => [ + 'request' => [ + 'csrfParam' => '_csrf-backend', + 'baseUrl' => '/secure', + ], + 'user' => [ + 'identityClass' => 'common\models\User', + 'enableAutoLogin' => true, + 'identityCookie' => ['name' => '_identity-backend', 'httpOnly' => true], + ], + 'session' => [ + // this is the name of the session cookie used for login on the backend + 'name' => 'advanced-backend', + ], + 'log' => [ + 'traceLevel' => YII_DEBUG ? 3 : 0, + 'targets' => [ + [ + 'class' => \yii\log\FileTarget::class, + 'levels' => ['error', 'warning'], + ], + ], + ], + 'errorHandler' => [ + 'errorAction' => 'site/error', + ], + 'urlManager' => [ + 'enablePrettyUrl' => true, + 'showScriptName' => false, + 'rules' => [ + ], + ], + ], + 'params' => $params, +]; diff --git a/backend/config/params.php b/backend/config/params.php new file mode 100755 index 0000000..7f754b9 --- /dev/null +++ b/backend/config/params.php @@ -0,0 +1,4 @@ + 'admin@example.com', +]; diff --git a/backend/config/test.php b/backend/config/test.php new file mode 100755 index 0000000..411b05f --- /dev/null +++ b/backend/config/test.php @@ -0,0 +1,15 @@ + 'app-backend-tests', + 'components' => [ + 'assetManager' => [ + 'basePath' => __DIR__ . '/../web/assets', + ], + 'urlManager' => [ + 'showScriptName' => true, + ], + 'request' => [ + 'cookieValidationKey' => 'test', + ], + ], +]; diff --git a/backend/controllers/SiteController.php b/backend/controllers/SiteController.php new file mode 100755 index 0000000..d7c7b68 --- /dev/null +++ b/backend/controllers/SiteController.php @@ -0,0 +1,105 @@ + [ + 'class' => AccessControl::class, + 'rules' => [ + [ + 'actions' => ['login', 'error'], + 'allow' => true, + ], + [ + 'actions' => ['logout', 'index'], + 'allow' => true, + 'roles' => ['@'], + ], + ], + ], + 'verbs' => [ + 'class' => VerbFilter::class, + 'actions' => [ + 'logout' => ['post'], + ], + ], + ]; + } + + /** + * {@inheritdoc} + */ + public function actions() + { + return [ + 'error' => [ + 'class' => \yii\web\ErrorAction::class, + ], + ]; + } + + /** + * Displays homepage. + * + * @return string + */ + public function actionIndex() + { + return $this->render('index'); + } + + /** + * Login action. + * + * @return string|Response + */ + public function actionLogin() + { + if (!Yii::$app->user->isGuest) { + return $this->goHome(); + } + + $this->layout = 'blank'; + + $model = new LoginForm(); + if ($model->load(Yii::$app->request->post()) && $model->login()) { + return $this->goBack(); + } + + $model->password = ''; + + return $this->render('login', [ + 'model' => $model, + ]); + } + + /** + * Logout action. + * + * @return Response + */ + public function actionLogout() + { + Yii::$app->user->logout(); + + return $this->goHome(); + } +} diff --git a/backend/models/.gitkeep b/backend/models/.gitkeep new file mode 100755 index 0000000..72e8ffc --- /dev/null +++ b/backend/models/.gitkeep @@ -0,0 +1 @@ +* diff --git a/backend/modules/news/News.php b/backend/modules/news/News.php new file mode 100755 index 0000000..89127ff --- /dev/null +++ b/backend/modules/news/News.php @@ -0,0 +1,24 @@ + [ + 'class' => AccessControl::class, + 'rules' => [ + [ + 'actions' => ['login', 'error'], + 'allow' => true, + ], + [ + 'actions' => ['logout', 'index'], + 'allow' => true, + 'roles' => ['@'], + ], + ], + ], + 'verbs' => [ + 'class' => VerbFilter::className(), + 'actions' => [ + 'delete' => ['POST'], + ], + ], + ] + ); + } + /** + * Renders the index view for the module + * @return string + */ + public function actionIndex() + { + return $this->render('index'); + } +} diff --git a/backend/modules/news/controllers/NewsController.php b/backend/modules/news/controllers/NewsController.php new file mode 100755 index 0000000..b064ca2 --- /dev/null +++ b/backend/modules/news/controllers/NewsController.php @@ -0,0 +1,148 @@ + [ + 'class' => AccessControl::class, + 'rules' => [ + [ + 'actions' => ['login', 'error'], + 'allow' => true, + ], + [ + 'allow' => true, + 'roles' => ['@'], + ], + ], + ], + 'verbs' => [ + 'class' => VerbFilter::className(), + 'actions' => [ + 'delete' => ['POST'], + ], + ], + ] + ); + } + + /** + * Lists all News models. + * + * @return string + */ + public function actionIndex() + { + $searchModel = new NewsSearch(); + $dataProvider = $searchModel->search($this->request->queryParams); + + return $this->render('index', [ + 'searchModel' => $searchModel, + 'dataProvider' => $dataProvider, + ]); + } + + /** + * Displays a single News model. + * @param int $id ID + * @return string + * @throws NotFoundHttpException if the model cannot be found + */ + public function actionView($id) + { + return $this->render('view', [ + 'model' => $this->findModel($id), + ]); + } + + /** + * Creates a new News model. + * If creation is successful, the browser will be redirected to the 'view' page. + * @return string|\yii\web\Response + */ + public function actionCreate() + { + $model = new News(); + + if ($this->request->isPost) { + if ($model->load($this->request->post()) && $model->save()) { + return $this->redirect(['view', 'id' => $model->id]); + } + } else { + $model->loadDefaultValues(); + } + + return $this->render('create', [ + 'model' => $model, + ]); + } + + /** + * Updates an existing News model. + * If update is successful, the browser will be redirected to the 'view' page. + * @param int $id ID + * @return string|\yii\web\Response + * @throws NotFoundHttpException if the model cannot be found + */ + public function actionUpdate($id) + { + $model = $this->findModel($id); + + if ($this->request->isPost && $model->load($this->request->post()) && $model->save()) { + return $this->redirect(['view', 'id' => $model->id]); + } + + return $this->render('update', [ + 'model' => $model, + ]); + } + + /** + * Deletes an existing News model. + * If deletion is successful, the browser will be redirected to the 'index' page. + * @param int $id ID + * @return \yii\web\Response + * @throws NotFoundHttpException if the model cannot be found + */ + public function actionDelete($id) + { + $this->findModel($id)->delete(); + + return $this->redirect(['index']); + } + + /** + * Finds the News model based on its primary key value. + * If the model is not found, a 404 HTTP exception will be thrown. + * @param int $id ID + * @return News the loaded model + * @throws NotFoundHttpException if the model cannot be found + */ + protected function findModel($id) + { + if (($model = News::findOne(['id' => $id])) !== null) { + return $model; + } + + throw new NotFoundHttpException('The requested page does not exist.'); + } +} diff --git a/backend/modules/news/models/NewsSearch.php b/backend/modules/news/models/NewsSearch.php new file mode 100755 index 0000000..164254c --- /dev/null +++ b/backend/modules/news/models/NewsSearch.php @@ -0,0 +1,70 @@ + $query, + ]); + + $this->load($params); + + if (!$this->validate()) { + // uncomment the following line if you do not want to return any records when validation fails + // $query->where('0=1'); + return $dataProvider; + } + + // grid filtering conditions + $query->andFilterWhere([ + 'id' => $this->id, + ]); + + $query->andFilterWhere(['like', 'title', $this->title]) + ->andFilterWhere(['like', 'text', $this->text]) + ->andFilterWhere(['like', 'slug', $this->slug]); + + return $dataProvider; + } +} diff --git a/backend/modules/news/views/default/index.php b/backend/modules/news/views/default/index.php new file mode 100755 index 0000000..b498126 --- /dev/null +++ b/backend/modules/news/views/default/index.php @@ -0,0 +1,12 @@ +
+

context->action->uniqueId ?>

+

+ This is the view content for action "context->action->id ?>". + The action belongs to the controller "context) ?>" + in the "context->module->id ?>" module. +

+

+ You may customize this page by editing the following file:
+ +

+
diff --git a/backend/modules/news/views/news/_form.php b/backend/modules/news/views/news/_form.php new file mode 100755 index 0000000..1b27add --- /dev/null +++ b/backend/modules/news/views/news/_form.php @@ -0,0 +1,31 @@ + + +
+ + ['enctype' => 'multipart/form-data']]); ?> + + field($model, 'title')->textInput(['maxlength' => true]) ?> + + field($model, 'text')->widget(\asmoday74\ckeditor5\EditorClassic::class, [ + 'clientOptions' => [ + 'language' => 'en', + ] + ]) ?> + + field($model, 'slug')->textInput(['maxlength' => true]) ?> + +
+ 'btn btn-success']) ?> +
+ + + +
diff --git a/backend/modules/news/views/news/_search.php b/backend/modules/news/views/news/_search.php new file mode 100755 index 0000000..78a9848 --- /dev/null +++ b/backend/modules/news/views/news/_search.php @@ -0,0 +1,33 @@ + + + diff --git a/backend/modules/news/views/news/create.php b/backend/modules/news/views/news/create.php new file mode 100755 index 0000000..05b9d01 --- /dev/null +++ b/backend/modules/news/views/news/create.php @@ -0,0 +1,20 @@ +title = 'Create News'; +$this->params['breadcrumbs'][] = ['label' => 'News', 'url' => ['index']]; +$this->params['breadcrumbs'][] = $this->title; +?> +
+ +

title) ?>

+ + render('_form', [ + 'model' => $model, + ]) ?> + +
diff --git a/backend/modules/news/views/news/index.php b/backend/modules/news/views/news/index.php new file mode 100755 index 0000000..d9562af --- /dev/null +++ b/backend/modules/news/views/news/index.php @@ -0,0 +1,46 @@ +title = 'News'; +$this->params['breadcrumbs'][] = $this->title; +?> +
+ +

title) ?>

+ +

+ 'btn btn-success']) ?> +

+ + render('_search', ['model' => $searchModel]); ?> + + $dataProvider, + 'filterModel' => $searchModel, + 'columns' => [ + ['class' => 'yii\grid\SerialColumn'], + + 'id', + 'title', + 'text:ntext', + 'slug', + [ + 'class' => ActionColumn::className(), + 'urlCreator' => function ($action, News $model, $key, $index, $column) { + return Url::toRoute([$action, 'id' => $model->id]); + } + ], + ], + ]); ?> + + +
diff --git a/backend/modules/news/views/news/update.php b/backend/modules/news/views/news/update.php new file mode 100755 index 0000000..5ec79e8 --- /dev/null +++ b/backend/modules/news/views/news/update.php @@ -0,0 +1,21 @@ +title = 'Update News: ' . $model->title; +$this->params['breadcrumbs'][] = ['label' => 'News', 'url' => ['index']]; +$this->params['breadcrumbs'][] = ['label' => $model->title, 'url' => ['view', 'id' => $model->id]]; +$this->params['breadcrumbs'][] = 'Update'; +?> +
+ +

title) ?>

+ + render('_form', [ + 'model' => $model, + ]) ?> + +
diff --git a/backend/modules/news/views/news/view.php b/backend/modules/news/views/news/view.php new file mode 100755 index 0000000..2a592ec --- /dev/null +++ b/backend/modules/news/views/news/view.php @@ -0,0 +1,39 @@ +title = $model->title; +$this->params['breadcrumbs'][] = ['label' => 'News', 'url' => ['index']]; +$this->params['breadcrumbs'][] = $this->title; +\yii\web\YiiAsset::register($this); +?> +
+ +

title) ?>

+ +

+ $model->id], ['class' => 'btn btn-primary']) ?> + $model->id], [ + 'class' => 'btn btn-danger', + 'data' => [ + 'confirm' => 'Are you sure you want to delete this item?', + 'method' => 'post', + ], + ]) ?> +

+ + $model, + 'attributes' => [ + 'id', + 'title', + 'text:ntext', + 'slug', + ], + ]) ?> + +
diff --git a/backend/modules/profile/Profile.php b/backend/modules/profile/Profile.php new file mode 100755 index 0000000..28c30f9 --- /dev/null +++ b/backend/modules/profile/Profile.php @@ -0,0 +1,24 @@ +render('index'); + } +} diff --git a/backend/modules/profile/controllers/ProfileController.php b/backend/modules/profile/controllers/ProfileController.php new file mode 100755 index 0000000..5c4be09 --- /dev/null +++ b/backend/modules/profile/controllers/ProfileController.php @@ -0,0 +1,166 @@ + [ + 'class' => VerbFilter::className(), + 'actions' => [ + 'delete' => ['POST'], + ], + ], + 'access' => [ + 'class' => AccessControl::class, + 'rules' => [ + [ + 'actions' => ['login', 'error'], + 'allow' => true, + ], + [ + 'allow' => true, + 'roles' => ['@'], + ], + ], + ], + ] + ); + } + + /** + * Lists all Profile models. + * + * @return string + */ + public function actionIndex() + { + $searchModel = new ProfileSearch(); + $dataProvider = $searchModel->search($this->request->queryParams); + + return $this->render('index', [ + 'searchModel' => $searchModel, + 'dataProvider' => $dataProvider, + ]); + } + + /** + * Displays a single Profile model. + * @param int $id ID + * @return string + * @throws NotFoundHttpException if the model cannot be found + */ + public function actionView($id) + { + return $this->render('view', [ + 'model' => $this->findModel($id), + ]); + } + + /** + * Creates a new Profile model. + * If creation is successful, the browser will be redirected to the 'view' page. + * @return string|\yii\web\Response + */ + public function actionCreate() + { + $model = new Profile(); + $service = UserService::run(); + $texts = $service->newTexts(); + $users = $service->getAllUsers(); + if ($this->request->isPost) { + if ($service->saveProfile($this->request->post(), $model)) { + $service->saveTexts($this->request->post('Text'), $model->id, $texts); + + return $this->redirect(['view', 'id' => $model->id]); + } + } + + return $this->render('create', [ + 'model' => $model, + 'users' => $users, + 'texts' => $texts + ]); + } + + /** + * Updates an existing Profile model. + * If update is successful, the browser will be redirected to the 'view' page. + * @param int $id ID + * @return string|\yii\web\Response + * @throws NotFoundHttpException if the model cannot be found + */ + public function actionUpdate($id) + { + $model = $this->findModel($id); + $service = UserService::run(); + $texts = $service->getTexts($id); + $users = $service->getAllUsers(); + + if ($this->request->isPost) { + if ($service->saveProfile($this->request->post(), $model)) { + $service->saveTexts($this->request->post('Text'), $model->id, $texts); + + return $this->redirect(['view', 'id' => $model->id]); + } + } + + return $this->render('update', [ + 'model' => $model, + 'users' => $users, + 'texts' => $texts + ]); + } + + /** + * Deletes an existing Profile model. + * If deletion is successful, the browser will be redirected to the 'index' page. + * @param int $id ID + * @return \yii\web\Response + * @throws NotFoundHttpException if the model cannot be found + */ + public function actionDelete($id) + { + $model = $this->findModel($id); + foreach ($model->texts as $text) { + $text->delete(); + } + $model->delete(); + + return $this->redirect(['index']); + } + + /** + * Finds the Profile model based on its primary key value. + * If the model is not found, a 404 HTTP exception will be thrown. + * @param int $id ID + * @return Profile the loaded model + * @throws NotFoundHttpException if the model cannot be found + */ + protected function findModel($id) + { + if (($model = Profile::findOne(['id' => $id])) !== null) { + return $model; + } + + throw new NotFoundHttpException('The requested page does not exist.'); + } +} diff --git a/backend/modules/profile/models/ProfileSearch.php b/backend/modules/profile/models/ProfileSearch.php new file mode 100755 index 0000000..c7996ee --- /dev/null +++ b/backend/modules/profile/models/ProfileSearch.php @@ -0,0 +1,71 @@ + $query, + ]); + + $this->load($params); + + if (!$this->validate()) { + // uncomment the following line if you do not want to return any records when validation fails + // $query->where('0=1'); + return $dataProvider; + } + + // grid filtering conditions + $query->andFilterWhere([ + 'id' => $this->id, + 'user_id' => $this->user_id, + 'created_at' => $this->created_at, + 'activity' => $this->activity, + ]); + + $query->andFilterWhere(['like', 'image', $this->image]); + + return $dataProvider; + } +} diff --git a/backend/modules/profile/views/default/index.php b/backend/modules/profile/views/default/index.php new file mode 100755 index 0000000..b80c3ad --- /dev/null +++ b/backend/modules/profile/views/default/index.php @@ -0,0 +1,12 @@ +
+

context->action->uniqueId ?>

+

+ This is the view content for action "context->action->id ?>". + The action belongs to the controller "context) ?>" + in the "context->module->id ?>" module. +

+

+ You may customize this page by editing the following file:
+ +

+
diff --git a/backend/modules/profile/views/profile/_form.php b/backend/modules/profile/views/profile/_form.php new file mode 100755 index 0000000..4d54ee4 --- /dev/null +++ b/backend/modules/profile/views/profile/_form.php @@ -0,0 +1,40 @@ + + +
+ + + + field($model, 'user_id')->dropDownList(ArrayHelper::map($users, 'id', 'username')) ?> + + field($model, 'file')->fileInput() ?> + + field($model, 'activity')->checkbox() ?> + + $text): ?> + + field($text, 'title[' . $text['language'] . ']')->textInput(['maxlength' => true, 'value' => $text->title])->label($text['language'] . ' заголовок') ?> + + field($text, 'text[' . $text['language'] . ']')->textarea(['value' => $text->title])->label($text['language'] . ' текст') ?> + + + +
+ 'btn btn-success']) ?> +
+ + + +
diff --git a/backend/modules/profile/views/profile/_search.php b/backend/modules/profile/views/profile/_search.php new file mode 100755 index 0000000..8d290c7 --- /dev/null +++ b/backend/modules/profile/views/profile/_search.php @@ -0,0 +1,35 @@ + + + diff --git a/backend/modules/profile/views/profile/create.php b/backend/modules/profile/views/profile/create.php new file mode 100755 index 0000000..f64f472 --- /dev/null +++ b/backend/modules/profile/views/profile/create.php @@ -0,0 +1,24 @@ +title = 'Create Profile'; +$this->params['breadcrumbs'][] = ['label' => 'Profiles', 'url' => ['index']]; +$this->params['breadcrumbs'][] = $this->title; +?> +
+ +

title) ?>

+ + render('_form', [ + 'model' => $model, + 'users' => $users, + 'texts' => $texts + ]) ?> + +
diff --git a/backend/modules/profile/views/profile/index.php b/backend/modules/profile/views/profile/index.php new file mode 100755 index 0000000..7c8264f --- /dev/null +++ b/backend/modules/profile/views/profile/index.php @@ -0,0 +1,57 @@ +title = 'Profiles'; +$this->params['breadcrumbs'][] = $this->title; +?> +
+ +

title) ?>

+ +

+ 'btn btn-success']) ?> +

+ + render('_search', ['model' => $searchModel]); ?> + + $dataProvider, + 'filterModel' => $searchModel, + 'columns' => [ + ['class' => 'yii\grid\SerialColumn'], + + 'id', + 'created_at', + [ + 'attribute' => 'user_id', + 'value' => function($model){return $model->user->username;}, + ], + [ + 'attribute' => 'image', + 'value' => function($model){return '/uploads/' . $model->image;}, + 'format' => ['image', ['width' => 100, 'height' => 100]], + ], + [ + 'attribute' => 'activity', + 'value' => function($model){return $model->getStatusLabel();}, + ], + [ + 'class' => ActionColumn::className(), + 'urlCreator' => function ($action, Profile $model, $key, $index, $column) { + return Url::toRoute([$action, 'id' => $model->id]); + } + ], + ], + ]); ?> + + +
diff --git a/backend/modules/profile/views/profile/update.php b/backend/modules/profile/views/profile/update.php new file mode 100755 index 0000000..d95586e --- /dev/null +++ b/backend/modules/profile/views/profile/update.php @@ -0,0 +1,25 @@ +title = 'Update Profile: ' . $model->id; +$this->params['breadcrumbs'][] = ['label' => 'Profiles', 'url' => ['index']]; +$this->params['breadcrumbs'][] = ['label' => $model->id, 'url' => ['view', 'id' => $model->id]]; +$this->params['breadcrumbs'][] = 'Update'; +?> +
+ +

title) ?>

+ + render('_form', [ + 'model' => $model, + 'users' => $users, + 'texts' => $texts + ]) ?> + +
diff --git a/backend/modules/profile/views/profile/view.php b/backend/modules/profile/views/profile/view.php new file mode 100755 index 0000000..7caa439 --- /dev/null +++ b/backend/modules/profile/views/profile/view.php @@ -0,0 +1,50 @@ +title = $model->id; +$this->params['breadcrumbs'][] = ['label' => 'Profiles', 'url' => ['index']]; +$this->params['breadcrumbs'][] = $this->title; +\yii\web\YiiAsset::register($this); +?> +
+ +

title) ?>

+ +

+ $model->id], ['class' => 'btn btn-primary']) ?> + $model->id], [ + 'class' => 'btn btn-danger', + 'data' => [ + 'confirm' => 'Are you sure you want to delete this item?', + 'method' => 'post', + ], + ]) ?> +

+ + $model, + 'attributes' => [ + 'id', + [ + 'attribute' => 'user_id', + 'value' => function($model){return $model->user->username;}, + ], + 'created_at', + [ + 'attribute' => 'image', + 'value' => function($model){return '/uploads/' . $model->image;}, + 'format' => ['image', ['width' => 100, 'height' => 100]], + ], + [ + 'attribute' => 'activity', + 'value' => function($model){return $model->getStatusLabel();}, + ], + ], + ]) ?> + +
diff --git a/backend/runtime/.gitignore b/backend/runtime/.gitignore new file mode 100755 index 0000000..c96a04f --- /dev/null +++ b/backend/runtime/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/backend/tests/_bootstrap.php b/backend/tests/_bootstrap.php new file mode 100755 index 0000000..637ce14 --- /dev/null +++ b/backend/tests/_bootstrap.php @@ -0,0 +1,10 @@ + 'erau', + 'auth_key' => 'tUu1qHcde0diwUol3xeI-18MuHkkprQI', + // password_0 + 'password_hash' => '$2y$13$nJ1WDlBaGcbCdbNC5.5l4.sgy.OMEKCqtDQOdQ2OWpgiKRWYyzzne', + 'password_reset_token' => 'RkD_Jw0_8HEedzLk7MM-ZKEFfYR7VbMr_1392559490', + 'created_at' => '1392559490', + 'updated_at' => '1392559490', + 'email' => 'sfriesen@jenkins.info', + ], +]; diff --git a/backend/tests/_output/.gitignore b/backend/tests/_output/.gitignore new file mode 100755 index 0000000..d6b7ef3 --- /dev/null +++ b/backend/tests/_output/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/backend/tests/_support/.gitignore b/backend/tests/_support/.gitignore new file mode 100755 index 0000000..36e264c --- /dev/null +++ b/backend/tests/_support/.gitignore @@ -0,0 +1 @@ +_generated diff --git a/backend/tests/_support/FunctionalTester.php b/backend/tests/_support/FunctionalTester.php new file mode 100755 index 0000000..a2bb8cb --- /dev/null +++ b/backend/tests/_support/FunctionalTester.php @@ -0,0 +1,26 @@ + [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'login_data.php' + ] + ]; + } + + /** + * @param FunctionalTester $I + */ + public function loginUser(FunctionalTester $I) + { + $I->amOnRoute('/site/login'); + $I->fillField('Username', 'erau'); + $I->fillField('Password', 'password_0'); + $I->click('login-button'); + + $I->see('Logout (erau)', 'form button[type=submit]'); + $I->dontSeeLink('Login'); + $I->dontSeeLink('Signup'); + } +} diff --git a/backend/tests/functional/_bootstrap.php b/backend/tests/functional/_bootstrap.php new file mode 100755 index 0000000..30ed54b --- /dev/null +++ b/backend/tests/functional/_bootstrap.php @@ -0,0 +1,16 @@ + 'davert']); + * ``` + * + * In Cests + * + * ```php + * \Codeception\Util\Fixtures::get('user1'); + * ``` + */ \ No newline at end of file diff --git a/backend/tests/unit.suite.yml b/backend/tests/unit.suite.yml new file mode 100755 index 0000000..f90030f --- /dev/null +++ b/backend/tests/unit.suite.yml @@ -0,0 +1,2 @@ +suite_namespace: backend\tests\unit +actor: UnitTester diff --git a/backend/tests/unit/_bootstrap.php b/backend/tests/unit/_bootstrap.php new file mode 100755 index 0000000..e432ce5 --- /dev/null +++ b/backend/tests/unit/_bootstrap.php @@ -0,0 +1,16 @@ + 'davert']); + * ``` + * + * In Tests + * + * ```php + * \Codeception\Util\Fixtures::get('user1'); + * ``` + */ diff --git a/backend/views/layouts/blank.php b/backend/views/layouts/blank.php new file mode 100755 index 0000000..c843320 --- /dev/null +++ b/backend/views/layouts/blank.php @@ -0,0 +1,33 @@ + +beginPage() ?> + + + + + + registerCsrfMetaTags() ?> + <?= Html::encode($this->title) ?> + head() ?> + + +beginBody() ?> + +
+
+ +
+
+ +endBody() ?> + + +endPage(); diff --git a/backend/views/layouts/main.php b/backend/views/layouts/main.php new file mode 100755 index 0000000..a8f51a7 --- /dev/null +++ b/backend/views/layouts/main.php @@ -0,0 +1,83 @@ + +beginPage() ?> + + + + + + registerCsrfMetaTags() ?> + <?= Html::encode($this->title) ?> + head() ?> + + +beginBody() ?> + +
+ Yii::$app->name, + 'brandUrl' => Yii::$app->homeUrl, + 'options' => [ + 'class' => 'navbar navbar-expand-md navbar-dark bg-dark fixed-top', + ], + ]); + $menuItems = [ + ['label' => 'Home', 'url' => ['/site/index']], + ['label' => 'Круд новостей', 'url' => ['/news/news']], + ['label' => 'Круд профилей', 'url' => ['/profile/profile']], + ]; + if (Yii::$app->user->isGuest) { + $menuItems[] = ['label' => 'Login', 'url' => ['/site/login']]; + } + echo Nav::widget([ + 'options' => ['class' => 'navbar-nav me-auto mb-2 mb-md-0'], + 'items' => $menuItems, + ]); + if (Yii::$app->user->isGuest) { + echo Html::tag('div',Html::a('Login',['/site/login'],['class' => ['btn btn-link login text-decoration-none']]),['class' => ['d-flex']]); + } else { + echo Html::beginForm(['/site/logout'], 'post', ['class' => 'd-flex']) + . Html::submitButton( + 'Logout (' . Yii::$app->user->identity->username . ')', + ['class' => 'btn btn-link logout text-decoration-none'] + ) + . Html::endForm(); + } + NavBar::end(); + ?> +
+ +
+
+ isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [], + ]) ?> + + +
+
+ + + +endBody() ?> + + +endPage(); diff --git a/backend/views/site/error.php b/backend/views/site/error.php new file mode 100755 index 0000000..e0f8b65 --- /dev/null +++ b/backend/views/site/error.php @@ -0,0 +1,27 @@ +title = $name; +?> +
+ +

title) ?>

+ +
+ +
+ +

+ The above error occurred while the Web server was processing your request. +

+

+ Please contact us if you think this is a server error. Thank you. +

+ +
diff --git a/backend/views/site/index.php b/backend/views/site/index.php new file mode 100755 index 0000000..a981f91 --- /dev/null +++ b/backend/views/site/index.php @@ -0,0 +1,53 @@ +title = 'My Yii Application'; +?> +
+ +
+

Congratulations!

+ +

You have successfully created your Yii-powered application.

+ +

Get started with Yii

+
+ +
+ +
+
+

Heading

+ +

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.

+ +

Yii Documentation »

+
+
+

Heading

+ +

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.

+ +

Yii Forum »

+
+
+

Heading

+ +

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.

+ +

Yii Extensions »

+
+
+ +
+
diff --git a/backend/views/site/login.php b/backend/views/site/login.php new file mode 100755 index 0000000..d4b5a3b --- /dev/null +++ b/backend/views/site/login.php @@ -0,0 +1,32 @@ +title = 'Login'; +?> +
+
+

title) ?>

+ +

Please fill out the following fields to login:

+ + 'login-form']); ?> + + field($model, 'username')->textInput(['autofocus' => true]) ?> + + field($model, 'password')->passwordInput() ?> + + field($model, 'rememberMe')->checkbox() ?> + +
+ 'btn btn-primary btn-block', 'name' => 'login-button']) ?> +
+ + +
+
diff --git a/backend/web/assets/.gitignore b/backend/web/assets/.gitignore new file mode 100755 index 0000000..d6b7ef3 --- /dev/null +++ b/backend/web/assets/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/backend/web/css/site.css b/backend/web/css/site.css new file mode 100755 index 0000000..34c35c6 --- /dev/null +++ b/backend/web/css/site.css @@ -0,0 +1,90 @@ +main > .container { + padding: 70px 15px 20px; +} + +.footer { + background-color: #f5f5f5; + font-size: .9em; + height: 60px; +} + +.footer > .container { + padding-right: 15px; + padding-left: 15px; +} + +.not-set { + color: #c55; + font-style: italic; +} + +/* add sorting icons to gridview sort links */ +a.asc:after, a.desc:after { + content: ''; + left: 3px; + display: inline-block; + width: 0; + height: 0; + border: solid 5px transparent; + margin: 4px 4px 2px 4px; + background: transparent; +} + +a.asc:after { + border-bottom: solid 7px #212529; + border-top-width: 0; +} + +a.desc:after { + border-top: solid 7px #212529; + border-bottom-width: 0; +} + +.grid-view th, +.grid-view td:last-child { + white-space: nowrap; +} + +.grid-view .filters input, +.grid-view .filters select { + min-width: 50px; +} + +.hint-block { + display: block; + margin-top: 5px; + color: #999; +} + +.error-summary { + color: #a94442; + background: #fdf7f7; + border-left: 3px solid #eed3d7; + padding: 10px 20px; + margin: 0 0 15px 0; +} + +/* align the logout "link" (button in form) of the navbar */ +.nav li > form > button.logout { + padding-top: 7px; + color: rgba(255, 255, 255, 0.5); +} + +@media(max-width:767px) { + .nav li > form > button.logout { + display:block; + text-align: left; + width: 100%; + padding: 10px 0; + } +} + +.nav > li > form > button.logout:focus, +.nav > li > form > button.logout:hover { + text-decoration: none; + color: rgba(255, 255, 255, 0.75); +} + +.nav > li > form > button.logout:focus { + outline: none; +} diff --git a/backend/web/favicon.ico b/backend/web/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..580ed732e86556ec57f3f3395a210246d679c076 GIT binary patch literal 318 zcmZQzU<5(|0RbS%!l1#(z#zuJz@P!d0zj+)#2|4HXaJKC0wf0lAEr2iX{M9K3=BR0 y!E90pK{x=K$Oz&POT#sS8N$ZKhC)h8ip0_|-T#43{vnSYgXBQCu@O54$pHYIza?e> literal 0 HcmV?d00001 diff --git a/codeception.yml b/codeception.yml new file mode 100755 index 0000000..c6f0143 --- /dev/null +++ b/codeception.yml @@ -0,0 +1,9 @@ +# global codeception file to run tests from all apps +include: + - common + - frontend + - backend +paths: + output: console/runtime/output +settings: + colors: true \ No newline at end of file diff --git a/common/codeception.yml b/common/codeception.yml new file mode 100755 index 0000000..1dfaf97 --- /dev/null +++ b/common/codeception.yml @@ -0,0 +1,15 @@ +namespace: common\tests +actor_suffix: Tester +paths: + tests: tests + output: tests/_output + data: tests/_data + support: tests/_support +bootstrap: _bootstrap.php +settings: + colors: true + memory_limit: 1024M +modules: + config: + Yii2: + configFile: 'config/codeception-local.php' diff --git a/common/config/.gitignore b/common/config/.gitignore new file mode 100755 index 0000000..7c090d2 --- /dev/null +++ b/common/config/.gitignore @@ -0,0 +1,4 @@ +codeception-local.php +main-local.php +params-local.php +test-local.php diff --git a/common/config/__autocomplete.php b/common/config/__autocomplete.php new file mode 100755 index 0000000..d99dea5 --- /dev/null +++ b/common/config/__autocomplete.php @@ -0,0 +1,33 @@ + [ + '@bower' => '@vendor/bower-asset', + '@npm' => '@vendor/npm-asset', + ], + 'vendorPath' => dirname(dirname(__DIR__)) . '/vendor', + 'components' => [ + 'cache' => [ + 'class' => \yii\caching\FileCache::class, + ], + ], +]; diff --git a/common/config/params.php b/common/config/params.php new file mode 100755 index 0000000..9361512 --- /dev/null +++ b/common/config/params.php @@ -0,0 +1,9 @@ + 'admin@example.com', + 'supportEmail' => 'support@example.com', + 'senderEmail' => 'noreply@example.com', + 'senderName' => 'Example.com mailer', + 'user.passwordResetTokenExpire' => 3600, + 'user.passwordMinLength' => 8, +]; diff --git a/common/config/test.php b/common/config/test.php new file mode 100755 index 0000000..c50955f --- /dev/null +++ b/common/config/test.php @@ -0,0 +1,11 @@ + 'app-common-tests', + 'basePath' => dirname(__DIR__), + 'components' => [ + 'user' => [ + 'class' => \yii\web\User::class, + 'identityClass' => 'common\models\User', + ], + ], +]; diff --git a/common/fixtures/UserFixture.php b/common/fixtures/UserFixture.php new file mode 100755 index 0000000..6df7a98 --- /dev/null +++ b/common/fixtures/UserFixture.php @@ -0,0 +1,10 @@ +urlManager->createAbsoluteUrl(['site/verify-email', 'token' => $user->verification_token]); +?> +
+

Hello username) ?>,

+ +

Follow the link below to verify your email:

+ +

+
diff --git a/common/mail/emailVerify-text.php b/common/mail/emailVerify-text.php new file mode 100755 index 0000000..48a68fc --- /dev/null +++ b/common/mail/emailVerify-text.php @@ -0,0 +1,12 @@ +urlManager->createAbsoluteUrl(['site/verify-email', 'token' => $user->verification_token]); +?> +Hello username ?>, + +Follow the link below to verify your email: + + diff --git a/common/mail/layouts/html.php b/common/mail/layouts/html.php new file mode 100755 index 0000000..8560d47 --- /dev/null +++ b/common/mail/layouts/html.php @@ -0,0 +1,24 @@ + +beginPage() ?> + + + + + <?= Html::encode($this->title) ?> + head() ?> + + + beginBody() ?> + + endBody() ?> + + +endPage(); diff --git a/common/mail/layouts/text.php b/common/mail/layouts/text.php new file mode 100755 index 0000000..9b4c548 --- /dev/null +++ b/common/mail/layouts/text.php @@ -0,0 +1,12 @@ + +beginPage() ?> +beginBody() ?> + +endBody() ?> +endPage() ?> diff --git a/common/mail/passwordResetToken-html.php b/common/mail/passwordResetToken-html.php new file mode 100755 index 0000000..9f6e470 --- /dev/null +++ b/common/mail/passwordResetToken-html.php @@ -0,0 +1,16 @@ +urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]); +?> +
+

Hello username) ?>,

+ +

Follow the link below to reset your password:

+ +

+
diff --git a/common/mail/passwordResetToken-text.php b/common/mail/passwordResetToken-text.php new file mode 100755 index 0000000..6a5120f --- /dev/null +++ b/common/mail/passwordResetToken-text.php @@ -0,0 +1,12 @@ +urlManager->createAbsoluteUrl(['site/reset-password', 'token' => $user->password_reset_token]); +?> +Hello username ?>, + +Follow the link below to reset your password: + + diff --git a/common/models/LoginForm.php b/common/models/LoginForm.php new file mode 100755 index 0000000..1f937a8 --- /dev/null +++ b/common/models/LoginForm.php @@ -0,0 +1,79 @@ +hasErrors()) { + $user = $this->getUser(); + if (!$user || !$user->validatePassword($this->password)) { + $this->addError($attribute, 'Incorrect username or password.'); + } + } + } + + /** + * Logs in a user using the provided username and password. + * + * @return bool whether the user is logged in successfully + */ + public function login() + { + if ($this->validate()) { + return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0); + } + + return false; + } + + /** + * Finds user by [[username]] + * + * @return User|null + */ + protected function getUser() + { + if ($this->_user === null) { + $this->_user = User::findByUsername($this->username); + } + + return $this->_user; + } +} diff --git a/common/models/News.php b/common/models/News.php new file mode 100755 index 0000000..6dc8ca5 --- /dev/null +++ b/common/models/News.php @@ -0,0 +1,47 @@ + 255], + [['slug'], 'unique'], + ]; + } + + /** + * {@inheritdoc} + */ + public function attributeLabels() + { + return [ + 'id' => 'ID', + 'title' => 'Title', + 'text' => 'Text', + 'slug' => 'Slug', + ]; + } +} diff --git a/common/models/Profile.php b/common/models/Profile.php new file mode 100755 index 0000000..8b9496e --- /dev/null +++ b/common/models/Profile.php @@ -0,0 +1,95 @@ + 255], + [['user_id'], 'exist', 'skipOnError' => true, 'targetClass' => User::class, 'targetAttribute' => ['user_id' => 'id']], + [['file'], 'file', 'extensions' => 'jpg, png'], + ]; + } + + /** + * {@inheritdoc} + */ + public function attributeLabels() + { + return [ + 'id' => 'ID', + 'user_id' => 'Пользователь', + 'created_at' => 'Когда создан', + 'image' => 'Картинка', + 'activity' => 'Активность', + ]; + } + + /** + * Gets query for [[Texts]]. + * + * @return \yii\db\ActiveQuery + */ + public function getTexts() + { + return $this->hasMany(Text::class, ['profile_id' => 'id']); + } + + /** + * Gets query for [[User]]. + * + * @return \yii\db\ActiveQuery + */ + public function getUser() + { + return $this->hasOne(User::class, ['id' => 'user_id']); + } + + public function getStatusLabel() + { + if ($this->activity == self::STATUS_ACTIVE) + return 'Активен'; + else + return 'Не активен'; + } + + /** + * @param string $lang + * @return \yii\db\ActiveQuery + */ + public function getTextByLanguage(string $lang) + { + return $this->hasMany(Text::class, ['profile_id' => 'id', 'language' => $lang]); + } +} diff --git a/common/models/Text.php b/common/models/Text.php new file mode 100755 index 0000000..b418fcf --- /dev/null +++ b/common/models/Text.php @@ -0,0 +1,78 @@ + 255], + [['profile_id'], 'exist', 'skipOnError' => true, 'targetClass' => Profile::class, 'targetAttribute' => ['profile_id' => 'id']], + ]; + } + + /** + * {@inheritdoc} + */ + public function attributeLabels() + { + return [ + 'id' => 'ID', + 'profile_id' => 'Profile ID', + 'title' => 'Title', + 'text' => 'Text', + 'language' => 'Language', + ]; + } + + public function extraFields() + { + return ['text[]', 'title[]']; + } + + /** + * Gets query for [[Profile]]. + * + * @return \yii\db\ActiveQuery + */ + public function getProfile() + { + return $this->hasOne(Profile::class, ['id' => 'profile_id']); + } + + public static function getLanguages() + { + return [self::LANG_RU, self::LANG_IT, self::LANG_FR, self::LANG_EN, self::LANG_ES]; + } +} diff --git a/common/models/User.php b/common/models/User.php new file mode 100755 index 0000000..53b6e1a --- /dev/null +++ b/common/models/User.php @@ -0,0 +1,213 @@ + self::STATUS_INACTIVE], + ['status', 'in', 'range' => [self::STATUS_ACTIVE, self::STATUS_INACTIVE, self::STATUS_DELETED]], + ]; + } + + /** + * {@inheritdoc} + */ + public static function findIdentity($id) + { + return static::findOne(['id' => $id, 'status' => self::STATUS_ACTIVE]); + } + + /** + * {@inheritdoc} + */ + public static function findIdentityByAccessToken($token, $type = null) + { + throw new NotSupportedException('"findIdentityByAccessToken" is not implemented.'); + } + + /** + * Finds user by username + * + * @param string $username + * @return static|null + */ + public static function findByUsername($username) + { + return static::findOne(['username' => $username, 'status' => self::STATUS_ACTIVE]); + } + + /** + * Finds user by password reset token + * + * @param string $token password reset token + * @return static|null + */ + public static function findByPasswordResetToken($token) + { + if (!static::isPasswordResetTokenValid($token)) { + return null; + } + + return static::findOne([ + 'password_reset_token' => $token, + 'status' => self::STATUS_ACTIVE, + ]); + } + + /** + * Finds user by verification email token + * + * @param string $token verify email token + * @return static|null + */ + public static function findByVerificationToken($token) { + return static::findOne([ + 'verification_token' => $token, + 'status' => self::STATUS_INACTIVE + ]); + } + + /** + * Finds out if password reset token is valid + * + * @param string $token password reset token + * @return bool + */ + public static function isPasswordResetTokenValid($token) + { + if (empty($token)) { + return false; + } + + $timestamp = (int) substr($token, strrpos($token, '_') + 1); + $expire = Yii::$app->params['user.passwordResetTokenExpire']; + return $timestamp + $expire >= time(); + } + + /** + * {@inheritdoc} + */ + public function getId() + { + return $this->getPrimaryKey(); + } + + /** + * {@inheritdoc} + */ + public function getAuthKey() + { + return $this->auth_key; + } + + /** + * {@inheritdoc} + */ + public function validateAuthKey($authKey) + { + return $this->getAuthKey() === $authKey; + } + + /** + * Validates password + * + * @param string $password password to validate + * @return bool if password provided is valid for current user + */ + public function validatePassword($password) + { + return Yii::$app->security->validatePassword($password, $this->password_hash); + } + + /** + * Generates password hash from password and sets it to the model + * + * @param string $password + */ + public function setPassword($password) + { + $this->password_hash = Yii::$app->security->generatePasswordHash($password); + } + + /** + * Generates "remember me" authentication key + */ + public function generateAuthKey() + { + $this->auth_key = Yii::$app->security->generateRandomString(); + } + + /** + * Generates new password reset token + */ + public function generatePasswordResetToken() + { + $this->password_reset_token = Yii::$app->security->generateRandomString() . '_' . time(); + } + + /** + * Generates new token for email verification + */ + public function generateEmailVerificationToken() + { + $this->verification_token = Yii::$app->security->generateRandomString() . '_' . time(); + } + + /** + * Removes password reset token + */ + public function removePasswordResetToken() + { + $this->password_reset_token = null; + } +} diff --git a/common/services/UserService.php b/common/services/UserService.php new file mode 100644 index 0000000..72bb5d3 --- /dev/null +++ b/common/services/UserService.php @@ -0,0 +1,76 @@ +text = $post['text'][$text->language]; + $text->title = $post['title'][$text->language]; + $text->profile_id = $profile_id; + $text->save(); + } + } + + public function saveProfile($post, $model) + { + $model->load($post); + $model->created_at = date('Y-d-m h:i:s'); + $model->file = UploadedFile::getInstance($model, 'file'); + if ($model->file) { + $model->image = $model->file->baseName . '.' . $model->file->extension; + $model->file->saveAs('@frontend/web/uploads/' . $model->file->baseName . '.' . $model->file->extension); + $model->file = null; + } + if ($model->save()) { + + return true; + } else + + return false; + } + + public function getAllUsers() + { + return $users = User::find()->all(); + } + + public function newTexts() + { + $texts = []; + foreach (Text::getLanguages() as $lang) { + $text = new Text(); + $text->language = $lang; + $texts[] = $text; + } + + return $texts; + } + + public function getTexts($id) + { + $textModels = Text::find()->where(['profile_id' => $id])->all(); +// foreach ($textModels as $text) +// { +// $text->title[$text->language] = $text->title; +// $text->text[$text->language] = $text->text; +// } + return $textModels; + } + + public function getTextByLanguage($id, $slug) + { + return Text::find()->where(['language' => $slug, 'profile_id' => $id])->all(); + } + + public static function run() + { + return new self(); + } +} \ No newline at end of file diff --git a/common/tests/_bootstrap.php b/common/tests/_bootstrap.php new file mode 100755 index 0000000..9915cc3 --- /dev/null +++ b/common/tests/_bootstrap.php @@ -0,0 +1,9 @@ + 'bayer.hudson', + 'auth_key' => 'HP187Mvq7Mmm3CTU80dLkGmni_FUH_lR', + //password_0 + 'password_hash' => '$2y$13$EjaPFBnZOQsHdGuHI.xvhuDp1fHpo8hKRSk6yshqa9c5EG8s3C3lO', + 'password_reset_token' => 'ExzkCOaYc1L8IOBs4wdTGGbgNiG3Wz1I_1402312317', + 'created_at' => '1402312317', + 'updated_at' => '1402312317', + 'email' => 'nicole.paucek@schultz.info', + ], +]; diff --git a/common/tests/_output/.gitignore b/common/tests/_output/.gitignore new file mode 100755 index 0000000..d6b7ef3 --- /dev/null +++ b/common/tests/_output/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/common/tests/_support/.gitignore b/common/tests/_support/.gitignore new file mode 100755 index 0000000..36e264c --- /dev/null +++ b/common/tests/_support/.gitignore @@ -0,0 +1 @@ +_generated diff --git a/common/tests/_support/UnitTester.php b/common/tests/_support/UnitTester.php new file mode 100755 index 0000000..a0cc7a7 --- /dev/null +++ b/common/tests/_support/UnitTester.php @@ -0,0 +1,26 @@ + [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'user.php' + ] + ]; + } + + public function testLoginNoUser() + { + $model = new LoginForm([ + 'username' => 'not_existing_username', + 'password' => 'not_existing_password', + ]); + + verify($model->login())->false(); + verify(Yii::$app->user->isGuest)->true(); + } + + public function testLoginWrongPassword() + { + $model = new LoginForm([ + 'username' => 'bayer.hudson', + 'password' => 'wrong_password', + ]); + + verify($model->login())->false(); + verify( $model->errors)->arrayHasKey('password'); + verify(Yii::$app->user->isGuest)->true(); + } + + public function testLoginCorrect() + { + $model = new LoginForm([ + 'username' => 'bayer.hudson', + 'password' => 'password_0', + ]); + + verify($model->login())->true(); + verify($model->errors)->arrayHasNotKey('password'); + verify(Yii::$app->user->isGuest)->false(); + } +} diff --git a/common/widgets/Alert.php b/common/widgets/Alert.php new file mode 100755 index 0000000..4ac3d15 --- /dev/null +++ b/common/widgets/Alert.php @@ -0,0 +1,76 @@ +session->setFlash('error', 'This is the message'); + * Yii::$app->session->setFlash('success', 'This is the message'); + * Yii::$app->session->setFlash('info', 'This is the message'); + * ``` + * + * Multiple messages could be set as follows: + * + * ```php + * Yii::$app->session->setFlash('error', ['Error 1', 'Error 2']); + * ``` + * + * @author Kartik Visweswaran + * @author Alexander Makarov + */ +class Alert extends \yii\bootstrap5\Widget +{ + /** + * @var array the alert types configuration for the flash messages. + * This array is setup as $key => $value, where: + * - key: the name of the session flash variable + * - value: the bootstrap alert type (i.e. danger, success, info, warning) + */ + public $alertTypes = [ + 'error' => 'alert-danger', + 'danger' => 'alert-danger', + 'success' => 'alert-success', + 'info' => 'alert-info', + 'warning' => 'alert-warning' + ]; + /** + * @var array the options for rendering the close button tag. + * Array will be passed to [[\yii\bootstrap\Alert::closeButton]]. + */ + public $closeButton = []; + + + /** + * {@inheritdoc} + */ + public function run() + { + $session = Yii::$app->session; + $flashes = $session->getAllFlashes(); + $appendClass = isset($this->options['class']) ? ' ' . $this->options['class'] : ''; + + foreach ($flashes as $type => $flash) { + if (!isset($this->alertTypes[$type])) { + continue; + } + + foreach ((array) $flash as $i => $message) { + echo \yii\bootstrap5\Alert::widget([ + 'body' => $message, + 'closeButton' => $this->closeButton, + 'options' => array_merge($this->options, [ + 'id' => $this->getId() . '-' . $type . '-' . $i, + 'class' => $this->alertTypes[$type] . $appendClass, + ]), + ]); + } + + $session->removeFlash($type); + } + } +} diff --git a/composer.json b/composer.json new file mode 100755 index 0000000..e121f05 --- /dev/null +++ b/composer.json @@ -0,0 +1,56 @@ +{ + "name": "yiisoft/yii2-app-advanced", + "description": "Yii 2 Advanced Project Template", + "keywords": ["yii2", "framework", "advanced", "project template"], + "homepage": "https://www.yiiframework.com/", + "type": "project", + "license": "BSD-3-Clause", + "support": { + "issues": "https://github.com/yiisoft/yii2/issues?state=open", + "forum": "https://www.yiiframework.com/forum/", + "wiki": "https://www.yiiframework.com/wiki/", + "irc": "irc://irc.freenode.net/yii", + "source": "https://github.com/yiisoft/yii2" + }, + "minimum-stability": "stable", + "require-dev": { + "yiisoft/yii2-debug": "~2.1.0", + "yiisoft/yii2-gii": "~2.2.0", + "yiisoft/yii2-faker": "~2.0.0", + "phpunit/phpunit": "~9.5.0", + "codeception/codeception": "^5.0.0 || ^4.0", + "codeception/lib-innerbrowser": "^3.0 || ^1.1", + "codeception/module-asserts": "^3.0 || ^1.1", + "codeception/module-yii2": "^1.1", + "codeception/module-filesystem": "^2.0 || ^1.1", + "codeception/verify": "^2.2", + "symfony/browser-kit": "^6.0 || >=2.7 <=4.2.4" + }, + "autoload-dev": { + "psr-4": { + "common\\tests\\": ["common/tests/", "common/tests/_support"], + "backend\\tests\\": ["backend/tests/", "backend/tests/_support"], + "frontend\\tests\\": ["frontend/tests/", "frontend/tests/_support"] + } + }, + "config": { + "allow-plugins": { + "yiisoft/yii2-composer" : true + }, + "process-timeout": 1800, + "fxp-asset": { + "enabled": false + } + }, + "repositories": [ + { + "type": "composer", + "url": "https://asset-packagist.org" + } + ], + "require": { + "yiisoft/yii2-bootstrap5": "@dev", + "kartik-v/yii2-widget-fileinput": "@dev", + "asmoday74/yii2-ckeditor5": "*" + } +} diff --git a/composer.lock b/composer.lock new file mode 100755 index 0000000..f35858c --- /dev/null +++ b/composer.lock @@ -0,0 +1,5183 @@ +{ + "_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#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "92027d1ec778c40df9b904c18932a569", + "packages": [ + { + "name": "asmoday74/yii2-ckeditor5", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/asmoday74/yii2-ckeditor5.git", + "reference": "d5cb38abfc6afd9f0a8729662897ecefc83b18a6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/asmoday74/yii2-ckeditor5/zipball/d5cb38abfc6afd9f0a8729662897ecefc83b18a6", + "reference": "d5cb38abfc6afd9f0a8729662897ecefc83b18a6", + "shasum": "" + }, + "require": { + "yiisoft/yii2": "~2.0.0" + }, + "type": "yii2-extension", + "autoload": { + "psr-4": { + "asmoday74\\ckeditor5\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Maksim Klimov" + } + ], + "description": "CKEditor 5 WYSIWYG widget for Yii2", + "keywords": [ + "ckeditor 5", + "extension", + "yii2" + ], + "support": { + "issues": "https://github.com/asmoday74/yii2-ckeditor5/issues", + "source": "https://github.com/asmoday74/yii2-ckeditor5/tree/1.0.2" + }, + "time": "2019-09-24T20:23:27+00:00" + }, + { + "name": "bower-asset/bootstrap", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/twbs/bootstrap.git", + "reference": "cb021439c683d9805e2864c58095b92d405e9b11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twbs/bootstrap/zipball/cb021439c683d9805e2864c58095b92d405e9b11", + "reference": "cb021439c683d9805e2864c58095b92d405e9b11" + }, + "type": "bower-asset" + }, + { + "name": "bower-asset/inputmask", + "version": "3.3.11", + "source": { + "type": "git", + "url": "https://github.com/RobinHerbots/Inputmask.git", + "reference": "5e670ad62f50c738388d4dcec78d2888505ad77b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/RobinHerbots/Inputmask/zipball/5e670ad62f50c738388d4dcec78d2888505ad77b", + "reference": "5e670ad62f50c738388d4dcec78d2888505ad77b" + }, + "require": { + "bower-asset/jquery": ">=1.7" + }, + "type": "bower-asset", + "license": [ + "http://opensource.org/licenses/mit-license.php" + ] + }, + { + "name": "bower-asset/jquery", + "version": "3.6.4", + "source": { + "type": "git", + "url": "https://github.com/jquery/jquery-dist.git", + "reference": "91ef2d8836342875f2519b5815197ea0f23613cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/91ef2d8836342875f2519b5815197ea0f23613cf", + "reference": "91ef2d8836342875f2519b5815197ea0f23613cf" + }, + "type": "bower-asset", + "license": [ + "MIT" + ] + }, + { + "name": "bower-asset/punycode", + "version": "v1.3.2", + "source": { + "type": "git", + "url": "https://github.com/mathiasbynens/punycode.js.git", + "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mathiasbynens/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3", + "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3" + }, + "type": "bower-asset" + }, + { + "name": "bower-asset/yii2-pjax", + "version": "2.0.8", + "source": { + "type": "git", + "url": "git@github.com:yiisoft/jquery-pjax.git", + "reference": "a9298d57da63d14a950f1b94366a864bc62264fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/a9298d57da63d14a950f1b94366a864bc62264fb", + "reference": "a9298d57da63d14a950f1b94366a864bc62264fb" + }, + "require": { + "bower-asset/jquery": ">=1.8" + }, + "type": "bower-asset", + "license": [ + "MIT" + ] + }, + { + "name": "cebe/markdown", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/cebe/markdown.git", + "reference": "9bac5e971dd391e2802dca5400bbeacbaea9eb86" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cebe/markdown/zipball/9bac5e971dd391e2802dca5400bbeacbaea9eb86", + "reference": "9bac5e971dd391e2802dca5400bbeacbaea9eb86", + "shasum": "" + }, + "require": { + "lib-pcre": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "cebe/indent": "*", + "facebook/xhprof": "*@dev", + "phpunit/phpunit": "4.1.*" + }, + "bin": [ + "bin/markdown" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "cebe\\markdown\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Carsten Brandt", + "email": "mail@cebe.cc", + "homepage": "http://cebe.cc/", + "role": "Creator" + } + ], + "description": "A super fast, highly extensible markdown parser for PHP", + "homepage": "https://github.com/cebe/markdown#readme", + "keywords": [ + "extensible", + "fast", + "gfm", + "markdown", + "markdown-extra" + ], + "support": { + "issues": "https://github.com/cebe/markdown/issues", + "source": "https://github.com/cebe/markdown" + }, + "time": "2018-03-26T11:24:36+00:00" + }, + { + "name": "ezyang/htmlpurifier", + "version": "v4.16.0", + "source": { + "type": "git", + "url": "https://github.com/ezyang/htmlpurifier.git", + "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8", + "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8", + "shasum": "" + }, + "require": { + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0" + }, + "require-dev": { + "cerdic/css-tidy": "^1.7 || ^2.0", + "simpletest/simpletest": "dev-master" + }, + "suggest": { + "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", + "ext-bcmath": "Used for unit conversion and imagecrash protection", + "ext-iconv": "Converts text to and from non-UTF-8 encodings", + "ext-tidy": "Used for pretty-printing HTML" + }, + "type": "library", + "autoload": { + "files": [ + "library/HTMLPurifier.composer.php" + ], + "psr-0": { + "HTMLPurifier": "library/" + }, + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ], + "support": { + "issues": "https://github.com/ezyang/htmlpurifier/issues", + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0" + }, + "time": "2022-09-18T07:06:19+00:00" + }, + { + "name": "kartik-v/bootstrap-fileinput", + "version": "v5.5.2", + "source": { + "type": "git", + "url": "https://github.com/kartik-v/bootstrap-fileinput.git", + "reference": "35c29cd9fd5bc47eae5238feaabee95b2d7efe3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kartik-v/bootstrap-fileinput/zipball/35c29cd9fd5bc47eae5238feaabee95b2d7efe3c", + "reference": "35c29cd9fd5bc47eae5238feaabee95b2d7efe3c", + "shasum": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "kartik\\plugins\\fileinput\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kartik Visweswaran", + "email": "kartikv2@gmail.com", + "homepage": "http://www.krajee.com/" + } + ], + "description": "An enhanced HTML 5 file input for Bootstrap 5.x, 4.x, and 3.x with features for file preview for many file types, multiple selection, ajax uploads, and more.", + "homepage": "https://github.com/kartik-v/bootstrap-fileinput", + "keywords": [ + "ajax", + "bootstrap", + "delete", + "file", + "image", + "input", + "jquery", + "multiple", + "preview", + "progress", + "upload" + ], + "support": { + "issues": "https://github.com/kartik-v/bootstrap-fileinput/issues", + "source": "https://github.com/kartik-v/bootstrap-fileinput/tree/v5.5.2" + }, + "funding": [ + { + "url": "https://opencollective.com/bootstrap-fileinput", + "type": "open_collective" + } + ], + "time": "2022-10-13T06:16:39+00:00" + }, + { + "name": "kartik-v/yii2-krajee-base", + "version": "v3.0.5", + "source": { + "type": "git", + "url": "https://github.com/kartik-v/yii2-krajee-base.git", + "reference": "5c095126d1be47e0bb1f92779b7dc099f6feae31" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kartik-v/yii2-krajee-base/zipball/5c095126d1be47e0bb1f92779b7dc099f6feae31", + "reference": "5c095126d1be47e0bb1f92779b7dc099f6feae31", + "shasum": "" + }, + "suggest": { + "yiisoft/yii2-bootstrap": "for Krajee extensions to work with Bootstrap 3.x version", + "yiisoft/yii2-bootstrap4": "for Krajee extensions to work with Bootstrap 4.x version", + "yiisoft/yii2-bootstrap5": "for Krajee extensions to work with Bootstrap 5.x version" + }, + "type": "yii2-extension", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "kartik\\base\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kartik Visweswaran", + "email": "kartikv2@gmail.com", + "homepage": "http://www.krajee.com/" + } + ], + "description": "Base library and foundation components for all Yii2 Krajee extensions.", + "homepage": "https://github.com/kartik-v/yii2-krajee-base", + "keywords": [ + "base", + "extension", + "foundation", + "krajee", + "widget", + "yii2" + ], + "support": { + "issues": "https://github.com/kartik-v/yii2-krajee-base/issues", + "source": "https://github.com/kartik-v/yii2-krajee-base/tree/v3.0.5" + }, + "time": "2022-06-01T14:05:39+00:00" + }, + { + "name": "kartik-v/yii2-widget-fileinput", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/kartik-v/yii2-widget-fileinput.git", + "reference": "b5500b6855526837154694c2afab8dbc3afc8abd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kartik-v/yii2-widget-fileinput/zipball/b5500b6855526837154694c2afab8dbc3afc8abd", + "reference": "b5500b6855526837154694c2afab8dbc3afc8abd", + "shasum": "" + }, + "require": { + "kartik-v/bootstrap-fileinput": ">=5.5.0", + "kartik-v/yii2-krajee-base": ">=3.0.5" + }, + "default-branch": true, + "type": "yii2-extension", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "kartik\\file\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kartik Visweswaran", + "email": "kartikv2@gmail.com", + "homepage": "http://www.krajee.com/" + } + ], + "description": "An enhanced FileInput widget for Bootstrap 3.x, 4.x & 5.x with file preview, multiple selection, and more features (sub repo split from yii2-widgets)", + "homepage": "https://github.com/kartik-v/yii2-widget-fileinput", + "keywords": [ + "extension", + "file", + "form", + "input", + "jquery", + "plugin", + "upload", + "widget", + "yii2" + ], + "support": { + "issues": "https://github.com/kartik-v/yii2-widget-fileinput/issues", + "source": "https://github.com/kartik-v/yii2-widget-fileinput/tree/v1.1.1" + }, + "funding": [ + { + "url": "https://opencollective.com/yii2-widget-fileinput", + "type": "open_collective" + } + ], + "time": "2022-06-28T04:31:04+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.100", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", + "shasum": "" + }, + "require": { + "php": ">= 7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, + "time": "2020-10-15T08:29:30+00:00" + }, + { + "name": "yiisoft/yii2", + "version": "2.0.47", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/yii2-framework.git", + "reference": "8ecf57895d9c4b29cf9658ffe57af5f3d0e25254" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/yii2-framework/zipball/8ecf57895d9c4b29cf9658ffe57af5f3d0e25254", + "reference": "8ecf57895d9c4b29cf9658ffe57af5f3d0e25254", + "shasum": "" + }, + "require": { + "bower-asset/inputmask": "~3.2.2 | ~3.3.5", + "bower-asset/jquery": "3.6.*@stable | 3.5.*@stable | 3.4.*@stable | 3.3.*@stable | 3.2.*@stable | 3.1.*@stable | 2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable", + "bower-asset/punycode": "1.3.*", + "bower-asset/yii2-pjax": "~2.0.1", + "cebe/markdown": "~1.0.0 | ~1.1.0 | ~1.2.0", + "ext-ctype": "*", + "ext-mbstring": "*", + "ezyang/htmlpurifier": "~4.6", + "lib-pcre": "*", + "paragonie/random_compat": ">=1", + "php": ">=5.4.0", + "yiisoft/yii2-composer": "~2.0.4" + }, + "bin": [ + "yii" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "yii\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Qiang Xue", + "email": "qiang.xue@gmail.com", + "homepage": "https://www.yiiframework.com/", + "role": "Founder and project lead" + }, + { + "name": "Alexander Makarov", + "email": "sam@rmcreative.ru", + "homepage": "https://rmcreative.ru/", + "role": "Core framework development" + }, + { + "name": "Maurizio Domba", + "homepage": "http://mdomba.info/", + "role": "Core framework development" + }, + { + "name": "Carsten Brandt", + "email": "mail@cebe.cc", + "homepage": "https://www.cebe.cc/", + "role": "Core framework development" + }, + { + "name": "Timur Ruziev", + "email": "resurtm@gmail.com", + "homepage": "http://resurtm.com/", + "role": "Core framework development" + }, + { + "name": "Paul Klimov", + "email": "klimov.paul@gmail.com", + "role": "Core framework development" + }, + { + "name": "Dmitry Naumenko", + "email": "d.naumenko.a@gmail.com", + "role": "Core framework development" + }, + { + "name": "Boudewijn Vahrmeijer", + "email": "info@dynasource.eu", + "homepage": "http://dynasource.eu", + "role": "Core framework development" + } + ], + "description": "Yii PHP Framework Version 2", + "homepage": "https://www.yiiframework.com/", + "keywords": [ + "framework", + "yii2" + ], + "support": { + "forum": "https://forum.yiiframework.com/", + "irc": "ircs://irc.libera.chat:6697/yii", + "issues": "https://github.com/yiisoft/yii2/issues?state=open", + "source": "https://github.com/yiisoft/yii2", + "wiki": "https://www.yiiframework.com/wiki" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2", + "type": "tidelift" + } + ], + "time": "2022-11-18T16:21:58+00:00" + }, + { + "name": "yiisoft/yii2-bootstrap5", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/yii2-bootstrap5.git", + "reference": "5ea4bb6dc7f729835b5ace59721932f66e1b05de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/yii2-bootstrap5/zipball/5ea4bb6dc7f729835b5ace59721932f66e1b05de", + "reference": "5ea4bb6dc7f729835b5ace59721932f66e1b05de", + "shasum": "" + }, + "require": { + "bower-asset/bootstrap": "^5.1.0", + "ext-json": "*", + "php": ">=7.0", + "yiisoft/yii2": "^2.0.42" + }, + "require-dev": { + "phpunit/phpunit": "^6.5.14", + "twbs/bootstrap-icons": "^1.7.2", + "yiisoft/yii2-coding-standards": "~2.0" + }, + "suggest": { + "twbs/bootstrap-icons": "Add this package to the `require` section of your `composer.json` if you'd like to use the bootstrap icon asset." + }, + "default-branch": true, + "type": "yii2-extension", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + }, + "bootstrap": "yii\\bootstrap5\\i18n\\TranslationBootstrap" + }, + "autoload": { + "psr-4": { + "yii\\bootstrap5\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sergey Zhukovskiy", + "email": "mylistryx@gmail.com", + "homepage": "https://net23.ru/" + }, + { + "name": "Simon Karlen", + "email": "simi.albi@outlook.com" + } + ], + "description": "The Twitter Bootstrap v5 extension for the Yii framework", + "keywords": [ + "bootstrap", + "bootstrap5", + "yii2" + ], + "support": { + "issues": "https://github.com/yiisoft/yii2-bootstrap5/issues", + "source": "https://github.com/yiisoft/yii2-bootstrap5" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-bootstrap5", + "type": "tidelift" + } + ], + "time": "2023-04-25T07:51:59+00:00" + }, + { + "name": "yiisoft/yii2-composer", + "version": "2.0.10", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/yii2-composer.git", + "reference": "94bb3f66e779e2774f8776d6e1bdeab402940510" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/yii2-composer/zipball/94bb3f66e779e2774f8776d6e1bdeab402940510", + "reference": "94bb3f66e779e2774f8776d6e1bdeab402940510", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 | ^2.0" + }, + "require-dev": { + "composer/composer": "^1.0 | ^2.0@dev", + "phpunit/phpunit": "<7" + }, + "type": "composer-plugin", + "extra": { + "class": "yii\\composer\\Plugin", + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "yii\\composer\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Qiang Xue", + "email": "qiang.xue@gmail.com" + }, + { + "name": "Carsten Brandt", + "email": "mail@cebe.cc" + } + ], + "description": "The composer plugin for Yii extension installer", + "keywords": [ + "composer", + "extension installer", + "yii2" + ], + "support": { + "forum": "http://www.yiiframework.com/forum/", + "irc": "irc://irc.freenode.net/yii", + "issues": "https://github.com/yiisoft/yii2-composer/issues", + "source": "https://github.com/yiisoft/yii2-composer", + "wiki": "http://www.yiiframework.com/wiki/" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-composer", + "type": "tidelift" + } + ], + "time": "2020-06-24T00:04:01+00:00" + } + ], + "packages-dev": [ + { + "name": "behat/gherkin", + "version": "v4.9.0", + "source": { + "type": "git", + "url": "https://github.com/Behat/Gherkin.git", + "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/0bc8d1e30e96183e4f36db9dc79caead300beff4", + "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4", + "shasum": "" + }, + "require": { + "php": "~7.2|~8.0" + }, + "require-dev": { + "cucumber/cucumber": "dev-gherkin-22.0.0", + "phpunit/phpunit": "~8|~9", + "symfony/yaml": "~3|~4|~5" + }, + "suggest": { + "symfony/yaml": "If you want to parse features, represented in YAML files" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Behat\\Gherkin": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Gherkin DSL parser for PHP", + "homepage": "http://behat.org/", + "keywords": [ + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" + ], + "support": { + "issues": "https://github.com/Behat/Gherkin/issues", + "source": "https://github.com/Behat/Gherkin/tree/v4.9.0" + }, + "time": "2021-10-12T13:05:09+00:00" + }, + { + "name": "codeception/codeception", + "version": "4.2.2", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Codeception.git", + "reference": "b88014f3348c93f3df99dc6d0967b0dbfa804474" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/b88014f3348c93f3df99dc6d0967b0dbfa804474", + "reference": "b88014f3348c93f3df99dc6d0967b0dbfa804474", + "shasum": "" + }, + "require": { + "behat/gherkin": "^4.4.0", + "codeception/lib-asserts": "^1.0 | 2.0.*@dev", + "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.1.1 | ^9.0", + "codeception/stub": "^2.0 | ^3.0 | ^4.0", + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "guzzlehttp/psr7": "^1.4 | ^2.0", + "php": ">=5.6.0 <9.0", + "symfony/console": ">=2.7 <6.0", + "symfony/css-selector": ">=2.7 <6.0", + "symfony/event-dispatcher": ">=2.7 <6.0", + "symfony/finder": ">=2.7 <6.0", + "symfony/yaml": ">=2.7 <6.0" + }, + "require-dev": { + "codeception/module-asserts": "^1.0 | 2.0.*@dev", + "codeception/module-cli": "^1.0 | 2.0.*@dev", + "codeception/module-db": "^1.0 | 2.0.*@dev", + "codeception/module-filesystem": "^1.0 | 2.0.*@dev", + "codeception/module-phpbrowser": "^1.0 | 2.0.*@dev", + "codeception/specify": "~0.3", + "codeception/util-universalframework": "*@dev", + "monolog/monolog": "~1.8", + "squizlabs/php_codesniffer": "~2.0", + "symfony/process": ">=2.7 <6.0", + "vlucas/phpdotenv": "^2.0 | ^3.0 | ^4.0 | ^5.0" + }, + "suggest": { + "codeception/specify": "BDD-style code blocks", + "codeception/verify": "BDD-style assertions", + "hoa/console": "For interactive console functionality", + "stecman/symfony-console-completion": "For BASH autocompletion", + "symfony/phpunit-bridge": "For phpunit-bridge support" + }, + "bin": [ + "codecept" + ], + "type": "library", + "extra": { + "branch-alias": [] + }, + "autoload": { + "files": [ + "functions.php" + ], + "psr-4": { + "Codeception\\": "src/Codeception", + "Codeception\\Extension\\": "ext" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "https://codegyre.com" + } + ], + "description": "BDD-style testing framework", + "homepage": "https://codeception.com/", + "keywords": [ + "BDD", + "TDD", + "acceptance testing", + "functional testing", + "unit testing" + ], + "support": { + "issues": "https://github.com/Codeception/Codeception/issues", + "source": "https://github.com/Codeception/Codeception/tree/4.2.2" + }, + "funding": [ + { + "url": "https://opencollective.com/codeception", + "type": "open_collective" + } + ], + "time": "2022-08-13T13:28:25+00:00" + }, + { + "name": "codeception/lib-asserts", + "version": "1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Codeception/lib-asserts.git", + "reference": "184231d5eab66bc69afd6b9429344d80c67a33b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/lib-asserts/zipball/184231d5eab66bc69afd6b9429344d80c67a33b6", + "reference": "184231d5eab66bc69afd6b9429344d80c67a33b6", + "shasum": "" + }, + "require": { + "codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.0.3 | ^9.0", + "ext-dom": "*", + "php": ">=5.6.0 <9.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "http://codegyre.com" + }, + { + "name": "Gintautas Miselis" + }, + { + "name": "Gustavo Nieves", + "homepage": "https://medium.com/@ganieves" + } + ], + "description": "Assertion methods used by Codeception core and Asserts module", + "homepage": "https://codeception.com/", + "keywords": [ + "codeception" + ], + "support": { + "issues": "https://github.com/Codeception/lib-asserts/issues", + "source": "https://github.com/Codeception/lib-asserts/tree/1.13.2" + }, + "time": "2020-10-21T16:26:20+00:00" + }, + { + "name": "codeception/lib-innerbrowser", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/Codeception/lib-innerbrowser.git", + "reference": "31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2", + "reference": "31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2", + "shasum": "" + }, + "require": { + "codeception/codeception": "4.*@dev", + "ext-dom": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=5.6.0 <9.0", + "symfony/browser-kit": ">=2.7 <6.0", + "symfony/dom-crawler": ">=2.7 <6.0" + }, + "conflict": { + "codeception/codeception": "<4.0" + }, + "require-dev": { + "codeception/util-universalframework": "dev-master" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@mail.ua", + "homepage": "http://codegyre.com" + }, + { + "name": "Gintautas Miselis" + } + ], + "description": "Parent library for all Codeception framework modules and PhpBrowser", + "homepage": "https://codeception.com/", + "keywords": [ + "codeception" + ], + "support": { + "issues": "https://github.com/Codeception/lib-innerbrowser/issues", + "source": "https://github.com/Codeception/lib-innerbrowser/tree/1.5.1" + }, + "time": "2021-08-30T15:21:42+00:00" + }, + { + "name": "codeception/module-asserts", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/Codeception/module-asserts.git", + "reference": "59374f2fef0cabb9e8ddb53277e85cdca74328de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/module-asserts/zipball/59374f2fef0cabb9e8ddb53277e85cdca74328de", + "reference": "59374f2fef0cabb9e8ddb53277e85cdca74328de", + "shasum": "" + }, + "require": { + "codeception/codeception": "*@dev", + "codeception/lib-asserts": "^1.13.1", + "php": ">=5.6.0 <9.0" + }, + "conflict": { + "codeception/codeception": "<4.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk" + }, + { + "name": "Gintautas Miselis" + }, + { + "name": "Gustavo Nieves", + "homepage": "https://medium.com/@ganieves" + } + ], + "description": "Codeception module containing various assertions", + "homepage": "https://codeception.com/", + "keywords": [ + "assertions", + "asserts", + "codeception" + ], + "support": { + "issues": "https://github.com/Codeception/module-asserts/issues", + "source": "https://github.com/Codeception/module-asserts/tree/1.3.1" + }, + "time": "2020-10-21T16:48:15+00:00" + }, + { + "name": "codeception/module-filesystem", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/Codeception/module-filesystem.git", + "reference": "ae1fa5f13ba00bdb8a83d4258ef577c5114ddef9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/module-filesystem/zipball/ae1fa5f13ba00bdb8a83d4258ef577c5114ddef9", + "reference": "ae1fa5f13ba00bdb8a83d4258ef577c5114ddef9", + "shasum": "" + }, + "require": { + "codeception/codeception": "^4.1 | *@dev", + "php": "^7.4 | ^8.0", + "symfony/finder": "^4.4 | ^5.4 | ^6.0" + }, + "conflict": { + "codeception/codeception": "<4.1" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk" + }, + { + "name": "Gintautas Miselis" + } + ], + "description": "Codeception module for testing local filesystem", + "homepage": "https://codeception.com/", + "keywords": [ + "codeception", + "filesystem" + ], + "support": { + "issues": "https://github.com/Codeception/module-filesystem/issues", + "source": "https://github.com/Codeception/module-filesystem/tree/2.0.2" + }, + "time": "2021-12-18T14:11:30+00:00" + }, + { + "name": "codeception/module-yii2", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/Codeception/module-yii2.git", + "reference": "14269d059b8eaedf3d414a673907bd874cd4ed04" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/module-yii2/zipball/14269d059b8eaedf3d414a673907bd874cd4ed04", + "reference": "14269d059b8eaedf3d414a673907bd874cd4ed04", + "shasum": "" + }, + "require": { + "codeception/codeception": "^4.0", + "codeception/lib-innerbrowser": "^1.0", + "php": ">=5.6.0 <=8.1 | ~8.1.0" + }, + "require-dev": { + "codeception/module-asserts": "^1.3", + "codeception/module-filesystem": "^1.0", + "codeception/verify": "<2", + "codemix/yii2-localeurls": "^1.7", + "yiisoft/yii2": "dev-master", + "yiisoft/yii2-app-advanced": "dev-master" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander Makarov" + }, + { + "name": "Sam Mouse" + }, + { + "name": "Michael Bodnarchuk" + } + ], + "description": "Codeception module for Yii2 framework", + "homepage": "http://codeception.com/", + "keywords": [ + "codeception", + "yii2" + ], + "support": { + "issues": "https://github.com/Codeception/module-yii2/issues", + "source": "https://github.com/Codeception/module-yii2/tree/1.1.5" + }, + "time": "2021-12-30T09:16:01+00:00" + }, + { + "name": "codeception/phpunit-wrapper", + "version": "9.0.9", + "source": { + "type": "git", + "url": "https://github.com/Codeception/phpunit-wrapper.git", + "reference": "7439a53ae367986e9c22b2ac00f9d7376bb2f8cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/7439a53ae367986e9c22b2ac00f9d7376bb2f8cf", + "reference": "7439a53ae367986e9c22b2ac00f9d7376bb2f8cf", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "phpunit/phpunit": "^9.0" + }, + "require-dev": { + "codeception/specify": "*", + "consolidation/robo": "^3.0.0-alpha3", + "vlucas/phpdotenv": "^3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\PHPUnit\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Davert", + "email": "davert.php@resend.cc" + }, + { + "name": "Naktibalda" + } + ], + "description": "PHPUnit classes used by Codeception", + "support": { + "issues": "https://github.com/Codeception/phpunit-wrapper/issues", + "source": "https://github.com/Codeception/phpunit-wrapper/tree/9.0.9" + }, + "time": "2022-05-23T06:24:11+00:00" + }, + { + "name": "codeception/stub", + "version": "4.0.2", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Stub.git", + "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/18a148dacd293fc7b044042f5aa63a82b08bff5d", + "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d", + "shasum": "" + }, + "require": { + "php": "^7.4 | ^8.0", + "phpunit/phpunit": "^8.4 | ^9.0 | ^10.0 | 10.0.x-dev" + }, + "require-dev": { + "consolidation/robo": "^3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Codeception\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", + "support": { + "issues": "https://github.com/Codeception/Stub/issues", + "source": "https://github.com/Codeception/Stub/tree/4.0.2" + }, + "time": "2022-01-31T19:25:15+00:00" + }, + { + "name": "codeception/verify", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/Codeception/Verify.git", + "reference": "2f8f5ce6ea1be5c011f77eb7f1ca0c9f4d551513" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Codeception/Verify/zipball/2f8f5ce6ea1be5c011f77eb7f1ca0c9f4d551513", + "reference": "2f8f5ce6ea1be5c011f77eb7f1ca0c9f4d551513", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": "^7.4 || ^8.0", + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/Codeception/bootstrap.php" + ], + "psr-4": { + "Codeception\\": "src\\Codeception" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Bodnarchuk", + "email": "davert@codeception.com" + }, + { + "name": "Gustavo Nieves", + "homepage": "https://medium.com/@ganieves" + } + ], + "description": "BDD assertion library for PHPUnit", + "support": { + "issues": "https://github.com/Codeception/Verify/issues", + "source": "https://github.com/Codeception/Verify/tree/2.3.0" + }, + "time": "2023-02-09T07:21:39+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:23:10+00:00" + }, + { + "name": "fakerphp/faker", + "version": "v1.21.0", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/92efad6a967f0b79c499705c69b662f738cc9e4d", + "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "v1.21-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.21.0" + }, + "time": "2022-12-13T13:54:32+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.5.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "b635f279edd83fc275f822a1188157ffea568ff6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/b635f279edd83fc275f822a1188157ffea568ff6", + "reference": "b635f279edd83fc275f822a1188157ffea568ff6", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.29 || ^9.5.23" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.5.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2023-04-17T16:11:26+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2023-03-08T13:26:56+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.15.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + }, + "time": "2023-03-05T19:49:14+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpspec/php-diff", + "version": "v1.1.3", + "source": { + "type": "git", + "url": "https://github.com/phpspec/php-diff.git", + "reference": "fc1156187f9f6c8395886fe85ed88a0a245d72e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/php-diff/zipball/fc1156187f9f6c8395886fe85ed88a0a245d72e9", + "reference": "fc1156187f9f6c8395886fe85ed88a0a245d72e9", + "shasum": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Diff": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Chris Boulton", + "homepage": "http://github.com/chrisboulton" + } + ], + "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).", + "support": { + "source": "https://github.com/phpspec/php-diff/tree/v1.1.3" + }, + "time": "2020-09-18T13:47:07+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.26", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.15", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-03-06T12:58:08+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.5.28", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "954ca3113a03bf780d22f07bf055d883ee04b65e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/954ca3113a03bf780d22f07bf055d883ee04b65e", + "reference": "954ca3113a03bf780d22f07bf055d883ee04b65e", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1 || ^2", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.13", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.8", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.5", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.2", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.28" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2023-01-14T12:32:24+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "e616d01114759c4c489f93b099585439f795fe35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0 || ^2.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": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + }, + "time": "2023-04-10T20:10:41+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://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" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T12:41:17+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:03:51+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T06:03:37+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-02-14T08:28:10+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:07:39+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:13:03+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "9590bd3d3f9fa2f28d34b713ed4765a8cc8ad15c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9590bd3d3f9fa2f28d34b713ed4765a8cc8ad15c", + "reference": "9590bd3d3f9fa2f28d34b713ed4765a8cc8ad15c", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/dom-crawler": "~2.8|~3.0|~4.0" + }, + "require-dev": { + "symfony/css-selector": "~2.8|~3.0|~4.0", + "symfony/process": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "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 BrowserKit Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/browser-kit/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/console", + "version": "v5.4.23", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "90f21e27d0d88ce38720556dd164d4a1e4c3934c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/90f21e27d0d88ce38720556dd164d4a1e4c3934c", + "reference": "90f21e27d0d88ce38720556dd164d4a1e4c3934c", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.1|^6.0" + }, + "conflict": { + "psr/log": ">=3", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "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": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.4.23" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-04-24T18:47:29+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v5.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "95f3c7468db1da8cc360b24fa2a26e7cefcb355d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/95f3c7468db1da8cc360b24fa2a26e7cefcb355d", + "reference": "95f3c7468db1da8cc360b24fa2a26e7cefcb355d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v5.4.21" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:03:56+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", + "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.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": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-01T10:25:55+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v4.4.45", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "4b8daf6c56801e6d664224261cb100b73edc78a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/4b8daf6c56801e6d664224261cb100b73edc78a5", + "reference": "4b8daf6c56801e6d664224261cb100b73edc78a5", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "masterminds/html5": "<2.6" + }, + "require-dev": { + "masterminds/html5": "^2.6", + "symfony/css-selector": "^3.4|^4.0|^5.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "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": "Eases DOM navigation for HTML and XML documents", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dom-crawler/tree/v4.4.45" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-08-03T12:57:57+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.4.22", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "1df20e45d56da29a4b1d8259dd6e950acbf1b13f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1df20e45d56da29a4b1d8259dd6e950acbf1b13f", + "reference": "1df20e45d56da29a4b1d8259dd6e950acbf1b13f", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher-contracts": "^2|^3", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/stopwatch": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "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": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.22" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-17T11:31:58+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", + "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "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": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.2.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-01T10:32:47+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "078e9a5e1871fcfe6a5ce421b539344c21afef19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/078e9a5e1871fcfe6a5ce421b539344c21afef19", + "reference": "078e9a5e1871fcfe6a5ce421b539344c21afef19", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "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": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.4.21" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-16T09:33:00+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "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 intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "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 intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "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" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9", + "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "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 backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.27.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "a8c9cedf55f314f3a186041d19537303766df09a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a8c9cedf55f314f3a186041d19537303766df09a", + "reference": "a8c9cedf55f314f3a186041d19537303766df09a", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "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": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.2.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-01T10:32:47+00:00" + }, + { + "name": "symfony/string", + "version": "v6.2.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef", + "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.0" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/intl": "^6.2", + "symfony/translation-contracts": "^2.0|^3.0", + "symfony/var-exporter": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "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": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.2.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-20T16:06:02+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.4.23", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4cd2e3ea301aadd76a4172756296fe552fb45b0b", + "reference": "4cd2e3ea301aadd76a4172756296fe552fb45b0b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.3" + }, + "require-dev": { + "symfony/console": "^5.3|^6.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "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": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v5.4.23" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-04-23T19:33:36+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + }, + { + "name": "yiisoft/yii2-debug", + "version": "2.1.22", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/yii2-debug.git", + "reference": "c0fa388c56b64edfb92987fdcc37d7a0243170d7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/yii2-debug/zipball/c0fa388c56b64edfb92987fdcc37d7a0243170d7", + "reference": "c0fa388c56b64edfb92987fdcc37d7a0243170d7", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=5.4", + "yiisoft/yii2": "~2.0.13" + }, + "require-dev": { + "cweagans/composer-patches": "^1.7", + "phpunit/phpunit": "4.8.34", + "yiisoft/yii2-coding-standards": "~2.0", + "yiisoft/yii2-swiftmailer": "*" + }, + "type": "yii2-extension", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + }, + "composer-exit-on-patch-failure": true, + "patches": { + "phpunit/phpunit-mock-objects": { + "Fix PHP 7 and 8 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_mock_objects.patch" + }, + "phpunit/phpunit": { + "Fix PHP 7 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_php7.patch", + "Fix PHP 8 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_php8.patch", + "Fix PHP 8.1 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_php81.patch" + } + } + }, + "autoload": { + "psr-4": { + "yii\\debug\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Qiang Xue", + "email": "qiang.xue@gmail.com" + }, + { + "name": "Simon Karlen", + "email": "simi.albi@outlook.com" + } + ], + "description": "The debugger extension for the Yii framework", + "keywords": [ + "debug", + "debugger", + "yii2" + ], + "support": { + "forum": "http://www.yiiframework.com/forum/", + "irc": "irc://irc.freenode.net/yii", + "issues": "https://github.com/yiisoft/yii2-debug/issues", + "source": "https://github.com/yiisoft/yii2-debug", + "wiki": "http://www.yiiframework.com/wiki/" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-debug", + "type": "tidelift" + } + ], + "time": "2022-11-18T17:29:27+00:00" + }, + { + "name": "yiisoft/yii2-faker", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/yii2-faker.git", + "reference": "8c361657143bfaea58ff7dcc9bf51f1991a46f5d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/yii2-faker/zipball/8c361657143bfaea58ff7dcc9bf51f1991a46f5d", + "reference": "8c361657143bfaea58ff7dcc9bf51f1991a46f5d", + "shasum": "" + }, + "require": { + "fakerphp/faker": "~1.9|~1.10", + "yiisoft/yii2": "~2.0.0" + }, + "require-dev": { + "cweagans/composer-patches": "^1.7", + "phpunit/phpunit": "4.8.34" + }, + "type": "yii2-extension", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + }, + "composer-exit-on-patch-failure": true, + "patches": { + "phpunit/phpunit-mock-objects": { + "Fix PHP 7 and 8 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_mock_objects.patch" + }, + "phpunit/phpunit": { + "Fix PHP 7 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_php7.patch", + "Fix PHP 8 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_php8.patch" + } + } + }, + "autoload": { + "psr-4": { + "yii\\faker\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Mark Jebri", + "email": "mark.github@yandex.ru" + } + ], + "description": "Fixture generator. The Faker integration for the Yii framework.", + "keywords": [ + "Fixture", + "faker", + "yii2" + ], + "support": { + "forum": "http://www.yiiframework.com/forum/", + "irc": "irc://irc.freenode.net/yii", + "issues": "https://github.com/yiisoft/yii2-faker/issues", + "source": "https://github.com/yiisoft/yii2-faker", + "wiki": "http://www.yiiframework.com/wiki/" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-faker", + "type": "tidelift" + } + ], + "time": "2020-11-10T12:27:35+00:00" + }, + { + "name": "yiisoft/yii2-gii", + "version": "2.2.5", + "source": { + "type": "git", + "url": "https://github.com/yiisoft/yii2-gii.git", + "reference": "e2f2dcf0f16713e678df6ba70362c99a215a8f72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yiisoft/yii2-gii/zipball/e2f2dcf0f16713e678df6ba70362c99a215a8f72", + "reference": "e2f2dcf0f16713e678df6ba70362c99a215a8f72", + "shasum": "" + }, + "require": { + "phpspec/php-diff": "^1.1.0", + "yiisoft/yii2": "~2.0.14" + }, + "require-dev": { + "cweagans/composer-patches": "^1.7", + "phpunit/phpunit": "4.8.34", + "yiisoft/yii2-coding-standards": "~2.0" + }, + "type": "yii2-extension", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + }, + "composer-exit-on-patch-failure": true, + "patches": { + "phpunit/phpunit-mock-objects": { + "Fix PHP 7 and 8 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_mock_objects.patch" + }, + "phpunit/phpunit": { + "Fix PHP 7 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_php7.patch", + "Fix PHP 8 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_php8.patch" + } + } + }, + "autoload": { + "psr-4": { + "yii\\gii\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Qiang Xue", + "email": "qiang.xue@gmail.com" + } + ], + "description": "The Gii extension for the Yii framework", + "keywords": [ + "code generator", + "gii", + "yii2" + ], + "support": { + "forum": "http://www.yiiframework.com/forum/", + "irc": "irc://irc.freenode.net/yii", + "issues": "https://github.com/yiisoft/yii2-gii/issues", + "source": "https://github.com/yiisoft/yii2-gii", + "wiki": "http://www.yiiframework.com/wiki/" + }, + "funding": [ + { + "url": "https://github.com/yiisoft", + "type": "github" + }, + { + "url": "https://opencollective.com/yiisoft", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-gii", + "type": "tidelift" + } + ], + "time": "2022-09-04T10:00:25+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "yiisoft/yii2-bootstrap5": 20, + "kartik-v/yii2-widget-fileinput": 20 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/console/config/.gitignore b/console/config/.gitignore new file mode 100755 index 0000000..42799dd --- /dev/null +++ b/console/config/.gitignore @@ -0,0 +1,3 @@ +main-local.php +params-local.php +test-local.php diff --git a/console/config/bootstrap.php b/console/config/bootstrap.php new file mode 100755 index 0000000..b3d9bbc --- /dev/null +++ b/console/config/bootstrap.php @@ -0,0 +1 @@ + 'app-console', + 'basePath' => dirname(__DIR__), + 'bootstrap' => ['log'], + 'controllerNamespace' => 'console\controllers', + 'aliases' => [ + '@bower' => '@vendor/bower-asset', + '@npm' => '@vendor/npm-asset', + ], + 'controllerMap' => [ + 'fixture' => [ + 'class' => \yii\console\controllers\FixtureController::class, + 'namespace' => 'common\fixtures', + ], + ], + 'components' => [ + 'log' => [ + 'targets' => [ + [ + 'class' => \yii\log\FileTarget::class, + 'levels' => ['error', 'warning'], + ], + ], + ], + ], + 'params' => $params, +]; diff --git a/console/config/params.php b/console/config/params.php new file mode 100755 index 0000000..6ebf279 --- /dev/null +++ b/console/config/params.php @@ -0,0 +1,5 @@ + 'admin@example.com', +]; diff --git a/console/config/test.php b/console/config/test.php new file mode 100755 index 0000000..b625128 --- /dev/null +++ b/console/config/test.php @@ -0,0 +1,4 @@ +db->driverName === 'mysql') { + // http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci + $tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'; + } + + $this->createTable('{{%user}}', [ + 'id' => $this->primaryKey(), + 'username' => $this->string()->notNull()->unique(), + 'auth_key' => $this->string(32)->notNull(), + 'password_hash' => $this->string()->notNull(), + 'password_reset_token' => $this->string()->unique(), + 'email' => $this->string()->notNull()->unique(), + + 'status' => $this->smallInteger()->notNull()->defaultValue(10), + 'created_at' => $this->integer()->notNull(), + 'updated_at' => $this->integer()->notNull(), + ], $tableOptions); + } + + public function down() + { + $this->dropTable('{{%user}}'); + } +} diff --git a/console/migrations/m190124_110200_add_verification_token_column_to_user_table.php b/console/migrations/m190124_110200_add_verification_token_column_to_user_table.php new file mode 100755 index 0000000..4a20dc7 --- /dev/null +++ b/console/migrations/m190124_110200_add_verification_token_column_to_user_table.php @@ -0,0 +1,16 @@ +addColumn('{{%user}}', 'verification_token', $this->string()->defaultValue(null)); + } + + public function down() + { + $this->dropColumn('{{%user}}', 'verification_token'); + } +} diff --git a/console/migrations/m230503_111312_create_news_table.php b/console/migrations/m230503_111312_create_news_table.php new file mode 100755 index 0000000..148fcbf --- /dev/null +++ b/console/migrations/m230503_111312_create_news_table.php @@ -0,0 +1,30 @@ +createTable('{{%news}}', [ + 'id' => $this->primaryKey(), + 'title' => $this->string(), + 'text' => $this->text(), + 'slug' => $this->string()->unique() + ]); + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + $this->dropTable('{{%news}}'); + } +} diff --git a/console/migrations/m230503_151339_create_profile_table.php b/console/migrations/m230503_151339_create_profile_table.php new file mode 100755 index 0000000..2d7d4c7 --- /dev/null +++ b/console/migrations/m230503_151339_create_profile_table.php @@ -0,0 +1,33 @@ +createTable('{{%profile}}', [ + 'id' => $this->primaryKey(), + 'user_id' => $this->integer(), + 'created_at' => $this->timestamp(), + 'image' => $this->string(), + 'activity' => $this->tinyInteger() + ]); + $this->addForeignKey('user_foreign', 'profile', 'user_id', 'user', 'id'); + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + $this->dropForeignKey('user_foreign', 'profile'); + $this->dropTable('{{%profile}}'); + } +} diff --git a/console/migrations/m230503_151354_create_text_table.php b/console/migrations/m230503_151354_create_text_table.php new file mode 100755 index 0000000..e57edd2 --- /dev/null +++ b/console/migrations/m230503_151354_create_text_table.php @@ -0,0 +1,33 @@ +createTable('{{%text}}', [ + 'id' => $this->primaryKey(), + 'profile_id' => $this->integer(), + 'title' => $this->string(), + 'text' => $this->text(), + 'language' => $this->string() + ]); + $this->addForeignKey('profile_foreign', 'text', 'profile_id', 'profile', 'id'); + } + + /** + * {@inheritdoc} + */ + public function safeDown() + { + $this->dropForeignKey('profile_foreign', 'text'); + $this->dropTable('{{%text}}'); + } +} diff --git a/console/models/.gitkeep b/console/models/.gitkeep new file mode 100755 index 0000000..72e8ffc --- /dev/null +++ b/console/models/.gitkeep @@ -0,0 +1 @@ +* diff --git a/console/runtime/.gitignore b/console/runtime/.gitignore new file mode 100755 index 0000000..c96a04f --- /dev/null +++ b/console/runtime/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100755 index 0000000..c8ad750 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,38 @@ +version: '3.2' + +services: + + frontend: + build: frontend + ports: + - 20080:80 + volumes: + # Re-use local composer cache via host-volume + - ~/.composer-docker/cache:/root/.composer/cache:delegated + # Mount source-code for development + - ./:/app + + backend: + build: backend + ports: + - 21080:80 + volumes: + # Re-use local composer cache via host-volume + - ~/.composer-docker/cache:/root/.composer/cache:delegated + # Mount source-code for development + - ./:/app + + mysql: + image: mysql:5.7 + environment: + - MYSQL_ROOT_PASSWORD=verysecret + - MYSQL_DATABASE=yii2advanced + - MYSQL_USER=yii2advanced + - MYSQL_PASSWORD=secret + + #pgsql: + # image: postgres:9.5 + # environment: + # - POSTGRES_DB=yii2advanced + # - POSTGRES_USER=yii2advanced + # - POSTGRES_PASSWORD=secret \ No newline at end of file diff --git a/environments/dev/backend/config/codeception-local.php b/environments/dev/backend/config/codeception-local.php new file mode 100755 index 0000000..2d875dd --- /dev/null +++ b/environments/dev/backend/config/codeception-local.php @@ -0,0 +1,11 @@ + [ + 'request' => [ + // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation + 'cookieValidationKey' => '', + ], + ], +]; + +if (!YII_ENV_TEST) { + // configuration adjustments for 'dev' environment + $config['bootstrap'][] = 'debug'; + $config['modules']['debug'] = [ + 'class' => \yii\debug\Module::class, + ]; + + $config['bootstrap'][] = 'gii'; + $config['modules']['gii'] = [ + 'class' => \yii\gii\Module::class, + ]; +} + +return $config; diff --git a/environments/dev/backend/config/params-local.php b/environments/dev/backend/config/params-local.php new file mode 100755 index 0000000..b625128 --- /dev/null +++ b/environments/dev/backend/config/params-local.php @@ -0,0 +1,4 @@ +run(); diff --git a/environments/dev/backend/web/index.php b/environments/dev/backend/web/index.php new file mode 100755 index 0000000..d0b6601 --- /dev/null +++ b/environments/dev/backend/web/index.php @@ -0,0 +1,18 @@ +run(); diff --git a/environments/dev/backend/web/robots.txt b/environments/dev/backend/web/robots.txt new file mode 100755 index 0000000..77470cb --- /dev/null +++ b/environments/dev/backend/web/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / \ No newline at end of file diff --git a/environments/dev/common/config/codeception-local.php b/environments/dev/common/config/codeception-local.php new file mode 100755 index 0000000..654f801 --- /dev/null +++ b/environments/dev/common/config/codeception-local.php @@ -0,0 +1,16 @@ + [ + 'request' => [ + // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation + 'cookieValidationKey' => '', + ], + ], + ] +); diff --git a/environments/dev/common/config/main-local.php b/environments/dev/common/config/main-local.php new file mode 100755 index 0000000..d00db3e --- /dev/null +++ b/environments/dev/common/config/main-local.php @@ -0,0 +1,43 @@ + [ + 'db' => [ + 'class' => \yii\db\Connection::class, + 'dsn' => 'mysql:host=localhost;dbname=yii2advanced', + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8', + ], + 'mailer' => [ + 'class' => \yii\symfonymailer\Mailer::class, + 'viewPath' => '@common/mail', + // send all mails to a file by default. + 'useFileTransport' => true, + // You have to set + // + // 'useFileTransport' => false, + // + // and configure a transport for the mailer to send real emails. + // + // SMTP server example: + // 'transport' => [ + // 'scheme' => 'smtps', + // 'host' => '', + // 'username' => '', + // 'password' => '', + // 'port' => 465, + // 'dsn' => 'native://default', + // ], + // + // DSN example: + // 'transport' => [ + // 'dsn' => 'smtp://user:pass@smtp.example.com:25', + // ], + // + // See: https://symfony.com/doc/current/mailer.html#using-built-in-transports + // Or if you use a 3rd party service, see: + // https://symfony.com/doc/current/mailer.html#using-a-3rd-party-transport + ], + ], +]; diff --git a/environments/dev/common/config/params-local.php b/environments/dev/common/config/params-local.php new file mode 100755 index 0000000..b625128 --- /dev/null +++ b/environments/dev/common/config/params-local.php @@ -0,0 +1,4 @@ + [ + 'db' => [ + 'dsn' => 'mysql:host=localhost;dbname=yii2advanced_test', + ], + ], +]; diff --git a/environments/dev/console/config/main-local.php b/environments/dev/console/config/main-local.php new file mode 100755 index 0000000..a3246e0 --- /dev/null +++ b/environments/dev/console/config/main-local.php @@ -0,0 +1,8 @@ + ['gii'], + 'modules' => [ + 'gii' => 'yii\gii\Module', + ], +]; diff --git a/environments/dev/console/config/params-local.php b/environments/dev/console/config/params-local.php new file mode 100755 index 0000000..b625128 --- /dev/null +++ b/environments/dev/console/config/params-local.php @@ -0,0 +1,4 @@ + [ + 'request' => [ + // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation + 'cookieValidationKey' => '', + ], + ], +]; + +if (!YII_ENV_TEST) { + // configuration adjustments for 'dev' environment + $config['bootstrap'][] = 'debug'; + $config['modules']['debug'] = [ + 'class' => \yii\debug\Module::class, + ]; + + $config['bootstrap'][] = 'gii'; + $config['modules']['gii'] = [ + 'class' => \yii\gii\Module::class, + ]; +} + +return $config; diff --git a/environments/dev/frontend/config/params-local.php b/environments/dev/frontend/config/params-local.php new file mode 100755 index 0000000..b625128 --- /dev/null +++ b/environments/dev/frontend/config/params-local.php @@ -0,0 +1,4 @@ +run(); diff --git a/environments/dev/frontend/web/index.php b/environments/dev/frontend/web/index.php new file mode 100755 index 0000000..d0b6601 --- /dev/null +++ b/environments/dev/frontend/web/index.php @@ -0,0 +1,18 @@ +run(); diff --git a/environments/dev/frontend/web/robots.txt b/environments/dev/frontend/web/robots.txt new file mode 100755 index 0000000..77470cb --- /dev/null +++ b/environments/dev/frontend/web/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / \ No newline at end of file diff --git a/environments/dev/yii b/environments/dev/yii new file mode 100755 index 0000000..b93b5cf --- /dev/null +++ b/environments/dev/yii @@ -0,0 +1,24 @@ +#!/usr/bin/env php +run(); +exit($exitCode); diff --git a/environments/dev/yii_test b/environments/dev/yii_test new file mode 100755 index 0000000..63a4e7a --- /dev/null +++ b/environments/dev/yii_test @@ -0,0 +1,28 @@ +#!/usr/bin/env php +run(); +exit($exitCode); diff --git a/environments/dev/yii_test.bat b/environments/dev/yii_test.bat new file mode 100755 index 0000000..29fbbea --- /dev/null +++ b/environments/dev/yii_test.bat @@ -0,0 +1,15 @@ +@echo off + +rem ------------------------------------------------------------- +rem Yii command line bootstrap script for Windows. +rem ------------------------------------------------------------- + +@setlocal + +set YII_PATH=%~dp0 + +if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe + +"%PHP_COMMAND%" "%YII_PATH%yii_test" %* + +@endlocal diff --git a/environments/index.php b/environments/index.php new file mode 100755 index 0000000..1083c32 --- /dev/null +++ b/environments/index.php @@ -0,0 +1,68 @@ + [ + * 'path' => 'directory storing the local files', + * 'skipFiles' => [ + * // list of files that should only be copied once and skipped if they already exist + * ], + * 'setWritable' => [ + * // list of directories that should be set writable + * ], + * 'setExecutable' => [ + * // list of files that should be set executable + * ], + * 'setCookieValidationKey' => [ + * // list of config files that need to be inserted with automatically generated cookie validation keys + * ], + * 'createSymlink' => [ + * // list of symlinks to be created. Keys are symlinks, and values are the targets. + * ], + * ], + * ]; + * ``` + */ +return [ + 'Development' => [ + 'path' => 'dev', + 'setWritable' => [ + 'backend/runtime', + 'backend/web/assets', + 'console/runtime', + 'frontend/runtime', + 'frontend/web/assets', + ], + 'setExecutable' => [ + 'yii', + 'yii_test', + ], + 'setCookieValidationKey' => [ + 'backend/config/main-local.php', + 'common/config/codeception-local.php', + 'frontend/config/main-local.php', + ], + ], + 'Production' => [ + 'path' => 'prod', + 'setWritable' => [ + 'backend/runtime', + 'backend/web/assets', + 'console/runtime', + 'frontend/runtime', + 'frontend/web/assets', + ], + 'setExecutable' => [ + 'yii', + ], + 'setCookieValidationKey' => [ + 'backend/config/main-local.php', + 'frontend/config/main-local.php', + ], + ], +]; diff --git a/environments/prod/backend/config/main-local.php b/environments/prod/backend/config/main-local.php new file mode 100755 index 0000000..babe4a4 --- /dev/null +++ b/environments/prod/backend/config/main-local.php @@ -0,0 +1,10 @@ + [ + 'request' => [ + // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation + 'cookieValidationKey' => '', + ], + ], +]; diff --git a/environments/prod/backend/config/params-local.php b/environments/prod/backend/config/params-local.php new file mode 100755 index 0000000..b625128 --- /dev/null +++ b/environments/prod/backend/config/params-local.php @@ -0,0 +1,4 @@ +run(); diff --git a/environments/prod/backend/web/robots.txt b/environments/prod/backend/web/robots.txt new file mode 100755 index 0000000..77470cb --- /dev/null +++ b/environments/prod/backend/web/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / \ No newline at end of file diff --git a/environments/prod/common/config/main-local.php b/environments/prod/common/config/main-local.php new file mode 100755 index 0000000..da5a6d3 --- /dev/null +++ b/environments/prod/common/config/main-local.php @@ -0,0 +1,17 @@ + [ + 'db' => [ + 'class' => \yii\db\Connection::class, + 'dsn' => 'mysql:host=localhost;dbname=yii2advanced', + 'username' => 'root', + 'password' => '', + 'charset' => 'utf8', + ], + 'mailer' => [ + 'class' => \yii\symfonymailer\Mailer::class, + 'viewPath' => '@common/mail', + ], + ], +]; diff --git a/environments/prod/common/config/params-local.php b/environments/prod/common/config/params-local.php new file mode 100755 index 0000000..b625128 --- /dev/null +++ b/environments/prod/common/config/params-local.php @@ -0,0 +1,4 @@ + [ + 'request' => [ + // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation + 'cookieValidationKey' => '', + ], + ], +]; diff --git a/environments/prod/frontend/config/params-local.php b/environments/prod/frontend/config/params-local.php new file mode 100755 index 0000000..b625128 --- /dev/null +++ b/environments/prod/frontend/config/params-local.php @@ -0,0 +1,4 @@ +run(); diff --git a/environments/prod/frontend/web/robots.txt b/environments/prod/frontend/web/robots.txt new file mode 100755 index 0000000..14267e9 --- /dev/null +++ b/environments/prod/frontend/web/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Allow: / \ No newline at end of file diff --git a/environments/prod/yii b/environments/prod/yii new file mode 100755 index 0000000..5b0d890 --- /dev/null +++ b/environments/prod/yii @@ -0,0 +1,24 @@ +#!/usr/bin/env php +run(); +exit($exitCode); diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100755 index 0000000..a0487d2 --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,4 @@ +FROM yiisoftware/yii2-php:8.1-apache + +# Change document root for Apache +RUN sed -i -e 's|/app/web|/app/frontend/web|g' /etc/apache2/sites-available/000-default.conf diff --git a/frontend/assets/AppAsset.php b/frontend/assets/AppAsset.php new file mode 100755 index 0000000..f8478f6 --- /dev/null +++ b/frontend/assets/AppAsset.php @@ -0,0 +1,23 @@ + 'app-frontend', + 'basePath' => dirname(__DIR__), + 'bootstrap' => ['log'], + 'controllerNamespace' => 'frontend\controllers', + 'components' => [ + 'request' => [ + 'baseUrl' => '', + 'csrfParam' => '_csrf-frontend', + ], + 'user' => [ + 'identityClass' => 'common\models\User', + 'enableAutoLogin' => true, + 'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true], + ], + 'session' => [ + // this is the name of the session cookie used for login on the frontend + 'name' => 'advanced-frontend', + ], + 'log' => [ + 'traceLevel' => YII_DEBUG ? 3 : 0, + 'targets' => [ + [ + 'class' => \yii\log\FileTarget::class, + 'levels' => ['error', 'warning'], + ], + ], + ], + 'errorHandler' => [ + 'errorAction' => 'site/error', + ], + 'urlManager' => [ + 'enablePrettyUrl' => true, + 'showScriptName' => false, + 'rules' => [ + '/new/' => 'news/get-one', + '/text//' => 'news/text', + ], + ], + ], + 'params' => $params, +]; diff --git a/frontend/config/params.php b/frontend/config/params.php new file mode 100755 index 0000000..7f754b9 --- /dev/null +++ b/frontend/config/params.php @@ -0,0 +1,4 @@ + 'admin@example.com', +]; diff --git a/frontend/config/test.php b/frontend/config/test.php new file mode 100755 index 0000000..55d820c --- /dev/null +++ b/frontend/config/test.php @@ -0,0 +1,18 @@ + 'app-frontend-tests', + 'components' => [ + 'assetManager' => [ + 'basePath' => __DIR__ . '/../web/assets', + ], + 'urlManager' => [ + 'showScriptName' => true, + ], + 'request' => [ + 'cookieValidationKey' => 'test', + ], + 'mailer' => [ + 'messageClass' => \yii\symfonymailer\Message::class + ] + ], +]; diff --git a/frontend/controllers/NewsController.php b/frontend/controllers/NewsController.php new file mode 100755 index 0000000..3fcc4f3 --- /dev/null +++ b/frontend/controllers/NewsController.php @@ -0,0 +1,117 @@ + [ + 'class' => AccessControl::class, + 'only' => ['logout', 'signup'], + 'rules' => [ + [ + 'actions' => ['signup'], + 'allow' => true, + 'roles' => ['?'], + ], + [ + 'actions' => ['logout'], + 'allow' => true, + 'roles' => ['@'], + ], + ], + ], + 'verbs' => [ + 'class' => VerbFilter::class, + 'actions' => [ + 'logout' => ['post'], + ], + ], + ]; + } + + /** + * {@inheritdoc} + */ + public function actions() + { + return [ + 'error' => [ + 'class' => \yii\web\ErrorAction::class, + ], + 'captcha' => [ + 'class' => \yii\captcha\CaptchaAction::class, + 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, + ], + ]; + } + + /** + * Displays homepage. + * + * @return mixed + */ + public function actionIndex() + { + $news = News::find()->all(); + + return $this->render('index', [ + 'news' => $news + ]); + } + + /** + * @param null $slug + * @return mixed + */ + public function actionGetOne($slug = null) + { + $new = News::find()->where(['slug' => $slug])->one(); + return $this->render('one', [ + 'new' => $new + ]); + } + + public function actionData() + { + $model = new DataForm(); + + if (Yii::$app->request->isPost) { + if ($model->load(Yii::$app->request->post()) && $model->validate()) { + Yii::$app->session->setFlash('success', 'Валидация прошла успешно'); + } else { + Yii::$app->session->setFlash('error', 'Что-то не так'); + } + return $this->refresh(); + } + + return $this->render('data', [ + 'model' => $model, + ]); + } + + public function actionText($id, $slug) + { + $texts = UserService::run()->getTextByLanguage($id, $slug); + + return $this->render('text', [ + 'texts' => $texts + ]); + } +} \ No newline at end of file diff --git a/frontend/controllers/SiteController.php b/frontend/controllers/SiteController.php new file mode 100755 index 0000000..6de678a --- /dev/null +++ b/frontend/controllers/SiteController.php @@ -0,0 +1,259 @@ + [ + 'class' => AccessControl::class, + 'only' => ['logout', 'signup'], + 'rules' => [ + [ + 'actions' => ['signup'], + 'allow' => true, + 'roles' => ['?'], + ], + [ + 'actions' => ['logout'], + 'allow' => true, + 'roles' => ['@'], + ], + ], + ], + 'verbs' => [ + 'class' => VerbFilter::class, + 'actions' => [ + 'logout' => ['post'], + ], + ], + ]; + } + + /** + * {@inheritdoc} + */ + public function actions() + { + return [ + 'error' => [ + 'class' => \yii\web\ErrorAction::class, + ], + 'captcha' => [ + 'class' => \yii\captcha\CaptchaAction::class, + 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, + ], + ]; + } + + /** + * Displays homepage. + * + * @return mixed + */ + public function actionIndex() + { + return $this->render('index'); + } + + /** + * Logs in a user. + * + * @return mixed + */ + public function actionLogin() + { + if (!Yii::$app->user->isGuest) { + return $this->goHome(); + } + + $model = new LoginForm(); + if ($model->load(Yii::$app->request->post()) && $model->login()) { + return $this->goBack(); + } + + $model->password = ''; + + return $this->render('login', [ + 'model' => $model, + ]); + } + + /** + * Logs out the current user. + * + * @return mixed + */ + public function actionLogout() + { + Yii::$app->user->logout(); + + return $this->goHome(); + } + + /** + * Displays contact page. + * + * @return mixed + */ + public function actionContact() + { + $model = new ContactForm(); + if ($model->load(Yii::$app->request->post()) && $model->validate()) { + if ($model->sendEmail(Yii::$app->params['adminEmail'])) { + Yii::$app->session->setFlash('success', 'Thank you for contacting us. We will respond to you as soon as possible.'); + } else { + Yii::$app->session->setFlash('error', 'There was an error sending your message.'); + } + + return $this->refresh(); + } + + return $this->render('contact', [ + 'model' => $model, + ]); + } + + /** + * Displays about page. + * + * @return mixed + */ + public function actionAbout() + { + return $this->render('about'); + } + + /** + * Signs user up. + * + * @return mixed + */ + public function actionSignup() + { + $model = new SignupForm(); + if ($model->load(Yii::$app->request->post()) && $model->signup()) { + Yii::$app->session->setFlash('success', 'Thank you for registration. Please check your inbox for verification email.'); + return $this->goHome(); + } + + return $this->render('signup', [ + 'model' => $model, + ]); + } + + /** + * Requests password reset. + * + * @return mixed + */ + public function actionRequestPasswordReset() + { + $model = new PasswordResetRequestForm(); + if ($model->load(Yii::$app->request->post()) && $model->validate()) { + if ($model->sendEmail()) { + Yii::$app->session->setFlash('success', 'Check your email for further instructions.'); + + return $this->goHome(); + } + + Yii::$app->session->setFlash('error', 'Sorry, we are unable to reset password for the provided email address.'); + } + + return $this->render('requestPasswordResetToken', [ + 'model' => $model, + ]); + } + + /** + * Resets password. + * + * @param string $token + * @return mixed + * @throws BadRequestHttpException + */ + public function actionResetPassword($token) + { + try { + $model = new ResetPasswordForm($token); + } catch (InvalidArgumentException $e) { + throw new BadRequestHttpException($e->getMessage()); + } + + if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->resetPassword()) { + Yii::$app->session->setFlash('success', 'New password saved.'); + + return $this->goHome(); + } + + return $this->render('resetPassword', [ + 'model' => $model, + ]); + } + + /** + * Verify email address + * + * @param string $token + * @throws BadRequestHttpException + * @return yii\web\Response + */ + public function actionVerifyEmail($token) + { + try { + $model = new VerifyEmailForm($token); + } catch (InvalidArgumentException $e) { + throw new BadRequestHttpException($e->getMessage()); + } + if (($user = $model->verifyEmail()) && Yii::$app->user->login($user)) { + Yii::$app->session->setFlash('success', 'Your email has been confirmed!'); + return $this->goHome(); + } + + Yii::$app->session->setFlash('error', 'Sorry, we are unable to verify your account with provided token.'); + return $this->goHome(); + } + + /** + * Resend verification email + * + * @return mixed + */ + public function actionResendVerificationEmail() + { + $model = new ResendVerificationEmailForm(); + if ($model->load(Yii::$app->request->post()) && $model->validate()) { + if ($model->sendEmail()) { + Yii::$app->session->setFlash('success', 'Check your email for further instructions.'); + return $this->goHome(); + } + Yii::$app->session->setFlash('error', 'Sorry, we are unable to resend verification email for the provided email address.'); + } + + return $this->render('resendVerificationEmail', [ + 'model' => $model + ]); + } +} diff --git a/frontend/models/ContactForm.php b/frontend/models/ContactForm.php new file mode 100755 index 0000000..1dd419c --- /dev/null +++ b/frontend/models/ContactForm.php @@ -0,0 +1,61 @@ + 'Verification Code', + ]; + } + + /** + * Sends an email to the specified email address using the information collected by this model. + * + * @param string $email the target email address + * @return bool whether the email was sent + */ + public function sendEmail($email) + { + return Yii::$app->mailer->compose() + ->setTo($email) + ->setFrom([Yii::$app->params['senderEmail'] => Yii::$app->params['senderName']]) + ->setReplyTo([$this->email => $this->name]) + ->setSubject($this->subject) + ->setTextBody($this->body) + ->send(); + } +} diff --git a/frontend/models/DataForm.php b/frontend/models/DataForm.php new file mode 100755 index 0000000..aae9f9e --- /dev/null +++ b/frontend/models/DataForm.php @@ -0,0 +1,40 @@ + 'Электронная почта', + 'fio' => 'ФИО', + 'phone' => 'Номер телефона', + ]; + } +} diff --git a/frontend/models/PasswordResetRequestForm.php b/frontend/models/PasswordResetRequestForm.php new file mode 100755 index 0000000..db963e3 --- /dev/null +++ b/frontend/models/PasswordResetRequestForm.php @@ -0,0 +1,69 @@ + '\common\models\User', + 'filter' => ['status' => User::STATUS_ACTIVE], + 'message' => 'There is no user with this email address.' + ], + ]; + } + + /** + * Sends an email with a link, for resetting the password. + * + * @return bool whether the email was send + */ + public function sendEmail() + { + /* @var $user User */ + $user = User::findOne([ + 'status' => User::STATUS_ACTIVE, + 'email' => $this->email, + ]); + + if (!$user) { + return false; + } + + if (!User::isPasswordResetTokenValid($user->password_reset_token)) { + $user->generatePasswordResetToken(); + if (!$user->save()) { + return false; + } + } + + return Yii::$app + ->mailer + ->compose( + ['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], + ['user' => $user] + ) + ->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . ' robot']) + ->setTo($this->email) + ->setSubject('Password reset for ' . Yii::$app->name) + ->send(); + } +} diff --git a/frontend/models/ResendVerificationEmailForm.php b/frontend/models/ResendVerificationEmailForm.php new file mode 100755 index 0000000..8fb265b --- /dev/null +++ b/frontend/models/ResendVerificationEmailForm.php @@ -0,0 +1,61 @@ + '\common\models\User', + 'filter' => ['status' => User::STATUS_INACTIVE], + 'message' => 'There is no user with this email address.' + ], + ]; + } + + /** + * Sends confirmation email to user + * + * @return bool whether the email was sent + */ + public function sendEmail() + { + $user = User::findOne([ + 'email' => $this->email, + 'status' => User::STATUS_INACTIVE + ]); + + if ($user === null) { + return false; + } + + return Yii::$app + ->mailer + ->compose( + ['html' => 'emailVerify-html', 'text' => 'emailVerify-text'], + ['user' => $user] + ) + ->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . ' robot']) + ->setTo($this->email) + ->setSubject('Account registration at ' . Yii::$app->name) + ->send(); + } +} diff --git a/frontend/models/ResetPasswordForm.php b/frontend/models/ResetPasswordForm.php new file mode 100755 index 0000000..31c786f --- /dev/null +++ b/frontend/models/ResetPasswordForm.php @@ -0,0 +1,67 @@ +_user = User::findByPasswordResetToken($token); + if (!$this->_user) { + throw new InvalidArgumentException('Wrong password reset token.'); + } + parent::__construct($config); + } + + /** + * {@inheritdoc} + */ + public function rules() + { + return [ + ['password', 'required'], + ['password', 'string', 'min' => Yii::$app->params['user.passwordMinLength']], + ]; + } + + /** + * Resets password. + * + * @return bool if password was reset. + */ + public function resetPassword() + { + $user = $this->_user; + $user->setPassword($this->password); + $user->removePasswordResetToken(); + $user->generateAuthKey(); + + return $user->save(false); + } +} diff --git a/frontend/models/SignupForm.php b/frontend/models/SignupForm.php new file mode 100755 index 0000000..e42a8ca --- /dev/null +++ b/frontend/models/SignupForm.php @@ -0,0 +1,80 @@ + '\common\models\User', 'message' => 'This username has already been taken.'], + ['username', 'string', 'min' => 2, 'max' => 255], + + ['email', 'trim'], + ['email', 'required'], + ['email', 'email'], + ['email', 'string', 'max' => 255], + ['email', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This email address has already been taken.'], + + ['password', 'required'], + ['password', 'string', 'min' => Yii::$app->params['user.passwordMinLength']], + ]; + } + + /** + * Signs user up. + * + * @return bool whether the creating new account was successful and email was sent + */ + public function signup() + { + if (!$this->validate()) { + return null; + } + + $user = new User(); + $user->username = $this->username; + $user->email = $this->email; + $user->setPassword($this->password); + $user->generateAuthKey(); + $user->generateEmailVerificationToken(); + + return $user->save() && $this->sendEmail($user); + } + + /** + * Sends confirmation email to user + * @param User $user user model to with email should be send + * @return bool whether the email was sent + */ + protected function sendEmail($user) + { + return Yii::$app + ->mailer + ->compose( + ['html' => 'emailVerify-html', 'text' => 'emailVerify-text'], + ['user' => $user] + ) + ->setFrom([Yii::$app->params['supportEmail'] => Yii::$app->name . ' robot']) + ->setTo($this->email) + ->setSubject('Account registration at ' . Yii::$app->name) + ->send(); + } +} diff --git a/frontend/models/VerifyEmailForm.php b/frontend/models/VerifyEmailForm.php new file mode 100755 index 0000000..0740746 --- /dev/null +++ b/frontend/models/VerifyEmailForm.php @@ -0,0 +1,52 @@ +_user = User::findByVerificationToken($token); + if (!$this->_user) { + throw new InvalidArgumentException('Wrong verify email token.'); + } + parent::__construct($config); + } + + /** + * Verify email + * + * @return User|null the saved model or null if saving fails + */ + public function verifyEmail() + { + $user = $this->_user; + $user->status = User::STATUS_ACTIVE; + return $user->save(false) ? $user : null; + } +} diff --git a/frontend/runtime/.gitignore b/frontend/runtime/.gitignore new file mode 100755 index 0000000..c96a04f --- /dev/null +++ b/frontend/runtime/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/frontend/tests/_bootstrap.php b/frontend/tests/_bootstrap.php new file mode 100755 index 0000000..637ce14 --- /dev/null +++ b/frontend/tests/_bootstrap.php @@ -0,0 +1,10 @@ + 'erau', + 'auth_key' => 'tUu1qHcde0diwUol3xeI-18MuHkkprQI', + // password_0 + 'password_hash' => '$2y$13$nJ1WDlBaGcbCdbNC5.5l4.sgy.OMEKCqtDQOdQ2OWpgiKRWYyzzne', + 'password_reset_token' => 'RkD_Jw0_8HEedzLk7MM-ZKEFfYR7VbMr_1392559490', + 'created_at' => '1392559490', + 'updated_at' => '1392559490', + 'email' => 'sfriesen@jenkins.info', + ], + [ + 'username' => 'test.test', + 'auth_key' => 'O87GkY3_UfmMHYkyezZ7QLfmkKNsllzT', + // Test1234 + 'password_hash' => 'O87GkY3_UfmMHYkyezZ7QLfmkKNsllzT', + 'email' => 'test@mail.com', + 'status' => '9', + 'created_at' => '1548675330', + 'updated_at' => '1548675330', + 'verification_token' => '4ch0qbfhvWwkcuWqjN8SWRq72SOw1KYT_1548675330', + ], +]; diff --git a/frontend/tests/_data/user.php b/frontend/tests/_data/user.php new file mode 100755 index 0000000..0b94332 --- /dev/null +++ b/frontend/tests/_data/user.php @@ -0,0 +1,45 @@ + 'okirlin', + 'auth_key' => 'iwTNae9t34OmnK6l4vT4IeaTk-YWI2Rv', + 'password_hash' => '$2y$13$CXT0Rkle1EMJ/c1l5bylL.EylfmQ39O5JlHJVFpNn618OUS1HwaIi', + 'password_reset_token' => 't5GU9NwpuGYSfb7FEZMAxqtuz2PkEvv_' . time(), + 'created_at' => '1391885313', + 'updated_at' => '1391885313', + 'email' => 'brady.renner@rutherford.com', + ], + [ + 'username' => 'troy.becker', + 'auth_key' => 'EdKfXrx88weFMV0vIxuTMWKgfK2tS3Lp', + 'password_hash' => '$2y$13$g5nv41Px7VBqhS3hVsVN2.MKfgT3jFdkXEsMC4rQJLfaMa7VaJqL2', + 'password_reset_token' => '4BSNyiZNAuxjs5Mty990c47sVrgllIi_' . time(), + 'created_at' => '1391885313', + 'updated_at' => '1391885313', + 'email' => 'nicolas.dianna@hotmail.com', + 'status' => '0', + ], + [ + 'username' => 'test.test', + 'auth_key' => 'O87GkY3_UfmMHYkyezZ7QLfmkKNsllzT', + //Test1234 + 'password_hash' => '$2y$13$d17z0w/wKC4LFwtzBcmx6up4jErQuandJqhzKGKczfWuiEhLBtQBK', + 'email' => 'test@mail.com', + 'status' => '9', + 'created_at' => '1548675330', + 'updated_at' => '1548675330', + 'verification_token' => '4ch0qbfhvWwkcuWqjN8SWRq72SOw1KYT_1548675330', + ], + [ + 'username' => 'test2.test', + 'auth_key' => '4XXdVqi3rDpa_a6JH6zqVreFxUPcUPvJ', + //Test1234 + 'password_hash' => '$2y$13$d17z0w/wKC4LFwtzBcmx6up4jErQuandJqhzKGKczfWuiEhLBtQBK', + 'email' => 'test2@mail.com', + 'status' => '10', + 'created_at' => '1548675330', + 'updated_at' => '1548675330', + 'verification_token' => 'already_used_token_1548675330', + ], +]; diff --git a/frontend/tests/_output/.gitignore b/frontend/tests/_output/.gitignore new file mode 100755 index 0000000..d6b7ef3 --- /dev/null +++ b/frontend/tests/_output/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/frontend/tests/_support/.gitignore b/frontend/tests/_support/.gitignore new file mode 100755 index 0000000..36e264c --- /dev/null +++ b/frontend/tests/_support/.gitignore @@ -0,0 +1 @@ +_generated diff --git a/frontend/tests/_support/FunctionalTester.php b/frontend/tests/_support/FunctionalTester.php new file mode 100755 index 0000000..77ad9c5 --- /dev/null +++ b/frontend/tests/_support/FunctionalTester.php @@ -0,0 +1,34 @@ +see($message, '.invalid-feedback'); + } + + public function dontSeeValidationError($message) + { + $this->dontSee($message, '.invalid-feedback'); + } +} diff --git a/frontend/tests/_support/UnitTester.php b/frontend/tests/_support/UnitTester.php new file mode 100755 index 0000000..91557de --- /dev/null +++ b/frontend/tests/_support/UnitTester.php @@ -0,0 +1,26 @@ +amOnRoute(Url::toRoute('/site/index')); + $I->see('My Application'); + + $I->seeLink('About'); + $I->click('About'); + $I->wait(2); // wait for page to be opened + + $I->see('This is the About page.'); + } +} diff --git a/frontend/tests/acceptance/_bootstrap.php b/frontend/tests/acceptance/_bootstrap.php new file mode 100755 index 0000000..47716f0 --- /dev/null +++ b/frontend/tests/acceptance/_bootstrap.php @@ -0,0 +1,16 @@ + 'davert']); + * ``` + * + * In Cept + * + * ```php + * \Codeception\Util\Fixtures::get('user1'); + * ``` + */ \ No newline at end of file diff --git a/frontend/tests/functional.suite.yml b/frontend/tests/functional.suite.yml new file mode 100755 index 0000000..d66644d --- /dev/null +++ b/frontend/tests/functional.suite.yml @@ -0,0 +1,7 @@ +suite_namespace: frontend\tests\functional +actor: FunctionalTester +modules: + enabled: + - Filesystem + - Yii2 + - Asserts diff --git a/frontend/tests/functional/AboutCest.php b/frontend/tests/functional/AboutCest.php new file mode 100755 index 0000000..1bcce2b --- /dev/null +++ b/frontend/tests/functional/AboutCest.php @@ -0,0 +1,14 @@ +amOnRoute('site/about'); + $I->see('About', 'h1'); + } +} diff --git a/frontend/tests/functional/ContactCest.php b/frontend/tests/functional/ContactCest.php new file mode 100755 index 0000000..9b5f90b --- /dev/null +++ b/frontend/tests/functional/ContactCest.php @@ -0,0 +1,60 @@ +amOnRoute('site/contact'); + } + + public function checkContact(FunctionalTester $I) + { + $I->see('Contact', 'h1'); + } + + public function checkContactSubmitNoData(FunctionalTester $I) + { + $I->submitForm('#contact-form', []); + $I->see('Contact', 'h1'); + $I->seeValidationError('Name cannot be blank'); + $I->seeValidationError('Email cannot be blank'); + $I->seeValidationError('Subject cannot be blank'); + $I->seeValidationError('Body cannot be blank'); + $I->seeValidationError('The verification code is incorrect'); + } + + public function checkContactSubmitNotCorrectEmail(FunctionalTester $I) + { + $I->submitForm('#contact-form', [ + 'ContactForm[name]' => 'tester', + 'ContactForm[email]' => 'tester.email', + 'ContactForm[subject]' => 'test subject', + 'ContactForm[body]' => 'test content', + 'ContactForm[verifyCode]' => 'testme', + ]); + $I->seeValidationError('Email is not a valid email address.'); + $I->dontSeeValidationError('Name cannot be blank'); + $I->dontSeeValidationError('Subject cannot be blank'); + $I->dontSeeValidationError('Body cannot be blank'); + $I->dontSeeValidationError('The verification code is incorrect'); + } + + public function checkContactSubmitCorrectData(FunctionalTester $I) + { + $I->submitForm('#contact-form', [ + 'ContactForm[name]' => 'tester', + 'ContactForm[email]' => 'tester@example.com', + 'ContactForm[subject]' => 'test subject', + 'ContactForm[body]' => 'test content', + 'ContactForm[verifyCode]' => 'testme', + ]); + $I->seeEmailIsSent(); + $I->see('Thank you for contacting us. We will respond to you as soon as possible.'); + } +} diff --git a/frontend/tests/functional/HomeCest.php b/frontend/tests/functional/HomeCest.php new file mode 100755 index 0000000..99048af --- /dev/null +++ b/frontend/tests/functional/HomeCest.php @@ -0,0 +1,17 @@ +amOnRoute(\Yii::$app->homeUrl); + $I->see('My Application'); + $I->seeLink('About'); + $I->click('About'); + $I->see('This is the About page.'); + } +} \ No newline at end of file diff --git a/frontend/tests/functional/LoginCest.php b/frontend/tests/functional/LoginCest.php new file mode 100755 index 0000000..ee160b6 --- /dev/null +++ b/frontend/tests/functional/LoginCest.php @@ -0,0 +1,66 @@ + [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'login_data.php', + ], + ]; + } + + public function _before(FunctionalTester $I) + { + $I->amOnRoute('site/login'); + } + + protected function formParams($login, $password) + { + return [ + 'LoginForm[username]' => $login, + 'LoginForm[password]' => $password, + ]; + } + + public function checkEmpty(FunctionalTester $I) + { + $I->submitForm('#login-form', $this->formParams('', '')); + $I->seeValidationError('Username cannot be blank.'); + $I->seeValidationError('Password cannot be blank.'); + } + + public function checkWrongPassword(FunctionalTester $I) + { + $I->submitForm('#login-form', $this->formParams('admin', 'wrong')); + $I->seeValidationError('Incorrect username or password.'); + } + + public function checkInactiveAccount(FunctionalTester $I) + { + $I->submitForm('#login-form', $this->formParams('test.test', 'Test1234')); + $I->seeValidationError('Incorrect username or password'); + } + + public function checkValidLogin(FunctionalTester $I) + { + $I->submitForm('#login-form', $this->formParams('erau', 'password_0')); + $I->see('Logout (erau)', 'form button[type=submit]'); + $I->dontSeeLink('Login'); + $I->dontSeeLink('Signup'); + } +} diff --git a/frontend/tests/functional/ResendVerificationEmailCest.php b/frontend/tests/functional/ResendVerificationEmailCest.php new file mode 100755 index 0000000..8ecaeac --- /dev/null +++ b/frontend/tests/functional/ResendVerificationEmailCest.php @@ -0,0 +1,83 @@ + [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'user.php', + ], + ]; + } + + public function _before(FunctionalTester $I) + { + $I->amOnRoute('/site/resend-verification-email'); + } + + protected function formParams($email) + { + return [ + 'ResendVerificationEmailForm[email]' => $email + ]; + } + + public function checkPage(FunctionalTester $I) + { + $I->see('Resend verification email', 'h1'); + $I->see('Please fill out your email. A verification email will be sent there.'); + } + + public function checkEmptyField(FunctionalTester $I) + { + $I->submitForm($this->formId, $this->formParams('')); + $I->seeValidationError('Email cannot be blank.'); + } + + public function checkWrongEmailFormat(FunctionalTester $I) + { + $I->submitForm($this->formId, $this->formParams('abcd.com')); + $I->seeValidationError('Email is not a valid email address.'); + } + + public function checkWrongEmail(FunctionalTester $I) + { + $I->submitForm($this->formId, $this->formParams('wrong@email.com')); + $I->seeValidationError('There is no user with this email address.'); + } + + public function checkAlreadyVerifiedEmail(FunctionalTester $I) + { + $I->submitForm($this->formId, $this->formParams('test2@mail.com')); + $I->seeValidationError('There is no user with this email address.'); + } + + public function checkSendSuccessfully(FunctionalTester $I) + { + $I->submitForm($this->formId, $this->formParams('test@mail.com')); + $I->canSeeEmailIsSent(); + $I->seeRecord('common\models\User', [ + 'email' => 'test@mail.com', + 'username' => 'test.test', + 'status' => \common\models\User::STATUS_INACTIVE + ]); + $I->see('Check your email for further instructions.'); + } +} diff --git a/frontend/tests/functional/SignupCest.php b/frontend/tests/functional/SignupCest.php new file mode 100755 index 0000000..b83b795 --- /dev/null +++ b/frontend/tests/functional/SignupCest.php @@ -0,0 +1,59 @@ +amOnRoute('site/signup'); + } + + public function signupWithEmptyFields(FunctionalTester $I) + { + $I->see('Signup', 'h1'); + $I->see('Please fill out the following fields to signup:'); + $I->submitForm($this->formId, []); + $I->seeValidationError('Username cannot be blank.'); + $I->seeValidationError('Email cannot be blank.'); + $I->seeValidationError('Password cannot be blank.'); + + } + + public function signupWithWrongEmail(FunctionalTester $I) + { + $I->submitForm( + $this->formId, [ + 'SignupForm[username]' => 'tester', + 'SignupForm[email]' => 'ttttt', + 'SignupForm[password]' => 'tester_password', + ] + ); + $I->dontSee('Username cannot be blank.', '.invalid-feedback'); + $I->dontSee('Password cannot be blank.', '.invalid-feedback'); + $I->see('Email is not a valid email address.', '.invalid-feedback'); + } + + public function signupSuccessfully(FunctionalTester $I) + { + $I->submitForm($this->formId, [ + 'SignupForm[username]' => 'tester', + 'SignupForm[email]' => 'tester.email@example.com', + 'SignupForm[password]' => 'tester_password', + ]); + + $I->seeRecord('common\models\User', [ + 'username' => 'tester', + 'email' => 'tester.email@example.com', + 'status' => \common\models\User::STATUS_INACTIVE + ]); + + $I->seeEmailIsSent(); + $I->see('Thank you for registration. Please check your inbox for verification email.'); + } +} diff --git a/frontend/tests/functional/VerifyEmailCest.php b/frontend/tests/functional/VerifyEmailCest.php new file mode 100755 index 0000000..b227426 --- /dev/null +++ b/frontend/tests/functional/VerifyEmailCest.php @@ -0,0 +1,68 @@ + [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'user.php', + ], + ]; + } + + public function checkEmptyToken(FunctionalTester $I) + { + $I->amOnRoute('site/verify-email', ['token' => '']); + $I->canSee('Bad Request', 'h1'); + $I->canSee('Verify email token cannot be blank.'); + } + + public function checkInvalidToken(FunctionalTester $I) + { + $I->amOnRoute('site/verify-email', ['token' => 'wrong_token']); + $I->canSee('Bad Request', 'h1'); + $I->canSee('Wrong verify email token.'); + } + + public function checkNoToken(FunctionalTester $I) + { + $I->amOnRoute('site/verify-email'); + $I->canSee('Bad Request', 'h1'); + $I->canSee('Missing required parameters: token'); + } + + public function checkAlreadyActivatedToken(FunctionalTester $I) + { + $I->amOnRoute('site/verify-email', ['token' => 'already_used_token_1548675330']); + $I->canSee('Bad Request', 'h1'); + $I->canSee('Wrong verify email token.'); + } + + public function checkSuccessVerification(FunctionalTester $I) + { + $I->amOnRoute('site/verify-email', ['token' => '4ch0qbfhvWwkcuWqjN8SWRq72SOw1KYT_1548675330']); + $I->canSee('Your email has been confirmed!'); + $I->canSee('Congratulations!', 'h1'); + $I->see('Logout (test.test)', 'form button[type=submit]'); + + $I->seeRecord('common\models\User', [ + 'username' => 'test.test', + 'email' => 'test@mail.com', + 'status' => \common\models\User::STATUS_ACTIVE + ]); + } +} diff --git a/frontend/tests/functional/_bootstrap.php b/frontend/tests/functional/_bootstrap.php new file mode 100755 index 0000000..30ed54b --- /dev/null +++ b/frontend/tests/functional/_bootstrap.php @@ -0,0 +1,16 @@ + 'davert']); + * ``` + * + * In Cests + * + * ```php + * \Codeception\Util\Fixtures::get('user1'); + * ``` + */ \ No newline at end of file diff --git a/frontend/tests/unit.suite.yml b/frontend/tests/unit.suite.yml new file mode 100755 index 0000000..23ea63b --- /dev/null +++ b/frontend/tests/unit.suite.yml @@ -0,0 +1,7 @@ +suite_namespace: frontend\tests\unit +actor: UnitTester +modules: + enabled: + - Yii2: + part: [orm, email, fixtures] + - Asserts diff --git a/frontend/tests/unit/_bootstrap.php b/frontend/tests/unit/_bootstrap.php new file mode 100755 index 0000000..e432ce5 --- /dev/null +++ b/frontend/tests/unit/_bootstrap.php @@ -0,0 +1,16 @@ + 'davert']); + * ``` + * + * In Tests + * + * ```php + * \Codeception\Util\Fixtures::get('user1'); + * ``` + */ diff --git a/frontend/tests/unit/models/ContactFormTest.php b/frontend/tests/unit/models/ContactFormTest.php new file mode 100755 index 0000000..1fb4525 --- /dev/null +++ b/frontend/tests/unit/models/ContactFormTest.php @@ -0,0 +1,35 @@ +attributes = [ + 'name' => 'Tester', + 'email' => 'tester@example.com', + 'subject' => 'very important letter subject', + 'body' => 'body of current message', + ]; + + verify($model->sendEmail('admin@example.com'))->notEmpty(); + + // using Yii2 module actions to check email was sent + $this->tester->seeEmailIsSent(); + + /** @var MessageInterface $emailMessage */ + $emailMessage = $this->tester->grabLastSentEmail(); + verify($emailMessage)->instanceOf('yii\mail\MessageInterface'); + verify($emailMessage->getTo())->arrayHasKey('admin@example.com'); + verify($emailMessage->getFrom())->arrayHasKey('noreply@example.com'); + verify($emailMessage->getReplyTo())->arrayHasKey('tester@example.com'); + verify($emailMessage->getSubject())->equals('very important letter subject'); + verify($emailMessage->toString())->stringContainsString('body of current message'); + } +} diff --git a/frontend/tests/unit/models/PasswordResetRequestFormTest.php b/frontend/tests/unit/models/PasswordResetRequestFormTest.php new file mode 100755 index 0000000..8492fba --- /dev/null +++ b/frontend/tests/unit/models/PasswordResetRequestFormTest.php @@ -0,0 +1,59 @@ +tester->haveFixtures([ + 'user' => [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'user.php' + ] + ]); + } + + public function testSendMessageWithWrongEmailAddress() + { + $model = new PasswordResetRequestForm(); + $model->email = 'not-existing-email@example.com'; + verify($model->sendEmail())->false(); + } + + public function testNotSendEmailsToInactiveUser() + { + $user = $this->tester->grabFixture('user', 1); + $model = new PasswordResetRequestForm(); + $model->email = $user['email']; + verify($model->sendEmail())->false(); + } + + public function testSendEmailSuccessfully() + { + $userFixture = $this->tester->grabFixture('user', 0); + + $model = new PasswordResetRequestForm(); + $model->email = $userFixture['email']; + $user = User::findOne(['password_reset_token' => $userFixture['password_reset_token']]); + + verify($model->sendEmail())->notEmpty(); + verify($user->password_reset_token)->notEmpty(); + + $emailMessage = $this->tester->grabLastSentEmail(); + verify($emailMessage)->instanceOf('yii\mail\MessageInterface'); + verify($emailMessage->getTo())->arrayHasKey($model->email); + verify($emailMessage->getFrom())->arrayHasKey(Yii::$app->params['supportEmail']); + } +} diff --git a/frontend/tests/unit/models/ResendVerificationEmailFormTest.php b/frontend/tests/unit/models/ResendVerificationEmailFormTest.php new file mode 100755 index 0000000..af3548a --- /dev/null +++ b/frontend/tests/unit/models/ResendVerificationEmailFormTest.php @@ -0,0 +1,85 @@ +tester->haveFixtures([ + 'user' => [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'user.php' + ] + ]); + } + + public function testWrongEmailAddress() + { + $model = new ResendVerificationEmailForm(); + $model->attributes = [ + 'email' => 'aaa@bbb.cc' + ]; + + verify($model->validate())->false(); + verify($model->hasErrors())->true(); + verify($model->getFirstError('email'))->equals('There is no user with this email address.'); + } + + public function testEmptyEmailAddress() + { + $model = new ResendVerificationEmailForm(); + $model->attributes = [ + 'email' => '' + ]; + + verify($model->validate())->false(); + verify($model->hasErrors())->true(); + verify($model->getFirstError('email'))->equals('Email cannot be blank.'); + } + + public function testResendToActiveUser() + { + $model = new ResendVerificationEmailForm(); + $model->attributes = [ + 'email' => 'test2@mail.com' + ]; + + verify($model->validate())->false(); + verify($model->hasErrors())->true(); + verify($model->getFirstError('email'))->equals('There is no user with this email address.'); + } + + public function testSuccessfullyResend() + { + $model = new ResendVerificationEmailForm(); + $model->attributes = [ + 'email' => 'test@mail.com' + ]; + + verify($model->validate())->true(); + verify($model->hasErrors())->false(); + + verify($model->sendEmail())->true(); + $this->tester->seeEmailIsSent(); + + $mail = $this->tester->grabLastSentEmail(); + + verify($mail)->instanceOf('yii\mail\MessageInterface'); + verify($mail->getTo())->arrayHasKey('test@mail.com'); + verify($mail->getFrom())->arrayHasKey(\Yii::$app->params['supportEmail']); + verify($mail->getSubject())->equals('Account registration at ' . \Yii::$app->name); + verify($mail->toString())->stringContainsString('4ch0qbfhvWwkcuWqjN8SWRq72SOw1KYT_1548675330'); + } +} diff --git a/frontend/tests/unit/models/ResetPasswordFormTest.php b/frontend/tests/unit/models/ResetPasswordFormTest.php new file mode 100755 index 0000000..8d969a6 --- /dev/null +++ b/frontend/tests/unit/models/ResetPasswordFormTest.php @@ -0,0 +1,44 @@ +tester->haveFixtures([ + 'user' => [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'user.php' + ], + ]); + } + + public function testResetWrongToken() + { + $this->tester->expectThrowable('\yii\base\InvalidArgumentException', function() { + new ResetPasswordForm(''); + }); + + $this->tester->expectThrowable('\yii\base\InvalidArgumentException', function() { + new ResetPasswordForm('notexistingtoken_1391882543'); + }); + } + + public function testResetCorrectToken() + { + $user = $this->tester->grabFixture('user', 0); + $form = new ResetPasswordForm($user['password_reset_token']); + verify($form->resetPassword())->notEmpty(); + } + +} diff --git a/frontend/tests/unit/models/SignupFormTest.php b/frontend/tests/unit/models/SignupFormTest.php new file mode 100755 index 0000000..332ba6b --- /dev/null +++ b/frontend/tests/unit/models/SignupFormTest.php @@ -0,0 +1,72 @@ +tester->haveFixtures([ + 'user' => [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'user.php' + ] + ]); + } + + public function testCorrectSignup() + { + $model = new SignupForm([ + 'username' => 'some_username', + 'email' => 'some_email@example.com', + 'password' => 'some_password', + ]); + + $user = $model->signup(); + verify($user)->notEmpty(); + + /** @var \common\models\User $user */ + $user = $this->tester->grabRecord('common\models\User', [ + 'username' => 'some_username', + 'email' => 'some_email@example.com', + 'status' => \common\models\User::STATUS_INACTIVE + ]); + + $this->tester->seeEmailIsSent(); + + $mail = $this->tester->grabLastSentEmail(); + + verify($mail)->instanceOf('yii\mail\MessageInterface'); + verify($mail->getTo())->arrayHasKey('some_email@example.com'); + verify($mail->getFrom())->arrayHasKey(\Yii::$app->params['supportEmail']); + verify($mail->getSubject())->equals('Account registration at ' . \Yii::$app->name); + verify($mail->toString())->stringContainsString($user->verification_token); + } + + public function testNotCorrectSignup() + { + $model = new SignupForm([ + 'username' => 'troy.becker', + 'email' => 'nicolas.dianna@hotmail.com', + 'password' => 'some_password', + ]); + + verify($model->signup())->empty(); + verify($model->getErrors('username'))->notEmpty(); + verify($model->getErrors('email'))->notEmpty(); + + verify($model->getFirstError('username')) + ->equals('This username has already been taken.'); + verify($model->getFirstError('email')) + ->equals('This email address has already been taken.'); + } +} diff --git a/frontend/tests/unit/models/VerifyEmailFormTest.php b/frontend/tests/unit/models/VerifyEmailFormTest.php new file mode 100755 index 0000000..e0fe2e4 --- /dev/null +++ b/frontend/tests/unit/models/VerifyEmailFormTest.php @@ -0,0 +1,55 @@ +tester->haveFixtures([ + 'user' => [ + 'class' => UserFixture::class, + 'dataFile' => codecept_data_dir() . 'user.php' + ] + ]); + } + + public function testVerifyWrongToken() + { + $this->tester->expectThrowable('\yii\base\InvalidArgumentException', function() { + new VerifyEmailForm(''); + }); + + $this->tester->expectThrowable('\yii\base\InvalidArgumentException', function() { + new VerifyEmailForm('notexistingtoken_1391882543'); + }); + } + + public function testAlreadyActivatedToken() + { + $this->tester->expectThrowable('\yii\base\InvalidArgumentException', function() { + new VerifyEmailForm('already_used_token_1548675330'); + }); + } + + public function testVerifyCorrectToken() + { + $model = new VerifyEmailForm('4ch0qbfhvWwkcuWqjN8SWRq72SOw1KYT_1548675330'); + $user = $model->verifyEmail(); + verify($user)->instanceOf('common\models\User'); + + verify($user->username)->equals('test.test'); + verify($user->email)->equals('test@mail.com'); + verify($user->status)->equals(\common\models\User::STATUS_ACTIVE); + verify($user->validatePassword('Test1234'))->true(); + } +} diff --git a/frontend/views/layouts/main.php b/frontend/views/layouts/main.php new file mode 100755 index 0000000..493730a --- /dev/null +++ b/frontend/views/layouts/main.php @@ -0,0 +1,86 @@ + +beginPage() ?> + + + + + + registerCsrfMetaTags() ?> + <?= Html::encode($this->title) ?> + head() ?> + + +beginBody() ?> + +
+ Yii::$app->name, + 'brandUrl' => Yii::$app->homeUrl, + 'options' => [ + 'class' => 'navbar navbar-expand-md navbar-dark bg-dark fixed-top', + ], + ]); + $menuItems = [ + ['label' => 'Home', 'url' => ['/site/index']], + ['label' => 'About', 'url' => ['/site/about']], + ['label' => 'Contact', 'url' => ['/site/contact']], + ['label' => 'Новости', 'url' => ['/news']], + ['label' => 'Форма', 'url' => ['/news/data']], + ]; + if (Yii::$app->user->isGuest) { + $menuItems[] = ['label' => 'Signup', 'url' => ['/site/signup']]; + } + + echo Nav::widget([ + 'options' => ['class' => 'navbar-nav me-auto mb-2 mb-md-0'], + 'items' => $menuItems, + ]); + if (Yii::$app->user->isGuest) { + echo Html::tag('div',Html::a('Login',['/site/login'],['class' => ['btn btn-link login text-decoration-none']]),['class' => ['d-flex']]); + } else { + echo Html::beginForm(['/site/logout'], 'post', ['class' => 'd-flex']) + . Html::submitButton( + 'Logout (' . Yii::$app->user->identity->username . ')', + ['class' => 'btn btn-link logout text-decoration-none'] + ) + . Html::endForm(); + } + NavBar::end(); + ?> +
+ +
+
+ isset($this->params['breadcrumbs']) ? $this->params['breadcrumbs'] : [], + ]) ?> + + +
+
+ +
+
+

© name) ?>

+

+
+
+ +endBody() ?> + + +endPage(); diff --git a/frontend/views/news/data.php b/frontend/views/news/data.php new file mode 100755 index 0000000..d3ec7b4 --- /dev/null +++ b/frontend/views/news/data.php @@ -0,0 +1,32 @@ + + +
+
+ 'contact-form']); ?> + + field($model, 'fio')->textInput(['autofocus' => true]) ?> + + field($model, 'email') ?> + + field($model, 'phone')->widget(\yii\widgets\MaskedInput::class, + ['mask' => '+7 (999) 999-99-99'] + )->textInput(['placeholder' => '+7 (999) 999-99-99', 'class' => ''])->label('Ваш Телефон'); ?> + +
+ 'btn btn-primary', 'name' => 'contact-button']) ?> +
+ + +
+
diff --git a/frontend/views/news/index.php b/frontend/views/news/index.php new file mode 100755 index 0000000..0a7062d --- /dev/null +++ b/frontend/views/news/index.php @@ -0,0 +1,20 @@ + +

Новости

+ + +
+ title ?> +

text ?>

+
+ +

Новостей нет

+ diff --git a/frontend/views/news/one.php b/frontend/views/news/one.php new file mode 100755 index 0000000..e5922c1 --- /dev/null +++ b/frontend/views/news/one.php @@ -0,0 +1,18 @@ + + + +
+

title ?>

+ Назад +

text ?>

+
+ +

Новость удалена

+ \ No newline at end of file diff --git a/frontend/views/news/text.php b/frontend/views/news/text.php new file mode 100644 index 0000000..a1d858c --- /dev/null +++ b/frontend/views/news/text.php @@ -0,0 +1,20 @@ + +

Тексты

+ + +
+

title ?>

+

text ?>

+ + +

текстов нет

+ diff --git a/frontend/views/site/about.php b/frontend/views/site/about.php new file mode 100755 index 0000000..b40ea44 --- /dev/null +++ b/frontend/views/site/about.php @@ -0,0 +1,16 @@ +title = 'About'; +$this->params['breadcrumbs'][] = $this->title; +?> +
+

title) ?>

+ +

This is the About page. You may modify the following file to customize its content:

+ + +
diff --git a/frontend/views/site/contact.php b/frontend/views/site/contact.php new file mode 100755 index 0000000..6e6b8ac --- /dev/null +++ b/frontend/views/site/contact.php @@ -0,0 +1,45 @@ +title = 'Contact'; +$this->params['breadcrumbs'][] = $this->title; +?> +
+

title) ?>

+ +

+ If you have business inquiries or other questions, please fill out the following form to contact us. Thank you. +

+ +
+
+ 'contact-form']); ?> + + field($model, 'name')->textInput(['autofocus' => true]) ?> + + field($model, 'email') ?> + + field($model, 'subject') ?> + + field($model, 'body')->textarea(['rows' => 6]) ?> + + field($model, 'verifyCode')->widget(Captcha::class, [ + 'template' => '
{image}
{input}
', + ]) ?> + +
+ 'btn btn-primary', 'name' => 'contact-button']) ?> +
+ + +
+
+ +
diff --git a/frontend/views/site/error.php b/frontend/views/site/error.php new file mode 100755 index 0000000..1768747 --- /dev/null +++ b/frontend/views/site/error.php @@ -0,0 +1,27 @@ +title = $name; +?> +
+ +

title) ?>

+ +
+ +
+ +

+ The above error occurred while the Web server was processing your request. +

+

+ Please contact us if you think this is a server error. Thank you. +

+ +
diff --git a/frontend/views/site/index.php b/frontend/views/site/index.php new file mode 100755 index 0000000..b489c8e --- /dev/null +++ b/frontend/views/site/index.php @@ -0,0 +1,52 @@ +title = 'My Yii Application'; +?> +
+
+
+

Congratulations!

+

You have successfully created your Yii-powered application.

+

Get started with Yii

+
+
+ +
+ +
+
+

Heading

+ +

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.

+ +

Yii Documentation »

+
+
+

Heading

+ +

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.

+ +

Yii Forum »

+
+
+

Heading

+ +

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.

+ +

Yii Extensions »

+
+
+ +
+
diff --git a/frontend/views/site/login.php b/frontend/views/site/login.php new file mode 100755 index 0000000..6685b8c --- /dev/null +++ b/frontend/views/site/login.php @@ -0,0 +1,41 @@ +title = 'Login'; +$this->params['breadcrumbs'][] = $this->title; +?> + diff --git a/frontend/views/site/requestPasswordResetToken.php b/frontend/views/site/requestPasswordResetToken.php new file mode 100755 index 0000000..72f1693 --- /dev/null +++ b/frontend/views/site/requestPasswordResetToken.php @@ -0,0 +1,31 @@ +title = 'Request password reset'; +$this->params['breadcrumbs'][] = $this->title; +?> +
+

title) ?>

+ +

Please fill out your email. A link to reset password will be sent there.

+ +
+
+ 'request-password-reset-form']); ?> + + field($model, 'email')->textInput(['autofocus' => true]) ?> + +
+ 'btn btn-primary']) ?> +
+ + +
+
+
diff --git a/frontend/views/site/resendVerificationEmail.php b/frontend/views/site/resendVerificationEmail.php new file mode 100755 index 0000000..23f5666 --- /dev/null +++ b/frontend/views/site/resendVerificationEmail.php @@ -0,0 +1,31 @@ +title = 'Resend verification email'; +$this->params['breadcrumbs'][] = $this->title; +?> +
+

title) ?>

+ +

Please fill out your email. A verification email will be sent there.

+ +
+
+ 'resend-verification-email-form']); ?> + + field($model, 'email')->textInput(['autofocus' => true]) ?> + +
+ 'btn btn-primary']) ?> +
+ + +
+
+
diff --git a/frontend/views/site/resetPassword.php b/frontend/views/site/resetPassword.php new file mode 100755 index 0000000..61e15b4 --- /dev/null +++ b/frontend/views/site/resetPassword.php @@ -0,0 +1,31 @@ +title = 'Reset password'; +$this->params['breadcrumbs'][] = $this->title; +?> +
+

title) ?>

+ +

Please choose your new password:

+ +
+
+ 'reset-password-form']); ?> + + field($model, 'password')->passwordInput(['autofocus' => true]) ?> + +
+ 'btn btn-primary']) ?> +
+ + +
+
+
diff --git a/frontend/views/site/signup.php b/frontend/views/site/signup.php new file mode 100755 index 0000000..3b005eb --- /dev/null +++ b/frontend/views/site/signup.php @@ -0,0 +1,35 @@ +title = 'Signup'; +$this->params['breadcrumbs'][] = $this->title; +?> + diff --git a/frontend/web/assets/.gitignore b/frontend/web/assets/.gitignore new file mode 100755 index 0000000..d6b7ef3 --- /dev/null +++ b/frontend/web/assets/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/frontend/web/css/site.css b/frontend/web/css/site.css new file mode 100755 index 0000000..4a65ca7 --- /dev/null +++ b/frontend/web/css/site.css @@ -0,0 +1,103 @@ +main > .container, main > .container-fluid +{ + padding: 70px 15px 20px; +} + +.footer { + background-color: #f5f5f5; + font-size: .9em; + height: 60px; +} + +.footer > .container, .footer > .container-fluid { + padding-right: 15px; + padding-left: 15px; +} + +.not-set { + color: #c55; + font-style: italic; +} + +/* add sorting icons to gridview sort links */ +a.asc:after, a.desc:after { + content: ''; + left: 3px; + display: inline-block; + width: 0; + height: 0; + border: solid 5px transparent; + margin: 4px 4px 2px 4px; + background: transparent; +} + +a.asc:after { + border-bottom: solid 7px #212529; + border-top-width: 0; +} + +a.desc:after { + border-top: solid 7px #212529; + border-bottom-width: 0; +} + +.grid-view th, +.grid-view td:last-child { + white-space: nowrap; +} + +.grid-view .filters input, +.grid-view .filters select { + min-width: 50px; +} + +.hint-block { + display: block; + margin-top: 5px; + color: #999; +} + +.error-summary { + color: #a94442; + background: #fdf7f7; + border-left: 3px solid #eed3d7; + padding: 10px 20px; + margin: 0 0 15px 0; +} + +/* align the logout "link" (button in form) of the navbar */ +.navbar form > button.logout { + padding-top: 7px; + color: rgba(255, 255, 255, 0.5); +} + +@media(max-width:767px) { + .navbar form > button.logout { + display:block; + text-align: left; + width: 100%; + padding: 10px 0; + } +} + +.navbar form > button.logout:focus, +.navbar form > button.logout:hover { + text-decoration: none; + color: rgba(255, 255, 255, 0.75); +} + +.navbar form > button.logout:focus { + outline: none; +} + +/* style breadcrumb widget as in previous bootstrap versions */ +.breadcrumb { + background-color: var(--bs-gray-200); + border-radius: .25rem; + padding: .75rem 1rem; +} + +.breadcrumb-item > a +{ + text-decoration: none; +} \ No newline at end of file diff --git a/frontend/web/favicon.ico b/frontend/web/favicon.ico new file mode 100755 index 0000000000000000000000000000000000000000..580ed732e86556ec57f3f3395a210246d679c076 GIT binary patch literal 318 zcmZQzU<5(|0RbS%!l1#(z#zuJz@P!d0zj+)#2|4HXaJKC0wf0lAEr2iX{M9K3=BR0 y!E90pK{x=K$Oz&POT#sS8N$ZKhC)h8ip0_|-T#43{vnSYgXBQCu@O54$pHYIza?e> literal 0 HcmV?d00001 diff --git a/frontend/web/uploads/image_2022-11-19_16-48-34.png b/frontend/web/uploads/image_2022-11-19_16-48-34.png new file mode 100644 index 0000000000000000000000000000000000000000..f31664ab342c050ac74cd5253636865b9aa96ca8 GIT binary patch literal 82079 zcmdRVbyOR`^JiOVDN<-~rw#7zR!VSphoZqLP6$$<(BQ=#3KS^rZY}N;AgCeUW{6$?nX~%+6;d!ODtKuh59mo;-Q-N=6!_`s4|6@slS{mtQ_Ze6pQ` z`W5kp`cYcP`NzWPPL3hj^)PH zd}jITz1&XH-Pp+?-NzA`UkK{L#_H4dOz{eq4(s{65XXTSpC}5VE>Jvs+qM>Y z-4DH;w}vpW(mS{{6ZXBRy=PX4!sZ|lLV8l&v&#A0bN3;XOXK&P9(mt#dt^HSD8Hh#~rM zCZclP>w@)T=PkhjLBFBVV)1KTCXbQVWwNfRONqejUfXtDWg^oeFfO zOWOC5dd~U=^QdU<;={LA_@z0>h27V6c{Rb>*5za&ZU{_{H*6COE7{j4+oq^15iFw4 zvN@;r?bWW=&VPx4p)OL!bdZzQ4b>7DWArt$5X@VMuaW0wWMfm#94+#-GFnUX24VkY zbs4jv*|5f{yxd7(Qu(pkZ+r2faG!h5r+GEU8qM%)8H0TYR<)r3w1UYOtkVZy-cbW; z2{|6FUCI%Anfd}KSg2M}KD$TWR2kSYdD|^?wUSnzb9HW+idC= zKUUZdXJ{pOSDQ~kZTzLm#BuPFxm)WR@{Xq`l9IXE$AWuohFl1Cbo+T8ofab2ibdX* zpT;ZZFrG_Y+V%659ZeTDR!}6*#)Jqqa^5H8goku!DA9Tv6w=?@jMP+l-rRy8@%(%w z{>e|Ip_%Wi=!AO#0k?j$i|g+K90`eu;-|fhB2e}kUUKW^>0JrX)8r*PVEZj~&`vU# zr#R|->3Dx=km7l%C*%l6G=pTBCAvYoVhvqk=pl83vk3+(nP|$W@m%vu;PL%_&1PPZ zV&@5wD4L~eQoo2ab$Luy@C|c~>C?P0>55q6x^#y=-puQRW33CleHTi34)5B#rW0!u zly(>M;2ejKbB*qHWt9~+z$S9-`v*~3>jy@Yl9becw%j6Dd;9Q?)!mN@TsiWMZ46v6 zT$X0Wv!pTS<{;xpfs7qxnzh+l>-O9a#P!x|km8YZvaovp2ui%*;9{dIxA-VU8CW!P zGcccyYTeW}X$xVP+%wr3YFl(_I=mfbUJ!c&fILT0+KSpx?N2Ls`S;9zrn#m#E>Fne z1C#m8SHE#zTCakY*HHGz_2XKu&oAZrY*-?Wlj>!nP7g^~w9i8HN#}euN3F`819~*w zD>fB{leF9`x@4cSpS~C%BQE=3Se9^LrjX%8qiBv|7ryoHmRg4HU9A4JIXB9vj?y|- z+6d58fGwO&VLk3eeVA*#*uOgMI%gzTA5ty$$=M%j%JOdO2yT0jyAo-^Y3?zuT*!Y} z)Eq|%KOw?hzL8IoHEZ<5iz5F^{@uF;P10%4Z{Mrpnhv$P8@$YyUCzfID{EK3w`7@3 zU5E;2CfScXm@foH9)hSm4t6zc9;q)T;|qCKA&`aqUY#ay!mP zFeFyZqk*f9hD#D#HHz6YucpGqpSx*-E!&sU-wr}@Cd6=>3Bkyn$4xzs)f;`=eXY9i ztwHLohQ|iY#|Mgsyn#)e+tZDwAP|l>Eg-FsAClj=T`6dEwKmk%0w7!4kmxXInifso zZ{OG0`JWCGo3y>5RxK zL2{!RHt?!Odj~hPf}8TlBqjc;<6dfvps>w!^M!{&v8blzm~9GiLh}xRS}^Qt#aiLY z$Z*77|K>yQ{V$wSZgR%blMp?TT8NU;x^zX4G!faY%W23&&abAfLg!kaD|L@YjwTb| zjQfrgS3yG~$fMsh`2fg8GSca3xXW@|M&4E6>tSiN8+9v_j)$%l$lDN8Q)V zNXE)w@2rlt!u{yr78~-HiBA-yktw_mK2xs$c>3fpe9$8G&j6nIXun4J17n^%31j~6 zpa8$a@84HV(O2L7oqZ~Q?)c{K?B}#U-|N4#54K|eQADo#g_3Z*{61 zUArdl6G}Cz+{SeUhiAx&K^>kuErE`LZ+*NND)-7!cN()7yB{So*#?Hr0prTUW zcfSXe>pM>E@u9^RF$S-m_EV$}E)J^N>&=~Ch%;~4P0djx*MPVdp`Z2mbxD-A6$z8& zEeZp+sIldc+G172Vj%9-1?~#qewpHn!pU#ujM=#^tc@d++6IuS2mcw_w%(_eTZQd3 zjf>MxcNu|3$y5b#Si{(^=I-S+a7#N=xfHvm9#KBeU-wVj986jNF!{;SW$k_B{cSL3 zZmneb%0xuW#uC+YS@MkA7_#hX(x7!V?o>;_5XNca`P|N4ZbSQQAHMNNOX;&B?a8@N z-vw*?`VV{t*D`ho&7tvh_lMR@SKd=@&G*3}uk!R--)21%SNV1KNG3zKUFT)8)WQ(z z{&Bkbt?b*G**T^JmT@9^u^8_opSYtc61yNc(wE&qOzd-=*%|GYqn|p)+8u2@sN<6+ zWi^65=CS?U>Qhw^cJFv?#r?;sJ^^OnjVR42pPZVU-qtJZRV(v9>^Srnclwb{r7#TN znNT5#efijRrpf5eAaG3i%cFI!cPrk-#pNZkze91|k$?M{!ud|`n8RC47d}{bHi@0< ztdc8v-xnWp8lt7}|}Ej%#r%DJ!< z4iqA!IOwJX-UK(`{> z+&5SclNZnb2n}XWkGWsB=u-Cpt`)!^r&ha-YCjiEp}5;2!+4I4jxKt$o$dR0yA(sC zaC1HEo1UC33wpfHc+4NMY`NY{Y5#&nfQLsW=w{m;LB`F^jnUrG(P2AZcQTN~S*TUY z!om{YYc}NNbH8WQ-Pw7+tJQk5nc`sRb<&xfoGcSVQ*6}ga}D31{1GTon|Itcpn(;L z77QzL&G2#QyIcWnP-T%Iz`Mq7i#?Zt^D(I9R}{J_(ydEzoxY8oz=^rWL94=~Fz|B3(j3@o{yPtIk%kv!krqf?ns%;Yp@5N41!t z2Jh!v&nS|t_*LB&dF>&wS_U&Jdjoam#@OlYP7QEn*XG_8%1BiyB`%%_bWBt&);iT6 z!ny=iRAoDlXc1w0iAC}5u9&)eBKNmety1Ke)}oGQ9tPRvgPU(-kv~feryT6bm=(?I z%o0_?V)PJ=?G+BYZ&MUcQnWxs{X476XRwwidgOOZ&I`Z>m?78Y8Me zpf$r>{SyBD4_%RnAI0SbtCr$1^~Gai9q8J1H(*Zatq1et4R}S1856h)LDP9GyCq=A zJKuTQGGc}ES-47mN6r;|OCIkWZs91My7bM|EqiRzc*Ef6p|ZN9K#UKXKYt>jF@^o* zWd1o?Dg}_Zj{1*sd&$|q#Vis!4Hd*j7BD#A(}8Rfgj$fds1Z$0O_drnPA)AyA{14x z##V(P4gdgv)RmRleD1D{9&e^V->3Exm~`OlF-kSHwT}qhf7mm6Y_MNw$XClF7jW55 zXuYEbBn@uP&dwGU74;{uie5~cMhd}u)Rcr>HwTim3?ZG}-Qbhe&g|l}?45q4s;!R8 z#ab%ej!FY=1GniP?y$7NYF^uh`&%2~b|8UNsPHVYlKSDJXty{PJvGRs-RnlXegAe% zi)A%Q$?7t0Cs)bnH5;$UtiCpFL?~9maTgR&{Yr&sjJ`OD78Nbw_Uq0Sz4N=+*#xPG z)3{qk-S6dC`Lud_EkaH|tpQRmzI+A$+<$!{I>h7j){pZpfBs{p+93vV@zxMAZLg^} zLM#eYk*dRZC$`MhcyV78uZqKBUjtmz^F{FRo7o&Qe|v8B5?(mq`abS5wLG~i@7cE^0tbA3Q&%9%`q9DENhoP)sDp&kQMt1>JoPjuiIgclNy9y z@3x4&sh+U9B&&Wd$)YUVWUoC)z+AIuChTr$l+@{NZ`)M*dr=j7*3-h_GwM&24qC69 zRMw#2IRf`uN1|(FSYgF+$@*uJ>*m+^6yKjQ8hC%uf600E@w_3B7O6B*p`!tU`};gy z76xNA`bv0kBnA><&7`fKw7%4s@y{BM!fvU~zbHhyE$ODszw;O>na}8;=|nz;v3TkH zAjuW5tNv1*2f1XCRt`;?oE^s0enEQ@s;EzQ=`@Yt8cSoMFOMEdF-_VXlphNM>9;ns z8L*?%J~yCy1YNp@#<5;J=5z3j+5CUqCM6YJ&j3LLs z38!qx5(J+{rf$lZ6_*z0C7qQ2!X{VgD00pd-NQ)ip#;KD;yfnwbbC49(0#l6y5f~5 z^gE_!)?<<`3BU-%4(xUlJ)z0W#mUf~C0*awju}d)zi_n=Tv&>zV4Fy;2cZD^zU@k{Gt96Vlam8ya7wNZ~3r zGBY2|sAH3*P{%18Ke&M+#wNe8nT_7WJk0s{dueH&YeLQBw=;B;o|Wx& zPM{_g5SZDodedOsV!PTu(f5fS#Jg`uUNU+t)<`Gu7wE6| zx2aVOi(hFNSzV5Z%UoVx%w3G0WGl4vZL~DCh{|ghYfAN>WZ#w5@6O=ZDsace-C~`@ zcL&N7w){;_)lo{~q8OIphTEGY8mF;0Q>R@m+YPToktMmt0VwsH z9SPNU<_&dl_=3w;EV*k#s7%O5UX69id0A;sDF`Xi;lj0R_F7WA*8mG|;AaU++2UYU zmlu7)#o=H*DmWnkz|R!4n@x+6Fk3Wr;L;r9Gb*e<(q8Fq{nb&ZK?anz$!M3A-y$rW z`98nYEH!iQjf*a^=+NE{x6?fCwEzq@tutc$>QQKfN{jZz+0ubxOuYit$pOLDB3lZR zp(aFRfou}t|^}J29 zHSpiK5Ful$sG0vViX3&dp&iz$Hv>`fkn#4uO|Jj&VB5~z+G@#S3TEVvo%KgKx zVS!iXb<~LE-NKPiLUQuW-RUqovj5V0MI2T444j|>F|8VS9 z0sDgg0@XoV;YRjgEABz2+^5}z6W)B)fg{(kK=H#edb)7Tx*F$vUn?bZrKx)7uB53H z2HVbUAF0^$79Xc%P*O^d1kI<}HzlS?OWG_&js7|2kM6HT)ou|1;nJ_}XDE%cj`01B zO9xJzWnH)*-rBi|lr`LDW)6?Q# zFf}wZ6cX9qa&g7No*^N%KHTi>jO7h)(?m(X*xK=zayUxOUKriI6V(KsuvP0jjqI%1 z7bA%7A00J0cu29aYFMRCcVXo1W3d^f814^s*sEH613$+0baVSSB*3RTWKagb@&acV zkJZPcKD6M#U>*-nt&Rj3;qhIZlD!!9Utt2ey0aa>E`zQW@PldiW=pgU;>Oz520~_8 zc+SHBRm6G&L$WtzCKZXr?`yt9{&pq>=#aDs&3Y=$`@h=@?!$>E32@@9K4WxB)oz;& z8)Oznm+!)#`@Z;bL$9q5d^58bnZagoR6Fgsu;QbHavTeju9E>VBf*t(u)pWIV6 zH>B5=-Q5>xr!~MMNwH$g5Y_pXi81O}cTh{P zv8KtsMxQzp%aGzvXn%Y_)FS%(Lto=u99tsX0ujr@&%(pQH#RneeP29(E|a4g+F1b} zCeK&D=^}Bc3!9;lPh37YxW8^&u z5zuiCVP*(>qotui3vA1lio_ndIp6zInEds8g-p~r%Q#xUhkJtDp=|LrHh>*omNao2 zX&D%0?6W8|HxVCC;-fM)*K#EQ(jdtv57eY_x_&kD?--86BrCcAtAF6edkb=oxwVZstLD&bEHK-nZd|%YgS5cmODR{vQ<`-6!waFu^ek@%M+2@t@ujUcDGkh zCFRlg4mHE3;JzS&fRy!ezsk!wE3@6b=J)KREC_SY)oH#=w+M6cfQlD0<}ehe=4;*d z8`LG2q4o)?_Ys)RHYvwJ6D|$ExD0W5{J(`Y(~duaHVCAIC<8h$rUWyF@!jaPs2lpIDV zVR0tr-%FEd(VD!MOnit@61hf19G(w%zK=(b%mxi-Q>_o@Hl@up*ukS?V@hcP+*fvf zYhB@URaR(^Qc~TE&Co}Lj`1bPrwN>g^Da)ec;7k? z3vaEgu!DzE^U^)7ku^?Zr9c^i9%srj#R+_G_8+9vFSr1Jle@!6t;kZLn~ewS!gfR? zsr)_FKG`-kZXa{XraL%RF8;WsXf$q8SBCDocc1!l*rNN@3Ei7vU$@xDUj<0FS1nOk z&*cFP`7*vZ>td=4!8pvn7>us((dEA|R6qVWKWlVP7f9F2n>bu@ZIc6L;MKDI*dk9O zKsWrBJCr2!>8#li7gX=-zD|RE9h_1^pNIHDi*W6 z;bFDLH_iFJXd#UoeDjE`xDUJ+wY0~>wdbe%LcLq_%DV?Zh(ZK9IS$S} zMWfgJ2E0Dz=swAo4aa0!j^_lOu@n;aT&MM#8wJ6%F zw{JO-?sCgS!U*_nHA8!QPy@hckm?(5wXtf&J>F`9Ch=9IZqRG#CF3UE&nJdRhWpE% zVR4avD<6k2go#W>%x2=$Z2&~^@^+L5;0T{oY}XpCb%;ueKe(F{Ie%iTDCoIO3IAU$z86_GPERdxmbN>vCJ4W z{8+p7NI58!-mIFFJ4)ty%P>{#19Zy_PQs~>dp0}p|_ggl!_71=I!#i4n z_S~3fQRShKgGV**jlGiR0|h#2Tn{*g9JP&!npJt<^qBsp01>2{Ci4B3dhJ%dw*FP7 z=`#*_W1fvi{y{@=RXOG4Qc4L|E9BSceGf&(Nk%Fq&amKw;qD>xq=9RnW6Fk%>sxFc)I}NR?X1yeWTh?S#7Lfg8Xn#oR zZjemo#>7qJrRdHUVWI#4<$Yg#$v2?xX}t{~ds0d$%7aO=%KcqU)tKn+lsv*E%<) zg0SK~D_)Ivw&2M4BxGTw?(kz>3M2>y0|7@ybL0SM{|Y8&gqzpz^3db6;11D;s;^8A z=@C@{2jc)mH9Lu@BGXRzx&~Qz4O+hqTPSU+?M3(%@s`{ zq=Veq<5D1AC;i_6;jy1PLA|uc(_f!sF+=%S^f~qkM-X``cQ-fek@emfDIJx6M??`C z)naRWsN^<(f@(^&c)Iyu)?Mtd#YR?I)W{Oqz}lg-%LsUd^Wq}xr8gqpvlvKZ5Apm* z`d#9Do7`mFQGvAxBjEG#m|Lm8b z2Sa+kcE5?@>nY{=oEotsiZ27Q-sq4NMDU=tAEq!9>2yi}N0Pa1UL*h4xsG^c1{jp#PVn5H zSaBF=xxJMP_f zoqmdT`f25^j~h04#bni!L(XnejDQn}2*Sz`M$n6+u9`s&q*+%S$N#sg{S?`MmB5x! z)+aZE|1t52Lg4?qdf5Nl)w=(4>Xtl7Ew{qBXG1EN+{*t+YniKp?^s%L*(1^qIn;SL zvgma-&t>oDm-X6gi|wXO?{ejP$Cf1HZp*w9sa`V;<*)T#DGX=yv>o!3o`Iy1#bkrfiUv!3&&V+=l_Els#U=TE)4#O_)(RTjTc#Ux z37QN*c`7^B8*WIY_D73W?{ji)O*1J z=?^EJ5|bZ*ixg5Nf9LB`R#}|b>86W`zf?SI>#`aT%WTTBp?2rud{6Z{i~xogI<_?V ziu`!Spf&4NN}p+s1#Q2636JwZhbI>Cg!Pma7EfhpG#AqpHQoDOu05NEFJ7~POb4V0 zt`7929xLhth%$#lp0gTW<_@ivnEa*i$&x5#FcNc6<%{V41;sOy^2FdcnQ4(w?flO< za*~`GfY1Z-tS=nB|x#p zob^DAgQB8+4X3GzO1)&(C~Y1-NiJSJzWyQH@^2}8`9I%-$UvYDB10o4d{ktF5m3GK z(wwWcrEwC^tTb^X3sj;t-(Q2J#sqRaJNwts@bhx+Wfnfv6@u3rFD1P|{XvIaCs_eM zEB)(`373v#h&mHMj%dh|3;W!5kUM3dBSZ(>dts3sB|X|)u`q4>)=k!3WRYV-D9&Fx z$K?DLyDxIP9)g5kyWcPWs2!yf#jw@56TgNLbXw%~LeMfW(VS?f;6Os@%Y{ylbig`D z04UkOAo$q(@+knoeYEfu?zW_`!G5Z)3Y_rLY-JULYD=9ktX7)fuf6~4XO?g6uO8kV zeozUH(&(mN$W6@E{1S7~-nMvcFtoWvLA8-ZnC~9uDWdiu=5w^pxOIAZ=@=rhTQVfr z$nqEvl3v2ImhM$-P?9cM2aa6Z?>I&YKd7?g%ot8^=u<>@GJ0gN3lx5zLt4dbl&RUv zM0<`~qAGEDr`FdPpz6oeV4uWi&&*Dj`CCFUt z(d-XXHI(iT@0Zt}OsxU>+m*6FC~HB{x>qjl>b+WJC~D(2YHFKu`7KnJ=hzljKAvXo z?D*o>BE^23+isidwTv8VcwzNM=XC;h*G>DoOLgAfO(#arXHwuP;;P63#qmm@j-4=& z#l2Xuh+?siTej!0z+l#9mDEHgw%C^w_0FfvxB8HaveORzQJYIEouO}YX(?cJTkTvb z;2KmWgw~ZFs$>^=Te4*K4?eJcP7x>O`5q;zb|^p7B+3X$_dmBF%zuBc?PlfdKr=YI zKQ4im&)Y7&UNE7Pv(*sqzAtM*I4DRfSE)t6!PG8|mkfq0Rl625dlx|I=-d0UV=85b z5Z$<^xjYI(bd`#3w8xs}JDz>)tvJJMg=m7Fa))&K8zm3&P9un}6bH9$blwu>UTTbX z@bqg9I0c$g^+FS*S-=K!tkQ+2AjG1&gscjqF1k{&Mf#0zSY{F^G+dW1;34Q;$MIVTNd1V%TIL2iJt*3%Fh9)=d zKQztworBFqKZpElew)W@AGYtU3%?-TycMBE%hpa$>c#N%{8}mvc^l(=tNixgEf+b% z_8;AUvMgmmbrgm2k7^36|6{y`L4krV%y7KTZipzLGZ{8YKp*seka)G~oJsiVCcMU@ z!$C&|mdgWT&Ri5_kfcEBmDKOwNY4zOD;a%#^SYzSsu11y%D_z0bHN(-xI#7$^j^tto6>%@816GbIpS^$I;ZpvN zDpY!a$$FdEtK&cs@Ddv?FWk9T^8=Y2?ozyPU7NFd?ivd2MSkXItNFg`%T39k{A{We z!54uqoX@+zH)$Hb1*-Knd=Oin#SZ1nOOtsf_TKL_@**Tm$N#5PXc%a`g!M)(gj30n z$>n5r9!<`D2kcCMesdr;5bEi4=>IMi?sz0NDnho)?(${g%>1G%?@ce&oF*acShN3=GQ3dd>uQ+Mi zdRbbSXCzl86r~)lu#0eIAH4?_4D<{4KYG|NOC-rSjkTJv;t zZ{-eROmWl)Wevmu{7n2l$bJ~e)_Xy21Wrzqxp(vNy3FJ3sPDz24n_`L+V53trIvkt zRpgd9dqGN6KRwgN>9%_t_P%O+v0oa7h8v3f2OKhT%7uNO!)4#Dz%I|RnBJ45;MN1) z_|_PlQvn-UoHZYtpu01tI$`c5fYP}s(YY2aA-{J#jBlH7Pl>f_OU@+dvr63h4-|>U zXFKRA+{5b>JxY(hn9)n)_LDPL)bWd$P1&iSJ+$#?*LU}>yl3Vrw1K#_@rG17A)Mk$jHbzs^k&X)KBET- ztHL0K#T{CIIQ48HZKRnSJZ+^)FW0p|Uvc71a{X<%8LZ@4>R``Gu>Rn=Q6n6-d^@5M z^P}e_KFD_T)lJ>gCm(EybVx0Ec{6wkhlnv;@u(e2d<+>X42M18YNUt#9LiY=N?h11_PMfK)0`=${s zUKnxw4tDQ%$!Wf{ejglq}~a~rLMZ=%>{l4*j#3KYqPmg*i=NTf}Y+E+&Zk-Afz%l zwQ+PPJUjm@Yt_wlRh1sl?byLG=)_aMD*6K&Fn;=+J~Y~CZzEst6mB>OD<{b9wyGiB zfWh`}=HuAukGQ{-3=TngS@&eZi%Rst;FucxghN(lA4ZK|(l|zc=-0h5Ebt%JX!?dY z!uO6ub4!E$y3|vx$yFY9D#OO6?^T!R>6sVw5*sy3pw!guI*>*YUX|viy)MT zHk7dfJKkXg%ld0-8f?PsfSDOVNE5Tpp#`DXqqDR6{!J?AydiB9Mq7EhIH;I5k^1;U zU`GM$)uv%P+99L^DyZ78h1WPJh8w$Vc&Z8|>ov4iRZ$75^wE(+^E`a5b{6N?iE34O zp(rPDRup_nyY8yuFCH2)wI3D#>Q*4h=6MN6Q~Gy^p`2q9M542k;yb;;PR7N! zgiNk=;UrIVFk|*?Sz+Dyj0+Twr6ivuKAYw}Bxh>;AVy;x806~gb+h84N8T@#)7SUd z99X2%^Tuqk zY!FP7wpSiL&U+f(KlXiu1Un|&)8({v7oFjC_S1>c zb{0)+_ECOfS5klqM&2M)wRB6GfAm|j0%T8}Va|0wMnk=LfN9FnN{n(ZkYx2E0AQ3} zr>m)TZ`yR~ ztaUuJ{-W>mSm*h^%C7;AFLX829>e@$bgDW%gm}ID^>O(#V?lRUk|xUiMgKh@){zCp zl1gNro;qPU%(wh_404MgOkyxB-oy#6#?ZhRNP3Z$l5H{*6X&g6v+{{&j>xfCRs|wO zWxJ?aaYGhPExN~TFwmbDk`e8m^ALV2%HaAs%0PKl;RPft_jW7TC-diTSDP&+Dm6rG ztO^{}vfXWrSlg#c$(iiv4QA@%g~GYx_v!OCAc3Vcl^~bNubg~(z+LCgF}h@QcktdT zkl2Dwt#c}Gd!4X*XNUxG^=XKU;Zj;F(9v9e6I~(@JT_|a8bBn=#3k?aq#3wlH zTWaAKJ9e}l$db3aZTBR#OQBRTVw&^IKX+W|@PKu4hl3%wxk~FzxfrgZ#UuFap_Reqa`649_WV z{n_+I(bb_KO3(q$7>7x4SY5=SN&%@<*oPmbii(%Ax+TKQm;5;&ddN1z@UEdQxa2DW zFV~s$1*gtShY#6oGb(a8%1ng^V`@a&CR!E)^-#7- zQ4JmiJmuhr&KYe9eN^M@AANNO(O#*kse8o2U`*73w|s*PV5QIY7e zjO6LlPmD%MO{%?Qlkv{#-eqmr(Xm`$&~1-~W%Wg3tVVOIW|^ECwsye9hsWg^d-nZ) zR{s7jx((2u@A4_c2xaWtkX`{~pYJHSVSO@-mFd4VBg|9b41%Mz9~Unur0nPjmzmGH z&ISzbXHmVHi=!mK%`{6s=SC6~XMtJO z`3FhDrVZMzo2S<8DX4xnp?oD~2FI(ZmAh426V08@L0Jm)>}W~a%PT7@fK%Cwlqxq) zDHAu?VPo=qm0kS!6sLxL_B**>99W3q$3$~q=F&dNrPa>J{G74#S=75X*e^k=Evz5P z)Hic&fCxOFssxLj@B2l5_z|Em^1V2EXK}D_8RNQ?08KL|N8T|i(xoA+oCL$&MK-a- z2q*PXUC*<-FMVpW$beM9fQj%3K}MouM<-_Gi41XYi>20cfX>B6!ZEkZ(APzKs}_(+ zlI?H&O$+p1s@0ZIGgTr-{K~+}#AGWpMv|F>v`#ZB5ym|zWq*PUwORf6{a00UiyvRU zbbB~1SLpYT7KO{{0EbMhb1UmZC4@5qn7k>b@=)aFk20Bp@Srgp(dKoL!*(e6wuRFe=Db-Z;=YFom*=sGSnkYOq?ng;;d9+6Iu-oRwpVQVLG@bprnkT;>hQX zYOFCXPdrGy=>56aRWNjL`X+Vnrf%zS&KQO>qoXL(&~#e>RO~r$?{)HS!GKEQ0IIdj zL{f%DTD`@uUhXc|_GEIpLz{^KQ%jNdDae$*`)Tm@jU0(N9EsV1IIHI{Q{+?^cW+)y*eS?DVq_LlQ*vTMiAEjdWQ%u85Y5M&Z9WMu%y^suY}x)KG=z`Er~tr<|2&<014I zNpc)qI)_+0@7l>&fF=`>c?^q->CL@arOMy!)HvM;D4%ScPN4NM%@p>BG?|vdKD3R& z7v*bsmTOK%z&|D+PP*6LmIr%q+tAE` zCmEJDszJvI7Jq=!I{}@&We!hwLNnqsJjDkqm~hf#FWqD_D0Yb?8NjLK-k8vI|q z01;$r&YazS)B%l_gy)-W2l3+r)P6|@E3Z;^O`wu3p3s#_fZ0|uV-2|Jn@rR$nihYl zlL;hNmilcn!7mNG9C8+35#F{Z?~Z1u7tan{d*j1(Ah6pTjLwDH_Sdu( zm8270S*gf~zg8HO4k-><9x80#coD(F+`2-@@L0j?>_oG9xa&0v^*jR`Z3pMp$of8_ zm=jd6H2louJSx@v4M{uo8cnI*lWcmTCr^CpBymuPu@W*WICqHxj&%8k6ft~V+I8#T z{zCUR;Rd|b+!BEr-{*^V9}ewUJblEg8Ki2nmRBvNyd!^k7%-SUGN7Gkynk?Ph!G#wOgSfP!GN zjA*Wd!lJQz3@-Z0S#9SmPC>PtvKaK&jpO3v&w|o2)rZ~!bDWYhmzy!{CYHfYggl_) zU9`M<3zlP%uN+d3N0a}_=o?}|JPWroK}EHpQTX|qe^zscg46{tgW zPZ!n}Qf_v$QE2j3&c%r9n_Ew9_$rsLY?MfS42Qz2-5|4G{FFpDYtCa9u=yJKmiNWc z8>EwJ9tGAvXw_de6j->$w++I?r?zMS>`^2kdup#-U!WW1zU0{Y0fYw?+I4tw-@2(h ztjL>B38L~HphRFznVdJz9)6JSnL#@}v#TO=vv9d4940F{R$c6F>f7E=j_BSXt z#RH7NPBrbkcxnC6#-dO4se#d-8Mf$xrTM>%H0xE}AJgk{|KM-~J}?XAb+Ra^Li08W zaDR)XnMjm`AhQ2If&@gK$ylyVdN~`&-^^AewqFO2NxHGK?=Uc-X)G1SK%%amdpuzaSewPy$0cE^qUej^_&R@)d%#OaEL*6VHpp(MGCIKo^ z3W~`QqZf9{99$p2?R*Ss(XVSZd^Nmqxz?kUbl82%EQwA@cJdL7=t?psL1cv(hJBf( z=5EO$#nfJ=p2K4<|648N7VJN7ihI#UrQqD>loLBfVAnsPAjj-gbUPP17MD8Sq!uT1 z{K8tYuj{-XRjHe5TNNjJ{aNG8M^!y9LxU>D@R_tIPvxSB=+JAj!JFv2H2iA^AVTLC ztad0=O~mZsRf~=uqZ9S@C??VAifU4LxkDc|IL+n{4~RKEYEHSoJ|LVGH@(^&8X8(TGo~S*CBpKOWj0$0cJqEeE#S z<_{dYK0Zya--Od8wuV1pIa7k*uuE#b@}7jjZ0-rN>q4Pi;BU^cI|*;kKn9UfWSoC7 zEz?7RvYz69iSp@@=KULoXO?dl2PZ{D@yD)ko&SZ5^REPaf|%UTT{!F(A#@s}-X5RN zk!$?)1#aGJZ+7~(eiK)dtW@`-)YMGVZ0)r6zMl$GTv!_8^WP=!QWsl9h$u|zs7lgH zpB=!!D5h@#PRB=OmTF_b!pY_|m#n7Krjis#+aj zl-H4@UDppKRr54!d?5yGF;SN{s`GsnrMYG`)qA$}IBn9;JmPfaq#!BYGuzd?5jrp1G)&Oih5jZ{IuyWYJ;s^`Mwh~H;^xk(nQ zR8Nk~|Dyb>QtD(p#a4vBeX0(u$3>-WKU0^ul~GwE2>=LNyp7Dr03q(X!9T$?b9`dGlBv9v^I><^-`KI z@Czbiri%)OZ|>Rl)nKRLofp1CuzQa-Ic=D)q7O2nM8W|ho!(-ps%Y0NhU(?BemTZo zUCihcd`_`1az~sH0ZLkpN8NO8*?gIfqfNF}b)0LHJUq7KNfRPPywrm$f8Gc4%W!&| z07%b_E@ypwsZKwb{RIsfFuxt;=Q|TSRM_+}6If)gy4Wz@Xadj1QZ**Pj$-;Td@Ie< z$XYQ6fLW|2_iTsQLKCeb4=Bxbud_H z+s*P3UzKTe$J|GQV-V@yZ!~{yz#O>kJZQ?qtD2CjArmgxx@<^vbX_w=zbe`u_F#@i z099@mu?9upQmd;h52*moG(@U}T8_=;fw~ZlC_hA)U?897JOnK}L!5ZZKD0xB60&rq zEVIZ^S8StCzQYp6;kt_JkiG4jsIutV6vA(A7>1*Au`O4Fb%oehH#&VX`Bym5? zTlKOp%w*Bn0E#ruI)#Zxm4Kdn*VyPWH1$-pB*b7?J6!gzv16;C@7P+4{|_S3 z>txei?6UIjY#_%#OTkOr-5+c^AO0XjqNh|`$J(>W##w!UNbMWr=a}uHNa>&>TUEA5 zp|tL^!KzRzer(ON)gb>MBZ&|yb;j4~?$V^fZEp{*c^T%fsZ!jSh@5&ZUbv;yzvkhP z#OaOsFv>}NxyDsIiq}^vOgCKtjK?Z%66NM==?i)Q5 zZYz}rJ<{#2g*UWh{gKzoX8m9w9>sL zXVm^^&e9Q7%*Xtv0koMLKa zFoLDjw#By^Fz#a_QG_h$C5Nl_E;IKq4vyGe+V&62>6YH#7qDjw;c@M%m0(8JLjy$K zgk)C6thtyoZH}}rlwrJ2ijJ+7iFT_x{`g6RrQ3x_duyoKBg9U`4i3HO{o^RM<8(6f z_ZSzx=;^()(;W-%UT%Aa(*D363Dc*jt$oAWyuY4Waoo8Z^~~f(wp_cQQWdOc3|xyb zIL<5?zpaBRvVX-(2mL+pqK zO;waN_2Dcl%I2S6fkA6zpnGwjPxx8>Mr;!Dsq7iltH+S?X}>Udh_mEO@-2( z7_&Gr*U0g1{IkMyAO0a`GAf27QrEkeMUUW5k}I*~zOIX7VG({Xa~RR)J?UdRa%DA^ z!G~$@BU}LJa=uJ%_@O{WLf6l!Y3_4{ghI>tUYto8D5B*u{7-?4g5_|HD93LVcX6uk z=UKOUA6g!hdr)Hwb*TnJBJ`tgQ_t`C=&Y|Z)O>QM`ix%n`A@7zzF(}WK^+HuhxBau z9Axm%=0A4=b>*~y>2~b!Kb!w^WMUht17YC5`zgNYpvL^`)PH^dN%NNv@qd2$&;Ez{ zjyJ)-F9rH|t6y2=t0^J5cFX)^y4(~-gw!|snGY{($NKc!_;s`728E^9J#IaRMiv3t zllSv|1-UV%-I&xx`8kl_q_fCZ76#O>e~3y_VN`#?6?L)*A_m^f3y#an+HsbvRAai$T_sA}i)kA@|L>;jM&Nq!%S}S!s!R)~;?=KCahVs4tv>wZI(tW; zjc7?lpxi;oe$X(;fgs?Z8>kh+-y~wqSkn}qHwX*J87o~0n7KDXFEljR&Q|b{ zPwPgM^0q;b`f`s)d{AFXzH3g1ni)P!m$rRcZ*-uaysT0U3moW6eD*}g_;06lu(w@9 z%&TT*4HInq4C*#IZ-yB&xvG9e+6QCIu!m+xYYfTTdU74##)eMgKXg%c@xH1(6(po7 z+?8E}!E*C`VO8JeQ1zbsX4^^Q0bdACd_B_~THiW-cSwc+5aW#s?l-w}ViW&VY;_;EcwZX3B9m^lbyA+@s&4}fi^nf;MSKvZd<6#YO%e!x8%kH2bfcDJ8LsH z`uQk*V}+EXWZ8G(rDaKWda+X_`%^V*dE8{Ry_klFkth3dZU!LQ2qL4)whGR<@=Wat zdaw&(o(k%FoVKp1fvE3?Rha}8(xji`26J~m^xHD%j+-*!ClfpdI7YI+eJq?6{24jI zWg69e2=`9?`!tKNJ6FnQhdeo{W!Y~LjwH55@-xJz>d(xMaJ%Jlm3H7Ah&|E)7lrj@ zzR*a0T?bP9X=VzB(@*N*2eBaL6JCSom9YgD@GY#AvAvVocw6<9Mkb}&sLZtsPUGo< z2uB{xq1U%@yUyi(FkgZ##p@Y@rH2al+1A-R$wcok?%#v0_ zS((7E=RVU3SOM*JgU=!dW5-d>y@;ok4OQNN8oaKn`d>m8)=Ac5dem2)H3`&ty&6=E zTb7R6@ZTR%50cGK&82{IXOUGc0+YNqVcXc7Pp0mW0_jqeGk%yYS9$`I?>M(poV-?S z4i)a71s}`Y-qa91iJx0ZJo{62(UXpo{SUeKuD^7kl3FeUd!`AC7NQ-0M zjb%6;&{liEiEVf+R7D60Ie8X|$Lf9f^}1~}xn<-utGo*?jM@Gu?f{#(9rle|pu;il z`_`9Xv|g2^rJwgcX{i~_t z`8IB|9iD%(@U0pF3az#S2N@>y@y!-8%JKQ5B{t!WRYn^LP)viDW6>XO$h(8V1RAgc z50()9CvLfOHjlOg%RZrw4>q7bcW2E?uZ6D_xtj-9-|bE%FKLWGED1uWkOCy=kTXOD z9I*N85y`QN?4ZMzYq;8unGGX~!yG6xSIEg81i2I9@3fF;=C|Ivj^z>BVZFHH_CN?`q z-?+XeJ-}}tQx-w<%~Ag*RsyWV0?Y#js6c;E*V}fn;&^xU+Tm-m1jyW5J9Apw>1@{q5J*ANr%XHOW}h)eFf>q&(Fcy)80Wrv&rOe(>6V5dvmvMCz85Lc=S8|f+MUq$ESm&_?7iE1*7 ztL*htAWGJPpzpKSdVG9G+jk?`@k9d+jl@x;c7ZbE$5ajy(=7Jq#IkaoX^0`u&N>|W zLagR5-TRTfd2!yzQMNJYRi~k1GQRt8=-Rz^T9t)OcT@xm&iKYVTFu0@;W&}z)Qk9I!?)1Sb)pLY_f*T(F^1-0~LEz??7#gdy;wl@7{wKLUd21cZ^hA zVpn9I6K{nH5>;adtp;V+R_H1F1jXfoKsZ3o5gJ3>P?LG=s;73ra>vqq+^Iv3(@v^J ze1bRIac9H|2@FkfM?^Q1QIg7i#D`%BE-8%ge`R+-RjpTstfMVt zIH}(s2JXnz7NlxJLIafLn-_1p4cd7$e>iZ#D4hy+-0zUQGsLYPHz0IcI{)X5?P{@U+^W^|)i_*nbpVcK^P6zJ(Yq%IBBFcmC>@IZdOQ#F^1YfuDU zj}nO;dMvp7UDWG@HK6&C*p%@{-tM{dn=!Vu|5e|np3$(C5GPf{BqJ+q#k{Yu!zMan zNou>!wGhhzfZhzz6pGT4GAl}fd8baXhdGv!x;$_KXX@%0 zmQ}%b1>}7N z@5EtOg7DvsxQAY<{jnLs7c$~krW_%Wuko(`jYr*7n^O=^cV5|PZaCMNMyg5N{!;7d(Zq%#l$G-`hPratK{XGNlR?sh>Kv96au=v~wa2JbZ?V ze?obMV9V0HYKKeP?4!(zpg;<$*JB14_Go zle*~RrvN8*g>_+@!2a@{NHr=vM=_HXw6^^`Ro1I6DQrSYIStFYVOxBu?RFy1a zz3x@7l9y;hs;Ho#czfQGAG}U?gZ;#CzSL^Q(=EzS)nwiN_2s@WfOwc@sk^k@p&qv!aHst67x%U zD*|NaYoM$PjOudjTZ%64Rk(mm3zy*G3 zjL&G*yV`yiz14wbPJXZQ?k=Vhxz4$?Sm7swk!{IKx3(2L@Z0Iabr4!{CQ|cwo0SI{ z`Igs;6`vIwep3y%r#LD=FME>n+aH+SlXtVnoOzY1*s=pY5e~KgjKwGNW;D-=1&cJMv(frJ` zmr09>3!{T9t`gxfs zk440O@ zkmJ#eOsyh|5^1^{(I~X?YK(uh<3VVt!_NY;~R%YKmv}@-{>09>!_ zr32mA+$2bXiwpFeE%^PEy$9xZWhzJKaEP4#inD|tlGh!lq%DrdhH`TV4lb893W(82 zqCn0`nNoQ~Iw)AK@9`WKV=lHj@)k4D)X@zuR`HtkpJ z+dmm)R0@AJ8D#&wO+Arh3cN+gy6vD26F84?g&quO`<_4@zfVb8lL@PO&*qJO|6=|F zAh0<$0YFxEGWs_ex2FNyy47#nT*$&t{L3lNvtQ@hFM+A`LxOE zW~3HSd70ww7IQExYoGxGpw_QiQ&<)3^E18?LIV~s6!vQP9~SXBx&9x>U)3X{sAo`* zwyVX2VKy`A(L_O35AR}&M4M6~SlLSrm3=?Y`d2{2JM1;*r6aE*u>5guiT%zOecpKW z$0XgaosrysPu)KC8gS*+qF)B=qfSL(3G1@=yZ?%2p|Qx!`+WZ!>a^jD`?@wH4-10a zII+i<6vp^pa6;7UU_xVg0(ChRR|&BI@-)5^-3rLhAfV8X3q7{HxvKRC2uw6jQ<2CxmZQJ+RT({? zhQodAwy}}}nrx<~gTwC_t!VXnC{0^*%bNEuF5 zzlR{DsZFqdtgY;$O}Z& zlE2$wO>OkQlO*m^CVI{s5c2NmnlHr2hJ(k!a8 z>mzEL!^>yTiGik~@)e%tEu*6*Sr<)FR+Enp*d1DD^toW%k*!NJ7)M#u2}4Ur7uWfI z{POZ21m|Pztq=k>53g?ZG_GP`s>h2*F1l8+WAf?iD%Q?}wqe(jJ_vD=D=Dar*Zup6 z$x9*x0F22>$0i4D!~=mc;h%V0kpHUkCTC!TwG)wy1b!7J-a_p)pWu6gZ|?S@&~DzS)eQ|u^|?(z3AH8ih(`@J`SsoKN*Lt19rmUsh~mi zaW}qZUbHA9xwoT3Lg5#G1|O4JU5zm-U#nO?)m-*Si|DTZ=CT zZboyCi(OJ}fd1^$N%kY4kqTl5$n_vhod;9*B+O#-n!lEtz%J2Sdl0Zigf zYX+FUedi7B!#-GWT(5nvUaGQoM|yoT+bbIhDL9j@et{u0D)wbQ8AdbF=C4ql%+VxO z2r%ZLU;~(nswW1p|Zt={9R1q8Lz=Go43!tFJJiwdppQo z9&v$uz1~U1=U0i@&&Tul5(V8HZl7g@3=h`GcWnTG&fleg%k@4Gp_i+%_gkS&xnJIUFdVt575A(mEI<+Th zvc1mv4f%IS9~ z023S0+PH&Z)9F{dVMHK2(26EA15voz?5==d4bzY@d(wnS)@ut-r)3O`$#Y6$rCji| z91y(~u+Ta@-$6`)z@e4wpTt+tAr**G1PoEwkyP7IZ7qc@Nyeau{b@d^Fd=dzWbIt_ zk8#CRKHrD(&JnN3x@D3ONv7?(`Fw&rVg5JREc34GW~c`|=U-T0`ac<;Z@n?}4^6wn z1McV^gDaYuEWX?t*n|(PFcNBSm;0lEy>ITQx7}k7ABNI5^6IU8*sqN*s``iDAVLw| z)(8i;(Sb#NSm!!!T;mT6NB!UKSNd$%w)4%?&@m(-&VMx>JhScM3A{ZlAM*QtU8h)j z*yq>W<--gr_Q?Ww=(cttMAo!pfF{w36t#IB5JtVPF;Jr0B%}We`z74LaF1PI6M;!r z8x)o2bzp`hP7b|gzsit~bgTFPX|0GU8MmDJqufEM2nbMMr=*5~ItZm#&R(@;v7}anpf;lyhq1MblAH(Wp#DWM> zS+Ggx-9K7Y4u&cIb{};r17I`dXfaqyTrNct+pYIuw z^vTk-cVl3#!I0SD_n4Ns6|#D!{E*ct7$<9C6WDr4Jrx(sK=xW_)}&VH+`gAod@7q} zA);n`sK?CFwtnzViQQ?$>TN;dGEb%{oLpL+x0PSGRUp&nbaGrr#@4JapJqa}C6nGO z{|_oVPJBi%_Oj$vs+G9Y4ZG)t3fNJ$TaZYhBV9~;Yq%2($d9wRc0$GE`WEA%T&hET z>Zs@m{$C83$a@tUA6I&UOtgK9x+ zn;b;2Hci)3yyrp%G|lIxD%fJd0ONbJ6BNi-T$eEtS{-6mxE1XYEYk}N>DhG^=2a&K z=!%Yn=5_ebccy`XU1z!@OcS|zH0-YhsiAE=ySepe>cut#$Fk}&5w!;@pps~%Nlx4- zokq=GCM2+ZBPkWkiF4A6MiHcUhpnoNSuag_zd<;%x?wnehl2Cq8H-Z3mOVTImTPi# z!&9jx1qH9Ki4N!9)BE`oABPVqDcg@b31E+`dX&U#Mw4~-JApL~>oU9ZWFdR8mE;}T zCYz6my-&IoFO)?ZnUsavEF3BD-HB3j-xU4W7t4vG8LI-5*CWPt>a#h+)w9vO0sBT# z%)qUS=cyy58S(z!fpq(+dNgr}5`lexlsr;K?&q}cq0If{P(0GMD%&nW03h}iY8|6K z+)|;3CS=MZpWBQ2q*%^QnROb{1c3$jk+7`#R=Rq%kMhqV`cp1?IdvxP#>1b}F~`k0 z2Lz#6+9CJZ$;IR)>Sq%-XIjjPiDD=;K<-s>bR^aCVo8)wvgCFqp7H5ig{yIEQS@ab zIiR6SMe*8n-6CwU#M?Fe+i*U&#v{v*E%?cD&9Evq|E^XuH7T&3@*L-Bx;`Xp2Ju0s zgIcRhgZ*N0m?y*mo3(pe*+w{AEC$DEL*ABUi3_5LhSTjVHp}`sp5$LWA#;T$(1rfkja5dNG>CVrcEop1@{N?eK zW2#Q6T=3qNL-;4H^}N;rlv8qgH!*TgBRiXrrZXb7;Eu96&t|(^61{r}QF#4j-ahwH z?MWhmHh{8BCBW8Z#V-XvnC8-oK`_j`NS1+ zkD8jlY9I+K5|pnn=+=sOZ>hUA9Pn;&s7!&?Nn8lXyEdV4S{ya<-(%Em%bPS4(2A(8 zcmtiZFLi+&E%3*iKl^NVb6F@Cs=9{T{_uHpr+i4LiFCSUF?-)zIu7+=b&>QqW#yyt z#z1Fl!i2qU6=U@IiClZzw3WU%C=O-eF6O$ckIO4}J+~*h;!SVOU9#+a>gS0`N7HL3 zM#M>1VpIw7$4WGH?JFTd^7l;i^ukL3Q~UMsnDb|^vdzRh+cBcV(;3`^XkYn=hX{e7 zj1D?YalW1l&^8#{F%PN`Mdsth;$;kD%ekK3t2Wm$p&=m`a=KB@toJx){!UzcaBNDP z7CgrPdUk9KbQf&+qCM#fp46kyOKD`b>&Tc-$aLV8c_#s@rI)uojP~v`=(O5Z#z6Rl z&ueV@)*a*h;|w3sznk&M^4X&BT*Jltr0w;s2ROAbx=eeEawl!W3K2h}zo`0r#1LC% zQ``L>_d3q{gaXv%{4H_-r-Mplxi2uwuT{prc$Yb@`gGJEbzdKQ5&SJw z|AlKyDdbI$uR(B~9#Xg&B1@muXZ4DTRh|)r$HIOq7Do12xLLSs9{imsmJS@1`Ht=5 zptIw&f!}GJ-iIzE`tI?%KJm@PfEwL)|Pah>>J!*|9h=%E(t+Aa;>99f@lhwRGPEZ{k zU^~wE8e{|0VMw5D=aIaAuiwvdVcc)D>6KC~ z5>OGux@77}k49hjMgy=qNy@L^_?Lj2u)){__0!ATwzP|%9>un&-E>6-n86p zwEw{1yp~ytdcT(1I(+W9z2!rLX^^jO%u()whVRgd;mwTHp;q)2OdytrIO)_g>@;E9 zH$t@2|0y^fW|Y~)+=HZ&+L3!78Zgse_kQ+r=TfN?5+zF8ESA>bjvh?W>X}3t7lY>69d?jUHH)UXEMk%Qag9ye^aA zqQ2yht|AZCeiu@mlGD@M94)IBBec&FO~CZbH}9r{;|*_zmcb)<6XypvT^n-8xnFy>gfMf>tm{K#OwUa`SHJXS^Yo zfrybX*U9yT3&g#s6}5#uoQMD6FonI2Nq7H{--}KwG7ox%4-6D&k}G)%amTj5C)h30 z>dZYVc(L>oFW8SQGG9AC=MnNE(Ci}GMwQFPq)uorn(MP3q^QW)m+K}bV&9$%?cn&8 zN4Wi>DMS4LOPaKaoHbP!YF}-h)^x?~HxugHIVV+JeOI!K!U z^5QH{5DQ#uD?(G5Vl3H4DsAdtPq;=TB1b=5BJ*h9JF9kMUt~=#0>LGrKb7w*olbqa zat~QK8G>hOB@Q14E)a>t->93dQAue`8p-ZGi{pDVLcrz~ zKx`Z2W6XwWG|QVN=?p`^x}b9F7pElA25h?KYSuY-$^mByx$l0C&MfOvEqF) z-(z3W$`4A-(~3lKm8aYK(z!@Mgdqfiqo0Lbq3PC-74x@GxTpr3maNqE4n+p457wd( zwubP?oOy>hpdMg#p2ICmq)I?eY^xhAuIfF$GxobKwBjF0E2^Bf@1CYt(%CuROjYU1 z>zR>zTEJ0l%ELWQXlpArd1}6Su}mYg(6~9zlXG-kXs~!CZ;bPhqxIgDw8oN=x{yZ3 zeM}Y|eVz<;crP)>7l}XYfh8*LJH)96!;3ZOkUuL4U`c?Q0YN=n<5*`Ex@*Hf#`b^d z%y<@8(@5^|KvYKM(-s_YEYt;>ndJ#tJOV}|Z&3HVrm<{2)9sdR7hl$a9f$pFkcqo; z|B%e~s+~Kcbj{+&oSDl2?*@|&UE0-H7TWuuu1V6(C>gJx!a7OatFvNtpx%|T=1Ek%{84E5ngjia9fzg!l z3(h!iXs$xxUXj&~Z|}c(W@F@*s}BRNgP+xk!mUj$aV8Gw?jW6pc3iTJc70i%4hSN} z77}Waw^qPVU!aE6vCs(6Ex`f$3%*|-g}=->M`{9xdN8Rxjn8u|z1SYBV zNFp!mX-cRFL>kaVmv{$BD6zo&K1}dqol$;>VoOIiN}&oWJIpzN2UiL`s0$;|f6Kp+ zRY->+c*Xf`M)OF4-ii-Dq5fw$&v-!7r|I`dTXFQrigbWR3EbdMnXk~4PV5kXv3NZ* zMLTcvv%1smDXFKuRJ{1smjdNTS!PJV3!)Rj^9coR@|s5maVvCTA}yEDNl`qB`+@-R z!m8R8vIio1)H;M>*)8zp%N!dTR%PX8W#{w*a+<$Hu`A#dthVLSQ$-}aFylzriZth7 zyaRLVsY;iShA@MR0!d#yFRS>WhV=JGk zvHW{-LSep`|4O4JyET^w=@u3VdTQsgsK=xwFKsFv%)m$0t?CJx-7wf3uJhu#dyiXn zJJk*H++5kusP(|2`u@3VVwc}EPf=~t1B9G+Jj;~qn^Kgk)0;5)woV!ls3*TsWvOB52eotvVxo~*_b20iIo z!y^k{iOp2-8_UUV_Atmf(W8bPo>4%!yvp5`NLEUY@ulC%O;+6wTSpK{%3@zzHlisj ziPFXmWjziRy~{z#HKUynMskM}sPI9szrGEB$hBnnYm~4*S;z;0ETrmc1BttsEKat4 zg3>rl%7v50nrWjqGfS>aQj$s|L$OheggirqiMrB6Pcbfw_(LMx*u%8Z{OH}1=^zn2 z2d{4aO$aM8XGD`rQ9?%rFtP;_Qaf%&4d4x0d?sx;iz9P;xJ4p@vsUvPm!8^c_2yB# zWm#rkj}ys06GanUA$9J-Ij5GpL**2=uUaXz+7LJl45_BC_N+mw$dD;onC_>lHvhK5 z_46od5kA#U=4}gZ_Pk3vsfhGA$`hkI>&mFndf?U=&L~3%sFR(WT&`=sxvcdb7|fQb8m`YhL}>m9L@ZhF9?!P`Jw61#^785XuVdH(RTNIZX0E*Gq-3%v zh%>N-dY**i@#?RDEDGeLJH*VL68`<8zHa@?DP@n15hUq0)?Rx#w99#;%A_xbs7G<( zb;uqsFepx}&c_Q&68W~3J;&-$iS_a@l&WaFk$9~m4km7?Hn6Pidr9#_-aqS^^rtye z7}s2HoEoYz*O%}Qdso%gR)~T8l zg*Be+f}M$Q#*O%8Sq0gWx)v(d=d3XswyBFVc!I4PM+n?FqTT46;F|x9J z3NOw^XS-x937lo~uP41s01fqFU|Un(n2HWq+EOjsWe63(k}aM->CH8+)mmA(y#nCi z%DYuC=&Ah{5X`w=~SmB zb2tUL8+$s=pFyjVW-@X;@JsGhc4=AsLNN=KN&RM5c0rdscW2EL&q-Tu=(hXh%R1_U zZIjH(1q|j&oMR<*>tu$O$U-qHKtO)#9lE6XUmjkCNj(cF^Yu?tU5Fa0FB$3n9c#0R zd75g#%SG$ihPj2yVoRAmwN_$EH-?({Od5UPI?ca0g^Y^$X~KeU;sJpVJi+iYDjiA5b+pzSogTTZF* z5@o2P1Ih`1)5Pn6k%aiOjRprV%GHQjjB4t*d8r3U^5QrloxU+KF(lF&mG*E*8957X*nv`U| zfcGTPl#|ToW&Vru(3f!+)WtZ<3$Wz-@c;N_XDONSw;-gmi!^I9fB^pqwkr+uRXZ2k z>nx5rB_7RBikzY~1Kbk}RC8E>W*n2Cn-n7EwA|(RNh0Ix3&&6>fnz@%8&5qsP?5-! zdZ)X>D6ZlhIy%h59s|*l1~HXUP(CppY?`!JvXEG@&|c37K5eoS5F&FnU(%8^lDWN` zZ!^Y6>h?=CZ`u@hd{-p9-xU_%cTt#=65kA1>(~h_G5oEkEAcjUta4SNMECxaT$$-ql)e(se>OoJ~YQfy_CaW1)|Ee z^aDxX{qLnT;RV2P`D5$#C>STx-`wyqbf|I5JcI|aQ#F9aW}66>FJW^YeI_K5A~H~U zrZDF|A`5)b1eMvE%w{9FUHe9WTl)Rpuk-n)sm|Knbs9u*B(pxACrR}-KtIGm0)oNv zu4km`_j(Zj7Q&>62isW!oXY9S*l&__`S6=BuhDsBxg^GWg&{WzmvN?!aYr<9eaQMf zGuF*Zw^S$w&HXn(-h{AnfAaUN8V}?2Ymb53RHWZHAANXLN-#`eT99S>3j}q^fu;`q z*Z=TRRDG-#dsURiCyWH2z7IVLqxtbL;rkq>W!26Uk9F7VUpo42#J$F`xKZv}tRi$% zlZXp?K*NH5g5fg z0=!W3qaALb$9PH*ND`L-X&ZshrH>V{^tHeHs*=?ok)JES9m82BTjON$p)HsFhEX9 zR`w00BGR@#zX4;{K}4t8DH6+_jVGa73>#{0-B<}Tnnj5x{|?IXnOloh6BXz<+Uh)Ksbyvx z(y%%j2;STFtyeNoAh=c8+`~%PNCNkyAO?jE(il71zUn_)mRlzS29?9kk5GvujO=h+ zrgIMPIb5WNMn5EiMFiHomT{Kq$ziUuAO$7}n{M?A?p}%=s~Z>J=!8pi6I?Z4d?>c2 z`4HLmrK8ch-gFv~eF+Xd+{b+cIy(k;WR6p$0;9PSM2I3=s@JCREx1yt;Nh}aKeOIB z2^Aj)%ZY3O0Mf1)6@l%&Zi&KX_2EPHVMKtyRh4ZgY|_~xUK(~SBk{!Bll1QQ*+tzl z36eUviDa*3bCTvHHF~11Z0M0fpQ#>+k(#ohpGIaD4V>$FqJ%#QTlB&tni~E~^D#S5q(m>1J>n}MM z$!P!C5?o)j`v@|A2^_COZ)#kpW)d!(cBh<8KW8|oy$2UydsiakH%)gepg96l8#`FN zqm5!1#6?$)PE&(3?#iI8e#;Ukmi?X191p$5BlLWI_F%!45TMdGwIl(6zp>Ke{<2~3 z=T!99Ybz0Y8HGJ0=jfM--eiBnwWQM85pXEF>@Ms1}^nF7^P|PLN5KJ#L zV9}2iG;`)zp6p2praiHdB7=xZlEL8GiRwhHr>_h9ZSr(@JXs{yOahpxO+Gw3dYo ztON$2n2$jUOR!@-z?Byo9uRp=JIYV)DD{!uoA7)Nq%x492~?o(u?K~6+}+gHlR1nWhg=>;N3_MM3yMn5cbKQ$=a5Zq2N~j!ixOKELbvV|mcQ*&({0 zF~~luMxgY~56cZxIf}(c+%m)>fBJRV2tc5&h+o2cw7Pz$654{33(7r}+WB|vW!-Tj zct|NK4++wP#R#)4D~xy=4dZf=w2{4$cRRZW=YQ04NrtuFe;v4_Z#cG0byBu%kW$ytC5KxblrnYwg%(LwlP^ZbF#x-H}Nk0u;%BF5c&sqpo(oV0`R@_>xgQL*di0@E7dr&jpK z`G!JM2kz)$8z=2!IkJzM)_dVA^?smLh$Q;ue#$1*+BKZ_b%9FfQh6jNHiv%3&1M=x zC!*GOgX28*q`CxU3XBp(E@N}s4JnG!duW5FPdeLZzN~G8kM`ILr9n+2VjLZ)D};r= zAYvH-KvG0dDK6-YfrToO45YZj$c-IJfS1gAUFb?v+NB0F?h(X6ug6r>^@IFnncDI$v)O~-z=m&t92;XJ z04uI+9l8tkK^vk9{Bz*Pk^hMg^dXTdU2W^M{<}TJ3$>(ki6DMICX=+IYKo+kq`0sp zaH$^c&b<1vYM$9jQOmF}TrwQ(kq zJhXc%J{Y$>IL_ZOqhZ?t*sMNXDYf__vYm?PYrc@?yvmU#ceqd%*cAb^h_1uDF`?kK z!jOerZ3(ZmJic%K^;u2!RUA7U_;4uqw^lwP%!&~uGxhOPM1x)}=ga?>c=X$5xFuNa zV5oLXW;{-zNgliZDIeo46a?UZC&+aM*osqITqU;{`E8WDooK{m{8d9-(7~rQIhuZ{ z-|syk5k-673PHb)mK6q<%X^Ky*yr$6#%y`7tfMm85s|Hc|2SZ-F<> zHRlvFZ;Wqh#PLLKIuSqfI6n_%#7Nctn;yOVNF{kP>8)2E{{~?*dVvNty(EQ!1ot>aech8PpNm^dsGhf1Q9{~ekN|^Xc8s2fs%$4fT-I(_6 z%_q@!yUt8o6oyMqr+D)Xb9EUUhV+irtLu?%G%exM46@nsefw4~8@c5&{iHTpIWTvr zl#8EO^uuB9oK>>}Mdh%ee@+(F;d~Bd@ngg`{eKk~7uWGGH=+S@jPPK1*_rQQQ?-*0 z6b{+pYBFVbB(cTi_WY;hp!_0Z+^8yk1qow7m8C?TdVDJ^Bstb}cEu^`T`IZi1$o~^qljLZafz!lU(P^~oyi<0ea#JHyPipeTugoHf`wM9RE6##0N@aJ z|8-Q?Op}*@u|gB2PYf9xJ<2T14b36!CL*QZeP(>sIH9rL zQfqvrHV7{TlYhT`YhiWVFga63Zhr6mZu6KF30Yvu!#ng}GOLo#;1S?9Rhg1`=sb0= z>1@q-HQ&;0yVBkH^31(}yFNM0osbm%RZ-X3ObjF@M#H(&_@r%*N*TFS@*>2%Mw9+Z z`@Txf>)S`~Yoq@f5eO2k!;*N=>>YELNw;!&Jk|${Ub5i*Z%TbR5`}SO?ul!?%=xY_ z59I2s?yINX7Pplk-LJ%ZqLucz9R_$6`O+z)^h-j#d#PVq;?>kJK4d_--fORFCjFY> z46_Xlpu|#POz$R9g}Jrm*a%8nLQh1_p75`wZGK`7d%@C} zc@mJJ1ugcf0&x!zu^=WSDeG`7M3X=p)?_Ii-OT!OtRs&wkqFb9>h6PSc$9FILg0|g zjnLQgW>H6ep-`jY&Di8GpDn9slkA&XBY~#mtqNHiv8yBFY`PuRp%@kd3w-sL8wPn; z6EZrfnR=3ea^0);#5XTp<2+Zg%6maceHN^LCx#oNF*KCA_`D2OJP8wM0BKo>c5YYvmMC*!?%rvP=Hf(#Jlq&;#)-cZG45 zK5>sw45u>zs8xY}UqV-wQeM!{Xih_51q3sbIcMH6fx)%{@;w*#rywLs6C$c z3|zttOOqj#C7jWei{5;}tai?MTzkF#sI z{UmA3Hfn6!wr#6TW7}+O+iq+plg3G78;x!AOncwYd!F}vI`c94C6}++d;Qm1JA60h zQNxL!e`Pf#{|uY`eESfdz0(&96xOR!Sk>7(wB zgSvuSk+h9`tc(domvh4tOc{v6W^^re^-HY&(XfcyR{8h!pQt!Y+^fmTqa>H`e?s0$ zQiVm*p@!Z%N*eZfkitD%!EcImg)bze+>9A+D)f>Z`jmuchWVveT|D|f)T61nbTZ7= zD>Rk^L5AP^)2En_<}?+MNsIaG{RfTtQ?UBehDXIkAqMJn3Bnj1)a;Pr@{QXR8`y0b2}&bQNkxFwepw38D`;_+Ji_y5(A6Ah1z5K z6{29`kHVylIj*|8vTCHh-T~D?IhFf=y~OI6q_$&Y2Yv9?p_&iJ;qNkeyqb4u*8Ang z=shZ=&XT%b^O~vat~(j3Rh}q&Nw;Ji0)qMY@mxEU6COq1S3XY&8%f_+6rdF;PM}#< zUJCQjdoJVr(R*Z6mGP`kIP0r3^Ku7IWESc)ac#pewW;OHB6IZzyhfXqO|h0I__aZE z-+&E;I2fYv-vfGcLK-3h`ag;fR}|znc3eKkWDPo!L7mIbb7?zvD6UDVM~5TiTL~mW zd#1`(?6A+bJT>LJ~U;}W^uh!$ym65+6IO3WN z;|EeEzxQ+zTNd4_mE=t=mQ-VYfMeP!@G9{Z68Yr5+ct!(2t#DyhiOZ?483dpBJBV6 zRHD)`DWAUKtX3b8beAK3@BKw%*{3Ft#WdBK`-12$}J_BUX zZffzBxd3#(5J|5DCs&i3#fUmU`@abwIV=h(H5GLg+nuL?m{8xLm*%c*e+K#jf8E$Z z*cyOxb}C+8@wS{{uzJc`2N&(<8H!-lZ|^T`qaVA!ho&M%eouy!}a5j>#>ig^8zrJ zG$C~!<5=HH22D9e1Rlrs9la3uG6HEcU7!qH6}oP@>W6*Iy@u&Sw1=aJ(n!~CGVoJv z$>*r34ImSDX6*@Z?_2NDVk$la$YfqmVqUOwZdP5gZI`E^#dfOS!xrz|5>2}eof39c z`LY1xD7UPeUz3IJmmoBF5e!b!zp_Xp?D7MN@Imuz030LNem|RQIE@hPRT6v zssg^l9H@mEp{C^2F;0sCGB}RNU72R9Y(SfaA7xK!3t;~fI{(7h#SLt0QT#W~^4A58 zzUlm5*?h0|pT~dQ(f_!uA6@(x{wGNevSy!xS3@xU8)pF30<1vlL))M~wgnMF72{LK zW;ad+Uark*=oM5mwYFGFz30A<8i+HVAETB`*p~q0o_# z>a?xZgMJ?K`?jE=mjV^qOwQ-py=ZEWYt%qVLf0>{Z|%QS^KSEV`B6>dY(zLZ({;kf zWCv-Hu6jl?PWdwQJ(bDHl-p~j8w1E*O35YIewy7Y7BUgm?Z{uN{ENcI$BY??`?_YW z&y0v<;Or@@L%@mr(@SmMIJAo++>Re!b`4H=&P?)$^Jn4Hpnp$dDg*4x>rYG(Ex8e{ z`1}jZrHuH9cFk{Jd{x_q!2G;SXWbY_GckJxy9OdmwbUi+rmKF5Mr+)z zoQ7BAmWc9!D4aJnLVKt_v%cQ8^lg^P{eTrwmkvx_L_GU4yvXPm+X|5C9Pb@B0q<=w{rXRW@`ZYlmfnf( zkcWFx1Qf5EJo$OxDa>VZQfiw^tzUslUCN8pihR`G@S(PI#LZ1v5>pz6!mNi;tAp~8 z9fkEAbwN0}DIKM@muQHL!nyBfk?K{OqhC=NyLC!8J6B3oMTYNaA?Uj2ogOu|*c8Gk z8Pfp4ge}`u+T>xiV87pw0Nm5`zFkhY-atbH&SOxsQ}c0{Z+jeoR@?N1ik6?7$8A(W z3)-xmXy^>83AWf?Jd#OuoL*sPpK@YDlpdNENAOa#P_?K_Il!i|iQK_?XiGMmxw9(( zK0B}|$!Q}32nPl1kUE4=Kjf`_ZFnUmPX6}3vlBwEVw(cGOPgG=klRSiC9|g%Qbh$G zbE9p7Q2FRqZW5vj_>ywuwW6Um<$QA;K0a(Ul^YZZU}o}YAN0mai-exzgyG2xf$b(o zxvf$0qLWuX(bEY{@)a}rT2u;&m1Ft?{9L#@N;r+z&)=y8NzTW>0EPSB^7;yvu=!DE zzpYeqh7iYQJ6v%yl4?wrk6VCZ-lJ*enyi<8Aw=P+{P2J@q$pg<+~_`<_9K6!Sf z`ILhB!6Ph}PpV&nY7H)uL7T|Ud$^vtLz?oXimjq6FiOJB9bitT;<|lCr``&U=GswSes#-$zvT&mF68%^m?S zH)vR1aoUh%4sFh~!}D#c(C!3W0vtf8h4`(L(|RL}5HqLFgZYt|roPEXr*MwfXM7G~ z#2+4i289%Ze6dVtxW{}&bs4wi^o#b)nc^&%^i$Q!o4?D;-iHu?8J`~vU`xWKeg2>Y z<;rHFkG@^cgx`~6Zz+T@C7s!^ifo>L&)M0Jb3ccFv}i~3p)zHoHSV07tDfL4rk&y5 zY*%zMe}$DY2(x2#V5q6VcN9-6XxZFK1hz9;un!>@=3J|o+2vh}r3j2pW)9{DVain+ z*FNz#yz4gZoj%0sW4}O*-n$eONa+{W!A=I84F|cL;w05Y-)`m$N|fgzS^rN0y^iNa ztsHpkOxQ+D=rR4uoBSsccg931H+aq^cM6^opFez_CNwF`cvxgbeg5#gNXS0p7;?&jn;Krgs7cZh7siKVbB1Y=&K>0BA4(!f7?`= z^!_!>7o<6~ej#spcw@n?^VF&`=*Iwz4PHyauDZ~d8$LiZ5ajv03-G;S%reKBXH<4XCn1h1}VyL=x zK)!<)f3c#Aqe0Y(I*EYfqYZ2=TYGEc(`$1++?-`tgH% z2}a?f^ZCwiC2lNdCkTKMIwW`HOv-5mRN`Fd^N(sm!wC8kQi_-s5VKh1;qG7v`=?9> zUBdfg@&uM54aci2XaQ^Q9kzx#)QGaOvLla0d7|D{V>PvJ6j-^VV5OQS_TR-KMHJQ4 zqVP*5^(X4eq=|TDeno@ok$z93<2Pyt9QSV=!%o=v$$Pdq%{|qbG7uw=N|vR!nirw) z0AuO0N5o_5L+e6v%8%;Jk>ciKWWLvTe+;~vFoI+L=*X-NJTyj%d(5Esyh97bL@9Cq zgf-5fF|Vtpc1Xf9*KOba5gRtyCPza771sTG2nu#4y+JHuy3R*et+K?QnV=SpbXYAa z#BVWZIPbhx=b~-(QDSW7xAj=S#xGgCkf;6dB`pyOvuzcF1MTHD+RiCfhK9(cI6IVu z*R*pOv>vJA`%>yzUQ#P;Wz$<9A|$V^F5}5!st%HuGSok)Jxv6j1O=B{uqVV_c_mY+ z?GC$(oPzs#Qxvn`tQ$|@iz24HdPCrhf?g7S!FVw#bDumtM=VOeTH@{IID;5&Zhvn4F^-LP%p{uz|J{0SL8xj?$Nc;`$Yfq_#JY9bS$fZza1?>- zG|(TVUpbs2a174saAe)LrwoMHO9QA4RRF>$Z ze~1P&z|>i$Ewh9@y0w9V`FY>5**x&zON(a7e_PyYSN1^?nKncvHYW{1u%lAJT~m?K z_c@4PPs&*3QxD(c0yBH>o1)F^Al-kWX5L<$N}ZbUw(+-CbZKwbcYK~Cml5vQ735my}KL*Qr7F-c-<)Szj zueu&<`JG)J4AY6}n@iD^y}?S0tD`kgL&(h}&DoZi$C7e&DaM;3TbR;V)^yz%h;^{$ zcBUt5dBt7nA1%wu9- z*;S^^>KQ!Lf_npUhsrOj-~kD>d;je3yDmtRohOf@(kq+GpDJulCG_* zTIk_F;9?p-TQ`HPM$rppL0!X`1{$w@y+3%?WdbV28LYe9PS)%Na8I-fGFmq_Qv`6R zaF=UoU{sOOAbyv$rXdwb0MlG~{6V9*g7t5Ns?YH z6egpLv>5d*jF>+GP%9hd8Wtla*2{>Op&{^^HPKLYjbjmTf+Bu5BIuEytX29d6N8cpqxiYe3iB$m9jRt^^~W+ zCS6VG;5=Ch!n&03J!dm2fG|ro9J})@N?e1)CRU`GBo8v^xO)DlHZ5}s`7`JCfP|Q| z0}~jJUR%_lrDmFQrj$MA%bp7*MTb^aBY_>+^J=zM^jb6_s{JLIT%k&gu?dIXx3Dq2 zXl~ZiO=Fe${tJ=_mr{KRmYBIep%n2Eh z+kC!#{YVIZrUJGXxiE!zyQC`2H<^8TL2@{(OdJ`5uQ{0_C3y2Ccg0L__95D4GEXXF}c6UzVV|5#E{+MU-$};_DV<6}0L8#}t z)8N9DoTvNBT*->nalm4w;DL$cNn;ufVxkNbe|XASA`lP70bxOd0!h82>-X~^;kpC2 z09xtS6mQc@#makSahnq2RU~Wkv_|uD&9KpRDyevq=0KtAwNK z&i&~gs^?jVc!A%HW&lBi^-sAemUV{3;sd8^@u0C_X{6715lM;O8>^*&`HH3!8(K>_ zW5A2al5OE+>1Ap+3!5(8=2zm@0qqG{O=!fnHISdPR<|x4H-ao~T#>?Z%7h+T)HCK$ z_a_hKV>GvL5tu~WOgX15<=^yosz$=t9mM`x^6?ken@LIc z*TquJN`S2a@|KkXudW@=(c1>pr5gt?dBTlo_h*@V(UTRhjr?(!S(`}c$}yLGlsPK7 zQ;s5}jN4O(lk|mqRSx?(S@55+D|4n!T3nBTS;qkT_5IH5-}Leql{k*tHdyoa^Z1NB zasskk!8elff%MOTND?g%oo>5%C@cGN9dkxcZDE1IW|AfvK3CdELS!MURU?_6c7(Si z^?5on6;dPcaiqtHT{DDSrl{OjXWRT|73P8tnx5ul=r`Ud#K8eooq#X*xc81F(6afx z6$P+j(xdPPV>KmRVVq?A6w4w)KF96kr01=?^cO03D!M1k3O<)j-)MU?k5dP03+?u4 z)gpKiWyV)p3S4vuAY+JuG9R4?H&<0kl!hZRt*3_Wk2QnI>!zxaV$J7wl z4m!C9wKCpwd)@4oYP%%hL8Dz-mh7LyZQ>h+uDSBe_UZL>%Ul>m`(EofSZ6Ps8(xiB z(Jj%Bo3R@_4ffrQt%G~XuOYG@!}mS3_ME{yB!OBr4aNpIN#k<7chY&1fig>>(_g`<&}Q zhbQ|`SVvIG-a;B&F+Psdl9koI^=d1p*5H!jnf9)LpMC2Kn|W6nUKEaLa?c&+GTp!B zi;v%8tOA{BAl~Kzf$B*VxXpiq`jboO9%IncHKeIEQ!kDA9 z&U|^bw|i_YQ{QJ)Wlt>fWQ`=|_*wk10CMI_a6Tn4D;p`|W zeh%e7n=VV28qH)q=9Vf16RlnSsGv!^aRGT11p0-EAtv4`Jsgp!3r>Y;uY$CPI!o;c zk`D){qIFrTH?%}||LIZKpIbFf+5T&$c`QRis&buT4ru03__czAOwF4LG)`8=HxH%& zlLQj$STddND9`fbf0G2stpZp>?S^z(OefwE98M}QM6>d>uX~pxN~IM=ChIh7*UQgZ zW$1b8;dl)SgCn<UB?L_HeXp)>BG{pqxypzDMuksv~QoWb1;rt+%H#dqQuT_Y4;IJ zh#p6FS(`@o5&FIImUb;&L?}S0)Tz~ct%dCi2Mdt> zmbw7g1z}o$WJ2945bx@`BKVAUm4Bmo;t_dgs_|#+Cy%Z7Dp1`qNOKv*BBva? zP_tZ^O%yt33Cz*m)Ym2bcPGn7ldnK6pawcS&-L9BOE+t!rRW9s1LQ)9)r2(No1gYO zF2oqXug!+I3BCdVW>?0Ka)LMx`N>36#cAKtRZ8ld3ZDLS8iW3w*GTuV;3!ANsPa!| zVLzL7zGKIe)t4uYC?rq2;kP0wiDf8DmO6B>4ppS2`Cu8Ay4zh;=lDO8Yw!|hcHDr7 z4fNxuoWXxPN!|M&u?PQGhlI=*ng87(K?9)={hv|`#?Pb8@Eu71RcLC9>4x`Tg{B+y z`n(1Q8}EExxZmBu=I1wgHvE0BbS@a~%b(wllNa=#Kb3|2-~Q87hE&X9%r+nrhwaaI zd#pDb=k3ysqreT&WNuxt56z^@;42_DG&Z0VYq|G^ zIbC$n#DY86B(BfbeKh>pd_`jp_UDe!cW%PQEYs)QxH5J9{k#$K{)&Bb@?94xnE*h% z>FOcW1)cqZ{<0otb)jHg{p$LTIzJ}z8xhG~!HGl<4t~Ol?hs|jUnr88$r;)&kAHD5F zAhG_+n#WZ$H^hpbCLkNuzuaadA5A}VPkSUKaNOgY;<>FXH?DT>m?^?!wsVdt4MA|I zD=&~N+@@0HZ_{Qfrm>}c-u<@=Pl?|PzIfoi;9YOWjJFbu_og*(@BqJg_D$rUVF_Js zZ!9A>1w#|>+tt?3QG9sEKF8U3?=5uh;WVyK zK61w)-5nmG{PF|`n1KYxcFnyV;6u$6-i6=tyDmsYfM35MOGMTi+O^n;ww});i$64* zZIE5ae6{Q+i2*&0C&mG>HwWyzC2Ak`af*lhFRmbwTv7i%Kt4?vm{0!54qSGxL@#@` z-;WKtbJl`3)*-6|0#(j`j%V3DW4!!+Ffea=Uoo)Uc*B8;+7k%ldpt=ggOl!aWrGbs z1#)lzw?!~8{eNx8KIhh2@(7uk^PS)LwlVROD|oE$@7y*d6D}X%kF(!~Apm+{+fXR# zqb8X>Mh-($X_8{M2{@tGb78+vo-r=_D0?4Go4ujE1`j*)sktq;ZQ&3$H1PniXna(EndUfT#5izCQz4|SF?yT=cpZFt)l3VK{uZg2LP5hjq z%KQ9@CNnoIp#Ja~I0dA)#>q2=7H8DKnZQUu1KERGhNxJR^@t$()U9QD(noD0g$1Az3l47O+P$P^ z2tVEFSMkT_s3$Qws_tQw0auk=m~lM1o8M)V=9k_iwY^lT_@Jb1_y}I>EzGgep(|I;n6)aI%A8yaIhOYbS5D7n~MfDp#=hbq|Dit_ws zU@nVQ_aq{8l(Ii!Pts1IzuDJJ;jyF(R%Um%+z@h@@3|YFKX+=w5LDS_={hJ&Am~by zRr5e=rkl;UU|A(NijAl(mxIJ_ac?n4+ncsQ{+YXExTs;!sV`m!UGKlU>m*T@<&T?A zNe2$*cfxXKhUQMD!b|ux@sRj2rhMEn#_7W4J64^Q?g#KfTUp3y?m?ywm_P6JQOw@? zdH?qbm4^u*)HfaY7fS)scU+`*g^MXfPG-3G0z7_%mo4OVAi0U}{T9WqwyWmy_r1pr zf#thp%h`JvHy&uS#H*4?`Da;D>{reMo?oOJ^{qBL?}0RzGq@ZW{z3~kY+a^-QhGHAxQIp9 zCF6Fhnw*w)at3KGSj=w)N4`O~r?0eW zBy{^dQ=U^7=sXdW*N=8L`m9fRS#y4%{dk>BARRj!@p(7Lr)!Z5pwDyaEi%8h_vd0K zp@n(tEwl@7?nqg#fHfct<-v(wj}Si>D~L0j?8RuH(qxX2@T>EA2wY%kE{R} z%oDTkIRPHr;~T4_SQV=jrTMCBi3GcT2W|YIv&Qv@)g!sb58DlW3BpfN>+lK)#0@1E zz7sxh4on+dLWhl>RS&QGROCw%7Ak>@;TJS16rr^)viP02*OyI$zndDe4Y8d6CAw8CvkAfl_8^k(^v_59P zRtVFDyYzUQs)aY$#M!}#8mr}%bHR{IIbXeT$ zLYJ6l8>rWkmJ@3V(`@OvDzKwVL;4SseVrMI(tohU$n2+YeEat~jTYPZGm}Q0*z5=D zt+R<~IGu4*1lLd1?x(hr{=J#I5VdaX@Yq?~1%FOIc3SOuMY*UJr*(#OhW7%l`(XKT zlv)LB)hoGe`t>NB@X$9U6YGGxv4J>D*I@0BbHO&;X0sH|!@pY%&f}A`bh`R8@<&Zy z-e_j3h}5-Zhibx{`(jS+j)y#m&@zxC>#1VWTz!>4WjAYZdX0@42UL-)8{uUXzkWND zJ!y8WpvV9qR!KhL91z*(%2N^7tY{0IZz_@!5qiz z_!DF$3~**c#^*L3B!A`Grsy_wC%z+{g0d^e+pb4{?uYiH3Ewy5IG$tg&aQ`QpM8dR z(ueA*)yM7(Onl84$?}PPpZ8M%JjQB%4OKNYfu?xBiaaZbyrlyvC}-_}9CYLg3SQ5T z?q9^q+N_r9p_O{UN{hX2ID_syk|T^MT!`)lVb#>;Oj*2Wm@{?g_0s-I_xKE%)13*F z^HivxiKjLj3PD5ezw-UHnvCoTk#hiUkW+S1S%!(QI@}>S1`eymaDhmq$d58FwTM3R zY|-HBk;kWiKccv(@i*JQ0D!}~$D^knhl%1_k;*hk^q=4KP@?eU4clKj@er&00If0; zTXt7AXP6`B2s4xyZXu9CrS1vZ-#njl2c@?JcwCESsGR+vz)GW~t*Hcr}7Oub`zU;38~G=en}N=r}zZfXcQ1a=|CB)1Zwgr_!Uuzg->KD z2@>J|s`Cl=@3)J6sLG9!5T9lin5F5SLNwk(q8az z?jzEbl_X53STHFxMbk|qq_wXOw3ovAExfHOb&PGbKcYQ}{SMvy^3nL6v)txvj^RLf zY_)wU7ma5aU`)ROqA!(4Cv2x`<*Rj*L72Z@`8+xnH`LVhKAUPk8fGQ)d7?Nnr@t#< z9~8!BnHvuV)oHL_3^>G5U~-9S1r&Xn=)IHg112b{nR}q*#eFGd-(7!l7@r)Sl!K0n z=cW!S>ColrMXdWV16u#9jn*YzXf4`KZoo(AoL$IV%*T}o|C8T&+KP_hT#~iMk zevt@hDjGAY3R1A>El!pYHo`%Cg;wdH8Wj4^YX58yTy z3RUY*g6)CmL(IsquGlfUv?07oWIg%}02xbTS(e2Yr`@mo#zez=yrje6YjG{PhQ7x` z*K$LFRx&Gt{waOM7s9ZA(OFq;EojJ3f8LHmVYLr4`-(#OC7v4w@^3LVis&Wc0?Hcshmo%jgeV_CEzU!6n|eV6 zzoh_XBHFPmmO9q!@RIbZlF0&5Fy_Gow9Uy_thJU*U+v597aI&H#Y|P^(I}mh*VtF& z#ah%BKmG@zAlgnB>QIG)OPXR)bAa70Js@#4#nS3d_LUnf2Ib~?a$qIS$Mu385!+<1kGq?vt*zZ;-tKddfb2$& z6bm5y3s;irg%RZ%176Z-tBcXe4(C6T-I!XaOCx(lN7TK>uPB;gm4mR16~!T4u~yP9 zLadYLZe~#7veW~uo||0YY?mGkpUk{i=;Jm2)C;!uMis7@R>7ZBY}{!_5H}l+Gxv{IP09! zKPlGS*Z}%mBvoHfZ9NYpgFa1F{`DgRGx$0Z&Qrn3VowDw+uD<^G?k-|FUV2R1Xws~ zlq9CPNwf2~6!$t0cd7>_xPYB@|Ipy(6ACbZ3$}Bm;X$21BlUx@=+p)Bq7GiK-m^ML0j%u zi={i$2x1R;`eGrLT8BjH9#D>TJO$~&V7Ix}3sI2_hkNxF(;Z4$rX_(9wm0%nUzH)S z>ajUB%&mEjf%(-z?%V6~9+J-8{PU3a`SB)^6#o7s}9C?IQ0 z@|XdU59wEt?ANa{GBWT&I9c$s4_p#++Xb1pT&JJbFWe-4mGir^Rhmh*bri3+sy=c(CgFhKZaSVleUcvH|wePq6W{{{D)2a~XH;z0X4z z^Y&>Os6p8nvCU2X>PoyNCD938qMiQ1oK3}DQd-6@H65!mUP~=k-^aSallLMo3T%is z{6U@zTApzvg{v;>yRNo0gcC;fh}5APVRHhh6gabNV6iMZDs15Arov!d2a8dXm=Ao< zC|=6@!K6~c(#Z~j)?$vNrI1?MNnpQF?{CTwR;cLwKI9gXQ9&2A(}1WDT~QFZ96%B9 zFZ-gZGp!Mq(EIvy&%qdLt*7!2mTG`xigL^LBF)bP@Edl@C)1wXjOLuP;b>)YTj%M7P z#UYu*{Uv%O?l?&Z(P$Zyv!L(8J_^<;WLS1txT~$b3QXK7DXo;6$lxE4Nb(U78Y6bVI`7`iVBq#& z{P8?7muSzyed`3>1yVr6F+%^#7{e(701-hh zehexKv0{{ays!n{$B}2&^S8WA0^vy7@^(~Z!UsQD?XnwW5X($@g5F{n;PnQCCq4{q zGwU4m|0q~Y+G)4h$D7A%W=X$7E$MmafK%j|S0ftSs85?Hj>HW7snc&{eqHZBSm%`= z!l?wbxpD4!Rab2r4Qmb<*28$OLUfq+mjN?RvGhWr_$vgCVh+!538&G!y`)^&ZeKvt zKMcN8wY=Bt4iGeV6bo(GK2H$PcJ94iaJ^UN_KhP6ve)`EM-W|4yv8@EB=GH<`h)?8cuAoY?`BSvh7YNidtep zJ)?G++Jo=n?87hZm73K=`{)-r~TsOePJTWGRpA4ABv-*|45j%m=g5lJGjFIRf7)4dh+!eTh{wig3FO} zW6W^IL0+r3C5k|lRHE@#X4Xc@%&AFXk&#;W9sU~VIAZ*LM~sh?zrl|b?OB;<#rw{P zzt3{84K6CMK3Wx~>Lw0lS#`DwYz5Pe&J3MI34YPH#G>B_<@%(VT)1mw_?ULH(-g3_ zWpaf<3PI>VF&L#8S!uXqVy>eZwt)~G`e!(cY|hK&&dOnX-2Tj+^Hbj zsd;^?qnD6x7!raIaQGr}>K+NAxSbY#fFwLTm3E0`OR-gvGs*fUmiJc07@LNL z8LI6Evm)nL6B&U5+EJ)%4CJa00oOlIc0U6Mxnc-S@aZU$vyHOJcmslrH%53wNJKdB zSj*ysO9s9{P0ZQ_cr$?Rhk~MZqOaE5m&Nl+J6yiG4bH6?$g5I${NtJjVWB6phc3rX zp6<`)8Tw(c5k;A~-=9_exVD{DdDxjhN2O~XG{MLz_AL?EzdS~sn$SL|iw&Fr!z6hz zbSPgUvUgFKWkn6+nD_*#(WH+?_oC$ARl3gUF9uI=f|1Cw)b$x#0Ds3F(oL)s){oxM zFOS3>uh1711id%toX($$-(VcL0EAuF%lE#=&F^PBF`I`Q6|a}?xAm*{?N(hH%Qs&Y zpkAmFURei&-DJA5=Y_?!<@+J?#yV*^TbPi2M@$F;`(kAIB*XRYp9qdtQ>@ff08!)i z^LqjZjQF}PC+Abb;<9ifkra0Ekbv0!MLnTu$}5#_R|>hiV=P3$kTLJo!7MgJNhC{# z%EIqJWZ^!$$wo|o6{_u%EJb8-;o9m5N^4{bX`n_6XnFw&$nDz~^`z9~Af!U(+Ht{& zJcA&AOr2YlGMX9b(d)meUC{Ln9^oEehA=5P451o~#UBovG|rj)4b!FdAQHnp+-E-C zWVWxFn0@VTYt(YR&1(Vj54>ND7@kxSQX5_ksD6oZJ~vf5ow*(pvZ6QpO|}vnt*o3E z0W=EXa|;ARscRah+<^z! zQQpF)qzN1H4qsWRF|fKLavfkEZH;!vm4R~|pZ{kj?B^H?uxS8PoG7 zQ@;cO=IUEpE7#HXh@zAOb%r?UrYJnS_`%gP@jL}Lq&3@xI72^r0(NJG$@ZO``YNtVk;8LzW4eu*4fqvI`gPVP$L( zU-&Yay2NQkJv{VDpx(?H_cgSo7WVD#hcV+e_b5|ktUFpvA>td2OI4gRXn9kmtm#=F zm7^N14f??a> zIG|nNSe1{~&6Iau>>!!bPIJ9|`2v>}NteUHI*aiayNxYb2!m9h{JR&G+Z>!Z3WeDm zUR%sYdU+nn#IO*mA3m~9n>QRUoAc6cHFDQ`{PuXKonvgXAqaQ zD~*kyf2QPQvih?8(V}SaH9D<-`9lS&zx1Fg&-=A37bzt2CD~f+?+S%Mbg$SW$pNOtm&Cs!5CK{pnKk58eeMPUG9V zv4@4ZRK3G?TJmDS1H84(S^&zT*NWa?uRJ*q6Cwk% zZ^LRBiTRi(tMVYCeY$gk`K=MJbn0}H{~T4#dX^!*D3rD_^aJ5zTH7Oc^Lpj1>{fWd z1dmrq_sjNXg5h=Z)*Qp8a7L?Zf)G^(b@nu&LrM43_NIgL^oYrtwA$Q$SXx3yRe?}@MLIrK$ATMd*A1F*(A5XCQ#@l?^7W@wgt`ToCL0O509 z?0W0%qNMd944=u)ohzXf>YP?aN8f%Sl&3B3c7&r?m?Dy7n&#@ecC*36i6*DnG+ODuLA2$j~1j4<9^ z@YU}aFINPDUf}O0Z||MWgl}2FxQuTJ_Y+o@?@@HHFY_dsxpEQXqF(vKP5m0Z;kI8w zGTPE$aTgupGB;PhN@r?DXH~4Dwy~7)QM&hEG?RAud-e9RWzNcy`_*TYZ+)C&Nvw+9i_Z3X1pYG~gsz=dOY@>crabs4;Tns710|BHcZe5do~0RJl~+Oj@eSZC8R4b!7TA`;f4$na$N958xsMwx zpKjmvDT!!=Zsd#EakFuXnw?wuOIyzDjgC@>TLR{rKK=<3rHXGL7R|G_o{uDXpbr%V z-HU@@6d}whQo-(xl~{SwEMm$b;=gq28eM%jERF@^KkP8B1RZ>)XZGv2lw=SkpINk$ zeq3c!?Hg(@fM}zqo0^`U7VfBW4KAFZL;JH&45Q>5ai%_-7fqnk+p4-*VQ}Qg361pu zfW0^O&dK=~pNHRgcin#%V9i0(KnHv-g4Jk_=K129RfqEfGtP0LU#BEq(iFcg<1?KR z>7_Zd%M_UBC`*8WU8x4d@5Cu5yh{@K38X|RsMqtQmXg@aMrFViUdf?ZEVjK|Ox#u$ zRm@T(hT(QQKrk$)R+FA;PemU(34`8~4jS$2l%*g5L^tNPd`xf!IL0daU-wVR(`0qG zhf}I^IXxH6Vp#URwm&n5X*VKRGM;?{*4+Jhu1$`A=os;tk@sh5x-bCDWcDwUw; zKtYb0K|)fY?Dk5RZmCAlK~UI5{dBd}4JSlshEH+XQJpKnA9H^YOIX-iDEFsvkm+gc zf|NOvA$=<@#ggpNG9IM*#+;%V4sI{KV1W$$VF>H9BN_~z6WvbQ5EJZOpZ;721NNNl z*Po552NX^I9A+S!M4Rd64+eS&z|U}7zscn@v?}S1nkj3(DlRP$e{Y^DM(%&H|NU9+ zMh@MFH97l_A-ucc)DsH85UA{>Y+76)~Z-hstnMnc97g>nDbY!5+1+ z!F>E1Q^K1w-Bj@@2x{K%PNz+N&HuW2tg<0EC)M*{QzRXQf*vDf^ zkf@WKozZanH}q4`oQV|H8c(jH-E`Y>u2IIv{Ny1s(uA+EDh!-VAjSziCPvRyN&=_$tNAzp6!L=KJ)*k)H@OAJjKkyZU)+P^@-w9VPYx=~tJz@#gC=oF z@LhoUBHHf2v#xQn1yye9F7kO+-QS60zZM?Y@7~T!qSs?nV;~@F)9a(KBCN zY%rhba8T0}E%sZQ?v&3xt< zC+#ZF_DlQxLxRydYfsDpqD9rVz+-IJDJYyaO+Z_QHVq^|F^&O88EBIZ5C{1oSaI5$ zP#}nF)*WJNnrnvZ!e1d{{Wn}Ui6^z- zNfI!rzz=ZaG$u9M*JUZPr{MFFXdN5i$NMFvjQvF{)C+F4rlK6 z4=u|$ln(8P{klDAQCAi$bPaK2&13~XQ9uN*#xC8+h#&D0_|m50MlGv-+y6t!*8(x! zHGlCG2D?s?!)gF8C~nESWFY9zd;FT_w_^na!2=(M@%+)H!L>ryuyk`~(@f6*+sd~b zZ`z(rBsVCjhJ{leDR_{{HtERHp|rG_*Rad?!*MKW6zK>lMkTu*R!)xCrbDj^uSW$;Ap$R@I<8wKMTiGUf^quQwnFtMfA;wg&L+ur5R_#>wE97W*qVBtnR~O$r}6UU z$WFdnPjE#FGG1QkQQV6tWHPohJatMe&5~stsuq!}ywU7J>OTcDX!3*zXIh8KZ6J#N zDw7VfAx|U12>}q6R}l5`bQ>D~Qqr2PqQjR$P_)TE{-oOsaQD~n~;IZ_I`M&IeW2mTjboC%A z@-212cg)gP1P*tPmLQQF_YaxhLqtn!aw%xLN>o@KFQ2Pspp(mpfgi2K`YLomKpv#h zvD?{`&h3*9a%C_cqyzWvBNPmz9DO*hv~f}_X$KIjH}ONIo4e)b#Rl%FrxWWp1;F{0`Jh?&X>BF zZtO;iNguz$-*Td9Qo43OjK#K$n5@rrloL-S;)@`TTq(g3&+BrIb z^G?IVBxl9}6c_SB1#p064*ZTk_r*j<|2$P4dCOf!hxs@Q4Gd9?SXv|EvPcH))Xv{H zn$1hchVRl?b3Zw93`S;as2dNO3c_8jM_vG)`T`8iL{LwEJ7sI+jVc<=dr^H+3F&1} zq44F)`qNsy5+VoH+|bviiVJRFA=u-YQ*I%&*oB@H^=>nLIs%gP3xX{#26#ZPXTN~= zyp8CvCfs5#@SxL-b&E|Ul#dw|h#BQ`Qttu`#SRZuAQMEG0gIKUgXle>%m`ZQ7UWLS z4pNm?)%IMh^GY|4y`m)Bn=Tz>W<*f2kfG^SBrHyb7tnybC%Sj2=3&G{rB6-Lkv{`X zwdce7W_uB|Z=!=?MwSHa<}HntRiL58&*$Hg{z&elDHG}(NS52e^=T&_j}i|sVRvrH z3u?DZtRa%egJtP*Zg+9B{%I6NBXwb6e4*G#l4aQ55yHMt7boJQ!>#P`1vN=o2|=oig?SK2^3S zev>Ql+L9NktjV5W&}b|=kx#MHf`q;Z4Nq+<=I17rAv>GaG$;!T&B=x9tC&$Xd?Fid zWi{vj5cS!AiTa;hUR4qkG7gGX#i)m&A;&aghE`wnV0k}-d`&3p1cpxY&Xn5hk~Fd9 zkKEYMi-7V4$Lf0lP=0SR&s`N514?G@0lB;p-iMBWu5Q?~XmOZEK>5 zZF6ExJi)~F#I|iu>||owwl!hL`FfuBkM}!u>ZDSYy;Hlpci&s!A1HIaZB3?u`wU~8qe2lpMzx7r-mf2>+5_=tW%n3AxBG> za@wqi97b-Sx!BLgwD{IB zc)LTmzeocZx7uamY5l1br#cc52(ljx|{Ysv1Of-I1=ZZp;3I!9xYo z=na_gy(36ps=Q!6XZqF!EvkPhY)j*u4-bS=HT$13yvi?x0wVc4AbWgu(W(!=)?w07 zJcgBH_vOv7WmmMnm^c<6o#H}n9BmA)6{w_d*rR?|s%xz&9YTD_$Dv2b(*ERg2s@9W z%EVC6;zzw&D1zR@Wfk_9HaHzd^$QjqP9=T=k(cp9kgl(HteU39CY@Fl2uqkcQYsG< z@)zRRWfCYe7`R_{b9MfZcSj1X^UWMFtG|!1-gcj_MUMl~AJg~n&P)wY#h9dl)I}08 zY^9!j8t;z95;3ZvrDVN_bKzs9U->eis!lN?ceYQA*2h(saT_L!2h;=Ix(^VF z6U=JJk-f$CTKohuHv|>@qh;}^P`Fu|eZ=`3zW7@v;{paIYa`~gJvnNfW$ z#qP`~T2cwyEig6fANdaXagPBQcJ+S8+`KOCQV@4tv*yLz(J+!^apz4vZPIc%I%B5i zR?(?(F2ziWv7%`stfN$4vTCGnHLDUG1>TUNt6h%ZB#8*c`TB_k6bql6vS))a} zw`i?fwoKwbEdNCxRN1)H$XLBH){+c^QsC~20Q-=MNCwylkmsbRbl1_J1A?w*XR)He zHutgYI=Mcd=;Uv;FuDJ#eRS3PSMB4%3-rHbe|T)pKj8rmbq>nk?g{A$@dVM?vTwCd zdi{$P^yT??GF*iy4Sw!_!r3um&{z#w&;97gIp^vY;tZq8Rw^a>O!Ol}OPMzVM|vv!*#VW1#kT$jEk!KPHk)nO z3lfxC*G-OhbYH5U#!aDU!}I-$ds34j#1#-6S&!M0Z01L=y`?&sL;X;|HOJqX2;4VaDepadL2Iyo5Uq6E zAdUkgIcUepi}@lat}G7?^RMDh1XF407vEA!*!&{STJwpdJoEyewA<`@PU#8NE%ByD zE^KwN1n}5EzL0)RUF+pAp%FTzdoDbjwNO+axCRBkE+uvV?O5r!HoCw&p1geUY+Aplz;jv8Os=EHjsq z@yr=K$%iDlHSD@dj=fzH-PEGMLgn;AI z8;tXpjSM4`?-eH|+8#qyI!6jkD;pUI*kP)c(lTwh3j}SVBQQuRRix~tuhdew%JKcQ zV3&_v)v03{=iLmLL~V}we^4!?>KvlyaN*edcOOd|*?-~CIuDx8G{@6pzz2yKF6Y)7^dd#QdXVUJbM?9sCG2I%ZCm>=0_#TuPAZ0C(Mb7YR^#Rrlaw(CAhi1=9bi@Vil>bR z2?jfnuj4F_#4x&FKGwi5c5w@-zYu5TXOHYD1PLI4jY7kX`EfZJUy%ga2%r1MC(+P# zGL!1mZAZ=*FXqCn0*AO!)NQV7IWn*vm3tR%Oi@`IoJys^1_l@C<$;sHkG=SKQc z2!1q3wPIRDFxV^jWa+Riq_Eu6leklfB!Ce$9~LI+l)DRHs5j{pG~`ucR@`hrY#?`F z;?D*EUKMmG732P_2wtu!6FMnBRKE;aw{nDs4^4vs47YSBa_c8Nn^luiMV$q@8;*-x zXxFnFMYe{1twpW|&gu8|h#Gk7P}gU2x(8`=?n<)8I>d+kj|&Z719@2S$3flzc!f zN#5^Uw0ukW1}A*5J-(d4ULA3JvLxtqrcW%~q*>6Z?ecOZP^^N->L+3{@g8P7{5)A$ zl$6o}0a}KClgRnE)3^R7{hqYPr@$^lvn4jU4E8t-8U1cDW%+Z=NIcw}VKhL$%>U#{9s;1ix&bz{8QeW4pURK?i5)P!j@ zRT`3q_j?Sjs~}yr%Iq_fN(Tn)R1J$+!eXv|d8Iquaz=FmWhogNaZ0`io@S0+}EY*{W`#0szzEe$PBnD{P?$WV+mb+26;D{~$k zv#QO{(~$2tPvCTBU1~65YLWtQ zjGO6xpB9xYBE+A+&OR%sv=AJg`VJZNp}`Nx*2ewzO3cmJndUI$x#!3sA}*!{10+Tk zr6e=K1Re#VhBe-y0PdaD`*}cF8Otr$I_?)4eLqIMzmEvM@?w|UxZGx)KX$G^kAl0( zOm-o}X4J6=%B73PtWWX_uj96}xPyL*d=siNrv-UJAPIYMn%G{9!2L#Yri&_^3B|X(m)IvTW7Z{*Wx4F~XJxon7Adh4o4^scELrzuDNBxT1! z^KEB<_3If0H5h|O7B8-|&F2;sYeT-zSCHUB^)oG4EeJEcy&kkgZQ}_W5)yEwW5f9- z77CHTzPz*0jeatKXiV562?5>Un6v@>&~L+Yrd1avTrYY7;=yx~*fC{mYAB^5bpOTa z0jVP3u`b;s7L136BEXNL*#7rF>dO5!=)!bRN#;6znPCz#$!kf8k&H_Vw-;wL)H2dJHl%Mq%h=?f<|@Az+NHZVY^?GoJLMkj0ISf$-uX>m~4 zwMF~`G-pvqNI)-L2Hl9g3;;lz20dIj*rL`f+%|v3H=@cbKQ5xakmrv!j0ImL8iG7~ z!ogxsi_#@)5#h-21~WmfV-sxI-l-#*Z+)on*+aQ5207zM^}7x4M0RbVO>^s^DzoXz zc$Gdjl`$Qs16`br za4ZCX*1b);3bozWuk%;mGUb=1x(oSoYY#G?By#;o_x4lEtN{|2?jg5Lv#a2KCRJWE zWAhGwATH2811t8yf0VA7D}U+Yl)a_0vSn$K6GHG1m_71q2s+Zrk20IR@KJq}=#%<- z(NFEre&I!ziOE?S?}aP=45JvHDA?SU!_7T&7~u0UlghjrC?&R!;9pGNUWtD{Bm0`@Cc@wXuTHA=#$SQv+ zCzjC479s^Nz!{8zR`JdChC^aMfhT71xrI*n5sxBSX~lNDd0s z=1!#DvY5uy%H$8rLIq~R&TqHi%5zNAXa2qd&)@;xvSrqc1El>(=x5xv!670#QJhY5 zey^Ify5Mh~6CTUT@L6Dlv<w^Q7n&*m;Tbox5Yl6}b!6msJbov)n#=lCVf8%s%-&iaQ(oz1nra6Us zsA0^koDKsV+t{vUB){7tbg#`;V;P&j`JXl1)@6Z9bsA3-qFEdHv>f@9_5UsHJv1ug z${pWz%j-QBLY61_seQNjt#<8*;8}jNf4q0uwOJ9TF|^KL+=OYBwvZzRqqlxy03peg zn^)j>X`BxWagkCep(74&10=YZMVfpxX*Hkr4%)Q{YNMT#asNm)S!{alqE2Vg2wT{W zw^?zJkc^Oa`o>|{pR{t;Gk{iKuM(HAv!}!nL~L?DLRGPU__c_+ZOB6{hChmMEi)vw zEuzknPRLV!az4>_>?(C~A;`wXb5LW);UKrXpetI?G_a2$8e7{U(TE(3h1kGpenzFr zVbDl;vcGfj6QhXKn$g3L-eXyhH`#(Z-TKA4O!**a&a*PApNXNGMa^9V>5nZPq=yH( zpY=-_#vC3rSVbF?H}`S6IEiJewY6^5YPqzM4`R^!ULxh#{BN`g(}p!<>S*+7EOMCP z+P_>D%0NI=1N*Cy*0_{@;-OY(zJ!TMi;c^jrv~a(iNm7Wc$^s)qR?^?lQGAjf!1!v zQ1gD2hpRJSGGokpC^~el@5ocm5YpqgyIb_6r+q#1OS7-(j94s3Rr!8m`{LDHUj1=i zH7%5rZ6yMWy85YLZ(giPqhmTfIkx+J{bG2`OdWoo8}NC{;Yf_;`dL*{-!l4Y>E4# zbE`~4Klu0HX25^C`|OTj!ioITRy|ro3yqnb*M79xP8b&Tj>`O4W4vAZ3U=w4=Ow@` zujpRqnfJ#1=kl~by-!lI61kYg36j}Sn6i;X@`0QMwR~kcN^+A~IXD86Sr~M=rEEqp zw&WnvJ?37}sKY`Jsqd*+*AVHv*x3tTf#ZN0=wK4`HnO)n(lq66r-gRThKCu;EuHs= z&b4Sqpa@qrdko2g(dnNy%i{5-Fk!zNy*{^gKV*F3a3--B0XMG zcUKIb9(7yMN4)yyzRo)~f1}Yy*?XX6Tj)oOT*8LO{3~{Lv%qU5`=WB))QdB@yJeA1 z4{Z3z8@S@pS}!aY`k^!>cOGTIr)Hl}OVssj8nh*L%Q#4jf3*L{7XZj3>IZjS5(x`% z(EX?{?gu3iyKXEKWO>M`*Jx0V z0c$D@v@01Xo^>bq-N%;ixnbL2p&=x__NlFC$b6I9k^FddOgLkPf7f+#*2&sDNYDy-f4{vkZ`>s(p( zuh&4T0qOl>>hL|k8fKa zZ^gyM9q6zC_@MlglM+xXJ`xnSmy2fL#Tqsu^buNcb2$crrV(!1d(u4Q?J({4ONpf5 zS(|mA)C{kAV{g>h$76aB)>?&^B$B68nmuzLat$OEyxrfeHkTa)ZK_*8<3f`ePt<6b z$_x&?lJeYhqu3H$G)(ojbHB#aYw&QY`spbe)YNdZh%inXsY$lzV&vAuE?kSWz`zgqiLko zA(8!7(>sUo)^MD|Rbg~}S7NeFo;ER*mpBKRRUrBgxen3;$jZ~&)s8Y&TXe>w5BgMD zHmD52IIzzK1Yi~-`Z5xD4a6rJqf6e$Xfur;Wh&NuoSfeoaFwRK#Sp)GvA>T1-^c7k zApAtY>JaPUQ^7PB0q_HF#GQFc40f-BA6imPqnD@GJkddVXH{-8f590d*W^DCrdph7 zazio12D5PEbL;Epw@>fe$nV?CA2-YhA?b)s-U`rm_^$y|11j5fx2U?5JtBeBk_X~~Mq(w7u)ejn$6rv>|u5_I4P<@}!_Q*-7I z>)o77{;d*AAB;$E(nv{=+i8G&km}M8x%m-6rG{1z>GNs zT_d-t_5E$rzVAoA@9o_$?Tz1;7IXHV@1L8ud_1kJ$`{4wMt=JwM9-G0r7t>TEv+O% z0#ugkjCVe(EG)7B0HN1h&s^1{>U2qmT7ege`CdMGGEDBNY3*v_)vWh9WgVq--uJ(v zY^cAMs+qhDUI;KD0b=1uY54G?in(s@Z+?iGDM3N7;1tk75dLF0)gS@-P*Fg>-s81f|=u{IntiO!^p5#H3^Q+gpe?ymiv@JXVC>+%axPK}qiEE84=-^J&u?+cYm zWg1O*O)Ui{9Ruasz#(iJx_fG#h5G8p-L`qV9>llR51R$A0kD?0s-RJ(y4gE-{FTzxM~PZab(xe&?NO&0O`OE? z(&~;~gi8LQdsVtVdRlH{O=2;YV^|SzV_u@oaO9IKR#_+39htQ{Nzc4E){@OzXGpgn4%!c zdb0D4eVcmenti^f&IQAOhoZp)#&{%^SprbX0&qor-%LlSILt7sr>Hnll zK-l>ikNY>c)O8?3yCD2Vb)G7iB5{((M4i27%cE34Lq=yDeL z`jo(tG@2POOlUh7HL6{HgGm9>qr&%Y^w?tl`y!dg+K>Iw<74se#-dn8UL4#`w6IKv z`jy!48C+=@Q*_mz+hd?Q)=uW_Gfn{1U`E_%xS(BdpHm>Oda^J9y~(j9Z>I$oyYu=E z?PX=D)^i_uCJ^c}HW}jmcNyu|5)6J5`^>8C`aJcAo#W%vjT#ND7{Y2%Eqm0JNZo(p<@@mAdmj8W zgwI!Bzg6l3=s7J^ONclvcFm56)DMG~oHXU|_Yo z>reIM9z%=%??ozIjQFm)SYWkH`aIs;I9XpE>AaYv?^iV;W5)vG?K?0*W5R<+*i@5V zQHvqiU-v?;)%pE+f;2?{ec86ofX1@SiROoof{pQ`SZ+VB7LATm&ICOkzj>?X@;8*% zCi%A+TEEpnCG}r0MGn|Z)P&1d(aD|lqcU?+A1W4q$2cjp*;Qb1l6e_eK~@YJ2;UIJ z&LOCWt3O?mtNOnz!2tck_+3BKor#bj6B{p0R3AIejh4gjzP)PhdL^(x|&YRY;W>xgcXVGRrDUodf2r4f!^ zY+#5f+_`6YFW(aeszY&r$}qUV7KK|ttk=d4`o*SjQ~8AVcJoz?3QS=3Wvh5x=q5M8 z-?69MUss~kql9|4RazwX|DCIj4ovkxE}_FQhdU$a0i6m-!$MpjyzB#LJ-bK{kgJWY zv|nsq|52*Bnd?!v(@pe#8Z*nr>#CUjc>81Vvq+Z{!R2!QaN>v z64W08%W~K3-Y4d7xHSaTO7*o`_o+bex#0B!*y;7y&in8>uom|^_3`NYc64>Qe7jec zGhFwIZ712){%xu&1^Gzv?egl~mH{ill>3e^;FF?pF~ih2cLmnW1+z`QdQ>|oG{iZPEcFXx)oUDqC-C0$A{@GP#v$~Z^-JltM?S@UZoWtM{ z;Y3H>WK-@Jd+EBgR7cGGhsZ@4fdm}QsN)p$ItKGz4Mt<=YDNYw^d_sMME-Qz*Y_{R zcC;y=nWdLwO8)$*0jvTBTLqnFYZEyyTtkm%yBO$cT&EjDbs(NH;$TvO<&3nE{9Sv7 z%sbiabDJcB%qngU*V1wXlw+0Yh-*lcRXQ#0FbBt=)Q(XUW1NwhQuGIVK5QnoI z^;RXH#(-*BHusX0lsRVA;*xaQ!%p~XbFe0d>E&Djm1m)@+tVdVgx@jaiK}bK(X$>S zeHE2vSK6Wn$Rn=4$khH5JZm<7glx@n(AcWB+gPQI*~+J%&mvInW@H-RT75wV1urxW zoW9o(z_(#eaA$XFEGeB)x$zYZ0Rr@fdokn9?9Y@E@i(Wab=hO1bp&gYd7P5c5zLdV z+5XBnr%YvTmZoFz=48xDV%Qa5$sc|ywcm}?lFzOpJhFMe=Be z6LMzI&KPmlMG1Z9M`uH*NOK>HjAcztn`1QAR~U9^Wi>&E_zqW`u`szNM^%>qUgiE6 zoF zfkfgu{NJ;9)O9f6xG^}lT+i?!;cklAm+eKc%bvN`jOu=E=zVMngz?;VQ`dbwt^u!{ zydImk9;4r7@xRu%P24Y}&D(9gyl||zcCmWbe$z;wi)5LPYKX9<|2vg(Ki4!C_*Gkb zT@WKM`tgC>{cX0&^5f91X7c0w9SHs4tFv`yiUjbwZT@<;*zmFAD(60Q(}x`N^o2D- zD$>z7W2MPw(p>0VgN@Q*y>WC&);@X+*V_B`#Wa*CBW%01_U0tXGMg7)zRVecYf;W& zUEc78;ggv)04Rv++_ zd)w)XUd|`J66G?raLmHV^XSboC+SaxmSvAAS-g?+7Mu90RwGoyi*9q7=ucxk$ArDV zl>o6g5fK#($Zie@0Q@lS) zfI?1-`39F&ud8`BT2RVQMFTv4Oc!k^tL`3mn+H1s{P@?3hV=SVZ=~Uk2+e|7y%PW+ zq%jUY%P^`K?pRA;vmzpzSBpBK6e}aYk1s2&>9RU}=Kq@)%@0FxC&u{;frmO~ZCqYS z;TA_m|7{&$02S$lGNvnkybtC;j;PCzAvjwrF0Q(bcWmtDkUl1&e%CC>m=+A(h}x zvaG{5@Y)gUN;WykMt@Wk5x`v9Do^6zdi8DM3x}kULyg&q$|t~^NI5<397QS{oLKJD zlX{^gneeEASj^I#>cq|LI%zw#&0V);$zjll z3>t~r#5-6y?XNLo3i#F7RVPF=6|RWp0$mLTE5i|)MRzv6d8o@V76f~*CIzcC5Z&}6GdvyP4BNUEZ+k|t;b24 zd3LMA!6&EY^`<)N3kufxx zG#r=YxOldmH_wKQByAF)_R*XEJshisL zy4#dO!Q-?glZ6UO<2#pu$mJbxl^A+!=mP3c&KC=t*?%idN?uYm`KP4yi?t}WLcPK3R2 zQnCH{U_zNPvMRF^rRznK8A!JW&MOxc;G%XC8x@6l^|-gJ zo-b+*;oG4!SFU*AhI9#FB<1*`96j*d)h>{mzm(ZTb}NTE*T8MiMb$^E*Mp9R!)5}R zY@?_bCGE{+qZLiXNSx`h%^z62iL0EU4Vq&?FX&k6TmolA@5{jYWM3+7cS$=Kc2Zye zQvq1c<@WpB8sb{7+mi*QGkLe<#v3UO4DdMs*2D;@< zDX%N#Rjr);G>5y#5+3*PIfi5>Q5H|{%e>iw%JqcuAX~xqUrWGuw)kKAKWDq5!5})>BNRvnM745O2oco@!tND5Rg7VgI?gcWCt@7t)-z9%XxiQbARVc&-JX zncfx*-mZy1YBh8w`b5Og!MGqvVOCpvOCZ6df=j&&NYfi)Wf3g>l6UhmW3$1HDZxm< zNKT*frhN$aDM$tOc`O<%6Y{#^XW>L3@>wXs$2Y15?h;|?8#!_cW3M&G=io@-!kYP* z>VrBsPyfqaAb{A5at#RpAb~tul=h*~uNCfejXZc*z0wB)@T=_vr%@0KJ4@}UPh!Xa z%SRycvg^S&%RlcIRLzDD9ax|FDuhWOo3#Rzz~*-lvzwFwX&{Bd|2@jHEDW7N7$p{M z48%16P$B&_bik=?D7$Dxw5>*9z{KVf(LSq!3l%H$B<@onquJ0UYGsoD~=qE zctSPQDk<`{t}3&^Rz+V=dk36T{|k29V1s#u!-Q+ETOlt2ITDQm^$~KfC_vktAU$yvDB6Me)x5yuY`0!CWR9z(S96gyVk2y*Cj>GJ3P8TB3$@gYZcx_#Y zokKi>kMw$Ig=1mM%T|RnwfrId8@xq#IxmWzzOT{v?XSz`zakd=n6a!_ZOx6&uuNjg z^@6|T>V0DvAHDGwznoj~eJxS!o{7d7m;#6REk?IC+wlsgG+a-zm2$PEQ*5EDJYPrx zE94UA_s<+6lk)X+lmN|0^t7||HtKlcSaz$ux0GT#UF$4goIE|S5Vz*j4dII{54oBMb z82d~w0SW*RdGuq;15$D=G5o^gh6AWulX0suXj*|4(y;xp&eAc>nIP_kEMyrAjiOq= z$4a?`ier@naSjrING|cJvscT`(pYIh`aWpWhV0=50o^U;cnH7M z*~2*FJ!xraWk$dib^Khz{j^^r1c1bQkSz`ZWbA3_O?}cza9FI>6fmSBa^a5(fL-jn zu10p#7g57c`m$_=mm`?gdE!XXW4|&&l4_8zRpBJyE>E&Jjj(nJrdE=-cyjN4a8ySD z4hCvY;KmH42X=*E1__wER#I{MLm7tVJBxW>)8iOn{9DfPvJ-51WT44mP$6col##RL z5x+T9)6~fpq3{lC$R)T{Q*)n|axYA`{d#3oTtk(lg4%nJR@27d_{SmO&;Si&w`w=9 zZ4cjQS4^gM1|B|Gl8kz0cJmtu?XNNr!QAx-ihdZo zKnhyU>pr#lWG1)!&HkEQcc<6W4IVC9r|s909#hkSPM0R!N7injTrfYUVdaC|oVDZC zb$wuQR6t)_bfOCB2foq5VeEJBox!xMNbwpoWrh7M1n5o4Ha&z(#fERwMC`zfY*}s( zXDPX#ijS>kk|yRhFhVj0F%GcODm>1c#1N~U(Ejl!f)+$8R%~)>7aKfirfjb9GZFFL zUdy_BV2Uylb~qt5TEzVbiT_*l?x7@lJXBIq%fJvgxGR(ISF_$%BU=l|-R0zqi_trT zETY)lc}t;58Ku@)H`%J+0o%bfQ#Us}jy*AMh$_7GeL>j<4pm#_^DV0!GHc}^5r^k+-C$9^0VX-3-tOCO`(*_kfukjq~rjRD( zTnu{rKC}R3095+{rGWb)c4qNLhJ~85ait3OWR6=-gv}o+eN7hd&@x${r3~7-i0v8& z5&aj}I+lqcCTfliXn?L)7S9Pzk6fN#UXEr1t_OllsK?j4Gv;|k`R2(BhpeV6&}HTo=?#IjwJ!;p<#?BU+qlT{Q zstEzlo}5!VLtxu-uD-|6(H9hqC67o(%z^46p@-g2-%_@hN1M3H>Q2HQ)uY{54=*ZH z6&bBIh5lg*9@y z+Ux}RV0T}hosmmB7#ePy3%+PsmV=lEP$o%G0r86M^8}>GUxI-kjRq;Zh2XDDZ-ax!vqs$>{w?dc#?iIykl$H2D@A#|&s4ead`ymX0~6$BvHe@3#> z#z7T0J4yaUChZD|SnPK-V}akg18#XTy>7+=w)_34-h|g85kcQAU5=Ejl_A^lu0`1F zYZ^r(P-b0H`7>FbN79zzLTW{2Nq(kVc;}d_(bQ{-DaqBarH+nr>;^3=g9ge}VE1HB zRUWpi(dn;XZ_C>ID-J*sF8syLE!C?13ci*#Xt}my-w&3teuT9j4$3_gicmHARvC$Y z2!XQl$W~IHlTG_4EaMz6%1%UinFXRO9H(7#Cesn~{{?j#*w+^pR@lsJT|IC%8&8KVtX!c<+n5kx|B zxwu7}jW^{zBwLgWHQC#)|LqI#pkYC>wHrF^fZ37`RQ&NQUo;n;m2zCp3K|Ymmg33T8~C~ zEh7BlWuf0>Z@y_(w*-yjY)P@7>c~OHiIl{l?!G;-Mjfdww!&uAnRv>D$Js=Lkm* z#nS7ShbZKswGUADz${Hi=2nU4_JzM2L{}zme)veY$^Br1;iBZoPDxXS)|qR{qTq|A&UC z^|`B;VLH(_hh-ssPecX#J<-?ZEWG#l)7)l7{Tia`JeA-6B1LTuBv6`ftU9J`&yI~m zym~-ZNJO9cE+#JXqON@vuye5tF^kwfAV(-!1HF6tN~Y6W(#y$*>xvyo5Smb#5(5MP zYPgOMAvVGMYQpEapp4q*2=;j}x>an}(^mBB{Fh|SY3Y9o^S`KEEk!%Fu5WK|M`!Vh z=1u>l27sHMSF#4rvo&g;K{_o0Sr;!_TavuN!xI(KX8mBiA_q#jIDHh{g!%6o_xS)z zEXm$^6uhE8-_ZeqPaHG3Vr?mcZzUXT#E7(b0+0vRqI;i}{JeZM-r2b_)W;9Ip65S& zB%YG&CaL4%yZC*U(Vf3h|5dI9u;dxzF4GNPS2?V*L5CC$d*MM&$2 zL7=sP?&XIG0jh!i52ZXMzWclI^C;{cpNBZ9pnts%H2B2x%}fm|$LnM9GJctftpib+ z&KW8+sIIf!#yefV_67L5z1)k?;e$?n&X0V%&qnOBo}9;i{`d9F^G7h8xYjS3ayzSF z5gH|)NfGkgC&dPNCI*^jf|!_dOFLr-M-aC($+Y-IuI43nT%|g`69NBfCks+ireKik z1(p6$!RcP*VxC^2cvK2hsz}zfGOh?~f4rU=>6llT1<8n>Fu?SAfr|AUM*1T2Ar}Vs z_!u<3%av%YSSr=+)?uR&39STWJ{+k2>UwK0_6UcRT6|7JcrBFK6Qh z{C1-Anl^URC{QV5Pn>KJ96th3z2P7I)D~{4=Y72j8-O%^eTZ!jA&1p(@v zzoYHWq@rZzTOkb-U9SVErM$+Mz|?F)nr|L3cMDfFJs5UpBWR zP)trm-c`VvfFa#6NCu)sHqPPBO>UwKgQ>tkwwC!r=<5ZNfZ0c*u?k1=p;yT-WkZ)M z^5y+ve@ds``GgH_S)8GHs;J$W4z`ScP+G3(+xbS&v2n+NT2?ul!2h*Xj^l~Uz)VJi6u*XVg-n%#Pl&TH4SuFmQ zUfsV2B#)AfwN{FNk!%?_Nq_->0`E)I8n1)sH-h6n4$V7dTjh!f{~ZE0Meoab`JAvD zOjV0}UI>3-esF-)6Ef6ie*b;$3Qk{_42bX{_fBe5=UExRue#Hy3rX-9;l)S*Ky3p0 zTXR<-fR*0AIEs-V^AiBWd^53^Kq&*eh#n2-VdChRK3%hiXK2>)nyks0Ce590+O zy#5Ayze&yo+w!c;PsRMVy6l|9{RgC3_{@leR<*_7DqlW z1~qAg^u`SjNFD3`u$V4vGvRV-iM-IcTmV@0wb?bf<~-H zPeLvaktdO)ke81Qf=4W*ApuFrE;4ho>%`+PO0v|7kplzjShA7>vk_?}|CS&Cv8eTa z^I}zyb0?207WpHF7CJuyfLFjjoub)H`PwQ$BD7P7+wXD%-KMKVCkdIx5AWxKou6ME z37YO*2+WsovKb~h0~4_8-5)gO0+ zLH_i?c>*)ZZ25(Y*o)zbNy341Dy(w!1(k} z(TrFBBpsMgWVTeekUE--Xw}@=E$_917Mj13tHXb?GC@Uop%zA|p8$rbW`y39wwpp16{O3u*vQRpOoEZ*f0JOi| ziaY9GfOyM*Rr(w)tYa9__sg`mwoDHKS71b5DSKO>_#@Zdq+)`_rrGsODsf_6T7p^T z;o9gnAAD{}^8Z%;z$M$HL_^5q6{}F=A13SnM=yW2QcwLSfVe8buOE=7$DZIY>92`1Fe{iR&s z+=t_M<4W-er7@l3%B9}o+6!dDZw2fm2Ya-U@I8UcS)lk?-!rlKyOFRufr&RZSU~Yu zX|X<`0yDRWAU}IwX4O589EN|BOV7XIX9HsUiuyVtt$m0b0e~bx+vZ2+4bNAIb+~0$ zsF~Zm-%UZP5f^92B4D!-A$Ve;17F-5>H=q-h5MZWb-Aer7 z`@$g>UNdo`lu;bC`fl8RKp=Gfl)r8t*gN+DmY<6f?}hOet7 zigq`<-A_Ow#JBPP1UWe4D)YdNPy<#ed4_cfsaOudu|Gkg&;Ttk!1SMfax4%i`>$>J z4*BFVQw``sK?xJo&Og86n+Tm`BR=^WS-Rb%osUGwWZN=iHhvu3iLw`aC45=+3a=MI&Hs4Gs{hsJgsp zYaN?8Eze=V*t%bNUZ0VMOP7iE*>1K&7K*9bl0!u!_8#jl(D5@F-ps^KK_>pSyd@RR zU05RtHkS#MQlqQV{Tsy`6H`a=>baz&?DgbrSX=RMw%OHYQnb&VUC>^~mi&L!ePvKw zO}Hir349>|0z_~K9yGWFNnnBx?iw5hXK>9BAWVS4WzYo8;BJG2;2zuucXx-Kgm3Sy zt-5uqZq@FO?H^}Ooj%>CyXWnG?di9PAhfiW^p7wWJl-Nj@+X$|wzB6nhW)&;lY-R7 z3-x0j|HrC&enmUhDc>QBajlY$+NAP_N2mj}I7X{!h&G1OD^j6w(93_C3<_M!h8jo* zIND6nsFf)R{eKE5q)kKO_nIZ|uZJt3wX522@uVPbmta?~7TG+4iix*%;qP_4Ocg$b z6J~TqJ+X5q4hXf!DP`@3C*{hvIm#ykbOl&&)Cm-lw*JFCYOG~ul= zZNjM~u4AvduXr?Jidl4}LoGeP(hA}ydDMcGEc!2B1IM&1aWGU4oRWo~$|QqHd6q2_ zi7P)R+{!#9Wl|_raEc6lEzsxTh1eL1rUHYzg~v7cJ$)uf;pFEqgXe>hC#Vm|Eb)hdHLQ$Ll|2|&Gu)$b9851&y3TAeOc^TKni7hu1b}h z1kd}G&rpvdMS0+KB;6~vr4RMbi}TSa+aJ$ZrhwSLyz!VJD#=U$};V&@0wNg@&RTk#XValc_^l{U_pip}4J4|7_etM+5JV+F=sOq*7zPEd* zqVQBSikcCsdaeg>^fV$^cxXR|XFF>R@HoG;F`eEOO_7(2atF8ggwlF#XJ-c@{&T9m zgnT*0Tr8?-76hYhh#pNKpC%%~&CEjVtHtx^s2EHqTB&VOPLCb7u9*{1cy}Mg>4~@2-N!=G{X(+V zd;CO}hZnw5B;|wDn~z$Twjy2Ahe-4A90|kSXUv6&iv+l(dB!GXUcPOKP_t$+abhId zJ^y~yC!u6r5nH8na6?)8le^LZB~ef0kcKt&4cw&0Skh^1CwqRn^-o=M4&(V5-1pMj z@ezg-hUO(A_FRuAsL378RJ;6Gagy{-Mq0f+gT%jd{AQ;>s924T`-9x}0!Zxt^EAbV z1XcpZY~~s|euk&|l(es8Jo*v9c51^7bJE&!3~ibF0cy_)2`2-~KzWxEG9fXT9gaH+ z{N!P1X$*q^9ppWC=@HeJo+jI8YJjg^Fu>F)V-FBx8SL2;()8)08zol-)dLK`vB0)| z1IAP7M_U6^2LtJNd?bi<*P-=SI}xa}Pp=%Dk^Yf(%7lUA4;%B6p7(ta(H~jCyZ5QQ zp3+FP@78dr5DSA-Xf0{&-~sZ*c{Nbu_8*R&gRQkE7#KX9C$<{<0y(dqzUgDK=tYP2 z-yq4BC(-nQY-VnE)aAsB&f33aE=C9NWqjyX^OK;+mY??`uHq}-ALGJbzS6S_|8k7^ ziZ(dPeKcE8*Yjyfgqu8_6=_6m5Qkc#v|Q0BdNFnvhkgq*5_+Le8&sd;0n+`cM=y7i z`8J~LVH#tW)gz~<2N*T^OfnC|KUr=<6I>z`eIu~gdU+1*+P;h`)3N>#;aanD4pPi& z8rO)Q13%5vUIbxafT{AYhn$t zRsNA81+uv53^t88s?7@y{vjU0{D3C?v4}`~M{T#ag(FCVez5Ekp~EOkqk5^*N&X1z zTTx;%50I463dPQbdGstBc#SDpZo2b^8ou5K0N{IwAGO0)1&KAtGG9Ncvc}y+oODg1 zeI95Yj`$)@*^kY&#)$MVVgmHeQ49$=pR&YgSPPTP| zj0JK3jOwTg?TsN_b-^pm5qZso2|CdU7a_$C0vpze?_!#`n z_++Acdbtw>%EBl`43^!~QY)~kKy{ba^e~FZ#`Z?dI?$7aBzM12&aaO@Wv(X-6-_gY z6Cf8E-;xpfY%kdQJTzD>_F#Z#X!V#4_f6dlPO&jhnQf)=$&%9auUAT?C3(Qia z0nW9(wSLl-+8@}X1t|YXR<^~i$4h03e_~TAMP~s{>DU~EE<%24M`z@HsEyZ5ZxdPy zqnsKw&+FjkCD}f3(~s1_7u>aa{6d3XJ2%@G&yBN|U3!!4K7q1OaqDPVxwb*;&_~6+ zlwy^|9TaWvZ=!(@eyh;X<8PaB-?WUt_Akk1t>Vh;EK=TSnlx2mc0Mmi0fLjNAOGn! z#wjQ5;F!9dk5t2BaGIE zf=~b6eXFL%zW?{`S-iH>M^jA~nJn&PHUVcub1nyBCZ0(kGpLIAxKs@IY{G0%7mw+& z@_GjK)QFye6L$S!wJab;z1F~<@3CY($});n7X>tBm_o#R;tAxB#CrPFAWmvtzP%Vc zXCLyR;OMHzcB*eEo!k)k4K~}bgO}aJt%88dp7jH!z6}MN>4{=QUO8Egu`)$tWDmiI zoBFah_?9cAOcd+xMiRDJ21WcDy2;oI4C`^Kqo51}`&`@Up{yTj)I?rYS;|}_-N&A) z+d(P!=%oP9CRBZc3d0^NR|Lxt2)SaE2UTgXj1sdPTEo%l?<|TT1{NRY9lOYz1 zkpuMSWixOq4vVFcMo~BwR59=zJ)ZK`;h^T77|S3wn*!M_U_|TLpXJy1v-EwblNxHn zkrZrgY@Kv!Gxb9B(mTPmiVvS_cS?G>g*aDqkIX%Z-kMyFX6Awt-RnQB{I06J>lr6F zLnF3JrL*X??Uv-!nM#XV2{L7J9oKm8Oh0D>g0j0*&)Pg!qra-0t>J8@$D0!1-B;xE zXr!@o^)Muu_(-=0Q*8i1i$6EY;nuW3fMKaDQPzqU)*l%5A^l}pj%&`-RjJAf>kd3# zSOo?4&NvfVb3jd#pb)AOM*sk1Q^b19`WjuA>sQtcz$GD+6-rJ(pu4`e^`@*-vq|IY z>>Sk{kxgT7@AP@mx7kPqG5FyJRyu`pa*gBVFoff}c7>L?;aVq-UNZNOdR$tpAMs%} zc(&CK``CvyJVNwgF>Jy5yqlCPS^7uaFQv-o!>8+DZqCbwT@Jf;k^6-^MHOd?AGkVF z4CPZv)=vvf^4A??$=32MY=B>CDtb7J?mjE>KMeiIr%9Zw27#oCJ`@KRgG(i5|B{ni%Xg!@r%rD(Av7Z`M<=e>|ay1lMiFqLA=J~_nC zxvT`FTcFd)y6Sjp)^}l;pU1axEZKCi;1xaeq)hfKEtyOMe&kt?QbQVj5sQ13UVd9M zSt-hUXlH`Poj@B(SR??sPUQv4xqKUPN0O=qTSsZ?7CVr&TtA7L2{0cCYRb~Ud^kR- z$5rucu*G&{QQ^8Yt|PYN-WLz24U>c~vBC`-Q0AXPwGyO+)Z5x7L)2yQKTMK-xC27R5 z?Q7=_vwSj4x_wQhF>09=chsASuPRX~G({XYN~76SqS6 zStmblcP&8CFfo|0-5<&v?^e|kJnXOhTO6d3a&xz!2*;?WUcuDNKm5-7|e}==oh~u{= zwvWtgQ1~ruK5Ma6_&_y51qM8%^G8)7lTdP3cj#xK!0)?5?-l}{pT{ms(Q2+fq>jpvZ zO_Fu{H8*<@LB3B$QTl4Ih9lopjW^|=EquCMJ(y5BPKHbl14mZ&Ms+3~807he7mUkX z;4C!u<9ixKu%60@jnDzuelKWg+W3_$OFS3dKjOar#qXcG%Q9aB*4HNJEC^IDNv*@^ zFIqi^bXFll4)LqT}_oTEIPABs=aQ=h!BH+G_#|CrM=eiox_>u%{zH@oR@>T2gL zxtww+j*X|I6`1F>vEZFS;z_&}L*kf}ZJrDItV+cCC0vjgcy(I+eeX=ZW1kA~eac(} z=8QbEGI(aaCjZ=k&o|^VCXrYXHid8rZ(*|qmda<$fzz2d92#SoNpmw*%|i;JD%TU= zNLl*D?`d6iu;9*=*K7@j#zIXel5V#jLDU1=Q><@j65ZJ*l`_@2iXto|a~Q1ce;_W|bI+Q==h|N5f@ge6c3o=!R=DCH^p+>a@^&y3)>; zZc;}=?_qn9t9y7rZMaMAn4@V#-D(goaC3(3sl6i=j>~C)kXv^h3|jPIH(33p!BLUn&s0-b*Apt5y7a@G4XL|YiB@IwtW%R6rP0x!eU430bD_yF zrW`^7P8e`owmI}UgUXkj6je(dD?T&vR0{0-j3!-S{&G8`m}Pvtimg>yVU-mz!N8rk z&de2{Dl)+Vmk&;#Q9?&R&<<85(t!p`GkPhWwiE5Ur&sxi5LHsZ7#H>d!Z(jCjD+Ru zW(bT7+~0XLKLqgRTo?Kr+YtA@OHt4Q-QV*&xJ3k&xbTXe?M>%9(R+lHgl!gAyI- z_M=Lf~@^fX;PuJA5^7#kRsy*F~>N zpH7&GIh^dM3Vq?y?uwXpWFBvrv76f35higUCQPxHQlmNVy=VJo@;rB@a$rYvoMPNg z1+^J!x;shrcjSdh&HEwprHL+`02<)B^pdKAUGZQ`A`kswd?pLj9UYUR->68Mmjtz1 z{*@u4Au}_x<$~KR``Is2?-?mQe?rR=U29+)sD{nkY?P8X-tbBi&_W`Z-t&7YK#^9{ zJ<3rM)2z_K(i1K1%jVHrxfIAKswuM+#AS{|X{rDIz_8`T@!H0|4w#M?xo7qK_dQ+ub?I|$<5rw^!DgxrpN~)NR^{aQ< z#aP`R%B6of>6v;E1S_B1WQz;KvmZ0EVEFC&<~^W%cqJrLrPH0~1r@RU@ebkeR!fR` z?yGZyBu1lcffX=+XWTL0Sd)^}=Y^R~#f{M9NG5KzJ@(=6tRyU{uMipO~^s*NeRR-rz1wfN%HG+^)IBw&8aTWPTHKzgUy>2(tY?mdwb)7ui|Ry-_`rSXf$2;U zeWnXJm$ZXGuu^X>z?1KC_D*DVKU;~wbcxbl;DTE2sR8s^x{0*KV>Tc1jxO%X{ZNnc zsD0>CCEG5h{G*}uv{c`KQHB@fM-xlcYXVR^Q*P)n9iM-IK#Y`WD>W)b)gX`GWlAC$ zL>(0X&acRYq*P{1`MT)+ciRtM<|sa(6?|Vv6dcU8-cxVqj*z@+ly=b7)mN{gWM5;v zQ^t}~UQiGq9wyo5Ler@JF(62+nj|Jz#vxsfg7~C7`rJFw5)I>5S7Lr4w?u{tmh8`) zR!K!}E36lL6+quj^xujRkB3O;@0{vd0^nrvd%^_($FvzJYP5c>BdXD z9d&p+9KT_9V*&Z89LwvGHG!NDV2<{zE8Au(Ej3+|E>44ww>WV{TfOc+Iv3eB3m`K^ zZGWpu)L*5yh*n>Md(xAhy_?^tOGlr9SAtDrY|K7vBPYl&Qo=xlbw2-p#o_vKpsAsL*DE8pB`X=ygB%XX-uY&9ag z>0sFRE!3vo7ky@=X*&NpbLwApUK3+o*0LHENqfUSvM^&spWf0>s=u0L9`bWJN~Ce` zG?Q&xYUY=|b%bm6vYYNCDQWcEZJKyx1*|Kdo|8(sK?2_LN^SAfZH37ZR#RFCKW+B* zOdm51O?RQ|6gEetjg7)i`J-Gy(S=>3lR5Us%f=AkN$`?QA(4l^kfZQZ0c$7cik|tR zI}J?u{z`e0d`s_UuyeGR4eU~A=?689xd)iqZ|h{Y!;hkzEaCe46>z9r&E6}zgR?D{ z6(%tNF|q5GH1zhqRit0jY3FV`J4USqXX}T%Hh`jY1+q=_VwoDJNhoH+oU5$huQZ-9qY;w^=}20f9-K%n^ZQhdim(mLrg+n+9E$+8-}NC+UoZ{O2VHlC0LsY zYnjq4(>-BGsZ+d)XjWftx^O`L6V6Q#MA2^h(7XCJj!&C?xssDT^8I6!fCni3y7S){s zj4?~|A4=}BE+@ycyQ)^6EdDpD@5}#AkM3p_d{fe|$HnGjLMyUpMq_uwcgQ2>JwJ-n86zT4W+(UK z{#NK%(a7L~X|{|YiFLF&+1zQ5Ww-du!r+OF)u?$hlV8%2q_^!wi|yJlURt8Pz3E!i zk=A{b9Q<3-Z*|2kj~0!XEgR;r346?vq>RhmV8$?^>()&qX5dz-oqyvdvEI8Q_^=6i zg0|$M6Mm~t0lpeXponhIh~yvpz{M{}M>+S0GU(4#$wRJ;hG{L9#x=2|&MFO9C2t|u zdUx2!3yb!mXnj|o4P0bx6o}zuG=wabYoj}?f={vkEGx~`<_((LD?OiV{8hXFa`MjJo>A z_DuX#XFM}yZlA5-c@{9R2yT?R>Bg}dvs8@wuiK^R;;ziG&ExDz+_zUHJx@gZHaIu) zrhG-zBX0%k9i{ruqF+l*k!FE18UXe@BV7u&+VXGzQiGP(X(VQmtKeqR+rGyz{`-(? zJd>WO>h(`fQ!2H|3sv154e^9-7x%vi^Xa?kMsqs^1~XklR8jMaU)g70`60vnr&3aI zI6ph48%gf(mU}fmwZS!)j1fW+R2zeQXQ%`QCp2f)aCF$&rDRn=E1BzH=>#IMVE}LAnnkG>r zo5Y+){l26qIBr{-+xCr`=xA~tx&SPh;vWVCc_1l=*q{IOiiRJEs@2S zMoP-mT)N3x|3^h9AarrGc}J$`17jZy%^wJLCrGb7)AdjJU`KqMlm>r2}vkiu@^Y3H5$Q>W35V$pDCgva(rcOPfTv3!FO zb2XeXW!zU`sN8p#v~9!ZI@;c8?pqHt`S+rBLkh>u`hi!rlC%S(qzhFKv7<0CJ0Uk( z9aTVMp*~kSUgb^co5A^=ZF1ekZ7O)-DgfCMFv@)%qMCvmI)y5*n*90xah`*V;_;m= z^|4*UBBTb8$0s%n9Yh9m$k-A__#3swjekJKyO8m$P>w;ybsfC;?~4>bGv^wxKiGmb#)Lb>8zgfxHI{w2_H^Dk+vF4(B=M zo+@Bwg4TY($aB}#T5kzdLqQ}N$0dl)36h_*EpC_oU+3J+oqidUh(`O(qIFXGa@cH+Z;5?CuSF$VNl=IXQUpZge(n4aN= z@45qOqWVH#BAs#rYL4Uq`AuU!0ceMv&K6~Cg3{^<#r{Oz%HW+`v0{Z1{N3RgIy*^% zQrC5e*yp{kOmiE(hz`0cxL2skR2{T`KO-hGNM%ety%W7}Hp@cqW!%xOhr5j zRY^(2+{wzE_hthw((Gr!oX=8>Z{UM=Kq`&8jCa$>&Wqr|8Ah7yUeQ@TPAcbNmZr)v zWOI(XuBy>lP4^;EWa1f|@!MCL5a+GOZ^Oq0X=(?SK_Izdk2?KQtxn4yIlU_>$BzVH zwDhrE%D!i6z%0g5Y^P-9b{l(uu**X>=j3AlwKnqErzOlG^)d~I?h9e&t8aTMW_M#B z(9$j|m2FPzU9xT&Os_n)Jyd3Z3lN>`>{q)&NAdN~nE!H%pTFStc*D@r)?r7<@3HLN zwp4_yxeZBho|4L<7XyvulMMz|zIFX9Eff$ETO-B}xY0ee87#u9{9t1jWxi7*P zWBNY(@8EpGwnN=cn;)dQp0|WlUc_8Jtf>?iOWp}jfjJa?@OdbqIL)9qHC38p^tp7% z4#BxmhPdGtc{DI~O@vr>(fw!W!bDIn5??eHlyxy4=&A&Tlf?X+~ z_?nzuK(F=%PxTWVF(me5r^1#7>TV#gEo%h7~K^ z^E!@?lj2}2Y`-UbINbk~iq z{&Qi*{8aQ-V8Jvq1oc`>;Wc&u(3^n(FPVg^*T{*!s&mNo_r?UPg=@`H7U;I~oq#IK zhRP!Tc5p#4+)z5T7!}u=4 zt8H04%;y4*3!7Ixbv5O;vIM<*ni976juB+It=_N^VYCKhdn&0?FIJ-E8#T)j1NKhf zI2hHn*4gbAMzfSL9=7>t4+GJ0ze{k+srHk)>+6_otI1=7U32KFfNxl{o4GU+wP{Nz z*j7zCaqQ|Xjc&=eGRU$UPW`evVA>xB4*0TiaCZI06jp_eeaP$1hGjlMHC8@e*}HnIe7nWA)5jx)Qg00_WYo!rI16QC40r0LZnEwK5b7Aq#FOF-CISNeeS59t zdEdwAEM(~?ROI0R_GmcSe)FNKz44~%Kl7eO;; z+p`sPSN;v>YX$F%vw3sRSQFA8{i%4b;PAK8w+m>anfg(ueq2NF;8 z_zCATnv@KAB9&D5xpHBPaX1xGTjPt41?MODMCR=DQT%o!1g4=cH6Q=$=s!F0FkK0} zGb{b%Hy&ta|J!&Bj0WZZP$&NjpXqX%LOHYzYDk&)$7#KibOG-G=-eh;+ zUGE|^Ra8nX2hu-;yoim9W7j#tz&e!OdEF5f7PjnEqsQ)c%a8T<%}-ugL+j2$Gd|f( zULBAcy`7cbq*E~WT`kpqW@ctWGv4NIuq10da*{s@erkJ{Id@N|4jm4)HDqmrM-z;psXLu#JrkC9Xw3Wc>Nv_vZ$98teGv z@W^MWoehrfYX14FYuV|Lm@t_h8wP{*RZ-qO)^a$Mwk-?C?yI`<{9!64()*l6W7y=~~|VJiOc; zZ&EV;d7UNWDCK7RxV_=jd3#dbb0)2^*7N+d@n*U4TIw3?*B&pD@UI!<88om9g3t9p zMMLm%-KDv!(a-LfC~HwFH&wguG)2hkq->YBpn%oqUDci4i3#g*6lTW2+RvZw<|DOO zD{Ur9v*hCYa*#b)a<|I0TNCPv&#*)#dS}@+J=qNvlH`igHfkbX3#cE=9N(f(M(|Te z6~28=pe$phEqHsB=#qCUsR-b?`ttbpVq#at5RZdPjh$$$&}Rjj)OfiJ1&=)zt5M!} z6SF(ZJKG0eT&z?m5)y==&TRWRo;TMP9B0c7>0KGd>kGOZ+_GDj7Vz|}-n(mQ!+U&D zY!u0T=-L5#SU3#%h@ZR&S?**^tINTYY9#L(jLKoLqdL)5v0_ziAio$Qsvz^#|n;dq#ydlm$FkUy7sClnwCa0y1*eT&k9}qjby;1BQy}sVqT@U_Is)F=o6?NBN z^!N<1JSrh%X5&VK)M(NN5M(}C$wqP`>^NMH&_9Ty68I^Uk2RLc=w%J&r})s27(3JV)9dHL;8S67GqtCNdvaU82s*c{2X zr4CE%Uh8GuhHM0>E4xt(vM)DrJtfYGX1yfc7gmlpwYePRWN(i~itRe1cI9u1^!(zt zCCfDX^ob1`3SAYTg-0dyat()o<}%O8R(Z7w69ob?^0x?G(fP`M_&@v7jxfP1}RHMG7_1V3@k zFnoRMt@3@a{YmWY!~rHjwD@0Aog+|Bw{j!fxEM;iaTcpLM7nNkHeQT$baaT_EQ-CL zyj_Y`WH+d*MlVoQH+x@Bhs5qCoG^N>ojPCtvIC*%Oi}c78oZd{7dV=)ZNfvkYXqhK z_buwjH;(9a&Jz7lxB(rgqO=s=cz&0M@z}&@^?$Q-apaiCcl;Y9!Cl@Slf-}Ep~{wi zMnxgLvnlSfC`-}YK-+09{R8ovJA{L~b1!YhtA8O=Ofxe>Cp(T3T=AQ)qKiIx#gneB< zV;Sa~%Kt4{P_oEJ}3YR#XtK0 EFPbCYCjbBd literal 0 HcmV?d00001 diff --git a/frontend/web/uploads/image_2022-12-22_17-22-19.png b/frontend/web/uploads/image_2022-12-22_17-22-19.png new file mode 100644 index 0000000000000000000000000000000000000000..b181549685b8368e5c635c1d89ad3f170c41710f GIT binary patch literal 41018 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 CmZ4k# literal 0 HcmV?d00001 diff --git a/frontend/web/uploads/image_2023-01-19_19-48-33.png b/frontend/web/uploads/image_2023-01-19_19-48-33.png new file mode 100755 index 0000000000000000000000000000000000000000..b9226efe8d909953b140b77dbf483ec941cf9787 GIT binary patch literal 97194 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л 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

PkggiSFI$~nmO$J(|Mr<96c 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 $1" + echo " " +} diff --git a/vagrant/provision/once-as-root.sh b/vagrant/provision/once-as-root.sh new file mode 100755 index 0000000..4542a43 --- /dev/null +++ b/vagrant/provision/once-as-root.sh @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +source /app/vagrant/provision/common.sh + +#== Import script args == + +timezone=$(echo "$1") +readonly IP=$2 + +#== Provision script == + +info "Provision-script user: `whoami`" + +export DEBIAN_FRONTEND=noninteractive + +info "Configure timezone" +timedatectl set-timezone ${timezone} --no-ask-password + +info "AWK initial replacement work" +awk -v ip=$IP -f /app/vagrant/provision/provision.awk /app/environments/dev/*end/config/main-local.php + +info "Prepare root password for MySQL" +debconf-set-selections <<< "mysql-community-server mysql-community-server/root-pass password \"''\"" +debconf-set-selections <<< "mysql-community-server mysql-community-server/re-root-pass password \"''\"" +echo "Done!" + +info "Update OS software" +apt-get update +apt-get upgrade -y + +info "Add ppa:ondrej/php" +apt-get install -y python-software-properties +apt-get update && apt-get upgrade -y +add-apt-repository -y ppa:ondrej/php + +info "Install additional software" +apt-get install -y php7.4-curl php7.4-cli php7.4-intl php7.4-mysqlnd php7.4-gd php7.4-fpm php7.4-mbstring php7.4-xml unzip nginx mysql-server-5.7 php7.4-xdebug + +info "Configure MySQL" +sed -i "s/.*bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf +mysql -uroot <<< "CREATE USER 'root'@'%' IDENTIFIED BY ''" +mysql -uroot <<< "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'" +mysql -uroot <<< "DROP USER 'root'@'localhost'" +mysql -uroot <<< "FLUSH PRIVILEGES" +echo "Done!" + +info "Configure PHP-FPM" +sed -i 's/user = www-data/user = vagrant/g' /etc/php/7.4/fpm/pool.d/www.conf +sed -i 's/group = www-data/group = vagrant/g' /etc/php/7.4/fpm/pool.d/www.conf +sed -i 's/owner = www-data/owner = vagrant/g' /etc/php/7.4/fpm/pool.d/www.conf +cat << EOF > /etc/php/7.4/mods-available/xdebug.ini +zend_extension=xdebug.so +xdebug.remote_enable=1 +xdebug.remote_connect_back=1 +xdebug.remote_port=9000 +xdebug.remote_autostart=1 +EOF +echo "Done!" + +info "Configure NGINX" +sed -i 's/user www-data/user vagrant/g' /etc/nginx/nginx.conf +echo "Done!" + +info "Enabling site configuration" +ln -s /app/vagrant/nginx/app.conf /etc/nginx/sites-enabled/app.conf +echo "Done!" + +info "Initailize databases for MySQL" +mysql -uroot <<< "CREATE DATABASE yii2advanced" +mysql -uroot <<< "CREATE DATABASE yii2advanced_test" +echo "Done!" + +info "Install composer" +curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ No newline at end of file diff --git a/vagrant/provision/once-as-vagrant.sh b/vagrant/provision/once-as-vagrant.sh new file mode 100755 index 0000000..ffaa898 --- /dev/null +++ b/vagrant/provision/once-as-vagrant.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +source /app/vagrant/provision/common.sh + +#== Import script args == + +github_token=$(echo "$1") + +#== Provision script == + +info "Provision-script user: `whoami`" + +info "Configure composer" +composer config --global github-oauth.github.com ${github_token} +echo "Done!" + +info "Install project dependencies" +cd /app +composer --no-progress --prefer-dist install + +info "Init project" +./init --env=Development --overwrite=y + +info "Apply migrations" +./yii migrate --interactive=0 +./yii_test migrate --interactive=0 + +info "Create bash-alias 'app' for vagrant user" +echo 'alias app="cd /app"' | tee /home/vagrant/.bash_aliases + +info "Enabling colorized prompt for guest console" +sed -i "s/#force_color_prompt=yes/force_color_prompt=yes/" /home/vagrant/.bashrc diff --git a/vagrant/provision/provision.awk b/vagrant/provision/provision.awk new file mode 100755 index 0000000..65e9bde --- /dev/null +++ b/vagrant/provision/provision.awk @@ -0,0 +1,70 @@ +### +# Modifying Yii2's files for initialize Vagrant VM +# +# @author HA3IK +# @version 1.0.0 + +BEGIN { + print "AWK BEGINs its work:" + IGNORECASE = 1 + # Correct IP - wildcard last octet + match(ip, /(([0-9]+\.)+)/, arr) + ip = arr[1] "*" +} +BEGINFILE { + msg = "- Work with: " FILENAME + # Define array index for the file + switch (FILENAME) { + case /environments\/dev\/(back|front)end\/config\/main\-local\.php$/: + isFile["IsMainLocConf"] = 1 + msg = msg " - allow VM IP for Gii and debug toolbar" + break + } + # Print the final message + print msg +} +# BODY +{ + # IF environments/dev/(back|front)end/config/main-local.php + if (isFile["IsMainLocConf"]) { + # IF the line[s] after yii\(debug|gii)\Module + if (FNR == nextLine["nubmer"]) { + # Prepare for next line + ++nextLine["nubmer"] + # IF line has "allowedIPs" + if (index($0, "allowedIPs")) { + # IF our IP is not there + if (!index($0, ip)) { + # Add it + match($0, /([^\]]+)(.+)/, arr) + $0 = sprintf("%s, '%s'%s", arr[1], ip, arr[2]) + } + # Delete next line + delete nextLine + # IF "allowedIPs" are not set - search for the end of an array structure + } else if ($0 ~ /\];$/) { + # Rewrite line + $0 = nextLine["indent"] "'allowedIPs' => ['127.0.0.1', '::1', '" ip "'],\n" $0 + delete nextLine + } + # IF line is done + if (!length(nextLine)) { + printf " Line %d: Allowed IP: %s\n", FNR, ip + } + # Search for yii\(debug|gii)\Module + } else if (match($0, /^(\s+).+yii\\(debug|gii)\\Module/, arr)) { + # Save next line and indent + nextLine["nubmer"] = FNR + 1 + nextLine["indent"] = arr[1] + } + # Rewrite the file + print $0 > FILENAME + } +} +ENDFILE { + delete isFile + close(FILENAME) +} +END { + print "AWK ENDs its work." +} diff --git a/yii.bat b/yii.bat new file mode 100755 index 0000000..3a68942 --- /dev/null +++ b/yii.bat @@ -0,0 +1,15 @@ +@echo off + +rem ------------------------------------------------------------- +rem Yii command line bootstrap script for Windows. +rem ------------------------------------------------------------- + +@setlocal + +set YII_PATH=%~dp0 + +if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe + +"%PHP_COMMAND%" "%YII_PATH%yii" %* + +@endlocal