From d8677bf8246b3aab368bcee5f90b88418c120086 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 10 Dec 2024 14:32:34 -0800 Subject: [PATCH 1/9] Make AzureML example more self-contained --- source/cloud/azure/azureml.md | 123 +++++++++++------- .../rapids-azureml-hpo/notebook.ipynb | 4 +- .../images/azureml-download-config-file.png | Bin 18562 -> 0 bytes 3 files changed, 78 insertions(+), 49 deletions(-) delete mode 100644 source/images/azureml-download-config-file.png diff --git a/source/cloud/azure/azureml.md b/source/cloud/azure/azureml.md index ffe502ac..8b923148 100644 --- a/source/cloud/azure/azureml.md +++ b/source/cloud/azure/azureml.md @@ -4,7 +4,7 @@ review_priority: "p0" # Azure Machine Learning -RAPIDS can be deployed at scale using [Azure Machine Learning Service](https://learn.microsoft.com/en-us/azure/machine-learning/overview-what-is-azure-machine-learning) and easily scales up to any size needed. +RAPIDS can be deployed at scale using [Azure Machine Learning Service](https://learn.microsoft.com/en-us/azure/machine-learning/overview-what-is-azure-machine-learning) and can be scaled up to any size needed. ## Pre-requisites @@ -16,52 +16,61 @@ Follow these high-level steps to get started: **2. Workspace.** Within the Resource Group, create an Azure Machine Learning service Workspace. -**3. Config.** Within the Workspace, download the `config.json` file, as you will load the details to initialize workspace for running ML training jobs from within your notebook. - -![Screenshot of download config file](../../images/azureml-download-config-file.png) - -**4. Quota.** Check your Usage + Quota to ensure you have enough quota within your region to launch your desired cluster size. +**3. Quota.** Check your Usage + Quota to ensure you have enough quota within your region to launch your desired cluster size. ## Azure ML Compute instance Although it is possible to install Azure Machine Learning on your local computer, it is recommended to utilize [Azure's ML Compute instances](https://learn.microsoft.com/en-us/azure/machine-learning/concept-compute-instance), fully managed and secure development environments that can also serve as a [compute target](https://learn.microsoft.com/en-us/azure/machine-learning/concept-compute-target?view=azureml-api-2) for ML training. -The compute instance provides an integrated Jupyter notebook service, JupyterLab, Azure ML Python SDK, CLI, and other essential [tools](https://learn.microsoft.com/en-us/azure/machine-learning/concept-compute-target?view=azureml-api-2). +The compute instance provides an integrated Jupyter notebook service, JupyterLab, Azure ML Python SDK, CLI, and other essential tools. ### Select your instance Sign in to [Azure Machine Learning Studio](https://ml.azure.com/) and navigate to your workspace on the left-side menu. -Select **Compute** > **+ New** (Create compute instance) > choose a [RAPIDS compatible GPU](https://medium.com/dropout-analytics/which-gpus-work-with-rapids-ai-f562ef29c75f) VM size (e.g., `Standard_NC12s_v3`) +Select **New** > **Compute instance** (Create compute instance) > choose a [RAPIDS compatible GPU](https://docs.rapids.ai/install/#system-req) VM size (e.g., `Standard_NC12s_v3`) ![Screenshot of create new notebook with a gpu-instance](../../images/azureml-create-notebook-instance.png) ### Provision RAPIDS setup script -Navigate to the **Applications** section and choose "Provision with a startup script" to install RAPIDS and dependencies. You can upload the script from your Notebooks files or local computer. +Navigate to the **Applications** section and choose "Provision with a startup script" to install RAPIDS and dependencies. -Optional to enable SSH access to your compute (if needed). - -![Screenshot of the provision setup script screen](../../images/azureml-provision-setup-script.png) - -Refer to [Azure ML documentation](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-customize-compute-instance) for more details on how to create the setup script but it should resemble: +Put the following in a local file called `rapids-azure-startup.sh`: ```bash #!/bin/bash -sudo -u azureuser -i <<'EOF' +# conda create -y -n rapids \ +# {{ rapids_conda_channels }} \ +# -c microsoft \ +# {{ rapids_conda_packages }} \ +# 'azure-ai-ml>=2024.12' \ +# 'azure-identity>=24.12' \ +# ipykernel + +conda create -y -n rapids \ + -c rapidsai-nightly -c conda-forge -c nvidia \ + -c microsoft \ + rapids=24.12 python=3.12 cuda-version=12.5 \ + 'azure-ai-ml>=2024.12' \ + 'azure-identity>=24.12' \ + ipykernel -conda create -y -n rapids {{ rapids_conda_channels }} {{ rapids_conda_packages }} ipykernel conda activate rapids -# install Python SDK v2 in rapids env -python -m pip install azure-ai-ml azure-identity - python -m ipykernel install --user --name rapids echo "kernel install completed" -EOF ``` +Select `local file`, then `Browse`, and upload that script. + +Optional to enable SSH access to your compute (if needed). + +![Screenshot of the provision setup script screen](../../images/azureml-provision-setup-script.png) + +Refer to [Azure ML documentation](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-customize-compute-instance) for more details on how to create the setup script but it should resemble: + Launch the instance. ### Select the RAPIDS environment @@ -76,30 +85,33 @@ The Compute cluster scales up automatically when a job is submitted, and execute ### Instantiate workspace -If using the Python SDK, connect to your workspace either by explicitly providing the workspace details or load from the `config.json` file downloaded in the pre-requisites section. +Use Azure's client libraries to set up some resources. ```python +import os from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential -# Get a handle to the workspace -ml_client = MLClient( - credential=DefaultAzureCredential(), - subscription_id="", - resource_group_name="", - workspace_name="", -) - -# or load details from config file +# Get a handle to the workspace. +# +# Azure ML places the workspace config at the default working +# directory for notebooks by default. +# +# If it isn't found, open a shell and look in the +# directory indicated by 'echo ${JUPYTER_SERVER_ROOT}'. ml_client = MLClient.from_config( credential=DefaultAzureCredential(), - path="config.json", + path="./config.json" ) ``` ### Create AMLCompute -You will need to create a [compute target](https://learn.microsoft.com/en-us/azure/machine-learning/concept-compute-target?view=azureml-api-2#azure-machine-learning-compute-managed) using Azure ML managed compute ([AmlCompute](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-ai-ml/0.1.0b4/azure.ai.ml.entities.html)) for remote training. Note: Be sure to check limits within your available region. This [article](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-manage-quotas?view=azureml-api-2#azure-machine-learning-compute) includes details on the default limits and how to request more quota. +You will need to create a [compute target](https://learn.microsoft.com/en-us/azure/machine-learning/concept-compute-target?view=azureml-api-2#azure-machine-learning-compute-managed) using Azure ML managed compute ([AmlCompute](https://azuresdkdocs.blob.core.windows.net/$web/python/azure-ai-ml/0.1.0b4/azure.ai.ml.entities.html)) for remote training. + +Note: Be sure to check limits within your available region. + +This [article](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-manage-quotas?view=azureml-api-2#azure-machine-learning-compute) includes details on the default limits and how to request more quota. [**size**]: The VM family of the nodes. Specify from one of **NC_v2**, **NC_v3**, **ND** or **ND_v2** GPU virtual machines (e.g `Standard_NC12s_v3`) @@ -142,17 +154,11 @@ You can define an environment from a [pre-built](https://learn.microsoft.com/en- Create your custom RAPIDS docker image using the example below, making sure to install additional packages needed for your workflows. ```dockerfile - # Use latest rapids image with the necessary dependencies FROM {{ rapids_container }} -# Update and/or install required packages -RUN apt-get update && \ - apt-get install -y --no-install-recommends build-essential fuse && \ - rm -rf /var/lib/apt/lists/* - -# Activate rapids conda environment -RUN /bin/bash -c "source activate rapids && pip install azureml-mlflow" +RUN conda install --yes -c conda-forge 'dask-ml>=2024.4.4' \ + && pip install azureml-mlflow ``` Now create the Environment, making sure to label and provide a description: @@ -161,7 +167,7 @@ Now create the Environment, making sure to label and provide a description: from azure.ai.ml.entities import Environment, BuildContext env_docker_image = Environment( - build=BuildContext(path="Dockerfile"), + build=BuildContext(path="./training-code/), name="rapids-mlflow", description="RAPIDS environment with azureml-mlflow", ) @@ -171,17 +177,32 @@ ml_client.environments.create_or_update(env_docker_image) ### Submit RAPIDS Training jobs -Now that we have our environment and custom logic, we can configure and run the `command` [class](https://learn.microsoft.com/en-us/python/api/azure-ai-ml/azure.ai.ml?view=azure-python#azure-ai-ml-command) to submit training jobs. `inputs` is a dictionary of command-line arguments to pass to the training script. +Now that we have our environment and custom logic, we can configure and run the `command` [class](https://learn.microsoft.com/en-us/python/api/azure-ai-ml/azure.ai.ml?view=azure-python#azure-ai-ml-command) to submit training jobs. + +In a notebook cell, copy the example code from this documentation into a new folder. + +```shell +!mkdir -p ./training-code +!wget -O ./training-code/train_rapids.py https://raw.githubusercontent.com/rapidsai/deployment/refs/heads/main/source/examples/rapids-azureml-hpo/train_rapids.py +!wget -O ./training-code/rapids_csp_azure.py https://raw.githubusercontent.com/rapidsai/deployment/refs/heads/main/source/examples/rapids-azureml-hpo/rapids_csp_azure.py +!touch ./training-code/__init__.py +``` + +`inputs` is a dictionary of command-line arguments to pass to the training script. ```python from azure.ai.ml import command, Input -from azure.ai.ml.sweep import Choice, Uniform + +datastore_name = "workspaceartifactstore" +dataset = "airline_20000000.parquet" +data_uri = f"azureml://subscriptions/{ml_client.subscription_id}/resourcegroups/{ml_client.resource_group_name}/workspaces/{ml_client.workspace_name}/datastores/{datastore_name}/paths/{dataset}" command_job = command( - environment="rapids-mlflow:1", # specify version of environment to use + environment=f"{env_docker_image.name}:{env_docker_image.version}", experiment_name="test_rapids_mlflow", - code=project_folder, - command="python train_rapids.py --data_dir ${{inputs.data_dir}} \ + code="./training-code", + command="python train_rapids.py \ + --data_dir ${{inputs.data_dir}} \ --n_bins ${{inputs.n_bins}} \ --cv_folds ${{inputs.cv_folds}} \ --n_estimators ${{inputs.n_estimators}} \ @@ -198,8 +219,16 @@ command_job = command( compute="rapids-cluster", ) -returned_job = ml_client.jobs.create_or_update(command_job) # submit training job +# submit training job +returned_job = ml_client.jobs.create_or_update(command_job) +``` + +After creating the job, go to https://ml.azure.com/experiments to view logs, metrics, and outputs. + +Next, try performing a sweep over a set of hyperparameters. +```python +from azure.ai.ml.sweep import Choice, Uniform # define hyperparameter space to sweep over command_job_for_sweep = command_job( diff --git a/source/examples/rapids-azureml-hpo/notebook.ipynb b/source/examples/rapids-azureml-hpo/notebook.ipynb index d6f6736e..b708d108 100644 --- a/source/examples/rapids-azureml-hpo/notebook.ipynb +++ b/source/examples/rapids-azureml-hpo/notebook.ipynb @@ -369,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": { "tags": [ "library/randomforest", @@ -407,7 +407,7 @@ "from azure.ai.ml import Input, command\n", "\n", "command_job = command(\n", - " environment=\"rapids-mlflow:1\",\n", + " environment=f\"{env_docker_image.name}:{env_docker_image.version}\",\n", " experiment_name=experiment_name,\n", " code=os.getcwd(),\n", " inputs={\n", diff --git a/source/images/azureml-download-config-file.png b/source/images/azureml-download-config-file.png deleted file mode 100644 index 76d9a1a92f12e3d4980eac069ffc06722ca4c897..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18562 zcmb@uby$?q+ck;`Iv~o>(h`CoB_N$cx6<9EbT=prT>{eG-AIRYH%NnYclWpXz3+R@ zb-we@IoCPQrOXWT#D1Q=_kFK>t+fgGEF<~~1s??g0pXRnn2;O-!qY17z8dlr{4_}q zWCJhAR${8Q2nes+AOAmz`tX_n0pTrzxR8K?Q{vvdGq-{%3BsZA8|LUvRx#$>5igwS zo@oDqC{{IvYWlr`I=bzJO6om(`S7|u;Vd~dG4UB%IvVRXNJhB<-YhEf$-Om;G$G8} z$#YTGGm&G1W5{_hvHvQ`m<#a-|95bC1cWB4krAZFH-AbXFvQ0<|GqZq_rKF>s6w zIods@N@HVVS?Td>9@yor7KRM|rXl;FzBTM4Wc02#q zkIVM@v?52gAU{7nJ-xN9vQxV|`Owl7!=Az*uh+8OaqlBCS|s_Q|M#niXo&H*-Hs}XP27| z#`OB`xXP`~EL%-XC@L3g1T?v_eWEL>%oI{mk`ea#rlWIsQ#kE@b8hakxV*d^fZ6GJ zdx=gel=gWrr8#xJo(*PFUhisi`~f};N5*8coc4ORZpH5V+`G)s^MQz5G=$Usc-7}6 zu8pm&NGM^g?c_d}<36pn(j@G5SCv~>OY2l+vaL9!R%_` z?v1_uS#-_m%hd44~Jd`XgDM`n` zkTYT;BO{ZnWm{*z^Vh4S+?uc9bSir&g>Ny~-|6=9i;IhkxOf2n+s}%MpO{#adEGnz z{CJkoZPhFPj3%U>NBO~MK;UQynsfkO8%UW<~6M@5(4cJsw*>3ftS})vhdu@%*>og&s#WhoA0Ze0EWV|Vn4qz zlggdRwvGOzSyCi~e-EOQ2SGn0BFascT4hssQ6@{L4b2?zB70a^n7(le{X246=!?;H zq$Ufm@qBnf%WINNr_So9QS+Vds3 zKO+?_ttNw`bT-Qc9g+_pJ{&C8<6ayt@x4HsnRz{5?tD^fYwQzHQC{xl-vr0w z@84V;q;NYQx6M259(tbd;#D=YOit=`|6C{G&RFVN+XHh88PjWN-hw`r`QKa1bXa=PPE7 zW{dd*Hp}OzZ&HgFR?c=-Z*Se;pQWV-w09bvUwy!^r2LN*K`tPA+N%=eo4GN=@O~%hGVVF};QwyA@B)}y0*gMUWpDK@;Ohm?{tlAuoVbE6k z{P}Rc<|~-<+{7hU^78>nd3js;6Q=O9JxE$qmS-r*M&Lv!ToW177vkyU@^`knrpD=( zUD<59w|6^?Z=1>_>GpPrgJXJdkX)%qE30^c9E6342qxHjj;o2Z?+COZ7lGKx$@U?T zzQ)EFS}j6?o9}&V`|}kWVmdl)+>w#m=JVTr_UoXN`eNuBJs)^sxv8l-e$9L#B3#bf zEJ-q=kgTjM=_IDw{CpHrEbA5DDM5HAJEsSH}@O*(9c@p$*U*LUT1E zhZt|+#hUf`C45c?P42A@(Fttie+#uV)zyQbGtHI<-Qnc#DB`zWZW&pX*v-?!!$Ta@`$|Z_UMt{k&P>{eeC)%wHrU z1doUEJ!GT#NhL4BTMka93SsI$A%!9 zP8MF>UNOV`C9*6oE~uaoJ!)*fwvQ|s-*_Kckgo%?4Bckc*b$_@xQ%!H=H6 z{DsJhwB#KLTrU}`K>Kx*tEvQjyzj&)M%7a6)72**&e(8B-oowd>^kdebo!(yE9&Yb zXsOx(8kY<+fO^ucpJJ8U*dQf{$O-+Q1inZtW(Ps6%qobo)T!&tx z%b7PZMb1znjuE!iW~m9DNEmUW6Y}63F*Y`Kt6}54OL~I8kY3}%7jwh{3J5B9MC`BF zi;rkQXm0LodI`bOQl(MOBqvXwg&{sC{>aK|;V1Xx@F62;lI-+GjU4pZPNUoO%x~U! zH8sAu0x3vqqMa(ZyI0(OML5TCYqcFE8v3Y!Uwnk+P2oe{g$Y802Ab*=5t zY52G3bocZqDkwk@y+ANlQB|FgWYk@DoZ!aC$LDc5{gW*4iG^i%cUPzy|IHg6^CwS# zq-JIcX*TBVLw3u{C1dD6X)u($4O6cM&$DE5E3Kx6or;Q!i_34oNZ+)#cd7=-iioXv zi6U7($2pNleX@ReFM-Y1*Eb}pxvGkllvgV@%F7FOcdOa8H(!ynAR#R+jfaOWfog z?9-=fVu8B^!8G47#+>q{Z4e37H3yr;T#faeOWPR;_31p%K}2h%*Y-Hw9Pxa}LQc?x zU%K6TVD$8qobSyB(YZQ1tAhBGH*VkGKd@5-I-;|c3I4PC!p8DI#MB}%5QU(4{2TQ4 zOP<0m=lTA8&I0ATEXxxW+uFJ8AT(IjY@7`4Rchz-uYHy(p zPDjffLAW>P`**J14EqM1!otETvTX35J{>=m9`FMTHXdYM-VoH=tf4H~(!j*NeEA|T zDJchoO(B<&I;c*gSXvh5&HnkLQ&y96oF$j{>RHL?sK^fUc3yG5MNRoqTNxZqQI(ph z@PMu%A(0=~_06Y~{w}=D4~_U%^i8C=m{@Lp-q&v?I5;>4hK8TQNs$@E-eCkVF^#I& zBBV?zc&dy9l4V6VthBYY3971o1tIqwH#{oJ{xHSU>*+H9kN^OY>bY-eod;NpipVoqnBd8!^6$Jouw=h^S=an5_Qro4xkl+^i46 zrTb>q1;A#R3N0M!L)L71k?hOnox+W-s+x$*Xkgeh(Z--vo(T|Y$R4lBztrp#Tn4(L zWa;ymF!g; z`Iq#V68rfS>qwOxJOdpIN=ev zPtN|CYR}xeCK)%aN*yt&Jotd>5#EJ>Fe5XGhR%3=e9UZo&uhDWFccZ_w@@=OA<`Sl zS?ZZmU+>!XqW9_qH?v8yL&V>Faa}ZL#CLi&DC^DW=pylplamwSf_ik=^t2xF8PsDB zABW`hV9|5&{#p9P*(gRLv1cr^@gPLB%Y3>H`@*r5PA2n3h{#)L>3*Ocr~7L6m!j^~ z7;Kv*?kYz2>r?Cx%7GT&meq7nP*CuT-L96ite66L-FK=p{pA$z{svH-&DZ;yiySOA zTk1KIg|pkN=7y7tuC1?I%xn_i;`%`Y0|O;wJhDpoYPKSRz5oQTrL_=SrhjsL4Dk3@ z9uwR3!A~DqK^2DTl@^9j8A8vSo<>TpzY;>QlmDWxuaD28-!#^j|E<}@MHgrK$<;0P zhXxgM|ror)nc%S}YA#3+~W}nyj z_*bVE?KBQmdTQ$1-CNI(r+T=q(zSa>@s!yXIC`$63Di+^sE*(qqHJ?1w`FWM%uc%gqn>rh{6`UL7w$V9*x{OFv81 zY$oP44vi@*JL=+2l@CW4Aj)tZHu0h1figAASQG>ov;7(*KncCpouj@NJIps zo_u_Kyij{XUS&$bSP(u8Lf-9dm7b;`6a>zP;k55J7u#M9AN4!`CLq+OebL@f(qoF- zar>*cf(3P31Q`gnb?!;jrC! z{+tMOY|AxT>xU!+6LO;AVQ8cxWzLAa@-ySH(qyb7;+;0X!baC~6I0WK__(~hJVj;2 zW=Z#p%bhu^P#KxykcX;o-@fim*IS0h;HC_HprMK9avZ#}-SE6rpJO2l2X%nU{VfOl zvxmohJMzle*;$@K6fT37+x6)eWo5J-8d7>eUll#Uo8yy{u3$W#xfTH>CHjvamj)8p zYPyc+4;>vGSgWM6bHR)Gu zp!%Yw&a11d+oD?6{`-?uu#}%>f2qy7n0_4xr$KGO`^85RK9BK{k*_Y4>HFK;#zTn# zO$6o^7WAY7ViFP7Uutr4l%1R|W75gs!+^m61VM0!G^k3o8eOiAR=RZCe09g9 z0`hZnAG662-wWEJLY7Y~NKXZ1WX>B)ti>Je?LV0AD7m2(`MwfBMdb|q?WRjk1cm+h zAzHjx^LmW-=`hX=mylDWcI_c$MPd+hjj0`9)?R4i%yMd6TwH6H1}P@ym~;XwTVqC6 z)>>fH2gm(GQHY_D0j*ZUrpaMh$}VcN*>pJ^etCLo2mfquZ+|=aWCs*k=dWLz5_no! zB7u4gAWC9xe*uU)H4VzEBG;DnQr$KUjV?O%>v=fGWU*$5|0S!K^2<^q1 zg7C1lxz6QhZNxS=NzIL$CEo|WWce?>FlqM>*LZy~l2H>z!iR&4+t=Nlo0oUCHRcH7 z-1+(IfjH<_kQwsw4obCqE-x?7b|$ZGR#3w&c>^16Yfo@P!BN;GJr#sH8z8D6?r{I|gsH@M;&FK{eNmA{J$YjYeXw|u`9xl0F9Jt?~ip$7Y{QL8x zc_`le>(>Bvb@D(8Vb1%50FWp(>s`(O91tS=A}MKlY1OsGY{bH+18PD~^5yk1{g#gx z2Y{;zm!br0TYXK9Od?BwH(P%iph0+d{&w;D_w@GC(9(joewLRX8y+WQHJbu8(#-O_ zvb2fb{uBI=Dp$ul=M)44J%R3l0c;tm+3asuPpg9--nkc=)QC&VY)7a!C!^SZY)Kp& zQhBF{9<(=;rhsr8?{TSS40vVJy-7{$7HLWgx9`xIgE`4JBxViwoD@rfb2qn(4|hii zZyq_>VUZbXp~HZ|rbsQX`mZta43YzNT7g~5Oy@!q_O|uMWX5Y98+-EHk4)aWh72nYL6|I>u*8CD^GC+%ZLsn`3IALx2za_Yn{gFe(I z=OmXE98sNX6USrS(^MA){)flqHh)9LJwT`JRB>;H7^@Yyde?l0;h_-mF79KzOWJaw zX9{=EZ40X1V=JH;Rrsf|_gOP{qc^P*iGfej5tky=`2^3dS88#SCD~7YO{@6wU>R7@ zR_$a^u5aN!w�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 From 8b2d52e792903c752abe52d783dd00639384eb6b Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 10 Dec 2024 15:24:41 -0800 Subject: [PATCH 2/9] update away from numpy patterns removed in numpy 2.0, more deduplication and cleanup --- pyproject.toml | 2 ++ source/cloud/azure/azureml.md | 9 +++------ .../examples/rapids-azureml-hpo/train_rapids.py | 15 +++++++-------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8d639119..a8a57499 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,6 +10,8 @@ select = [ "F", # isort "I", + # numpy + "NPY", # pyupgrade "UP", # flake8-bugbear diff --git a/source/cloud/azure/azureml.md b/source/cloud/azure/azureml.md index 8b923148..4a1b4750 100644 --- a/source/cloud/azure/azureml.md +++ b/source/cloud/azure/azureml.md @@ -65,8 +65,6 @@ echo "kernel install completed" Select `local file`, then `Browse`, and upload that script. -Optional to enable SSH access to your compute (if needed). - ![Screenshot of the provision setup script screen](../../images/azureml-provision-setup-script.png) Refer to [Azure ML documentation](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-customize-compute-instance) for more details on how to create the setup script but it should resemble: @@ -100,8 +98,7 @@ from azure.identity import DefaultAzureCredential # If it isn't found, open a shell and look in the # directory indicated by 'echo ${JUPYTER_SERVER_ROOT}'. ml_client = MLClient.from_config( - credential=DefaultAzureCredential(), - path="./config.json" + credential=DefaultAzureCredential(), path="./config.json" ) ``` @@ -216,7 +213,7 @@ command_job = command( "max_depth": 10, "max_features": 1.0, }, - compute="rapids-cluster", + compute=gpu_compute.name, ) # submit training job @@ -239,7 +236,7 @@ command_job_for_sweep = command_job( # apply hyperparameter sweep_job sweep_job = command_job_for_sweep.sweep( - compute="rapids-cluster", + compute=gpu_compute.name, sampling_algorithm="random", primary_metric="Accuracy", goal="Maximize", diff --git a/source/examples/rapids-azureml-hpo/train_rapids.py b/source/examples/rapids-azureml-hpo/train_rapids.py index 63ce4f5f..7e941cba 100644 --- a/source/examples/rapids-azureml-hpo/train_rapids.py +++ b/source/examples/rapids-azureml-hpo/train_rapids.py @@ -20,7 +20,6 @@ import cudf import cuml import mlflow -import numpy as np from rapids_csp_azure import PerfTimer, RapidsCloudML @@ -62,13 +61,13 @@ def main(): cv_folds = args.cv_folds n_estimators = args.n_estimators - mlflow.log_param("n_estimators", np.int(args.n_estimators)) + mlflow.log_param("n_estimators", int(args.n_estimators)) max_depth = args.max_depth - mlflow.log_param("max_depth", np.int(args.max_depth)) + mlflow.log_param("max_depth", int(args.max_depth)) n_bins = args.n_bins - mlflow.log_param("n_bins", np.int(args.n_bins)) + mlflow.log_param("n_bins", int(args.n_bins)) max_features = args.max_features - mlflow.log_param("max_features", np.str(args.max_features)) + mlflow.log_param("max_features", str(args.max_features)) print("\n---->>>> cuDF version <<<<----\n", cudf.__version__) print("\n---->>>> cuML version <<<<----\n", cuml.__version__) @@ -156,9 +155,9 @@ def main(): global_best_test_accuracy = test_accuracy mlflow.log_metric( - "Total training inference time", np.float(training_time + infer_time) + "Total training inference time", float(training_time + infer_time) ) - mlflow.log_metric("Accuracy", np.float(global_best_test_accuracy)) + mlflow.log_metric("Accuracy", float(global_best_test_accuracy)) print("\n Accuracy :", global_best_test_accuracy) print("\n accuracy per fold :", accuracy_per_fold) print("\n train-time per fold :", train_time_per_fold) @@ -171,5 +170,5 @@ def main(): with PerfTimer() as total_script_time: main() print(f"Total runtime: {total_script_time.duration:.2f}") - mlflow.log_metric("Total runtime", np.float(total_script_time.duration)) + mlflow.log_metric("Total runtime", float(total_script_time.duration)) print("\n Exiting script") From b453809c7a6912838909ee092644b192b31e27cc Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 10 Dec 2024 15:32:59 -0800 Subject: [PATCH 3/9] path --- source/cloud/azure/azureml.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/cloud/azure/azureml.md b/source/cloud/azure/azureml.md index 4a1b4750..40a93802 100644 --- a/source/cloud/azure/azureml.md +++ b/source/cloud/azure/azureml.md @@ -163,8 +163,9 @@ Now create the Environment, making sure to label and provide a description: ```python from azure.ai.ml.entities import Environment, BuildContext +# NOTE: 'path' should be a filepath pointing to a directory containing a file named 'Dockerfile' env_docker_image = Environment( - build=BuildContext(path="./training-code/), + build=BuildContext(path="./training-code/"), name="rapids-mlflow", description="RAPIDS environment with azureml-mlflow", ) From d904a103a050c6f3ee6db261a498ba8b1b32d7e1 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 10 Dec 2024 15:34:03 -0800 Subject: [PATCH 4/9] formatting, more re-use --- source/cloud/azure/azureml.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/cloud/azure/azureml.md b/source/cloud/azure/azureml.md index 40a93802..c0325288 100644 --- a/source/cloud/azure/azureml.md +++ b/source/cloud/azure/azureml.md @@ -98,7 +98,8 @@ from azure.identity import DefaultAzureCredential # If it isn't found, open a shell and look in the # directory indicated by 'echo ${JUPYTER_SERVER_ROOT}'. ml_client = MLClient.from_config( - credential=DefaultAzureCredential(), path="./config.json" + credential=DefaultAzureCredential(), + path="./config.json", ) ``` @@ -191,6 +192,7 @@ In a notebook cell, copy the example code from this documentation into a new fol ```python from azure.ai.ml import command, Input +# replace this with your own dataset datastore_name = "workspaceartifactstore" dataset = "airline_20000000.parquet" data_uri = f"azureml://subscriptions/{ml_client.subscription_id}/resourcegroups/{ml_client.resource_group_name}/workspaces/{ml_client.workspace_name}/datastores/{datastore_name}/paths/{dataset}" From 46b67227254714d9519ecf639ae6f97f74e7165c Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 11 Dec 2024 11:31:15 -0800 Subject: [PATCH 5/9] more fixes --- source/cloud/azure/azureml.md | 41 +++++++++---- .../rapids-azureml-hpo/notebook.ipynb | 58 ++++--------------- 2 files changed, 40 insertions(+), 59 deletions(-) diff --git a/source/cloud/azure/azureml.md b/source/cloud/azure/azureml.md index c0325288..5d57e59e 100644 --- a/source/cloud/azure/azureml.md +++ b/source/cloud/azure/azureml.md @@ -34,7 +34,8 @@ Select **New** > **Compute instance** (Create compute instance) > choose a [RAPI ### Provision RAPIDS setup script -Navigate to the **Applications** section and choose "Provision with a startup script" to install RAPIDS and dependencies. +Navigate to the **Applications** section. +Choose "Provision with a creation script" to install RAPIDS and dependencies. Put the following in a local file called `rapids-azure-startup.sh`: @@ -49,6 +50,8 @@ Put the following in a local file called `rapids-azure-startup.sh`: # 'azure-identity>=24.12' \ # ipykernel +sudo -u azureuser -i <<'EOF' +source /anaconda/etc/profile.d/conda.sh conda create -y -n rapids \ -c rapidsai-nightly -c conda-forge -c nvidia \ -c microsoft \ @@ -61,13 +64,14 @@ conda activate rapids python -m ipykernel install --user --name rapids echo "kernel install completed" +EOF ``` Select `local file`, then `Browse`, and upload that script. ![Screenshot of the provision setup script screen](../../images/azureml-provision-setup-script.png) -Refer to [Azure ML documentation](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-customize-compute-instance) for more details on how to create the setup script but it should resemble: +Refer to [Azure ML documentation](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-customize-compute-instance) for more details on how to create the setup script. Launch the instance. @@ -86,7 +90,6 @@ The Compute cluster scales up automatically when a job is submitted, and execute Use Azure's client libraries to set up some resources. ```python -import os from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential @@ -180,11 +183,23 @@ Now that we have our environment and custom logic, we can configure and run the In a notebook cell, copy the example code from this documentation into a new folder. -```shell -!mkdir -p ./training-code -!wget -O ./training-code/train_rapids.py https://raw.githubusercontent.com/rapidsai/deployment/refs/heads/main/source/examples/rapids-azureml-hpo/train_rapids.py -!wget -O ./training-code/rapids_csp_azure.py https://raw.githubusercontent.com/rapidsai/deployment/refs/heads/main/source/examples/rapids-azureml-hpo/rapids_csp_azure.py -!touch ./training-code/__init__.py +```ipython +%%bash +mkdir -p ./training-code +repo_url='https://raw.githubusercontent.com/rapidsai/deployment/refs/heads/main/source/examples' + +# download training scripts +wget -O ./training-code/train_rapids.py "${repo_url}/rapids-azureml-hpo/train_rapids.py" +wget -O ./training-code/rapids_csp_azure.py "${repo_url}/rapids-azureml-hpo/rapids_csp_azure.py" +touch ./training-code/__init__.py + +# create a Dockerfile defining the image the code will run in +cat > ./training-code/Dockerfile <=2024.4.4' \ + && pip install azureml-mlflow +EOF ``` `inputs` is a dictionary of command-line arguments to pass to the training script. @@ -223,7 +238,7 @@ command_job = command( returned_job = ml_client.jobs.create_or_update(command_job) ``` -After creating the job, go to https://ml.azure.com/experiments to view logs, metrics, and outputs. +After creating the job, go to [the "Experiments" page](https://ml.azure.com/experiments) to view logs, metrics, and outputs. Next, try performing a sweep over a set of hyperparameters. @@ -245,13 +260,15 @@ sweep_job = command_job_for_sweep.sweep( goal="Maximize", ) -returned_sweep_job = ml_client.create_or_update(sweep_job) # submit hpo job +# submit job +returned_sweep_job = ml_client.create_or_update(sweep_job) ``` -### CleanUp +### Clean Up + +When you're done, remove the compute resources. ```python -# Delete compute cluster ml_client.compute.begin_delete(gpu_compute.name).wait() ``` diff --git a/source/examples/rapids-azureml-hpo/notebook.ipynb b/source/examples/rapids-azureml-hpo/notebook.ipynb index b708d108..f7065d27 100644 --- a/source/examples/rapids-azureml-hpo/notebook.ipynb +++ b/source/examples/rapids-azureml-hpo/notebook.ipynb @@ -32,35 +32,6 @@ "````" ] }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Name: azure-ai-ml\n", - "Version: 1.8.0\n", - "Summary: Microsoft Azure Machine Learning Client Library for Python\n", - "Home-page: https://github.com/Azure/azure-sdk-for-python\n", - "Author: Microsoft Corporation\n", - "Author-email: azuresdkengsysadmins@microsoft.com\n", - "License: MIT License\n", - "Location: /anaconda/envs/rapids/lib/python3.10/site-packages\n", - "Requires: azure-common, azure-core, azure-mgmt-core, azure-storage-blob, azure-storage-file-datalake, azure-storage-file-share, colorama, isodate, jsonschema, marshmallow, msrest, opencensus-ext-azure, pydash, pyjwt, pyyaml, strictyaml, tqdm, typing-extensions\n", - "Required-by: \n", - "Note: you may need to restart the kernel to use updated packages.\n" - ] - } - ], - "source": [ - "# verify Azure ML SDK version\n", - "\n", - "%pip show azure-ai-ml" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -80,7 +51,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -97,23 +68,16 @@ "from azure.ai.ml import MLClient\n", "from azure.identity import DefaultAzureCredential\n", "\n", - "subscription_id = \"FILL IN WITH YOUR AZURE ML CREDENTIALS\"\n", - "resource_group_name = \"FILL IN WITH YOUR AZURE ML CREDENTIALS\"\n", - "workspace_name = \"FILL IN WITH YOUR AZURE ML CREDENTIALS\"\n", - "\n", - "# Get a handle to the workspace\n", - "ml_client = MLClient(\n", + "# Get a handle to the workspace.\n", + "#\n", + "# Azure ML places the workspace config at the default working\n", + "# directory for notebooks by default.\n", + "#\n", + "# If it isn't found, open a shell and look in the\n", + "# directory indicated by 'echo ${JUPYTER_SERVER_ROOT}'.\n", + "ml_client = MLClient.from_config(\n", " credential=DefaultAzureCredential(),\n", - " subscription_id=subscription_id,\n", - " resource_group_name=resource_group_name,\n", - " workspace_name=workspace_name,\n", - ")\n", - "\n", - "print(\n", - " \"Workspace name: \" + ml_client.workspace_name,\n", - " \"Subscription id: \" + ml_client.subscription_id,\n", - " \"Resource group: \" + ml_client.resource_group_name,\n", - " sep=\"\\n\",\n", + " path=\"./config.json\",\n", ")" ] }, @@ -465,7 +429,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ From 512be3b2140f29187a766a2ead2ea53773c1d796 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Wed, 11 Dec 2024 21:26:57 +0000 Subject: [PATCH 6/9] update and simplify HPO example --- .gitignore | 3 + source/examples/rapids-azureml-hpo/Dockerfile | 10 - .../rapids-azureml-hpo/notebook.ipynb | 246 +++++++----------- .../examples/rapids-optuna-hpo/notebook.ipynb | 2 +- 4 files changed, 96 insertions(+), 165 deletions(-) delete mode 100644 source/examples/rapids-azureml-hpo/Dockerfile diff --git a/.gitignore b/.gitignore index e6ad9798..dd5dfc89 100644 --- a/.gitignore +++ b/.gitignore @@ -23,5 +23,8 @@ cufile.log node_modules/ jupyter_execute/ +# files manually written by example code +source/examples/rapids-azureml-hpo/Dockerfile + # exclusions !source/examples/rapids-1brc-single-node/lookup.csv diff --git a/source/examples/rapids-azureml-hpo/Dockerfile b/source/examples/rapids-azureml-hpo/Dockerfile deleted file mode 100644 index bb90d5a1..00000000 --- a/source/examples/rapids-azureml-hpo/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -# Use rapids base image v23.02 with the necessary dependencies -FROM rapidsai/rapidsai:23.02-cuda11.8-runtime-ubuntu22.04-py3.10 - -# Update package information and install required packages -RUN apt-get update && \ - apt-get install -y --no-install-recommends build-essential fuse && \ - rm -rf /var/lib/apt/lists/* - -# Activate rapids conda environment -RUN /bin/bash -c "source activate rapids && pip install azureml-mlflow azureml-dataprep" diff --git a/source/examples/rapids-azureml-hpo/notebook.ipynb b/source/examples/rapids-azureml-hpo/notebook.ipynb index f7065d27..b98109df 100644 --- a/source/examples/rapids-azureml-hpo/notebook.ipynb +++ b/source/examples/rapids-azureml-hpo/notebook.ipynb @@ -34,7 +34,9 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ "# Initialize Workspace" ] @@ -52,18 +54,10 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Workspace name: rapids-aml-cluster\n", - "Subscription id: fc4f4a6b-4041-4b1c-8249-854d68edcf62\n", - "Resource group: rapidsai-deployment\n" - ] - } - ], + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ "from azure.ai.ml import MLClient\n", "from azure.identity import DefaultAzureCredential\n", @@ -99,18 +93,11 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "data uri: \n", - " azureml://subscriptions/fc4f4a6b-4041-4b1c-8249-854d68edcf62/resourcegroups/rapidsai-deployment/workspaces/rapids-aml-cluster/datastores/workspaceartifactstore/paths/airline_20000000.parquet\n" - ] - } - ], + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ "datastore_name = \"workspaceartifactstore\"\n", "dataset = \"airline_20000000.parquet\"\n", @@ -148,33 +135,27 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "found compute target. Will use rapids-cluster\n" - ] - } - ], + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ "from azure.ai.ml.entities import AmlCompute\n", "from azure.ai.ml.exceptions import MlException\n", "\n", "# specify aml compute name.\n", - "gpu_compute_target = \"rapids-cluster\"\n", + "target_name = \"rapids-cluster\"\n", "\n", "try:\n", " # let's see if the compute target already exists\n", - " gpu_target = ml_client.compute.get(gpu_compute_target)\n", - " print(f\"found compute target. Will use {gpu_compute_target}\")\n", + " gpu_target = ml_client.compute.get(target_name)\n", + " print(f\"found compute target. Will use {gpu_target.name}\")\n", "except MlException:\n", " print(\"Creating a new gpu compute target...\")\n", "\n", " gpu_target = AmlCompute(\n", - " name=\"rapids-cluster\",\n", + " name=target_name,\n", " type=\"amlcompute\",\n", " size=\"STANDARD_NC12S_V3\",\n", " max_instances=5,\n", @@ -223,16 +204,6 @@ "These run metrics will become particularly important when we begin hyperparameter tuning our model in the 'Tune model hyperparameters' section." ] }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "rapids_script = \"./train_rapids.py\"\n", - "azure_script = \"./rapids_csp_azure.py\"" - ] - }, { "cell_type": "markdown", "metadata": { @@ -246,70 +217,58 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Create Experiment\n", - "\n", - "Track all the runs in your workspace" + "## Setup Environment" ] }, { - "cell_type": "code", - "execution_count": 6, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "experiment_name = \"test_rapids_aml_cluster\"" + "We'll be using a custom RAPIDS docker image to [setup the environment](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-manage-environments-v2?tabs=python#create-an-environment-from-a-docker-image). This is available in `rapidsai/base` repo on [DockerHub](https://hub.docker.com/r/rapidsai/base/)." ] }, { - "cell_type": "markdown", - "metadata": {}, + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ - "## Setup Environment" + "%%bash\n", + "# create a Dockerfile defining the image the code will run in\n", + "cat > ./Dockerfile <=2024.4.4' \\\n", + " && pip install azureml-mlflow\n", + "EOF" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "tags": [] + }, "source": [ - "We'll be using a custom RAPIDS docker image to [setup the environment](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-manage-environments-v2?tabs=python#create-an-environment-from-a-docker-image). This is available in `rapidsai/rapidsai` repo on [DockerHub](https://hub.docker.com/r/rapidsai/rapidsai/).\n", - "\n", - "Make sure you have the correct path to the docker build context as `os.getcwd()`," + "Make sure you have the correct path to the docker build context as `os.getcwd()`." ] }, { "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32mUploading code (0.33 MBs): 100%|██████████| 325450/325450 [00:00<00:00, 2363322.62it/s]\n", - "\u001b[39m\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "Environment({'intellectual_property': None, 'is_anonymous': False, 'auto_increment_version': False, 'auto_delete_setting': None, 'name': 'rapids-mlflow', 'description': 'RAPIDS environment with azureml-mlflow', 'tags': {}, 'properties': {}, 'print_as_yaml': True, 'id': '/subscriptions/fc4f4a6b-4041-4b1c-8249-854d68edcf62/resourceGroups/rapidsai-deployment/providers/Microsoft.MachineLearningServices/workspaces/rapids-aml-cluster/environments/rapids-mlflow/versions/10', 'Resource__source_path': None, 'base_path': '/mnt/batch/tasks/shared/LS_root/mounts/clusters/skirui1/code', 'creation_context': , 'serialize': , 'version': '10', 'latest_version': None, 'conda_file': None, 'image': None, 'build': , 'inference_config': None, 'os_type': 'Linux', 'arm_type': 'environment_version', 'conda_file_path': None, 'path': None, 'datastore': None, 'upload_hash': None, 'translated_conda_file': None})" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# RUN THIS CODE ONCE TO SETUP ENVIRONMENT\n", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ "import os\n", "\n", "from azure.ai.ml.entities import BuildContext, Environment\n", "\n", "env_docker_image = Environment(\n", " build=BuildContext(path=os.getcwd()),\n", - " name=\"rapids-mlflow\",\n", + " name=\"rapids-hpo\",\n", " description=\"RAPIDS environment with azureml-mlflow\",\n", ")\n", "\n", @@ -340,39 +299,13 @@ "library/cudf" ] }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Class AutoDeleteSettingSchema: This is an experimental class, and may change at any time. Please see https://aka.ms/azuremlexperimental for more information.\n", - "Class AutoDeleteConditionSchema: This is an experimental class, and may change at any time. Please see https://aka.ms/azuremlexperimental for more information.\n", - "Class BaseAutoDeleteSettingSchema: This is an experimental class, and may change at any time. Please see https://aka.ms/azuremlexperimental for more information.\n", - "Class IntellectualPropertySchema: This is an experimental class, and may change at any time. Please see https://aka.ms/azuremlexperimental for more information.\n", - "Class ProtectionLevelSchema: This is an experimental class, and may change at any time. Please see https://aka.ms/azuremlexperimental for more information.\n", - "Class BaseIntellectualPropertySchema: This is an experimental class, and may change at any time. Please see https://aka.ms/azuremlexperimental for more information.\n", - "\u001b[32mUploading code (0.33 MBs): 100%|██████████| 327210/327210 [00:00<00:00, 1802654.05it/s]\n", - "\u001b[39m\n", - "\n" - ] - }, - { - "data": { - "text/plain": [ - "'https://ml.azure.com/runs/zen_eye_lm7dcp68jz?wsid=/subscriptions/fc4f4a6b-4041-4b1c-8249-854d68edcf62/resourcegroups/rapidsai-deployment/workspaces/rapids-aml-cluster&tid=43083d15-7273-40c1-b7db-39efd9ccc17a'" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "from azure.ai.ml import Input, command\n", "\n", "command_job = command(\n", " environment=f\"{env_docker_image.name}:{env_docker_image.version}\",\n", - " experiment_name=experiment_name,\n", + " experiment_name=\"test_rapids_aml_hpo_cluster\",\n", " code=os.getcwd(),\n", " inputs={\n", " \"data_dir\": Input(type=\"uri_file\", path=data_uri),\n", @@ -383,12 +316,15 @@ " \"max_depth\": 6,\n", " \"max_features\": 0.3,\n", " },\n", - " command=(\n", - " \"python train_rapids.py --data_dir ${{inputs.data_dir}} --n_bins ${{inputs.n_bins}} \"\n", - " \"--compute ${{inputs.compute}} --cv_folds ${{inputs.cv_folds}} --n_estimators ${{inputs.n_estimators}} \"\n", - " \"--max_depth ${{inputs.max_depth}} --max_features ${{inputs.max_features}}\"\n", - " ),\n", - " compute=\"rapids-cluster\",\n", + " command=\"python train_rapids.py \\\n", + " --data_dir ${{inputs.data_dir}} \\\n", + " --n_bins ${{inputs.n_bins}} \\\n", + " --compute ${{inputs.compute}} \\\n", + " --cv_folds ${{inputs.cv_folds}} \\\n", + " --n_estimators ${{inputs.n_estimators}} \\\n", + " --max_depth ${{inputs.max_depth}} \\\n", + " --max_features ${{inputs.max_features}}\",\n", + " compute=gpu_target.name,\n", ")\n", "\n", "\n", @@ -430,7 +366,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "from azure.ai.ml.sweep import Choice, Uniform\n", @@ -443,19 +381,21 @@ "\n", "# apply sweep parameter to obtain the sweep_job\n", "sweep_job = command_job_for_sweep.sweep(\n", - " compute=\"rapids-cluster\",\n", + " compute=gpu_target.name,\n", " sampling_algorithm=\"random\",\n", " primary_metric=\"Accuracy\",\n", " goal=\"Maximize\",\n", ")\n", "\n", "\n", - "# Define the limits for this sweep\n", + "# Relax these limits to run more trials\n", "sweep_job.set_limits(\n", - " max_total_trials=10, max_concurrent_trials=2, timeout=18000, trial_timeout=3600\n", + " max_total_trials=5,\n", + " max_concurrent_trials=5,\n", + " timeout=18000,\n", + " trial_timeout=3600\n", ")\n", "\n", - "\n", "# Specify your experiment details\n", "sweep_job.display_name = \"RF-rapids-sweep-job\"\n", "sweep_job.description = \"Run RAPIDS hyperparameter sweep job\"" @@ -470,8 +410,10 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": {}, + "execution_count": null, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "# submit the hpo job\n", @@ -482,26 +424,18 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Monitor SweepJobs runs" + "## Monitor runs" ] }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Monitor your job at https://ml.azure.com/runs/eager_turtle_r7fs2xzcty?wsid=/subscriptions/fc4f4a6b-4041-4b1c-8249-854d68edcf62/resourcegroups/rapidsai-deployment/workspaces/rapids-aml-cluster&tid=43083d15-7273-40c1-b7db-39efd9ccc17a\n" - ] - } - ], + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], "source": [ - "aml_url = returned_sweep_job.studio_url\n", - "\n", - "print(\"Monitor your job at\", aml_url)" + "print(f\"Monitor your job at {returned_sweep_job.studio_url}\")" ] }, { @@ -520,8 +454,10 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, + "execution_count": null, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ "ml_client.jobs.download(returned_sweep_job.name, output_name=\"model\")" @@ -536,11 +472,13 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": {}, + "execution_count": null, + "metadata": { + "tags": [] + }, "outputs": [], "source": [ - "ml_client.compute.begin_delete(gpu_compute_target).wait()" + "ml_client.compute.begin_delete(gpu_target.name).wait()" ] } ], @@ -549,9 +487,9 @@ "name": "rapids" }, "kernelspec": { - "display_name": "rapids-23.06", + "display_name": "rapids", "language": "python", - "name": "rapids-23.06" + "name": "rapids" }, "language_info": { "codemirror_mode": { @@ -563,7 +501,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.12.8" }, "microsoft": { "ms_spell_check": { diff --git a/source/examples/rapids-optuna-hpo/notebook.ipynb b/source/examples/rapids-optuna-hpo/notebook.ipynb index 3f16ccf3..79c181a2 100644 --- a/source/examples/rapids-optuna-hpo/notebook.ipynb +++ b/source/examples/rapids-optuna-hpo/notebook.ipynb @@ -380,7 +380,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.10.11" } }, "nbformat": 4, From e2210214928ad8d637698ae7595287f804ac6de9 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 11 Dec 2024 13:51:28 -0800 Subject: [PATCH 7/9] formatting --- source/examples/rapids-azureml-hpo/notebook.ipynb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/source/examples/rapids-azureml-hpo/notebook.ipynb b/source/examples/rapids-azureml-hpo/notebook.ipynb index b98109df..3c6337ae 100644 --- a/source/examples/rapids-azureml-hpo/notebook.ipynb +++ b/source/examples/rapids-azureml-hpo/notebook.ipynb @@ -390,10 +390,7 @@ "\n", "# Relax these limits to run more trials\n", "sweep_job.set_limits(\n", - " max_total_trials=5,\n", - " max_concurrent_trials=5,\n", - " timeout=18000,\n", - " trial_timeout=3600\n", + " max_total_trials=5, max_concurrent_trials=5, timeout=18000, trial_timeout=3600\n", ")\n", "\n", "# Specify your experiment details\n", From 7520008e5bc28a9ecc299725603509e6a71d854d Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 11 Dec 2024 15:08:50 -0800 Subject: [PATCH 8/9] prefer templating --- source/cloud/azure/azureml.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/source/cloud/azure/azureml.md b/source/cloud/azure/azureml.md index 5d57e59e..96ccc396 100644 --- a/source/cloud/azure/azureml.md +++ b/source/cloud/azure/azureml.md @@ -42,20 +42,12 @@ Put the following in a local file called `rapids-azure-startup.sh`: ```bash #!/bin/bash -# conda create -y -n rapids \ -# {{ rapids_conda_channels }} \ -# -c microsoft \ -# {{ rapids_conda_packages }} \ -# 'azure-ai-ml>=2024.12' \ -# 'azure-identity>=24.12' \ -# ipykernel - sudo -u azureuser -i <<'EOF' source /anaconda/etc/profile.d/conda.sh conda create -y -n rapids \ - -c rapidsai-nightly -c conda-forge -c nvidia \ + {{ rapids_conda_channels }} \ -c microsoft \ - rapids=24.12 python=3.12 cuda-version=12.5 \ + {{ rapids_conda_packages }} \ 'azure-ai-ml>=2024.12' \ 'azure-identity>=24.12' \ ipykernel From 65791326eff9e012891d136be31ecd2c48001334 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Wed, 11 Dec 2024 17:29:26 -0600 Subject: [PATCH 9/9] update startup image --- .../images/azureml-provision-setup-script.png | Bin 69747 -> 212662 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/source/images/azureml-provision-setup-script.png b/source/images/azureml-provision-setup-script.png index d7ed288ec50cab366e2c74c55b698512802edf07..4fa05ebc1587a0938fe820508d3ebee66b9d1e60 100644 GIT binary patch literal 212662 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�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 HsmxCB9BYC2%6v=iXWE+^eb! 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
Z@~~l(1;DGZ55~@;W9|h1%y6i9^y|p=pLQfC z88)0fF2fj|mfi4kj!UDt+PH$AKvzI@$xP_;7mF}G=~gd@u^U17{jvq{D+H0|%C=+* zqAW_+FMA?h?^eD48rs21Bk_K%oL(=h`^HZRWx1V)201x8UoCF9d z_U5^gqE`<|(O$!8Lx4rqi0lHH&qBE%^Bn&e^v;emFtJTS@c|htL&CVUfu1V8GHSNg zkT4bQ`t#oQfuBf)J_NLcLrVhh@;$)Hk@!~^@x2N=0S^KbluZMp0{wPI*~oC+UTl;8 z1Quo4K>IRHl;9=6`2N-k<-2rjJ%YN%Hz7EB0KnNzy=ms5S$S=u=D;fOw|zg(>egHh zNgUYjtiqirMrdD^C4eCUo7x1F(idp~q{wdsSGu^r%Ty!!qg)3c^^mfse@n z?Qjy}7dZIkT=TSgfvweqCLx-jp>hZuo(@%Qp<+}c)aRI@vztN6PFJVzy}P$|LHWG`>@PyAFb;^*x;FoQsYn8 zcd`1m1_d}Nwb|QFf!ptw%x%-(O-Cog9p>&j0c7tLDcM6y1(q)pikKVM;g*YeurRL+C{9u~JF1ER8q4)LHz%+eS$P_0`y`iu zyu1;R^rwiQb*+_Z?Zcv!H96q&N6srxykBh#{qg3%gOWSE3&a+?2wgzwHZ3toOZ}VO zcRkXWg1NAk1Jr(s-d4x^wer!O<GBsYQ5KT-mitfRoT5C42& z$o8ck%9-X2B}W-hQGzW}d253%seT$K@K;x6PNT+M_#r$bF9SaF? za+$XDh6RALUrPVD5;g-8MGqT3d6Wv|3J`AI`pYtjp~f5pB*+@duw>YIfsAA%MBe?B zkWZ_*M{Q*sEQDEeY15}A+06+wWWs&zTqhV{!)iG9Kcil=wlW5}b(6lKd3aB*djr$!XF~TfBN(dR-7_^?~fOUT}T1Q|2OBy~?hkS}WUD z#z3)@BtA`nf7Sx2c(L_Hm^v0>v}Xzd1x{gaL1Kb>{g&!!ZKe4>S0LxZ1uuv!ynysJMAn&o zWgv1@pb2(Ym{_(`!O#1)khh`(i3FBSfVM{wsHGG)c7pFzSln3>?UPKSiG5ahsqmmr zoheOAL-ug=@ol%Kj*8x{_^K>bzsGr{_ z@T6ou=}ICm@QmN#iye?wjMUn)-}!^wQQ9Zeyftidh0NmRMte^5V~TXEs@e@=A#Y5Uj{gH6ZgPf1uOMQpJs-CxMMoJ~Hbog(CEzCF|+|6d0$|(csu)Qn zLJQ@X=QYLQj1$s0lJhwUf-W_Oh6Z1S)@i-ML#FU6RW)jqW6}PA?_%K^jvk1f#$)=$ zu2LQD%)UJ$;PpUCGXK`#?mP5Ju@!IC-Y}shZ4CuoQ|RjKr-C(b4wTLH_`Hs>T-S<~ z%ZL{Rsm|y5kr(X7W^#zeL}+jph{QafKnH`T$=Wd{9Iqul3DUID_ zcYCee>;+9ioiYA>?M`FukaMPL8!XlGxwcI(DpKj1G>wU_11Rl4kn2E#7Gw&bUs|LL z*Hd(ZWcW?aHBa$@sw7}tm5P_%wNSf}*}S%iMUwx&zey>W%0fABJ-N^^*w1cla7?Pp=X0f3@XJFx#;2+z2VMrb{KN+FXBNPXE}~>z zTi`TmDSTfmYu1ur*SF;~8<_UrH~?9`%?Iaw?<iq&l3C>lcH-t)60l$zON zbbWHgasRq%2N2DS)rU?np#qnwJ83{lK$r&N_gE@8VRmUHp;qe96?gpJ;ckoeGITqL zl~xkK?Kx=pJd}!Vgs&v%DY;Xy3G8Vco|{t<)59J2nZC&KHt<4KfIQ4*HNZo7zWJ}! zG;Yaz9Lt3d z!MGP(3raz6NDhGJ5HuBJo{wQ4eef3C0rwzySrS`F( z{>UHhC%9Br`1bH}B`-0lM9c9hSX9;mOAb_xY4dAGFdPkmh_WQXViogG;mqp=p*r5s z1Cfx_@pO(X^@B=xD2O=6Bhtgt-+pr^{cOe}@8Y(peKw7-qCa9lol8>$2?BogP5ewhh$j z)3K=h0SIQX&98#l2@x@B@l4>}YdN`|=`+d)ma77Qo~7#AuhS9!F%R)8QS7MlZ4LZy z6aDyb7=ZE;2G_=f)Eshu;P412vBq782y?mkBxJkhZ|NNk?e-{ah8u%4mQRY6hDdVC zd3F|3iqyd9mrjwPw1F5BOWK0fu8I5G5>P;YIFqJ>6%7@+(}uE#XIBu~CheQ!|=Ti4t6ZN)ZCl=3n)zEdCLi}JaV-v`b(+ff~JoO%_?bTa1UEA!J*h(+?6LkazSl~Jg!OE2#le;4`~N`Y_AHv+gndv zQg!Ku!krl;wd-|=$^vgiiN?%w!a|nQ+>b&AxS_GDhyI`Ht~?scwd;38lqBbblA)54 zSt%k9b&?`QCCQW=Aw`k-K`NyTPXj4JC36`peF{;ct!e} zipHZF3p^$2#6{kzw$BxE8n}}l;zsd&^^1; z!r-&%kcNu~GwGT{ahV-bJlqph?Y`#lDbU%xXW+mGta3R*&6%?z8D^ey zQq9Cg%>_K+u^Uu&@CQlR4%>maevg zFoefRPULui^Ae1-AN|`6077d4SBH4F;lVOQ=JiE|g|Z`@un!m)DxQrrR?gzJt{jZ~ zIPg_~x{M!^jLlO$L&Fm3p0qL{*TV<17OQD;b1h4T#^bx~lg-t6*lmsL|rSp=} zL#^5peBr)mTb(7c3VmBL4f1l2y^b{pe3P~#W=}33xK(Y!%aH*=lT9uloxGGhw-a~V zAqdrJ64eCh`S0)805T03`!|b^m*)TldxnPlkkTOd>V06dk3xZl+1%empsaMKE>8@+ z-U^1$;~2N?$D%4knN}g}FwpXz3fCd5nhnCT@V8|2IA&|2NZJ>5Zss*HBT06)j8*g7 zaj+&*iW4=*(_K#}89}ji6(amZ@9QYcR0PB61hD7YPnedEdsM7%!vBq{i*jq}bDIV5 z0lp8j1gjQ~0h}eUtO|g_)ktLHr$n3P^;xVAqxn<5u;!>1PFj<@)^Fo25ohQ$UNdJB z#}*0er5X(Pad91IEJ->(u4|>`q!gQ2?1ZKI>6vAg7Z(BZTpXm5rxe?9G(tPVmW@ASca3gt z=}6^pz0!My%l>c}Nl_6Ru5K&J1!|-yG+QbGbIy8u+$WcFX1&pCV?YYI? z*>M$QD|c&Dn#CMCxwrq?8tM3SV?hs)vRT?dJptO6q@nX{V%F?RbCVZIe)2p!F;kA$Aq`lET78{lRNjAMsC~z-O)0Hj zq<%{IZ)6ypVLGqUBF_PXtH(`B9d<--7)iD^sp&i3sM_a5dW8XE?H4FC&TkCj+#$JKucI?F_H zf_OHCrSu8pX-m_0W6o|VPzAdxizOc-oKEqG1hzEmS)uL9@L8oK*!u=E>Lt{XnW({(J=Svuf3o`qCHQb`)8BjCj~zyPJpDI#s%YObzQ>!yst9%UQ_Yw`W@3ciB@g(??X>ZE+lok1+nnKS zU%ZlDI}ax@nGgeEo_pSu{s7k8P7;UnmgEf>nsod6Id`>l!dzM{r2Z`19rro5hUiQ1EP%{DeR0*@TJ3f8 zW+LKWc@|#B^;bWhlnEd*Hq5oOJjcj#0%^Fn$2$|kj6gF-K0GQO2OzJpKH@X}^FAC2 zA>9*%^p|-OoLKMWcKF;Z0Cf`DQg`lPU=#s*U&D1e*@WH!ZC&Xw6XkFi*tg0Y=A(QF zKJC7k$bS~af7{NKQ}DrsH{|iT1xRexQ5%DRT|EFH89s5uu9hr0F3fmtpK8It2P|ZM z>_xlFA+CUb8|go5mD32YI=hb#pL2ty9B{Z;=Cj1(6X*w>B5h)P*oAe4Hh0T z8N$Ap-}VPZDf#g^A)}=14ePIWI2s+Xngm$Nh4@#GIW}mngXw&F+fOKzguUMB28aj2 zXZ{D4!hF;~v;zOp0wwzEm3UeRA1uD51~Xv&IyDM5VHj?A`MR<+?#d<3PogH+`jdOH?Y6DzaF_ERso~$ zyt&Q8^gBR}CaUp74h_~#3n=m~)7F`wLSeL+284g@sI7`@>$Y!(d|OOxv7W~DzsL!Z zU!=GQNVVkxjfaH#%UjT^ z@da@A-cHNYbO!Pv zvlwCpUva?^xLi-m11(ydU9`5WME+E)-k(c}xS7!ibCTCRSdB_b2v6j*40G4Xp(a`6 zMRp$pKDNi~TY5yfN1yUOo3I&A@_J`I(G;{Ir{a;cAaYLh0gqLA(K-Rn_r*+KG`q_~ zf*VsU0~^z*WP(w)dnj^|jovGz0sBd{t9|?YibUMPK z_14X2q%fWXJ(o`Q*S^xbKC7~Oo2q#>udCRn`nZnJ$ZJ&Toa0A!3n6jWMc}Of=IiAa zkW92rHLeJjmGl)*BDFw#benycJNy)jL9+53;a2rfhCDq|18tV*;BE~_CVE(&@Q1M_ zhn^FH@hGd~`4;JQ!}E>i$4+b*>hwdAi;xW}%Se3?^(gZbybD1m<}}B<-&kG+hEuqX zz6g+?e$(!jH~)!}N36vsSc|VwQxnySh)HlPfL*> zE81)xM~(Gdo}*I|9SrB-p>$oN92B$@MA$q%3G!rV8sURZ%PRy|t>{&uJdwM67Gqe+ zjX<)q8@GeCpdv&;HqN`H&1GuX;EGOPwbNL41eCFERPn-C^-+UN`!b0OM{tw<`CAsh zAQM0zu;CoULAL?$= z(VoarPlH6i5uC>Fp8LzlMrIJHnlui zZ`d!lZ!~FA>k}W@9l#996e*j<1OCo#HBe7?n$Da&nK=?v(C$Lc;-Fs2VvhI(4~Ag< z*)a`m-L2Dx0VQWOe$ot-APtI;?jZ|>*b_d5yke_HPa%7E z0YJhSYrm;>RG%}iH2!=@Vmb%ng%PNGfP%6_ll7UC z0OZjX$o+O_n1A-8B8G+QeMK3Fv|mH{VDN?4hx!|m&71*Ufo%#x5stxhjk?}C>++jS z*G1Yw^3=v_!yOY4#5FS!ofqze@N+rMMtM*SgTLLyZV-;|b~xS!Zq9MWx$rg1s=Xb^ zl#tf0>$jV8*;3m}=J*(4SFIk|vfdueKMx_*QGP=e>NxW(3*Yprkz6@y@kmp|0DorAB)t!h3tV@ zeve}wKxrOAM~A@qJtJ?2_)MeTaRek;VAo+}YhYB*i zRL4Yx1|>LmKQ?>aZhvCUvbHWVG8BU$_~&}aH^DqUkC{ZTKNX5Gxf%nlup68%3zRjC zE&yNehg&mUCO1KF6AWB8yu0~Iuqk{7UgU#Wr*cjG!0qxXo!v9}oK9N<>S`}v0qd2xiU2{slL_Z+bz{5+#|wB zDSwBr)mxqM!Q8|^Af|qIax(jrd{!OZ5o}8X%CQ%iFU^bqy5|O~!BGXB71yZ|_BSX4 zXSu(#Xx-BC2S`j*xSza;g2bv<#ls_`8~0w`mV=g~gcA2woO`l-LQAfwez!aL7`oNt zebvXIt+q{I1mrn)4FM19%$Uk5TX2(DKn>M(=`^l$12evOZbb!W}dnfShz_t)2$tIBK`!WrpY zCl7xt0x>p2i;ki>ib1`J?4)o6LkmZ@-;(bD2=GV9Y8{uzOWDPWEqH}?v1^i` zgMTOL=MTO;O>U?n=`BQ%E~N_eLeQc$^n{(!Qvy=`H3AG@)r_O(F&T+EHa;ewTA!rI zJx@=<0!zW8RPI}~UAi2+lG+(|0}nwZJb1Z{B)k@i-#?PLc1;_;4R)&tRU9+^eyl=5 zTh^U6zeeET9yrQQahF`cMM~xy?+S$!O79+>(>!F!9HoLe^jzZSmgRN{Uc>GcadVKt zz3a{${#uLsM^}c65vQ94BWdVc@GnSjk zE#Pd8L-z6?J5L4Q9?98?d<5=dfANsQ;g%$C2Y;LKdv@dEN}I9(TnL5ERPYniKE?&F z$Wemqu0@xxtc26zzg+B8P-s@@>^EFC9?6CS?v!vWJBjYQ_SWa}x8X z3eHSnp(a0+wZ2`@Qy=Vi15F&2TrMxV*zvcCY=FWv2{g~V-$chwv+^f3(Bbz!WpTi0 zF{m@!rwWw#g)|ymkIZ^J^QRzj8d-f*Nij}xUK&ei!Era!9$i#soVR>d)0iupdgizl?kcEsCJV35ESEib_SOOd^enM=O*QH;WdW@u zSjoSR?veHdblX4|68y}Lg)Kheb8n)c9spkZE$$5f2Mv1zBmm=JHKdi<=J2}zs4X? zfCDe5@t$9~vA2LD6q5FR{>P7e)S2l0ESPIKkBE~s#$Ct0AxBjP=;7qZzmCXl6e#k$ zV>7PR|2RE^4lu1xG;ZjlXU{PcH{6oh6O?RFAb2K3RD-F_WEB!L4OcD8HQ721Ae>Eb zZK=W{0X}Z9I9(nrIg*g!WgGT=0QiqRc0-Lj1vcDMJv{_KPXX~a|?iI^{3zfYr?fr0Xz=|BWGAd5=e-T~G0$=hU_mB-nT9+a9bgJh6+z#c34>%==H3BoHhl3h9|Y)!jhG9epqaF(aWo! zLHiX|=uu!>1(Ma=9{Vp#G?M|ha&*k)Avru&*S!i^s#0oCTbde=MhAlnzylYaTK%u5^{ncHPjj1XN+M3x3AerJngg`#G4dr%{T0{y3ge-*wt5)( z`yu<1-p}F32bGOt-y4a06Y@0v5s-40Cv4uWC(z|Z?f7g*-ZudBYM-%}ZJ0)MN&b)fJoFf6|XF~V9r=}wF3s^Ff?<~&58f%DFw<+Bl{ypFkV8ui*f`z z-dvBf2V|pIbZFcKk!gN~LZ!LEWH$TFVG0gbbo>bVW_F)59jJ&auYndzgIRJZ{0i?7 zxQ@!f#+Jj+JgPW<9GsI4k<2&W-UtvQL8w0akle8Id zYooMJ>I&iM7m%S0nB;gyj4a%q?QEZeM0t>n$AUR!!vYZ4a^7N7GnUGhn|6E8q54(n zc`rQ4b&$e0z*+(ffRE6Jzc4ii*cxUgK(AWR?ibLQ+Q!5%f=t(v|GQE($EK*uc{Sj# z%n?ZAy~uV7q>o-GqUhM>I;8;#dyNOzy+S$!S1$ko*FSZ9&d>p=`R(O~QLI_mbeGq- zM;Kjc0J^vZFm-j!)_WjR*J06@iTh}@A6B2g^#g@P5&N_1TKZ6t{iOqL! z_FXu}_}(@GZg7k*UB-LwA(RGH_Bd$8sQMVief8;ohIRyr7CxKk6=e9$UH>*aH`I6JuIb8vS0%IaZK?^|AqvD}u0Uvi)-4--JiOFouOH=ya-m(ib)Na- z@J)kT+S07sWFS{P*f_1+g;-$wZb}cJa)8KGZS?bA{{n~Yann;2+zne1H$u6k4VBnD z^SFE?>|JFM90hJF>quJef;h(JW^Nr2#uiK;!es3)l}Z;QwA!q!ZKm9z3OcEeWxhv_ zz-{)ufDTGfZ>3*&kp%$}I=U`{yMPX(NA~R-URRmk#P-ca*tg0|A&C2g*)5LlPzW<| z-7inw$w{Up+TG|?0(Y_b8=IQ|kYDuy)=y)oF}0+Q`(`cpEn!1$?g+xU-aEs(=(;*H zuUM4{TwU>(zieUrJaVp+ghQ#(?PtKz&>c~%y$tJDVm~QqUM>Kr zvE0&YJ-}G=v0n`=h1tR-VF_tJmKN1*DwuX8r{(bQh>D*|_v9*UK z;pdi}ORqb+BXW3+Yq#29kiY=<)DVEL)BBe}^og5nt=vVdcd^F-2wAT8&;nA2KNz4W zs@(7z%V9(o#TezfVaFST7Yz`nKgRACQi^RNFoIJ9ho&Y@C*fG2xF)v%%l@?_HK_6j zls_N3z`>T|UjY00GQNfa9@XHq;aYhLJ5y)Zb;RgmGmi)>NtYG~)ddXY2~-$DVN){u znzP)C$AoG(*$+@EU3{b&ddjvXHPPVad*4-Tbv{kPAVa2Sa#`IG@DDIbU+8?psV?4N zeM(xy1FfErU=4@&hqk6gSOgOSv3uNsYmm;9`lXnj%Ve-8C$ywmiV9kbP3I(zS&P8` zUElgCVL#d0=DWj5&RtZ3Fp_ypoc76MktK?egm`ap>z{Nh)jH1wSwer}o1ORBqTd zorP%{U8vztxeIe-UH)x5p^qyAx5;|TqZ0Un%7-wgrmFLG-TF*zmbNYZPBoC+Bv|iU zNw2exp*FyjqHSPGB1RkDsY8rN19YD0mLza9BfyqM=!!r&hG7PTOkTTSW(Bxz9-V8U zo@KyHUg4&4LM!QyVEjFP&QJrRY=D{QZ?A)Z{DTv|C1C@-E8s76Pa}543O00mfIJ4( zFt)~=ITmSSq9e)6meAULgUq)iCEO4N1Mw|(=`XjaTvcWQt03wXXG!249=otRaAaWH zS6qLbQZ?x`{8JPBDnqf(Cj=DeRb?mGwvw)B%+l3Fz$*+S;toL`b}wwgiXVj>|GR$y z(x`#yZy?{FvKY?$b=y8FJL!_UGcDchco@}Ha^Xr{m=>`TvZp?=3Kpr zAy>5(HR>aZKAYxg;Pk(!g9aXq?V>YPy}`=sIlc1cc-j`MfRl6YKI+ABKBc;o2-9sRf_T$u<gh&4$7$!L3LNNjazWV0?PlaIe;-761Q`@f(N3fi`ew>h0q2ww1 z0-mPs!@hNBjZQ-fD0^p(B4#~*rAU5ye8QM!=DG~EpMNkofm+z(i69XoGL53l3Hnoy zqb(fu;1GPqmz;e?#QUu`q9JWMWtI%suDngS2Y&_!6CE4ma69Ooz;!1aP-?cq+?`Kr z*bTehJ}lGH>?=P07G_d-Takzx{PS;4vA~F)$~MbksT*VAaXka4F(Rt-hr0Lz zQfg>0U@U{9i@>X5Pp`U8eDW8uaJft(`!+b^?M<)?xh)?E;`!)O^9>E3_26KZS>v~`!Lb+s{)r9#0gr8P zA%0pnj4XnnE?RdWdYkbM7-VndCq%MNKhMM~fEl^f83_<;@d2QYb!@8)n^m75S**EC=~N%--nr(y1Krb0g02UQy|%7&iaXAcs892Ij~zKX0V zP96a1a|LSYhyy10hUgctTtapeNSeok5;V#rLniw022Etuv3q?t63cef5W=`mJB;AS zsHJV;yakJPJHvn}8)4yhrPN0fE@fnlML6dj?&3-il*&e!$*XLJP_V>AKmG=Q_onE7 z{%_#DUkRPU>#*h}OBnJG?caOi=SYcb;WM}e->BlXs1~-9C?4m>RBNJO3tWFP-iX0x zm>Soh`ux>QevV$b4;GG#Ap_a_CeZ7y_$~H6dz|l2Ix}wrz)B=NaM?h7bWK!LjCVwE zy3rlviFG~DEPP7`zniI?oB`0`+@*S+{!Cn_ZvDZ0MUW|FWt~g zGov6UdPNdbIJorvNC~y-2PKpy-htIV_7kT$T5awJyKbAJk6`p&$bnb%TXbdt=o={^PzM_x14cd8fLr*X#8>pXYfT$9bI3XP1;N?Am!?CkYA3E;-qA zS4c><|0E&V+(x9wC>>%M*D<%M zwFcmwi1%nz2x7q<}T*E&v z*K}6ap^Yy{NV>a7W99z)(wiibZPUhAr#E{CZr%8TgzU8G-v7Q}A^CsvFOhjXdv^Ky z^|hgxFcwDAjhjk~O_x`kUR=>Hf2rut^QEdv;r#jYIy(7I%k!(te{{3%7~Z;dE9l84 z-Jp_^l0Anc4~pD5*YI%Tw@(NCnp|8F9PIy@=g?d3Rr~epVS=^rL0el}5s|EW6F?c!kfl~vzEgqhNjw34pAYfCkjvY(E8vAnutznGo*xpU|2?HBz_>xznQR=(wo zf9=N-Psy|K{*F|9@tt29W0akooGQP4la`ha4-b!wiVD!abLS48hecj6&Bo7?q(!Br z37DCg?c2An{` zR^=}kVxptjI5?Jjig#rH!P3n1SM&4p_fFjp3=Dj{V~>)O60OPm^mM!OmyF}%~7q6e_BPH$*Z{Ms;X+3lnd7X8eSJJ7#9)95LX26va+(dkrqu2jc=8e zBg4Z=!NRZJlIzMz%bJ^i%FD~cHGlm0(Zi#%KH|c*C7)NXaGgal{5OiW?slVQWUSsj zG~Ss*@Wx+_@_ydlg-vt=+sX9ZE=I+~+!YR%bXua6e#s;;+}9V0r3(-LH8dm_!(qsA z;)F(;$>l%eoo`;hZup@oe$w^7axVZ;r7O@{r@$eibn3$SkVFLaADW$OpSFh6KJi+Z! zOB)y(I?N6K#>FQjD3M;ieA#|wfj6GVWzA7lRrT!Iv(oNZ$vEO`1WP#hGbM%3*w|Rw z{n4XGAtBnhJ3~W5GG;9Jix)4#A9J5Lk&=-Sb9rvCzPO@7PFdND^3Gr#b97CZ%UbNa zcc)3~>*@xve;z-6oSQ2y5o^|xkgORoV})m{DkBrEnyAy<+>F2{P-44c<9i-B^}M*J z^~Vnlb@h7E9NUrWDk?{+)VX|lDt1rdpDq{Wf++1AyU!UJs#mTYA=nHx{2pu12v6Kd=!IS9Z`~To zyxm*&fK7q@j&pEC#3uZ%^lSP4y}pQ= zUCBC2OI^L~f)^9-se;w{_G@w1d1JJ7bR?0>q-CwGd2%A^>Mlu>`o1zCJ~v9fJAJZj z*Iow&nVFhiByIa_=I8zu;XfD|@bcx$(fc)_5<#zCossIwwO7GLzIgEjAD@qiM?=Gv zz)ejpE!*{zUBtmEf1qBndbKX)OVP&-6*Lmc>)0;G+gGLO_48N>|$n-l+>wO z5}+>Wv1XEV{L1C!?tYkn7im)%zwvJ7KDR^8dKXV{aBLga%Cvq+dGqGYA}({jQvso& zN~FmtDL3~>_024@D+M1W%#O9Ip6lb~<+WJ|DwGu!ym#-O^w;q79$UXL95^s&lH=}9 z8tom;Ro=vu3*ajh4s^pYmSbHswHHr^)Vz?(zfYEvmnT2CHd8A_E#1-4 z;qPN~$o2X2or;Qz+qOMHFs4*uEst_@bF;JmLB^&s-gp?3e~>Vxsb8_OvW_a+rKH#n z1b+JTiG@&iGHBr-BO^*f71uK_FLpwm;}OjQ=T%Z>AmMlg^At8T_-Owc9==FgQCX>fG0=$wfxL`; zi0XcCwDpyCLR1uSLuzU|EYFY8252oW>9qarZ~y$ z&{D6Ll(4jAXZCrG2XFp;0wnnwsB<>-KCZ4L(y~{tzW(^}M9w3HI6JGGHvwDT1PNK~ zq;R2DR8{rMQ`gZ^qWd~OJ8Pce?6#Y6&<(jTRwbrE)eNN-dANUU4COlaX6eq`OPt4# zGZR|d+Uga;lGyx`qp7Z|s>;jDHy$Sqx~iq6u;zD`MrLAXDy_&_J%g~mR@EoIj!I1OKXZ93Nv54ILn3jsUjZqxCQM4oVSW^kLMQh=3WxR7uhPwD zF9yxZc|Esg*?hx&hNLd0vZREdqbo7PzE&X{)^Er zrCYa-hiF)@udR~PaS=oH>eZ|5d36#<<+iqSEs44pWMtAasp#qHMWea_tj@P|6u3w+ z8&n6LT3wpcpAJGH+n0J&G&sIZhfq;bQUCB^)e>h>w%r)^OGO10(*Zfs3L;=uQ&)E~ zZ3&lfUQx@O{Pu=};2kRAz{e_JHb4Da{$ZdOlf>Q_x+$wmBe$)sTQjV5O-(<3`h+;v z49Xh{Tl_#uIk3rOs&V7OC-33u$*?PVK7Vf7l`r9xDt7Xur-b26)V4Qo-VFV!ms($$ zK^E8SsCjqhF)6d+ZXx|z3R&Zkh&Vz1`LT9(M;fQg*}1t|nSQ7xYy+=pBs5t=uD;?* z?ljm2WbELu48)0AK|cCxW)a1Yfw`osOZOZdC+f<{Bta!akaoXA-`7_P%po28$B#eL z=I7w>sCjtobV-!i{Pxf3*mjL`nQbC%Y+Gp8FH@gYM{cjEWPwGlCNs;be}WPM_- zsjjT_piD7uOL6!!UhjjQrQpwV=Ke0T=>mB_e}7q_p=a*)kMlE=l6dUK=W0U4fWcnB zeH%@7k!lmtuX}9UjzVn2j?CKxN?qNq*;$+DqMUmZ&I>&|0)w{yy8{-GHXi8dIiqUaZ!L^094Z$Yi6vhINF)nEEOR?+TA#FW)t%{VBvRWOH9dmc@iqpiG6() zzKRM8SQc#Z9TfXdAKHdh0;!tsDJ?A(aA9X>H@2|oEO2q*@&n+ysB#NAMo(4pP9JHW z8E!Do;g6E6Eam$4Q*sN@-dj zIF3FvpOz6=Cc$#d4>h`N*S~S2r>EzJzW!P61B?w6|33T4djOT9Ain^ZZ;-My-+#ZL zxK|oA`N+|u6F>79n3#UXsdAq`Ukax3kfJ%F3eKWXe40?}C`|>X#kk z;Ly!?Tts@x&d#10sIC3>?dI_P`}ehwimR*R)6)edB(zmk|I7|GD(*gS-jbkw^JX|0 z!I?8(Ld5P3?iZDo1v#+l%3odm(}lXsD<-y#g#ZyfbLI?wIyEhghVcfl#`w=XF|+1R zNCL)2Mn(n(X=W{4e0(XWZVDmCRieR9fapQobaU@dA^iY$jx@*T*v~}2di6?8bw&lb zSS!cQ;#bKtpE^1^DrEJuZj^y)V!P9A20?RcYwP>SsEacLU3m^dcly2(pFx;Z zL7Qu-%hi&W(Jk-7!+qYqO^1}Aso9Qq1yiP_rF~#;&&t9=c>2^?sb!-e=|09D00W_Z zKjmY7;=~D?(LOvikrgk67du?csHmvOX;1nKS?QcRM~KwlfNZWV9)G$1h}UmcdT^|O zfB-%V>i?xJt@LJPX1c2=VkJvUqd0X2H+CNh38iZj%f@Gu$dX*~{qKvzn`9MsGxdmK$G?c$0Yke^Y__?+*XBRW*Y0d{L=BTXH&E6C20oG^Uq01 z-ZuXUbL*xSyry@0D$dsr@g6ymd(ugycd{z@QSd&U%J#!d|Glwy=JhbMl(t-!qoNW< z`004YJ^y{raTg$Kmeh=^zrEZEd>fzL?6IR;HymaC;BMo(cV}!;b8|bsd^w|{GJ|4n zQRe{tG9_giNwxhQ_rLG6ux#4dWYCxO{bsXyO!%Kzw(MO93=n?smSgTF9=M_a>NBu4rrLS+u7ED44e<^;FJpK*DvNc>lnTFxzhZk)Nc4 zEwNqS160e@yx0hMJXun4Pqwh{*mWT7!QAlIuf%FB<+KFRA>)Pb(a)bh10nz@ShNid z2!lk%#KfHL`SIDzxXS+vS1g2>*jR8X^WwTSkp$g>n#ecMxHw1YzqE`y;DU+MfrNV|30qC+Q#RV-7FHadt)>Tlvd|o zzTh~?t>6$`c5r`P9BZ7dn5bw?0Kc2FPPWah+E59i?6iOXhlGTmkD4{~fbx9V6n|L@ zTQqhKh=I*ty!iZd&s$DSQJcX+u4f(|y)%n05i?64M}K_wplpCF0?iCy2~|!*Q#0c> z1;`k1yl!qA@LN%lbk8)PFJ9a~8UMY!mEyEtA1Xf4Wdz3eHdQ?9XLT$0ynpTb;kAd= zS1w;BBPIP1A75QjvAEJ)!hXc1rLL~-?JGz1ukz^%5N#fA*+I$-W(kFr;0=Z@w_{^v zCa;;4HW}P#TR)`qUA?_Yx<&fkBNg@-3H^KIeXQGduN<7+W`H^!%_1S;gt$Y+LO?)@ zmarYB$yxJdR|ZOm0GH+FwlXtwSem_c=+Gev35jTFKQ3)8Ev;5JqFP(r^GQARspWV_ zmTz$nmatKANn>RB&xG5aLtNb4hYlP#p|t<^@81x8#_Ha0@vFp=?;8l21z_H@XAdVQ zC$x2W`N~w|TD}~xKPnm;yhr)(J2^H(DJZ#;ValX(va;RQ!VqF`tu_Zr&U?^4dGZ8u zGrMvq;7(mpU!Ot$Ie$Shn?W9vx_80B!OUl$egLF9etZ{$;3x|Fs5hjb!HJ2)s3=z4 ziAj?Q)X^OBMe+T#1OZhNJPv}N*} z%Z(e%c|QPPj&pK`2wDWbf6weyKJw%92#{0TM78_$_AS+=2M)h3j;w+D3+^;#{hU_j;Q=xE$2>K@-i3aiki-}d~9s2h~20^P#ADIr^tiZL3|cAAT(S~R@QwC z3?pM>PP2oT15anUtmot2Jw2ChzNb?GzJEd*eCAu)YQ~ya0ps=7ut?Ae{XKq0d!0(SPRbym2?^&96Scd>@aUG zA(01CRTV0c0|vv#*YM>_Pu=^o&>x|ZMHMfh>jCKzF$#eyIzB$npklAIEU0eaC;(Xu zJ`L==J=gy3g9i_A0byZX-{Vw=eu65Ah>D_3;k>^32iz|g;%8za_wr4Mox7RDg#q`) z#XFjs1f-;N4@)h3oniM&%g7MIH%Up|y}VoiBS8mqb8`tCkZ@*4S|&iOZ1{zQ?)6s% zcpZ}ZnRd(fbTxKpCdG@hro` zNtrLaJV?)bb8Bi`LIM|d4=3jsx==+kzJhTnDGkuAD$MsvW8*?fU0a!{g;s!AByB2y z(z8cu1!~n9E{s@*=ub4SFo4-%*6w03E3+W+V|v!~}1MrEImGEiI}_N(t%d*YEp5rb$S!1hrGyOGCrL!J(<9 zCM$%d1nAecmwdduw{2|={kCr3ekV)IsIj#b*-WdzIpnx{x;Z^F;W)jpHS$RZc4)v( zPzrrrg{8Nv4N>wz;t_(@AX$Qgzwx*Q-pK5TYi?@#5F1M+y|S{>`rUuZ70EP2)K>KV zq#k&nf&xXn0%?}r*nxNv+u^Iy?r1Qge}q`Xi(4zRdt^jDZWlct;g+vaA2RH=Y`xHH zl3}RAE*iq9wjiLmGh9YaPEKPUWV+$boImKaEJEx+oFh{=)CVGaRJHL|44yJ;&b0@( z3lhQ>RG84w(NWMv{R%&I;l%+oouZJN%gf5JmFgO^Y)5G0X%8Jzj=P=JA?M3xXkZYG zzS_5M&uQ6MSn5n|xUN!D`$AO!uR%>ij2%moAOGdHlT3X^3 zKhhBHNSSy+=7!daoc8P2FMK4*#tUp5Xn(gXkQj9hvi1fl?PaHsmc{0dQ3}D2_@AAf zokbF64|hVp4OF+cd?`KBX2T2MMgF?r{uJ62hLA?YnG*Y4@F?-nAW2LIuz!z|rxOzs zGit1_e?=)x{TY>I_GZe3$z9N&%gUZQU1?}&fSiVK38SxQIVmZbpOEmfxaV)%h_lW(}=dN?xDSVQ*QUlpn1X09&^@h zcfG^y;igz-_gH*X%%zAh##yf9cF0mP%7Z3Er%hS3&lJG*@B;K`n1bh)#%#=V)( zqVFO5PY}I}iYjGMhUW7*jra--_C-nxGa5t5z*Zj|95k`Cl)Oj*o{#{{5Rt?@$K+ZKk zb5-wq8L_)e=`bJRKJNH#fv6xXO!lDAFfcHn9pM|on&t3^ibq)=T`(r;&>Ff8Rf<91RvmgA? zv3vLKs>kPInm#2YNZJf~TRXY9tV4$94Z>!C%0Zy)QKvDk4lH$qbR^(cJun0Lg44(x ziI$lFl=?~I^T&#vh$JjN!5c6GeOo9kP&R@nuV`v&s;eJ2;%-9sf9Sv^Y&3m8L=Z8T zQQlcwv442B%MT5SGKJgVxN8629ebDx*lxC_s-A7 z;M=fY6nDVhz!0s0RHK`YljYMs+dppKl((YU907FB_=c8}QqRn6q_@}C*EizRCxx{P zmKq>ULZjpM?b~fK(XR_HOn@{!Z$y4Q_U)TDQHirx!i(Q=8z{<3S2FS5W56`(#ZPxp3ztAXR8cM~9Y*N@~SUXvgwzPqyXUu6rw{*$kB<)t3#%2E4idCDAZlZB`}WkmE+--5nqX*1 zE0e{01f+KV8@nz?<8vr#K<4;&*BbbBaORF=*(MF1l`PN&dhqx6hiRc2HUg|5fl|~4 z9r4S0&n%wrHjSXZo^e5{8UfikvfVL_fHua8TX*h z(rG}wP;=wEr4-Z(do4bcP7D!iDSqiYdv85{DN$L6~Tnqw@BYbmMt#P!EK^@&& zdPLIV;$oi*y@iauy~y$+^QW}L(~4AsLA_87Z%vPl!a@-l9lck2FEw?Bc^gnc-{@$^ zqszrK{ADV_5{f%cdK?nWsYY6Z@!*qgfew&FQj#^4XHN1B63-I#w@(1lUs|Q4G)$da zWVT2*`T(26)YKGv3!O6=85sn0meX?jn>W|aohw1h5!MAixQgmJ!eJA6x{CqbJ#^Nt zCul7$PZXeFtOC3dTRTF+hTmRiXNw|dp|Amya%yExBFMsMdWo1V2o7}#A8#`xu za*}k{F2k2&ojF3x1}H{0b@VFtk%$kutlY*UCB}6mH48yjUOrK`AU`s)v?rdP%MAr=$Bbl34K6&5ePcJ}W1~`el9Mr8{?~VOk+$#$R-5_8+se z1M^c4(b2J6H{t!iIFCuNu|17GykqyluL;eqtzT=(|-Bx%+DpKs&Xa7pDzHMfy=4ODHs5b8}Z_$sVZ!1@DsvH%^>X>>$D2z5C|#Kl!wqKoqwYBjtgC>hMm z%r<;qKqngWZ0LUh<}_4;`f&Mi9E>02AxhvjgO{N40IHNSXw>i}v^oGBx>3-FgUW)n8X3{j(AfML*EX^O%z+b307QD<3i!=`0wAPCA~n=X3ooF8R$Ade$lb9NqhQqJM%eh?NzKtnuepJczl`TvtyzG z(O`9BHdr@sTQDl<3g`($QmcUJ|CzBm_-}elixRx3cx5VJ`SGvE4)N)?GFsnt-h8YR zXYuIQ<6eF#j^k|~2`avId{D3eDt`X_>9f19K;zUYb#zEmpTpmzcwP45#c;ArZ*NLT z4l7}!s{Kq}h;A5TRU$&Vt1G|0*K+d>ba;}vTTVUbnEbw1%`=EH z1qcZ!;?>a$7g<6D-+FtWX1AW5nK4T#Dtx$Q=&BdCtDbJ0PTqqMP=vNNb+mWT41>`Q zgb28*h;tNuUwkz12%-++7qJx#D*<9k^0?Ac{~BUe)OMH!7&tzDtgkN(CNF7Hze>>g zPXz@90Kb6$Zf@mRQz9Gg0KyLr3kyR73OdX8xR&zfp3ADL1=c-9C}m@#qo@;^T11IZ zO-)Tnsm68F7Rlr0FqWW|3R42M29p;WO;GXeV6Mc6Dw}T57M7RA12e3Q#VwWPmv!;+uK8+5D*Y>TwSt74#UNR%p*6j<+A2|>ACauJ1BU8v05O@!6J9h zHBpd}wWV7Gfz2W9{5T={??ZQOK5}%3r2EjZ!-w@y7vQ*n@N>$qatv_`RYq3!tE!LR zh7s5`anlvw@W0+y<`qut%5Igeh7A$V)rGG}U|8LsRuET~ugOtFD^3Ja)Z z{%7Y$mhDt*PG-pXFT1@%2mZY_5|aGw`~Oe$FA7!R@5Jsscj1D|Cu!(3WiJ`q-!iW{ zscUG|1dI4Ohr-tYtq>Nl{HwjXxo1cgmKeqFUpjlX7op;_`|tgChi#9QbG<%0Kc>m$ zXJ%-~I&@m{49NVQJ1LP73pYjYjRUWaQtIyV*|ev9CQ2L!Ys0iOGV9&i8ncmg))hYzjD zjp5-(q-F8QiDGv`bWF^jMrEn`TBI?QP}pPPNxXw+5gXf_b}G>v2fR zoNmRCan-VIVw013u?A}J24;)Ymlg#_{$&+yanl~i12s8|$qx*qs)zrQoWH@xlN?$($8f$DUJuNL8 zrM8T(mN7ji1od+!xAnEH>u={dk>GL+{)`a{_P?^x?#ahBHu- z7{~#@4bARGZ81r?EiDU*{qb5H96`{xiAl}Li6}{w<_ z4!_E2HgP^o@mcV#0P3|wY0VhA2||UarbZM zeBmRysdXCANP!s4O-zIz%$ht@*c4WKNaRi*>Nw=Opy1%qfq{XEiCRfPuv8Wn12j26 z6c-l@PlQ51CY-Fu?U$9uD^y1t1c!f zXK~;a9v*L}1w^r_nVD5b=G64>N>EwsPVu8h&(5mj@^>8+<`ETL0BGiNs(Jf%^5e(F(7;tcsoh4;2HlZ~w$$>*MqfdB_~G6m6ahoC?@!&dvzw2U^EFw7 zc^nd}7<4TZTqsM(Zx73WU@`%9nkt)tXQ6LlZkrF+RzTkMVgUFhPgoLZXOR$OCv%{JY}1^-(DYw@?$g~ zDsuNJis# z`YTw87Z@*q~vHb+*cPo_n(ovH`4qf>jAVbG^G@H0MU!?>7HXLq9b&6uPn}B zv;)YubTmpXV`1SwTMdzpIG{QykRJa#eUWNZ-Oy;(Z|wbYo0$DHOK0TKcqZ}tg;wMF zC$%!`&{*hv4UC(bde=7(1?}6{uQar@4b{*hNC{)mT1@H=F9mF`<>BQe+qLWW%pwX8 zyn?WOrRAoiTseQ<5ShKGlUQEiIdVq3X+I(aWd_J7tk%oR3wu63E{?jMDy(**IX);h z_IP~Rzzo(+{%`nqdcJtUO5kyLg0zj{5Wb*rt8kKfx^%SgHf`Fp*$uNT8r_wa78VlV zC_QDj6#LIDIIf{l@V%)iS}EiNY6iv-tN`ngwqk-n7lruvOifI>U4HtWE%1kuO*j5( zdUh6+G#>8eW9yHkj;8T3+QYsT+P6s6| zS|On5HKafrAexGo@FByG>#(%@(*pXNxb}kO@f^&oQGLhMRibu|;H?Ih`H$QWA3j74 zhNaTrBA}?E6s+H9@1t`FMW@jRx$^q8Yk4l~I+?dY`!Q36@IhgLH+c$>5BG9&9`G^6 zEw^6vVw-+-ZeCtnyoi_>#9{eabyVp4gLUsWPcRBGJR?QsCu*F4uKqrowrt-|PtVJp z+_1Nwe=M;7@Y0_NU6|WxY3HF)czw2lO|ZMWkix~o!{e@ zetv#*PPad!%Z!c{JZzU#Rby07va*&I7eCIwg(7+kozea$TIly8pFFsxc{(`gSTt@H zwV36^iRTgyXQ5KPecKGhr1&+g+5(H8LPc#a>gtBA>Y+oohf(x3<1>GDNkku%O7KQs z%d*l^R9HDVIj1#W^g&_vZ0SpYC=51<>P4PA(s@AY=x7{z?Tx6LMg?n%7ZntMeGOc4;AR}fpfXsQDF0e1%fE+|5Mef`1R7lPeZ5E`HtV6U6w(blmjmNFA-S}ONTG|y&W=ntg?SUXFKMp7F(h$yc>EiztAtH~#2E?uev!6$0Srlx>C zvNOAH{-m2C>o_CrUZ`j=-i_jl-Xs*`>+u>WVwfW-)rx!f?j1g`@qGwXmH9t^jD?CO z=jWYQ7N$_3097zhMy%6#1%3kXeQ$NwW88hEEA9l^HRv}dnv%QUr7k5pfVPp-uAt`) zjE_EIv>L%a0lfb_jak|-8iEpHeQW}W_ zV;w*#{6J!Kbbc@o_dE>1bs?Ba4qk(Vwsld2O*vEx<9xqL$wl=P^(3nybJ-a#J!Mlg z7Etd&xR2&3Ub%if`isjImLnhH;>fiQO3R)(^ANodVYg+x78gTA?i!&ZhxF)z#)=|& z%C@artAa&lKx2vUO40?6`E#DjM;u4CUB6)(fDeGYd^th}`cu7|uY`3~Q&Sq8xCj{t zH^A}x)E+%0%7yS3VaK6O6DSJFdF8jCE;8v7>>YqRLhbc_b8c>-!n ztt~vJylG*viU$Rt&+is2YWsZA95Mt3o!CPoww_2uZm#_L6}0BseLq0lRBKKmoRD8g zw1IC485BYv-!m3C(2e$yGBPqE6nmS0qJ7kfmyhqkO#iN#BgSBH zsb*WB^%bmz{0JY z4@(paagg^8@YmEKc0ud{q)l|m|3FxTcOm*o{8As>;0gF+6E0(Ck6oQqu!iD?l(BDh zsWCZVv`gY4-S=(d`M$m?z-M4@t@keIl{}~-AGx^`2i8m1l>dRdy39~-@{r1zy(YMnTk#mO08n~RBx>-h1C+FEW-PVMBI zr6@aX4(Pheyg2X~xac2OyUX10cl?*JS8_H|FRmU#mnb)VzkWeh62^Q+y#$w5<|TOh z>+5fWLW58(qCp3;SZ~gQVI)SsZ^!lYIHq7jH~b?6$vJDS4~ z)=+{nEZX7oH!wHvFsR1jJTPuc{rW7Q8%j9}b7Qn3=JqTg6kWP>iM%<8wi)ISR@Nw( zOb}2&SDuHYbh@kmpj=^xCFtY@GJfR2%E9jd?MpNw3T`MxZC&=b6iXed#5d24Da3@ zUJ5(56+_llXl_HZ#dAWC5$!ubgh0XlwPD=-S*dUx;@8pKyC^4DPs8*5qcU+dAuecX zYkNV!MYkAZMh!jTx+}&8xI>g6yv>gk!%7H1XxR>l5M>7Zfr8VBWDNl@2`cVjlh}Q8#05ZN%goMB@vE?W=;eekSK#1?gPMZyY-wsj549%nlzfT%)pV+( zGEgmcY~6|j2r#uVg=#fB(hLd?M^80G>c#2b7>E|eh>Z`cJaK|Y`m3(X>UWT7%r86D z*#E73X>ZeY?cKcgWuIx#uzg~=G@xr_6g|lm=n~0sa^UyxU5uh&e`nxcC@&vCcItEC zuz`0G_yztuxHvI%1457B1`HO=k{0@G(JlxT9$Ar*F~rr?)yHSAMn1-&Pzxc;TUdm= zeOvaaE(GdkjPfCD5(o;A=uxEk6hRqhN86xG@{QEuNQX8Y5CF7V-rLsJ#wcv<8e66F znb>Q)dHqWN%%T7PiA=k5e4bs67a!+6Dv=G9*l0;LA9wqT<^( z*f_Z~(>>KkgUTv&0t1ZX2EX-Ue~mRnk^5DCZ)i9G{RtaAFf(yoA0W%jjN{U=U-|Hv zW8by6w!&6mGgx;6rh{5N=~K(5 z4}fg|cnNYLC)I80C(kmIKr4a3Z1(v%xqmv&5V2G_QEq$_sU#Bbyox#iYRL?HHpR65D-v}8;sp$Y7A zMdzQh1J>+`XT&UA)Xuc-K|S!G<;%)E zM|5L*%m!R1{w=yy#5;h|;;4~i7KjnXqIPTuP`G1_M z<4R7v*^L+1|7?+E{?Ai&{!jeUl9DOTh_J+zK!nT-;u#`nKU}($l$?Ca#AKn*0|gpK zyGSs3{WXDKX&FgHy ziAyIJ=PVpPa-?W%P?F*C7ZVUNQ`28|hc|AKB)H+i72mbBHGn=~cEGP2w9VhYJ9*e+ z63*4N5aP!zfdd&^{-$=~FLl3`^a-r0tOVpRA|5Tm!pfSpuh#GEzafX8SW4IFG@Ev` z>|2>3r?|&3H={Z>kZ79OZnCzxZQ$pz117H61TY2^smf0C(j^|lZ!}N^czKht6;sNTNr|R&oa2F# zo|H7{&#RBCk-S$RzwxA8bsFVU*=h&Qjb}4m)lsd{P}6}$P1SjEVnMs&OdNZ{9bTJp zyJhHsFTK3N1TB7mE51FcegwUt>+iF(e}ET7Mj8P2U{sJeCx{J+amm=|Xc^KQJp0ii z?Cb3%$AHF%52O?nY3b=`X1#}DV{QqL;qjwKaH&F;#W4bTFeJdEh!(-{9E3Hv!9!&t z7MGTG@8>y;DN=L|fOu;w?a8l2j{aknH7E?PyhwUj1Gh3@+y_hdSI`gbzNP92)9t(GG?bdWvpHb~v- zz=xOuhlUOJ#(jJHfPGM*fIWb+ObrdszrjE8hQXipXQYK2f@9kc=ssA)IrJE*q=9x& zPas);4W1Wzf85p1aylCqKJE$|aSj{pl_kr2 z7!vUd3SvN;@9^PCAXJphC453t1VCPCNeS=}|BTNVb_Z`F8Wy(%G|-T<#Z0WyXZ7Vh zI6Vp_BRVRIN*X1H7{0ZkioaQpqr@J7{+3bR@E+g4qAvR!%}VAzP~EE(M1=uU7$0(3 zN^!gs*t7)0e@*$*%01?$(~e38bTdBR_F@XBSN;9K-Ry!n790%`6r_3iay`T_c;Jk2 zTm?Lpq(JGIsNv`3U2OFLwtyU1r3oPx=2$4#!}Ajb>#*xWMSNrQDlAM_TU$|rl>qTC z`7`vKb;~`GXPbWAW&^g8mW6ACxew|K!5bMoDGx2hhE(4FqG6V%hHLPrt;7e8?+V)k zgF_vLV=6~#`h(kTB?jdMLs$rtQ&XI}`C8J_MU9Pjfh|Cg@55HYeD2bvN&Q4H&!iCd z>f)J#NDG|Ngc*9k{jz!5&k=?yD%3-R0+To)quVxnz$Xy`KazP3yJ)B$k?0RU(vxwKSN%!Es+Cj(Hyvgwo^ zus@HkSA`f{Q&VeI(f(hL;pA?v!TjrvW4^X*6v3x|v&KA8a#`y?-=b@PX_I2XvpkZL zp_Jh5?Iz*V3pb9qfrBf6u*!|$Nu1*UD(1API2*x@7j#$~yNmVQz9%`&vF z8eyJ(ym)_soMZjeGpnLPvY3I;o0ak@d9CMRp3+P+p$buIsjt6fX;}mOBr982U$35G zKz6MM{0)g0b9zLi0MrjD6_T45qgeBsVpAj$oFecH=LLW;iU?ZKC6$#q zR$Y=f>;V6Uc`z_G2!<#M0LVCFA~WW}e>G?D%)#JO>Qnve#*_6XY5FzH1@>ho9BUI4 z#8GE;-O+61d89L(3uEy!cM**x9RC4t1lIDVV`l~hQy}a@?S1_+0*?=j+KnH-}Z)K58jdB-6ejr z-)m}=g}Y+@h|T5Y;>^iD|d<&5d7owe0QI!HF8h zoid-O*>j}NUtt|6*F5-qhwG!f|IR|pe3_~;d|g@VJ9*;9?~xP=xuwR+(VZRGray2m zZ|za?j5bAx2;GM9mW0HSRXCsOhU-{5mk~RiXUHMFoEME#B!zy$uyAB%E}*Do{&)JI z?j6t)}{Yf*s3+|lB z>FERF_mi-1@WK%T1_piXU7&H5RaN2`^x!_%DnWF*%*_EPkKF`^pCCFEpbke|{x|Xq zGu#vJW#8ttvE#Lo3}dj5U(m2r*C`F!DedkCP~Omxg6Sn49n8HDrzkM^j~}b430sJ8Mv}&bGwk0_oPx@u9v*cLvttVutgnf^kb$}tK78rL%G&Y-WEAwW zA);4(&VV@w;sNYiIHZ&JZx`_h0gd){oW}?V1&0)T;qs54CaO9)Nidfb6+QX}5KDOS z1a63ceIWc81;HU-knJH=o%#I@S^!pvjQQSp$NPE{K&q?EFJ#1^Zq9T9B{Z4{n99vT zl{FCvgoz$P$Fpb8+}+(_;zJu5noQjdJ!qe|@7{&j2-j^>U7eognL<4tqJG6Ph4cdraYin=Exji0V^l&;4@cgAWI7kwWy0_fAHF`X7 zR=}YmcP$++9DJC7?-AW8IB)c?r69KLHRRHf>W61D!0f#u#xl~=6V#F)EpbFgM8J|? z>Il4h6b~QR6M2_!zbD=YD+bX2_VsI?{hpYOktUtn;s1;1eMd0rz1_cmKP7Rlb3euQ zH>YvZ4XlgNp+7O@@8zW|EBhfm{VgX>YC0+HPHalR`2FIG9_FU@N<*KAmhu5=$b;dD zN6;3S4WKnwsRFc8%}Ks?FkafZYnjb~>iU@}8xCYObU1y4yd;O7EB2mrFm8*mY9QvVm1vi3>4XJ+0% zdv*(RAG}bwL#)?TrI@U&02TemR@8g;)Ix#)@Q1(;^Pw<~QbK1Q!AK>I5mrph57|6` zGy<_3ji6VrE`vqjxn<-uHaEk@6`nwJx+f-rXf8u#NjHTahhKv^YJP4GOd4n1nFvUe zzUk0SHF|-Q3$Ll*{4?7}eUOJm_voR@HElyk!gt5q2d2`=v|*fGxiI^rDH2HS@fYG0 zi>>CBE8#e;O&d)}w2-N!@kl|R&~sOQ!@u8i{sjU90ivmi=Tl@(*!B1e>V^hP!60oA zk6LDWALbWf@CSJhBm}B01nt?WDP{splY6BRjS=%+@LEwxqn-9+>?PJr%_=s)vx&{? z6A~&=Da`mdsVFfbqIYmmcH3Fo_=t#^D zJ+8baqVIN1Tbpqv8?kt?5q+=>D+}yd+&=_F;9@+2$Te^5wWjPzi%IVe|vYl$9t^A<9Y7;y07az|I>+VYI!<47uOg1ZN3&Isc#d4ymOw_z=(zqG?FUwRF+g6-H@lrIH2i)q8qrLX&aTlcq#=rvtW zbU4D3PJ;o|8Qt+fs3!Thh~bMf(cZ-H0CVC~o>K9sN?1eytvfk6sT_kJTeeK_7Gn{I z+ok9H$%BGdOJyjsOXUOaZuvoL(IbhTj2YSE$&uGh&^2`YX$c0oz;Jm;x zC@cseh8PA~VD0Ea!vNjzup@pu@LHAtR|*=_4?(~kpphp z^P4C~poz~b5l{=%66B7-X8 zT9upgX|S65rY4tT$0!>Fq?;#I@PZBRhI!`jVL>uEY0^o(3pY^@4;*+sFmNxt5J?*> zo4St=+2Yg|E~Fw+#4}E{2C-9K?dB}Xj!9e}FHM{08y;>&2Z{mASyW2uD#%_NVh1)S z4o9Hli*p?mB2PbX;R_rbgC!&;$;dQ9o?r_y|*e=F$v?wjVz{rk5a7z_UW%cIT?d*{o| z^D&`P$tgE1D=WK~@vqM}VFSe%`dR+(4lQ0 zr6C+}x|RVIR&aIN9nhyM9o)&RQs7-vpHFJVohbLR2qV)yNP zX886v98AbdDems=D$$uYZ$DZ|o+Z264u3wY=9Q^K{>iOax%1F8DL<<+m)r`m{X!u? zj!KTAL_zbuYg9q=MIC(Nj16xVl1*+R;^3R_a$vH%`BL9U3^P-Yn6i@`m z*1oY*)CG_rGuqOJub_1h?s0C(pM;<*;+ZFm=)-bLeec z*ZB)aQ+D<4(W7ADn;hXcOqd{q&Z&D-ats~n!46fcw;}{BGh+K>w*THfkm;bioGTk# zgG_9`OxV$Rx3W_E)vlQfoWF04z5N4Xo~yGjQ7U68RNhm0#eFqLq?m++KKG~K@m6^L zvNB{2PT@rY$lWG7a3FPV4(4Q*$=esBWMmZR>p>+nOQG7Rp{Uerwx{dQFn%SfG@*X> zzqtTPO2aR=wOI-rosLew)gw#hQ=#)%CuH5S?|iF1L`&E~*#D8H?^KX!f0y~ge!a_m z`(j9vsjg#Xe0{C{5nhm;$?F(x+cbDGmvb#GEy!P}Ofk~k1t~{8a5=|ymA3X&@+vj` zck8^&&Ypw5gwmpGQ+W)%sJ8B?z;zI2y&W#(-T}~oEiW=(9sBoc`!xSkE-vfB3_JgM zkn?8zdJo8d4jlNax(+{)zWvnc)7|_3;KQC2e z&<=`zE-07|-_PFGXXvzr_>hA{#l_9GZ=c9vIdUZJoEsYMbL1I7rT-HNM6daS3KtLT z>eVS*?;v1V{spzfwUiPR0(>`H8s~&xj-x9w3W!*421hx(EG}0&q${<@Oeam7R>eWP zLPrOnR`9e01Z-74&jmugyX6w@RQw-VcXy78cyfEw(^a7x5{HeKf@=6j)mI7K$%qmA zRedQXr%r$~zkBZ<*(bP+v0jqeVq4!4jfKFX^BzdbdG#uw`tT0#HqNAs`#P=P| zsSttb`;L0~;-u+uDr0@z8V+R>K0|GUf=8&azHP|-)K%JN;vdefzMhR}b|6LC_d!nikARAm$D>go^#fEDs%{0GvPO>;e`o4Dc!;sa7@Hout? z*Qs-7oBEEeRd1$H#31cP&VpRvA}r6#sQ$GaNOg5LQcAjY>&9~rB$}W`?Fa0hh!4lg zYNRvj3*K1r+qV^L1+eY5yLLUWF7CZ@x~yz+W~RcdS#|It>>3o#&Zqfgn@vozK7JfJ zWC+gdHcTevb`^!XIz(DR9uS1pi1HS|5l(=ov##9!+abC+Cn_w;Atj>SaU3GhxEQ}# zV7nCf12y-Wbe-3 z^w90eK55QzFbi~6FYmpev}paFqgcwu^_ zwE}U_-_a7+rjj-#TE*MYj^;@NZg2Q>RC3Ka*_ks@IvC0h;lY6p61-5aIh^8Oz8nmm zzEPG3SVW3Oy=RvK8X$=FYa^o;W7YZ9VfO4|gxZ>ipE|%~?)CRBLb6U2=C&mJeP{($ zUa<(X`XC$p#PM?DmXI{2uisE#PiZ=&=L=LTaF<{-^G>GH&^MfqiD?9y&oIow2NgjB zyaln3M5|xOrseKhaIjgceFs&6d3xRS67y!|L^yjUEN*=#*Z87sO^{>`aZy5o`3}};T4j_PbWu3$8mvhH?Yf8@9vx5ZUb+c=Yx^(Uwc5b=P zzy3M^b_X)9 z^95BZKg>qEx$F%_j}6fZg2O4Jbg?8qzwzSl$%ba$Yu+b~awwCHW)6 z7Ic;d@eq=PfZdI@Gtd^o1&BKEd6NEAhsIrL+VlxFYY@(a5dB3%H*(}>bdoc~ZazI% z%kAYM;pvl@^+e&qbSbI%m~bCIKCspho+5kdJbnm;7C_VJ(S>B6jCJ0%S<0!{$1R4V zz(n&h3mM_Ux5~laD-Tgu%^E*`n_#(d=%6rkqaDpgNHoouexB6tt}xb7IHZJ9ut;p3 z$}5x(_v=67;FRzCmRi21w)Xy-y@(??hXs-m+dbPgYxv?RL8zUc`ouVG5_29_{C(%f zjU%F9ED+6fa9Sd>@h*{;L{Is#k+_qG3?4Z2cnA_6KBwZG&H>@!ZZ`)9jS3pv-Rv|k z=`30_=x7L!FM)DvfbQ_xqrRhn#Tg*8)&neT@4Kl0b&kK|cC$1=sqogJHjZ;>I=`#D z&`Zm4NmYfxMbVKHCuV<|lKrWx1F$>Y{oBoazAN3qmdBVqd&|_psJ4Rln#Jn|DiKZ?wApv!G;`x&!ohvJwE0hPbo?zvw ztkSxtj#dQMQF(>(k!>7uNqCaZotugDw)cI+?#R8FrE%KLZJL}M%8}vgI#UcqZ3u9s z5Q&i=d4paI%@49Zc1dkr`I23Yi1k4m01EAzUurE~3YVS5St`UqO`E2&V1e>^dpH=A zB(3eIYE3SnL`_b9)go8g=^|1!q-Sh)D1^vaG{gI$|4+5MPgTU7wkse330;(DKdK8D zHbED4K)Qd2_E!2)dLPWi!?&23AstvwMtu(Si{sCn-Sm;(52jHQLS(6{#}Dsw16#tC zEBO&OI@umZ543;(JmzeeZ327+UYqVSlQWzen_8R5Wd38^O5F*P^%jP2K z(H$C(Uny*O&Qne`0oj{7x7FPoC_?CUSbI;`F4r}rI_uf1m&b(fA2sbNj0fm9ob_?3 zJw!=U_Vp_OI6$Jsj78-J>I@mcGuY2t)87IRg@B%>-_G>PbEspk6oVE?D(ySFmx&>m z{XU;c^v0{%OhNl9W|Ltbg?%*v_wU=Cl0*7WRds}G4sHsPGq;h!JVET|oTJP9#aoXl3 za!;ZnBRNJu32+YqFUrV>4H+^FIjwu@O)Mj9d_W);5QJ+TI9ciEk2pK?ou~xs8yg+B z@5|?Evw}G#{_fb3#0+K(D9$nV5}gJ=h8$bLd$^bwq3aNhWhEto4p%3KVpx%n0C&SC z7UI+#ppC2=>z{VllG~-P{l8s1<&eyyh!-{M{rf5^ANp39@na`XmK$DTLQgvTnGX_m z2?=uxi^(!FF48$lSiRCr!+3OF?~KFhIj869!kxYb#q@z70_tk`_5x*^R-NqG2n@Qf-DQB`)DxR`lES zbU7R@MlQaJYW^t(agOFjMo;JbIHKvV?9}?eePJ;YZO}CmYFs6iTh}^J-6F8xji!g& z0piATwv5XfbNIpqIVq`4963~AVd3F|TmEI*L<&J4%nGWNF%*7C&{mF139+;6EzcBjqR>1y|BjYEPDNGSlt)Ti!!a&jey1?vi#BY8v|2odHp|4dh_ z9Qb5|d!<2Y4?B&h!IF|bmoINXwgHt%S2cV)H|#FA6|}7Xm}OrJZ~smrz~0ndho5?O z?myY#w|Sl4?~A;I&i@r1-eK^6XI8KO@1X1d5n38MbM5NY(a?vuN*FwWvV@ZXF*nuy z4(W>sDL@p#EUd4$D>3m`UA}1v?lfwRu=YPbH9cInwa_C);9Iv;>vyt39xb@(v zzl@vAFNxVV$Aj;mKbNMJ-z9*>j=y3-y|fZ~iP9uN3i!|E1>ae=e*ePzq1%g$q9! z$Fy8Wrx690Q~jr-bZMOPeN~3^JOX7&A}n5Ykk@WfY<3UO`9((Bq#Nz9woXY+MRbCN zcFQC@=*L`LHMO+Bit+(Nu)4{hr(?VT0vP5|q@@<}aaleOA3TWpIqK1Bvx@7hmB&7~ z<(T#QYMr=e=84yrTwY&#dn5g3@6h!Mi?)1Ov9@>ZpYWArUHQwN&Bhztjt8YZ{N{K5 z{HiTmijdTkr4eTGb~unbuq34*G0ifp^kVWs`R)4p^j#X_N871W z)MsBFxNq**a61Q1voA$OM-Cq*SXxjK(AlC|l&TG&=9oQuFQ_WeRb(6Vb0eZ661(P$ z5C*pu#!X=PAKn@dW7HVZ$j62;2B^DXK~+L8AiFty%DoMhN&DWo=O!$j_T}shJA?UfcjDal~pNKt#~?`LP-`#z!K zqms1pkyFu!re9zYum5>2Z@hWw;XmuPL(G9gJ!0M#t2%zm7N0eyqlV^NrP`D)HYV0d z=hDylygk|MHvK-0C+x^%DXC8-CBn=}Vu3*f`>K#w0Dt*<)mrikVKyIc6zOjJpeE9# zt2rg@?okmXoN%S3p5ESc2Tnk7X!og*ubm$)-xx&82G5)kIjP6Z#aTf~SO1+N8QZC=u6z24P@C(X@$=lL zTaS{-UFA1-+2+`K=|J`FHU|@FDn+DH?O(9r-o6~3h)-oa+VZDrAWhDvIpNZtaFwR? zJT;B}4mSr9Kd|J7&__^)O7AD`$jMzADj)4?cP;ko`|;COJzeM_edt{0E)#lW3_YGD zeq3_do)$X`rD|0zX48<8;Q^rD>4oa+w!!L z-F5542M>Pv=8XVrsk}l#MaMmOlHOS_uk9p#ZIq>5Kq&zaF$?Pv{z4c_4grEc`3Igv zZ8B*PJ9w);vjFCxUSfN7{P|ttq^hrN%xGt_2Jod-QY)>PJg||pFS!qvv)y)_8C0OZ zQTk?Z+Q)lYqq=sVbZMmZ&v?6{*WXK{Z@%-e^m?JbE4Lmr9cEocAA*djD)NeoXpD7e z;;RQMyTCBOHUdv71o~p#WWJEpkK_Ai8za|+`^^8;(B>3{QO$hYHcG(Kmc?`J>qYzb zpUx~R62iVmK6;+7e7qdB2w|N#kLac5XsZ3*Vjun!@iKoo5}K*SDBXJ;`pUQ*{lWV>BT<{*&^&dlEa3Ph%}wm_3YWgE%(5cXnoM0 z%ED((Y3`dp;moe1y2XZyC*A8a?A2G@P#9U~`|SQ;x41Ybnhz4ao*nNGd}?80@^YhW zO#d=9S{d|p?@DSkOG)3x&kY$G}HHVhRcBrWT=XjQ(@2 zvZ=qBZ!lZpxA&rEE-P_`+wyC!kI|hkz4p+l`k#ix>04f?``ZotxvZ;)YC^ZrkWepM zL)E4Ser^j*rUxk$3bfGIjJ>FQUhJASoq($CU?f}>%eKX2H;o*5Fwz)oA|x6Pn?Ktv z37HB%w};+%-@fpHg9Z-Fxo2&{CDQj&>SUmtR6cE+Qgg~)^%EYhuioXEU5wW6vkmkT zu*Uf`YQ&ymGhU^q|Kt}S>whcBPnk(_y!pEoLOcP`!WKMEZE zs@z zX6y53Pn~+pNkttwmyW(@b`@X8LX*YsTe`A6u)Fq_dp;MtfU zqma>eq`dq^f;c`3nKYakf;>J%77Z&ZhUsccL?D@c-)%)y#+iHN-PVvd*XX=C=)p2E zPs0_8iz_BI{||Hos*VyP%Qhs;toK^KDOh*WXR`vbyV`rsLO8c36<>yY>U$WA&@`oqvR@hqI z*Pl0bZ+zX9I&};YWWd)0fOF4mzh{pJGb%rJ<>ibSkvp$_j5(6#_+CHpP0v+>Ha;xh zuozge(5K_~Zc?Zw_3?|*I9ORtlPUz2zz{Kn{fBxCz?nms8U?ZMLXid(3#h5O_h^fb zrl&F~*`<&rR?d`L7#rF?;2*Xo8_*4N^KU!TC@{t4CZkmtF(Mz37WzR6^`N(=<+cWc z@DFd_YLQ__WlAZ9yoE@Nt;&O7`CvJ@{kqZc44=Myc}U*7O%qT)C_AKQc&s6lCnyLQ zuSYB7?d?$bs&A1mPY#8kFuR%)IIg*BDL~ax<@_me%~*1Wh>7jvq+seNkv-ab6=tyu z3L#y{JYWle^7w$=gnZ9yjtOkwfLVa*KBACtYjkwNDfa>SAaJNwMe__R$6+4H1O1Kvg+mDYXWZmlMbnn*f@!9yfstZpa z?f+4I?uN|!Kh3YH=r_ymkdpg#Z!05iBFK_o#ue}w6v^kw0TNbwrP%|VBlluaPwoexIcj=Gg0 zzjy!oLbfQ+p&*?hg;B_|x=BDaOyL>x1!Dk`73R>(rwvqD121mI715fOxT5tFv>R;luvlVo1RA0J`kp?L0SjnVED=#z;(9edZo6RceVjl*QkOMZK>d2cd=vKBC$(| z>K!wBwCv9d%+UbsK7zbrdTZ}P74VUQb!Vwa-@${Gt&9FSazu6O)~^tYAAhI_!b*(a;)o_GoOk@GY;F)+x1ok$3xHxoxvwc6sTx zSx&ia>HP|B9mS$P5~v-5ikXHy40H@rB|#XL<9J()G7mn7y?kvRJkEs4lO2D2K8y_x zVFS8{z$%V?bOVB6tadYTP#|{3@$ZiWdi}`-=x4fb%Tcn!ctExA0Z}S&U0M1e(h2a8 z=2dS;?wZAdNp&mbB2yiJXi~ohc@t&LZh33Upc_?}68=|YNqIwc@75F(Q&T-6y9x@b z!)(`x8_N!HYHQ)%?xL82c``dBzR`bYGwRA=Oy*Q{13Wwn~1~0@xiOOngv{qgio3eR|_u;`od===N}jo>`N}C}>G3 zPJ#c&qzN!z)=R{j@o7Ci^!?D|@XWeEN7X&_^E5s89x7~Hqj;9h_D5b56O3(6Sg z+i*B?L?!{GM|D}NygV9{c6ctE21HYIC`}{aZZzW;n1qGOOglI#@SjS;GZePptFFvw zWEiL4yR8zozdKZiZZEYC_r9Hz_WWBR?t_loqjxF{@1Pkm?Q7}mOrNqPnhu5*En|bF zzr-zl-L|@4M41$FluI5SCuvM)=BaH`TDSpPNEC!LN$(Sty0fTh@H2G2tS71>PB?jz z$TDTZl=uwP)2Mz~W;jFZj^4tc6H%*Tf^e{ScNr*PgC6$Zc5@8l%UH*FPWKQ|Pg zns4WQG(FY;plefl`;tq(uw%|lb&+njb8I(eI^wW6wQ~8H6|-f{m8;y6<>XJgpYC7$ zW#OAIq3c}7rk`J7J4fwQ)z63c8nxXZW-C;yfQ>@be%?{@eTU0**pMOhU)ZGd%IHw#`fZUv2*<-_@tndxm0zuT1z@EG1_!TkAfJH2obv-#pvurxL8-m4b}yYcV? z8X_KYmY3t=+TeCjxa4jc#YxAW$0Q`KB}x!<8+1;af?;{!{EZk94URwzrO-0)qSV_7 z5e9QzNP4Dlrifmqq0vo><{QNf9D-5S40oChf!%>RgQ3buiZAgxa9}=s<}WP#C8d9P zSy@xqwnMDe{(}cgD%wsw^jM^K?^S5SSFaxHOmR#n*rjV%93{A^@Cz4WkI6TDtfsl%nX%COJO&TiQq__-% zbK>2*y*xjHdV1N#c_JkQFH%x;{QGYKa4naIVoDELyP%i9HP-?a9q*90#K5H`%a81@CH@R{vTOZ}=E9aFc@)1EY#$vY^H7=gNUzrqwD@@;#MZhysQ zzYYu^98qSyL`+$~wz}o=Iwu-+@dZ4L5GYo{J3s zH1E?n-Ob8rsTbD7IXeZ*#LrB&w1 zpCM)ruYnSV`?B2zvYh=p{pPx#@I;JaB7+~-2SNKc+@HVmzLHWxi$&(+nCfTZ3f@AL zjb=Y@h%siGUPdAu99(8{eGD3WM*Q9<3=#%}&;-F4+>l&{e*$KT5!qt^a@g>wlOc)v zsUQue(~aWVfp+k{SWH@o3xr`G^c@8w0l8;fx@^2l5*j$ zJ>_>Yl3~Sa$H|!Dc)n{E-hiSB53i!mzW;ti`|Y&vzqMzV zLs?U6W^p?46DaWOHeR|ov%#ELO+QzwA}_`38foh;&zRw0xItX)xJcFd+SPK&qJ@S% zD{mep`)a9UVbnnvW@yY>u_Z-40;^M_&S#{Urd#tF&R$PU$ zCS(RybkV|vJdlCrnRq76;aet8z7-UNg6#G6`A=6T&RbCF6?)>>i1gMIykoEGmGl3N z35eBmkec}sKh);UB-8{WC?neS(W6IftGZZ|_N~AtOwn&?DG0fQ?^6T zv$F_9#ruqSO;VJjf{AiHS!NSpM}ZX~x@1 z&p1271wEo6CZQV4lXOB=69U5r}k5D_uwXwo+eElsc85fS#8 zt3nFe5k*KZ{ZKY|DWCwHX>5$C2N$JgT+v!Hd!_A{6(7O=)OY8C!Oy*E zQSwn~+@el<8{hmG+Iv9MG*KI|vF{E|dg}C&&vh@dwi2`Z-S<=4m)#D1gT)#_0Rbop zV3CBGWTF%uf)z%I!wz7!;L|6d2vh3myg22Rxvg!FpeHze0$#JZ@~J#zH>n)WnL4EB z6k=eNPY)<>d;}C!>0K^u@F)Sk$Qybg-ske>3yib zQVbEbw9cfE(ejctx!KHYsmK`wl5gK4hz$-2F`o7L(WGMl%Ar0e&dx23^VEggfxD%Scn{jJ{LVRRYR&T5yh3&)reOqD&fAd z{q|R3O?K+kiA?msf~fH@C9cPhQ(vM(WjNp}6_vlM3oT~BVUUf4a1=J4KM!T+{rP?S zV~@VLnfQF)f&ZD4Bii@Rx7BNvVYT{Wfa#Eb>Ck`3*$zAA8*E7KRXKG{@*fuEkqxS{ zKR?^y|BjWlUtjV^1K;CTP47qG$1AgY|M^Av;``VBesAa&x{l4Tw$&eu*~AH7-q z`qJx*Y@D3DJeuxXuUlB!SX66o-zNXl>t};~Zt?n*pYQI!{muAy;EKK<{qN=7@z;|7 zzDDEzGhLy>;43r!`!@Xl{6pNkNaGgqTQ&bC26Rvs`S01?lk<~E+u54PKENZ2iOPU9 zCjy}fNe>Dlx-6f)N|0b=eVqSuSF447ruz}EYezo+)bJ_wbhfJuSX|w6#TW7G&rSUE z4rP7(4bMg|GMeU*o%Gk0U^qe^_uV=L^lW*y1>hdAGs1KjN+SOh09xdL9K=lH5=LmT zIgw!d2IDOgL7K+&RE{`3VdkdQW=HD=-WfV(?gO9GF$ecA?xSZT5pl(@)pkST^ZVy^ zSD6-hc8fVR@U!iW_UoP8>*|bd%D$2}XLz`~GjS>$X<%bRLocxz0g<<9Y=B}ZJSmze za%?AR)PGc(Xi=ls5_sz1Bde}!b2c2jd01)B+USPuCDm??`_-Q)$UM;ZkZOPJU3P2C z`t5(y+S+7^*92GyIabign9))~EId7er?OKlFcpPo&gP*iKdsBvpBCy%7P+2tT@&(N zRo_kYT2`>yGsAQDjIR5CYu!^GUp)EE?~TQ=i}2Ey;6PylKpYUbWbJhUSS0}xRG)U> zRG52Zui=B_lKM35*}6&V(k8?52b-hr`FY7#WarCiyF8m}`y1$w9n3w>AH#k|PZ1qA zSv@Q|IuDYGGFoB$gs-`)yn}LQEV$ZYqkbY$HtbPJm7~A1jn1m}&sf?2iJp7q^v3yV zp4sfY9D*QEu{V7wLBX31R}ZU~ky>q9wPf$phi7LeRoty?O-MY|$ECDX{NmsCGbBC? z?_ctH>2|-_PquuY_Tj9y)bYj@ zzuadP&rADPgm*VB6Tj$uy0OcaRrAaF!m{QK1J0&Kbe*#MbdURbS=Wa~-zv8(2UADf zgdUhE8|o}}YvY!o8=)f5zU!YG)Bcw4bic0N;X5_fR3;DFR8`fAh`v^lv7+>}rRkX?^7zX6+MDczOm!ukC7k_w8fmhytTy zc@flCz@%jKW~sM7agUsKJ$*kKq29Z#@Da44-l>bs%_n_$&Zi8V4nPZyAx!-A8%`sS z%>p{?fu^ZsOfLUUd83fQC^(5S$xUYDp=Li`IUZNkP;5A7204lX_ebBk<0ZT4Aa)fg zV`?fC)kVT*U@Q2spe^EAp=*zdb-_z@xbVBz?|JLErFnUnnUbXHP0=9k3coS+m$hQw_B+0H>Fx;{!)IGLi(U&1 zB=>)Bm9f75x`^I!zW7c^I5^`eok@b>B7WUNd}9lqwzX9uuC2rB{^I4!-47h<=hFa@ z5gL8yWDWlht5H6Lssw0?v6L+AG(#2$0RvNEnKp0!0{%~{fSN}~ov))GB;*PQ$b|9Z zwSRD}g{)d&RKS@r8lEH?PIv7>eFG;Xi`}0l*42&YgTRIYfHr*on~jXz@y%f6k23?tgzX89vCN;pk|!e_{^K`_Xj6a_N zFO^hozoWYjSgiC!52ir=t< z>+9=&_UyueLx=V}a`I#%q6GYQU{XIoLI~6hYa2QOVho)OrWU>oR!iS$*sGl9Js)0) zMw|RoohkybbeWKTvP5$ z{p50(`Udti9)BPe7+kveUVZxPwz4wpETp4j(ovy1lq8!484ilJ@#6zg&!Q61##`w< zH4&m6s_G^P#Y_>LY$Y(lLLhEZ(k*0e=qB*`n2OTT!+#qvHxnd*F1V(qCN0zeJIM}} zW4CSzp5VYic9gjEiAI?gxAWx`h zMmr0ne_0vTjVX!XE9N2S<4H!1P5`m$NvwAuHu6YULDNJ;*4*Csm)WTSWIr>}0(-RX z+M9ZjOV+JZR8Sz7q_2uVJR@Yo#7K`DG-U~HN_Zg*LIF4H7v$;e0D)_TS)D5%RKf39UbO) zhtaJ5x;`??7*fIwpiFc=O=HVb@sq!DJJrM;*eG;WR1S*1C)vET%(1Q2!R#?e6Ea)j zg3z!^VQGAYP?N^B;E?C*@81)0t<1)Sgaz$)?jI;bHU>>r7a{qDa>P%VR)!gK$Jq}|-*6*$ zMn~t#Mp+EVD8mC|MwdZvjB1K2MLNuh#d+bfasdc41G<@pwVL{ZUuT!AniX5Wzq}-! z8QnI^dX+P<&*$bXo@Zf>JOLGb`_50?y2W4(S0K#bl6q6%;%cFe^zm41+3ZTFp)auPnS-?+hPp<|;mpRPqOc?X5pp`c=D=2S4maXn6p1?&KFL&^ zV$(cAl>4@?ka_;4C*Bu^A9L&6lsDj5u>j)ohO7r<7NPvYr&5P z=+9|H+j!K-oY+`ju#oSWk$~9iIJSCr8AYupZ2Kw_oJ>NVG(Unoi$pfHT{?;rOV0ScX2+Ec7R4WK z`>Zt_b<=-x#*0b&N)OWCe0-ao6g)Jb@x!R^S*>*>lAsT!3iHgXM?DXZLE7~$(l5BQ z?Aqnc{k83u_qYu|>{fduFs@5j>2D!Ja-f2P%1`e5>7@h9kNZ72xJAZ(YWO1D0jcZ1 zafkb>5Iqd*K3H7b4h0)iqE3$51Fyi|m>R|*O}Gt8D-Kw@O}CV$PBNV4foWdaxtUQr zAu9{vogRDo+(j%_dIj+U144e?q5z9PVHQEx7O!Wl_6i%H&{=?X#+~nljY?!Qc@96bocF0bju88S_q)Ih0 z>i9WLUmrvv;qTO?3m_-w%Aav6+S~{*^k$1Nlln=pO1=TL-3TmyS9i| zqoXs}BXLuxZ0r}rAu_o~{s)`&<;%mR3Q->n%jy)?#mjN!m~!Kg_}xD&zHGNvuXF$8 zvM=VFW6tM07D_gcD;IffE_2yE;bpJp(zc4NOPXsU6|QFC*_f5?CDM{TR*biaSUk z=i5`3Hp%o*iKRR0As*OJv9G31V^L(YXL%+)msSUlrs zi!iNc`SKks;*jao^CUVf=eVf8xgC8Gq3VhoA9YCk+%2!jrBB8g$H2H@%WYT++}b#! zF$Oa>Z9S#9cV?drR^RV>i(QFw40>=m=1K?2lcFOZsio)+Ua!1z?#y{7jnpc-PBE(} z{IG1u>)GXvE}5-$aPv65xJQ}x3+l+9x;;fcxlX)Ek5-H(g0&vg_I&Qwf$hD5f>!bQ zF>U`$HY6n+0lcR)a?2={P?M)rcGPXAnZt0=$8;O1RU-QV@w4=lp5ASM#uD*kbuI#Z~EGlv3>vv z51{!thY`*%8{@8*IB(UeIt&zfRHi)k)C+7?(|CfYbOjrF>PgP#xAF0iP0UDoKrkI7 z2)jMEf9<+w%Q>$>LFzcAESUo;T1BymHVOQD^Oh~t1v92hIi>0ERGVd7{k*H6{kk|# zN-!T(Cz`NujJT_nJJ)+l)k=^&i@8}UJ=k7#JEp#VI&;FPNdBMymM_|=d(iMrv1jDW zzr3p0VLQzN5o`M#jl=+lgagzW)D`#M1 z(@Y#>ycg!Z>@Fz*+&<^i*l_L5m$`tO26zwS%=0wJVLT9nGnuZ4sg$2Z5s+=z+5PrF z(Mu^ray#$%renn>XxeQSgAJyPi6=F7Hw-Gzeb=r>Y1%1(qS`im9RX#-_KHEx{^`S1 z#}PsYYUfLTPAY7GO`q{Vh3%v(ar--W>>y;+L)poZT)^M}B@hviTf4n`wL1=MswuH1 zf&-?O*Z_jQI(6-eV|$5uOPkX>e)Jv|LbNP!dE#PXyx}zqavgDW(4TPJ+tE(~%Z7%A z#&L*K2?hjnL{N%A`VweO1!snEii+OlOFA!&ost`1O^3uPogtQ(m1XzDxf@fT*FfB& zq>8PJyv^>c6MNHuN*P)XJqa{7%|?`2N_j$I@ZD1b_ifN|lE3%m@WL!xd5<$cZ=^YV zyU?cMe(~bhCq>A!3YX?FxX9`%s>z@BGvxI8N>BoALKjQnUZ%b$$T`HDCSbH z*}&)!1xjj7YtThFNJw!N5pT^n3R0RZIzAC8jw{~i;DG~`c7E;@Ibb6dm8$9yffM{e zbYTJdfCvVAsJvoJLFGj$M6qi{WU$I&;=E>V0#o}z`MhbG2Ui;G0*yL!C*s8JQlo(n z7^fg=MYbSNp~_;WUvQwXVF-Buf9*ug0OnK}C!GW$p{A-DbN4QjNBmHg0;)jcr(UP! zp{}5m6s~T$Q$w4tm9;g9j$+`CP_fkW?(R%eg8`lD>Y$%F2w&{CZ^H%;mZRDY)e?2I z?c*X2zCEPqs`2z?AuYT0@9NGrsVLLk&<`-(z_rV7tnH}gu$dknc~5T8md@Sa8S1+| z`Ce7%!?2n7V@WXS`zv&C*ag%bfjK?pi*}J)jMIWuO5?1%E)6Nnj?^GdOi%R0_zmc} zKW1hM0_TzvLDjd;QV1qc;p8KXon6qEiS1HSj~zov=!?`3C)fdalAY>OG@~Z}K@Zqh z1weu-g_b+y#trgMu7-qU*EKJ+&td%-!ZXtia+Z(=g}h^ANaq}c^Kjrtd>+jMTdxH-tTd4s6R#?3Vo4yTGS z=KUO+j*zZD4kvt1zV#4){iY}zNj#$Z{ap` zm7nrT@A%Q*yJCk9j-6PTUKS&NnCu$*@=^R0opYaj_}iDemLtcFtA8FjGpqj}sYHhk z5~;@(clB4X_cmU4e}#Tl>gUt(vn+mJF6_A$zSc|KQ#3|rJ2jk`G$7mQOz8uu|4^Zo z1z)q@kCqy}^@fUKu>1G8#hnvZeEnws?>os?OD?(2c9*>DutW8^6`SkV^;mxHQ=Xi` z@d-BSPEKv~b-NyT)Axy;w5=+Pca{6&x$ICm{p&OH9T^&OXD(Wd-1)!23~hgm{ti+} z{keSeLXIJJ*eSXHGPoV`Ru4WmX8ei+;S=n(zoUpiq!B1gKNAEB_Z$9wlg-XChAO)U z@2UId!TyK{h|ZJ=0>p^V6Jg$6>ihTIe+@Q->*|VjX8BGo7xz+seB1GYn8= z>eLKCeM0`JCTRGy$ASSqqrVfP(+G%S^tBE%4@2;45z!2q2(OEQg;%So8PKoadnS9~kEFs$SN^S#!-3v* z=lgO`riCEPMU#~JQsC(vTRatzzkX)cv-2?*m+BusBBwqGLt}@>eT6U=j68RynE2WL>2={~061_}vLm6!Ec#)YK@2VytRi*0FA{x_rik=7N( zvtvMd*vhHz&t1HD7o{9PQq2APx))fdg9xW0Qi%u-kO#`r%c7Vw&cNag9xPyCrh>kn z4x7>qN#SeCCKQf1NK*`VFB?Y>`%p3HSML9JCFf|dhE5zmj))$M5l)V62>ht2 zg$Og7Kz4MhQGx)tKU_UXtx?V>?*M>7iH>GkTr%9aQB*?00l6SUmM|U@WgTJrz39=? zr~QePqY^ ze+gFFtn2T3cX*@~L|>d2>j14;Xgl)v_vRd>=VYoQgLPXHC&|jlyiWzu8*MDzamHoL6$Ki&0_G~U1)bI0@p2OtV zXc@FAZmErkf1QvJf6sEWdG+(f%f5EWcO@9>+T`CVj!FkYV{LaFF^q@&TWWjya;&4` zQSWR25qabo)E&|2JXUk3VvqVhXa5!KTu}@T4H)4pa?It2%kjP{r9*pKm~?8(Pnspq zJs9O&Q<3L0;or#KM_LCzW}N+A^l^dak=66A+$hX((S4_6y!nV_RzmrM{i5IgmHBkY z8FKQ%%bL`%K3YCG`rqG-ojA=tYmAiiB8#z|+a5Vv{JFee)3)9jJXY(c=hi7#um6yl zdOYjnqqYUxe(MQ3bcl)YjFz4$E$whaGi^=2o^6?}k-kLq^n*?tRsKy1-DRS3qI*rg zKFOtf_wIXTVd3Agt&i`&pRmLJ9?Snv6PEt->K*QOfN1~oC;#vNT$c79`f7nxnQ5C` zlfRUm(OznLOoQh;o^|~9&)nhX_e&0TkLQplsXUkm42>1pP80w!SMtCl*^?%JJtkU3 z!;GSKa#|9*0vivwRzu>XU0=!?^(cFw%n;O-cWXT(*={$A;RM8a7PA)ibsnkW0#dxBTXsPI5OhgDO23 ztG7Z=kE9n*V2z)pAIh@yzP?Vcjif&$%ec_COWUhH?Z;1LoTk;W$l7`8I!&|W%2k`^ zzAdbgi!b?0^0em>SgTwF;xISyp-XD4;mOGa?^w7Q`8oVLd)?Hh9a$8l>r zFKi7|6Onqpsi13;i_?xVMH}|__0HP1Q`~W9=lZKy3ZrdH=oAS;L1KwB1)EX;qp7Bb zJa}MFwTX>|uhV&QMZc{EHivN8MsK%iQy3qE(+dusx)VZK!F#UZvtxs@LJ-W+u+SZ0 znSzkE{`{=luXuBUo7hX%Y~mHJrnEJThff|LCRY0OE3viXFurl|`l);?$1P%@B?6p; zo*~YuZLX9bTh07LGN@NHnQzNrcG>!(+iJk=GIRhENowD&YLO zvzIOjQb4#VKIHwFm^3ozo0^d4iK+-tufO1ISoUzL=?H(|Q8oZ#(}FvjO1x$JLfCgw zY-Z5&^bd7*i-|c+DS`J#=q`AqZrmWhKxW*yt&@t;4T8bb-NAfLS{HRY2@aE4Bd=&B z5)!u44TE!7ULM|1@x<4BS58ueMEjDB?YPJWfUAD=Ipc0p&NH69)xGxa*|1Z2igPW` zx}DCr_;8Adl=IGtyLor|c0B9H>h)_pwPU^GoahsxDzB839UR3pEEiaG{E(gX@Vv?l z&$9*Hy42p=*fd1SGx?%}C8kE*sHBM0icyGa#(XfjYn@TxWIawZSHUEqgS3>?)WE-r zs-te~FyA+up|;Iehz=sdZ@8EkX+d+aT)PH?nCXE$9ystABRQFQKpk+of+e-@sPnHvJ$&NHM7runLRR)R%2cEd^d14uM`t<29sj8qM zVk6*8n@-aSUIq3912$#kNMW3{Dd{iq@811j6>`&Zb8`jFH__zPf@a(RTAjdOQgeLf zI>`6K_2=#H@6RgZlLj2!Jk0~R6*^M*sq>S>WjF4}10z*PqX+=Yfcmp%&frteiFII{ zt4y%oPdaG2pQieH*t4i&o5-z*npv#D3|!!M<8!aQF4En~wLnWl177_mkVR~)Bf$2C z4a03(p%sB(rjjJ}^CxPk7(x_4#HwpD^J?Xke~0wgOQ_Coj_P&h`N7iZ54@Ygye-FN z6vR~Cywb36osIO|CwIS@&)sRZ>ZV`R;m8O>^Z9zs9wUki6)oKgE|iwI%B{{iT`NDk zpxHH)ZE2yM(ZYa+vMkOlGeR+?YePpijHY%;^CcY$0Th~SbZldUvt%C zag{qFl<3f;eReN^DxN4!Vi`RKN!Uf(hw2R0?fJY61%o5|UJvN9^`WPhsdP_)gcJL*_X& ze=ajUbMD*+Xm}AJ9iGjD$We+w%h++oFmh+lrm}nkPf=JqpN6#My@FUEl02`V3_6}R zX;?{QT$!caZ-wAi|Ll{EcbvKm=w_;w)35&=?K3S_=7Sbg7#96yMw7JQyw8WU5WVNe zk6JuSSU%SIbkMH2cSYhlfB&ud_N2#E6D7T!WseiYqs;~fiKN|-&fA)tmXesbMC+}& zZ2A}vIg9DX()L)-bi1!KJNo?ADLq_%q#IR?&&_MvGkj{}^x1o_M~#q*^zGbrO+`+` zB*$&fp4|%7FjSFybZRL^F_=V9kiPx4#@&V%`rf8jxmVbeW% zyQXFrkIpKTl$i3jY~OAVj+!=Z^hp z@#hP(o~%E0DxlB1)t^V*>pFPfch|QvP0_wb#D84qaV%d%ZNhlfAI$Ty99p_>-@!uj zRYh^rpWPpTz*t#<9u{3IKzt5Q1tND*a{uRxd_*JCVju`CP8UhvL+u3`sc?xlcKIeM zedHd^M*{EDwEA{GXs{U~4doa_$(^t;q?(&F<`q@8w%DzbI=2XhK)4R4P-cV}k(^wW zH*hw#D={&>`fW%BB>VMyVmu8k0Ov3M3%#W?m6URTIG;cN!tqUsLum!oV6&1D7(Gs9 z_6BPHCdtna>8V;R3s8hE7x0$W0l+aLR$k>8QTQ&CoTfgs{bQ`myWqBRp7BEC!XGYj zR@S5ZWu|>E*Z(SM@Fpg~pUu5uXUQcwXOWchti=^Tw0wuUS}JRTJrZCxb^S{n!+<(DXeHwR4Tm`;6Z@ z!tcP38~>cnG`3WdmR>3R?|N%>(u%%1by3%XH*{8{`mfKs;_qKvRD?$q24J*|%o35c zi1wgJ?RrM87^z50&qHAS?T1FrJGdi~TSOdK@LrIY66qJ{1 zD4jvDW%p=s^h1j#rQ7>>8jTzfHQ3;OTDrxH+k&v(~feR@Ql(C#`9@vC__qWn{2k z87C&5?DW=;y-!WHAC5PviJ`oeD8Wc9>8nM{6t`CQCgx!2CLc$J5ce$vpJC=+zER1kbzfaBKI zj(_terG5&o8dp{DS*E7f#yMaUoKk>_let03FS$Jfl3a)1NZe1o^2s$#h1 zEC=F|T`xjKA(SCoJNKUTQH2G)?2K(pwr&+jvCAvLcz=blYMV9K-xMU{O-<|+9+{$E zyx{GX{m9N|qe8%4Q-4TQUrBtwfWAC&M739h&1Pvl5KM1FcG zx(3*Gf(lb&Uw%ndO*eO{Xs-Y(9cDZ@sr4#EdLai);PVbQe-xQI7fR$=H|Cv;2oA4X zm>uv%cbMg(a+RxF&99DKV^@%HtA3*PsOnG7$6RIQ`q{e=ALNmAdf4W=xyli-bY1+w-!4MDk}25BYi*ry6TC#TZA#BFtTIwNk~~rrWO!CsH4{dRIE_w}1XCF0cdz~#I(@Q1>;qtBtnfI7 zA0RuW2jXbsG^O}XOGzQT>JqyOoDy{-n>{gC-K5|XVquV=wt%++%MCLUFDog6A|)o8 zQzO%R(O`gEarR=f8z#SFBfB%ZK1Bj`z{jx~p=-i~iJ5S!KqAy|X!vApE@z%4G5(;Y zKXR~BVl!V;iQ;DF^+F_KkcX{V_t-uHbPwo=*jex*$}$&veZ2_aG!l}TPlo+Q1vxcm z%HqZ2CQsHRi3`aRfhce|=Ftg1Vlo~33@}YhZ}*{xKNz-YZWg>-#mFMtM&J+nk%Dn zM|VoFo3KbsrhB-XyQJ)~Ymq*d6S9&-#P(WV7FVA1t$x|V?EVF60jY&Io{d$$wbCcX z=3KdQ?E;$~*5-LNg?GgduG&;|%~|w$U*DQzPWJZHg;v%w0UM)h>&XYw?s&F7H(TD} z$m6lwl=QStFV?K7owekLV!@42$>OcIq}5+{57)7ZJS15j_VwE8$GwF<`Yg8tA1&!1 zpq=c{Pzn^KYcI)Doxqy|?BP-502PotQX(eJ3U_L2&Ckz=+G2C!ykw>kT#cw;%w$$Q zZG~9>{?-VKxXj$C|D(Dyf#!N|*S>apmqwa*8a0QsD??jK``<_<$&k6(6dH)g(2mkT zgOn7KWGZ$cnKhS2QwmXuq703S@P2-1KhJsBd586!^PY8HYp-YZDE`0U`@O&Secjh} z-PQ60d8Eu99%8650|I{aRbum9V<6kkokT(`AS2M8xO~}Aoy!hl00yb|E%?EfmcNrL z)9d+b>hDhVBX?doc=RZ21taK(4yKD1SrY~k74yZbq2l0;kaYm#kP(KUhkJU{$ZxS@9Q9eP>T5&~=w8FQGrdc7Y z-di48mH6jj!_fn6jjEGwe{a2Y=1p66@4sOFito$4^M}tAxh`>zJ(ZkzLv5M%ocWO< zd-j*OrRixciwgOc+qsild_gzqKdPnZX$|V`4|&$|L09 z{}t*uMnlln^!bM#Ozn5Fh`(=4{tY{jAs&WrA!T2w`S~B6lzt= z?V!vcGz6ji!LZC~!~gMHCJ87!tQ*e!qbj6xnwVtQ*JD{*VcQ|{;R7G-lApAMws-<~ zF8p8t?v`XR!~LT9*sGUM?Bc&+eX+~2`yK~whe=03Kz4xYnh-%!!WVyFX~U}K1QGHP z&1zw6HS}vjHP^S;0 zp!ES;U1g%~kEh}hvOs@-ATGV`c>53O#N`oEIV?~Xl%+R7!l!8KJKW?&i#g`ED3nWIY7E;ImV_n9F zPC0&0v*!6eIGwDTVdpgEF|NTOfi-Y0aU658lo4_0WpU8)5SV7FDIRt199?K#Jw1f& zzJk@2;Ll80TylJB1-1g7k~qiF%mp}L6o>DaE^0?`9D!V|X_ZE~>Sy@l6~56_aTGQ1 zN{Y=WlT@+&NqzWkecU2}#95X1nw|k&1kZyYZ{SyuE-qFxoQj~8YoYLX0VX9lqwq0x zCpvgd^h1`$ZW(V6G^M0g_5AtB(WB=KBi-ci-dldOE>-pcr8g%bMEFCHX$=h2gT8u2KPl>jM!3gVwq-FI-5G+WY2&QuJ;>U|)xIppCq(ufIFIjJ!jbL#?BzHhJVo zNi?xUSVZB=xDOtU>#ZGrLfa=VFO~BUw=jAaEr^$iyBA}r*Ca*sNvGGYE*rl9HSFlo z>FJ0AcW6{eI-pAMtcz|fGl`wF+BvaucWglJ!e=#BRc z{9bu~c1F4UC{`!M)43F3G8vj;1ASb$EEEhucw%(2Gqx#L5D(6kV_j@XVY&NnXx+p2 z?e%4TL)S=5q zS}*Pxn3LF>nwH`V&5k05J=UDQ{OsaGM~@Dlvf7gY^Z3JT-TH;YGE?9A$JP;3JOAKW zmxyG@QVb~LbcQOxnuo8P?)3ij#}r^E=4c5zKQ=9ip#FJ7|G>Z$2F>eb0YuP3aiwts zKagq|NRQ_XsS`omvQBV$DMkdUCyg^^+%k6)f{n`LRX;x3BjjhFJ8QRU=TT{H*feD5 zQD73d|Hi3Xeah2tgJk0usT;WF@YLAx7#dzgP-R;o7Bop&S>MPg)laI`SN87)g#DVJ z%a6}cBo}vLb_B$YA-3Or*~m}TFqAq6t+uG)?A^^jK3nW-HwV}Pcrl>T^Yx>%2n&Sw zhlqfoZ?Iu3-_tGMyAym9#Rjw{AVFFI+Zc8YP}!wRmoL;~|Mu6dw$z?82iJPPHJZv$ z`#ByVn6cLhLd=D~Wx{8$&V!B(*i9}l9|a5LqK*zR4=Z|1CrN!A4E}L|sYPfSTOXGE zK)?hiixaZdGqQ{P>bIc1G_fQj;mSbOj4o{$oV2B5#e0lcI6fAeoE*W%H^<7N?L6gWm01)ms?6=&F* zwQKXAeiQqyMX-hghVY0M2KPmpy>IVcXfw${gY0j!U+6|k3{$!O&%fyM<1zaH;PE~C z=rG=Z#GYbjifLarC01v?Z#@WVZEY=ezUM*mWQu#+h#vv&QI(2o{+M|<;L*iYoHAvZ zzCJvtiWkCHp8*44qboDn{&S&OvhJ}@4Gklvte$(Tc%rN<28b-DcTUUe{UT#xjN;e# zl3q)l1-2L=gg^?s{Zfj1RmitKQV`GxXebq-WD%lM#?8 zCR?zAB%s@*?Z#<@z>Vu7!xwyiox+@s{SKhbOMn6RF}g8eR6ym@o{R@VU!(1Vqm$Bv z2@4T}2L6P0d(7m?b}LtAS&;(&0bPe7p=I?q#ihANesexbmu1UB^Qyq=EQ3#w*#rg_ zF%6T|!Z9r_O-}r%i4T3v!g}r5i*-2c`ZxvYoA^7 zZJ+!lJ%0RdnbBA}aQJPWG5YIZ4oTd3aDn)%yZKPK@jT<;!-q$4eKs~GhK9~Sh6tzF z{PA|9GI5@SGLOCpZlWOlMQlXdlLzerVTS)B^uUiFr@12`Bm5m@wd2;U2x1#K2|=7V zN(%V>kmGGyTbfC~IcXdm9mji~B)=h~V~MyA-wsYV3yTSUcR;L1$CMFAS>_lUbMgYV z@N4k}^Vz*S;?$`u1Ye*}2okw(uB4fX%R}l`kpT;{OE9NkU-3GyXpBON!O(;5E1*_k zpN~eC8{}-K^~g+y;-^mgioV?x?taOMqk(}|=$_uZ`E|qy2DWTwj4{81R{*JILkaJn2nZb0D+-Au>}{9r#KUc7c~w7mR-tgMx}XVk&#Tu6Be&;H;|HQQTS ze(1W1mRM1dVYL%P9wa3496zz4&V^p#^+5N0lNa%jJw}1m*!bBR8662k zUlEU;LQ$~F^dHCJ2uVS1a2y|E-e6i%yE$f;mnjVZx5v&wo&`W**jihfnXxGNL?L$4Fc2x zm@S@?&}u+qv$AGGC*c^vUc7ArjxcG6AusTiph?K=vJw&wHknWp{MUmSc9bw~;M(&opidLPWVIuGI=WX^~Vc~JjH2U?iotcK zI!VmFq22n4uskui1(-k96U#?WE1==Dnwv)X50sBG;ZGbE@ivw#p8>OqoT`=CW|+dI zMFF<-6HPbmGXoC0h?Y_@=}ExiaX#~#iV`}`!jur`J%TR+#3Dq%bSqOfzPO5s5b%K3 zF~GUOJ#PY}qNBrmQ(sGK_W2SJrKwW`RUBlj?-_0Sglc^B z$@}F|D<2yQ6B!7!EHDmudgQ|`l^!i+h*Ve<`TE(j<(CaK__4q@aoY$Vxn%|oX@`u3^d$lnXr6D*{`1+#R)yqttoWNza{;2H)lox79J+n zK>{6>;WP9Yp(wDu0Vo^)`3e3OIs;F7LMU7`(7THlE+o@Cpl(b{PwytpYJv>#yrSY6 z`6+-Xu;07NO5CV*S?m#cPlo`)oMK8aF~n)xHtb)aECaIoWJr6CCl@Q0j226lolk`-U9o-Fl6bgRsxJjoIKj+Vqv3bbj%Pe!Pt56zLpJz86t> zG$f=BJtAZPDq8l~2}!Jku0$JN+Od200u7C5u7SP;hgkj{Sh7h2-HCl{YeYvIO4AH* zMy2&ni*4wXb34MpyIH*WZ5f97soa@${jj07U;3=uMJca`5Y;3_Fy9>?Z{O10<-+A= zg!~8K>amtNzERjQd;T*~_ndw^H$<#{OLgzCaXotUuvCz;-WkNEx^PyP#xv6@`-;#$ zVC_`&Ybm?&3F=@OCROM|4l6(w)6-!j9$(PKMGNtZZDo}4rr*n2N8BpYS1}%|H$gEm zKi~Mq(Tv{n7WY&Sm74S5%evd!$4`?R(!@dX@q|Kg(qO$@oh>V@Csg)7q1*e8rOctT z6ZXW~Uv_ifo)K#&+c*2xi%qR>t3PgYFRd$VGA!Tf;+&~whj$y={TnxL?v?3r-y;RV zycBhV_;5%TVBGIdtzuUb#cLboNRB_t0 zyu!j(>V5d+;j(5rrB9`QK3rhh_YfaJ3Ky$4G z=n9I8x>m*z1nA0wNYChvV+N%9skC=F|M4-^h&$MMcoxbHCi`9{;~}C@nif5I!eT(H zO|6KvdG8UkR2jp9B$rXu!a>Y|&tvn~s6bgFmGYavMgdF}q?L5RtrP;=#t%2E%&!NL zM5hphNQ2=@Ok+XYf5tJh^iY3Ad813`2%c;oggIXxgfF+w_*Qv>yb}r$txWJ#>wdGn zL{p$TEIFaXz7kYlfFN|}9D?l~&}18eoKr85@Z~{^0RE&;&6PboKJ9hzLwwX>%~!s9 zg~uZ~pl1(hqN|Y19Xwe7*vJn27JGY`t|eO@4r3RiD1*I!?2;e(oWMY3b-|@MiIAL! z1nOEh{p9>G5_uprIlzNYc}quJ`T2cxh}N_DU~WVGDrIzY)dAb=1;JS9kIPH$JaZ~RZ`%;yu5DEqvJ`( zYE57)nb0GIxcbXj#O9kF9S4a>>nu1JNM(fbUEj<#krzp$ySp^}tXbdduMudfjOz+b zU6zRFpszy&7?;tgA^sj~#6bfG(j}QTX3SdHHyYuaaquU(rT=b~ch-kQ8-)@7jjPk& zk+N{JzvA96c&FOMqp-l>MU%cjs-i+hDD=oe0r&Nh z?IV$%tIt*F_IyvMb`)Y7Qdcnf2pt*DHUzQCxY{MZZLg>$URstu>V@k>N_%>+wn5?K z4+`Y-J#&7LFK2g|`-6MFcH~lpZ3217{K4(13LW{}txhpN*owD3EIObEkDm4w@?uW& z3430tU%Rm7jgKQY1DVgPakm4{rusB;DMalPTBBi><=}8sjYX$ zhm^#R@#Y0G-p$4(>!{j>PYL9or zmnm!`g{JdI<`F%J&MjY<{bD~vu_!*FeUW&W-wN{{2hvQOv9d%fn8p!AWW;!W=ASx>nlmZuPYGzzJ zsG<_2;vm%?REiTUmmgbDTLlulS4JRDas)xaGM7Xcfj7;lMqQ|FHR7%BD1#824% zTWfvJkolmy#*QaKqt))qcO8*@7@m$4T1|wX3OWeu2C7? zedgnSPrI}6U~|WNcx07jF_oxTIWJuMTkfLCOn?Pe?j~IuV6xuaTy2HIQw|U|hDOLB zxfRdfz58D3Qs*;x+Rgm@Po13eatjO9T)vzWg*pXjcKkw}0*@gnjBm0s-GG}a1=Nv6 zrG+~iV!#V2ZHVWOi5kN*ls9**@l$S!D;2PczaKaV(1YwfJuMAZ|I>)2BLLx5W_=Z- z4)l^l)|zK3nnnis^pK`1CG|*8rIXV)iJHC=sBoKLD$eFx_n&h{OHEt9KRvw}w3Wi7p^14_bO(yEYRk+00t21N zfuky54G=a>OieSa3+1b_VTG|sDbuAaUba8+tbU=L!tTt7^`>QVpD{*v@5V$%GP=eU z7xuSbSDFYz&G=foc0*alGy3tUO{hGO^NGAEwhjzYjwKDD;0i&{sMh-JAww$)N=w~1 z5k%e`+ufvLO(&QDNdlCt0TNYQAdu>)RMj|DP;f9o%bB(c6%4&4(-iwCNkIlD<+GlL zu3b*DKw_gZV}>wSBjqBSihfW06g{6Xa+^m(zRedSQgirx!PKOG|LHL9YfHBAwu)kL;)&Ca!pyFC@x$ zlZN-OBxc2kX({i1Z~+pn{3S=JshNojNmV=ku~4Ya(JF7eHP%mCpTwF-5M5M2$rA1c zD8hOU*YyLo1d9P;`9jBn$qEWj$rDJsJhnJ=T;%>do6E7oh7Kjf#SCv9l--%ma`gGtxq< zrBG}&#HY}F66Q?Ioy$TWtEy^jX66nQ>Nqs~;zdT!DUiezIn-EbQG&7*c_9@rb}+JK zrO^su`L|RYGh-5rJ;J14dJI&3($UlOh?w7bzMn{Z(4b?GMRZby1|C;!IDFgJO-LUB zKd66MJi~-)`me;q0U`z3Q+&g5J80cnE}3X3K;$@9GtZ(REIsC8V&Y7AlbBx_CRl8` zC0KTWX+Z0I_~60gU{NU=CNKd&+$ULCr?60xP+QRc_@3{1{MUGU9u1uDg7kDhzr4EC_s3C|@ovn<)RiA+yy48(SMD6Bsxw_(oMs34=&?3wM@UQ#nw?^rD60?^~Mc z^wR}z70!}{A*7`wK|->ew^U6%W_tKfw6j>PRWDww+OWZR@|KQbGT6A+kR{!vNm{D| zG-0FCUnnSlWVZc%hmZj)xHcg~@_lt_0 z$x$b#f6@jMseN1n9RdCKN09W)FGbd7{8Q+ZOy^h(2ZQ9tqL}Rp-G+|fwc=uJC3^d;-}T6J#qHnH(D9USkNy5v1`0P)=Lsn;i98*ztadx+xF2@lI_&Q z?Q_qw8sCJW2gfllhcN)8*7=tTb8-aZM)sDK!PJS0V2y79+-OX3HTR$`0wj@V>pt5% zizoD)`!?O5${%PkZF7brcUNdt(@(StwHM9<&o?yw~pZX36x zWcIM|h=>@S=q}Yle@gy7@slp`li3{#vD>!`3OJa~H*9$P*RAI|<sk8;iD~uvS2C6VV50LM`f-oODYO+*l*j!@Bef*34omdv7ISLf8!_9wjd#j95em@HBz zxm+3(cs>5jChv|MJb2TFAH<0NmZ`8wGN!t!8Mgk`FSYNw&C(9s8ak@gdEIC)r;Otd z)HXPDP5IT{;gMgeig2e{em*?kjpn-_`e(+sIKNo3B=gwk2p6eK+chK7M1IHhFVyKg z4T#&TQdBi*#JUadhsM;kJy?l_JjqwFot*M%5fFSg7t_;_po-2rv;`_w?({%BQTI-gXO;#0Qacy-=eSe_{`M%^!LAJq=y=7H)uL|#+I=bH3 zr+@44+{@_>VNqqKljBx)nkC%X^Nc=Aep;I5Sms)Y&XZPtul!cZR<^8QD>l1XIe}Nt zAt}z%^GDsF6fx|C5#?W-2R?oTior<`5FBi}=mcjj>|=xY^@F9PW?kHq zUpL#~`1(mm;VT~s&?Cjh{gi~sde&|l6Nlx^iPF-^RD4)?J9Eotha>lW9MVjBj`GWw z&}$nc{M_K?l<7_bXO6q|9Pgv~^X5(LzZY>rGRZK^8uylO<|N3mwavq1;5i~Cd7mvC zmmmI~P7vuNn<0V7mzubZ8-rB?n)4A{MO~i~g zoYk~}RtDdCTap~_Ik){g3__ltrkPB}0EN6iu}a%K*xQ`uy_`N`+eAxg@T@2vw4 z8`!Qs^OvHXPK|T!@r%o1_WHUN-CLMB|72Sr%zC!zoXp4roHq1ztE#I7yTBPU77bc@ za(YhWvd<;2g990&e9QR54(?0QqP3S`utX*adGy4QMSB-aKXj{lh&9)QJX4qk5$E2F zGi2JAn}d(ZzB5#cKE9~C^wABeRYmjdQp`X5lt#ZEqH8r*&n>+ATT@F-Tm7hd_sOGP zx1rw+5sCNf=NBD?Iwb7n7o{S4?FVKxMv_6{V!=`fnr7}RISNdOZWbe?ojyN$9Pcuyub7 zYD~3(Y8f~)v#B;UdbBM+PMS=5%SD64R70^%Sd>g>aJ{W<21ZRbYZwH~HGttzh%HhS zmnO+x!{1RE2AX{!)d5;SR5!NSDQVBW;F+o1IlXQExjfUT%H89d0zbR<`m{1nNZVh^1NlBnw0DS z+AiVeu5=Z)Udaf;{cwojNb2g-mF4|pYuYsFh*Gq018N#19wAcXhIF9$kbS6z&u*=amMYI(wt{k zDO=_9>kY^iwZ{u`E;YC9v;$L9UBGQ=Y?bjANsr4u7DM6|&|(E9#>`$;u-)9P%DoM{p^ifX4sYHvFKszo$E%C+B|ty|j4|5^zF zEP|xriWLuU$;a2Xl!S@9Ep=^p#!}F51n1lgct+#WbN6m#n<5?YWe$pEz}QqG!zCp* zCOv57BA8%g8G^~}0dAR21oUkJCazEvQ`|)|O|w7=++X;jwv(XQh|VB4bsQ`St@w2; zA~lBGNY5nz0+A>4T)+mlR^`qUhjt`5>#4PT4I^T4?vn#DQ?d-69mEI_4pu+5D^u;? zJfdu(C9Gp+riSS*5;&1J5vc(WVHS#A#<#Ofs)Ei^m$>NoHwj|5(ZwB_YIz0 zXnn@w*`Lo!gvIaCbS+wawi0DS8JRKpDlzyHGidk^E8aONiR>Qf>zS?1b`y{F7g?x@ zOLGlMluU-sOtCA>$jp84Kr>t$CImu-OT+ioK^*z?htzEVVU0JS%h?$S=jgSSmwQPP zZOD0vrdEkX9Ho31WJthsyk20c9p0=iJ(t}J5(+#*qswgaJf>m@uDZVcF2u*PehC9i zVaYHrFEVeg?_3~iEG6wjZWHL|w}sk`CqM&}XAkcY=$b7vn)ixXd4i;9Sw%n%f>@A) zqk_R+tJ=FyJwFe)u)8khd;HlYyERf1atdCDqzI2htYMEu--CYIQ75Oa%SKKu)Fj|+ zf=2>OhSR4-8kbF-tHNi@Lj23L;^Nk{f)CT_Y)E^4>T;*?^s_fMkT5(Wo%=fw*}Wul zizkJD%;uP?*yy82QG$Atzc7hh8h0m11{Z-aXuRO?RfIU2QdRfiKIN%Xp+CEM`eM==+sPHobt@GW20>Ddv9-v$Zym^IB;SKi}0Q~{=33dJ*J5`BmF z&m7ATJie!_#pi~4+v-wbUS3T4wdmALdKv^2FUiC@Yuk~zM}?x9U8R$5i@zCNh7YhdGVVEX9i6cmNlictKAj{2O?k;^NmEIG`@_S zom29^(!gNJ;^gcE#B!r%z>!>;MN$1~LgjVe3IleY%_kvxEd&PxgKzcyET=cjSW+cB zbK8eA$O6B}*5roo16&962{#L%vloZ0u=ujipP&JrRJoZ)>ZP||$#=R|%BYt070;Gl zpC}V`@?vG9|I6$FVJ9X`|EcZx+Ss~6vD@u(VhgEE0tw{CjU4=7beL!zV!zq{xpm`4 zByLURFJBU2A48}BCqT~iov}j>LS0))$_e4Cj+c&_LEcjsRn=ePf9|Q}UXd#RKtQk} zfTcM(n}E|KrrievInQau(L(^OLJJLeKrPRy^7`I!%1)t&MqdGNj)_-B3l@w=P|e6o ze3o*f@4%RZlsblQt9)u@>i42t8|BQh zh!)!e&TgN4f?G3`*4_UsKe@X3>w_(mFTGmX#v;z@tZkv-Sa!avYB*J3__O=HLaVQg zK41#rm*kogBF&~)Y4BaA?SO7|92>MW$+I>WjygfSCqIC5rn=(s_AxQ4@`;~TY`x*X z+Q(P)aeMsyVKxq~#y!skzCU0jga?n^S9jTpEsf`q!6|PkYi%w|t;>*goOBVNh#9Ei z*dN0;^m-?&loI!({#aX%eyZg{7QP0%ckOcfaA$nO zhC91#XAkEWpmzIlnOYCYr`}#(dgKRu;?eU5fFbtJO~n7gZ|=AiG(U_t7JuPF)K-YK z`pdj{5yk`BZ(3DMcp4k^aR(wPmeo54Q;FOm*7+?x2@)m&as-jK4+o6foZsH+toQI9 zx8qhJS#a65*Fhxry@yV(XHTAUmKD(K9B3X$NFJ3HIb&OP2`P<~z!P68J(#j`U7OW*wLI;Ni2ye`UW5FWk$8S9s z_;c_=sydj9Qa+UwSY(}c>7Vr=y%XIlV%ujNor>jJ#~&tj;_H(@Ar_d#@C<|w-TL+8 z>{hjZw8QmXw$Ckp!?T2KO7WN6qaDeLls&Ef+)~TbRNnJ)@xF=e-yA-NTgrP*0idj? z=&*I`(H{-ol$R!cS^cWg8%pyE3Tkq~Zjm1|yoWD12S(%$KU&mnzjn_js(m^9@>%H6 z&*%&mp-rP;E}7TxvHb88XK&V7R8CtNzs{Psz9%4=+L9FiS z{=bpAf32zdf5sX|N}ySRE1MkC{@Ib{9Uz}&6utUhCcWw}tN)v8{ku`Fs5Q9#M=mm0 z{hu1;FAY9T|A9R|oUUZw{(i;&U)@0aHHiI3+t2^*lX{bFB37S(eTQFad%W-%FZS

uJVfBQ=M&j>zFqqe!Y$oAh$4Jl21KAu#NNySD7nvWelO3jFr+AMi<`0&*BX8)s6 zfj>(Xl2<+mWHTI)z7$QmO)h2ikTMR6h$vTig+ zwomXmrE*&RR4C*pXw0N&G*ShnJ0YW&@?+V!v|RcnjWu~UZ_=Vv`dmD|?Q=Z_=8Soy z1-K-T=_y!YtaO)-o^A-JvZBQyV0VC?m_!E4fs2r??yuTt;>vC%9__1TLV8bmh z5!V~g8rHsI*IcE?rh=(1&_dzaB|``TbS1$5)C*}A<-uVm9U^hROtLm+jJPyCiviuS zB~FmM3O_$oYdfj3NStEFOSFtAG}8#*g{p`UQcuBhowNi^Rc?9TsQ27FJ!e|zU>3CM zwG0dlR5|-Zxm+K-GWA;uzmmjIC?0!VIaq_3llgs;F`9O z7wVo6Mz%pnrASRB|0S_e-tc6k=Vek?s8p2TD%j`!zNJ#=OQICZ$XwF)HtX|q{8PoA zR~%p`0>sC;!#B-#|i!M>ks&SQW-6^p){##yevU}U3W z9|`6n@}}~7hS^~|P3qyy2IEO{+`qoqO#ub*kAZ3@@;`vE<(`Kh%G=Zk0sk2)C6&U@ z0?`VD12o3d0Y-QzcorDPKg1n{7F;;j!8*dUYJdo5Cvf5}zx<+WqXxyRt^F=Q2%BDB zAK~^@8W(UF&SWlBg8RL_4+dH)1U7wFY1`vj%e{5|X7Bup)xVEloWC4w1W{Z zX>^9T7b>5JZ%B;fYF?YR{6tTux95`pe4VLkz%Fd2!SAfv+5a~0wuki4p+otrMnJu^ zj}K!2 zq&sP}DgzAKE|B*KhFT8H<|!%VGk>pKVuI0mFG(_pfg;=@O5fWutR%#}#o+uOOQ?&d zDk%*VtzEZHH&v0B4fKp|>m4#(Y={KAp=aj#AX1ooO*~lL zIrs0^z&8|l@RXQ>(*3{)vxd-)N4M94E6eRPof_tmj`Xk{&EOBZu6Zw&%eF6Pl(Xk$ z7Ihmg24fP<(s6}lpEG}CWM7y|2!<7>H3YdGr zb_81Rl0+AH`StR)74bakRdh3oRM{qEzq?1JqvNM14RZsYof*>6teM|H4t($~FZ^kVQ+y(gLO}b1Ls8eVrH8 z{QWz@eHJ64pg++b*K@5lYi%qfAVSDQ7;5}6KnflUH%zdb;E(CXZQkdz!omhF2y#-x zxm(DTkgBPwZYP8Z=Gh<`Wb<|3`nRv}>WR^{lYR;A!`93l^~YdN^;QyM>S3pv#6qjm znT)O?C{W#T9T^MEhP3@u*66J0A5GwYpOyIB#E(u_@4Ak*veQjAQrnM;{cAD7CSYensM^Nv*P^MwR|SY*+*r!J5FK}GtnrCJ7Sc&#$s z)qQ4amWg9>rrp_~;H!VxEvyYYFLU*wR;c;6%HGnRlDE|AY;3HQ739K(FPNa&eQUge zP3!u5VL`vP-?$h>h+p}}zrun=p})OLQ8201uHK? zZL*0NTxGtc$F!wu`#+xJ)%Me;{t)`K-5p-0cz@a)ny)*4o@a#W;*$+dT3^hL!!KK1 zXKtG!QL^xl4>-EK?T%>UVG z!j1O<^*c8gE|)kmutp`)FyApkZPx`P)y?UKkk^J;L`SB`s)eSa)cLQQn%$#?&W)Qc6=2-?mh~Zn7;?8~QFX;b|M((Iq{5oj2)nZ||K*)B9yot#ye9Z&dZ!(m5qsZV60;NyA(odf%nnb@hzh z`o@OM2@1>rQb^qLQKIE{eGK~DN(&x6a^Gp_ebswMcdx4(vy_uhtJW@Am0zT=7MspR+{s^l^#TA76Wz={I$gUe?tkGMi4RRICXx z-BC7X{jZLnhfK{2A`#Zrs}KZOl;F<)#7C z3*BF+7ke1=*tt7KqxY`+pFT_cZnQ38nsleu{e4`|c5zoIxI2BOZB(m=!JY=UhBd2R zE|xgvaih;ft76k@ozqGdPu0%r;VD_MN7mdke28POfPq65vge(-xm{J^`Nw!sfW3IY zz*hx&;-NafRs#R{ooF9s-%O$)~9FrB7S`lutYFc_q#^9!gs(am6 z94~XI?s}zDP5wl+d!J4WxOPIOZG|}fJpB7GJF($G@h?`T=ARA<$&8mwY3by;{^pIF zUbhA|`b_O3^8Rq<;Vkdlk^|k$MtBc5m-W<&a4U&%`Af;|?lZ~nPya}~Sl+ZJbzsWi z9@3lF%y;~3Hu;F-@Ox(pPrvFmOgH!0Naa;C6h^&&-MM<1TT*dMkD|$o_teKrioCno zYTPO{8@FqFkb=XW;+pr1e>&{uTxKxQGoaeKIMsFK%fN?WufGJYTz0o-f%?9m)YQ&h zdedrPtfSR+4ZHP*m9*!hn%}nQ&)@B<{q9$VtS8}bKXl$SWAn~&4S^|VVk*22UiQoG zT|TSn9uBP6%RW9X>2+mVQl;MU%ePmQmpQCn{G_XFM5Elh`ZBfF{L`)Gn_|)ygTWpd zU-WQsk(A@?n%54;?AkzVvHU>*t4lpT^?IRhm2+kCshzQsSFc-pAKNowf3ak9S^fL9 zt6v&O8+N@nbe*h;mdaA`jd}B}t2@u=-M{;~xIH_xRmXdJl}(?#FSX^Gr*^@zvGQle z*!qYYwQSnBVV9w}!>T|0y*$Tt-sSSlcd&o@c4vb(d-vzBwdorTn71WkrnB|rOihhY z&81PzTJJv`dGo|Rv{-s$PK~j)_$oPv)y1Jb?rF--MLneVPBxK=&1uI9BJDtV zhPza#uj(^VG@-y{P?!A!MdHg&#^w+3O1*mZp{BUi=((lgi$oKU_O&*sC1`)koagR! z>_dU5@cJbOf8Bk%G?q&Ph#CY9SITj(-1SKmnqYDMVxm?L>ABndYhI+B)hL%))V}9Bzu6!(z^KU&GYvHvR*8o)4Q_!ntsJf zGDgy#TKiOnX}P())YDaRev60Hgn739k-GYpUo$7a{c>x3tC)RTtR3zy+=XMc$%`rG zUXsV9G@?|rE(;CfTNwZYKjGwN`>9%CR*eRps?B{9dIB6$K+N5s% ztxt8i+Kr)^&5xc21e7IKh3;82-e1yd&xK7zJ1>>HdEZUHdle{bu+^&ED}_tf$$3g9 zt9P9mohbLP*>cG}_YwLLp4)>W2WFcNPfu9XuVDAJYrR_>Kb1W3=NVZ%OVlqmG>5ts{t8$*5?(BQJx~0!;^sF7{ zrT*fDi`Smm%jLtZZ+(#o_ugmJ|Le9@ll|_6h%%PMzJKkRTimmE)#GLxwpT zpSO2YbJFpD_Hvw8pIP$i%`Q>de&wtErm_*cUP-UL@HppsU6_|?YUzHXx;TyZA2!GL zPrjpmqf@s%{d8(3&9!>@+Rj~WyIgliFRz+N!^GT6J{sOfu1lo-^rfh%ahKe?)+EhI z^C$Hz-MF$c_JE7S!Ve#{23L;wTJ`#f@tUNDV@q}0`HUl{5jhSdmW;Uivb$IA{j#{C z=sD}+`ea->tvcG-^|axHXS4P;RfYA5{?J)^i@DoShp4xQ>rZ{ry*N9j&kMCy^XT2{ z=D)joe1zxF--0DG?mg5gIez1^|BE^&14gR`_w9dp^^ouG{i5yOJXU;f*tcIvi}uT1 z_1BG;CoKzU{`65)^E+d2)-^@FFl(B){PeZe%QcFee>uOX=Lp^67bUF)>qVbRLk9X* zuR9*{Yy3FX+WoorBVwX{dvDY?mY&du7P@T|E=< zH_C~8a_k)gaPRQ8r#8>%=`?cd<3QdUn(a+eOu zY$`q3rP|omtB>2!PDV@4-ZU|M`dYI=qU($l*OMFz zE)n}*B#qB;Qg<+)I_m7&xsw`Z$g3{9RDVdf9oG!DAQrU$@V`uBtj0Di=E$qHLM}UM z?C;4)&^lTt_0w|&u){JhDeg5%^9;xDqa3B3-p1^p=RzA