From b1e2a0b1f502993680b2371fd10ea6b8c5223aab Mon Sep 17 00:00:00 2001 From: Michael Bloch Date: Thu, 27 Jul 2023 12:26:02 +1000 Subject: [PATCH] Initial commit --- .github/ISSUE_TEMPLATE/bug_report.md | 31 ++ .github/ISSUE_TEMPLATE/feature_request.md | 20 + .github/actions/ci-action/Dockerfile | 3 + .github/actions/ci-action/action.yaml | 4 + .github/actions/ci-action/entrypoint.sh | 2 + .github/actions/publish-action/Dockerfile | 3 + .github/actions/publish-action/action.yaml | 4 + .github/actions/publish-action/entrypoint.sh | 4 + .../actions/release-major-action/Dockerfile | 3 + .../actions/release-major-action/action.yaml | 4 + .../release-major-action/entrypoint.sh | 4 + .../actions/release-minor-action/Dockerfile | 3 + .../actions/release-minor-action/action.yaml | 4 + .../release-minor-action/entrypoint.sh | 4 + .../actions/release-patch-action/Dockerfile | 3 + .../actions/release-patch-action/action.yaml | 4 + .../release-patch-action/entrypoint.sh | 4 + .github/workflows/ci-workflow.yaml | 9 + .github/workflows/publish-workflow.yaml | 20 + .github/workflows/release-major-workflow.yaml | 19 + .github/workflows/release-minor-workflow.yaml | 19 + .github/workflows/release-patch-workflow.yaml | 19 + CHANGELOG.md | 10 + LICENSE | 201 +++++++++ Makefile | 35 ++ README.md | 34 ++ apache-conf-templates/httpd.conf.epp | 48 +++ dispatcher-conf-templates/dispatcher.conf.epp | 12 + .../dispatcher.farms.any.epp | 405 ++++++++++++++++++ static-assets/images/earth.jpg | Bin 0 -> 133416 bytes virtual-hosts-templates/1-helloworld.conf.epp | 71 +++ .../helloworld/rewritemap.txt.epp | 3 + 32 files changed, 1009 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/actions/ci-action/Dockerfile create mode 100644 .github/actions/ci-action/action.yaml create mode 100755 .github/actions/ci-action/entrypoint.sh create mode 100644 .github/actions/publish-action/Dockerfile create mode 100644 .github/actions/publish-action/action.yaml create mode 100755 .github/actions/publish-action/entrypoint.sh create mode 100644 .github/actions/release-major-action/Dockerfile create mode 100644 .github/actions/release-major-action/action.yaml create mode 100755 .github/actions/release-major-action/entrypoint.sh create mode 100644 .github/actions/release-minor-action/Dockerfile create mode 100644 .github/actions/release-minor-action/action.yaml create mode 100755 .github/actions/release-minor-action/entrypoint.sh create mode 100644 .github/actions/release-patch-action/Dockerfile create mode 100644 .github/actions/release-patch-action/action.yaml create mode 100755 .github/actions/release-patch-action/entrypoint.sh create mode 100644 .github/workflows/ci-workflow.yaml create mode 100644 .github/workflows/publish-workflow.yaml create mode 100644 .github/workflows/release-major-workflow.yaml create mode 100644 .github/workflows/release-minor-workflow.yaml create mode 100644 .github/workflows/release-patch-workflow.yaml create mode 100644 CHANGELOG.md create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 apache-conf-templates/httpd.conf.epp create mode 100644 dispatcher-conf-templates/dispatcher.conf.epp create mode 100644 dispatcher-conf-templates/dispatcher.farms.any.epp create mode 100644 static-assets/images/earth.jpg create mode 100644 virtual-hosts-templates/1-helloworld.conf.epp create mode 100644 virtual-hosts-templates/helloworld/rewritemap.txt.epp diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..eab989d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,31 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Environment (please complete the following information if relevant):** + - Libraries and versions: [e.g. packer-aem 1.0.0 and aem-aws-stack-builder 1.2.3] + - OS [e.g. rhel7, amz2] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/actions/ci-action/Dockerfile b/.github/actions/ci-action/Dockerfile new file mode 100644 index 0000000..f80dc84 --- /dev/null +++ b/.github/actions/ci-action/Dockerfile @@ -0,0 +1,3 @@ +FROM shinesolutions/aem-platform-buildenv:latest +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/ci-action/action.yaml b/.github/actions/ci-action/action.yaml new file mode 100644 index 0000000..b56597a --- /dev/null +++ b/.github/actions/ci-action/action.yaml @@ -0,0 +1,4 @@ +name: 'CI' +runs: + using: 'docker' + image: 'Dockerfile' diff --git a/.github/actions/ci-action/entrypoint.sh b/.github/actions/ci-action/entrypoint.sh new file mode 100755 index 0000000..396f9f2 --- /dev/null +++ b/.github/actions/ci-action/entrypoint.sh @@ -0,0 +1,2 @@ +#!/bin/bash +make ci diff --git a/.github/actions/publish-action/Dockerfile b/.github/actions/publish-action/Dockerfile new file mode 100644 index 0000000..b902cde --- /dev/null +++ b/.github/actions/publish-action/Dockerfile @@ -0,0 +1,3 @@ +FROM ghcr.io/shinesolutions/the-works-buildenv:1.8.0 +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh", "$GITHUB_TOKEN"] diff --git a/.github/actions/publish-action/action.yaml b/.github/actions/publish-action/action.yaml new file mode 100644 index 0000000..24cbbbf --- /dev/null +++ b/.github/actions/publish-action/action.yaml @@ -0,0 +1,4 @@ +name: 'Publish' +runs: + using: 'docker' + image: 'Dockerfile' diff --git a/.github/actions/publish-action/entrypoint.sh b/.github/actions/publish-action/entrypoint.sh new file mode 100755 index 0000000..c976e80 --- /dev/null +++ b/.github/actions/publish-action/entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/bash +make clean lint package +echo "${GITHUB_TOKEN}" | gh auth login --with-token +make publish \ No newline at end of file diff --git a/.github/actions/release-major-action/Dockerfile b/.github/actions/release-major-action/Dockerfile new file mode 100644 index 0000000..8f6d011 --- /dev/null +++ b/.github/actions/release-major-action/Dockerfile @@ -0,0 +1,3 @@ +FROM ghcr.io/shinesolutions/the-works-buildenv:1.8.0 +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/release-major-action/action.yaml b/.github/actions/release-major-action/action.yaml new file mode 100644 index 0000000..5c2b2a3 --- /dev/null +++ b/.github/actions/release-major-action/action.yaml @@ -0,0 +1,4 @@ +name: 'Release Major' +runs: + using: 'docker' + image: 'Dockerfile' diff --git a/.github/actions/release-major-action/entrypoint.sh b/.github/actions/release-major-action/entrypoint.sh new file mode 100755 index 0000000..030fe87 --- /dev/null +++ b/.github/actions/release-major-action/entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/bash +git config --global user.email "shineworks@shinesolutions.com" +git config --global user.name "Shine Works" +make release-major \ No newline at end of file diff --git a/.github/actions/release-minor-action/Dockerfile b/.github/actions/release-minor-action/Dockerfile new file mode 100644 index 0000000..8f6d011 --- /dev/null +++ b/.github/actions/release-minor-action/Dockerfile @@ -0,0 +1,3 @@ +FROM ghcr.io/shinesolutions/the-works-buildenv:1.8.0 +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/release-minor-action/action.yaml b/.github/actions/release-minor-action/action.yaml new file mode 100644 index 0000000..520bcdc --- /dev/null +++ b/.github/actions/release-minor-action/action.yaml @@ -0,0 +1,4 @@ +name: 'Release Minor' +runs: + using: 'docker' + image: 'Dockerfile' diff --git a/.github/actions/release-minor-action/entrypoint.sh b/.github/actions/release-minor-action/entrypoint.sh new file mode 100755 index 0000000..67a6953 --- /dev/null +++ b/.github/actions/release-minor-action/entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/bash +git config --global user.email "shineworks@shinesolutions.com" +git config --global user.name "Shine Works" +make release-minor \ No newline at end of file diff --git a/.github/actions/release-patch-action/Dockerfile b/.github/actions/release-patch-action/Dockerfile new file mode 100644 index 0000000..8f6d011 --- /dev/null +++ b/.github/actions/release-patch-action/Dockerfile @@ -0,0 +1,3 @@ +FROM ghcr.io/shinesolutions/the-works-buildenv:1.8.0 +COPY entrypoint.sh /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/actions/release-patch-action/action.yaml b/.github/actions/release-patch-action/action.yaml new file mode 100644 index 0000000..6fa4148 --- /dev/null +++ b/.github/actions/release-patch-action/action.yaml @@ -0,0 +1,4 @@ +name: 'Release Patch' +runs: + using: 'docker' + image: 'Dockerfile' diff --git a/.github/actions/release-patch-action/entrypoint.sh b/.github/actions/release-patch-action/entrypoint.sh new file mode 100755 index 0000000..f533591 --- /dev/null +++ b/.github/actions/release-patch-action/entrypoint.sh @@ -0,0 +1,4 @@ +#!/bin/bash +git config --global user.email "shineworks@shinesolutions.com" +git config --global user.name "Shine Works" +make release-patch \ No newline at end of file diff --git a/.github/workflows/ci-workflow.yaml b/.github/workflows/ci-workflow.yaml new file mode 100644 index 0000000..925e41a --- /dev/null +++ b/.github/workflows/ci-workflow.yaml @@ -0,0 +1,9 @@ +--- +name: CI +on: [push, pull_request] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: ./.github/actions/ci-action diff --git a/.github/workflows/publish-workflow.yaml b/.github/workflows/publish-workflow.yaml new file mode 100644 index 0000000..fcf10b8 --- /dev/null +++ b/.github/workflows/publish-workflow.yaml @@ -0,0 +1,20 @@ +name: Publish +'on': + push: + tags: + - '*' +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + with: + ref: main + - uses: docker/login-action@v1 + with: + registry: ghcr.io + username: shinesolutions + password: ${{ secrets.SHINEOPENSOURCE_GITHUB_TOKEN }} + - uses: ./.github/actions/publish-action + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release-major-workflow.yaml b/.github/workflows/release-major-workflow.yaml new file mode 100644 index 0000000..df7ce26 --- /dev/null +++ b/.github/workflows/release-major-workflow.yaml @@ -0,0 +1,19 @@ +--- +name: Release Major +on: [workflow_dispatch] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: docker/login-action@v1 + with: + registry: ghcr.io + username: shinesolutions + password: ${{ secrets.SHINEOPENSOURCE_GITHUB_TOKEN }} + - uses: ./.github/actions/release-major-action + - uses: ad-m/github-push-action@master + with: + tags: true + github_token: ${{ secrets.SHINEOPENSOURCE_GITHUB_TOKEN }} + branch: ${{ github.ref }} diff --git a/.github/workflows/release-minor-workflow.yaml b/.github/workflows/release-minor-workflow.yaml new file mode 100644 index 0000000..ea68d2f --- /dev/null +++ b/.github/workflows/release-minor-workflow.yaml @@ -0,0 +1,19 @@ +--- +name: Release Minor +on: [workflow_dispatch] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: docker/login-action@v1 + with: + registry: ghcr.io + username: shinesolutions + password: ${{ secrets.SHINEOPENSOURCE_GITHUB_TOKEN }} + - uses: ./.github/actions/release-minor-action + - uses: ad-m/github-push-action@master + with: + tags: true + github_token: ${{ secrets.SHINEOPENSOURCE_GITHUB_TOKEN }} + branch: ${{ github.ref }} diff --git a/.github/workflows/release-patch-workflow.yaml b/.github/workflows/release-patch-workflow.yaml new file mode 100644 index 0000000..66ab64f --- /dev/null +++ b/.github/workflows/release-patch-workflow.yaml @@ -0,0 +1,19 @@ +--- +name: Release Patch +on: [workflow_dispatch] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: docker/login-action@v1 + with: + registry: ghcr.io + username: shinesolutions + password: ${{ secrets.SHINEOPENSOURCE_GITHUB_TOKEN }} + - uses: ./.github/actions/release-patch-action + - uses: ad-m/github-push-action@master + with: + tags: true + github_token: ${{ secrets.SHINEOPENSOURCE_GITHUB_TOKEN }} + branch: ${{ github.ref }} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f619633 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## Unreleased +### Added +- Initial version diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..38dff33 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2021 Shine Solutions Group + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..753ebd6 --- /dev/null +++ b/Makefile @@ -0,0 +1,35 @@ +version ?= 0.13.1-pre.0 + +ci: clean lint package + +clean: + rm -rf stage + +lint: + puppet epp validate */*.epp + +package: clean + mkdir -p stage + zip -r \ + -x "*.DS_Store" \ + -x "*stage*" \ + -x "*.idea*" \ + -x "*.git*" \ + -X "stage/aem-helloworld-preview-publish-dispatcher-$(version).zip" * + +publish: + gh release create $(version) --title $(version) --notes "" || echo "Release $(version) has been created on GitHub" + gh release upload $(version) stage/aem-helloworld-preview-publish-dispatcher-$(version).zip + +release-major: + rtk release --release-increment-type major + +release-minor: + rtk release --release-increment-type minor + +release-patch: + rtk release --release-increment-type patch + +release: release-minor + +.PHONY: ci clean lint package publish release release-major release-minor release-patch diff --git a/README.md b/README.md new file mode 100644 index 0000000..2dcdc35 --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +[![Build Status](https://github.com/shinesolutions/aem-helloworld-preview-publish-dispatcher/workflows/CI/badge.svg)](https://github.com/shinesolutions/aem-helloworld-publish-dispatcher/actions?query=workflow%3ACI) + +# AEM Hello World Preview-Publish-Dispatcher + +This is an example AEM Hello World artifact that will be deployed to an AEM Preview-Publish-Dispatcher instance. + +This artifact contains: +* [Apache configuration template(s)](https://httpd.apache.org/docs/2.4/configuring.html) in `apache-conf-templates` directory +* [Apache Virtual Host template(s)](https://httpd.apache.org/docs/2.4/vhosts/) and [Apache RewriteMap template(s)](https://httpd.apache.org/docs/current/rewrite/rewritemap.html) in `virtual-hosts-templates` directory +* [AEM Dispatcher configuration template(s)](https://docs.adobe.com/docs/en/dispatcher/disp-config.html) in `dispatcher-conf-templates` directory +* Static files in `static-assets` directory + +Template files are written in [Embedded Puppet template syntax](https://docs.puppet.com/puppet/4.10/lang_template_epp.html). + +Check out [Dispatcher Template Parameters](https://github.com/shinesolutions/puppet-aem-curator/blob/main/docs/dispatcher-template-parameters.md) for a list of available parameters to be used from EPP template files. + +## Usage + +To create artifact zip file: + +``` +make package +``` + +The artifact will be written at `stage/aem-helloworld-preview-publish-dispatcher-.zip` + +### Troubleshooting + +After the deployment of AEM Hello World Preview-Publish-Dispatcher artifact and [AEM Hello World](https://github.com/shinesolutions/aem-helloworld/) package, the following URL paths should be accessible via AEM Preview-Publish-Dispatcher instance: + +* `/content/helloworld` - Hello World page served from AEM Publish instance +* `/cafe-helloworld` - a rewrite rule (using relative path) configured in Preview-Publish-Dispatcher instance +* `/cafe/helloworld` - a rewrite rule (using absolute path) configured in Preview-Publish-Dispatcher instance +* `/images/earth.jpg` - a sample static asset image served from Apache docroot diff --git a/apache-conf-templates/httpd.conf.epp b/apache-conf-templates/httpd.conf.epp new file mode 100644 index 0000000..9abcb21 --- /dev/null +++ b/apache-conf-templates/httpd.conf.epp @@ -0,0 +1,48 @@ +# Security +ServerTokens OS +ServerSignature On +TraceEnable On + +ServerName "<%= $facts[fqdn] %>" +ServerRoot "/etc/httpd" +PidFile run/httpd.pid +Timeout 120 +KeepAlive On +MaxKeepAliveRequests 0 +KeepAliveTimeout 65 +LimitRequestFieldSize 8190 + + +User apache +Group apache + +AccessFileName .htaccess + + Require all denied + + + + Options FollowSymLinks + AllowOverride None + + + +HostnameLookups Off +ErrorLog "/var/log/httpd/error_log" +LogLevel warn +EnableSendfile On + +#Listen 80 + + +Include "<%= $dispatcher_conf_dir %>/*.load" +Include "<%= $dispatcher_conf_dir %>/*.conf" +Include "/etc/httpd/conf/ports.conf" + +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined +LogFormat "%h %l %u %t \"%r\" %>s %b" common +LogFormat "%{Referer}i -> %U" referer +LogFormat "%{User-agent}i" agent +LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" forwarded + +IncludeOptional "<%= $virtual_hosts_dir %>/*.conf" diff --git a/dispatcher-conf-templates/dispatcher.conf.epp b/dispatcher-conf-templates/dispatcher.conf.epp new file mode 100644 index 0000000..ec19b8a --- /dev/null +++ b/dispatcher-conf-templates/dispatcher.conf.epp @@ -0,0 +1,12 @@ +# ************************************ +# Managed by Puppet AEM Module +# ************************************ + + DispatcherConfig "<%= $dispatcher_conf_dir %>/dispatcher.farms.any" + DispatcherLog /var/log/httpd/dispatcher.log + DispatcherLogLevel warn + DispatcherNoServerHeader off + DispatcherDeclineRoot off + DispatcherUseProcessedURL 1 + DispatcherPassError 0 + diff --git a/dispatcher-conf-templates/dispatcher.farms.any.epp b/dispatcher-conf-templates/dispatcher.farms.any.epp new file mode 100644 index 0000000..82379cb --- /dev/null +++ b/dispatcher-conf-templates/dispatcher.farms.any.epp @@ -0,0 +1,405 @@ +# Each farm configures a set of load balanced renders (i.e. remote servers) +/farms + { + # First farm entry + /website + { + # Request headers that should be forwarded to the remote server. + /clientheaders + { + # Forward all request headers that are end-to-end. If you want + # to forward a specific set of headers, you'll have to list + # them here. + # Security - CSRF attacks prevention: if client headers is whitelisted (not set to '*'), ensure CSRF-Token is listed + "*" + } + + # Hostname globbing for farm selection (virtual domain addressing) + /virtualhosts + { + # Entries will be compared against the "Host" request header + # and an optional request URL prefix. + # + # Examples: + # + # www.company.com + # intranet.* + # myhost:8888/mysite + "*" + } + + # The load will be balanced among these render instances + /renders + { + /rend01 + { + # Hostname or IP of the render + /hostname "<%= $preview_publish_host %>" + # Port of the render + /port "<%= $preview_publish_port %>" + # Connect timeout in milliseconds, 0 to wait indefinitely + # /timeout "0" + /secure "<%= $preview_publish_secure %>" + # Avoid caching IP in anticipation of instance recovery with a different IP + /always-resolve "1" + } + } + + # The filter section defines the requests that should be handled by the dispatcher. + # + # Entries can be either specified using globs, or elements of the request line: + # + # (1) globs will be compared against the entire request line, e.g.: + # + # /0001 { /type "deny" /glob "* /index.html *" } + # + # denies request "GET /index.html HTTP/1.1" but not "GET /index.html?a=b HTTP/1.1". + # + # (2) method/url/query/protocol/path/selectors/extension/suffix will be compared + # against the respective elements of the request line, e.g.: + # + # /0001 { /type "deny" /method "GET" /url "/index.html" } + # + # denies both "GET /index.html" and "GET /index.html?a=b HTTP/1.1". + # + # (3) all elements of the request line can also be specified as regular expressions, + # which are identified by using single quotes, e.g. + # + # /0001 { /type "allow" /method '(GET|HEAD)' } + # + # allows GET or HEAD requests, or: + # + # /0002 { /type "deny" /extension '()' } + # + # denies requests having no extension. + # + # Note: specifying elements of the request line is the preferred method. + # + /filter + { + # Deny everything first and then allow specific entries + # Security - Use whitelists instead of blacklists + # Security - Restrict Access + /0001 { /type "deny" /glob "*" } + + # Open consoles +# /0011 { /type "allow" /url "/admin/*" } # allow servlet engine admin +# /0012 { /type "allow" /url "/crx/*" } # allow content repository +# /0013 { /type "allow" /url "/system/*" } # allow OSGi console + + /0014 { /type "allow" /method "GET" /url "/system/health*" } # allow access to Shine Solutions AEM Healthcheck + + # Allow non-public content directories +# /0021 { /type "allow" /url "/apps/*" } # allow apps access +# /0022 { /type "allow" /url "/bin/*" } + /0023 { /type "allow" /url "/content*" } # disable this rule to allow mapped content only + +# /0024 { /type "allow" /url "/libs/*" } +# /0025 { /type "deny" /url "/libs/shindig/proxy*" } # if you enable /libs close access to proxy + +# /0026 { /type "allow" /url "/home/*" } +# /0027 { /type "allow" /url "/tmp/*" } +# /0028 { /type "allow" /url "/var/*" } + + # AEM 6.4 exposes client library assets via proxy servlet + /0030 { /type "allow" /method "GET" /url "/etc.clientlibs/*" } + + # Enable extensions in non-public content directories, using a regular expression + /0041 + { + /type "allow" + /extension '(css|gif|ico|js|png|swf|jpe?g)' + } + + # Enable features + /0062 { /type "allow" /url "/libs/cq/personalization/*" } # enable personalization + + # Deny content grabbing, on all accessible pages, using regular expressions + /0081 + { + /type "deny" + /selectors '((sys|doc)view|query|[0-9-]+)' + /extension '(json|xml)' + } + # Deny content grabbing for /content + /0082 + { + /type "deny" + /path "/content" + /selectors '(feed|rss|pages|languages|blueprint|infinity|tidy)' + /extension '(json|xml|html)' + } + +# /0087 { /type "allow" /method "GET" /extension 'json' "*.1.json" } # allow one-level json requests + + + # Security - CSRF attacks prevention + /0090 { /type "allow" /url "/libs/granite/csrf/token.json" } + + # Security - Make Sure Access to Administrative URLs is Denied + /0100 { /type "deny" /url "/admin" } + /0101 { /type "deny" /url "/system/console" } + /0102 { /type "deny" /url "/dav/crx.default" } + /0103 { /type "deny" /url "/crx" } + /0104 { /type "deny" /url "/bin/crxde/logs" } + /0105 { /type "deny" /url "/jcr:system/jcr:versionStorage.json" } + /0106 { /type "deny" /url "/_jcr_system/_jcr_versionStorage.json" } + /0107 { /type "deny" /url "/libs/wcm/core/content/siteadmin.html" } + /0108 { /type "deny" /url "/libs/collab/core/content/admin.html" } + /0109 { /type "deny" /url "/libs/cq/ui/content/dumplibs.html" } + /0110 { /type "deny" /url "/var/linkchecker.html" } + /0111 { /type "deny" /url "/etc/linkchecker.html" } + /0112 { /type "deny" /url "/home/users/a/admin/profile.json" } + /0113 { /type "deny" /url "/home/users/a/admin/profile.xml" } + /0114 { /type "deny" /url "/libs/cq/core/content/login.json" } + /0115 { /type "deny" /url "/content/../libs/foundation/components/text/text.jsp" } + /0116 { /type "deny" /url "/content/.{.}/libs/foundation/components/text/text.jsp" } + /0117 { /type "deny" /url "/apps/sling/config/org.apache.felix.webconsole.internal.servlet.OsgiManager.config/jcr%3acontent/jcr%3adata" } + /0118 { /type "deny" /url "/libs/foundation/components/primary/cq/workflow/components/participants/json.GET.servlet" } + /0119 { /type "deny" /url "/content.pages.json" } + /0120 { /type "deny" /url "/content.languages.json" } + /0121 { /type "deny" /url "/content.blueprint.json" } + /0122 { /type "deny" /url "/content.-1.json" } + /0123 { /type "deny" /url "/content.10.json" } + /0124 { /type "deny" /url "/content.infinity.json" } + /0125 { /type "deny" /url "/content.tidy.json" } + /0126 { /type "deny" /url "/content.tidy.-1.blubber.json" } + /0127 { /type "deny" /url "/content/dam.tidy.-100.json" } + /0128 { /type "deny" /url "/content/content/geometrixx.sitemap.txt" } + /0129 { /type "deny" /url "/content/*.query.json?statement=//*" } + /0130 { /type "deny" /url "/content/*.qu%65ry.js%6Fn?statement=//*" } + /0131 { /type "deny" /url "/content/*.query.json?statement=//*[@transportPassword]/(@transportPassword%20|%20@transportUri%20|%20@transportUser)" } + /0132 { /type "deny" /url "/content/*/_jcr_content.json" } + /0133 { /type "deny" /url "/content/*/jcr:content.json" } + /0134 { /type "deny" /url "/content/*/_jcr_content.feed" } + /0135 { /type "deny" /url "/content/*/jcr:content.feed" } + /0136 { /type "deny" /url "/content/*/pagename._jcr_content.feed" } + /0137 { /type "deny" /url "/content/*/pagename.jcr:content.feed" } + /0138 { /type "deny" /url "/content/*/pagename.docview.xml" } + /0139 { /type "deny" /url "/content/*/pagename.docview.json" } + /0140 { /type "deny" /url "/content/*/pagename.sysview.xml" } + /0141 { /type "deny" /url "/etc.xml" } + /0142 { /type "deny" /url "/content.feed.xml" } + /0143 { /type "deny" /url "/content.rss.xml" } + /0144 { /type "deny" /url "/content.feed.html" } + /0145 { /type "deny" /url "/content/add_valid_page.html?debug=layout" } + + # Security - Make Sure attempt to invalidate the Dispatcher cache is denied + /0160 { /type "deny" /url "/dispatcher/invalidate.cache" } + + # Security - Make Sure Access to Vulnerable URLs is Denied + /0200 { /type "deny" /url "/content/..;/crx/*" } + /0201 { /type "deny" /url "/content/.*/[.][.];/.*" } + /0202 { /type "deny" /url "*/crx*" } + /0203 { /type "deny" /url "*..;*" } + /0204 { /type "deny" /url "*/truststore*" } + /0205 { /type "deny" /url "*./.*" } + } + + # The cache section regulates what responses will be cached and where. + /cache + { + # The docroot must be equal to the document root of the webserver. The + # dispatcher will store files relative to this directory and subsequent + # requests may be "declined" by the dispatcher, allowing the webserver + # to deliver them just like static files. + /docroot "<%= $docroot_dir %>" + + # Sets the level upto which files named ".stat" will be created in the + # document root of the webserver. When an activation request for some + # page is received, only files within the same subtree are affected + # by the invalidation. + #/statfileslevel "0" + + # Flag indicating whether to cache responses to requests that contain + # authorization information. + #/allowAuthorized "0" + + # Flag indicating whether the dispatcher should serve stale content if + # no remote server is available. + #/serveStaleOnError "0" + + # The rules section defines what responses should be cached based on + # the requested URL. Please note that only the following requests can + # lead to cacheable responses: + # + # - HTTP method is GET + # - URL has an extension + # - Request has no query string + # - Request has no "Authorization" header (unless allowAuthorized is 1) + /rules + { + /0000 + { + # the globbing pattern to be compared against the url + # example: * -> everything + # : /foo/bar.* -> only the /foo/bar documents + # : /foo/bar/* -> all pages below /foo/bar + # : /foo/bar[./]* -> all pages below and /foo/bar itself + # : *.html -> all .html files + /glob "*" + /type "allow" + } + } + + # The invalidate section defines the pages that are "invalidated" after + # any activation. Please note that the activated page itself and all + # related documents are flushed on an modification. For example: if the + # page /foo/bar is activated, all /foo/bar.* files are removed from the + # cache. + /invalidate + { + /0000 + { + /glob "*" + /type "deny" + } + /0001 + { + # Consider all HTML files stale after an activation. + /glob "*.html" + /type "allow" + } + /0002 + { + /glob "/etc/segmentation.segment.js" + /type "allow" + } + /0003 + { + /glob "*/analytics.sitecatalyst.js" + /type "allow" + } + } + + # The allowedClients section restricts the client IP addresses that are + # allowed to issue activation requests. + /allowedClients + { + # Uncomment the following to restrict activation requests to originate + # from "localhost" only. + # Security - Restrict Clients that Can Flush Your Cache + # This is just a sample allowedClients config, relaxed to allow *.*.*.* + # since the Hello World example needs to work across various environments. + /0000 + { + /glob "*" + /type "deny" + } + /0001 + { + /glob "*.*.*.*" + /type "allow" + } + } + + # The ignoreUrlParams section contains query string parameter names that + # should be ignored when determining whether some request's output can be + # cached or delivered from cache. + # + # In this example configuration, the "q" parameter will be ignored. + #/ignoreUrlParams + # { + # /0001 { /glob "*" /type "deny" } + # /0002 { /glob "q" /type "allow" } + # } + + # Cache response headers next to a cached file. On the first request to + # an uncached resource, all headers matching one of the values found here + # are stored in a separate file, next to the cache file. On subsequent + # requests to the cached resource, the stored headers are added to the + # response. + # + # Note, that file globbing characters are not allowed here. + # + #/headers + # { + # "Cache-Control" + # "Content-Disposition" + # "Content-Type" + # "Expires" + # "Last-Modified" + # "X-Content-Type-Options" + # } + + # A grace period defines the number of seconds a stale, auto-invalidated + # resource may still be served from the cache after the last activation + # occurring. Auto-invalidated resources are invalidated by any activation, + # when their path matches the /invalidate section above. This setting + # can be used in a setup, where a batch of activations would otherwise + # repeatedly invalidate the entire cache. + # + #/gracePeriod "2" + + # Enable TTL evaluates the response headers from the backend, and if they + # contain a Cache-Control max-age or Expires date, an auxiliary, empty file + # next to the cache file is created, with modification time equal to the + # expiry date. When the cache file is requested past the modification time + # it is automatically re-requested from the backend. + # + # /enableTTL "1" + + } + + # The statistics sections dictates how the load should be balanced among the + # renders according to the media-type. + /statistics + { + /categories + { + /html + { + /glob "*.html" + } + /others + { + /glob "*" + } + } + } + + # Authorization checker: before a page in the cache is delivered, a HEAD + # request is sent to the URL specified in /url with the query string + # '?uri='. If the response status is 200 (OK), the page is returned + # from the cache. Otherwise, the request is forwarded to the render and + # its response returned. + # + # Only pages matching the /filter section below are checked, all other pages + # get delivered unchecked. + # + # All header lines returned from the auth_checker's HEAD request that match + # the /headers section will be returned as well. + # + #/auth_checker + # { + # /url "/bin/permissioncheck.html" + # /filter + # { + # /0000 + # { + # /glob "*" + # /type "deny" + # } + # /0001 + # { + # /glob "*.html" + # /type "allow" + # } + # } + # /headers + # { + # /0000 + # { + # /glob "*" + # /type "deny" + # } + # /0001 + # { + # /glob "Set-Cookie:*" + # /type "allow" + # } + # } + # } + + } + } diff --git a/static-assets/images/earth.jpg b/static-assets/images/earth.jpg new file mode 100644 index 0000000000000000000000000000000000000000..64cfa8a73e4912cfc906066c6270134d97ca119d GIT binary patch literal 133416 zcmeEu2Ut~4lJ9|gE;$QG2FXg!86<;9&PgOo&OynbB*_R!Msh|#q6#RI5s;je41%D5 zfMnje%74b$ot@d4-FvY#WpBIxC^8ns0IYl`D2`a2etN?Ja z1w2u^=j86>cF)O~hKHRK5R_6>20;K(3@MNR02u%&kPHAAIfFa}@~>ND0RWAglZ&5= zo12dUSrowJ=Hlk$6JX(l3I($G@0Ak&rcw<+QL`~Obu;~?hvBClJV{ptzT&R*?H?3G z)FftMhfI(Mwh!FU_!79<~`^C5%@k>LOegySG= z6ZUJoqY#G0{c76=Vd4ZN$SS{VB77BqEQR=}C@QI{&`7IlsHtj5YALF!TvB9s0amCH z^zTns9ZOes6?QI88UQh$!d%?K+yXS*+`}@V+eCzV#NFbai~AX%*oBo z`G+lPptj(pT{;ms0psT|ry&ea_@!$R!l((qWfL(|lmw^0pp7=QdApSR;@Eb5 z&vE6U{=|@Y0O=C{th>Yz89>Va#gD+qzhT&K7|j1QUMi^1@Jl)|#EzxH$#5xOh2f{(TV;U>8Cx+n+Y$GPAHW7vSMDvk(&GwKU`BGPM-oG&kiFGUpdG zvoM2tr($F0;hZ5=oB2E%P1S*L7hh?ZC9t52dqSIc|5l!eI zx-fKQfavrPzMM=X1_?mAhx+0NVXog~azk{4u9wjA z3b~|1Y{0`yJG4XeFsNsUz9CA)Z*3zlF{17vU<|8oc<#@++r>dQVL`d1Ip5#ybL=nW7?c=7^-8zEc{;R^^iLHMU_ zp@7*8VGPLS%b+Om62geKbx?F^y_5;v{wx}jx(I&q+wKuh{IG-&|v>+df)0EmQm#{MjjTrN5QDG1TAf0ch(;2*O9!YiQ`NTtvp z#A3b!xe?+@ae4p8RT07UuktSo{L>atm6M|Zh2w$Hw$|>_j^=ge&fBg}C$aVb3 z^3yBYci1~<75LUnZA*o)91?xl3RkyYsx{A4*zWQ1?8Ti>etl`+d6nfctcPe{!Z$Vb zBcqYbMs~LH{WA?2d14>?I%OP-L`}TcEn<<>4lkU^qdPmJNu8sdNF(3Ac|>^cxh0N& zU9C5u>r%hrm7QVPC1%0@(eS%BOAi?j-hnk0K2gS3wx#GjhHGiIBZCogWf!Z3Y(8=J zxc5uz+;@3R_=ni#Z(}^&U2AupM!$G<^KquvGG8FRHchd$7vMG5 zndp6@xb(CHHoU`(jr!KZJ7$^SbJAhU>wT-OfSr6?K6&o6ZLDvp7*dj`Pd>v|V$S(^ z4j)eJ3_n<>rkJ;TJzj6zhjiMim{t=nkUu$+MCJI%9L>Gxnc0SrD(jGlgB4@N3Eo!h zNeS(OWo);(T;-=5_G{_kmDm;y0itb~)KxafqjPjQIu%o-*D zLr0!PevTZ9Y>do@jEl5^)QOaj6oO=qB#Xq1gbnNhQ@~qj-R2EiX^8hO)FuRKTMo&X0(OzGA(^s}><~ytC(;Ho zE~L{K()}EH7KRS>#Tx2UAJn&heg4NSfbhPD0nP95uO51hiAca;f3&0cqP0VUI%Z2zlOj0-}d3;=H!G9*H9)A zir&963Wx_865gM4jL4Vx*MS~!$p0e)jyUfBk*yAgvW|abtK%U2dxjbb`Ioe(5FPmv z-+{81i1Kd}#}~iTS_CI=-HcXI(oC}4+}i5JHt?0QYhN~E*NTz3OAApHlRCL&UyoTLO*h*H+v@gDWBP1|s=pX_v+mx!#(O<3QYNv?`~83i(hWb!8#l;q_|31)#-v z(pH5bC%I5fB1Y;+5nxa{Z+2#PY%R2VC-E&2%k&85o{WVyYeh~V9WO^|X5R&blyyMrR%A!?y0R$X)H#i0?%&NSrT1lHFkTAb> zToh!aX^&}OVl!bY{9u|pz~$Bjpgd5oc&uXT#mV_4cnwa8V(i^^d${XvCEbAIbQL*|B}h`)J7iMu zvfap`4{7e^@20bL7&=thz0a2SSjC3aw_!DSGFxpgGw`##Nzwx^WffAT;w|1Y#)*Ev zQG9|xfpbGL(dMLril@G}L!60+mSNjyJO(Xe*P4n_zP@4{t9;SqR5;9s$F)B z5sG}7$P&q19qs2&S0!Ee`i0L6o!PLEAyy);p9hUd5_JzWqSops2*%hf&Xs*3+8|tW|N+y%v*S`1Ht3e5+(fxw-j? znGUtu%Ak~?NJwORsOgZm!C1C@0@&K5VwgTN&fUE}rK0k&8wQ)d@uUIGv9S4x^mU}{ zcunxzD7>58X>>fwm$HidT4F>M^MvJ_SELj=!`KfFmUH2fcrsIlLLxptc-N>2r*E)& zu8WOuzFi1hrCU1v67Ki;;~f@x@H>joHFR$C8NZi4y7CKVpq1<}@yu9M|LIqMi@jsb zzOYbURyS1|?R`J9-J8T8?}jIE9Y&t^@D(nS|9IQuen^Q1sKZ1A7LeqR`gMj3(RGEU`Ly#NdsX z-Ukk|XUtd)I?bW!v@{7)^T>D?Ksctw-L2ZryL52OLS$ zkIg6ZU{$a(sC30W2>Y>9e%Lf0v^C#QcTY>8SmEga|Cg+=fa#Fi&y!Z2(bPxy^2oKq z-*bO?Q()W|w`gy;xImeGm+zQdh z218BlB%b0d^7~rLqA54wbX(bk%Aq)$s&^tZF% ztmC@eU7O^iELEvNJzNyN*k+vq8aHuTiGfHa64gP%3*gfNx{A2I`f!Cug_Cy8!;WX` zWGY!3zU%5i34YC3IAKhMJ`>U-<|BJC6k!^i@-{Yvq94AycCBq?VArEk{>YCec8~}? z-?D91<%~iS9qwAmXBql_<&k>ypxbb!$K)o*3)R=gwpTWE1}}h^X>qOa6K3E_%u~|$ z-l4% z#4{wn3roLC-H+;u73RBEDYg;I9l6cTa&`1nu99qljlfyso65=iw%acfsf;YXHArsN zzl|7d7xp%FWHXJ{F>1bnip4KDxRnuItrB5P=vr2ep@c=?)dn-wt~{-?riky~}Gw3;67<$nIIw=6NiS^l*xIvoeMLOb0sM(n2c$@BNkJ$=#7b1Y(= zlGIvXF4y06<`ls2Ikn4HACGdBap`#PyixpsU@|8yrozDzldjt&ZY|;3iDm4W+5qc> zX_#{Sv<$cTDW4hl`$?p4w_I%PON5&rHKxf+GY_RD!1u>OHih z*+R7x%FB+sg=P+)nGrK zd@8y~NQS$F0Z;oh#c_R}SW9IJUVCj1NpHPed*!mz*sJ>P>s&se4jWFXGv;2rE?vgbsq%&K@OZ!Su^Tll{zltD!I@+p zZi>bmLr075cWi5)>bk`CmU!kz)TJHgdW}<~TbQv~%+iM+EQ#$!0n#@+> zusE1!*7gdN6=n?shu=^R|FAc0O}ZDV)7?iP@0u=Kw`eDg^UTIMyw>vRbH>}0-QAN{ z_K!3HWdYR~6yhCu%9f!HG9V|zUA@};+j#K$apEio!`}8Amuv4lcaGC5XXgr3#Ordu z-5%$|xz>c>!F}7PM3FyPD;bsq*#f!mffRMUJ&; z(CA5mox|AM+#VMX=jyh=+S=zBd9#T|iJ$9<NtzbNa>u+06O zQZH=(V+UL6cvUbjWQU(LkahBu&cA43yh%0Uj)=hzsT%?u)7q4>iaP7RvF~ja_(w5D{bWNR}RqwAkI^tJ;r~cTUTdu*u zgF3J|;}o?=P0M0UY$8p+=tqlWYUhB@UKVVT8KJEqY)$GEx>lvbf@%0-yi6s=Y5%7E&_eu8MuOcOBsE3iixovRd`HL6S7kCiq#bhls$1 z$8Yv_1WPqWS-m*BFATeSm5OD-e4>Z78eB0YD|uT~p} zm(F=6U>4}hsfz19vDdA)S-3&0$cZUcNOL!?3@Ny&d+>B9J+Bw{6WyBu6cnD@&1W^8 zQpH@x#Cxv(bS)=dL=iQLNRbN~im1yvZwCEa#-6Dp)v)t_Ryh&z-pSv2@_c&^FJIWI zr5Ds-Mko62_2#tdJS(iB&g;bIfQJ13l|%+bIaFt7xldj8o>j@72jRnV8fIbru%~g2 zfJMg1mhqR(u|>w(Lg$#K_B8ihMc49);_tVLdNl)m>uA2}#aIbp#@&CAwo6#0IjrHs zGvRC5dCY|QmiBd{UBxZEsja<364JG|iO(e-+IxxlSZv)fUCO@V9TxSC;6A(fmJL=J z!|Qx3nOl;*2@k3TX%hF4y?%asd& zY7`a!%lHJDf2?ps?ubhd>!Sus!BhM-mk%vk(M|VaB4$Y!#tS+h^if{dnUI^-ZHfEN zDjC7Z^)X*FsjHoSqQG0=;hs45@KW{gH5&YLw*I0teHFI^zXn0|=kJMvG1){^4SiVd zIaDmF=skNRl^bi1fmCIi@K`CEl{lrBR@6VQCU!P5pDUj=D+HyiWbsYf$5G-tO>_QF zD;l5{(dHFVEEk#aXb?1iE1@N@VyZ#A&mX`V`vRmt& z)n@ibP7daU9hPLtyK&ZM^83^g8+NJIwjmUJHGQsz)q-tb`eHI$ZOg3{eal_pu9GWb zF4d^#ESPK3)o#~Zf}ak|?dYwq5HDzT5@`osj|%oX=cE5zrbGOJ;Q|oi1%v1et8c2R z*ZUjG!c&3x7@n5>be7345*-@zVfMj~T1ehd&q-?MXYf=r*{`i>#T+Q7tzxzo)$>SJ zF6fHB3L3?e#*e=Mrde2nYQ%}86t(s8kc$LS$;nFblPn{wSS`A^j66yk`R{@Rmw1QrtAk< zvS}F!+~}QL6A$#paeMC!nk0#{?_c+us_gb2}k!9d`empD>kI$5qpL zTA-KUEbRH^wfhBt`)NjY;lw9ednv~56%oq>NjK{H`QFF}VJ0Fc_4*}^`a1dgkqXQg zO!0=fSmq>$zORdAVx0$WC%lNkG4$owI%CnA(71zU*#OX6qmz7=?3p{#VZ6zx8&`jI zcZp>1wOn!if`ZjsV$-OY_L2(ICJU+>#YyXyQNBux1S8I64H2r)@b!2_5AJuR1w9lw zPLVk3KI(vhq)Xf|_w&0`J){Q`pGI3*AJLn>pK$p6gUWd3-UAtK6{4@AIpOKww(8u@ zh^oHP3wRlI%8??aqf@tG6!Om6E55#Grn73IdQ+gBN$(>C<*rC%k)5~rK40@QckMyJ z&kE)29A>M#Om#okRg>s@aZt{8Cy2krvE;n{LMer{G!k!PE!>|p6`O5^Qd@8~A% zEk^rOxG;nfWDZ)IpDgZnVzhe7YBbVLu9h@>>|E^Jv`}kT3oBs_8M({0(483VWhcG7 zyx6^X*qvOhIk<#`gg7|4Ik>smAPzRS`;P9W-fWI;bbm;Yv2-(cwQ+X0adM|G{YL0rmc`8OaiQarmc|AP&TUeu_m9{|@^ftQO{fVs!R! zwf{LP3v&)jdrJpPM|U?!G}lkD&cf2JmZt8OGSF9y7V(NB8y7blH=ouYFS@exb3(5~ z3v+TJBwunnxoSB%*^ANs>BZY$b;?c_HdgoljU)lBKi|MgO^C=obseUo`#6^4oO(!3+5i0{+Pv#V_Ao z`+s-&^K!Cugw~K3v{-&7voTOn(NIw^(9qB@F)%Q3Nbqp5v2iGgi1A72s2S*KscEk< zvIuZ6Ugy1jjh0iAi&scQTwI)iT}Dw_R6#&YT;yjm8v_#)2OEb15065GnU-1PA1*(W z*~s-EJ`4#;CI6AkhTe7hnaf7xsV@r*k!40fMT3&gvOja#P%;~a0{wIXgTdgxa@hpe zxZsk%GTHGcP%8UbHJ!$r58Ffws61w_JM_}Q#F`1b=5DzRS~ZBYHW`%D{#pJ|@iQk5 zDS_%Z@u6SXk)ZTFZ(gF|cUM|aAJ|X4c%mk;3ftuq@K4d)f}@dD z$8YJ{lug6&NlGzjax$67Ub@Imyig~<) zFozif`JeeC^v^c@d-?!3DOOuvvlh*E;C@UOpRoQQMvG);c~A$fL7{C9Dk`r)9&d@V zQtz&qe1)}_Z(WHs#+ZdKbFrgaWO0Zjky>{?3~ip*Vma7lPps6WE@eb(+=*ApPG5Yt zn6nL5;q_HaU|B0=c*=>DuTb`vnSa{)f5jgl=cSu^PIi=2bmw^zhmwe6^+}_bVPHBS zEzm`j?$~HYsWS8MHJb#l1jFE7c>w>bYCRM8j?*u@Q5S%%_v-z{RS%R8#TV08JkRss~JmHAy3jjiB~oSauz`W$ZbVMUWa>#fPSJEHVjm_~Bknk-Aiu&~EWj#zqT z-j2Y?U@?(e@#!47;zzc8>a+I47OJ|6{A|aSuqg{g#T2a*dn|9GwWZfqGlmIrsVyCC zUk9)B5M*xm=Wt9sP}1nXBex;A(44@W(M(5#CC6hJV~KG7e|ADVFBi|hYfoAG2MN`$ z7~%CeJazwo7EiVcwo0~VmQhztn^>K>-n%yG8!so{@?NixF6ALk<*LR}IE)<36g5vM z?cb^*uMa)=aXg`DvB<@El=rn=kfBy{;5E9 z%v=a<@mr;%#FNN0Ta$*ObzQtRI{iXn>g`*l`ndfr>P4R-;nFCZC|6bc zgCg{#8uz2 zh)`2_rrmCl!uD07g(am($#ca+?|s2{g{LFT10vMw#xCRPoiowa`jku5$DulusojHZ zV-31_8Utf`t4Z9X=>eqg%SH1sUz)7jxB|D*=%fTSVEo1Gq zT_OKotGC_Ddj*C;WHt9g>qs1N85_Uo76mL>3*CD)!`wF~NB+`#N+PH1v?Y3>>Y&sE za|Zo^Vx3_KT`?R@!;5NJlQboHcDIjQ@c!}U>dz?o!6CrIibRs@=4_1Q5gA%zOY=*K zCI5jY{|Tv=EFFJdL@=7v`6r5`!|fqTy?ur8 zV@{IOrh~g22jzzyyM;yprN*TZ35vi+-;ma~*`4e)`30F@Ga08fS`Ww^{jzv*QhdEm zYL`Z%Fz&0?wsYiP00qWdrMxC5`RZr3_m>W8mwJ!&_DVjy=%L5YmWvCx<-f`z&br?E zdBGC@y$^=aCXz%Yi$oJyHj0iT#cQfzkr1p2*90`IK4QWv-_o*Q?vrH~HBdIC@NYS| z(BmHFnH4toH8o_U75}|w(x2TCh(c=o6v-U?&pa~!^ICq>M?o>fi+>G9=CUs9zBzjP zaq>BBG=|$;(s^#9HJ|5!uh0cR=|_#lMqeHm%|c6{QrT567Bd!RU!LfJLeG`YmEm3L zMk%@(8Xz>=*+&{kfsTs-cw6=pf$MNY;S zqsd|+L}F+2PTA#3jv^QFaTqF9l8{wj6;(;#N7>SKhn=OORP@eJ3d$4BJE<+yUtHI_ zzeGm6V11&uQlz80(b={T)_ywua$!76BC)IYaBpQEXaB={gFlb#e-px_;}kc!#iIRc zWLmKVdF?}}WQo;u^3sTghthk4WD!4^3~DUjFXH&VyA!rl6<$l;k19?j+tJ?eZii(V zjE{=xoJpDxX;Jour<`cE6Mpa8(%s0siRJfIn<{XZ>MU?{Twn_f%n&*kyu{;Pa`rIjJ73N&zz>WkBoMlC|CFPEiJdS=Nut# zaS#=;Id=q7XRy#7ZEX|n7gGXBs!XM#M#^=r%(43Yx>s+UDS~F*BE1Lmde2I$aqy5L8hY<+vwbHFZ{5|NCsm9 z&EpN^QO@7B%@^)8EHEAL#XRmK=E^)Q?Y5x|#CjLVi6n}F_K#Ue_V7k z6c^n?`TBEBvlCvp9et9>2Fx~kPm^ASD6)*1kNZ<2V?!_RVTc+XRjHjqi3T=Yg{QtN zHX2`}i0mqPW^FyT`Sq&haZxC*|43^hZw{rd<;qO!NO`|8AB>SoZdCCC5W7+5?G&p- z5Gl~$^-ZBod2@|xOy)BGg)P{B#XfhJ1Xlxd zxa!?@|HecKQ;P3vg)@oYA&PY}-;yh^-*y+*R!MwgvZbDD+z*7x-N2co@X;DC-Q+|S zTpKQbxz3lHs@hw2qjdEqw|r}Xxk&N&6%STYGhK0Ka`mnFv>F#o56?{|lX|X_xcK-( zd586$H@M>qhEG=_nUM7Sjl=hft~Us;mCPDd1|6aT&~Cf=#4=LOE!rso1?5y*_MeIE z{}&>l@EJ!5C-Ns(3=3@K7C3p*Xk%RiOUWIE{Z2r9EVJyf>)Y#O%ugHDjSq4=PA<7CF)NJb}yRjiJkL9>G`?E>~7}+0n9`) zmVx5tL9M(}8OxCvL;r}+c#{8_o!a)NF<>r#cY^|eYm~+R@sSml_BX9c?%1Xn>`Y=V z{zPw!ok5lzMIkQ_wjQ&*L0&}Tl}ACie3dmYDhnI0e%385m{a7mG(_-6@jVL8HdMjA z!iihlv8(U-Z8T%X)c=RJQh#^&e`i+)2<7;?_L1x=+&mmNT(M5maZo`rpMyPkNytsv z@a6)j4;PiCb5<;TBonqf_EwfAw+px8exwi6zb{)~JI;Uxv+AnXL^NiPoK?PBKF% zgB`6dlElqE@SF;wl|LtaNb!qr-k>zjZF<>iyIU&HWbK`&a zV*kAlAE5u^z*~eYS~f3D5B9FeYAT2{=ef3}Sm=%GmRCo=X=9W=#_=l!U^j>8CgYS& z)V&oK{-xZolX%a+&PSuy0HdCX11XUh0vfdaXNJDhCsbp*u{c*ojU+5;*+t2xn3B5Fq0hvjW^ z!-l@yEFzS>_lMj3n!?McGm+%K?=OIZBl|ac>NWjq3lHP{2L|x(wfuz!1A*;j?9cb) zWl7%o%9sc9=h?AM;$XhZFS2CnhhCF=@}#>G#-&fUU890Di@)Bo7uuJt)L&hh9Cgk{ zZ%frO>$Ll{}&uD9Zm&}>X+{!8V1vLVT+*%fMoxJ>kmB{{sXsH1AN`RXRR zIxV&dy6BT3#&Bi;edz)Fzgc1h9V~+q%XA99>2)CTaH3by1!Z*fc;+IE^qV!D>h*0y-21asrPny z$)Q@Kk94MArQAwe!zGZnyDejwqsGxRX4+(-my*Q7lVzi5R;OUr?7fye(+(+m_p-$p zt!20Z;XBt2ZS#@M)dMZCzVqP$|BT0==jVJW3inxeY z&3JW<@wjHxR)@}Cx`hH!Vv1IAzx-h?~}X-neEUN9d&rXVwm=qcL(3)ms2sG&tU5p zsa_dC7WUihF|5j7_|$ z70k7+HG~&RvOJ2GEU{3tjC0uO@;#?Nu;gQ8tU+>3$S{FypHgze< zKA%hPRRlcN{IO%?E|PbIZR?+K#`LYDYwD!-2zR*ZFlAk$`*Cb-iu^9w#G%)E_O6Sb zUt06I=3d!3<*`K1W8B)S^1ErR3v*EFfsx)X<0DEFyXwRF zZR#@)x6`n7)$MP?0g0#=fYNNh^&&`oKu@;$1yIN?@nqywWG^5Q`T=u9fV$T7${PRW@x*2y`uNpqzQ`>tSbcC&R{GjzEp%}LdG~C*AF_VvxRM~>3p|vMO0j|vU ztJHC$t#FgsNb>urD}3qO%PlUNS7LkZB1_T_e?>eil!k|KRyWPl>4CAJ4worEIvsQ73}w5iJ!hulI}wMbK_e=Z}%e z76^}M0z|%t(;z~eBIf~u%^CM!(F5QS)QQ8*B=ij8_*&eSd?CPftzYvlt)ygKLhJ#%_kOS^Oz#b;r1`m@ze z{A~w>Qr(|^Ma5FaVC-MddF?oTIb}x~A+2NWVfsAtNbeB~?)pj=aZ>GBWG2z;6{?Tv zcSG6A-@hfBJw$kAX+;h4&H~21e1Ex zM1>fObA%0&K8f^ksVXuVb?bH;Y;+FBf~ewN(m)NPl4#%OZeWVG|?dFQOe z`P8wl{_%~q0Bv&G6HMp16Zv(+?EI`RSNE0U1KN)U&wGxwF97PL%yFj;7K?!GubQz7 z+GkavKB{wr>opvQ?q^Gc6K}+dzWPSH1hgl9L>YcxozqZ8tzR%f3tyZ`-$2cmlwIm2nb_I`iL;E6)7HeTfX)ty&-~ICfQ8ltz_NTI(e}uvvp$c!QjTj@z(Am@sR_ro1YIXENL7UiJ6Qsr=`X!UD>+vQusauL5Rj^oIH9eR&`g(D>LAaV{1N3_ zX0p8M{|;Jd&}&xDRUsJ`+0{hQk}qSV-c>*tnlbx%o?mkH*T$kFfzOcLca_ePt2d#T zazyPSVRoD^Fr~!5L!LSWdGVcfIYz4EyaoogGZ7AH*1P$V+?_IWzH)HTb+op1YJFliZ7o32KRvtnp@eLsNw0s>02EXN#J!c=Up_hwZJHa=DeA+t zyPood@A0-ys~bT-0gl!!$ptyqjY?2Bh&sX;ej|tE~35U z4Ix!Xp?le#ngr17hf>Hw%E(F=-FU6n`naOek^M@2Q)Atzf^@!s;6a&C6e$pcRef)t z2&sW&ux*%q%r0C`Awe`-2Bp*?(*jw?nY8ZwT69yf3eL`CX6{j~y84okXzB5~$u~*; ztGZ7&{Av^2c5;b7Bs;W;rBgTN=u5})Pp*k=7#3E){p3g3ar5oB4cqr8x63nRT_Vdd z05w2+s6MUvO8&8?+!#${S}v!}lFUQ%Hom5v6-^h9U=2^`Su+@NV=yDEYosXgA>Xin zR;|C@#8s(AXi2fPB#rxLoe9mQ@yib}oVMXcbhu|1woJA1+QvR(KGl$uIKpVHefW(z z`=yh5p?C-;p6Jb~0p1cvapbf^hOu7qBl{(?iK|muf)ZZM_Q!@2`^e2l{%JlJz;Ja{ z*6{@}&c`&>Xx?f6RpJP3;)kutsDC!K?s<PBK_o)KTGe%p> z4~z6JfG@Z^Eru6>?)e39DomVhZD98_H)fh)ha~3%9f2Y$m02Jb<;iN3Z+3a=ASr!{ z!_u)`*lt5r`iPO&iWoZ>@HIAM{v z_uj=Xv-S?1aaop0`H}ccc474O4;9+a=>V4uU6$jFZ}n^IJ6!fOYG`5NUAFI!YFehV zaU_%;D+H0qbQRi3G$oqUMRtB9YGo!8-LgB_i5MY^;r5}jbsXD%98}+}`c7;5u+-c^ zA}q0o&x^n1I(~yQ|307Sv&9hf9x9_<&$4CjSS;pAKe#|`herBZ!i~+LyF}G=kEoV4 zjQ8v|>)X`s4=mQCoaFhKx167-5_b|x;+p+d8Z{^c-!Grgr zi3-;gc1!qtqltBUeM7Sp7xmRdqO^CF0Xh-exdq+cH0?N~I?-4n_v2u(jiaK-XgpD} z78@7!T)H}2-w5YNHLz-;l3g9gE1&Bh;W8Ip0MWL-O@6ihto{*pN}j9q$2zS(9Q7RS z5!fSaCQo%&46?NlKE5mn8d^7vEtiJWD;@RzV{eHs0gX=`PpR`EcCc)n^l z%Y+gNTJbR^)$`k>w%(`OzUK-Z0+UNEbR{Peln1S^GtAOAAO8wM!%Gir{R^M>9T>>| z3`6VW*(K(Qo3o{!nnpEe496bXB~dl*LKBbpI-$rTtU7vY;EdhW=}8_7&Zxe@ zZla7nK$V+!D||u?Epq)l19ev^We#*g{N@)fNz>7sXJ;cu4HGFg*%uzRs=!1=9p z&A#=KgZ=Y~TZsuMeKU@uW3RLHRQJ=*r>vNSzKZDN$M>;T8YjowYSJBtZ4vmc=!VoXG3rXM?mo9x^!H@EByQF* z4TcS$kL%9JLmN*;EIEBM4`4~L!MUq-wX4!DV7W)IBYUc4*RKAAhd%1rT{^XHZeEuv z(&a?eUAO%x33FjIcD*dw=SP$Zisuz5{34S}yNU4%`R4Cz~1(8#BBhu_$DTi2dhnPMRyp+GZ_Pw?07%Sw7oPF1MZe)%0yxB%Ce^98j4sn zr?Ci5P76P^aPY>rxi=uWn;>|wwOzh1f$h~^;^jQPI&6_3rD0(@Ib4+WAWVJlFJorY?UZP=7Qn6?A>T|X;xcev8jVcNfQdhmKkEKQ}$>s+^ zplw^}jq|v<;QcJVuKSV-8pR zQFz&E3feObp<#d8Iv%T2%jZ$&%t41bYd!vxtrW-1Gx|NfSmSGbiPQ}dsvowfcbCM+ zO1{t8oJb_=`wtj4fZAu9PA;O{S(Ak)H^Kr7t5Q0YedB|jYJ4vMEV7iP!_xD$9*U#$ z-gsy}?5^%jeoD(O?&VZIFb%^%?7$M&hy4peO=^d$fC-9LMgL6e4Rh8^GAJrGnhc*) zS`V^_>>WW{x0L`@W2V0AY)-Vhg-vszov#)jk+`y4UFzj)j3VobR{#CT^>=q>efM9H zCe^(0c3^T988I|+ENk@}Znod<@fvyXMDuNBakWAg;WB=vf!sS-oU@;p9am{va@D=L z2nDwyip7dk)`|LWO`RJg3D5jQhRm{NyRLPrc2=gYXg>^NmFrB?N_Ty^CX~yv5I?h^ zmciOiH+lYq(48qU*crF0I`>Jpv0JP_Kr~z2_%TlGb!?tx<~FLN!CsY2QLh0dx$Wx_ zx-5*jN?evy447j5x8xOMH`;KjCk3i4!s@h zteS#_nu>uHvi@4pvw4C&(S4GjQz;wQ=YFEW+S8f4{&EdjK5tbExw`bfZKhbR|M)PV zdkb}VQb>>v^q;%6;_ZIQf2Xa_EK$6QKwyXR=9&m~jzj^0vXE=+4Ve!cHTpzpLZY9j zglO>O#9EU0md^NIKl!LK%w9E;QV>@~j<%4w3tL`E0kM^$qSl&-yx5X?1RTo>TwpUs zVyRx#US45BlW->0&$0>+D8(0%s}>VhX|)xivf14-mQFkLwUwH1KMgC~jZe^~jzC!x zKi!n&mwl*9yLz3rL5;MU{`O~SuPIk&6`}Gz%h|^r(V4V&G94z^iW-JvcD=dtka5t4 zCBdy=xv}BzePnxs&WYX*X2*}EwvdUWTtd!5?Xnk22H7Zu^3z5+BGu%0Ir-nn-Q3FZ zUe-|VcqMe@=EAL4{iLF)BIe{8?!xGFZ-xoExD6Gl!mQ|@;)2=7t~^`YC8Mk#7rwH7 zHEmw6A8w5Adsl=piRxsqZ@w~ne|P-7BJu^$TX$1(RgvfHi;m$(>j1T`G%u+_S=AFs zK1RXb`e~gKe3zw~ST%s@i@|71qK8`VCi=wn9}J~mG}p24>s{F*4lAtPwkk{tPDS2w z=H1-uMlL+((Z_ANJ@cYe%xC0>OQ!VO%6bI}!bfESD=oSG#M=v!fpZ#gzqAL==MZrglTyz`0P)Z3`XW({1!_VtY}QFMN`8yJ4;?WTd$#ASJQC`qHw=jLC` ztM5lY7KXh6)KDlxQdjAyax|@ilsu%|VKJCO^l9mZ&lDGGkMP4qDR;Ij9B`Nk6Wogr zkP9bdUR1|2cZc=G~L{FLv2a9ttKV={Z~X*^Df49{n8 z7}ej9``PA3v#|F@?-I!>^<;i1ew2zPxIH)!d~U`KRNp%tU8Sm64-tO)^eP zw^#+*V^ub|zA29l=j3AL#uf;?P{?rBIxS|m7hz(T2x5 zafO+v%>=C`(#bEBD+o5X`lZ|GYXRm$FZM1oxBIgt7;COTR|bUbyv#8U9P zxqoNP@HFvF&#t%W9}1KkJEf^JP3YdG;>EN@*3_EHNr}YylU8uUn#AR>b!~Enn`4Ea z{~%1Uu{;RkH^3HWs^JCFmZnd9_@xwdd|8@j-^qt~5aY<8&cU%e< z*KYa_?O{bWs{4j$9XV~*9(^Sn@G(u_oSf^vzO=L462QoM#V?Kgh~?`1+r81F-Asr- zgH90IH?A8qZRizz=4MwwX|z1PwI!iRn!kR9X$9JMW;Ls(@w|>IJ5qLSh15My4w^{f z8#v`_%20bo5!rG0#W1|Xy0f@E_-~}l0s48YAtC#(+1rM<=0L{BrT5l#-&xGm1bmV@ z-xt8v9?6@13Fkm2aCy}mU}m#IY;MytWObiZ)WV8@^Jqly0$7U!h#mJ}ECh6xHDbX*r% zPL7k&6C7@v5BXx`VOP0qnLOXp_q_7yLgno4px+fkH@|_mhKe~SB4ep$F)GzoG#S=Z zbU8!scV?+m>b#m}lDAYz**aDGcx>xvUrQz&K&j%5Tu@1z#4zI2G`$yWqZG&r3# z$p8{TmY^A5&8+$i&Ue)_N=pXa$K9~oGr^Lx7B2c@8J!L56YC>}#2SbfIz0Syv*z)%J!?M(Rxdv)zZV9xLII7;h!d zt%|67IhN<79frHpS@@>lEoVII*+k7jj=G)4v@&kd^vBFZY~2auGrg@9rW$_(y`BFHFjwNIGZC$C;p;MH%&pTF3J>C1H0+ff=9Jc zK_(92LG?SDBC<=L#P}48OAjCA1)H%T59v-(J{*#A9Q;i;4Jhy&;p9>6oYmQ+GQgaE z+|zX6w~>j$4I|@0Q6s3ybw1guib-?A;GMUolWGZxJB$jtHjvpM1M@TwQad$84CuQS zs1>aNARQto8*sG-3GTb`;9c}QdB3fHrNaILcdz!k58-O*JfVPy5$nZjN$s0zQKrUN1MF#JC8`HtG#@a}ahkeKse-S|A8b|8uwsm`U^JhF zIXFoHP6*TJXb~>8Cr%0UtxYpoWti#nE)8m8#mnrGbnE{BQ218-81p(S*IWXi{Ayel zX4JRfjxa}R$Afd^iy7j_y-ii}iuq(aFbCG0!-`uf4cWl=6?U3|XBg6DRuyzgksL4W z^QpTRQmf#MkQ+Fw|lS&D|6+nUyd@%(qe8aU%U4c z_V1=idLo_xG~N{cafWV!Ka!{I;aZ<2ae{7wKbQ2ZU(?IeQ|GaUUW7*j^sZTcmDYZt zl1`5*@C|Uw^v<*AjIUuTep=y|>D_0`jU}LU>B(OK0|P!t6L zKu{C~0YFd`1qVVtkkTq2yhVv0!wfP&Z$q}#HrI*K^ciFfRLtQ{3nT{s{7xyqqs23H zXzg_U~s9#k3s0Q!w)=dR-Too~{tBvdWpsga7Vxdxw}7c`k}>3k!jZ}wefaTto& zNDk=FAvpEqX1682&0@!QYyO*b@Eb@0Q>Q)%V15LXT(Zk8>134Kb&0|l;fgaa@Q#?& z808y{$l-?H8nWFTS97Lx`);LWB(U6Ehtq^#7XUY|*d%9e2Q|{;E<1&~awAKK>$JAcx^gl!y2%28Ar$=OARa!wmXdXtEq40KMW?!*);K_ zfmS{I+4AJ=pFnF_e0N?`*KA{){{T}`SR9Ppp!Fo_{p*(FwZ`_)(Um(f!w>TnSYeqo zz6dAws*KH@B29)g^+o{4CA{OtI-|m6x6U`f89W+ij6>NgMgHeR1El zYURT+GOKE0=^TI`!o^SPlUd%^Peo-R>M=)h=*WmPs9~JB7-P31kUn)~-)UnHS&T{2 z`g5`K+n2R>JLGbw9k@Fhm!1j5+YP+Z+ubTgL#)M678zi3-~Ry0rmpq2xYJ$IObBTl zN39t`vK)*biQ9U*yX`j<(sT=%3ra%9o+bzw$lE_4e_v{QJw0dH+mh2>LlXF!v`RGa zGBA1g3f?;RS-W@HE?q$Kr>WJG^u=miV+(k3g$pZ(Bh>!@N^bfLM~PQTk%8D&Y^n@{ z8)F{kniTQWor(Dh*Nq91{ScM#$v*X|@!Rd2lD<8}k(m(~4?wsl>rWhI)i+FyisLk$8YsHTwi`nynpbB`!@~aD(AIpqqxTlPU?Or(?Czy<8r8z^G z$p3lg(D2AYf>|7Iq+YF(tV9>>$JVjY@CPmv&BVImy)^eWvO}Q4$9FEqS9V2`VvPvB6+vfxt#JlOcE4$F= zPrW+GrZ;lRLX(w{ej&H>4eO>C(>=|?x~x%)i5wXsib6}XAuL}WnH{&R-pSUN=@%Dv z(~%gI>R_%JS$F)We_Z$Vt2V!e&ZE=jl{`rl227GmhGowue{b5Yo8_J(jv{M$JQ+?S za01EZ&aC-P`N!#5=3ZLu+UfUZ%)C>C(>fVr1xW?JFdrR{*1Bbl`0lU1V-qQq*SO7f zV=OQ<=^;8876-UI@4p_Ht$6B765e##X=+l%B+jHHua&md&NGif57xDunuN%^0=Hc6Wn~hO1RVk8y{!_=(`&B~j_Dw+SdBc1`LIW86C$29@(pw7H?g~aL;oc zi>{|{DoFP+>2ivsW6Xy>qkSZI70=6uO>?CU%tjdiYjj;$Q41Hq?St-f$E|AREKONm zE{iK&2{L5z=gi5UF&HNXq`O@(UE6~S$UMf{Qwx%FvCc8*Hpj-6?oaz9;{O0-EN&5^ z244nM2Pc)-~!O zwHLyjCnp*BA8h?<>TLAwct&NvvLIsW(V9FjGDdYT^`&Rl-eef1Okv1v$UGXo#p$jd zmD3M`ZtNCh3ZgrimB1M}())mSI1Tlwt!v4DqVAO0+&#JyfeBn-i~+&;V2UT@+vv9u z8yyA0lybgi9CA1Lnsiq(=*rOFLQ05!@Fa~F%w!lOHb&s`4Mm=pv+1+=(Mc&b=iy`9W#_ZGT*%F45b zJC1z0?kbM|08G1UUaYdJO*ob&O);w-$D8v79gh{c+c&4EB56QoW2B7WjDD5UYB8mP z2@`y6>AGl2GLkTg2f5y_0*xGm z<)%7)0IRv`8YV#$YFkdjyEiqh)MIOueT!gvD8Q{~PmKz$$_VaQ(~(EKjW}Wd0K`*O zHqQM^94YvkzA3UKx_A7?Z)4Ne!5 z*bEZVyC02IR4F+N8E<-`B#l&Mkq7<99ID#=;3Q7I%9LUYEZ&0QO5 zFw7N0E?D-*0;b~XqE<0}1SPwWyi!8&OG$9*T=`QttEkTD3{MQe?Z)-3Ce{8U?4W^; zF;DF`wZ)`?!f86s^B#V5+W6E>Z!9ahDnQAkvZasa*JO&&9lRB}n$uG30Nqf-zHk@<5-tgM+NlbY7q(S90|Ml-iHcA8hg zJOXi7X`lvdthyMV|v%_4o&3AB{6dwaxn8t2aGRb_${$yWD z+{5XMnu{{a!9L*Q`qs6ke70gLG0%{CYRJt7gtrVZSN{OSj8=Bmm3ugj19^Ql3bQ6| zBtJ{lx&%4nd{(AuaN9JN6UE9Ldse)qW5Si^PIK_9!gCTCj^qRKsBdT_AIfMf66uOx$9FoDuS^ZJlV{3f`dBcDmTXL9yGoruMqf1Rugc_!^4=8oLjr z6;BL~4hN-Ori*pQ1Al6=nk-?yHCaJVQCDV^WyiH$rlDkHRoZB#K-{itQnR97)+Xg~ zTA9{vF`iDH8*y5nB3v0I>3)D!^2YXSDbpOiD1RkOh82ABj8gQK-^*O@!HsTw*+w}! zNgN8}m+76S>KUJ>NW51JzfA2uctcvqysdD*r?Jv}n9|BH4WgC`Naag$6qOuAP zO@C(^y1EYxN%()1p5XTt%PefJ((QQXDH6Pj+M*g|$0ZL9?~T5dsdksWyRkHPQG!$% zfzVHv9>jOtS559Su3YY;)6Jxz`#J0|bMfEztXZX$yEjysRoFML2Lh~%w|zySh?!)! z(!=nKY(Bf!OD37MGTVM@3otR+v;D4E`GRm!y&$_YdCQ>GySHc)nKn6hH9Ay0KH_Gsm zNz1hztMx94EGNPfSgD;b4zj0a0Qv*J9nEhma>rNFStas}P*}rtYQg53X&eVJG@4b& z2Lv8_<6+*h+-mTii_-0Gi`y7{Xr+iY(zcbG@@@HtE0e}+Qys&9{TjU*%1L8Iwpc^( zK*s)u=lj#f8?J?qO^Q380^NqG6g)+-fhwOS$JFib@~h*k!7{)0b9&cDkE~rEv|Szp z14}DKb873O_{)t&du|9m`_^;km|>2;s^w2*D&)Lx3wkiXtjcMQ>K1ERl>pWh?f%tS zuQMgAu>Szgib%oWvf`>~ro{M&RktbFp43?E^zNT=)ltL|0wXwPECBda+W6k^_y9P3^BMtvVc^TCAX`Bpd=q z27@KyH-yZeiG0d^2;5R%8?>`-&rr8nI(?T@4m>Nw2;K^oAU7GuqXIrh(!IYY$%a-~ z^WpL3jq!6<)=_>DB4m~~AhRZ{5wZ5hYs-G#h~H@}cM-Lv!HdU@8wfF{jIIbfjeyR_ zdQ7iWvUd^D&Lm_|?y{z!RY@7-@t=B)YlK`{&2Kf$xkp$p^Wlbwf*nSnGDmU`9<;HQ zAhElL!?|eVjYc2%lg7JzGoC8ityeIqw|MQYVKF%k;Hw!5o^qi_)O*%%9T7IY9(bNP zqkD;+aM~lXkmUMg;8o>x>?NmBOSmqe>6el;5(dLYk%nFf-HF_0oU^7&PqMdiMyoGQ zXy149Uj@V(oQq*#H6e zHDI828j1aCX!323?5(=Ce*JO|F^HBp#y$$QbX=ByvK=OON4ggm4Ib)bxqZHbeJGo0 zA7?r+JM{SE{{Z=N{{a60u{6=Te0?{kK!1hPt&sl!(F%|0S4Qc%@cgK#gVyeVCyKhB(wFyH80J~`K7)#RPf;|pSfhX%X-Hl-r=Q@`$SvYHMMcMQYIA#38|Zjf zQ`=)t3T`js9Xi~EAN6fbL6Tmp409}M9!75X(!Wz$@VZYZ&vn&U4ah)v2fbN>T%7qj zgh+plAtxHLRO97cCO6YQT4S52q^tZeLC)UdwJ~Pp!DWj!%-fB(#%LK3WOJytJ##`F zu!cF)sP-h(Qw%2obdRk~u9Y9dI!HOsrC!88iVu}D@f=fxNR5ffVt+~r5U1tNX|Oe` zKINO{)Y@pTxhcpxemEr7wwfR5u>+RWesuDy;|z-0C>tn%H)40iP3+c>Q`;jaoYc~S z0{VP~P^Pw72`-84m;ea) z9`y3p_PW?;CJ~lF8)QJg%*VS7GnmZYeD88ou0^yd=8=lz zACVQ-SmR}6mfuLp8~iJCCN3c@d_Wl(A5l*&cC#Jy8WR}ZSRZ7J2PrYfLk|a=a2guV@ z+)s=_&h<2HI<=n0nrnMOC^sYNPE%+tx0He@qiUTewkgTDqbH!|uFDH#J-<;`X{8x( zI3ljlwvQuW^sBVdMHqY5w$7@IJw;Hqg&UQtEs4b;?4xc5D*4mKGfC4&ZR=Aud}}0~ zJN}w~8o$aiNz;e&)-T76YJ8bSNjhlXYUh3k>pptS{W*sf!!Of2Pn@r~y>tHn8L!@t zZ*y&X)NMQ`NQSHsb>|+3iuw6VUd?K_upqXdz;h#&B^enu_X4@jTJ5eVS`}#4XN<>< zE{sN`>@)3MEV`L7FRIwxJ{y?bUU}qfYAYj?zip}GEH|%CdRs!yKt#aUgPi83rCqw6 zI@Z;)hSmby41t=~G8WVCVU9R8LlR{-DpO!P@mDNUYT6ZuHNg?Y;D-MIxa4Ey{p#Z` zH*?Zk#;NzvEL}w>wajqcuDHADZ_J0+2O_4mmmb!2uctq#w7+^uO|UH34x|Db(1Jx~ zU1id@TFY?|PZrum47y8&QIpu?IQGqM@994VTrAUsl1R09XMZ@z9Br|wc;`sj)7`C^ zZjlLVTx*T6L#Y^Hw_*vcf3B(DY}YoCSoI04{{R#ZiLKpF0~p*KjmG&ji+JgKS<}S3x0+Q~kcrg`aQrX>)bm=BTy8(|$6BG3_B&Ud z)y%%>a7(IKlf$^qrIk(&p-p`o)0cD7?Qc41j@=x*h(j5O*|U;-yx{Sk)R&E=o4WMo z#r9p|AORC(?!^f|+Ocxa)O48RJ-t6nv5Laq!-+^Na@jnZ=@_lJC6%=>#&#SZjTtad zO%xggO^G694bE3ShNb2YC1KZkpG>=&)n$JML;`3?%C;L&IN&fK5Pmf=w@a>e`yGcz zo2$Z|O)vUmE!Xi@NbGf;`5tD#!S=42+Hc2()%zVBt*U;fa7j7DFvSq#2ZirVCzEIY z08CluT=$(qW9s*gHva(PMH6UmvfTz{D%LA5d%TXv>P=l6YfhQdEdcQBt&or9g>y*_ z(~?A0@+eguhSjYJ@d+6_589eS+2GHbWyh;EUQQQDt$^}*zwJ_LYa~zJK^R;wyAe+j zQ!<XDYR?+rHDvGp|>hf@+-$0&k6(d#dqa@YUPbfs4b`_C!EX}%ZG4rItr<`NC zy%$Ur-GowiC!d9GW3NoxzihW&6p0^&lG(#ywN|I)FFhRuF+@o*EYgq)9zuGIclg$B z>d7J66>%iSH7l@CyL>8tOZliWM#ss=Z)$QTIiu9UQ&WH34n9=XHqZ;pALCqSd<^H> zqOM|;xA7d12*#1y<4y&FFgs8MPWp`kvGb~nDaQh!31VuCY9Ii(&%FeYapuOX&@Vv_ z6|uS8p2OCLmRJ~}a={Pf2b1v>-zJs{apquhJvgE)LlhoB!S~b#N$pQ-$&rQgqY?l8)@9`es!5Q{jIEGNTY{B&mc$6oX4zjk_LI??lW4u zw|Y&<3Avcdq9Syw?XCD3?mVOGR~fES-%NHk(!nT=WCKGIx>GDk9<{9Ovuxuv!(&8V zNZKswm5MU5XhVUVlYxVbdh=M{+jO#4_DG^sFv}x?@y?!f2c0};2j7EF^_Hggr1onR ztsmYa2X#hd!jK6V&Oj$4AEjBB8!U_$cSw?$Vv62uRfaxh=rh@}Nog8pI|m4L&p!?6<5S8H8&?gts1(y%S!aZ7Tzx8PlEEe1Ky3ScDXMNWJ?tz= zG8618UNxU6pt_Gc9jf@$@`lFdQ-yX5Qt-0vp;9yhE=j4jwGw41lc?j;f}-h(QQY<+Ln-H8=hwL{cohEL*U!R!}5?^nWJlgi2mRZ_r(Suxm?pVU?GPux8(?f(D} z4-+16Yd$rvDA5$AM$|4fZQV0c&%;vh+1O?vXjwi)VzR190xZ2k^Sn-za^iB zSrCsR>f6|oD_dt;XE93=+vSz5ZdN>OT1&@O#+}C}6(%itQXci23xV&ET9~nN^hvyJ z_y)D&&yW*4f-r>p0ZmA5sPbU(`c=|Yc&8g5)~1zlIZ=!&doZS#WtlSP$Op3RS6nh` z6zo|~)}?ABtZl!Dx%yPyII5d)dylO=j}qD)K8NL6^4eTf(xa6W-AzTjINOcBblo)( z;P21Mo=1v?Fu59WS9>&}jY;pCyG`&8+zm*KD;wRVNHWHx_lyG2<8 zdr<7MjHiDvs+}RN!;G%Ro?1L*XLzJe*{$wYE;cFOiXsXFMNyzu?M>t2j()yDgCxZBeI0Cw=Ddpm#xu(mZ0NbE&%lYCy| zd*3VJ7^{hNnN`;65idhNvT(E&x2|s58*6|N8w^l zYkG|AyJ(|{p4wtjBwVCw03O)SrE4Fgt;XNSwU)pJRtLnkB!YFQ+->Ry)Ke+BucY6$ zG?6Z?w73AbAogm{8Ahzt;i4;Iw(-e0XMnDP>U_)b9>>2mcgCt~otDxoC=AMc*gNcT zP3~!38!0WNhs^kvA)_I`5ab+p^!Zhkv)MP$%Jx`Do5rwhagwD=!p9ij(CzaTEaQIX z{>i;$gtV4OOFO`kNV|Bq5uiW+09I+ovZWF~yXcDQGr>rqEiZ<9frb1h`VQ3Gkkzh- zPwAIY>hNK|l;B{;)7uBXEJwnVh_*D2h1DA2Zs6$GEh;*>d7e0d17fGlb|X9XtxU4U z%RMu3mTL6D4ZyhZbKr-HLmZ0?!c0B>u&ZSGBW1aFi-)bug#o*5B2bIpD z{c29nNp}m*YNBJ99Abk?9MCd?8Nz}|01i*31cn3x2q4fc{M9PCSG_oE7ZLtF#DMVX zPk)6-H2s_VM=#k9xo0Cx!=~O&A-Ra3DAYE5b}Dg`+-KUi6TTm3m#D!R)2~tVUF)R6 zx$YD9sbxM$4m)ZUy-04as$=-%P<;X8=~Gclk#vnsDL)N`ScLe@4kHY6+zo{Wc_ngj zJh&c(uq#ZN6qb?s+EoYC5ARa#cuVzb1m<$zQ%@X^C{XJ#%5iOPEXUCo`tU0FUuosO zmpxK+QfGKAQ`1(qKTW?{o)Gf;G7hG%_z})d153&H0aD`BtxtZDt~^9%9kMVhJ|^Rz zHTXVhCnwoX7xb=^7JQi`yEj`RmQlb%irmLcd2GvTM3|PCDIdzKlb@X}*Gneb40iFv zRzzl#MtnVBkTZ<-09H44x{h?+Qrg-rFlZ7V$%0sXMQ&ql<%^V^AYWXV0>uIb$Qq>l z!yde6dU(z9ZnM3;#MdO=NPwykQ9&#ZU{2iDw6(mVmBMzH?aJRQYO z=GOL@p;;Wxz=r@~q=;Z|i~;?4rMzg9ot)v6Ys-L0$At*r+ZjIl)QZZG%@x^|biKP#=Wvy-`x%4X7glj^?T^3h5eh7DZ(7= z#y=KUK!9U>dAs92wT>m!Yx^STLn1+JLQ8KsD&jy!0U62v05+>P&R)wpiM^X#>|aFC zzLgg994O#t+d1Z@GgI=HvL}@fh!n7o0|?uQM+XPfHK{t;X;$Ew113~O<^x8o zT(1d>Jm&MIM%NN0yr|__%@^Mwjcy?=JYFOX zf=MhlVgd4~z~_Cr&10V(>#o}0Bt>m&H%n9ZSscVXuOfig4V)d1sUVMyTa}sj{{Ydc z=j4?hLM2*6?n1Qz6ix~q4(wCgJvx%lIqjH@?r%B__6{@d?8$`*Mjll); z+<-7gu{EqGhFndtmGYdI)!I9l7VIbRbuzeC8ex%e2*~`cz7Mdg@$P>gW_q)16LjGO zB50gkAxwvlanC1i$79CWHL0HNt2Yfz#$fEjAdKK}FO}AS!~X!r zuA#cNCzW!nzPZ#gDsc{ITS>94#!q0U82Z)nhmG#2)-r%~U}u~Wn!Zt=8gvl6ao|g= zaiO^tEow^+7Yzh}t3;zdU^dNXQpMh@Qgsw`EWD0EIIP?>+|O$@#oQZu$l!3XD3 zV`BMDIrH^tmU62I1OA{x8tFbcr!2lpD=gRTE4P+F4{c_*Fw+-3)_rfe4nX+kx5FEt zKK^g6XuD29ZHNQcnt)e193N~`Li(4S75Ew|tclK{zj|(_qM>#mfKRS*L0lEwk&k0n zX{75>+*Do=We05Jd)3lyLU4SfiV0bq4fpudODaU0=M>Uyb!Bd9EHiv;)s~cLSbinQ z^%T*%p^;nCuO{M!$k-f@Ow~e}ls5ZTnW!fm8X^{498*NAWmxAG7kgBUcdBU^BeenL zZb1}XmhdZaig{@)*)48GYGlufh87<6cA8M39Eu8*qO0MG4m2oWkWH})2BWtgha7&j z@aGS)xa}5>;76qnm*3L2by+DcAhdz)UOPJwAnIrwbH&EmdN1wjMqT#++Y$-X5&2@ zUfSMQZvo|jR52^}c%)?muoxLMlG&x(dUSc2)uR{EHy%rE8yslC(K?i+ zO|^x{m0Kw!lOPC2;E*%v>q~}R#Flz#wEG#=r;Z)zL^mXH&VWk zfsg+HQdcAY0FEm2Q;4|x8}@bHH)}?m#@d5PBfkFmJBn-Yvgy)?pmeA);B?zq&+`bB zAKIqZb-5viErwJ9`A(7gQrl9NWVBW##Ah3SG5xCRCU{+LgD#bb={<^I5%a0x_OBK8 z;^HfNt0)!}i99A_r9kh2$IiLu!sEMZ%Ef&Q^T`Ztmx~&Q$BM*nxVuN<07~f~p82Kw zBb(Kw5F#q>@7vn5mD0(&%V8wCgFZBqj8!DHS;qeWFDvQ#5?RXS)-`OMx7b&C9QMyO%)!Tq!ZFxqbMoe_ zku9aH`R>>rf|@oby^Rr=%AhFUdPz%WoNKPT`C$xwNEOz6Zg(~;-rS!P9vJ@ssBik# zwIe&U9}W?!;`MXr4x{uHb@dY2J(k@<-#Jxx_mKYpPAd4;eBy_xvt>}Z{{W;NzJjlT z>LVZ=aC4o<&$Va9Ro2bMYGiK9@ZzrDkK6JT0>FT$gBJF`F=EeMFL)6-Is= zZCdfW-qPP%Z0YkLfn&;&yM#bOrsuh=WjWh;*{0DdsK7ZsfL2tw5;+?!0<#V_6=upw zlJLc;VKKLL7$@ag)Z06!L}f7slK`Jlj8wg^qeu*-jg3JG=Uzd^$9(TWaTrmx1OVI| z51jFy3m-k>vqj0&O&+x_Su zF&ii*g6kxz!HVRLDrg9k_<92B3fURuP7dErDqA*9q(LRZ2{JHA+@as;?^DWSbh@=k zA%!kXZ0yo)rAL&qp8N6!xYu-0QWO?H(AUjxC6HmX$eGa1!mAC4z)|PbsaLxSnQswFHLsFi(@0q&ctD`0(pTs$Qy0)$2D;COs+3IV3x8%XPQG8Ahe37 z1mk=G-*LyTE76~p^&D{VvvlRv1(M!|XqlX(ao}eRt-rq52D9E?Elx4=QY|T?EDGZX zZr|qBZzNnuGm)^Vqhl!hkU-8j%?{QGP~`%!?yLs%*{`JnuA)R^+;*$8L`Z<=_*?eI z)ppI1RYQy}J{*4at+OIjzW5mRslYr@jt+a(((P#EWRp<^NckF;8|3*ebdphg+kzh? z{{Xc~8nl(YkpUWk_>L;vS(ym>frPV&fOZ(jCm%{&HnS~qlYU+nSBx_r7#w5ePYzEm zIS}0vG&mSP%ri@mw3&K0QkbuSX%rh$iW-^(WJkBwX8lf=N5tU@M- zEOrP<{{V4Qc{QwkF-Riu3ZNT*Gho+AZk+D6SzLGdRoZ9)t9*=)N+NWH8ns}bN^H@G zQ2=31H_HD2n5fc??hRC`fw1GA;uFz*PZ$f~~tD!Qq6KG9r`7 zW4&jZyh7*dR>+{6oPoX-X)(V^a*={gxo%G0E1Ky(I?tR!^+_Znz_MmOuUEtFo>$as zificz-Z=hQA3<2N7_)7mO5voPo7YGJvHdjp$J?uwo9zokk`@rcshwJ|PD%a6aL)3$ zdwJNR5vVA9_`!StTjN=DI8NvfnD6UB&Admskz|cEzDQ%f00TSzxb>{~?IqJyjia}R ztu(0_H1XFJt^00qgS9oJ*v(KDRa~*a$P`8My#_n}uV>Sj`0|Z?qFvbhyL{-DywsN+ zU+rbz+-z;z!tWX#fc19&06rDd94=imZ@T&y*zdDV_G;ahG9H_ie)a9g z35;>M+jSp6w}f0OhLN%cbgBJwT(1qzO_t0=G~1#nJC|XcR%To5v+2ygwRsmN_%;T~ z6j}X6bjL5lIZw-rJPcb(YJ7h&C-kne&u&zYGU{IymO-{Lf%U3{yi>{sW#^DdtxF>| zTB7vj&ZcrR`BZOK=Ff{veIZB$qkQW(Hs{9EA5Jh~nl)7&&1UDerW!HspoM?t1V8le zS=Fn!!7b>OkA%cvV|@PnR;1T#+rF5dc?%U}bDwTLmC{JXwMBLhoCRN28T~5hHrBVd zdQ}m;Fi!(YgPn-mw-t{ZeYNG1vfIxtgL5HpK*kAq%Q(p+urr~d#=Yj2Q#@Ny2B z4o-2f3O4!HIkmndSl?*`MH?1uA{AAP6VKt~j2d|To?lDE*LPB?OCXFe#=CH!w)~&` zZ%gAR3p}rFHr*O4dDzDKgD(W+o&9;mX8e}Lm`Lag2t37+Npf{#Y>!WcW6HOv(*>k) zCx;sBK4zu6T^O;I+W-%TH4QEl_5e^vhED*Wm0gQ?C4lmgk5N!vRa6|2p7|6IG>^ig zZ)yq|7tmD|3<%qLB8>PPilQ~-WMt4rPIp6!2;ZPBX#Z+iK62yXmVwnd6S;-e!ng#W;dM=&_K6i|)aYZ-JbRz&lmCv#!&s zwd$3X?ix2Uv_YV87PN;vuw8~o^*N?JXuoW?Auf8eFtoU45U!P2u^eEIK*%@+bB~=_ zY{50WoQ}KI5#*ZE+Rogte7<4JY&T<#vFYe5uf>I$wz>S7`jHkr4dm%>_luUcaz}=e zHUkW2IL;}T%O+eyACLI+R*B>P07U);s)_AdRFFggS5O9{sE$gVx%@fBOD~@{in9Lz z4kt(3+6b@jI%L6#k}?xk+Z7Bn`-a=*D>-GkGmYbpt;UskVQ~$#3aR`=1s&0{K_FKzbYzadQ z^Npx2{7pFW;P>_TQ-hM9Qw(a{4(FQJ31LMfU&WttPHOHmss?aNHyzJQaEZMy_4yNrMnPW*u{Y#Tr@cM7g znl0d+bwMJj?}Ly&M|z%CcDk3MC4%BGa-o3kgEhHjX3G?cV-u-()<6#G)U#~wO)ou+ zib;-GSo&a!&a#c~8bcHwWRp_*mBnlOXOBfXWaW4GRoZD#aB-X;dJ4W|Z8^x!0pfz5 z5eEbxtzD*ueyPl@aL)X}u+8Qb)try%X0twU%l-(yrpk|=0qf;J|g z3g&`^O;JKUXdsFR!1kvj=&5SQ@I@M*QwN0*<2^=r0NaKUeO|MGJ)dWXM zMp*j_cFum%^rw_h8c6AKJDquUAN3Zi=M%=ZTXbe)s#vmn>a5?B>8Xd?aOr0nRlFtt z0H*+&$L>YZiPIyDW5hoypSfu<0>TwOc9Dmth(P)Zo^^a-fgptrh)@qwKfO+Gwbq{% z`(1MSMpqPtEgmP%6KYrD=v#Gjb~hX zmm7JpK)6h>%PE3cVp%pSu0}_p$23n`ZGh-pdeK%nZqyv^rPXchB68BHln*Rm)n1+4^Fp}8Nm=Q9~V0h(zh_VbeHn<9Vh-7 z>2;s3$_UO)yb@)J{{X4`e7?2cAB*kI=O+>GtvYSLPqh%*+DB;;fS^FUWcTOm^{&#% z#B;mK?z%SpF-5z+RJ@C@l{FCEj&rc@Sh@1l!-lJSxspUukf{76gqbaYxjbN2ES0Hw zR`UG{kg~>eu+l?h(qdZ61;aulX{IC%@)wG>Z={!9v2_dEHn(EVT1NcDf&TTpam#FF zanpz{B38m-kNqOMa^uINMD5}%VCl%t1~>WC{I%^7NpT})1ahsgW5+bQ_LF{_t?jz4 z#leLY!Cy1BMm`z$tlNZ}YD}$UyR^G1tuov)5uL{azTe)rE-c;qQ6aXtwlZ7kShiAS zI!JF${{W>{W34u8hHkS6-aqGP$zKbO7k?|6Sjfqzo3*E=49f!H~txj3!N*G2CxLQdD zqnxoB-x)ps0L|$sV|A)SJVG@L8S-0gmuzQaxZk~E+Z&Qr<>^vPd_wB2oj_^*bIoVZ zO?d6L&!#1=;la;t2gRK7SEGzw-p+|>bQIRIn51Pqb6q9{}oy#S-o?LlQ>oE+kU z#HYOk5(zono=pG&?UPhkqXWP@XKuoq61qp3*CX823zARDt)FT^LaYY11g>$O+4QQ5 zXvo|58`EO#5siFIqo$qCpt?`TjDNjnd*O7Y90HEgp{ookB8f7I?R-Z>yDzmKSNo8{{hv@l64g=nEVyhRucPi!Ab>yM6j_)kuGd1HL5rPVrQ-9k&l3}RJT zksyj9x=Mk|`X~wqZfl+y%yiyZT(_pCfUSkFwT)uTPYGEfWL&5?=YgoU=hS*uCFc1z z>S=*to2NauQCP#wt>7dl4Dv1!a(TmKh92DWTef8`KD%a59aTEJO=W)NS>%pHC`j2~ zOAx^K!9TV|Fy|93%H%r_5o9U|eB}!gRDw3oak#;*u72AhTX|5rog*G(Ka~7y7TDa? zCH#)3bPclt4#ZVT9Wc4$eUGhKQ%D33GEO^CROlmdgY8ul;RpW!+|Q31HN)!fAqp%{c2P7ME#IRF=&TCs|OBhCWI!~r*Y|=E81QG}yldLqDCcEaol5ZS+nV7 zG+J9-DKL_!+kAYgd0E=YGIR4HNI)K8u^7#C;m??<)tumi&lswUIZ!j8oc%>bP!f%u zE0fuVYNB%9o%roVj6~-L1N5fsII6rwS1LmfttCr|YJiN5t6NC{LEImRrp+V6&kaqQRHTc( zHuk3CYNJ~Y)X}tu9q1=H^feV>8=b=BdsN!$p_GoqRTLxPR8X(A5gI7EeOth{0BT}K zyBhHBzJ{Wv+6Ng_&&r-u@rxTN2^s>fJGD9pQUG@+ z{*g_FBw?E_r2hci+5M_)(jB9SfJ!I-02*^n3O!cZ7ZEAfBOk)6lk^pQEl(-aTFo;M zN{EN69JkPHD;j~SxjEEHJMKMijsP}S7 z#dVl%&&|Z^_I6)rEe*F)f%K`&b7#*RdaiaJS;5R zvMDI%<+%N8mHj?$ljfC{UV--F*kyWk?5aD6M4z>AxLE5h`Xy~X*^{MuRp>sSa%}$8 z@uFnuzirqBdk&zQxB?KSwLUzrrgscKV?NegVXszbP@ZO#;Cz=gynY*5xk=khKk)J3 zxH0t(qu?-I{1|nd`fh8i_%}DUFUuv?o$F7szh}B_&a22~ztX!Iq~X2S01;cC1k*R> z)vr;~`mak%SAttJ94c`dMGy&(O~222xqNv}l6;cSp5EC zOK~l|uZ{O-ksEU)t(xs5w_9?y$-OX3)hDL7qCjD2gQ+?&bH>fJ`*WQriyQ$VViM!_se9Bez+ zJ}u$X`!oGPWI=5gQj{yJYtW%^bH4l^tvr3$d2fxiz{X2KQU zi~^Dd4*AYbuU)Z<={&V|#~ajz-3gll>2${nj0}~Kj&rDwPim6M(PsNrY2?3li^XhA zL2Ybtx2AJRta&f;x?MFKTNW&=btqKbvDkMX=G8wfejDtpBas$GZ3x3wpay-xHH@;o zH8J+=T3SPHGP=ntjFJY~&uZs#wbDr%#l$hLmT8lYo75R!dUZ z0^PvUX+n-zXJfu8s%{zLB!I9RXBl0^4it$VJnFbB+aP;Y z09*`Ue5fZU)O_eF8MBN~U2%}i_#N^%pn6?Io@G+I5J2Pn{*{}JtxCyrD4I=ZfpRwk z*0m<1Hti~^AZZWf9AFZ6#Xacsy2Bz{w3))O9#Au$)i*Y};VS?a15pZ87CFwGj^7$v z!LCg*TO*^&%m$_#fZd9yV=DAnd`1Cx8Ltwkvb;gZN$ja$jGvSs9Vgdt6~oXrR0%oLF__9UF|-vi(UV=VlyJpkE2CciAlQ-?8nVU~XrtGiDnyzE7@0#t&8 zsbP;X$X)V5;MZH8xWkRHG3R+S+q8DSew4c#spHUeM%v3OFc|=TEENaW6^qWNrsukg zYus7%#JSdPA<-P_@i}EYHg?A)cd3><<*tlv)ZcDxv&PK*J{vort2f>*2CGT-}K_-1SUWOKTu{p8HCO~67Kmv0--ok!lchB(Q%##Y`KbxIaF8AuXjBYNQA z*7#0Wi{qp=GlS2yO0lC$%WI_IjEo%CcO_kJ7!wJG*Qj?qP|~Wo>~rf)iaHfzwtf|M zi15i9Wd5|;X=RL~YTOKDZM8PKT`v(=1#o%68B_hK;&~V)lfe(AA70pB?N4W-UU}Qf z6?Wt?2Q_sP?5XV;aB`)XXUmd5+O;xEiXut0wij3fCltC#DbYs7h8RX$oCAVtTCyMG z6n!$RdyI|w?NeV%wX<&Q29;Ct+MJvdG%$q(ZYj(G-Ae}VVIw-MUibGc2>v4kyEu%$bL$<#;oBj`%xfZ`Hw4~M#WwIrnxyHl^a$- z^~ug_HpaO;K^f&ne@dIHsH<4O+46q1e5!cHIl63$a}fl36I+?jY+N8O6R*`-!SL$MWgvwCQXeG+fyjpz^Bp#~}8)W(b)bXd34b}86 z#G?_yrla+ziE?H=U1b_ai=R`9z6s`ty0mD(EMc3uCa;A_oJ(~EnaIK&^NfFbcxdw4 zCCd4o(kje$&ysXcFd3Q%!5b>)H8&xuAhM3wmjO|m zmt)WMrO#_I(%-_iolV8!7bhx<{$`uDaS6p~lc>h114yWQ>O9saE5_Mxy8V|2a9oW~OEb`9s?=hIoMW%*FA;e?>{G<9*mO_jZ^}`ep zPio9c2_*^fUu)v~0XESG&^NPLpps}gVk;m&(jr^mjlH$Pf%WN2i(kaZ6Z*GjP_ z0hT#CWCA`MS9!TVk1iZre41CM+oy!9EK4Re2;7W?&urkI)Yd%feiB~YkpZ#k!b{u8 z3d9MGKo|g>uzT%X{JgUMG1Fc+{{Sk8@A`QPZM@HoM65;5J}2M3OO9UFWsjpLxk&BH zw0IqmA#?g|Qcc}0x{MP#OEL?&Ry~Ob%oM2g(_5TQ9PfY1v$fT&--T&xJW$_(e-jct z7qIs{_N`2AJl1YgE+b8cMiN^1w-CReReUU%8=lAE{u-Hloa!|&LM_N6$80D=k~2*mA$cX*G)Y) zr9`N1ZjiiSfFfjB0}_7^IpB@<+}3l>^&7_-IjVIFcx~dAc7`bx9Z^Kce}|l$jBH1g zj`YUcbeT;}va8+XBExdC@sdJWl>p8_ z8-KN2XVI0O*SD~mB#=Euc=&r%xkz~1%ciywOjRXU=aO^vtoc~qj@=c6 zjDW%e#5T`oXv{`ekb2;H)kT#U5MDC;Y$-*hU?mZV zbiUhsc&R$traP|=CW#^&?%5e1N?E(IT^O^6x$yy3+bT5`T!FVWHNyK;_}&cbB5G0# zy9QlAcfdKR#^#S)v;P377lf^%$*l0jK+rw0$FAb9hdig2`eZlp+{cIt1V9vo+ymaX zWS&UK!A=gTjE#A8(I`&6Oy12cP;`j*k zAK_ZQmROxsd5IV&1OPI4?OM)Btbgv#7UjGD0AbWGt}HrQ#(Y+|j13Y;mcs(r45tSJ zf<}89VrSD2W3RX0JDbNb*xilF1~o7i5&`QosX@`)$7U>iky@`G)lg5@FMp2-Y~# z+W==da@lP9cK7*KaO2B=YnQDvsyQP@=U$xVwYbiYWn_5HpmsPI=Can7(%@w9ed)o< z2^sSe52tDgIUk6RT+m%)z{cD5#RYY0Jmb(F!hua1kO?CPoL07)Q4WF{H!4q|$Lm+V z*)e2odfkh*Fg0&cTTnr8#au{r40&(}{`H_t4c+2bcoQQ@|d zH4T%4or(3Vwf(I$aXP7x5)|h-!3M0fv+SuYl11{MJ8Wja@w$M4-CaNWn1t&uQcq4j}nkcq16^IA1s)*H*gH%Rw z@b;o7Vs<}Tf_3)IG}h7>jrpmgW-QDG#}zfUrCZ0_bqD2BOSN^WJ4V}gT56`tc~y=I zXWtvvq^W5e=i0Q-wb0{nQDE4f{{UJE$^K@i1KpS{!{qq0=ayrEUOm^pfhXOgjOa-6 zKbR6Ka$Ob?=1o$*5Doyw)vhBy+L3+LoQR^-M%guP{iM>q7mF^0DyKLI2LAxzPi9;w`g2Xn zy0MbyMYH&q_o~Ehu|@)@_pMLm#xaYmZ#B!CuG)$GM2Jd2+aURVX1dRZEjeG7Z)G=I zySXH!o(i7P?UU|#HM#L)J7)ZuR^FS@?(fxZSplx>cJU50JS+`ct z?4g?vdce0VRYvFHbDHIs&9C)z$KsyaSM1x1w=I0nYq3~#fOGCZ{jpj7>8`n1@$=2$ z(vH&J(3DccR{9j<_O5p;T_lj$VYP}vLZZ8JbCy3dy-RH*lctXnD2Cf-=1pT(ic2D} zAltO2QLJV%Zn}^} z=SFzlf0rm^#&VeaOOP|2@;xgyOnomk z%Ia%tj|S4h7-I?h0qk?z9 z$HKczruTig_}j;*>cpbOU@73w0R>qyN(>S+r0#?h*q!T@{#*NY>t9TQ_Ed9hinFoE zk50^}M&4oD<65#_S(f$NT+WtrESC~2$XioIGI^vU8)bGUaB=Xia_^?@rR2V)ac^vr z&RjIB>NI zN98_;dd4-o3bT>d1YSa|<=hQfB=AN&+|w`U$NOiJJ8!(Z++4{yjO3t9pey}xX>d5_)(p+>%C*neK+Cxb#2Fn ztSy;9d}?qqPCav6?>)Ca0j%0me0!N>UDzn{kJ6j^O&cAuDg`mA+qlg(x; z8Ci}{f({J?N@fw0A0&4hio7M+2?X*e@yKC}?zkY;oVdh=EXrL5E^8#1efF265$=e5Fc0byjpfbiW;qp|5&tuye+lrdL!X=(#+?}~K zsUj+j0L!aq+JVZ^IP+#da5GbtT$sViMA*kYs4k{yis?`cd!WH2d@6Alnx72Il*Fqk zVU-FneRl0rdNft+s|}mNzxt*_l8kikoOyfXZ%lc+=`T)Rr|Oq)Yb=J=1O)xw7Sp$@ zzIXT!(z!-O}&daO#oB zw|3W4+yfZIn%6!6;aoEJ2W`2oel}{!{{Y(gOSw&6t8Z=7q@F}ehix)N9ATMMk)&uK ze<&oKj!(TN7UikIa@5;2wHRq-lflp+n34jL{zom(IT+k+Th~5WduMu{F_W)Y z2;&Gp^}Sm9ZwcpQ00OwkKzJMOdD^w{<@d%hobmqvn_HiwL2n#!S<5V17CfCzrR3F} zdE<@7J$Tx=O!v-F*TYj$hFiO?nQrZSDqq_!Rws^C)})b~GWoNCjDzc2@tI%a!#lXo z<;$G5w^Lk299D_bntPKTR4`>e9!S!614$=glbYV-=H0Wac$^tDXQtalZnCziW7UGE zC<@_Ju5p46G7dooq`p^cuNkPxbqWQ7RFg2ug_9@&1RO9p`5&EJZRRs%;heVk(}DSh zduFtaF$1kpS0X|Nka;BHvs#P9M98enLn~t>bAwC4IWgs3Y#BN14l(dGBB-ZPz#NVZ zR7oHq2e$iAS~r9Nn1de0n;*3~6_zjw8NeWwJc2!qSxqzKoaFEIs>!k#nKO(5 zyMKn0e#*Rd#YtD?Mq424KdnnvO&J}e+Rz5b>`4C9+%;O2S~$Y80tY!H=iiFUOC+!O zGKT{gZSlXQG$|zW89bT^00ZX6eXwfkC8;+hTM{EF_-ATp+U+zz769aOJN+rDTNA20 zmkX)6)COtE!pl4^e6j(9z79TA)rRFa_-6!m-)=KmX)LKK6nqssVx0_s=}@k~ms8ot zZ)02YtawDNoN6T=a$VRYz!6Wy`t2E8t*jhOih#+A1HND0)s#{5( z{O2HctEAbHtkNSlhq8~vdm5KfX6ml;>~#gm>@inSF3}z2sBxWNI$U8gt&vJ+j1Lt= zo{|lZz>3A1YF(2p!^X^#NBB-WrmUYuy6uW*jmaW2lj>`8hAAP6oP&Z76{dEbd*|!k zfs#y00l^-J`c#o^BL$AbYP(LsQVtDN3US6#2P9I-+CYi-h$(e@IC4(bz}Xv zsioRecGGCP1gso1~Je@M#~3Pr%Yr;;w+b!5^jaHHwXX4xjAQeBJ7w3JA* zJ0Vs4F@iVrq{jMY+3l9b;uw+jToniK<##o_rM{CJB<-#ats2U)z=erCh1{CW!s~UZ zpE{362T~UH-X+6;q-P8_9^TdFvv*P7a!y#=?H^CO%xiSW4{{DZy{lihoaapW<9)EV zQ|K|bh``*;H!ktzN66rQ^|_D9*GzeQbC*KPtJvKsTs%453v3vBU;&@4bIS~)ra4Nr z&r{PAHLp&2KsXM=NIv;L(ylmt)VXoQWR@PSdl)wp+t|cM;R~()WbIm)40`38Gt0ZC zc)rU(ldPupLZs;{qyoeK@9kT^J=V0u_+-1;*F6R)Y*H8_hA2TgWN5=X@87xq05+yS zEtzhvUmUVWL#2I}va@7tiKJ1SvJWj|KbtI@$K%HrT+JK+Wx(t*bDHC=x3@lCwx$M} z*$u*}AeA5t`e)bSn%wyL)nezyn%6`0Ht*-aFDZjYJMm2AC@b(h97QzdHp)Q zF>mBT_skKP?G#`IQTvncT(j~20HxO%b^MzGELmvw&m;`yv$g1kxFCb!yRp~}hxMzZ zOw#yhUCN*XB$HWM@||Mm@6$cJchbtJn%*>JL_j@G#QjZrzB%JJW6huP+}qDf((a;+ zyLc)yl~Eup{{R3t`q!d-nA+iR$|BwsSf!qIQnBO7uLX{Hsg>Q-StOgMMF2vV5U~iY zkOu9ae%+7DdY12svmJ99MY{tDpAj^VlpvO6AI?DYA8rO~JDlmQUCr>_6@=C~OF;3- zJCtcm0IVGTdtb9 zWhUn?J;b-S(JH)*7%(w|Cz~hJxyO80Suw`B-z=jL=+tj{rc;*6|e!@{Tr zrQdJja-+Y#^}h)@tohm=_C`+x%A~x7yf{?kALb{V{5L#OYqRj%YkvfAnC+pL$7w@i zFf)Oj@q?0bbCbX6S-9KHyfreNNK6nkF}hq_8*6aS z7gxw#Vz7l`U;!QuaLhS9&VDA78{S3B)+^dsTwh))-Q8%oeV;%Rb{^zV({kh&u_u|m0xsDiZqmuzJzH$dR^xJIH zA1&(gnMvPFR`K-6Vlqss{MJn}lpAp#c3Rnw9`&h?9&oi{MP&9$_bvpi@uJB0vlNyQDMO&$SO)DIeWsBJznjGe|ksiSP|daHo3wpj9i+O?$F={a=B zjOVw#O)kL_mj`_~+-DRJ<+5~+`+HS_NXOwF^SwbCaLU05$9e#rLmAk5nhf$42k{m@ z)lo4hUGmn>g4Gu!H zVSxt(ZGdy%9k-~eEzuCjjKr4NhWn3=O&dg#xx*_oXvate@^_;4f(Soal9oAlmZ4fHtu6?j84D!8D5~u`==O#zzNCb=yK*xH=hc_0yw=m-SbSZ9b|h#;U4h30 zkCk%q-PcjmdYks%lcIF-Ez8<9%z${S9GD3hIMtkPMviffurc30_+MPG*<4%Cc-N~L zHnPBDONm#*Xo)+h?94$YZZ;LXrIW|nOD*4{;^~nKnPrt-nmA)IMS~%SAeSe(ZAeCY zcIOqFpAtow@=0q)>TxqEid#(*r-m~UjP9jJ;XZG!d)4R1UuPDFnhVR=r}2n3(wW26+S!0mpB8oXM}h{g;be{-iEY-CIj)S*DIHT30O+uHZH{&j%p(HN17j+c$j2 zKIYzQK9O$}@UlrY(Ul21$A!QL{@`=+&2JknR?ntvvmRJmCG`?X8{l*Bt+QGfO=|eU z;R!0~f-*TE{OdDWM!A(GhmGPKF1(TvMx6T&+08vCwU34X!46K@83#V%rz((f0UOY5v+46(p_QZvgK&9o_NkUq zaI+g*1a~S`OAx0ZF-+ud$*k@*s=tLdnV7pD%1{BHtxdyK60yNtK2@>iIRyLF6=M^) zSH?i~&OSc0%%3Z?Y@WPWaX{O4HL2+ zG`J`A6|Py}mPU=R4y>Jy4QVXVWsc`#nj)ohz5vJTRT2;@;zCdpotJU)r}S&=qwpYl z)kNu#4947gb5nEL^XUyMx&9&4JLj6Zo|AU=xWkNvQ;%#^UeXi~{i5FkO^WGO-%F2< z^>%4eiU!O<_-#$5qK7%y)kNg?8~V{ktny7kWZ2|Mr{5H-4J{cz#>V4fwVr)7$F(FP zFgz&>Dfk+*@?B1g3_#fY=*gZd{{T4pRMT6(Z%cP`)HE$P=EgBjZI(4kk?1aYKjeaRl;v-`JPukFs^ zm-kY|0F270Km$=wL;Oy5tm7rST|y>ua2T`o?S>@eB^BS z&KY$uAJVaO>AIv)Dl*F}5_7@io$?QATk10=mbtsQYzsXKq=k}AInXh^t-ZxUk1h>z07|T zt^gk7@A}sDZ#i(x%5{uuj@zls#I@4IjoKB{kBMMO`2kt-!g_02d#v3;+S8{6p6%{$ zBs(l+*pG-&TE{Dw6NYk=9{E1T^)D6LFAm1t2}07YBqVd?JP(hxOtJCrnzJpeJ@UK*p$N0yWcYn(A;@sWNvPmKaSC=9~q~`~pG5J?X zC$=rVh=t@fI#T^MfRXVqu_pfFul$aqCIfCGDyDlgoK6&A1l6EMY)X zjUyP?4oMu=W*U-STDfl9INNQwmRO^TCB#gp@R1unIVWOI*X3BcmASfXR*v?{w=(Ga z!3ztrwwy7>0pyJ0rOHdkqGN2;_Pa)qu#W0gfQysm`a)3boCQiI#I}P{WYP+{vrnPRPqbx(E^l!PmpZe?O@g!A=ODkh!8|}ZZ za(1p;^Urgr)t)%``>ee`pnRMQ_u9Xl#Yd zu_jok0WfjC2IOS3a&Qf`Eqh;l*fKM;K$2b z(*?z^Qom)M{nlvWT(6q|`(R^#g=$kgBR#Mhj!HKOatOjyYZ0>y(^E$t~oKrC$OINR>6Pz}5y&oBCE| z-{q_C(e}2MaH6Z*lt%#gnK?e0Zfabu_OeOoHw$8qu1G-`z$9t_Qe3?y*Rl5=mhvp+ zK#@o)*dT*f%Px&g?YPMjmu#H6frS771!GNZlv_nB9C>ng+O@WHVwlirL;wymQC7~c zS_|XLje(%dEm5ZNT@<&e-xYVlX!VHz*mLMAZBkV<`G7veQ4n+{!%p6UimOhlHz9lT zin>jtN=R1DbuL!}ITRE#c~q2tGZg@TUrHv~*8VNay2qq|a(@m^+4rq#n~OE{ZROYI z(XSZa9={5jrr{#yJC)N52RPI)bC5Z~rJC(GFG~;up(F)7%)C|L>u7<+orO;M+f zLnq@=7IG9wrHY-j>ewCk`U-7XE=iDuCq8Yn%~+M8Lo7=hU?AWQ=BMRDypyuW7Ndbq>IM_o=ID~0!C*(dAzmNHDF`x0}&P%x?wu%Nh zv@&WVJSijTfm^a~e%RgCy*Kr=n$zsuJ{Cg7ddr@92kY~!d{$-hUHv!m{{S2&m+4k9 z+oTNwCyE=*E2oPl{H$^AJv`@OOtZIp{{YYY`Z32+XzAmg%k72b#4QRLK#j`2qaLl5 zj;;DbFM<81fQ-(_^e}ma?@9s z;9p#=$5b|OJfC)nG!&7$WDp2Dft~PpuF`8CE8CsB%Te7CL2+pvv=?)kARtCS^6Cdx zKngbpe_(m8Gji_7TdOq|Tjz>7?d|Q%_p-twdE-7JyJ{mWbA=e-ZH%94zCQ0szf-cl z{{VRd$KY5h#2!duwpm6&13n?!PnWSdr;NPXZqG~Fy`9~=84N)!hP$SGktF&^(m~&D zcKHuUcQ5z<0J6#<1<5ti{#c)c#}s)gxN=A0 zJ&&iy`_pTva;}T17yznHb!P*CwhzLy==WEYUAM*LIL*e@vQUdu05+PFs?|$J~(Ep zElZ;H#;byhjAPRu3c9JXp4lJG7Df*k&eeB)rl+DF)@5AyY(V#|ZYHW#pj`NaEsSAB zOE02p*>ae;O<{XvV|ue`b?BTC#&hXaI!QV5x}WP!F80%et zR}@X4fIED}QC>aj3G)8{F`~Y!29f+Ia*^YFa6VjD%eUQqT^?oTC=(h6`QTLi(%++D zMO0~Ic5vU9RzRt5qeRI(T3f*xb=>)e)aTgqk@X&!U;jiq=VWs3I6j;VQHcm+Qt4XqNP|Q`4W7MZPk#+qC^`g#ksr5MLYTg%Daxs=Wnyf2n4@!;VgxjPWlC#Kp`EosXt=z7B z-qTYFuR`bTDTX672?-0QOZbPw+ni^1+pwvR#k;Cy^6G9lGIj2ybt?JR1tfX39E0B( z{3F`E6XVAi;pdelUO^l93g^Tga^-Mvb|JYt)%VJJ)MTFRk|@$Um+=NffmnrI{{RoC zJ?m2)_ZhdXR%0x(p-+JB3V>o7GZRO}JEqZB@L1?oP1gSjZ-}={|E0fWT#hyNqYj@O|6j>)%1hb&Z zuYWEvzI{)6-<`)Dxy&WHb))Ihbn7^pTQUTD6A3KGJ8!=g%gSYVuANE4FIMTM$G6wDYJApl9Ph_3G{wE1(V?~J@Fm^200sq+ASd6G-}=^WGcDY%t5Vry zlZL}-GXi8?;ytt9f%0YrQ0VI(( zkoMD#$9?Osjx&cpD|vMw2@R^Tm7Yf2#zsIs{+|lvcWbXqw)XcC-@Vk%k^)AE^y~oR zdeyVXQJJ}SSDw-Og~LlWtxiBV;{$>6sV|JwEZ=Q##Fp`RaDt$n@^TGJciQ#Qm?QvD z6Y!v+gla4!-_%gh&{*Y^4EHCB0kW)5h@;>rBPI3>2_3UQvg90o)I=r5PLQPhH>;rF z_&#h8Z04e+rOw#E?V2H8AtwNep@@Tg?tQ8nQKCeU$Q1))W88n6RoX6#l-5Bcjm9Xc zP!z6kJ$@dU`BW5jMb(Wg2{hPoR z!yQF)ws*-MoYnr)Po#vw^JnEi_+gFF-&Qp4PIG~c_Ni`{Mm)_BQxGYH$77S&)^+wX zPjb51_GfL_pIl>#)QHB@yZM!JefF(s8WP@V;b!~9N>>cP`9K}caoVQ!S4X5XE*jQA z=vkCA5QG3ZIsTQKXSM!|V{+ihre^?hSKBxg;vAKBkj-o2yU6HHj3FQ&`p%4cl{JNd9Bad1km-C=jTxh#NqL<5gp z<0qfeyXQ48{iBvV+5Z4{OR3KnPmydREGLRGQb4#bDcqCKvjPT2F|~5WT)&m+yLH5Q zyJ;Ju^(gMh80>iW?rK}*ZHp$RoHHo40$5hvCP}1{V5e4~cU9k?VmKRTHP^l?pIpOln0?-E zpJ@iyE<9_IAU+@)kiLtP$>-9uhZoA;mo8?fwiSY95-CEC{$6l*Dy{owgtkffcNB`)1x{{Xt8 zt*jljkUi)rBmzX$k)RA6w)kSKsjdo3H4(GOgG%G@ew%vL^5=x{;SpR$Mw059b_!4V znpl$hJOPgN8ZGU?P#Hsk#zkG4W4p9We+o0O;D2h?H|>n4(+Gwy44)8d86{5Ht?i9K zw=9EBfWd#5XB9klZFadOM&SwLO(ZP|b1pHg74KJ2-8;i1<4AHxKBA`AL1KnMpgBhV zQfh9)Q=%>)3BFGq*0m~F%*uHv!`yFLWf*gvBTyfu4pjsp0|aNCs2PDF$-l7Zr|{!`)wXo5h90BfC}~D5-zJGxSxO86f_vwhnpst1So#{EQ>Siy zh@gxHG(m;_Q}n95J(OK?UafHU(K~eOb=z4V#BX3bSAzU=3A@dE@yh3ZqrTU6w)TD% zs%l(nY>h?z&#A5)+sm!goH9@Lg2o5|xx0-R4ESMzEA4?=pB`568O!9xcV1(teXsk& zl(e-To+Q89``4=v)9ak8&zH}>qn^D|RxH;SF6Hv3IL-hW=OeeUuD`cEM?XKh-DEDV z!G;K!C@0J~9_JVt`I^RB$C~MnmR&nf8rjB>vfDz;a?L9OemJf&`Eu!a;nlF|@H&0v z5L}XT<4U>#KEuDpv6fe^o0!SVrfg%G0GdW+=SneD`HuepI>(l}YU8ygXwwTEXe344 zDG7o7DK>vjRn4ki%)T_b^s?)>i3vt0-)%$Iy3DoHoyT?5wzdswzBFqZsSg}Tg%&@S zYZmg{jfGo$oaq?c))k)fsoGhi8=I)pPBH=G<;`kimFgwS8Qo#J>zzK_D3bOxb^}ag z?tM0^Fv|K&v&M0^l)d{(&guM6(Xk9xG5Ak82R#0RYV_mraP!}jm{sRek~@2qg22KY zVXhuP#m{bixy4*@o13iXmDQ4I!MTR=-BierpdFa`hJ7>h;=9X@a$dgIe4Dy%;lrzI_F~d9(a!6FqY*9x zW8c!b-WRUr;3}A&&&)IW~)Q}-=ivBqeGj;>|)zQN4 z3!rUUPp-53P;+O77P=6sw9%FGB$+Bb>vG*~olA6?>|5@Q;3j4ZyFBk#I#jN!7i#bN?%hh-NzZH7n+;bPHn`qGr5va6$4^O%p}MLGo4(D+|v}h8SgIo znwesjI16YH-~|JWk?oDCmNH}cTy3|PctE6MNcfXn_Sv2gVZ}ur2p-hfGy%O4Cypqp z?~TqXp>6@^G({K&7z!~|P{w)AD;o@Yn);pq>VIro=Qy z9%)C+b5~-37)T)JJ&$?@>m-AXJ7Z&-f=j8}A4;O(hCHBw#wrU047#&HL7W!A#z0?s z3%V65$2bkJUHcM$Y6O%lfz$$fsbi3N+;*$%^jl02jN>G7C=j>80@{4;f0ulGYU^pV zH;r%!(8v!aoIu#EZB%UR7>~xoApC!|OKR#g#TjQN*@<;I8x1Gx$9=0d{jc=S?QE?W z09!usq7qe09DX6l@5ilfZ`&MtR^ILip_U8TVx44SF$AB5bHG!A4;=GS?|X|n^?JcvhhG9D6T#?9tmpo(vwO%T79QVD5 zNYh%mfx#-)>#!c+cCGl{t2>>?CRpYw?iA}r0YKP{_aeJXH>Vr7PAh3FtVB@B;l}Nu z%8US{7H4CPwiw5uu2(NCw_RlM$5F`YH;vW$oGS<|3@R0M4hh_iyJw2+jy@Q2if$=z>(#mt>f>fne>QV3*Nz;d`y0R)0yJbb&?J1o?V zOS@}})}>ye@^u*!G`6#l03`CY!v!D13Nxnz8OGc3U9guQ_e=;xlVKBxYt4zJ_g zo6DDy)F@czc%$CiBOoC=D=^reYaSY!oc{p*Ys+_Z-j8guUrW_q5pU7$iIGw!)HMzZ zG2MvCKHk*%GULW`k%Z^V)2VON9$uqiZ)@R448%@cx0PZURfKzjGq-R}bGXTkx4-=5 zxoxvdeNxHVNFL9q2%ylYg5;G`sN@wm+c@1$`&O~aYVLBGOTH`4M0IPCf-zEZ%z5>| z@5Oe!aOF8@7fQ>9sD>Xvv^-Aq;BFPQ)oXzEq25j!S!pJlaDhGGk%I zIHs#&G%_H6!T`=f?miRf%I(RN=QC)TlJJ zckSF7q8O_&UJuaFEzqtB;Ch;&QmX0B0UU}!l6`o{EPxFAnz5Rq&myLx0Uo=brCSnO z7Vv7^1>2rCsp7s${pQiZR|VWDFg-Efy;fBOgU(N=+=>RIuC1N0eK@J5-8e`exEcO!s%ds|+!%2jk*OHu z=M^=+j*%>}$oLAek?Y_4)YXk{RtZ23TOfbhE2ML<_-s<%HAnDF|fu+;cINC8g%FL zb{n6i2CHbHBgDCB5+HvHAT0j49@U#~QLJR{y$F-9^($11r&v9`s(`9V3UTee)#vf} z@w?9MyW8?*)YLbprSDB|4r?WLm9eSMh;lu-H8b(cnOehhjXiW%5l0SXkiMVHKtx|* zURx`^=WJJfVI~b6Qw#x90qXSt0dOdSuaT0}O_xW;Pn4O^v`rAaKON`}U8 zU9{unPd!7!Zj?V~Cz3IBeBG=05CCo(KtCx_u=lQ4 zty25Q~)4mE9Mo2%Q$ zZ6&?39~tlrulZNFJARd^jo#}QE;Samy+T%L#<=3z7|;=)`i)CHMy2;oUZrz8GyUEx zR3jjqg5I9yv*Rbduay$@3ucMdTa7?-gNh84@Q_QrvgbxL$`7_IQZhae%#f!COq!s@pP^Fv~t}wtdU5Qt_T``81)_T z>s+oDO}b2_x@c(EPD-vac^%D7sYRoVw}vyGPC23@Q7w>&q;~^)qT?G;RtiAl1Kx@y#}AE8;1`0Q(vS85d#(NEpHHC^E9jWLAve@I7kqgsp_LWu$E@f_NUaccjwk zZvsX!A_AjxpUvn!eib)YO()EVupS1@e$bS*kpGF zLCsrb=_IqZd8TzLCFyAKIRHrl;KFhELoVcFd>XUyQ~QhD8!ras!|RDaG0F&VbBrk9 z>KoLX+-mDphDAkzni86a49&>?hP64ov+IOg3tOesSHqckJmmTcw|J!0Rup8qa&^3A zz>tlZci?;a3T1Z*HCS&ir4tKVDJFR}x0#RO1pXX%KBu{^nBz6Pn9D1@V$;*S4va14 zOLi)ZuPm6<&FBa61GeXXed`%-{bIq%`<%e>6{*~WW z-DBPF`f}XX^6E16NGG(gvgvZl9uqI#XO=PLFDK#p43698t`=K!pZTQDStd2;BuixJ zv2@uTqJc(+h8O<;^)AXA0Am;#0O0q|cCR)z@6Z1LBfXMO6`p9ib+bdIVnM1WjwTXB ziJveE*e!#Bo$^5&Q&%gqi5yqW+y*r&B3THDOB3OZvcMkf0P^pR@m;#RbM6pf^JqR( z{KQ~y-}I}nq#7m0k_wafd2g*+%Vcm#HM^2^MjJ@m^*)uGWUa}v#As2QQPda=ju?8@ znRGgK6mNhA?AYUdjb|pYbWO*I&XMJa{4B!_^{i>Fo+ENMU^ByGx1|)fwe)NZgPh}f zZ8W%qh7P_NApQ_HHAB#&0#Sj}w%)Y>8(RRa?!*14F3L{CY<_eUWMxs79#OHPj}S6p zvZvJ10d+eQ&cI@Vm?u_}GBzV~R3+|WLb+rZJNMt>D(a@q50jDz2fiu<+z4@&*?`!L z)~3?v#9+!d<8A5+n{*_TzWEsKO`1Ugiv|Q7ayg)>Ks11(ZuqJfBudMM1bqJhwOEd1 z$#D#aMgpGT<07{;S-f;gmYIr}!93+MKT34ZX#2DHnsg8kC6@rz+UUfyR={{#GCPA) zXNy}g7{K4&u-d05(A7fag(m@A91p{dh&5%>SuYg`h>_@d8NlNwdJ}@)*sA6^BqRAt zWMk)7X|JLrgF_LyQod8@eJaY9X^G&J?pSUsrsEux!P8^MJ057AG(1b7Nfx2(-{$o; zzt9d*Kyq`&NXRr5D#QW^V7-CZP*s$!OGd;E`R&?*;?u=NV0=Gw!S~HiEiA`vL#0Tn z8Y_eJu79~b#^=ZR0t={*nqcF&BAdpV$|)pro$?3kR#;UQBxS_Pgm%UN;Xoe0YVP_q zzQMDE{sW}_MPEA4gjeos`G7u!P7OSd5}w*YoeoI&=B&yk#`+=B;4vNx5$#&xF7{gh zht79yF?_6^EX7@RFpC2E~kLeHg zbUbAA`QW#-BQGmHrhM=>a?2atXwcF}CL8EGpM^|jdCg9fEU?1tgzL7qT}hVS%`_@% z%bm&e?^?eWQyywhl3cE%ah31LLnZ?E18nx@l1Z}l*y!&*VdTd*n#kr1X!bI81vuE|JYn{foxvIDRqVmm{c@=UzM%dtcQ;ceJ zX57JY*3PPjTd~he(uU)i(9@&YwkK1fNKSJjfXqF=!CbS?EV^{Z8H=OiK#tNKob8s_ow&tw=ce}@&Z7+X zQj_D5pbRE|4RprI>5Qeddlb4wTZwv(*9sRTvj~q zsP8>WHLnPAa1Lz}kW}dlNwoCPwE-6bsI?loyYR|}33TxY8GC;l|mQ9gDWsO~3Z8tg&&aTDc zWklq&QVU0IcX1e-N<$g^AcD-p*V?A!;O3r@;XfGocQqAU;YiN)Q64IV-`jl9D6uV& zFujdX&jqkaH8yE&8c4~?;(~X5h};}vf&%HzaBxNi0?R&fHV5~rCqjXe;A4_$uo)vb zE0fsN2$JR!tcv@C<~Z1V>ggHfVkAI{*kPyy+~?s`OWsEX<3-`iJnY~mhQK}X{(IA0 zY~MO!>NDEk&JtO!A&Jx(gkZYr8)JNam2uuPrf#igOM3*icQUz#DNsm*2(AlbIRKtL zduMT1%GzpahUR!IV})M9QVbPYJVN2Jc0A`B6OP{s-ZJIAR&AK~8f@=p{{Tmt6FDT# zKv!%iP&*UbJ+qOuV=QNu+Q#1!Br|k~ zwYOYM?h63=#;joEcIRsA@#DEIbNMpWvNQDSN$tZjMAA%D;G8x+@%wt3x#chPVU5T8 zb#3p9+)r;|1P}y_BR#<(w5anI19EeMGwF)wanzS4<=wIvhaq2US4*5Gd&pkxnjytVT+cfHJVYxwSxhrzH8WoAk#&U8>gU-NiIjq|!KK`24 z_>NcHMaNvV>9(*72e(pWk|)$vbFnS9Nyr=LI|}J;u(@7#=dI;2oN2i_$4mbJS!)<9 z#OZH@w{=j*#3O^-1+sIVdsZ*Ul*4xR)XsTn#<=^(Shg3BXrx*(SHF>PRaLU8Kp4p2 zj2z@~T_&);GWY3={HE{y(R3uYVblUiWG0lXFt+R)1ZUU`5?j|iU{f7m?1 zdbcQ^HKN<5GtHs0xaU_Z?NiBoU1hR~R46N+Go)mW*{p4?E|!qTr0548z3IAY9I*lA z;A1%NO|Fp2yEc_1^S3ooR*Et-vZ>Fg=9>x@s;{j}0CSZG%k-^nG!AkwFvD#7R2BkE zlI%erm4CejwCm0ZKNC?|jk$LWCt>O;?FNk#s*GtJ@=i}-?N`vzCRKnZOETqD{$ZRS zrASo*6;q^V9jc)dZcZ4fQVx@y#aNXSDiq71KA_SSSi zut7CNOA*1MZANX0-M#{-tD-VtkTCQjh+4rCZn1^$SCrDlRMAV3WYdVw4MibgkeyD% zVCS5E)lkfPaZy#|9gn?KP{gOV&oy?MP7ZK)6&0T56Cl`;jq{q+sbNH{YFUt$&m+AV z=(#*O6gH5@9kI1pvg*X7Xv*7-BamsbMJIs~aHq<4+N`xKRbm;^2*@0c{{RtJXof~C z5a8f&M)U}jJSRxcn~*mjO0$%_FK=@?Aw(<`?~G=%agAe@hYQI=VaVV4hATcXuPSKq zBwXrUKFd?3?7V0@NW^=AR6&p_?0!_yvlQz5H5MV1{{Sw2blIZLLBU29QCSRRX^}$@ zbgeSTmm#C|$BiJPpo16vr>;vpjf_itDPSq=E>hw6{o; z3?OZCKd4db?rT#IE^jQ{=Gi2CJb?-1Dm(zoJbi}N_G)*` zn9R3o900RyN#Ai;&hY7k-FmB*NK^>p1&-L@3iC&5;&oY?Br+G=f6_l{>5n%~d0kDo zZPl)1Xy6k+g`dNKGwywBuY~Q1owcIk>KFu%2Dv7X_-N;HM|=unjlJ~~ETo)!W4wyu zI8mlTig;E#{X15%vfdfWUuJZ*wYZg|xN?Au3={r*s%32HtYpiI>~#4OD8MMK7|QH0 z4{g1V*12anZwtpQ_cJ=%nIgu?k_gWgjAuNzmEnm}X`vC@l3(#TQ{U9q_?LB$Ts2z_ zETAbF9%gZoQpTflD7Y%YOW@?3Y=6&M&r8{}Dri{DT33-ABRM{q?^11Q(A(e6$HRrK z&>RmgKi@RIFq4TfnNw6HZUa&y{(>mIMh*vDWwpty@XDQ}%Y z4**=T(?F2G9AIXswt&Nont@U}q02D9s(`y3l|o1v#Rf?lcgm>J#>K<2z7R2+3kdo1|M6!5#)RO85AbdS``PJO#My~{$H}E97ibQ0LZe%`l zp4j&}_2!%BRW-)qFC5(3wY%Ee$0&?Q&dsun9BvJ7tZcJOebqut)ZkZVISi57(sOJEB4r*mQ`fDHK+e`^@)UsMu zh$CV>3#wMmINWdk8pYN;H8+zD)KS=3Ng*uvAoyUbM|EuRvg1^vXtK%o1I5jVaC;o zyr+z6@y#)8mR`KKr2Wd~cMlv39;_+hGwTC`Qy5} zj^Z?PJ;VY0oZ~?6lZ}SMe)X$-XB;N3SCcx$+BKwi`ZZep;Z4j7i3E7cs3T%G1OdPx z5-El}+;_@lc=B>pE-t#A%=Y&N)h@}oGBDC~uK`CaK|O~%?^?D=C7ag?tGlmmq;@Gi zxUh=T#j~@PEhZMxsD38b-I$F;fx3~l_0P)Acg<_Ze0qmm^*B0WM{FZ8i6r~d#)nBz zISYf0M`7u?&h?pv%b)ma*&cr8;^y}8WV$M^$N*(w2Xl<~z#iH3uF^?09Qn7DN#G0f z_cJeqsG&@U1bltFds1)5livr~#p4}Xl|kfpaz|m$wrXW`vzLFR+S@cmq(o^6-9`!Z z99KN8bjC*Ygxjka*t#BKZT9bu;nXT=e zEUc$Glmm`^YKwpf*o>Ziy{I6JjB&QqL{3r403j!lfw#_s2=NT;aun~78z7p~CeF=q3@NC_(dSEk)SOyh z)HF-Qmjrp2<5y;x*=2>YfC1e_UMh1EWl7X5 zqXg}OcKK6U=*OFz?MgO`LAofma|lIjs1#ASHw?%L7oCd-0pFgZNeUn!6KIr!WDuU}^%w6u;nJkkM%U@?yBPt-1Czgrw}Cfl7)>x&tb3?*K&5ot?AwA{Q^Rvnn0)qT0@Kq~Y&Z^_|;vy4NM%-d&Un5snz~f`2o5?@~$Z%GVz8CF$@9*lL#K zl~r}lrN-xe-M#CsI?De5PFeo|9zNXIQ!$K>G2v^aW=VigaZN9_tA@lcD*iCIIOnxyc9(}1DCL=D@Pu)!ht5wQ0iElux@Jwri&!oqWf8`O zmu4#`KNFv&X4zIYyGX7cSQ!*@avL?D#9e|UlS`>7jt8Yxr>is&$uzo~13PX_XS=A) zx{gX%U0vVFdLcyCFs$r$E3}%%lVr*><0BwWe5gUcjtO4tgqq-$Kz|KWk~a7eTD&tGr8#2gq&7Ce*nBH7qUXc5Pm!1N4UJe+)FH=$0=5h$}ya8l30z0aqGQKEShVp$(Jwpo}SAqjOr>CVFn-QLwhP5R1FOl1Vm~NLXeh{$hQq`CHUa89QOMlG-McSm9X}&}eIgCqdux z^4Y-l6}v6riDc$C+uKRgEG{qRGNt6PkpOlINXYXM!l>K6PH|YaXOxqsJvo$%&BI~IA_He5PsO@C&AqWW6oZ*z8F9V8` z9~u3v%YX2-oY!|3ay^^|?)15M=3$uPJF(Ia;%{@sT)brGh?92l%cpLrXO!IBw8djq zlfa)U>f2zqZdpZCBCBX=?&RkXglRsmd_&%^_T>u`S_o&Q1Z}027+)IF}!H{{Uw`?7pLYuTh>$ zI2JWlzqoZtBUB6F+lFTHbCuXH%N&~LWS0GZ{cm>3_Ih|78>Yz=fueS~4#pV5pE1IO z)PE8U$Q{qUOT6;h@r=`kw@TBk*a;lC-B_~~!R4D7EZND$bhFbl?2S>FBnL7)jp7sO zzDPdX{OerrZ2k_39Y&VRY#FfF^8Wyssa76{@+@eoGN5VzV5s@=@D(^-+xmU%@O2?; zaQ;wAhHggx0F?TBR&FxQ#-+0Ay$a4FC>?>$aKQfc%T9&KaTce6{{RZ^qm3=?{k`d{ z+&>gq%8076I=)-6&%&+c8yg3M+N4@obSzL12;QnB{yb-FRrHC#7$di82qLN}j{NUb zLnf^5Ms@^jMFfw-+?LJ-K?G-f=OU;Xa6NXYq?mziWkD)7_|-;P2@-^na7TQ9gPPJ+ zg6^y~$ox2{7bN?r1qpNI&*k`!ja?$jtiw8kDcgO{Xa$W_61fEWP(})a`MZs=im1+Y zXUrG_u)zfWm97xw<80)5_o%2kokli48X`wHJ*cVEkxhd}C}c(kg`81G0;{08GCXGtF+}GaGOau z#&L}8nt4OUu9ngT^C>-v2XJayx;yUp!wCsfu~IWx@?RAhh<^=6!?t*>Pqeq46(c-n zCNkc@Vy_i0;B61M8;)>)dL62f$E$9A2&JjQ^2VfbgY8LH!XDpVNl&(8M0GfE@*hbXyLh6onpxT?U8MdKu^P1Fes;!d%Pw9LJ=RYBy#&2N&emAqh^v=uxsDvU{{VWk z9I~5YZnVw5S*ku-t&)Vba8zB62y(93Z$EEtXx%Xi16C6aP#+Uuc;2t+V0!ns?u z(=3h%%bWpKYn?Y+v4%xQoCOCM2ajs$Ft?UGz4LY*kNid9T&!z zQ8@#UIUg#Twt)5RVa#6;pB-=}C>+Wq3Nsi;H-KlQd>90bN}D zNA#(9t#;_e04mDP&8&^U#Z89BBxK#lB;z1|PSq&EYj5S2B_Ohsx!p+gt>t~B>AEP; zrlSsmc?W#fD7lV2?HZi>QA{Un3W%^6sDrfvUL299Z+h0%mQ?}30~k2TtqYNnfO36J zMFtjp@$#n82G}kOdT~vKkg86F=bZlldZ>{g5wO#eqszAB(yE1&NF-pzw3W~D=b9o6 z(MN+A05AX^SbJiow!0+WN2gOZk(_-h>ZajsEK*D^1GIB;q?ev?iNUZR$lsmuJ~R#aL#h-HRSg;&_KmX z$GaSUBixZ(wI#MX?%5+}PwDWOo_m>ms0PC-yPjLxv6feQjbn_~>Td6$M3xI!OU)R; zB;`_0|0n!zo?qFke}SCcLRjFG2LuGr_&uBE%4ncb6Bie8=f zgX3Ds9Pq;43jO2A5=?ECzz4bS$9m~9vx?2ecDF?lTiwX*8{c&Tzyxp+0LBXv+haQq z@KpIZpHRcQ_UOZJ3S5aV?^gO~V#H%kAcaOS*lcUgM;STy#bVp7V>KF+o>=8xoi9?F z<=#uXw~SmxJi}Z^apekocHE3{fm+^E9d$ZqQ+s2A-TH@Ei|!6Bq>e)>Pdk!vt8$6+ z{5zj7HLHAa{z)adaJuzhxb+mYhS^QNx5c<8#B$4_neoFBxEpLnDdTQFTjcVSEf;GY z`lPl{tjhqDOQj0xM;?v(AMjHvFY=}`^kvUa>b*h-46@3g`QnGlC2{7`S+`;_zy}z` zOmfE_mg8@0^_eaDcS^9b>2f5=aVrV(*oZmE2^U@wW$TeKWOc$x>SyZLJKa8S?Xi@)-XB0jA9~ecm7< zf+#};B5-LB;!(hANHiHV+@X7FrkY`kB$ETFdT1Mk(z8i zA^@_osw-<CIKp9G|TPNy*60+))s!H`TQ_>g!8}euXN%Rx}G!$dDGBfQ|Et!GX z>^`+nZ>u|d3{+J=`F(1lr9j`esGyMZdzG3 za%+fqZ-+oO&myL$aeCmk0lmI8r0ijp0DKRW<}k zolHVEWc7^vSCdvib6fFaYm3+zVM)($MNL?Pt z@CE!SShjz|zODY#3?mY2pty?HD8AGhMKg9^A6tT`6<+K)tb$O!8dm7*}j4 zJ@J87eA>G7W$}BBcAW&gQ2p-Vh*6&b5F)9^2f3_V{-b^y?wJqS9+-^G%OskcIA`Lm z`LbqwSjPBzFHeN!ZR7dxisy66w=s~};kUPl5UU@dJbfxlYS`r8U39r^(ZfmAKd;TtYcv-xj8sWp-$@gy-I2p2$vt;Aay>fBO%gOe({xAIID!qX_R&Cc! z<2T!Qh3B1Zt&=&}V_{g{rt5mP>NH&RIY7hQpl;z8Z>>r4Pf)lpU0A)lub2fRW+$Ih z?OiduV$D{oID97xWkMTpTOzTQ+j2YBw<%_%3_A^pU5CoJ*|%AAY@J75NM>Yn<~RdC zI(VB8)Dm>U;3o$Mnt157&XV1rR=9#d@0{VHAEE7AmwZ+)@#Z=f7cR*gOmdme;Q;(A zIY#An?cql&GB2ER!y`W1{{WoVJ5{l8Qy5{N%6F`av}A@*3W9OZ?Nt?u-aC2AFPC20 zM|xYhaBR%Vx>II6A4+3B(O9I_h0a)PaZ5BD2Gx-m8nfPl8NfK-HFRl1C@cKF#;%l% zw1-Lz`kJA^7Bt^~+M<;AIM{4G1zjNmeQbBCAiA&N&VDrlSmfgb505ob0re4&mV41u zk|4~aZb8oU+A>RLjIdmWIU=>R()REO;|-_G0U7RUTe3Ar67J8z?NLrvML<;Naxsn# z6;_-QLghg_`_L{)KNd#EwGl*IqiJ0r?Vi*XXroon;y&~WSqK^iaqm?W8O}l9oKOtJ z6S+S05Y3&*JJ2o8tSAKfW~fohr{Vzeb3w=J0!Cz>5UVOSbpyE{rFFv2tCn*261M_7 z86vozdxFCyfz*T^%k`|;{J4!v{CTWqc&rr`*r-xJi22WceTTJcoV#cJdJ{m?Mq~Eun>UU=AssjY+H0u5~paQEAx~MyEfB?_T?Om~w zWB78m+_-1C>Q5x_rMQ$bNR1YvOo-%R&KtQqlklrCLYYXb|7hnFWX;hFLgMa|s>0d$XS9s-b{)VnHAA8fs zO?8^-rN27?I8yjs8ODwj4UTeh0rafQytte%j=8**H&C~;kzRk?(G=rjB_WTS{ay___kf_!t?+G3i?InDN^?x1Nu*Hk~rmy@LJX z`S4?vfhxJ#i)0Qt_~NEk=YN+?NimUsEx=Q4l6umtEJ{~TUORN z40kd_*2|}8;!Q}bJBrTr$8GC;x=?gHVZ8)k^YyAJkOu=4MfNHv23&7RN&yVJoD<%P5Afe7@R9VVY0{*5w&3n5vq82R zXcmcpT>k*>1tUJ2{--qF*F`$HBe$DB3apS!$^doPp7nS+XOY2>vSHh?#&NxBB{@7? z>SLu(J5(0|kA40e(`J^^bAq^`q!FF5?NloS9r9?JNsU-8axuea7&KK|D%c&zZ(2l7 z2=>iWLmvtuY@72_i7BZuU7d9gjtxyN%?_&|E_5%WR(aC!rRZTY z1RB(w@5joug_`9v{02pmBBx?SH>!6DOoOF{k~Rc)t67|Iv0zlA9gnR=W}m|#DNL~X zR;J41xW&OtpT)5pS9#OVc*s01B_u2F#-WPN_-@Wkis7xl7Fz>#Ki{=xyN~hjOqWw)>GvywFGjVT{ zuMBIQ$|x8g-n^Vwx0u=Ct=I-d4YtxtxgRQ>F19aaUYTg}62(z-g-xnsJg$=~;~a~5 z&GgFGH)>ev6RaN|IW_&KGxUv~Wrf+UA6p&5d**Cw&$=HBw$T6=Vn)=Rb#FgeTPQS|1qEt65JCih3)Wscw~ z29ypP6!DfGS8k=8k1OZy`Nre}f_^oNHSN+@a?;pp$W0}(a!yG4*DG6)_k!L`B$#H# z+noIAx@sL5iYUS;F1%oj57MB}fv~&)dvj4v&Xw(te$+~^ZL&s4>^Z2FA$JbI2K|LU z2va)9Lk+;%wI!Scsuj2%86#if1m_j2c;u5+tO7S?$@J}9)kk~{n`U&_e|+!3L;2#AQ%qcBmCI5}OQdRVso_QGi&J z+Y}c-+hh@e!Jw(*Jd%BAF09zWU6g#N6wFGUMuRh-L*ErqC_p>l&|k+^Qcg>I0kssD zVW%UO877EXlR58!=|G7j3cK!o>Z6g=x`*(dEQC66Hs|Nsx?_(nd1S4lT=dpOv~ccD z;wIFt2pzi}>Se6ETz8KUgD3ixtafhE#OoP(GqK-_m|f$uE-r*~U39nwv1@p) zW{3utPn?s3g~sE`aDTqTI+@}e(LtuC8oE4A{Rh)da1|a!6yc_Fy8iD zwXFoSym$!)<{M;R7HJ%ob~xOgz;A*6^xi++HGknmiqbnc?ji$NAz(v*X5R-+cG&$X zZdU4&NjDoUhmq`Zl3kjTJED-eNz8bN+thWl;K!m)QcYFT?S?ditko(Ymy8fQWp|S0paovyeZ%bf3c= zGk=y_KI9};=#C>Xg+3xW43^0NsUJ*}fO0T7tm4&aOQ(aUg_L+utSzL32xL|`%dy`+ zTnv2bYn~12a_1^ZHm26a#(3^MN5Fb|R``s&y(7U+uzGlMv@l};sQbf+6*%&9B z&@Es(0)+%A<&I5VhTKKrBw%0?HDer89!tXvp`tpFZ=8@j*Ga3}o!sd3B33TDEAj_p z-m_-AYF+YnJ62jPwmkDy0FWHxw#RA-z}WWqP#QoZ2V+f%$x?DX@+csv$i+5kL#YR- zstoQ5`u-nUg1%W7QQZq;9oPtU(-Rtf^U^8KlOf zDgn-R&1-TqcGA0NpMk8jN?NLtGUQ~O6P#z#uFqyB5p?bpY%@eiWo#XZJQ}DBVVfXe z(`Jig^#^aIU7A#97&!M7L<}x*w|p9koDSbgy8+mCpjja7M&6V~aHkgsC_?F`$O=7XSc8cqfW*a=Kj+ z=-gUFp4=XO)x!Uu<`+Mr$aUSmq@y+fc1*U9&Fw zW||j~$s=*xoMyEwk((`C=nyng_dIt8<5}l>jm>LSk#0@0lqhCaB%MH3^|wFuVK_U@W*#B)82xeXYZ%O;<*USTOi9sIzUu5dvoF zyNv8vwl&urB)mCgmCADJ^bV8Mt{x_ATH6DwEODrN4ozd^&l&lyzaANT>Fuqq))C;W zZ=nXv2bXH{TzAXAlSDmI+G0XXt&YUtkCCOu!dZGfShqdbdH>xO51xqoP85KE{wBVmQqa0k6~_@>-`ORD0fq_ei` zAkH#M?nkiZyLm|G7)F=lthmDrqT6*M1j_;N?jwMtVV$x_U?B%akP zE1oJ0^AQA2VolEE0nKk7ZzbXp(<6}TxNNGvaD;9vUnTUDrq)8on&&H9FG2Derm9-E9WA>>6${b^pRaGFOZ?yz?lnRg%NCt?fiH12G z8VZnFO#T`RkVB2~KA51Z9Y-W$gE?l_amIP7h-|svJJ4Mr(nB0%dQ)QT*x2u%T8g7G zfw2SEBbo{(qH=Z~)lrsb^O3%qs8hcC1L=%VP|2N%_=*TDbg>%%KD9te(lO~!EjcW5 zPaD+%8)PWSs5m`rMqtYYG6Utsb;Emd&P_QsmlMYNV|NlJ;|CZW^IdY0&l`Gd4JT13 znzcH&kwW>7Pdj>6IK{jCoeR5|k3^59C}x{EmSju@-(l~MTE;T@c{i2*J}oxZ_V>7i zkcKc6tcL`-8xHy0dt51ATFGV<+BP)iwC~ zopg+P>c}|T82ziC{W4xQ-0s-NbQ%e~S#AvSg&KmBtZErJ$=h@O8r0@+&EoE>aLM8- z2#gRsxC8*M(fR^@e0QrhT{_d<&D6wJw)T3Vl79_#saS#K6!&9*PEH2(%Na42$R zKp5k`*x*#xj9L7vTs<}8m=hYLf0>kJNjU@q&TBUGglUC6o3*5;ELR4scIc0lZH%TSn_?T znU8HgAk~BAZov1fHk|;B_Qu}y*`P2~k=RgG4#ik}y(*$vcV5}4wNbK)PB=IuP(ajM z%f5E1Ahzb0TwNxw#&N6+fh+H$A z9OIe^$pnh1uj1TqL{X0#j`{80sG|d&&cNf^kWm$e%Gnv)+O*3+Y!ZKZilI7*-xX0t z8kZ32IyOJwb#%9vl(o~My)C!b<3o*gL%@v+InK&_$qa0^7Y)Mljv8x7l3O&vRCe(v; ziuf79Y-Daeb#%_+$#RU$17{oH4h1z<7;sp5hp6?aBRaqYfN{kR)GN+LG0xRcvT*uN zHyj!ZCB%RRNisbS;-`#V(LAYf8!nA4!5ymOEG?EX#S=uMe||Qt+q&nDI$iSLiv)aj zsT!y-sTmo-?NeruQA+N<`6D$(Ss=+SjijCN=~~-1GQ1exMhZ?(lx%BKv#+vq;hl*D zeqmR%=p-gzG7wyL;->U#e4F50fA+`!0F_O~wO+2p zyw^GL{{S3bxrM*V_O#tT<|lV|h7@JrK-qnTXUZC{J$W77xGfwqEHV!)*z&mb&o$m^ zxZTCz#lJK#F=EbEOBA9`%eVdA`2^V36SH&kpBQ~_0s%SP2|o$CzaHC2(3~@ z4AQ2y{Q5F;>`ij=b?|g8Efy?=mRHnrOTJ00+_ti4#<)e)h1E_rz{n%|(@5m?8Lw@M zm!2r$3#&6D0DEI&oYzcbu6bK3F79q^x@dCnxOKpd6o)?fJXM&>k)BpZFQoKaex)bg zCYD(nUY#vM0HmZseUmFjN0hT%2dIf20=N$f&3=bT8ej`O! z#L3RY(G+b>w%pK20ePT>BRCk?&{f@3oE#ibBUxq#kyR1CtelTgL1N)o%Z$_+WGn_q z9@RntZ&6hWGGVd%iU~3TjlKZDprhTZwiU25jANgbG;Eo#B8^ywQb(cAD#=rBUB_IQ zu0Zh9Iy}2)-22x_gBLd*NoStq9Zcl6mwx%}T{R?f-L=%R=@CcZ&2=J(<|H}{>Lhm0 z7|%aS=azQy9WlaAY2~F6%CU&zRmkxZ3gB=-AQO+LHJ%z`l&m(+L*ao_fKEpIf`5K1 zQ+Bg>jXgf*-dn4acXe?QF_99g=S~PL+ zhF!1=ZoPpc8+NT_ma*nDjy&+z-Bhi@o2Zbx?&Pjilbt|&41zr?J{)k@m)fss_q#_; zBHg0^OXSjYj15B@?SY*0&w5O?OE&;ix$01VriPjol^SP^V3)>pschtu2R^&i>l@|T zcX(-=pp63dX_DluGD$E=KnUE%fOF1uWB>=HXB_u+I9rdp$!~KvQi9*_1y)Nr8aQE% z3ZX5?RveyoCbgC`9n5{EHsv==n3*In%L$#tWg?0qRU#uEeIvg)&wgr78m!Tzvq)r+ zt49t2mP`oLd^peV*c#VdMt?P>CGn%2#?Lfy9i^3Y#sNEFc{`Knaar-zi{-uP*0$-d zb72lf5SRx(C5AeATVLaUr81Z|9do|SbiH+8qB z>Gv+lnegG15bKPx<7OWp>0GWqP0LNVwNY;JqiXRnoVN>~%kRz&Om8|{IND5Xh7d__ z5NvoUfu4Oi=Cp@y1^~gw=BTEqz^EW@P6bpnU_j64bkz2&Qc7Awo(~n$MmAGnoU0tF zjrR58sv4N%NdvGW6`NYp=Yzg6QCZ}jU~e#d9hX4K&pcJu(|TIoUlDvpQlOKuTpV^J zcBx{|wa!atImzeNfF~*lBw~WYW*GFKqk*V0rm+rHw0jELKn2R-Tpn0N9>$UB82_Nt1viaBK?;z!n~OtHz~FbYUMha^&V7MN(W z69W1CMSl;qR1Faa%me4t0aXfcvC3L#ilEzAJ5%~8a#^Oec$}y{hOEf4dQ3ouG035a z;QG|RXW-_A0g9>rga|_sQOZ zuNI@Q83&W_?N?$7IxcjMcf|yD^9q8bX*}Tm^c5tA&I0=HwNjSR0!cxPn!8OiJO?BI zLH8Wiw$7_Dw}_L5Wh1ctcCBu+q9hFiY2%xmC4hi%X-y1QTu2x*H9Xd&G9j8QFdF5FOU|~>w z0*-TB?cQ6CnRTZ$T;ToM+8`usk>Ve~pkx3Cb6T_AXMUVpuCDXkPQ5x3BRgtkCChdP zdg(qrPvqt2Zv0+iXs#n-w=BiAZme^IUXDFD^X+Rmu1u>Xv~0yrRE64?T~)_&?mJyA zy1m8w7I|6MVsWyMLE5?HFp<*>m9JT2ZGCitIG-SF(y`cjpO3Y0x}3W6r*hAyMPsSj zLo}y-Z~1ZQ>0ItxSmgCPt5=vbflDdMhFp?;g>=SQ(>BeylS6aW9ZL;=VHAB8{|u6D%P#-bx4s-W-B z6jd3*oK;q7W&yP9ekQJm1FZEJ;85!NqzCYxF`8KLK2CPScv~h@Hon6d3Qn>0H`eN0JUQs&GqZG#UaG#z{Ef zVy4q*(j}9ABX6n4`_rg~;-V&k4FphAS;la2nz~RWK%kb~)zPKZgD#=PWeJv6B!oDv zNYNS#9A}>OMNA-&xzBnFlYxQ1r2?Fcak=!ODgX<=r!-V4$p(RJ?4*u;J?Mq6nTXFk zP+YD#6c@n8)Dh*uW9A<8328yjoQeeyPnnHWMvS&KVD_Mr-Wu$~R(Plo(q%{kB=TyE zts@>=oa};;rLZyf~31)$Qpq!=;JcbASzYy2lp@yt3ju_TOi^i@Iw_;Su0zT!J>+&EFNm z{Fu8;GHJSwD_J16n)4HdBg!%XKeWtnf>dfy5Y`E^4(_(L)X&MXp&`-Rizq==TiAlo(}jQKb>OV z;keZQ0BsX}X4bt%S>w2d2Y8qSL6u1N8UY>gvESCWF7cAHty`pBSzV!fX}m(o8JNQI z?AQZQTnuCbzrv)-cNWXlKcL4w#p78@^T8x!M)JbTtgbdqSpx(SjAwExXJqCsJG@rw zDdA$VT3UEw-Y1JpQIuc~4mJKT;N%>PbH4SPKGz%c*7Gwnv*K1l0zR!I%T6uC2xl@p+OF^dcw{JN)wWcQ3Ev~P#=B4b9PfXZLe|#X{Y;4#d1PY{MSA1H|^Dvpj*!#tAb`#a>5MaJdR3@fjr>+xU9_V>25Oi>L*WtM9}C4 zCQ_g<$X`Q)-vvMx5U}?{APQ%)@ zjPj+rjt@+gu5RUW(nwjhW&r#^1HW8@u+MFe!}hM0YB|fg^rGI_x*4NZP(vZugg)Kz zkPpVWa_PZB+B;iCk0c)x_(DWpysC*WWb1XW;!m#4g_tg-^nu z;rFVE!N+q!5-^M*QhcE57 zHH&uMw7CSf50unYGL<_Fk6Nfps5m-FBa9po@St0?i4kMw#~N29hi{!!+VIMESr8=3`}vca>b+;Q`*Z4~|_ zZgl`b*n#=IK6N{S{up*w$smo0?@>l@%)jBGOJU_BJ@Z;bG7_4*)kR4Me%+|3IA2}Q zr2>w!4#fWeN+QE$7~kPRE9+Da6yy*nD7tb;8-unegCLCi&{Xg1R8g|MxA;*MJnhX; zwq|YOI0v4_pW1 `S7wixFpx6ZD`h}1S>!@UF`AQWTYZ1ai`nQYFV;7AkENXnn> zT9@rL^vLNvcoJX~8!#W*uMF~JH(3~&Sr~W4OFougu%TVU>kNPCJp8D3XmpSe4sp&q zRMwY!Dsbcs4aN?yPlZ^N?oc*zr_!RA><=A|^-!nM&7=lTmepZZ2-wFsqAE_2mIMRe z9MIaJ;Fm$ZJ8?x)LE;@ux`(#aX9;;NpiM#c$n_XCcT+{l7N*XlpFlD4#a)&U20!Fa z{{RY`tEawut4m~Sncu}?29kW_djVcKE#f_P%z32!{^Cz64+<6B1wLl@`c}MTP1-Es z0orwfSmu#R_>u$V_w=ci<3yiKqQ=pDNQ22dj&(eUa9sPh^sR38%#)~H?V#zlQq3%4 z-9mvHqhP51^(J0dP`}1<^Alb4-wjQriMSx*M`3~S$M>%D9KGE+TaT#p9R~92skpXV zTw4XhFb7Y=YUQ3Y9(L`8xpwu-VQU-spO+g(Fcf@+aoua%N;ddJ3J1svgOSy*3?Rq< z05G=rQ-fV_$9%DtT5`HQh09GP)yxP?hd;zRw(JQttn-@GFviZ_kH@x-Frq#C1siAD zxbo=L1di#FnkrUqj0aA4`q2*?w3;y^q#n_4a~GoSER z3ha8|xn4q@ME1|6MnkhR=uNiCImSK|5E)`dV-qM-&U2r7y@sP}T$L;FtfIu?flV@o z3!TkfE|%6bx@{+j89r>nQ_G8CSS9?1?G)*hZHZ+8UoCG9y^~b(_Yo_G9GplDVhe@%x>G715E~y!tR&sXidsNEI zml5ouQ>ypD+cfB1Rdj;e(N)wO<2XFv>~TaKoPM+n)KL|I%DK~@ zLVMG*dM0%nXLXO?V_L;5F4*caGhqi~$Tf0IREgVL4J7Ex5>7_-Y)MVP-?n?6#Fe)m#y8}eptiXOI*i{Ch_4c4tv4?LF4w(X#R`ksQ;(>sCr?z^fqIQL}lkq84$mD_urq@*x zk!n%%md;7eGfByKFix^CQZP>A(x$X;Y0icv8;@T902+1!C=HUB2e{mSwGE_!mdO6p z6(D1^1QF;+KGX_yCG~Pg%Bm>9js_3Hil+l40uQZJRgM@D#`zwD+K2Rw3;zJ!PyYZq zyB^-!%ca?6)bIJVwsZZ>c&=Gjw^B7mUf^kh-$G}37zGF6-}I+lr)JG&CXYmtutCU= zZ2M&IQ_EDi?6DBG&w(1o0LFPgT3c^x)5>+rJI=d!mbU9VB8-wSsh?8E`d6dlvkAKM z=Z((lG+2F$x3i2jS$ zG%?@+S-S-pG?54*=4|RE2l9jFKiaj#PJNh`aq8Vb9mgd6O=opHVd31~{nYd5}08}{6 zNjTfsS3UY|qxcq4lW@wYNoFT==r{GL&RrXlIni1UyMEU*z{_X`6tVL;$<8ynkA^FD z_)SjS86;=jbMYY0<^2!jVY3H{myrytjuL?0DLHicyY!+BU5If+Kn!z#&#PT zx*)-72?<3+fkp=2^hJL!r2^efHmWecP_>Tp?y_9Ovk{*RxCh(+02Ma|g=J8ABz~1e zRH@(NlSE%3hing8DjD!`qzrn{ES*d;NIw3QMO{J@{t5~#Yrb|phc!^Pl_DGN+#U!Y z-h(fk)wj1AT0l_3x>`v9Ay*@SIX^1na&?p1{X+8LKJ6W=#_<&bAb^0~wG;dM z)W;dl*DS9ZV}jk~TY?@@D==6WMxh{VhtH-459wRCrX;+!7P5+ExhM)eF5#k;i$K9L z6pld$x&D=oZw+zVB45cAa$Zj;GZUp*&hm_GNXKEQWb>-E<1N%p@w(=R4WkW$FfotP zx-i{luQaOyB$3AC=s*mCHuD`jp4*zmy5+g_?Aps|(=J8a7YTQ3ZRMPl8UnU6rya&J zHD}~&m6t9rZBOIO=$o16S&h}q;xD?&CALINAz}lCEJojy<9urGTatA>rTnYW=2&CA z>bKEGsdu8>L>DiXV#ZDLsQ35d(wYANEn|*!Fwj8Xz-~h4y9eP3JeXn$tQn^toXIJu88Phnt=r5j{32_K2^uJ zPi-->w1gMQCvj4!jzWZ?<2heyP)y5$gk+9D9jPKvphh>wrr*oI6zy5=0Wg{L`Ijs} z^c>^fwL8;4l~XR5?0;W+9hs*};B7?!f-))!ohN=s+NhEExaNp*09Cc@gL96?rB)l) zE}2uX=ia(t#zk03svi+?xyF7KbDZfgyf!Y7r*3Nvp_Bqg9{#maQb^$M=x88MRE1)PJ=VM{u5Ea;LvzRT(9HN>(<;4&CaZQ0HDWjmF@N=B;LSbaApu zG~qVrjO=kyS?9GAFeIN{yVj-BSk5h;HvStQU_jcg+18gX>H@i6 zh^VT{Te9Syz~^c~M0Z6Xrrm~rYPv{9a~QXM>6bNg2lf03s^HD@p$Vqv=;;+QN_{36*uYCrf_#^sf!u+cn!{Qoh=TkT=G2 zQFcJ;(L9eD%Yvu!jYhTOS@PMxc4^@cJdU9519HRR+v!t!=+V2&7lflRgSjH7y{~4) zr4HMk-|aS_fy93k*iZqOwima0pke0&A&+_@!+c{KcRlDQO0X(^ zbOAy2+)zmyWZ+_eAv2X+fwc#l>z9{Sk}k5z3jzm(GJbX6 zgzPZP**NvjtxT?4)=gt3zl*hJX(BGGiB?BDWmf|p)ymoFzwM?-)kdP&1Aut?R2=&| zE4jLXxW8`_DAb5iyBz*3aqz9>l-99gOWkx(C}0nlP6wbq)tb7kJDK6)qB;7ri)b)Y5)ddjFNwBcdX2Q)mun$5=n6WbIPZGYL@*q=`jn5 z?%9TsZhtpn>^*AnBQtw+10-Vzek^%4l_-;v8;~lfP{*Bssv0)CuKoS1a#n4T z#1}6-pTh(ua0?9Ly6aKPdqf4^VH9lI2_>}bbC24Wu2OfX^gVERUKO0J6h;`_VPI|xr=Qtj14vDmPZ>c2|U`E+uJYC(xsE#CBCE6^x5U!+0$ zI^$W=bqp6t{5#|vjq%#J+2x+4b(dK3<^f?Giq>-CSX0G}xBmWHI*2L>#xsMq!yMN4 zmHz-{WRs?u;kv!CirQ!l*D}a-2*UV}5KUMef$njW#Y}9*?sU0JW~;qvVAI)JM}D!T z;y^%n)B>xGv+e=k=e=^dYTb0+t=9W0@<|?eptW+zB88Vh%Cdosjo1;m9QLhAB;8MZ zHMdQUJ8O91k65>TN(S0V7~BfX%XZuCuNfqD?Nx*^>nd3T1wNqGYf#kzW!wX(XE^;T z`UJ`eI$4KsLF4;Wg-{v5!xV1W!3M7YEhyj0PDa?k$HtmAt2FJXvM!vAC%4CnaB`6% zgMu`k!M32fkVbotT7WwmqOPn#Dnj6LMFc501&(Nk!bFQAobJ31cBxf~lsA;+j&Y9l zz3G+(FJo}bxoD3m@9SN7$~p6mbkr`%N)AmHO{&{T{Ks0LubY0d`U3JM*)YKUy9&UxB^)kH%$`p{7BK;&Y87z5?{ zRS_6r5(DY<9feP4pvLd~&g5~Lvgo|AO$)5pjg-bn{J(~`FWVMh zN)-Z4Q8^4h661W+`x?+Bk*lsScq6y1Wu)YX86<z;CutsC zN(_840F%EQcCE%MfotN)I2>erYD=}V zUYa@#1Mjd*(jf*=x>%kzIQj4@e7E@NemTzF8`S>*SNm0S6~0BZWIVFEWQ7E3+qlne z^^AXq$2Z#F<(>Lc>ft}vmkO|`ZvZ_0b)Pxa;t+9?2;&=VNi~6P^J1QNSsFEhOBo69 z^v5Qsebtncq<>nv_uu~J{dNBUvjwH3*K8z-O6nz-d}si3>;V4N(<>)zNpDWglv-nT zl0z<_Fc|I!`TiQ?m378(%d+2Nt-sSGk_&MCOm7lK{uoyG$-y9R=y6$}Ew`SGu##?e z#dG$K;cO*Ks0ZI*i^ONQPvA;2xDu%Z1GyO^0OGekDKg`){aEwkp4b{A(>~R=i!@dI9285ld%07fgTIRI`wYV6V(ffyT)-hw^{6;WPJ7y>E^t-MR-0FL`H zrqyj3+~l8gK{Cct%0`c8UDp)H{kcom4A#@E_QA>Df;|muENrQb+&UI4z~C->W~EqB zAfxzzVIcG&vRK@1obBX3bv4Loi5agm=&imMLv6h3T_ zM$`*f-5Iet73EQY?Ir6N`kp;>B!C~A>=@DtwRt2-2&8^bsK075Enkx(;PCaWt5B`>NC#TLMYE06J0zcbN$O&!^|0VNWAU< z&2zeLZE>kV4xp(gBst*JQ`z#_Cm#cfk)oAj2k-*Jmeajm)^!(So_}oAR1NTVpq5ep z0E#M%pl`m^LIP`IYowhU!lW-I^54g<&PNiYy!*jO=wY1V* z!sI+m-s%QLB2u7VIaQc|Kbe1ewIS`SIMt^o{MxeBTLnnLBv3;#gR3NVIUH3gGl76M zG(u&7IP#oTl{C)w^5aio+ak5NmJ(wm?7;TU2{lllS#TdLia|LZ^iRWJk!3iK@cVyi z&YIdEY>!H+%^ZWrWet(oV{e68&$AvT$aOd)aZ_ra5?|#10Q!YZPqp28%ezQjn|<-- zD}ny?<(2BnIrjERsCYoCBN8x4&u&ljtz4Or)`A0!kT4GbRvT+nG7vj@R8s;I$>aRq zh`3KK066XHXsfXZ26^?U6veVY8`VG?A0KKegzb!a|#=KdO-PCIsEyh$A0Av%H#oj-(nd`)uI)}1#uxNW`d&CKgNTC_nF`H9Znl`b-I zvR(71T|X-fwypu~wP2^zWk+moD#oN^lD) znB=pQmM7me+9hpPIlm6bDbLrvYYlNenah0Nw!WVv-xhl)7l;m`&k<=3}I@0qO;Bj+y7Tq_q+>3lIMQQY5Y7#*v$NRF*oFsmVDf z8Qa*3D|)j?yeCQF{x!}!PHy2mH>MaM%2nc<@H z4G|1M*bayM>pd8@S07&+U%^#p|5iYe<4lP8h}D?3so)G(?P08Zw$ z5|YxYCJca@x<+Ek=Pbh>g14r7JIu%jnETdLMzgP#P=Utux+ctPX&Fwl@~rMItz|Zg z8|qa6`ikl0wtRFYnWJ7<)RSedE#Fd?SyFcNHQyW~mRXl+ZTGjyok#s3?^i6mS;l!+ zZrDs4%ZjH{>{fOo4oO3GVQo>s<4EGQi#=U}JM(iNS6d;*LI7|sZ-GGLei zq`t3WaZ^jR{8+X#R+t#34VRsvPj@3~r;PLaIqe|Hu1_#g@p*{iD z2w)C)BP3PYXgnl_z~-AY%E)1I2`Q1t8+;9Gwt86{2FH|b#Z3g=C|NZr!=6Ap8r0~a z9#TjI6OQE5Q8u3q{{WItsHWF-?}V!QMv_6OGod8vJJk(R4&AXuT>c!By+C-I4Yuu6Kqa{pMN6vV8=q+Qn@kkHfYx2_Z!Cuwjtn91-q&5zS_=vZKQrizIaL-aROQ z5apN5xzFOyA3g*pNp?h&3Oz5WO8J!$Vq7rlGkYKYG9Dp_$tYa>D>bI5g$8o==ScUsH_nGaZ zTdt&z#gH9HxytwC@@pAo{P?^^vB&uJ+m#$w7X3yWyLnqmvPc<#VyllcZ?;FF--GX4 zws`5CS$63!Q;tZlTH+?OW(u~~7(bP=0}pY48`B<@n})TnSIfUl9Y)Gq3z+(G3-?%& zE<9xbgDD4fJ%Gs=_RVT#Eb{iwtiC>>GsO+V#T~SI3aBKO)LYl}?NVDewyd6=ZkJ)z zts-0ddpm2muyC66J8TXII=&T*t~p&bH;+BHJi)9YJx;#jQOxHRh4 zYrdgB-)D;tEK-1gf`pR6cRq3lus)fq<(E^0@txO6?Z4A(5(ik;%4k*Nn6ju@8BTnp zHpE~Z!1H4j&R;9PZR=b-#Jx#+jq=hzAa zBo`tUCHzL!lGqtOgO6HZPy&NboP)sPa3$&r=d9`*w-GNOke?RhR1EFh&aK< z$Kh00+i!ZPp9vdwML71TDj`PL=N^QdP)Lq7-B4uvQB%(3@9RWZ98p$dh}XSBvP&ou zU=y&;!nYaQ9FdE*(%b{W?rT#o7A`(bigMbqjBTGuyy2IvFJ@ ztt+>pt#-#d9J0b6Z)mpA>qI)U#EJp=Rx-POY7kCYHXjPX;Qv=&8(=u~zi zbG0?Irhwx}{r zZO?4fP{p={1NzO;L5h%nQjsF083P@Go2WIDvYV1(iv29~Zd^x9-HBzxVCz)A(B7;1L>Ie$> z_BFYtDFLI9g_JNOjZ1@C)tx5iRevOERFKF&n;TYnUXG7OfrHIT)ae^)8ytSr4A27Z zX|k#iG5K*s?FUFdp{i|0R{V$SL{XQ@Rz(CKUBywFXpni)N-*OFtf`^`#>6a#VfmEr zSCl@g)T`;9Y4pVGjJi;Hi9A-KTJu+5Xbh5Q z4W+|ik`5QwZb`2A{C?bSd+D~@cGP`Ow-uX)Rj({`U8Tg3Jh7QB zVv1v^>5OllNjUjc%1X{R)pxD0qOgpxoo0ltp{Ma5YzpONwbI$HTxmYgFHyfKBr^+K zErP*OF!)CEP0H<48L%u_u%4D?T5E@^<39wFE>bS75rcsBc{Ctu{u% zqgGM~BOs0|EZ)Pg1394>_3DuCT5V!N0>J*X3NvThK9msBcE%_cp^FjNP+Xx?l0fv$ z5oG~DC!gAi2rO`Di-jDp;)<)0pn=UmrW<5c6=qnWX%2L#EKi^tnkP>s)qdW^9jHAr z6XL$cTcyH9o(=)?6Y2G=T)vGwL-h&oI)S^EN4by?X1JV;h3=!WdjVLrsR(F=wd>l( zp`I1mR?g@075L|qy<}Q87d;+W8MRGsD4sRXnS*&)dz|3Y{*~>WkU}G!{L;s;Rc(P@ zGDm!4=}ps#PQ7KezG#($TFL`Lt}-;R%Krdwl~#Wa_t=ZGY1LI8BMQuPvKP)Zai2~5 zR`9C&NnGF!h&9obhH;$t+K7hScA!%^Q_sqPRmk+n;)18}AL~^VAxO_39`p*&n^Eoh znxSs^VcS1iArlb5jn^YPP;z>gRu=IabqZO#gIzGgcW!xSrfXD4E#!vfoqSZvVELGq z^c;WUu3X*|9ww-hsY;B2qfrbVRUgVo!yj`=gsXCIwEHDJ%gEQ0ylO^4P!6N-zhFO6 zS-&iuEcoxWI*qsbMT2z9FBPV_JAyVVp2L#c4}i(LFZSBe;KV*^3* zB)HNz+rAq)I2=^ZE8J@wX0=?tsn(`x#1`w}!k~p>cu|qJ$b9PIgx2b1o$4}MUn^Y1 z&KN@br>`>z9@0d#&7L z)x9{P*7|<1*QBWN2Dw@`IwdW>MtIMEO6$2X)0~#&w&l0}ELSYE#Jry%&fbTE{cD!^ zvC>Xs(8GPAICWdjN={23yNFNVB$vt3xY*~u#<}>lw;QHOZx7lF8w6n?PvS9UDjo3V zHURhY46wj&m3lLl;c{`uQz?tTV-c_yDKx_F;$)Gafeu-a0yOQ8`M~!z#{U2-)?<%t|gy3L+3g=F|{ygNIZ(VJ>zmNR?0L?kc$Nqok{naY9{{Xw0FqX@yVi_a3Oy)Tw3#EY^mHvje zB)Ia=GP)Ml>v$AL1Xj|LKrwjut|RGrb$6@vCyC^dK`ax;az7( z$*o97!Oq$D_0OlqtOtlBP{Si9AbVrAUXf*B;9(qRu^ZG39<)$!H=wS^BaC*SOAzjK z;0m#o(Za5xayyz;+6yyFg&?5d`qR^S}D+0z`b6NQgu&Q3elnQDeT zI8_@8mZ{8i46(o*)KuEsLn~r7&im6WZ0yF%(bpzjBqM3ha5Gt&_SI4-O0G+5&gUkr zsUb4R`n2QARz__vU;RC*p=`sjsucTGO3ORQ2bDEe=9#Ramf3;%V{War z+!~Z_+(ZsF9`%oH5W#XzG3#55(#j0hw#hTv#WIm3VEgy2OswfFm4MjK0WEDYVf>F< z^O<)Xylm>Kx9pN=xQxcY{w_sZha1Ib$?GP#t`u z-wrlt6{c>%26wH@e%Q+`bjxjTEwEWH+F5TUAgm}3n3uM^e#dIoR$eDbj{gAV)KXEu zh(yyibv{3DVO-msGF@Iqt`c*FbA?{VYqkNFkE&NQ7PVig8*=dw=-^#h<`}VC* zRD@L13|aA%GVV$I<&NNIzrVt)l7B3#HrsWNreuag z8^&bS0rJT4>?I?7eNQKvwvuu9bgeo~#rao`KML7FS8>>5Wf?d>3eC!5zB_li7um?| ztrFtq2)uS&>S3KDw%h|;^Z6~hjpK};+ou(!v%5P+j7h_3Tm~MW3dZYlM?^Y>0C8DO zQlunG!oTgq`EU0?V#< zz|V8V1cu6j+i7ldnhKx!tN=J7swl{C2pRRDqiiq-u1W1dl2+0ObH5c)itg%IZQe~N z$TN|h>r!sBZx1gFiGO$!MI~fxW;2FgUCnww*B1}=x^`0Ur`Z_iHqzWP6M;Jz!XCqH z=bzTN>fSc(xjA-WzP9Q@-bs3VU;@&rpw@i524XvMFnKl3%Z~YLa_ffl>kD%F7$`&K z7;JOg`hUG=$4&Wc#GKvE!YJN(0n&8-2=R=9+<#h@Xx}Wi_*8XiM}|}Z2*FjxtfQG>Sm8PmOI9C?;CmRwm$x|^$X`_{Mn)>y?GkkN7( zK?C0z{VP&omOIj0l)Bn%zt%dJQC3UlGnUrHRCzt|>F^aYxMPn-K6du?9Y>+{Nbc=J zbxXNY>HJ&6BCcamvk+5be4Z$j;<39t}M0oVd6bGdq}sjYV$>jco{BX)I}Sq>rugY2MhgX}()(=K^u8Ll3O zrF02lxM`(Di^Ec?s`<+t<%sqf0DIRgv)pvY2c%gNHQ0u4L$Ni_O|LLAB09JshWI@D zRh$%%>Lz3>@W9wsy)*5h31$QgD9=6i?OADaoDc?0K}OgTSYUhA6^>Qcvh9z>OA=Ka zsZs#nImoLLlj3Lv7-!$swfRD#a~#|3hqYVGNyTbosO0aq)rQfEBUPYBQp4d{twwI4 zZ6wFYrycQI!pP2Y-ix)iHskq7tCm}58K$(mAmP9@i;I3rG^_bW1vG7)+a|P%9x96F zh^e5V-;q>QqT;U8Ow%E4t5UOL1lA@@>cwtnrY<`rE&l9v5KqA3wdJ;abnIEqW=zT) zpHg_PIb)}6a@^&)uF?pLY1`F~E0>M8PMgz{ch=fq(JFwfFi$ntAB$YM--Pdepp*I(hTMSA_KEo!g#?s{{V%q8p z#==NO21p?16w4crW;sl{3gTUPT?Yhu;QIdnwM#UzrQ<7W;i%N(7}dp3X1FF$>>QZb zvFCk{%yz9vT3C=|95S{y?!Qjeb*6W-$xVS~0QX;7%SZz);k1E|Zr@sL(=@-smmwJX z;P&`dr!3wQ(jhualr8EArj4q)K?|Ji-kPS;!)(Ub#`=$H8(cozXFm0GC|MP^KUyI2 zowJ$>I)=qj7%FlG{rk{pTXt+e;qQ}K+f5qPQ%aoHbh{y|Y@-!X7@%7y-xX1g;?ztI z=QX*On7Hl8SsvD6pauZ?*L`_M4sou$GKnKrJ7j$;&t|L9jg}e)owlgb%5c0Mew0KU za!47Wq=-O5~|N-RZMSX;1pU{AtOi)w+hrc#5!ML%qWi zBTxq(tbQJ~=hohh$i^-szrNNjrn`;T{$T}U<71Ps1JDEWu9~tlHEX9e^}Ie(r*VK- zV}Zb|V~wq4ln_{4UpRTsgBN5@NcT0Xl*go)+uP9D+Q)4P5#cfI`uo=#ZEEqvW|0Ia z;TfE{)aAKzSF>75drTZvq=}mF`P_Q&^R|-rO#?EB^qesvrSF>R`urKIgr6_~-I*`7aJ% zP4Q-guCWv`5tnAd=lMsuuDR+~G2M=>gTZGMlG`c!(axFVQGj>Y4nB3uE#-OXyk@8I z?bNa9QD1mJdW~jVQIIe+GxsO^S391%Z^m9nQs~Ph6F`?Q3(tnRxgUv#@{d7{f{m$; zTp7FR4!6c93`{**&eOAvd| zGhlemC?P=^&nAN7ZN(J1riv(@S!7t_Ma#(S6e#s1@lbd^yY~HCR6Pt08-sf)>~YV8 zhw*$))hfcoMY!%{3^1jmNo;*6yZmrormf_ zTDwQlzQXl*rRe?z#K{{*;2?GbCAPrNxczIcH-xWJ=T66BHs8Hzl{1sMBW&+MK^Ae_ zx4)kKgvF7-AS1?Lk-DYNIsLBB%#^Q5@-HUlC%A7iQRF`ukN!Bdv!J zG%!cw&!_@Ubf$RQ*0+aytY_B_Bo^-t%fzguOb1g;xGfEo|V%jwdnD{!ZngWy8J#HZV#dL$9nT;mh#)tjylIqg{(I5 z+xSfi!l0bSM&N_ZV%xT)nl9(6!3;v)(nzI}Pb#cuJo@9>rmwSylIu5i>vpy>GskZr zD?E$%vDjzRJlCTPZnrye&dvC|%fk@9cp+fYDuEM&oUZ%|^jpNP5_4Tk3wiGDmca;) zYt<-^Ajnj~49C#mZS$@fSwEN4w444vX!}N%w!J#u);-b~v|Fr*OS+Si#EpR`J7a8n z*8VRmclO80sWg3!tp5P%elJjFonkSABOI_&4g#?_Yz*vp70)|7wTpPm9VPTWm#ccup3mYPn7v`gzipGokU}rZgVp2dE(BR zUv(=Eh*b|dh+ol;6Y0`kM$?OVA|OyiArEv!68RI||% zfIL8~8dl$SU_WZ*ZydVG^y+l}kRW*(q%x>&ofxYRZ*QGuAzHSEeWoMSbAq%s_g@8vvZrC4K36cD&IG;Ej44eF&+J&3^_ zs)%O5-kMF6&5*>Y100S207}vXR9!loEPK-InrOoV+f8A;E+JP~S)Fl{oZ`B1jC1EI-4(heZFHE(Xk7y>!6zQ|m06o{wnjHTl^Q9~ zG8RJKn8!7!&E=j*^tYSJ2EYNit!9Q{k z!AA&4I3}@n)HS+nGAQudbMM-xor~ib+owN@RyP?Nbm?W5T@DHFlT$e);KtisZviy$0j@iC(G40a zY6o%eTH87_I}!M*X?IbA4FvYVps6^j4A4;VRT<_-3*? zFA9gq4<4j`wJu(xr;obT{-HA!w(0P_)Pn%Y%8&b-icBYYaCuvGi>G1H1XKO?@=v_n zcH0Q2*mtaD@^Ryj5v*|4-R;?e-Gb_uDw!t);mA#JVsm{v^k`Qu7`HJ-8W;2(cDRSx2wdm|EA#0Ma8cF4aG6_BZ z0M7N#FO!?6S%+J7PfS_e8eI$J14;}42Ls&KIh~DoZn`SEVi8(_8ZP9HKl54dwwdHv zBz+_^E_crd#FgU2v$FLMYQ$LD`uwfV^_o1Ssl)2ksQDjko3%|msQ)KQ2 z5A8q`h4nieP(h62BauW-jq~1$Vw`X&BRD+#=q;VMKLbI*`$6`fL_(?G4dRp)hq>0>@_vJ_0%1XS|2p{Hqp>PLamp?u>$bhc@c@ zBN@mi^6l7f@TjV-=ZU1tGA+6SjG786BYF+SLEk+4)X~4TcN3^mA}q_XWFfLg2Wkkn z>I0_rC@$l2gujwY48x2MPu_z_j40#$ z{{RI5+XIgD339_>`cPz)zra;SX+W422TN5)I!N9r(gF-;X#%z`6?joAneM0ZR&`X6^ zAmnkA>+M}-mUQK1k6UTh&BsQyY37Y)$sw0~k?MVTu0A@->D$YA#~%Lxs&yNlo)%-^ ztd2azzlc}RkLAhquAVr{!=IK`a@Y1rX+pTp=kt13Uytg!{GV~>xSx` zJvrv<3>U->87=aBxjO)Vn}hu;&o7>_ceBI!JilGPJw{_J*6#$U0;;;`AZMR{>0X>a zjMRCv)>mf7(dCxjXrs2gY&!X4Vtg<`{7MHTdvCpS^VQvS@#9ZZ2SMqnd0}ODdwHfv zSlhbZ0yX3YQI!XrLY-JsN}8z5(l7WL%U zPnQ`mmli%eu329w=}BYZbvvtj3x|VLx@3eqE0$#iNy#8bs~f04inB7}T%%gMvk`n5 z;0-%?e|V3^fv#I{N(|v!mIoUXoDc;}e+zkY`fJ!-JfdQ55N#CM@WUR*N#CA#+O?dr zO&Hzw3`^7b@G`UMvHSaDDS!?b~u` zsYqAU&(AHv2m5HW)7aI-QMJRah|`4ZSzTSjuB( z#)bgkY;%v5S|pX!0Suk+YI1P4Gq@uisH(}jZ^#=}h*hp#m_FogzT&P)KPOEXRq+>a z4n7qn^tLlMkgSI~LCN>6Gg~4m%B%;J@m%Y1ttUkrip`4A8pgv~fxSe#h?XpjsHaOS zD_c0<6|Ic&Mpv4$qcgY_q$r~?$*Z(TO(bHXgS`UThH8qa-#)Yud7=|Cmr?=kT9qr$ z+}X^s;dkG)dU48W=gS+nOQ&2LBr7VPHw0HK=a)_4d}l6-^@y{iF>HQn<@x84IYOudIX&w&sS+3i&i(2t7?(_ENF3vAk9sN)sxAieb$!E98raGBqL4{?%psOBhYV1L4mYVZkT8Z(idY*J=B#VYS*m zoE_AfzF%jI^bOKCl6Z=d-xTrp6U*$Gpd{;$1RlimR$sEuqu^a5OK0a&(ilZWR}>Xx z27Ta&0$XWtG8i(ssioC>3=4AwGAH5{eZpkaKZuO>1B3@AE z+MFNKHO>5uSC6xoUiQ*CEXcZ0LoPJqB%g0ege;x&vu>S@)c3M@k|A_m)DfmIeTO9bn&Xs_*B*JU zqeucDHb#D53dCx#++4Xsz&YE!ZbmJ0Q>WcuN=uTFp6qubx_L}v9yYrWSX^tMm2tqF2v8(SO7{yS-N344X?*nvLTO%_{!@`)T=q?rr^r zV&s2sCE#K?WOor;YS$$4F=IF*IVYEIZrSZw+UUQ%_!hb?UD00}-GCBqHpv`hb{`Cy zm!TI@>zWIQP_&bbl~Kft_`bUzolSdRXkiR9YLMy=!v0lL`{VjmK{>=I&!tcNmmq8$ zZl~rytq_HhE{5)_jVps^8&5kbJ+g?{?$zzYVU7%719-x zNd$m!Td^2EqxY-%CvJteK%VyYYkM)6naL06zn9_On%Z>tJrnHhr%6R21d|RNje++5 z_0nUc+qkh8_TM#8rZ^Qq$jui^;3(rGALsS@Q5DYn(MymW@Mwi&oSgpvdJ0Oz2T-8p zUA$UbM#O%f8q+T$ao6Yn08*1h#Aue-UogpR@&~?ayu2sl2w)yFG3GR9unqQ#t{ z)wL9DXsyE5x3+bsL+>|TdRV2q&9$;fs7gnZ!SjH50~?&+Ry8r=HM^DFI{NV?cx)`= zTT8o1R9ciem%}aDy+O%8I%73AdZoL%ow@%2Xs?y8=eU89ou)CVjkPPOP*>mZt3S&bSNPiIbT|)#J*~5(*EevF5*fyXAsY=I4*HI)hum|pt^Ajr z{WFZ??DKD9F020l0^;FqiHhxR(>D;~eM%14!2s#s7}7@+-Twez`+XdLvy`18;^)Wv zozvY~qL#N89&~iUByYNtfsT3ht8$ZGs>zj~antDi6_Mb$(z7IyEXeLgq$GY4xb2Q> z8E5IdarW;?W#b_-BtX6xl+GCA8TuOMD|$N)pkoMBYT>k(q{uyQojG-VY?a%%za@K5yz{;q0sa7t>ZTSMCtsKoB zH#r>oRME52@%3pt)Ue^AE0mCLv8ZTI0F`pM)kvFjq_h#YnB>;xMw!`k)kOw3swhvT z1zAH?6w{=Wnj(ieswh;@DBJjr@E(2t%QS_3D$F*RzD7(mT7N-oEV7r&0iGq z(2nvpJ8VTujV4g$xkgq(brLwKrnZ>bS-Took)S4_mdO<+S~a#=Et))p z0|K`zHffomVfdFP+O@WHM2zYN8L{tLk}_qb(2f59h^KxD6*9-^W#^Yi?*p8TC(zeD zI&DL6thhqC{!>?9X|q;Aj7W{1#CELf>2{C1q|Qj+jMWEz5p`5x3y!eJ7}F+-Lex2bhv&C1sjnTO#c<5|2l+GT~JQtUPy<9d?q zb;6POa-d*XXVg}%;!72qOgct$lZsAD!#s`%)VRm3YfQP)UukVJMUmRNOg^0MS_y9i z*l59xxft6t^03srw?MO^C=OkRsOGudR`J}8W^J^%9~#D+*)l9{G8Iq1rE7IGm>jOz z&OJ>_798vxegH*fOGJ-WPd1#KGH~#>1{VQ9H^6QJ~=1&?J z)+FQa7XxMg0JTQ-$5L@!_j@g;V;74n$#WUWcbWV#k3~`5uDwLx+n02*2~ihRaklCN znIk*kfHC^k=S*Lwi%yMjVn&x#0Z#f@`My;$&TVEjuG6MP5s}yey_tX~KEktd+fyAk z+gp?+}I3=PVG#@>U})M%9s^0{XV44VlLamXq=<7$_Z8wges+oF_a zQdceJW*d-xBR{1PoJr$GVu^f7V>uZ(P^X-qW53MPYo?oJFCwE$;!NH_C*=+S(}h1w z)h#4QUh~Fs+EGif&*nR0<;_-I53{{M^zOGBc#Rs!O6x`{bL)}y`BtLF@3hv!JBaSr zP9{Z=X*+qpvj!C^PAi>fGDmr(m6;||tco&po_>dal|_$B(0<3yd?TN!c_1fJt}&m0 zKfPIrx4*Trx3h#nZy1d|2Y;Py8bBEz(x}k59|{Taa&&<}6Yrn%{{RM{rmPLBqL?g2 z1TyIxaf$>N7}9ahH=ySAiEW{Q-c||}XFkHL-Dc}gncCYoRO-%ST&aBTumd&hx5pQk z8Re7J$J2*~$`N!75w|twxjhpSH6W7;#aATfPvRresqDv}?-)gtZMLE5QcW)Q$dLw*Dd`|tles{ytGda=14q6FvbWBN%DL&;~@If!x^h8 z=XGYInIvNCsek>oPl+oOM9wjhjC*&%t#A1M048`=o3+dDR!lCo+*dyqSEz^>OX+sB{ya@U?*71k|84DEGgDqAa<-Jp}qyyH+jXJRrv zvrI45P}bby=$ed@BWtN zXOP^dg^=N!#9$o=BL#;zTmymWS1fY&OFdS$v5wl>3GaH1!!%{QE4Kdtl?xH&I0pb= zV30?gZ_Q6F?rZ)HYr5mVjX&Bqw6ngrx$zO1^Eq(t02>jEh8P~*j@7%VhSFQ*r(37y z+pkY)BwFD{0SoL(HW+EgBm=)0B& zQsAo`oN!MRP_h9V4T|Jod(+sFA~NY*2F?d#%>u*lKm`s#9Ao|JqW4kiB6VOL@VUl$ z{@n5FR~zXvp4AaNR`Sb?7>=9<*@vxOEly(6MIn5lU0QVzPB1+|9Q^6)kf?48hER+O zbDSKSwj`#O)Td%c9B+?WiXP#W1WAT+bAz@$O*QQ|=%kHpvQ=9Q#Fp+)sjI!3(d46P zRwGH@ek&~|P_h;paN}pk1ZSUxCk5r2-bRi?42LCqj^o$oTC>{|>7+LJC!bo&Xw<=5 zZC!x)Q57Y!ylywm6xdu6Mt2*G)Uji!3+s#?^_a~n>M&PVdPR<0ia|fMbcjpi=T!^H zRSx}%cz9=gyEV~>L@TT-@Ws79Sbb;@RzEwP7Qdvg8;IKZ%tjR7c6SVdW2xeqG z&uZ&6lbzlzwtZQf8i=lWd~IW$_U=P_mByfb>xISMWWGd$J5=cHnrTr11%FD^MkX;c zV2zJs#c!4_lxSl+DH!+dS9H`>l1R{y`iG~bHz-VcMl}K(oYh9#Tad#^Z7skjy<;fc zt=?^h$3B&w6sxSpnK2#r^{a_k#lUTeQoV-+R_tSFZ!6>`PB|WwDpiMvmM7#eXpNT9 zsohz(@0!i6#OKv}U!%Q>oc*ZMnn&;dVj1tG1=@_m=x38~C9lf|U+GFdp#mc&BHN&Mw`&MekTiZD<1`2r2ENd_tPL}jF z$8O!LG%`dsQrl8di|;c30RA&pyl2}xzfRC*jvX?QlfrUG`_~7e^v1nDOW)x~62le< zX(Y*FGh6bLmOOUqTi9E4@H`0fC?ActKQBtf%H`X7kj9Lb49(9VZl1b+z z@kCP~ejMh4%9$XOiYcK9{9901AsExY^r9G}M|_$F2{E+=#DTsP5M%>!K(>^UYKrRa zO#!SAl>h-FCv2J^c>o$mZfGh_H{|+IM(%U;pkVU(N2ed!f{eo>%vH0DK+y0}~(c$ThFG=a8aAw9Xt_K-W{{XhW{QlL8 zN0ZCgD3S$BYiOj*jg$OQk6vAmr|ntV&K|p{^{Y<3(4b3_QuRPsSOfn6sExV!Fy!ao z)~(83%%?k#8{x8ekT~;$l>^js^&ir+_)kjOIZMFo~yGr)IW`4z5 z^rcy@fS!Izox-1gQ~Fibho)r(j(sukswIZQe0IeJ(*S|o_No|Ig~%IFLV_~f6Sw*L zP#$jkdr(|)gFq59njtbc$2j(&=3d_0+NhFe3JD-*^{vcp>6>-i%5_y=v{!mjjaVEW-w*uOGS1}bjy^3*bQCzThpbt;I2yAQweV? zmD7WH9nJ0Jaa>-b+FV=!_hE1tl^Ga2>KNR5{A;G0TQc^grRJM{0)g2i?g! zWZ#TsbGP~MtJf^|!%0BM<0B3L$6!7covxYQ5WZCdKwJhKk5O8cG_#;(L&mQt9lk%- zkxI2t(FwuHlloQ5y)!=7bE$kX0Y09%r(CIQ-Wy=&EwTg7+kc-5y4rN8mk5PUB|uaU z<^=wu_Nk#VMg)<{7q*k^X)hWz?81FH;}sf8=Uxs50R#7_Aih34RThXHV2qp{jyR|~ z@TgSC7|mi9lXT<^cB=`~nqG%9>?8IvrZ01~Z=AAC+&;`(wg-HDQ$`(i_W+sb2@aVugR^$5+-qJ@c1W3ZB!RQ8>fur>XQcn;Mlm(6}Vg6fz6w(NNJqG@K&2Yk^>I}a}BiXy>J%+O9kj{g8I z)B(vj9$;8tccAhA0BL{X1(!^jtU6R{)q0rxaif0*A9);p!+pC{w@mNp^P9W-o~6`& z_tfV-OQ=S`Y0^SOt^WYpPi?oyrDE2!d4)}!(oE}hcV(Suuboko%Ms2A;2+Jo7_9PM zIdk3K@-0#kn6?-g8a)6UVETI1y=gx#zu7q~o2bEQ)Q~(YAa!C$D08!9d-Lo~G1pDW zwZ7bRhUlG2Nfco=WFw6y@cjHatc=1Aa+@y3n0bGrlRHx)GBO)^6X zkX%RQj@~eUu+Eeu=TGw-kkBQ~X|AIe8Btlj-_z-lft(3{5l-6on*s z^E7eeARJ+ad+am+0LHSc^9Hy@Ky^r1AwTq;^YY*HttYmLCqW#W?th60Jd!qL_sGHd zRJCKP_IvDA{{UZ*$v6;MY5^^m@Wv36RbdG~%(QQS&q(Kx7+Z(wb=K{J; z8FXFv!r*#(3I(YdUi)+F$lj=yCs8f*^r9v*2>qz0gM+s;61;z(=l&>*gT`p6IL6cn zl2sgL3c44bcKFv>mySD~xmmlaE^lr6JO(Qm zmLcG3M<*=AoPNO8B)MJIt(eXnRk>ETbu4li9OpWL9OvU*b;~>9s##m9g;^K^y8<#k zSmLoKi&yzJ+SvHAEKQ}DoaFcQtlXAEt-54nO1RU$RE>!l-xRcv?yCYcNE9ql1v;OG zVd{N&8&t(|k2GgD0NX+v!VRc~I0X9pS8Z#TE$@ivTHnjlEKF9cb-rFl7y(W@cQww* zmF2m7XA7(m-rBV9c%+0cEU1CoeS($T>i$#M`_a!zCXJgW`HHru{x*{iA2Z+za% zy1KvWHwzSm%E%T?00J1O##2XB}NkNmsoOrULg02QZJ8nLHoAXmE%HuTaboFGnm30+p}LOY%f6saQHBg(*IVZLgjusD-ak_pC_!Q&pE z8l4R!g&8}RAQCvBSs%oAZ^ev!3G}PJ5WoTkCm^0abrn=2AOJukBximxRRZcdS7O5( z_8ZYwM~$T@2-G)a9`wC!5in?`Rx7SB2OQ(S^rX9mX1D@tuNP5QBg^s6_N~q)nZ2|5 z<-1uVk7Nfx1MvHby-h^!^442gX<{+RBDwU~0fE8W1A|mubK)-@@${#mM^{{Rknt2-x7T)D>FX15Zv6xEV@){$Qf4k@uC-hy_jC*x2? zH>wT=1$$6ND2UUOiVLQgoHKGbsoIw&b>wf}tQnsn$@M+!Or)vMT0P%ChdWeN2qa{y z0DY(-f#(Ml6*$HS`HE;%%8I}i87Biiw9;*0+KxRarlYAoVUI#8D#a9)DBfnK%`)7? z;Agotsadcll}#_P@16}Q7bvZdPTTEMYFR*Ov{92MdeRnR(%BVunpxx5ws3n=T^iX! zS*@Em8Z*URN^ZwO2_m>naS|K2u69}5b5#;X9B+)$QpRZ_I(hjT+^lGbrFbME##H)N ztlUlNuEIrs8rk#efa7YDT~hD3WOwTCp~E9^L8)-DW?MHo6&gc!qExK~alKGv)DUnt zpptjUW|ubC0$8O0 ztE*%h&6ZtNvc`y@U~;nPR-IYk<9Z-S z@^W_g&|5hNZO;aSm)5%1P5VD(_ui>`w$Xl2+q8$#SC&5tZ8rIz+7Gt9Q|$@+v|cYq z>60A`8n!Mj2mNjN6z#Xadd}*0<$a%;);QKV;)dGB=Ufb=;gIkcequqvB>UEPw&p%l zUuxgWKS}Ba!bD^DW-B8;?=qi$z=N642R*4MK$du^-6V?+GLs;AYiy488i~7*E@c+oGk6_?{CN2 zAG7w>%?FElY&SoMvJQ6du*o^b-u0`@OuO60JTO5tu_TCDyuvcAq_-ro8@AoQ@l%;k zN<}QpQb(TI^kqoYKxl~FKp@cmmtV zQxY&z*vGt!hTwXu$B3y(~onF}PDqDA`YIjFVjM?=U z>K}E{a58Nz5QV@S>S2&D2luO;+}E$P#%p!TzlQz`ITrpH^)zI{CS$2E$2v&Z9(Fa- zS#IN<-nnMA>T=rj_cFvCC5d8+SKq@qB$4P%OOEp4sg|cLT_NqQIwa~PcDrkcq*zLf zIrCtzJC9nKZs)&Cj;1cHq_>wHD9?3sW|4_rc%}t|qo$ncIpK*U=WK)OD;HBOMdr=c zud&l4rr=8q1zZ+lQ%{J!@HXUuu=T9`vsP)ZkD1eFPL-Fyk+T>^J8&|4k3-uB)3sc_ zjDFqwC3k^bv~9l&wkwscklBMN5-OE-?gl{~gnCq3taov;j}Yi#vHs)KdvYr2HoR{X ztU|gL9oK)TsH(EIljR5CYV8opLv~Y+-qabi6<`+`-;U;}vg%|CLGtcOoX|ELFbt$J zw)v?@v*%&hcA%o;PFuFey-^D~0#2cZAbC!4O$4;qEuom?f}w%H+kb^!A(AmfXcZ!)i>1&IPd)1LT>zs_0dHfP2^$O%K|Bl+ zN1>=EQ*g&u#;B453@``dKxqJRQA=Zu$H3J^K+iu~048a)(9k#{f*L(byqx`!caaxzvYG>-c-S%7UXH5G~Y2#YHiI5K#-P_Eb z{^F&_T+W-+*5lA>)ON*S1+$&@AFWhSz85{SKt{P6p8L>F0R#7-u742jO$4ft%t^xF zV?L&UE2Z0J^Fv@lw`y`P}ne^**8Z z%Zr&hk5QF!mlA+L1C@<9KtIf8v9;Ezy zU4Pk*@U)}HmQwDZM=?0gu6uSn{VJvHx_M7q>2~utlw8^=Nv6?|@Q=dZ5Kby@eKnVU zOvvhOj8Nr#F}6-iuYaLA`I>5`%t?~#rZu7ST-tf!-|-_I*W^xqwKr?T@ueH4*Zk>8=Of3?~ z#iIuq&{*jw8QgL7sO31}z<1Lilqkb)7t{HLO>?%IHO98OerjvAiOQC(6v*?JWM~`!i8CY@f{`}WTG>+RgIRoX* zR6shFfEyjisv~}VPSgo@^8gC=*@iJhN%DfA94^Ek%4nzu&4JAj?nVdBilVp&Pu7UI zl|juEw`Y@N8)q4!GorK3;OrM-#dTPT*<>S99z#K9q&!&+4&9a1|AQ1L^}lQGtwoD_HQEa#HlQm%@k-B7u>P zeKYC*0E&5OHMaQd<+f;qXHGJ}A5b>i*MHWt+kew!cQGZlnIS72T6{?d`2PTEy`e2|Oyc2kT`)G-G4-qXKO%Wr{v$N8gn4%%ew8|< z<(Q()ZQ&fV9kv@{wbEW$E$*eTl(PciIfp)H^vC;EvuQ4ky^hZQY3^ic{`C?DNT422 zrF_a*?d*Mbq_#;tC6e1*POSq$aTT?_^Gw(16pZUuU0$RDN2c70>5p5pr#!d4Z?-$b zC8m0O(1ep-msuBP0PIJ{0<4?rHlccT*NYw^oWesD0iz(`ZV2zcrqzplyK7qM z)9Jl78G1TQV~%NBDR3JYj%g&q;2%H%!Ok;T%PZ!y9pc|-W|pDtrh&CYRydkO9()|T z@30&JzH#%WSKM4@rrW|;!xFv?wB{$$W9{u($Bq74%ed&cnmcICMRTtI{O|fG>&* z0f5bo&%V_Zzyb3KLk8Fb-h!B1kW{XAKBB4v8phsG02^&h?Rrs&87kX%28fRvSkk*T zIc>97@)0IhLJJaGvEbE30+c5SzQAp^^h1z3!ZM>$oND!{?R^*_d@_3x{*q#D~xB-vu2lO5=kWEe`<%=~O|%qAQHGQ5z1_ z5P8i6XC{JkR7PkkngEb!Dt8n_oM_u^Cwc%r#C}uT(wb7-6>Jf)=7T(*UMixD!~zB? zfq6OY`qUzG$9e$ZFQovx_Mn|O@3jPg0r=2ZVxXD`Wdt3!qLd>b9(;v1Uz7fmcyrJ~f@T&bLP= zTx1M>AaW~OXJ-di+%O~KSyhj<6u7?d#1p(Mt z4*Z)P!E9~-&Ns%{?Muf@?^$y5OLVft)^J84ibIr8a#_6? z_s^#Q<7&>WYx-8o^Gm-^mM;<;p{cch?Yf++{I?%ElCHN9p)IF%yd~X^C5#P_6P@$P z;L>d-v~{OZm!)+vH0&fr%1XHMyl0RHrZ*LJBFnxnwXUs&zfoqloei=uDJF7U5s)$P zIHm7|lUb1V%oc{o+^SMWZGunkRO`j+p zzt9o=E0x(fk7M><>=niT0EKzg2}s832E>kV2dBCD3f4H=&0BTT>2}tZ);8-6tSb~_ zfWOz*;%lNT806#EwNzNJ3ye?*Mld_jL6CUM5I$$zp1@Pq#Y%x8QZs{sJ-uivCfZ5u z-`0>o8jepCM9C(Vz~?kl18Qz}q91OeSpa4W{{V2nKH2r9Rf_3z3LQzMfi1p}Ksno- z5!#=WQdiLCMg_1m<+sv4JfDq4Dp^pjypl#n8M1fe9QyB79Qhc#7Rfse{c-(jp+*Aj zjAt9-n>6U##;XWWe~Bi=bnZ7Cf;Iy+6`!eijIZVZp~hE^esyA2C%TH-0X*1NQG@>g zOJ{GMd)1SD8`mnm+;c|gT*-C`$Ys*0w?FykwKb}5agxqiZ*L;CbyEvtQ!d0GQ&#ad zlbfet+s7a=YhXz`io&_~NNh<+j;23|r{!PneJgYBr%d;AMR?zL@U;zy5FO4t1JBR* zq}=5$s+}Uj>!;jYOEYSf!B`*Wz8>5vblNMfBi!Z5=jvOfz`f| z`BNFm7$&TlSf9sxb7Hk`y*Pd)o&xF8H|dxnB_`$!L3EC?di>F3T>*QS0aj?j~vif zAK{`ak4gg-MRBzR5s#GwHyIQXhdCJBgFy;#j5!8~SK(qu`&C4<(#z`nguX@H)P0D=CR`<3vq=QnO zfU63_DxMP~w#K&@v1nvaz&Xj|VM_?p8Pp+Ha+47a$J)^wT~8aX3vNa%1>`h!}>D=N#Yxce{I&-kfle-w5JAA$5fwW~C?YUue}1P)24 ziB$wJwd=H7!eb)4*!Fy6O#Z(oNKQl!R)YQK^`EAnXV2=~&++ ziru1H%7Qzu7V0)Eba|CWbuIai!)|vqPOIsEW%`Y`+OM-xbnAx#RZ)gK;A|V>r*DVG zwcKktxw!e~TJa(XJ3JLO~7g3kTJ?KKqVKbciA8G{ZIKewmSW2ij6d7f@9fA61 zYO*HTrnwO$+N;3t#I*AM$f3A6{>3zBP z$)aX5e-T)I5H=OK#dCUJPnh*+iib!Yh?R-TuXDF<)zdpXSi)Z?sy6Y*Y}VHCss&O; zIS1p~yz<`bwUSLjY)bv~+RHEw>NjD*{{TByuUkpa1l`E7hc>|I4TpCGla5cs{@4_p z_MJHBO~+6}0=!X%1*FF0Z@{hIxo6)E{aWQL>=a8P=2(KMEBNqs1pIdR3YbmR&gwXh zF79s;WLtZ7bl2kG7-U|=4pj0sIPF~~q+`14bU2P})-`y#d)kdlC*W7cSo(#oe<#1a zw}-E$nZl*zxm9L_p^aER$Xh%Q)cXpU^tZPzEhg#|MUpFV95%v5+1Z%lLW4VktBjMd zKBQMmc>KA^%UewSI@RtXVH|fe2_R79gotO$z|Q(W%}G43E58`@5nDrl1aoU*N`f_D zisQXkU2OCd#6n4J46%)dfr1CZosCEo49BP;8zJFMMv*Pgg~?oIZsYsa@3W;mL!_Yd6~R(|JJirpmNIP0tj)L$iqaev zk$govuj2%EK7zBg>5p2jRl{k(I3siIT0~DgV%dyujRPPJw>(voo=bROk!032i~=)+ zI6oTJ<2rQuUBjx7?#E6J0p7Xg8;zHeTVAJyBCBKb5yeb*k1;MX_Tt-ge+J~s9mrnz z)3L7i<=oYdQ{&a#t)h7rQob1W!)L$vYo4Z?-RSK>7f3l=Yz;=2f-(Te+tGb$T1c() zqC{fWV`n%zRF=oJTszuiR0|w-OtIt*@LQbxD_L&dQyHnlksL{JbP0ZUAf79&y2Z;| zuUBJk$g0KiMR{_&cj`3G%oO5@H08^?VAn`eAB@#P^SxA90DDwbTB<5@iUNSDAc_bg zf-#)-psEn0pK2fgcxA!ZQ`)oSf^puo%5mix?NL$&cQg~bHuV(;U~p(EMG+nGK@U`_ z@OGer+t5fLZ|Om7f;XU?`g2i0!E9oHCj)Pl1w^V&Ge9xQ^Ff{1YXg(UD@d_iE)LY% zXth*n6$UftJ!OJ*X)nsoxvbg=3aNn`k5- zO5BWFq69&uRuTmVw+62GXHCkWa5=0xX(!U4woW&qsO_JvScnHXG!h!3t*lc+^R0Q> z6a@iP6cfgA#Rq1~?T1|H-3sHP+TT2OQ~o3abqA2AkPm!P-OX06R?Sx{#r!^PTXBp9 zsS~%*f8od4x9Pn~K9Mf7WjQ$1LGaxEZ(-|Omvfg~Zs&{aX@=6|@-izZYcL}N({VvX zZ6UM1{{T@`SxGkGGIWgd+NZPAo7aBTbg#13LRw3^eW(E7B! z7pcQ}3k64g$6(#T_9Oh-lC_Q3521al={DbJx&n1;70D6*01yF|(mj3D{*`ar8P6K| zl3UMU*6BQPv_mgDGkH!56NIf*Wb#Qj*BtB8bjNlVkGieswL<&CA2R(*Da`{if=T zcrDrpiC1M~ApQ^7B?JxC?g(hVu8a7J-g6BaJ-xhWD`M=DU&>5kxt|dMMu{an)f z(S0ICYo7ur*oPmR9Ot$HC*z9U;&RV@HCWu?BDskcSoAW)`(zC7pIq`b@9kL2>8bW5 zRdx=*D-n^u6oW8^Nu`Y)^QnN@cCBwr_UNvQXbqs55%ZQKg&v;@$2RT0plg#T(QO{0 zzEhsx4`2LMMjO06!v6pq62Fhjk&jP9RuuE%OtMCU1(#Clz#tD#?^#meiY-b&{unA9 z_&Lr7eK+;=t+K(@7Uao1DRc`$x|ULOc!ca#2Kq)1ern>*MO$?BhwSi<>S2fzRAF0v z&UELn_Z4nm&w@|m%dZ^kV|N9dYoTsqQs{E=s*}2J?W;)S*FA1+z4N9nsnl;0?pr%p zw9L!mLxHU#PFW<*`6HGbV*dnSwyXC4$ z+3-|uxdaYPW=6K=wX=Ek5TKmroL61PJyb&hMmbGH^6khKE!hJEmHz;R5ITmO<8O^c zX^I>?Vo5=fMgRx5xb>)}g#$SmBhb(XIr6qKxxn1j5a75{Hpg#ThcvMrMg)f zaIr6!pHWk_>B{P|H2dn)r;HlygwvK>xmMS~Wbm}=@42p-W4X2_TId7fp}tj2E@g7hXy6}(!#InH;j##GJ@J!+!c z>b{ zCf(R%W4%8k723Q+fH2;bym@BuZMb1>UB=$WHJjSPhnjbhe-Gs~eJ8S}G7mUxH}6`S zD)#P?;iO#>4fP6^Y>tvk;=`zck?CCZrsqYu2a2d$C}IfX*0r=|kP)1AHKu73UL<~5 zau1-ZF}I|&>vi!{K3ybic_-ebx>?GPW_(PNG1&L3+}fk~^A<0Xt%f0|J<+ zD~YO`+eHCDRTD)X)I?MO+|YHbgi8xYC{XH@m%hYFI;Ya@fV*YdQ$Fb(K zwBGLz2J1Z66Uw&|&D2Q`EzIXrx@U3^B!1dd`J3TVS z(M#l-2nsg`Mw~ZdaY-U}M2~8Y*6$3+@|^`Dl#&j4!StfeUgzx1(6*W$01-j%zKwZz zBUw8F&KZ+Y(n6e!9B=c$txLWd{{U_&A8fio=y#a32v7keCPAr{bAmn~_o-u?wq9Oc zL~|kWZQ^H8O5n1V8O&iN-XnIjt><740V0<*72<)+5rF8XEXNHWJfQULK7^#+PiM*ECljO1porL%H= z9^dTe{69yKUUf8Njo3JZoI7A(WPVYPooZq3rr!M^f(WCIDApLzU?PkGTSZw5YYYI} zeENFTMP$P=#Cd<5&j@F}P!-kPiA!bB*&`MY@p!*}Ob3RVt{%3`rkCPX7QgQyyw%)0_5kC5xrq zu*9-X-X62F5P2BvH~QAIyUHdr_?RJB8YmeRQFDxPDS70dL{AV$45YXmcci6gidKRp zm6KC~aDSKKQ@XtwYZ^^2j^IY5`FHQ_K*%j!K*zVst|ca5ae;as`W!y6YkI6jIqx4m`89vtpm@bq>u z{mMT9WRb2yYPh&<{4x}gtFZup0Pat=Ylc_K@6)83pO==OtjE=(k%TL5{{VR=&2zjC z+sNk_$k>6AvBx#&@$tI<0K1Omo1gIZof_KOD`?m$$n=5woNvXq4 zvX32>M2xn;IZPaT`X5@Ct`;bfP)mrgL<>RGBzN&qosVl@JP4+gf%UOh?W9QbgL7H6sT+J~{2egwk-4nv>|tpz zNUft4(wQ;jrT;7=&QD$fZrmz`Q16(cF^rKIcQGgV=OaMi`w%#TcgP;UuJR` zk&Wr{Npax9-SYMxGOSw~^1JJuxzoN$-nvF>Bkp#sA_n{XsDSgH#)1y}ilPCawLx6( zKm+YT2lb$?cKGd7LJu~Y3dnND(vd2?xZ&J{2 z2mYb!S)5hwa-<{f;2hFLR}N7hU%w(TDKJ2Kxo-=+XGov4yOXi18tv7 zS6nWu8BM}^N>31Ue1sc-YW$X7nE2(KI)LPSE0eOM=bETnDLhdNBg#lS)f8s)4|<~8 z5sHF@cB+Wav7q=5hW`M|UQN2{q(bMlHohy1b~M@IXtV)$=9aFR(Cr%m+e{h<3_(tgZDzkZdZxj*vlV%}Hzb{^;DnkBCf zc%Ny$-vd8T(PPs?0}YC~RCCy|<-R{mR!v&n)NJ}UK>IG;FR1u(&fDp>Kp$7-BRm1d zPdn7?%1a~0FHw@>MYXn!z>p6SV~posIMz7RYRU{;g*P0XL_ z2gkQ76Fz?O&Inau$pgN5$77n$^tzw$s4>F?j~+{^jdCy=+yRXH5B8_zwch(F3>V=# zZNVfQ_ngJ@Tl1Gg?U%Ag^&i?>9bCuwdV|aZ>?Ee7R`%Z%pX8t|?NeoAoTRZ6= zK7VTKjFCNX^o)E}90vd~jB@_~I|X+rF{@o-)eQL=WH zJ~e!3pV?rTkRV)ye3foWu+Ki(1OEUN7mht=!_SZ$DJO~sfDj#P@ii2gW*S3#?tLog zB3S~E20+CkDfoan=ZXrmy61z~di;)n2&3aj{;1-Qs3J7W~R9oIXlTs5<@ zNQ5CqCr$`oZ>a=)>sZEZKc>UrTE~{q?4-U&=kK3>DqFhL;u$1hlj7vD*qqQLMgwWr z@)#%QO{R~M-Bkol>7A(r8MIr42&^{bZMUrj(H19Ho=~zf=^O5&9D97}*yMG7r)LCn z*{mweiTIAnax;QA2Ytb<<1cLGXHPw4EyciDTU4bVNdqOZ&2`F1Ar$vl3K`{8)KhKF*&uEJ_*Xl8 zxvli`{cr6B!d=}*WvBRUrCCUm806=<BWaj0bs7bqCYaVS}2^H^-aXc}?*e z`d>mTB)4v8CGp4Y#%Tb4H`h)3?EH_{{THG7V0sD*tR#ITr3M{n1XoR zU=!;?D)H<5+?|i8t0_w{=^&Hk2N|k??LZo%RmmOCdYfG_y0jz3mJ;zRYt#(lGTgbOwTZRilYL& zZ(5UvYMvNkLE(ov+!_rw@rcf31-9>5t0A+IE2xN_4bQbn$7@eWRU-g4raV-&WFlK~ zj7uJCQl^;QNpGEQFj>iYJUqF!$7#`TGDp+N$u8DkC@4%^+Ti}@cZ)y8y zY;9Q6dm*1Dw9311C@MKP?^O^^cc6kzQ9hLf=7O#8swxTjP)mEzROPv#v|wu)sY1@@ z6+}76+tR8iq+)`1=R8ybo#-WxtrVg%N2L%p=M+$Qpj&ZO2_q+OodqP@0+6c)$9f43 zoMwVS>`v4d+fF&46z5<-0PK4T2CxpNAdGCw=~Ja<2TJpnU61swBFuAu-M6SL8ynCf zc}ZZYxjP!N6)Lhb7AGx?;+z3iJtdFlsN8NPUO|* zo_nr`+3Q;?=wrUNxR!pf@*fV)OG3)QPI2NLiP8!EF->c(P5Yd^!u3h|w@sGgr$61U znKZ^&2GYYB_#aAN!rr$ZHj+z-?&NE&PcEV+SqUZmK|ShjGcMs!DnRnh8;JyrJR(m3 zZ@;)SH>T+4Rbz1ec$^6CBIiDYe&f*5f3|C*{-1EAWG$RLE~D{|$NFNk(Kf8M=_I0Q z)S@=x*?%i@f_*=wU2mhNsO~a+c>$6<6u682l6hZF+xm}s*Gc$hy@=af#{iHyl&Ous z`-pfy3~YX4v-l+EROwyfoo0qYp-!lsb|8(uqN>Yf+tVjo7cFbmSZ3l!(=0<#S9KtO z*!(I02jAsa+U`rZr`j?)l#3%>ESD2o$1Y?ludL(|h1-#jToFpmmRqI1%l(A9>MtGD z>$Gs-$*)K%*xLvXJDzJZ9rIeZ>GbOhJARo9T3SG&HIGrj-HABKJEnF*{0Hq+T(~7dCdVO^?lIVYloi3xCt`4O$UAdH zN+1Me;DL?3f5AZICL&0~WMGO2@dS~UkATDx-lbMNE0dt@oh&=Ay;Lh%$A>1}m)?Mn z%Gz=T2vncLky&;s;Qs)hLsoK~7c=ev+c+oV{{WI`2+I#U5v!61wrDI)O0J(N-N&c~ zpz@Qrxa%ajVyaH9BRX;EUWvvo9o}7gZlM&Gb6ZArJVW?OJNobIT&_IsyKjyP=+;H9 z=fAm^c480~$pic}&n`6?!d>pVS2HWf5inE^05#4=>kJoW8gZU}MzKEH{4&pBE!jwAl<7Fg9l+z^@~z9JY}mh=NVB0Z z_}@OC*0Up4vyT?t5gEfbB%Sg83{^udTrqYhjx+1+MQJ24R(JAXK&pTf27& zJBB_~E0zOSeE$GW+g4^f%S~LhHqNa5JEyPuTeI5A&peX0)2b3T$lx6(Y-eokTjMLw zY0faqbm_e|>eI!V6D-mfotqzoDJq!X@om2R=X1R|%37M3@Xyn}&P>F~aO)+*op3sw zs8h%zY;U*IwOsy5>!icuv%cLcJ16P#G=a6TEbbfwzQCOPfa8%|?cWXKH0;Wr5G8|P zjb6B{M@nA1rI1JAgizVb9!Irb;+wxs(3dg*xW+I6^{mxOFqE^ZXgI?!bw1*PSg0XN zuncx!HlUM~1m`NlbI3J9+?R}CHjENTIK={^hA_Bu;ubm7;|JT?uk?pEo04)k#bzjB zaY?l-~asz#+$@b#$k z4XZ1qR5yll$A0I%1i=fd=>!r^a&uCVz2p{g>yVO909GX1dt>p<)cUn;*?ZRYsK)l2 zi2S>PD#})Mhe^wAp4F|hq#wtgDvOq=Dh|Sed*skYXei_Y4i6owpa(d?$e=z0G!wm1 z1nu#lfI+Aro%Y)mMM>}IC=B^|ptNT!djKg#F|ps0YNEPHA08+u$4CSW&{xC*8_-=G zeP}FrsH%VqQ4~A2eJCZkG*U^})k4O@KC~5YG5AmlFg_d51aUz;I6mAO2?ryd{ws74XNY`c>L#@M3Gi^&@&B>G*|MjSg_M zRtXMVn$+pe_ViYED+fl6T}O>_LwpDRE3Q*hN$tk!tiOF|)9}URAJ(~>+Z_erW>?CR z7;dC`ij`$;7in=8tCk?f;ecEXiQgXdlU1o_7QWWq8>D@%`x6D1OS+N^Glzmq>U43E zLuY*Dj%!&<>2t>JYP|iWpZ@?(+raj6c+yzukElQ!SUa3br}1Ee9ul=w7 zbXVIBlNI%c`t5<$h0LKw>^*VnJu4YaGnDbK9R!OUF~U8|H~S%{Rbv5!#};(R zr+3KiPjWt$Q+p|VSf)AxkT!R3z{-6+aw|Jo`D(U6ZX>jeJggAO1G|prb>EDi*W*LB zP{CBB#|nLaD}S3G_N&r%=>3@LJwns02DP>A9_Hy}wTX z0Eg=2|9@W>yCHIy5lt3 z#KugLHd|wp-?+e{uW5H~B9cPd7Chz1g^$QgYmNBl_NAQg zvhmB6cYF7XqY9jv8_0J9+}BKGlWuu)!&T+Pb{6UoyIi^~aUmXHd1uBr!N3)qf0unO zU&e9TA(+e5>}}+XgW_b3ft7~&KHmQTy)6DV#g~}?nA`Ot*76A=l1)N5#-PVJ-yN9Bt3H%CUKL>Ce3X08vDST?+BXE)0k>r*1&b<2w`at2E8E)Q)AliQ^B6 zP23H|R;Uj!iLn3yO^*Qr_jQZAZ3l?b`VpAcv zBe4GfF;oZ(lFo?OCma6&PgIH@f^w>+mh#~ToNt?dh-%zrd7`cxINzEJ6TUG}8*fD+yPtZfh8P@kK~kU^01sLT zBXdCvGeH>If_KO#nhOGQJ?JbOPRDg`(t#2wjs1w*;ptTnSd4la0OX&4-iojT8PC?B z7j`)MRRJgGL{#tXK~j9%awsQPuOg_d$R><}c%-^7EK$g9u2wfViT?lz_pX+1ZO?kH zfG2}ook8b}8U^kRR8jfjswwiSkA#}=JxUs=ynl#RqE?AFTvQzPC1fYi*5?dYW-hRv z6HZtps<;tg>0*12PlazQzEk>fOBQ0xa!JWGffN>vw8*D88Qj#fac5{F1b}lv?0@0M z+UEN|)y0+6hy6bBg1&$D-+<%xKGnI;4wzm402}`R52Jmu`x|lBtx{f>a<+FdY7C<& zv#B7JBz!#x$*lEQvg3CiZ=?0QSk~x874Q0Mk`u*E{6M)Y=y%xEy*0UJxBWPC!nSwe zp??}Fp^rF1SV%_TU~no;Z0gvJQMh$-lU%M@VhxnXaB<5Ha5netL}mNZ${8+Y^11S} zen#!`?Sbv-R))Gg>}F}BVKgcHbqq4<2mz1menzu?*YbqZI(Q=jMHz%}532tFZ-0$6 zR(K^}4pnJNi6jXhpkOoozfVeRc6wjg>(8|}X*jGyLX>UP+7rmjoG>Gdv; z&@B283j!>Tz!5tx{{SJ`bLm@>NRG@u!vP4$RXd(ecQt6d{$|SH1sKn@B9(yekTH$L zR#JBu{b&LL4_y4Jh>gG*C%$P&xR4X?QBfn{U~k%pB325{KM%bEo>ffg1$N(RAyWC# z*YXjt^{BM64h}J&Uc#ta%d-x1-1neUk*j*BRGDCO?SVvE1qA~7`_Wkb&`4skeexU2 zf!?=-<&5tJ{gvrbw@(b-L!R}YmoMbk$3KeKLE@f702L$C6(Hwz4=+lQWK-fH*ynBi zF}-gd*~_N~r_J}9#DstV&ZY-qE2eW%jBe}L89}#=HXa;da6JbV=98CtRF`ugjiks| zI93Bb+g7A!Y8iZ3%$HCY%uY-TzB9=rj{EISxQA@uG}4JAVS;j7PV9a0K})9_=pI!# z&Uvc`JF5XLys&t!9H|JIBhmooqS2h`P{Y&#QCcI@qjCXO9rNCxl?6e_8iy)4_*F$6^~;di8g>V@6$U8eW@%#@ zh#!RD{AzR|NR0s3k}-qpTJ1U^+E#1_IO70u@vTW2wv=IZ1QsVFKMK1|EfuB_J9}cNoNhMxR2ywXY=bVldr=S{CmG&~pN0()8n>zp?eU%9e-_8sUW8w1bxppN+9 zQ5187?LkwFdvR1ks-8zRDG8n*gmgXdNI=k{esIB94&QVw< zdwfGbnRrPD>}uIBF(ua(x3~4KZK%Wmb5tt_Nhh9aiefbl_>FEcR04=73Ic+AR8$R(RDO;7AJxxV`z6!*gqz9X_;P!?oh1D6pPg?m_V1pp z-`kIK&{{IRKK}g2(qfUC+`$MMSmy#)IXh=;01tCm=i8i{n)c_|^qX~(>!V)fXF^L9 znCX>B*nkc;8{^)lxLsQwJF4{e=-oiUEwnjPswWAJL$MgCBQpO0-JFYZ1<1BdSt0Pm zX+EHFgZfg)r&~&kD7cLz62dc&6FwsM&PMxkJw6oCvR*i3l@`)#h7t{5!_vYdo(@jf z{?$76)~nimp8FKn5sS;^DHcnCr%TLEGlBVY>-4QmciKLM9j&A=#+L9TF-89XDHC9u zV4rjDYg2;HZ3!L_v+_tGf2pFHrHhtb_M$3E@D2w*I-+-Du*UQhmRRBk3^F^?aujDC z7CUwnLh@vlbNNRCsqF7Iat;MR1Dz*6RtFRgSpz|wVR*+C6q#_W!H(eL9`#U@jmA#P zlR$@Jb{)G>3;ZJ|Y*1&Fh}dT}M29K@1=~E(G_oS)dBMggj%QUqJQ3;xVm3a#v0KLJ zn>O2R)TD;hA`OF#9CoZ(%X@5s1i5vRLNza~P3Y4XQ?NyHa-npcnDbhdn;tu+!lSKe zNe1nY{MT&n@pAa*@_M_K7Ri+YM&z8=o^tPaYKhhD*T!UG%d(6Rt(v_W+dbqrD+xn} ziHHXWCz?$q`Yr7oPl8=WoPq}fAGd7MQm&SUTUjw8qXr9Npl+H2!J4k1GW=8 zd)7WX{{U6$HS%}k?E82uA-3uA-NYxd63Y}qHrjc1!Oq@Yih_HL@l*M8uG-^>$$!(P zxw)IE-%X{a8hj#hK-dM(zaG5sD$J+)#JJz~tJ+R2km7SVMn@oUU=kpIk@a%h4Ps~|av}CEqGw+eepu8t8fE`4QdwP-2!leYL%`*|6 z0roX#NJf=YE=biTIXmn-QFKXQP|Dy84f~Pvpc6?=N~1V*YHyRcN|EMWK|$aH`__?lD7!NPXdt-`PvxMHOEylx)aW`H znO|-I-j*z_M({d;zrABkZWg0cZUM&iQCY$Pl{h%|2bb>U4jqy}ao@%1G-+Bvc0B^ko;=yd5DMej0IX#aa z)KbcxbGWL5R!G!7losS|KyorW?LY&9K4yRiEuP=C1QJOA4h00U1x_d{ji@PrMm_eb zh#PZ3AQl+|a%w9yiHx}!6;J{}_0JR+#y8J26*=s8^fVBRa>&CO7{|RS2CazhC7RGOoZHz1$Zsw}d1A2IJmTb;q! z)CP9kRR;$niXy=FsHkZ5f_NgX!kA+kw#R?(RS?WqV?jn>N4-=b+(xHh%6}4?(pIZM zsvU_w$F*ZC%UJZYuGnGCAVV`m+2v0o(zV)jw%(Noz_Xh1y$Grq2=h@Fm9&b3E=wBQ z3pN!r_dL-Q?Zp8=P)XvWRTWu%H~tlUrTd+<{VM6efXW#h{zAilk;QMg?T_-uPpfE9 z0CBcRIqoYg+3LJG`v5v1o=%Z8l01^Ev1l5 z4;ZMX5(y!X#P^~mSv0Pd@|r~}T8>Z0-l`QO(iG66N}j@lGsMymtAGg`_Nt90KMQR+ zJPr0f^$L}@5KRkbI0T_X3qmXs?>&uRc!OMMIvU^p2mpBlc?mMY*nG~t4Kk{z*Gc` zspaHyeJYICk%<&BQS$9cQpRaCTE-tFk-s&m%5P4UrPEDrj0Qb1QpMXBT9wuZmsr#W zS0{?rGnR6id^{<;PNh3cL-rdL}l`ffdc%hRSJK*}) zCtt-&bgd7f-PlTm9iL!5^H+at>iRs~J-lK7UPfb(*Z?Tcspo@I&9y27_UUUS%!JBw zrI}ku3VF%*BN(YA=(MRWqL-jNh{h8=)5K5Zj19}+Z;~)STIr1bT64kVgZZxcgf3wYiGDe{usZLtH_xy^H#c<$cY@!q8BJ!G9W+Uj+^ z(jHLd<0KLg`wy4zTqU!IZy8Z<)2;2H3mhqcxDClW=X2hzw`nnlBp5{?YzWW7jcIA2 zCOHOh`bIrH=?c*bjhGBZ06PlJKcZ1sK7s%sdAnzN*Q7fIa!3uned;M{L{6qPQRUOe zBeex)o!1YLzHU8#!B<0*b9brr={lpx13Au4$J(_cJLL%^V@M3Z0i1J@-{VaiE$+dH z#THO;f&J>tQswkhBF3SeU6^2JIju^XY_>?%buz0KI+p{rX4R3Pp9y@R1t(xTR(ol0 z7g6(IPz13j10!wCR8+>xkh@^#W3iyHbpcMq@E3w;2tm+XhQ@rl`68mFq+Q$jM+!H^ zB2pga++|&k2+rH>Tk)y6?L;jkO&oF&_<1KSQmiiBWuE!T%A&3Zzr9%F<@u*%H1&1X$*QgSoih|M;@9yjOGs9vm(dZ?+` z)ewECAs++`)DM`3@4%@QO<5IDLyY6nsw{(Ic>a`C@uvZX4Q6a&kUmh^&$MhDU6CXebvP{b()*=7MpM z2UA7oHq1Bb$N|NLwfe~ zsuI!VNE?CLuG38J30;ZE*n?VS%vlU~xR_)UU2NRp&wtC8at8~BQ;>aoSDwdtT4d7W zBcDo@wLjI;PF=~~-5kAq_s;(Ae?>V`shH1wX+F5?v;NdTtxwiM=woY7H4 z0*exAEk#yc@3L-1^y%56$@vjgsnvZ;rTw!@4x8Zh7^a)T7>-E5Cm#7Dk6OGpY`wHy z{l4jU5SZ;Q9@XX17@Fo11UWuu?hcW@4<{8W>vvmujfqj5_4Mj-ET~#Jq&_)e z-AMyK(zDfOODwecx(NGW*M9wP8$$wMJn{j8M>}^u-?dF!NhG$%yy-m})1=$zwv2+q z&m(>}_@7T|+=HO16oawvy#cHofOqfkpb_xCkG!zAk4@^*7Nhe6j z??B+1=F^PrkQaQ^^eBY=<5qAK;p6=|szQ=gGAgOwG2fabXo#6gxEjbg#YGMhW)d?6 zb=6aC_8KgiO($)kxt- zG#I6A!f7GfI}`fVMWeHolrv*1#Y;^UcXXDJ;Qlkhtywoqbmzl$8y1e~WkSa|Q@w7> z+-6xrq8ZpjaWbmzrc}uO=CZu~mv$w&nNcGnIP>FUR~{M5n(W%Bw}8gOb=zUNskWRB zxOA(wm&4_40nn$ zFz?Pd+tdF570TWnCidUeU2J-DIJy2Jw#D|=yz1MJfu=m&8CxdYDEgd7!V#YzI*PQw zoNed_e_U3qO~QJW@t3M4ot)k~86yQ^InkUJ+t++?wkvXLA1cMa%TaSHLub^i(&1e! zWfF<8R^uCt)RXy3_M6^6(;bcHhL^W3Aw`xYjxM#E}C9Q)n?V6a@f_kAmd_v>p4wc8kXqs8x(ReseLxc^{j|k*@#d; z?~HONscl12ekW{TdI|@|0)PP?rl)FxtGOOhyXQRn8mLHc?WC{`!Oa3?nl%K5IR^(E zug03D+∈CYMkLDnJJ~2b%3M)N;9PXdzPsj3WkYjLu2~w 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 + ServerName default + ServerAdmin root@localhost + + ## Vhost docroot + DocumentRoot "<%= $docroot_dir %>" + + + + SetHandler dispatcher-handler + + Options FollowSymLinks + AllowOverride None + + + ## Logging + ErrorLog "/var/log/httpd/default_error.log" + ServerSignature Off + CustomLog "/var/log/httpd/access_log" combined + + # Security - Prevent clickjacking + Header always append X-Frame-Options SAMEORIGIN + + # Hello World rewrite rules + RewriteEngine on + RewriteMap helloworld txt:conf.d/helloworld/rewritemap.txt + + # Rewrite condition to check if path exist in map- prevents routing loop + RewriteCond ${helloworld:$1} ^.+ + + # Rewrite rule to lookup map + RewriteRule ^(.+[^/])/?$ ${helloworld:$1} [QSA,R=301,NC,L] + + + + ServerName default + ServerAdmin root@localhost + + ## Vhost docroot + DocumentRoot "<%= $docroot_dir %>" + + + + SetHandler dispatcher-handler + + Options FollowSymLinks + AllowOverride None + + + ## Logging + ErrorLog "/var/log/httpd/default_error.log" + ServerSignature Off + CustomLog "/var/log/httpd/access_log" combined + + # Security - Prevent clickjacking + Header always append X-Frame-Options SAMEORIGIN + + # Hello World rewrite rules + RewriteEngine on + RewriteMap helloworld txt:conf.d/helloworld/rewritemap.txt + + # Rewrite condition to check if path exist in map- prevents routing loop + RewriteCond ${helloworld:$1} ^.+ + + # Rewrite rule to lookup map + RewriteRule ^(.+[^/])/?$ ${helloworld:$1} [QSA,R=301,NC,L] + + # Security - Use SSL + SSLEngine on + SSLCertificateFile <%= $ssl_cert %> + diff --git a/virtual-hosts-templates/helloworld/rewritemap.txt.epp b/virtual-hosts-templates/helloworld/rewritemap.txt.epp new file mode 100644 index 0000000..aafced7 --- /dev/null +++ b/virtual-hosts-templates/helloworld/rewritemap.txt.epp @@ -0,0 +1,3 @@ +# Hello World rewrite map +/cafe-helloworld /content/helloworld.html +/cafe/helloworld /content/helloworld.html