From 178d84a7e58342be143506b2efa3e49e9ac0d77e Mon Sep 17 00:00:00 2001
From: D-X-Y <280835372@qq.com>
Date: Thu, 14 Nov 2019 14:10:39 +1100
Subject: [PATCH] Clean unnecessary files
---
AA-NAS-Bench.md | 1 +
LICENSE.md | 21 -
README.md | 129 -
others/GDAS/LICENSE | 21 -
others/GDAS/README.md | 73 -
others/GDAS/configs/NAS-PTB-BASE.config | 27 -
others/GDAS/configs/NAS-WT2-BASE.config | 27 -
others/GDAS/configs/cos1800.config | 8 -
others/GDAS/configs/cos600.config | 8 -
others/GDAS/configs/nas-cifar-cos-cut.config | 14 -
.../GDAS/configs/nas-cifar-cos-cutB128.config | 14 -
.../GDAS/configs/nas-cifar-cos-cutB64.config | 14 -
.../GDAS/configs/nas-cifar-cos-cutB96.config | 14 -
.../GDAS/configs/nas-cifar-cos-cutW1.config | 14 -
.../GDAS/configs/nas-cifar-cos-cutW3.config | 14 -
.../GDAS/configs/nas-cifar-cos-cutW5.config | 14 -
.../GDAS/configs/nas-cifar-cos-nocut.config | 14 -
others/GDAS/configs/nas-imagenet-B128.config | 15 -
others/GDAS/configs/nas-imagenet-B256.config | 15 -
others/GDAS/configs/nas-imagenet.config | 15 -
others/GDAS/configs/pyramidC10.config | 10 -
others/GDAS/configs/pyramidC100.config | 10 -
others/GDAS/configs/resnet165.config | 10 -
others/GDAS/configs/resnet200.config | 10 -
others/GDAS/data/GDAS.pdf | Bin 464232 -> 0 bytes
others/GDAS/data/GDAS.png | Bin 526148 -> 0 bytes
others/GDAS/data/Get-PTB-WT2.sh | 49 -
others/GDAS/data/ImageNet-100.txt | 100 -
others/GDAS/data/README.md | 15 -
others/GDAS/data/classes.txt | 1000 -
others/GDAS/data/compress.py | 38 -
others/GDAS/data/data/penn/test.txt | 3761 --
others/GDAS/data/data/penn/train.txt | 42068 ----------------
others/GDAS/data/data/penn/valid.txt | 3370 --
others/GDAS/data/data/wikitext-2/test.txt | 4358 --
others/GDAS/data/data/wikitext-2/train.txt | 36718 --------------
others/GDAS/data/data/wikitext-2/valid.txt | 3760 --
others/GDAS/data/decompress.py | 94 -
others/GDAS/data/imagenet-results.png | Bin 142274 -> 0 bytes
others/GDAS/data/load_data_CUHK-PEDES.py | 15 -
.../logs/GDAS-F1-cifar10-cut-seed-6844.txt | 10831 ----
.../data/logs/GDAS-V1-imagenet-seed-3993.txt | 15895 ------
others/GDAS/data/ps_mem.py | 661 -
others/GDAS/data/show-queue.sh | 35 -
others/GDAS/data/split-imagenet.py | 37 -
others/GDAS/data/tiny-imagenet.py | 53 -
others/GDAS/exps-cnn/cvpr-vis.py | 97 -
others/GDAS/exps-cnn/evaluate.py | 53 -
others/GDAS/exps-cnn/train_base.py | 89 -
others/GDAS/exps-cnn/train_utils.py | 169 -
others/GDAS/exps-cnn/train_utils_imagenet.py | 192 -
others/GDAS/exps-cnn/vis-arch.py | 69 -
others/GDAS/exps-rnn/train_rnn_base.py | 76 -
others/GDAS/exps-rnn/train_rnn_utils.py | 221 -
others/GDAS/lib/datasets/LanguageDataset.py | 122 -
others/GDAS/lib/datasets/MetaBatchSampler.py | 65 -
others/GDAS/lib/datasets/TieredImageNet.py | 84 -
others/GDAS/lib/datasets/__init__.py | 7 -
.../datasets/get_dataset_with_transform.py | 77 -
others/GDAS/lib/datasets/test_NLP.py | 10 -
others/GDAS/lib/datasets/test_dataset.py | 33 -
others/GDAS/lib/nas/CifarNet.py | 89 -
others/GDAS/lib/nas/ImageNet.py | 104 -
others/GDAS/lib/nas/SE_Module.py | 27 -
others/GDAS/lib/nas/__init__.py | 10 -
others/GDAS/lib/nas/construct_utils.py | 152 -
others/GDAS/lib/nas/genotypes.py | 245 -
others/GDAS/lib/nas/head_utils.py | 19 -
others/GDAS/lib/nas/operations.py | 122 -
others/GDAS/lib/nas_rnn/__init__.py | 9 -
others/GDAS/lib/nas_rnn/basemodel.py | 181 -
others/GDAS/lib/nas_rnn/genotypes.py | 55 -
others/GDAS/lib/nas_rnn/model_search.py | 104 -
others/GDAS/lib/nas_rnn/utils.py | 66 -
others/GDAS/lib/scheduler/__init__.py | 5 -
others/GDAS/lib/scheduler/scheduler.py | 32 -
others/GDAS/lib/scheduler/utils.py | 42 -
others/GDAS/lib/utils/__init__.py | 16 -
others/GDAS/lib/utils/draw_pts.py | 41 -
others/GDAS/lib/utils/evaluation_utils.py | 16 -
others/GDAS/lib/utils/flop_benchmark.py | 116 -
others/GDAS/lib/utils/gpu_manager.py | 70 -
others/GDAS/lib/utils/model_utils.py | 35 -
others/GDAS/lib/utils/save_meta.py | 53 -
others/GDAS/lib/utils/utils.py | 140 -
others/GDAS/paddlepaddle/.gitignore | 3 -
others/GDAS/paddlepaddle/README.md | 119 -
.../GDAS/paddlepaddle/lib/models/__init__.py | 3 -
.../GDAS/paddlepaddle/lib/models/genotypes.py | 175 -
.../GDAS/paddlepaddle/lib/models/nas_net.py | 79 -
.../paddlepaddle/lib/models/operations.py | 91 -
others/GDAS/paddlepaddle/lib/models/resnet.py | 65 -
.../GDAS/paddlepaddle/lib/utils/__init__.py | 6 -
.../GDAS/paddlepaddle/lib/utils/data_utils.py | 64 -
others/GDAS/paddlepaddle/lib/utils/meter.py | 23 -
.../GDAS/paddlepaddle/lib/utils/time_utils.py | 46 -
.../GDAS/paddlepaddle/scripts/base-train.sh | 31 -
others/GDAS/paddlepaddle/scripts/train-nas.sh | 31 -
others/GDAS/paddlepaddle/train_cifar.py | 189 -
others/GDAS/scripts-cluster/README.md | 14 -
others/GDAS/scripts-cluster/job-script.sh | 36 -
others/GDAS/scripts-cluster/submit.sh | 52 -
others/GDAS/scripts-cnn/train-cifar.sh | 38 -
others/GDAS/scripts-cnn/train-imagenet.sh | 73 -
others/GDAS/scripts-rnn/train-PTB.sh | 25 -
others/GDAS/scripts-rnn/train-WT2.sh | 25 -
others/paddlepaddle/.gitignore | 3 -
others/paddlepaddle/README.md | 118 -
others/paddlepaddle/lib/models/__init__.py | 3 -
others/paddlepaddle/lib/models/genotypes.py | 175 -
others/paddlepaddle/lib/models/nas_net.py | 79 -
others/paddlepaddle/lib/models/operations.py | 91 -
others/paddlepaddle/lib/models/resnet.py | 65 -
others/paddlepaddle/lib/utils/__init__.py | 6 -
others/paddlepaddle/lib/utils/data_utils.py | 64 -
others/paddlepaddle/lib/utils/meter.py | 26 -
others/paddlepaddle/lib/utils/time_utils.py | 52 -
others/paddlepaddle/scripts/base-train.sh | 31 -
others/paddlepaddle/scripts/train-nas.sh | 31 -
others/paddlepaddle/train_cifar.py | 189 -
120 files changed, 1 insertion(+), 128603 deletions(-)
delete mode 100644 LICENSE.md
delete mode 100644 README.md
delete mode 100644 others/GDAS/LICENSE
delete mode 100644 others/GDAS/README.md
delete mode 100644 others/GDAS/configs/NAS-PTB-BASE.config
delete mode 100644 others/GDAS/configs/NAS-WT2-BASE.config
delete mode 100644 others/GDAS/configs/cos1800.config
delete mode 100644 others/GDAS/configs/cos600.config
delete mode 100644 others/GDAS/configs/nas-cifar-cos-cut.config
delete mode 100644 others/GDAS/configs/nas-cifar-cos-cutB128.config
delete mode 100644 others/GDAS/configs/nas-cifar-cos-cutB64.config
delete mode 100644 others/GDAS/configs/nas-cifar-cos-cutB96.config
delete mode 100644 others/GDAS/configs/nas-cifar-cos-cutW1.config
delete mode 100644 others/GDAS/configs/nas-cifar-cos-cutW3.config
delete mode 100644 others/GDAS/configs/nas-cifar-cos-cutW5.config
delete mode 100644 others/GDAS/configs/nas-cifar-cos-nocut.config
delete mode 100644 others/GDAS/configs/nas-imagenet-B128.config
delete mode 100644 others/GDAS/configs/nas-imagenet-B256.config
delete mode 100644 others/GDAS/configs/nas-imagenet.config
delete mode 100644 others/GDAS/configs/pyramidC10.config
delete mode 100644 others/GDAS/configs/pyramidC100.config
delete mode 100644 others/GDAS/configs/resnet165.config
delete mode 100644 others/GDAS/configs/resnet200.config
delete mode 100644 others/GDAS/data/GDAS.pdf
delete mode 100755 others/GDAS/data/GDAS.png
delete mode 100644 others/GDAS/data/Get-PTB-WT2.sh
delete mode 100644 others/GDAS/data/ImageNet-100.txt
delete mode 100644 others/GDAS/data/README.md
delete mode 100644 others/GDAS/data/classes.txt
delete mode 100644 others/GDAS/data/compress.py
delete mode 100644 others/GDAS/data/data/penn/test.txt
delete mode 100644 others/GDAS/data/data/penn/train.txt
delete mode 100644 others/GDAS/data/data/penn/valid.txt
delete mode 100644 others/GDAS/data/data/wikitext-2/test.txt
delete mode 100644 others/GDAS/data/data/wikitext-2/train.txt
delete mode 100644 others/GDAS/data/data/wikitext-2/valid.txt
delete mode 100644 others/GDAS/data/decompress.py
delete mode 100755 others/GDAS/data/imagenet-results.png
delete mode 100755 others/GDAS/data/load_data_CUHK-PEDES.py
delete mode 100644 others/GDAS/data/logs/GDAS-F1-cifar10-cut-seed-6844.txt
delete mode 100644 others/GDAS/data/logs/GDAS-V1-imagenet-seed-3993.txt
delete mode 100644 others/GDAS/data/ps_mem.py
delete mode 100644 others/GDAS/data/show-queue.sh
delete mode 100644 others/GDAS/data/split-imagenet.py
delete mode 100644 others/GDAS/data/tiny-imagenet.py
delete mode 100644 others/GDAS/exps-cnn/cvpr-vis.py
delete mode 100644 others/GDAS/exps-cnn/evaluate.py
delete mode 100644 others/GDAS/exps-cnn/train_base.py
delete mode 100644 others/GDAS/exps-cnn/train_utils.py
delete mode 100644 others/GDAS/exps-cnn/train_utils_imagenet.py
delete mode 100644 others/GDAS/exps-cnn/vis-arch.py
delete mode 100644 others/GDAS/exps-rnn/train_rnn_base.py
delete mode 100644 others/GDAS/exps-rnn/train_rnn_utils.py
delete mode 100644 others/GDAS/lib/datasets/LanguageDataset.py
delete mode 100644 others/GDAS/lib/datasets/MetaBatchSampler.py
delete mode 100644 others/GDAS/lib/datasets/TieredImageNet.py
delete mode 100644 others/GDAS/lib/datasets/__init__.py
delete mode 100644 others/GDAS/lib/datasets/get_dataset_with_transform.py
delete mode 100644 others/GDAS/lib/datasets/test_NLP.py
delete mode 100644 others/GDAS/lib/datasets/test_dataset.py
delete mode 100644 others/GDAS/lib/nas/CifarNet.py
delete mode 100644 others/GDAS/lib/nas/ImageNet.py
delete mode 100644 others/GDAS/lib/nas/SE_Module.py
delete mode 100644 others/GDAS/lib/nas/__init__.py
delete mode 100644 others/GDAS/lib/nas/construct_utils.py
delete mode 100644 others/GDAS/lib/nas/genotypes.py
delete mode 100644 others/GDAS/lib/nas/head_utils.py
delete mode 100644 others/GDAS/lib/nas/operations.py
delete mode 100644 others/GDAS/lib/nas_rnn/__init__.py
delete mode 100644 others/GDAS/lib/nas_rnn/basemodel.py
delete mode 100644 others/GDAS/lib/nas_rnn/genotypes.py
delete mode 100644 others/GDAS/lib/nas_rnn/model_search.py
delete mode 100644 others/GDAS/lib/nas_rnn/utils.py
delete mode 100644 others/GDAS/lib/scheduler/__init__.py
delete mode 100644 others/GDAS/lib/scheduler/scheduler.py
delete mode 100644 others/GDAS/lib/scheduler/utils.py
delete mode 100644 others/GDAS/lib/utils/__init__.py
delete mode 100644 others/GDAS/lib/utils/draw_pts.py
delete mode 100644 others/GDAS/lib/utils/evaluation_utils.py
delete mode 100644 others/GDAS/lib/utils/flop_benchmark.py
delete mode 100644 others/GDAS/lib/utils/gpu_manager.py
delete mode 100644 others/GDAS/lib/utils/model_utils.py
delete mode 100644 others/GDAS/lib/utils/save_meta.py
delete mode 100644 others/GDAS/lib/utils/utils.py
delete mode 100644 others/GDAS/paddlepaddle/.gitignore
delete mode 100644 others/GDAS/paddlepaddle/README.md
delete mode 100644 others/GDAS/paddlepaddle/lib/models/__init__.py
delete mode 100644 others/GDAS/paddlepaddle/lib/models/genotypes.py
delete mode 100644 others/GDAS/paddlepaddle/lib/models/nas_net.py
delete mode 100644 others/GDAS/paddlepaddle/lib/models/operations.py
delete mode 100644 others/GDAS/paddlepaddle/lib/models/resnet.py
delete mode 100644 others/GDAS/paddlepaddle/lib/utils/__init__.py
delete mode 100644 others/GDAS/paddlepaddle/lib/utils/data_utils.py
delete mode 100644 others/GDAS/paddlepaddle/lib/utils/meter.py
delete mode 100644 others/GDAS/paddlepaddle/lib/utils/time_utils.py
delete mode 100644 others/GDAS/paddlepaddle/scripts/base-train.sh
delete mode 100644 others/GDAS/paddlepaddle/scripts/train-nas.sh
delete mode 100644 others/GDAS/paddlepaddle/train_cifar.py
delete mode 100644 others/GDAS/scripts-cluster/README.md
delete mode 100644 others/GDAS/scripts-cluster/job-script.sh
delete mode 100644 others/GDAS/scripts-cluster/submit.sh
delete mode 100644 others/GDAS/scripts-cnn/train-cifar.sh
delete mode 100644 others/GDAS/scripts-cnn/train-imagenet.sh
delete mode 100644 others/GDAS/scripts-rnn/train-PTB.sh
delete mode 100644 others/GDAS/scripts-rnn/train-WT2.sh
delete mode 100644 others/paddlepaddle/.gitignore
delete mode 100644 others/paddlepaddle/README.md
delete mode 100644 others/paddlepaddle/lib/models/__init__.py
delete mode 100644 others/paddlepaddle/lib/models/genotypes.py
delete mode 100644 others/paddlepaddle/lib/models/nas_net.py
delete mode 100644 others/paddlepaddle/lib/models/operations.py
delete mode 100644 others/paddlepaddle/lib/models/resnet.py
delete mode 100644 others/paddlepaddle/lib/utils/__init__.py
delete mode 100644 others/paddlepaddle/lib/utils/data_utils.py
delete mode 100644 others/paddlepaddle/lib/utils/meter.py
delete mode 100644 others/paddlepaddle/lib/utils/time_utils.py
delete mode 100644 others/paddlepaddle/scripts/base-train.sh
delete mode 100644 others/paddlepaddle/scripts/train-nas.sh
delete mode 100644 others/paddlepaddle/train_cifar.py
diff --git a/AA-NAS-Bench.md b/AA-NAS-Bench.md
index 81a3689..d5811cb 100644
--- a/AA-NAS-Bench.md
+++ b/AA-NAS-Bench.md
@@ -15,6 +15,7 @@ Note: please use `PyTorch >= 1.1.0` and `Python >= 3.6.0`.
```
from aa_nas_api import AANASBenchAPI
api = AANASBenchAPI('$path_to_meta_aa_nas_bench_file')
+api = AANASBenchAPI('AA-NAS-Bench-v1_0.pth')
```
2. Show the number of architectures `len(api)` and each architecture `api[i]`:
diff --git a/LICENSE.md b/LICENSE.md
deleted file mode 100644
index 89b8259..0000000
--- a/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2019 Xuanyi Dong
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
deleted file mode 100644
index 23f739d..0000000
--- a/README.md
+++ /dev/null
@@ -1,129 +0,0 @@
-# Nueral Architecture Search (NAS)
-
-This project contains the following neural architecture search algorithms, implemented in [PyTorch](http://pytorch.org). More NAS resources can be found in [Awesome-NAS](https://github.com/D-X-Y/Awesome-NAS).
-
-- Network Pruning via Transformable Architecture Search, NeurIPS 2019
-- One-Shot Neural Architecture Search via Self-Evaluated Template Network, ICCV 2019
-- Searching for A Robust Neural Architecture in Four GPU Hours, CVPR 2019
-- several typical classification models, e.g., ResNet and DenseNet (see BASELINE.md)
-
-
-## Requirements and Preparation
-
-Please install `PyTorch>=1.0.1`, `Python>=3.6`, and `opencv`.
-
-The CIFAR and ImageNet should be downloaded and extracted into `$TORCH_HOME`.
-Some methods use knowledge distillation (KD), which require pre-trained models. Please download these models from [Google Driver](https://drive.google.com/open?id=1ANmiYEGX-IQZTfH8w0aSpj-Wypg-0DR-) (or train by yourself) and save into `.latent-data`.
-
-
-## [Network Pruning via Transformable Architecture Search](https://arxiv.org/abs/1905.09717)
-In this paper, we proposed a differentiable searching strategy for transformable architectures, i.e., searching for the depth and width of a deep neural network.
-You could see the highlight of our Transformable Architecture Search (TAS) at our [project page](https://xuanyidong.com/assets/projects/NeurIPS-2019-TAS.html).
-
-
-
-
-
-
-
-### Usage
-
-Use `bash ./scripts/prepare.sh` to prepare data splits for `CIFAR-10`, `CIFARR-100`, and `ILSVRC2012`.
-If you do not have `ILSVRC2012` data, pleasee comment L12 in `./scripts/prepare.sh`.
-
-Search the depth configuration of ResNet:
-```
-CUDA_VISIBLE_DEVICES=0,1 bash ./scripts-search/search-depth-gumbel.sh cifar10 ResNet110 CIFARX 0.57 -1
-```
-
-Search the width configuration of ResNet:
-```
-CUDA_VISIBLE_DEVICES=0,1 bash ./scripts-search/search-width-gumbel.sh cifar10 ResNet110 CIFARX 0.57 -1
-```
-
-Search for both depth and width configuration of ResNet:
-```
-CUDA_VISIBLE_DEVICES=0,1 bash ./scripts-search/search-cifar.sh cifar10 ResNet56 CIFARX 0.47 -1
-```
-
-args: `cifar10` indicates the dataset name, `ResNet56` indicates the basemodel name, `CIFARX` indicates the searching hyper-parameters, `0.47/0.57` indicates the expected FLOP ratio, `-1` indicates the random seed.
-
-
-## [One-Shot Neural Architecture Search via Self-Evaluated Template Network](https://arxiv.org/abs/1910.05733)
-
-
-
-Highlight: we equip one-shot NAS with an architecture sampler and train network weights using uniformly sampling.
-
-
-### Usage
-
-Please use the following scripts to train the searched SETN-searched CNN on CIFAR-10, CIFAR-100, and ImageNet.
-```
-CUDA_VISIBLE_DEVICES=0 bash ./scripts/nas-infer-train.sh cifar10 SETN 96 -1
-CUDA_VISIBLE_DEVICES=0 bash ./scripts/nas-infer-train.sh cifar100 SETN 96 -1
-CUDA_VISIBLE_DEVICES=0,1,2,3 bash ./scripts/nas-infer-train.sh imagenet-1k SETN 256 -1
-```
-
-The searching codes of SETN on a small search space:
-```
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-search/algos/SETN.sh cifar10 -1
-```
-
-
-## [Searching for A Robust Neural Architecture in Four GPU Hours](https://arxiv.org/abs/1910.04465)
-
-
-
-
-We proposed a Gradient-based searching algorithm using Differentiable Architecture Sampling (GDAS). GDAS is baseed on DARTS and improves it with Gumbel-softmax sampling.
-Experiments on CIFAR-10, CIFAR-100, ImageNet, PTB, and WT2 are reported.
-
-The old version is located at [`others/GDAS`](https://github.com/D-X-Y/NAS-Projects/tree/master/others/GDAS) and a paddlepaddle implementation is locate at [`others/paddlepaddle`](https://github.com/D-X-Y/NAS-Projects/tree/master/others/paddlepaddle).
-
-
-### Usage
-
-Please use the following scripts to train the searched GDAS-searched CNN on CIFAR-10, CIFAR-100, and ImageNet.
-```
-CUDA_VISIBLE_DEVICES=0 bash ./scripts/nas-infer-train.sh cifar10 GDAS_V1 96 -1
-CUDA_VISIBLE_DEVICES=0 bash ./scripts/nas-infer-train.sh cifar100 GDAS_V1 96 -1
-CUDA_VISIBLE_DEVICES=0,1,2,3 bash ./scripts/nas-infer-train.sh imagenet-1k GDAS_V1 256 -1
-```
-
-The GDAS searching codes on a small search space:
-```
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-search/algos/GDAS.sh cifar10 -1
-```
-
-The baseline searching codes are DARTS:
-```
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-search/algos/DARTS-V1.sh cifar10 -1
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-search/algos/DARTS-V2.sh cifar10 -1
-```
-
-
-# Citation
-
-If you find that this project helps your research, please consider citing some of the following papers:
-```
-@inproceedings{dong2019tas,
- title = {Network Pruning via Transformable Architecture Search},
- author = {Dong, Xuanyi and Yang, Yi},
- booktitle = {Neural Information Processing Systems (NeurIPS)},
- year = {2019}
-}
-@inproceedings{dong2019one,
- title = {One-Shot Neural Architecture Search via Self-Evaluated Template Network},
- author = {Dong, Xuanyi and Yang, Yi},
- booktitle = {Proceedings of the IEEE International Conference on Computer Vision (ICCV)},
- year = {2019}
-}
-@inproceedings{dong2019search,
- title = {Searching for A Robust Neural Architecture in Four GPU Hours},
- author = {Dong, Xuanyi and Yang, Yi},
- booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
- pages = {1761--1770},
- year = {2019}
-}
-```
diff --git a/others/GDAS/LICENSE b/others/GDAS/LICENSE
deleted file mode 100644
index 89b8259..0000000
--- a/others/GDAS/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2019 Xuanyi Dong
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/others/GDAS/README.md b/others/GDAS/README.md
deleted file mode 100644
index 3735db8..0000000
--- a/others/GDAS/README.md
+++ /dev/null
@@ -1,73 +0,0 @@
-## [Searching for A Robust Neural Architecture in Four GPU Hours](http://xuanyidong.com/publication/gradient-based-diff-sampler/)
-
-We propose A Gradient-based neural architecture search approach using Differentiable Architecture Sampler (GDAS).
-
-
-Figure-1. We utilize a DAG to represent the search space of a neural cell. Different operations (colored arrows) transform one node (square) to its intermediate features (little circles). Meanwhile, each node is the sum of the intermediate features transformed from the previous nodes. As indicated by the solid connections, the neural cell in the proposed GDAS is a sampled sub-graph of this DAG. Specifically, among the intermediate features between every two nodes, GDAS samples one feature in a differentiable way.
-
-### Requirements
-- PyTorch 1.0.1
-- Python 3.6
-- opencv
-```
-conda install pytorch torchvision cuda100 -c pytorch
-```
-
-### Usages
-
-Train the searched CNN on CIFAR
-```
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-cnn/train-cifar.sh GDAS_FG cifar10 cut
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-cnn/train-cifar.sh GDAS_F1 cifar10 cut
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-cnn/train-cifar.sh GDAS_V1 cifar100 cut
-```
-
-Train the searched CNN on ImageNet
-```
-CUDA_VISIBLE_DEVICES=0,1,2,3 bash ./scripts-cnn/train-imagenet.sh GDAS_F1 52 14 B128 -1
-CUDA_VISIBLE_DEVICES=0,1,2,3 bash ./scripts-cnn/train-imagenet.sh GDAS_V1 50 14 B256 -1
-```
-
-Evaluate a trained CNN model
-```
-CUDA_VISIBLE_DEVICES=0 python ./exps-cnn/evaluate.py --data_path $TORCH_HOME/cifar.python --checkpoint ${checkpoint-path}
-CUDA_VISIBLE_DEVICES=0 python ./exps-cnn/evaluate.py --data_path $TORCH_HOME/ILSVRC2012 --checkpoint ${checkpoint-path}
-CUDA_VISIBLE_DEVICES=0 python ./exps-cnn/evaluate.py --data_path $TORCH_HOME/ILSVRC2012 --checkpoint GDAS-V1-C50-N14-ImageNet.pth
-```
-
-Train the searched RNN
-```
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-rnn/train-PTB.sh DARTS_V1
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-rnn/train-PTB.sh DARTS_V2
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-rnn/train-PTB.sh GDAS
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-rnn/train-WT2.sh DARTS_V1
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-rnn/train-WT2.sh DARTS_V2
-CUDA_VISIBLE_DEVICES=0 bash ./scripts-rnn/train-WT2.sh GDAS
-```
-
-### Training Logs
-You can find some training logs in [`./data/logs/`](https://github.com/D-X-Y/NAS-Projects/tree/master/others/GDAS/data/logs).
-You can also find some pre-trained models in [Google Driver](https://drive.google.com/open?id=1Ofhc49xC1PLIX4O708gJZ1ugzz4td_RJ).
-
-
-### Experimental Results
-
-
-
-Figure-2. Top-1 and top-5 errors on ImageNet.
-
-### Correction
-
-The Gumbel-softmax tempurature during searching should decrease from 10 to 0.1.
-
-### Citation
-If you find that this project (GDAS) helps your research, please cite the paper:
-```
-@inproceedings{dong2019search,
- title={Searching for A Robust Neural Architecture in Four GPU Hours},
- author={Dong, Xuanyi and Yang, Yi},
- booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
- pages={1761--1770},
- year={2019}
-}
-```
diff --git a/others/GDAS/configs/NAS-PTB-BASE.config b/others/GDAS/configs/NAS-PTB-BASE.config
deleted file mode 100644
index 642fa92..0000000
--- a/others/GDAS/configs/NAS-PTB-BASE.config
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "data_name" : ["str", "PTB"],
- "data_path" : ["str", "./data/data/penn"],
- "emsize" : ["int", 850],
- "nhid" : ["int", 850],
- "nhidlast" : ["int", 850],
- "LR" : ["float", 20],
- "clip" : ["float", 0.25],
- "epochs" : ["int", 3000],
- "train_batch": ["int", 64],
- "eval_batch": ["int", 10],
- "test_batch": ["int", 1],
- "bptt" : ["int", 35],
-
- "dropout" : ["float", 0.75],
- "dropouth" : ["float", 0.25],
- "dropoutx" : ["float", 0.75],
- "dropouti" : ["float", 0.2],
- "dropoute" : ["float", 0.1],
-
- "nonmono" : ["int", 5],
- "alpha" : ["float", 0],
- "beta" : ["float", 1e-3],
- "wdecay" : ["float", 8e-7],
-
- "max_seq_len_delta" : ["int", 20]
-}
diff --git a/others/GDAS/configs/NAS-WT2-BASE.config b/others/GDAS/configs/NAS-WT2-BASE.config
deleted file mode 100644
index 85c8626..0000000
--- a/others/GDAS/configs/NAS-WT2-BASE.config
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "data_name" : ["str", "WT2"],
- "data_path" : ["str", "./data/data/wikitext-2"],
- "emsize" : ["int", 700],
- "nhid" : ["int", 700],
- "nhidlast" : ["int", 700],
- "LR" : ["float", 20],
- "clip" : ["float", 0.25],
- "epochs" : ["int", 3000],
- "train_batch": ["int", 64],
- "eval_batch": ["int", 10],
- "test_batch": ["int", 1],
- "bptt" : ["int", 35],
-
- "dropout" : ["float", 0.75],
- "dropouth" : ["float", 0.15],
- "dropoutx" : ["float", 0.75],
- "dropouti" : ["float", 0.2],
- "dropoute" : ["float", 0.1],
-
- "nonmono" : ["int", 5],
- "alpha" : ["float", 0],
- "beta" : ["float", 1e-3],
- "wdecay" : ["float", 5e-7],
-
- "max_seq_len_delta" : ["int", 20]
-}
diff --git a/others/GDAS/configs/cos1800.config b/others/GDAS/configs/cos1800.config
deleted file mode 100644
index 56e53b1..0000000
--- a/others/GDAS/configs/cos1800.config
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 128],
- "epochs" : ["int", 1800],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0001],
- "LR" : ["float", 0.2]
-}
diff --git a/others/GDAS/configs/cos600.config b/others/GDAS/configs/cos600.config
deleted file mode 100644
index 4bd4483..0000000
--- a/others/GDAS/configs/cos600.config
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 128],
- "epochs" : ["int", 600],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0005],
- "LR" : ["float", 0.2]
-}
diff --git a/others/GDAS/configs/nas-cifar-cos-cut.config b/others/GDAS/configs/nas-cifar-cos-cut.config
deleted file mode 100644
index 830ffbd..0000000
--- a/others/GDAS/configs/nas-cifar-cos-cut.config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 96],
- "epochs" : ["int", 600],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0003],
- "LR" : ["float", 0.025],
- "LR_MIN" : ["float", 0.0001],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "cutout" : ["int", 16],
- "drop_path_prob" : ["float", 0.2]
-}
diff --git a/others/GDAS/configs/nas-cifar-cos-cutB128.config b/others/GDAS/configs/nas-cifar-cos-cutB128.config
deleted file mode 100644
index c2c6f9b..0000000
--- a/others/GDAS/configs/nas-cifar-cos-cutB128.config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 128],
- "epochs" : ["int", 600],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0003],
- "LR" : ["float", 0.025],
- "LR_MIN" : ["float", 0.0001],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "cutout" : ["int", 16],
- "drop_path_prob" : ["float", 0.2]
-}
diff --git a/others/GDAS/configs/nas-cifar-cos-cutB64.config b/others/GDAS/configs/nas-cifar-cos-cutB64.config
deleted file mode 100644
index a566c6d..0000000
--- a/others/GDAS/configs/nas-cifar-cos-cutB64.config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 64],
- "epochs" : ["int", 600],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0003],
- "LR" : ["float", 0.025],
- "LR_MIN" : ["float", 0.0001],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "cutout" : ["int", 16],
- "drop_path_prob" : ["float", 0.2]
-}
diff --git a/others/GDAS/configs/nas-cifar-cos-cutB96.config b/others/GDAS/configs/nas-cifar-cos-cutB96.config
deleted file mode 100644
index 830ffbd..0000000
--- a/others/GDAS/configs/nas-cifar-cos-cutB96.config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 96],
- "epochs" : ["int", 600],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0003],
- "LR" : ["float", 0.025],
- "LR_MIN" : ["float", 0.0001],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "cutout" : ["int", 16],
- "drop_path_prob" : ["float", 0.2]
-}
diff --git a/others/GDAS/configs/nas-cifar-cos-cutW1.config b/others/GDAS/configs/nas-cifar-cos-cutW1.config
deleted file mode 100644
index acd2ae0..0000000
--- a/others/GDAS/configs/nas-cifar-cos-cutW1.config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 96],
- "epochs" : ["int", 600],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0001],
- "LR" : ["float", 0.025],
- "LR_MIN" : ["float", 0.0001],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "cutout" : ["int", 16],
- "drop_path_prob" : ["float", 0.2]
-}
diff --git a/others/GDAS/configs/nas-cifar-cos-cutW3.config b/others/GDAS/configs/nas-cifar-cos-cutW3.config
deleted file mode 100644
index 830ffbd..0000000
--- a/others/GDAS/configs/nas-cifar-cos-cutW3.config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 96],
- "epochs" : ["int", 600],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0003],
- "LR" : ["float", 0.025],
- "LR_MIN" : ["float", 0.0001],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "cutout" : ["int", 16],
- "drop_path_prob" : ["float", 0.2]
-}
diff --git a/others/GDAS/configs/nas-cifar-cos-cutW5.config b/others/GDAS/configs/nas-cifar-cos-cutW5.config
deleted file mode 100644
index da61223..0000000
--- a/others/GDAS/configs/nas-cifar-cos-cutW5.config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 96],
- "epochs" : ["int", 600],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0005],
- "LR" : ["float", 0.025],
- "LR_MIN" : ["float", 0.0001],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "cutout" : ["int", 16],
- "drop_path_prob" : ["float", 0.2]
-}
diff --git a/others/GDAS/configs/nas-cifar-cos-nocut.config b/others/GDAS/configs/nas-cifar-cos-nocut.config
deleted file mode 100644
index 4b89845..0000000
--- a/others/GDAS/configs/nas-cifar-cos-nocut.config
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "type" : ["str", "cosine"],
- "batch_size": ["int", 96],
- "epochs" : ["int", 600],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0003],
- "LR" : ["float", 0.025],
- "LR_MIN" : ["float", 0.0001],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "cutout" : ["int", 0],
- "drop_path_prob" : ["float", 0.3]
-}
diff --git a/others/GDAS/configs/nas-imagenet-B128.config b/others/GDAS/configs/nas-imagenet-B128.config
deleted file mode 100644
index 442b497..0000000
--- a/others/GDAS/configs/nas-imagenet-B128.config
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "type" : ["str", "steplr"],
- "batch_size": ["int", 128],
- "epochs" : ["int", 250],
- "decay_period": ["int", 1],
- "gamma" : ["float", 0.97],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.00003],
- "LR" : ["float", 0.1],
- "label_smooth": ["float", 0.1],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "drop_path_prob" : ["float", 0]
-}
diff --git a/others/GDAS/configs/nas-imagenet-B256.config b/others/GDAS/configs/nas-imagenet-B256.config
deleted file mode 100644
index a5926fb..0000000
--- a/others/GDAS/configs/nas-imagenet-B256.config
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "type" : ["str", "steplr"],
- "batch_size": ["int", 256],
- "epochs" : ["int", 250],
- "decay_period": ["int", 1],
- "gamma" : ["float", 0.97],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.00003],
- "LR" : ["float", 0.1],
- "label_smooth": ["float", 0.1],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "drop_path_prob" : ["float", 0]
-}
diff --git a/others/GDAS/configs/nas-imagenet.config b/others/GDAS/configs/nas-imagenet.config
deleted file mode 100644
index 442b497..0000000
--- a/others/GDAS/configs/nas-imagenet.config
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "type" : ["str", "steplr"],
- "batch_size": ["int", 128],
- "epochs" : ["int", 250],
- "decay_period": ["int", 1],
- "gamma" : ["float", 0.97],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.00003],
- "LR" : ["float", 0.1],
- "label_smooth": ["float", 0.1],
- "auxiliary" : ["bool", 1],
- "auxiliary_weight" : ["float", 0.4],
- "grad_clip" : ["float", 5],
- "drop_path_prob" : ["float", 0]
-}
diff --git a/others/GDAS/configs/pyramidC10.config b/others/GDAS/configs/pyramidC10.config
deleted file mode 100644
index 730663e..0000000
--- a/others/GDAS/configs/pyramidC10.config
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "type" : ["str", "multistep"],
- "batch_size": ["int", 128],
- "epochs" : ["int", 300],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0001],
- "LR" : ["float", 0.1],
- "milestones": ["int", [150, 225]],
- "gammas" : ["float", [0.1, 0.1]]
-}
diff --git a/others/GDAS/configs/pyramidC100.config b/others/GDAS/configs/pyramidC100.config
deleted file mode 100644
index a6a633d..0000000
--- a/others/GDAS/configs/pyramidC100.config
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "type" : ["str", "multistep"],
- "batch_size": ["int", 128],
- "epochs" : ["int", 300],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0001],
- "LR" : ["float", 0.5],
- "milestones": ["int", [150, 225]],
- "gammas" : ["float", [0.1, 0.1]]
-}
diff --git a/others/GDAS/configs/resnet165.config b/others/GDAS/configs/resnet165.config
deleted file mode 100644
index 9ae21fa..0000000
--- a/others/GDAS/configs/resnet165.config
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "type" : ["str", "multistep"],
- "batch_size": ["int", 128],
- "epochs" : ["int", 165],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0001],
- "LR" : ["float", 0.01],
- "milestones": ["int", [1, 83, 124]],
- "gammas" : ["float", [10, 0.1, 0.1]]
-}
diff --git a/others/GDAS/configs/resnet200.config b/others/GDAS/configs/resnet200.config
deleted file mode 100644
index 6694e19..0000000
--- a/others/GDAS/configs/resnet200.config
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "type" : ["str", "multistep"],
- "batch_size": ["int", 128],
- "epochs" : ["int", 200],
- "momentum" : ["float", 0.9],
- "decay" : ["float", 0.0005],
- "LR" : ["float", 0.01],
- "milestones": ["int", [1 , 60, 120, 160]],
- "gammas" : ["float", [10, 0.2, 0.2, 0.2]]
-}
diff --git a/others/GDAS/data/GDAS.pdf b/others/GDAS/data/GDAS.pdf
deleted file mode 100644
index 4fa0c7de825eb1a737cb8ac75c01c0b89d7fa25b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 464232
zcmeFYWl&|ywk3?ayR&h3cXxNM!rk4yaQDL9p>QeOwQwlh-5m=3s8i?kyWe{^I{H^f
zbi^fsNOEQ7SUKlfd&d}KCS;1D;&e>(Y%pY95BYB}ENpB5Mu456B@8bwfI-&6*2KWk
z!qdbU!1U1ru(EM6F>wJHBmp`AHclo+05camKo7v60AOKf1TcsJm{?etnOFe~@_>&)
z2Gx%R>>Ny-0DgWL6I
zzCI^3F_)dc4Pj1RUtg_-b0|IRt>cFd(ZZr
zV1kl3aKE}15V6NbfTUH8=Q}i
z8(7xPVdMOlTm6}(U}&l0Z1cZJ6bsV_yZiSnN*=)V*N~%=Gl27hCjKk^_@Q&+
zh}(?)dQsBdHJk|3|C%sjJeW|~uQKFdJ>W89%uM4*XDb$u^GSEbZtmbP@(z!dY_wT*
zZLN&CL6)`!7SH=3IH7t$wg~EEF7wce(v6s_is;2i52y6)&)kU}u
zHj&utvak+|(a1UL5zV)0&jD~b3SHt)_ZTG(Y$M8JE@`g0)o^9L$shEE>kF)zhZE9-
z*}dpi{tl-*z<{8n?sD`-NjZ?ilCB*-JqY?jCKjFFowqvcQtE~xR@{R+7dTB`Vv9v$
zFd>i~sF(!@xIQSmhf5#0HqZ?VQUH?BKDHLnwx=L3TD7<{J*6uo2x{y=o*%y`NsKc9
zTpxzlr$uI1BM4PKun9Dd!@g)VeR-GN>4go!d-QojxI-7*p7waVY^)Q|EpcoP2`lx`fh^m@!p!Lch@|4!$THE_iMf
z1$onA52_otL6EM2Ry&FOfXI{D2?=q@2$c>hhus8CGKc&oEA-Jq0q=2^J3#>0=}@!`
zh@??z^9yK4<1`*Ni=`3WMIYWE*}YOH>>kLz|KsIP$*%{)SW-IUff)NWAtWL`4P-lb
zXc9VvR61#W;+I1KPB`hv7e23zSoq;xBG%})mtV2)IjpWSu=p?w>@X={uYPdsr9cM0
z7u=MX#r7ZWo|!~
zGIFo*lOg>?A=ijO>(tqRn_+NX&ioFWXI?N$J|tZ#K}86Jw2X8)z$l=ZOAiw%HsjYX
zw%lLdwZ4Q`@r$?|C)zP3uyIR2jxD+D_RSvb=r3dA%3|XOC{e3|6lMY)$hoA{(~*iC
zzr(hS82UmuUm4a`dI6lYEQcv~6>xw+!Slohy)1GY*9?m0kLn<)b4&oOVKA=Dme5+~
z0hZdJDrs|fCWwm2v(Ff+we-knC*YPUjkK9_H)?!dE1=ry%t!dFntIUlX8~v4OYIp8
z-!u;FfTvh7=e790{p3SZhPGL)MJtxoUV+>`*7H$U2%F5Idn%)_E*-yz;IzuC_UZ1(
zupM5SHJzb7F}yCAY+=zb{9?;g
z7SG+d;+U18kS4pP@#;K>mC37|j#5uk7DmRDCtGlpV#dseWX<3<{sNRM8p97fV%>d6
zvNUw9sTiB3tZuznFeJ^;F)JillI&>+=J>{{)%q+cJl;}{4=s>QdBhwATg9WFYLg|a
zWm8r`5urq!zw6{ryL)gd64y(LM+a@Xe7P^@TA{Tnv-={EI;LRayWk(rXg=7JC_(
z2mzSLOV}B<8G5C=Lj`dJ5gQ}*?ZwqS2J^-xz&R>&S%PA@${;SIaO0D{WFhVuxOIFe
z+s3C$b}tv;6|D*PQ8AR&uzm2T)g?&Mc8q;$M@fe
zh7)nJq($|UwXR&<72IhBgDqXRz}ZgtNw$f&L((6VYX3C6IHdWm0bVp4hFbMY`G_Iu
zY5VQIb3pl&FH`U*#deP7x0cLy?FE{aEi%lQw$9J8Z!3Zd3Iv@=L*4e;KMnw6>mv~4j_s?P44~@ZI;)ORS1m`HR89y60izg0C`EAO7eR~-A
zWzv{keJtI+jsQfKyzh(LGh#YkwoFwW(yKr*c6^OefsL}lg;~bUD#Tx
z@eCP>y~&pui9+H`aJu9==X9pf?+M>s?#vl7(2a>IAv-7vS4q3
zG4TGzG|+p-Kb@xF`!R?ArKg2Ai`K17&x-@Mi{#BVA(fE8Aj8Iw=wW?2$nJs2^6vDl
zqa)JtrSHZHemc%DH16(aN01yS)AW&K1)SQWg9_cx3oy8IB1*8xNQrmtt}n@@)8F$l
z!Zw^A!6T&Btl`%!b%RQg3-R#PQ#a;+EIHGG5Kkgw4{Y2^9ZX+Ua_i`^Ty5%KLEtTN
z#5Ma6I9k!in58yox9_xkoez;X&=ClzrkEFdm2&WFs5bra*z*E6T0kjg2NPQ>XhMW=
z^0W>9>?Uk45+csfoF>&nL-Y1k?5hqvO#Qh^qH}-RvgplLes5^xQ3>9In|D5t$Yj+kI2|Y=-+pw!oLM7lzaV8fj5-iv}%N{;0)~l?8VJb?*+zh7hd^lu{
z{U*iZ+maFj9{jMv_Z?hnl{)ItegLLahM1Zh3RTH>%9`hE`?UJw7%A_;ESYgP+3d>i0HdQnQjlI_oY{wg`W8Uf1tAb>>+38a$F08BpMhG72aKg&
zLdh|}ZUb&@ho-s%i8mk@H;2v<)~Wj(r(`tkG|9YKB~!A;lX_tCy%*vR3~m#
z<`h#eCZJbDcSYOqMZMOwnZ4B|LU|
zKdA}=IKG08?sZMSPdEJTC)D<2g`X|$fpk>!i&+8i7Bc?weKT6hv1FIZMap3e1xHEn
z2w~Blqr#Ra_+!9&j8#ksiaI`_Ln`!OWmz4A;4@U6>QneX<1FJEqW0E8Fm$DvujRtd
zHzCRz>uW5|WU%5m2m%9}qf%*=7rcM&wJqrEs&jOMZ)5|UAviQ6E>y*z%)aDJ9_XM+
zT51YgppWrfVBqv#>muABrQEDR7{$S+Gy^#ws-UwdviXxdI7d!ulI!v!;RAhscXB&0
zRyPQRi&LKR$%VIY4Wf^^#nB5sy6l*Or*MjCVuv;AXdojKJwILnH7Ph}ZVDc$VPB{0
z2f4b=DO{JrF4KG{G2o%Ks;wL+YDOPuMV*FN34^^=mNEy!BgMJ(H~G#bxl(0pko&_t
z1IZK1>kAF;$WOeFhsJCXLNi=lguNl=q|eX{@XW+QTBWtkkU@nNsEaaT_=}cIZB0#c`4G
z=}`JX+vRoYpfTfT3Yg9pJpuLaRWH_81xv9uGXC_$Z9?zU`o*F>0CI_0xQo{Y8_Udm-{=bx>kgctqv(s;L
zn&Y>sQ~qfGxY8_~e`FvF=N}Qt!pZz+oRj76mi6!UcV*yX9p@im$-?=^$7bRD8;|pE
zJg&d-xcuh5Ckp&j^KWiA|KJ0u0VY}a^{clwE4_BY#
zW4|ABKkWaHsQ|XWv&5im;$-LIX!N0*S(*Oah~bYS{w=2eRW!5z-qt^Fr|^Gae>nJm
zE&ag$x9_aDoukcPh#!>}MO86P`j1&Azx6$UlEKK%#{Q$n;P}rb7(|66=zgnuYkGTQ
zQ>wpLNZFd&iGGwPKJN2(#o;fY-#e6du`&E8bbMg{S0KM@8;Xv0Mk*%GAMrDM6oP&S
zuK6MHO+GMwk4o8m)Hc}vg!@tL_+9W&aWQoMtC;e8zaJ%@KZTXQ*ZfmkVd47M58N`%
zF0(2lkgy22o)M@FxE_fL>X%(zdY?&M5%5&+YC(D+>wbvl|M@xp>mmJ<$$y)(ze_nR
zY#;B$zxWHw(Kus{JM7o|pL@pCmDDgofqFFVQOwA9#?=$#1{0-~V-V4xbt)ALLl6}*
zzis#igDK&
z*MoG8t}}lF?aIbf2oD@;-HbGVJYS1*(hWD6=vCk_7&kM3ocQr!l%6}xADw8*iZ>k)
z-O#Lu=RDy3`aRsJ%hd=y#J6^|G=Qh~S=aH{MlA)*0isz$DK6vm6ocU!U@XwcHu?k&
zZt|Q*kn=VEJfMq^!{Ttoal=*afwE=gpuCZE37uZ89JI>O&LQOOUGrCYX@yk75JIl$
z-X{$5PY@cRZGGG=Hh71-+f9DmIs!k1z!hHh80C{~hV*elyVX?`Wh5#@g`^W})eZH@UfQ
zns9EFpkFhp*V3l^0#D}jBJUH8NA2ivK>Woj@0AiLc)vZ;MfF{9
zaNm8iGblCA*ipX?uV(TKPc-Uc(oX=tFobk3ksKRIp=dL#K}T#$>58ge360UJfoy>;
zz|pTT!9)=|80{(!hP&boasHda6hCqfY3HS)^$9iYhtWizy~(W}@zPwkXp1J>+*`W;3B2BE^b
zPcR8OaJ}8HS*d&VF0=|J=m$GQr{DUnyIVf06k%J>bzr_pu#ccZcxWnHIC8*sM8!DX
zBq2OT@Gs$W&OVy02W6>z#v8ZEC@*6!4M$2rYMvx>gN&*X<@c_`668}f$`_vb05-u<
z1^eAeAg_QhcuCJy9r70AF#VzY23ZX_IO<20`F0hqdO9$HJXo4E_0@r
zQa0&-cFvOoqoo7*r@GdJ6t=vR&UVW
zv%ej!YqZI#B3?}Nna2!KpMvcmt*F^IY{uZv+6&)km~6`Hhb5$65{RyPIO#6A?5FUD
zo)q6LOd`~SKXc$8m-Iig|9Xn9tyO#gbev^
ze22dzXz4pJbj>p8mBI{s-{w=NEhF8)?j^gj&AnzRaP|_M6YdU%AgEZ5SzBld^rH;n
zlOaY^>Umh*+GKX%tYDwRfaIkc?RH?muqDGIdSO_H*H5H$L**3DHC69IjGe=
zFLk`ZjXozOzP=ZNey*+yJG03GST;;}8JfOl6BlQN%%Wz6?5*<-$Rw8MJH=jYtk`$-
zl|iVoI9|1bmKqy3NxvQ|w6~J42ktdMgcz%VoRz1X1i^Gn$DVm&`x;jl#I1IxIH4XE
zI@>lxPoFS&)}OdtsL#sT77yHHcJD>xs}F*2{PY>_NjKI@sOiT|dipWoEe70+R#ODQ
z70pf@MZl>Q2jx?pL+(Mv4Y%;HK^Z429vsQzzRg1o_;Ax95w)YETM7b*1UX`YRD9S`%Vb}`A`7Q{x;1Bk>v5=dm;OCJeY
zm!-|oq0zhi(X;;9oE^9E<4uAME#xqt3H>3pJDzJ^!8n(Sg|Yg1+xNnB^2E{9^2#d~
zYV)7(6F_Fz4C~n)H(RPU{s*QAP^&X%NR$I~Jtg-&7%`aLYgDRJl;OEh^uNkbVkW4t
zkB^T!R(_3pGE7Jpo@N*!qn=)c+XLNCkq7y61i!qdD|DC);KlczT7MK
zt`Ia&_C(C18=?FvSB21S6Y?Hth%aD+{%VyZ7-3oq5I&7`f!L+iO%H@n@*MmHHg8iJ
zIlG7txS=L;N>&xwo|SS7i#y@au8TXUDfjQjY!==OFbrR$+Si!vE+7E0ldA1)$whva
zt4(adt?!>%^nk_7_J9SefiJn*n9JtjiP
z+;?BOc6B$Tk@JZPD1HtiB8d+H2>srCm8C|VB*77#fZ@l24;
ziVe?Xnuvc#6h+@xgQ}HV^<3d)3?j+uD_+BN(y^K@
zhnoe&91Je_;>Gr1j+cude7@4lQQ+9b6#({p2L0dDW}M9k-|#
zFu5O6Rw!!50MBKN)eqgSkFq;6>HTR5rp@rz5=+;SC(=D~{@!XpXZE1aPrrcLE4!z%
z_eGGdm%tPr{McUFVU#m554`@-+yp;QbgTk+721$s#}ly2r&l2lJD#augl2OKXRUhH
zqk50-(_bKk-jY_M#XQG+C6+O_VL>^EMpJ8rG=V
zJF6lg%0?TMpQcwIbb}7v@`ZYAI@!m=wwy+~`j20CtFRj^eiIwhGJt%*=a&<+^FU-p
zwe%0LnNLd1tIgXJ7Sl2^iU%O&WL=E6x-8G_4Bta&R6N(!2FO
z`+{U_-92_V-i487B`hT-*U>}kMg^SALy@dj3w)!H^$Sr?MWfy#XSe}Iwh(WgYOjD+
zIfH9sv78k;YIK5uafmYx^B6M*&TK2MLB}3Q3%E&{Mtq|Nd6l_3<*7)2R}pUt2}feQ
zirNy57+npl!G*6<%Guzv=DLucgI9xz+#Qw)Ucyj74;o|)S@nH)&%juD(YA%X71D-)
zPK2Dl_I}%B#pGB|Ob39k^kvyO0cfJdhjrMFzv=~!0y5{FT;sAtd-)ryG|~i9JUzDV
z8*^QyS->PE0*ccDACXJYVc3$YosiEN`cJNes{Bndgb?M6?HBvty1LEkhEJmUqA_d8
z(w@R|XWE_4l$R8;Tk9?ZTmu<2>rlMk+*dES$L-~^v)y~4n?`h(shr@ZIFmSp-A201
zrW7zm=XhQDz~=id9lu2T?w?pWxZ;dXgw+{i9Z5ncIZuKf$CxJpz0NVekLOSNng(Fo
zK5eZG6qCny$R4wIe5SLTk`snjR5}12S{eajIF1n#G+T1*$7x(L35kcO{*LSbvBe?{H7fJHVkU#1f|
zoKL&8P*nILDR$=DE$CtEb)6^bwj}<`>ZGAJy45%a-X*ujR6XQ&mGaVZZHqG+{QXu!
z8(dNYr=d>^7xL)h5ILUGGf&$$bgqytiF#9h7pPQMUbhu4{_a=U#UQFX0mTjL10sfU
zRRmLl30%}yjmTAXLKh6v;MZdo0~F&p20u>LTB{?P5QqMl1O7I_2WEGr%iit+8>SU~
zqC#_ERfFT9lph>Ah{es-^Wj^QcolQ6dyK+1rei`=@n*)@*cl&rFg^`ywgFZQyhNWSGA-y6NW0
zY~)BHO^C{Md><%w$NTgtNvIF2a)DAY=mqhW#z_3%sJ`EF^B>jsFZ!8@k(m|1!Or>1b$*%`UmIXM`aOb!3NoM!%G
zIsDP(|2sMTaa7RGQN`ZC$mGw-K_?~vEAtPs&F|#B^GZ9sRq2*vHM(hn@%|#
zcDP~WZSHdIk52C^TXorEO*4_^`FS1;b&>0m4_x0L)k&_n{Zf9t8}*6pbv`e@2k%zj
zcyitAi6jfN6Q)|Mr8OeecH@PQM_js}2km`=wt;ZS~lU|w2_L6EXTJeUc
zg=m=EIVW?V)*iO1bk!~TY7~~E=S$T&X#_jkUW6%1
z3d%dkkH{cPhmS3}6F%04qgDQm4-f6
zrw9fbP@#gM=^&hrq7ppuZ-J{y(RS@OS=HWasw}NT%k^~;9#-(7^a=wKn^n_2%_4T)#jLV^1{Y-EUXrc)jyz8PWfq;ZIaEBV%g4IVMOUC
zul=`pcRi9IH`VyvQW5klNNq21okw%Ovu1;q)7jv!H?6YLlFGcP<%hZq2O)cKa?bLp
z4xHMf4l~T+jY?uezF%uqqp4vcx_qOD+7rW+SqTDnE);~f&cxBhCOepT+(}0r&m++@#iMm_vM4O@ELmgeobK4b%*oHUP^_@H@g*1-JKUAXL
zMuGRO4@Ds6P$duY&}mjk*2UX3>z5s_FYs~-p}y^1JieDbrSzF#h1l?4wocl%ShIBA
z@NR!zZ~5vth?#k1^NAi;WfEwol=h@up+k0pGh@~lfCULr7sSrszWDh`g_$|`=kE1b
zSd6>wt>NiAzJ^?N^)ty~*Ip(DapXo!s!66B_l)k|nM*oDpEL8uK^PyN#*gOSgm0R~
z$v>^{>ss>;2ey4StFFIo;jVnopG2#N8>=PY(HNpsa6htb$(fdW_UP>hjMQ4SOGV9w
zZ23$-);SK#u))B?+!_7K{CUD-MZasM8CL#Mb_a2hBKJEU91;nQ?ZFaP_ru-lBpB_OYdPdt03k0Ch^RJHzXuHvC)*A!a5rw2!ubjok_R3v(}192
zK#rvmBRpuW97j&7%U7td&Rcin16F3d*uh-nfE#1wfwu9q_
zsk^tME`pGoG$>YNoR_L-rfF%cNgFLCDvpGj0vOX-F^lkT!5y$k=Agg9vSTj
z%8ra9tV|^ATWbEYYtw^HyD}g|d>nG_j((&7(MvVRe)2H>YK?lTlgqOCSx}e+50xf>
z!u)Nj+*<^>2F5;rNbQPnyU|v(=FDU@mC&V|i^N}Q8G7Srf(Jd|_02RzYacffK9Y^O
zw;ukqf4;1YaB@sal`aZoO~8%^#)>!YhY9bN?6Wml%p`bl<7G2wF
z7Ei1c^%qX!!-x7g7`GFHys{~JM^H8eF)w}ACJW(i^6(c{EcL!MpME<3SqsvBf5Ji^
z!EplFPe08a7WEyHM*4>M7UK7!cz>C!eol@5QgGKE*nvljD@QOqb))@)TtWjUEiv+q
ztN3OPD~6JYPP1_`-?%QV8v4qZEnFn(s-1}@KMSR^EphQnxiHi(bZ&(NE`L_0jE_)%
zisqBh?WZ$Y(C4q!HytCVlBk=OSHCyGMLJNeImp(xXeymE%9z(74j~u~&$l{Uuo2O{
zP*u0l&T<06c=?SSf>tZ`OR{7$kx~s_z2R*;OqFfWJPDE*y~}pQ^i7~iO|xt4
z(UU(g6L3PMk8X8elP0bi`H7_KBS9TU+Mm{faUzq0zMrYsHR)e=@%x;;?a!7V4;`Wc
z-o%&l-t*pb?zR=)f2F=Z!TYY1yidPBC^#14_zivrCT+3fVULisoJ~S{D1zv@
zk#HbFS5~@0G*w42@Ozzp(w#yG=-{btWD8-U6e{F>QL@Rja*KRh?$dy~c#f!IjD-&Q
zv6A_ukdt-54Wd!`eu?P!?k4bB{C<1!Mdko*5XfCa&=BH%V)Ks4eGT#bs^snSMKj<+
zD8CSc;Gx*&y>kco;DdQpRvE<3{k
zP|Fk8#N=3yt=1mlp}R2gBFNj~TaD%ms?mM%cy)ype@7l{88aBPjb9q;vM%F=YdN+&
zn7R?8W*gEaK*h0&4Rqo&xq$YKtInn@kkF4=$s@p&Q2WLmzFnVljN8e0j|XB?vC|Oy
zrEko+uElULj>efE28m9kq){e9!G}K;q;7;Ye?vKfU3M(jMk+3Da
zok1Hh0#=>>;QIY*r`HL+#8Ob<>NN!b;B`^8wi%yiIURIN;6SI>Ng`MJhFKO5p>&_i
z59;@8Fh%()@~2{e==U8q`oT)1_F%UnapmicSSyMgy6P-C47sk6ZYo{7B8v=$U5dDX
zw6WZN@1F@M7sQ8}e(rtuEzNzI&w_M5AvIZ!?Eko4;7cA9+
z*zQpmO=Di^7DNN-sDn#U(HFMW
z>NH!h^GL9M_Cg{?e|3J74Wwq%Y3m{Tk{maf0@l@F*2=6B=-YvF$fk=TaYjTB&Foz&
zsh`5(HI4zQ1XF`#lOk!mEQkwV(Bnc1r_vAEU%z!N54H%l0$DwrrFp?!OqQ>wC{}9w
za$o`KXwD#1G3t|d?rt^y2%`@ps~_LnX1M%7l$cvVQr)>o=r4N59YvFdHO)W|vWm^j
zg<1eCfe%8x=?j#cNWDV7S@e7w6u<3}h`}$&@xvG&ceolJI2nGA`FxBG?-Fq{19Ows
zbo`1=sakl{EM6+#jVO^b`UlpqBTyJ}UC$-hOuiu2wmce#Jia-5H^fs=ODH-wDxU!O
zSe3umRdH|<@)vtDomh)Q(XidGbzJ^Jr~Lg4W^$)%>A0!{sV
zm8k{QY%r(R7=B<<>SL_iJ&qyk6*h9fO*%#&ojHEy6Z78G_?2
zfdbZF&WRzUiJ5KCe2MtLV`Kx)*5#=iWt#R7DfSe7=B-_LBv>4GV?rEq;za9=cjWtN
z0FG;n`Z}@Cb#S9jtF`iK^lgEL2ClBFaO6;vQrmGF+VOkm;v6Y!SfX$6t#*aiD@!^f
z;duMw^>b6N>3q3*Nm0EjtcZ_w>iAN`m36|B)&nraSNpeW=Rib={>15`MX>%4u241(CckoxpvtW%{LC$WAR
zC0)ztwSo*%%7pG=qHw1TQr7nsg&`gVR-?@QWhOqDjFbGyF5BoFqFBC%r&TdCkYLiEl=hH-#zmDe6)f=6
zfQ?||Jz5?D_}Bda!JDSU?F+)4)@7NFDt7slR3L9$VB+KFteJb}Y*6Z!J}2NjOPCfb
z8QPV3>7g2|C<@PWEJlhMae_MuUPO3#-!=4PQYA)#$KWd6_yYc2pJH9Ifdl>=8EB$3
zoLUen@w8TpArt7<-a&lPuS6ON;>;jPOh-0FXVrNvx_eGUgc%&!%DWeC(jO-ZVV~+Q
zYE!BWK*y_@p{icIL*YNok>G|&5&MZwHf+}$yg@_|sCZM86}N0`*Um{-ctEr6X+wWQ
z{rqk(+#GM*pQ8LtsWHJoLKeNe!2&0>N?F(Qx|Mlj#&o@93?}L6tx%LgCGjKm!j?Ur9aM$7RPJy?F=^I5%w8wwZWBm74jaYW9!0||?`BMjo)z69SvVII
zza|=GcI90YPe|BaF6B?%j$tp4b|d1{@$nG};|~GKkFGoDxoV^;@CLa}iHN7>!${-X
zf#D5y*l7nRZHGR5gT42{6
zdR^Qk&yPL84a2isn+9PL%!Y<)VroL!{cB55gb1h6<#>CCvUS1J|3?-Y$uyO;F(sQu
z&u3j~dHM&nT`oB=R-7R4wrk(qATr0u&(x$0$;ljKF8!a>Q=ERVZ{h31*3x@}%BMr+
zf~savG?m2^wd|o!!QgghmLKLkOw3kOSGS|oyQ*-}hv1r_HAvk1_qiS2S5ydS!8%`)N(
zN#gNED)E6SDulB`pP0Muh->3kRTc=;P>!N)fW<-Prxr5mAz)L+_$KQfG)YhWgxuC1
zAlTj!c;o5Trvwp%e2{B*@YWOFjP9-{RtDug@XH^0)AiD-o%w_|m93rL?Z}=xL|(89kgga2dA$`IoGA
z8n#((^+U>0BJ^q)b}(Z#k92>kJP*>*vRMd#GJA+LVGY0t3;bI;D?kn{e$<+fvPxj5
zuCz0Q5~W)3R_G26Iby7Zfr@z5IB82dr4S(O=|uGu*+sCQFILLV{!>d~QN}x{_%Gc>_UgnlncIL`mA
zm>E!(Gs}u*lrX4R`6ZRRmL|A%Lk&e5k!lp^y@Znw+8&I(pW%fnLVUzli55yO!zCbN
zX+65Gq|cgV+Eg!upK95a2b70(GOu*0dMvj63Xt@3R^Eg9d3eQgWzEsN1a3;TQ-Eq+
z=HLfN+hLoE)e;^}i?y}~(k}2$KAk4A=N{uGT}OZ>`xd%GfI*r9xX01FS6r&WXHga8
z&mHKyW!uZH`9?rV--MZ80<|JD%!7V@Sl}){>allCBFTo0o;m1qL@9^T&TOH0LG}&j
zInZ*Ro>r5+ks_6-XP}UuSB9%(40Wd(U~L7rwQH5d=;*QKJa&?Q^Sm2dV$EsKuz0sz
zl<%plUv<~Eei0lODu1>v^nW21H~rQn;iZ0ez$l7N(v2&vTxcM|h2K96st|M=AI55
zGEy-iMK~S7gxW+%BpoMWjDcsJAeIqD^ifRQ+vZlOh}8*ik}W~-5PWKG6jlbU09q59S*)RwFSa2G
zg|%jL$$zaO8!a{WN!JpIw6w`KqW2bAChs0VO8Ip3@)bZTLa{h1IgxiB=LR)|_n0L&Dy&hxjhL5?i%~G|e<_-#W7_Ln
zP#pr(DH#_o_wE!-{gA1=-lDfBQ&O0hTfRT26~{?K$YqI%Rj!S7-LVv!X1ix{$%j9k
z_D#NmXfwp+dOjYwm&%XsxrKfF_CN_-;0+CA)3X7L__En#26p^wSz4GCiTer>Di23M
zOj|SnkPK8W>_`=k_KtR}Xy@H4ut#0!o4x0kt0`GueRiu#KJ>-Vx=l>Kx++!LdPlYH
z^S1Wf2K1BwxMnYF&DZ-Yi{{jMyxOlh!C*D4d!D2CXx`~h%z4^^l$)@$LljritLTP`
z?quT!lJV_GvwH-0CgmfEKw=7)
zGI63`vw=|QY)2Vov~qK?v4(@_{3#o=ul&QUVGG6P%%yX*_VbOV==)!!C2sxIGFN=c@;@j
zue+G%~#!aY-1K&w-NzSupE*qf9q#Ic$H=fQWd
zdYo3#RR;eS4M34x1<^5hgp?%rWvj5&Kc+oUry}J*mS=u^LpxbuZ>~Q{eE=zC*`urw
zvy!lQ1ux1#qw$>vW=rZ?aq7>Y_RT96y`ZUTPFfD~uD(^ayJ>Q9?)A2R(rxcjevE#Y
z$=PNd!`1#m|FzPeJ|0Hk2(rG9P`V2f0G_OEwIojoKY0Hs>GaJbH!z&Xx4^eAiF@lxQF;Id3UNJFHJDZD
zUWOhol$dH%tpceiUO2%_^iKm%|})cn8F_*$vlr{LcX`=
z`J9~>Nz4T$Ce@5hy6M~r`zn5SY;m3-84AlY7WTz@`+|-5t2Xf~^}rrQwq+&y1ZIuW
z&e7&(9-W|;t}o}L7{M6rl57sN!_J`{DQBgcvaatoS8A{|Pa)YlVbby#jT1T_1Kr3c
zKFN7ydWXFIu!$Lc2lvhk_!jz8a`!9lP%d
zCDJ|)me`hjW*SLsxxkcPAuW$lOFea&H@1s7BFA%lVuV+}5K5EGRuiaQ^@
zAsUFG6GaIt6QG5j>`S=@4cBcXqXGlg$9YMRl6V774`&cMLWZ9DQ3M6abX5=P|5k--
z%?0W|oC%z3J6et9@2LT~IStFD-%{kBc!BBPW>2>HGS9S|$qqwV`RWzLf?OHS$I@Gk
z?~00=Z86Ke%6v6UIu;0jlY0)H*=*U0Sqd!kS)U-39fl3`W^)m$zn@{Vc6G)h2+ep*
z0*Hld(N7>!gL|@f_oQ4p3n6?26t~A$$)$vYl1N|TPARuAT|Tc?kR>T@?2g!D^!%-v
zg}!M8gD~`Kp|I}hH5me$xo%DGYq2ifAab896LXr3`i>7;?VQ2gaD^<#lQSjyNHA2=
zm_;h$jik2FEJYl)Ta-!#SY!j=xcn(J$HzZ*X$}?FeqxNiBOr^pCd4uh
z)Kw49;`%wa&lj&~d4RlBTMg_!%mLCxGtG`NgEvvq@k0H$w+aNq!`h-65vUKM#8=*$1a=9*K}~Q3cGJvY@3ufN`qDDws-BwOu^=XLQIVppZ_^TK+vIvLwiBJ*^vPD
z7f!hdS%kUZgot8ba60K@0>=+Ic?=&OA>{!T7r!+1;#k?p&Tq(=bzOJlWXX6E?6k2<@D=0EbF|PIJDBeb>*=k8M{48WtqBeKnuNj%7Ar3%fS>DC&QMn#fdEV
zhN%Gfr5sc#2S#cO#5Dy1$+h6r0q3~8hqzOuR9La0_0DkVn2Qj!cxc;-`0TONkvKA4
z!}Z{(hrUaK-R#rdI>Rm`?ajk?97(I>IXE?kqRuC;=7KEs$SNE+gwyVlBO0o*{9l^AL@*7n9oGqACqB=oNFyXJ^vst+
zt8=*kU0a%QnP&1YAh$Y+@;FqgJfa7dppM>f!9ZcgtV%R+5k}#_Z_)2Ia1Dz>4kD+)
z7L*4gP^7TtdUx(KjjnK_LNzesC`7n@c%N&=DESUA^J28S&xwv>Sr|(9Yq)L5g!gm9
zKTA?uI=o$Wyhcy=j>{NH%_yia%kyA<88Ac5BY|S(kg6Vyl$2vp77Y=Bw(xPD5%IMc
zi;{AtNhx*IBOsdhOKg}-RbNo^d8770)ANq{Evu|c1XC=#YK=Tl6kQH-m$plJ)?LVV
zBok0~Ty-7o;vY%5yscTkqRvY84=(Fm*1^Wwx%21Lf=ebhb#ZQPBrhnVZW+-SK4-2-W=CvPR
z`f|P!fl%g_{4X(JMHDxSzIkOg`y!K6;B0UQIxz~Sdj*lcc~?(e33VFPQPfKCYR80`
zL2{58B_PrfGK#!E%>fagDen_q%kE{a*pl;y%@lXFGO4?5NujX90+~C$HLSTvzRQ{SqPE~Qh7BR1K>WKfY7O>~f
zn-a)&3JNp+_Ya})p7>$WMWWh4inH@kMx;}0bsk0Jz-o?{@WVF-HvDzgZp;s1cP6NZ6MBJ
z5zw^2<-Y)O_jo^V$>`6r1nf!rFk)+3Gw941L^6o4VdJ4`{cv?~h76a9h6p|T|M+^x
z7*V3FYqxFNwr$(CZSA&g+qP|+yKURHyYD{t<|OY;-tS9RR_aG3^`nwnv&J0bnGT`W
zUL*C%T?;o79A=_O!;ob7+752W-t6Ef^=XJPqLD$*BJ3K3(QujO1J@($<`iJ*suQ##
zV7ip3lL8L?oWfv+VC)9mz^7kUztz1&@^HakT=tS(9?hzWxbSN{k-qv+@|bxiUy&)(
z&{yvU=>TNoESDI;FPQ~YeFz&Brrl>nF)iN7sn+f6JwkQO)Cl
zMLDgRI9wpY;{MK;_h@ZE6JQxt8$U{}ZQieq!@jdZm1}b1ILk}6(Db_Iol$66^>7$F
zZOgKD7gUaLMVP+85i~f+84BvH^)GdCwc%cilLCbv9jyh&NyMUY5P
zL)zog1iKB)U`33LuUnHyH%L5iJe7Eg1?X-qkrqfeq|4`^1*KEaajz*zvU3VPbSN6+
zOD9`@N50ZKg=gY9uJ&f<1d(u_X_=()w04FseUxyOS)qB
zq@puev%lccf2hETu9np?8QYn4=z_pHF@3)W3r{i3MN-dlLCW7?4Ld99bFpJ8tUE03
zH-wTUmtj0-)5{OyKtzIj;`t0rXB`Fwo)G^`H7Ck~EHJ*O+dNha{N
zws#u8b=5isu|2GN?!ZW@f`2`i4*9?%LOXgf_S!D1dk^TYqDTGt!gfOXz<>L|vnu)B
zxBmX*?^}xUtMdEp^&YQpg2()rgGf285dm@A+2HrS)c;Z0-Q>OB>HQ8QlFRr>`f~*T
zwTV9cPG|ioiSM&`tnh5$Jx)O>l1sw$M^t4t|F#23a-R~(tcrFxG|Bw2N%Z56D&)HU
z9G~eRo&mLQN_^^6V`z!-uGgYR=|NfQUB@?`LVGNGJuJE#{N0lH*8G9|?`XwWY>$}D
zl(4*BPRdVxHfmmWre`NTG*m6AW-J7k(ILzLvejdLH{h3@utR*u7-9Qhp`){6H<_L{
zJIJr!*Sz6h2-F4dd+0t$3x8qgAfou-n|U=?!E(Omy01xYDFiWVs|to8K?edG8bOK)
zCcMDV+1Ms}U}Z|2*3+Ogl+g4cfMLhE^1$L;-MPTUbm_eMH&q#{C&JR54^_{L2gJWB
zhzG_nA*RK|ptN9QN6cXKlmwV45g`zMH%}vAAdhB%Uj=PJlzLa#&bgUrD!q|?lYeT!
z^clF3_3ask;?N8sW~xJnQ!9d2l1{YnOhgD1(8P_?Eo{)oN)^Mm
z71E=i=}>NT9WrSQAuPA?=!_?M#>Qyo+CTq9s!{a9Rimj5U2Bkr(F+W*KdEWnq2>
zykw(OF(oou|DfhP@F5p{^AH>-?y$@JeS^-#0K#c*rMf%Tybuub$NtU}U9nGqNuBvv`%
zF@YwXQ^650Ih{)u*!Y^HwBUb;u%e`Ry9)HbugU>)j}#-NDY%qeti{iPNij==YKEJz7x5E6~Ch}IQ041Vre
z$-hgV4PIoqkU;uX{;8gU!@|XA_fhJCgQM|q4ydie;TxH8n3ob?2cH3*0ZX2Y<^!El
z47TFdK${NDse9PypHotp+?!WYK)}tJuX
zLfUFam{&Sp7nL2lAx;81FIrVNYs3{eU7+)06x;C=@4S;-MCK9mdbNdbfWxe@hqq^H
zgb?S%`Eq#AgR)Pr(cT2UQ$3*Db_nCodUZdRa}T=O3TDTZt_rrE?|0gt_SqzELgDM{
zJQWmN?2MC$RSZU-?+GVt^pg)^pRWSnhZP0GOBP%0Kj7_-tQ`^Eip-c1+qu+%d?L
znhzhuj`vV;Et1FDT;xUEu|QW@*L|tHKKD(}ZQ}jb-j5-)q|j(&FIGR}HQ%5epSUIt|KiWX^+M&E}VFwIEJYW5KH8Z+
zk*!smYT=JXM~S4Mv+&|67f=h(mR~;(2C<|0W)gz44HHLE+PSO3DnvbM>tzJi{bBYHk5N<)VWEY$@P$mPiB}lQ-ay
zvU}H>4pBB?wP2XY;@!EnNwg?s2n->u-~d%loM}Pb<&Q028%}>LCa&6A3T)2lqSl@6
z2M9Ks&kl3wWHHC>nC+rL6>^jXudCFokdD!b$AZfw`D$`kRFhu&?~_fLyb#89zmn?4
zGF-&8SOTG%iU>zi2BiffGj0x}r*y_-CnHgfnTz4}yWSK!rfIX$W$!+Rv}@$v3(os*
z&s22k!r0*b^S2CU_LsdKtDNi8TZx<{^b}Jkh9rxx?$vdUncv(!cW_xjv;8jxL5bR3
zsp>y?n64AWTscc~8y^h(L0z=;H!glhKw-43l8Q5NU@OLEm`p#aVt^GSjfFoqQrLne
zLb39^Hc`AfK}SC}$G?7Zs0GT@Ib;3=>=G~KQ;Z5qR{4ef+X?ORK6_k22*-@t2;&cP
z6i;}dO3hhJ(YzP{1L6{JB0=)ydH&J@@FkfOlvo+Qsu)4Nrf%>g4FdcwUmLDABheg7
zs>5ZG8l|aC#YPdo3yz28-+;y9G6sD$H4IzHZL3cYo(V%#4HpMr#cue!{2|?Z4{^m?
z?+jFGO^@@nZsAE4QxDjoPD|mNqC^lv39R;f3wPDA-;B~P#_7OV-oi`C#||i|zvj*b
zGh8#FovK_|jsMQc`+fEqM`B|}233SV2R?T~EUd$oB~XSb^AiEDyW3bfH)DAW*z{8?
ziQ;~Vrqph*2`lW4D$PS$1i5Tgz`x@ull6NE2XI0@bgHz{qu_U0KqkJG52SCvfdopU
zyM=5L7ynvEr2vws$jOO7Z~_B|oZK}!ME1O3WV4xv02qxWI)_IMYwjKOp0$FoG6EhI
zZc!cw`YrmMPqE7@OQSGW71N`;>jGp#PyC(D{{UL)U{y_USj22(gy9bl8
z+`>6{ZfZ@>t{js9$MMGmALAbe#OAPdj6g)5ZBJ1f)G2VRMe8t*e>J(G=L62Pb%ty9
zNVMjjmOF$6j6gCos5`PTDC1mjQu-;{YHVIsZeABuSRC(u`tJZXsqxls3;
zBkvfHog-$4b_kMXeL=0m*Dcu)H-Ke#
zlgye@WRHVA(N#Q87vX9&A`oKhkyL#xCTc{8P52lHhZx;qK{?r}_ZK{ENp&hsNxK1}
zfgQ2rE~5FEz(Rcn+M)+y@IJ(h5iZ!Cpo+H7C~Jj_9KItN2^?v^6FXg|uP;`X$(i0pIf($8UP3Fp?KDjaZuG3G@xkx~-e9z<6u~{=J{{
zW(&cnCafUqDP-nXIOF^+YtD$T07eB!!iHHO
zk^4t+{x83P=|3Qd{{a*L%t>`qQC>$2o9$umnL{EXAbrB}gd|wtmOuqjjF9wK016Ez
za}@yHJChPkvz=V?Fbk3&S{Yg;9hEe6bTX`X;g~1
znr?Y~Hg5KD-=zF*#7LbyB)cE(E;IYo3=_+M?q6r0Dhf!dX`5k@a9x9QeXY52V)5R$
zzKiFp{LMS=`KfwOb~T$T7@e!RYjagi--8D5LZX$0+tiz)3eao|CUCr8Eq_Y@@Bj+X
zyp#Qi7iy!IID7y@4jpxMW#a^xXH7?a#{QWXXg}E(%K4fxb@QplU5d^hKrD&MY$|$O
zT2?A8^7k(cT-vP3_bbBhVLzwk^u!QNc3waFeaM-r;#o3eaD+uy2v2}UJe>(tu;22&
z9|jvaIHqroHHw9cK7daMr$W0V__#eUfG{yIi5WQmJh*c{6iWad0}zb?ERH|31Mm(3K(N0A
z0&prYodl4j07&CM;vN8$AmbXKYmk)#z*2zc9Ee;Xn**2*hfHVW(
zPJksu;2i>Lp>5C;|9U+)4utsN)SietYBo4}|K`3_I~pHc+aUTr
z_8kCCi2h&_gupli@VuA?1opj%P`m~SAR?i40#Pwgg=l6xTrqY>j6}kpBVe$w0>g9+
zv{B5%FwN+FBQ?VnBPoXEbmMe28T1o2GX&;<_rMaP<%UuX@@jrpNH)Z*7}{YqgE#~2
z`m_e%HNz`z9JsN5%mW+;-*yZgCOg(zkT&?$=q~@uA=rJgd-rat9hBQZ_yMOoBX7c9
zC_fxOyxlnb(LVBcNG%ZSKzPDb0umb%6$C7ZQ;6?i#6cFtfO2_fqEG~nVI3pNhS)X1
zZb=+6xg-?HP!e<{63UF`02N6qB3&|GvL3>u2`&?HM+{8?J^5OaJOX`E_(Xn%WC}7A
zc_|!Gp>;V4iFDfRf^9l&%5FmP()1ei`gMx81$>HmHF?E-;(gkF
zll^l98wOE=Sp($-kp+E*xrRmi#>ABgRr6FuT1DKW9LBAGBJcSQwaMxuawHQaVQEXY`@Si8mw>$fyDtHoCGIfr=0y^B1u-l?H^qcoy&(6-U^X|8FM
zX)kH;H7PYgHEf$N>OY1yhBK{ojeW*KtqzTwW=gkDT52k2cU}9geYi7q>$lOm1MCeWGCMeDme6fCK3rW|Tre*BePjrm7(v>o1F<6Zx5|D=YOhEEWW
z8cQxqI>nlW)(cOoQ%_K@YfF4Jy0yA3m|!+!#DBk~XXxVJulIi7I&r
zBrn*q=hCSE5O7qH9G_f7$y_mCF>M*#{MNiEL~0mWPp!+$OWs32#8Si{+&O8ve4~n7
zC@`NOL*b-p)|DRnBl9c~O_D_#qzT<*)wp9WZkji#_!sfy=_vEaZVGqeapKdL)r{56
z#k|+`C-iH8^~M^mCS;{nXR|}jO?RMk|GD=v&X&MdV*PGPY%0bSd)F>K?@RD?
zPsvNkr`w(@gxl8kdFP`>hLNV;`dsavZq4!Ehr)-pF7>NkHAC$`2Jn_~CUMP7<&8a3
zbynibWf#R40a$UFCp{NlZPz&)W1FjeyS9FdfHA-$;Cy%}INg5ZuL{;Rg0>@uTl>{R
zvzLVzoqgth`hFtU688zS;vwQCV}o%n%iK$=?B(pqY=be0qYa0D#_YfMo`t=TtIide
zi#pywI0!lK560f`Z*yUI);%J9D$mKk^Ilr#v?8?%R<>3mT8r5%y=1(0&;1v3aA$C7
z`Llk#pQ2wfGMgsNrDqdnP_wf*^W1zNghoT|qax75xYV8bI-8Fca%$^qccuc;>h$hA
z94j_^KEG7cs?2LSb-8_Ve0r`!zhhSLx^h$XuY4`fTW)Q8&K;V*Qx9umdqI6pKXgCo
zcV0Suj$?mwuz{n%K5poGy?*t!c+Y)yzURR!;Pv?bdUAYQd>daK7Lr5BQ{`6j*L*L(
zt(sNzJYD6l8q79@o5zK=3)BCmyw}MOfzDRUQj0ZE;ExK9WmX<~CRQ2+|1bi2K
z8b6ICoL|Ym$*1JS@Vj|Kem%I8*_xf~z6L*j{x5~;|D3Gyzb2UfKb#dK0XxG#Cfk2&
z(SIXUnE!vZ=(Gl;vx;cvPnF&7jof064>5EbcMe=b5}B6}Nn+Lg
z>mZSVfPf^+IBIOjM4T#$2Scnmcc0}NDAVfk2?{7yJD-=V9+9N@xjR~vEESjHi@
z`AoLk<PJU0ALJq6N$5(*3BoRYnuJUio13R}
zc$`SrOVoK&svPt^q^-!{r)7#e#4(QuQHfv57+ASofAAlT?k=HlFHZaqSG
zLy50so-Y^h4o_Ea31T?82du=$7AG_cC(i_4{8h&z_U94iTm2$_ToE|mVqGf#*F{o6
zUx#Un42%+yEE#PLDes?15l6&xK6q|ftY)ff_sLsdx4onA##_x~y<@jp&f0^nvTAWJ
za9v+Y@9+Y!MnnDy>hco3@!;7D+$C-b@9|}{7W{CGd_qmYNnyP7=fA=mVa_~s{oG$e
zC2Iio;KLwqo&wJPyYS&qcb@|F;vs>pDF1t$?00sGAl@;N6ZgGM`|gh6pi!2->+?@>s
z{3}*-@5^_L>Kych7trLYAP7Yt7xU3N4nnZNsv8w*lR#?GyLZ;MdmYCGLq^P72kqI@2*7NsoP9
z(^ca1d0I+t*M{SRXFTvYl9WB6dS+6fu}aFeUZG(ND>ICx&j(qo;q7_|(5&y9Ou)(l
z2uV00?zIb5-zfR4x1VUD;N_NlOz3yln&f;e)A>9M_p~@_9374_s-ND+8lE95o507I
zpWMfEHqGo_)5ZevDLyng3Lqe+*`CXc8m
z8njU#&LSO$@VW_I%FhA2q~}I+LD{Z^PRtX=2k(!4B3sdJ(2J&07p+R4mRzEmVFJx4
z$0IJ~f{wU9ucJcdAw{B=qr#K)G#iGSLZ;;=3F|tLXZq$G=AO(A`8K3BSw~X|q+JNR
z1XqnNQoHVY8JdCg;3yluKd%iQ0QRO1fNKpWz?GpJV7)G-|FMultMt!Y6|L=~UNp0sQ^3x2FCvQ*Uiub1eNi
zHSK^8Ma|1Z?q4pH=R8g2%iW;Y1z*0qu%S^Sk`~m;Popj@>i*ZFS
z?eZZ{?{1l=&$|?1`bEvlHp`68A?I+EN5PawI6CFtGmg=tM}u{>((DO$4+3^Y3g?Op6IhZU!7_g!E45N}hhH$4Mt9|`Sx`9k@a6erqhS72Y6%;B_sUg$
z`Sf(b$w@q%YYi{?(l(M+TmHA!*$;j)7WHqP7|t0-mv36t{6%F`Csx9xH*Sq=L~kpl
znbYb=lT^?;xyh2OrG-*`@4VZ}#@SO%8`rchu2o+i>#b5Icl8Y2#xd6I`35OF*Egv=h^2V)sCmYpt5sEH0>VHPeC
z92I{?WeXr&V(4jzm&7csiX1LW_>EBo^SkLiO^d0ZR?g;Fwt7H{+alp7!Yovt&|4wW
z>C&DjJZ!8j;0_TBtkQ`7dKNe=sw+5621!*Xz=t
zyFDao1L+W{eZ*!JqMX7-nrv0DF;IArIAM9R6eAjXUjHWq+ald3nr8+2DMRD6UIQlw
z-#g7lL3QMs!cR-;@6;a&{zjUUy?1Z8UHDBU3UEnGFQRG>m=~M^`1AnGbrH5KTGQ<-
zqE{&JAg7?s2FOhce5}`ns3$7ivbHlG5?GoL)kZYe=v!o?VA(;}232n^3s_&c&(L`d
zEq{obvhR4mJig+%bE0nmd?ZbzBn>)h6Vd8SS)q;T7pH)_>3Swbj$$}GT_ieh=kNr!_`NPM#V^E
z%l*6TZQ{(9TI;sJKUeCTE&%*GQM85?+U@JKiz)V(a#_
z6TZG|4fF4E%>2ouiLLqOvXPU9k^UsU)wio-mwKH{ruBS!b_HebjT@Ldc->v^p_}Ae
z{1boOp-cP2IPVMzTjs$wf}2s#{|rA!Rv!gvh=(zbjm7JUa|!-Nl=}v+bB8_gYZ&w1
z-GjfG3q%V`X3Uegh)J(2oCLca#`D-7zdc^X^j^7%2)i-wTA3mSMx}u#c
zzi@W<_R|gAYUBp7C_TT+`NG=^YfZHogj^kpC(uFt5$a_SY**HxvO#`nV%Za)}K;4xTQ_AH(O6HA|JLgq+S^w
zTBDY_8}$u$o07%8Kj{`%y@JS-$Wx|rZA>?SCk5+6K#zouh+0mL%nr|G^!e0*zl++D
zx(czl^kICfWdI88?&t8twW^9CDd9fD(GNgi`eeCR@b4_a~v1u~6(;==j;Lt9ZS%fM+_{y7Hk
z@DFDaEm|G%=2$4JM%mlA)_K(U#bxc&P}*O%72xgID@?vMdEC*8l?q(IjM62_k`Jsn
z`SRBf_nbmvs;M*smk*>=pG5bV?}{VOy-qRwHq~YJR`vIzPB;)M#w2WZ_sS@sL1anh0v)xAmTa59Kga86A%!ntIQx<#q!REr)iqHh{L
z`k1e5>&t*p*w^Pq)r(cx^}t6myusQ8h7Y>20H#z^hM~wk16#>4P+g#;UacKaYU-4a
zW_IjtU1hCVRexpE9b#lfSy)=Voc3loW?|;;@uK8k$nLuwnTCs!2C0
z8MbK9GE7|tSL)Ez<&~nh8UOMOzN=r0%>rp;)rqy=>7(oy>Lc$T=%el@R;BJB><`p;
zh(tJ?_t6is?;`9I{=3~&{W>(Et$%}wbx`4!|s&5LEvA8P}U^BZt+s$=}KzL
z@k5@BtQ(R|WJT(Y#mXf~5LBK354H@BXW#3I37j_I81ux3BUUMqbhGu7!JXM;My+_Sv9tec!Z&1&%w
z`awD}st}5~+H#|vf{K!ETs}N5a>=sB5)(LO7)=HCRZ4Lvrxvk?{#vW&bh+jA+iW=?
z<>%qRJ?ZA?CugT@{T%<*P4{a0peXK^<3sCK-?I(R&+4%-wDkfU5i|6c1ZibxMnj7P
z+YK8Y>(_+Gw%YsMF`mp8-|4GBi6Mb{CBcspo33W2NVFLoYQY_Ojy05e4&er_fwz5sz;EQs-4?xTK
z{Uvb*T_owScJe17Ziz|)X8U?HYLB1Uifs$02W#5vaXlq&nd=I#
zrccu4(?k)yJgy7Wu&x4h9JUA~7JL!#^dj1j7G4iaTzhF)4Hk54W+L4Q+!7+?BjP?x}hX;p;65~eu
zU{RcWGYF+ISi^rPsl!agNF#!{m}TGWx(Trt^dZdmcXx6pmGX?`lLE3#hMItm9=$2lV#B!C(371<#+haEka1C7niweH0AJfIc%LbPezbe%tViHZ8;y$kd?>Gc4PY~(SzIrrOSy`
zJ}^-S#tdS{6nUgzxZhtA7N`2H26
zkgMKkRi$W2kqb`0V9laiSFo~PglK5faa@04Eopt{5lZ>H(J;SU!WPITRShao5rduo
zRJ~pQJgKzl3^du1W~;-xXzvTX5dd4HK2sgH6V!UwG7oE9az9{4!JEZqx6ZXlCi+@B
zHD)$?C>V@F?^lm;{Vw6r^Ynv1+q|>s*b~eUO(mR_0JI&V5-ubr(S&f|Tjq|*I4AwF
z-*LS#f?v&2JZqSwWarmqnxXS^Rdx_DIR4J<48CLtP|k-hF9k{kAn__?SjXz)ymyV*g|;%x~w#9FBiA_Rk9C2R3AVtP}54lui7VQ9K~g|H;uUAMm@>
z>rdqM6`EK5M_Ph(9rB@9ep{$PkrFP9
z4cLfC@c(WwT97q-8iu6J7R>-!Cd;7zWCbnTxylr6Mh#l9n)Iy$%3~5Wso4W&cRW4k
zrT)HV%~}39uX`S6#)CiGN7K-6=y${t0$kndGj(ZCfj8=bH@Jdr>T|l(XL|i@1$<|{
zGBXXuw~OC}@~i7*)|ZQ{ujjc#O$q>=mK8ktpLzmm@Mn0iXSI-Lt)R{c0N%U-CjzfU
zjz6%H=|!JYINMcD&aZ#xw^_v9mT|T-Ik{GGwnyZ0#wwgRTs*oTEr)!E_<)rJpU3&O
ze|!MA-P-9!+fMKE;zr*UI0jDdYm&YVDeTg({1WZ!`d14Gg7!ta6c7;l53Lo%=-Ljo
zI=YcoC%=DLFrf#{waK*c{f!Y*NzrPwQNTB^}uR;B!)i}K&GYn0Am%XDKr`^wn9>e3!^2n>kyBf|NgIwn
z@9X)Z`ol|r@nOk5L>bTCLmQ_(LQ7FUn;cWSb<)
zC(M$+hb|mEE55tC)HuB(;KX@k)}7ZKZr78f5`FcPZb{ksOFPEs(4HQ4>#(Yiq)<;w
z6)Dv%Q7ucAC>59__qRx)Djbu5#
zy-eELuCO^(Q7)&vN7{&h#hM7|KdT(yTz+|kJF(qrTf^FR
zX(X85e#5swcx16VK2o)k=;%!2mdBAgp-XNS9AWz4=C|s@f38PnMmG1o{tsjES<>+L
zh{;k@4I~h+_x)vhoxaB9GNgrV_XpK_TaIi~W~Ec}=jL{0GVvyBLQAtzEw$RE$+@W;
zjnl_<`yiH9|K6tOAQDx(wOZgxO{Afx97>Pchh0NSPi7viWsId
zq-Hc*0exY1q21TH&9l=r$g+rhEsZj0TG6%w?zwG>FkgQUZ`L2OBC1;2T5)Lu@XP(K
zZ--3wdGWK|2FSi}d9<7n;t`^1+Cs7=!q?rn-Uzrt`-G(Yq)&{dB-;+;7%|(M|e-r9FxBWlfi5K}(7_m9}-FU7QAl_{P
zS^%HBK-}A5Hy}8Cp}B!iOdsm~-B3{~+$~XD(peS}n&WoVdfGfH-UV-93c;eD{eJYt
z9TwD`NZWySA&*z$@TFP8gP?Pp7F1<((w@7o_DzoGmv;4BPl*PnHYh|ZbHHjF&%lX@V?6S;bb>rUQ_xC?)t^+u3=2vKbO#`%Tii~NhTVEM&Z+^0Y@qNpZS?42y~
zETjcxnXDyRQ?jCnUA{@kD}-AZtKfk(U*n9<3q>i8U$$H7C-@~=n#h?BM&!IH7oMX!Aef|Y_7ZWME}*W~k?V@B
zs-&^7`>zcX))QBaSdEe+RBFM1ER^|3Eh6D5_5>qeLl?Ku#sLL@*e@7EA~L|z^D!f5
zfHymou09s!z&NWPyAoAQGF|kr7-7spLVY}H$krvM;`m_{8l2GgOEd?`QR&eKPe-qO
z?PdOr;{dqON+%of(Or1_w2Q4acP{RP$lzN#$eObFU_XvOENlix7?-%4Kc_&Bi3poH
zI`ewAY%tf;{LaBdq8k=T?VQH%HiTY&IdwBj-EZQmflMK{YO99q?4H
zaGRxiRF(ad^w|NT61Fa1dXadT;}V4C5Xz+Hu*{6(GUg@v^sMzduis)uQMYc9@u4oK
z9_i)SMr8vN;#r$5e
zZsQahN!SM%xox7Xoyg!=HMe;O0Oc6bb%LwXjH9Mo>SUZ9#ekn@cJfLN`48;mjwt$F
z;KYUzybUvXbs{>VVVx`qwzbeuBgaRrY25QM_oCWH-A$CF@4!X}?{3(#ufCe$|c7((=J``r;m^m15iGPLfbXY3An5b1~Cxcz6acYliGs#R~)
zVd$3}hW&>aL+(o$Lr!n)JdI%s#7hndrtIgGVe5+>!%UtC9keq-svxXDPj=&Og;9GB
zz=!)H1fvXY65uImwMv2zy?=ZYpf0jj$QsZts1vjF{Yy^-It@o&SQ~&F5^?_bS-ACS
zM0iS70|-xT=GUwA?KU48L9UikkWM;Ii;l&?tppfl63GYM7
zEcm&BUtx)=c7H`kgQM0;je5zNby)n*fY}Wge=68-{v$+)mj-BXQz9~>4t&fK&7$yP
zvTn(qCqpBps-J@kZDXj=<80}vY}qL`zw9itT$!S_CzmY`w5G1@))CYDzDvXAL*94F
z_4nmG&-aZ7{Z*_GJUahC+k!kH>|0|@Vp64|V<}eDs9D3>l=V|4R_gL*b!(dLDf};$lpNQ>a=|<^=Rf3T7Cl)r+{l_HK#iLY*&@j8%P)m&xOSVtGZsbTOS7LK5
zEplvY+sMo*mr=sZi$y#1ivaQ6(t6msYCSe!hl7@9AlsZ6wyp8M|JL~d?qCF5qrga%
z93!PjmOM1DCE!%vC%hB1Nou4VE0UWH<`$(I{^7F{@cIH7ZbA>|lA$_`
z&97U}EvXG?a^!}r$w4yZvXsc0NJAveQ@MzNx?wFk6gf>y0690YqB2GED-cxx%zRJ5oVdi*Y4
zLsX&BqW8#w+Y#)~bAP5pVUJG&&Uc^hSzqj~%AQn)o+{3N?c^(PAN8WWwhbDe3d22QcTkY4I$qpci^P@
zThJ9PDON2DDJm*HQJ{X)b2Tu_Q^tNce;8zN%FiS7*KGU#=wpBHUMlBlf{7*~~(9N=7#z=iC==Vo5k3JuC;k|XTA8*+L4ao)w3=TUnTZmo5gE|nQORsqoN
zjZ3>-TW>qcGB1_aBdgwm2lHGBYEv2G|1{}hYf0JZl2rOg<=4^hwBJ8WvFy#*E3SP5
z^g@_J2KIXrowz3q0hYR_5`QkT%bHR|MbHd0Dl2ww=b($@tboH>64d`oy`>e8Z*
zT@y2ZQm#J|6Uk;hr>u?rz(dhXsKodu;H^+1$|I6f$Nmidn9{ZIpE-fe^vl_u!&Yv@
zzbv{;5!=8PO3QMO$~fxVxayncPCCkG(vFv#HAvE&ppqH12QiP*K!QjYg~>REGvdkc
z8uSWri?CmZ2$LS!$2adxjEtD*8v3mY;IC@>B&Oosr_89yAn5`&A4^D2XE@`^O2>DJ
zI+Xokrdv-HF>mh7bh2k{P3hfU8?^oRTTl`CpSUR9<$W|L=-aDxRrjtt_kEdt(w+gT
z&igCd>Fn9DROl*bY#w#I55Ad$3+289mt}!_7~YXuP}=slaFv%#om@}N_u)23*42}CrS#BcEgDhb&A*C9*-F*6GXxczzbdgL^V@cIY*rD`CU
zfyYe`z!{)IqAiU(lP3}dEHu?D372ea?t<6=JX29#V0?-+K;{9y`;9Tw04FzLLDU_H
zV(e|sIxo&fyt<6t@U;-MKMu(|_2xe-lUWlwKVIoCcNMj{U61Z`o
zHiH^6g;`Z(bA=K+7cbmQws2*{0QFAhg+LgDu#?H#Zb|j@)@(ffLqW$7)C#V
zwaRM7$oxE9KpzbY+K#Na}KB_L>;T<}coaTPjbMN^R4~ul8^^v7@oEsee4jg7rbKp(!Wj)_1|
zv#~IrghR3q6YDrt?cOf5XQZ#wYu1B?e>ihxc;tft``n9oq9Hh^pN%&)%7ciRR>p+q
z|I1BmMn#{N&Kx>1hselV8&e_J!I1kNSJIW5^CXoNQd}PoPx4B$xIi0efK^6=~X=@jvTvyI*v{dJ6rETzCeqmq3
zraLOOG^wb!tr4etU8He%{4^X3el0zx{d{bK&j#6mM)n15mXq)0EQxip^KdDyu*%3MSq{F)JRCoYPBpn2?trml#*ZvH_>SCTuXN7NWkT
zd}w&&F?`7mx&G`}_e?!NC`u!r#_co_+|0;bG$53t$iM24ew$bG=h
zE~#D3#>Z{0_QJB*7)Medt4W6}Y}{l%6j=XWM^)C7?$
z(O>NyVz$cO^f5&iV)7T0D%k`x<1l0#GY`!kq|6iK1+w>?z!Lu2hV=$a7w|M1e{ptD*U|K3HT2=NcluRbZZv8?brTBQYCX
z#g`{NP~d67Z^xIxFvB=|c)DmcE?&a$2K3ExC4ywGKrT5zyX>$n#o#!D#+7Sg!VjNd
zJ);)5ws4(A7Ov@k9Y}b^;`G9ns3_}Fk|ZU>72}vPZ+e=7dD&2v@}Zj3g4zD^xX>8z
z?~Fr`Bl0v{=t*EBQg$PbGn4A1rAUZwxl7qiF1LlmpL1p~`N>76GBN=in6x-*ZQ2U0
z8TR|`R&;zfN%O-EmI?lVT#4AAFEf3XkvPaIbazJ=q_9_mY%xO#saEl)sN7d&(}kZ5
zr3Xr8N+;>CStbm7
zos+YeI-{6!5%gBOe|`e{^p{B{jl~QKm}h1&QG@0-IGN`8@GZM?^rU~p6;C8$(^I#m
z(35fJ!dBHo@C&~O3rm+ZXvmVqhzl*5I
zj!AdhBf(Kp%Gt6t38fizDxgbWf{m)?5o;vVSPG_=$Y`m7fDGRay)g`CH9_X4K^{Zm
zX>xVBfZWtM1X0v%)d(0~<2)*_wW2^xbWkR)hEIE9z;rq5-+eQyaR^)~hcs)Pu$%tI
z^1|%E{sKhAuo3F6yySH2blwl(>1@9j_X8#Fo-NWqsGAxy=?04pc}g*
zaLm+i&qn*pu{hq4tEJ#DikM
z5#eV&>$NPdmpP8^+zWGNKlLJ12Z*UG!MA^xte4SYM~S*6s!S^^!x~kNv9Vhy%OlpV
zHlpF>i7K$F{)KPGV%Eji%Nqjn!^Gdqh-pE=fxHC<`I$tgA490qy20iAPtO6ahO)sK
zN98`^fecmpW3Rap<_wy!Qv%UmfxG}9p8tL^!LWErteL#=w%g9C
zgruns_c+L8c#wDnns8mxX>#~JCKbsDP%Jbw=x=U*JRNVSN9fH*jrOqqDb*>Z62b$2=&|HRE{+tQwo{1Cqi8+cD8J~blzm%
zY-%-M<~OctydmpLAe?jmd>WJoxjIXLxy7tl{Eaxa@4W8D5z2pl8Je%g_aR8r2wRp6
zC&M2#{BZBdFgjw%^bErBGo;(3@Jeg!!Cm=m=mQii=aUjW-ZOR|x8LT+>XZj|cW+P{
z+S+Y|%gYVahkAF~ia3~2J(NK(JA~HJjC7uZnJS=-@IZw0B`D<#A}CJ`(#v3-<(Id|
zklDuoNm)^+@2EmV)2~XH8lS3dm&PZ&H+h%?CJj$3w2u(1W^$n8g%1lTBGCNIQirT_
z)A-Wq@=9B6v+4A_657J5Q^|~hq8dx<(yBYZ#OiyviRiiTde&sJ8q?*zdQ6px;<7yT
zDv8ZXv)M$Gw}Se$Vs7x1czV3u(1N$_qS9Yn9P20D^rvk~57NI)m1Lnrc5Sb4q*S?4
z6~|2TWL>kI7q?6sB~s~%&x%aps!pWPzC|=D+imKz^s74wUSan+L{X063xa8pvGba;
z^;y|4C2d_%XRWWE
z%(U64Ho5@bSsFY0Y_hd8aZ!8fTt;sRRIRs^@vwa5iM~}L>^eO}`Qm&BfhwT)l+N6n
zdU-^1KzqPyhy8NB<-O(A9l3JnQ7KVo<9Z1^w{i^yX~6ETVl?~U&00FGVyslL7LP;8
z@6y!Cq(6JEG77a{w_^6Miij0OjP>vlRxLs-d>jDtlbi*2BeW+H1YykqbLh!`Fj1xN
z;z1Gmi_TUnS{Q~D0B!67|A`9^tSJeIntrrsgD9@wC>STu(d9!!Oie`qbzRrD5T!Nw
z@8BC5vvS;9>F2;clM6LA4=_(VQB}GzMF4$1V
z6s;2W_W3+pn+-7sA2{T*Wu)v0IR}`S6idIfAwM2}*z!OxHomXZ4FBIh>9BqHb0K?M
zfA`srMeeg+k>23}-+zVn@tL}h72>td13WfDpwGfS*KE+YkTjYdhR)Z1pzU1VI{z1V
z{h!|U{~Nq!`saB6f9#qOpOuN8z-WE*^e!?OsP`3m
ze)vHD?+Y05QDAz9z@p#%QF8ETv|${uen47#FLb1sr+a=ugIfS?NB@RWIQ~7<&@Z9Y
z4(Z@?a{Eh!7$iKsb9ebbdV<@bHIG2w;5ib2`Fd
z(3rswA#MVDv~Zl*`z}WaewhgbfB}~GHlF4lu5HvHu)+h{K24NwR4})xO7U_=r~rQg
z2J=R}mx}%!gV%PevB;l{Y9^$UkmqkNdw-$=xV}t(&-Tbn!UJ1edYP0y6l~#FylKQx
zK=DB1l49awKzcTS>8)LfXEk@^YO3ot#4qSkm;Jk|NJmii{Y?LlAsqd7JVrg{VPvrW
zcCY>~pWn8FJTgXlbbyd8BLG)=G4{l3z6A&R>4P~8HgC6fwtlGKC0ulX&zFz4C7
zeDY%GSH9=HCsY=edBz1L)X$}dJ{z~Y!fwD`LL>l04M>b^?Ga|NdW9
zz|XiU(nUbf_-`fZ+teSG`m?={r{5h|zXM^w;K>ZyEt)8}x6Q|57zLSec&=iY;{fuMA7r_lAZJI?8Rp
zyImD2Sl|{gNimV^6rnyOzW5thXlyV>{`|dO-JfhU
zh-W?4ZO;v^BV9c6Y-+zO{q~y=GhLNp9;i>NnPK7*00cKTh*X$hrKI#?;(oN~Eiv-x
zzish=h5W=&K~8}Cp3mUy`P&n|F)G;jPy$Dup+z|kO7@>7Uok-={QwH&!wZORIDPeg
z#4T_3ZeusQb~gKzpKBj)g+uzg^j?h_6v;i__d}QasY#S1f9MiU3<^U^TEpMHb`BEJ
zcQ49%WjTj4E{|;8Yzj`+z?WcnyCHD09*q#UIWQhtZ>N2^^C}a<29$1o9NpB2`+moK
z%ZRQ?QCx-|a-21X(KhWML#>xvRfAQ%B~F#h2o`k?t5B)tX1C_6QX8`XK=R+iLy1yA
zk&BYIS|jjW;)1*&ne68>NnbO&R64^VN-w&czR2CLA9hmBPx032R2wjWot%6&cy=rf
zy+AkZC`%@VF48Z2n%Nz}k-ai7kQ!Sq7u>tuNaB+9iie#T(Fg=R&L9z1ko8qnZ`a$V
z@j>!~Uk>t-xW6O|yGE5pvb5l-P_$5xLJ^ea;Jp=B*TkH(|C|%;PMZd+Z|0$SeC(Dj
zwQ=_AfzeaCZMPCi;2Cv-n<-ZvfBGIO;qH5;N2al?$~bjMEJ1ioV8vx{#FdE@2FRh{
z!mhzyB7e9yUxcW*AthLv)p2f6$KYh>;NG*$bRu$4Kbd;)pgoJOTI*BqsY>fiS+4th
z!{|j`A?jF0DO@a}4o7?{I)YQt;}uF}AgSyfuUYZP^~-hIg5_p81MzlhHr65W6gm`p
zAu>|PWczF>Dn5urwzS%I=BjA8Flb(W3}%L4yS$rUIZecu4P{C}x#_WOl{_d^GKOBX
zv6Zy7Ks2_6Q`k);RqvcWIN8Au?ow~e&Z8Lrm4?7&ijAR=bGR*?98?~&5ykM5$L>WK
zOq;$8Oi!GGcOv3u$R{sd>$h7>I6*~a9)0|ALw#7@L=Y;XJ
z@99A?oSfvT8>nh(F-&9-g)MkC%MikP)8uId@qG{w?@|c`Mj?O)W)kH!er{28y
z3nH$poB=8N+#It_tz`COp?20hqYH#%+G5}Pwl3-FBTRIkeus&Xu?Q6X;&oSBdzlhV
z@4)E|^!I(k-DU-p1k;V>vo*q!u<~)O((EE?f9CrX)E6q_Q7M!66MAE0pdqy~k%E^V
z!)l={OJCu7=R_``msNH?zUgn>q>Of*u;J2Qq#MQA=v0sn|4Ru>W<84`0m+Ok_xECF
zRaRN&FST^AUGyB0_RmF!YsGX+hRW(4B8^_`lQsK069Ws6I-g5BDLM-U+O!3tXZr3G
z9qr1m5tYu-yU3ndqk){$Xk3;pq(ASnd#XF5+Vq&W#8NRVR@R%g@GRutzMBM*e#arX
z1PE`HFuT}mcg|^XTx$9L|yLW_q2MV9KE!wdr+Cv3iGW@*%3@rmOrz-2JYuI(4L7O
zEw@`rnHkzRmy&6`nL$H8H3|J3aF3)5UN%)KP*=A=4VWMDC5M`h9uF0RGmGL(lTmCH
znbzU+W({r}Uwt^pAXKEewa%g*o8rc*MDtQqizOyfS88Gp8GBb?TM=6Tl#%n%M$&jh
zgUqb?xqb;!)j5D4jQ&4Vt@=*<}I+SY9=mp75QF_aGGNG050QQ&qXv!IMUxfUNPQYonQv@h2`TLz0j
z_s*Yu84V^VB?@;2wE%sC1gdwwCoZ4!oN1BMD2tU@yXUg;K#7%QN9FxsQN@ol|6H@m
zj)GTtd%d47%$-JPNLEqbaV=A;%Ifuh1jOGqW}#kAa73Y$0L`-eDqKWz*cWe
zA&CUivqbeDYbn7s1Rw#;G9FXh%_-Jij5uyd{(9%6{`hltgv*W{F#3He({fPGyp~8!
zuspWO!4yQUad>Ju+Gy|amWX-k?c=emnkCJuHwo7$tTaw8e)66z?ho5K=Pm!YVjk6BuONYEs2Kg^7C_+ioPjW_$8G}U2})B(@{LonkP5>9;Q
zcXbjODc<+wuj0A|#YoTUBCb8iIIu2?x=TRFxDgR;DHcjZR(=zEblCfp@1#_!GFe*&
zR6UjJry>Y=a$OlfnF>l%C
zxUxG;e*Nw7rY^X7aA7>SWcXA_ZMIX%ORz&K7Qr7K6MTAb-XSV*YkT?-2d)z)b3cqQjb
zqzc{CS20}la6mC&Rqm6b{A6?x6MzNMqe6g}AxP-f6L;oy$p&R4jqBKf!i`hI(f~^p
zA>lr%+om=t$7k*92M^1WPu8}u`gelyjH8;;rzUo}HZrY6_y`#z?4{?XS_J7c
z)8~zU%=B|2J*0LyKisPYJE4^hI5q+WfkFn?-Q6JigD(=-7-@1=4LPuV6B;kEFK6ZK
z7G3zX^R#Mh>b9r4XdlL1_cV?Ar)fDayiYu+pOWmEU_d)W2XNl!bWCywmitxX2^UC;
z#zlhlZ}LA9^5LmQyU;yK`&n^v7W=r&b}cBB1H#G#0Jnt_)A~#iiopv?vcMM>k6GRZ
zMYjr}phtB|9XTx&YX;G)hv~XZKF!g{q)sb))p8Sdv5L%UUoYoaF3v-tbHs5su$%6s
zUVrP_$Azg>ks}8F5zA-AKeiz~)$U4XF2S)K{3~)_z%8RKV4T&bX1aF4AG!8iFY+GW
zBF|VIc~0V{6BF6!p}~KmB6~ua6h!CKg$^1a)cb02cnpX}zI!upXN)IFn6aun%#Il>
zU$u+^)n=GU+IyBaVkZZp_f#;#t+*hO#o{R^Aw`2Dc{?gGPty=dc8Y2BI*%d@_fW*H
zdq|spG>EKQ9h}U4^B`Ze!nH+7rk?hEL2F+4ZLW+`o=P@4O2W!qB)IDOasX_Hn)1Lj
zljH`$v$x~|S~%`ltIJh|XgCl0fiHKw(0OVs{ZhhvCFoe^EwKH1!r&$3mS2R`ieyNtr;nLJ6u|B#`_=IkSzGsV#hrVeaO79q+gmvT!bN0h@2-sg0h!eTn
zgLJYw7tpBbrg^HI4wE~Gyo+s-j-wG=3Zx?z4(xMcGg?v2t#D^cr!G$|U#!)_k
z+Of8LKY75I&10WB5!n((dTLfCralGw9O5JySZ=;O#PCH$tNSu0NjZny@mOej*3iMVAX-3BRKS?@eG
z-`s5^i(x_L5dsn1KZp|KifW#!ZuQ!yzx2=3l8k{zPDmnCO@ldQhjy%v-9>BWMYlO=
zImcWUosyz&h4e0h)=nmbJ~#{cK@Wg*kJ^376tcjP*hT%*j!wwGnfYm&7DBqV-P0L7
zgC4b*7V^0Cb+#v?#nbJwv$xt~nRfgW{bmWYr>wUR%g}vHKhGRN^cXcT>K2s(4&X0h
zTm|)c^B)2BQBu!jCs&)&2Xwqu1~uVREG6&ga;%AJJz5yyqThQyS2&N}_`bK8f{V81
z4i0ntI2mkh66*O&yzI{{w-kZb#3v?^kQg_)r^ES404jiTAOBQtLafGXe-xp=TGnFD
z4SW>$Iu#}La?N7&yk9n?AjwiVS)F`NIu*v+5IW{wTs@Q>t$CYAGv(}UKb1ABPXhil
z2;;u(s^pJ&Pj6$TVJs@lP<_O$SI{9U&5~e54nLviZmm6#4@qspx2i34fEC#RQ!m)iYah3#+`aPND|Jx*v*FVfn;6C(%)EF8S22^|aHj^&Gyg`k
zH7G~i=!B}ISAvOS@*ShnWKzeb35E~F-DfCO5f=vEccv~Yr7DQabPSF!bLNY_6HQK)
zc*dsf+gcU?m%+Jd*~!dq$Hi>3Z7=(@g!#zOAe=pVEk`{Pjpcl8zpF
zew9mx;r;-irHDnLRCa(J<{e-75K>{WDA*@|b$O&lh*w)Wv)9vbHRD-1s#IhJP99e;
zOLX4PB(vK$u&8M5mese1Te~C+N%5D~q1_EUfAUE3^0s&nQj?*;Hw_C;p111A#w;T;F`O5)@wVBxTqU#oWawS1&%!HR
zR)m>xH(?-&`-^}EtC_Y9v87VJ)+|#q0v2L*N>Vq6ab%YSOP`(VU=u$@#_N6|
z%ZAAaeN4LGI=}0#-r4F-vpUA~Gzl7@$$Svryn=ZG{AgjI7NA}Obv+!MAs~+!$imf%
z#Nh~@S+-8R-|Pv%7jmpDhN&a4ZnXd|u{gwIvm%TzFqj%}w{
zFp*Sm-b^ORZByVaHDU8X2c(jq?|$goE8OH9Ij}}S#d#iwB6Le6X3lweq!oZmL@2Q`OaJUh
zjfe8+4stl+?84mv?7NF%K
z@wMsHZK&kq)@NR7PA(r4s(cotNb75PDG+AQ32pRT$Z9D6-<;Zn@nHb7?Lc|D#`g
zBndv8(+U8MN(kx8Gl$&~c`v)X$O04_vn6j^E4HdfxsV_UcwXdNSIYhq&$W4swMi6>
zd<`aYUbp7Jt$XHpz0I;++ZVzok`xc0XK;AK2gcaHhY4B&jyN9y1U*O3C^m?DFzP+u
zr4?WuWmB09n^Q^c)Xm~kgvY8#B)tg-f)7!p@5AEChwJ0kJ7Q=Bd@~WR+1kZkO|Ui1
z>+&B6Q-c%&R;uQMHeOp|H=7Ix+}KMzNJN?QqH`WQ07jmXo}R;9&jfhk0d3`G#g-gm
zy5+6uZ;gse!<3Nk8o68>>Zd>G-r+uCGBvLI=SKOcsxByMuRNv!uSX%xVH^EZ+L?#_
z>l!$udkVB96V%h2KJ&IcLfv|)WNFRNER6Q8bpzl?+eC`<7BXp
zgRPaXlg%2>@FL@%sEbRb!<3%7LYO{miam|=(r7J69W-F?*~1-LjYYqcALbpf
zrdmR?C_)f6+v?sbnvVkZGdS*7U{3gra7C!9Pw%R_&l#=+Qk{<557-M~g%BgX-3b&h
zVQWzb@!Af&J$YU$u~r)N2EHlOYhOJ|-#LQQ;8hI30Roi+wLeEn9(YchXf0bXWG!ND
z`7tD4>FWh
z4TWH_vy%Pr^#rJ~
z$Qtzk>d<_x7xdc@Z+4hSYO-y9dazi=_3o3-JHoh?f^gRkjB8GXeS
zM(1^4x>=7_G2Hc5@7!5wnVMr{QEjl)?Di(pS}C-dSO%P8^cbTm>1a}{PQn~+aY!e1uvmElQ+kz77G49{jXYxOhZZNu&k
zrx)|IE8>IF1!^yfqBcvSfuyENW?HRP@YF_IAL@F_@%tT*>3PNAoKd(1=*3z^-(7aYg;-UPW3(UaGP2FZ@R-V&
z?p|^(s{HAqiRw?SdNVsx>@vkTtq+ZWM^c|?bRVn-;>}3j+Mi}2J&3(|>kS-~Bs6=6
zYb0{t@<8@nQ9lC@Uiv4(c#4C%N<7BF!#FQ`$%*&!W}u4ZkUS*X_m7{zbrAHO6(*>x
zok)O$jaf0>@F&0#3*ha}n>fa~GH*DU!#B|>LCKBOU=@5d)-j!osj9Uw7lC0eH8E|U
z$cZkF>BT)lrr9hdv;Ty%weCR#?R((Z|8j!
zIRl`bv&dl{Q{p35?-yi=a5i|jDq5zRI%Ayz=uD-MuGtyeoVKuynBi^l_0b;?ztUU8
zyCwsRDx~mSL^baG%Js#KIbar0Gx#G5d98OB40kcGw@Rm7$e(r}m{Z(6x57YOv}K|Q
z-%&lIr$r~5k-3PadS%cC3oZ3(kA<8a`n?BY&CqYzochHs+)kBGwX3RJrsu45oMa}W
zI$bYB1rHCs5i(E&c!lj!YEhR3SY;pLUp{dIkmCP^YqI~Jx#oY?2md$MO!gjU5_CT1>Z*~AW(bvuSr+f1s`GG5*9>#a~&A)
zaFVjKQF0ML(}G0CpBVwfnY9JHygg%MD;*fcdO83f4Iif;=^Cc~cMMP;4oqYHYb6u<
zi7T}nx*ui#5Q4eQLk`$89T?}=kpT!hU>1&*miBHB01M4OrHNwv#Rsfb-ye2-dw1rL
z4(QHR>V7X6J7?fu?EbFTjUKf=sw%3ZDW-^Ozo#-Xc$v?=Q!}gcM`df|bO-idWLr$r
ze`e>$^1^P9Yr1P~Wf|-k$R5*QynkhZ;6+Zn3&gGU(KlHBY!6P~<@U_-pZ0(Yzpc#9cO}v_{RLig0ig3qkfM;*UwVlB
zU;RoMpMG=4f1#0n>ma`R2=9LL+J9>o{5pnz``$kG3QD%GZ&IXjcG33n;9>T^LjZwM
z0Q`CwUQ1_x)!Hk9VtUT}lJ4&UHv9eJzx?*cJ2QLXg;0!NXd$SWuK1!^X%$&<`Jqv<
z)SRsRODewq7XP$b1ycLZzOv%)cNO}C(1
z%jAd%i3+KyCLHYTE%y~E@3y$D+&g=dz2eo72h#jJ-J^x3qpt(+&pi7AXRLF$18m=c
zdTgwF|7KbG4b^{NRhwU4S|0(<``Klr+}w@+9=+8i9rO)|2Tl+C@wp=8I#9DPg$_HGy=whaH+0b
zrVx)N4|)467qh-k#pF>7Wm1cG=4bPe&E@F5kx;aUb2->lb|DRxdy4d-IPY?1P^-}P
zKz|L^fR0*Fieu&Xz?-F_9=32~y0W>0t)jw2=^aXhYj@eOLDp4e%H5t#WElBw%nu}4H!LVi*SWl(SFXFd7141vo@oT(MQCr0qIb8I|}86a_27WWE+Gz
z+;v*i-WDi9{>l4ttJ|D7mHzbWU=`Ca_jsonS}kbLmLv(!Pu)&wfY#HkXs>%fzY}&1
z^!TT7=TDsE8gunuXVa0TnMURDu|4D(M)GZX!cYoeAMf^TAa|H}8UX%noU?$CxaiRN
zZ}x43B&$P<3JKSW3A-B`nV+2))lp)@fd}?S=WXAmWHF7=N}|E+3?&dln5l)