From e6576e90bb57c6ce55e3821028a85b090eece188 Mon Sep 17 00:00:00 2001 From: Mat Date: Tue, 16 Apr 2019 12:12:49 -0400 Subject: [PATCH] Updating the remaining reference architectures (#6) --- .github/ISSUE_TEMPLATE/bug_report.md | 10 ---- .github/ISSUE_TEMPLATE/scenario_request.md | 2 +- .gitmodules | 12 +++++ DeployRMLModelBatch | 1 + DeployRMLModelKubernetes | 1 + DeploySparkMLModelDatabricks | 1 + README.md | 57 +++++++++++++++++---- TrainDistributedDeepModel | 1 + docs/python_scoring.md | 7 +++ docs/python_training.md | 10 ++++ images/decision_python_scoring.png | Bin 0 -> 39490 bytes images/python_training_diag.png | Bin 0 -> 71161 bytes 12 files changed, 80 insertions(+), 22 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 160000 DeployRMLModelBatch create mode 160000 DeployRMLModelKubernetes create mode 160000 DeploySparkMLModelDatabricks create mode 160000 TrainDistributedDeepModel create mode 100644 docs/python_scoring.md create mode 100644 docs/python_training.md create mode 100644 images/decision_python_scoring.png create mode 100644 images/python_training_diag.png diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 266c934..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: "[BUG]" -labels: '' -assignees: '' - ---- - -## Please file all bugs in the respective tutorials github pages diff --git a/.github/ISSUE_TEMPLATE/scenario_request.md b/.github/ISSUE_TEMPLATE/scenario_request.md index cdd1e95..29f0a98 100644 --- a/.github/ISSUE_TEMPLATE/scenario_request.md +++ b/.github/ISSUE_TEMPLATE/scenario_request.md @@ -1,6 +1,6 @@ --- name: Scenario request -about: Suggest an Machine Learning scenario not covered by the tutorials +about: Suggest a Machine Learning scenario not covered by the tutorials title: "[SCENARIO]" labels: '' assignees: '' diff --git a/.gitmodules b/.gitmodules index dc99b8a..f956cd8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,3 +13,15 @@ [submodule "DeployMLModelPipelines"] path = DeployMLModelPipelines url = https://github.com/Microsoft/AMLBatchScoringPipeline +[submodule "TrainDistributedDeepModel"] + path = TrainDistributedDeepModel + url = https://github.com/Azure/DistributedDeepLearning/ +[submodule "DeployRMLModelBatch"] + path = DeployRMLModelBatch + url = https://github.com/Azure/RBatchScoring +[submodule "DeployRMLModelKubernetes"] + path = DeployRMLModelKubernetes + url = https://github.com/Azure/RealtimeRDeployment +[submodule "DeploySparkMLModelDatabricks"] + path = DeploySparkMLModelDatabricks + url = https://github.com/Azure/BatchSparkScoringPredictiveMaintenance diff --git a/DeployRMLModelBatch b/DeployRMLModelBatch new file mode 160000 index 0000000..3cd9cbd --- /dev/null +++ b/DeployRMLModelBatch @@ -0,0 +1 @@ +Subproject commit 3cd9cbdfc84b155fa4369f3b3843cb002240cdb3 diff --git a/DeployRMLModelKubernetes b/DeployRMLModelKubernetes new file mode 160000 index 0000000..90078f3 --- /dev/null +++ b/DeployRMLModelKubernetes @@ -0,0 +1 @@ +Subproject commit 90078f3eab8007ee8788a1ef5e5a49617d9c16c6 diff --git a/DeploySparkMLModelDatabricks b/DeploySparkMLModelDatabricks new file mode 160000 index 0000000..516f07f --- /dev/null +++ b/DeploySparkMLModelDatabricks @@ -0,0 +1 @@ +Subproject commit 516f07f0148deca40548589d5dada726ac20c46b diff --git a/README.md b/README.md index 35546fb..46f4e12 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # AI Reference Architectures -This repository contains the recommended ways to train and deploy models on Azure. It ranges from running massively parallel hyperparameter tuning using Hyperdrive to deploying deep learning models on Kubernetes. Each tutorial takes you step by step through the process to train or deploy your model. The tutorials are set up as Jupyter notebooks for the Python ones and RMarkdown for the R ones so you can simply download them and start running them. For further documentation on the reference architectures please look [here](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/). +This repository contains the recommended ways to train and deploy machine learning models on Azure. It ranges from running massively parallel [hyperparameter tuning using Hyperdrive](https://github.com/Microsoft/MLHyperparameterTuning) to deploying deep learning models on [Kubernetes](https://github.com/Microsoft/AKSDeploymentTutorialAML). Each [tutorial](#tutorials) takes you step by step through the process to train or deploy your model. If you are confused about what service to use and when look at the [FAQ](#faq) below. +For further documentation on the reference architectures please look [here](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/). # Getting Started This repository is arranged as submodules and therefore you can either pull all the tutorials or simply the ones you want. @@ -21,22 +22,56 @@ if you have git older than 2.13 run: git clone --recursive https://github.com/Microsoft/AIReferenceArchitectures.git ``` -# Tutorials +# Tutorials | Tutorial | Environment | Description | Status | |----------------------------------------------|-------------|-----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Deploy Deep Learning Model on Kuberenetes](https://github.com/Microsoft/AKSDeploymentTutorialAML) | Python GPU | Deploy image classification model on Kubernetes for _real-time_ scoring | [![Build Status](https://dev.azure.com/customai/AKSDeploymentTutorialAML/_apis/build/status/Microsoft.AKSDeploymentTutorialAML?branchName=master)](https://dev.azure.com/customai/AKSDeploymentTutorialAML/_build/latest?definitionId=11&branchName=master) | -| [Deploy Classic ML Model on Kubernetes](https://github.com/Microsoft/MLAKSDeployAML) | Python CPU | Deploy LightGBM model on Kubernetes for _real-time_ scoring | ![](https://dev.azure.com/customai/MLAKSDeployAMLPipeline/_apis/build/status/Microsoft.MLAKSDeployAML?branchName=master) | -| [Hyperparameter Tuning of Classical ML Models](https://github.com/Microsoft/MLHyperparameterTuning) | Python CPU | Run Hyperparameter tuning on LightGBM using Hyperdrive | ![](https://dev.azure.com/customai/MLHyperparameterTuningPipeline/_apis/build/status/Microsoft.MLHyperparameterTuning?branchName=master) | -| [Deploy Deep Learning Model on Pipelines](https://github.com/Azure/Batch-Scoring-Deep-Learning-Models-With-AML) | Python GPU | Deploy style transfer model for _batch_ scoring using Azure ML Pipelines | [![Build Status](https://dev.azure.com/customai/BatchScoringDeepLearningModelsWithAMLPipeline/_apis/build/status/Azure.Batch-Scoring-Deep-Learning-Models-With-AML?branchName=master)](https://dev.azure.com/customai/BatchScoringDeepLearningModelsWithAMLPipeline/_build/latest?definitionId=9&branchName=master) | -| [Deploy Classic ML Model on Pipelines](https://github.com/Microsoft/AMLBatchScoringPipeline) | Python CPU | Deploy one-class SVM for _batch_ scoring anomaly detection using Azure ML Pipelines | ![](https://dev.azure.com/customai/AMLBatchScoringPipeline/_apis/build/status/Microsoft.AMLBatchScoringPipeline?branchName=master) | +| [Deploy Deep Learning Model on Kubernetes](https://github.com/Microsoft/AKSDeploymentTutorialAML) | Python GPU | Deploy image classification model on Kubernetes for _real-time_ scoring | [![Build Status](https://dev.azure.com/customai/AKSDeploymentTutorialAML/_apis/build/status/Microsoft.AKSDeploymentTutorialAML?branchName=master)](https://dev.azure.com/customai/AKSDeploymentTutorialAML/_build/latest?definitionId=11&branchName=master) | +| [Deploy Classic ML Model on Kubernetes](https://github.com/Microsoft/MLAKSDeployAML) | Python CPU | Train LightGBM model locally using Azure Machine Learning, deploy on Kubernetes for _real-time_ scoring | ![](https://dev.azure.com/customai/MLAKSDeployAMLPipeline/_apis/build/status/Microsoft.MLAKSDeployAML?branchName=master) | +| [Hyperparameter Tuning of Classical ML Models](https://github.com/Microsoft/MLHyperparameterTuning) | Python CPU | Train LightGBM model locally and run Hyperparameter tuning using Hyperdrive | ![](https://dev.azure.com/customai/MLHyperparameterTuningPipeline/_apis/build/status/Microsoft.MLHyperparameterTuning?branchName=master) | +| [Deploy Deep Learning Model on Pipelines](https://github.com/Azure/Batch-Scoring-Deep-Learning-Models-With-AML) | Python GPU | Deploy PyTorch style transfer model for _batch_ scoring using Azure ML Pipelines | [![Build Status](https://dev.azure.com/customai/BatchScoringDeepLearningModelsWithAMLPipeline/_apis/build/status/Azure.Batch-Scoring-Deep-Learning-Models-With-AML?branchName=master)](https://dev.azure.com/customai/BatchScoringDeepLearningModelsWithAMLPipeline/_build/latest?definitionId=9&branchName=master) | +| [Deploy Classic ML Model on Pipelines](https://github.com/Microsoft/AMLBatchScoringPipeline) | Python CPU | Deploy one-class SVM for _batch_ scoring anomaly detection using Azure ML Pipelines | ![](https://dev.azure.com/customai/AMLBatchScoringPipeline/_apis/build/status/Microsoft.AMLBatchScoringPipeline?branchName=master) | +| [Deploy R ML Model on Kubernetes](https://github.com/Azure/RealtimeRDeployment) | R CPU | Deploy ML model for _real-time_ scoring on Kubernetes | | +| [Deploy R ML Model on Batch](https://github.com/Azure/RBatchScoring) | R CPU | Deploy forecasting model for _batch_ scoring using Azure Batch and doAzureParallel | | +| [Deploy Spark ML Model on Databricks](https://github.com/Azure/BatchSparkScoringPredictiveMaintenance) | Spark CPU | Deploy a classification model for _batch_ scoring using Databricks | | +| [Train Distributed Deep Leaning Model](https://github.com/Azure/DistributedDeepLearning/) | Python GPU | Distributed training of ResNet50 model using Batch AI | | # Requirements -The tutorials have been mainly tested on Linux VMs in Azure. They haven't been tested on Windows yet. Each tutorial may have slightly different requirements such as GPU for some of the deep learning ones. For more details please consult the readme in each tutorial. +The tutorials have been mainly tested on Linux VMs in Azure. Each tutorial may have slightly different requirements such as GPU for some of the deep learning ones. For more details please consult the readme in each tutorial. -# Reporting Issues -Please report issues with each tutorial in the tutorials own github page. +## Reporting Issues +Please report issues with each tutorial in the tutorial's own github page. + + +# FAQ +
+What service should I use for deploying models in Python? +

+ +

+ +When deploying ML models in Python there are two core questions. The first is will it be real time and whether the model is a deep learning model. For deploying deep learning models that require real time we recommend Azure Kubernetes Services (AKS) with GPUs. For a tutorial on how to do that look at [AKS w/GPU](https://github.com/Microsoft/AKSDeploymentTutorialAML). For deploying deep learning models for batch scoring we recommend using AzureML pipelines with GPUs, for a tutorial on how to do that look [AzureML Pipelines w/GPU](https://github.com/Azure/Batch-Scoring-Deep-Learning-Models-With-AML). For non deep learning models we recommend you use the same services but without GPUs. For a tutorial on deploying classical ML models for real time scoring look [AKS](https://github.com/Microsoft/MLAKSDeployAML) and for batch scoring [AzureML Pipelines](https://github.com/Microsoft/AMLBatchScoringPipeline) + +
+ +
+What service should I use to train a model in Python? +

+ +

+ +There are many options for training ML models in Python on Azure. The most straight forward way is to train your model on a [DSVM](https://azure.microsoft.com/en-us/services/virtual-machines/data-science-virtual-machines/). You can either do this in local model straight on the VM or through attaching it in AzureML as a compute target. If you want to have AzureML manage the compute for you and scale it up and down based on whether jobs are waiting in the queue then you should AzureML Compute. + +Now if you are going to run multiple jobs for hyperparameter tuning or other purposes then we would recommend using [Hyperdrive](https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-tune-hyperparameters), [Azure automated ML](https://docs.microsoft.com/en-us/azure/machine-learning/service/concept-automated-ml) or AzureML Compute dependent on your requirements. +For a tutorial on how to use Hyperdrive go [here](https://github.com/Microsoft/MLHyperparameterTuning). + +
+ +## Recommend a Scenario +If there is a particular scenario you are interested in seeing a tutorial for please fill in a [scenario suggestion](https://github.com/Microsoft/AIReferenceArchitectures/issues/new?assignees=&labels=&template=scenario_request.md&title=%5BSCENARIO%5D) + +## Ongoing Work +We are constantly developing interesting AI reference architectures using Microsoft AI Platform. Some of the ongoing projects include IoT Edge scenarios, model scoring on mobile devices, add more... To follow the progress and any new reference architectures, please go to the AI section of this [link](https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/). - # Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a diff --git a/TrainDistributedDeepModel b/TrainDistributedDeepModel new file mode 160000 index 0000000..d037c56 --- /dev/null +++ b/TrainDistributedDeepModel @@ -0,0 +1 @@ +Subproject commit d037c568bbd4394fbf2f668937d32122ae5a1a37 diff --git a/docs/python_scoring.md b/docs/python_scoring.md new file mode 100644 index 0000000..6c29cde --- /dev/null +++ b/docs/python_scoring.md @@ -0,0 +1,7 @@ +# Azure services for deploying Python ML + +

+ +

+ +When deploying ML models in Python there are two core questions. The first is will it be real time and whether the model is a deep learning model. For deploying deep learning models that require real time we recommend Azure Kubernetes Services (AKS) with GPUs. For a tutorial on how to do that look at [AKS w/GPU](https://github.com/Microsoft/AKSDeploymentTutorialAML). For deploying deep learning models for batch scoring we recommend using AzureML pipelines with GPUs, for a tutorial on how to do that look [AzureML Pipelines w/GPU](https://github.com/Azure/Batch-Scoring-Deep-Learning-Models-With-AML). For non deep learning models we recommend you use the same services but without GPUs. For a tutorial on deploying classical ML models for real time scoring look [AKS](https://github.com/Microsoft/MLAKSDeployAML) and for batch scoring [AzureML Pipelines](https://github.com/Microsoft/AMLBatchScoringPipeline) \ No newline at end of file diff --git a/docs/python_training.md b/docs/python_training.md new file mode 100644 index 0000000..cc934f7 --- /dev/null +++ b/docs/python_training.md @@ -0,0 +1,10 @@ +# Azure services for training Python ML models + +

+ +

+ +There are many options for training ML models in Python on Azure. The most straight forward way is to train your model on a [DSVM](https://azure.microsoft.com/en-us/services/virtual-machines/data-science-virtual-machines/). You can either do this in local model straight on the VM or through attaching it in AzureML as a compute target. If you want to have AzureML manage the compute for you and scale it up and down based on whether jobs are waiting in the queue then you should AzureML Compute. + +Now if you are going to run multiple jobs for hyperparameter tuning or other purposes then we would recommend using [Hyperdrive](https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-tune-hyperparameters), [Azure automated ML](https://docs.microsoft.com/en-us/azure/machine-learning/service/concept-automated-ml) or AzureML Compute dependent on your requirements. +For a tutorial on how to use Hyperdrive go [here](https://github.com/Microsoft/MLHyperparameterTuning). \ No newline at end of file diff --git a/images/decision_python_scoring.png b/images/decision_python_scoring.png new file mode 100644 index 0000000000000000000000000000000000000000..91534d41d795c9118d889d5d2dd1eca684dd67f0 GIT binary patch literal 39490 zcmeFa2~?BU_b3`mE42!!sh~0mR%lf~MCPdqP9*^qWsp%u5keSbCINr8Vn9KPG6jgD zGRQ2mAqi?AAVbsu0RjXWWe71q5+EdbUqD-H|LeZ{-o5Mp*1JpBQj?GGoU`Y>&pvw} zP-iSpO8l_<2M`D(ar%_`IS^=L5D4^5!}lA3C$t?(6yU!N!RJmM1C@5lO#xrN^*#zc z3IbImZC<_f9q@fqz$yD+5J+a5=N8wSH&GUE$eRmcHoD_M;kJ4OjK>! z@ZAeFN4XdKRDP}7_+iNP`{!Hz4)r!S56kM*)N07m3EXyXJb4K}iH>RyiK0f*>nB$E zj|iMvD&n>_DY7}sy`3$P27$s)={9z^&20go1vU1M1-cH$dxnYd1G&QH^$rCzJv9^) zeJj_AkPBZF7mOV^KK9$W&tCaZ5LRwyo|>^At0j65L zF40@D)vcqA4~L$+ZL{}!GTSM71S*Cqh%2xqr4w2XTYm*@omXF}_P}~K%vM#zv z8%4o;)o0YU(0^$_>b3-&JfeW|c|h|SI5<+LP^e@RJ}^xJmm7;zlRT;bh9$@zS#t_^=22?p!4;sod+ zb~1CdqSlnn^*FYAkXDNNvrZlP>>#qH7*&ZJLDCnm!!vMJ6s+KmoK`YLrD8-ITIS2t zMgB)!fIQQX7S2}^$O>JArDv+nBFb3lf%KJh3UMZZR!x#%?PS^EXz*YDP3=70WH5Le zBfr~iBsUC^-H1AUV@Vi_*$UoG;qhM=4c()5&OmL9y38$^xLU3}^RZ>s`8Ns}?s!?m zliN?~TpUdiv!}9uP2k)j6@ZVjm1e8)vAI zKTf^Bz}TxQ2Ip__Z&J>Jy{|8-1iGEe%|LJU0q@3PRL~YiwpxgReU@XyN57RJINA5k zt3J=8R`V=XsTcdr&oJ>0r~f5B9%=Qb<4^G-s?x8%cTz0$PF*a;SOiOe^@F{es!*AF zFAKu>jwJS2Qyy=rfnSX+*YW;TsFSPt6p6ucps7 zvaI)P7f+jdC|N74r@fSSVq(aG-&ftEfIGq)dU^3n;~c)(Cl9<`GXk7)u$W^IuSPLggoAW|Y8v6gEO& z&!?ZiiONLef%QXjl@+v94EuwL=9WCJjcSlG15)4w85{V*D+Bu78Joe2(oS9xUz)Mk zRSTr+RJ9@UM53qzSOFefHeL-EGoz+t`1kF^>Hgrpd#g{g*Bwv4=IZPy%HCa{Sn9E7y4+l&vSAU`n zFhmYHavI+E`;xFOdJf)1{K@)qt&iyg>5=99+8O?jj!~WIzoJMtX*E=N?|n^(k!Mr< zi;>J~Z>oD&6?OMI@j80`rJ6H^DatHned}Exw->qmgAP{Nu0FL%1gA<1M>@Lea*6^g zodP(WGmKF7(^Q>gaLUo(GDCGHlt}b_!bOp;B`|~*|gAAX+09kMkYrhZVHolC#Q+6 zN??6x)U7&oXDf;!T2*~BtG^!sK+D0q{ik5aJ2M;~F2TN)Gd0@!FI#%B7Q7wyG&j@G zOjSiKb7m$1*H?sy1aJ zQuf6`#@eCZHbuenzz3o5Z{GK!vchlUX2$>cQf3ZnKvoCrvtOe&rLI`}!d{HOK8-Si z(^U-fz?xW<%U2{bS~8*}LX^D?E@^QoSKg>-UITOZC1?a$L*rjNkPIvS=_-S>Z{!Sq zc{7Vepl8!9iL;sa3;RN_2=Fghm7wVmC50km=bNor2-B1r=JJ0550)ZGkI9zvk<7k( znKOuohIUQHf1HEU8(emYYHo>zL%gav-?NzE4Q7HKs9}++K>7?bGUC#gBHuPwb^4Zp z{#$j!MfljF!o#$BjB8X2DodmQx6>Fro=K44%Qz-=85na$^;hHsn>_wl*NV@`O06rl zjIP?0x;4ojPTTJN;XxxA~t0cngSs*Xj7B!ty1a9%Dr#uznNDs$-@2@>C-Ft)6xh zw12|>OJ~{&y`Q(EPTv}`Kccy-vhC^%Wd(QtV~GeY!qprEoDZT<(z2{xPwW+4NW0NpQVraP)SjRRI1+I$)ztzBHee-$$PnK z)&PCd@?X-N?9|6i@k?Hz_+mR<{~Z0-F2cihB>(lXRlkc&KXhF&-!GF86Fl@^tgsZN z&xV6UChIm>CwVCh3|QA@efXCGkuYlkc}=t`s>ay+y8UPJHato&VHh*Z8057M{%h^8 zd-yeX_%*%o|MR5G&N{cx@=onP;6?`(@yi1mQS5Y$rD^KKYV}Jmvlh%l2X<^Q(2F<&Pqyhv|$XpMXK(T)uPF~B1fy&RQ0O>%{AL&=-l4~Ct zk7cy1rMy6PKZEtx9)UJ{DvPgua(w_9TYq%$?*Hm!!{6)59Yk-b69el9WIz2eDA(@< zFm>$cIO{vfJJ5{-*HChGmi9mBpViq5Ja1&pFMT84q9QieXfElPfAEj2pV2^05;Pnh z5q(X}BV|LFtFm~hb?Pz8yB*&H&jT8a@QoXuw#FJBN*1I3Vxgq^%IjO;xt_Cv%P^?V zqftJ+<=V{M$9KSgP2w<)XN*uS zN$PDC(W6so8Zk<@xc9egSV_D8$DJhZvN%WxT12Go|4Sm?bw+~qlkK3`B$QmQ5Y9&=8}GK>jKIgdtDjS6RKm`@|S?sRZe+8vfG#4=^rfC>Ch$vs2uImnuxwIG#o3= zs?NR*{u~H{UEm@g(-~i9UYBQZVs;CPBzVgdcIQiOJnr`5XGuXcuV^Tv)~M`n5e@g| zb-vP{@XOL0)ouPJq+y%s)Nc1{;aO%x_vq(s^rbF$qC2u%3r?&5e%$UelJ=l)6{a<9 z__JP2nFJZ@qRss#_q+b&hV;*rj-0DbycuH~mvwt#b_OFW1FxcWcv91qo4?nbqF`Mt z9Aio=%>UBM7ujqT_mSa~PVaV$dq+lc8HM6u%7I%|JKIq_VobicM`r{`bcD~4nx@B;>YUb8`caOhRbD(d)1G4II8f)~H zSC~@Iv!ReO3=e7H1_#F8{PMS!zw7I&47ylSI(n_XGI07Qi-EFQ*S*c(Gjx)tdLIg+ z9Uvo%3VT%oM(QQ`s2arQ%Z3LW8I?T0l%QUqH= z_RT%u_NjgbVfWPsC)=(*KWPmQZplrI(k>8HL~bY30>|%KTmghkIx%Zz(k_3EY;{#K zxWx?2HhYKpr5D-VV!$RVCo&bXx@hmff5yb;1A;|=V+w@+Wqk9or7l#~5L@|agU2sM z*mOM~w!vZDY@GKH#(w6zf?ao@3tgXK*F}!ZQJ^esTX$7v}9o+W3wxUdYU?@KU6}Z-)>LC zSd>AJ_uP@ejb&)G4|)PeI5&nGFO2mEtMgRcGb6Ejm$!S5&tjRsfc4p$(6O60Zw{!X zbxntObY4}S9B?z*?!C~w>m@rvQa)^!;%l9(O%yrE1Z(kPg0P7!FiF<_DM@3X4`7Un z=EH^Sm2yE@7eX%`FRJ2r80yh>9{pA#{-iO)5*e z_cX2`QtVI_2>P<%_t)*>mJn6y^->?$o0<`W{*@_7lf$i~O^6o4KU#U6Rb) zY&t6Ij8rp({5m63pfr}=+xOUVHOqG&4DhJ29j)iWw^cVY&&eROX1uK@~XE+m%GPVe;68uDtpf*Ns|X_1?{Ij<_@9_P~bk@so-0Fhe5qr2mg>cJHt`0 zD1WFfSo%*IA#l>FxQXE|w^dj&g4Eo$2$+#JiyRx$5siqxnT5C5R9$CQ5tClC4;;! zj5iF0%GkNNiYTONKEHbQq)!CW~%ngKs83ZR*pZXa%_ascJ*9j5#*$_!pS+;&S_?!-&0muL!T6Q|)|$ zstk%WE$ShTSu(d|h2H3_CvES$RsO>o=Z}E(i_fmdCZKZt^|+__KWj|vSZAUr3<3FB zu7^1PV9r{=BoYQuH1khz*J7i_36HhF^o3wTm17$Yp`zAe6Eb?!Y>iFz#zLn0{_gblp3&rjExNf z0Xveor%G23arDMD*pR5gz-Cl5TzD+Zbm@->CNqXrNzh;d$M@V(Ag;=~Eh4~0`5>Fb z%0S?#|49Q@>eBk z@A(~P7Rz~$0u0!xq4(*%Q0p{JB<=RJ-5AS$l_~C6_~`|SwU6b__6sLshOO}D%uDxN2nBrEu(^Jf0=tXTKf!$651K;4t(su=&ZAyOBr>p$FE9(DvGS1<9Z$rEjfIgt=P7w;cVHV_?G!|0DvHncbnBcPyI@c8Srb z_1Q$|>Q3)C@e$B9>KRYpCVZT&G19X`mi@!SkAQwf`zyD<3i(&v{%X?xPqpM8Gt2R5 zgsF+OQ(9~e?-b`Q8qGBpRQsnVI`KX$;b0kk@I(Pk$Spz8f`^;S?m#C`1LQ#Jt;&@JnKl6+Y=R+mF zar@(B@#4+v?{U0R?GmVho15!t)CN~SF^kJ_cJ@C4hcCW`z&}DNYza?p|A#BYpC9qN zq0dSHRlpZT$4PStYG#j$l%{6+qk}#Kz3n{0+UapfmI^0rM#FZ1>stbN(vQAx^l?zZ zP9maNhVX>9)7Jug{oxSX;WYSq&k)<|I2x5+*{GQfF(YkFFAPC z5B7AC|J)+qKGKlL%CuYE>1N0noH!?f@2>^kLR8g8+Hcr3ofWUr+}ZoW!?Kc%%F_A1 zf!UgDJ%7e<*FQpzv{wTH^I2hYhF+k}39z@h-=)Ko4>%R6slNRhiS9drdMb;xFyf=* zPy4OX_ie7^#*ucQB&FxB*9=&ndbj3wCJ+S2&fHszBoKvihkdqz4H(|pqr-xJ8U4(b zdOXppSQ|H^aZkjcj}eIT{to=SLIEd#cPn|9&>s`!lr1eJ6fxYj9S~~9j1Z=UkyX@O_|Onc zeGR`)@fv_Z`ssukrVcmkl;xoAttv!KO$>M>FqF?)IaCV|eZRm7f}p$Puy94x%t(kO z?ckgYFENNxftC5HhL}GF{OL32IJ>hdh?6luL(*uorUepcz zRGorM$#`W=JKyU`OYkjwriazkXP^+`{k$P{1w#QrBGGJ%Umn-@dQBayfuqj~$8NO5 z9f_+t{nL;w0>{8npWDHQ<;6OkCi;u<+{@@fGdOjzUw1oqGcNS<2%;mymzVy%U+&;Y z#1)=4>{t8&))E_+{q%ZJ+CNm-Wj~CrDxhKUd2?h4H%x^0A}6KaBs`r)xH4@;fOaq( z=3Z&Swxg&$b70BA+A{Ct_NnT=2fU`_iMxC%C#MtVB8RaBW2}s<_zmbf|46#?6~j)L z`xiJ*+&P_Kp!Xz=^n5|b^%kw`=x?i7i4#C^5i(iF?lzC~Yq7JfxEbYw9_)1w(Y=;O z3hrsm9&!z|%`{UDn&zP`f2z_+;OgSkH(t@S-^Q#2-X6xa-kOR^qE+#zIs@G&0(m-n zBydOhN@6`*%c>=Qe8`xQY`NNf&d5qj-m!*kxN!w{&EF!5!Dh!zjSimtLTPK@+k^}! z7YfJW*q|^z>lxfmYMRS=&@Z?&>)Sn}d|^;Gfk>bs+)ayy;4XRh{Z=8$;K5mOSg_c=I-trCsotRkd%N+G zW$p%=}qG}{MaC1F2 zFwlSn!bQnsvYs*d_6sA~k0%e9z@USQg*>IOK3%^wGUIv=DaV;gG_heu%;3j0c~DYS zs}qM2wl7if2!&LFd0EOIITbuB@O@PMQlFbJ zZHaXV#StQ%;N`tf;Q>2+uD>06RSF?A*b<|vWo$!E=u??9eg5lYFv$tkDDE>k)x=D_0`hTyjBF$ljXhyy|;2$ z;cg#BKqr4>rGI8zjbu62j^J>=u!Txu&veqiXFT0`NLy16b<|P=_B7wbDypHbGz@bJ z4f=tBOh$-dP9Xr!6|Ey=M2v|lGkxn17S0);Xs8Je-N`a{QKWAD}4FhmEyF9$alP0l9wW5q*d8F+#_XEVB9CzBR)yNW78@s#0- z!`a1!Oke6Zq*Gel)i3ab!p|Ir%7!=nn&)IAzALUkEZN{^n(D?J29h#al4eDbn-^Tn zG@A>)H3d@J_yqPV&H`sO_L_@qVf1^SF{Mm}Oe&Q3ka3K$uF!Nrd*hKfypVV5^KCHq z@l#*I<;;~@tLbr40q;f#-3Oz$q{vIgO=i<{6XX^I7ZdBPuneU<9w)H*HBi^Njstd< zkP}6ybEc{^PJ2+5Opj7$S7w=e|LJLl?mx=Q89Zmp>e4!xC~s6{O_tiV(=xc_ehGfU z-PxhC45|#<(V03O02J<5ad$boHTFAOH%u-`Z zMun3KWqGjRK#Zui`SbXNY2islzBvNhc5#-{)n+xQTO9K;FN}{rg5^B!_cfWQmR}Pz zI2p{4*=(9m=zI;KyU=R4u;-mKKQSZ>U`VLZp6w}-A(z~Z=yqS-RR*tUGerzxAKt&Em#=Y9ZzQvX`r_FI2=o z%DM1VgYB2&u6k|yK5Qk$Qw`RrZ5$HilIa9{d(PHMUhDmk_L*CvLfEkPvFtlE#_lW^ zfCCCzH5u+T_a5i{3*N5nyeP(&n^S#y0B90>8G%XJ-^L$dWk&MsLg>Y{Hv`lGr`ZNr z>kv$JE!V;u@XC^VBqs+n{L@Gk@$M!m>vR7VIBCh>CAuniW?sIYdPw(B zu~kt>p61sSnWkvd9p(XrLLNJxx{{S_a?krQtyfimo z7>+*$1URR2dhy4q!eErRFVy95t;>(ReHCPDuEr$COysb;_>a=t3#lY`qRAP@A@uvg zkqVk1e4xxy9ZIL++pAk0`x#~p7&9&dJr$L}ebcW6;TlT~Y9t;Z%@I!Y^WtfcGT%hR zz)F99?(GqM_iZrPOP`TvJtl8zaI^v2&vIDdg>w5hZVTCJ0NoV}D|DOa52Rhnywu_Y`e64UZPtjEls>TI?eHuo%8(r$F2 zlo@5&AgpJUm~aLb=xfV-7DStI&K?`^r#@$kn2P22qMg9{*g1l)@QR3^gLIP+I)0Ac zWPaWVzN%~PP!nUt7rp)Fc6WE>^LYcoo1uV=5w8Ch&9>y#NSr~d$iP(Hdt)= zK2+ko??|ZT9bd7M*9xi|eX$CvDkt*9ns$EMJPIX$KtaS|foOxvw_-5Q_Is8>pG>)v z?rZm7F$lQL{ZXu{{yBBggvHb;zfIkiF_e$v4uxpP4XB5Hdkh|TAE7|G7Wyb7$|VqU z2r;MgPKFu$%$Vrjea)X4v6p2Z7d~4*Nhtd=AR`pyGbkPM#h8gM#LH7gCmT|GsXlH( z1N8(%;gAOe%)L!2W$v4kEgSDWoz+sR<1=k;*;c{hB-b?zsXB)_K>D3YRfB892!@%~ z3U}8Nk%0py>IsnAqF$>+om(@<8ibJuoD;TVafygnGXWpTGJm!IzS?4G+W5YW?_l@! z<%@f&t_1;(g#YJ1vyU2(N?%2b)O$5#*%UwA%-)b>cjn5z&vzd4S0Q7LE|UEA{#Vs@ z*VYPnKTlAm%H(M#2OIl@BD^Y0<=ljIAD8%)l8i7=2`beHoDKu$cUxI8lZ0hOiKUlL zKKfk!9h}pf%{$qT_;LuQDrqk}zdJO$y7KO4rt)k~BCrX8K!(o;{uW`ueobISUH(Vh zH~xnY0H&2&Ol|z8>>8H=m4IVR_*ON|&)mq}dX>Co3a@YnSB*R227!;Y_KJYSEt zKHskXcb({om7f2!m)yAaQFH)V{Muy+O}M&H@4}hZgon?FFP!U9`IMZkJjO|=Ra(yk z8ri(3IIql(M$=7~*bR59TR$CH7T@8Iz*>NB0f^~XwzbR3LrjK@==4~nS7Re^;=aWW zsORiG%xeOH4rXpR02~)PcoBAr3S3-)V`$g5S>WaJ%NvV+CR*;vN!S3gJ0fNSyj9bV)C4Mmyc&U{@y67?uZ#RQlk4Cs3Gvp6{@+Wa z>=yP;uGQrR1nPe~4pjHbU7i8>-1uTFJ<<4Sz0Rc>v7XhI^-5w#N6Dl5KqZZM{|dmq z@7(B73;ZPTFj;$fLIvok;ma`Uwsyi4@00ivF$1bH?!q*j7*pQLN+B5gYRJDWF&imOGY2Ui)nr(R)C;;ciK9n)9Y+xVjav9w9r zEdMs?@6z)%+8)lnRVbdn7b_SZUBp}5>!{x3pjbX}5~&)ObFZ?dGVs`6RP+PZCQZ3~ znAe>sS%HidQ+l`wNy+Hm>@H*#v-fr8ItYN_5mB?bVa&74w4hu8sHYTfApnAKyS7C9 z)hJ!FG4b>xi>&TDf337uK)&dgWe59Fth+ydg!4vxL{oBG(l*o0XBGE`T8;*iag`aO z0(ihAzBWv#2$5AKE$Im?Px6GJeOXfoE=n_c7TeRBd&>#GL;q%?5Oo2Y^2O7B95#) z!Eb83-XbDb?}=pJyyG>tvlDX;P(@YA0J3~lj>3RR+9#hiUwM;J<)2a_)%DzU%TM_u zp^TNf7Ulbp;}@~b0g{W@d7pPq}wd1JnU39I5`kEhXzE0Ig3&wq$hJpe~V5V<$UTOSh#Tk;{6`Zb}_m$t<@lSQ?*nV zEch9C=QPZHoNU78u$cSj=%ophh91g`rIE1xVK;$l(pdX7n=~A5;FY7^o|*WDJ6P)^ zGnKvJkhbw2L<>SP83=Nw(+A8u{Q*cEx36=no%gxZaE zuW#=c9uIGc8rK1g;Unq3A&>T|_cc3qT%sdn(K z+!J_fa3=kky5&F!-I@!XK}42K{s?GwL1HU(Y&I3$Yu}B$K)#aDmY)aCtB&Dx35>EA zQHbgK8TEbWZLxrcH{3i5n8L#A6z8)N6#9NxQ9Ng`R{BjnDJQek)gaDKU1yK!d}R^h ze%KFTKtVsr%ODw?Th@IIZUOl~WVpYMvh2Gx@H`*CxC0}o^AZ*8rr!hXUy=KVdQ{4@ zLq&q$xuv`w{$R_4>EI4r4$wRict3JW>pB^`tC+LXQtXnACXQJ}R!IFKB ze!n8eyu&V=7G7`e6_C|bVAGA-+f(!>ci;8W3IdwqK(4!P7_7d0Iy(l07t=e9ni;{< zjQ(^a6#<+;m2msmk%@17P5Y9AwoDz@h?uAzq_w02ir~NEdmz{}!zM{q9^I2v)T^6g zsa#FOFXA!&hBjr;$Cw8iNNDP1*N!XOIumw!4A!NXNu7zCY7CslRdhf-{?$tznkKl?8fJqyCz<*?Et}xHThn-cu-5J8M(%CC& zOa!Gqm@|8II9NT-a_sjh@?i!R?qn3w@|?aB*GsNGr1=q&9vS6ej=b%&B0b3+gW z4|-VB13;PiK(FHM0(sMQ(Mil`*%UJDu=(8p!u>6ic=Yt-pF8tzQoGt-<69EpRQ;LrZNL`BT(`XRZ#(r+ZBi)3tjR^pRXK}-w1 zUlDcW#VAfAD^t^W4#g)p=B{SwuQQe-_({FK@a=YqM5}urrHZte(i@sjyXv=~`J7U-yc9P0?$&Aa z6B8Fl88DiG2d-3_+C>fle2J)06=b)Occ)DhBNdHKi|&VLa3)cBbB0b?y|NgqGE-`q z#gRUbfY5rBlQ}~M+r^)JZ=DwOid6>mpk)AEfjTXF8Z-csWnFBU?gPaQ)aE=cKcM-& z3HOIvAB~k^4Th-W81^%FUk%XMWy)~Jr7t=vtnrnjl%}y}76ySkBz~V7YX=%=7*Q#v z6ynnAKnf6geWHzfT4Wx?gYIFuSTO|4O=_;l*K70M&q2>T@*S9y`zIvk8~pz8oAV|| zjv(2;E+`eL$-exiD{8obfChv5#06n)GVm-^H>Z3(|DKtQ*xs?RT?P|JF0jC)*IW#R9 zAy>kmxgMB{Dr7~ZKsS1)p?i;aA)k^L(;Rb6sV+e%b9xc4nIdpzD%Qfd38X?&*@z~G z%{BAXI{Xr7$-Hwk++}U|?It$AmJ;}!IifxN$0>CW-dsA8p*MnYzn*;vmb(-%aLCXU-J#S-THm?6C2I+V-@jKJ7pb zZNTalNy8aJZuH^a)|&2Iri>{8@~0BydVR|a-c$eblR7f8cNF!3R^&Bv-gvk-&Ji#7 zpCF*`SP#3NXV3!Lk2mi6ox8T<7x^hsPU0Vg6XiEVk`xFuOnU)_LE`ZD%(iFG71kL7 zv_&V2TAo2|u8Kj+LEpaudZ34A*HaViz;js-kp_q|8NIRVDUo&iw60>J)Wh?>@wE-$ z-*UMzYTdjA11pN!uR#Z|BU;AWlzs;Kv9DLQtz|R*=gGelK;PpA&}qBp`UiZm>}>Ly z!gT^$&W{#*U7khF)qqZm5+MH%7$ZXeE5X-|(IEf0Wnal zYrgim$xk4ogX_u+a$FAsI7%CaFJ-K0i}>*Fk9KGiND63>1gwT0i26~kPl3Yi))n?M zpud84`1}8tR6D@sxvb7I(Rq?D@~KT}$A)%*=DMp?5d9W8%ULAtnSErzhsBi!Sx~^G z5XHk9-+<ue7nqq(}rQ^CVO36|B)2##b}^8>|xJv!}p-N zlK`*8a)YVYxQ-*CFVkMAjt_!{oo{=;yE<*HA*}#vjTYkl|cuMK(TRWX97QgqX{&j$^9tiTBri7EGrIDI8{gjv}<^S$l_mF zdltK|$a~x_90Zce?;bt%Y2Z;|)1+`rQQi=D-3@ebK)A4w!!M-^-+E($0qh2nWN=Fv zRwzVMX6SGM<77|tw1o?63TV_DhK$(W%Xw0-f#7JQMXnCzmnLjs8!~?=e%{g1p%}gR z{!JNfNhmm}h@{X=mog$WK?g0nid|N_xrEUJgc&F^A!ZUtxqrtNSPquz1$+yd)a5Vi zjG7-RphwsaXBtN?zE_l;zo$DTMp&+35d!TU({#mR#q+&3G``GS&3?8FY^4=Du^^Cl zkHDxI-|&7PIT||jU7c5wg7FGDt|7wchn{WJCfNK0=!0w5K~Q)&kR}`TlLOUdiLLbn zI%3giG@bwc%|ik*>irDL+eJ8#Uf953c4EaEaj2Dtz)C^0>urGnf$Q9MtUsBg!1p#o zj&lO2C0rw61)4B#MhIPq!_QBWh=kFn`{%&ij<^l63D%V$*9hR6%C#jMjMq3&+6~Z# z31Ifdc0geya^z&p6iyezXA_o|V(ly(rK!+y_tny9JCGi>K9dgbBCq#-?p?%$XQfxB)D8_3XpC;l=IMI*wBqKmD_apJL+sFhp*{HGls z*EiK#UmsY$gDK*Ti)@m|j zA_RCU08GJ1M!aOaD{>(7CrJMI+1MQ&!6;s{`+1fe%W=616mUd)GpLljE~t%sbe0JJ zI%!>9UBc*_hbLp$oIBlMa)Y2AEfl~N@VOD{qB~8km$L|aT{ePdcZ8UAd=opvURo3M z#_K-oU=sn11u05pSYt@Y3}10&sl$c$j$(U+yiY+(0UJM=NWG&W4)Q9r2L%k?2wF)J zcKOncEyq@et%NIKB;n)*P@^$wg~z7zCKUOLraZ9j*|ctVyYdIu1soAW@4X{fMR3^U z!PPhLrN?teOM-t=FwAk^@6rY*r-_4-jw8-gf`*?-uor~dW7OPKBrOTAEdXn?sU!0Z zn*dW(tq?QF#oHU-*e7c+5o0u#)|``R^5H=eJ$gAQD@H`$`Vsx2a44&P-t(K-%4F$jI(XT#2WuF&%TiK?zb)StXc{AdExFTFV-kLd~PDiDL^!V{%C#v zytbewx)0=crfY+U%(OGAie)RXA^!8Ep;er%uz88T-(RMdjQs}WovZM2$1a0m#hvs0 zvndaykV~VwF08$9hC=x>GST-Y^<0zhZEBW=Vywj3HPpr{u+!X=NES|4h$)L=*jbMf zSVHRv)1qq|h7)sho{$3e-H_xu#3gdmND6ih^J(<31rmWJ5HZ2oq9Ly^nnBQ}OM(ta z)471;I@Uf=2({%4=%$OlgU@!SIY?{)O+H?OsXyk(*kmR1c8;)x1Q)C%nXJZ7)DwLZ zsCG?JH@SbpH^=Tcw+51D0P_jG-cB@fTZpysjRS|TmTTY`SFBcv8U*G<%u?QX@#P$g zhUV}RYgW!YV?(*}`pR?i)ze|>BAQNhxz{P1#jQxiHK_1<-|L#LpwMN}O+jl=2RCr` z4>>fDqOl-H&2@UtSvs=~WkfjZomK1>jXk+yQR_5~!bFeq`~^f^Tq#YdOo`P$Y7A+L z>Zp}y{0J+Xaj*zE>85=MG@CENa)q2Pkv%!-k9}Jrg#a3iT-fooA%?@+Dnk|x`TOY$ z`JP&!fbT}497N)--BnpxwvwID-3WRu6LMw^({w^OEhJ}293DyUNFXdniXa}cZm2E1 zeBDnHBn{~RXjJEKCXappkw#Vpq=4f$BSRa zZLmK(#2WuoU=L7<3j5iGTeD83@{qI4H9F-l{aF$BqbWO&OONhs>!}rKr}LBbHRmIA2$E>jPHa z#{#8uvnD-Wr)@%PSfS8<0g%-T`Cnav#X4g?2L?i#Kj`h2Xg|`Gx zK-qF(xwrFj)hg{b)Pb~TmI?rTThGLlx_uleA)?mH8+^qr%Y_3yCl!Unhv+hXMQxbj z&4xp7Y~FZXsPd_T>1ctx?|Tgz1JsuC`PtC6cAeS*CApUC>#mUL{{2=B(;bR+%LDL= z+~r<#^l=*WxU6@uSb+GIo@Kxaf7p7%Ah`RZXi?2YqT$yl6x_kI!y*?^CzJf~bEJ~X zc;8%!hiXNaXD%=JAwh}vy`0p6Rk@db)+n-HXOi8sf|Jvlj>(r^@?GG%?^KZ-Tho9A zQ~Nj3HRcW{(3Zz(lO#~%hOXkalO5j-|9K8lHb;ELTlWA~j)>UJ+}DSsdU4)HQ* zb3aSJL-G#*Yo5=Ascz05wHUp}vL7RT^J`pYh!CK$UjBny#mJA8`XzU+fMjKzWM6e@ zboE7`g___^8De;1LBNrHCi^T)<4yCM9(k8^MJdqnXwxAi)Z~HJpcUY(JKw!&w&8a+ zU2z2|{23W7%T6ykv~NQJlJ(1t zpo+eap!1~J$BmH&)0zo7em5~O*wZGgU;^hF+H|?Z=7{O}T*jzYdOUf*sZK2PTxF_^ z_U2gkE$rt{=<*`GdG{5ViIMHOTV#g_T4Q|!(u%xhOnGj^FDSCxev`_j*?ISGd%xB8 zT?TOO_569W4PRj=U^wdT7VMp7T{@d&|NEuuyx>~&5V#E4CJqwOBNN#OtS`a6@trdNX(E2{N1b?CQ1|=mML^j+n~hx z)U>7I5iN8)S;y2X_QILUQqwEajWrT91R& zitme`D1t_Z%A0P-gdk@@wx>HTx^x|kh3&$RmaO2;h~PbQR;FvT&D?lG`G&-ME4u%0 zR;#NHrr`_T_`&!IU#sXFEPKl)?;J(b#tUaFdt|jYyUN~Rh5%420jriLL`IvQP0~-e zbbVPjZZ*K)ED1NOxEdMuGGzuDod+K3Z%X$+Y_=pfC}-Fda6OqOmP1*Z!am~%t^nauERLlW=zI{M-YCp~8TMNut4-{L@c0SuKR25^?C&@Y^bx9x=`u%^kHO& zgJ~~rPW>(HsmKJDsB_ZB;ZY=va~KLRV$@4Zk$}yA2Z*;Te}v~~>>S$V zo^v?*111W)$%vJ}3>QqqEE~dS{eOLmBi3xC5zqS>*6-RdkPugFPsR)CSaN;BJK4oYTTN zEo=qrZv%vT*A1pq5z=-m08=SCvLUg6B&!*HUpRe-*+E{afb)I4-?apyU|#!cN_v}v zg2n1m_H`Fy1oyZ}WO?urmJs$$9#>qjmsRPm`TQJ3<@^Yp5eoa}v9k?0EzV%u+c~gU ztxk9Xt;yG?Hi0T5RCGJ6>KwCL>m=$3uAN{j9^u;5_elRaHEwivxNXMag{^SE$e0txrO0TM?sZ$IuX4&^|%Bukj^D}+0W0#*r>f#fmmj@ zOhJ{asfLKsRGo~oJO{~^HS9ZZO9=qMoBURjD2+*6|8!}Phw304zY3Q;h>{WVR! zD!~iihQE62Ys1@BF{CJfdzV0j6A)AMZaNEz);Zg)QkG|0 z-_zALJ#K++@d5l$r~A@M)pXb>py0#rnz$vA4Gds8uO(LjNl6jQPxt4~8^%;dfqom? zj)JMx)bFop?bQj^`fjHh&Z}FDuUU8)iXO}0?WznFPLZEhI|eD|>joZ4t0(!ToPoW~ z=T`b9=Q-PGxB%@N<^WUC?|5&YxI~CdvciqXgWA)q7ZQp@g3%ar!h4~YzMK&jVtOXo zLbV20*n7g=p`$~(x4^g19yT(vmC~B8m*6?aY_F=?bhjRr16;=jiP;XbolvOc8)t

AF6Js%Pr}eIm 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 RJvRUQ;yDM~inHFo{};YlFDd{4 literal 0 HcmV?d00001 diff --git a/images/python_training_diag.png b/images/python_training_diag.png new file mode 100644 index 0000000000000000000000000000000000000000..cbb61888e39fc2b6f82dd5164901e4ad6b53da7d GIT binary patch literal 71161 zcmeFZd010d6fYXJ)QZ*t85KdW3W5+pMNlAB3|LVSm3fFV2o=I8GfB{jKnO%sgcc>0 zh=>dkl!P&%%8Y`j5FkL1!Kfj`07)R@JptRQ)xLM%ANRd?Z~J|IC2+FOn%CNEuis8N zcGTv3`E~Lj5a|1#4jwoT0xeYoftHZJ`xf|3@1`Ps;D3w4kK61Am3FAV1wMS^x9`Y4 z5U32hTy$Cv_`EFSpi4Liq_Rf#Z&BNpX$S};&Hw4ZzLU|O6XNAh&e38tdAq(-_-3E0 z>aq(Pp&55{UB7{*-htXb)RkXns1^DqT5w{NhwDYZ%{k7;d45n~`9YdbJf#`7` zszL;uK|+SH(>MDbFv`#L6xUIA1Pn>lL7>{B;Dns4L4ZBrzu`UQ){6%2Pjt+G0#P$| z$q!%hjgoN<0#&9L+iyd1gN2LMRArp&ySZrox22l`6jSZBtPZ?B{P8Mfs!GNOd^-Mn zOeQ3mSpO5q|Nkvy)N{Ht3gsWufs>A8CDCAhWVRURu0gZ0lvKTn%sBYD15ECszu%zw z)X#!GEjh0#nVG6YzPm~>9WYdQTfTS6y!*J@^yn(%_cxWzU1y7(hu*b!U!c#C?N$&- z1{J>%8rmLranqlgp)r~wPN!jFJ;RcOsB+9Oay(>7^|R#Xzk=V~!Rc=fm;SMeVl;pZ zG>oVr=zB!^&99xnY+2Xnb+X0O#6g!ye&@l~^o+Vm5DQj~X#}J5hTl{-zgCAfg-v=5 z<5ko~W3sw<-rtPYQnPu> z3Y#>6>@3^AGkz)!yn>{eV>>v>JoLFl(vN_zLDv|nSId{m$8&bv9`A=XP3@6~V?BMY zJ%0X4q_IxKc)wWgD`wd7l}hj3cb01no4nuzzLQ4GqT2hP@VRF7&*vW)UTZ{Ii8j=8 zBjQF1wpmSRN@3P=1O(*qI!J_T56v3dgcN5~QjqJpH>~-Z?*#TfX}EXA&FiIUQfxa_ z2wl0=*xHCVNjX5vbyYRL-Qr9wq#A1kTadVR8BL=YX187YrP(NRDI5ZI>qO0X7BbX@ zP4rm|vj^Vnos3AY8tiu@_?l0~f-hClgXe~@b#Tfd^XtxKG#sOa*c^Gd`lHy2ZoGRr zH1MAPiNtcrivk)tpsvM0 zx9+Q`P)888L%WBH#AOXE>ZtpAi&F0w|B(3(y*DSdwh*~Y$9t!`Q+<3-zSpA#1)n@< z?&EelQ2!zH-sPRuQp4OR@X@RPvJLUlBR)JqJr2Mw=J|i&oT9?@I-tew!X}O`f zL*AQ{J^Zo~Rb?oloE7S@9*Yi4x=m^)3g1vu7`v-G$TJMe5Ro-!bML7QwCAAG>Bq6O zQd$Z8^vTtjNB%DKU^S)4qW5O8ow(l&Yj({0Q+#t{M>G1CP@qWf(!Y1?_#C)H0ZtUq#{6;r|~S|bDA&Bn@xSIuZX*f zT+f8la#6SY&Cw}Lcm}eDIWj3Dp$2`&S3G2Z=N<&RD(931bdMy~oxJ>&$iqwyX#C9w&t-*gIX)hHQfk;CrH(EEkiaX9Y{Ncq= z0aIOH>QLpO@(##>f7tBf5`)8gNF zwzHJh%N^?Lex2d*C(mLsQ@mcT5jhy}lgw|vCGI1jyl<_IC$qz?$b~Xcxnrw_Bv)4WrA3gGU zY4E?nZec8P3ScoPW&;JN3)O=le&lHc&Uuo(11EeQhI@52IQ~`RD$)A_SbTTQ5M;on zBj+EgWsMbB&ZV|9RTIfwyztHF?3#E)^{(b5@*bo-0y9yT5SG_#m+Hnizr z%pi7j=<_mRg;}u1trpYv(MtY5RNs+fqic)=sLmY;9f=)K2YmbuR+0C9M-wbR)C*l!BKdRE=&WFKIic<5=q##C#??MA>C=q$4uKe|K zZCw##@m~;84H{#AyXcXpA~SE;nKs0oTxHNmR)GFN4!%v;zXGA;H4r=)DcU_*#7jkG zA#oY(IH^t+jg`f1;Cc&VyM4`vy13(CS$Mvf&$7t~qS;;J?H?8Faqt;%9Aok~G(PSc z7YmYpkpFe_!4tq|!{@K^5yFMSXkoZA^zG2OrEM7^SwrQJvSFg4jG- zim)jJG~1mX_Ujjv1BW(wnq!zVaOSm$eeW-8dzW0qczIK5rAL}((! zQBR@C?s|}$nKSAHXBsA&q7l0#Wd`yWnXJ0{82_&O4Wkbmb#X_WCe2=A<$;`c@MssiF6B{eI>bxfqUn>)m?2ws=0MomSG?um#I?KTAC z^L)paLPSmF7V>yJE3E1t;y!9CrCl1ldr&n+>5?!|X!cUixarAkYM>C$+$U*ZY zq&U~JR~??!{*O{C%+(8es+d=lM~_V$(Jjj}l8-CfbH9NyTF#}Po+!KkQ(QygF(LQe zDFjc<{Pv~$UZdys6=h*zbnl8Q9PU3>)He3}hr4Kp-}$`a`R}pMir)VO@_(d2KtawQ zbyDP_-V{K%b1D=rU;OL}L3n4?>-+)yN85S%$!9QW*KSWyTNIh^Pzn39Lpr<@Hn)pC zr&QOHt+LSc0b#ZpFP`64fjaYAzFYXoJXL$s!cXtFp)m_T)j!bvU;5y{c@_0-IV()h zYi}C3qb_fD++?1l0qhOo2&m7eewm`$E0ghKEg9u%vhMFNa%@0lY0H)+M}Kemj3yBF(El&x?>0X=0y_%37bq^ z;&XM8&M}{hv};ycHf?8Qd*uXSMmS7;<9{s3geTL&Q68Kv?Ngyhav-xKREb2>a|$d? z(L``kc9So=MF}^d<_cgeej0l&+H()?Z$X>4twKyNU}@8##jBfFB+ZttihtK#1{LiN zVmSV-Gs0Cd8Nx4fTAQ4yyHg{NyKziE1AJs#Nk{%{$3i8=baPp zW3@M#uUxPZ;OV8g;qlL$AR1xfzK@@U>l>3t-5@upy+fc67ZS6^X9n{8MRYY8CV{F{{A ziOay+#81~QS)N!X|B8y5UP=$^GwC!iZh}iE*>fqR!zZotvenjJrSl}XrvbT6e+wWt zkbbs_QS60*9ZL2-kE~q-d7;s~ICO7PGHte+J=@|Iv?*wMJ$;&U6LvYa^lul5D7U|L zAEtaYinfKBd%|aeI+&Tg(VQ`M>Tg$j^xzFl0gZ}ED)x$JC()hB&L^p~>mJRDp_tWj ztzF2>USz3v%BM?i-|||}mXK|#uEyH?Tt{P*(I2Y%>%4KZ?AY@6H?IDo^|#k_de!|_ z=D490yWYA;6<^;=SSw8*{RQ5)l5oVr!GMFpGrcgXO2;Q18TH6irB6RM%QhR8lSqdYz zM;L+>ZiRggI(cCK)asQWkZHFQdD;S^8y4JJ1^7v8^(_A&%tIC8=UVhFj}><~qf9z@ zCmd+xvvjmO?ZC$97Wmllyt_`L5k77i!L)nLRy&?!A+aNsr)g)~ywmzm9vD-eYNx#J zlwLL44219-Ugzo!!kA`Rh{Q*$*Cv%6KZU462sHrXMKyEWp-uL}l;mXd{f322%odXZ zMYSmLV56x?3V0uP^y(pZq#@o!X-!q4EZf!pidk6+4YFXA6OK6xxL*6gjyoo4{A@t$ zN1)ajKTr2{9kN;TE7(lY^FSIk1KtB|3Qrx)m{qzso1ch;BxyuV>^OU3O@_-0EL9Om zQ^SV^=Xq~}m68X%!Y1eCyLk(zr$~*@qM^=kpE<}iPdw)^+q%m6Y|N3n|9w032T89$=jDiw1}TGxhA<3RC7~$TeKx0s}=?8K>1bUBWU1n@uRCac1<*XUrGS9M{ zu5lPvMqTGt<4czIm7aZ-$|!Il(I)Rrr7ieSZh+i=z=aZ$u3Ei<&KM!HB>A_)#fk!x zB+ENiK%^Y_1`4FtN)Xg~(!K+6bD|2`#HBm-lY*sh%Ug)uDRuR#eNLC-)BhqwlN6N# z-oOQKK@3L4`!G81G;v2wH%e%YNc-EeaMEHsbWig|tt{wfH@_lKlb|R;K`cY^r>>LCW{Oz*R{X zaGC|qUWnq*Qk?HonPg=JPsk!PW&nRfxX0yiNB2c{k#IE=w{MUXthml5vDJPhVnt`h zk#9k(bN~Rcu`J?nMaIoTfDI3jRbMI3iWy)Xlu{4-G$+x1%b9WS+0Y(lMaFLrmf7KjNP=$2jAHp6}SAuA2cPaXe<5xGXCg*yy_yJBy%hXc)$=gm(Gu$ zep4@i$L!hI=>a?g3TpbJNUg*Ru;<4cs(P#^NSzsY+eI`m=wLdI2USAwDTbbfp33P6!R=I$}D zW;lIla?}Tg6?3$M{%o{|qL5)W-vmB$)tl?J^Y_#iptq^N1O(cC zx!`DO*IZ`ulVAU1{Xeb$XYl_!`Z{eI!Iq9a_ggq0h3)zG$UvK30ujBcTuw(g2m#Bpehsxg1fsrwlbvp8vuYQ3@`d;zeTB%6!((4R2nz9t0K>K1q6Ca-&TMu)d40p=7Lx^5cgZ33y+c&6tFkH>J zY%Ui#MHw@nA)ci>w>ra%TcRcNsej0pC=9;1+_do%Xx~DoweBe#E z6!~g%SckT^2xUP+G(M8-c*qHcHnjsC5g-|xj1_(%)lhs!bSxg<-QFv0@&e}~7(z=9 zk;!A(|Lzu?N+VowOOevKr1e(j~N8$E+A=Bp-p=J-J^Zi zU7xxn5)jZP|Muu7;$YLBa2k&fW|qASPodrQ3P~0YaQU0C2n+49Iy$xGjY*!xXiN`N zWhBy?ouA8PYRr#eDg7JITjWi&msqXhaV+&CA|d<(1%UE8Lo-vNeLX ziPIZ>q?{qA>8Uiq|Y z(7M9z5WMz_&1j6nffY3xb|^#O1hnQjwC?_pW2XT|zPRo_b$LpX4~=Qx>Fu!sbHMFd zM9s@Mf7&#`Bu%)%L&LiBmWuAY?p|O2Qb{0wUby%;ETw0;jkp@0XAibaNAkj)B9&ep zQZl0!dbug`iSWHd&@Me=>wEVr41obO{(f31gQQQJgp@O5oZ5&)+I2WKiaOov=rh4i zjo_3$PaUYsR%JKdXPV^-*2xC7zFrQ2Z%R&NN4S*y;HDDtuE0n*o}^fp*P_T@D{Llb z!u1*2z7MY$9Othm!rdSes|O`5PLLPtur(?ti#$dsVnL|%^o&T){yPk-&f~0uk26eq znc+wrWQW7B5{RZ1~b=i*4kxRGsj z2T#6Dyfe!e?5RPA_}&5LXf(o028xBQgfS-7148j{)_c~-I^f33%&3`^G2g>?6JDC- z-y+zsREm_Dd$e-H6>r->l3a^4fzx5~%R@)?=N%dLMb`d4z^p-9G(o+C_ zjs*rwPoOb0G)`Dv)S^1|x-|JZ}XvY1pmC8p7C@$N-L@nW(Fs?ij{nC{W+B zH2IqBoXU8QixVh@v4&IKQZHPDaN=x|?VV5S`>C)}-Pc(H(cvfb246hvk7{e#Vep4~ ze#|r6fOr>sE81WP zRnZ^n^be? z{3G|xyyf^vi`U${`%jBVgapii9A2bGooB?&YG9n{QRTLkSE!__Awq*CM>HznuA4ur zdtxwOT@=~ocdWM=5$){I85Qv(N)+NYyoFC4?2Nk^J!wQ=%|72{-c+%6TGNQJCj19+ zM2eIhzLko6`jMc|Wl(=LefE9mv6>Q9)vYx7d;II4ge?!f2+O!+8?!7HTmhIFW2|{j zJI$k#RW6O%O7Tqh`N6$EcYrO-!zDKcD!jI%vA#4qqn7l^hVR|+K8ItekB$_3O`uku zp@Vk~S}Cf*ws=ZiwW60#s~YL7EfohG{Yc!^z~rYEMsUxdY`%^oM=3&!q-*lWBGdZtd1km-rXc_Kw>fKcmFF;P)O>qaUr) zuL*vjtN^FdoE7X%@8ar*lGXLQdSEZpaDHj9rR!KHuoja9358IJ$@3q09p2f9d$GlW zV>-&=;j%2oj1JHmMm^aoqzYDQTg6$z>vbd5`O+hgkae@tO2SZ+5v+_^aI9SrIuRhO z#8$G&oqIUh0&g|5bKQXt_th~<#aGE6OYrkOxrbio*1J%xf|>n}n+^5te{hpl+lk^% z2Bt1{1mAB&GQscD(bu@Wqty+ z$9vpO6T-1$HfTm zA!6IAH^i<_9O8uvIkj!o2iLK&tNB$!js*T2GyY4&jBptZou4%i9r`NChrr4u%YVY3 zwAYc)zyvP`#R|cArmo~-gi#S}C^g(7g2o*2MNQDq$%y=6f1z$C{Hh+Ngmzm&uFTjq zv(mr;vz!U9i#F98a1?N@ix$U)M$fndld;t-D#1g9a-rzFv)CCsP*-wKbrm-Hz`3=c&7r6n_TlHr*SU@Wfl5=ic#8KU)`h_VqLu;#0o-G25m)e*1V zuiN?aRix0q#SOwcq@+z!QX4I6B$DlvwmcRH9DpgX5)xNEtj;(#(06cU(nG|6pEI3L z#M!2K`6}JyE7`58k_OCA5q+g4Rb)GECRYK6oOekqwklq3+gawxiuS)%h(Y_~%?pkQ zB31#vP=(t=UwQ~EGpx`_8CIoE)~pjftdN7WV0~ljYP}9eEfb0GMx^Hd9gbnA3kc2= zMT?`vta?Nr=~1xL%B?%OnU{pQuyHf^bCe$M8I5qDiq_6sz=;aB{hIW;xtiZolPHdg86Ci5qq-jECVs+)sN>=m=rnV1i zLJRE@ano6?cR9Xut3T`PReJ%K>1Ri!jh0QgE~@sF>!a4<_g8f*f`_Z!A*|9 zfk5Y#`35RI?wuc0aQ>|Nxu)|x;x8wwf<}Hc^~9N;e@pmDgxYXF$tJe$lbp9XxU;%N zce+4DCrYW*R`Dkrn%~Ef9!W@9QYwf^fsfQrbUC&Rx(Y}e@!QR-J1jme1E+Yvz_;gF z-*JJ?$v7{=;$kUz9P@GCm~9k#tQ%#x32B`t{pNtE2I-|egYdl}XiY<)Y(^9cy*Q;y z-o|~}=Nn@INxZHhYpmTrXbVzY_&SJJ5_w~OsQ*K)BCxn4{Z?F>iM9{KEFpB6#01=X z#@~Ys8oeCM9CZ7PQLOeT%U7Hz$nHePTxk(ZQN<+XRr3SmAKVEU9P<)Ktv%=Imr;gp zns5IUk1sSfg6*V20Qz7YJkma61W_P(sAM(DH@i9i;rt1c24cTsqXpX5RI?vK>o<_N zzjh+F2D2Kc*p=IeaGK5m`)v{kQc6bUY?BP4)~!;J~dg8aZ_C?t3RF1(?-v%U5^v!CW{6Hf#!5 zEu}B7=-jH<#NtMp=ljP8d{SwB){_?x9Zwe*zSJGgbVg89{h6652nVm*Xw2qPH(@hT zua_(Bp<^(MUBS=N#CpG71hYZNzt<4fvy=w%iL{+7TNi4ZO0d49+*LnJS?Neawpc=93R|j&Ib*@Av#cBg&N6;w&WKq{Q~P zwl};ei&C<9b&ca*jpvuJmp|Dqe0J!=HsI_QwY|}?jT+ZLV=AtM)=BeIG2N3jLDI`F z?RuKfEnPgDpZ=XJc065YsxJtf47UX6fj>NSR)2D$S@&Svn8O`S;L#| z2=R+8)b@7Q(5N$wF8xs86C?@3MLusu%# zn)1Y?YJ1VyZe+fS7|af+tB0Hzai3g$$`R_D1ULv!tde@%sWr&ZpKn*|+ z+z$+7c|e{y%8n#Y88E*E5E+;hU1Lv}i54g%IIP$Y8(5n3Y}G@}vX*SH*#dTB(pf_i z{?Xd?b**K&7UfkM`(+D_Rmo<-6ZT$Dl74M5CAFCO8T#S$@mCN4mEx_9#!$14dhiGX=)D|Lm9P` z_NKywLR54sMWln=2_9rK$)lSHy!q+qn76D}zz8Rgq;n@So^n^uTU=+R3^g=RW-fyC zv4!E9aSlJm1g*(efe#5^?Vfr*=X2F4gKF<1l3`E`*xXqu0{O-pBAq~-$@~}XqRO4S zx>I#Cbj<-^%HD9!X21k%OL4X=cAu5w4viW?s5M~0U$ruw^-5|e@ov=nMxCMA{hr=? zq1Nf#YBZ+PA@zrIs_;(q`^R!7(oiL70vm%b#xjV7;6eNefK!mNfGVLZ@+DhA(jv*3Hjy z58aU=LSzmil_6j(N%w=(feB*oI$&Jn4SR5w-+!w}brhi~_OZ}W$=cAbGZGt$5}SB= zYCEpg+*1&m40!hN(3msois{C}B^hnEP*%6tHO%_A5$%7yd&B|;oob=y5x&IZZPU;5}qdbUDW9f*IJ@$uF79XNu_3o+*eBUzK0JkO7wDd9_ zX^X{iEqYDaac|gCc#79(X;l^X-Kz*M z;>po;YMkJ*R~$?n?H`IfBg0nIZ)krky_zPUC@%My{sxb*8By0q8$=9xn2iPRvjhM; zYhwnXP0#2Q`w4x-(bF>$EPuNCmbSadV?5r(rk*0*~wNGa%pPZTN1M7pxr>wOc`9vuKHj*;-3WP z?bQ=zmSiH9GMEUz%nxof8am=rF+{C#)ET1bHC_JOrHK1agKsyeKW+hV_sG4W9T6>D zZH8X)#f6sx#u-wa#|r-jZ&ofjagT!>;xak1J%MG1G6C z_MA;z-#yqpK zY^z>U^>+D;3Ish%V1>(aMio{WYQk$S{v}!Dv6G39B;h~Qpp)>3sFWqR*}>V$Ac!*> z)x2zQ_C1U(!j8g7*813euP@JCim(r(s@%bC0z$--<320I2=_i7l0_90`O-ko z>cLXW=ZvKzbdH2_`!5>j5n5^+-Y0dDX$^}`-f*6wZP<*~VeC=U?Q>ssOVeN9SOa`C zK`4w6Kc!g#Sf{Ha@RY0PJ=lD1+lc*214j+*ziq?=dYNnHa6>bqhWCA4vI5M}@&Lqc z?>QU-NY5>Yp-rYZ0^i-2W`?93jsMy7wL+vXwXMZc)2XUKCBybZB!c_|+5Q&LQoZI< zlT9?9hnvcwkppsKuOK+f#fxudmf=vT6b4Nh&}pk9&9G~ zb^6f*f)wDop%G3a>3r1926HDM!h|FVLi3W%BRhOyx3)J_Av|=*+gx}oHyRPH*%!4k z0%I?1g}**NQWx1GEG?ZLXsCTe#95`qoUiO0>eMr0Z2t|lx9P5h&D=O_nt^iBhy>NU zdtJUl(rFf4ozPR{EtxUB>!NvMqMtNF>y5lw?pYO48tj?YKk4~m)g*ap16`V9L#<+r z*&X_j=WPvPfCruWS-kdpA&(`O)yoHP zJinPI+0$APuN7i7->{!{y?cZloK@$2>n>+sulH99WEl&2AEKvdt(C8Nw|Sp^A1N5}Y#m(lElJG` zplmRB=s{up_+I*S6(?eH_uLg+clD|RWR8VqXGw6k-L+AA*V4#*7(_yGBjgp+%&DzY zEdaTFG2ykq9bKoi5tz2rgr%8DQXM8^hfrRP3CS-Hrb~*z2o0|sE)E9F{!9R_gxPx; zaEivN_&RnEgF7floyCId#%o@9}Vn{1_|LI=d ziRFMKm%7q|;^5+_cO6j)gVPA!mMxkS2pInrj<~ICoZfL`L|N^$YR^rdzjDJ|Xh$()|$&fIrMH zxPG0mm3{8!3GuC+lh2R}G=Y$B*2mqgHqzkbRu)Qc<%Rp~2m_$upflq)1(frm-s(9GX_A-K~LJul#a>j6|qRC<5ynF^!14IzEm>)!r=iwrIRBA{&g1Q-(!yU z`3#(o|EaUI6S2W~)oM1Ai}UHro#o-6=$WQ59 z9kYkg3W8+^L~(R-lBB^WN@maD9MIHeNR5^7r+C}@rBSVrF|uXf5O23OPCq9DK+7-Q zuFp96<9rA`xx^5LNJV*nf<+!z!PUlFwNO`B! z*wT#IxmUnM%hCY4uAxT1=BmsirZeZ)z=m_W=nuUsDx4pHIBQ#Q3Cacu_qZ0{@l%`OM+T)s6kEhk2Cs_j6#sPnGYVvzy2>SUSHdoSN%S#6 z8KE@#v0fruP;iV`aun0t6&wZI2LPEr@E0!lN$MC>Tfi6l*ac#d&!Oinc!RvOf!RC3 z;9(ro?>yjH!0ia22VqC$u9=G%z&2TC0$<^V1aKpN&x*$?(%i&d&k5a|G3(Mwwvb3~ zKq9U@ZCuilC7Q^6VK-7&gS2aovqWRLxmZ*)>m^TDH&QGCW?}~e=v=#RZch8TJouk@ zFEBs?+)&i5CFFH`)F{YZ3s(mAD=Mot!loX?1wm5yAz*C)I5{3PL7DW%>$Y^-01?8) zY(7HBcHomgl5eYP<%GO>Te%jrRN#DCxUPX_;Q+ChQ=kf;G%MmFqw$Bf!!otP)>8Vj*W zc3lc^AIUeT96JgVuFN;8R`ia1>O{@8UovHoDe2QJ(IeNpX+F!#nqz-uBv43@U9*xb zJrTYwI_TMOwRrh`n|a3$18!bv0d8kml${x_2O1vultdSmQ`kU5jUUNlz`ZJeWfM?+ z6;LYuoi9O$|BM5m4%Ww1gH8dBo%xjb83EsbUdW0*fL%~Rc-)>+8Sltl&d@1sP^f67T8Bc`Swt;KNZosG z9(P=SYvlqcnUI#x2MwT|#YXFLh(C~9-=-RY+@B70V;qfu;jWP3d5Cj#-Aa#GP3jK+ zMenP(6{##8eW6QMTvA{00Sf)zU8tOF%9k6icrc@p;1>GfO9mgn&ZduY=a<`_gqX)I zpZYeb_{>bcD#$bI1K>Hm0)9R@90s~``mF_s&2}RQ{6!eF5B7iO|Kz8q?3opq);`5Kr z!>$MJ6m*tJpPqRz*Gia^O8jurH#$g(?363}D8>aft%IB_KuK|eH-01Z7^C{ZdLS@yFj+ zx&YAW(k&1qa5wv<1!!|Ut2fX@$}A8?Bh%}S1g0{_x)%*s7@b*!{Q=USus+j6ZTRfe zs2^}Ybn*fa`w9E)4yI;5@Fht*maw~y|2TM?OFL6yRkau7egp$)+BV!(D>@MO^G-Fb zg;9l&U2~iVstD^3Lp@L65Bfxe+$rz5zKYoy26<+LkEGj?XDcYuq%7GzfQGyj#Pk`^ z@Ce4G9^Zz2(CBZxe*ts8K#BnK0kxg|;sxU+q_QuN{A%2$Cr2_u7u0}}k2M83ge?L3 zp)P@L?X=mY(`Ob9Pk7ysu{1GW&})lt{cd6IIH9N&i)(zd|@UzWA~6 z=5AXQKO7dzVN0rj%g*y6Z&n_4C$-ZAyJDt6Atpv-)dvYS{He7Q`CUF27pCLuyT_V4 zy=K%tz}>fF3p($hP64dOfgyK>X2hB@+D1=pZXq^Ac;hN+S*VTdm7sLx(G;WQ!}(b_ zcW~O4O$Qdx?F%aE)LnqaCzu7ATIZr9VDg4_b?78>r!ID*|+4q?nX$qt@q>AhOIX>et zD51`4VEdUxwS(<;MOoHY*L=Y9J6+X;q;~mT`(QTA2YrDO6}!1(NJ9hUqzdY7BZbev z!j_dA$nFdF7>F{z6mJT;pJ}xGRE_AaE9PswG2;X)1VWRXr)B zU9aq{WLLyvP{EdgAdO>~B~9BB9@mLZ#(ve_-G_j6y6xspAtl?8l4;7!$a={myYF>Q z5Ppqb!EvsRF6LxUzgqJCM~n-oGfVTQuTy1ahuekf1Xi;ELn4P}mY{??z>>x&7)oYT z-YLxwuVcmR)`BJV8&W&typ`)iJ&_7^JAcEhUbu2$K3ZTb@gMGMF!TnD(+)TFc<$E+ zvjZwfK!Z{hnDo$PcuKP}wk(ygx^pv585Gr$Ef?~eNcHO~oTdeuQ1(IsJm=cyDZY+#-EDZHQ2*O=;%F;yyxj~OS#j{(xj51xA#vVTTd z0c(-_*wvgG-wztt2#6+T+@{0pYZ2$lTmPC+I)6wVZWJRc?+$%4g?@=@`o%VJYg z7z&+*?F^Cr12s_PB2E?j$zoGV7S81B?mG$x+}8q2I7DXHx!&ef!+!1lA99u^ zq^Ldsg68b#yT?$`ox`g&B^Ziib>@p{l#D;>9Kv4zd%KTQpeWs3>21t+_{^&oZ;TFxvP z-j&>W+PlZi`^jR%x8ntEUv=P96d-}^oq8~uDV=FXPB!i(b00rWd172Px>{yl|#19g_eKSo@ju~VUlZ<>$vr)V9E2>jk_uAP$wW}KK$w75f!)!Jp1Xg zdO5WRE3rn)O-UkMm#+q>GJv4qaYmy)iq#C<^SxJUB@=r8mVSSOe&Zaagyq}MSjdvz zjj2sOU)A2wS->o@xGCJ2U*kv?xi*Hgbcmnw>WBPVi!R5mGae6reh4?&0rETbWRC@~ zmipAF_t)2Y2)N2q5hi+E4BR3BT-=FuSvECrAO}h-fv)!pUlOv|yJrs2+tEzT^}i^z#pOJv8H`N!=R?(_U3Fk^-U1Hui8-b$(*OJQM1=b z@x~1!iI5o}x4G+e5sT!sjeZs`;kb^qFRo88VhVr^-kG7f_NzRZ=M{7&&?Qs&;Um&M zJ0!1>DzSm=x#53pdUL;Nf9x=c(Z1xzwKyyovW4#Rq#CHK>TgXwIQ=z2pSLLo1ijR5 z&UVi1eVgXod7Q>k!?tk+I9Zu+q}F;aY?1j+?;dl2D&d&T;(gLh9nuu9FC&7-fb!Vdyg;p3);CWM4qA=qu1vF%8O zb1HS4XHC4?B8>}10TQ4j$q<=3f6b7Ga{-q?83;xCkeMA$1UYk=OIMkjA;Pk(4UlF2$aUp4XE3YnRg1=UP zgn)rekKz{wOB1s^L`P6B4_(eVQX9DhrRB+t?^_gf#fT~KdUB!pIs*B1ZterzWKPfs zqW5-UQ7Vc{EB>a6+Yq2i7}!EJ@9fBv$ADIBkdbyMHdIbF4{ zQ^)CeW^zkAaNYNLH(5TW+0BtB+6kg0X-eis?3L&e>WIY}c3ON6=I~n}eI1pc(d_ev_;$6#yYvZ_pQL0?R?nX0Aexgo7m&!6b#TE(JnNEiZth z(MnogAK?4s3fgG-BrK8%$aEyaCWG@-U0ePfQ+)4tl{3F43_AF1b2JOG13&?P?i%*k zptbR}9TR&zs~YEdl&Rm%Ztg)J3O48Mc)>h=#Nxg(J2Sd-jJ9<69>%5IplKU$;c>o< zN44p@YtgExW$iP+Q@2|rN`ZZfvXB%Iy0?Jns{ObJJ`Cl46 zXzz24ss^5;#0QV_x9FEn*j>f)G(BcT+d)yNR!qo?zBj-(%`krF@4ZC`+Dn>j?! z`Zd+FzqYGjpMNWS$ztnGb15g85rtaVLBZzmT?vIP@RkT#YXOWES!=S2Ah~N|YP0Gc zG_seYdqR-Z32{g9;ic-?K>J;+0d7T(xdypDqQ*CxNM0J0>%M8sgeCM*W^Q)PTJM0r z>rMer=8lzuQZneK-L$i*dMt1~g02 z#WPoq2l6_6a(W1O^}f0Oz0}xMBh7(yBT?9YXvl@3lV2>+VtnUrKl8S0C0F#uI$BOf z>s;cGMh{u7i*ddjtz%1aXwF(@6b%l{V}wd{eD9l!JA!_g9?hN;we!*!%lqjA31Ki| zKn3Lwj|Nz`jE{P}Zz!uACU-)Mp$u+QXdfz8>Ud9OuL6TN`Up->*~wmx0@A8sF_pY z*x@~B9UGf3zai;$S#Ol&J6O8q>DsuF1_bQ?>TF?3};uA+99j;<#^ zk1*0K)WAZgSY^a23BwkfA&gjtT2~YvbgjX!zjA|gvBFI_uD|I$#wY1J`FVKzI-FMo zcr=uC+ZG&j}tCVu-mXsp9WyJ-==Hz)MT$KU2HGmA!!CFd6$`Q8b$4kv{Ja<8aWh7Hplj0<=hrS zD3$%Q+@mw%b zC`=Zwg*|&IsAe2JfmUe1afSsG!kUhLz<&+AtyonCHH904J``;=4&S~H+G_MMWz%v% z!U*xjjS$|8vE6*Y-JmgTU_p~%I!@g6@poDsFb0Oe7+|K{eBmIDR&-&WBZO8xyOgAJ z<%MRI*TZtO?x$-vB$}Soj0Sb^P=NAPksO`Ydc&kGElsDL4^@wgiBeRw!Zc+&QM+AE zd=e^#6Lg#Yq!}5LkqAvHNelf?99%-fuUapO@%6cL>!Zvmt&_2b8*onz;EB(KT0Qq| z_7f#u8c4vPXT!Sg+xspqhvupZvhZoqJ8pV6#2+4rcKO32)`J*9B*se}pxK~dvHSeF z1=>sIj!EzY>gAsn#Gw$FLIut7v?@pWh(&kAr&eEXSHcdd(R1;}jfG=P{jFgNqjy$< z)(y6&A0~h!&BrvT|GVX1jDALUH7=06``RPSmC#}WDppF$wC_1Msndb^s50fpJ6Cx% zIU-P07)!GI0BE{V)8R+J%!A9-+4*`hw8C&`DakpofvVqci2XmNBCqmEVS-;?_uS>m z!RB3jl+z+{n|Z{?sa&}+q(uvH_MXPvY-8)i!^0Cj?hGT+0`2D1QYWJ+4?=tzTG$ng zQoQ=G;Hl3XL&QuWR+1%7D8?Y#yl(P_quwT50Zs}bXQ8l48@n(&kJ)ohJ~JettTjw= zG-+jNUC36K)JC4>2e}IU)O?T2rhiy6^Si&3+J)86fhBzE^L;VjankH!tn(;(%$7%I zzX>gUfGEp8MgPOI>_QZ`JjcXcU0i+Kp9ZE^_2QRTY(d2o9CXM`W$f(;QGR>==ute1bXFJTa26UM8r)~P@J~= z8eCLauR@|13rjpZ*SyHmq$>|GYRl;vIlQryABTBarzshQ?uQ@9oFT^$n(wN<+?mg6 z(TvND6ZIjcxUl2oXAmCIbAafRt_*wLSz(j|h<38{yd;f8pARygnaNxnS`ucm=Z-V= zSmntRCgp6-c}G0#3~u zF@B%w5~QlA5y3U^n{(8NcEWfd@BQk({X;jha5YS0E;?sWo=t`aMwrH(C1P)Um=A!W zN-Hac7(3o!T@pGf6MP-*T45>lC9E%a+$nCo8vFtdotYg1&IZ2TEdQv#zGsdDVmwSjvrqMSGx`fS35Zj z9sceP_DW?8@acml8I{>kK6REP9IbgTVnvbcK~7m9MHg`ZOg$I8iTMusR+24;E;lz0 zPbTX(^swhVSyi)v6~yiAh5w?IELg&MDZYr}LWb~=>k1=VwDY6&z603X; zf^H@jOMcQgyw(?xM&{Orp9q@U%MCTT8SVz>!keG_bdGkh7qU4dLbv){1rpfi;1}No zN_Wv7SDwNrSw4?rvta)s{V*>#HEoVP$QqF&UpX9Qlp11M-WsMd`er3)!`x#vhr`!K1dSXVtdDix>qo$w&ddl~tn#*$eNzY}glATnEQ9A_^^gNChI)XhU! zwdbZqVh@2ab{#86D-azRobUmnJiWd#p7+l2XRf;_Ab&>mTTmQclO8PGIXU>`66GRN zsOjrK>o^gIW%_r?7xF&_WWpaKUwe_P6kZNA6JT{zo7@ixB08iX&4FErwZ~iBsBo%Z z99nlr9akw-Vjn95m1Az(td|z?!!5lo12PRNn&a{W%M z6@+;<77RFRCbWbdAI*a{-lsG@_VxN`0(`sy5KGp%s{E<9dyNnA^p;~sh;2UqB74)` zAKFV7_RKxf68Ry3cQ%jL@tLtJ%Q1BPUgte0ho#Z2l=985o=0TE$BuGDbvtTNXgtS{ zrFf+-dlJPGGnV8*BjQL3Cp-wIKJkA}=Dm)3j<=?wyBDg&y+WDfgGj$?H?j;Q?mLG^ zQSNDtwsHwJbw?FVT0<_e?$(lPy)_-IrXwhZ8lWW$@biV|r%&o=lnZky=rP*eK)Zp; zbEJso@T^b`OVl=yvCpAjj>8S@%{vbUBF>kyDozdtA+Nvn+7r!+rzWeO+&h9l?D*q2 ze@p~UU4_OtvAUvZAq&A)wECkF123H*lDXAysBg0u?sGm!-6PIx(j1_%j2n%ZZ?GMt z=<^cQpO;+T{&C8cVfWqk8Q-`IfMe7&R zBY=;r`3yFd5ZF{ENzc^`J>v%>9`ZG6q_@9-4J4%mHunIqxBUQB{m8N5i0J>Y8t*b> z!&{fNhaHB3w|%WY&Y~pUR}$(6Hy^$p$LqPYjmeH5nIF5M=2{o8+}Mk3APfPM~*hx=E%c&vzX+) zJ1NcgQB?^FE6E=Bv9lHI!S17JeC=K$WN-+19_ z^o(Q0YCCskew);rIb}tfNW`jn^RlPTB6&H9i14gHg7K#w#KY#|b!|4$jIWm)2^7s7 zU&Ke8#_M#tGGg(aKJj{~998Zqu3y;YJYlLhhrJ^wgtFClC@4V}2b>v)oEd*!!j2R? zpsQCG_p8E-nBT2i)_Lm@mT(}CX?-Pm}d_%{|dgm-iA&1`rX7Zt(UH zvzM6AbU3M%72^{6PIp7 zQuf=+*GiDsE!r|_~c{wF3r0sR6Lf8;5XI?iC+MIwEO8<^!yo+-_#OL6& zK1)@WMqy^9dL4tWBEpq?dHhu5xg{JK1^1~Brs2$Q3Zry)abLRgVM)2Ojz=%?HBg%+ z1mwiS_A7Fr(V!4n9Mi)cwcualVyAF2UeeSn(5;9lr#N+)AZKZhB+e4zI$5(?m&P>3 z=jrlHoyF)G@t3aRu(vVJ&PB8$Emqzn8tWrK(qqy+w@s#5I-_D2JI9!Qwi>C!!R&%e zn>gWwGF->r&j>W{?SW7nrB4GRKnDC+M`Dx&5fO9l2d z4T=;Ch$%)BW3v?>iDLS>4%P(g*p>)o5mE&=Dw?tSQX*FC;mG=scjAF>OZp>}#rxAP z4N!CrZGkCnSd3go%@c?qlf53#27Dq#``cNdmqBHFilaw*I-0An zjhFO@K?O*8QTDbGHMbLM8eqRM6Zzm*jxvoFvu5;Orf4wJLGzs#j^c9DZ_1n9gju+B zWv266kh}N!HF_kEhHtpPDu;Pc-{!T%i|%$>E13eO;8Q zrK}<&Z2~JtF(`$KPzESS&wWwn6CnRUAsi+{FZC zkIID>SnMu$C&a8?h*Qaf6*!`)Om?Mrb;Q2?KGmRm@rg2l2XJj&+z7C8H{FE(_S)77 zlwpMTn~y3{7ilWkuVZA6e5ug+;^ysvQS^?79~7v7cgnX#`AVqG*DUqYR_gjXrI-eb zkK~yai)AxcUp^A99yM~T!FDpgspIZSo8Z!}fSf_wsaVjTg?5T^!A58+iyVl`xihQX z4SJi}0D+1R!T(mE(!ev52hky!4Fb!5b8D?Ltss3LVKn4MM1w8ivvAfLl7 zVUXxF`ZyScIh`8#G$0u~*$vO_K1a5V)e?jsZ4kQ-Zc~WnchRt%ZKwFq7) zyM*&*PmZt`K;IQv4$MyZlmXaYsf~!s%%rcrtdclSp7IUv!1?^&YgTySY<*$45(|Go zay)_%Y}ZsPNB`!1#qQ~`OMF>RD-NOb2Vs1#8_;PHVTrOH_abf@m*5V0BT$tHqrN4U zbPTdkig~dq{xI|MV%pFOywW%k|Nemr>FJmyN0pL63N5=D$_N+{2?mTDzxk_0x<{#kp5g zrJS{;LW}|{vwc;2^CT_86e}dv&Kga(1~T&}%4hv@_RGgob;rmx83+4j&kZEK@(Y6> zP+Y2@ruMA!)_fKLAIh3Eq}5mGl4G^fM|KasNw3kgyhv0L@At$n`>rA!uQ|Ht7YH#u z1ze-x&Rk(%XZzyHf^yMfT7lz$IbyBSBCDKunX7g>ia3*|>v?1wRe@!ZiDJaEHv2g$ z3tBDJkPo(`ugABS|LtY&*IJ-V74VL3*BqPGMR$PJUYRzi>jFm-s5dC zt-(ClQs^kT)b27f1 z+b^ZGzXgEg!+dx`%I^mVMvHZmVbH~QlX*kXPoG4p&wT+^7)zbyyvy9SsTFWKVP4EL znz%`CW*HfV8uP(TtZ}k3XH}?q6%BKwmopR?bn~3mR=2QdF1L#TAA=E^$A59)q=#~Z zE8=N2j@;XyW}ydpz3ZX4K4G%UTQTVQFD4-WEB*$A3ioqH8HkVLM6NNJbucG_rT~(l z3zzr66__7iNq=lH|ZU@ZXx6mxpp#W3l9K?q%zC zKic0TlxG^${Sds-##pzpYs} z2r%GTn(vAVoV-z+J;ocecc1V4frZdLa3$uK%S)deQ%CmBSv7XY*&e{`b`br|#myY~Bt2!U*0bVv+tVa7FkA z&a2KN7KR@o&&Ps$a8Lk2Ml4C)PtrZ0bUrsh&v7t@HfLe_&>O@q|rtJw1t~0Dw-qlROufjj21@7zQLGI}|DGekz9YZ=) zzOYtPv>7UZP6T5kY8@DScFqxG-2~z4%#fhq+MBo|i9}Ft;n0EM@C zs~WZfhbe_;6wD^oPaGEz0XKoWKc4teGuTc8cN$#)nrCmu33Y;96gM-3DPKeF;@(yI zqGl3U#g5uh3R10#EofqyqG~y2R1m{AJuyTnw4}zG?4JuJC@6u_sGNI_+&yoG(Rj)G zyvCmlUX{>s)0OD(1O;s4P~&nhf&xOIyXRcz&XMD^NV*aU*z6H;pHxM|&sgWTV?ElAk0Qjh>U4bxI63SYb$K%gVsBFwU#ix^c3@) zV55@*bOX{TngzvlJ}q9_dLOkRi`NtE&#NVac+;ViK}&wui8i(_4q{suQFzkcY8N|X z`(fM|9ovBWsMQ6YY2t{36%y8Ej511;ssk1838Gt@fi3!{j`H-l;C z)ZOu^ucnM@70h`)d155?!Txel&?_*@?6dtm#_Nv&JLeqFv>w=~^Dhxn^1hrZ7-^2; zv>J9JYcJ8o9_m|Kse)_m;n3X*o{yrvw$0)B@+kK>z4KJo(Yze+GGN>g}e^At;Kd5Sl6v~1VzM>0K9dA{Xt5*)XovQIv(ED}&AQJ_r3rkVA; zVlW>W#Vdlk`RVy3&d#eUk_{amW2Hh3I!4L;oTdlpc{{e5bg3_>DWX)~AWCjKFJk<; zUxj@>>0V;bIeSe^51g^Nxpo!|1B6)~+D46T22wJ1#(AN$y=P!pY6NSX+5*RcQTCl7 zkMjWfpW?MB$f|Lcy4k z30@P*IWn+S?l}vz@Og!Zr3viv7-JP!c$0n6ZGn7nMW(9|{3O#S$R$J==y4rL z;N^LnT&-`HOOo`~SG1M;(yh-NT@n*`9{S3g82L#$FS;?p&a#hMoa@w_6Y7)4D*ugC zWPE@YKCMR8e`B5yPTf>|oG?G~tuO7UZu_Kl}HLL<+dIy@%)B?0*8U-6TR*mJq!R zPFtbl>Q?gN!8iJccGr35&g)9-TVC7aUd?*_M)7L&TOk+0nN&8f5~wz9pVFtGw-{z# zn;?2tbV%i?N(VZ+5yl`?kheY{&Z%1+O{K^Dk&WH*LYn~y82M6extW%3&>T)!=iaRd zi!l7Pn8QE315GPUxI>%o33Mj!a`^-%2+;fpv-5lJ1dq5EpynIMKA?XcUSurfQ#Mw5 zQ4J)g?%{c5M|B`M71;Lg16|<2|2@#-I~l8A3mw7_SYL?*W$B#?yyQ)-y;eQ8jdz+h z&+O&Nr|hugQ)dAvf3xR9*-PZe1Vja+I2z?5N$M!q8Nm`I+=%BKG%B7uoUxGuoiZ26 zLFA^8K?O&5Vt@i(V;;LjsrS;saw88%yGLedK{$s}L;t9tprRn$Mcv|UlK95X8_ z5j?^vR}3M*tvZ-ks$whcj0BfL_Jgj+fx%pJ+Y;P?^NNWUW+^1U7Kro zvpv=g^sERoEv}s7)t&FabbbO#`>867cLHLPrR4{Y!S|a-8*Yl(-K%8lAT9w=bR(QXbtE}AhGEq zdj?;p*J#s4Bq;jfJ^8+|+yvUk-CKN>#kFsT2zqzXLN*{d=!^h+}=8o!@PI->pI>WvWz!;SG!Ws>;WlC;;WhXm*P0oY;kwGu*(i;K|}?J`$0jE zs!31^@XN=nE@{82o1I^s%~(})dtJ8g8)kE`8{wP-@JQfFl~yO0yc_1vO3~45l;^20 zHwj+56B-;NE(Fzd9^?&}`}0}~nA(PTk?GhIPq9XPj*u8QQ$g)9E8QI!Sr^vicR6d! z!J2h;<8Szd`5`e>8{HkIz}jvCPAUOhL>$kNGJC*;lG&6uo274tflkqKmY?k$3+1)* zZ&_=1?&WLGn@#L7Ezkpf(7PvQFZb^u>daVo&p*IR`${q|)`Uf41>y1y5?_sQD2x;q zxhI>IG+<^_qL36REDAEG+FZ1b8{0mZ#9_uB_hZ*PAb0!OMp2Qt^j(BlR+Pf?MQVc8 z)cp`RA&nqx>DW??SN$My9)7!!i}WVp%4uKCKvs_8mi7ZA%Gb~^e=ovx-7q74Gp2qd zeUm8r-4lmhq##z_Oh#L5U!*8xUQ3%&HB5JrGl zGHHVm<2FYa?T-nqESqa6ml%-S^~S@y3~xakix@+DqGE}t3Cr%ooQ8-U>`E=qr#{#sKMA7Ew^@8-b;TDRz5|)NuX>21EwNY)qS+*5YR{xK|UpPhB!Pv@Yi6( zf_9ypcHQ~y90e9WC57u%ohz>NCn$EKiSv%@rt#|&>qkP6?1c+r<}EIleM^zqb{eC5 zs|g7*=(2?K%%GbQywve9a0W^W8{M8wQA{PyahHN^`)lPC%|!J0o@y%Bi4ZC}J;`UK zRK0XgaMXt#7?s&YWngYoGptlhPI0#=(KAdF$EkIDJSo@XUO#ExgQ?0~-6bmb;g zk9fY=lBVde=1tj2S28KePT%NU|7Xi6{TB{xC7Vm2d_G{lP`(g)j7*)So0lE* zBU=7|r`$8${pD2M`fPYNjNr1f=NXYRHzw2FU@AKY+Q?NR9p=M$jg9}r<(^X~EFY7U z9p=?{B)#F?8U6Q+o<4oDSpOXu4c0?+9o<0#7|tZ z6jDxk$WHr?bwa~Z3Py^lx0qNnY1mU(6}HBGY0||?0Rm=XU%K1U6SLftc5zxu&(Wv2 z(iLt;jJdTRR}|=X9JF0$qMu{q+R(%bnk<^pdC-rQS9$yr<*Nr#6C`gZQlK6@|E1vE zC)q8IbiSPZSThOTD&|$rr09}ml=>GtcFN_O)?;LPwS!;7r&GGP`fezBxB}ngxc zYNmcZtRTfN+_J8zXsY!LdWU(Re~y~4dJh>VdfR}C6l*PMUB zf+mWO&m!E+^0#%{CuQ=Oz%Mget8>ihx#F(h9=`4u<{xru5_Wm%bZpb1T{^+8`kNl? zdiZ|*<{P@fvz`V0ZUy~;)(yk4OCQ+T?q3+0r^1%r8gNmJ~dM5-)H=W_9ohK5RUGaE*YfHSLE}=3)fhV2#TrU)sm5}V+GLK8%c13&}P%gaqQaF zhQnEXqAKm_tWh)nioqYCYnj&g=fqpTm`l-ezDpc&&-U8DDESJASh&@wq~7H%!861fh}WlGLxSC z8AcXka^@bniI&K3Qdi%JoVL_8TQ%`eXS?}-0Umg&R8bzCKNBf2EIL=-+v& zbwzqA21hz<4p)w~a%oARFMot-TtMj?L|bby-4@5%jk)1H60UV7jkTlAc$+Ne@nV=_aHbUF^24yzA_8N+^hVffSU_J` zMc8uJZ>gQb7N$PO{@C@Qu>~cw_GO0+qc@3~x9O2&hDP7`rQXg$uLZNT07mEYq!qsE zFWa2<0s_u?XuH!hd*16}s!Dn`Dobs5U_v}o+SSS~&~A^CDDaCz3Xi7K48-Webqo_J zx%0*r%!$&f5opwOIL_Ad;D9}(4`oQU9X($ha^6kX5w zHv^^^h1O4}!5)S+Vp)gaaD~_#Vf<6CJzGzNyRYeVpDmG65k9l&nuGH|@){>M6lSi#^%PrDd9i;!IKVP*r{|Xq-kMt1 z)#ntig^ykDyH)f}AUZUhshY5JUE!S;np5@8FVEKYaaR1-zJ*3l2Xzd;)J9)j^W%%8xlcX)wlYmF;!TS)4KinH=}LMH{438oGX+f zoZqdJ@rY+$zHOPEV#MT5DqxQ9&1Zeo9l6|JbjCn`qq@L$PbTEq1{F%baJ}gr)ZS%d z1;2^4r4M)1hlW2G23M&iorV8M$LUjCYOuQusi__n9|**1ur%ZRCI zdBTCn6UTYxPOw-yMkR8lDrf+_f7Tq|sP??Xj4$9+hD~40AAWpyGlcsNfBcXlMLRsI zcQ`x$@d*#AoG7mBQV;7HLq_Y-qp&$Oy+Er#m1p&3YCip9r#k~z)JwZIB_U(ClWkA4 zQB(iTg6;b7wgq)+t<8&EX->j}Z>X~E_SZZ4hHfkBWC-^6Cr`haMq36zy#AO+^`B37 zwYLX`B;!?v<9{c{$Y*bCx9Wl7mU4{*SbTwHbIbt8&V}}W%>pB zMM||G&o70$C-Qh=<2aE24-$W&5A+IiQsX)yuc3pHjge7LKR=){JTc6W>EB%{54k9Z zt&X}6+$Xke_1xbp)%%mc)98HQYilR2nj~-_D|#u=AW$dpP041+iQmY!k@H8Mh@x&X z{)_+h(|UQ7=1PxVo4xt5>wHiO;;VpF6w2#`Z%u-E$yTeQkSB@DUDFQ0aMibFg#3fy zIw==3=6+Tl6Qp?^$FSL7<4{RMcW5z#^Mr&Tj zr@D7Cp6le(d$jtnM%QwPa~p42eNy*=^Y9NHApHYVQL#X;Ej@_ViN=Bvxc+g#3smdtK}|FU%=Fl zsI8NKFWTo_K$$CQR&Eo;BhcZ5Q;e${x9Y=tw0f}m*CdAL*4?VX1zUvy+j1*8aP2=a z7HY=NwQlPlSlVdP5HE1RIC@FffMvw$3OWe60Wk7zC)pO_k5d1Kt-Kcirn`HX`?753 z>=E*-Es4XqRRpaI*Bpm@*4{E1Q!l*<3-sC@ko!_Y8?)TP)k#D(Z;3tV>EDj)o3{ zKz7p;*gpPI;J5{_hgjN@-zWXOr7Q*3w)yOiDUq1mBh4YRc|*7Lln@qZSxWlS?WMc3 zf{@c2$hM_C);zm1a_%3XUk;#;uxmbcz4MNGCpT~aH}mA+BQ06OlxqfVz71<27uS$& zJ9+C|y#m$!`*k3T8(>^mTW}d-@{|q#xDfWumc*NRN*1;_ivigHxd_NhegIycDjt)g zD*cCNECD$R9D2w-K+{3$!3{p4PVP7N$(?%^-(lpIc1gs}Z!P4@%iw`A9$0RIBABGi zx4)hsPTOH{Pv4s)DPQV1JEytRr&X=$%Qnb;fZ#Npatt25y4p zk4n7D($_$?f;D+=$jbvZjQ_hPG=OM6ULhVv{~egZ$7_DCkdE1DgHXIqS*zaR((QV; zt*FS`LQf{8KtK-Sw0XHJLkj@F<`7i}@*){T=a4T;a(IW8s*s00J{ur6%*^2owztt4^U~xX+`XA6U)1z+ zEOSm#&dEtaPOmL;oD1$g8}7ax7%51)wD=*{hoD=w(d$D8Ax^ou(h-M03yS8?3^j0_ zR_aOz5O<@r^0d5++@2~`j;(>5*hIDkEQDMY+PO!m9rTTtyaK*`(bkM#qDryz_WTIf zXl0<6;0wN$q-AH|=G3|d;&BXH4M>I>J}u)UF=) z9`~3bcaEjp2FU5HMdUB)TOqfm$Ij?Tf&m0C4;g_GepfH?x87%+eRP)GH2-J;5mDD9 zckab3bDIp@iZuwiB{;_WisxUyV#VKDahK#n$&y7kj_tgjW9v{y%_38rOi$%-05jh$xRq$)iIN7{S?hyEu`_Hd~ z^EtE)%D(a*>&_6D)`sh{0Y|nEr>3JViQbtzA(OiRWFf*azmjGXQ*{LKTpBdJynpUK zHeh~f!PxOKd&};o!clcM;_@Bz5aia54-5!E8HC3Q$g?**gcJk)H{H)zynmh*Gb0evQKN?QBE2WC5xtMEfqVo4cz=`j`+lGe5T`vn$r)Owj_(xEr3ta0et24{ z;-f&WZ4o#S3TrywfgZo_{SEByJ!35o(dB>LgvmC#*2GH%aWTW$S>Z3 zogIMt@^oPGVaS6A`k*uavCTa7y$sZs8%ZKcn9LHfVThIX&a005b0?;iokMpvr8OOe zK+GvT0tNm;V2w=Y!u{CXGvt3=oH^&XFAv^Dm$r)z_}8p4uM>KHqXb~D^>ni zJ$Mr2W{X8h$FM^4P*;iN>~Sespam|AgXv8JoipQWAU48qo<9MxvHr^s#$8Mu->qvF zUavB?cV$VF*g@_D--FdFxK;Q?HUW@qEu0tm{&Rm(@h4{B#J}10h4a;m+}p5}hM<+* z-*Bgfi5L;=4Op}f6M;Zd;{nEA)<^$}7LUhON4P;|{5exQTX#U4{K6Du!e+?m!nGhg zU~+(chCG-5i^lCO1)lVth0_R|rR(*k36=NPLN1Da-_GxUp}q%f=SrJ93>kD9Go=+K z41v^q=Wftnh%E!e%7Op9(8DDH$(;b<7vvWDFG%r-13Qd&=B|T0spM(b3p0%iZ2+;5 z^hlm;c^{-ju995U0Qj1aV!KD{A0oD(XWV-mp62pCPKPq*Pp`LfE&HxrHrjG}ke5i5 zx-R&WIra6SJb~R;opgaBfKPn~Zqvov0=8b?6@Q>RW;f*6L8^(_ZGoY_bk`PDD=?e| ze4dngBOwAdi8WTdy|}PZ!fPPMtLFH@pN!-5^^h+ATke0n`~L_iPCgjTRqvH&3M1y& zh3eqNTyAqHC8!}-Lvt?J1Y62z1d)5r$gsu_ybpi`By%iKm&K7&(ez;;8F9p%y?p{~ z>xy10D_|5wY=hM>rVdMAKdS4mR2z!F2$KW}#mtS}rJ*GAjdE4RitVZnja+izTvHI$ zRc(|$VQfy$z{TwPt_L?#;^PSV!08S6RpK987FeI6;O9h|Wy!?OB-S6Rq|=bPn3 zYAOmx=BsynQBD*9=ZxM!R@YIE)`G`aWz2G&TJ|;BpFa}1YFDtMMf*hw^YOE)1K^+r zAE=wlx&XtCwi=cjrp6{t-W+R-LDh_%c`a$AWTJiyV{*sexfLAdiGhUyoyJO5?5F%m z$XR#Y6V^Oumz{s9~y4Fl8Nly_O`6|$zvN} zF|N9fOp(Usb5$+nT|~6g^l?E|2Qq9!w`r7%f4w8~eW~YG-bg2(sdHCW86wK3PM9!B zV6Wc^l}SQcZu~L;yJ+&$7~Jrofq%Or==Nb}LAtBAwp?yq3*CuSc|<$?hgtG!#cleM zYQi5eRbO@oA!qGN@=4IJ|I3P(+?;$yHjKCYG(!`Dh@DgEhd59BSl!Lt;wfobm||4h zGu$B;Wm@G-QT@xE&%W>S<#46qA9byF^{m`|@DEiQi~M-Zi_0;GC^qp{{=(MGxzdGk5?a#HSYx+j$-MM`6-e{i%d=^M>U z&R-Mj;Zo7Efkum}O^&O3)#M3>ZwcArQJdEAc6{1;2uSEe`lma>TG#iGpCR`Ow`&IT zZ(nWYi_ObDlj2t@<$mQ~yL2PHv`;y6YWuKBiBP>G-JQQbO~2wP%$EPBVb8K#75j{r zrC`&X>n6TTs!MWc{Y8^u9zEKgyT60YW~7z^dKIRB*qJrPJRzImy^ryxc)3gVy5cb5XubsKlLFfSo?al#4iQEw!jcqkJGlVXm0{i;pzg9Yl9N*)UI% z+hg--{2+i$@@%98Lmnz>$+nMwthrL9qERR3?L4UF~J|ACOuW-Kf zN-uuJtEHj>q40;m{_k?1lodUgZl@tEv@<)unbfsCBQDhE2wZGC>2pMD){f6{8H11S z{zQJJYclEO;|;G?(e@)3sCPFIE|o}yY9frvO8qQ__f<^PLdgH1z`yAj%- zB{$^8`O5pUr0 z-twg0F-*wm!z%lecYJ8&(@DxMO>v_Il-l5a&-%HOELS8|=P~Jt{pz4>^Pq%v_n6wV z&+-lR9{)1yyt|8{XsN&t61hg9<>W$(74@E}>2}%f;@970)+Jdkluc4BZ%HWgSH9~P zD4*Roz%^yA8EE{ATH=g9Mr|0@gZ}3IA%L>E!))z|;$`I&-RD1WUz~)@O(~>dMQipb zmkX8HF&VWjrFH>yY4I1|2z{=UDy!fAZCg3oSuYYp4ma*GB_YG+Q1}D10Dt1~tv}e3 zx%h$IQM8$|tf*$yF7~EH1f!%>77*hQU`CgA`{7WX#;kT!k|VZH;eqKC-06wT*o3qe zlGPeinyTA-Q6v~)QoqM(xBocd883X+Tq@xUNO&Y^b!2PWT!UHj>jY}+i}wD5#*)wY z9*b{(e>7D2bh%MsyFxR4;b58J+FJ$YIlV7zz<~%jC!akSjaXHhtE184F7?;y=i82V zR2Y2F$B|ry#pQDE#v(}hT!~hR zZDP8kcpK`ZpAB?3!x{6}FIEk6YW=$75`2?O##{=_h{wz9R}v#q4{Mq9a1+K79-W-Z zk%*d7wV4+&wF$Fm77R?eXMa;(o%u8+(D3_i`VI!a9`65hH)7X&o27ni2QIkZIs)3I zWH}UE-4}b!>##n4or7b1+Ubc)%rb`IPZW zm+iz6!|=zsTnRT3min{J3$@v@4v2{qxo)@nKfLqPvtxYyY2pF>?a+AOEF2ZTka^Sr&9v`VPY)mbWV#WKfF zS$^)Q2rZXA!dhTp)UD2KwGMm;iXq=uzNPCv_u$hfuVq$~sn!X= zb@E#7vD6(;TJIdIoABIqC?Y&%4QAOt4b0T(I)Q3)LfNDq7$xWB(>=`6I33YaC#3r4 zOHjgv3m;r6>W5hJ-#qZhqUOI2X!c{lj4LpR=A|4+q z6UsP-q~6U96)@E*yc10OMz=v^J4iWL<`UYB&vm_y@skCSWRc+yaS~r7A=S`P&E}Gt zD(t7p*`*Q{%fZI0X9b%PX4Y4(Te-G9KX6%f){b1r7ki;ED79x>7 z21>@V<5u$1O{F__nRNcxNBDyyD*IJq2(gOti`w0x4n_&>#^GMSS8Pri z_=R1W-1n}-5=kxE*L#BT`6+Wu@g9agQ?p>gQ*=?R=E$Gy@*?A>B0s8@Y%JM1MT_E; z)#tg4o6#)-uUm-O;S{U>i+n+pE`k);deya6RRCyPUqLk9WFRZ|x9>QGkyQ5aTCUY60FM5K*4fF>W2-wBQC-w5hFauFQlu z9sbjulhslb%XBH%>dyWRQqz0-GP=Sb;B9{z(H!C=Gp2?Ab@|egQW4wMO;7Yo%CEW# z9K5Bw1>SA?ESmNBE&Kei`5GtrY14oV{gB1!K(-{r(@{__f(uEeu1L8O)gRyGHkO-}m#} zzh19i{SoJLu5+F1Y}fmo%O$}|&P#YFR<+JCfffQP-Hut7a;pm=9POZ?{B*(bUFWqD z2rq@XcKEYgD&eyP52(02`E1F*0)9we(e=*{wSW2750PU3d`&33KyZ_)@z~;cc@jX= za=dXHant@M_mzSvI~+wG_(SKMtlJ+t!!7@&WBO*s1ffyBZjhQj_TkpB71gtDKgWr4 z6btlhKAF+5(FSX1P+M-(X~;)|d;1decYhYeTeI^oTS$erH{R$R(^|=!z^f0A(BhfM z8$|MfH@jT2yLFg&F`j&Ut$%wtJ%(Ns?o+3}o8ygy-S-wLkOg@CaMNZ#6a)USab8pK zDysG`oo;4eiu&IiZUVKrcs_bg9KGH=ZL|xg&7sdRHL^spXO2+=- zdey2w{()8TcrTi|9IqZ@5yf##kNJY0s1&^M%M>m22DPUV7uqlj3DcO3=SgkIP+P`b zNSq({6JT@A5y@|)f|i@(UcJAn?tEf=M45O5N$XbdqW!}>H=4$ z#skj|d(Qh=D*R=g`vFO;34$>XJWk+db_{DC+El=@iiXL5>PQ_jDK4z*Ejo)MYlj8K zR2KH>^$Fl3H z4_?$6v7?0!iWAeTB4VnG!QMaH4i2|Xb&k9hiN_pOM|2_PLntWP0MP&LJcG)>hvwFV zy$&YYRQ)YOYmWA#^w$DmbFVwXKP*R#&fFM;jWIm+Vg}b1#dp?@l}IsQ`L*m(#S4F+ zW~9z=3yfhzLNSVgBK7uq%LVJzhPxi;hrM_FMTpF50=vFu47-$%%*5;}Igr5<;M^jH zzx~5M{VbyH{(@Mu3fP>O`GCNN`lCCgVko#+TJ0-b9AGskmSM>92Hq8_Q?dnl_ z!x`jKL(a!~aC~X(KWXa%;>S;M|)z2dCF^29xC z+74$^F0y=D-uWH6{JUd`3Gf0p@=v(egZl|o#QKb0&xZkM(}8H0h=}yKx3ob;r zJ;JVeqB4WYt&t*cF-Pk$V@f*1`Q%DNuE$ThmCpN8C$S~Oy^UuhNr`jL90sR-jx6tE zeip-z1mEBOw5s2lV^W~q)wgzsMqe(g-Z48qCd!wC{afC%@+Z6b*YBN+xqRmi?ToiY z55ry6lxXi!9kQE4M4&b-p~zmC-%@DT^ZZenTDD{^>dx`7yjw0X$8KGpHQ%192r3KF zC(Lc0?)-kghe4EJGtN9B$hO;}@>o20&jO{Ee>kV1f&yB2_X(G(?*5oI~ZLJd>hXP3 zhP?$_?2Tc5+i9_y@11I$$3Lz1yC*V~s8o6&=53Yc@SWtHEwvVya9noQ>?~cwKk)#! zuWXD7?MrEX56!L4j2=u+p}pEwnBUzgw4>u5yM1)*n7qsb-F6wN+jm=v20&Vl53nsJB^L2xbL`3yuQ9`z#A4P~>JZ{#XW`6k_w1x>}_%cG5kJd0MT-uZa95$Cy!_-pV2J%#>J zG9j|9`Nh5~`$H9nN$eBrb~?SD*elc1#jzk(F_Z{;UA{kZ_&i`Y!{t^h@Akh`0*L2v zZ5SxQ^IY!g9Nr`Ufl^Z-+L}fw3Zm5XeNr&Fod25fVA*1StP;vsj@i2zpPF}2SlK#$c5LI(CN6HN zBW=!CoW3Q+m7t?Hle=1;xx4#thTZ#_KWg6{?6C~a>tjD|kF^;we`{}%jR8AEqNf^l z>7J@*V8tkr6|a$}Q5@pK{zjuz=vwJ)cwFgv_~J4q?Vw%YY~PGc!$+|ouR#J<&0JbC z0n>JAYk956Wmo^1iqDluwpCaBD@m8^X}7bAO?c3jbB1~v!9C?wP}P#u_C~??2C$Sl z@3}R{l$diQ4?Wm4*_JbyBve@A8=3wKu zX1_#8!^Wq@R-sm%nH(?u{9ubt%V~}`=jH1<-~Z7`s;R2YIw}IS$0fRZiKP$lGnUHP z1tnW3eYWD$gHOL#^iFL1`eLVEbTQ_^KdAe~1b$o|Y~)j2Pr%fB>C-}^%p=fve=!i@5Y$!k?4IMa~;5qYZgInG~kxmjpmcpMnZ zf(%+efz7#feRoy#vO+~mXFXS2Truj*uu&av2r5DI+luARrasmMpoyz3++yM11MR$; z%>bsT4jN>t{VTG~VkWs4wYLIh?@+h5@g-dKHg)mjRUJ7LuYTloWK`RY znbclX53AJfZ-;#u+@*mJJAn_eK3^$B&(YL`ah}(4(cD&>9zjK(s9ktv2fVW1LNC@L z%gbal+dNtdaqi|0{ZPJ~#PAWvStHK%d!rVpIUycL#K#t|EHA6gyb4SO{@&oOwT$-9AHCly@bqj=b9qJ3W?W^Q&SB;Qa-cY@K`^qlaGDs za#k&ChNXApLFMm!61^9C1u};@BtjCZhFLVM=&w5>u-D}>nOV&EI}GaHVZs$?m|~+; z27fp~yYZ157e#+947CR!O>)WTMiy1`@bI}*N-ZTTFo^WlZ zaMj2aNb|>g_St_-0<*JM+pU_zD^;?^xD8_BA(bKn1{8u=HGQwrr*_)TS2W*5k82u?~^G~q{z)> z8soQZT5?eyklt|*^r$37!B=|*!(eQ(#aXp~M-ksOMYQk#e7PfnY4%Ptgjoe`R|;NP zT5LUhqZl+ipkp3nk|Hbw(-Yt#cN2^wfj{!u#Wbx4tP6zFw`4S>OQbX&41ex=vkcpA zxHo)~dX1sU5YJ)eF-5f*F`kwfm^+T$<{vIQy{Zd&8CZt;K{b?w1le3>}7~6Jw3b zLx8=lS3;V&+dRWY#$a}WwQH}O+j;COE(euq*76fL3E}aiC{m1tczO@q&MBe$L?}Vq z8cNaset>ykKo?tGe4u6=xBB?~%~e(Cn&vabYYa*M1VOSD897W~3%=y$#K-Bm2c}-G z+ee*T+N|wmaNM6(@j$NEYbm*bx3YA>MBYj?oQkkI*VJ^&F&|-<)%|Uq%|s z09!0Tle#}W5RSPpzCLJsqB5!n)yL8wLa_vgsXHIAo!C8%eQ?UlZTaPyvV|JX8P`FN z?`hqKd3C7QsNzmk(%AyHD`a@8BVZmJB$w0l96xZ3Jos>PJYm8#B^qW72&SXDMxLZ{ zjbXx&(_}Ei3#Hh!8*hj4MV|(6z`n70oykla%z5AgPVGogn7C zwsMcM^mIwjs~spMidH|wCjiG?qv}x4=FoEkoh=SqzcXI87VrNAcGXZDUm*%q#w<)_ zqZlq-=63lvGu-bDx+TYCP=&3;k_0Zo{(@6%#xEv6xSau`pc7Nw4~#U-46VlCYcB_7 z!duRpgqYUr<+JidZzk-1BVn#&$?eNl_de`ck4%vjkouX7vHFwKn#`NZ*{#3vlfBr~ z7c_tR>AfaQWA#$09VvsW_y437$=WfabBP106gjL7*1h;pKsRpuF)QVhy9V01YV0*NnijOwbpxA*ZLlV= z&(hEJV3KtXj>a zVd?0e$`(>qU>-d&i;fF)w>bXxCKgu6dx{UxFXUyKDrv%=TI?l|!ZlOreW-&%fwKMe z2;`?6lhz57dSmAG8|w611v`$eRyyU($J35F+wr&N{wMiWpE&85V4`jwVvs+EW8Jja zBgJhI4n%_ko7$cmcn#lA?(TAU2Nwx6#OjA{J-*sNXF}Vpyj{&@C2$ZNRI&h3Tq?y* zJkleZB0hPB-SBP@_+xIx^wCE>{vV|8osYsYvkg>IRcBj*yYOH<_DT4A9&q4ZVf z`WJiww`Utx%@ScLMgF1Y5u_NBNgHYSh~?kxeJ#v-@N>IQ%$bJZe3mv;kKbzY7yX`g z?Qrij7Dy%6yvt&|h?F%2w{u81eB%)?1Ob3|DPY6S!*g4pRaxx(YH{XgdAd_3kn6tD|Z62c|h z_gXId9e|a146;_I-9e(nakw`O%PJ7b?ziv1U&x*DwQ0#Q;jk+^$s;?{#mhRnyL`-k z;AIYMx}ZII)T^dyR^t*Mx|;WkNkOmi&7fhDNZ8(d zIb0$RBT2YJa4sOSnI|2N{*Dni)G;npR*lAL_zaDLluA8BlXe9YE3HF@lTYXPWz&v= z9C+YM_k&wVU~MW+6)KVrkr8xpQ=K{I0h=E&_~WZZEPIh!c87@F>{xOUU#Pq!E)Q2M zNpL547LeEOI!%G&-Zk=SuOV(8nelyug zFwfWUefYsiz~Q&`UU-GOnf2SdxjV9(q&8&EE|@ zaMUEL1On{A07#W?@=)}%TQe}Oc_nC;N6SoA`=0lBw9aOyH!w9fFj$QO`#ke)!l6Q4 zHu1MQ${$z}v527+TH}+aS^-N@pvs{#-?_L;Rm_o&RnND}56S62L=Y` zD{2fNqZlKsr$Y=~Ik4NbURDP3l*eACK~O03q2mu3bkFeBS31=&E7spI+mr6XJEx~I z{B%*o&KI?n-=a{;SQNU2HFm^rx>pq=J-#|~aEQ|f-m+!FFjdvhSI5~s+YV_^usDC? ztfwWnVT%o7+(Eq0AJkx+Av#GymO_>LnY^xd=A4r*EQXKsTwbKVLQbfr`kcirOIGf$ zzeIJCL@b3AFf>l^6>snrXgpIUtPG!7efrc+QYPXId_r$McC3KqY@0#5 zZOG13t{5r1u)fDGkWU6)N&Lk4{gvk~PZPITdkhhSjF!!%;r!eUkMHMgi?@KAeSr#8 zW|}1GQ@6X+-^jxX72PDjku=J{ke(QByZ1H`u^V zj(A=9Ix8%8|Kf*$pAo5ywl4b`@t|(Qy*EPoMG4YoZg{umf$U3J#_@%`NwTPXb7cKo z+{De%w;Hs_@qh|{Wc1Qn^XB-M2+TsynY(m<2=&ouuE)yk(n!$H*yfZ66U=&#HC>G7cpTPYw@=QRJxHPFuOL zET_Gv=ygA9LbR?YX8FA`WtgazNwAY4A1mdHD3ccFMe6{E@h6#T3^4DGYbZ394xTdb zOEL|ztgDiUmJIc}lhA!&<&zJ_ynp;oJQx+C@BlUSOC=!Slgly5jy@|MtVfXS zbzL1ivX~qfdE)mV<6GCQ%!fYK9_Gc;RQ+ntfB}tL+j74|``%zN^5@(|MVACJPQLx6KenpP4penu-w1JUllq0he-p23wCE&F*jL?<{O(yYht# z!ds+O<(MBUzaO(cYz8%yNd{ds-0OP3|2_d_<~HlLJV1GMq%EAypp56+_ctm0x^WWA z!B^B%U#9rJHYqqeHOy~l-hxd?C|i2E9tp~?mRXU^*VSfJkp`8U+nAtxLX&YXlg{@~ zXS@zdnZ(%fy&6mOefYXZ6IT8xV{uH_>&Jnm%fKMUzWbM*W1j_(`8G0EW0Mz;Kl+(g zRM*B6GWBHflbl$#x{0b~kWv0<0n^6n@k#JVgMdIR#WY_OB0qTLVQ`Qz`u(1%KE_=D zvh-ZrV9Z?#ES5(hmujYemk?b7%u#ma#I0~{l4|fOj9G_EGwDxbUTV-&Y4|=B@(XBB-R@$3_{2C?|GxOH0kVB+eW5%EIWVKE9frDl34TLFq-_yr zKcV%$j@|Z_T6xKawqsXKgY<6HsS=ae0em-V;^ex3rZfq%dT7T-7B|$32Q?b(b@l9j zPiQbBarHy22fJ@%9I&qckiIc)*1!7+f*4@C^g6%R@aaY%YH3+4I$0hl?UX3Qv;Az1 zMYLluPylPY<;0J$-{_#x-Y+&=%Hm}AkIY$#gTCl3TdnGx_01_}2(zqc_GI?yqhrfP?D3;Q19JbaDL&&F6|eCtbQB1Po8X zLkjp41uTWWKSSkXHoP)W$<6K5r zZb3n&L@`@0t|Dw1< zaIk@SX{B)s%dh@0xLc!PD`N~Q>JSZq-G6P;>JhFJV!q@jYX_`bYTHwk>v6-f9GJGT zMA0M5x`dJGWMZX(YU|sekC`46M&Go=9^atgWV&huED!Je(d)JDx0MXcW!sHKfQpu5 zzCIo}H(x)4K{f${mw(O;?G`RsX;o?C&JH85c!y3AtU{j>me+ag!j}SltO6znMO#ES zUTaQ0wTMG0EOTC2xOkSFxUH9efO1)(5!SUkBQasmu-AGVL5KN-9u`l96qiUlT?p;^ zB9$Tjm8%(AbckZ1-4NI;a}dis%+q^r<=Q{in=^MkQb#ghr_J(3v8=x`k~XT8A0qQS zXzP^07f`v@U=SZYqUeX;wZ;4-tE7cSPEpVMtNjXzw};jvz}bij`e>^4QG_MB;&@BN zl?2Ouj+w>0+ga%Re$0B27_;rzU#IEEtub85p2U&k3inOk2MCeN;(* z@*III6%R_+UtQTH(K@;;sKC+xZR6xygjC>`03#DQ+NF{~;&eOkQ%Qyd`6%7okHI2K zrE?RSnjI3lUr&WJWA$?agUgJcexg?+WiLWguXkVh$aAUy(R(cmMfn+GzGYq9zT)9p zae)*!$uitdqX@Q8z`7vwVj$3$S>5pREku?OmEl596MVp}(>hHp$dpYOvi> zpS+{BUHVj`TqEYu_}ogvdG&8cM+L?Qs6I6qZp=!K*dPtI((S)AYA+fjk*F=6?P^kI z&M?RqDNwiRW9O%q=Y(H2oDoh;>xHR_5bKv60_gtLcX{r&ZftPGO)ss#Ji+01C;0Gr zr3X1(0zALFRC=x_iBJVdO0q^Kuse1}?x7xc6Ap_V1ZfU^E^&1wqG}|^R9%BxaQpa` zuD*x5_g8zSntf_4Vw2v+18^+!M=`0?7^v$?tKRrCiq0X>L4lE`%1vZ3tv75jWOQ2w z7lvqq3f0fz?cKnp;_7n??Y7@4_ySfPYMOSV6KfO#*gRfdoL((?$6*&Zl{!0;to~S>Ah&QP3+6c@ zv%*YV(0DtI?--PsWb&en@ZXHM5+_}LO0m9Hv0zHwzc}xKuH0hJ>Z-5k2&B{N9;D7B z^0!q0)92)aq_P*DeG3bf6t%o{5i27Qa6<$iN@AeN!M#FNQS8;J+1U`Th7E(Jw`8~X)5S-r56+Nk2;nRH`8lv$av)PS9|EVo2#iyhV7L&#Y zLoCk>FFkdrRY%=FfkvrqSk6$Xo-4ESat1b*fhjN@j7jm#)4aF&6NT+D_>!B%5gV%NAaYDkqx~bFBn=|WQpI%{|$c%fjVU@+& z@G0p)B=xO7heD=2Uch3Evc2O1SxLk+N`rDuvqeD2cFGF(LZMRv=p zSu6=BW^d1c1>w{^PPRN;2Yf9~GkL|n>n1bal|(f^TP*v!r{I6l>jjhmc3zjE2+ zL?T$p%9>0nWWGFbD_GZS);cb8b}wwKP{wWCZT1qClf+Z#&Rz^|e{-Bp*wa=sM)(`e zx-?beG{4b-#jBFn6el7eg_yK_gG&rnv9%-Je3{bY6Ih|S{M%xF2*Nl(pN@@JAZQdTCmp@ zaPyz*D&81r%UYAbSa*#gk|34dmFw~Jzo|R}7VH&eg>g0u%ov?_>f@_x-)?m)%8^Ku zFF2(hK*+ukSckyo#67BMtsY_4;GM9u*(>xBUh7O@>UiO=0oLXpmBk{5MRzWBwa=dt)=IEEqE%rTz==m#= zQFMdwb|KNa{`&RuUW!H3EmhX7mewj)&ScDp8ERvas|*t{o#p+PZdc#rhmjD&7z{c} zWqk$Wq8BLW+?$34L33U|0*fzs&o0XxzaR`NdtLg>{GGg6@a=Qz0o3-6F9qB>MHR{N zm*0#*JcpH6Uf`uL&4@2lR1HI&HIy5|G{N+>i#Mbo-WLWlBqo-RTu>@>JQI3e#RJ)j z^~jbvm96gThT$9A{t&Bqm+z49`L;e#j5k>E4yUMHh+ac8HudhCc0$Qpwyj-g3UV~h z`*hxR4EluJx1VghDtc)1Tv^<))(T{MBEv%uszIP;mW7+7KBqlx3M@vR@4HguDL z&)VR|U_t|YZi}mAtPXFTIj3H;I(XdoA8*H&hjWMfnxpj+x~8D9arR2p^%nN%{#nZG zH|Y18vQ@G^24Ts^k~l5qDCoL2uE$4*z=_GZ6xallrP)HQ;^wsS_|ci&A^h)UdQU=N zfx+-j=a{U<(N+AUgm5J^<3|q0`sGDKaWX$G--ULCI`R$!8>at!Dma3 zzCgkgMP;D)@$J;QrkBmjk?3GttKPN&{o})Ta|+nLavi5UlvoZ+llk0N^3M`~u2jSC zS5LJ*QH2ClZGj%(a;_{#`u{9B4ioxyg-Gq$ zR91uAa4Ig3cUz^pZ6St{LO-85C~RTb5TbG;$`jfiMdzo=NK!RPF@^3pyB}vPd5`pF zmIS^!+#A|IBoMZ~p);XwG+%#fngylBL+HQ*q$;77(!C{9!>1>=E~DPZsdlZd@ngL~Txz*isuj;XMx&DCLQu3T}P<2C+4piZ^) zUG(K^QogKf?nWyznDcu)y!`<@8vbPY)vtVy9&RzcXDvn12Ej|eW_S^gzpXH)JXX9beg1JVRrq^CTyvLubE^C6 z`ApWS9F!I_(pTYsc0FuDdG!lxVmiYobL*MRSgQJQ@wh3dBk&PZQ1puK+h!;ybK1Rs z`Yrz1-0nU|)^>DK{~Di3>W5tXSpwb{9sHNg%-ROG)6y42@%(UR*Q+#PE4H7g;kyMB zBNRI}CnRjYP?UzoREhb+^>ZWX2dR+LDOgl#*H!%w`eDz<;=8Z_^`*A;Eu z`k|rK@J-Ic6%Tqw)|a>k8m-5+_x5(7y=E0(tf3dSv?&|%HQsvo@7t+&dl~0gZ#TA# zViHYe0K;8`NnNw;UD(d{Eye9uMPpqs8)1AG1aWu&IWVdOU^OSMtct6oFG8#ik;nW? z)R=WP zjizCo?Z|yKKcW@5eEzXIf3C`r$6QxKef7Ho0RN#-(aqgA8rj|CDnC?U)eXv8zl^`^Yxe%^I_tnRpu=y z_JJ2*J^TqzP`A`@g)JLc^zXpqX6Q`R*V?z1`yfvV+WTKtPvs)!nqg|k39#k}1}x;; zMuW*ykL;TRuGGo1bYY5IXa&@eoY=&G2za%uW^-~yu2PoO-!O$8gK@#=I*Q+R1~!^! z>*GarjqZgPW6*}tsjYF;Jzm&d+hdnn=P;)mI_9&z1by-2OT{@|acRIOe0w;2?QSG} z7nSQ0JBKLTxr#pq74~d6C43Ks2h*{9*c0>k@ZWO$Ed^ncB1)Ub5VF6PppG|8(CH{K zCuZ}xLj4>2C*(?rE}a`Pj8QDasDl^s0VgYFEk5})zyfs%vh8v;#4C6l`$)ZvS1^~@-podA=9szhB1X@u$pQQfg|g1x#{XGJGr0g zezKsbZq~3cVmS2Fy6ndW4r2mE?~8lsNHAeo!D3B;{(Y{Et>n`G{xn^@2VRJr7=Laa+GUfDpcA*L-t7CV`+W_l2uN z{_rnOs}-54S>1#ujjpFiHX#orL>wZgFzsC1Zyi%)>}=|l_c0IbgrYg@P*m7!DB`J> zN!llIb7*ecdUgBgEbLgqh?`dZ`!9T+fe2W2A9>z;t2F6(pVSp~`(iR*(#jpC@8t00 z1_Pu>)(C@QjE1La&C5C%cz+ShfIY{Wy3lj!jXh$eOJnKnOG*~4$WPP^gb=f96 z+VpTf^7GaCS$a5DGw5?`$GbuA*R?MVBE3_nC4{&UY(& zj;`qE(2JMr$Mw*@%SR6S zq+-f zJ6TkP{Zc)XR(=1KNyxeUG~dOG@<|>fkscDTyaxD$j7HoAZfpXLqFPz9%d8cwVo>))B z`~JNbUJ7c%@ZfaCw2rkW+aoeF;;DsZci*+Faep6i%tV~bp4!_vAzJ$&V?y^#J;t2(T ze-yEZ=&47xC66X)$ig>Eh-di>PwA;N7GG6rwIkg)rqDXa7m;)iTn>2jOqmxH(A-f^!A6BPBNJFiL;dXbf-1Yw~DRRs+PXE!_7= zPfYBY^*d6a`%xCrZ$z*+8+ecINK#>QcL-Ec{}zLWp224I+%h+!$c29!E~O`ctO-lTc`&@SV0taglUK<%WBPawQaHKM(R3L! zf;q_edlX|+Kh1o?LM~77-3$!A|M#yCtk38x6U)oXse0(28H1~{FOb?QD1*V?8I)x3 zH-K#!-u|M=4h#bp-+@&QY+N!5G&tNGBUC%aYVr9$RWG8XaDM}Uefp)SmMmW}Nekgj z92d*ZH({8o8s@7P*xB$kABESH5?dzm(}R!e_ViAEpjfe93%yNtI@Og^9Te=K(O@_U zbQ_L2Oy!SV`N;%3PziRRbk3Q+QZ<_>{hqhd6?3+KI*sV6Hu08qwu!-=P>eW9kKv(s zdd>!>uwYB;lY=YGo8HWN=1Lz0(qM?fR1HCv`NH+oK&?_@wd*h*l!73GIo&eUur9_x zEb8wUDPP6Sxm^wVMa|r*-SF(eha8WohYxw7#isvKT@rc326L2K-ES4W$OpHCRO(c= z#}kW*r3$VcXOB9~S_y4VkDNI%7mb0=JJiXxUrW>XT;JdTW#H`PiKpFkgA*xkVg@tiDmfQszTmpWDw=hJzjtT`L2+`}|sSb+Pwc;voSI2KyG4D{BXZ1$;Qafn&Rsn^=P^%YRIZm1cHrO9t>)iA07xR z(Q{F#9qD=`q(3}{eT2_i1?AlFn3eHJD(Z}#FPW^dev_5*fy}7-#X45Berbi&tYsui zUzi;mwo)cBdl>_lDEd=jUK1GIK5^`9h zCpb0^iiIBt{*UWqh5x=zUYd40ZTLmE)=eTBCXu$gV>EYrJ>lv+M=j5nSqZri2X&>n zC3NC>5uZfL3jIK-&&4sQkhX`-{nrkupQSPgW;K4Lm=*3aTcNJ6j8GFkw;BeO$O|(P zBrNfxjYeqARIZxA6YCoz3+G-Bi!LwAN8kpdruYiz+mwKXqx78lP_F>}vx%su&r?D^ zPoS&g510MGraIlTs;iJ-!(4pyl}~~T_>=4lc-G2FcaFb?UBgU!7FRmA*qRm?cY8jE zhV>IjF<<>)% zX13}>%-172Mrf@ct_BKLW=e*njpZ!q+gE z)JX=xUL2JoiyJ-15?24_xwandxi)R@J~HK9T-@@3EC^+O`l=F!a#hR-X4$vo6}9XU z9Rp>xIi(uegJO}f2!ghTvIfaCKg}djx_>R?l<_w8lV_`8=ln`TuSrY{ zbXVoRODOdoM$`%8#F3LB_jwzqFsDZqF&Dx6SKnehf&e5?SZW!duk=2)DW`6MEt6m> z`JLWfK3~OZg@}XUO_L9WZzn<{HCt4PJc07)r>y#DyYc!5VQAoXqk#i{E$U` zQ>3l`xZKS4Brh(sL!|O_WnO$`T~?7K+YvsPaM+yH>|B7T@VIubdt0f$R{t##Y92#0 zp+|<8)R{5LbDy6GV|EYWGqeX}0N^+GJw;Aq!qUmN1o0~>u(0@TH2UO3F$8ARYIq>f zEAFv|tMXEB=gRc256wYA1t7C3uIwz}@9UPiV1KqwDO_05J*YE^eFkp)uUlP*_y<3? z0L*2ml+u{n?4Jm!3Dy67Sk|Neem~08&DqU!fYN>V)}YU-C-xPUyC5_P!MHWb5Jc*p zul?dh_jmBcOYkuLkkk~T?#+elf|mkdNZR0F&?cEEjdT?mUn-F5<2J$UO#nA`_U9T5 zd!!I}nF|oD<%GKWs0`%I_r}pMUaubsuI#s6P>ZIhv*0O}|8pabJtcf?2jpY*A0VHz z|38pV6ae`o7}pgB!KV1UjN*dzg5NpfQ%C_y2d$!9nvCMm8V~ch8+|74_r$#%yT4T* zA~c0JEcg-^1I9HKRz2*WK`=vn@uCoXE(=KsMthF_T0Vk!P^Cc8FW_sVB!Vf@w?#LW zLb~ETVT`dwmRRUWk2}N-Dp?7wJm-EJ>?%hte{=yrKHr==#3El3 z!-zV1d13kulNKaNFXvs}|5Tdm?OMq|1fZB+hx|OQuAMkBy389-472b>oZ8 z{Y;PkGg;vA54%7DQWd3+aqJITD9dR`rSpHDbK~IPAJx5f)x3Bq60_X1Hbw5=Uht;7 z=L{F188kh5ZIVOO@_JY58^kaiZ;mnk=DF{(&l_0x_}^XRbMRW>%E)+P4Dpo$yJ!X8 z!QlD<6J6z2{Uv%9E`M>A)HVK2-2s}dZ=z}(WL$SWpNSQ@5eIJ%4Qa+{_x=DDTD`lg zKkm`%Oa8ET7byDF{Z34OO%2ztu-`4T*|r#OZVPxIK$D5(0JPK{LvHYi##3QW$(Vze zo1^huRb(PEE%^KCp{M@v+QS5N<zD4=D9mR|$2#Z1MHVsE&@WhHXTJ25%m-MI1ENLc8r6oXmP1STyJfiB zU24(IQs~vqCaH|2ZdNwt1_}gsFo0M-LTi3?3%{l1$)!b6y4r^q*K1J`XAXbpBz}H1 zaE(pBUtBl^uj**EZ5%T9FAQWl;=eJF1Z{wUOfXjJ>57#IN9CtBu{Ntgd#tq32Np|Y zMzw2#7v~s~`ETGP8&Q(Z-E@@>dKf#Rhj|{dz9Zs`)!!jU<7nDcE2^>%)t)+@^p}c+ z`7XeF4gj-tqjE7~0LIq)2gVj|2V4F4pd)$szff#RXN4=a*}a#-us^+*ACB_7-ZJ;J zK%3!aam$v}o`)IICB*0F)e3pxFHz6r#VGm<;)@#0=Mz&*^~)91ce8B>TiS!FL;r(Q zElgWG%|@K2Uue3zRUBqJ1j~j50{qrYvy9Wlm-4XxK>syf!HO0tp4tyg(hg|zK>le! z{la21@&I^sw)oI!Nr2Agd+(Z1ssDwtWy_<&P&s{@9DC63CG5e1rfNH%^ha3GKdxL) zH37I$gM85f4I9E9?R``L#&`TxqPN$gyDQcLpbS)-G?=5YMODdM6lYErLwA#YmHj&% z%p3dv4Sgg^3;)EQo-V;0v#+^j6EN~ls2qAAv``ioj*F2b*btBfZCAuINI)zG{FdCe zZsG(ea*ppZkfhuaH1har4{J;`@Lsd`43y2eu{p#-#tetYHCyJeIWLTSkiLCd3{rY$ zThsPYJKxNL(XA^l3pH^5IP_&)F|OJ&>`8tY9RRCkFBS4Osm(dJ$infVCB@r@ElM8i zJR=(bBRM*IzimJWZh3?NBYci06_AQ7ZUNdH3sS-x+vY8aWLpP^SujR8e^4Vy{nbfF zL6Z=(di{J9F70N*-@kZqM+>5^D+217*ajdNtxyzqe#tUYVATaLalj5dyfRZ@R4Zo_ zv-gI!`MCMADGs~=X6eM{-bYLM$RpR58Nd4%e|PrLukM$@>s0btBlk*c@-l-ZD!CHs|U7y@9qZw@wR#!IJh3%*CK` zsK`Gt*m_h$YA5bwiEPFgApR5(w~RnNGv{XV-aSHUUJkuiDkYbW_ht=aroho;VMS+H z_Zvv5B#ea?Ak3j`uI#BSn(Xop`DM$l=n5QHp)D2- z@Uhpe#Y1bcC~){~=Mpa#8zZ9kQfImX`Jt;{Izwji0PF8g<6t-)$pTLuYkoF9Xb13b zGI3_Ie{ATQCs}OO=y3c0ZFC)5qZ;}#|k0OaM4XQQqp-%gJ=M*xeMON?Z*(9xF&Lf!t zAi>bqp=wgkI8o;nEO+h^9Q-DBPl211Wz78pqwIDsE*WBq`VFzs7o;a7O+BhMwHe3T z?UL~x&_BqgFUT}d0@VN6O`x)fK&lCn#`21Pye>-q7gPV!O;B=t!g0z&ES%Y~qPh-- zZ3lF+J4DLHdQgKbME;+aiJPa*kpP)04-A+MR-?De2N)TwCe{WfK>9HllyJeT9oUa` zFK!Fo%)oSdY+2x%w`BrbG7c+E5zYHQM>I#&m&g7a0g=`cOMO8rr>*aW;?k@WcHNZh zzXj-@1@wi0GxDEHG_E!tv=>=Tx4=J%ydP2)d@#|N>{u~gxow7n;$$p+cZhE`>9*)M zZMH}<`(9^^G7i1TL;JhavY!>|RG=#{az-ZgB~pJ?*kk(u2=x)r8Ft$b=0q=(gqG8kf^!Yp<<6ou7xx@A2J zwSZe&;qVkW(DK7e{EwC&_9-F8%{vcB5;4SLNiv$iS-{KYy!-q_=*$JNn4!xZjlRhM z1nRq#yU2am^=<{eV%(J7##7b)#E9D$L(oZ!xp>F3gnc2*QUKD{CS?wg212DFnJWdHY0Rd$T_ zF8kKan{ip}{>d`t=F_Uk9mB|Mis)?DyidZ=4vdzAw|p`@)ne6MPqjy}I|O@Cy{s}j zE{A_~+XHxHBXFh4!c2qu3?%%&I`c64SVc)9geW5kS{-$UbJ%>Bpqg~MlHsDIYw3R; zO-L)g*Oqqe)mQER=xn?g)*T9fi_X^KyIB8MU!l2Q-LhT)zj0Bh64WkdfImIH zkIF)ZZu#Q*4~&+A{xbIHhAJ_T@~2pgNsYSY{;7eq^BySx2SZDun`rklg>cgVivHA)*h?A21dI`iziDtK(k zA4$6gYW%Avmvcamt<|~P9OsS^Aq7!zAnWsN3~UDSuUtOjH$+&9^LHokGE&-wZKXux z)N}u_L^kEOXHxXlVJX+^VIb~$VE?bC{M!Tnzoz`o_lma@4wsy8L)ej>a}P3kFJiha zS?(>*Q0;=X)6scwMy=}b(sd0fnFJfXnSy_IEOQu~OEG6&Ysp(wbN|VHhGqR*bGucl zk2CFB(Yc=4|JT;JN3)%#as1cX9Z_wzmr-X_lf%@pv^X6t?Uu%2+8))qMTlV&ox`A& zFjJS25V|PCK`%qrEoo3v*OnxpmB8kLCb`}?ImJG0Z@-|uO_g5 zHX0vhUoPQR29fMa8qMJM(xC{_+#!YB3*B|3_@lf|jjIRXA#D5Xw>$*V6sTeG5RMLy z3)y8ZDxcnOvRzbSuVG~e7aXLM1Xh9-(|_p9LiMWmJxc;BmkzkC zk>d9Ety%Mj*$vfzEm7O_oOJ07oX$bSx`e%I&5a=)zKv6XnF#1v*#wk=L`ty%IdEt7 ze)TrVXPi%3hc15_Y_e^rR^8#K8{`3}20QVZf2QwpXuG;{ZFRng>`7pg7jAsrZFUg0 z8$sxMGO-4V@?n6+!^!^vG;Vi&7@*M#I}|24AnyDCP=FuC^dFOt$$djNECH<&o`mal z;v`H0QTdHs&%d!orFEyhk*^H0mX5nmQ7NL+=gzZ3*wgt?Z#inHD+%$YfklD%^VqqV z6ur%S3*)e5r)s$V*$Z5f(23I^t{0aDrgFoZ^57|;i@SYC87}jdr&10~2(DzLt{zu* z9xE1vOjnJ_rE*^J&WMXS$+P)mXTiZc)#zZ*rreJAXg%z<<+o~3ZEGiUE2lhrujo67 zLrgWmb11B26RFR8b$-isIL**kf2oZ9KlDn!A3r=g##L!J0DW<_n}!B>E?WJh5N#4ct~n`g>{ zHpG3M-by;b;J|TwjL6AU`Bp&6Dhf}QNf#=568!`??%^p6CFH3<9|aVIABBA-v;|5+ zb<#&1W7ZU&u{pA^8Axtzl=;P;;<*cAA%E{h*V0Z{XQ*@r@nM86N4;r0-ff(`a*D`! z0Ji*Catu8X(GHl*Y(d#(i4L|s8s240O^=CA?aNt@_B&EvNIKWb9MQhgQ2?&(GUssU zTVzKfKp{koKcH=hQk$SRJv9CI@AL!4L6Y_5+oBr>lUq(CEL^87d>u_4WX1UAv+Cvb zs?#(a{R(IWw20r|hAjAOXpkW=mUk#OUA?IMI$XlW%=A-NwxHaH`&$u#X-U%Dq1T{l z_)B?V?!SI5wS6k93RKE8v`P%SMkdovgl+Hb%Xa+g7es3R98FfJ7TJdHX+i<-X+m@p zg0N@SwoWNgPt?H|6exk4F!B~}MHZ|*zE(v?UvRrQrlWkJbQ`$Qurbb4>B4s&U77BEsWR{1}WJPE%CAc4Hfd)~*(afKa-c2|M6z5AH% zX^+2y!C!b<4{3n37Yepc#O*`Q)n2zzzYDLBSkCnJ%=ne!&|7XKTjj1nI<5FMo!|3{pFJIGG!aqTy)+(>bv9sX1=M4^3 zVqO49E*FoiaV^>$O+vVk1S zE$MjPvh3$2JIKFFay%;Jzz<6dVDO*cX^O*f_$b1sjpm@cuWAqO6HPvzUUfE73R-LK z6K#12#NIUnFJIfyXV|T^S?RrXk8Ls+-?yE3Pr~f}>wLkuaOd;&e=n~#DX=R# z*SiCXR5g-Gz^l09yO2jHJle$u^X#`*Ip~kh_cQ!%*K6OLpu_*VAWzIK>-L5K{kT%S z8zSaQ#NFOd#cvksvCTV;va!yA40wR|8Q;%aJR|<`Us=HO(f|Me literal 0 HcmV?d00001