From 9bc1c2714e1db79de15c213457419280c0ef93d7 Mon Sep 17 00:00:00 2001 From: Tania Allard Date: Tue, 11 Jun 2024 18:35:18 +0100 Subject: [PATCH 1/2] Update intro and contribution guides --- .../community/contribute/contribute-code.md | 234 +++++++++++++----- docusaurus-docs/conda-store/introduction.md | 7 +- 2 files changed, 177 insertions(+), 64 deletions(-) diff --git a/docusaurus-docs/community/contribute/contribute-code.md b/docusaurus-docs/community/contribute/contribute-code.md index bdfe2e687..9d5abd7bf 100644 --- a/docusaurus-docs/community/contribute/contribute-code.md +++ b/docusaurus-docs/community/contribute/contribute-code.md @@ -5,32 +5,50 @@ description: Contribute to conda-store's codebase # Contribute code :::warning -This page is in active development, content may be inaccurate and incomplete. +This page is in active development, content may be inaccurate and incomplete. If you encounter any content that needs improvement, please [create an issue](https://github.com/conda-incubator/conda-store/issues/new/choose) in our issue tracker. ::: -## Set up development environment - conda-store-core +## `conda-store-core` -### Docker (recommended) +Before setting up your `conda-store-core` development environment you will need to have a local copy of the `conda-store` repository. -Install the following dependencies before developing on conda-store. +If you are a first-time contributor: + +1. Go to [https://github.com/conda-incubator/conda-store/](https://github.com/conda-incubator/conda-store/) and click on the **Fork** button in the upper right corner to create your copy of the repository. +2. Clone the project to your local computer: + + ```bash + git clone https://github.com//conda-store/ + ``` + +Once you have a local copy of the `conda-store` repository, you can set up your development environment. +There are two main ways to set up your local environment for development: + +- Using [Docker and docker-compose(recommended)](#docker-based-development---conda-store-core) +- Local development [without Docker](#local-development-without-docker---conda-store-core) + +### Docker-based development - conda-store-core + +Install the following dependencies before developing on `conda-store`. - [Docker](https://docs.docker.com/engine/install/) - [docker-compose](https://docs.docker.com/compose/install/) -To deploy `conda-store` run the following command +To deploy `conda-store` run the following command: -```shell +```bash docker-compose up --build -d ``` :::important -Many of the conda-store docker images are built/tested for amd64(x86-64) +Many of the conda-store Docker images are built/tested for amd64(x86-64) there will be a performance impact when building and running on -arm architectures. Otherwise, this workflow has been shown to run and build on OSX. -Notice the `architecture: amd64` within the `docker-compose.yaml` files. +arm architectures. +Otherwise, this workflow has been shown to run and build on OSX. +**Notice** the `architecture: amd64` within the `docker-compose.yaml` files. ::: -The following resources will be available: +After running the `docker-compose` command, the following resources will be available: | Resource | Localhost port | username | password | |----------|----------------|----------|----------| @@ -40,8 +58,8 @@ The following resources will be available: | [PostgreSQL](https://www.postgresql.org/) (database: `conda-store`)| [localhost:5432](http://localhost:5432) | `admin` | `password` | | [Redis](https://www.redis.com/) | [localhost:6379](http://localhost:6379) | - | password | -On a fast machine this deployment should only take 10 or so seconds -assuming the docker images have been partially built before. +On a fast machine, this deployment should only take 10 or so seconds +assuming the Docker images have been partially built before. If you are making any changes to `conda-store-server` and would like to see those changes in the deployment, run: @@ -51,20 +69,35 @@ docker-compose down -v # not always necessary docker-compose up --build ``` -### Linux +To stop the deployment, run: -1. Install the following dependencies before developing on conda-store: +```bash +docker-compose stop - - [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/linux.html) +# optional to remove the containers +docker-compose rm -f +``` -2. Install the development dependencies and activate the environment: +### Local development without Docker - conda-store-core -```shell -# replace this with environment-macos-dev.yaml or environment-windows-dev.yaml -# if you are on Mac or Windows -conda env create -f conda-store-server/environment-dev.yaml -conda activate conda-store-server-dev -``` +You will need to install the following dependencies before developing on `conda-store`: + +- [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html) + +1. Install the development dependencies and activate the environment: + + ```bash + # from the root of the repository + conda env create -f conda-store-server/environment-dev.yaml + conda activate conda-store-server-dev + ``` + +2. Install the package in editable mode: + + ```bash + # from the root of the repository + python -m pip install -e ./conda-store-server + ``` 3. Running `conda-store` in `--standalone` mode launches celery as a subprocess of the web server. @@ -73,50 +106,106 @@ subprocess of the web server. python -m conda_store_server.server --standalone ``` -1. Visit [localhost:8080](http://localhost:8080/) +4. You should now be able to access the `conda-store` server at [localhost:8080](http://localhost:8080/) from your web browser. + +## `conda-store-ui` -## Set up development environment -- conda-store-ui +Before setting up your `conda-store-ui` development environment you will need to have a local copy of the +`conda-store-ui` repository. -To get started with conda-store-ui development, there are a couple of options. This guide will help you to set up your local development environment. +If you are a first-time contributor: -### Prerequisites +1. Go to [https://github.com/conda-incubator/conda-store-ui/](https://github.com/conda-incubator/conda-store-ui/) and click on the **Fork** button in the upper right corner to create your copy of the repository. +2. Clone the project to your local computer: -Before setting up conda-store-ui, you must prepare your environment. + ```bash + git clone https://github.com//conda-store-ui/ + ``` + +Once you have a local copy of the `conda-store` repository, you can set up your development environment. +There are two main ways to set up your local environment for development: -We use [Docker Compose](https://docs.docker.com/compose/) to set up the infrastructure before starting ensure that you have docker-compose installed. If you need to install docker-compose, please see their [installation documentation](https://docs.docker.com/compose/install/) +- Using [Docker and docker-compose(recommended)](#docker-based-development---conda-store-ui) +- Local development [without Docker](#local-development-without-docker---conda-store-ui) -1. Clone the [conda-store-ui](https://github.com/conda-incubator/conda-store-ui.git) repository. -2. Copy `.env.example` to `.env`. All default settings should work, but if you want to test against a different version of conda-store-server, you can specify it in the `.env` file by setting the `CONDA_STORE_SERVER_VERSION` variable to the desired version +### Pre-requisites -### Local Development with conda-store-ui running in Docker +- [Node.js](https://nodejs.org/en/download/) >= 18 +- [Yarn](https://classic.yarnpkg.com/lang/en/docs/) + +### Docker-based development - conda-store-ui Running conda-store-ui in Docker is the simplest way to set up your local development environment. -1. Run `yarn run start:docker` to start the entire development stack. -Open your local browser and go to [http://localhost:8000](http://localhost:8000) so see conda-store-ui. -3. You can then log in using the default username of `username` and default password of `password`. +We use [docker-compose](https://docs.docker.com/compose/) to set up the infrastructure before starting, +you must ensure you have docker-compose installed. +If you need to install docker-compose, please see their [installation documentation](https://docs.docker.com/compose/install/). + +1. After cloning the repository change to the project directory: + + ```bash + # from your command line or terminal + cd conda-store-ui + ``` + +2. Copy `.env.example` to `.env`. All default settings should work, but if you want to test against a different version + of `conda-store-server`, you can specify it in the `.env` file by setting the `CONDA_STORE_SERVER_VERSION` variable + to the desired version. +3. Run `yarn run start:docker` to start the entire development stack. +4. Open your local browser and go to [http://localhost:8000](http://localhost:8000) so see conda-store-ui. +5. You can then log in using the default username of `username` and default password of `password`. + +:::note + +Hot reloading is enabled, so when you make changes to source files, your browser will automatically reload +and reflect the changes. + +::: -**Note:** Hot reloading is enabled, so when you make changes to source files, your browser will reload and reflect the changes. +### Local development without Docker - conda-store-ui -### Local Development without running conda-store-ui in Docker +:::note This setup still uses Docker for supporting services but runs conda-store-ui locally. +::: + #### Set up your environment -This project uses [Conda](https://conda.io) for package management. To set up Conda, please see their [installation documentation](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html). -1. Change to the project root ` cd conda-store-ui` -2. From the project root create the conda environment `conda env create -f environment_dev.yml` -3. Activate the development environment `conda activate cs-ui-dev-env` -4. Install yarn dependencies `yarn install` +This project uses [conda](https://conda.io) for package management. +To set up conda, please see their [installation documentation](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html). + +1. After cloning the repository change to the project directory: + + ```bash + # from your command line or terminal + cd conda-store-ui + ``` + +2. From the project root create and activate a new conda environment: + + ```bash + conda env create -f environment_dev.yml + conda activate cs-ui-dev-env + ``` + +3. Install node dependencies: + + ```bash + yarn install + ``` #### Run the application -1. Run `yarn run start` and wait for the application to finish starting up -Open your local browser and go to [http://localhost:8000](http://localhost:8000) so see conda-store-ui. -3. You can then log in using the default username of `username` and default password of `password`. +1. Run `yarn run start` and wait for the application to spin up. +Open your local browser and go to [http://localhost:8000](http://localhost:8000). +2. You can then log in using the default username of `username` and default password of `password`. + +:::note + +Hot reloading is enabled, so when you make changes to source files, your browser will reload and reflect the changes. +::: -**Note:** Hot reloading is enabled, so when you make changes to source files, your browser will reload and reflect the changes. +The REST API is considered somewhat stable. If any changes are made to the API make sure the update the OpenAPI/Swagger +specification in `docs/_static/openapi.json`. +This may be downloaded from the `/docs` endpoint when running conda-store. +Ensure that the `c.CondaStoreServer.url_prefix` is set to `/` when generating the endpoints. -## Workflows +### Adding new dependencies to the libraries -### Changes to API +### `conda-store-core` + +Runtime-required dependencies should **only** be added to the corresponding `pyproject.toml` files: + +- `conda-store-server/pyproject.toml` +- `conda-store/pyproject.toml` + +Development dependencies should be added to both the `environment-dev.yaml` and `pyproject.toml` files. +Within the `pyproject.toml` file these should be added under the `[tool.hatch.envs.dev]` section. + +This will ensure that conda-store distributions are properly built and tested with the correct dependencies. + +:::important + +The only exceptions to this runtime dependencies rules are `conda` and `constructor` which should be added to the +`environment-dev.yaml` file as they are only conda installable. + +::: + +### `conda-store-ui` + +Dependencies should be added to the [`package.json`](https://github.com/conda-incubator/conda-store-ui/blob/main/package.json) file. + +### Linting and formatting + +We use pre-commit hooks to ensure that code is formatted and linted before being committed. +To install the pre-commit hooks, run: + +```bash +pre-commit install --install-hooks +``` -The REST API is considered somewhat stable. If any changes are made to -the API make sure the update the OpenAPI/Swagger specification in -`docs/_static/openapi.json`. This may be downloaded from the `/docs` -endpoint when running conda-store. Ensure that the -`c.CondaStoreServer.url_prefix` is set to `/` when generating the -endpoints. +Now every time you commit, the pre-commit hooks will run and check your code. +We also use [pre-commit.ci](https://pre-commit.com/) to automatically run the pre-commit hooks on every Pull Request. diff --git a/docusaurus-docs/conda-store/introduction.md b/docusaurus-docs/conda-store/introduction.md index f8428b093..94dc73042 100644 --- a/docusaurus-docs/conda-store/introduction.md +++ b/docusaurus-docs/conda-store/introduction.md @@ -9,11 +9,12 @@ description: Introduction to conda-store (core) documentation The [`conda-store` repository on GitHub][conda-store-repo] consists of two separate, yet related, packages: - **`conda-store-server`**: web server and workers that together provide the `conda-store` "service" through a REST API -- **`conda-store` (client)**: a client which interacts with the service to offer user-facing command line interface (CLI) +- **`conda-store` (client)**: a client that interacts with the service to offer a user-facing command line interface (CLI) ## Get started ✨ -The fastest way to get started with conda-store is with a [**local standalone installation**][standalone-install] and the [**conda-store UI**][conda-store-ui-tutorials]. +The fastest way to get started with conda-store is with a [**local standalone installation**][standalone-install] +and the [**conda-store UI**][conda-store-ui-tutorials]. Alternatively, you can use some features of conda-store through the [CLI commands][cli-ref] or as a [shebang][shebang]. @@ -39,7 +40,7 @@ Make the most of conda-store by learning about: * [Performance impact of conda-store components][performance] * [Configuration options for customization][configuration] -* Internal architecture: [overview][ref-arch], [auth][ref-auth], and [database][ref-database] +* Internal architecture: [overview][ref-arch], [auth][ref-auth], and [database][ref-database] ## Community and contributing 🌱 From 2b94245dc37a5f832d214d70cc57af4640c61edc Mon Sep 17 00:00:00 2001 From: Tania Allard Date: Tue, 11 Jun 2024 20:34:53 +0100 Subject: [PATCH 2/2] Update og:image --- docusaurus-docs/docusaurus.config.js | 12 ++++++++++-- .../img/conda-store-logo-horizontal-lockup.svg | 1 + docusaurus-docs/static/img/horizontal-logo.png | Bin 0 -> 64041 bytes 3 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 docusaurus-docs/static/img/conda-store-logo-horizontal-lockup.svg create mode 100644 docusaurus-docs/static/img/horizontal-logo.png diff --git a/docusaurus-docs/docusaurus.config.js b/docusaurus-docs/docusaurus.config.js index 00800a4e3..0654e35e9 100644 --- a/docusaurus-docs/docusaurus.config.js +++ b/docusaurus-docs/docusaurus.config.js @@ -15,6 +15,9 @@ const config = { // Set // pathname under which your site is served baseUrl: "/", + organizationName: "conda-incubator", + projectName: "conda-store", + onBrokenLinks: "throw", onBrokenMarkdownLinks: "warn", @@ -92,10 +95,15 @@ const config = { themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ + // og:image + image: "img/horizontal-logo.png", + metadata: [ + { name: 'keywords', content: 'conda, python, conda environments, dependencies, reproducibility' }, + ], navbar: { title: "Home", logo: { - alt: "conda-store logo", + alt: "conda-store logo - conda-store Homepage", src: "img/logo.svg", }, items: [ @@ -171,7 +179,7 @@ const config = { ], }, ], - copyright: `Copyright © ${new Date().getFullYear()} | Made with 💚 by conda-store development team`, + copyright: `Copyright © ${new Date().getFullYear()} | Made with 💚 by conda - store development team`, }, prism: { theme: lightCodeTheme, diff --git a/docusaurus-docs/static/img/conda-store-logo-horizontal-lockup.svg b/docusaurus-docs/static/img/conda-store-logo-horizontal-lockup.svg new file mode 100644 index 000000000..184717004 --- /dev/null +++ b/docusaurus-docs/static/img/conda-store-logo-horizontal-lockup.svg @@ -0,0 +1 @@ + diff --git a/docusaurus-docs/static/img/horizontal-logo.png b/docusaurus-docs/static/img/horizontal-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb9a742a9d81a1d1bac2ae1104047735afc8f6f GIT binary patch literal 64041 zcmeEugi7+5TDGfv1 z@tpI0=g7JDFSy_En|a^a?_O)yif668hbU!5X&fvPEEE(J99fyyswgOEH7F>kBpCOQ zB`-W10+1Ipt5*uIP*7^)u`f-~k>4rJWKQH* z1Ts)ih@FA0DniHy;TGDmmI?|eOvrl-6!bgzD0h)}caVQ5cSulvaYNpr$lW3R@4f0B zhQI2dqM$_DprHL#M;Ceh^^!rpf6@GTy_|EY~ulYjR=_oyVl$cz%Am5>)q zXBizg6clWNU++68S->aA(GJ+CYrAVJ$P1V`Ik1_SJDFOrc{@1&qCye!7C_!QSh$-| zdOO%Vx(Rp-Q~gmx0D1qbn4OC9k1FnV!c^J{%9IjLt`?NMY%kbeP>EnsQc?=Jnp+B} zzLxrn9QjR{%G%xCS%970%gc++i;K<4)ry^ipP!%o1t&WvCo8fBtDBFbyNNfeqZ{>~ zO#Z{?wS}9RtBtd}jguqgFTN(GP9E;UR8+qj`tR${e!AOO{@s$J+h4;%4v_uV6Lt=^ z7wrExG7E2;{|DKxCx4RtF|I$G6Z*wWKu6WW&B@;5SGPp?IEDUb;kUxS`}Zfo-}N;d zZQMovLvpM5HkJ0@&;M@bpM|#xlw55rkQ4bwzc~Kt)<4VsQUBNI1e9&OE$p>l+c;P_ zy8RjpKR=HU`~UUHZAu9zdnZ>lXA?6E5oAMuko=?QcI`jf(fPX_Zf@Rxw)2lCe^Cmt z|61*Ttp1;(^+zdEwnVUm*#9f1B3S<4CXxCqh9dj=mAdzxoh8g*eT|&&H*O;x8q?Ey zC*ibo54+PU33NS^-0Ay^G0+Gsji*+J-*c_SthN6Xy}8LgT{fIYk6@9;!gleQZ8JZcw96er z)b!pnEF+R>vzHU($sYe8sgtjLetY%g7{pM@!_Vw}y|ML|Jh#5vzqd+zoidVGGhvP? zmE+JzQrK9QI?E&1Mgnt>UFW2ADJfDPl6#D*A+j*?2ESjfzaH5BHl_WC)4)m$3n@UE zxg>QELdt(m!@MskR}LJim9+Gi%)OEOW;_a0U+V31@^1fJorHPIkc7w)QU+_3(gHf) zv5nO=ftGjY`K3eU)o4Gur(Ft5psEwlD)YQTl{aftF;kf6U#PPwb%lLac@wnmwA#|1 za(+QKOIpQ577`Fya6=t`eO28!&NQM6Gi}z}Sfnb4vgj?aysFnSzseRTtTu9+ zbOSFpqhC|~W9ok`f-)oO8$XyFsyZ0SR3nM7fD)=)cgBt#xB`do)N^cF@@GCfL=G+7Y#DDItH26GEy)_iXuqy*Jy~);&I_%u#w*(e9nc z9g)Nii@K{Ysgqm2k4ZZiMH8KvO@}n2OT(dlWGDiDN^9Nt8qTbc0J4KUk3Ei9U5~fl zdSG}xEJL}s3H=yk19n-%i!f1?;rw0VQBXUsB-Vn(2(gYLylK{EMVuYVm=9<60r8rA z{f{{Myn6TUqqCG-hF)R!m*_)zE_g$rkZ5Wi+?05KQ5`l{pUh()AEAl^2zvv&&w+!_ zNci8{^v7LS&7&X9-SQafCBbT~9z8=owOEc5Py;7a;U2FzM>pwr7^xYu5oG?fr!l_6 zWy1K@3(Nui+xkVlLvq|j(&$zUYp78c9bCJelU}rg(Ei=&kxJ(ge^?)%lXu;h7L&u@ z^cUG8Su@I=inU_XUOD`a-`cpO(YL0Y5f#e&*HndsZBj0XkaN zia99oN_caVt7VJ5E-sRn=JzIpI@joh!QZ{P$>%>-NzIb;zJ+nAJZXGUs_+6c+izOE|7E%Ou^x=#mJO;TapPcz*nznk$FrtZ0AJu>x#UkOZ*;XR zfUe9}HM1GeOF{zT%Oe7XAYniE;U_CCm#-#29)+uoJ`K3u+q0kD%iA^JFIJ2f{C+55 zbS9LotmHAGAY%6OOCA_{GIJuaxyo}}f?zb1!fP*{E0d$Lo(^TrscD_!Y@J?eZV{Ii zkIDM+TN%KmJ?D3YlWj-lFE_ca7bI~Y5f{|7UZz(?jI#>5>R`qJu=7yCQ-1(N`+9uO zm2h1&=)7!@G_JvLS^Ac~=98ge7^g}wCPcg<&S-YskbkQ4qa1&+rT59w%kQKt-S>b^ zOyn{B^3Pm0NROk$f55H#%AaLE135nN`RQn6x2>I=teFhWAb}k%hVP#3Xy6T(3C?i( z|7$u+(c(NM^vk$w4ba{(jkWqKs^t&ej1>e{&$L!4AC>_T?eM`4yw}tBaK`7L<2f_) zW}Z#C50V{E`kCE#sB}Kpa%nq{*@kOgNVGT}<^mSj6o?6PQ*WCDWg4VOkPJ2FfiaF9 zgk^3*&O(FCZHG)LY8VlgVfQ&~Eet9ST|`p47F-^Dq@;fEOmM`*7+a(lHcRq-Ty8%8 z&8yk-`y%U4|Ft62NWbDg5SsE>C*PuHClMcb{#F(qpK>J=776jAEX4GDEl7|pxJ>qF zo*^hh2iLcpYjRc7;p)9QH(&tK_h|nB0C+ff8c8^H5BqK*yWS%268q3?%@)(aeAvZQ z{*98O=kXZyy0&7!Ij7pjeTT@SXVKkd#)1|DCjWWcpjsiQ<1lrWn%E+~?pv6W|2v8+b?}0!np5uw}K)>6{Dd7=mQEjubM5$RDR-8 z{WyxDo7YahV?Jw1|FEazTIBRb|E#o`o-fxYtAf|1zic<6c?NvZqi~~U1O&P+KhGnd z1&|U_`Bx6WZxYaFo;emY@m)JKXuOI>>o1m#8Tt^yttGUGg}v&QGo!f@G`PMJaOqtC zH#8Z`m~obN;XFwLB7MEHBYGI%cOKUk5!6sC`egLc@BMg3Cq};~S!gZ^BKp|s zaA8e;4_n^YQkFKaW}^GKh;dP+N~2>+R(>{Ce1jcJyVv_qMb{P^G=YRO_b^=q5zzZp z3dc7U+M|t(Q=J2li(G8{JtL=V|Anef4}x|kBF^nszu71zg0R=Nyx%z`w}0yx%e#} zUo((m5hwfQ!RJ?B2M|_@F1iAaN<1^wRmYj% zX1kcCeoU0nIklCr8niZ$p}*5wuDFF8^R1D5-$_B<$uTCx%O|@pimaqgeh3pWChUI_ zim#4s8^c+kIm5JVnw^-XSnIT5og{^B7Sf6Z_{d;3(5VwHidG<9gD1LBzcl!bqr+V5SBt!BvYKuGx$a<-U0I+xSh z4SR9ZR}3gA@`f{k`IrKl3<^9o;=`+#Q+(C%T9qrKBo4or%?fwy%0$_<)Pv}rbOeMC z(DlwKqiT)BY7N9Oa&M~H7NzL|@Tba>gJ)#Sj@hM5^gYHHtLs;-<4nkf~ zOeAd{#SD3D*~qEY}DIItf|vyeVvTeRPzb)_alc+0{j<)u&L>6 z(-RtQD&=T+2Sf45PrHZS-Wo(Iau8*8bIi<>9wo22iXaO#+3C;v0Yc}N!MvnSNdoFd z5Sm@Qspa0>#U}lR>&oK^&%J&%#D0_2wAEBo&m@tP7JitY&+H%_7gKc!gevD)r=!hH zzo2D*&Rx+e*(V3ks~hSeA`e2HeaTr+7=iSyy4jcqhB@vQ8YKrDBPq+3vE@Ce$tuE7f?&_rZ+%g(v0Hhjwq^Uqq7Uui3z7n-6p3*@h-c`PAxd-Y83ad$ZSj1f>$B? znH*uYd28pg``jKSVOtR<{;QccA+cOhDbocwDQP3kNxe_EG?;O}Ii`;Z$jGksB&zB# zJJj>iZm$#=4Bsma^hmH)5~*$Ebv9~txzq;6TM%}t&PFLg1xi`ze!e8I7ya2-L-V_z z663)Dnw#a@Qc}gkkRjdsEwEf{fhab){jKI4s=5mqp64+D_Z^o^zP-Rg zfE29|gRy3eLk;flp>4>(!~A=i7Aa;Lo8qR@C9>$n=67rmY;i#O;T+d7b<3VV!%bxnv z*y?53J|ziZh-biVIr+hv?P$@D)PiM^1&LcGFrNg88Z{&swY;BM06P+2$$7#G;*Dg9 z710-S1PGR!udfTerVLkm#BN7g51(+~$$E%O!pi)N>CV;-(~~j>@&kU|7ayU2JELUc%;h*w~eED}sC|X8Zz4h!erIO~x7GZtOOZGKxEY z58)(3WktvGWn{UL3+SdY2qm&LJw9FK|6RIJP$lt^9i@@cR3izQ6;yjV@4CoG@->0J zyJsRsxwKZZMd{1JNesyWTFtB9#o`WHnHW;72p_xBTDeRnDe!N-le0BWEg~#%?eGA@ zb3A9W#;(T+Pe*CqYCr_Zd~U5HLliQuN~)xAAomO~9#y(}thaz9wFh_oAkLrMS~ZH$$h*5c#k&<<2Dslkaw@A)2HB|K!W4$`2b8~CY*2r11z$v1 z3Ja*x=7RSxj+a1k#0!$QtjWCxGi)}zIHGWncUysO?2K9F-LJ28Era=Ul@F;Mx z?^Fh{j^{VKE9aJaG%2(1EG4xD?TuJI%WU>PF*0%)9pW0~YAm`XhA1Hi1o@aI=c$;C zB>BNjnZy-xofhJi-|nyp($pg~-{{gR*}^_U`O#J3QKT5WISso zGtn(|TSA{ipmLj$M7)toT45Y(eZN)T+IxwYUAuo-16)p|9=Q)~z-zMj7K2ukn<`R2 zV^@+Fm$LA1XSu%i>O_kRmSR2;`n&H67Ar+Zs!A)`T%ZctMz!@te#Li+qO{3U5LuKn zWoBY$ZHlbi3&8b;-?xs5_*s(Doaw5Dg~vLFzE329AxMi|`R3*q<*a@ta}Q zndMqMko3LfcpfrDpyYfcmPqtS(WgvS?4aby$W0>Ard1k@qUn+y8s4aQ*J`?AH1pC% z)w{f6lZ{|o+70q`KN(WRTzxfi{pf*`IRQ)9t+9925I)KELVQlk4#z7N8$8gNl{wn< ztBX|$Ysq=8r~$yOJmidi=$S9X^KWWqsT5K;I61^e(6HL0-4+;pY&6YOeHR~kiCg-w!HNup%c8*toIyQTS}|A$??X1c8!z6==RYQUq{Nj8^)Q?oKk{8;}z^Yt)XFYizRH}hXod4e=15dn{q zLatGN;W(1Mc^l0IUb7?qRI)C3o)hK_WAfC%257RP-%%a9nB#iVss9)Ztu3c(yQbbg zyxQFSmofb;8;mmJ%)~n3>yJ8-R^`!C5tOi8D8ka1(!21%)y{+*_cg99a~O%-$&%)| z7wFy4?1JczBelrv^wWR!4)<5@Bp4HW?_f79&I-*)j+0NcJ0>PshI3{aX(&vbx9v|G za8?P>u7OYRDCEefOOl-C7QxEDiDn5SZ39T4`sVY_K)m4=UX!PGo zIdwTB9VL&x+&lN&1hGT4;i!w@pRrIVI9ah^gsGw^i*y+Bh+^sqrn#)Nj!&~<7D?c6 z1pH@}TA0=>I6H1x$(r8m`R|Gx@`@PA@%tD1{3%pcuUwTvQqpSIkn49xXYOT1^b8(Z za-9ME2MXf0=CC3!mdbs%5QP7-WvO=%4+rDmM)vum6O|1Z_3upXphf5hXE8`9 zj@$!0|1o3W1RK3^zS46cyH?i;Xg$L8h^r1+FROPt4T~0IrXFUtTOYP0%-FJ8@`aCR z?FAxWVOHM=Z@X_00TP^T?aaGIq3LQ4w=FeHW`|MDr?_L28!8Gi}P)GHgUjtG#;epGnGzr8@H z8Qo=axaH1J!2Gmgyl2nHY-;laZS{242;7ONaXX~D-7yIoF%-ME`SbEVSVKlU2;l*! zk~PR`@Y9P|PaUvADh}lL5{l%+wI|5a&}u878x0pSY|U$;Gps)KRx-RJ|8gNOV}kjI z{Mz4$O=Dc1Mc~9w6}LJiWoa9w$%EA~3}r1U%I>_BmkQWC!EaZEesGzXzuHuVxTI59 z@-E*FqK*5}zJCem|1huIg4KSMlXK!Vx^Qr22Yz;=hG`%xt?Zj73(tp3Gp2~8xx0%( z2cEpKTIRe4X@S8Ob}ebow{G$KV2{Ly8lLA#ZEKGbNVEW;O?oZ9ji&_GH|{P#FNeVK ze5rfildo&bJm8g4Fh`e=)=piVe!k!5OKc0h>~y64=%grL9=&KI)zN^zO*VqA{WZx1 zt2)%+>C8Q9hh-+x^Ait?tRJuB($)B0(7M0Ac$x~cqu2QS*b4h;$Jon& z^7V8SO`gXBKEH3U49EwQXj^Df(v%3HSG8|;GuA?u=uFD(VEOz8Og6E}i5C-ZjMJ(U zH6V?3H2L%jj2^(+Y*d1!&I{t~nQ~B>T(=jjMKp=&H>Jpj{zCJ5QOPUG_|`gpQnAo! z??SGN&-e|kGPwDVkWu@~w3vCVPih4eHFLY}QjHFSQWPr<=4w@;^?;dMHgiBe|GiV| z;851Oda#(^V7X4C)&9WG7VFyaJ%KHX?R`*Q#b#KF3a6`yQ{+D36C%%Abq+4u2DIHO z;FGDC(%|d{n2#$V3rY@)=ZCJH2jitGaBj)8dN?}9-TO;;9>dGSyeejE1l49w}s zS^b-#jXE|0{K(&zU6}*vHJFMSATs=z`nBy_K;`YhqLB%7RlIE$*wE|Br8e`&pH&1H z&_W}uUJS;MSsQ4+DQmpCA`Q}1+$ci--6-U{B2kux<9t#*=c9}TUMqd$Mc72-RO*D) zjAT-U8cc;g{@zo_3llTejoN7w0lU1HADHW z&K3=q@MFX7ggeu?TkR3GM=TFKKsC?i-H_TO-%8EPXV`13x?b@dC-vn{-i~VpKI^x< z1`28qk@4eh)95-8v^c67M@Va~dzo8KR5uu)+bm{-2+X_+0#I(h$?uIfw@%^a5*i?p zyGcA;^0wg-R=rdBD6R9Q%$?u#MVSy47Eq#3C@Dr)u4C-7aJ1e;`Goz-G>476Babb~In6Px?|kA^eSmKzc_V^0&mV<(<>{3J+q)Z=r6dJG zKrSWzZLd9!iiBj}ztOsV)<80%wK0NGurgaVFc4pY8sXww4UQGuT-+dBQ~vFgaZ7cH zSd!;9G)V94#XS-Go18r$xFg^~L5D8MS+13TRlEspmK>)tTS_lFm?ouT3452^NtEGP zSUE{u-fZ4~3ng_aBlj9em~5KDx@0lzlRE1bzmMl7pM>3*Q=gVmRMr$Fqtz7gn^g{P zxyw#|>b(W2%f$1)czx0^k*9ma@J`In&M&1xBa@8?G)$Pjx?c5#g8z~akp0Uj-f1z7< zD+o}IK&tsbjj{|rsx)CjXH60IsY(D2R=mKraUcVve=CDTJIrRN_14_^BGtK;p7O;I z+6G%TmnK|P!DA#IUHg5h@?F3w1F5-O3M%g{H=-tW981UVj?LJ(esclkiy0wDEX z)1S?B6`)2h5ZwpMI#lq?L$f4A1#@R1>dRkrW~V#N)i!?)jSBr`kYBj}Lc=3jtT^w3 z!NyB7$L8WWE)jC4?OTTX@+~&Dy6yHqIk){tDZVJ+ZI$WmXI>fF2%LpbI;grRF;Z*e zi`UyO#J6-&OdMF5{lQY2c&{h)5< zzvO_S5xF+1=_m{A@47~Q^wb~qKdN6EF%Te_If=mxT@pNwb~5U)zc}e_vhhn})zKWd z=OqbQ3-z-!Fpfp2k;7YDio-uKLll6?Y>SOhos^hb{69Irqe%duuK{@gDV|{Ja(CO{ zE6D-8*HIs(ufkXWDCII1-L`+)6^1lq4@_n2a+5Iir+K%B+Gm2;t~jpJrkdbMBbgN( zym2W53$LFzc(A`d)Z{*vDR16&Wo%QZvhZRm^kOJ%%AVVE9@t5Mzh0Q+`IL6Q+Rs-H z!s(iVGYT%*3gcA{VzB{>>78@C1w< z(|)lFrvY0x{j*xD+mkoDqPqyWR0>OVlb`Y{byrs3{-f^NtPqo0Pymb@b-aT}g`uMHyy4q7&C9hL+ zd#~+*V#m#fp|z8N(I!6-xU^&Dg8_8jfC<<0K4x>DKpWq?13zgxyVFIltBbv4g`31Q zrC1j;wl7I>~Ds;o}?zA8cnfV+pt)d*Z#&Ie(xeszp${8I~Gh=o-6 z7v4Xp+y^t^owqKYx~{B9%VqqG075j~NTYG8g|pQ#RQFf}V=YXtmA$|5riCJ1ji_FyT)(Ie{|h`Jbx_97vYFRY ziEJBJr;M6A3OCBsqoE4OdWUs$WpDuIsA;!QYC2hnnw{!v{4{kchmF)iqS95xzD z=`f-RHQs(m#Fc#;wwfX%I1T-?)FcmrEL_rsTybSMLnhN@8C1(}OU!z^t3HhA_!DcP z8vdLdWTm$AbBTBjKwL=|5maQUwJ-E0&yJb`KA@x1wp*65|7UVN;ld6<#`#AIPHap&S?V1`t(S%nr8#|Ptv4eavy30s`6E+ z!Trb%+(3_Y!qiRrWi3nz|G*Da9L3rF=* z^2WLtO9Mo!Ip2DmU7GP#2W{s7e&8a9?`)40i#}e{I1@_a6hDntq7|CPaJCfoK9huR ztEsPZ9S2+|A)iDrMS{;!1U4^?S#df1JcfDeTfS@s@fb zsU_P?Zbc-u)#TaW>6@a@7{?2ZNeg+~OS2uOERtM?;1q8L)1*gIJb}b-kbCqw_4B|C zU>ST9$a4{&C6EyHVcO&bXrQ5-XwtRy_8vSs57B%#-Gmvc~CSTt>% z8|Wb$pIM_eXZw$LsTH%HB8!p?V3Nsn3H)Mz6J3m_OvvWwpD#B-?C~t{@vgWspfsjQ zRXY0DKFZ5i$OWRu;2Z1l{{bJ*bX$gnb|jNf3HI(THd^^9OwQO*?D%fII#%_}-!{AU z!urDIEqg4JFIf)RzfAE`R2Q>tmPKJU)Jv~fc{%Q(j&R-d|9<2GKi-SdTO3@A#frgN z+HmsnN8q^3tL*Zw|K}h_L}YON#G6#l3Ffk?s`rC&t18w-_#s#X$W%)|daLtv45kX% zVykA`sf=)16tqPdUEujK8x?W6KV8*!2H5okfQ&%sA>p<`>lZj+csk8ZSi}uS*w#z5 z1_-z!)kY2KKcS@|wfAx?jsuXu+u3?bVCpl9w{p5uWi~X@7l7*ZQ4s$)+pY>D)q$`L z+uVzcy^wFl)&c)O%Wk`_R3N(p(I}Yb71C+9zcn8z`d&0Cy@!8eKKd_Mo^Ov{L`z9L zZ=okZ^B`mZnIO`*ddvsdc$23@{%$p(Jkv@xU0P67VJZnO=Mmt$HYf-lGc zY3|FRy|--UHZiojQh&Z%e&5H9u=b*@Dd38G38cG3x`7p?I-Jxstz$x!@i6>a zeH#(_JyseKNVyKo=gi5}nZSe}J#s3}0wa2Jyp~R?77+Jqn7hN}f8U?#d59d#gPyS2 z)#5=6a=~ums)R@U*HD@x{h)f=L(LxH4!-J+dJ1p0kkD}4VV{ZFF&`H%|C|Re{N_Kt z{&tOiI_x_&vwvmbw_TnY#`mfGGbRh+Ml{6-Ken8~23g=&WPY!)GeBfA3iD+-mCivn z-OOpV-hpMjP>JW*BZhrn15_IJ>LlrU4Dop-RVAR_hX7h7Q%*{cq}q3nEHBsj$pACCvnTFKso=Ot`txvj+PgEUg&c)L}ftXY-e@qJaYND&LqtUEW?)Jhy2 z$QPV=tlZo&;VDP;G(i2Nai4xNO6h4~pOv5Mo3823;?TbIpb}bdPz(pPMGpm6;Toeu z73<4Ri%jg_V-#GZA(3R;?A0nnpSVBi(Gg&fvp9gr0-rw|@{h8Ox;^L1u$$+;v46#+v(x3SRX5r=)^k}%|Ce=;CIrvbLKVjN$~ecJjQaiGg`0n z3TahFrB82_DN`o2n_vP-2#epV3aCDcKZeZ^*580UrjG{kbc8ixFG7U8mjLt13!{+l zam?~r11wk8xQMCy=iN}T`4|IcgQ%2I z*FKvOtOV?~72-#Ipp84671-XOO^R~6`m`ZvbsGO(p+nmFAx$V(!*I^-;>69AugxRs zRY?FN^Y4%knSDmld<5~}%wRjsFM%jHKAQD4*65Ti2$Jb~&RUpm@Dw1uf1p_Je$c5Z z;2*Ro#CMQ-0-DO=r!1bzk|do)p4&6~=BP(MT+jBCC)WSQRK7F5(GVRo&M`TJa{=}< z-p-c(n%~Vj@e1)^tHMBvXeh_s?Ni~?`vr+z8JU6mGn2Cr z{}>r>ZWfV$ZVre1v336CecH$A$EAauzBPAgMBWl2PiY@LBQN?)`fcyKuGy5U+ozEr z2PD!jEOVMuIIO;lz7Y6%vK(olycDpE z&qm0sLCDwC9o+J!fR5*y27L2#mwv`WQQ?)1&=2#T-2*7~v0JDozWGg#8h-6aLLS@cvys(;^e1Ygf@MhYodG<`xEm-A=M z&5i!m=XR|lBI(;Pj)^2PfTFO|F<1^0+8uz3XV~}kFikqf=gc;#M4LO<=T+a4XSJyd z0N3B7`L6x@C>>kb6`f8uB4FB;I1DTsHv{Z&$X?+C83wD8JL@<9Wi)zW15z!q?l<}F)_=&(Eo*9kb{7as<)w|sfaP`^yPWUi|+T_w5f{M zUZry#v^`)+QynEi2MYU^)p;HOEw7iW>E|FDijQSnj&c>#LeJZ1<-=J`-ZzJx=<^!U zJ!RQ354i*o>~k_Aw`TvDb_D&xZ9|+tRzvDAjL7>_sukAP)bSUsxp_WOd|C3W9Vi#n z(;B+08eAZT2DOyxu~zPN^+F|;M5*VDmQMcjzW`)L^*iAQ5$01%OwaSTi|7_;Rk7`2 z+Sv&`Qk(`-cMznVg)xzwA3VNa!~8Q;EgC&^Fm*R*5*j5ZklT-#*9->9{_CH%bLW`1 zGpE!n@15&?!jv}yK5@8}l z_5C{}LwOoaMO?gqQ+CCbEfLRv?C6W2D`xr@pk{Gwsoh^*ZX?~*I3KV!m@AE9NQ`;!D+Sv+c4c@+0yFzDiMslj$em^I`cDq z(Xl?2L#qah;-E(Tg0nKi<>A!|>02Y>;ax76$e1`|Iqiwyt8bXeoOA*`Gz77=1M%r@ zufzxY$asY zWsaU0G7d(#I)Q7eRrm8aIt#nzk2RZoQEH3ZT1`CQ%R<`iQ!?$(KLR|bCF`qn)bWdub5~U7<>1Ala@pn?^paBjDFAoH@hu;i0k>FA#~1-%2g7yKWz`-5t_Kp$ zN7G!Rc?oWxXv*7^lCLSG=Bcdb2?64=2F{&=kc1s(1NyM{I?^?f_@ z9Tw|P4mY|9i5(0p%Nq9QuiKPX+-?fLI;pzR9hooj*Ci_rwCyks%t5<5MO@d_IQ0-F zM5GPPx@iLeE5Kc|_YA2`bsg=ad)U4ss{ zcgx0Dhx0+vgcOFxD=waANUuI*rIC75oY!!YtQfZ3 zS*VEVWF8v_S9Y$puu5dcxvr#vb?ly`%7REVI7!RR&Fzv*;sN(~Jk{-w&9~HS->t7c zD6QpDAp^}9WK$X$l%O}hvR+4Y?0b&fxH3(KTos&h&!ziOyoLKg5hbTMEAgqrdb9x< zvXSz>>D)>IfGU%f1Ph~NIdXQuVQ;$WrXio^K9>AcVSVWkL+X}JleyYn{L9zoH)g+%fwayZy3y|MYcg3UwF9Z=N!dRc`!IbD>(6!-Nvh9r>RNP4 zGSGfeF|@w@=t2>;zUnDQfY^kE1{OYealj>bF`w7eOeC`1{Pm$|Dr$Dn%8nPnR+Q30 z;H!}z?X0ZBbTTF^@ZiV$SiShviy6cQcMH&taC8vOsx@OOI_F6H!zEwDWxn^@wLn2w zxrsZVBa*M@n%LD*dm$AII*XT1!MyHmqr+nr593bLjJ`|kvJ6r-(>(6A*O%0X;4}0^DhkfTnSw*cyl<~kV9nRJhH%S(ikS7`4-34}Zo{)N#>f7m48YY`ZyY9KDQtJ~ho@Dw| zFFWxVyhuL1s^-#z$saYKP0vohhJU)BE`&UC&e(a~xdDv>W`jPT3C#ChKD8H1er!+) zJcZ6Kx35Ot)vbAFmD}vv+ZMy6C97jV`G$TImGzZ=>Cb(v%{w>3)D*{_)RcW8?52!_ z=|=~PdDZ?22mJi!*FtZPN1vT{MHmrAH+aA*qI0;?1+4ncclV5{J)h1?uq8Y; zV4YRNxhvA?>ot>;)Dmd{US<&OzR<+&6Fm-?JUevceHYm32r16#1OJE`_L*+BnzkSr z_NVSE0IC%Oaz{C!vax~uMgSj(SC&2#*|p!85#CWwpZ{)oMLUB&fy_@4X4;Fhc&Ftb z>rtRGZvdg~=RK$oXx%cTvDNCUooB(~O$Ck{gg*Y5I-268%_^Ryf!W;-v6FH@k9m?% zc+*%A(nvsyym#^EoGLrE=9O@SSnukYIxYZhIAdmEZ}w^VaV-`~h;chQ4=eol`=4zN zHhU?ZzF|b{g=~{Bs`=Qp6$K>^9nl0R;0@iFZ=_+<726Ud+#RNfy9OsFohGum20h*~ zHXM9cj8NVBksDd1bEDaqNyY}=_RF>>YnqSH*B6<6=*jb1VEkcE72AWt2LJgISaFf2 zBUe#NL3z5 zq1ve=)MC91PCkA%d|!Eea=9k19kwrYNkg5jm}oJQT5`BPVBgpDB|2MAi~CBP?NY0{ z#pSaSHdpGr=)quMha&9;fB>#}WqIv?4qAIG`%RlaGB#~ervnofLt|Cfefn0Z4OoQB z=M&aVA3y>4@lBq8GU`nZshwN&JQrekCiMh8YUr}aGG6z}nbCI6U+SH0S{5DV6@l!2 zupJ+y$G(H*w6dKMjS-nE^RL3*L@@8=@iPr=OCDUk7?tuYTciQf<;A9lXxd^6zH2@T zmUcdRi#Var@v@TTA4*_Pup@c@9W^%6TMth1MJ?G`=1$G! z8RB7a%qdxg)xE!m}nQ;VJUJyg{;PaI>z_X0C@1r#R9J*Bj{$05!Gb$ha z^SgGI8@mKfpD{{f$_)&+sTG2>r6K3}%HfEC<{-=?qSDI+1egr9V_$}k(h5??1tU&A z{W#{B_$e!p8eAb{;@*DoM{+_X$#p26hGVj5BRyuSawM(q+D<_>Zzs+*r+oc6Da8+( z!Tt*p7-Efye{(qXs*#VYuZ2pd$}8~vCuOS4S)l!W+F%clg`@G7*JDigKMQR|!Gxk} z&bIHgq@`cG#FkAKe0f64(bR@wu>#dY3#Kbrf-hQDYW&? zEH=1QR_wf1k5}8rsF&sPoSyTJT8EjbKAVtnG)`XZD_SQTD^)v5uUj_(OJBu@@>>u! zR{%T2?mfw-vMiC6>dP(y!eG%22{vFSw2(Ufr(H63=Pp*x#ptI)nf9?AhP?i@U*3#9 zJXBk+*tAQE$ME;P7-+0HmKbRKkwX*3p5n8b*WKb-Mn-rbQDPU>cumeYnQk7D2f4md zMktUPk^}W?G?71yYsKr2GBsl5Xh{(=a2!#L=Q>%`SK_X>fB~h|sZNtmP91&QbbaDd z_dNhJ=SGZ|g*OU=ucBFhrJqTg6(ZYOrPpoOiKLnQ?%S-Xp0`KoC(P8wc8_hinRE}x zyoCm(;dU?1{8Sme@Y2!@qQC#?!3g%bN#B-5bznUN-LoJy+Vgzr%c+|N0gO78JsTH# zpZ>7oI2;YATQ=0rub@CTGx23g_Qo1++VU`S!_N3D}4qeIHPL)YWK_Sje$SBWj@dk#7rdTi@J{W1Qn8zr`# zlw4#^rs1d0={*te%^TeOxXr*w5$yBa(sYuD$|ZmwXHPRY0)mj6k}U zsGmEeSL<>|g4bp?f$ZswEST2g?vf>^gLLQ%@!>|u^}#vi!RylMjW8WzD9~=i;$Yv9!DrSZ zN;>c;cXgq?4mOfTBJ4T}TQIEA8o*f>nm1Y|pUNs?of0KL=f6h_?t4zx_r0^_QbAK0 zqcffpGr)0*kPjf4IA1xK{VeTpOu|m|$53%VeS}|fh@w=ifCb%Sc=V1Dq?14Hnr}Ws zd7j*7#fo9l1kK;!`l5E6(DAg&uE-Wniyz#oJW^pZACJ9xcLg-{GZzn+iNxrTek?G* zm_wECY_XePfY^vgaEWR&JP+{0B4~~pvnG$}3OAU4VC`iR3y%+2GP5#1 zG*Yw^D$+ESkMHrG=PPyg#lbmRyiy`>UJXstY;KtO74~<~%V%<3L1BGJj|yESlhnhF z3ITnab8B8+;5Il}VqU*CuG;ZR&wTA%OeT7NV45PbPp1koIO#N#Zu3F9ztul8mv&`P ztN(O~u&!_@mGdgo;}cw(`0ATze2)0Wleb-ho=qVvL+z>0mA`*C=**|V7tz7}BHGY$ zMnd>z<)HBJX{xv5F%{H4Pe%6Cj!9kR>MQVVk1^Zi1{C#JbK__qd_5d(@KuCz)}2CT zwpd;yS#3V|N|X%O5?}k&nIOT)WwSDiWBkKcPE7437SXyT^9g*@1LBfI4cB@tAQ?ns zq%-&p8Yk9v3O0~~Q($M>b<)LS$|5Ld_T+vgbM}ms%g3L!*^!+mc7p-KW;wBzasn&# zn3t6`bT5aE63$6CKD5c;ifl&KW4JpcBxHvx8zt?>IPqf6HW^P35%M;$<4)r-xH97- z_Pf?PLRcP~u84MiN?TNh(SB&S@%1d#vwfylYg)#$ch~j*0AE0$zoT<|q9K?XXXTPv zwh<2?Xw`o^`<}~1eW77pVLeht^5fH~vLD?hP0g>8+5)G~`@!rVJbLp6|LgDm^z2)9 z(Ekd>f@Mvo$vL=LO#h2q(!Wmv!GZiRR+Rl{UjVgm9QnMbj5O;F&XVUxBF6cSQ^7Se4MO6p}%M(BO<03SZf*LbPzFTgP@3Y6HuiLiy z_s(7?{bK*};j53oA2}n<;pGRNykGx`oEv)+bcBC>y8RC$C;Igw`IPf+Bwc9qW&8-+ z8Nk~MSIwAUUDzz$tK1;#UMz;v_fg;XV6mcg}nMQIN7Oxnff0Z{BfAjQ{_8qYSb0o zERAg1=H4^AEg42n4P{{RWV2Q7%M-vV_YxYy^zDm0o4`zxTe<%c$M!?9$$WXbCu+y>;+M-|;ukYc7~IS;etjV7b4Pi>(R%hQeD6)#Ptt;=W(La-*>Rvg=#2iPTtB3w z=7JxQve?_{U7yc;-;IzQLzAVg;TPm)thi>id`b$>wN= zv}*q=*5xgh@u`5O4B1jrlu1`#`Gwn2X( z*EkEBn$NT*`t8`NPfBz4MyYKt{TmL__tL%$^*avbnx-bGHy@I~)mdVxrp6}>$5H`mu5jYV6t$vf8 znlkF|RS?}Tw~!x_ejw95ojtw3AfLz@S*G#@WYn8XruG(NgS+G!>kp)lf||ljgj zZ@46w^HCM)|98QC=bV0oSqJ6qEAPGFV%hrVbwdAl;Ybx~g$(k&`o4_#{l+(OlBRcy zrAFL8U%9;b3K!LO?fbl3|2Dpsy(+TqyHa$E#Y`9Wl_5C%d`&igoXK&2ri85S(7U#O z$oEdR9|$ zb2_}&=9+fAM{275n;Z~-E%!Vl{CTvLM}j{#3&*Dnm?EtSzN8Z2|J{;&e%f$SzG~Hl z6SF$;&(cBvpNMP2kOcz|L7G2n&c)V6UzXaBeC(N>r}jqC4_j8u`n_xad8)6V&xAlp z1nz$GYvG`ZONoZ7YP%a`9Z=d{5}VC%}+Qe)A5QPzKr55LI&<#X&vTI5KU z`)PHFr0fpqo9oX9%b`f?&B~9uwXLh>ykD+Wzb@ya$+F(kT$~oJ&GpSTPXG5JH{odjWzIsc%|;5V(+C3&6y|6JI8i|o_AO>fF)&)%Q)`O9bjfiuDX z@#i6_5mmD5a5>|Qu`2ka)I$9;8T+p6gMRw~%lV0%zpj=3@3M*TYqAesBjqb&@{~Bi zzMpYPhx}O-=k-_Tt(g7sYah6_y07EqrbhaM`;>%kzaTY`r4P(9n|y+_^8Ha=Eu&R_ zcmAr`i_0v92Pa3)V%cP7j~`t#uX3M}h|PN?3n$jm|G{fMp;yxP)bGg80$-Me7s@eM zF4s79TH8yd|Npifi5F$CjxxILIw9rKE<_W;()ySE)(gKxNQaB^%kBi}NOZiMQBUoe z^#8MWC4f~GS9@meeOp$-?!qbpvLqlPDgt3q>Vj+%wN_iTt+lPSb?Ii8*!ug|>Tg@y zs%YJ^d=i;jlAwuG|KOY9?q|XY6d!6h2+TY`GWqPwP zHT41-E6k~MRcKd0cXI*U_)eu$-b4wkWQ~N_8)>loxOl>%oSWCo-1N_;z>d~4+yxgL4sAiIe43q7v!OXg<7ULc>u1IQ!W>FS z3gHGcXAnm223RKSH^r$W#92b{W3y4*vX)un((^GBFND8ldb}+@ngpB16d%wA59rfK z%)gy!Rm(`Y?~p0CV02HmB`6K35ci+yc z|1A4ilHEX#$qv(|YF};25GYEg0`x0Ei*ZRos1vPrHo6%mE*kMe9BAK!+j>V3Q9@1bjlFZQIkyBSbi zIX4S-fWePK7tNbzboL8W^*spLimf1}QGg?yDog_wQbOQH8^DQxqueuj;qV7m&Dy*^ zoboN@ITtQ1Mn(B`xCig&T!@||(If?9*9_3+;Rz6e*j#)R3^5NKi;o$7mm0Zr!7B&qI0lGheAS4yy0kQ z&!jit>p*XMfhP2dyPI1BAnoLvZj+R}d?HLpuLYl+W(LGhqP}5mU|ASD6(N^*)Hqm^ z7L4p8dGIHYXl{a%C6yG6NugwHW}cX^fym+lhM`)Waa(P#6cyoI9;3?_nkf?h$8?Y* zMQ22DzZ%9)mm&bZFA;8o6ncS|AN)2(^j3^54l%&xBuI(Y+#r}V7jsVaDI>KScE_5R za}a)D)57NRJI|ZPK*CIyn+M5xldKq^g-5{+>7)91Hkhzq;Uxclm+re3Hx}lMT{0*= zSz&kJYI_(c`09yn&+mBh0z=Vn!S48=H^uW^)undx*Z5g5&<3uUYI`VecMxBI8=!FW z%+Eo(uEXhbQY)_-BcFs@QVQU};BvV5{Mx+QyKx4Kzv(J#x65@o_~1WqRrDmmDv@zM z!UmuA9K>UUfZZ9a=r5&9xo%QHPF&+VwFE1eV~KG(9hbr@Q_MFHC*BI8Iyb2LlkS`IBEh>HY7nCr?MLhMz;= ze$JQbyG00|Ns24YQCzj3!H#iHM$H}N3K;T_U}UaPR4$T9pbe+%raKmBEp7_`7Vb0u zpNL|XsLE`p8Gf(0ct)FH+8ZIsv;fATCFsCChRSE0|H|;_DrFkAW$~x!HfN5N#e%WS zUO&c&YGm;1dC-We!f)J&k%Qs4{Zs7y=R;UXx)bhL;?-{5sb9+h5c2*H`08)s%yAg8 zi^}9KC*&B#C#E*g?qmX%4n(k>EQf;axnzPXp0N09)gJ>1M7xw^quJr$ft1Wp&UA<5 z^$*=+Ot^4)c4|1~Vx7l43{&_RC!xzTTMUZQ_7Vt2KkW zk3|%e|DC*KOb>>`q4;90ZMWtit8I^8!l5@^C}5%qf{}wjgU`5h<2j?e{IY}t<^a$p zG4S}uk7s$gyj@84DmLn06ztBi6^Y!Y%6KGg+-5iSmoCRkTu2V-e85i;QFNQQCy%W2?P# zG8~VAvGa3=;vjc4F~boh5PS+cjkSC1ho0F~3s8Mfe&A9Av1IkkP47hnUmGo)yKv-{ z7@Ny+Q)=h7c9?Yx$}zt%4N~F#^7nurv9XdQ(VY{RXBU& ztId>f9y=H~f`RAv&h4rM)bE0G%Y*AnAH3)$kSIXAlN=0K!2r4Ir0)oxiNFFsgCA8d z3fLa?L_!8h6ZAiX12dr+Qn1vUu7{pQ@P$)iW{{_>Wb?TZ$j=J$udT){nY{4qE*cA5 z4=^Vouy+K|G*i^4#5eu&%e4iwEUURmF2+xXXiyBn~W(LYfo7Rsu zdPKBANl{p^N)KS{Hh_=*92XH(VCtvhO4hD8%IJdmb1E#n`k1^n6b7V-G3jh8?I~Vd zgjl2hn+4VI`Ed^43TgO+N5PtGG;uMJsgLHNP@~7KfN<<<)B(3}Q$c5WO@!!z5zyV5 zt~Ttx$JXEIuY8y*y}dNMk6+Vo0^V}$j!&a1Py7j(;!L;bAgdoNY=1s^$*_A?P5-Fm zM4&pxlZzf4;HlNvH0&AQ=27JJOu9-+WYE?lJRYGmL|YeFv z)h@sAnd}vBTwCJY2ph)qbre`(Aj!!R1_sPUjV)F%k5EK!8I(QYXWl1wVa`QT;Y)Z% zr^2F%MNZ(NFi_c%vOM$oGu^#z{bH%}OK@q_Xw|LuA%aedD@S?Nk!C{l`kJ|;=43;- ze}x(cfF2217&4J7NLWg6vf>ja7izp@6C>V4~9DqR}0(4bUH&=0z3Q;-|SPA1=J?JB_5 zX==b1l#zt9V5J8Ayex+!$RW&+8uZ17@$ukyPY9;wA&?OS3NdG*kxV9=v&lkg&!E1D zgq++3*{5PDU8=bGz-YloeLS+RXgLC8A0Xkr1BUA7@3*1;H=#WDD zDG6F89U}1yFPa3_c^DA}I5&pC0%V9?I)`DZgYs$~hG?1KVuuv+5ZCoOjI)aecnad# z`3$LN7`40?25|^zY&Q0qbJSGDN3LZ}y2OP>8m>y~5DW6QR17{Sw{9TNU(|&pXxQ zar0jy|CzLAn#7Ye0MIxTaHQOzb%<}h7IaIOM6W9Fq!w*);3yra$;8@Ep?tLdOnv}s zF&fEKVj6O`&Xi(=ZTYyP%2##0QZ5BPuSDQ@B~luTaih4S6dH$V)!6Mcxg8_92fR%= zMy&>VT%3tYif;#tX1e$S3S}sr&DhZ3aV)O|ng}!%w(V7uPyjEsTB-Z zBpj{O=DhCk7$9Mhm}Y3L-5>&^L9|E1|7#eoZa)(Nl~<{*%FW9zPO>XtJN&4{9|07g z-O!Y?n66KOFn5{9>l%O!p9TDZdV(H*ken9V0S0h8PfAr#n~bi^FnNL~D6i@TMNG?} zJfLZED~^13qwZZ`NxuOrT@4}P5HYO~ID9w}1=GsALSX0tI(RbR=nGDJfZ`S@rV!Z* z^GXa9Y+1?OV>ejj|KhgIxoc;Yd}(!P%-eXX%7#KQd?gs&9>icpnn(d-(s#Wc52$Z9 zm@dM_enf7lfS_Cp*+O!Kr7|7Y#|LGPU{LRcQV@W6U*Pd1>K+*Vh}JmhgoLt(>$Um? zOi`{xmH)vf>5@5bsH;Ka8(rrmkovyDT=^38?i*NFKtV$a2kryD+`wx$qt-YTuAcoN z-3`J8DZL;-hGkvRV#m?GD^00EtP97@Fu;fW?6S5(OEs8e!Xq8P?TTJ5? zj57r6N%hz~fHm{?Dz|Fs5Ckr28<@)W0kjmvBW*M; zdKDMSC1~R(AO#+)q`=(cq&$duJ74G83Sp?$;y7U+qJ)d6_ZXTN3ftz>MX$j+C*T_k z=*hA_En-@MrpsL&yuDO{8Hur{m_plZ2n0 zis{`4qud{dNm=3W0?qfT{td}lP+qDC20jzxDajcy6IagBk4~^DC;P&I>IO?ppQgcr5~#j)Lro@6L7LR zA!ryYg2D7B#=o5XuK4EgS4G!tuS)=EPLm15K*1LUnL&5$APCfx5HI2fE}yGEoh13| z9K}@vho#*#U84s_L0J2)fM-F(RwDI$G8hu$8&I+@LCXqZSM|Efow{-Px7HtQ4QZ2> z=9~gXb{wj?0P}qm%J;^n6Q+BUR$&lAAagdH?c zT=b@TBT6AWK=D)##l@#!#NUJ+%o{bHn)lzm_;V;3nonaNAC#_i_MQu-Z!8PS3!&dS z9o^5u7>Q#9t>&vZ@eKf=lUA;X(;%*0i}+6Si)L&ji>448cw&)wKOsc}7~jKy=u=o5 z6zNPZR6CVyD4Gb7r-ekf`7&W#q6gV@;Oq=!O-H{X6|GU851{$DdfKKvEi~WsE8zRw zc|#F2UrrNlr59OAMU+DQ0i%8hF0x->F0H~v1%;Xjyww`hes00Jo!zdgF_=SBQ69JY z;RZ;~GLvWIk78!xf)Qge-^W9#;ewEJ^o5OICT-Bkx>4>!o!imhSMgU-itpqPmR-Ee z-%^zm7Y@yVAa*`%056gOV>Hm;6~a8w-cqRqyui)_^+dkS4A#bpd3bYa@)T)1F8 zT2Z$rZ|F}Vvf`w92_L;w;(M(oj0c7ItbobR-`0eoyrTNwoV@{-ON>6NK>tRd?Dcv8 z3Vp`ud2o+{BA!m*5ZuhZIeu@e8s~!knzbI>cM6 zeI`OJYY(G6$1s3@H_H2+~}(mY;{3#<(05LcRk<)B?XQUwM1h zru{7!tbdF3*B33%0J)kC?2o{RrdeJR4GjSnL-MOt-AhXB!iLArcheY9n||y(bubVm z3}9uGc`X(-gNB;~xrw;OcO~zdasSkUp~dHZTw0OeR)}ttP|^Xb;RUil)NZZqX}D`= z!l&V8Pl|hB5H|`2{f#WsJ0N15E=LywI0+q%Yn;bNdKza!C1F6$*#XX#r@;h20wu|I zE6|3N1uvq^i{s~yI9;gn7BDuKfr%vxk`of0WP@Y-6qa0nF1)PdrASy?D8c$b?{F2! zu4(yoLSt4QK-xg|{ZN8D3%jRBR?qzCi*SptyTLp~d;|I4nELvtN9t;VKSjT;LXG{x zt)t0&fQT4ft}$3FvCA)7HsIN1tYsmh$$Db+5XzMxlzj!b`22yjvs<^QXaJ*dR`DkM z-gMDxBOj~v8~?=bsTjjfGyrxJod{!Y^=ARz7j;-xVCCMGi}USoF2{W86AjBNvmcy& z4Q79dH$}UD`L{|xH=l*^&-y%5al8y!mm$vPFer0ys~EouQz4^%`GiqPoU#~-%!3j# z+vI;DY}2F-oPCb(CqO0U7R}liif6X5)tU=um6~%3g4Tbb@Vy4}>1R+L!l- zTbqsXybaQA7u-S6qO#XMhU=-267lH! z7Jj{%S6qhIi|La)f7Du3YeVfu^3 zY?{#{*gH1)$x`Es{cdG$;fQRUqB^NPV<5km#_#E{06_~`@`xP zA8k7dxV2x)-`TKl&8(6;!L8ng-o1~Q71k;^F1Kl_&skRpZP&Phiu<_NiTe{cgYCob zgvRs3aR+J&&@t~7e^aTd*JHjc!o2VU|4n5J>lwvB!gT71Pxr729G9u`(n@YHF&mFh zf@1Etx7Pj?h=~Rp!yWkC-Ax<#lXIt*+MZ8EGfPTSJicE;(76tMtUoQck0xs!X(>0* zec{6F?wI3e!CfdbQk*F%<~k{aJ;INGv-?eJ!miC7rN}I>+Y2xl0Q*ggv|f}oFk;Og}F+8H11$_GJ;r0%v@mJW?T8>V7^h$w|RY3zd36|*s;WpZ@in)|FbnSXZ;AShIixL=aKG%AxrZC9N_|vZ!4MpCW}Cd zEd{zrimP|<`8Ve2?+{n&X6UiL4Snc$%#XpZL;%qrOJOW*4*of~WqQ(rk>j!2PD7m$ za7$(j`vB9;fndu0R+U$c;afZ7{at!cxdSjgOkp7GCc+bXboTgyQAu;dq}{&6x?GZN zU$O44Q-8uSK)keIE-X@*S@Mf$gPpi2XYQoMBhE`WYz_d?z`zm8{p6QVdJA?w{=LEd zzkCG*`FA)e8L6nWg+N*8$>?#N{w%vpXF7!AEMZ-Gyw_IQ6_pOHYOKn7W2wB=zovOYf1;11G>#tLsC==&4 z`fJLHh`|E*h8@D4X5D}fiuS!WcQm>FegHloh?)~TZs4@b8pm*^$0_7lVb3(Trs{M z6ygDud7j4nUznk|R=KK-l?@*wpsipTRTS5&$+Xv_d7uTGiNo;Dw)Z4jsvMW_80;3G zuX>p|u1&TU{zI~~!@PR}%Hzi=xVxQX9?UU*7FYFi?3C|FWgHj6jx^fI(pTEF>xphE zHi**^Q{yBso~KV-nDb^($k*PQQSxrGfa<_u83XdUZ=TCgYm6x{4!#6KeGUYQA&N_Z zkGgJtEZ681a4--C25@?pqj-5YJ%WJch}Xx0)p{Wq-~TO|`OybqG;1l#hO;)18^Ze& z=jYTQU?}d|WZyArjQNU-J+gXQ$%mFIYbrB%Sz`&UH_;F7+D+wX{aHu`17rCK0{Q-7 z?d;8KTQ3xT4#EKxG^>h643}_y=mVj35ad2#N7g5K5f)u=myuHrdiZC6Vqf@>L@y_3 z9LJtk3vgD!IpVpsvp?D$joQgQ2(Di%f>p-(km)n*;K;PS5UdM?C0MjrOTM%KaLXs) zlL=cXWrZXlsBDk*de#=@9ec-iK6q68Y-aHC0sHsH|k_XaGY(bO1oY=OL_NLWg-fCF?! zy1cm1uP#uIK0lnI)V_XY&l{sM4~0v?&6x%%_$?Mz1>7PiYLre%{OW&2$(T+Fvkl-Ue^+=T$R{KaM5>NnwH@ zeOwdw2aEUj;O!rkP3bZ3iyp!(Tia1xKd}e zn~P>g9-KT?_xSvRT?j&(LGGbe6VX;!uHo_>`A|)5&9b7|Eywb-Qh(uPn@T6Woc%od zP4Q1pM_GJ@pXdM<3cu699g-WNlUl$45l$yL7)S^PNQp%OVd?Y$TKb6~L%&7j&fnxN z&be{&;*mp=?Ia-~NNPikKKI#k8PD%{{CuS<_zP?gzjymw*Smf0A=Cv8@viJ_G;OH+ z4yXylK<<)ZXF+T{jZXT&)YwYI)PU*Og7f)D*38~iXsePi3l(0zsT7xo-wTDry)cxz zCo0M-w0-`foYR4UF_G9f3S1+NlhQAtfPM@&Ag&IxOIEURvM}lv*jxx)KY-!dYmLP_ z+7u~t&|j#J_(egTSys>-ttql!rYja_+Z024AQb#KvI-lOhX3CCV6@khHGrK2#TDYD z2rq=NOsnNZs!YRuT2n~&w@bfG+(=dh=pRi}>gF$nWtmkt!pUDWtK@Z9`92B-_BOI^ zOjPprG`c}xBjLkVQ16fst0UyXb`0I$4)=CPq|j&%52m6-@`th3Kc+R`-V^o)QeNp$ zNEE4t`mbpxM@M-T!W)9H^ID4rSVvJ#OIz?ch*9?2+=U~qKEGgS@1rj*|Kdf{HXN`L zqsej$NnRj#>F~k8=P;8Wun8+}4kjhXN03sU2*oC}SyMB`pr@eV??Q@~@$(_%s%|D{ ztB*~C0FK*#IltsUZC%V`i?s?6&1dY*TCGNk_y3bwS$|y%#cXSrbhKJ8GSCgn0mcVH z#yAao3xd6eQ>sxOz(z_U6f4z?;6LB}PV|&l4Xp$!WiiOjWB404MKnAO^BaKGhnV1} zjeTL{$zhi2klC!FwnHMx>2z!{K*X1V@ImNOabhwZr>76$(H{=DKbtyv$*>+ouwn~= zQ+p&Bc;@S8QlH!L#1O?ByaM~lgD$t455?68f1RIEtSb_roaA62mKcDm)i~6Dig`u6 z&4$dAFD@TUQ`J{&R$-|a1$kdPYty}nYub;wHcG% zAQ=49h(R+S)|#4SK`Y+Kjj%n{WwMbULLu?=?7r806=8M96bB8j01Y~9o7KS@B?YmX zqFe$4vT zCONVq(cHln@(=t07ihTj+F0o*M|7U%$+@XMZ+!rNsyqS7q$6g)d%gj;%l@ip=BDT1 z-bw-4ZS?HK4g|^%c9sf17u8u;UZFY)dJn7QJ@|Loo3lTODjjHm_N}WomutdUfY@Gp zF*evf8{UNX4Ss@(^iVv8<3`v5${Yn&3&?R^#TNragz3f}5O5*f>eMyu6Pui!$>WtF@Fti_U`a(REL`p3F|PI zVkjE#YBF+Gp#Z0VsY)#1JCL;BjFp9mRj_R4?*$=hklh>TP1AY<$`WR*AS)@GFjy)E z1nYS|7stOAj^k}aURQ>~ZzuHh8G22aHfwdA1t~BSdEr651(2=#n zdEu44uU`@ih!JFe7u?U`d2O?HjIdUXfK8lr7Ye@>7DOwsul*%Gs7)I8+Q@F?k>GeG zgo#^24uC~mAG#B`NAhAI6u%`6tlS)!11$5Wiw7ny$T8i~k{9ZZ z1=;gEo|+}Ro)^HWKMt-d+dxDg`Z&qKKmsr@2#g=BMXa+lByiw=n1S-S?tpt|0$`6` zlZH6Om8$q`De?dXxe`IxTM5fF zkE9GK{otgxwN69)t5_vN9tzfIfk>)HFk(wlWuXkrkU~G*v?{T_tV~erg)zBZHN5|2 z`L^T@%U!PVr@ti)u{05Ggof_-!7gAZ=CN(-036(X4J({QJ=uVR=)6tLhmW?2mzS&q zkM+7e6=nGCBr>N^1Pk~BWx(y1v4R8f-Kg$Q>?$A{;G*?LUI|F4u!Nn3x%7ev=qvZD zTkkudeCAkWG$5+w@4h(H$h5-`P_;zUajD7zpOD2ZHxr$=%P#snkmeHeQQHoa-rCp) z&2p#!b7%N&_OWGm@o4l!xB+aUF0GPe)&eU@cqMUjRJQ zeNeKk>!z1%X>>I0~#52F7vCY5_UUtAt|!vK03M zik>*(o&)xKOzy&**AWxsS&AW(aOgS?0JNQ&92IrBV9!&R89KWPKhJ{H*bAol9vyB+ z*ih)TlN=1h4Fj+e5=BFX(v|ge^?C#2AAb8Zv!Qo|`eTpFW2{|y>Bcr2^mbgq$ZqJ& zNp_V$R1OvZWx!(bx*6+YZY^`nAW88)81L~A9QxUEeKL zEZ1PYKt9YZC%w!z8+FE~m|p~YyGwMirYNEt_?8|q>zou@V6jsI#pw_O7uG}}Av_}Z zU)t9+HVo_cWVj?>IeiT38QL`ahg z=%C+!_0r<{cUuXTZhQRPFH+%u?Zsuczly-ePz54 zI`Rk(EMjt+Z7`7n_2K~Z6Iip}J-FwQQf=gfMLB;0ohA9QJ`uD{sl=Ll-cauNZ{#;{ z0s-<5qi5C`Vi5w(AD^k^ze(|mwVw)^s!z)~JN8>gfz`3cKj|!dez*VtKmbWZK~#I+ zu<)@NWkI;f((Ck7;r~1YH#4nPg8YqDdC|QYBgRr6-M2(!6>voR-2p$~rd#1_O#$1~(o40jqJvO~{S~u2dg8 z*$DD3cHIYw^Tmnbhf)|jVgX;vb;?b6zZG=8A4B{HtI5=zOLhu)+PI!PlWTxpt5;$E z?6wNCmHf~#P=M&YXvdZUi!h4u6^JLPARbA0r{ab?&0yLowyuYy_DsRs*ae$D8r!%g zTtU7|>ilg8B>ilV1>3M1Ds#bYsW0RpyJ&+{#`jIwIP?8NR$?0ts|B%s_5e@sV2%y8 zzWS`T7XSQoxaRhHSZ$Sm%!|99&AIZ_Yob0UyJ`bID)Vezqt)tHMyrP=U4vyR#zkN~ zkx~XXTgqWfGls*)ZwmO}kI>de93*~#OAP3Dhfj6h)Lz)tabv5EnGAja>wuybeaJNZ z>jWV4T|j-IqVVoIStMIb=rcKc_a;TU#i9{sC#y9m!M6i@D~e`stcbY6W-8!9O%*wvBPiu*q_*HbI(uAS^tFcBbn0=D8bKk^N`DY8s;&4Q5K)9*gS{Y)mTdzqNG8JdY zwk=i&H;}w{qQSTe)^&cp%;R>g$GBV#zJTU+ToNL9rr_{B%a-hn^#_YJ3g7!>ety2i zGyBN8XW~nBeE{M2dnU5tgs;e;wpKdm4^n}1m|J&5ARzfiyQ{x>?aYaUNZM5#7jB5Od2kNvSh)11A<}Z1NdX$~4-IIixpVyQ#`CG+T~ly3lnv!K z-B=r!ZK_N&&rrsL=$Ex2q6jbKFZe=QUsCCZkXHm$(In(PK01>%0#8x`=rjO+4a zw(sx(do|cEMJ{Hr{@Oz@*h=8^pug-2%X`Z=?b&Ltp^%9*R;Dl!TkAc;rJ3`T+O>|D2|++6cSqZKm^@t zr+g%32ww;szB!UQlD#ZhihEN%Sy-}{ytwn}Nd>aNrl!C7p4JG@=dih$3pb@hrUE4v zYZbJP_+Se7PO)O4EbFEC#CMp7JtPg||2Q|kox3o5*ciCd0n%7N&^!W?;0-$59ZKL7 zJNuwX&an|0(kM|n*TvV39=LnsvXU<`Vh8L>F_;?A-SHln1C}rBh;-=cxGF~7hBeKjVh(NVJd`S6mjIc;WsIYoBB=98a^Rqa)VO&nD2(Np}ck# zsdSKl!9*N)wM$vI+zz*n8x2>pKkedaMT^H<+vB$-AT)^Z5mxgVHAmIk7>eWj($0v@=aRUGz z0YSSFQaDaq7Tx@%XfiEi4R{8 z-c>Zu^%|ob%-C14oGHFq)r~psjR-%n1TdO)VDEQZr}&TdqNcukg9+%;~&89h4`5~9@E=XXCbN%d+^K==P5Hi`2=L0vjz zCnq@=NJue=YW%m@1ca1(%X@Y5G9fLyq-Q0#~;|5C=|e zCX#BTj457Pg3Qfz9WElI42sLTu1YIb4RZ~)1Xc6z>e0pO;J<{JYVl7h@P)}tmsrFF zU-9oDI%Wn(hHx*~5Y?~$u3*=HI!7B0vL+4qg7*TKuV81XGjC>#7fvy9bO?a2fmplw z%%v_{lRfgM6h|l8{Y=*S3~qR#%2VymVxn3oUQzmSX<{t0Ijcqxd2?g2gJaMkZJnZ4s%cm8%T5Dg4q zmD56p2|Ub(?KA$M`kQdQAjSUIh9XEd5=&vm@;05GOAaDqdLLQeFKCNKb?CtTO7rM;S%I94QU054VU|iiehlkaS zJ>C_950DvKOQIIhYw$X_0aoH>AOzrTG3SXdX#;S`G&QN2NQ{kKXFBBaIdU_r6h2(atbG^LAH6{G$fk0c@ynD1D-6g)ada^n}>T)07!f_Xr~5iV%0LaH(4O*g$f;L?ji7jS#{r_RC2&byrBkzt5@bZimb+X&X@UO(B9tX2!mgM=i{+ip65;Rcr^q& zrC3)^axl;)FrY)r3ay82Si!II3U`~|3!%b;f+GSv;M!;1R0P__WJCpFH$dmO_84yz zG@1Q)J3ygb+_IG5PSJZz|IV%OL9`xQZv}9V z8=Yg96x?RQ-FBjz#SW&}*WBh=)0m;i!A#6h>r|W&4A90+F#+&FY^+mo3U!rMM>iI# zFHW4F^M>jYn^#OP-kT8ElBCgs(gL@ZRo!3R&BubfpMiJ@m*RForr{Dce@#q7xg-e& z95C7o2Hcs74Ak&i^VrlD%L#(Pxq_eyS###iIXsWei%-C7TK}afhjgi>BW@08ik)N@lOBXZNU>8q(lVN=3!%aKktm|g zE<_3g_ol5g>MA$uaDj45cg&#(YCI(^BN(fgV|-=ahMl=j=Kh;y9ohl6up2N7heOyu z1-EFT(^;h@UP50X{n>yeICvX)28AkZv{ecaBPufGKf80&FKN|+97X;q$B zQ;Gz2FS2GG1y*GEb4n*M28;l$d2C23uGJO%R@~Tft)?3fO<9t&Sa{{uH!dux0U_)# zgrT4`->qi$ORtmFqq)X^h+~?WxLMFtT2XLQCpj2sYZ&kZVD-SXTC8Jx3|sx`SB;?P zx~>1VUFd(CRbV0Z2ick1X6}e5)PqK6P(+gV<4zaRXo})hm{wzZ2>s)Diqlnu9r4#$gFidt!kuJqihAf>`7Pkid&u{n2~O+N7dC_%6w1(zSef`|kwYAkZ!~N-Un7Z`_ zo>MV1m3Y{bP#eKYjVT`GT-~qVJbB5m;#Jc>+81H}lCn6oudo8*n$2ZM8y`IIWaqN# zzHrCiZhJGbj~tmM+zM`(wAVBgUB>$Eb4kj1QO zcsuLIBFwi0f$Rdlb8%FBNUHlK4!4?Fn`OOzD%I?-; z!FKfWHTjyyNbi$_J@H{7*-NS_W>WW@n+4m^Aa}s79H_-9J!e%A1`xl=c0#NPep348 zZ`w3hgqRuCu%@i5_uaCA3*y{W)?@6;gVJo2jzSTh4)j32~s?||!j{Q5xa5pIPzC^*~D zm0!iL;W)PhegK3A7hc%JEqwUkgx90C2X4HJf5KKKBUAcISp|kBri!E{(E<@mxcx`w zdy{!0d`LG#V%=2R9oh(+k8g3BzHp=I*P5fiiXJYVn%V#c%=iP0 z^~M>?Z-bmKov<+H7Z)ziwtZE28|X57ar+Zz9@@3>U6VA)*&L>=HN#OK2P<80EXu=gv zUAYBA)1XZn8cyD5=HUt}ukW_?T50{^xcwvuX#K30j;sXnKvEckBdf(J9S#P%1p9B- z)tbK=LQDf6b_;mX58yJ!6t5s}0o!_)aN4HBT(0o0Q0!hXW$CEia|-6P=|h{Q`ivg# z1Ldi)V|R(QhvDGRLn|YFwJC8|Bg|#!ebEw((ByefRx(-{0rEv$OM=nccHHV8|z&oTC3m&vfS2;gjO5 z1G9eA#@%g+1U{s^A4*WO6N)Jt3q^27ScZ!An_*0IPjc~)e)ODq3d6=~CO2eH>VOwn zc+5C>pHKH5co$R*?;staY-`o+u;apHPYU&LIl(&LiH*K6odWg~y@6|3H*w$lqv?~U zKBVOqqNxgD*B5Ek6@>I+6JR!&R!!;o?!oId?P1SkuB6`?&0|pu^6pzQ{D4{HzV~&` z21n10ZMo^a#Bvsj2|Wg}JQY}GLt@SN1EbbYr=~_2x6nqLY%N%sIJ~}wI*gfM9C0@B zhbZW6hu*0aL{xJ7eClAL5JQqY5`;N1!ZJ&9)N-mU*0Q>D62%px0TvvRCojuwDnSE5 zD^h763Mb=E>Dv6Jm4V@KB(uFg_)d_M=+uHgaPvr>UM6Z!&y@m1u>-W942F^#!?Rw_ zV8}%{x#`|V0tE@YFy$5^9F~#5Jqt5v+u$DJ_ZYTwbN%Cy4E)os=wiWWcSUwUP}~pz zVWcAZ{~Y@ibnR_OU2dB#dS>j^iMDKzKj>Xj!4Qw1S=qyk3}7f%DPgfHW-Gq zmagB|TIRi=r;(xpyiKbz?g@2{G}1k+;zV6TuS`2|B~~E=UyAqP#9CI{-2XnF3flD) zyrx={&x)jtCC&PL{7?^lY*h`55jM)f6Rg2CbK+<{=N6K}M0htN1vIS&LF1K0S)gV^ z)A}zkRz<=f3Z}!+VU4cbWZmj>2~_TS;P>Q<7!HCwhI2N#$e`)KF9}W6VIbR755(_y zHlR2zF=LEAA&XqGFfA1VAHSkeH-+!57-^py%nwI~MZ=RIEgxuuZhHf3_~1UAA^ElI zaw@3Ah^e{GYa}hVc+1Lq30Uz^!Pn1xm+@($D3oTsjdF1wG0Pef+V+&GEFXsc=5DM} z*>y|sqZy?}^J+R8v5s&q#1`C`s~=GE=U&#i5U)u9|AAUr&|s3ZX$Ga!t^ZK@E^h3I z;NDHLB*oL7ga{6_kX5mv07?>Uro5qf2e+`jJ#d48cgi6_Z#l;qRp&1m+AGWOffflW zBc*uHMQt?iZd#h3dPigaFFe6-ueFqmPHb|yIxdU8C6G4PbJw6-7Q_95KbSyTKG5*_ z)K<7$Y?y#8iT#2q#sU<!Bx6n;5t&al$bNqDd{J0 zV%nXl>C~;40KFOtk4yfFR6>ZjnvhzuB=AFeRGDrM3)ftNKYhr(u$yqP%F3@a9F&v* zAdyw)R%X`TJ?1YXxkd~@{E^!MVm)AxN48h)VfALKxA~UG1cwwK^27ef?N{l+L;mEi zLuur7r|WeoNGrS0FjTitPUAOe1zBh;#CWRS2A|fs>+#zGi&UF(7PRTwl&M0k100ON zC@$B^KDedw_DuuaJLbARM16rK zv0gdd*8507w}pdnY_Nw9^~(f#erDMI-0uW-bj&iyl5k9mmOVSrIb#EGh9Y^X4zuYM z@*u+*H;7^5fz-{mZ{pmSZ{e^|d6N}X8H&8U+JFT&!5mb~K)!HrxQ@231xBh=Qakhv z&`@2TXGbd$X^M#SftxQwFR>n^h#!!it%FT!JcqLGe(^*(iKH(ihVxIrNScmNb(%mO zKHeR!-)_tly24npnw8N|3;tTlH??mWQWq}g9FXA2$7a+W2xOwCn?)jE*wk4NK}nMD+xX0DJ))APQY2T{Av&w4tL0iXLkt7Kd!V$>-wa;v>-XwrY#h9?0w*qGz2XV@&8n9t}b= z>@oOG54Ka@0W6W!TtQ1ZY~62g0ym9VDyaL>}p?81aOEgPrNqq8vZ4+n7gF=1ARuBrDCU zPag<*K*1ZA9FGd{@Q@LZ#Cw9QRQ*Inx2E~=6CQ+Km~XxGo@#siT&~{bmEpK~Dl|XG zgbtE*Tdi|98bv*DSmBR%pa+561H~;d149KsU0SxYd>kQxA7PjAaWS7Ss5zjsulEsJ z47GLLa~S;-4VqJRRsvHJc_68E|88k9^QVibeq0coy)`=;!6-4m5rNybE-T5hO(UlC zup<_7ZepkXkWUhvqg=hp?Dz&96wsMAmO1D-J0qllVVE(rVI+!V>?#)nJ3U~S?!mL!&@KP-DC6m{Vlii4Yd&~b z-4=1B+li?G0S?=M5;-rZ#E?-37-B30T~6RWNq3dBr8TLk;V6jVa!)mJ+mI*^{LJ?- z{^^qHc_qO!9ajbrlt>2Stpy7WLN}X~E2tm-)Wkj|k`nC($n|G=@<^_O*)J$WYk#A| zdxZBRI?qa%Fp*)(BNWW#Ai-|sQ{VC|M+nezx6{CVv)CI*;F5jhY$!cS3L)q4MF`pU zh){SCh4Q&cr5GLx7G3R4Z!otTDjctiig>i_Piqs4T||fGlP{5 z{%Xj2FAw6Hx@rNU06K4dQwZI#WRf96?}cmUwM`Gl+O8(;mDt_y3S3=A1O0x`DxR96 z6g_(4hwn05-#9*Th;Z_Xl=06{ZcD|{Z`~Bty0mpLLc$JykUBO42u&_^!na^790a#l z-!v6Jf}G%|*%+k+vzI8HvB^?80Z-_&H~Kr`K-ke6Ci9eycNL*T`nqxBe5WRU-cr&{6S~b=f%BS=9JZkG`!k+-zx~E)6>w>` ztrH-H8kkZ3rZiGsu@)29mh9;VI_$aZ2Hb3!A1`=3P`U34Y1mq0nQ6ZSy+;d{sD9cf>#@ zx2jN*QaCgB#?bl|;oJ)FPg49xQoeCdx6J0ZQFLr3tbxkBd!2nO1R_R+1G&jChmGO! z3`R?r)~%O%F0cbo#OQm+wj09eA?}eg{{cqUwl@sAp9Q#4W_$AqT#+SP5f163yvEgH zwBwR<10d8E9t!UyUl+8C4Bpt?Bp;IJV%eH4mrANNR8RYJ)z-P{`uqpYH9c8XTj`*s zLX_=Qr!aeF>oUMZ$j%sBCc?B~YP!U#>*)*F!UyqpVDzwWu#zxM^fC4x2Sf6Ty%Pgl zpmqC+jN-Z#+d_Oy2q|#Nztjglx;q<9y~HiQYFoDPbvdO%TR|q(_Lb$$KRnIneAQ6T zyEG$oTfA?N5_1OQi>4tcYKt>Ai5tw-2fa*Up4O~O>BR5-3_m(L%1k8{Yn^&v>e+qh z|F#R)YWVm4@gW$LJHIFm_jhjWP90fD>L*<1XYL7@MI$96j@WYh$XARXm~HwSA4BO^ zbbdz0ANnX@$Y)fjM3ecd^-wO%>JwD-O(-!lov-%9V^(W!spexE`JHhhr#u~Gc!X4|<)nIX zn=qQv{yTYBv&j5Vcq4)>GmI@6EFkBXI=h)K{20vbViS?=Z1GQb#D>|e@Vq>ifVe$F zb;*!--@Ssf@sfB93Vc};JV-Ya4QE-9m^K0i9f9Bm0fPNR1#dP;Gi_gXVBr9-Ub9p8 zx@Zo#)Z_f8A?)(oPgvutOTgQUn3JtxY(mIy10F^1I>9^AY`-9iU%Ey~j#s{(`98H#Ao@R4d5;40Y4L#$lR#X7>EBhe24){Okwm>GCj`2Y|g2 zzs5NyNB`Q66c!HNhVBNid+mo*pegv)+4us3Pf@FEf9UUXv8%qbtB;cF4#%H0f&(YL z@ld4~t7fa+NyUS;#e0$vIE^fgZI5CGt1EYi6bFjZ9SSG~$T&JU8N^Z~kM4ZATUI5{ zO%ZpxrJ|!#c`Uuahd=k}*;5-$TD8)3>1;*1xKf@J^5;V!UO69ug>T$uWfh{-dHB-i zs9Y{g7Yz_WP2IB)F+!H}<~kbg==fn{tXsc3g4kb2Bd&`@kGF%QX5z_4o;J<)zOE3t z2{A0I58nD7VvElL>BW=}M@L&bUwp>wVK5!XW3~3+;ZYn=x5mYwJa?AJmxP6&3xK(& z2rt1I?MC{PH@wQL3o|4hoQ>|S5Juq1v-W^kVj&M(HRxu=f5P3}v07ddlJfrqi{5jl z!trrFwfZ{loC(uVt1ybT{sN6}X*;0G2ojS%*ITCwf zgN`zp2dP_r&;#(67?vFD-g17L?Bqv8iSg6s(rqhobw%~;Rxv$+R`o~KK~+}Fvpmp_ zFp;Blfv*jY!^rO~S&mQsB((mee>QV9z{HOl-8ntQQ{M!2DvM@dBA9ndd}KvJ&3PI*xrTKg;?2-aH4~@h8g4fFDt0 zJzkz*HS(olqSjUFSgq=*f+01_RW<{%dc5>|WZ@!b@4&FXQ2+)*NtQPfRP3NXwZB8; zdB5#1^cj)%LMWxGsWU01y&Mz@~bYh0;-o(6H4hGqmzF zO4dUk$hwt1*5uT29(5dM2>d2={ibQ92L0T{9l|(DPQGo&V7D-H&)D|k*554~Q{ihw zl}nv#SJ@H!c+7K^^5G^=Z{^8~>kmKr(~#fx*%F~sJrHJcSzLc*6EM_@ zj}frB{jkf`mQh5U(HSD~!DxE$jFx^6Fh^@rtDOJCJ~Xbtza7JbSTyF6D2h;qdCRj( zfWV2(i3*;Mf(Z<@ywtt2`pk7%h_K7}V(IAk1qX5Tjvjc+-i8V6LN4%? z{DN+e7aX@#Cg{2bpywHca}wmX2?7pQF!-gS881|jK0a<}lO&@*=Xrz;AM_UoW8(sJ zv9@Wu(!-RG0!kJ#_QF|?9J}p0uXXAfy1xeo_ES0A$1k`chbQc}N2KYPZ-DYZ$q<>} zUOQr!G7{F{ZN0X{H*Wnb4G@DYZ&sN!p?LwL!6(X`d)_v|ARMU&N0|*8MjF}MibEh* zx_~~_T7kh_r+H2R#)YaVK4gyRN z)^LCS94h(~Y2oy(WX2w*TT>&^J#?_}rCG9(=FdE?&(6<%U2RI(pqR*sF3Ov}bYxDv z@R{mJ>23#M*9V67G(QB&I=;Rc5|~qaN)aaW4F>2gVM!`zXza@Bx+^@^E>qg)R7`8$QTFS0(b~$IMp8v`9n1KhOCQ*2KvYTtRP+2#<}pZ=BV-BbTr6M2-Prw#K~mBWSt!YnQ9(t0JFR z!dE^MBAcvC=!uv< zRd!=OLJf!r(a>r$juG_jc#y@xASEK@lJhE0#kEV3eqqYBMJom+{~XP;~2%jqMa;_U}` z4(gHM@;$q6>l#x#d7SPy^G0b;B5~WHulp7&$o0J8kt@>qJ_^jwp#2SkLvkW%0W5+) zDo}P|QY=D=xlNc_F>2Rgaz(zsQS#hcTwo)KI4(2EyB^J9qC<>9yHmVuoWn>FeqK;D!QFdOc;s%z8|XGjIiwK%#Hs5Nw8ZJ{13paex6DRjcP<4^FaTH`Ow zG*>2LG8Cfy*l67j!-Z$5I$t-AEpd-GJS$nq*~*T`T- zg`_#bZRW0-9ZEvcCxG>iw7%oieH^n@3n|s}P?uom!E-YaZ;!akh~*ustruLwPd&;h zn8pklj7rRUMyJ;&{n?{MAhCUCMIzyrZ!R!zo(*kt(RJO@@bQ46pk1)l@cD6wWs=929~enpj4T@WSUQ}%Fkf?Hs5`t+|hA(NIzGmE|t z7Pg`}(Z{mIJB@5rk;mbGBhd}t?OXk=aTZjD2FH;jW+bJak{N+X{2tfMi}{+@-bd~S z2Tau5-7DZbq|IplQw<9r){96EjV zISsixWZ@P)^&AI+sE~me=5=jjQm_;PxVcsP<#qG@SMq}%XVd(e7f1F77j`%wRCvC+ z3P0gtiP3pe3ghkYz^1%gK#O0=o{}f$1TBw-^91mckFN8{NdT-3(?Nt6ROgIjgluix zSc)VVWkFb`4B9$hq{Gkbm1>Kx&6Akh zVGz(xvIM=rqF6$+HbxP(0(L&tDk?B(-u!?#UufKYgvbg{Ep$=tUn3|vO!oIXk4z$r zBPL+G3m>y93C)<0E}@B$)RD*ZyoLx2FdZP!1*wCMmz^u%zQNnewEQOA8*WZ{MAs;_ z7G8V`-V);#a~oDJ6C~@DMP(+PsI%kWAXP9NK`~Dtbp6H6RDFCpf-C`1-%hcktiBlo`C2m3DUI-!{{rIZM3ju*E4GokGj__G+$I|GMpl?2}r3yP?tyh}loVifnn$lh@b2Y-$nQlg^F`aU@0BHE5@ zt6-d7oet*wdTJGRh6;H_*h>5=1CzI0Mp*3DSQBIbDD59WamYD=G}d_#3d3%Kp5@T> z6$En{fOm=EDbp5wHhUF>qn7YoTb=xAm>f|LDgbB=i@(&6yH|T5Xi$8PLP(0A6Zq%xL=!RQJ}4 ze{ii6m6L{ycA!XB5<%{49I?59#roof-*Da)q6%RQS?VYc?bDH3+Ty z+i&i`432^vKh(26 z#bLF@aV<_|B}#`FSBgZy-fTz}NT3*oN;v@Vjw(k5n& z;3EXbfWmQ7AB@iyJ|cF?P!*2uEB0$3^dJ5Xz$stclk@#6q}V}_&9h(-jYrb5*GBt( z&M!H8ZPt>{l$%Un-$#VZZ3)GqXT5HA;S8`8;J_~7A@redk)Yz#hr>2bI?~mJMrK`>83>vd`RrouVUAUkH>u8fOJzVPOzLWo=5ZOpK*{@2 zuvd#KY|*s7Fxb|=umvt&21aQZf^zrVzwDCzj0NA}vtCHwue6!*o1w;zL{Y+Js0VP_ zpWn7XrXXHK4CVSpJ}rEXtbA``2uE^CZGci^TxT-cGYk=R$o01)x|3H1@3-uzo>eNi z0t?{&z<0KF`x3+SN9{{OjVTW}_O6&zjWr$ygB>kA)HXwht(R`&GtW+xcb0={D#=G3 zsb4Ucru9gbREbY{J9GcaJnxV<0x|j$0Rx4ep6hjIc)(H75>vc!r@7S*_a*QKoCAuA z0^x^(ZhPN-1!mI8Pzk8dxsiG*$Cj9I54KQGzKhBJ#M&_N1RMgv0t9WsrlvIeq8idaD zD{p)ra^p+PMtmFuKr~im-U7Ol?V>5 z;BBp<@{Bcf=8nzG%~`E998!R)to)tsve2qRf%*f9s!wot z5*T*K{b&f*jX=_a=|t_|4oYln5U3%f50(>#qVlW>)73u&>TLKEc;Hog&RNceF!|Hy+&{_3G7pJwb`=|#_%)p{Z~GDVfb{N z3?Y~6c%CzlebSeot(~D8u$Rdh^@LtArWZl3G*OB;86v;G!En23)Gnk_LA?@fv^~O6 zTNwT_?ksm*yps*7Q~!iNUUhPw1DX2doRpD%Vi^=MpYJPXy$l+Cu3Y)`XS=e*&-heL zK^n2Oa1!=6`x+`{b`2-Cc^?S6MhSqfxO7*sZJS@mDNckK3teLu)8U2-8<>|t0i~wb z;gNZ!;y{~nT!>=Lkr+4>EuM6I5c&X%l!f_{ukwPvw;!dGz#+oq8BxVP%XhUpr)q&U zP2&so`;dXjBP#zZxA{^If;$KTHXeB3jyiTJx!@!tyqPTxj8k~FH7pR9XxX3nHg9Md zdMF*q(WchkXw6};K_DxgSN9xBG%%uxc1>m#=RmwOJwUag5$TXR4p=a;s8D8oFyL>)yPg`-ybAyY>A;XLg=Lg7Z_aq z&^-Ca=Z!6_v6zcsZ&#weYM;d_`QHAAdl;Rr?NC+avt&1ooe~qoBdoUISM<(2#@E#& zXYFeNdvkB(6OB-8(=hYNFE!o>{ely2RLed7oL9X5FV7XL3KN{v)(C>DkC;Cydqs9W zC|!Dc7I-I#aq-N!y}SR7WPxU0v{ z!)!-%%OalRg;ou>)qY7q>p()M~kep90{|dnY>ljFnY&f7IGDS%1gs# zwy0Fp&-jETCI(p|1@PU!=iH!s_$2%(S@K3bl63^+*&iMvM&7;YNP$|>wP5XIgP=yO z>wH@`vc~$s+m})rkem58`T$lUOk&Ozx8Ftfe%v&mKQD{H=sHlj)oWVuTXpm)`5s&pdV}qq5>@^v}!gd`*Z>Sfa zCMUV|Bp@b;3|}qiqZ`@t1&>PHF0jC+^FD`*Ty5sVSe%32y>xb17Aln}aIkD>jKbRb z^eDLs90VGL@|mb3e?x(@^U1`l=**x`5wJR_y-*xnMp-G_>ypEb4MeD;O7g3L4J!MQ zNfz_YWN;d3S0lfDH6{5$XWe`olJF(;@0ah)GJ7U(5=+P>uPE&Z-+FY+-)NeALnhDe z#AJAUbq*>`d)#JgUk^P)xN(#(Kz9uF!5Q`(m0%gNH@*rBRl9+7d3}%9-$5?n)pInE z%rbpEy^qTh1vN?Fh$u8ayCj@knfkQBCcQpCrIQUl ztgXb`Q<>M)4f*X>{I{C0GnHDzF;Wcl(hHJpUFEybd456He67)eqhPntq4+@Tmbs5y2C^gu0ECw}#4n<#Gg?(Y4Ehp~&0LxzXvzF<}&K~7P&j-H) z`wr8GtKuRhSOK9PvBd*#4}~doEY6{>-k9flWrPBStT%j{V`x9Q zO7n4ggUxS)CzZ|0w0ctaR%_o_jba~Sdnne(AgG^{ce0Qfz(h<4c8z{$bIU4m64p^M z&2^idsFhNOa&oe;sk+%~gmqF=(Kxf!>vQ7J^YO4nM&#GC(BqDTo~n{iZ|LyaEc#ku zSny`=-T!*I-+h^L;#7FD{d~NBg1vBL{r05Ob?M7Tk*=B9y#D!mZ)S6~#S_)YOcB$v zNRA>Ru;)YhfoZP21~%MsJ<0_uZ zd~N2|6FR(P^##@Sk1J#r(^8AkoV<0=g1Q+baaU(<%753-X>d7WhNWHCBn;%b9O3=h zo$=Vr&t1$4$tLymxM(TREn==>jdCJyISI~Kgo_f(+^Jr_?Z@CYt=M#6B%s6BQLMU=8uQhTn&Rie9>(kLaadC2_;lq* z^zPn$SLuk?z(p?OxlMLC_BR)gjo0om-ge)gEUS!%R$E0TKSyiU_}g!a%leOu%(u)k ze>Pw+JJYV=<`y&hnOum=yKbje=2_i)pte4=bjk1>G<)#0Gw~;J$gq{}IW>jShYH71 z#MugX`851VKaBYF;KciI_5Ri^pa(`2=N9MYA^@$u_!v+zv$rIo?YiiAWYvIMn84=d zef&G=d8tcRFX7-%u?1Nt?R3m&4gYD1hi=_hEeyqM`-^KQCQq&y0|%#%oc5m%pMF$i z;i}aV>sn588DgH`&(-SJ!1XVWCLo(Z60jtELwTYR6Cbc&ArSc&25qvoH0d zc;6+{*@)UdS`cTxI!vGYq47G|fq`jwDgU|ec>-%C^IeRq-POZ0>CJ(taOxM!Qx6Ca z#k#gwKD~HY7YG>R$Br_y<@I`B&CHp;=yWqL^KdZhdg>kv=OpRrA|%omjSY`FP+f!+ zzK_i5iT5tH>b!7qT(ojH)q@y~%Z`B2aG4NKY8%EELLRp7f5o+EDPN!>d>J3*;BW9_ z%YHSB@ombCxW4mZ@HrivQgf9y4kg%L13nn9ISR8L9Y2x!IlqOtYnmwfL|pa^s(udH z*sV7W#{&A0I-d&o8OSoffq<}MNPZVmQN#RW#9Vif4})SIc{zzZY+eGr9<#&;&nD@0 zFIA~$$^3S(tWQqUQI)CFTEW( zC8o(sOWD#j>MVC%hkvf`rmB(6D^q0%@e8_~ZO2PC=Iyn+n%gV84kzDgyk$M_`CEq*U7~)5WQ+4(dBamPYp;ct~?Cu1)9l=Ih`N4lZ`y6q`i0$W@kd zwq3uMqdbR_+_JM9Ee~V;Z(<*71UjyYa$D!mN>ROedb*3fVQIh$;>A^1^0i2d! zmz}ls@@F27Yb!Lb`7xdDyU{=Sb6O|ND|jeI@MW9 z7i-yU#;!g8Y`VKM;>l4&l(^{87xRC>KrhK{tNXmr8Gb5us}-=m9UHT{pou(tb%-Uv zYUXC9`QW*}oSVw79p&peJ+D?Zm^CT;sQ%bd^s!etI{VI_-n0<5*SSUJk!TwmJ@jgH zFav$#y8nS~%3JG~rLA$^F3%)ePW@=9O@&Rh zPy72w)#|q&ZEphXJ(&cVGMHh&?w^sh*0lRAq&@3|D7!zlITeEnUbHwcO!u#oU3n2I zcKsQL&LdWijx16(TfNQKH=E_C@Iz+YU*+eNv69^|(T11FzBe5WZ*BE7^_=y1S47vI z4Nqxm@e1r4%@~K#`A`qYtBWb@4PVK*eK&eg>;qck2cG_Xs<{4!{iG0HB;xBz^+i}k z2wK79$-{dyR?bZer<+{#`lTzy1lc^Dp0Wwfkz$sJWJgs8M7Wc69Q_4e93gHLyIsuk za-+ljhdqSG1#K7}hwf*Bk3K@tL1gND)BPtzf22FX$gV3UpH1Uv!d~j1*L~ry48o*k z@w$&UrIYuUJYgQHqum#Lr}CTybLKU%@P%lk3ukE>d%Lsln$?lM2(`v0U8^b{szP_C z^cl0U%X%g)Y&lp-5UITg>tSR+?^3)Mt!z7d&yRDCo@(7>GoEK#rWJe@@%MAucpOFd zlh?Z4W423dDvmBcZl|~R-?UIy@zm9O*L;t}bi#&$0%u1K75`POBAb-9#^rBc3&UWq5a8uDz<} zyN`~8abwy}H(kFHBFL7_Lo*mXpQvRsA@Z6 z#15yeNb?+|s(yLM{8sGc0tTI6gWDoS&O|5ArC^};X(;}ved5ySKCIwhzt+Q~^%3KW z6E7x;m|67lbzI)eOuVg_9UZW##zOvsKr~MnvwUseR6a50yQ8*Yz_;{2<9Odb1toil)Hy z|CS7A?ft&(wi(+8bK4=YX4##$_at>>ASP(T1hnZ!B=chz@0#!QRP`K$)&pe;q@rHeI_JhsS?QU;l;}coQ6e3(Mg4#F| zY3L#SpZl-(u~E@a^Q|mZ3em+ehf&PayXmUK6{QSZ`y&BQ!W>Dl5eBKW3kf5ck!rX1 zl7*a2laU9^)V|5MO{Z2iS^Y6EIMxvYNBjiaZ#m;53uZNM8zX$7v{S#+z;8BAUVkwJ z;hyrUA1rAMr(@j*RBk=5KesIHCh$9&>&z19=&p>24iWk?PaLK_k6cs8R%-;C%5<-=rl0T|7F127gM=lIk zKCUQ?-)B{vAu2DdIv28n*r~l5%_pNfUxK?fj$;X<^K+Hz8`XmQvdw7o+EPPOH%kA9 zKB1TKLsYNVYp5kC$T}~q3eimqutCV%j*TBdo*%BAS|voCr7%ICA!#?~VLNrN(TJ~+%+6Aa4As11-i;IiI z2a~0ORu#BUc4R1i?NM%r8hm47{}})r$pZXzbXEQ z^iSY-dJNw(w~a`{R?lp=i|OMj2d8t3ec;ZvUYf>?O33m4hmHRlSMT=;pGtQS*@_p=QVXycYHDQ_OI;#I*jE|BoGrzr)Y~OW|C{qW9>LYxSPzc^ta$ zrzppNAS(9zCVtAVJe_Gyi^p_pL{q zo?hrSw0>S@DAsL0qOWw*e|Y$>0e4~kz|HoZ*jTaja3`gCpEvD#H9qw@)~AY(qs>QO zed^~|`ov%93aO=z|IC8z4hlrDlL@n%kqnG^zfUwqRpFN~{P(f^Nbb9vfo~zN!ftw> z_yW=_Q78}cZe_6l2-t^s_NR+0kxHjuC9z3?-)qUXRZG`4ZJF=?#tjhgSDwLkMPKSH zf8!q)L=ql~oSFhukK*xr0xn*;X^1ETG~5Z|{}n4>4h9CWxSA}gnsz$PEeYLRrKhJc zXhJEhjtPeSi(lRD|7zQRiz8LJvH-N~L!6<)hXJWB`E*(_-y{|9z|kbnTJ<9lwe9Xx(4#IcENH2Wxl zNytl(WX)kF*%5w0f+auI7-g!=>z}FKXyU$fWzV z95-wF{{iJpL=b9;-`?~^AtN2ss>C$v=D88~JB@!c)l38-uIg_!lCyv*hJOaoDFG$L z&C|l;)S7SPl89uf>3}&&6U|n3u6F4Ov3JLe(oQH<{MY>d?;`3X{$hSMMrvwbThA#< zFBH(k9hN03U3bKm{-1RMnSUTB_HSk+h(kSA%*%{k9_%rx<$18D>->inkZ6DqDoS5P zeQ84z?t{^>d`uCzrivS8Wz!Ka&9gfA>S?n&_m(tnGggJ*zj}dC;SaKu_mJhuC>O8= zt{=4^Qu&YO1DO^4t7PuDLsyJwjLXMdW1^z?6|FKAgl>4ov@V~r0b~0z3qv%)z0~`J z|IkeVl2yy*%RT>nM(?a>Ci{ae4{TF%1G?#=LN~WB)-AEC2Q2yf|48C5_n=sRxd)G$ ze^Y03L~>QMSW?Drl&Lc2S|QLkJD&?^GvS;HM{gn;hc)R8_tb1q;68dgZ*E! z?Cbiw=rMeUC|0zd3PtCu$c&4RZ>MZAG|Ap9?wd6u|GQ70ZC zJML~*fYnp5P;i-&6Gp6X33Ek_kgEeaU&{Xny&&MvUyr!@$YZ*bBR5dqXl#NQE{M@} zk^|BmOC0@1ix&W6SQ5dtkqz_jR4acKA5k6AKgA##i$e=b{dx})mYJj4Kl@M9Day%zA1q;KSQwq<>x6 z0n`dd5lE`~9rL1&nV&5S){hC@2+f(2|6%?wY_FIoeQT{V2t?;DdxbcJBMYx;d3fE? z_!TfB<3%UydMCG$!|BT1%vkM`8?RlZDslht<$(@_8UxR)Ix9$Pg-%%Ag64{?Y*Wvy zyOJc>C8d<^U%n7J{KKVV_*Sxq_|!Lo-G^8`73lkYLZBXR0XQ9p16=~R6o1KjcI z;dW_P+A{x{rkIM@U)87<+LXpymFySM~A0SBM^R6n*?+{00u6>d8xT5kn8VfuT`iL4~%X*vNY|_9hT~#5! z{71)`+Q9bcT^_Q_M6xr2beEjJT837KV;SQ(%o0B4?Dq3^+d+2Nkpq3#`iCO(KXN|Q z2RdM}+lKI!pcuh8Ff!Uu$QsY4#{Yd(ptA+qT*hlF9b~;Fg|6kWD2g<`Rk_Q{&vk9J z2zT~>$iblex2hJz5;b7I9&|J!jSDf5VG`3RSHdDWVpZ_`>ylya(t*w**CqS}p+``Q zeC9ixEF(SY(}}1J^F>mL=$jpLi%jM}rcXQ@1^k}T@^xht-njtUfrP8Lzl7TUJHtM;I)ccN9h9#tl{L?$VadC7yW2kpIUZfgZ>Qj`i`m4BCu} ziNFWNJB?(cz|-^2*M(Fj7a^*`2A4%1OqGuJ@iD|>-WB_wwL%H@VJO99qoYQV9x~Bb z(kUr|Q=uFQ$s97G*@1M{_*G<4cvP9wz^n=I6;S-6N_2I9T_l0R*X*|6=zSFn&VQ20 z&Fk-8yk{`gsl83+ZH-NOj=+8Y*Kueb186y|m!qUFvx#2Hj3`m?&Czel{Y57wz1_}TiV4zOm_W7Rx#u=8YF#WVHpfTHn6$&^_7 z$Om(Xe_^pi0nP>L&=KC0AfQxoP&+RJVYN2Y%Lg;ocLHj2eKzm&NtGD3Zt=XgXOW!p zum1$N{ymf3t{Yu8(6N)7y!>n;@o$EX)_>5?WA(QGtj9cJF(L_<=#%0=;`mvLWd`5; z&%O={#sb_4GTK*ZFPJ??N~RnRp4)~8^%BOwAz->91-HhHU{h>YKD`oBx3oWu+D9LVA2m-;R^b{!cqs{to5azRU8VveZYGvW6&OA`~N|vLp&+ zn6Z|9mt+}(NkaCJeM`wU*0JwOXhufS*al;lof+9@e5d#QW#;`4zQ@u0`W(l7&+}Z@ zb)M&SUeEow1t^u>24E#4`B77o+~KK}QwbBdrf~@?l-&5-ykBSW)9f?CR>P=(t+DIb zz)JB83N-kAoS|GqD`l~l+G216p`6E=Q5iNQEeusH4wO{jW3FpB8D=3^0miDzQ$rC>)!ZU>l19r>WT!gS0S`TCYsl2FDE~Y|0rnOFb8g1VVYY@ zyH+ab&sx=G@|BpRa{ODKM~Gw|^pJI6C3`R9`G|(f`O|^lqsk;a>tsxWo$Du2jLDt1 zLo^Ep+>dP7uBsso=Me`DcR;*e3nO#@Fqy<8%G|D$!tlXG8##3=F7PRN$)m1+o4lv7 zm;Kt{&`|twW_paR&W~6f)HAuLh80FTE{H*JDx-&^Um-kWSZObyNzogYZVQSv%;#70 zn&nlJaU2)Oq=jilQIQvl`hwoLMs~AlgQ0+3tGE_VID9TF?-C(LpJzStf`*4nwC$Cs zSoJ|w@6e9Zsl36EuNRyY&W|VE#g}f+WEEkv&h$jS_VMgg)(%>nfEB$8p)00%YEt)l zX&ZalbY4IhjSpHr!yI591U;CLn&4;b=Fq8{Rm2@brEZPa8Zj5Q);Z6q?*u8ffw`Nd zh|P(-=mAZrYP{`Y=Sbw1*|Mce!glbQIW3t#{zO%wJke@8W#nDKq0XstGwReqvRiQ- z!KDmA2plf~dlH_Gy^`ap@Zeeb?qnKzm3L)>Llqv3ioW#;Hu4~0C0kynF9%{s8A!3( z`RG;!fS#a@Eu@h_!gD>O6=88u-;}~0cjy}$?O@#C9m`VZaTY0sZTouFVapQZ}faR3g+G8}K~b=Jc>fuvS$(8-V{_ zzJ#gH1h(9<4zqqXYj&H_Bq=W2b2i1!Vzn+$l7?8-9}}pccCei`q%HP>+pyRyCpJWl zJh5ILlovn8uVNPUD6!;F{acaOJ*BgxrE2SUPc9@VmJ43%2-5cGa5>)#o|Mr| zPQTM@Yuou$zSZv8@|WRRNAbsGs&mk|x`&qWJ)HAIKzqF$Xfgj-@cBRR{iUR;aQVo# z1Ms0)ICFo;qrrc7GS@7sc{4cGWI@oAux>9lLX?+BVOV`f_Nflyt@KR+`6 zG%M_zy%6%!#irm6rYd{3)fj}0<|hZ0((M+xZk&EXHEgkf<7mt+s<`s}9a=zC<2v2G zRK)>@TT zEuX96s5i+6Y~-?j~1^ZD4#|-@Td>0!OMk zIFD{g8}HPhq}2q{RIa?wkEz!gU2Kzm^g&bP^vH9~q*Xp0Z%)m99LR0`?9oQ&2apx} z?;0AZMJ0aK6I*JJ`c%Q+pKPBkln4-pOSCi?asydf8j$(mRM*%B^-Px-xws6`!c%cqpkgxDJG@A@m%52IN z1p7Uqx>dEaX4!F5dNJ!sT%FotEX!PXSd=Cpu5r4n52CLqR6h-dJKKi~L**VyJd)Ez zP|xkXYD}BLZLF}GCdnCH6@;oKR2PiuG!5)IH7Rb6^A#Ud*+W&U*S?k?7Ke3QdP$2o zO#W12UOHZC<#WygI2zHYYB)Y<{+t-%nH#7JH}iBhO?DZ`-SVxnuW^2&w{6*bN~r4o zj&2Li#)`pyo{)kyzd7irlwfy7tADeU3ttzfPf_66Z&vw-V`9u)4%X8+gm7~$i$$8# zMQZpDLX*9gsAIfr*un=xv^MDJ6cDg3{zzCK*vUdt-6Ma!tSrHg4eN;opE_veYT_=@ z`hC*6SKI1O&UMA+)~yy{qioD1g(3;=(I%LSIcn2UA4rBQ-82MF6=7s*%8h~wf?*hV-i79|YEu*AAL| zwsJ13*>sMScC}4qZMRD@Zhv~!E5NanRwcYp=cHEh&3EjdWf42u;`8Xy-7Fl)JaF?k ztX1L)rtP(V8^9g-5)$(L^+iZGDm~okL@hi!!<@aaG}VSu|12<>2hp^)QSO?(pmIZi zRxz=DQ*W1gb*=sUmjd_Q;V?8~Sa+Gb0uk`m&R@&Cp*)VQWVM$&MjUq#GW>CAEUFy~ zW;PLkbb9niMm?Z_xSf3bYu$*=@av#GM}X#NI9<@^^{IBmAr$a49`hf@<)C~US=O&# z3(d6y0S31Bu^K`CdHb1i)hJH`IXm3vQD8y00<}v=w(Ljcw%aH^j4tpcA2HMfp0m8c+9_9L3sUrFuU9GT!EtFk9NL(tdU?sJIrd1h_CD|}k+?bMpl z5YR@-TgU{;v~>1vmBQsHlr+&={@>y37}EB9DruFUn!lu>FQ{1Tq)KHHjkkL&nECY8 zm>q_9J2Mxw`p-uvvq(mln&DQ%G~gT5;0 z#sf~oN>z>;@s!CaOY%QSKw2$x_06AuKH}zOvUmkMu{FH`*$m0MJ7}k~opz(2J3ayo zsd>8g%{R&XelR%wm`h4`YtZW_FJp4GPyur&KjVGt_yw!DLnH`mEVM!3@BmGgk@`uI zfvan@O(5%OKI!9kSXq#5^R2b<{@!+|%99_X%PCV!RxJ|xYdwirAbw`9+d6enTl7s$ ziDPGRC~UTgFI91eJjDuUHM+yBoy;z&X(&;;TBh(^|U5D z#ftW(DjK>E`+ttq^%pHh6_qHDMb!4jQf2c)0@COwtx?KxBWfY8b zz7U+687ReI66ZiYcb9fCMIqlbr36lDFtZOl#!RczUbO#l%Gfoo%Q#-#;k)Fw+8D#B z;YLXTHSfM9;bEH%tg->}=pGwUT^G%<^?-D56Y!X|mD4v*aIzg6w{$+kY-s(s;3wqK zdT;oB3*z<`^$^UV&3cgk-ucJGK6i25++4OrQt!rzLpJzNcln+x~2E|>7tgfqP3|7yL#?neP zk*fv_#uo$%*OrhNAI1|Ogh#gYs>Tlsa#6dGFP0Ql2I%$fH=pw=UAw=Rw-#4owrbQr zjNDBwv7z{=4QK%ntB-BRRB~8FicL)fhgvK`2ZYdylIRx;d1C zp3IPXP{2ghmZGW_Ka-zpZIOEE;CN`_SwXS(?Gdx_3(ukmg(o43;pyYBGHbg}+B0MI zm9J|Uh|PTD0kJmo-YR=Kadw=ciJHSchP%14!GF3cP3RD~ZpUh?)^}cqi2nLnMKO$5 zh&Ku&m}$iIoHq(|cOcP0PbArXGz3cCRR5^vXj|CU~|rD z%hq0!j({OsQ~-!-jpD5h9?FCb$ry&1J!sn4iSrQOYl{#WgjP0=El;=F$(dsXT;Yq^ z8xeec(*k-B9!<%xWcLWx@eU_rN}$8DT`R2eT4pKy$x~ihxc{$TQxWx<)9dm^;x+0Q zZB&1~Lx6tj9bJ9Nd!+r!Av;2+Q4H@W8>jNZ4uGu(KfM2af*q5z*hds6M}>s*uM>#R z4-Wf;4o2JdvqdrRwoSy0{*B{Uk0@0Xzv%K(ai7q3C_Bl|RQW7j zprmh8$x?H;C}c2?zt8VoI?EypRg-s0l81B*gQPqzuD_0d9^M@pz#<_>f*%qF!x_Mn z#TkkwXYC5cVG>S~`Wg-v$%>H(OW)lT;a?q6$badUXM0EG{bN3()@8(B=lB6}+ZL_c z(~0^rk+Xd^m!`CBq$eWl0r|bf|18LCyDjj2Iqqctiid={YYln4uW@)-s+E1%(fFZl zYwLxPl_ISPrT$o*S}6bIeMmM{v;umM_4ZxdnZP-+30m2rO+;@H(@N6HO6I#FU!big z8qxM-p(141DdWWIy4t!mUDWJ)

(lC}KXjo6=)b+Bv2?NO=^-|HGQZ<>#_?jap{87ojOd!#sYJ+0B_6ijWoK(PFR@u8k=egays0+YYjm05>KD)KLihC} z%4Ipd()!9O87nRwh_JJ4Ur+(?2fP5H0ELoMVK_c#@s6IbM6??oSc)F3scfB&OB8LX z85r?7Q0^wr4es6G6bPZkE~eyKY9RX8j)I-Ziil_3HilE(lwY3{-BU6BKq7jYym^53 z1gi04&)W$zqx$8uJpG4J++uc3NxXK7TJjc?c5Gq^gN_Ob_DtpZ5_rIaYKirTCim!B zBwiQMN@!JjA=H33N)Z1wUl2S)X6m#5aRM1UH z!AU>7#vzO|YLW^qzDtBel;0fqx4Ww=acasApD1ot4{d!Nr zRe1Oh0XZtuQFYkr``P+5O(r${mi{=6cMQ*+60Mk8=e-t_v23P%W~^@C6%3f=Xqhv3rWj)yaKk#a3C z2t4%1PaJWT;KFyUXYlp3B`RQ$_(c45#L{rNafbrE3|4;!pw{C4dw!$$vcW$9YUjP~ z-ZZsicT-#KClE4gfFLK2-k~lG%*6)x`Fb*p?Ym3gxB%2i?B5Dg^dmX{&8f6nCs*tG zthZdgnmk6xld`?IWJQ#%?cQB^Wu z3@ubu_FKxKt(A8dy;w)!O=?~z^Og#&ie~{;@T39j_d9i6f!Yooi)f7$#Mlaf5p7>^w-u+S$9eiTNVsf1NmX}}N8ItWsbedf<#j=EF*DPL6@n@EF zOW2RlNx_!2lEE2+Zu?+?rKA76?fWhAa0Rlo z-iHyjun6@LO#m)4v-fMg3MEc!ZxVnG19>RvHr{jQ-P*N3bxNBRGu{^midlk> z(o(o}wui!nf@Z^N7Dt^w-l8AgoaSStN-xGA_objnbv=XMQ$4YQ*;1UU)xXZJ$G8@N z;)wcgRH+TSBA@M#?kcv_vHQ1UqhJ3|yU%HFM)>-9KjYF2GR8i6J}b@P3AlqfMYuxx z96@Q%+BBJPe_-Ws^TFoh<-)<;hQ)@}k-wrWGV$igSE!jr;rzWGqt>#%`Qu0&8;BtUS6SKhm5V ztHskhyX*wCP*hNT{vdr$r{MR}iAOktPg4+Z#Shmn#V-@v_z3czw-W436sqRO_cFo| zd!5fMEVakq-l9jHc{6H99S{Yyv^tqtL3uTGCoEl(*U8_Mtq~|AwTJB@uDp@rN18S~ z9a4qjIOT)@l$^Xfa%Tdr2=(;96BPD*G-6xj_AA-@hH&k_+ji%d-aiUb!~nfUBI84% zZur5J}7cpeyw%zsr;zO5-7%YBM)CP`KL<)iW#1ZOlJRnM-;>LSIUi5E36>Mip2IHY`7 z9`z-Ap=670b}R}DQxI`{P8hx=qh@#{?j4;R0~@&-IUmJzi&8 z8UdniLuJz8D(Q^0W5JpisKk1y(NJt&Lu4MKvO3L0$VwUkqQrqJ^6y07 zfXkxQ4Vl6*+EwB$MUK8fDvj;~!oKrIZjj7YT$q{G6sV%Y`x=Y^E zVk*Nt@F6#TP}}+H-n1J}$9r_08-2k3UZRs~^z!rXC3=>nuc*I?^fz1R+G#q|`ETv~ mt)0K*^8c|4f{&lxJv!cX9v=Gs^_^pXema^DG|Fy2e))f%Zl^f_ literal 0 HcmV?d00001