From 12ff4555b0e32f04c2ce17f23733785a161f486f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=96=87=E7=A1=95?= <10699971+wilsonleehw@user.noreply.gitee.com> Date: Wed, 5 Aug 2026 21:18:42 +0800 Subject: [PATCH] update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李文硕 <10699971+wilsonleehw@user.noreply.gitee.com> --- .../mm/SJD-PAC/MINDSpore_NPU_MIGRATION.md | 11 + research/mm/SJD-PAC/README.md | 78 + .../dataset_tools/dataset_templates.py | 266 + .../multi_gpu_dataframe_split.py | 62 + .../multi_gpu_infer_with_prompt.py | 160 + research/mm/SJD-PAC/eval_model.py | 183 + research/mm/SJD-PAC/evaluation_metrics.py | 193 + research/mm/SJD-PAC/figs/ablation.png | Bin 0 -> 42261 bytes .../SJD-PAC/figs/acceptance_distribution.png | Bin 0 -> 66012 bytes research/mm/SJD-PAC/figs/make_figs.py | 166 + research/mm/SJD-PAC/figs/speedup.png | Bin 0 -> 75538 bytes research/mm/SJD-PAC/figs/tv_distance.png | Bin 0 -> 66509 bytes .../SJD-PAC/lumina_mgpt/inference_solver.py | 542 + .../mm/SJD-PAC/lumina_mgpt/model/__init__.py | 2 + .../lumina_mgpt/model/chameleon/__init__.py | 47 + .../chameleon/configuration_chameleon.py | 288 + .../model/chameleon/modeling_chameleon.py | 1876 + .../model/chameleon_vae_ori/__init__.py | 2 + .../chameleon_vae_ori/image_tokenizer.py | 146 + .../model/chameleon_vae_ori/vocab.py | 122 + .../model/chameleon_vae_ori/vqgan.py | 675 + .../model/configuration_xllmx_chameleon.py | 18 + .../model/modeling_xllmx_chameleon.py | 69 + research/mm/SJD-PAC/mindspore_metrics.py | 69 + research/mm/SJD-PAC/mindspore_runtime.py | 834 + research/mm/SJD-PAC/mindspore_transformers.py | 51 + .../mm/SJD-PAC/model_wrappers/__init__.py | 0 .../mm/SJD-PAC/model_wrappers/model_loader.py | 100 + .../SJD-PAC/scheduler/logit_processor_3dim.py | 236 + .../sjd_pac_iteration_lumina_mgpt.py | 1125 + research/mm/SJD-PAC/setup.py | 16 + research/mm/SJD-PAC/test_lumina_mgpt.py | 159 + research/mm/SJD-PAC/utils.py | 14 + research/mm/SJD-PAC/xllmx/__init__.py | 0 research/mm/SJD-PAC/xllmx/model/__init__.py | 0 research/mm/SJD-PAC/xllmx/model/tokenizer.py | 162 + research/mm/vispec/MINDSpore_NPU_MIGRATION.md | 11 + research/mm/vispec/README.md | 107 + research/mm/vispec/baseline.sh | 113 + research/mm/vispec/exp.sh | 141 + research/mm/vispec/exp_eagle.sh | 136 + research/mm/vispec/exp_medusa.sh | 136 + research/mm/vispec/figs/speedup_t0.png | Bin 0 -> 19489 bytes research/mm/vispec/vispec/__init__.py | 0 .../model_judgment/gpt-4_single.jsonl | 480 + .../vispec/data/mt_bench/question.jsonl | 80 + .../mt_bench/reference_answer/gpt-4.jsonl | 30 + .../vispec/data/scienceqa/captions.json | 10341 + .../vispec/data/scienceqa/pid_splits.json | 40311 ++ .../vispec/data/scienceqa/problems.json | 418394 +++++++++++++++ .../mm/vispec/vispec/evaluation/__init__.py | 0 .../vispec/evaluation/coco_caption_prompt.py | 41 + .../gen_baseline_answer_coco_caption.py | 467 + .../evaluation/gen_baseline_answer_gqa.py | 480 + .../gen_baseline_answer_hr_bench.py | 485 + .../evaluation/gen_baseline_answer_mme.py | 487 + .../evaluation/gen_baseline_answer_mmvet.py | 467 + .../evaluation/gen_baseline_answer_msvd_qa.py | 476 + .../evaluation/gen_baseline_answer_mvbench.py | 500 + .../gen_baseline_answer_seed_bench.py | 478 + .../evaluation/gen_baseline_answer_sqa.py | 586 + .../gen_baseline_answer_synthdog.py | 477 + .../evaluation/gen_baseline_answer_textvqa.py | 489 + .../evaluation/gen_baseline_answer_vicuna.py | 463 + .../evaluation/gen_baseline_answer_vizwiz.py | 481 + .../evaluation/gen_baseline_answer_vqav2.py | 480 + .../gen_spec_answer_coco_caption.py | 437 + .../vispec/evaluation/gen_spec_answer_gqa.py | 428 + .../evaluation/gen_spec_answer_hr_bench.py | 431 + .../evaluation/gen_spec_answer_mmbench.py | 435 + .../vispec/evaluation/gen_spec_answer_mme.py | 435 + .../evaluation/gen_spec_answer_mmvet.py | 414 + .../evaluation/gen_spec_answer_msvd_qa.py | 424 + .../evaluation/gen_spec_answer_mvbench.py | 455 + .../evaluation/gen_spec_answer_seed_bench.py | 426 + .../vispec/evaluation/gen_spec_answer_sqa.py | 533 + .../evaluation/gen_spec_answer_synthdog.py | 425 + .../evaluation/gen_spec_answer_textvqa.py | 437 + .../evaluation/gen_spec_answer_vicuna.py | 434 + .../evaluation/gen_spec_answer_vizwiz.py | 429 + .../evaluation/gen_spec_answer_vqav2.py | 428 + .../mm/vispec/vispec/evaluation/gqa_prompt.py | 49 + .../vispec/evaluation/hr_bench_prompt.py | 50 + .../vispec/evaluation/mmbench_prompt.py | 49 + .../mm/vispec/vispec/evaluation/mme_prompt.py | 49 + .../vispec/vispec/evaluation/mmvet_prompt.py | 49 + .../vispec/evaluation/msvd_qa_prompt.py | 54 + .../vispec/evaluation/mvbench_prompt.py | 54 + .../vispec/evaluation/scienceqa_prompt.py | 208 + .../vispec/evaluation/seed_bench_prompt.py | 49 + research/mm/vispec/vispec/evaluation/speed.py | 100 + .../vispec/evaluation/synthdog_prompt.py | 38 + .../vispec/evaluation/textvqa_prompt.py | 49 + .../vispec/vispec/evaluation/vizwiz_prompt.py | 49 + .../vispec/vispec/evaluation/vqav2_prompt.py | 49 + research/mm/vispec/vispec/ge_data/__init__.py | 0 .../ge_data/allocation_llava_pretrain_gen.py | 92 + .../ge_data/allocation_llava_shargpt.py | 84 + .../ge_data/allocation_qwen_pretrain_gen.py | 99 + .../vispec/ge_data/allocation_qwen_shargpt.py | 84 + .../ge_data/ge_data_all_llava_pretrain_gen.py | 183 + .../ge_data/ge_data_all_llava_shargpt.py | 177 + .../ge_data/ge_data_all_qwen_pretrain_gen.py | 189 + .../ge_data/ge_data_all_qwen_shargpt.py | 178 + .../mm/vispec/vispec/mindspore_accelerator.py | 52 + .../mm/vispec/vispec/mindspore_runtime.py | 678 + .../vispec/vispec/mindspore_transformers.py | 20 + research/mm/vispec/vispec/model/__init__.py | 0 research/mm/vispec/vispec/model/choices.py | 27 + research/mm/vispec/vispec/model/cnets.py | 1172 + .../mm/vispec/vispec/model/cnets_medusa.py | 440 + research/mm/vispec/vispec/model/cnets_ours.py | 1244 + research/mm/vispec/vispec/model/configs.py | 154 + research/mm/vispec/vispec/model/kv_cache.py | 166 + .../vispec/vispec/model/modeling_llama_kv.py | 1401 + .../vispec/vispec/model/modeling_llava_kv.py | 14 + .../vispec/model/modeling_llava_next_kv.py | 14 + .../vispec/model/modeling_mixtral_kv.py | 1306 + .../vispec/model/modeling_qwen2_5_vl_kv.py | 2508 + .../vispec/vispec/model/modeling_qwen2_kv.py | 1399 + research/mm/vispec/vispec/model/spec_model.py | 527 + .../vispec/vispec/model/spec_model_medusa.py | 521 + .../mm/vispec/vispec/model/spec_model_ours.py | 582 + research/mm/vispec/vispec/model/utils.py | 601 + research/mm/vispec/vispec/model/utils_c.py | 200 + research/mm/vispec/vispec/train/__init__.py | 0 .../vispec/train/llava_1.6_13B_config.json | 25 + .../vispec/train/llava_1.6_7B_config.json | 25 + research/mm/vispec/vispec/train/main.py | 712 + .../mm/vispec/vispec/train/main_medusa.py | 721 + research/mm/vispec/vispec/train/main_mtp.py | 825 + .../vispec/train/pangu_mm_pi_7B_config.json | 27 + .../vispec/train/qwen2.5_vl_3B_config.json | 28 + .../vispec/train/qwen2.5_vl_7B_config.json | 28 + 134 files changed, 508779 insertions(+) create mode 100644 research/mm/SJD-PAC/MINDSpore_NPU_MIGRATION.md create mode 100644 research/mm/SJD-PAC/README.md create mode 100644 research/mm/SJD-PAC/dataset_tools/dataset_templates.py create mode 100644 research/mm/SJD-PAC/dataset_tools/multi_gpu_dataframe_split.py create mode 100644 research/mm/SJD-PAC/dataset_tools/multi_gpu_infer_with_prompt.py create mode 100644 research/mm/SJD-PAC/eval_model.py create mode 100644 research/mm/SJD-PAC/evaluation_metrics.py create mode 100644 research/mm/SJD-PAC/figs/ablation.png create mode 100644 research/mm/SJD-PAC/figs/acceptance_distribution.png create mode 100644 research/mm/SJD-PAC/figs/make_figs.py create mode 100644 research/mm/SJD-PAC/figs/speedup.png create mode 100644 research/mm/SJD-PAC/figs/tv_distance.png create mode 100644 research/mm/SJD-PAC/lumina_mgpt/inference_solver.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/__init__.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/chameleon/__init__.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/chameleon/configuration_chameleon.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/chameleon/modeling_chameleon.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/chameleon_vae_ori/__init__.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/chameleon_vae_ori/image_tokenizer.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/chameleon_vae_ori/vocab.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/chameleon_vae_ori/vqgan.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/configuration_xllmx_chameleon.py create mode 100644 research/mm/SJD-PAC/lumina_mgpt/model/modeling_xllmx_chameleon.py create mode 100644 research/mm/SJD-PAC/mindspore_metrics.py create mode 100644 research/mm/SJD-PAC/mindspore_runtime.py create mode 100644 research/mm/SJD-PAC/mindspore_transformers.py create mode 100644 research/mm/SJD-PAC/model_wrappers/__init__.py create mode 100644 research/mm/SJD-PAC/model_wrappers/model_loader.py create mode 100644 research/mm/SJD-PAC/scheduler/logit_processor_3dim.py create mode 100644 research/mm/SJD-PAC/scheduler/sjd_pac_iteration_lumina_mgpt.py create mode 100644 research/mm/SJD-PAC/setup.py create mode 100644 research/mm/SJD-PAC/test_lumina_mgpt.py create mode 100644 research/mm/SJD-PAC/utils.py create mode 100644 research/mm/SJD-PAC/xllmx/__init__.py create mode 100644 research/mm/SJD-PAC/xllmx/model/__init__.py create mode 100644 research/mm/SJD-PAC/xllmx/model/tokenizer.py create mode 100644 research/mm/vispec/MINDSpore_NPU_MIGRATION.md create mode 100644 research/mm/vispec/README.md create mode 100644 research/mm/vispec/baseline.sh create mode 100644 research/mm/vispec/exp.sh create mode 100644 research/mm/vispec/exp_eagle.sh create mode 100644 research/mm/vispec/exp_medusa.sh create mode 100644 research/mm/vispec/figs/speedup_t0.png create mode 100644 research/mm/vispec/vispec/__init__.py create mode 100644 research/mm/vispec/vispec/data/mt_bench/model_judgment/gpt-4_single.jsonl create mode 100644 research/mm/vispec/vispec/data/mt_bench/question.jsonl create mode 100644 research/mm/vispec/vispec/data/mt_bench/reference_answer/gpt-4.jsonl create mode 100644 research/mm/vispec/vispec/data/scienceqa/captions.json create mode 100644 research/mm/vispec/vispec/data/scienceqa/pid_splits.json create mode 100644 research/mm/vispec/vispec/data/scienceqa/problems.json create mode 100644 research/mm/vispec/vispec/evaluation/__init__.py create mode 100644 research/mm/vispec/vispec/evaluation/coco_caption_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_coco_caption.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_gqa.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_hr_bench.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_mme.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_mmvet.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_msvd_qa.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_mvbench.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_seed_bench.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_sqa.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_synthdog.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_textvqa.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_vicuna.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_vizwiz.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_baseline_answer_vqav2.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_coco_caption.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_gqa.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_hr_bench.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_mmbench.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_mme.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_mmvet.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_msvd_qa.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_mvbench.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_seed_bench.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_sqa.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_synthdog.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_textvqa.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_vicuna.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_vizwiz.py create mode 100644 research/mm/vispec/vispec/evaluation/gen_spec_answer_vqav2.py create mode 100644 research/mm/vispec/vispec/evaluation/gqa_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/hr_bench_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/mmbench_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/mme_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/mmvet_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/msvd_qa_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/mvbench_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/scienceqa_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/seed_bench_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/speed.py create mode 100644 research/mm/vispec/vispec/evaluation/synthdog_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/textvqa_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/vizwiz_prompt.py create mode 100644 research/mm/vispec/vispec/evaluation/vqav2_prompt.py create mode 100644 research/mm/vispec/vispec/ge_data/__init__.py create mode 100644 research/mm/vispec/vispec/ge_data/allocation_llava_pretrain_gen.py create mode 100644 research/mm/vispec/vispec/ge_data/allocation_llava_shargpt.py create mode 100644 research/mm/vispec/vispec/ge_data/allocation_qwen_pretrain_gen.py create mode 100644 research/mm/vispec/vispec/ge_data/allocation_qwen_shargpt.py create mode 100644 research/mm/vispec/vispec/ge_data/ge_data_all_llava_pretrain_gen.py create mode 100644 research/mm/vispec/vispec/ge_data/ge_data_all_llava_shargpt.py create mode 100644 research/mm/vispec/vispec/ge_data/ge_data_all_qwen_pretrain_gen.py create mode 100644 research/mm/vispec/vispec/ge_data/ge_data_all_qwen_shargpt.py create mode 100644 research/mm/vispec/vispec/mindspore_accelerator.py create mode 100644 research/mm/vispec/vispec/mindspore_runtime.py create mode 100644 research/mm/vispec/vispec/mindspore_transformers.py create mode 100644 research/mm/vispec/vispec/model/__init__.py create mode 100644 research/mm/vispec/vispec/model/choices.py create mode 100644 research/mm/vispec/vispec/model/cnets.py create mode 100644 research/mm/vispec/vispec/model/cnets_medusa.py create mode 100644 research/mm/vispec/vispec/model/cnets_ours.py create mode 100644 research/mm/vispec/vispec/model/configs.py create mode 100644 research/mm/vispec/vispec/model/kv_cache.py create mode 100644 research/mm/vispec/vispec/model/modeling_llama_kv.py create mode 100644 research/mm/vispec/vispec/model/modeling_llava_kv.py create mode 100644 research/mm/vispec/vispec/model/modeling_llava_next_kv.py create mode 100644 research/mm/vispec/vispec/model/modeling_mixtral_kv.py create mode 100644 research/mm/vispec/vispec/model/modeling_qwen2_5_vl_kv.py create mode 100644 research/mm/vispec/vispec/model/modeling_qwen2_kv.py create mode 100644 research/mm/vispec/vispec/model/spec_model.py create mode 100644 research/mm/vispec/vispec/model/spec_model_medusa.py create mode 100644 research/mm/vispec/vispec/model/spec_model_ours.py create mode 100644 research/mm/vispec/vispec/model/utils.py create mode 100644 research/mm/vispec/vispec/model/utils_c.py create mode 100644 research/mm/vispec/vispec/train/__init__.py create mode 100644 research/mm/vispec/vispec/train/llava_1.6_13B_config.json create mode 100644 research/mm/vispec/vispec/train/llava_1.6_7B_config.json create mode 100644 research/mm/vispec/vispec/train/main.py create mode 100644 research/mm/vispec/vispec/train/main_medusa.py create mode 100644 research/mm/vispec/vispec/train/main_mtp.py create mode 100644 research/mm/vispec/vispec/train/pangu_mm_pi_7B_config.json create mode 100644 research/mm/vispec/vispec/train/qwen2.5_vl_3B_config.json create mode 100644 research/mm/vispec/vispec/train/qwen2.5_vl_7B_config.json diff --git a/research/mm/SJD-PAC/MINDSpore_NPU_MIGRATION.md b/research/mm/SJD-PAC/MINDSpore_NPU_MIGRATION.md new file mode 100644 index 000000000..046d2811f --- /dev/null +++ b/research/mm/SJD-PAC/MINDSpore_NPU_MIGRATION.md @@ -0,0 +1,11 @@ +# MindSpore/NPU migration notes + +This directory is a MindSpore/Ascend port of the sibling `SJD-PAC` tree. The original directory was not modified. + +The Python code has been redirected away from PyTorch/CUDA entry points: + +- `mindspore_runtime.py` provides MindSpore tensor, neural-network, random, serialization, NPU sync, and timing compatibility helpers. +- `mindspore_transformers.py` routes HuggingFace-style APIs through `mindnlp.transformers`. +- `mindspore_metrics.py` removes PyTorch metric-package dependencies from the quantitative evaluation script. + +Run this copy in an Ascend environment with `mindspore` and `mindnlp` installed. Use `ASCEND_VISIBLE_DEVICES` or `DEVICE_ID` instead of CUDA environment variables. diff --git a/research/mm/SJD-PAC/README.md b/research/mm/SJD-PAC/README.md new file mode 100644 index 000000000..b0365c909 --- /dev/null +++ b/research/mm/SJD-PAC/README.md @@ -0,0 +1,78 @@ +# Contents + +- [Contents](#contents) + - [SJD-PAC Description](#SJD-PAC-description) + - [Framework](#framework) + - [Environment Requirements](#environment-requirements) + - [Script description](#script-description) + - [Script and sample code](#script-and-sample-code) + - [Eval process](#eval-process) + - [Usage](#usage) + - [Launch](#launch) + - [Result](#result) + - [ModelZoo Homepage](#modelzoo-homepage) + +## [SJD-PAC Description](#contents) + +Speculative Jacobi Decoding (SJD) offers a draft-model-free approach to accelerate autoregressive text-to-image synthesis. However, the high-entropy nature of visual generation yields low draft-token acceptance rates in complex regions, creating a bottleneck that severely limits overall throughput. To overcome this, we introduce **SJD-PAC**, an enhanced SJD framework. First, SJD-PAC employs a **Proactive Drafting** strategy to improve local acceptance rates in these challenging high-entropy regions. Second, we introduce an **Adaptive Continuation** mechanism that sustains sequence validation after an initial rejection, bypassing the need for full resampling. Working in tandem, these optimizations significantly increase the average acceptance length per step, boosting inference speed while strictly preserving the target distribution. Experiments on standard text-to-image benchmarks demonstrate that SJD-PAC achieves up to a **4.62× step compression** and a **3.97× wall-clock speedup** with **lossless** image quality. +## [Framework](#contents) + +SJD-PAC is **training-free**, **model-agnostic**, and **rigorously lossless**. This repository implements it for [Lumina-mGPT](https://github.com/Alpha-VLLM/Lumina-mGPT). The SJD-PAC sampler lives in [`scheduler/sjd_pac_iteration_lumina_mgpt.py`](scheduler/sjd_pac_iteration_lumina_mgpt.py) and is applied to a `FlexARInferenceSolver` through `renew_pipeline_sampler`. + +
+
+
=|de7N=`j`NeZE42&7(9ZeK{rU!$Q?^Wwr<^8>UT^Gak2r7nQEGG z6n?2DHE1`~MkT)hRrD=ZCD~%uxvr|M*c)Nu!1?p%qp04TgtLpAd$VQx_9)c9G2n>0 zt0Fv>99l+s*MPdmlQ z0sSi;;AbiR&=2ivXO~d=oo$7O-b2F!Sw00uWCW;QoCYw_*4i3EW@z^3gzNmcD b#;pEFUaryG)&7krp3#4dZR%+7Cw4{PXX5(Ge=1_f;r6~{9xV^m{v3Wnh zq()_2;RTY;0$S?whrS%bB6)^FBpN(5q1g^9zkPM>+BNuJ_`uGgXjXo@n7R=F2t<_u z2nbpz(7#01Xu!SWGQy)iI&=4rlf8-8=QICty01Q23>3?Pr(w(CNNjdBVKaj^_FzF- zzD_OaU z#8Iub-@gGFVe?_-OMu#!@pd(lvir!wg%2Z(E=gl2B@=nJP^$MxlWhwFz>pY5kN`(P zmBbKe)Hwm|xw9 xuBJn&0>dv@Y|P&GZ+ zn%_W1lZuo@$nFvpWG@hP(ehDm@NiMU%_Ot!(l|(=)LWpSE(xtQz%Q(8_c4dd1jn!3 z$f=!?FCQgGlyihYYm7TbGUW}@-%@6Z+eN>xjHmRH>tq@Da;Yin?XcO5^@6+^)499V zW#dvxM*5nbU>8r jW1s zSpwzRaPnnUzH3-`xMA0~*S?f9S$so#O$7ULR l!lPN@{fanllh@TMkpZ~wv|q)M{EB>+XABuyk|(Ap=F3%+!}K+rIP&S1mfIR%ca zI@3}wpbvk*VFz1V$)2AD5M$**PLkD#RPDtsj0%P5dHcQq2NWe@hma_A(q$$?NA2Ms z9Gm|5<66<3VgmTURuT>?*k!6%S8x!6NY5>Q5(`TO=**OQ5ray0?1%&9-4sgWseXqK z#f=X mOAT?Q?JCGr>OT?*8SFPbCn5{ZGplb{?=>vQAyibb5 ze3Qr|58b3-+7@gBLDu6fu4-u*{6on72oZcK1F1%}(ct@h!*aow#3L}MDGobK_oeIb z2ax@+Q u3HArtHdnx2W~9$W zadUip_5xw48Xs#qFgQwI94# |DxkPow5T(dxtglucB#GHy4JG%*so8D|}{^CUSc2HR_UP%>cFvgOM= zG7{h@C=C|X0!}I)QbzoC9(>Ql=r;nImxk`}Gt+UbH&OLj2>dRJSMON$c)4Q%>unPf zrxj}_Rr_x_4f|LOq!+>mC*>@syqhikDQSYc?j9$;6;!g3);-_vjsEQHjKH*gq0>(_ z{n#U=N;zuPb;<7{C(_~lAB!lv9}e!3d4kdb2E>9EaiK1ofo3k~x7h6`vo=vELw6A( z^yg+KNx_bI6M^?Hf+G;+CMiW0FJ4@YtVH}oC+&wqQJ`ttNn!2C!4h}x{n;J35=rIk z?B~jbhM)Yj#@<@X2|2{ZYQuOkC=LR >KY6~MzKpEQh^Y%@G$b5V@;kQ&6wQQ^e{rp9ovzD*h6^ZCn)YJsrv0)7c zypqsg#K}n;fr6r}n Rwpke6q1>KFcVxjaWxyJ66Jx)i80FBwHFn1{+pzKnY>i_uhqdo{2 zQkp=V=b#b_ 0_XaAG!vd8+oMIz&h^MI=JWmwjb+lj%NqM zdR`;T%8Q+lnvjBtNW}+V9zvZA5d)AulWM*b1~AvrmV=Ws8tQJn>ZiSZ(->$uh%QJ_ z7S3FM-{U6MInC2^H`Q0?(7<^DpWuoEA3yqGHBT2*CM?+J*n7!B0*4P@By_d5c4)Lh zOgNH)3L!Iwa#D0ohPmdSC6{}b`xK9S{?R5cc3{hz_s{AIvCj@uPdbjp@|!lkU?g6> zdX+3kxHVqkDu!^w)(2S)kLd_i<^A&t MwdLN2T&>MLxV zDUNi60pFT^Ltpx8y((Ha;&A{MQ+E8m1l+c3)Dk5rRSq!JQtL4J``ubU6Ib6(F|L=R zjZ6>Z_rMNjW8#QM0T9V_X*vL~T_S=I=v*?5g;?L4E;hJ(Hv61`gERSSO25<-rz7I1 z3EPmqu-ynuge&~ZU|nb^JIWuOh9KC~KyvqKgtHr Xp!$chp4Z589H3=IwK0;upNt|WYoZ~VY?dlR5FDIVeBiU8ZL zw?m}2F|&$S3@q@|9bw40^vo}6@Ft`h*YlDXM?*=p4+h{*A3rKTebj|n2fL$hIfr6x z^M(z3s98X5WGxuDZZ8!~L=}yoR@~B}MPO%N`@(&Pwtrw+LfCuEY893c9}p7qo!E1q zcvO#(*jM11Do_%Qf<+|J6Jqm0rTCYysJtPPDe@H~C>S0@d$yfBW9sVa)N8!9xU69n zdQr?tHrfx7YrGKxD=EEu`S=vTToHZ@6px`F)8aIw19=ofO&K@NVooucl^W@AZ~YCJ zUv037Tu(6<-S#~{J4Dhg5JojgTKf&z-T6OR&%114VF~OU=iDg0qX=~mG<_c{Bh6*n z#vNb%z bYkYaSA~41x+L6K=>p4=(b+)FWy-gB6gj$fF@S}wwX`jg2MLz8o zc(n8O`-`039c6(r00IYjc`M0>fByWrL(n1=gBby7>(sw|cuBvSfu)FeB~}0gA;ynK z6g45{M+?&E_VN8gr}|~v^uGQ>l c|Ha2x5Of>n?s-Ii4fP}Pq?=RwkYj>i z)>1f+?s)x&$ 76qb6 z7_ysC9`C{ms#wA1xldYJnzTK%Kcms!K RyUgnz4#Tj$Or2){WMC0G@GTtoG+< zP!-RBN `L fvJQbTdnGgTa}s`FP;bu)Bt0vjscE6#zFj&czo6)uvwvW!`-Dh13IRlt2Fe?( zMS^-d*~K7tsWf n3AgM&Kv4nNlhU3H8@s_sSA}hpX+ztyf9%R}k*#7| z-Cn9CUb~AR`>a1N 4+YvijXPM<_*g(hZF)t0JY#se8a*s zH3qL>>;LO-olh>j@Z+aX2Qauz&O|cnrz1RpElGA78yviZBvkYE>e*$>mPKJcGEJv# z4EC|YWq*xeYBy&>?a yPSXwBOcq!>1pIcO9AN(_)W|#djbGG+Rts*1MF+Zf z+e8k^ny52(S1HmVtdaL54ntD)gIof6#WkY8d9}>8W13ic+-gXMymaXrKa$V)U 3jSOQF_4vQsqG6t?fh4SDQ4{Cu^h)t8t{j1E_F` z&4BouKz17r{&;V%{yGk8nCwQoD@Qw*3 qHOpM z?so(wup#h6v~uE`nxneOD!>=z3ey;h8Wcyynndz&nV+>K^ew3bI!AhHd71{_qox2J zs=(;R1Gjce-KYRMCL7tGS4YCPFdmSDBq=l#Sk!E#H1gQ>E}pyqVS;FX rT! zkY 0?#XPKx-&a{6J zwC{2sc`+AVhE?%xPCf(>5an?}+i}@QLN5a;oO&Zfp eBVJ zw%%T2mDI;Se!lnR=UHj_Vvi_j__AR~Z$b2pP_As1m6aueox +trkm4eM_+F{c^tv!l3;{H|NpznXAv^{|(|s9Q;K6SA0@xIsKMpx)ArhrtP8 z=84*#JvIu^OMi074kQCg7UNo%qymgJ6v4C|v%8yAZ}|Wh&3!5&{hN)?{=uXvzCZgn zjrIobU7wqeJ*4Uky#JQ0`|NRV7NA37MKMW}K?@V+$l~;Qil-=iRO5HiYC|`c3>e0i z*w%?w15ggLKAxUe>J@?E3FmWAD=(*M8XXKTp@v^gH6a$(v9UBqEfp0M|HOd
lAV?=oe`A{~DWsrZhji~b$I{# 1G~HA+^q6D6Lq_zUArnISqmf3JSP_iAM=; zNtjgEuo6)P#^v|CQ`gXW1g95aj@b>M)X_|rZJ-RkTIfkV?cTIqNW2o2iURo2HRbhi zJc4qwZ0dyDd=rs0jCuV=z8p%>o}R&ndeBw0y}t#1 u3&AQSzN6ukb?7vOXGpQR zxtXz?*`RXq11JPvkmL}lKx(t<|2;Z+<3!#AVWUVV=BWGC#1#X5k@y|_q^%5Kdp2tp zB2fp0$=8Bai+0anZ9B`l4bCW_X`;A`J*V*y_KDN`p{UOyO2+*cr5(HS`<>d}AbCM% z4>xPcQ!FGo5OAhMwiJ+CFnYX9jN5dayo1r*wR7%EDCt1+D2gnJD-JBNu6G&J^5uBk zrkZ4ru_V+*q+8Aqv>^Dl-RR&W+Bmuf7R)6Hnji|1E5LwPX545c!XUtW38W@C4~VZ8 zx=9S?SI^D`vAgE=StgT~JPlNFM}G}r=zvi^Uf;T$G$d_8l>#$u?VcVPy;?ND!0@Cu z*^6j_!6iO!u)Z~bb)$q*!5f&*YPD{DMaGyugG zyomM=4$%-aQCoTeW~04%6nIrn`Rx4MEC&@#C*Q9>7OJ;(XC|(!2Lq~7n~CMIF219m z55yadjQ_u 0n06fB^yuSk|^C-!%&_u^+U81x)?K8$ly}GA1R +OxX%l$ifbHGC={*({>BjUlDVjX6I2uYmysv4K zhI&9u8boY`@=Xf`i36nA9vO(RM#y_wsGFPHMGq68ZT17lk00N 6&^}xY8%m5u zgoo^OmQ9=3(fit?q? W${t9Rq04P5>%=eltZ*Z zhLENSU~EA{Gk^f!cW+29Dyp6E!mV7Y@-!>>7S!bzYO5j-j33bS0qVV23m8Y&5cQzH zPeKkPTXmS^R;rwZMUwk2!8g!Bv`~ >!UO2qhRoiAOI^;c#VM z0wGky#9))*sjXcY-y$}<-VeLM&(gG2(uOn%1A}6O7!!GN25-S|Ma% tR6 z;C`$-VPyrPB02`H5}jt+ ctnZ&!AP;0 K9p2gl}l7z&hif{$75YS+kFbqsfDVO7N{| zbB;l68Xn~^y19F515qa=_YR{jO3yK?iGEh<;<%K#GGEdsymsNNh9Auzi >w%XFUr^>3EJToi1uIFjG!M5~7pRDV@S z65&4!po(%?p3~NbbWiB 7b~t{*oNffL_W*&2?n7cL(FX-w>OL>PVIlPz%H$3o9yvaL};l zMx*nd^dmr9^dPb^N=VX@1bDLpJ}7b!L;ob8weL85l#iZ1EmdGK_*sYs06*hD$PN1U zaauZfQ{HjQUA~O8tq^$P#u+%JeC>B%L2)gO+N>H3JaJ2-Fm199_*Zyy-R8v QDEL7#kTR1vozsl#-+-}EV-_Cq407xj-1lW6^0mEo NgB1PR#os}s=&;fgr(Ndqqo z{uhwkh+`D7n~*sMIMD$8OcfyB*XAySEw|tO#e;hiNL!X{$b~6%ge$;cOs&N6F3HY$ zNZQbl(O{@g1_mA&i0KGz=z2UFs=E)eks-ueTBu&IvmzAV&`{SU51%0A@i<`KK)*x- z0d|u%Cep)5$R76_FfYKR1@iCW-Me?Az~+C}SZMv(Ewf&v%`HDaAI!pTD$zK=jRdvw zqtk>KOp#AzXvcNFY|=n~f4ub$v DOL Wmr$c!=8eKZwN^d^5*|= z^~bxLG{Uw 6+edZyd3URPihhOhXnWg7t_9>ee$pkW 0)kD!-HC1}($hsv&wHG*dvAys4}?);`xbQY zw5}$F6QynE9cDrEsSyLxlST^#ye~n&VXevJ#6%>VNwiRap1QESoVWTFdtuXw2Gk`& ziH@V{#9J^L@J!dew1q>EN<%wev{FKlz(2D3vJdx-A3S+djrMxt2_kX`jr5Ran+li= zeR0$&V@j@%g` 7~iBODxTN&ZFha4!-pFp9@bZbVYra#_0>B zy9ethEStyVO(CjzLsWANR&q8?G{~;Z?rD^es74w6$NVntIHvogl)1$|4(?ZmsSL28 zRnPASPuxl4BpNonT1C>auP}(P!>cJ~WHiBlm15aRn4}`!h=sdSCi$IUq^SiW;uYpZ z_5+K;=$Awgv2GzzKr!}3doubWps>cHb@d<^NN|kh*7S7Aoxh2VdslEkjjcBb!k^Ik zjtch6OxcRuM;B~yVPT=JE0_n;Aj2Z+LYhnvpPuPxHSk@4*M^VpSp|Wo 6HGB6 R8skBvanfAf ^9EZ73er{d6|2S@Eo0Tj8?RWkO77C7OIg!!ZSkR3hIm;JQ*8#a z;lcHN$nn$yr%RBYEE-CQ_Fchd`~g)>Xeo*(PlGjVlY0+Em>~*4nkiQlIdtTr2TtX9 ztuS#3XC+Z9p$+3Koed>=c)`YC(%uiFUU)VS9t JeMgJuReDPa!o zLaT97Nuw63fu)WQa9!%fk(;u4r@04v^q3}5Y;k#rFI~R;WZDa3Wtc}`rA~65fi@ZI zyBBdOuH9Mn0SV;d>2vXu&5i?tvGdi{)y6DnX^c&8b~sdUiK7&cm)vA4?Y^vE=MM8a zPq2v#om9kG44u7ji_cmE4|Rf>$>|A$aAt-e`;fjAE$7i^?K4pABe8*LreQzuHuc>C z*{ q;wo$$dH5t|$N zq>l|f*>T|d#A(Dl2~MPN%d@-0P6NP43&ptvp{H63`bcvP=D-kObO-z_I@1skYqG43 zpzKpgz{UAgJX%^UYv_U~=1B&EhTY6vi;;B88Ag|OXm&1GatAm#6r$ufkPkj5&4Plk zVWcDUkp=+wGK0p9M5ve{ ku?I6@OYyo zf_{)aXOjq+2XYk77h`@>Ym>HMz+y{z0dpQg$B0Wwf!2Ugwc$9%q>6X%6?7t#{eL^A zM71IEKJriuwuuTW$R!zSC6*3pgD)9F5vq@B5fOu25xgZ1%h6?khVi{lqtQq(AmrIX z4P`>t?To<-pLQ|tEV>EkTOZbh%I#mBABN^QR2MYH&=~xxZ$V2>Oigv;FsrxqF4Oxy z8xUkp?3
4;QoT9H{xa~n;=Coo5n-UU z`3~;R#~EY955Yl&Ggm&X%m5Js!$2f#eM}u`C_6k&T8yAc=_9S5wCs37{+A3KOxLj7 z5bAG6rtZ_H_Mi!OtV+*Bw0xCB-m9xqCQ%3#WZKj+p9No{4PyYB{o5Q5n63~#$N@Ik zUPkpvIu0WhVwR1%4&J#D0$K3yokdHS0yaY`(g8Vz?c1xrXrb7?)TFhn2>#)y*H0KH zN$pMm$F >)I~Xj`3}=X$8Yl4(f_H%xvb3}`e^#Fi7b^;A$tl}&XBCO#8P*Zv z+eUk14HKKw73*BAOIhf6Boh-;AdKuvu!2B$C;g?U*P^g-NU?*qDWi|Da#D7C^n#+p z5maU7`Dg?JX&QmE kZCiiNq7vi||0IAl~(wG!)P=;1?LI!COw_yr=mJ ztlYT84=_@ Ro1d>>7|h zeLePR!B>y1TZ;$bKx2zEj2}yxi?*W18+Pjd>jP6GBuqSl1rN`M`^Q16S0g2%cj(iu zbO2rZXWSYm3!E1%T10SK=@?SGPD4K`xoU7)F~#M9FJGqE{k{gKb9YG=E=i2ZP>jJ6 z6&td>U$U!o!_OrfrGMp-5FVg}?u}g NVpz4^Ug$dh`KsFPB!keFt z7F}JO{WG?Hj}*34m9P!?qwdPE$2CbWfdamR1qyD>f)&nevyc$_9*HXhRYxcs>|~a4 z03Gjk4)grh#Dx BRB-=AlMF2 z-2BdjXan29PlpH?1<~UDP$q&nadfJys}l+g2$(o98*tDWo_!SUqmo&vhD_$r#>o6% zu|-WmnjvuRqBnpGIBe7LO!3eyI>f0-Sg%^@OWJuWQ^&-FmO_?ixkhOsU(X0E8 z^D~SW-v;98!DFR4^`j5dmq&|RPfxFeAIu{{{pW*j+m2qlLk=QhwE4Zubtk7^QYa^$ zfV<_C35vxTDxDMRh*g4uIs;< loKR9p>dT^eDEzB5ef;SJ8{8U4>W6#Y!GzVtR6?;VVA3tB1XVY+r@BI>!1bBLUxx}$y4%~6Q9r>ViG~=WO!u|qYr!H{`CQ8-inImNUCqtklI< h$pZ_5oQVQY`Y+s^4@MZG^kKDLMr-Cj;wUO8W#3g( zE%S2`N}BecIvT+clXeqwrWC2|GcryPREy$5HP;~(*5wFf8Pbl09yMzEJhD{`nmy1a zS%tZOnj=pZ>1oz|-~n-hAF<-#w^8WAcjw-J8JnRNeOU^qr_fw4nZ xo}8h&kw_XO)$?KP5vK$ g4s)2s_E2*o#Y zAuCiNHLz3BCR{R72jP%P15kg~>O$s;GP$v5`wsTKd(Y6wF3C>sgPaCzOwZL|d}sGE zFhK($S`W`dtRR3@)9Lqlm~%TLa}ltW7e6K^hao8Vv1%a|QY$gy7P7+Rvb%|aSRAN_ zeS6ZEPjKTNM*z%DKSU+i2-*cZ74j`P5QCf>AocQuEM%i9BBmqE8>f >a2z zIES{H^pK&JB5al4J!Wze hkQY85jQT0aO_}%2rG)cr5Li8%sN(L z!%I>0HGlvTrx6b|eyY=;b-_{^z33{4Wu!$8lC*`R;KJ)V-5Y#=nw(#Xl7K8Ba%e24 zcX0(r81XKUlNiwpU )?FOPEt6ZmU|8&xM6C zP-IVP%n6^82RAr)Wu@A;ZxtMkRfyUg#Y5u9JcA)&py#akj`wm43yVtl))3*87Htne zn>Q4haFm=4q_+!SZEVnzdyu-}V~fOM?uMJj+DdSeoG!v=-7Syt)BkX1r91Zmb9)8e z*(*oT7DI||pgTZkD|}cEM*x$04I@cT=KNP5#wkW<*rKJtk_fu{WX9fiTgq?m6>Xh6 z=kggR7P&ian%r)=Fu#!0*O8<8@O5P2%)bBn=6^gIK96w%{1e}ijP#RbeXU&!hS$2k ziX@F#G!|Rj{Esu?{+DL)Uz){#X%_#bS^WQ6vp}~fn7RWv{R91Cigc#6JAC>h`+K1( z5F CGF|+dJLGwKry#H50xjW3qBPV_JGStdfD>o zuO&EE=MrgLxJdf4Vp_m0O>2=mxG`x0z7WENn%*%6vh-MN0?tz*XB} XoMaFc+s99=SDy$ z;AXVE+gnN+jL=end1l}Yimw*^4*{i`HojkYN=Hdprk1bSc15Lhkes0jKl|FAgnuXj z_Y$6L5y}7sNg6Z{Tn_JwiU^Xh)qFrs{KsjXHl!~WQbm9PB@tkU6v5z+WZ{6@yk(1T z>m2Wy2~Q@_MTEacT_i=^!%tRh1J?^4zx79VlJAziJ~*9+w6+aRfI*d@kp)I{mb7&J ziZf_k^u!rZaKaKMjCd5W43l?}W7T1x>&7WMa=?x-Ve_BTTDvghO@Mu)FxE@Zh(H&& zVUcYJUVCVGn3Vls-#5c +VXU>sNlLn;*J z9yB>tz|a+E+6y{A8l$-b)D<~AjaVC?x8wXMPw-X%uUy^+Ss59P8(T=Tjhka(e^d4- zv@R+Qbt`GHgLiaWLnq{?tM+WD*U*ImoZO9a;5$|~X_wydJss^pIP7gVm6W^e3> g!d&W7fVDv?K&R>3CPHrNe56 zIsJ=p{NOu?ffOD%;^#z54(Tm~do+YJ=0SqIpbq94o8c17QDm9<&CG+-A_sS{D9Zc` zq2J~pa=%xc$8Fmwn^^WJG{M}%vFO^odMUd5%sn3Ccm&M+vk|)~?{r)Z$3fi5N#U>U zT(^_|>(E&{?CViTXDX~Fk#Me~7vDtC2D%2c=^OD=aGq3RP>C*)iZun6qZ%=doW4p5 zZFJ4PJ(&kP29)^Hq$c8gYXyZ$dR2^TiCY0>gX-cHjPE=iRUfv6++uq8H^6jbdItj? z*ZZ^N>|S^gvcE=o2H{Xb8ITKU_05P2|E;$#5661_zJ7#8g;OGgP)UYN9Z69#Q<5o# zgk)CHAXAA{Dior@tURU?lF%q+Dl)53NvKGq40+eq_k4fTd%b`CuJ`
~fQVeD_}BS#Hva8q0lMpQ zYe>T@$4CJrFt1sEj~ieDOJd` F@o(GwyJGFlw~29Ca%av4t>W#6ASs|)g` zlmP%N*1#K}x&V7v;B7x*Ujuq^K%#Ub$ KZw_N1;f1%9(*!V{;Ti6f%j?AkG8JR{kp)rIKVBUAX_G4oJ z?>^=bd^T*sAH;jhAsZk%ZXc5h-yq77MO &a;Q54xpgZM-KOrV-G5&j9AhqF?K>m9l+(2HL& {pVjr`T(RFC8m+YLyh;}KubIA}A2^t80HW!Kaj zj9^L_D_N5OJ_0G>0w!2}2EaXxYoZr{F$zAN{-Zt1$&8w;WE}#~w?aT1an1T32Sgf8 zK+K%dh4>OPtF#N8$-7Y82^h|9$tjj;A<37?*P&4x84P?Kp0`4>C$0 m{`x7>hHHrXKoD*DQtQYotc-tco*II(2VwvS9fM_;)xt_t9( z0UE9F%Hvzrk=;trIdDN5jD@5@TD!XlzOz##jk8at_U&t70)KJq>l&lMoh4-R>^vM1 zmgth@F7B0l%+W!F-yA%fCldD{ned~dwE=yu*aADa-k^82a> 0dXUdDI6jbq#r%l z4rC}uX!YWVRY(WP*9rtVBPfyfd%J<}aY3A@%S38475MW$Wo5POuX7L>#i!(%N83Qv zZn4}TdJp!xlDeR>)oBa+rJ$v;7i0{0{1zdXqPHYZK}xhhNg4)tOEexcH_!oH;73a) zxnPqWu+pD$g#fM$yvhWvuLA+LQ}60~4Bzg*n?p2OgQL_HkF2K-eQ5ZFFVzKzW{f4p znUVzWNrzhBXdbza3Pbye=Di|tGFqah{MWzz{y{7M@q_?ae)^XcFlDL!c(5n*2R!c) z(+0~KnL^SGvoSKKB_{}Ys7+pn8)8qk^S7a)yy7im^ZxAU)qs0b3=1y((9!TeIQEGw z1mN9(Oi^4H9=HXrXCPid4laq)2!k~%w3Q$ME^2^aOTTDXLbJ6XuXf=fQm%ISxi8C{ zqT+v0LlY`I@2-&hq;0D;xfvjyd>9=^chAxfLGNHejs6^N_xQX)ycxtX5#p49z50&o zB@G#ZZsa^c #7l_`D 3 z%|8(45fo1UK-4n2Q^fjmcr0#%;J9*VxN(QaB1;c!KRT7@%8($2C^T>qp->GL6%7pp z`rL$l$8q`05>%GN4}jI)5H6iXbyHWBNI&;_zPOIwMnXMP45()bM`=N(PZ!`C;LL zlrs%oI=T?p*vMnA9$8yGC|Qq3w_Fa(Mc>+B^^^#Fg!{rT>!0aAg($Pbzan)r4!(m> zkO4gD*A2bYI5?3F(~<_5fh}G4)$QbL+KeA&ERoIfMq9O*da3ap@e!Q=hM09hd)?=$ z^s9|5fzdi72jmlqw49#A{kOm(k=mMwFGL|uu6!Ot{c{)+RX`9a>^BsV{KrzgITo;H zVLQG<_0_fJMAAXKh<+X6p&o|JL_a|~`9EOhx-1@Tc=RmZ$-QeOoG~H?$79!utSwZF zh~F0=djCCaDxUtKXfQfTHU6Y6|H+U4e>(L4um8!vE&nUWKwp|+HqBn@%Uk4Zhdh@C zN`Kw*!SQwcvwrf7BWENK^T166#p_7j@=n-VkQ-rff6MLbtSf0H0>>S3${^mVx=;#L zG(BbvCy3xI^gy$S{N5vJV#J3QPf?NOaK94KC4OSiN)}f _Dr* z{Hb4KOyBjdjQD>6+yAPM0K5&j3N9EjT!AJX)_3Ye4aad_Y$YUQgs4CQQzF4rw-5&< z2L1Bq_Qv>E$(5{LG~5R|XONQ25k?W0q><#o5LgS5uK^&6pp~f5F0iwjaJQ2i9+`2| z7(pa6G*tryia~$L$Tj%0zWXH4vXZ9UjBoeA{06IeLc7Q N7E>53_F>Jzw32__|Mjc;&i0Ue4rO(KAY|hO 50uo8y)(NbIS>BwRgcakK=an^RdV~Ih)qBL#El4Gkl ze(53a@dl@a!v-t5D$_%2eMc$Urhieg7@30C+wt46A9L7H2d+R6N1ERNN7e+gv_qbM zPKuZF5^}F*j#>Vg&nRdzcb5zLhGef){R7;_y(oD|5P%#lA2q)r^iEhWZ}q6dMso#~ zSH1ZHrVwc^L3~N1nIr^u&{P++JG=G;Ke$hmVQ9z^9{)C2jODpB$!N#0DGQ1Td)jP= zRj@djVf3U`QL% ~YSmOJ@?>*$Gm?;`XUcxIMzpwiN z =Rfq6K$?E pP@^7lk ENhS!`fS~cXwKSsjPdOMkR0noB91bTZC-k0YL;Q_|66>=o6_zsm z7~Mo}7zp!Z_!nK?2vW=PDa^{+|ChsKXAxqO#UhisNan-3br6uGp=w)OD60Ai#8vEf zO)C)OfrHec{-G%l1ijLzp5)5Mti w}Nv_Yi$=}HF^4hfSmz?M|7<%NE 5Ff0_#N5F-1UGWXy`2MgW#%u#!O4A5#9NwExEe2BW~*Z`ia_=Oj4Qn}AL1^VAGf z0+Ei4`e@)4m{Y_9)wh`bfgtoApplV~#t_@EIo$h!1UR2GH92KR@?x6jX`mL8H(ObK z%7*?$yjpzczB~Q*CIlIQ`BYw_P>U8fysBa |#RZp4}3LF_0&?3XT2yEFG0C&>dqqSK4S1Y##0G`I^r;80<;dGj6j9^@nr zhj+G?BC@V(5og$U gks%0*N#qOfK}6AF8x?m4P`Br zob$40KD(CJ-uTU8DdR&Gd2jLH(35M*5 _mPH%Y#N_ z_|C&O*dMYE2Ehmqu0;mtF 7MMx1~6{ee<#xa3-~NAHKBOjsLu*NV_sH6I2Y>0aEnB^~@|F zVm 8!-dG4fOH`tnV!b?e4y-t))_8NbU~7u0(KO%SSn )q_xiGx8FV%nM+6 2r8$|NN$f)z1(F )Ngd3@kPc07T+73`P=+-af$mfHBApEDFzwc(`O| zf~=q9!ic3Az(uJJ0{J!>S;XZ7sF1T^P>P<=s{T1MJez1<4SuGRQJeZ2r~jxSa+S%P zlC|fVOrOaazd!Epl;4sRI`dKp+o?-p9|OhLaQYeR8p?Oq8}CcVad?-fSS^y58olUT z>Yg<*xonTQme-psa8!J$ZotK6U-Y7%)8Fxs?4ge1BD-F=NH^9U`0>^;{@0c6&n2=j zfD*ZouC|9NpyCsY7A@)oV<_ilF>Y~YS1nJm&)|nySU@-ncszLid{$aony05{U`z}z z2+e1~TM}KpdSPm6>WkuY5Q$op_$a}{bS4s43rovKuU`uSQqTm#0?7H?(2!S&!^P<6 z-Dn5!t#;)jcVYUi)>eKn-Q}T=x&;S5ADin;Jb&%0oHuX9k+KQR8Ft_ TGz!97kHr!4SFd zd;sPai76>;(1yLRQ@AyHn$IpX+QGpArVeT>Tmk# ;pn} z-oe+eFGuD|lV_dpNqTQKF Y+*i^}7uX Hs1h!>(zli;azqxO#Ol9(TGS#B@i}yvI>;D)!pDyKgQi zDB!QOK_1p958AADPVwMrOP`f1SLWWlX>_>}@hGTw2XCK=X wGrwMgz9>J%$S;R4Jh!*^@YwS4<46ATL4c!*6*{`Q+)l2puJA)Vg${*c&3T|K zwTMQcp`XskmU8t}OzQSXOH1e1z(}LS;-Hh$3h4RfGhlFg)V=L&gRG$MuCRt8(Ek5o z$gf_V2DW1@An5eGyo;fs_$4xPCpsF`n_V5OcCsQGL7d)JsIg};`~U`6c4tf%MkS-g zps5Wim1DT38|s|rtpD)gL-?69b67;QwJ8Hj0edg>7j*oIxc|5A-75hSr`oGC-_ZaR z?d|O9(gZm&DJ+ab4tRPz1{@iH=_iT}fVXXs5R;KPCnYUCi_y~7_6po%U4knv1$5Ue zCR?4uJs$NpxPcEhWvHw>!z=gmf#gAO+j4K+;+7o+z?uj*PstT4xSeuybN9k%1j}oH zJ&zBVvh|$vK;pOp7V`XF07Le>cW-21jCd55c&JfdawW!eCk%&%hKexi?*{|~)!m*H znzw${Q|AUep|WZ;0UUVJFbTft($j}Cp7!41UGmd&?1!7Yyu2vJc~?|b)yHWm{p4D> zP>Zn_CNL_MzVHK_#ULMS#{t^xJm2A4mw4wK_}C_3{r7l_i9*YA&tkKY5!X7uQ4^0* zgzQ@6#0_Z<_Vz{qerGYD0=-BwVueX8^0S(nbBvd`vYEq6(`6caw(lG0yuVybEC{k7 zP4x~0DxQybkB-RDghjie(vBc|+#jOVz<`EjuID~Hi35y9Ulwbig>$MT!8zv9iAByd zqgvwiYmU2}%t)cP!xK&iP>PX-IdLoPot^bC{<9tuS;!COqVMcnEw+v;Bsh4ht?d#p zBEvA<>Di-4$3K7m3?)lAGKVI;oPZ-R-A_a#7<7K#?c29Uq^2$f))z^ZOh`Fn_HrjN z6A}Uez1+Zow|8{Zo*jG~kd%b7@+Hcz4{T>{xLjPU3aC06B=O*?>gwk$EwR|_ns+?f z7xpM9D8OXpB4+44tEvjaNuVcw@!GZQd|#(Y9nRXd2R|p^^1o10vTnPDg%JXl698go zn}a4uUE>%p5ukL_O~}tP9nbtjM@Pc&L&>E}gW> *AFw z1{g9Uf-+eC@4uG^Z`^>mn2M`&s)qCLG%z$wU8Jxl{LY=f@qXdy=_|0~X(o^payl=l z_s*)0##PTZec>-9C6xkH)Cj4^b38SiWy~-MBrA=pzg8w$_TyB5@WI`tH!KLmBpJ3+ z#}HUylN}?tcyZamMW`ogz9%OguozCfGcK1}jhu)c8lIg_qER?P5}?IcJXcBIHGT{0 zcz>d1>@i5@_YFVJ)7aQ}F(&4E1SkOaU_$e(qT)12&R#-lKpMDh-n;18+9rN#>_o*e zpnvFBUjs^!m8zU3G} FMkD;1EDoC%hF&&a<+zVB8ze9zHwP5^Wo!1E!176E^c0k7UW@a0|73@NP p^`rm&~c(vUS-7ry-Av zzfFKDzd|>!!5UxCwSIKd*sos{R}`a{uH!<`j{%CUrQTAwpw9dz^L0Yy7*LzCB8G#X z%3?vm`ZQcy>0P?|`pM84pZc{7ivEc!4)TkTujus+ro=R2bkk`Zt0(fNW6^rmc^+?y zG*P$w#lj`qX3UR0=rjKFmewz(>}gzv?>Z}RKe=Jn#@DRjR3je|e}G7PK_cGmmom=e zG($48G J$!o*&8sSD2)YdUE}cuJPUPh=3;1;VawZkqG$7?8oc6oJ(cRiJ@Rf}4Ke z?}a;=ZK0ub78sa^a9OcV#xgII@e*C125Si~c42IRyy C)1{mu>{$39?&@^>i1WET!dwJ-< z7)PT0WrqglofNun-?1a(>@P?G=4Y|YY{)&9yHBO!{BSKIURKt!xl5yNqwqq~yMo2R zO3b7`2sRWKqoOpC0;ZwT3GJTK;0-(OGg>!G@R3}*k&K(%J@=Q!aZW&TqSeUpIV?vi zRNJJii!TM{e%s2o@_Z0y7{(YxMv7W5#43M6K#Y=k{L-D5Zb1eO$R>f)VOtpqi3C76 z xl?JmEvqu^nGv; zHqLPrZu4WtBP0L%mh0r=qL016BmFn{IGPx8&Lw-iwNypFts1uq-RZTpwI-I9dLSV{ z_h1M^b@7DEH3!h_C;jNV41=v(xvAw=yc3 -=5%vZw2UI-uc|D4n;?fBe!ySQP#6 zLprYI-?O9{vE{@5HCd?nG6US*vk#vNJ9myQ9;9i|&O+i5d{J-diYPtEFD3C-2C6fo zJy@2MY#QoqID?{2JPpH%jf{=|!nAaw_l3PJx0kadfa6hz;`Ygd<8ZO?g6bYKt(HRa zu+h%Xt3=hT$v^MT9RMx7G^6`x-62#gh)(m{ o^(|udPA$!~L7)WthG0@0Y= eJe!2;7)k zux{aA#Z3@H-RMR|JGW-JAJ6oJ#tJ6I*7`jI53v@w>v}GGlyb}VK^Kw=XocHo^^a$G z&^q(x%_9{ylyah}#=2m*yt8ZtQ|RpA+_~$Uku1ToVUx@4M~^m=tWNn*{#?b&adCS6 zrDHNQi0(`Ci|XoB#B73WYmSB`ri`| G0@(q2~u^k$SD>E&+K7KSy z`tkXG;M7k48?f-cAO(5(B-BM`QMPXsSnZmCd)H~Pl64eb0!bpbQKRB7?B=?-Wx!K? z%T}~kSq(QS=lN}rk(N%yg*D%(k+)DD=UrSV8#An}J4f|Q#@4!wF>QA4l(Kdv`&&7i zR(IUmUI63H{=!>ub*){qrWRL(Qk^g6Js`V>s84Q7{*JJ0o8{r7*DAX9<3_pGs@ijm zFR&)(H?nXHMcKgkgr{E{7ZOU+ZMHz91TvJ5g$}O#uC&v6YXn>`J%vQyJUrRkdVY5B zMi<@)WV_+9v5Qy|AgMNE)-Z<)Zrw_RlY(A%j4x&iumzI+rCg56aZbbzwu^pU^$T}4 zgY0P$L&8#KMxv>KL72pjwj-h|gngl*=grE&8C_bZdq1ugBUMC2OCFv?xMAkU$tfwN z0$LdbCPed ;rVD#ni6Mzx z@sTxw>~6%)_O3Ddtzx@(U QF8PG86}kgES9QMeAhZ$cCQZIay1I zYueZs-z#U)a`g1-5H?`|5R!EyAon<8I%~cCo;|01Q9Fg0Uz=EdW0Ij{7uIkbHCxB+ z7wdzN^@Yytei2`e?Xn7V6|eylfFfVQ3|yqm%;GQ{eFlR@S{4=+IUAz?y^W0xtz?>c zs&qCZV g|6PS7#eCpIJfGxK6$d*e%a$qoEuNVeQ z-l;04vTNp?IjjtE3}(xG6~07c0OBeagMLKHpCf2WV!RaVRVO^9HXDD3Q6r8=-~xbUUe7~@#&hN5xAC{_mkrV~Je=X&s6 zIfT~>ZaM*Z&FLOsXpDqm%Wc;-CaSx-N>SYBTeK+g#*LYnWl{zv6!(G!Y#_!QK6>;$ z>W7WsS#+6wo}_u2j0EGpv 14#BQoQ_QBw (99KdD5|nKP%haGzaPK;1;LD7d{Cs_+y9h?|h6G6GMYoIzwpqu&)k zE4aqC7Oj?FHdU-NKJVHuWtle aCF2xo~$_4Nxd`RpMpbZ!aQ&dPqHUQyBe z5ULms8)jPl{SDEWx($p#@L-&!uhWE=AXc#Sf_6fK1S4wxop;bYWvHWF)B!(T&-G4= z&{?IWbHRft z6Qe)B*&*C->h{07%61xKc*5D;{T%Y+X$*+Tf
eSH9)o^;Mic^{c zl^70x(`D^=L>8zn>tgR?_b~$TVNLVnXyiw*6OIik%n+oQ$&g=$S9YzEmp>j6!41AM z3j^(cB=yYw>+&KBPVJOA31g=kFQQ9Xj`l{z#?DHRTIH~Jz(|yx4;VdLsxcr0!Et1! zs{jFQxP4mDwV4af 77`jB5s^5YlaQe9SPF ?H+cuR{}Gr@PZadM(PO=tpU*zf zpC2KoJ1o2}OwLRbAPb+8^8!?a?2N;sLn}ZkxCJH+G~U9T!t0;l#Czf%xD*>}%5+^Z z3Pb-OREe`+_4&klq4O47URA{b|0;DYt&qdba+{zcV?22C=1qqx ><; zg)UdKM~!yt#JzjBJIiUPVT*TZ_9&5c9Ic)1FXZJFsFzP04{Akk?j%+N4heHCpuI#U z#DOV=UY}mFfKU1qCbWvBTF6tTq1pZfRRTA#H2Brv*(D >bwQ~pA)bs1uk<$V>s zlxTsdHEMIe4fSkeyu9aX1^!1zS647pi trI|^G=0D$BhYb{b-KS?wgF?4%ASgt ztpKsw7ww;${=Cn?^s54=kg7UdUo6k8>hW2@?ursU(L}PrvU`!wXY&Goo>WlhwqDMj zI{MXBRqC6ZUvbRZ-`d>#04SsScF$)|pH2syuql4M-vG#d59{i3AIUQ-@Rz_3-nBlv zbYcg D@ zZ0Iki`v-gLpC?RM{${DEuAYmF^D*M{D)1d~Zs+Nx{sn(+ZJ<=tCL`i~*R9*PQ5r}Q zFZM)8ND@*NoHTSHq;MeEI62Qddo cW^G0r{Imd}v-f{cjoE5V2^2V+~(6ujFvt|+gSBBirMR9;J zE}(NH;`o6~AJ2hfa%Qpypl*+kQDss?cEOCId)xRhq3WngHxQuHIgUJjOS8`v=~ljM zx(Ji8>!!?Y-gS4XO}fof{TpuCpq3?c8ROg#THj&IHy5}G0HO$wiV7xz{+H8~wMf~N z3W8P!RO=~Tx%2(|Abj+cLZo )VX2z)U3k%^JB7!x3rSpqnHpU-Nd`#I{lBBD z_G(ee4iJc+$$D=wmW*n?cgQ0OgDx~?>@)bp-=3-}`UtU_!9cS1&NnB+n<-sq?(J9p z7Umi8=HAyXBN&j~9wQL>DnIP^Ynz3c(%B~1=S_+YcAnUoFWl}b=?<$%SP3k;@aK72 zpn?vF@o1Hr>zdN$K9jyO4s|w zS2v6~8pJ30v+nfF6;}j+xaNKCfU)Ulb|McUP@i(iggb~;3RwAg8xU8H*#f-0Cuw6p z8mA(&?Etvm-ld!K%ig{fdT_rxaW#+}AM1uA?(zx>W&QzQ@|*I~PMtrW^U842(7@nH zc@)z0jC`()9Jo(Exu3ewJWN;l=L5bBQ$&qIfDOStxU$55zkxSW{t?KX8D5-+XO6e+ z7X__0Y$#LT+WK0}h8dHf|K%6yptQt*>)8pPHJ_B1Yxm2WAkE~!KSDLL0R`$q* Ht zH>2PnP3DjEEQzdo^MyZ0x(ZWLHht+T3s>by-!it9*U3{Zy=DIqCnqNhkZEeh=`o{V z$6G{8ZBH6*Ql$3kw`r?)KM9qT*5*Y!L@r^c>5Q@ouq{@>5RH-n;8;q^?KoO11xFIF zK)};j8Psig_3E~ #i}syYbGEs`c8#4uEO8fxDC|Jkv~0xjV3OM2p%bL|G3MgM4$ztX-Zn7vAcO&5 zBq)>%j@ABmua`z<-$uths rMng5aE21Esd!6*;89;{v~c0VcZfeT=gtj=U1AMO58xr1 z4w#7v9lnOxtYx9xVxDkkU^vLCMcKNztQ1N@E`E$CuFigH-@kv~2bKcnP+7R$tilq7 z);>fGp#nBk_BwVBpS=A{q}VKsr14fXp3dO9wM7P&^veY?8e2rtnu&dB+4FEXF!$qA zK(a^&wS9e6Q5K$q&Le-rbNBYrvmn#px|nAH_nk}E!ovg6NEZ_oorVUV=neHv*bNWx z9at{THEsr~g-==whMh&O{VW2qS08RhVz2q?puWC-$^D`PX6a{bKXiB`{U!f~{T15+ z{P{k}{7dft#X5d;UiXI& U&ZUj&ruj3hoNPDD)2F)!#TLTWaw4C z)NXAzop|)QyZa=1mb<|X*$YX+!(ZTL%|i8#IJyw?W{m`t(PR<6Kk-8V#I{XF_ON z^9gw8vty&~7O6sw+5z5#^RfEzabJw#>4X<{PDus7deL-#A5Qy8xhL40n4YV_rvBwc zef>pr1)t#}a`V9n>cKt3?|^@FD(~sjr|5tieEs^B#z;hG-@FK^&9|L&zdc6J(AyjMk~b>BXAbP)RKJk~)|m+K2MdnPPm-L}X2WY7qJr*|Fp z?9pO8tF4Vd=)eBmVu>gqx9gWY+}xyVI mZ_@l{8D7==y<)r1Gr_LwFdJs zcEBvg-J+sM 2eUsgx^Ox!Qh0JS4Ll)dsO1oyRPeU5E$@Vr^+{Wqz?ig9oEt_+PLwz0-R~nUNKB zciK&(qN9z`4w}Wl*zfMxm>1TnuLqGUWl*YvZia}w{9i~#U~|X2U^Y8)LKN970PE4} zwnbH}4Ew>xocGZBm4n&A&Br$rY&;+r9e9NNL0oV}-3{&wMH3`)=W!t= ~kS !-M0HeCa6 zks{e8)g$uAB4?m4j27$zR9$YZc^i;x!?1-A_K0$PAUqunB(hYpeEuAUX^`qNF^}8Y z1aJpx0t3dJKg;ydrkIHvFJO2Wh?*)1CGpMN+>N-o(MTOYr-*7Vo`afrD_&eJG>8~% z!!rj8<*nrKGi*ykAqT>|c^=frtN#9*zC4;_UbKY+Sy*2J`%g(r>s@>(sYu$YXaPRL z6TDz8)V^}zZ;{0lYXRTTAWm@>GS=qeBMOKE*PM=kh57`A@j!#QO(IP6J-xlzxf2r- z80cnwYP%zgGJ4<0SF8N*hNk$A`#=ze8_XiGcUB`9Xs%2GGtdrV)t|6rBhO*j8Yfvd z=<=&KRaEre{rwk}j-I&Sib38;60iZp{0;n5^vAPn0w!{pfQCDfd_zipJULkmNe@B- zRqX&Wu$)Z?dFFoX={bdmxI{&TU)Xnm1&4MQiVjr$T-?AykKtC^jcm9uU~)adXpWBN zZ4GAgk;vucDHawMl5J?d)nc<5i?~a6-9J>uXQz~a2OoOojE03p^MS>)?yW}_&4Ou^ zGXnx99i9EFEc|Z47x_eRuq}qCy<4u(5}=Rx1yT1ZkGI8+v$Yh=gwdN`2(-$g&~pix zd^T+jw%%NKKuVB%%9k-6dSrDRp<9q1m8e~ cyI-vwc`44r_N zz}4_3$psmYdnKq%&u15A$_gk3?+)BcXMA+-Sika-L2-2Vx%l}d{aHe8O`e8oBnjsM zmZUE~iB??NWZlLy_0~tX($WGBhaB2SGHUwd2g!^{$eHK $i1PwUx&HNcX33Nq|Ldn){AFlT{_|7A jKaYZ5<$vX^ehW){IOAa ~*x+^cOfkK_tN1?EI z@y^0`Sj#Lo;9tUSGJ0;Bjt|^C&0H)|%4Tj(c8+d#Hs(womM*R~jt)1tczL*lt}|J? zxjDHCb93AO&rfhUx>#|u$qwCvS2^z_f6o<#qP~Fqea0$vPy=-ag}N&(spXZlGUcg9 zA;);`_d5ORBE8It(HURtOYBuNF{~b!N2M*EuywrBQ@6M~tY^+oTW`M3De%#lMd$X) zBYZSg@V3X{$?S4yBUa}bmOsa$Bz xKLk9)AAEuU}v6e#seqmWVdZbA9@iM4)(UYb*Zg_g^8o ze$!fodS!V9SqV{;*X9pi{~;|hX*R~(@HyE2l~GJZM&@r?VUtTS>}V!gtsQUF xl}EFv5$$mY-kF&b3E>>h9L~nmUGVPpw;KtdhyA z8OTvCCSqh{3}84ZNn7L1ueWLypu*t7gTXbO`xyE3GbRed7 d$sq^Do8ENVDvBQVCDBKwx@2l|2 zZDB+qZ{J?hDbf#3OJn-j*@?VeSy`Fa_97WPNs~g8W(JFnCz4z9Up9{RxBL XYi|vHhZgQ0-|9F=0zA`Ph_-anG91hq1PVtCUNL9+ TViivLAxbd;Qo%z-+8fq@X+iGfR>BAOF!})ne^#U3i8nDxY zZdmoU^!1ShGqDd!%gD^WP!<1x`J6brvSP@-lSVR@r=HngW+B&Jo}X_+HW~(-ecDq5 zmwmhnAN8#{knx&sF-6fe%^bpmz4f?v+6ArS<21ayym*9!A7N2876&fJcyH)KhjG!U z_prB{s?)Zle^v!up*tM8>N@$iZ{J39O%o`V7&lVHP^0wf-11dos3WC=AAET;`{~)` zDEHHoL+ K7xmf3E6^ N~FRfKV)4>J#s znj5it*I0#(CNY`3wDfim`#TSOH79#Y)GfEgr+K>7wY5S>Jr8Cp7AP~)&_pC$({1hV zSF^lSq8$;zewCP*coAwxT{k3(mzZ8Qo}@sh=mMwb>I5a zVAadaW%Ts)T3T9A0s;bgCe7ka2TRwIpc#z0_`-GRi@Pn7nwy)u37^HxwmpCT-05)F zexPn8=q2o|NS{*nJrDJ<%d(TVKOZ0N@j^G#%2PWdD=W*c{VrZXO8LcA)f7{>O(##! z@Q@H}LLwqFTia+@PqU6E7b9Y0M{7!QB6%IB>Ov($&ZZmIx*&}yAt9l=>DRAcdi5Th zb)M_7_>}0Dj~{Vza&q!?ifF@#>ED$JKCNPq2)M3aRaVwjRxO`^*5>hCGaSy>ylR4Z zm xY(l-K zPQSlPDy53k!=?{=|NaIYJw5Y_E>k-@LOD6P3j0Z__f~zq?uP5IvHcELtF8Of&J-3E znL+2hcI}#0feulTL3M}Vj9&<+K~+TTtWk1rlF;Su<(}6!&=!V=fBxjfb0mH)gG<<6 z9wX6yrxgSb@kvY!vi!(*PLH-!W8GhV#*8=li}>uWM549dwG0naoIQJ%-KdTqI_t() ztJDvjo#%2@k~Pl1e0Vwc{DT?$OMLeux&z?uyPeG^K7N$Gu3v#?Y;5f0;u5UH7NW!^ zRqKN3FEx`Qq~SqDQ*okyPa7`uCQHRJh^f`N*?hXsr&Xj+`J*##?2l1_1D}F>1-+vl zDNdnrBdvpjLuqO0ql5&?Z&Ooc4pVia%@VV-voyTsINb@?a=liOzFzOSj-{3?$eR1s zEHW|@_6vuw`%;#d#P#df)nJSHZG92MBPQ1QdiDBsrDvXAUNzQ}VMLd-jH`E+#} A-s$3^wcqLSUY MG^xEZmdn_ToT|^AFjkC9maC&hhc_h$S-%i;zc;Q0jF@6+igDsK0pjEGSzs zF~epkr?jHtaeh9>(nvu#E&&yjn3$MJr}noA#;+x( `! z2KtB2yDMK82QtsWYR&%qiDO}50gp5ut&I;w_%ZA53zwCfd%ZE21p9MU857ofbxVvf z`6|f9Dm6U=mv>H6Qxhh2>*vn|hr6pozi4g_Y){cpQH7N>pU^^634 Lkn{7#zy+Q`tYT+M*KdzRjfompRwG~Z14LlbTN z7)h@F{(&;hrAuwy-S{afDdR9kW8Eom&Mc1>h1A!JK%to0*hIp>HgAujgn9pPK?swi z$H)^D;igk%ckj%jIY*e5v_n3=zR`p8+k)2pOw2GxI?D^R@>wRVjt_Q(=|fUeQx*0< zzvR@k>+9*EP*PT=oD4WU_DpyF(Gi7d@;{8)+}hrzz*ssumS{YHcb2iyuXf;sX>9zo z>;6L%lGjRXNy6?5_Qx2P+TWkKoAC|~4uqO=VC7p=#C(V6(~qX1t4WSm*t~!_$E5FQ zW5Y4A4(<0&C_bf&zeG4OJvu8p8?%w@ZM*iZ7QKJGzmR%IM@J`RYjbZ;x9judq{!G9 z_M`9X>m|H1P$loO9LI`{QkJMFDYKtOl-2wnartZwv%##p!G>JAE7Y{KZ*sRx_FWaFrM(jq zJrpF5sUGO6*(X3%E5ye&H8pkE9(?=hR `s7?!0cl)hyetiHnj-+0rPo=53`STx+h3V<(c}0o3OU0gWvs~A%DZb*fjDl&M zxEugCPWAl73+--`YKLTn37D7dyU@SzVOpZs2Vgh=@~WoKEjFt3-kPT?854m{rg=$) zG|K8wYHDYu-14*58uk5CS5Hss=?3r2=VK?whc~CMshzyN<(#2XQYNqvB9NNyzC3Ev zAgKOMi(|GU<`Q~JgiWhlTVo5D_A6Mt5vw*s7mMA= vw^dDB|8l;iU$i)T*ra#nOum z&+FzWU7U^PZX$ijX~1UK=yP+dC5ef`IE|H!O%`)}gO|6<)hXX&bs|GF;NVv-T{ZR` zK^I_#`5GhAO^?|J_wQ#7It3j4DN{gkAQG&=<>lZoADJKRU1NS^@)IJnps?$xaI(cz-Rgsv9tMPSp|2Jc71x66%wa zL&w?O)yWK0Gg}>wensuHr>m=G*Hv+GV|LwQ!`Q>SS1x=Q9OUbB*YG@UvL46~Jsv&T z=wzH|I6`ldTVDidowBP<{pu4({{>oF^erKw$f~d7<9NVLs4?oKtGC=&(e|4#x-3&n zw&o^I)I5)K{hA66p=-TmPksCt=R c>&)>6itLMv?P?(Pi4f9{#CgyGx2OJ;V(a?Bq9{BJ2vQ1;H?rVnL z?6lBJpD?yO>Dc^b=hjH_DPe_Q%`G{CXR*C0V%PMmDk`KaACB G{626!lin z5j|?jcyi4*(dP2y%ly{;DAg3v56@W@Q4RFv*ZBA@Sa!#MSe>lao+lr8FkbrSj~A*X zH#Hy%K*%i6fmdR_0 XVdPze;}`@*an3x-PW=?QAzMtz`m8*#P8Yi@-w4)k5y9#hgf(d0|%cz$=gj- zoQMC7_1mLi36Sw@K}pjc`17WgYydppG-#?B>GW{f8!KOL08ziU><24|EP4B8{n#ax zxrGJUg$o(weW3)@6h?0o!lw$<(u2Ey6NH6@MQzm5)6tpQ+7kHt`+xlS@jGxw7^EfU zdN~yp{5`1>Cj3tZ1~TQKcckkH@bR?*PlAQUho44RRBy7#EzdPN25~=j^x;&N50ESh zdPSJxJoXd(>iX2w)a|DsXNfKlRWm0jz{`+$`S{#HC(QkxZA18m`628a9>-}>rDS34 zvbFCYLNbnQhx3A%rNYvbUh^Rf1RK`rM+Z@om@k#%bc3X%ui*a5>l;?T$4mkvt2mA7 zD0X*uqcEQ2Lu{<9A7*Au;;Wz{7N;9Uu5)red;0WII0@t2OyH?DVY51^ag*P9xbP=5 zyjU>7fMVmk LUpmm0{BA&~J0{{PI@ z7%D<*e=X0jmQOa0fe64k47PLd4!t*1U%jI70vr)`9S}qt+=zOKu^6y)i>W&IjM+&l zF2jgE@k2tuPLCTK8|RJ~Z#;OiSY51Lpo4yK!}Z9ICF7{eRz&8W mO-{bwF3gx zq_-+ij^Px(M}K&AN{oq6rInR3Fx)qG#!NERGi8MnvQ-{FL|?gZ{wy(Fgn<3TcMyOO ztp#W#g$;-okDopz1rViJ<^YTVntVPxx3917lS_icunmGzQyB#urwgsmVdUiH@dEzL zo*NK0Ffbrw6sNoSaJVI!nj0C$1HY4D{lvugf4&ekD!^`8NDYjAbJKPX9{sDEwlA$G zff(IXq4odyi40_&I~Bdaj5Fop!U_tmA-lxwm&QP;E>I8>okG1JD1in25-4ee^}yzc za<8hY`n|O!1 PY# z6ZZZQOoj|Uq&A3Xae$m46%LPd)O%4G%_4JYff?NtU;k9lZk(rcd#O&`%5%0AH-UYp z%%YP&N5boOn!>?~D%Q_-*k?u0bzxRA;RS=rh-w%1^z@V@#hHbx%BX-wbpdDAo?0E_ zH!L%ekSc)EN_Ckmw~SVx1?f$l7L)!I$Y$2y&Nd(#v??{yP~v5$hIVh-j%sx+Cj) V@-x53Ct `tmD$JkY}BO+K{mU#w{Zj1=0@NM6sw}s|Zk;RzS~{OU&6yZ*!$x zFRd}xM?~PM3lk6!#HbcD1sv<&3OMpgS-y_9lxl1M0Gj;^JaFxlD;4kGlZ#p2Qxnq% zn3nszkGuJZMZtA%&8V_*tvpaAGc!|r3CfHU8ffI^!O>Qq_NIFA5U_cf$(@~@(7@AU z-FWC`GEN>IRN2elYF 1r2y4t`crjNqA z@t}t^8=7OR!kZPTOiN44^Bx`^=;mZ*X66jPVWPV^ig8q!<=fD=W&x07@B@v~_?6G^ zv%P3&?ER&}dr3qD@Ls|;ye3(8t^Z+Fw>&|2NqC)Y7jjK`_ul7p*Lnj-P4J=65>c7j zxODO2`MvcS-K@KS7Yz*!rELfa3AKCze&*CvNeu5;4-5^FV_{>W*4vJA;#TZOS>3u}wM(?x7*}1|URW?SCXJXpg891edHBvtH zbab$FZg+Hac>Vrds;U +W9 zVJ*Yv0QxU)Zjy^>k2VJe+Krc =SUdXtNLEwI5*?BMFiVjrtvP+&2N}@^YzoXA9{O j69lIaS`0uOIA*sFW+B?n@NVn$4`OUs;?;OKX*GPN=BskT!?H9^6O9 z!uRiw@-=fGj%@8h?+pe~YrZ%6?Lv9{Jw3hehwIJMMW2h3FVN9lUury$nyUAdgN2t_ z4mjG7`%5+VgiGQBbCZ*kk@ZPnXr@GKk&fIr3{Y2BM>lepyE-}b*N*v_n`h+Z3ZwY# z#?>$!F1ot9Zp)*}ZvNy946z`jrUM0}-GXB2lTrONIXU?QM)Jc{5AGfhLttStVx6$O z{V;*l<7S>bA#4aZrUhb3yQQvUILWx=wmPAW@!y||=H{{NrcigxS`qsmA9o6ENALXu zA`s}*vlS=@+#dj%)t2S&e_2+>3t%DyB*{6DdGH7bKm-l$=(Bq8fDKgB!dndP 1N-McWHVV>?G^yhT6P(i(NN>1yNz6_30huBtmB!j@7*c3Ds1<+A467 z%qn(%c`PT!#5aumVeMyxP&E7=szj)-y3Nv3Nw_bqV!(4b;d*AYjFqrfVW4K~yME z&r339ofrF=!9x@7EN%s6*#^CTi(g4PfL(C$%t-Y5w_CSvrGe9v!PN@=Oz!=IFVZpZ z5rGb@1UW-PIv8VQjEr%xkC>p*#izQYv5Jc`0E8NPSMT8g9#quZ1JF`93JVJ ;*jITi*qmRRUC$t- tm}u-6(@UK{30Z}{*2;OUuohrI19G1Hz$R8{i_D0x7XNfX->3Q9^Jw-)+jmbnaT z(k_gvEx<5@rW&fm)&@G1%aJ`;29>=*RPL(+%5C*Gkv(@X4`W8?tbX~qdoa0YL2KJM zDCC)RUcw@*O};k4Uc5@;PRnndR<5F|O2Wm(m2q1UWMR;9umLU9)YhgeB%q_t`OVGE zQ3$T@Y;UXOYp@Q(-2zvU0Sk5W$p2geJsPw;1J+mZZ&&tghy7!hM+$OBgfXHC&6A+P zrh_;oP|}K50fPe`NAxI&0ebiDMfT3DoL;?hCGT6R*I2Jw&f4K`xKdnN>j7kcSa0p? zaw!_st4{4t=Ba~+9Ytodb~i$v-d**#tqX`gPZ%Y{RVArV-YThy!j`(w`#|AUs91v? zfELp#KOKKSQilu+AkkzywCXA^$gf_#n&7?^@bo>SNkGSqUi&ACz$ic&j+rEQzmf$1 zf!G01EA6nth%JTyceqRKx5l-ds)&-W?!B(8q@ )vC~> zhvl8Qx-l+>V7C_R-|L8_f4jg$z;r^VZ(#5PSk*(v3m{Ol&l_xl!-VNha7T032MdoO zegX90cgKe9?d`K5p6b;&G3!^^o#*D}PVg3s>V`4gUt}OyImvSQvh&d&X8?w{;L3JB zK2MIHrG#N%6e{Xlb=P3Xy!gnP@S%G=b{HTh{jsanb@`KW=!AJ%3eI=yqAV `J$LX `#AIam*zZRN%YVKV&sKhsd)wd!{tt(`YQATD z-@?km=HXG2ZDy%>+&+hD?RCsdRO>-<+FtbECU`pD2pHBv9}^i9RILuYf58G6@OYj3 zHDJYWayLiBK4kwor+2Aa@)?ZpXs$uDRvrp)NxRE#nxeiw?Fq~q!>wWIsZzdLB9Vll z`@6MWoR1PFc?9=4M4F|r?<3_zNH0tQ4M^*vKAxKYo3c{7>4tljM({rFv|M?>kuosA zNsvJjHJb@?4k7sa{EpLx&*q^p(9jqjDI;p4+Czviz-HGgGsmrRn2LholVR1DQaf5E z6HVpy=QlGkqxh5c=2Hd$2U5^`v{U$^qN45~J8LIiNixM2bcv6E;SfFxEIkv96!aM# z6cA6%*B?vs5YV(f-3WG4M}zm)ZxGlsK@S3piZq)X=L`YW^-pEt;Z?&sy@M6vhnnR} zP49>Or&GmzUs~*UtA2TSKxg|dx2_HopJ>R{SE+uK?zccj_RM2*P(@vCY^HSuzpf}l ziRBs6(P_kd_yMd10~pN9;)t*{Gn(L-I5~^$SVFyZS)zHM<#0b)r^x}EKh `ri;U3;YVX&KZ`Yx`DdjVJvox)gQaOl$}x z_k|t{^%b-piBf5KcQ;dp?ubaPQ$u(_SR)p_FzhaNSX0 I1qkZ%8WzMT}*lI*?hD%IL_|In7MU&fObJnRb#8IKxR8t5gNh=OM zlVE0RkV)!ZJK<3uumC=~evC|!L*5N{Y8zZm(CV6xHlw?J;5L#sHHn`BT`~ht2E?8- zFTo;){!%~~mzLCrkS?DKNY+BHIY3M{mM#)dMuy`|6Av%%z`GRKOn-j9P(@NJ2(;#P z`wFR#bd5j^^UkJAP_AEb*L}V#SFTvQ7w?0U`f~x`91yk(Q1YE12yTEeg)nD&5f6&& zp$B;4MvFeq2H-y`CEX$exBKIlw}NCK7Ql}e5YDKP?hpe5nv`#F{t?z)2h^ASq)+^0 zQ>6RM6DTLcO99|~QE`Tcg}w7{RW$N1*A$GOfMV7foq{noCR?`YJ>KB$TGYH1FA*L3 zwS}1_qxwH(^sZ?0&xQqJ2ECGHd6t)4u {Lm_#3=`3RmN$?w%e(fJ{_Hmv~Gc zjW!Rh`#kdX^7{Eor8ZI8IH2zu!o(eh_`f}?+o>fAJ=&WIj4noO_x@T}tI9T+<~|QY z$!o={aVx`(%|O5)+(1$E{{4H+T4(NO^517?gP`kthspstRuU+S$NDtq8^tS}oXVEP zPm@4A%p+_b16;5&RZk5HkZg0naeuYrjA3(ge97#Y@1PN*mtE?^s>{nYE{dahcu3(r zynC1Z`2+=Z_qpnTZ%%|8R_-SS655}IR#jTcQ@Iy_Z_B`drh~B7FM00^)u6RKR4O?7 zVQy{BUN;V+??({qHno~I$MZq{>Cv^gBh-%-(MhL0T`W4#xar52t&pJMTc)lCKdLqV z{14!9Z8oc31eNK5!W>I3_E2g+XB%3B7MIie&)wav;1FzpOpU26gaXS1l=6FHgDgg( za0R3pxP02rHB8?cyvgCA>3DBuK-d8NV#fvyLk;wn5a_gbH%{yK8bHs9Dy{+SrhAb@ zXMeu9jzAQ%0l2RAg>75}z%~e?sM?pRu)UatO{;saMD&-@E{gT(7CE|mK_3*o9M#lf z-bN<88ozzM9HrMR`hlRXJq`~qn979>j24T;f2eWWvb&S`r{58nTMxMfSTCGk8Y?N` zo3)Z07D1!&p(3b?e1X00u1#Ijx3aPd*ROoY@$%*laW{h49)^>DR@rX^)YA^5QF<8~ zOycsbMj&(Osgbe5dzlw11|DRXVzz$6Fdc6WZ0^_wJp=%5>IBNqxHk|cp)$DZON$2v zuZ$!swLMnGgP__?0jJZZ#zNEpP40yq8pv6A7qnn4hwioM#!F^qW*P3#Oxd3@uy!{O z0dHxC-N2uts-VycCT*$ff=cq|p3gUv!S`Ea=0M@$;kAGoCA|!ASDWEYzFPX7;&lrU z1xmfQ9t?ch9Us@LaGWv5+zd=ztqImZxD1`Bml}q77{uLt!oAUV+Sl4o5vv&J`bgEn z_Rh{gwjy P##@6d^9EV-)dg5o97cI8WkN*T!FXV6bKL`j2 zs0ldsDfVtu?RG5`4LqT<9W5j)^4;Ie?iMB|Cr=Pk5f2jx*%W&5{CO~Ri|A2YT-;f} zDeLd`<5k~ 2c&q$s+HfWF9*Cima10I+pq$R*sjYD)W|89<} z-4?_P{J)X}z_-Vfl9GzqI+wScJO^nhsL+SWO=-v5L#i3M1sNF`YM?J~uTE0K3=IX& z2~aZxHU|q66DpC*=njxE$W|qmxE$^*hr_gs#A2KYIOGIBDg+FKbhlrFpFVxMegFOy z(9nni0|R06rok)y0nKpB(AduI`h%WVLBPiln;WQ*5L&mG5Rhzx&kjDki_Uq5uM-pR z_^me)rs=gYhpVBfiC7(=MHDoC7rc419Wm%sMsqnqPa0UjOtt4rv#2NOf}( cO0tS75DK`l^+ za0v}9Eep`gVS<(96{)o|YQI8(_6PG?bfh7+JXa?o89)GLpw8Wv-*!}q|L6mNgIE9o zX)ycP4XUpHbP)nGAQGaEe+~~X!>B=M_YVI=jq_!slzn!V(!r@k5 @=9YG?Xizi%SMr^;Ei*NaDGM@K=gBzNwnwkL*2hiW`*bkAO5J!q) zReTvCZUBb5l%5`qeuZ@qK*sC$%CC$uliJ(aAz&pstOqKR6-4>4XP4z5XNd)SYh zc2Z}6zv`l|1kGA;U^2+YH$mbC0bPKl!K90lIQb)msXGa04CsF+4qmbllH~wDM5T-i ziU81K8^B;nl8+7RFbe;&IuON>$p?)n0}>g~4TQnRNPo_CxMQKDL M~_xG%ns_;a;$Fz6nYf >}mLqt^uAo#}iFU{-54Y$V5 z?JQznCVkcmI}QgG)eN)koiYq=adlz$Kp?Z|Wn> `<7PmrqDOoYND$W&T}6{n;j?oVj*aWqp0|q?sE#5S}gvM2ieqG2Y3Hx z?KILGFfhHI*$M&WB%k~7LwoZfh^)njv==W%z8vxAenKb2H|94yqPf3C&A`C*uMhz2 ze$$5!-`FO5tbOB w6J26ckO1LVbfg4i9+(6<>~YZA^Rqq&6p2H{B&_Z%jgTWsgbjWMl1a%f zrbohxbjt-XNGM=WXkdQg1hi6e4Eco%&vSj?ZV0$dntFz8MZsn>+|u@JmfaU?cA5=_ z#E@%`+|*t{U7uTLEWK;di@JtQpMdkhyL(dc&C$b^7a#PcB +_94A3Vly53SB9msMNq)*S1Tcv6rEfZ z`T DvXFS$ zGAagD9x6#4 CP*XZlluVx^OqZi=j#E`UK(N;bT3J{Z?=K4dQ zsZ=Q_lnN()C1C%i_i#a)?S -5LX0E5Avuu{ z5QHrm4%Wl6ma$}6X=w}0k6~g?{D$LXFfFnb4sVYc&m!(GTuY{V{fCbqugr)A0O(D~ z^`=1lTu>SBT5#vBH2s+)0N5|sSJDYW!T>}92kIb;k)fE#6?J}YMpvYm-EVO<4!o(k zAytWynyD{eh%N~_4A&`HvazxK-r3Q9or@L(q4N$jEq({+CrnL{hc?`D_Vnxob>L=7 zH5C<=J_&Xu#Qo`(hu>SN!tjtSXqZM4wq~G9KD-*PJDM(aE=kl|!!l2RX&vc$fhT^5 zQ2t{Vnsa{gA-lxo2(?)_i^0waiV=(cGy-hXtC1UlvHSt92^N&+=FQOPXaY#9M}AJ^ zF8H?C-GziSKEv$n-D-a<{08gln_xDut@Df<>$-igu|w#%@$sKSSO7wiq!4htc;i7! zTN^eokKpul<|j{{AaPi5J}y8kxDCWPi08X{d3#gJe+4I?4P2V<%gfPV+-E|*gy+VM z5X3ntEJV^QfLkqKvqO^fJR-J;CeC6oNZy7{#6!vXaxGvbBo5ltB#yiZ$Ucbrs+prC ziMaVE`&O0S`ET(?{$_e$hPOe=8C-wKMxUL2SiYXOf+QpiqAlQiK-OkolrdEpQQJkR z-fyZ|zX_8aqOf*$b3=|U@Iuo-j(>nMiwt5&b2>wuxyZq=+IEZ>WUh7uTLDf>gStRs zy;^8cQbS(6AO}0Q)bs (?B>D{s3_f&^Ah=B6q5Yu5g7rfI18DR> zHVQI_;F0oz4-bJYB$Nvkj^s|9VV=9KjH_enCB3nFJrNTFaKkLJ23D#5VStd4CkpBY za%KWjvPfbXaq{|7B|23lj &ykT~{vmF76m|yflarSQ z1_prPNw6usdIV}xI$&2GLBVjSLWnyfvOZ|2J;@@}Fg(MntE*KkDfvOy$HB!lgAs^i zp}-A5F!}b{)Fq%Et)*sdq~zq6C*+14O9c=B`}?;OL=;fa=cQlsSu#QJ9n!rZ8n^#W z7x7qWflY=i;m_qia8w}%Ih@k_?3=?8&`mSQyVm&baUoX*wGIKrv&ij2$;1AHZ-gQV z4ZuIS%j$5B0-;b9=b)E`LqeY;%-EmtA65u#VGhayqMSFu&N8#HIS=?0gegWyt+zr; z)yAp;;rX_yDH9mDv5;Z=(B6&<3ETdmp%6&&WpIjGbPz%~P%SsD7#<-c2clt*Bjt`9 zD5$KwiJ)>Yv`hh{>z|_x2QeDxcLr^6o>jsJP-=l%)77jsD!~q43DLgru9;sAFg@H I9Zkqd?URL0a-tzlXYMl(cCFD9IpBy8r7{D z4OSX~`_eE+d^y0&Fc288z1)9HWAi*d{xSUF2k7xgF@Y_Po|uN+4B6Alh=+30>mlLc z=Xz5m;sE| m=IGPq91lsbqO;B($cKo4()PLb_MqZy?&b_+ZCRz99#~9P~@*% z0EY|@*%UApq< C79vl74i5M}-I3lVi;9Toe>e6ERKkn*_gml;r4|YbHtT{V7a?piFK&!l*8@jK z5^zZQZ3eUQ3hqcVMgWcbFg8XF5m5BfJ5n $Z32@GifK 6n#P(Bwd01^U`?F7C@3X%eFN(k|_!C@JwMOnZm z$ilm=Pt!xU|N9$0eGnFQg0-g;^Pxc6AJ`eB^z=meTKJbPT>@It22cRGrp!zWb=|}Y zwYhogyYliaU~iN`tR0S++yTcB#)uqf=)4blXrNim3#meQ3Wm|;F*g{|x53bG&lmWw z y!oXZ?RGD5Y7#2m-+v2ekrH9~=`xq4Kq&paYn~ltw)QA_baf$)}~e z|8*>uRW1_00`&+g8rD#&3L@mxaM}n9>FFDdqnzA0lDEPA1!AVwn$!39cx^@;&E(&+ zhFTg45w{gVC4d4%p%&qY!UR7YbcGp%g94TRsBwg|1T-m#-s?iXff6D`GDh@&59nrK zeW)Tv)-pkhm8Jgzq(y2CiBV3@&I7O3rmEl$nc%2e9|q^#xi**r08RmtNkQC?2f{Tl z@T97v$p7;s)XQ? d0u**SJ@H2l z5`uvE0e~WM6yzs|1PHSU?r`C7@F;2%VZxhNkgG&1fovdSg!`{6CQ*o79C!{PxIZ(H z!m+4ZnJiy_@fJq w>}gZA_DLozXX`uYzO9HD!5*Tu(EAPa~xwX!;A zVe#WgJLR7Of`8*H!-bhUI28Yp5E8og?+at(drb%=_YCR^8(S+p^V^%Oe{bX8_hJ%> zR{=Cgb|Vl@jCQzvt+t%G+6>R1;uIcRP0RoOVFUPK qovBiDVP7at*{ucV~Z5A8Ea z#FH3QrFMXqT7!7OkDz~?K_LSu4FgQ^-bNrGe|&z&zxRtiX>DtRb5}uNW}qA=c|f-U zS^GBF-G2W5aES99h(|?Reh1qefDxGRAHRC_>NY73;5_E**9nni2z0M9Xo~=e^S>-i zRN8{bhz%zuQ7DLD$wMCjxyt$E$a@6>