From a46f6f5a9146ef45f575cf7be0e3408dea7be16c Mon Sep 17 00:00:00 2001 From: n1ck-guo Date: Wed, 22 Oct 2025 20:59:27 -0400 Subject: [PATCH 1/5] remove low_cpu_mem Signed-off-by: n1ck-guo --- auto_round/auto_scheme/utils.py | 2 +- auto_round/autoround.py | 6 +- auto_round/compressors/base.py | 55 +- .../compressors/diffusion/compressor.py | 10 - auto_round/compressors/mllm/compressor.py | 11 - auto_round/low_cpu_mem/__init__.py | 18 - auto_round/low_cpu_mem/load.py | 271 --- auto_round/low_cpu_mem/modified_pickle.py | 1840 ----------------- auto_round/low_cpu_mem/utils.py | 474 ----- auto_round/utils.py | 86 +- test/test_cpu/test_autoround.py | 2 +- test/test_cpu/test_low_cpu_mem.py | 122 -- test/test_cuda/test_vlms.py | 2 +- 13 files changed, 43 insertions(+), 2856 deletions(-) delete mode 100644 auto_round/low_cpu_mem/__init__.py delete mode 100644 auto_round/low_cpu_mem/load.py delete mode 100644 auto_round/low_cpu_mem/modified_pickle.py delete mode 100644 auto_round/low_cpu_mem/utils.py delete mode 100644 test/test_cpu/test_low_cpu_mem.py diff --git a/auto_round/auto_scheme/utils.py b/auto_round/auto_scheme/utils.py index 73191c40f..0f2b00e06 100644 --- a/auto_round/auto_scheme/utils.py +++ b/auto_round/auto_scheme/utils.py @@ -19,13 +19,13 @@ from accelerate import dispatch_model, infer_auto_device_map from accelerate.utils import get_balanced_memory -from auto_round.low_cpu_mem import get_module from auto_round.schemes import QuantizationScheme, preset_name_to_scheme from auto_round.utils import ( SUPPORTED_LAYER_TYPES, check_to_quantized, get_block_names, get_layer_features, + get_module, is_hpex_available, ) diff --git a/auto_round/autoround.py b/auto_round/autoround.py index a335b343c..4716f173b 100644 --- a/auto_round/autoround.py +++ b/auto_round/autoround.py @@ -118,7 +118,7 @@ def __new__( **kwargs: Backward compatible options: - enable_alg_ext, quant_lm_head, lr, lr_scheduler, sampler, not_use_best_mse, dynamic_max_gap, super_group_size, super_bits, scale_dtype ("fp16" etc.), - nblocks, low_cpu_mem_usage, to_quant_block_names, + nblocks, to_quant_block_names, enable_norm_bias_tuning, enable_quanted_input, disable_deterministic_algorithms, vlm, static_kv_dtype Raises: @@ -271,7 +271,7 @@ class AutoRoundLLM(LLMCompressor): **kwargs: Backward compatible options: - enable_alg_ext, quant_lm_head, lr, lr_scheduler, sampler, not_use_best_mse, dynamic_max_gap, super_group_size, super_bits, scale_dtype ("fp16" etc.), - nblocks, low_cpu_mem_usage, to_quant_block_names, + nblocks, to_quant_block_names, enable_norm_bias_tuning, enable_quanted_input, disable_deterministic_algorithms, mllm, static_kv_dtype Raises: @@ -366,7 +366,6 @@ class AutoRoundAdam(AdamCompressor): lr (float): The learning rate (default is 0.005). minmax_lr (float): The learning rate for min-max tuning (default is None). low_gpu_mem_usage (bool): Whether to use low GPU memory (default is False). - low_cpu_mem_usage (bool): Whether to use low CPU memory (default is False). iters (int): Number of iterations (default is 200). seqlen (int): Length of the sequence. nsamples (int): Number of samples (default is 128). @@ -473,7 +472,6 @@ class AutoRoundMLLM(MLLMCompressor): lr (float): The learning rate (default is 0.005). minmax_lr (float): The learning rate for min-max tuning (default is None). low_gpu_mem_usage (bool): Whether to use low GPU memory (default is False). - low_cpu_mem_usage (bool): Whether to use low CPU memory (default is False). iters (int): Number of iterations (default is 200). seqlen (int): Length of the sequence. nsamples (int): Number of samples (default is 128). diff --git a/auto_round/compressors/base.py b/auto_round/compressors/base.py index d948de65b..fe3bf1421 100644 --- a/auto_round/compressors/base.py +++ b/auto_round/compressors/base.py @@ -36,7 +36,6 @@ from auto_round.export.export_to_autoround import AutoRoundFormat from auto_round.export.export_to_gguf.config import GGUF_CONFIG, GGUF_INNER_CONFIG, ModelType from auto_round.logger import logger -from auto_round.low_cpu_mem.utils import get_layers_before_block from auto_round.schemes import AutoScheme, QuantizationScheme, get_gguf_scheme, preset_name_to_scheme from auto_round.sign_sgd import SignSGD from auto_round.special_model_handler import _handle_moe_model @@ -181,7 +180,7 @@ def __init__( **kwargs: Backward compatible options: - enable_alg_ext, quant_lm_head, lr, lr_scheduler, sampler, not_use_best_mse, dynamic_max_gap, super_group_size, super_bits, scale_dtype ("fp16" etc.), - nblocks, low_cpu_mem_usage, to_quant_block_names, + nblocks, to_quant_block_names, enable_norm_bias_tuning, enable_quanted_input, disable_deterministic_algorithms, mllm, static_kv_dtype Raises: @@ -254,7 +253,6 @@ def __init__( not_use_best_mse = kwargs.pop("not_use_best_mse", False) dynamic_max_gap = kwargs.pop("dynamic_max_gap", -1) nblocks = kwargs.pop("nblocks", 1) - low_cpu_mem_usage = kwargs.pop("low_cpu_mem_usage", False) to_quant_block_names: Union[str, list, None] = kwargs.pop("to_quant_block_names", None) enable_norm_bias_tuning: bool = kwargs.pop("enable_norm_bias_tuning", False) enable_quanted_input: bool = kwargs.pop("enable_quanted_input", True) @@ -292,14 +290,12 @@ def __init__( # Model related self.quantized = False if isinstance(model, str): - model, tokenizer, low_cpu_mem_usage = llm_load_model( + model, tokenizer = llm_load_model( model, device="cpu", # always load cpu first - low_cpu_mem_mode=low_cpu_mem_usage, ) elif tokenizer is None and not self.diffusion and iters > 0: raise ValueError("A tokenizer must be set for non-str model input") - self.low_cpu_mem_usage = bool(low_cpu_mem_usage) if unsupported_meta_device(model): raise RuntimeError( "AutoRound does not support parameters on meta device. " @@ -572,7 +568,6 @@ def _adjust_torch_compile(self, enable_torch_compile: bool) -> None: and TORCH_VERSION_AT_LEAST_2_6 and self.act_bits > 8 and not is_debug_mode() - and not self.low_cpu_mem_usage and "fp8" not in self.data_type and "fp8" not in self.act_data_type ): @@ -581,10 +576,6 @@ def _adjust_torch_compile(self, enable_torch_compile: bool) -> None: "Enabling it can reduce tuning cost by 20%, but it might throw an exception." ) - if self.low_cpu_mem_usage and self.enable_torch_compile: - self.enable_torch_compile = False - logger.warning("reset enable_torch_compile to `False` as low_cpu_mem_usage is enabled") - # if is_debug_mode() and self.enable_torch_compile: # self.enable_torch_compile = False # logger.warning("reset enable_torch_compile to `False` as debug mode is enabled") @@ -1605,7 +1596,7 @@ def _quantize_via_rtn_blockwise(self, all_to_quantized_module_names: list[str]) self._quantize_layer_via_rtn(m.tmp_name) all_to_quantized_module_names.remove(m.tmp_name) - mv_module_from_gpu(block, self.low_cpu_mem_usage) + mv_module_from_gpu(block) pbar.update(1) pbar.close() @@ -1717,11 +1708,11 @@ def quantize(self) -> tuple[torch.nn.Module, dict[str, Any]]: all_q_inputs = self.try_cache_inter_data_gpucpu( all_first_block_names, self.nsamples, layer_names=layer_names ) - self.model = mv_module_from_gpu(self.model, self.low_cpu_mem_usage) + self.model = mv_module_from_gpu(self.model) clear_memory() if hasattr(self.model, "hf_device_map") and len(self.model.hf_device_map) > 1: accelerate.hooks.remove_hook_from_submodules(self.model) # self.model.hf_device_map has not been changed - self.model = mv_module_from_gpu(self.model, self.low_cpu_mem_usage) + self.model = mv_module_from_gpu(self.model) logger.info("caching done") if len(all_blocks) > 1: pbar = tqdm(range(0, sum([len(i) for i in all_blocks]), self.nblocks)) @@ -1855,7 +1846,7 @@ def _quantize_layers(self, layer_names: list, layer_inputs: dict) -> None: self.model ) ##self.model.hf_device_map has not been changed - self.model = mv_module_from_gpu(self.model, self.low_cpu_mem_usage) + self.model = mv_module_from_gpu(self.model) clear_memory() quant_layer = self._quantize_layer for layer_name in layer_names: @@ -1945,12 +1936,6 @@ def calib(self, nsamples, bs): self.dataloader = self.dataset total_cnt = 0 - # load embed weight if use low_cpu_mem_usage - if self.low_cpu_mem_usage: - embed_layers = get_layers_before_block(self.model) - for n, m in embed_layers: - m = m.to(self.device) - for data in self.dataloader: if data is None: continue @@ -2013,11 +1998,6 @@ def calib(self, nsamples, bs): f"Target samples count is {nsamples}, while valid samples count is {total_cnt}" ) - # clean embed weight to save memory - if self.low_cpu_mem_usage: - for n, m in embed_layers: - m = m.to("meta") - @torch.no_grad() def try_cache_inter_data_gpucpu(self, block_names, nsamples, layer_names=None, last_cache_name=None): """Attempts to cache intermediate data on GPU, if failed, then using CPU. @@ -2091,7 +2071,7 @@ def try_cache_inter_data_gpucpu(self, block_names, nsamples, layer_names=None, l accelerate.hooks.remove_hook_from_submodules( self.model ) ##self.model.hf_device_map has not been changed - self.model = mv_module_from_gpu(self.model, self.low_cpu_mem_usage) + self.model = mv_module_from_gpu(self.model) clear_memory() ## Important change after v0.51, on cpu, we use rtn mode for layers in layer_names all_inputs = self.cache_inter_data( @@ -2348,7 +2328,7 @@ def _quantize_layer( logger.info(dump_info) with torch.no_grad(): unwrapper_layer(self.model, wrapper_linear, layer_name, {}) - mv_module_from_gpu(layer, self.low_cpu_mem_usage) + mv_module_from_gpu(layer) lr = torch.tensor(self.lr) minmax_lr = torch.tensor(self.minmax_lr) @@ -2441,7 +2421,7 @@ def _quantize_layer( best_iter = last_best_iter with torch.no_grad(): unwrapper_layer(self.model, wrapper_linear, layer_name, best_params) - mv_module_from_gpu(layer, self.low_cpu_mem_usage) + mv_module_from_gpu(layer) dump_info = f"quantized {layer_name}, loss iter 0: {init_loss:.6f} -> iter {best_iter}: {last_loss:.6f}" logger.info(dump_info) @@ -2636,7 +2616,7 @@ def _quantize_block( ) logger.info(dump_info) unwrapper_block(block, {}) # TODO Quant layer should change - mv_module_from_gpu(block, self.low_cpu_mem_usage) + mv_module_from_gpu(block) return output, output if self.lr_scheduler is None: @@ -2727,8 +2707,6 @@ def _quantize_block( set_amax_for_all_moe_layers(block, attr_name="orig_layer.act_max") if self.enable_quanted_input: - if self.low_cpu_mem_usage: - block = block.to(device) clear_memory() q_outputs = self._get_block_outputs( block, @@ -2740,7 +2718,7 @@ def _quantize_block( ) if self.device_map is not None: accelerate.hooks.remove_hook_from_submodules(block) - mv_module_from_gpu(block, self.low_cpu_mem_usage) + mv_module_from_gpu(block) clear_memory(input_ids) return q_outputs, output @@ -2748,7 +2726,7 @@ def _quantize_block( else: if self.device_map is not None: accelerate.hooks.remove_hook_from_submodules(block) - mv_module_from_gpu(block, self.low_cpu_mem_usage) + mv_module_from_gpu(block) clear_memory(input_ids) return None, output @@ -2844,9 +2822,6 @@ def _quantize_blocks( modules = [get_module(model, n) for n in names] m = WrapperMultiblock(modules) - if not self.model.device.type == "meta" or self.low_cpu_mem_usage: - m = m.to(device) - q_input, input_ids = quantize_block( m, input_ids, @@ -2885,7 +2860,7 @@ def _quantize_blocks( if pbar is not None: pbar.update(1) - self.model = mv_module_from_gpu(self.model, self.low_cpu_mem_usage) + self.model = mv_module_from_gpu(self.model) for n, m in self.model.named_modules(): if hasattr(m, "name"): delattr(m, "name") @@ -2913,9 +2888,6 @@ def save_quantized( """ format = self._check_supported_format(format) - if self.low_cpu_mem_usage: - self.model = self.model.to("cpu") - if not self.quantized: logger.warning("please run autoround.quantize first") return @@ -3200,7 +3172,6 @@ class AdamCompressor(BaseCompressor): lr (float): The learning rate (default is 0.005). minmax_lr (float): The learning rate for min-max tuning (default is None). low_gpu_mem_usage (bool): Whether to use low GPU memory (default is False). - low_cpu_mem_usage (bool): Whether to use low CPU memory (default is False). iters (int): Number of iterations (default is 200). seqlen (int): Length of the sequence. nsamples (int): Number of samples (default is 128). diff --git a/auto_round/compressors/diffusion/compressor.py b/auto_round/compressors/diffusion/compressor.py index 3026204ac..21b58e6a8 100644 --- a/auto_round/compressors/diffusion/compressor.py +++ b/auto_round/compressors/diffusion/compressor.py @@ -22,7 +22,6 @@ from auto_round.compressors.base import BaseCompressor from auto_round.compressors.diffusion.dataset import get_diffusion_dataloader from auto_round.logger import logger -from auto_round.low_cpu_mem.utils import get_layers_before_block from auto_round.schemes import QuantizationScheme from auto_round.utils import ( LazyImport, @@ -299,11 +298,6 @@ def calib(self, nsamples, bs): self.dataloader = self.dataset total_cnt = 0 - if self.low_cpu_mem_usage: - embed_layers = get_layers_before_block(self.model) - for n, m in embed_layers: - m = m.to(self.device) - total = nsamples if not hasattr(self.dataloader, "len") else min(nsamples, len(self.dataloader)) if self.pipe.dtype != self.model.dtype: self.pipe.to(self.model.dtype) @@ -355,10 +349,6 @@ def calib(self, nsamples, bs): if isinstance(v[key], list) and len(v[key]) == total_cnt: self.inputs[k][key] = v[key][:max_len] - # clean embed weight to save memory - if self.low_cpu_mem_usage: - for n, m in embed_layers: - m = m.to("meta") # torch.cuda.empty_cache() def save_quantized(self, output_dir=None, format="auto_round", inplace=True, **kwargs): diff --git a/auto_round/compressors/mllm/compressor.py b/auto_round/compressors/mllm/compressor.py index 6fcb50c2c..402a643dc 100644 --- a/auto_round/compressors/mllm/compressor.py +++ b/auto_round/compressors/mllm/compressor.py @@ -25,7 +25,6 @@ from auto_round.compressors.mllm.dataset import get_mllm_dataloader from auto_round.compressors.mllm.template import Template, get_template from auto_round.logger import logger -from auto_round.low_cpu_mem.utils import get_layers_before_block from auto_round.schemes import QuantizationScheme from auto_round.special_model_handler import ( NOT_SUPPORT_ONLY_TEXT_MODELS, @@ -108,7 +107,6 @@ class MLLMCompressor(BaseCompressor): lr (float): The learning rate (default is 0.005). minmax_lr (float): The learning rate for min-max tuning (default is None). low_gpu_mem_usage (bool): Whether to use low GPU memory (default is False). - low_cpu_mem_usage (bool): Whether to use low CPU memory (default is False). iters (int): Number of iterations (default is 200). seqlen (int): Length of the sequence. nsamples (int): Number of samples (default is 128). @@ -315,11 +313,6 @@ def calib(self, nsamples, bs): self.dataloader = self.dataset total_cnt = 0 - if self.low_cpu_mem_usage: - embed_layers = get_layers_before_block(self.model) - for n, m in embed_layers: - m = m.to(self.device) - total = nsamples if not hasattr(self.dataloader, "len") else min(nsamples, len(self.dataloader)) with tqdm(range(1, total + 1), desc="cache block inputs") as pbar: for data in self.dataloader: @@ -417,10 +410,6 @@ def calib(self, nsamples, bs): if isinstance(v[key], list) and len(v[key]) == total_cnt: self.inputs[k][key] = v[key][:max_len] - # clean embed weight to save memory - if self.low_cpu_mem_usage: - for n, m in embed_layers: - m = m.to("meta") # torch.cuda.empty_cache() def save_quantized(self, output_dir=None, format="auto_round", inplace=True, **kwargs): diff --git a/auto_round/low_cpu_mem/__init__.py b/auto_round/low_cpu_mem/__init__.py deleted file mode 100644 index 453a608c4..000000000 --- a/auto_round/low_cpu_mem/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright (c) 2023 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Torch layer-wise quantization module.""" -from .utils import * diff --git a/auto_round/low_cpu_mem/load.py b/auto_round/low_cpu_mem/load.py deleted file mode 100644 index 44a8f2b0b..000000000 --- a/auto_round/low_cpu_mem/load.py +++ /dev/null @@ -1,271 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright (c) 2023 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Load one specify tensor from a bin file.""" - -import io -import os -import warnings -from typing import IO, Any, BinaryIO, Callable, Dict, Optional, Union - -from packaging.version import Version -from torch.serialization import ( - StorageType, - _get_restore_location, - _is_torchscript_zip, - _is_zipfile, - _maybe_decode_ascii, - _open_file_like, - _open_zipfile_reader, -) - -from ..low_cpu_mem import modified_pickle as pickle -from .utils import torch - -torch_version = torch.__version__.split("+")[0] -version = Version(torch_version) - -FILE_LIKE = Union[str, os.PathLike, BinaryIO, IO[bytes]] -MAP_LOCATION = Optional[Union[Callable[[torch.Tensor, str], torch.Tensor], torch.device, str, Dict[str, str]]] - -if version.release < Version("1.13.0").release: - UntypedStorage = torch._UntypedStorage -else: - UntypedStorage = torch.UntypedStorage - - -def _load(zip_file, tensor_name, prefix, map_location, pickle_module, pickle_file="data.pkl", **pickle_load_args): - restore_location = _get_restore_location(map_location) - - loaded_storages = {} - - def load_tensor(dtype, numel, key, location): - name = f"data/{key}" - - if version.release < Version("1.13.0").release: - storage = zip_file.get_storage_from_record(name, numel, torch._UntypedStorage).storage()._untyped() - typed_storage = torch.storage._TypedStorage(wrap_storage=restore_location(storage, location), dtype=dtype) - loaded_storages[key] = typed_storage - elif version.release < Version("2.0.0").release: # pragma: no cover - storage = zip_file.get_storage_from_record(name, numel, UntypedStorage).storage().untyped() - typed_storage = torch.storage.TypedStorage(wrap_storage=restore_location(storage, location), dtype=dtype) - loaded_storages[key] = typed_storage - else: - storage = zip_file.get_storage_from_record(name, numel, UntypedStorage)._typed_storage()._untyped_storage - typed_storage = torch.storage.TypedStorage( - wrap_storage=restore_location(storage, location), dtype=dtype, _internal=True - ) - - if typed_storage._data_ptr() != 0: - loaded_storages[key] = typed_storage - - return typed_storage - - load_module_mapping: Dict[str, str] = {"torch.tensor": "torch._tensor"} - - # Need to subclass Unpickler instead of directly monkey-patching the find_class method - # because it's marked readonly in pickle. - # The type: ignore is because mypy can't statically determine the type of this class. - class UnpicklerWrapper(pickle_module.Unpickler): # type: ignore[name-defined] - def find_class(self, mod_name, name): - if type(name) is str and "Storage" in name: - try: - return StorageType(name) - except KeyError: # pragma: no cover - pass - mod_name = load_module_mapping.get(mod_name, mod_name) - return super().find_class(mod_name, name) - - def persistent_load(self, saved_id): - assert isinstance(saved_id, tuple) - typename = _maybe_decode_ascii(saved_id[0]) - data = saved_id[1:] - - assert ( - typename == "storage" - ), f"Unknown typename for persistent_load, expected 'storage' but got '{typename}'" - storage_type, key, location, numel = data - - if storage_type is UntypedStorage: # pragma: no cover - dtype = torch.uint8 - else: - dtype = storage_type.dtype - - if key in loaded_storages: - typed_storage = loaded_storages[key] - else: - name_list = [self.tensor_name] - if prefix: - no_prefix_name = self.tensor_name.split(".") - if prefix in no_prefix_name: - no_prefix_name.remove(prefix) - no_prefix_name = ".".join(no_prefix_name) - name_list.append(no_prefix_name) - if self.tensor_name and self.metastack[-1][-2] not in name_list: - # typed_storage = None - # loaded_storages[key] = typed_storage - # nbytes = numel * torch._utils._element_size(dtype) - # typed_storage = load_tensor(dtype, nbytes, key, _maybe_decode_ascii(location)) - typed_storage = None - else: - nbytes = numel * torch._utils._element_size(dtype) - typed_storage = load_tensor(dtype, nbytes, key, _maybe_decode_ascii(location)) - - return typed_storage - - # Load the data (which may in turn use `persistent_load` to load tensors) - data_file = io.BytesIO(zip_file.get_record(pickle_file)) - - unpickler = UnpicklerWrapper(data_file, **pickle_load_args) - # unpickler.persistent_load = persistent_load - result = unpickler.load(tensor_name) - - torch._utils._validate_loaded_sparse_tensors() - return result - - -def load( - f: FILE_LIKE, - tensor_name: str = None, - prefix: str = None, - map_location: MAP_LOCATION = None, - pickle_module: Any = None, - *, - weights_only: bool = False, - **pickle_load_args: Any, -) -> Any: - # Reference: https://github.com/pytorch/pytorch/issues/54354 - # The first line of this docstring overrides the one Sphinx generates for the - # documentation. We need it so that Sphinx doesn't leak `pickle`s path from - # the build environment (e.g. `>> # xdoctest: +SKIP("undefined filepaths") - >>> torch.load('tensors.pt') - # Load all tensors onto the CPU - >>> torch.load('tensors.pt', map_location=torch.device('cpu')) - # Load all tensors onto the CPU, using a function - >>> torch.load('tensors.pt', map_location=lambda storage, loc: storage) - # Load all tensors onto GPU 1 - >>> torch.load('tensors.pt', map_location=lambda storage, loc: storage.cuda(1)) - # Map tensors from GPU 1 to GPU 0 - >>> torch.load('tensors.pt', map_location={'cuda:1': 'cuda:0'}) - # Load tensor from io.BytesIO object - >>> with open('tensor.pt', 'rb') as f: - ... buffer = io.BytesIO(f.read()) - >>> torch.load(buffer) - # Load a module with 'ascii' encoding for unpickling - >>> torch.load('module.pt', encoding='ascii') - """ - torch._C._log_api_usage_once("torch.load") - # Add ability to force safe only weight loads via environment variable - if os.getenv("TORCH_FORCE_WEIGHTS_ONLY_LOAD", "0").lower() in ["1", "y", "yes", "true"]: # pragma: no cover - weights_only = True - - if weights_only: # pragma: no cover - if pickle_module is not None: - raise RuntimeError("Can not safely load weights when explicit pickle_module is specified") - else: - if pickle_module is None: - pickle_module = pickle - - if "encoding" not in pickle_load_args.keys(): - pickle_load_args["encoding"] = "utf-8" - - with _open_file_like(f, "rb") as opened_file: - if _is_zipfile(opened_file): - # The zipfile reader is going to advance the current file position. - # If we want to actually tail call to torch.jit.load, we need to - # reset back to the original position. - orig_position = opened_file.tell() - with _open_zipfile_reader(opened_file) as opened_zipfile: - if _is_torchscript_zip(opened_zipfile): # pragma: no cover - warnings.warn( - "'torch.load' received a zip file that looks like a TorchScript archive" - " dispatching to 'torch.jit.load' (call 'torch.jit.load' directly to" - " silence this warning)", - UserWarning, - ) - opened_file.seek(orig_position) - return torch.jit.load(opened_file, map_location=map_location) - return _load(opened_zipfile, tensor_name, prefix, map_location, pickle_module, **pickle_load_args) diff --git a/auto_round/low_cpu_mem/modified_pickle.py b/auto_round/low_cpu_mem/modified_pickle.py deleted file mode 100644 index 22e6ab5c0..000000000 --- a/auto_round/low_cpu_mem/modified_pickle.py +++ /dev/null @@ -1,1840 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright (c) 2023 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Create portable serialized representations of Python objects. - -See module copyreg for a mechanism for registering custom picklers. -See module pickletools source for extensive comments. - -Classes: - - Pickler - Unpickler - -Functions: - - dump(object, file) - dumps(object) -> string - load(file) -> object - loads(string) -> object - -Misc variables: - - __version__ - format_version - compatible_formats -""" - -import codecs -import io -import re -import sys -from copyreg import _extension_cache, _extension_registry, _inverted_registry, dispatch_table -from functools import partial -from itertools import islice -from struct import pack, unpack -from sys import maxsize -from types import FunctionType - -import _compat_pickle - -__all__ = ["PickleError", "PicklingError", "UnpicklingError", "Pickler", "Unpickler", "dump", "dumps", "load", "loads"] - -try: - from _pickle import PickleBuffer - - __all__.append("PickleBuffer") - _HAVE_PICKLE_BUFFER = True -except ImportError: - _HAVE_PICKLE_BUFFER = False - - -# Shortcut for use in isinstance testing -bytes_types = (bytes, bytearray) - -# These are purely informational; no code uses these. -format_version = "4.0" # File format version we write -compatible_formats = [ - "1.0", # Original protocol 0 - "1.1", # Protocol 0 with INST added - "1.2", # Original protocol 1 - "1.3", # Protocol 1 with BINFLOAT added - "2.0", # Protocol 2 - "3.0", # Protocol 3 - "4.0", # Protocol 4 - "5.0", # Protocol 5 -] # Old format versions we can read - -# This is the highest protocol number we know how to read. -HIGHEST_PROTOCOL = 5 - -# The protocol we write by default. May be less than HIGHEST_PROTOCOL. -# Only bump this if the oldest still supported version of Python already -# includes it. -DEFAULT_PROTOCOL = 4 - - -class PickleError(Exception): - """A common base class for the other pickling exceptions.""" - - pass - - -class PicklingError(PickleError): - """This exception is raised when an unpicklable object is passed to the - dump() method.""" - - pass - - -class UnpicklingError(PickleError): - """This exception is raised when there is a problem unpickling an object, - such as a security violation. - - Note that other exceptions may also be raised during unpickling, including - (but not necessarily limited to) AttributeError, EOFError, ImportError, - and IndexError. - """ - - pass - - -# An instance of _Stop is raised by Unpickler.load_stop() in response to -# the STOP opcode, passing the object that is the result of unpickling. -class _Stop(Exception): - def __init__(self, value): # pragma: no cover - self.value = value - - -# Jython has PyStringMap; it's a dict subclass with string keys -try: - from org.python.core import PyStringMap -except ImportError: - PyStringMap = None - -# Pickle opcodes. See pickletools.py for extensive docs. The listing -# here is in kind-of alphabetical order of 1-character pickle code. -# pickletools groups them by purpose. -# fmt: off -MARK = b'(' # push special markobject on stack -STOP = b'.' # every pickle ends with STOP -POP = b'0' # discard topmost stack item -POP_MARK = b'1' # discard stack top through topmost markobject -DUP = b'2' # duplicate top stack item -FLOAT = b'F' # push float object; decimal string argument -INT = b'I' # push integer or bool; decimal string argument -BININT = b'J' # push four-byte signed int -BININT1 = b'K' # push 1-byte unsigned int -LONG = b'L' # push long; decimal string argument -BININT2 = b'M' # push 2-byte unsigned int -NONE = b'N' # push None -PERSID = b'P' # push persistent object; id is taken from string arg -BINPERSID = b'Q' # " " " ; " " " " stack -REDUCE = b'R' # apply callable to argtuple, both on stack -STRING = b'S' # push string; NL-terminated string argument -BINSTRING = b'T' # push string; counted binary string argument -SHORT_BINSTRING= b'U' # " " ; " " " " < 256 bytes -UNICODE = b'V' # push Unicode string; raw-unicode-escaped'd argument -BINUNICODE = b'X' # " " " ; counted UTF-8 string argument -APPEND = b'a' # append stack top to list below it -BUILD = b'b' # call __setstate__ or __dict__.update() -GLOBAL = b'c' # push self.find_class(modname, name); 2 string args -DICT = b'd' # build a dict from stack items -EMPTY_DICT = b'}' # push empty dict -APPENDS = b'e' # extend list on stack by topmost stack slice -GET = b'g' # push item from memo on stack; index is string arg -BINGET = b'h' # " " " " " " ; " " 1-byte arg -INST = b'i' # build & push class instance -LONG_BINGET = b'j' # push item from memo on stack; index is 4-byte arg -LIST = b'l' # build list from topmost stack items -EMPTY_LIST = b']' # push empty list -OBJ = b'o' # build & push class instance -PUT = b'p' # store stack top in memo; index is string arg -BINPUT = b'q' # " " " " " ; " " 1-byte arg -LONG_BINPUT = b'r' # " " " " " ; " " 4-byte arg -SETITEM = b's' # add key+value pair to dict -TUPLE = b't' # build tuple from topmost stack items -EMPTY_TUPLE = b')' # push empty tuple -SETITEMS = b'u' # modify dict by adding topmost key+value pairs -BINFLOAT = b'G' # push float; arg is 8-byte float encoding - -TRUE = b'I01\n' # not an opcode; see INT docs in pickletools.py -FALSE = b'I00\n' # not an opcode; see INT docs in pickletools.py - -# Protocol 2 - -PROTO = b'\x80' # identify pickle protocol -NEWOBJ = b'\x81' # build object by applying cls.__new__ to argtuple -EXT1 = b'\x82' # push object from extension registry; 1-byte index -EXT2 = b'\x83' # ditto, but 2-byte index -EXT4 = b'\x84' # ditto, but 4-byte index -TUPLE1 = b'\x85' # build 1-tuple from stack top -TUPLE2 = b'\x86' # build 2-tuple from two topmost stack items -TUPLE3 = b'\x87' # build 3-tuple from three topmost stack items -NEWTRUE = b'\x88' # push True -NEWFALSE = b'\x89' # push False -LONG1 = b'\x8a' # push long from < 256 bytes -LONG4 = b'\x8b' # push really big long - -_tuplesize2code = [EMPTY_TUPLE, TUPLE1, TUPLE2, TUPLE3] - -# Protocol 3 (Python 3.x) - -BINBYTES = b'B' # push bytes; counted binary string argument -SHORT_BINBYTES = b'C' # " " ; " " " " < 256 bytes - -# Protocol 4 - -SHORT_BINUNICODE = b'\x8c' # push short string; UTF-8 length < 256 bytes -BINUNICODE8 = b'\x8d' # push very long string -BINBYTES8 = b'\x8e' # push very long bytes string -EMPTY_SET = b'\x8f' # push empty set on the stack -ADDITEMS = b'\x90' # modify set by adding topmost stack items -FROZENSET = b'\x91' # build frozenset from topmost stack items -NEWOBJ_EX = b'\x92' # like NEWOBJ but work with keyword only arguments -STACK_GLOBAL = b'\x93' # same as GLOBAL but using names on the stacks -MEMOIZE = b'\x94' # store top of the stack in memo -FRAME = b'\x95' # indicate the beginning of a new frame - -# Protocol 5 - -BYTEARRAY8 = b'\x96' # push bytearray -NEXT_BUFFER = b'\x97' # push next out-of-band buffer -READONLY_BUFFER = b'\x98' # make top of stack readonly -# fmt: on -__all__.extend([x for x in dir() if re.match("[A-Z][A-Z0-9_]+$", x)]) - - -class _Framer: # pragma: no cover - _FRAME_SIZE_MIN = 4 - _FRAME_SIZE_TARGET = 64 * 1024 - - def __init__(self, file_write): - self.file_write = file_write - self.current_frame = None - - def start_framing(self): - self.current_frame = io.BytesIO() - - def end_framing(self): - if self.current_frame and self.current_frame.tell() > 0: - self.commit_frame(force=True) - self.current_frame = None - - def commit_frame(self, force=False): - if self.current_frame: - f = self.current_frame - if f.tell() >= self._FRAME_SIZE_TARGET or force: - data = f.getbuffer() - write = self.file_write - if len(data) >= self._FRAME_SIZE_MIN: - # Issue a single call to the write method of the underlying - # file object for the frame opcode with the size of the - # frame. The concatenation is expected to be less expensive - # than issuing an additional call to write. - write(FRAME + pack("": - raise AttributeError("Can't get local attribute {!r} on {!r}".format(name, obj)) - try: - parent = obj - obj = getattr(obj, subpath) - except AttributeError: - raise AttributeError("Can't get attribute {!r} on {!r}".format(name, obj)) from None - return obj, parent - - -def whichmodule(obj, name): # pragma: no cover - """Find the module an object belong to.""" - module_name = getattr(obj, "__module__", None) - if module_name is not None: - return module_name - # Protect the iteration by using a list copy of sys.modules against dynamic - # modules that trigger imports of other modules upon calls to getattr. - for module_name, module in sys.modules.copy().items(): - if module_name == "__main__" or module_name == "__mp_main__" or module is None: # bpo-42406 - continue - try: - if _getattribute(module, name)[0] is obj: - return module_name - except AttributeError: - pass - return "__main__" - - -def encode_long(x): # pragma: no cover - r"""Encode a long to a two's complement little-endian binary string. - Note that 0 is a special case, returning an empty string, to save a - byte in the LONG1 pickling context. - - >>> encode_long(0) - b'' - >>> encode_long(255) - b'\xff\x00' - >>> encode_long(32767) - b'\xff\x7f' - >>> encode_long(-256) - b'\x00\xff' - >>> encode_long(-32768) - b'\x00\x80' - >>> encode_long(-128) - b'\x80' - >>> encode_long(127) - b'\x7f' - >>> - """ - if x == 0: - return b"" - nbytes = (x.bit_length() >> 3) + 1 - result = x.to_bytes(nbytes, byteorder="little", signed=True) - if x < 0 and nbytes > 1: - if result[-1] == 0xFF and (result[-2] & 0x80) != 0: - result = result[:-1] - return result - - -def decode_long(data): # pragma: no cover - r"""Decode a long from a two's complement little-endian binary string. - - >>> decode_long(b'') - 0 - >>> decode_long(b"\xff\x00") - 255 - >>> decode_long(b"\xff\x7f") - 32767 - >>> decode_long(b"\x00\xff") - -256 - >>> decode_long(b"\x00\x80") - -32768 - >>> decode_long(b"\x80") - -128 - >>> decode_long(b"\x7f") - 127 - """ - return int.from_bytes(data, byteorder="little", signed=True) - - -# Pickling machinery - - -class _Pickler: # pragma: no cover - def __init__(self, file, protocol=None, *, fix_imports=True, buffer_callback=None): - """This takes a binary file for writing a pickle data stream. - - The optional *protocol* argument tells the pickler to use the - given protocol; supported protocols are 0, 1, 2, 3, 4 and 5. - The default protocol is 4. It was introduced in Python 3.4, and - is incompatible with previous versions. - - Specifying a negative protocol version selects the highest - protocol version supported. The higher the protocol used, the - more recent the version of Python needed to read the pickle - produced. - - The *file* argument must have a write() method that accepts a - single bytes argument. It can thus be a file object opened for - binary writing, an io.BytesIO instance, or any other custom - object that meets this interface. - - If *fix_imports* is True and *protocol* is less than 3, pickle - will try to map the new Python 3 names to the old module names - used in Python 2, so that the pickle data stream is readable - with Python 2. - - If *buffer_callback* is None (the default), buffer views are - serialized into *file* as part of the pickle stream. - - If *buffer_callback* is not None, then it can be called any number - of times with a buffer view. If the callback returns a false value - (such as None), the given buffer is out-of-band; otherwise the - buffer is serialized in-band, i.e. inside the pickle stream. - - It is an error if *buffer_callback* is not None and *protocol* - is None or smaller than 5. - """ - if protocol is None: - protocol = DEFAULT_PROTOCOL - if protocol < 0: - protocol = HIGHEST_PROTOCOL - elif not 0 <= protocol <= HIGHEST_PROTOCOL: - raise ValueError("pickle protocol must be <= %d" % HIGHEST_PROTOCOL) - if buffer_callback is not None and protocol < 5: - raise ValueError("buffer_callback needs protocol >= 5") - self._buffer_callback = buffer_callback - try: - self._file_write = file.write - except AttributeError: - raise TypeError("file must have a 'write' attribute") - self.framer = _Framer(self._file_write) - self.write = self.framer.write - self._write_large_bytes = self.framer.write_large_bytes - self.memo = {} - self.proto = int(protocol) - self.bin = protocol >= 1 - self.fast = 0 - self.fix_imports = fix_imports and protocol < 3 - - def clear_memo(self): - """Clears the pickler's "memo". - - The memo is the data structure that remembers which objects the - pickler has already seen, so that shared or recursive objects - are pickled by reference and not by value. This method is - useful when reusing picklers. - """ - self.memo.clear() - - def dump(self, obj): - """Write a pickled representation of obj to the open file.""" - # Check whether Pickler was initialized correctly. This is - # only needed to mimic the behavior of _pickle.Pickler.dump(). - if not hasattr(self, "_file_write"): - raise PicklingError("Pickler.__init__() was not called by " "%s.__init__()" % (self.__class__.__name__,)) - if self.proto >= 2: - self.write(PROTO + pack("= 4: - self.framer.start_framing() - self.save(obj) - self.write(STOP) - self.framer.end_framing() - - def memoize(self, obj): - """Store an object in the memo.""" - - # The Pickler memo is a dictionary mapping object ids to 2-tuples - # that contain the Unpickler memo key and the object being memoized. - # The memo key is written to the pickle and will become - # the key in the Unpickler's memo. The object is stored in the - # Pickler memo so that transient objects are kept alive during - # pickling. - - # The use of the Unpickler memo length as the memo key is just a - # convention. The only requirement is that the memo values be unique. - # But there appears no advantage to any other scheme, and this - # scheme allows the Unpickler memo to be implemented as a plain (but - # growable) array, indexed by memo key. - if self.fast: - return - assert id(obj) not in self.memo - idx = len(self.memo) - self.write(self.put(idx)) - self.memo[id(obj)] = idx, obj - - # Return a PUT (BINPUT, LONG_BINPUT) opcode string, with argument i. - def put(self, idx): - if self.proto >= 4: - return MEMOIZE - elif self.bin: - if idx < 256: - return BINPUT + pack("= 2 and func_name == "__newobj_ex__": - cls, args, kwargs = args - if not hasattr(cls, "__new__"): - raise PicklingError("args[0] from {} args has no __new__".format(func_name)) - if obj is not None and cls is not obj.__class__: - raise PicklingError("args[0] from {} args has the wrong class".format(func_name)) - if self.proto >= 4: - save(cls) - save(args) - save(kwargs) - write(NEWOBJ_EX) - else: - func = partial(cls.__new__, cls, *args, **kwargs) - save(func) - save(()) - write(REDUCE) - elif self.proto >= 2 and func_name == "__newobj__": - # A __reduce__ implementation can direct protocol 2 or newer to - # use the more efficient NEWOBJ opcode, while still - # allowing protocol 0 and 1 to work normally. For this to - # work, the function returned by __reduce__ should be - # called __newobj__, and its first argument should be a - # class. The implementation for __newobj__ - # should be as follows, although pickle has no way to - # verify this: - # - # def __newobj__(cls, *args): - # return cls.__new__(cls, *args) - # - # Protocols 0 and 1 will pickle a reference to __newobj__, - # while protocol 2 (and above) will pickle a reference to - # cls, the remaining args tuple, and the NEWOBJ code, - # which calls cls.__new__(cls, *args) at unpickling time - # (see load_newobj below). If __reduce__ returns a - # three-tuple, the state from the third tuple item will be - # pickled regardless of the protocol, calling __setstate__ - # at unpickling time (see load_build below). - # - # Note that no standard __newobj__ implementation exists; - # you have to provide your own. This is to enforce - # compatibility with Python 2.2 (pickles written using - # protocol 0 or 1 in Python 2.3 should be unpicklable by - # Python 2.2). - cls = args[0] - if not hasattr(cls, "__new__"): - raise PicklingError("args[0] from __newobj__ args has no __new__") - if obj is not None and cls is not obj.__class__: - raise PicklingError("args[0] from __newobj__ args has the wrong class") - args = args[1:] - save(cls) - save(args) - write(NEWOBJ) - else: - save(func) - save(args) - write(REDUCE) - - if obj is not None: - # If the object is already in the memo, this means it is - # recursive. In this case, throw away everything we put on the - # stack, and fetch the object back from the memo. - if id(obj) in self.memo: - write(POP + self.get(self.memo[id(obj)][0])) - else: - self.memoize(obj) - - # More new special cases (that work with older protocols as - # well): when __reduce__ returns a tuple with 4 or 5 items, - # the 4th and 5th item should be iterators that provide list - # items and dict items (as (key, value) tuples), or None. - - if listitems is not None: - self._batch_appends(listitems) - - if dictitems is not None: - self._batch_setitems(dictitems) - - if state is not None: - if state_setter is None: - save(state) - write(BUILD) - else: - # If a state_setter is specified, call it instead of load_build - # to update obj's with its previous state. - # First, push state_setter and its tuple of expected arguments - # (obj, state) onto the stack. - save(state_setter) - save(obj) # simple BINGET opcode as obj is already memoized. - save(state) - write(TUPLE2) - # Trigger a state_setter(obj, state) function call. - write(REDUCE) - # The purpose of state_setter is to carry-out an - # inplace modification of obj. We do not care about what the - # method might return, so its output is eventually removed from - # the stack. - write(POP) - - # Methods below this point are dispatched through the dispatch table - - dispatch = {} - - def save_none(self, obj): - self.write(NONE) - - dispatch[type(None)] = save_none - - def save_bool(self, obj): - if self.proto >= 2: - self.write(NEWTRUE if obj else NEWFALSE) - else: - self.write(TRUE if obj else FALSE) - - dispatch[bool] = save_bool - - def save_long(self, obj): - if self.bin: - # If the int is small enough to fit in a signed 4-byte 2's-comp - # format, we can store it more efficiently than the general - # case. - # First one- and two-byte unsigned ints: - if obj >= 0: - if obj <= 0xFF: - self.write(BININT1 + pack("= 2: - encoded = encode_long(obj) - n = len(encoded) - if n < 256: - self.write(LONG1 + pack("d", obj)) - else: - self.write(FLOAT + repr(obj).encode("ascii") + b"\n") - - dispatch[float] = save_float - - def save_bytes(self, obj): - if self.proto < 3: - if not obj: # bytes object is empty - self.save_reduce(bytes, (), obj=obj) - else: - self.save_reduce(codecs.encode, (str(obj, "latin1"), "latin1"), obj=obj) - return - n = len(obj) - if n <= 0xFF: - self.write(SHORT_BINBYTES + pack(" 0xFFFFFFFF and self.proto >= 4: - self._write_large_bytes(BINBYTES8 + pack("= self.framer._FRAME_SIZE_TARGET: - self._write_large_bytes(BINBYTES + pack("= self.framer._FRAME_SIZE_TARGET: - self._write_large_bytes(BYTEARRAY8 + pack("= 5") - with obj.raw() as m: - if not m.contiguous: - raise PicklingError("PickleBuffer can not be pickled when " "pointing to a non-contiguous buffer") - in_band = True - if self._buffer_callback is not None: - in_band = bool(self._buffer_callback(obj)) - if in_band: - # Write data in-band - # XXX The C implementation avoids a copy here - if m.readonly: - self.save_bytes(m.tobytes()) - else: - self.save_bytearray(m.tobytes()) - else: - # Write data out-of-band - self.write(NEXT_BUFFER) - if m.readonly: - self.write(READONLY_BUFFER) - - dispatch[PickleBuffer] = save_picklebuffer - - def save_str(self, obj): - if self.bin: - encoded = obj.encode("utf-8", "surrogatepass") - n = len(encoded) - if n <= 0xFF and self.proto >= 4: - self.write(SHORT_BINUNICODE + pack(" 0xFFFFFFFF and self.proto >= 4: - self._write_large_bytes(BINUNICODE8 + pack("= self.framer._FRAME_SIZE_TARGET: - self._write_large_bytes(BINUNICODE + pack("= 2: - for element in obj: - save(element) - # Subtle. Same as in the big comment below. - if id(obj) in memo: - get = self.get(memo[id(obj)][0]) - self.write(POP * n + get) - else: - self.write(_tuplesize2code[n]) - self.memoize(obj) - return - - # proto 0 or proto 1 and tuple isn't empty, or proto > 1 and tuple - # has more than 3 elements. - write = self.write - write(MARK) - for element in obj: - save(element) - - if id(obj) in memo: - # Subtle. d was not in memo when we entered save_tuple(), so - # the process of saving the tuple's elements must have saved - # the tuple itself: the tuple is recursive. The proper action - # now is to throw away everything we put on the stack, and - # simply GET the tuple (it's already constructed). This check - # could have been done in the "for element" loop instead, but - # recursive tuples are a rare thing. - get = self.get(memo[id(obj)][0]) - if self.bin: - write(POP_MARK + get) - else: # proto 0 -- POP_MARK not available - write(POP * (n + 1) + get) - return - - # No recursion. - write(TUPLE) - self.memoize(obj) - - dispatch[tuple] = save_tuple - - def save_list(self, obj): - if self.bin: - self.write(EMPTY_LIST) - else: # proto 0 -- can't use EMPTY_LIST - self.write(MARK + LIST) - - self.memoize(obj) - self._batch_appends(obj) - - dispatch[list] = save_list - - _BATCHSIZE = 1000 - - def _batch_appends(self, items): - # Helper to batch up APPENDS sequences - save = self.save - write = self.write - - if not self.bin: - for x in items: - save(x) - write(APPEND) - return - - it = iter(items) - while True: - tmp = list(islice(it, self._BATCHSIZE)) - n = len(tmp) - if n > 1: - write(MARK) - for x in tmp: - save(x) - write(APPENDS) - elif n: - save(tmp[0]) - write(APPEND) - # else tmp is empty, and we're done - if n < self._BATCHSIZE: - return - - def save_dict(self, obj): - if self.bin: - self.write(EMPTY_DICT) - else: # proto 0 -- can't use EMPTY_DICT - self.write(MARK + DICT) - - self.memoize(obj) - self._batch_setitems(obj.items()) - - dispatch[dict] = save_dict - if PyStringMap is not None: - dispatch[PyStringMap] = save_dict - - def _batch_setitems(self, items): - # Helper to batch up SETITEMS sequences; proto >= 1 only - save = self.save - write = self.write - - if not self.bin: - for k, v in items: - save(k) - save(v) - write(SETITEM) - return - - it = iter(items) - while True: - tmp = list(islice(it, self._BATCHSIZE)) - n = len(tmp) - if n > 1: - write(MARK) - for k, v in tmp: - save(k) - save(v) - write(SETITEMS) - elif n: - k, v = tmp[0] - save(k) - save(v) - write(SETITEM) - # else tmp is empty, and we're done - if n < self._BATCHSIZE: - return - - def save_set(self, obj): - save = self.save - write = self.write - - if self.proto < 4: - self.save_reduce(set, (list(obj),), obj=obj) - return - - write(EMPTY_SET) - self.memoize(obj) - - it = iter(obj) - while True: - batch = list(islice(it, self._BATCHSIZE)) - n = len(batch) - if n > 0: - write(MARK) - for item in batch: - save(item) - write(ADDITEMS) - if n < self._BATCHSIZE: - return - - dispatch[set] = save_set - - def save_frozenset(self, obj): - save = self.save - write = self.write - - if self.proto < 4: - self.save_reduce(frozenset, (list(obj),), obj=obj) - return - - write(MARK) - for item in obj: - save(item) - - if id(obj) in self.memo: - # If the object is already in the memo, this means it is - # recursive. In this case, throw away everything we put on the - # stack, and fetch the object back from the memo. - write(POP_MARK + self.get(self.memo[id(obj)][0])) - return - - write(FROZENSET) - self.memoize(obj) - - dispatch[frozenset] = save_frozenset - - def save_global(self, obj, name=None): - write = self.write - memo = self.memo - - if name is None: - name = getattr(obj, "__qualname__", None) - if name is None: - name = obj.__name__ - - module_name = whichmodule(obj, name) - try: - __import__(module_name, level=0) - module = sys.modules[module_name] - obj2, parent = _getattribute(module, name) - except (ImportError, KeyError, AttributeError): - raise PicklingError("Can't pickle %r: it's not found as %s.%s" % (obj, module_name, name)) from None - else: - if obj2 is not obj: - raise PicklingError("Can't pickle %r: it's not the same object as %s.%s" % (obj, module_name, name)) - - if self.proto >= 2: - code = _extension_registry.get((module_name, name)) - if code: - assert code > 0 - if code <= 0xFF: - write(EXT1 + pack("= 3. - if self.proto >= 4: - self.save(module_name) - self.save(name) - write(STACK_GLOBAL) - elif parent is not module: - self.save_reduce(getattr, (parent, lastname)) - elif self.proto >= 3: - write(GLOBAL + bytes(module_name, "utf-8") + b"\n" + bytes(name, "utf-8") + b"\n") - else: - if self.fix_imports: - r_name_mapping = _compat_pickle.REVERSE_NAME_MAPPING - r_import_mapping = _compat_pickle.REVERSE_IMPORT_MAPPING - if (module_name, name) in r_name_mapping: - module_name, name = r_name_mapping[(module_name, name)] - elif module_name in r_import_mapping: - module_name = r_import_mapping[module_name] - try: - write(GLOBAL + bytes(module_name, "ascii") + b"\n" + bytes(name, "ascii") + b"\n") - except UnicodeEncodeError: - raise PicklingError( - "can't pickle global identifier '%s.%s' using " "pickle protocol %i" % (module, name, self.proto) - ) from None - - self.memoize(obj) - - def save_type(self, obj): - if obj is type(None): - return self.save_reduce(type, (None,), obj=obj) - elif obj is type(NotImplemented): - return self.save_reduce(type, (NotImplemented,), obj=obj) - elif obj is type(...): - return self.save_reduce(type, (...,), obj=obj) - return self.save_global(obj) - - dispatch[FunctionType] = save_global - dispatch[type] = save_type - - -# Unpickling machinery - - -class _Unpickler: # pragma: no cover - def __init__(self, file, *, fix_imports=True, encoding="ASCII", errors="strict", buffers=None): - """This takes a binary file for reading a pickle data stream. - - The protocol version of the pickle is detected automatically, so - no proto argument is needed. - - The argument *file* must have two methods, a read() method that - takes an integer argument, and a readline() method that requires - no arguments. Both methods should return bytes. Thus *file* - can be a binary file object opened for reading, an io.BytesIO - object, or any other custom object that meets this interface. - - The file-like object must have two methods, a read() method - that takes an integer argument, and a readline() method that - requires no arguments. Both methods should return bytes. - Thus file-like object can be a binary file object opened for - reading, a BytesIO object, or any other custom object that - meets this interface. - - If *buffers* is not None, it should be an iterable of buffer-enabled - objects that is consumed each time the pickle stream references - an out-of-band buffer view. Such buffers have been given in order - to the *buffer_callback* of a Pickler object. - - If *buffers* is None (the default), then the buffers are taken - from the pickle stream, assuming they are serialized there. - It is an error for *buffers* to be None if the pickle stream - was produced with a non-None *buffer_callback*. - - Other optional arguments are *fix_imports*, *encoding* and - *errors*, which are used to control compatibility support for - pickle stream generated by Python 2. If *fix_imports* is True, - pickle will try to map the old Python 2 names to the new names - used in Python 3. The *encoding* and *errors* tell pickle how - to decode 8-bit string instances pickled by Python 2; these - default to 'ASCII' and 'strict', respectively. *encoding* can be - 'bytes' to read these 8-bit string instances as bytes objects. - """ - self._buffers = iter(buffers) if buffers is not None else None - self._file_readline = file.readline - self._file_read = file.read - self.memo = {} - self.encoding = encoding - self.errors = errors - self.proto = 0 - self.fix_imports = fix_imports - - def load(self, tensor_name=None): - """Read a pickled object representation from the open file. - - Return the reconstituted object hierarchy specified in the file. - """ - # Check whether Unpickler was initialized correctly. This is - # only needed to mimic the behavior of _pickle.Unpickler.dump(). - - if not hasattr(self, "_file_read"): - raise UnpicklingError( - "Unpickler.__init__() was not called by " "%s.__init__()" % (self.__class__.__name__,) - ) - self.tensor_name = tensor_name - self._unframer = _Unframer(self._file_read, self._file_readline) - self.read = self._unframer.read - self.readinto = self._unframer.readinto - self.readline = self._unframer.readline - self.metastack = [] - self.stack = [] - self.append = self.stack.append - self.proto = 0 - read = self.read - dispatch = self.dispatch - try: - while True: - key = read(1) - if not key: - raise EOFError - assert isinstance(key, bytes_types) - dispatch[key[0]](self) - except _Stop as stopinst: - return stopinst.value - - # Return a list of items pushed in the stack after last MARK instruction. - def pop_mark(self): - items = self.stack - self.stack = self.metastack.pop() - self.append = self.stack.append - return items - - def persistent_load(self, pid): - raise UnpicklingError("unsupported persistent id encountered") - - dispatch = {} - - def load_proto(self): - proto = self.read(1)[0] - if not 0 <= proto <= HIGHEST_PROTOCOL: - raise ValueError("unsupported pickle protocol: %d" % proto) - self.proto = proto - - dispatch[PROTO[0]] = load_proto - - def load_frame(self): - (frame_size,) = unpack(" sys.maxsize: - raise ValueError("frame size > sys.maxsize: %d" % frame_size) - self._unframer.load_frame(frame_size) - - dispatch[FRAME[0]] = load_frame - - def load_persid(self): - try: - pid = self.readline()[:-1].decode("ascii") - except UnicodeDecodeError: - raise UnpicklingError("persistent IDs in protocol 0 must be ASCII strings") - self.append(self.persistent_load(pid)) - - dispatch[PERSID[0]] = load_persid - - def load_binpersid(self): - pid = self.stack.pop() - self.append(self.persistent_load(pid)) - - dispatch[BINPERSID[0]] = load_binpersid - - def load_none(self): - self.append(None) - - dispatch[NONE[0]] = load_none - - def load_false(self): - self.append(False) - - dispatch[NEWFALSE[0]] = load_false - - def load_true(self): - self.append(True) - - dispatch[NEWTRUE[0]] = load_true - - def load_int(self): - data = self.readline() - if data == FALSE[1:]: - val = False - elif data == TRUE[1:]: - val = True - else: - val = int(data, 0) - self.append(val) - - dispatch[INT[0]] = load_int - - def load_binint(self): - self.append(unpack("d", self.read(8))[0]) - - dispatch[BINFLOAT[0]] = load_binfloat - - def _decode_string(self, value): - # Used to allow strings from Python 2 to be decoded either as - # bytes or Unicode strings. This should be used only with the - # STRING, BINSTRING and SHORT_BINSTRING opcodes. - if self.encoding == "bytes": - return value - else: - return value.decode(self.encoding, self.errors) - - def load_string(self): - data = self.readline()[:-1] - # Strip outermost quotes - if len(data) >= 2 and data[0] == data[-1] and data[0] in b"\"'": - data = data[1:-1] - else: - raise UnpicklingError("the STRING opcode argument must be quoted") - self.append(self._decode_string(codecs.escape_decode(data)[0])) - - dispatch[STRING[0]] = load_string - - def load_binstring(self): - # Deprecated BINSTRING uses signed 32-bit length - (len,) = unpack(" maxsize: - raise UnpicklingError("BINBYTES exceeds system's maximum size " "of %d bytes" % maxsize) - self.append(self.read(len)) - - dispatch[BINBYTES[0]] = load_binbytes - - def load_unicode(self): - self.append(str(self.readline()[:-1], "raw-unicode-escape")) - - dispatch[UNICODE[0]] = load_unicode - - def load_binunicode(self): - (len,) = unpack(" maxsize: - raise UnpicklingError("BINUNICODE exceeds system's maximum size " "of %d bytes" % maxsize) - self.append(str(self.read(len), "utf-8", "surrogatepass")) - - dispatch[BINUNICODE[0]] = load_binunicode - - def load_binunicode8(self): - (len,) = unpack(" maxsize: - raise UnpicklingError("BINUNICODE8 exceeds system's maximum size " "of %d bytes" % maxsize) - self.append(str(self.read(len), "utf-8", "surrogatepass")) - - dispatch[BINUNICODE8[0]] = load_binunicode8 - - def load_binbytes8(self): - (len,) = unpack(" maxsize: - raise UnpicklingError("BINBYTES8 exceeds system's maximum size " "of %d bytes" % maxsize) - self.append(self.read(len)) - - dispatch[BINBYTES8[0]] = load_binbytes8 - - def load_bytearray8(self): - (len,) = unpack(" maxsize: - raise UnpicklingError("BYTEARRAY8 exceeds system's maximum size " "of %d bytes" % maxsize) - b = bytearray(len) - self.readinto(b) - self.append(b) - - dispatch[BYTEARRAY8[0]] = load_bytearray8 - - def load_next_buffer(self): - if self._buffers is None: - raise UnpicklingError("pickle stream refers to out-of-band data " "but no *buffers* argument was given") - try: - buf = next(self._buffers) - except StopIteration: - raise UnpicklingError("not enough out-of-band buffers") - self.append(buf) - - dispatch[NEXT_BUFFER[0]] = load_next_buffer - - def load_readonly_buffer(self): - buf = self.stack[-1] - with memoryview(buf) as m: - if not m.readonly: - self.stack[-1] = m.toreadonly() - - dispatch[READONLY_BUFFER[0]] = load_readonly_buffer - - def load_short_binstring(self): - len = self.read(1)[0] - data = self.read(len) - self.append(self._decode_string(data)) - - dispatch[SHORT_BINSTRING[0]] = load_short_binstring - - def load_short_binbytes(self): - len = self.read(1)[0] - self.append(self.read(len)) - - dispatch[SHORT_BINBYTES[0]] = load_short_binbytes - - def load_short_binunicode(self): - len = self.read(1)[0] - self.append(str(self.read(len), "utf-8", "surrogatepass")) - - dispatch[SHORT_BINUNICODE[0]] = load_short_binunicode - - def load_tuple(self): - items = self.pop_mark() - self.append(tuple(items)) - - dispatch[TUPLE[0]] = load_tuple - - def load_empty_tuple(self): - self.append(()) - - dispatch[EMPTY_TUPLE[0]] = load_empty_tuple - - def load_tuple1(self): - self.stack[-1] = (self.stack[-1],) - - dispatch[TUPLE1[0]] = load_tuple1 - - def load_tuple2(self): - self.stack[-2:] = [(self.stack[-2], self.stack[-1])] - - dispatch[TUPLE2[0]] = load_tuple2 - - def load_tuple3(self): - self.stack[-3:] = [(self.stack[-3], self.stack[-2], self.stack[-1])] - - dispatch[TUPLE3[0]] = load_tuple3 - - def load_empty_list(self): - self.append([]) - - dispatch[EMPTY_LIST[0]] = load_empty_list - - def load_empty_dictionary(self): - self.append({}) - - dispatch[EMPTY_DICT[0]] = load_empty_dictionary - - def load_empty_set(self): - self.append(set()) - - dispatch[EMPTY_SET[0]] = load_empty_set - - def load_frozenset(self): - items = self.pop_mark() - self.append(frozenset(items)) - - dispatch[FROZENSET[0]] = load_frozenset - - def load_list(self): - items = self.pop_mark() - self.append(items) - - dispatch[LIST[0]] = load_list - - def load_dict(self): - items = self.pop_mark() - d = {items[i]: items[i + 1] for i in range(0, len(items), 2)} - self.append(d) - - dispatch[DICT[0]] = load_dict - - # INST and OBJ differ only in how they get a class object. It's not - # only sensible to do the rest in a common routine, the two routines - # previously diverged and grew different bugs. - # klass is the class to instantiate, and k points to the topmost mark - # object, following which are the arguments for klass.__init__. - def _instantiate(self, klass, args): - if args or not isinstance(klass, type) or hasattr(klass, "__getinitargs__"): - try: - value = klass(*args) - except TypeError as err: - raise TypeError("in constructor for %s: %s" % (klass.__name__, str(err)), sys.exc_info()[2]) - else: - value = klass.__new__(klass) - self.append(value) - - def load_inst(self): - module = self.readline()[:-1].decode("ascii") - name = self.readline()[:-1].decode("ascii") - klass = self.find_class(module, name) - self._instantiate(klass, self.pop_mark()) - - dispatch[INST[0]] = load_inst - - def load_obj(self): - # Stack is ... markobject classobject arg1 arg2 ... - args = self.pop_mark() - cls = args.pop(0) - self._instantiate(cls, args) - - dispatch[OBJ[0]] = load_obj - - def load_newobj(self): - args = self.stack.pop() - cls = self.stack.pop() - obj = cls.__new__(cls, *args) - self.append(obj) - - dispatch[NEWOBJ[0]] = load_newobj - - def load_newobj_ex(self): - kwargs = self.stack.pop() - args = self.stack.pop() - cls = self.stack.pop() - obj = cls.__new__(cls, *args, **kwargs) - self.append(obj) - - dispatch[NEWOBJ_EX[0]] = load_newobj_ex - - def load_global(self): - module = self.readline()[:-1].decode("utf-8") - name = self.readline()[:-1].decode("utf-8") - klass = self.find_class(module, name) - self.append(klass) - - dispatch[GLOBAL[0]] = load_global - - def load_stack_global(self): - name = self.stack.pop() - module = self.stack.pop() - if type(name) is not str or type(module) is not str: - raise UnpicklingError("STACK_GLOBAL requires str") - self.append(self.find_class(module, name)) - - dispatch[STACK_GLOBAL[0]] = load_stack_global - - def load_ext1(self): - code = self.read(1)[0] - self.get_extension(code) - - dispatch[EXT1[0]] = load_ext1 - - def load_ext2(self): - (code,) = unpack("= 4: - return _getattribute(sys.modules[module], name)[0] - else: - return getattr(sys.modules[module], name) - - def load_reduce(self): - stack = self.stack - args = stack.pop() - func = stack[-1] - if len(args) > 0 and args[0] is None: - stack[-1] = None - else: - stack[-1] = func(*args) - # stack[-1] = func(*args) - - dispatch[REDUCE[0]] = load_reduce - - def load_pop(self): - if self.stack: - del self.stack[-1] - else: - self.pop_mark() - - dispatch[POP[0]] = load_pop - - def load_pop_mark(self): - self.pop_mark() - - dispatch[POP_MARK[0]] = load_pop_mark - - def load_dup(self): - self.append(self.stack[-1]) - - dispatch[DUP[0]] = load_dup - - def load_get(self): - i = int(self.readline()[:-1]) - self.append(self.memo[i]) - - dispatch[GET[0]] = load_get - - def load_binget(self): - i = self.read(1)[0] - self.append(self.memo[i]) - - dispatch[BINGET[0]] = load_binget - - def load_long_binget(self): - (i,) = unpack(" maxsize: - raise ValueError("negative LONG_BINPUT argument") - self.memo[i] = self.stack[-1] - - dispatch[LONG_BINPUT[0]] = load_long_binput - - def load_memoize(self): - memo = self.memo - memo[len(memo)] = self.stack[-1] - - dispatch[MEMOIZE[0]] = load_memoize - - def load_append(self): - stack = self.stack - value = stack.pop() - list = stack[-1] - list.append(value) - - dispatch[APPEND[0]] = load_append - - def load_appends(self): - items = self.pop_mark() - list_obj = self.stack[-1] - try: - extend = list_obj.extend - except AttributeError: - pass - else: - extend(items) - return - # Even if the PEP 307 requires extend() and append() methods, - # fall back on append() if the object has no extend() method - # for backward compatibility. - append = list_obj.append - for item in items: - append(item) - - dispatch[APPENDS[0]] = load_appends - - def load_setitem(self): - stack = self.stack - value = stack.pop() - key = stack.pop() - dict = stack[-1] - dict[key] = value - - dispatch[SETITEM[0]] = load_setitem - - def load_setitems(self): - items = self.pop_mark() - dict = self.stack[-1] - for i in range(0, len(items), 2): - dict[items[i]] = items[i + 1] - - dispatch[SETITEMS[0]] = load_setitems - - def load_additems(self): - items = self.pop_mark() - set_obj = self.stack[-1] - if isinstance(set_obj, set): - set_obj.update(items) - else: - add = set_obj.add - for item in items: - add(item) - - dispatch[ADDITEMS[0]] = load_additems - - def load_build(self): - stack = self.stack - state = stack.pop() - inst = stack[-1] - setstate = getattr(inst, "__setstate__", None) - if setstate is not None: - setstate(state) - return - slotstate = None - if isinstance(state, tuple) and len(state) == 2: - state, slotstate = state - if state: - inst_dict = inst.__dict__ - intern = sys.intern - for k, v in state.items(): - if type(k) is str: - inst_dict[intern(k)] = v - else: - inst_dict[k] = v - if slotstate: - for k, v in slotstate.items(): - setattr(inst, k, v) - - dispatch[BUILD[0]] = load_build - - def load_mark(self): - self.metastack.append(self.stack) - self.stack = [] - self.append = self.stack.append - - dispatch[MARK[0]] = load_mark - - def load_stop(self): - value = self.stack.pop() - raise _Stop(value) - - dispatch[STOP[0]] = load_stop - - -# Shorthands - - -def _dump(obj, file, protocol=None, *, fix_imports=True, buffer_callback=None): # pragma: no cover - _Pickler(file, protocol, fix_imports=fix_imports, buffer_callback=buffer_callback).dump(obj) - - -def _dumps(obj, protocol=None, *, fix_imports=True, buffer_callback=None): # pragma: no cover - f = io.BytesIO() - _Pickler(f, protocol, fix_imports=fix_imports, buffer_callback=buffer_callback).dump(obj) - res = f.getvalue() - assert isinstance(res, bytes_types) - return res - - -def _load(file, *, fix_imports=True, encoding="ASCII", errors="strict", buffers=None): # pragma: no cover - return _Unpickler(file, fix_imports=fix_imports, buffers=buffers, encoding=encoding, errors=errors).load() - - -def _loads(s, *, fix_imports=True, encoding="ASCII", errors="strict", buffers=None): # pragma: no cover - if isinstance(s, str): - raise TypeError("Can't load pickle from unicode string") - file = io.BytesIO(s) - return _Unpickler(file, fix_imports=fix_imports, buffers=buffers, encoding=encoding, errors=errors).load() - - -# Use the faster _pickle if possible -Pickler, Unpickler = _Pickler, _Unpickler -dump, dumps, load, loads = _dump, _dumps, _load, _loads - - -# Doctest -def _test(): # pragma: no cover - import doctest - - return doctest.testmod() diff --git a/auto_round/low_cpu_mem/utils.py b/auto_round/low_cpu_mem/utils.py deleted file mode 100644 index b54db7f95..000000000 --- a/auto_round/low_cpu_mem/utils.py +++ /dev/null @@ -1,474 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# Copyright (c) 2023 Intel Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Utils for layer wise quantization.""" - -import gc -import json -import logging -import os -import pickle -from collections import OrderedDict -from functools import partial - -import torch -from accelerate import init_empty_weights -from accelerate.utils import set_module_tensor_to_device -from transformers import AutoConfig, AutoModelForCausalLM -from transformers.models.auto.auto_factory import _BaseAutoModelClass - -from auto_round.utils import detect_device - -from .load import load - -logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(filename)s L%(lineno)d: %(message)s") -logger = logging.getLogger("low_cpu_mem_tools") - -LWQ_WORKSPACE = os.path.join("low_cpu_mem_tmp") - - -def get_module(model, key): - """Get module from model by key name. - - Args: - model (torch.nn.Module): original model - key (str): module name to be replaced - """ - attrs = key.split(".") - module = model - for attr in attrs: - try: - attr = int(attr) - module = module[attr] - except: - module = getattr(module, attr) - return module - - -def get_children(model): - """Get all the children of given model.""" - module_list = [] - children = list(model.children()) - if len(children) == 0: - return [model] - for child in children: - module_list += get_children(child) - return module_list - - -def get_named_children(model, pre=[]): - """Get all the name and children of given model.""" - module_list = [] - if len(list(model.children())) == 0: - return [(".".join(pre), model)] - for name, module in model.named_children(): - module_list += get_named_children(module, pre=pre + [name]) - return module_list - - -def download_hf_model(repo_id, cache_dir=None, repo_type=None, revision=None): - """Download hugging face model from hf hub.""" - from huggingface_hub.constants import DEFAULT_REVISION, HUGGINGFACE_HUB_CACHE - from huggingface_hub.file_download import REGEX_COMMIT_HASH, repo_folder_name - from huggingface_hub.utils import EntryNotFoundError - - if cache_dir is None: - cache_dir = HUGGINGFACE_HUB_CACHE - if revision is None: - revision = DEFAULT_REVISION - if repo_type is None: - repo_type = "model" - storage_folder = os.path.join(cache_dir, repo_folder_name(repo_id=repo_id, repo_type=repo_type)) - commit_hash = None - if REGEX_COMMIT_HASH.match(revision): - commit_hash = revision - else: - ref_path = os.path.join(storage_folder, "refs", revision) - if os.path.exists(ref_path): - with open(ref_path) as f: - commit_hash = f.read() - if storage_folder and commit_hash: - pointer_path = os.path.join(storage_folder, "snapshots", commit_hash) - if os.path.isdir(pointer_path): - return pointer_path - else: # pragma: no cover - from huggingface_hub import snapshot_download - - file_path = snapshot_download(repo_id) - return file_path - - -def load_empty_model(pretrained_model_name_or_path, cls=AutoModelForCausalLM, saved_path=None, **kwargs): - """Load a empty model.""" - is_local = os.path.isdir(pretrained_model_name_or_path) - if is_local: # pragma: no cover - path = pretrained_model_name_or_path - else: - path = download_hf_model(pretrained_model_name_or_path) - torch_dtype = kwargs.pop("torch_dtype", None) - if cls.__base__ == _BaseAutoModelClass: - config = AutoConfig.from_pretrained(path, **kwargs) - if str(torch_dtype) == "auto": - if hasattr(config, "torch_dtype") and config.torch_dtype is not None: - torch_dtype = config.torch_dtype - else: - torch_dtype = torch.float32 - with init_empty_weights(): - model = cls.from_config(config, torch_dtype=torch_dtype) - else: # pragma: no cover - config = cls.config_class.from_pretrained(path, **kwargs) - if hasattr(config, "torch_dtype") and config.torch_dtype is not None: - torch_dtype = config.torch_dtype - else: - torch_dtype = torch.float32 - with init_empty_weights(): - model = cls(config, torch_dtype=torch_dtype) - model.tie_weights() - model.eval() - model.path = path - - if saved_path is None: - logger.warning(f"saved_path is not set, use default working space: {LWQ_WORKSPACE}") - saved_path = LWQ_WORKSPACE - convert_model(model, saved_path) - return model - - -def get_super_module_by_name(model, module_name): - """Get the father module with given name of child module.""" - name_list = module_name.split(".") - for name in name_list[:-1]: - if hasattr(model, name): - model = getattr(model, name) - else: # pragma: no cover - return None - if hasattr(model, name_list[-1]): - return model - else: # pragma: no cover - return None - - -def update_module(model, module_name, new_module): - """Update module.""" - super_module = get_super_module_by_name(model, module_name) - if super_module: - setattr(super_module, module_name.split(".")[-1], new_module) - - -def get_layers_before_block(model): - """get the embed layers before blocks. - validate on: Llama, opt, bloom, gpt-j, Qwen, Baichuan, Mistral, Mixtral - not work for: phi - """ - return_layers = [] - block_name = None - - def _forward(module, name, *args, **kwargs): - if name == block_name: - raise NotImplementedError - if len(module._modules) == 0: - return_layers.append((name, module)) - return module.ori_forward(*args, **kwargs) - - for n, m in model.named_modules(): - if isinstance(m, torch.nn.ModuleList): - block_name = n + "." + m.named_children().__next__()[0] - m.ori_forward = m.forward - m.forward = partial(_forward, m, n) - - try: - if model.device.type == "meta": - target_device = "cpu" - else: - target_device = model.device - input = { - "input_ids": torch.zeros((1, 1), device=target_device, dtype=torch.int), - "attention_mask": torch.zeros((1, 1), device=target_device, dtype=torch.int), - } - model.forward(**input) - except NotImplementedError: - pass - - for n, m in model.named_modules(): - m.forward = m.ori_forward - del m.ori_forward - - return return_layers - - -def load_layer_wise_quantized_model(path): # pragma: no cover - """Load layer wise quantized model.""" - model = torch.load(os.path.join(path, "model_arch.pt")) - for name, _ in model.named_modules(): - if name + ".pt" in os.listdir(path): - update_module(model, name, torch.load(os.path.join(path, name + ".pt"))) - model.eval() - return model - - -def load_tensor_from_shard(pretrained_model_name_or_path, tensor_name, prefix=None): # pragma: no cover - """Load tensor from shard.""" - path = _get_path(pretrained_model_name_or_path) - idx_dict = json.load(open(os.path.join(path, "pytorch_model.bin.index.json"), "r"))["weight_map"] - if tensor_name not in idx_dict.keys(): - if tensor_name.replace(f"{prefix}.", "") in idx_dict.keys(): - tensor_name = tensor_name.replace(f"{prefix}.", "") - else: - assert False, "{} not in the index.json".format(tensor_name) - return load_tensor(os.path.join(path, idx_dict[tensor_name]), tensor_name, None) - - -def load_tensor(path, tensor_name=None, prefix=None): - """Load a tensor from bin file with given tensor name.""" - # transformers.modeling_utils - if tensor_name: - if "gamma" in tensor_name: # pragma: no cover - tensor_name = tensor_name.replace("gamma", "weight") - if "beta" in tensor_name: # pragma: no cover - tensor_name = tensor_name.replace("beta", "bias") - - if os.path.isdir(path): - path = os.path.join(path, "pytorch_model.bin") - state_dict = load(path, tensor_name, prefix) - if tensor_name: - if tensor_name in state_dict: - return state_dict[tensor_name] - else: # pragma: no cover - return state_dict[tensor_name.replace(f"{prefix}.", "")] - else: # pragma: no cover - return state_dict - - -def _get_path(pretrained_model_name_or_path): - if pretrained_model_name_or_path is None: - return None - is_local = os.path.isdir(pretrained_model_name_or_path) - if is_local: # pragma: no cover - path = pretrained_model_name_or_path - else: - path = download_hf_model(pretrained_model_name_or_path) - return path - - -def load_value(model, param_name, path): - logger.debug(f"load value for layer: {param_name}") - if "lm_head" in param_name and getattr(model.config, "tie_word_embeddings", True): - input_embeddings = model.get_input_embeddings() - modules = get_named_children(model) - for name, module in modules: - if module == input_embeddings: - param_name = name + "." + param_name.split(".")[-1] - prefix = model.base_model_prefix - if "pytorch_model.bin.index.json" in os.listdir(path): - value = load_tensor_from_shard(path, param_name, prefix) - else: - value = load_tensor(os.path.join(path, "pytorch_model.bin"), param_name, prefix) - return value - - -def load_module(model, module_name, path, device="cpu"): - module = get_module(model, module_name) - for n, p in module.named_parameters(): - param_name = module_name + "." + n - value = load_value(model, param_name, path) - set_module_tensor_to_device(model, param_name, device, value) - - -def register_weight_hooks(model, path, device="cpu", clean_weight=True, saved_path=None): - if saved_path: - os.makedirs(saved_path, exist_ok=True) - - def forward_pre_hook(name): - def hook(module, input): - logger.debug(f"{name} forward hood load value") - state_dict = None - if os.path.exists(os.path.join(saved_path, f"{name}.pt")): - state_dict = torch.load(os.path.join(saved_path, f"{name}.pt")) - for n, p in module.named_parameters(): - param_name = name + "." + n - if state_dict: - value = state_dict[n] - else: - value = load_value(model, param_name, path) - set_module_tensor_to_device(model, param_name, device, value) - module = module.to(device) - - return hook - - def forward_hook(name): - def hook(module, input, output): - logger.debug(f"{name} forward hood clean value") - if saved_path: - file_path = os.path.join(saved_path, f"{name}.pt") - torch.save(module.state_dict(), file_path) - clean_module_weight(module) - - return hook - - handle = {} - modules = get_named_children(model) - for name, module in modules: - handle[name] = [module.register_forward_pre_hook(forward_pre_hook(name))] - if clean_weight: - handle[name] += [module.register_forward_hook(forward_hook(name))] - return handle - - -def clean_module_weight(submodule): # pragma: no cover - for n, m in submodule.named_parameters(): - is_buffer = n in submodule._buffers - old_value = getattr(submodule, n) - with torch.no_grad(): - if is_buffer: - submodule._buffers[n] = torch.zeros(old_value.shape, device="meta") - else: - param_cls = type(submodule._parameters[n]) - kwargs = submodule._parameters[n].__dict__ - new_value = torch.zeros(old_value.shape, device="meta") - new_value = param_cls(new_value, requires_grad=old_value.requires_grad, **kwargs).to("meta") - submodule._parameters[n] = new_value - gc.collect() - - -def convert_model(empty_model, saved_path=LWQ_WORKSPACE): - os.makedirs(saved_path, exist_ok=True) - - def _get_value(name, n): - state_dict = None - if os.path.exists(os.path.join(saved_path, f"{name}.pt")): - state_dict = torch.load(os.path.join(saved_path, f"{name}.pt")) - param_name = name + "." + n - if state_dict: - value = state_dict[n] - else: - value = load_value(empty_model, param_name, empty_model.path) - return value - - def _update(name, module): - state_dict = None - if os.path.exists(os.path.join(saved_path, f"{name}.pt")): - state_dict = torch.load(os.path.join(saved_path, f"{name}.pt")) - for n, p in module.named_parameters(): - if str(p.device) != "meta": - continue - param_name = name + "." + n - if state_dict: - value = state_dict[n] - else: - value = load_value(empty_model, param_name, saved_path) - set_module_tensor_to_device(empty_model, param_name, "cpu", value) - file_path = os.path.join(saved_path, f"{name}.pt") - torch.save(module.state_dict(), file_path) - - # save quant_info - quant_info = {} - if hasattr(module, "scale"): - quant_info["scale"] = module.scale - if hasattr(module, "zp"): - quant_info["zp"] = module.zp - logger.debug(f"save quant info for layer: {name}") - f = open(os.path.join(saved_path, f"{name}_quant_info.pkl"), "wb") - pickle.dump(quant_info, f) - f.close() - - def _layer_wise_to(module, name, device_or_dtype): - if isinstance(device_or_dtype, torch.dtype): - return module.ori_to(device_or_dtype) - elif len(module._modules) == 0: - # skip method type - if len(module._parameters) == 0 or module.weight.device.type != "meta": - return module.ori_to(device_or_dtype) - else: - for n, _ in module.named_parameters(): - param_name = name + "." + n - value = load_value(empty_model, param_name, empty_model.path) - dtype = None - if hasattr(module, "dtype"): - dtype = module.dtype - set_module_tensor_to_device(module, n, device_or_dtype, value, dtype=dtype) - - if hasattr(module, "scale"): - f = open(os.path.join(saved_path, f"{name}_quant_info.pkl"), "rb") - quant_info = pickle.load(f) - f.close() - module.scale = quant_info["scale"].to(device_or_dtype) - if "zp" in quant_info: - module.zp = quant_info["zp"].to(device_or_dtype) - return module.ori_to(device_or_dtype) - else: - for n, m in module.named_children(): - m.to(device_or_dtype) - return module - - modules = get_named_children(empty_model) - for name, module in modules: - if hasattr(module, "weight"): - # delattr(module, 'weight') - # module.weight = partial(_get_value, name, 'weight')() - module.get_weight = partial(_get_value, name, "weight") - if hasattr(module, "bias") and module.bias is not None: - module.get_bias = partial(_get_value, name, "bias") - module.update = partial(_update, name, module) - - def _replace_to(module, name): - if len(module._modules) > 0: - for n, m in module.named_children(): - if len(name) > 0: - n = name + "." + n - _replace_to(m, n) - module.ori_to = module.to - module.to = partial(_layer_wise_to, module, name) - - _replace_to(empty_model, "") - - -def load_model_with_hooks( - pretrained_model_name_or_path, cls=AutoModelForCausalLM, device=None, clean_weight=True, saved_path=None, **kwargs -): - if saved_path is None: - logger.warning(f"saved_path is not set, use default working space: {LWQ_WORKSPACE}") - saved_path = LWQ_WORKSPACE - device = detect_device(device) - empty_model = load_empty_model(pretrained_model_name_or_path, cls=cls, saved_path=saved_path, **kwargs) - register_weight_hooks(empty_model, empty_model.path, device, clean_weight, saved_path) - return empty_model - - -def layer_wise_save(model, path): - os.makedirs(path, exist_ok=True) - file_path = os.path.join(path, "layer_wise_model.bin") - modules = get_named_children(model) - with open(file_path, "wb") as f: - for name, module in modules: - output = OrderedDict() - if hasattr(module, "get_weight"): - output[f"{name}.weight"] = module.get_weight() - if hasattr(module, "get_bias"): - output[f"{name}.bias"] = module.get_bias() - output = pickle.dumps(output) - f.write(output + b"split_tag") - - -def layer_wise_load(path): - file_path = os.path.join(path, "layer_wise_model.bin") - state_dict = OrderedDict() - with open(file_path, "rb") as f: - data = f.read().split(b"split_tag") - for d in data: - if len(d) > 0: - d = pickle.loads(d) - state_dict.update(d) - return state_dict diff --git a/auto_round/utils.py b/auto_round/utils.py index c73d6a210..f84b4b255 100644 --- a/auto_round/utils.py +++ b/auto_round/utils.py @@ -277,27 +277,23 @@ def to_device(input, device=torch.device("cpu")): return input -def mv_module_from_gpu(module, low_cpu_mem_usage=False): - """Moves module from gpu to cpu or meta if low_cpu_mem_usage is true. +def mv_module_from_gpu(module): + """Moves module from gpu to cpu. Args: module: The module to be moved. - low_cpu_mem_usage: Whether to use low CPU memory. If true, move module to meta. Returns: The module on the specified device. """ if hasattr(module, "device"): - target_device = "meta" if low_cpu_mem_usage else "cpu" + target_device = "cpu" if module.device.type == target_device: return module else: return module.to(target_device) else: - if low_cpu_mem_usage: - return module.to("meta") - else: - return module.to("cpu") + return module.to("cpu") def to_dtype(input, dtype=torch.float32): @@ -1420,8 +1416,6 @@ def llm_load_model( trust_remote_code=True, model_dtype=None, device="cpu", - low_cpu_mem_mode=0, - low_cpu_mem_tmp_dir=None, **kwargs, ): from transformers import AutoModel, AutoModelForCausalLM, AutoTokenizer @@ -1432,7 +1426,6 @@ def llm_load_model( torch_dtype = torch.bfloat16 is_glm = bool(re.search("chatglm", pretrained_model_name_or_path.lower())) - low_cpu_mem_usage = False tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path, trust_remote_code=trust_remote_code) @@ -1440,79 +1433,50 @@ def llm_load_model( if "deepseek" in pretrained_model_name_or_path.lower() and trust_remote_code: logger.warning("trust_remote_code is enabled by default, please ensure its correctness.") - if low_cpu_mem_tmp_dir is None: - low_cpu_mem_tmp_dir = "low_cpu_mem_tmp" - if low_cpu_mem_mode == 2: - from auto_round.low_cpu_mem.utils import load_model_with_hooks - - model = load_model_with_hooks( - pretrained_model_name_or_path, - model_cls, - device=device, - clean_weight=True, - saved_path=low_cpu_mem_tmp_dir, - torch_dtype=torch_dtype, - trust_remote_code=trust_remote_code, - ) - elif low_cpu_mem_mode == 1: - from auto_round.low_cpu_mem.utils import load_empty_model - - low_cpu_mem_usage = True - model = load_empty_model( + if _use_hpu_compile_mode(): + model = model_cls.from_pretrained( pretrained_model_name_or_path, - model_cls, - device=device, - saved_path=low_cpu_mem_tmp_dir, torch_dtype=torch_dtype, + attn_implementation="eager", trust_remote_code=trust_remote_code, + device_map="auto" if use_auto_mapping else None, ) else: - if _use_hpu_compile_mode(): + try: model = model_cls.from_pretrained( pretrained_model_name_or_path, torch_dtype=torch_dtype, - attn_implementation="eager", trust_remote_code=trust_remote_code, device_map="auto" if use_auto_mapping else None, ) - else: - try: + except ValueError as e: + if "FP8 quantized" in str(e): + orig_func = set_fake_cuda_device_capability() model = model_cls.from_pretrained( pretrained_model_name_or_path, torch_dtype=torch_dtype, trust_remote_code=trust_remote_code, device_map="auto" if use_auto_mapping else None, ) - except ValueError as e: - if "FP8 quantized" in str(e): - orig_func = set_fake_cuda_device_capability() - model = model_cls.from_pretrained( - pretrained_model_name_or_path, - torch_dtype=torch_dtype, - trust_remote_code=trust_remote_code, - device_map="auto" if use_auto_mapping else None, - ) - torch.cuda.get_device_capability = orig_func - logger.warning("the support for fp8 model as input is experimental, please use with caution.") - else: - raise + torch.cuda.get_device_capability = orig_func + logger.warning("the support for fp8 model as input is experimental, please use with caution.") + else: + raise - except OSError as e: - logger.warning( - f"fail to load {pretrained_model_name_or_path}, set trust_remote_code to False and retry." - ) - model = model_cls.from_pretrained( - pretrained_model_name_or_path, - torch_dtype=torch_dtype, - trust_remote_code=False, - device_map="auto" if use_auto_mapping else None, - ) + except OSError as e: + logger.warning(f"fail to load {pretrained_model_name_or_path}, set trust_remote_code to False and retry.") + model = model_cls.from_pretrained( + pretrained_model_name_or_path, + torch_dtype=torch_dtype, + trust_remote_code=False, + device_map="auto" if use_auto_mapping else None, + ) model = model.eval() check_and_mark_fp8_model(model) model = _to_model_dtype(model, model_dtype) - return model, tokenizer, low_cpu_mem_usage + return model, tokenizer def mllm_load_model( diff --git a/test/test_cpu/test_autoround.py b/test/test_cpu/test_autoround.py index cbd0583df..7a54dc34a 100644 --- a/test/test_cpu/test_autoround.py +++ b/test/test_cpu/test_autoround.py @@ -13,7 +13,7 @@ from auto_round import AutoRound from auto_round.eval.evaluation import simple_evaluate_user_model -from auto_round.low_cpu_mem import get_module +from auto_round.utils import get_module class LLMDataLoader: diff --git a/test/test_cpu/test_low_cpu_mem.py b/test/test_cpu/test_low_cpu_mem.py deleted file mode 100644 index 582b5e47b..000000000 --- a/test/test_cpu/test_low_cpu_mem.py +++ /dev/null @@ -1,122 +0,0 @@ -import os -import shutil -import sys -import unittest - -sys.path.insert(0, "../..") - -import torch -from transformers import AutoModelForCausalLM, AutoTokenizer - -from auto_round import AutoRound -from auto_round.low_cpu_mem.utils import ( - get_layers_before_block, - layer_wise_load, - layer_wise_save, - load_empty_model, - load_model_with_hooks, -) - - -class LLMDataLoader: - def __init__(self): - self.batch_size = 1 - - def __iter__(self): - for i in range(2): - yield torch.ones([1, 10], dtype=torch.long) - - -class TestLowCPUMem(unittest.TestCase): - @classmethod - def setUpClass(self): - self.model_name = "/tf_dataset/auto_round/models/facebook/opt-125m" - self.saved_path = "./test_tmp_saved" - self.ori_model = AutoModelForCausalLM.from_pretrained(self.model_name, trust_remote_code=True) - self.model = load_model_with_hooks( - self.model_name, AutoModelForCausalLM, saved_path=self.saved_path, device="cpu" - ) - self.tokenizer = AutoTokenizer.from_pretrained(self.model_name, trust_remote_code=True) - self.llm_dataloader = LLMDataLoader() - - @classmethod - def tearDownClass(self): - shutil.rmtree(self.saved_path, ignore_errors=True) - - def test_default(self): - self.assertTrue(self.model.device.type, "meta") - - # TODO: change this func - # layers = get_layers_before_block(self.model) - # self.assertEqual(layers[0][0], "model.decoder.embed_tokens") - - # test get_weight bias - self.assertTrue( - torch.equal( - self.model.model.decoder.layers[0].self_attn.k_proj.get_weight(), - self.ori_model.model.decoder.layers[0].self_attn.k_proj.weight, - ) - ) - self.assertTrue( - torch.equal( - self.model.model.decoder.layers[0].self_attn.k_proj.get_bias(), - self.ori_model.model.decoder.layers[0].self_attn.k_proj.bias, - ) - ) - - # test hooks - text = ["Hello, my dog is cute"] - input = self.tokenizer(text) - for key in input: - input[key] = torch.tensor(input[key]) - ori_output = self.ori_model.generate(**input, max_new_tokens=5, do_sample=False) - ori_result = self.tokenizer.decode(ori_output[0]) - print(ori_result) - self.model.to("cpu") - output = self.model.generate(**input, max_new_tokens=5, do_sample=False) - result = self.tokenizer.decode(output[0]) - print(result) - self.assertEqual(ori_result, result) - self.model.to("meta") - - # test save and load - layer_wise_save(self.model, self.saved_path) - state_dict = layer_wise_load(self.saved_path) - self.assertTrue(torch.equal(state_dict["lm_head.weight"], self.ori_model.lm_head.weight)) - - # test layer-wise auto_round - bits, group_size, sym = 4, 128, False - autoround = AutoRound( - self.model, - self.tokenizer, - device="cpu", - bits=bits, - group_size=group_size, - sym=sym, - iters=2, - seqlen=2, - dataset=self.llm_dataloader, - enable_torch_compile=False, - ) - autoround.quantize() - - # test block-wise auto_round - self.model = load_empty_model(self.model_name, AutoModelForCausalLM, saved_path=self.saved_path, device="cpu") - bits, group_size, sym = 4, 128, False - autoround = AutoRound( - self.model, - self.tokenizer, - device="cpu", - bits=bits, - group_size=group_size, - sym=sym, - iters=2, - seqlen=2, - dataset=self.llm_dataloader, - low_cpu_mem_usage=True, - ) - autoround.quantize() - - -if __name__ == "__main__": - unittest.main() diff --git a/test/test_cuda/test_vlms.py b/test/test_cuda/test_vlms.py index b3bf0f0fd..eee7c055a 100644 --- a/test/test_cuda/test_vlms.py +++ b/test/test_cuda/test_vlms.py @@ -154,7 +154,7 @@ def test_mllm_detect(self): for model_name in ["/models/glm-4-9b-chat", "/models/Qwen2.5-1.5B-Instruct/"]: self.assertFalse(is_mllm_model(model_name)) - model, _, _ = llm_load_model(model_name) + model, _ = llm_load_model(model_name) self.assertFalse(is_mllm_model(model)) From 4987404ea4cd91063e050eea66b97df882ec10aa Mon Sep 17 00:00:00 2001 From: n1ck-guo Date: Thu, 23 Oct 2025 03:46:11 -0400 Subject: [PATCH 2/5] fix Signed-off-by: n1ck-guo --- auto_round/compressors/base.py | 3 +++ docs/step_by_step.md | 9 --------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/auto_round/compressors/base.py b/auto_round/compressors/base.py index fe3bf1421..fc1ffd343 100644 --- a/auto_round/compressors/base.py +++ b/auto_round/compressors/base.py @@ -271,6 +271,9 @@ def __init__( self.inner_supported_types = INNER_SUPPORTED_LAYER_TYPES self.scale_dtype = convert_dtype_str2torch(scale_dtype) + # for alg_ext, will remove later + self.low_cpu_mem_usage = False + if kwargs: logger.warning(f"unrecognized keys {list(kwargs.keys())} were passed. Please check them.") if "CUBLAS_WORKSPACE_CONFIG" not in os.environ: diff --git a/docs/step_by_step.md b/docs/step_by_step.md index 9a518e31f..c63df50d9 100644 --- a/docs/step_by_step.md +++ b/docs/step_by_step.md @@ -543,15 +543,6 @@ autoround.save_quantized(format="auto_awq", output_dir="tmp_autoround") - Trigger immediate packing: Packing will be triggered immediately when using the command-line interface or the quantize_and_save API, as long as only one export format is specified. - - (only available for .bin file currently) set "--low_cpu_mem_mode 1" to use block-wise mode, load the weights from - disk of each block when tuning and - release the memory of the block after tuning. (more tuning cost) - - - (only available for .bin file currently) set "--low_cpu_mem_mode 2" to use layer-wise mode, load the weights of - each layer from disk when tuning, minimum - memory consumption and also the slowest running speed. - - - **Speedup the tuning:** - set `enable_torch_compile` to True From d2cae16763d7799113b3944ed94a5ac48c9bed83 Mon Sep 17 00:00:00 2001 From: n1ck-guo Date: Thu, 23 Oct 2025 20:54:52 -0400 Subject: [PATCH 3/5] fix for alg_ext Signed-off-by: n1ck-guo --- auto_round/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auto_round/utils.py b/auto_round/utils.py index f84b4b255..32e582f93 100644 --- a/auto_round/utils.py +++ b/auto_round/utils.py @@ -277,7 +277,7 @@ def to_device(input, device=torch.device("cpu")): return input -def mv_module_from_gpu(module): +def mv_module_from_gpu(module, *args, **kwargs): """Moves module from gpu to cpu. Args: From 2e852c783d924f2d277265099ca2c6ada1d93bfa Mon Sep 17 00:00:00 2001 From: n1ck-guo Date: Thu, 23 Oct 2025 22:51:28 -0400 Subject: [PATCH 4/5] update alg_ext Signed-off-by: n1ck-guo --- auto_round/alg_ext.abi3.so | Bin 448488 -> 494744 bytes auto_round/compressors/base.py | 3 --- auto_round/utils.py | 2 +- 3 files changed, 1 insertion(+), 4 deletions(-) mode change 100644 => 100755 auto_round/alg_ext.abi3.so diff --git a/auto_round/alg_ext.abi3.so b/auto_round/alg_ext.abi3.so old mode 100644 new mode 100755 index b6f3cbfe11bed5c5bad1364fbae2d8fcb54ce8b5..d172b6a27c795668d24bab318e0d37679a9718e8 GIT binary patch literal 494744 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

wFuQk|{xo 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

Q2- zK@XPBylPr)Pw;kuJLCdFt_9{HpTl%!v%vxRwK_QjK5ne{U+1s7gI#8R`d=Rw}RI|RPfQdxQ9 za2~&dy1Xp7ujI-69!x~X5w5#Ncfm*CYmpG3HaLEv?aa?Wal>~kL_H3AT_Q*fOn3VA zrnr@gJk-62eb^o2IZENm9lW7%y~|yvL*wz(Ngq0-VrsMC1tFfk;7N1VKm#gqBgz1g zH+;tYA22tH;Hqx*#eAX?A=clA_&h%DZZGY;#z9q z>j8;wT#seXcKk9Ey@g_sP+aj0crzV3=B_qNS*0`uJ_tW zeU5g1`hXmz+o>%b6PAtu22!h!nu84Gur*s+ix!{;U`xF|&*UL`7KOBWpX4vkHLrNk z%=r}16rwRdR<_6}BoGby3hB8%XlHZCfPIH@eykkohh>!HNguSQNuB9fxzKCpO2V;d zfrpjDy|gXdARt(I6&cE5#Sz0ZdI)MDR-T;e!^(?D3$ALfmHg$gGD5!RU5qsZHJ6;O z`81MfCzS{~t_LXU2!R3>P?c>qD%@LWE2WjzCtZ<{-HkTC7=pvaSt@`&w5dFmDhB*_ zGB&!%E8x=q1UABf|7HZtK7pPHLbWEF=Q#UeM6>6?BU7dWtfE)BZFV_OVK2}ey$5X~ znryNFsh8p+#gB6YD)uT%yi_U1f7ki3@E8Y->T`Uf&Fh?|%gI6`ZYM*`St_3r)K#dzRE=l(MrdBn zajsA!5$8H;(T9Wd!tr;zaC#y-aH-feunL`?0<@TH$Z~qDfr+N%2!U| zfwx7>ceC!7-lY&pE<@DWEZ+u88|**x{b2H;+(^c!>o{Jds`Vx=JxuL`=RG5dH$m0_ zM%FMcieGkCEe>D=(3O<#2&8mO?$c)RaM(h;OD)|@z}4L_k}9};E%aK@A}JAak=tk_ zgkHS%9217+{r6Cqj?2`XVo2G%x;aECc3AKxx!_im`=usaGFN`X$lcO<$fa<%undMJ z+^80E_gf!Hg?Br&OWjP_UZG{l^Jt4QV;`I@=Kf5`cT>cjCD>>#`VHq_82{16q5q~K{;Q6wRgBavbMN0o`KA06 z!6#FGKI8k_c&VDoI1llQzFVipGv3C=v8QKf&R~EVOLol}Nb{&4H$ll#&Rxh!z8J_+ zv0n^lK$(#?9B2CugaCE&6NW~3>*Bcl7nSrA+br2ON1Z6;`5Be;lc6=$Hpjud$Ci^l zMX1{?vYRR5_M)PnSB;iG@s>gCu@EL%u>ka>w0k_-NV| zeL0qK>`c*k*`$Uuj*T0Pb3g82#<9;>$Cs#njE}PMg{l|hFWUGf)rIjlZG4H!XMC29 ztK%5?91%lzC{Y<^pfA&gnGyxAmo1Ldsc6kWLoJJobn!t38jL&)Zh&3;QyB?dyFigK0wxQ$Qp zLt|R|aS=X0=%neEQOHUl+SM1XS-J=^`IiTFja^(TFCD+>#M z>O9HJU3;9?e6ly2;3NrSiMR*s1P0E5d~Cb2Zc}yf1#}9?t_Q*O+0dHAwamY7YRqa_ zY1lrxe#|P3xYHdeb*5BtXHGu68gm5@Eb)sa5Gj5deYDjVJc;L6z&)rHv{`G$5a{{AJoiN9K?f#q8;Un@j7&Q#9l>2kM&RN8o)T(SC} z`$LN-1HRtSWo8^4$oL*Q&QltF5SO{uh1eEv`mde?Gus2ly?0NWJ^|ev(y-wk8e8PH zHNV7@tDq1|R?^A?7FzHd12V!f5VK#p*g&BTWZOVf8|Y;N`8JTnfYaWL$6JGEs1t6G zx3I{Nyxjo$7p{u)##^wL_;2@`WO%B#;MC&_(Z>FP4p{7*Tvf7a$D(atoG0hKoN7O^ zFPP%F^C^e2v7l%*FA_*cX!%*8r=SCb-oEs`SZo75TX!D7A;N%t6=Jr8jb~}}w)5BR z!hmPsK%kG_uC|IK>)~!3=WzVlNRLs9^Bcl8aR27u`>L2PA;Y0D1eI!+Cf0h z$0%MI99BR23|Olfw=ap`!I@HzAJwYYaSUkzM_3t|i-th(;kNJk9L8WAm+b(0`$Wj6 z%Atg)14NbY7;WT?*hriWCSBDd0EA=le&MR+^@6aXcznn-ajgJLq($0{o$uoy=Isk9)6 z<3BCPV*JMz`N0wuM?iPls$47>_#e)*O%WK6QUq}pF)tI+K!laaB3w{$=7>pAwHVqT0l`-*-hAgG@q~+%EFb3|g3>bj~=-Poy^S4}oHc$QZB7o^aU{aYAMss0q z6$h&afwT~|#^~;!cen%m4x;4(m?IpiIugkL%3<+R)s~TyDnlPISF(P`8ujnX)oG>b z#TNj~5y6fSK=!?2F`{2i1_)4JL3)EV~h-81OsALC_^rDNxj|mEC`Be z@2P9pg?Vb)IKXn7oc|XeiUr6+HDzPFLz7P+*oKB?%IZpqySU`%f6n;Mx4a{*Vh-9q zjoc|0v31B%mp=!@4hEK0J7`8ui6BPUDilc^wkH>g(pM-ihbJAb6IrS*c!v39eP4EI zErZ*PZk0Cv?;utrvClp_WuNqvUU<9Rr2I7&7qDRg4yN2ZHMWp@X1MP&QoN)QfsohH zvKU`956F>)c(^EMA;K1)einV0!jy{9=JVQ!zH~`dZ9~bKilJV_2}>U8D6~l%v7z%E zZUU;JVYe}9nwhK9YEv?wvzV8gRn)JNU%+twSzmSQ&Su@rtQ+ZDStHb1Y=_ymssn*W zve=06CpJ|pL2{bgO*Iyuz-<)R7u|m<=WG4x$HaL+wc*V4Lor1|ISy5X4FC#Ul+?lr zgRO$qxgMJ^s;YJEKgR%@=w%U~Zv$GjtSS{nCzJk#PiskZW(b2XQ6>1`%&&~Ww+n%; z0t^+RfgWg$U>CR4xE3wdVd!kzWnsGV*l_CcQG+U|Ya9FroS4?KM*nr#fC3}z(TB~( zSKNg;`QCF)+X*^S-GXJ-=-;n>u|^ePqf~ z=Xx?4?lTcl-2dSzdRtkxEO=bk46+5$%;r(u(}5FuTy)ZR`!Pw5GDqKgiG@nlp^^hj zD_kt;B^lD!Fdpa9ELON#XD?OnsXuU(78_}C=nEr*T+ZQ*K(garSi zWc6q+3rv@Ow2?gN{dgGbFXkYJn%86^@6`U!&J7Of^56eTELvUDV^Hd!FLwH`qOWkc#sOp_@6!`32nG}%MAT^Cd5O0P8H ze=?ZDrl&|kwIrfs|6r@vI2QtCew0B%_y;?%BZ*6q2c)?GTf5?L;_KHO^$DC0#%KYR z;e@8b4Zv0q@%iYO*ff#iwY;(eeZ)~&?(3@^OQOG#qNnD{Ag|7R0xI_*M2sI^KQHn* zW;UV|hBf#Gww`y7eD?>?)nU;~HsYh`i-`XJD&zr*@Xbh0y{>v^P>YfF*fRLVGxOSa;|# z)Z@no8k^%2b(iy&=CUy`leFcXBc3ffNEBDPNX(^<(RyK%*rCFl4^6}}a2%S->Vw;n zrq^eqZ@x;7_s*wApCnVlN+d&mBJHF%5ydxQ(n#@~S)i8iA`a6{MTGO7*^h$_Uq(dj zDpiRnh*F3o$_QS?qvby#uhV^ryGH)Zf6(9VkS@WUQALLfIiSHHjq?TB^HdBX!+zG1 zH1so4+{N^X>(xc4FarBet$Pfein3EbGBoA=O4xL}@aO|r^i}(gVi!u)GvGO@XXtY3 zl%l8K+tJNOWX*Xnhas+;uYVMs9$QjLt1zr!T5S*Mga_K5D1(+9+nStfRa z&y|nZ4PLxna;i7+!5IyCAs>xrT^?dr#N!#)w%0-o*wA8E}5acve||N-%s$ zxqo0>I|s2>6{{sq(exmJJkk!Q5t(MrmTLhn--T@H!g07MwoRG(2+ZV}o`>ZCY#MWO z)%U=Ij1yw%h^og}KMf$s$`RDiw~PQ|S3eAlea=WF!2Sb_I8AYnE$NiOhW@6KL#w|& zgh;!}g@18L-L0L%vJVU$S0SSksWLT4vC zVkbh$o&dmj{JcpY^g5*px{1xTW{iQYXBKCFJY^u3ECsPj+ws9Tj4n_2JHcg*=4SL0R)w9%{kY^?}5<5??2 zZ1@8p)u6W}A_L#u_#gw{3VgJ-YAkrV46NTCQ$d0FNV~eXY0mD@M$)x4mm=*2L?kqLc0*{8R5>v_J%mNH#Su7 zLhlJj!mQDfj&p<0$iBkp;pk30xmdkuxt6BcjYtc+cR!V$V7y5Xd&2jp3P#AVo4?JM;iM^^GL%#N1iL+f0G5vB9G`#T%N0AO3+JVeu-ZyB2H_vc+vf z(UX=~OBV+=5ZwnKWJ#oBneJY=4DAm_+*($5n!`^?-CviDe)g8Zrf}oWDZ`EV_}p=8eSk5B#k?`bZR8&eFwUHBDu=d&#AHj=R$9)v1eNBA z2dc9U+q<#m5xhJhyF%Af1MFF_3Pp7}(kK$};1A8IN8}2mgPU_qj=nRF^z4u$2cgx7 z({Sa$EXr%=eVI&mq`M>|4zZ3X#&Jrcy(R z!g`p+S|ZBnbCafcu)v8{{qYlDDcXxC|kCM&^WkW6fu*{e^cPvEVpqybJjr9aHG4V^iAcGcC} z32e2icecqpXZCBAG$6HawSoEW42!F0?lHq+DQB*b@oY09xm_ZGEmpSP1Y|XO6gnMks>RZ& zQq?VoRt%Czn4&tI&~JCbd7ADj!GMk0;d=T4d3_hC4gBMBci!yd` z@w>;(#Jb$G1nXrIiZxtxE0_C&?rszgOLtTkoXY+nYd-pZxu3-S%)8_Q%b*|0;xlSz z6J4CtE0r?;;*!HcxyjiiuHJd7bP%YO53^ToFd9RY-6HUZCsUQpm7V;`9Evy^LJe?G z1wd3`gH&9Uu*HOjTZv!nPFzT|7rG*X*%Z@Q>hhSXWj{T{PgUrM)53xLxC%FI#Xvd_ zS5~wn8|_uDd!2Kttbm=WKs22_D=ST~2|;BQEXFiHj`GS-l+iD@nF=5Ij|-mpAS%$AiL^epz8s4P-JCzCvh#FY&J^{4kZ5{d zX!jOq67)>|KssS8AqE%S!WBY2TFK;*PFbz)8>&f2B)N5U*v86xD8y$!DlG+o;GSQp z6^?{KNOSj}X2TgPRp5S@J6)Gcq+ha~+xU|F!$~B!e`JC-GKJ-z;{S*VN$)Jmi;E z))8`hIA3@T50&LEm|(cRk9VRpRKFYax8U_D4Ob137q(!^-BgcFH_tKsbQ`uZ!4D!+ zXqMr0PV`!Ah88=%4Ps|F4a=}bh(l@%oO%d}B?wpBZI=Gx^Bp*z#|D~_IbgpgXAwme z5l=v?Vw5>7vCNYYwiX@WH>0S<_Y`h|LUX0q{ zT~1sLD@!(-4U4|^ncdvf_^{+c($#Fz)}{HAuu1H%G{y7A6zq5}^BHa+-lC-hu z-+DHU#Od`5YliA0=MZUVp4yFd&wH_wN;CyZTKM_I`2n+3cEdl8yWKJ+4mTxq&)#4O z;3ij%yb(>_|3dXE&@{TS8cmj)JH((bGo0fqD=M>|a3uZB={IoxQ$Il5eH^I)1J^kh zA>Eaanb7QcoohNH$C}6_Mm}Jq3M^T?8v3(EP`8jXwqDNE(Xd6`#Sv>3Is<>Kx?b*# zVA~ZaP9}9Bau_JIfoukx`T|7e^egm=-FVQeysJi>m0RttabCu}o*nEJUL!nlNxI~g zmF!{Qcg4Nh9dWLr-B|_NY2a@adYqp_bQ^0B0KxMAWDf8s>ZVCG=z4I?!QWO1{x)q) z5-K}S$od;-UJ?Ncf(Dzgo!hIeLJ%`+{+Smt1##;%%7IM1Rn}Un@_BOo&|Y4X&&xR7V0d1v<%`ZJug*of(E+ z{glYVj)@Ya7@V2fPXQ&Iy~02L8#V<;pdYUV&I>Rqh7|qkWlfhE$V0olkFz^6mYgiy zWmOg=8thwf&=>Rjc(}DnVcT_|m#)XDX8#4eJS%wcw-!%%$^0J=Pg18}^O_a1p1sG#B z>PV-CP?*BVT2Dc1w{TX_&4g~gdJTX)T852M^(-UxW#q`*19heW27SkxE2{7@alqky z3)XSSa|A#0gC14YA+TI*Twbl!K`2c6v~c?B8j8Id+=dNLSYUjex>anO%=5OY(0kwn zg5b(YYZakm!b{13(cR1`mO)?A>I6Qw@CBq5J{@5PXIkDY3V!Q z@6q{Z4Iw*V+XGMBs6khI6^@Y%D`ob|(U9FPLWN{5x3ohNc67;$ImE#w z{>0`|t}E}}Pv0tX2oqpwwGKQzn)eE@qPFbHu4^9Z!uyg_(f{4!@lZDm58@2r{xZmC zByqB2N^jyI`G&!pZu)+*Vt^Sa%+rSHH+`F1z6bopO3^9$a{|!*0iwuCL4DL&ex=}c zFjyR#SIrPz4F8V{Se5{xkDa^=@sPcJcA0>t=0JB--)!+d$QL}i15BQ`#Xv-n#(l5p z-6IzTR}5Y!XX!0GC+_Mp$E2Hq(!&6nAWPWk5~Rw5#O4edudf+TZtn@o+iUJseP$vT z;J$ys;r@~9Z*-O*=O=a{Wb~{BRzogCTfy7oFT*$4tXNwT<;ke*i)v@cdr>P8 zh!k~2iuh(QvA*OgqoC}QQHR!}MB3z6db|1yc#0&}WJ*!P{_Md}lY`EsfgUGJG8rjl zs!t#fP8mcJS0G2w+4vE@k!NG{T;VQCIFCAPA_R=3>f)8{^b7hsNF8!GsQ+!mH3}Rh z)DT4?C)YlLUIVd4+$bcC6Ya!(Ox2c*UG)Cm%np<5E7RuGq+a+17<(Z^PXq%)mEK0cIR-TC5J@{^iU4d4XiPCg29i zp03#@;#&~-UF4e}>Fj|-Qg`APn5qR`PpnelaJ{yEh;=4MZMz4tLJ)Q!Lkz!PdCS5S(J%Bgmn=8Tc6w49vO~9Cs5mF$yyN`wdwM7!E#a|pzP2F^+WX)) z%A~xc!!DxLf#&hmI+4Um@UswWJ_2Sq+9C>(q$Id6i$oEtq#m&fxk(^5uo^+%FnXk6 zHFX7XKo2nT8>|lO7$o9D(j2%yQoQ&H*amW34G##;K?FKTT5fcy#-{U{d<5tv?SOP+ zNjkM*Q;?W3^Fb1w)nnbS)=jAsK0^YSPnb}uf1?+xXE(t!&L*rWik9FTDD3wmk}NNx zAi0b9f2A=~Eq!G$#&qS6Va?UR;w783ZUT|MJmo~G6!p#gi_k1lE#(91bs7r*>}0NV z(n9Y%4I?_e?&*@nxmOazHLgKk-jh9|IIu@c|75vRufsDW*>?D7K;W-d_l9jd^TqY# z?=0p9?5m_sD3@vyZhV?X9hpCUpk##m*M(Br{_W;GB91;gm55KIr?g2U$c8DNjiX zJ|^WOcncq|zD#!u_z`{ew#aU}HvEA)461$5#hwMyM}HHgcO|}4D@Yw;^qpi%oSB|7 z&?pzw)dnf2BOspv@}#$S1}$U#bW@ddm?K%BV>6y+J4fV%~E;ci*qBBJqEB6 zrnzGhJb4s+!KL%+-*z9pHd5TXuJc%VAJGu^2)T9TeX!Pbq7*g6*K15N`2_dCBjGIJ z)KUYd%eN8WSQ{W*^&<8s#gkYq!==60MD9j+%76ZOo2kmO7X1&<| zRJ3a!8IINGNV0P(oG?d{JLJoq*yrf%69*vskPpBaS{6F*qnE_=l?*rzQ_eiO58rsN z#J9hoyQ%2Vn>b2yo_LwB#pYmsnT?5XWMSe-y0zyOlC7kXD(haGZ%Xuq2U8-=792HtvCpJK$aGP_m89`SSf*TkAY(9Go zLwkHKEY0eA&S<8=INAYw=`6LU&uaSQs?ZxzJij=baP#` z)uBE@3Fo?yW+WQ`bl!Pf1~&C9bB;pJH0dunk-$HOJY<8rm}kF-S%BklBZS0J*IVGC zqwXe~Ski$7pIl|~>hYFpOedU*8iU_j3nVc9IO^{yRkD@)AA%QAz~JqnX5fZ01d4zp zN!VK!;ufm^T>$v%2nY++r;J>Oh*zZKBmy=6vGU(0fZAK+>l}ATSFr()rMHOk=3JH7cuiqAwAKV$=Q>2m1{u(*p_m1bslA8*WUv%tR zko@iZ^I}6*$F7K_>K;mJac-TfaV~>7vDp;galZgmA~bfS_$zdtpM@tl+ziV+>pG4y z+|%5$3%wl(w&;u()e_&JB%gTu;#`hQb6Ea?1#D)>A9!8tN!mn1{-}+|B^lx{LMZ}3 zSuh(5Vwi0WYcOg;tqgs{@4VQs20dPe{Wz>i>xp7U;^vrHQ)*?jnXdX1I*dEn9Sb{N z6#8D&Og4cWO+!;hAXUFxHY{&5cEhOealj0CfFYHO*PV73QR`nj+0cwbD~OneYCiKM=SsH8%vMj2SoLCf!lNl+ zY^cWF0OB)bpxvivF{iOB@$SVwkwkA_Um}SMX%MB5BT^h^(BvvQi4nAzrKS-5n2KaM zN8uaq^|uhI_7>nH{Q$EVu2N!;n%NAT!@50^p2UXr&&dXP3z8}}jIK8j4itNYG)jJT zO@>;#`H!+5J;^i=8=~KR2u}b0m+y)0O^XU_(7zGS12@fh7wzM78Fe>&piSk)tKsU8 zbHK-!A+NqqNUdVLts5sJ3ZpvN{5D*}LAVG^n+4a9g=zyJIIYNt-2qXzivUrwKe0m$ zJ0GJ-dw)Czh%8+>=ltLp!QU-tRO9bnBocqFT&#Lmy?7kONxW zC*;H?Rqw@PS;?0g`6_!#LCE#OK8K(9W_>&<&-sK-01h_SVHy<1}sj z-9VV_@E1?Dyp8O}L8#Z^Y-%lE>-zXSfWrp*9|`mrxIp{!v1~_W&_%t>97qtH>k%t4 z4)XO4`Rj?nHBnwf?Bn_kCZ418(KFNtxC073r& zIrO>d#;w9g@I$tq?u`SByiZ)K56+;V%g~-!b|MkgWS`!?X_)4N*=LJf6^$m|Q+Y+0 z-+?5mZ!J1*HQDT|bE8gk8*XN4KLFcp*Qs@95*Po`SWiV?yOPRcohs&?5(a_=xQRi( zLt7`=2`zan6hl0c=z0R%w{o5Sl4VTNCTm6F!(^%+{3LdWPL0;-sk|A`7y4)qRDviW zl%ewBk1lFqh9}|P;2_e%?WWAUoA5z}hCrZp=D-+ws3RkoIRnZTXAnvj@_`XcQmATQC%U);!@ z>a(0|p=C*QOo$q8%Z7|h`WpYQ8`NxTgM zA(n!dEV-g=k&%m{46(!#IT@%mo+8>Yeq|w|uA|h-c+|f+u>W2j^-yco1VTkM)q5QB zj1;yH=h@UP8eXgSoP)7A4m%%2mUj(c9(8#Y2!r!a=8v>nve+?9WBBe3j0%|T`ol)^ ztfVpg6Y{_ZlbENM4ajCBe#y6Aa&4fW4kU60Gk_m4JyHiHJlz)_?uOyvWSDjK(E)w? zrVWp006*5YR0k!jeBnjD@K|4XzAwDo7hdm%-J4JnIh%bSV+_07ZqV{nH&N43rzeDr zIt+QWfz}L&od}*ANy!R(I(J`XnsY|pMwmcuP$$frGQ1Y^6xaCy(<&&>~3(uac@Zod5(DvW|NomYj{w%BD$>mpNrM;pjf$w2zQRsur7f8Xb(6?dl5Vw%j$wKMS=Y%&2HHM0KhrUKU zS2Bzc9tv&ZQOVF2F42(Jiu*_+mgYk1{+Fqn%o|$wF3b@2*zs~YCGMKv5K879jU%Aq}9D?Er%O=<{v68k;LFd~QIAKLk$l3{d? zstAUQCBtM8DT_#!Ci1038Ov?UGv28{Qw0Ibc}lhbp0`B$amw zhXK}4Qv2hs)G*APEUD&^)iA&sNd~$l!i4&J;tPOfhXVE{QaiKNf>b@bfuJB+FOnE4 z#qf$oD8y?eRnOObZ-PH~H`=;qwzvb5%J(FA@8N2{j__wJgNt7KH)!T&;gg+i&~$9= z)W=$qPUk)2y>arw`WyH(x*eMuwBa9Ek^NC14Tgj@EbR{iJCAzXidSzFlGKU**}_5FsG z)N0muW_9YrP3_gK?~fC!(ci|t`ryE>qRZo}Q{_{esz;BDt5aDnDyt^`cB@W(^ETT0 z$j?jjz<;-4uLR!{13%Aa95%C#WB(Q7&1@X^zcTJ%7lY(qs75kA)yDDuE#vpuc&Qr5 z_(e93_kS5b%ElL}LdJjB{LA)Zj4!b9QkBd2NE^rdzl>jH;|o<&#*er0O)87=OdBs% zn>!%>IYd$BLe+xtn{=H1#HNg&YU2x4 z7UT77yp*pKivC#No}!>5&c_?1Jz1y@=$ZMFPwN${XPku2uUTl(e{&2Js?D%wu43**O;`TKtl&zu*x_{ibt6 z9WRsjDLuax=Qzbo!jHvz*+8KU_xHtmK}gsk{ysTdN1{;)&vVx zXm`=~IPKcM0DhwhSnBMbFU!~WLBUv;-JJuNUDr}DZyrW*4L~aMb(AD$H(b@qTSDZU zBj_x?!cP-P48p`MS+5|uflehLUbtGnOXAv1G1^UC`GyG)BGb*}by!@&ZZ0445#|Jj zKh_hI0Gi2;V@)iVele^W6}7^GLp&8N1!ORkI=34D7uC7&*r+H}hPbFkAQo@8Ir6}o z4hSUw7JEuWlpf0dyZU^Ca32wM1w-c55;t+dVZ;O++;~E`-Fk7cy?~?Ck)pefLkqvQ zLkr^EzUXi|x9NC1o8LewJ%@(7<~(?r#Iw!RHYW8o(udBR1ufY?xF08n@5A^JV%*I_ z*f8U`j;yKl=hoQK<-N#Z2J^S_j7-a2;~*dBl}$cwI+9pn9$?+lH4Z%_V5OfIy;PHLz}RHk71`V1F0G{2Tc_b!HNeuFyiV zC&8zOnY>6xU49(A8l$YhVJCuyYFUE6I2QAIbxLlc`!$;@@X0OlW0eO29acSF8_Z_bnrC#d6>acBiQX9$p_!)wC zwdr3zJ~WG4FI-IkH>%xGmOLu>GHLz#5*pn=@THeOFGbb9#$(C9iPEX)uQ~?mP`Xog z1KSTL!a7rd$6p$A@#F?)u{V!^kXL(<)Q-uTff0l;#{fwn;XzHT48xHmoE`0`Mq4ls z0}$Sf4E*o%8hpXdRoGW#-_>p(C4a0_v%b)LB1{f#Rdm#MWo0Z;k@r}(oQTrTX63MB z=uiH^8wCJMjV1Gs2g(f2ab%Vk{i~k z!Jw!U0Ua>Uk32Y&n`c1N*;IJvUar}1C8 zeyXvr#Khjt8me#!hX##*u5T6}fbpXD=Q3WXI~bXXh+Z$XYOO{-{?BGTPE+juvGh@^ zn$zyWeVdvd+;6aypPrVPD;x@$qZ-wQ`r^W}hzp*$yA?Fl1e3*Rzs)t>6*va6sRL_N znnA+0d#@-ZGGqDcGm;Me1T`re<2_wMkDUY*+f~4Jvm(R#a?b!Z(bw8vR%M;Ji+tlz zECrL=Y~j~FeO+pmfh;$8a?*0UsGgs+*rdm!~k4D6qs!=8lCSx1jlTV%o;nEk0VVA?mu5WQNbc+@l$RYHjvzxiuPSoSDXro)Wv7Gvn zK7tfZKdZwaimt-6!VD2`>A^q^F}9B#LR^ZU$2ms!R1GGR+XFJ;azSE~$VM!(SfYj` z)z(AgXsU6i$H!Lha|w9(UKlr8{!iO|bufs?cy%YntAcj(BEz1{dN@;b+v z>iU0Jz6;AgJztkUg^^bfv35#x>`21CA5Bm~z}wyQ$fB1qgo;`aYiQ{lf~8-M=h*Lo z`wm82&1(-DJaY~HMLK=J>qb+V*?2({s2dhN@CK{FM19FRyt=GujSl-iv(Y^rcI^sd zhc(AR%LTFIDjd5rjBku6<~6)7R#djtUOS~9!D<5MSXtkVC5@hlJor5DAq#Hn8tDZ$ ztuV@;V=V8NA&PfOY&xsO?9Z3c&@dSh7TAOgEnBm6TrKN`>^YS~<#BVX^3B#br^NWK z7FzvQI>Y5Qtr73CBLD7e;N2<(Z9H(933fz?I@L_QQz}$fkFLbt7~c?6BmG;sO^Jwn zn-bq~COL1Rx@{L2yJm;HtZ+K#m-u)RH(+s~M=_&sscg+$Q8>{vX?MyY$z{xQFthNX zsfIDD$(SwzUwa=2Ol7wDgL8rCvsZXVKju}i{MEYpoR;B2WN(u7ZrCJ?RM;t%Bs(rH zJ7+dlWr531zXO-R+?Bu_j)!EbqqF`fQ%mrNmS@qIIWR$qP~PkA+=AJ14FfOF&_52_ z>)r4_afMcH05rq$toni!!6}CE^za!6_9k2^<2upmFLN0I7o?#z8#Z|*$)VlPMV9+`8G)c~+Gf6h@Kk>R3$ z?k&eV)a1Iljy_S=5&gJnZ8_PIX!!}U!Ka_YK__r*BXK+(FdJ1a$}&wlVvcmwYe#Rs z-b5Na(s5#I4U4zIRE~7efu_1=nj;;1$?+3?X;rW@jZFpiK#J3XP^L1E*<@7^=eW5l z0>HHDk@<#){uxKLle6?Kg)p~kCu^xEQITiN=*Q{%$+?;l`ZzxBdBhe4 z9;#W7tlUBIF-#S8xhW_1nt9ZI4>_%4uGvaO2bywIO*tM3$K8`#8snbVQ^#l6hz+7!|I9`}Cw5$(4}AU) zslO=uOr0WBMf)tJ&w~#!ITi~9d2O-DiJfE>{4s3pTXofwnz-zlCGNxPSaWnJZtx~? zXQM;JuAd%%t!9>Kn&1KA7U<%CS?OVWte!u0tEtT2-VbY7nFi2DT$hHU)9;KOH%t?l z{UKcJiz-X%k5aF{vjO0)m$nR7`Tz@3{`R$mX|zI|uzupDn)k#yUctxCPP4*_WQqc>Ee1idXu*ou8vJBOfz!CX; zw5Ls|RNiUWs-c|6G!`^qvy@Y;;{q6Z%kTUJdz-V0-wY2UAM=OhoA2m+!V1V|*(g}w zW6Xzi=97AewR!^mG*MOR)h)lvy&7^x{zo%AoQk~aQKZ18DZ@p(-Jn2gDUPcTG-}V5 zqf@hp7G6Hw3OEt(wz(%n#DF94rQ?~Cw=bBt%y6Z~T_P)(ctde_b~rS9utyTF=d(m! zye{fS0$GSZb>>K5j}CN_QBcbI4;6`wUclUtju(W?CX?WWnMy?l!tbwGD*#5IrSi=}{T?(&P#yCNq<07i&Ms@f7K6$W0^7Xww_VD#INWOgx z^p?yPx?sNBe)6`R{BXIEG!&XXfWG)sVd&j+lApfSs5A;xi#om;B~~$?aZ$sZTQ!ZbwSa zRdasvgCg*@q#Sd)KS8Ku}df36uz%1 zK-g3DK{S{s^?CJ&U?@<-?<1Ux)hY5ue6!X?t#_)bx3V);MkbT@h?k(puNmu!a%vga%B@ zJIXZ2Ec~f!LYw=nmNYlWG&g61xYL`a=j;Nyn3S+ws8BD88KYdw79*aIyTkGPcYKdP8UF5#; zH?xIH*Au1@4M4PqK{6$nKLXAq2~*Y)(EP9nAs;_r)_5|&=x8qSsoPO5WsiPY#y)Vw z>ktZB^iS!*3UWQTchgH0>3J0CdVgu4!!Wa)rF@Wam!JYXopAlnv9VNx!g}CZxh0)n zJt%9HpS~oe8C*Q9d&Pcx`N8Gz;qdCOe0|z!fma-D^W#R9vEwkUZsLj`}lncu)=+(JM#XRb~pTW_-Ol;{jThYm) zeHuInl|TgG;VQ2;wLqhKM6?fzAia9H^cw0Z>hz(!89bVnE$tAFiDJko{x+E3oQP&Q9li-4kd1fee_2{f-<>~ZIVQ73%u@fc>Dq`){M;;ikH#@sdy|P|% z^xwsM7ifsa7`RL`H$A1A6hFX%Y@&4+KfrlG!)Kt{cMwS*{l!?SOyiG|hj+L=My(fo zJYb8|7QGs#6qihXUPqm7M2h0m8Bn6)XQ1=-gaWE$_to%Qh;gu3N{0{a|6v+vWntma zS17eLS!Ter0_#3Eh?dHJM=`z)K0;eRJ$(?_3rOZ=YZS1&e@M{-G6|P9d<->m!R+iD zhdH(44lOK#Mu2Hy2@1%d?U?INo$8bLr4!#2Z0J2ka3`RZ*?sWWT zemkP`KDLpPHZ6yYPOfRl%i6}HLgJ*D{}C5-AU+sz>i!tNgW08FiwE2Z@d`etGM_+4 zV(m`H#d9t2LH)YQF#DAP&SU}I780i4z--gjgmFB(DI8CjEhalBe-!LZ5_@c#fJ3m@ zKb3PkNC?=LBa+tJNaCc1#7Feu4fqGPZpIc3NU&TQ zUZeNQEMy(9G5KpF{fP;1X_;GmN(xI{7mMwCI5*O=?R6GX0H~!vu&Cn&udRNo#hB}xSN~fX;Ew}z-d0$yB5#$L z^r^O;=U);yzSMQ8r;u(h3T-J#p48E{q1ZxPP?t7;7;jY8RHxJ5uC;Lm@H%B4yO*Tl7Z(!bhSY<$ssno8@sIii7zkzlcsDolx^v-aZ-4 z96s-SOuX}t$kz%47im&f*WjZiRMEV=bZE{%=4&@!wDb>OQcD*h z6ZJ(ah&A|2-($MvS$bdj`Mw_l?6wg^6SpfzaI-YVxunj z&PNdQQsnzFLaI@(p8sC^%O{wRtTf1qbqdle?wtI~$->&5oJYlhQ|?;yjwjIA!oD%P zb1@54GN#*1P>Kmjb*cfA%Eg1Pv(LsHP&}n*8c2xsI+0xOWWgLq|5u)g}@ zi+Fv08nuX%fh%nJ2*)lsGEF`hOUX;x8-sCKFjv(JA&Z>+^|D?ayyX{3blXp}2aE9M zJcElDIQ`OPG=)J%TR$B0P&X&^tr%wjDJWZM83P`6Rc0DesEWdnsakZ%LI zHqcK8{(mW+&L(a~NL&8Ks-J39N+qh-sMc^(d@8fYB8VEESDW%*QJ;zK=)Y?BKT!B1 zWU%`pG$Gn7t2z4)_VFCR46i4f;77J!!4l~{`6*mSZe>FnDxLR zbv_MLs&^wQvNrwQ322y4%CA+KVj}3>0w;3kA`AcFpJ0ZWZq0Pdx1A4nc z8!%t`He*_JzcpkLF4CZRE2-*HQ<;`_-R{`qSU|&=K9iTx7!TH@&E#j^P~Q9ueS7E| z-UnediysF8fZsRyq%|L~K|A0X$v3*3`6xJjUX~!uOaw@@R(*!3HEq?aO%NAiSocdy z)EDFeZ`JpQRhTuN4P8l#>1|1Cl1(DwU0o6c{b6Z!w8`?AWErZfw4PL`HRR0e0urcS zWg2B>JdoyJuhHleqY%9vX*nZ+mA|D!#*junI~E7A@(Of3Nld8tBQ}bT#SM?(>@M?V zeB}uReWFMdZQ6;WY?d*{&v#Cxd+>u89WVJ3x^v1{gw8{V_Vsw+)47Mc%)$mX-$~dw zR*yCd5@Fk5bR*v1s~OmU5m&i72fPeDnSS_+!ml#|7>mu7RrXI+eLcn&9$_#>iQIpYg5$N3pWi}^JBO1L`CN4C>w48cSo zcgT$QmJj&hD?@*H8n{gXoMwj7@I#WC;ycxNip5x>MGIi7=RxCL7J|lauA|hgQ-6Mf zNGI%#XJj2CFCgNM2{ngL-Tf&Qsy2?6&gahog*6rltycVGZli}JyH$xfGwf7Cj{fS|GBhM@UJCqlvSr>gMCbp)(8;I0 zYS39JH*&zS=;Y~4XYJE9=-hVU_M=m{^J!Rgo|yamlT}RPSlCqp3}jP}?6gwvTnH1o zM#|};A|K!#S#zh9MhR)LTnB{~Odnol)B1#t8IoRDtPHygECrhYoR=Hzu%TJ+pUsYTbRUCDx< zt_2HbzmHH7SGg0>vw>*4@aW@9yAF&j*#`Se-6>~J&a1a*T#+ejaJ8KLfM2NN!}%Ud ztTlXP@w1!({K9c{VgH(OxC-?}#Br+49~Dqc2fVk$xL~ZmCEVK_$$xUs^v0W@?%KQq zb$7#W2p!JQzTYCWKSL)lv?oL7Bg7Z0Hom7l*>YmG{dKV0+ur3}R*-QmHxsTbB5~uE`8!=iTff(hE0=lC75PpsQMSW zjhns0Z28oFVcSDT_GR^E{W{>K?|Ku{OchusCkXx}Y=qtAZuV96=X~2wI*voL1*eDqA(8M0_=k|&~E6Fs}psALvJeI_vz}{ z`fmD%nqAVrelXh)C;j_?&Ao}j5?(zs)gvc?WP;H2oP$`^(440DAlH>-=|j9Y88=xz z68UVHyQP0oN4%}~-mW{4r^o6+&?JAIjy(Q4!Y#n+_0<)d(J;tR^f^?N-N!9U^%@2t z7gVLp0;yZG?U#l+uv2Wdby{4{nOok)A7k^+3x0*^3gso(L<3lUzvEtWYioNkx4bGO6i|`|-k&*Z-kF$OI0B2oa1P23OU^)je0#Xs}AT$to!4!pmzgRXt3# zybKz?&r8tojb8)K@c8D%j0~8p#c~$L&>D4LDJq?ny@)uodaIE|My%P>?CG^~wuaMW z5cqEW3t+Vv_S@11sdUY-#+HRGdryxVOjRn16g!@DaW1^18kq9!%{9)8V$HE)68B=5 zd|7A%`8JSi1O0R$ku#V9{Allt)IkYP_l1YM;r~w@0Vb%MeIUgc4m)2;q>9hGcK2!^ zb!Qh;S-sC42<5itvrulg;ZkFD(eu^|L(fQVJpP#<07Pi03A9uA&eGL!&Z&V@8 z!@5G6=Rb*|WHa6=z%uR7;l4K_)b&8Ao^s%X8TEqoGuK?E0n}1fMJJwqo}SKr;7(@+ zU9JwCZiRQJ7ufyJt-+L)%H<5;7dqZLzji6ZW(^g?Wt4cO0#{D*n!MInso|mVT>QuN zP;sovHbhXfm&!OQu&eNI@FO3&Vjfo?h7B8bgYEzNLLI#QIMl(faLBtwd@8_jFy!Ck z>7B`Rq|AT8IpBF`*C1%Q@NYT?y9he=EG_DbYm{Q>B8AhaGlVTZ0>UwYA>t?O9!Ik$`1EpSOtmxA*g?3)6dk<4>J`jCSl<2on3Z1MI2j#3zsuH{QGnRckLg9)ksoigpm5 zu8XZ5#bTvwf;CDLH=zpKNqb%H&%Ch?nYgWwKVB5s0%7&M^xa&SVzw4E-_z4uP~W%snoo;lpjqHs4${Q;S3>itBbcXzP` zSs#}5Wqgns0q#`OC$kN_F{|Puf&;RM^{bJ~?!l9NcO3+{Adyn?HSdn+0;Kq$r6vU% zv3R;p@4>K&Ha1CRyqa~vcp>4oUMD#YKV4{x?G1!lI*!j^mUAzJp0Ms-<8p@ z-R^lB_Nzvw!|un8s*QeFmN^}@fSXQ#T-ZWgWvJ_N+b3-${TP#eI?`>|yGfG9d7A~G zDang950H0UPK>=r=fd`qvtL{!W4gU-d$5V~u5G(Ho9X!y2Ywmpf{1E+V0rYZ2lw-F zlOJ6{j_O^k8O3r^L8@*Jwrv|mshdMaS)uZgE1ZQ6V|hy#fD|L~DD>;(`k^~>a#bCH zC9}g`=_KeKi(Efl?M+5SIUzdBor7}kqmm5uE|M%+K5auZ=$GmAJA-{wdMkEkrl5ze zg4he%Dy_yzN3(2`&*32iW&e7Hl%1#gA{*uLD4p7h43diOGlu`n)y!v@EKePU3WjBV zIGh(+Hu&=)W@*smQQpTCPqEaeEHx}|!cfThn}<>;V7UnvYNKd8*{5G%7qPu`nAwt3 zi_u&6jVgoYX0D_*q@=!oFVSp^@gjYnusxxepxV zDW}R;l2HMd+x>3@J)#apAUI|XfaI-H#}rX>Y8VPqr$b1}><#8}S^EjM@v`>W*l(^9 z_knanHrI|69fK$j9+au&q?oxp|M^4R8`{g%JS12|Hb(+6EZ_v?_LT%`@OKms*5t>N zSK!T945NkWfqjTp+*_;?5{eFZm^3a`j~anW!bJY$sf%~f72VAl(u9T&wX~mAG$&`7K5f?mX zNm?`}jf-{Q>X)t@i2#r^$9kUL6I6bRRL0klXdKuS;s3ia8_T%Hi0NoGlm`g!!z;($Pzq#aFr7Y_KTM z8!SG9+v?iDKH6WCUL#|Unz)ya+m3nw2DD@19xW-%C_UiicyV5Vr>)U|WS`IM6-iw# z6Nin+Sx$-!o1C+h|NT;k!-9+OO+9@#Yso95<@X$!)-sIg)XY8Desui^q}TDY4jJls zNvuHGzd2ZH{+o6yT6TMd@Kn=7)dnrvV{V1IrJsgTjOMAwMDysYjti1Ag(?Rii++)* zksfvGbJWNFcWG*R z2$94A7`9;{Ij*o+t#(MdI~F&QCD zN#BoJJ5xJ-vOBBAfF)iBw5A~~b2{k^zcbiM8c?2$-f6f%YNqL~n# z_Nc!LuI-!3YlG&<2{Q1-#ct!22cuqTBaV7rCp;T{&Rw84S#~#qmRw81v;jnxc;D=1 ziMO96USs5mC%b|G#V8z4A!HELoLOWPYm8A$=efe>@kU2U;22JhqA-ld|2W>lN*lS~ zH4-S941cS=(GlIEk0A?EwLOy8CdrqmHG{~<{=0sB7R@3ga(E?olgrsYe?rX+^qADl zB`OXhdeAs?2s6L7s|Hz$21m_-(r6RsM$jP@?M8C=WypY|YH^6O5=)7^*is6 zD%GOs;gEep{b}H{G0*BSV_N?`eToc?&S#-u8}Hw#v1Myy@Axa1@iAniBuOo3js^JZ zoLna}yk|2tdT4X1t0TJUMFvh5;!kxk2}?}^Gf2V-CP5S+s%HjCI6xAj58f+QadHK_ z%1n}Y4%H^Q#t*dZzzl&2M(G^{dz|Euar@f36=j`_tp3_5U+fLfeTpT`XX>q{A`|Jv zil2Bq?g1(my!8tML`{JW2)?q^SEuda85aWBS#{Xd6^B8CZGn=J(TzU zyqzTEGlI#rey&reFu~7lr9e}-Mw=>i7~2CPfV%XvIk6OvOp8*DCF{{f-K0{?3^G_= zN!8J2R~<_BQo)!(3c3WIX&W7kOJdD&PKM5RhY>5)!bCHZK zQ7&B4n)M^P%i;Kt4X~gB0Hg#^Qy*tfuFrDuoW+}BB^@vcfU=k_7bZg%JQxlI4BTDn z!WagI2GI3omWKhQ^Ibrk2eAZNker@|7u%+VfR9PKZ4xi+J$midjYQonF-0it1^^cf z1~dxNn&;=HM2J%#aHIi&#;Z*nY0?EE3@iCAtY|SyNZ>+*fDpwQg4Irq|D+>y0X_UM z$U{m*gxOaBUP8T^KD=c@i-*ON-YE%EL8-cd#W9b)3jgs=S1+bvG%e(32;z8@ zQ)ilpXfrgykNl})O~O>uwpB1{UnD>^5>&WDZvIAt#%xlq+exf_vVQ3gRz_TVM$RvO4hO|7u1Ix?t0sT$qL`pAu1?@ae}fUvevdjWk@rJx_c7U z!eUXuma?q48LU`L>{T9IWSws1r+VO8b(BqX5_qkj5zu<+1}xlKNUh(I>_@`sZVRuZ%K_Ej>jMa%tQntT}3-^|`D6t7O3^ zxh_f;WKG5p(0ZSn*t8*FY3{YYeaGE>2m@5ix_($vo4b~gO+IE17uI~v_b+g1eU+RU-&Mb|)4%^VzA2~B>LCI*K`S5sICu3%L6OpI|@!t}^qwYkMs zwzs*J&1KX-t_RJFS0nT@LoXn-eNC`5{D6Z4sIeFesJg_d#82MD`}AbkDk-%ZGkIG1 z9N%PSy;SDi(GLGcM)+Og{lTin&D%nf{H|)xBYCK}RPs8T`dJ-+RD$D8SPiE8!??z} z%3M1dy+b$iRVb4*Fqfzp7UrL6>BF#C_+r5i|~ z0qdVU3rXQ_m=pWzd3B7~z(A0X|K`ppv!Id6I~Ogv9;&{a7ikYw?F>41!lu3II^&`0 zQlHg^c&PR!^p`dydNlN-d5S6(ePED=el7+Z3;iFM+lNCx80}Enf}SZC^v8>Qpue%Z zfKD}8s5+I=YO0$fHYMhm`)Dr{Rt6i;;yO%fhKH$h(c(zrH_Y1O$uB+slMIFQKNU>} zl##@_GOeeFc5mygLN#To^jZRljA5>#nMmXukL;4}V3~?9#&KF8z`bmoKXD6ekg2~orB-b3?H9J7{nC<(WMQL8iX{v2 zftX_-E-Kmq3iO^MxyzZ-n6QSl=QU$JC@8J@3rRkHbg_eULA%$mYXjPbT|D4}@Rjpw zd%tu9i9$#OE{{2P1W}F@Anb$#lmHxl*2JkwSoof!uX0u8k-|qvj{;$=`O?2=V)}>y z0HoixRj3WOG7lGGoojcWO9huW7R7!dgtYCF#K{2=X$m_api~kT9$WeLw!g==BO+#a zTv;9wI7H}UL@f$Ne5oESBGTL+7Tjv%qN%_!-GhS@Uc&*~HYXBIzSZhtcrK^xxc}xd zOhjhkB43X{dL;3)DJS0+NcNabZf^pWoq%c4*OvmCPk%L%E5f3Owm7-Z(^~LjX`#{d zaT&KEq1zwOg$Z-MpGXx9Xdctv0C=_rCv0_l<7CzG1``4Z&_QOY?&vCWL04$QhPiyp z(jMaje_E6g(1Y7mfI*$y3v^lgUq41PG=44#it&z^Mt>CrG?RM*ntgd1AjAr6=y8e5 zv!n|;sW3wTbW({#B}B)wcdkcKss-_VXt#=xk4UwC0A67CC)w8&zKMk;dtG@ zAa6Q{(K~D;1!xCL3I#klmC_tyeI_v}Q6DU8IXoOJ&7iZ}cnw(M+VZ9q8d~t8n%-~p zHRM%niGZT%I?xk^ZvSU3t#9r1DTp+3C+2&B4p~fjJ@-t*3PwBUezaoD!*HdBfp&W< zwY}LhIKbCl1TFs7XQADc9tyvf>!t^gzr*BXm+^psiaI>%7&g8_-N?q@M&rUS(wsM- z?WiH7IU4sgkQvT*@DMWo|6%W4;G?Rp{qd6tkw_qkZ?vdW4H6VE0RjO<6G&hp0aD&7 zIvJ87iR3XP69`sq6tGDH8e4mRT&r#DwUxHEO5X;DBXq`JPL4*^ z0<2RDc0_--5X)yf@8MH6AfyH>1VQSWWv?Hs1u-3zlT&R1lupL) zYiL6lx#t3RO{%@54P{fg#xAEuT~=3c^d1noB(4@5ibX{ZK4r!_VkTJ(F>3na8hHk@ zkWBCMrSlaF7z>p7hp@z^rR%S6ORJ}_fh}?|!my0-LtCWnUxoNWjo8(^E^&}*-I`2R z;-D*_WzOUw#POSnTxNPZrasi2cATVzA{e>@gu=v0$x|XphFcLY5!Nc*iaJ!{Q_dSI zi%q=P0H}#Rl#3${$8ORETFoNa((I6iC_LK8XjH(_*KrWlP^)l*5f^$&Mq|?$236$bL>8(AY@?b->NrQ2s&WhoQM;rF`ct?aqQd877cco!MOJ#cb(1*i9arH1ElwS@E3q|)Z zYKrJpyAMJr@Q&!U+pia(L%r1wqx}-!tk1EZJ!L=5$aF@A`&oQHyY_%fdf&bjV!98~ zi#d>{gOzdX9Y6q2ZSx|w0DZ1V1HIxj19+(^ERWlE&{6tvPstntrl@b=SR z@$zx}(;KN0we(q!ZCgDZ7_nV3VOo+rMy_bsk+4@9Gj(q~~qM$K$h?ix@ zT+I1^>+=HqDOViadE0*XBAL<3LfpMRLuLE{8O~XN8~!HmQMmjBw?@37jgCA?d-m|ZMsp6)b4UffF}0NJtL6El zOn?Vae2~UEDiZl_=Ep^R@W_Z)er&`?nX-S7fo9o13(YdH{NvJolq&9E70s;T@Cv-W zeu36ioEzKlDRc2gc8wS zZOY`gIN=~pGev$aAYuz9dbIeP7>L-w?iN&|kr;|xM!*X?5*hekrh|n8AWYsiB`)49 znaoc}a_qaoBQ0mz2Dlkngi)NyqeU^pyuX}W=M^sFtsT6aqJ@(I%78!n^!KEZU0!Zk z;fs77rCHVD9-vI;{;vD8b^%b{KB3U!d(KgSXNMNoQ%HdOv$_Nz?!UsJ$@DPTs5(VpQ7Qw(6uG9hHt7NmhGv(5xaLaK~io#KglYY1#_OU z^@mr8LdBor7htd1&xk@eqX&GKimV~pVA2dqk1EstmN4Kc|iMj?}i1;Kd)&^z3$SzC)lNx>QP<+mG<4RU{e^$33Yq0jcF+H9Ie(fY- z^M0lpFfvP8rRriY50 z8)5c~E~0OQfmh6?<#jNWCnqzE^QuyN-u)+)}2>9w9XpmDQS+T`8av^{Cqf_96OhSY?`xVW)v;X?sUC$odnK zKAq)V?Lnpb)(7q;aYi*Ief3SMP)uHIma)|@DllzzDL#NLLj(LbdN900`!BT5*beXt z+0L#fQF-5?My5L<`#==kT!>NrUTsSKtr>6Wz^i?>BE`D|De1 z#MN+WV8hjLpv~8jghhVU+mkZ3UdCEfn+<~Yn$QykH0C#KVZj8t3M*m+pWMA>|AD;| z2SBzQz!h~j)~fMV^K>Z^2=xG@T|ue-Fu}Nq@J0|E?66=$@kS zXf)P~LU|Wo47G+*aXhyD7rG!F^K!a?40Ed@Z_IeedDh0%jBUHGQPLR;Ymu>a5@gtZ zTuFOB8pFPbIB~OTDeVEf`f)(ab7zd8*@QFe!!zoqEZ4XyG%wOp(K!7 zj;P(73rVPMYFDcWC1PKRh&*iF{)EHdd<8*f>{%*OfXE(vwr<(4J(-Ao`K@fm)_c*W zN-4!neBzcr+}4NFMc~tZZi=c<(RRCn|;%i{jXw4Rxk{Q^+FBL+Jz(-jA`0jiYEExL6uc^B|qWj(~weUR1 zib@ahOMQVJ$LWitFJtRCA*;a@J}{XS%34V&xzQhm?|3Nd0HQ?R&yeTeOWQwWoay%Q zuy77{NF=p(WsgkMl62TH*}n)ibE?2n@uL_l;8(!jV0&|&U>g0^EgSpg9MmX!{U5wQ z#XkBoLGBzMrQ>QMyQ&wUpj5O60bf98M8|s(+o!a6Prw*!3Ew5M+-(>0RI&vjrIHZM zVd<<5=-v~M1+QMVhvV260aVpXi`0>K3ThOZsv2%GYBm~Ev-GD&X(9FBQE@t7nZ^*vO09m?Lf?P=GSv&z#Qwf^fK4td}~lBX*k>1tQ>KAo}obTiK*w&O~~8 zE`0U@m~WG_3r}Z7vQiitj2Y+$!lv}I8sua$ggg$YxbWf;w>Z9h@nILUs&VZ8AIn4` zCKmyNCb~}uLSr|HvVh=(qWU5hr%e&Oe+JVen{J)7uUA#>Cy}U_CJNTDIr3p+H}n0Aw!g(8cre(KPTZ z%IsHEO>A_bYKwt~w(rUx(c2S?1t&2{4F-c`xJ6;tT2oAqb-uW@dd}I)R8wmC&}7#A!?@!zlxN#|2_BpXfK^uT8b;unN^)> z{7HmU_F^jpe_r8wIA^6DDe0oBIk#Sj8gcP(0qQC3nA`%~rEnSZ8HE55wd_ApG|CK} z4dj?YsGH8(|B6pR?*CvQy0jEG3i?E$zi>bxI{VW<9Ee_Vxu*WlW2l{+rmHak>sV8O zO{*0fGba3)yf&en9w*##!BKVS+nwlkXzy)r3J6THfCD!7Dwq?y;P(=f5Ga+R>j+d` zEAsN57juo6DI`Ar>}3btWJx6>z7Davkz9z$iqWq3s@g>LE`CjUY$u#cj)fh^xy3_v ziQX9l0Lp&OAN%|PyxZGoeGus;`$|iFqW)8s=CeEHrR72*f0WW{n=G>A^_R*s`j8!I zF|35sY(PiS?Qc9F69w)g@bN2LnMJ}0$Db*W7m&|xL8Ob=9N!doYz=n4^Qi$YfuKF> zNPQ27ea$2h>|~8_@ZPr{Fl-*{7-XXRJ}C{D$aE1ZG=761CbrHIyBqx*D8^f}%G@-e zjc{EmSp`8k2&7hus|dNeFal}R&+U-7cAXo<^;>zHX@dBPjj}8?0CD_BPG+T9%-DJ+ z;Nideuq^X6LAope`$m|3s5E2i9Ke`P=%WNlhq3= zS|vWf)@r5aJA-`@FU1X-=!;NKvsFA*#YrpkGesQBW{ixb?*GHt&K=5y=d}{CqWXf?t)n@+3uKAJ_((sgVPv@Ko~{}`VA~kLO~yeg3`Zv zoeh9|(L~I*MZSC3cCGc^b(ZWx0vdH{^JomSN<*-W#pY1n?0sswJf|~{RV&N&EzGD? zZxF3?(f4AlG^hukrK;CGShtGk!GDK7C3X^DI}5}MMKuxyE1~X~&!y`b>~mcP;`Goi`9KAU`8b<=$aZzJW8X`4 zN3EPWZPaYEbN9NHk7K z?RjTQnkgww^9};R(x!@q&oX6FeYmkNRgU(5M4@dx&857$c`OQweL@A7MC-vs_Hkm} zgU7PJC5wDYi`Xr=$Sco$7(4ueol-8}uYvw!bwASh^w4=LkB~PzLEaS#=UGR{^CZZ- zT$OwEw}WZXc|T8(w_26^&JprHe}ue^3G!AcoL3+Z3T1!(3~X_WYkP%_-h!yGs*yJb zcqrltdjkP*#UCV$BOdD52P8`&F99-V|0FWfsLshz&?^8PdHFXuD|)6=iyyVPu{vdl zei;jV4+V}4aqCeb>R9Qn)4|9S2jc1zs!}3FqKyL=j6|cZ?;T{dF8?f)=8Zh@E;O-!nzWmi5foR8^dv1UYdZLd5fwMVV z!oQtCkuL#0hZq+Dx*g>>LbZyK^oOTpbDcz59{cODN#yG+)RDIe)J4|fR1~BY`TD!@ zW!a{Q6#5#Jbrb23BB|8HB69&}Uw#mIBfKgj5UqFoC3pi(c~*f$pN2b_{-P|big-f_POwqf|&SdH~sU{Is57a6rlG_ z5A?B5DC-9IjWttiGPXVd$VB@an@}ZP1VVM-?~2HgdCMb7VNbh=N*`j*XW^j9Lk-H2 z9pqQ+P;)Pi?3!bH>@GQ26TN#J9yDOTeRBMOt#w@t*uBv7!~^zj6mt)g5YqUGQhFML zJ$<)q0=LUCfqh4@eQa*iAHV71L^Y^A>t2~Ccy{$r)AjCyPvIWb3D2M4u4zbT@VS$S ze$FS*>~T!Goxznql-!YB?VKE>w80In6MfxyTCgtn!)6O3r?uKc=-Wmlbp8gDA- zbhD>LFWAGv{}7FL=)^?c)-%*dMS^B%KV$_%Hg}}UkcE#&N6SG9*BefmfEVd_1<|kJ zc;V*E`=#S`oU(k-Xh0@%yr#+`i!={nluTsN{7=Rk7+RDHsFJpV=znb1$V)#zHn<-d za0$#0(MN7OI^0^q)f^*S;nCp&#CQ5J!u|DUFsPGGfI&SK2OnG}7@bqeM2&joMEeN9 zT|hl9AliFMRlwa550@BOb39NYWPVn<$be%lK4h3}H{O6tKpcxjKG=6uCgv0F8Nlhe zyq)@AvP;plyX~R<_E+QknzsG+?^MPvRYLbI`zI=+TV)V{Kl>h)v0G&jKxA|vW6uK6 zgug}e+D1tLfkfu7_JaT{x)MJZD+F3>50MZ%@F%f!*;dI+OlSlUx)OnMd&FO(VRsX- z53v7oc8&#W{fB5`D@dz^otLXaSO8a6-T33aFQ?O;+P%cHH-6%7ss>s(+$nHx+iL+h;%fI7W`Kfq&l5bP+ z=D<2qV2YR83sJ`G8TR6&hPLqqKZ2F(7o2;QDFyl^U%!Op%hs$`zThWxR=$e&9@l%P z^Zq~LvK5N;F?dvws~&|McaDP0euJ-bhGiz3i7nahYBB7X%ddci%qBhpnN=PSnYH1o zm0_73i_G5Zfy{DJA+zi7@rr#O-@eU{LZFGl8yxPXN6@$*J`C?@SW-gKhU}YrY0q}- zk&-GPEJlpTudyaEEIJ`MF(_%X#u4E6l-QL&LC^e;5$KOE4)@2bJ}IfhqRM$_SeK3{ zpo|}XD0Tz>0L6+k=*q;q+%7K#&5oHVU;YnYP=@2ggG+lo7;sCPF^ zQJO_3VKkhCB)(lWX4pyS6C#ry=<~GM_x^BLlLiUp^A8RSWsp#=e*j%-_u+%l$i<_E zJCa*GFR&wBeLuwWpNAlx@9`_XVHaCi8X9CFo=blK@mxCq@%$zg;=#&VIak)&pik-( zExCOnRx`&OP2N{(C5Yro_M zdnLYU#K)8esP82BAGo?rq}$#Q`MB?ae|H9-#e)QKD~l#m({C4|BkHrjFYYDMlv`d05?tNz zDg?vbgzX^Et^pO1Jp{lq7AxeB?-p>dr1U)Shos z|KEie?hs#@rv$;_|8U!>o6%w7;C)bpj+AfO|NBV)GPXJG&3}XZ+eQj)`txi5?o~Q-w|(>f z0#{qJ_ET{9aU?;X5u@QNWU%`i(8kyMp^c{|(P?1^nfV944%P2}6FQI-#oMcVTZ6ZMTWz@KYY@YWZ$J!w+`0R2D~7x70rPOK$J)Pr z9kSSW_}^F-xBb_@G4r>7m5MOu%;fk}p!S*_I84Mj72Q!TMTqIcJ1KbS$h*}NM}qAi zVsLSQc+^M$?G@*S6JJTOSN$bZu7}W&5i@^wE!0qEX2WoXrNEsgmz9H&TH$u3mGf&+9O3|d3 zYDg1*k^xRATaY697f-!)lH~X8iTt8Vi&RM~JjYq`F=z>^Is_nSiPa(hU_|8GfB*MW zTcI*i)y9Ic^4O6?M}W;Jt$Y^{|M6)H?2|=t$*)* z`&oDVd#eunliTc2OCnkS3FYzkL3yrz8*eN4_6Xi$_fo6BjZ8;Dugu3xkzU-!`aCsr z2Al-F&P{XWweaJMn8im<Qw#uh_99j`%>aHx-rNPzsP zpq#2^5(pe;BW@>ekaJHlkJA&r>`YB45aa}_gn z)EoKMR}-{!d!_S73fbIFLmDHALO8SuWkXJ(vXy^#a4R2M$7b=ND~OB)V*BO&uy{FO zg!=ppBe#F3%%7@+S2RdrbcnzD{SR|RJ&%0uJE%O!`ik!UxaO96egys|pbGx+u;{a@ zHQ8{x*l>}r46c&$&IZDN*bsMfx3vRxM$Sr5&9M!F{3{Jd;A|1A$YvFd{U293-aT>^ ze-YcQu|ZIJ6e<7p3-r4kr#zm+An(jsE;6;dA^v{Q1J}O(JwRTD#dzM`2WiPY8x{=GQa)=gV_D%Bc$LGW$ zmnUowhdK^u9HqHdd%U{iQH;>WD(p8@o?fpejHu-yw41I)I|nxlU`dK|Kk55i;ALGL zS?Lk5lvt{cR7=l5tRf?ktI~E+(B&?;*fN)(n-pPsNm~+$3!~3cV+73*EgKi#lY$$0xKI2| zrUxDcA{^`+(<=}5@%8|_lj4ZeVb@K5zx@?5Av~?L>;(@8WGCz-SxT|(Z;HfIUZ)vx z>6^Q(b0=$Q$DA+VIEuKKmlx`iW*XiHQ5iycL9e{Zd%rLV)tOK_-t(3WJ@a*p8UH-H z)R;fM!XTvqf6@;#lm2HB;6C0ykcB_${cF^~>v>5f|5ib!y+A0s#QOxQT*(Q8EwW#R z^OE|Ffhg{O!wm}}=^(Eu^V%=t1~Gr(YTXHMMY)oW)3*JF^NYXW3a8U}M^n`P)-Nf< z+m#{E`*30gBxfn)lXgwrqbiM^JwliOWj|DZxBcZ(zQXdkWN#X;?}HXcO#w%E{!BRW z*TZ1sv;m^H`Qu-_DWME{5s`l~B!1HLyC-Givmk#ybbBezdqf#+Od=QkiSyq`-1%AM zizIOQp#JV@t(T~ES3w`3?q@QM>dfkNqjJ!F2O^AIja^xL7Kn?CXTQVXoqEK6w}+*0 z@x~?7pzeV$a&pPLiq&767%5vY@(Z>g+(^ewjrGnRHCb~DSrMm+I;I}`wYx!hD=LZ< ziAhz;8xNB`ll~4z99mA)U+Vu1DF1Gh;pJgZMY6y>7^m5DJWMS}T{7}HT&;%=cN0oQ z{zjY7ip~$y+JZl%pcIdWcK~2CyuYDXJ8^5CFz1m;c#D&5E|94;QDxO4*{q@6j?n-K zvhDiNcJY7ClEUgoTgW3-nnXu*s`0%jm&o2#b;(0pXR85A47zktu7n)G;;KC;w&j=6 z$R=z&m;@&;Vh<*g|5|>_~awAu^107FsTJ zrqu}1b^T1&AG zwdDzr5KKVAu{G>bxGW|KhQ?51S?nL4s@UA?G>{)#+Z;t5Z~a#xo&m)636DeKi(bIn zNbx4_WsI$39Q#_rQMmXScR=rX43%v`74{u`yPI#FeEXZIHt*u6p!oc1!@g!O=hQv) zg124z#klKfV*6RjAUdldh49xR<*3LRqXyeDwzq)GKRR3i@nsrtM8FI^=INCcqzghK zFJkA?O~6qLe8(u@GWb9w27HG_LDHGmf5aNzxQ@Ds1zLwL5_PfQqDL{pG1RG`V^o`Hc7(Hb_kBGR%kG3BLy^M6JNM_{c1dFTAK`e(ha;58YSR*-+xq~P@ zmZBH2=txmCUUkVPHw^#b-aQICuOF{>A7#JtdpqT*-TnyVdwVBG=C|$Z7>Od{v=^O1 zFe4W6AU*QMvu%+RKOLtEgMfs-EJ7Ve!X)}bHVL6mA9?DwBUfC^ivRQ4IGjB$>Zr6N zP{3`7hZ{to;Gz^jyjahGGpw!QJy4kA==^Iw}`#s28R68ZhH6su*id)>t*!=|m9l5zG{ zbQ;V0TgF)fg)7%(yxmi{qNM!;til&AFKK^zg|Gd+WxgBVpqF3i>liUU8!sff4PkCi z#tGa5D$2@1%*r?c{g?lF?LDxlG@NaZaqlqnmV~yqY@CCk(i+o!iO~qfZ3coGqg0}vveJ|Rchf#Lc z>&?#zdiQ*rWbK%<{5+bFSL~uTPCcdkD}5Kp2FcjAfO5WZFPo{fz3NkgcDDc7w<8QiLjx{q zx359djrk?pwf*esLO~OPK%5H zNXFR(h(3x%u0zn9cO>8omeu?h)`ANDcoG)ec2kryYI_g%$Ga zLHRhIV(sw%G|b9)wu-W1?a-uQxY!VfC)N&2G|c-ZOspL)&@eZdFtK(RsbQv=FzBOi z}QpG?J{4E*z=Z9mJ{dX7jCV|XbK zY`-qL3;$dImIv`y1njR|^C7o4UOz3S&!Yd#dOc(7+dS!r{)E2ty6j7@=)Uv^`@tU{ zjK2Ofcs*mcXzCh9xj8fnf>!%O&9V*ELi& z*9QH5%kQsjs6e=`xxOM?(@<|+T(Mcdd&jTv2EyL)p-TW(AE+bz_$gC!a+YOJ^p0=x zW{P)rcw@8f&U*>JbkGD%J<8h$R$g4AzH5Qn(uN zrslPZqNZS=v7#EtDgq>@2{3B|O*IuwHP^CWQ!rc^To-7r4O<(7jZJ{?*VM0Tu)>=| z!6s{7LuGI|-mDt&TOxin_&+XT2~(C>WXL;V{E7+QnkH|3L)Z(%HTA(tD;!uKWQsS? zSk+tyI-68duq99tuHEcys1G`M*4#j)w<1tm>s?nHsA}@AYiRV&+dN-O)4{bqxOr1U zW2IBB$t_8%Dp((E41`fOP}>*`RBrYLTY?qM;hOp?Yi)B)EnZMy#gy?YtcpNAi4E0M ztglt{H>|xTSP`}Y&EW=rV?%R&<%NOTDu1vgJSDW*@>d1J>l(pp_C%|q0d3OQ6s`rI z^$mmoaQ5OhX;p)bQO{lMaV{WA%X`2F#l@_T8G&)hx>EE!)U)|8K-kRcdNC0R(#NcnJ z2ZeP_RTdh&CJbEyPfZrov#y~DyobHD!2n+T8!9*W(M(Qx#_L+vg=EgAU`URSxwae=!+kE<*%%%2>S!!a3cg#RnruPGHZIYJT^23>cjqUu)e9G(ciSWP9j}f z6KDeGD7?1GA8rWwL&3%h=#9TF(6rvFfua|;gwR64O7xmZ-YPU78dBp_8ehLrGS&oT z3ObocT^E|}L=|jZiyPK2BYp=;P|5zX7Tst)6#>17+@cY6t(zJHA&{v+HcoXiR26~@ z$X6+nWW27$YOYr$t%}XzYIMKG=K63AlnDJ)DJp8&6hH?GZVEPf!_|R$h@gr5Tl1Fq zmy|6pSyXaGaSO_jm~P<7WfSAiJ6UuZ7ONRVnw_3ekYq0c?kM1cAM#DO=6!bbB7T8gsR$0fY8o%gk)_nFj?;v30LtfNp3$L4N zg0+?F8XM{usetVQvQ5Fj`dTPo!@70UNm{)6N~;2tF}E>T*<2Asiwd?>Oc-(Ku2Y2e zn`T`Yb=k#b5`ch2=()7`{;JxBwSih%S@j0Q0+uy4H?mIk=441ZNv=-PHUhxwH|dC= zP}nMI$QiF`0-LZ<`&2JShaz=wUq&@E*K6})CQWG zyf7u}YQfHI(HgOINIU>T-iSd7W?6vNH8+L5Yhkgy+4T+elbgbgC^ylIAxGw`Msje# z_7e*%dQG^=E3`%r$n`;Bt!rou3bpof_}dt$Z4Qo~lH24BH+Y-tLm1*LYkU(1NOto& z3{*8C*l7VKM+b8x5Mz+6!LRz%G=HvtMr}=94NOLT14gAlExNM>`PMZy_+eQZYpBXV z57ruk;pWDAuorGdO#)F#J&acf8R&o&=zvv0$RsQ+&}7h#0Z$IM7`f^(oMB9ZfW)|6 z>4m*&5JMbZ94s&u-cVx$I!V(MY(!OK{I0|}M+@NP*y|O3L6aUzK@1bsz;p!oY8VRk zr%jCw^;KRD@{_#b#?4@=qMB=N-BM@XpByA0l639P0V@+|lh;QS*HEU}`W2I?n-(H8ZUV7`7bn@~20 zv;x<_m|+|XG}5DVXh31d?#XG#_$m2KVvq_!0&Hy%qb-yevfL9m)~)4Ih?&Gv4$H+Y z;rYUY2TxO!FYkgg}AV`ULD1Mwt zz!YQRWYBXA?I}tORga)w%&y|;8H`uD=t4OXPQv2Lo9*MwpbYv4!HKEok?g~f>v80! z>RBXKVZ0L*|5APR3c%W65N1)#u!EITyi0?VS$hp!K{!Jkbk(v&Q*(&3aKK=KO`i$g zDJEpzGU=VEWfJfB$|>V3>DemJ4-K6wy3F_{ubRVo<6uFfZkHp-n_g3+V&|yv8t%w` zE?QBohG=-yUt6=T2G&k2H7Jig1}6PX3;?lS#PMLWcY>H=c{#_LFex?~(z0g55>E6^ zzC@bY35a1Kh_0`LcG4*2T7$>1S6~8GF)$L9F!}KoAFi?ZiRF%LSf48=0sP8I;k8#? zCF+u8V&fy@14iGkSZC`&r%cAtZGo1RI~;>AuHLwHAi59FJ$PF2oc^B!(E~dNqEF-L#o zPbr>kJR|V*{Rn@A`4DV|Jgs=v;K|2x@YF-m{dn%j z(}|}R&oBIkqTj@GGoH10F2QpKp7*al6nzTME<88lxdP8LJhgR)qCZ=IDEc)#H{!Vp z&n!Hr;CbtsL(wPjbm7^IXDOaL9>+VL6?k&-jKTBjV~3&-81~&!HN%}m*6=KPygBvqCdm)RXm@@vm8&~Gtp=do;&fh;8~6*2hV6c_S4a* z)`6UyoZOtLIn#2c=j7$g$eEdwpED~rCpR~DYVNe$>A88iGjeC<=I73unlm+b>eQ*z zrcR%lH+9C;nN#zp&YG4pEqB_~Y15`npO!am#0lN2ZFj2%=7Uk2ls@}a?| z1Cg+hE3vWxi)36RP`-y33+`TpRQV?LUZW8wd9gZ$si7A_jnCuw6vn1UtOBFx6vrgT zm`&_>DimgU>CYd@R>u%uEN6I^#HbnkwzvT^WUOq5^%59dF--Mq*3y3uV#$O{3Rv%# z%irFz;AC{lFWqIk`V`5ct8`d7{Tce)<9W$KGt`G&X6yd8LItbQg98bgW0#7wydZQVwHgl zcxuX3j|D=~-Y7O#5)>6lUa^bBnVKjowkalI{Sjq3v+?H4_6}84q#wOKk67FqpB-p| zeCmP|F+a|(4Q>pI1$+_XrX{`1iA}SSR|kHuWjRr=7)rdRewp)GGvAySoB5KT*nIP7 z^Kb491nL4U+&lAQZ3Wx8L20KXosGe|hK)h7m4^L@hC08qzbf-dPp}ay8lik;-mr5h znGg&PqK}(su6d-;A8pwJ*a!1(Qag`QKCzw1DKMk~;Q&s-sy{Xw#ILF`P+7wbvOq;e zGuFsyY+(XITFME_*Kfoo-VyMNO+J}#((l+0Ro=`u=b1E7rLY5mrHhs=#`*`l(I%`F zc~$wL`j5)Cjy$@+|8;h1UGl-?LzhoTA2&7Cuen}Rpob@Ftd<_uVZ|_oP4uQFv3|w1 zK(Xbj%FE?98gMbmbdYKM=m1z;@MFob&d=$$Uz$#xJ!pK^>l+$CkAGY{i;aOgH^KNW zJAhw9IEy|CvD_5ax!}(MfKaf@+F}4W3@Po7myTQh?w#@&{$(r5%9bo$UR>laExf#V zsek$9WyQ;4*;c~->B>*Ir8_u3ejC@7-w2C@?y2^f;W|Kwu53%S56%nVs6>J>TjdKe zz=Nr&4>dcwLp&-`1}gmT1eOLtkfI%99D6Xz?lojwSJuZm8j#(!z9;N)HFM;QeB=!e0@9f8ZBqE!?@5g*~xw z4F*yd#HI+uTwP^MHGXMM~OBWR`_s=Vw=PNewYyFhx zBXIb^_=%1+MX!4VYK?3Q+(WyE_U8rvL$hx==1ZS1F)A?Zm&u;gPi-D}48{1tvimWH zN&T3Nf-&1wxh>16{pA#9hsAjMvuu(j|q<^Zmus7ftgoDqJn&)BVL$7v+k$ z>R)P@#GPw6aRxsQTi`gHf!5rh25_t+VkU`wr1+CkI1T~3CX5^1Wy`8*Ajd)M22*5+ z*Q-r2_HG^b<8V?%LvYthz{wEKUAs%-M2l9|RaGD+Sc$O7^M#(~d+R%(CPZNj` z1Ep*#s2Fzvp*x|?a;VhGDEV^4B~JEKDoaRZL6?z7ZAdfYa-eh^bRLSqn8u@ZXn;B# zZIM4|Ph#GX8XRP60)%nLAx3;z7>E7pd~lP{8xU7|Q5mcVY$nFIvu}uFxTtRe`Z_fp zOFOk(97iL(*c0@xLp78#;=$PV9piGqbl6aKgsx$g=p%-kZ}E_!>`T(Q6z8a7>{+!q z1P2q(qoks~_ya!FL)dPY|A6i&cQCG%HlLl}kMk*DU(_$pAUWc~x;768)?qf&DC8jr z6h|$r#W3;cP-SH$ix-eTx6jUaxFH;<^|Oyi6CnF|Y{Zgr)hPfkJRLDIN_fGqY!sq% ze#SW*jAt!=EcE+vw%HOrY#)c+L?AEIhKXg@UU0#lhYjJK$mKXZiw5cWx8^)jV3$SIR;+V&}{SR4}BSuTMPY~jj@amwd zzef2(=Kd!27iNH`gT+s@pET*QxHdXS5&1E7fWG2nsi;(zciS|ku-)A1Km#D*h5Ey< z#_3k4_u-NYVUID4D1O%l!f@DQD}b?aQq~8*EM^Rl6dNaH{z@J;Q#O<-&NwKu>6dM2 z4hEeCM!0ve&H@k6LUH;r-15<>b5$jHtumdjoTrPk>AoWYQ5F*ZPeR=*TQL|t|*3%O2f%L2*|aOkTS zextT_JkKVrlOEuyk6aW{)d{=rj;{{}Ly*3*ei;9n;AUc#O~cb%uuXNGLwO*KgR$}j z_97U75|hT2LxCOS_0Q2}4jiDO;|-(Pn>(Vi~#v1DVFF4ge! zmX<6p!TD<)SN?{zu?8IzWWo>QLXZWk!U>%v#l!RQ(x@tX8#{Eb5N(itH{^#ysBkxU zQkXxq9nZz%^AD_Bfi10l_04tuU~QdM-yl6WDfK2juHqb36}}*;V(4F27q;YzZ3B++ z3wcA%a*)#Jxb^C_c2%T!n=JIlKzQ0z8RpKgDshy8{OKhWcy;Iz=oj+TyX+5`UU9so z69RLJ?4aT%bjO8G0qZhT*pi zQX4IGpoL8}w4OCr!9w!Gy0`DiToR)vl)EuXO zAf7AY!V!U+kE42)I6wi{3~N`yAe372>k#2QSWTF>h1FLX(iDk7h$}Qr(Kf$>{%yRvh(_>}_gTU2r#`)a@;=*MRUjm4I71}{Dn4-tP8gUg5%%h#S z&?!#I<3D_Nf%Fad4Akc5OO+T^(EqS_DY&&jCiGo8am}rdyqA68(odiKodqvl zyH&#%{I&W|Z4VrH<&xRkb6&n>bMYlfpGdxFQi^5WgMwYvxaA1%of{5DLkPPOwlRL~ z!RS8Rvo+(>2cswBvY&+rcOGw9Pa}L9;RV+nj6OfgvQEDKV03gE&d7h}V6+qAtE~s4 zeF#5)R;_9HAf0rZVQxf2JXZ3xRw z!r2~#y$G{2K>x`D(OQJwQy^!Ay$Ih$*pDzZ6a1VCz7S@f1~`PR2)hs#jK%pMgx)g- zqT^0L{bxeX2wM?uMHo5@d?V~Z_%6cCvq8s+s1IQ!!d8T>2)hv8iLeLZZiIaZpGIhT zK|jLQb5QR|XwP$j4`F5&@F5H#oOCka5mqAXJrDdL3{3zW!XAWABh1XkStNwz2uI-3 zvL1xv5Ee`vh?XPlN4Onf=lQ4~q4xsRi?A2rINXZYio2+N2s0-`FA#Pi>_(U~1$uz6 z2jN)Uy%xFPSbRsO93A#=Pe+aV> z_RIoZ2y-q5{Rn#zo_q%2<{}+o>pYZ4*j+Rb?Lp`*MmsQl!9XVfEV zgx)av1H#_Th@Xx0?E}%h2s>}X`7STg?}i*1-jDbvf%g}PBkZveKL_zQfgfSPUm+ia zU1uGNmYs`wC*sT&Lhs~5(abEg|ExpNa)hCaa9#{y+3G{l<>L_#9*Wust?Ld&!{-6- z-G`zF5L!I2?T!VfO`xqv34S7d{+4fUw|eIKwp&c%C~PeFI_Wk`JO6pAR|< zK8W6jFthW6Xb$X9&siTvTM>HC`7qi!3HtT@Xmo_IOR#aMhQFk1ms&|JnMt1*Jur@h|(&nI2i3`pHI)6pFZ}ojI>Rut=6Sy%sziw7C4pVix7^jJs9;eLH&q#4IVGj z`&eH6(7iAYSk~%+gHfoE_%W>wPo9MFWP4S89IF&;4wzkED*BCV(CVD#%u zn46w?i)U{7*d58m>E7)l7Nlq2oKl#cv*kF?=hCx_(!Iz6$Xp^MzWpfsF6zoc~e(e76$cEy;7!y*ozCP0!w*vLHR@=HrUe^S6vFN-y^mj!Mr*4Tb61fN;>y zPxIV^41gLLrD^1`%wt)HQAYvZS;uzI(oyNDMIw)PczQoj?OB|jd9!Dk;GgB%ke7wL zsYW^Sau4!+$eYeQ{Ft^IXD-t5G;7l8ev%nfG0pa;A^`F`gX-A0fedqj1MqH@IQuvp+46F=3DT= z+KC6e-9q{7NcK^m!GYH2I#Zvs0ltegpzJDDHjbAiniWaQ(}2weEk7iz&@<0XXrz)f zXmlzF_9FQJVD`)Pr&G$#URB9Zwkiym)euHVJ8dCP>@`D7VmEZaHA8 z0Yg`eKjNxJTBR#32Wi(Ktz6?0auw|ZeYwHaI8cxxsUR@jRyWElfE*%tmpUG6(*@}v z&+pQ`C?Fe?`qT$_tMOoTIrTQCPq98P^r=wx`A~A6Cy_p(DEl6L(M-^LFW%XQZuTrl zAG;+P7(B(2;KKCO;PWV@0anlLJX+vkSR(p=>GY zg!?9bq=P>0hv9?K`M(2Oa2Vz_*2c#Ph}UY$!T}0{|#F+u#jF|16fnkMglb zTGrLg2cthBZHeRq3wZN!LOu)9%agyHG=zLEM)6YMdTQgr=op1d>9?@gG5sz|FY~;e zo&!QbpJP_Z*LIZehE6u)UH3EeSMY`YdX=LRbJM_;Y+*T0>_xc)C|9KFRdxsHZ)U%u zJjy-a9ThK-`DxZ_){|;kqel!xf68}5mKbBCEJG*@DjZ=Jr7bs7=E05;1iB~XP1&vi zZq7aCII=~5zlG!1juFMQWkR-MyjhT5mYfQEn!uRNPor#h0aqCFlj{@ExeTI_wU(rX zop)av$9wu7KD5bt*g{wP#%PG?|HAanq~v`dVrNoedKaEuNpsV?@$61oklvG2l)ev7 zFVgqp=|j4Wr$1?K+9H(jp~PHOVi8IdsS<^%#9UX2Pobh_lv(I1v%pn`wG^pZ3RNu& z(hmTCt0#oAo*NPk%&>W2u@}bb(UybJ*&Gld6lEtDr1vH#PZ}H3n*wAX25cAFrvvX2 z7X4X|52{C_>&#E9babzfTRbPtY#XP%)g0%M#;Ej0Cq zyxa-gWoYwV3b(_HcMS-VMzILv5Bv5$z&;IF?VnL+IEU{;+C5HrANeavFYv5)I1;+7 zkQJv18J-NBt1;&l{-o#=C@1U-2TeIzb8w^$FF<%FU~8Q^ggr)ASm)4KoK~aBwP+{8 zD6=1Bb~|Mt)SKxiY(g0rNC>?s?HcEOep;1NJ|AW7Cw(IaqR+Bl#q23;x_cbO03GKS z`qF#=??>6gshFP~u|FsuFy!e@=mSFNRIiIi!#_>K91-tsf0nXejl6e}_h;sbu}$zO zZCMXkTOioPm>kndmg_{h`><|MoS+;AXjRPTE+)pNeJHp0W0bS7Zt(m^EJxn+QSM!o z6LS;c2gH2Y<;XiQL|zDahlj}9jywx%BZ+YCLf(i3c`Yci7kR13yCHszH*B10(=rdd z&-_J$e8!?Q&(?&EJvXfk>4W`!Us@^ZF2H)%XspX{e&o_cG3JS}eL;Ew%t!WRuCcB( zjr}i9Ifbt&+8_Ad06sCNGW4d&Y5)0y+aKjl&iv@*EI1Yyqg)W=57JZGK&hui?h3sC z%}2Q~%Ke3W!ysZlumVGeav+za(Kf6BOaa!YzJhm&Ti6Ela}PVZ9Kyv6K-#jC0oI8! z_o2)}mborHb1~*AOy7m{R}!T6AblLxy-fK1NMDZhD~ZQbDi9UmwIAtsB0bD>VcWzU z1^x2o5%fCcI6CAMMcBvbFu41HBW71oe5IZbG|LzG7qsE!fL(+2xVu=N=qIoP^clUL ztECL!C!+P)_S*s53)s&(u#ndl+C|TmfSo6N%A&Lq=N;u($6l1n#@gPuopOomAZ$Ni z?>h$A9Keb-K&%zs{SnLTMwue4TOKQI zlR%uDm7r#_B3 z+|6uIrWDdUgH7w7y(OoG2>`}_s$zpTe<=JNUpuF$&f#_w*k97Qi9M4xktL!|5 zX<}We7qGQhzdc{sLN(Wjjg9d4ux7G*kp1!OKoVSLbO+f7O45Yi;&#&Kr&UWJ$8ATg zkPRLm)^D@M4MaDSM@YkSxtwc~{z~MvA@3FD0r_^%WpcbP@Z1Lar5z}dbM{WamSVj* zPw~3LQ{v2RJgtD1#1*G`IL(p~pXd^J$E4i{g2thm{lHU%b?P;&Q_fQhg?U<-o|=!O z1IXWs{No%st>j$XEvHcOGFY^@S;~U65Xw%6L0XNq>>8&mU8r;UIasGh{VrdXiU{vg>A+=TB}3}N{Iq~h_MwQ4 z^7o_sXHsPOTg|mEF%QswPjWj5%OAY>RgyLd#iwHt$;MjzBsJ!#`DY1jsORrav(PoQ z2wzEftkE9}JlpPe!eb4;3h&URO!PE3;Ty$T8S&kZ{CuqKuc7?WAKmpQPw>PMK;B;g zeDx&kNhqB<0`HjPdY(zhI@*D_ajwO*9<~jU1ax1t4Kow9q^*+=`eV0bKUD}?1pgZl+mYO zxEe57^Uz*Lq*b*S=G|{57BbD5m}l(*zP;EFx*Kt6&lXcxK9%mPPA^-U?kh|$*Z{?s zI-`7#=TWA>HxPY^x+-j-(l0E)IIz&K>yVv_h2#;~UwVcW3Z00pRfx55w@!2?B|n~m z3Hw4!@;TY(GC@7URftz2EJU0JFo6cnOA8x-aPv@Q8|trIfqgjIr=!*1m6W^;-8=z$ zj0<;T6=ER>SR_^>xA3w0>~~`PH0zJ`Yqbv6ljM0G zt0ARWrzk;K2(~vMT!HvHgmV%1pfwWE2PMBH6(C&VSgDG7t~APWjM)i#!nL@YLCIr> zN6*2XHLZ~6w)B=2>8+@<1-*t2Nu0LMOM@9tZz%=D{PdPWK-`qxQiRwt8T& zl79i=h7^5ZJL=E*=0NmugbC{xW3;jv=wY{^C#`_4twYEzNDW9JZul7`X#gn&=zN5t zciw~-uF)-12^?capNaL##|NSl68H$B55#-~j+3vUw!tof8n0FZS0(m|7ss!&2w4hy z62rwY=Cs8A#=yM35%YV)HesDFDf!$HXjHde)FU3J7lDL=Du!)} z2ZS$*DzmUR?mL7vBihCx#~r6#k~5A=h@Qi~Rf{JKe5uDBidIuL#+Vt~*MwL+x0)TC zu0*^?o_xX)`naV371nqBq3G`&`Y}Ir?|a7URq_cb3F+rnmzZPljKI#54@E1~*s10i zVjoNSzhcY}dAibD7Qn$UFn^cWut()&Eg&%?;T&F%LrM2ID8Px5P{@wNmhwJK!@Gd(x$`cZ%= z1|;;k6Ln{MvEDWHQ1nEsHM#m`Y>i2bkB$y_o>LvJMD;HYk8yn!%cBYU>VmZ7$43B^ zU2~->np}}&6b1=xcpd^xt(P8(-U5HlMN`aP#pF@Mf$wW#1nh>r;L1J{;Dsfm!Sf?P zl)|FS7bP&<9vC?auS+5#E-mOsf^u`#y>J)QUsV2gb+I66>QeS{9^tdXkfq z(s!b5x-h+Ch!lG?-c}-|3Sl8qJoO35!|3rTj{?0yfm%3Xhy8ER&~xpf=4h>_lTo_F&s9fqE3CT?IgNjifL_?gX`>O5eHgi<1vW zXO!srG2KypGiL9F>=&^o&Q3!ADgu{4BKoGM9kmS}PD;{}(+GMQK<6XGK9a|?94{-8 zP^HSEO8QJsf`(W!u$$7A82( z-g3xuPn=ojUZ{JPgcCBAZljKsQI}B{?q+LJDJpD5ovo;E+^HW#XD&fR`29wob?a?c za`Fu$(sv~DWKlFEK&buzpR8!YJ2a4=z~01 zH>7+OojobZ8JP(ia9-Mo&wV1vO5c~VEWJ17a)juaDaj41R0`%(DVTbt2p?-d>U??| z{;nv_JWw{bfM9*rCg!7XUpv`K5)-jr*fTkoqf=m>PgsaK3*lfCl2)UX2dnV=k`^OY zmX?VseA!r+`gQCa6_SR3!x9*lz_0{{B`_?3VF?UNU|0hG3ndUbjhiP}msR1E)40)v zBPEtsgqbRyqT;Qm$oy0luRdAEk5};)BY(A#KU(1%q2Rm3#v1&5t6bCCp?4~>-gG8KHe z5%--W^HWv6&!9Koh_|0A;Zqd+`9^*74SElp5YNy4Q8GS8mA}-0@8gGo_?@Wo^Nsv{ zM)`t6QhxWV_Q*EqEim}=8uD*DUe=ec>dQ6i+dW3+r)hc&d}W3_TX|p`zta_btI@uF z1CriimEUzh#;57HI+d@>TPl8r%J+UK;m4_Xxx#<8iWjK*$LhF|->1rJd|is3sT!Z5 zzrAU?J-mXiQBHfyc&ZUkQSoHe9?3?2k`pf%`1UJ(8lmdnWyrhL=wG&>Pc26K^(cBr zD|}@JKRHJGRU73C4EV8zK4lx_cN+9sN`FsM_3wA+mGW9=^jEKe?|ei5o;Ku@YS448 z0dJ}Hp04EImn_>)({mt0#6-1GY0-$27H0h-*b%kIHNtTHSm=i?Z4X4 zzugAE%|`j%ru{SI*Q?-lf9f*ixy!(Rg+b3)rH^{NDO34cUkVhx+CJ|x=xH_T3mNp! zH|pzC`gF3=hfJeC5=(E?TFKE!e)6j>V zhCDNk_OCYdvCGi6eFlB04*#;h^{9M3J{Kr^y-M}(0z;mi2L3jKUaz6AvyJlQ2EWHU z{78DdhQ3**{EYFZPuUM`FM5pj?lJOL8}iCA^l!XD@0A9(T%Qo=8XtbC3fX|{oDCIZJz}IHbGse(|Y{OqVpvr6g z+^ynT{!&8vML#z^^vy-*2{;vTrA<_Nq4Ywbzj6fpqOp$@V?Nkl!I? zfAsj2sq#lD{O=k0=Naw2&!}&;K~J~AUz$<>uMPh8skm;>9z$NX!%sQ17U%ID`|cI- zR@I(aivAvhzK4zax()ot8T9Qo%I`MI8~I5_`L_-E{Z-}b{!wn&51*k=`wf1x4EY~W z`laR7YWNRts(kHl+^6c-{n2N%*FK}ZT?T(;2EDd{KVtCvCnNulMtrxbPxrT727UPk zeY*_$b{g>w~hRrhCF_5!1tv{`=ZyE#v1L_X_Wu9LEoQ^ z`hH>L-(|GdV@CZg2LF#4<*SYSRKxz~8~yFTXvvS(hXSWPrG2rD{A{B?j5Xr_VbE_G z?U!oE%WLREn<2keBYvxazs1PUHux)0_Ay)8$1Wv*Z4d4=;?)YD_E%OL^6Xdsj_$u_ z8T6MM^!SYOU55QFQ}EiJ9Wd4tY!%n}J_G-LqkSGW^kJXM*ZhoC^3meKUqHiO=sMt{BAkYBl>Kjnsh)MDWKoLx5B6W@7s<3(rLuMXw`Adxm2S)4k&x6$Mb4KU%Za| zWP7z5`oGEGx6^1p%g~QjBfs3B?-WCxWd?s6jQVVY{^t$-wv1nriZ2^2U+}4m_%*4x z3glr~Taso;=RAHA2yH(hu!d?~jsjy##){U0m(6?UqyONHGk z>``H_3j0*puR?2!s$Yd(73Qe0K!s&0ELUMjg{>;=RAHA2yH(hu!d?~jsjy##)>c)& z3cV`KQDK1!%T!pd!jKAERoJP*E){mGut$ZxD(q8XzY48ws(uxERhXl~0u`32uv~>9 z6}GCdQ-xhB>{elq3VT)9r^0>}S~siuRp?b=jtUD@Sf;{q6^2yUs=`hccB!yig*__l zRbihB`&DRtR@JXUuL^TiSfIi(6_%?oq{3DecB-&Th21LbQDLtN`&8JkLh)f5NXTrH zba+*mqrw6emZ`8@g&`HTs<2aqT`KHWVUG%XRoJJ(eid5nvfiQo@7g+2WMP~TKNGI? zo#RB3Mwe75AzHs6%T4W*`PS)4BEwrO!x?{8=?Y<~iuaC{`P~YxTj5t=*5wMWRl(`> zwFbV;D&B3tY50FuxK-7ox$!B)k_+6wpyz*$0bQUGXr|rto;Iv(7Rp(KyA@IGU z>s5BDV1D9y4<933%BxcEx^%rm2=K&XggZ;Y^&AD?1;+?CQ^EBe1z+JY!d<4|3eJ^s z>zbQbeiN0wI2zn)g|GJCtYRRCz|5|0b_tr9Y-XZjNL~&JqDG@pQ7oEHur zS|8asvx`Q({C0KPzxIjswADL=b3fb;Y4Qs3=kxEj(ykyC{NegvVf{YMx+5*T)9d1CD0{@rBwg$pq~C`77Tak6*{f&&}UpdOV)xR^xS^ ze2(+O+wVL34QGGg?hi_L{FJ!AaOQ5QevI{U_5<_ZpP$*L%}=F?6r_0h-;ftGCh_tY zAs?Jh;~&O(-TKw+c>MOO*4}wHt^W-C?`)?1e+}~f*|huu^h!zO4L^_*m}hK{r-8Y^ZLGl=jeSSRgrrh z^|ELFIdM2JGqW$7I5gio-tA?RMgBxy?3(Pw>g1W-MP5AqD4IjaPcBL7w(i_~$Tjt3 zzIeQsYaUoh`29w$X}%|^EO$u)w%B25PSTp^l4f0#*GDSZ-=gG{Gm(NQUyQ!CM!S4MY7GAi@T5B(-kT5ra7L66-8~`Zm(LAx*?*H-{;JnNhU+{`##U__51$!lvlW} zdC$z5Gv}O{Ypx|%uA5vqrC&;lP5t$^oooHQ0+A1HPgPrHJHvX>d)9y7!`X(*C9Q)Z?THkHd5*64# z4WH|oweZ%9Z4o{cA{XM*hL8StClW&#)L=^{8_nq_u)TrzZ^ZT}-lxq1dPin9d`xIB| z?+Ufk$JX5kQ>aw!XxnGB{Q&j{;xiGSIrz|D2|j0uJ)3O?Zy&+-a(ouyGo0B4*oN?_ z#^*X_YUAOZJFvYMpNBX-fw%K`OPhM$ujB14yrs>3ydUPRz8Q&x8j5FY8HZqhzLp-0 z{fqJWFOAXetwwqo(s$uAop}|ux8ZXhSU@Ms2ZRFj|=`3tVX?exipT+6Nd3y%7*Wz<5J`dw_6+ScZ z$;5~LPL~_o3B1)eQ<0dg18x5z?4QHwTHc<=+sAlIn}ynbv$p@=-8}{cPyO!}*2<-5 z`~P2d2mKE#9nR$s`ybXzR{RJp!>R4-yT@sXDcU~m9%!T~`K-Z?14^J$mp+S(mwft z;**XYUUbkEkW9^ckKdm1=-XFa{xPzX{vCw_9L-ne-&Y9SzW8nSzWItIavn?~XG4yq$cN#gvUN%)#1_Pi}g`6)2KQKk`)UY^8mcP6m|U3lm#9@3KdYfKWm{hFlwvq|E1 zTatE6+1FFB5#-nSR^!FnAb)apSE!+u5;1A8ozmk%L zi>s?j>gwm!)|ZsnN(yF8FPUFfTeh&GuD+~x*7S*$)m3G)=3P=*CiD8vDJgB7SF)g@ zYF=fh)Ex(4dj&a1DeuHqt7D=sgqg7RfG1gFodFD)-4>7@U} z%CdRX7oj`4Ix)cQp ztE(24d*mGc%-|2cPN9sFNHy)Hyha=?gPIG0^79VU}8e-~82&^5JX_-(R zlKQeb5k=BN`Bn3Ih*8_;meti)*OuAp>T7FD%PHiAPg&pdD(cIXQ$(0huVu3&rlzb^ zGcUEyhNT9mZF235d5aT92BL>%DdfUEC728D;Hg6; zCsr@6nFozyZauf6w4C9Y)zuUYeORfm?DDe8m}O&A*v!g`QcYAmvQ=x-sw-%|h)2-u zDmC)NSjexbDXXGcMve?QWvWr4q|1_ZqE!?ntDM_VRbR2V?7VrkRdQA)XHaT#W4t-7 zXH*R(pkS;Mtdp3k&MTX@=-jdeWVX1flgh{#)92OHpox-+vY8*iU)eEW?RL8Z61JPL?Qp$Sl77C;MnG*{NVsiwUU}{+vO~}=?lN&2& zplN1NF(-^tTTx#&yQ+3xMV&YvN<++`V+I}eP)knWQi9wkJCU2pE|HU@*gumF6C6z3 zV{uq3t(;d!hLb^2Bx}UPlBkLE8tN!Y;*$^sH9)+dRi)wx#*qh0@!*V?A(Nk7JD-l$ zTFpsiG|3C&fW}7rxn(tFLLeChV=OvZl`Q41B~9rI!J08m0Euc)NMij1q6 zyTxq3xNPy_>dQr6$`)hrt0Tg6q^7Hc2v;_gGzup~22TyTw%VbY^qpOGNp(Zj{KD$e zd6i1>gb<@?1`}E>qD36vdD1PazM_n>I9X6tR0$X2$Ogvs;S4(5#tX^ZnBCM6V-eFE zD(fq1Dwm-A#Ms1$4ygToI3EJ37nqH)zES!oRG(Q^xd2r~7u2w#$!vC24Wh@;VMf_P ztU83vSt~lgPpY`QLU>S2w`NopRAEtrnIDbBy2g{X@F$mNd4+Z56$@wt#e6-xs;**T zRT*4RwNUsyX4J$~LDl7DwNx|K3b`0*Wo}{Wc;C5Q751=XVOiC}dOCPGbfgeJ#p-b?%4h~+nDm|#bsma%c|e_{6 zCygnqy1Z^o&61OHbH_l;ssF8_W2q>e)TI1h{nsyv^!`cs|6OfJ`v3ne|G!I=HtuJ; zP`k$5aA*b2ko()pm<_F{z^P|H+hs`8pL&iEr?cWOZHL@8^7Dm?f5hjl0fW!r=L1^} zo}-={GQ8$5&U<}&zhx}l7}9D|pz9IwG` zvt{`rgBL6N8{A^~H3s*dCFKMR?qfT&8r;wJ3>)0V@zZYbw)3U@h{4ZcJv$7(ZLTce zW$ki13W);7`*pFsb`nLk5luH!LwETKP~Gi`)4sv zH~7)aT?QY?JjdX>dE9vozKP?c$lzg~5B&yD<#AVI@Z}tz0fTq39a;@u!*&ZByolqo z-QdkC{tfO|_BVK*ntu%LQ}J)`m23ywGl}-M&64SKgYTXvxy#@;@;sbla4)y(HTX0h zzeNWBh5h9>csBQ|#^4iKPQc){=~B;DgLlo8JZ$g`mfvphROS(bx3S$i3~u9jtjplu zb7i}|1`qIfw>>NKRs2V0$aK2F!^~X<_cPBic!1;CYw!r$p~&DC``2&q$Jj452H#yG z^$Zw%Ioqez;1-t;8+;q{c7u2DIEonjA=anE;G0-Zm%;r!&-WUl- zr5pS{Zr5e-fQo;EH}d%P8hjhuxyaymtN1tgHg)_pxS#zSFnBM^X*GCQ#lOKfu|Dkv zzmoeEF?b%2>kfn0aQQBS``He?2H(W}vOSk*{{ZWmZtzxRe}gYj_BVJJk2|lyb6Ec( zgBS6<>NmKJ$5)NPZ)SZ020w-4r`6!!bNR5ryLi5BH@J)Sj~Lvm=6{1PWBFYMU&-U5 z*W~PX+w+O`&r$Jj@Ma#@E`vvSoaPwZVtu>@&sO#~co&!V8{Et5kQ#&g+3x{^x2xl? z!Q0gQV{orp{~P=Q75@egu$~K*Hu^j>iznpoi!Ch>hu)&8iZ#Q@v^N7KZ;PqaI z!Ovhly9|CA>(guS$)+{JP0GI$2_9D|?4a=Zp_=5~t=K9KwCH+Vab z(;9=fF%K9#o%Lxoc%zDcgQs%&c7vC*-6AGuIUNQ+jQ!GOa2w0-HTb72-}cW$`xmqP zbc6fP=J+@Ga<)T`!6UO|d9T59c>XLhc$nu6zrkHxzQ*7=JZ}UHUarWAHZam)GE< zd0Z43+{f|bH+Tl~8iQ}+b^`{V!MxSryZJmWZ18mUZ@a;5%p(RbVEG*e_cHG?c%HJq z!CN`rY%eF;Kac&AZtzGU$G^dsvz>Dceyo~*44%#U6dAmk<@gQ$0r#uM;3HXnz~H^- zNj+N)K9v0!Hh80oe}nJlIE)zFHAl+tFnBZ116>C1Wxw|tJcI3ETbXG8Q@OwC20x7Z z>oRx_m(MY{Q`z6(Q`ing2DeyGzrh>T{BQ6MZZ}}?Q7J z6YZbI<Tf2sAq!O!IK?FRpy?GQ2eCbmO|!E;#u zE`zrz`y2c>*2ngGqWynS_BZ$t*3)J1om@W0;Hg~RYw(pS{tf;e%kdlB#>cxFgXgi| z0|swr`K<>3QQ6<%c4dEq_i*`$!QW8!H~2TKf0x0REBhP#8)g4D67Ap2<YlK!R5UM_j24889bHC`wi~9P|B|{cpmeB!Czwgv>M#S@fkLFHv6&N;9mAi z#Nci0-wuO^nRgldS=Oi5;LEwZZB?TEeQeKkgL~Eb)8G-FA94)-I&-hVo4MU0gEw9* z_3#@!o$Xd*@YC5o0fPrveyhRDFP8Gd29NN%qTS#%EGJ^{3^o57Je7Hu!OK}rufca; zB=xbaPPBg~kBfAJTU_2{@H`d&2H(y1FT4h~u|10np3QRn2DjAx7lV8GJTzeNuGz9b ztp<1TxC@av2-*4?Qc(_37(`#@)m$yX{?O%McOs5;XOP&83 zJi`6WF?c^U{~NrE=gA_2Z}ZD`{RaP-)xD4*+@s(q8*57M#j)x+HhxvM` z-{AjJ_BVJ2kC%YKeH=fn1}|nk!v?ph`N!ZJx!s7tv-!BwVeky*T?XI8cJ4KJ7mqvJ z+C=-`$9_yV_?^sM24BhYa||9(*PjjUXI^CRF7~_M;M;k;)EN9j<^hA>!g{tEJeBt#BOJF8gLkl=9R_b>J9HU*CCl$M_!{=FZC#@M13bRc4esajHJ8DcEBhOK z3){zQ@HW<`$l#l}yx-ujsrWZ|(IryvfWde3@uk(^&8%nG;A^y%8N8jxZ;rv2l}fo@gO{^DMFuZs?l<^K zwoi@0pPkS4H~16GTMeGa^HSL0+05Gw?qhu-2G8K~9R^>{an)t;DEq6|;HfOf_GY5} zpXdIj8~oAvvYgA{7ROtT!M*HXufbD!o-8tWp0dBex2g4~!F?+J4Ibh7q1E6|mr4D@ z29K!qkHKxcUWyoe_gpEb!{A1)c$mxA z7~IeO4H(?LknL~q8n$QH;J34$?FLU(^N+#*Tp;Cl8NBT~$t{By{UCX-!5e!e-)->X z|444*_rj{@g1lTl)!=zMW%+c2=deB*25)5fE`!&6E#+hzyqV?X7(Bz0%PtKvbWT?P-FDa+*e3rl5;I5yg{%r=o zgv+lq_!8z3gSY=A<+!%U{we!6ae1%7J6KPj!EfjCH3qlkNV&@melM4|ZB1-<1@lyc zw_h#omSJ$)L|NZu@V2p%XB*shy_Az@a6ilO8vHrd$7gWcVH_t0?_fE8gTKsj$_?I; z!SP`5H@SSX!BzQ)!BZ#6{%$jP7pEFnG=HvV69| z{RheNc?J(~+Gp?xr;82l`atSYZtz}?TP07$ZOm>)dE2j2Pt}ep-@$fP?I_;KJe%8B zyo2YB9Fy;r@_hy$!tq~Za3!bM1q#ex7HR8(htYVS_6)c;4$Uc-KG~50=4y;(qlSyp`>|+u*h#Qcn866XWwwmXl#{CC6oOB`43| z_LHStufcP;Uw(rh#O2EkuF5wX{0J`JYH%;hZ#VeyTz;j&RrzfOKZVP88N7()+dfRR zTRxXhHMlCDZSZMaKF8qc`2HdNC3?`#GLB8T<;C(_!%NF|yrWgRA4?ZiA=ql=|B~O7vF_ z>*F=JkLUklgZnvMZtwu7)mF`KN}p!4JkPgX24BYgwG7_+m()LdTcZ9ax@FpH@JOfR zK7$81-E8pFmrD7|4SxRPl1B_4P{&7ucX8S>ct?NfuiXYO+9Tzsew^5^be^{}3?BJI zmiHRGUHQx4eomJgyo=YRjV5RL%?1xM4;y?Nx4Y8d5l(M1c+vjS4%-YK{!{kLGI)U7 zwSAIkAKPS^&M>%()7b_u;&Ga1a4)y(Gk9cx)U(*&e%2>o@NCv+xxvGnZZo)x<*zh& znB!rS!HYN^wi(>3?6W=5KKJoB$}qT#)7b{EVSVxp-pl&<4BpE66dOF9*Lwkj@8tQp z+2G+kY3H!P2c9JR(`N9l|H$$YgAX4k%WpDxgFn!5`uNwi&#u zN%l8l@UhDN2KVpb_&0cqvcJJwOW6K={X-qcUr_cpc;r#GzrojX`D}x?ZkFY}2H&de zZ*Xrj+uz_hEWg~~{%*Fv!Bf~i%?9@e*!~7TQN_Q(TPvmfh{0ds@|z4^v{aV2On#u` zyAAH;>o6I-eo^)h^L2)7gWI;sxXLrQy8hxbxVoNIZgBsVQlI5-NqO|YBqBU*VU2Ty zh>SLkOH0b~?HZ506B1b~HI7$Y#{ME2mm0{dO&Z55E@OWk8do-=%xxOSi$h|6T^h$L zE@OX|#_=l4*k7;4`Bft#Z@0$NVx_V3cHC|UXgpQp4vnX4Tz`*fhQ{^ZXmM#=e=l*i z#t+uy=V)C2?Up=^>%SZ0)wuq9Eukl`upP=#G8Xv83+dJ|2KT+eU z8mHe8Qh(_h&ruND42|o*q2to{Sgm}v#!u3Cj>g>@&(rwH8uw~k|NS4I#_6}_)L)Ut z$18|!vBpo;xL@O^X}nzH6Et3BhSsJ%AUa0Y2jZfG3 zZjH~-xb0u@_&;0YsTwcRc)G^V(RhZ&&(*j~<1;m$t#S3+Zj_y)aeCLk`peV!90jrU zYWzHn`!r6!AE*9`G=9E<*cNO2LXG=1ev!t@H9lA4H5$KIIq45rlU#jtK8egRGE{#`e z+|u}BjrVH2O5?jVUafK4yYcw1(RixHFVlFs#%nd6q47G6yEI;}@obGZXgo*bmuoyv z<5y_htMNvS`!v2p<3$?3Qsc!MZ`ZhA<5y|CT;o@3yhh{KXuMJ5*J?bV@#{3+tnq-x zTQz>Y#+PgS291X`zEtCF8gJ5gyT+Gke5J;3)ObYWH)(v6#+xy8RpYH1PuKYE8qd)99U6CO{7#K$Yy2*a=V<(H zjpu3nzclXE_&pl;X?(fHi!^?(#)~z6pT_+f|C`3kHGaRwYc&3V#v3*MpvD6le@Nra z8V_r{RpSq9e7VLS(Rf(nk7~S4@@E$W zf6bpYd!{e=hcEbB)cM2=A!kWm&)C9HO{#C%_WH?%!Ck&!XVke2d1xZ5AiBO_{P*=| z6$bxP7~C0k{&kk9)9`NY_MXYU;G2_kzwY_m7yP`C1Qy9k_QK%LJsY6tN-Esq{{5eJ zn=h0Xb=Dw_jAh#!_Va~C++2v2iN6BNXyYe#Ve_PuoFsH)mSm+2T#b1zWIDg!~Rj{d6cy*;<#(A`OOAd#3q<8>7w%LP}>raJ}_0*0%*q|BTij zJ$?K)^$|4j577&1!WnO3EH$wz>U@N1qUT$Cp1VL=1l@e_l&v15$ssHHr3Z3Il-ZsJqP$gqI6LzwTFmHhxe)H(SA|q;m{IF?vJ#!8w-2H zK`MfzaQrt7&r!XM`M%?&KJ^2m&N*bGrR$-+aPqqRIg^7M$QS=2&;H^Ien`%3gu>MG zF}~C6e+m=5*^rvMJ%8zcQtA(cOA3QO6b8SII#*5|XoJCnJFRQca?g>lXbaR?`gT-= z*Ag@aDe!A2_HwstfyIV|KZSeXr%a*Q?r43XFXa3O#mmw?(S||3p#451dOW`I9rbx= zU?^2+aX-oLW z=(0%T`>`UUL4}{F$S5jun=H~ED{`n_q4WAqE9>Fy;bDFsPoq;%D;}LZ9rnKpm;_%3W6K0r*W=burwO2KOB-?5|SR_zGYBk zIlCW0t*G-Ff-uL&-FJ|b(AAj~iy=`V7mpUm7;-dCM6ToI!pxjW^#8cYj+b^gUV49$ z<0Tj#?d*5m@u+q&suj(i9j(vIIA>C@8{0g5itzCYT9kjzW+$A?dzsO3Yg;F`%n>r(1mZUoU1b=sjDCIUYqznf005E>J5cjZQN zw@<=u-XxfM+$4lb4nByCTk*6A%tAf&&xR;8y5fJ}tMgp;d9{u1s3IMx704fF|#y>uVs?IuVyZrZ0;&*b9Q6 z_6#lzMyB0Y4J-E8kW2fWc2Q&{B zC(MI0sJW%<%L{|O>R^{&vJQvh>%aFQrnNb|DKig%rtwn|G9ru)Is}S)c2*3u4e{*2 z|ImA7fAr$|Z==}w)^v^Zh0+S=AtU6Rd(lAKns4{_wX6^(C> ze~2#_BE$z0#2=xFADkfmow=I$ANL6DYm|7u5I-5Br1^%}J=j-9`~p>fc3hj5Pa;;Y zO^K|b3tAxd_s$1_HL>sfc>(sxs?OUnHNkvG!F-NkX{VuIj$!sfXyzE^w8MywQMX8& z!k7_Aa*Vo5_|`G1DYKo7d#+UP<2jH+yxQ(gS^N-_E7jC8J4*V5QfUfC_H?=ObV@D|6LgEETz@)LaTJ46}@F9 zQL843mep%gB3~3rt*&BQ$;ex#c^eHq$n6TP;_CdCs7@PKB6U!yfRig_axE8*AZa=X3w5 zVYuN+o;BDjhjEgS0`fiAw z-oc9@?xA zV9Elnu*Aq zG((Z$s9rj@u-s5`ddT@tILvzfS7EV=bJ=1e4=7Mvo<@a2_7%b;X?E&6v<#D$!|cxpI^rX; zFLZ7PRpCT^l6{u5to7$FLhIMgfjsi_q60~5`rf?Kn!ZD)JNiNFgJt~}`Aw?*8sZ4P9x8L3-_wZ1`Hpawdx{8z(ZjJpwY0NE7qjTy z6-e6Y-IVZe1qB27d$;JFla4>sD{?Iy{u9P3x?V?{n1hGeUqeI6zna7Ur;c{M5B;r< zpM|aNDMHI+t25HcR+)%LWvj!nKg2$mf;^N)@$FlEQ-53b2I<<-Bj7bPB(f}NixI8t zZ}io93!C6;stW(p=o_@rF>G{y7=es2Q$%^zFPMsubW?o8HcliF`&Fm~Q*;tUEORt8 z%fa*)^V_wn;?1_4!Yt$4}$pi|Fxm2laR?Mx5&LaoAVU zLB~mGl{H7i^u+#=zoL|uBf1||7W(MNq*%d zJ8A(Z*-_tek{#7bt)p&4*1e2P#E!ay!WX&ZDC?%3qF+^fVXtY|5bD=<#Ly7?$M|3N zOAV_lXckzV($99*`~Ap*&M9QjSdZvkStOZz^e`Krdo+!cVX4(jPI8YjSu5_*18fcM z(GMI=5n1<0&ZQn%>wgekc!4e`(Wp5|bb;O%fVIFrU3iRQYxRbd$c3dsmUAhMwpbTD z+z@x+L$)M$;aIk0SgKLXg}Dnqa`(9lS8|fO5aPiUL0v0d>b#%QnSPBuWS)XEA-v#`mzf<+PY2bge1H zR*4I9G#NWzBSL)(rEMeYhn!!a0w&rs#m0UXwMs`K=Sb|SbG3cW(VqEU==0A4l%}W{ zA@u179fsI#F|AZ!UoOV$x)g6MpA9Xh0THwCvD|UC@FvQHN!h|5b22Q=@;oQm!cTFM zqoOI%!q;elZSCn1IuBAhSELG)*temMw4zvcTn~T4Ql2Fk^&$Hhvd8Lv_Q)0Q^_L5v zktjaIei%3{G#^DNlpg&QDAql%!~aNTWkN0Gg%Nc99IM=3DcHG; zsO7XHg$(=38B{!L4Wbu^{O3hw=SgIvP}=L*z*!9th1S#Py0BR72;&Ueh<$kxiIzrW z5?T^P#CAo(!H|xny@KD*OWnJ~QkUw>>D##(4O<(&6E^#7Dq1H$yZ58GI}~OeV$Z<; zi6iMHny*<2TGwB!XgV8Fy74JI~3pL^aN)ald*}iudj*QjNXj@>sa7j89Z!Eu5eY=+iVcFetz0 zx@24HiEd$>jwz@?#>o&`{RMeyQ2vU2H3;S*B*^7KY5>{-V!?*jgHwv>=$WD zPQpGy>ky&W`hK>sQ#+{Ab?mt5=8{fmk4^Uy8;3pkEGLClA-gNlbm!Boin?Sv^y{F+ zgX-ICSn3IKU&I)o!aNtg!F4-i?kdjRCX>}1S6xV2LoMNyvnE3TIc4bpY2>$1CqByE zccNc3=tds}w}k9I(fR$-yiei&fz6R^4Y7|0BJcbT%`n#7KZ@}Rr&>yO5FJZG#7*WE#b$kQi=j(*ta4BVn?3}d5-LD*vRvzU{=o}7$@J6y-_6ICEE_O z?}rLh@oX~AsHV&S;siBc7h#N@yLjE4b~-fp$#IbVLmF(zr)91qdqO6eL!5qQ*JrvY zgVwN)?5i`=DW^yz>NCBR(j%BkTTKjrv2r-*V|Ij4ql0wRH})aw>8GefT?o|ws3 z2MT=?EMz|e_QUmG{4WQKZ}p7>BA-ax=$l4 zC~3*$58Q4qC4qNKd>fatp_fqBMTZaM@;T2TlnkXEN_9id7r23RS#|Q;dTz)Ey1mpq2l%;-E#iwI8?fRJ>6EhaPGSN z^YZ5u1oy_DeOUT^Mq%jmRVNC?ad#W{dZNz#j+YG$C~Rp=5#+BEK!R_|qY-J?;yLKQ za6|Nh&S+HKWBW?Tz+K(tqp2|NAL2&cez*m^T3BNO?kD~bbsm2rWs1iH(xT2cxTXDi zKEeYIJy+4qB;(mms&^Oo z994MC153Fz;%+x?-{x+970whEb{t4n@Xr-mp;uM|6zLfnb(WFWVgAukXFoDA8GL&^ zo)B=?A+QSZSO?u@FFBU(B`*>2bQ)^n;f3KSQVi7!gI|gw6GV~5&-Q(m;pS|}UAo@I z_rb*jD->STSMitzo?e+F-Ro$kZ`b11cJB7cxjUwh|JBj-5_$kXqfdB_0g_Y@(d%%? z%~9ta=mI^AQa1>yH;jR9*Fd-RSai@G$`kPA0(nQ&v5c;JMxC{zM3?Kgbax2Z^oT~( z`3q#Di)VI603pcHw2pQtYYSD7x7(W^5mmnM1=otK14OSK%^`umwT^&W3Zidz=aY+} z%^+WNvaNfql6228BuPAa^9%IqrUwggM;q~O-Q}l#(ipKmM%MIYU)PT-z`av+@Hw=P z4j$^bVLpis*_WeL1Z&D&h*^3*s0eB5YZw*DeF*wa>rNzcck~p9$B+J=MGezns_(&l z<>}-9ax}RhOvEuPdof8wpOC)}<4cBj)VWX?rLmo!9eDc!BVLsY>1M3F{^DGSDJtQf zEX`o_?9tZxY~T1jj;80a9!3YQBRjOXz4vnmZbKULQum#d9o^3t^o)R{sPhV8d3(mG zC{9bMTEsKd!=y4Xgh|D|T}*c=Dtjhnw|K6^Ahx@TA96~qw+eBE{3#6_M*LL4b!5!R|MMZobDt*OARI#Np)9YK)laXJ92Px85 zi33t_=PUi8n&YJirm@rihMWB@X>Rl@e*mS_+9n_y_q+d@hYh)4C+c$677;Y|M^x4aB(}x= zDvs@t(Z8QqOxa&R=V)@;HlGwvsLCa z49ne~yJK?hEWaW}Mnl6Q}a0{Mhvp=cBLHlf#bv9)|J!E|$v(8jm<0y-Q zIqKXXv&N{bLntd%WIZLb4p&)w@hH>kbdl96vj(ZGuPEy}k<}oxc1;!5#A8X6Wg#%5 z&I@GLS1RjiWcil9hi-Xg&K8w(C*`zwzPXufx1BOuoa3mm7WcE({&-)-Y2J1Df|xoq!B>fry3A<33rC)WLUZ;hw2KP;mQX0yDCAqVxqg^0 z_@3&*fyigYeM>#lrr_d4{mIz#jibGE9Bc5rji)Jy+4^#PH3!r3u_!}R!B~3W#(oG= z);l;P^c;of!^mq`s9@b;UrDZMaZf`{dHi!Bz0_k(9%xHBB+@N zw7NeKVbiqvFA6f}2Qv3>oclKCJ|%OXm$}WH`!wga$lO+$yM%LZ?AhG{ZC>g*+e?%QkCn66M*%)l1PQPk&29n*Q zM76aroee9i+^E$nZbs6888ZnUIhEvxJV#?6zH&4jLZY^!_&Hg~T_^8c-aS_Kqv;QN zUMl4Ibs|Jjpp@wlQ5E`76tcHLkEMCG2CPdbA3-Y1ey&7rPZkc|-U)yq_b3l- zJbNHA>bwgbhcTM(q(T_vqsQOGGX>5eHj-5kXLwB6Gw}>Gyq6XjLHo0)Dops`ctqC- zh<=&~Ei*f#&fwuvq?bg#iK-DVbxc;RR8>n+6?u;#n5}=vJfF&&D)am}xLF~Ym#OlO zmw8PmA+K8I(K|7PIu4oVqxNRXyid>MyyxkWtdR3DN{8HK*obMKCY=cRFKAzr%SAWk zk!sFEWYMvD(Ys~Q2UXDrWYPc7No>fypI-D*S@bGZv{n=yaVL2uHcVKb~bg#_3Kqd?UCDHe&Syq~Omv0y7trmmzN zh{W{Z8g%MN!p_SeDZd2EUHd~y)a4L`{P#wP3axG!U#tovP~;PYOF^(V>KrdSP^&8C z%S!Zy*H|Z=vdkP+=2JW;Wu1T{S`-8NJ$h&=9mC!F?qt%% z^M{v9-G@bL)cG~37PObCQtM@@f2&e-eiL=BlBK4qQV+^f&#F>YqSSI(YLqI~C`$!Z zDeG90RVzykQKin6rAk$)GexOFS!xHJ&C{gSLk~)YJd-hOa(7u(XHlfcVZKG=xQ|B; z3S^4Y|Fu!)`#c(-8bw7rt=GJw`|o&!fYA`3P6@xmx*AS;9yt*3mAJS70e7%~r4T@8 zNmmL1?x!&Muv@Hmuo_WPUKLV2l_Vv&!Fp#JH7hS@%w-9AQbGkyUwEj#poWUbPP{%= z=rDt_LY@+(!vU;A9(Q8b8B}Gb^#g4~p5cgjSi`TiRUkVl;IyB)!R1yU%jS+wj7 zQgDRacVIRXvy%1KJ8`RDbP_4)d4NVKtp3+j5+(HyLOfZ$g2ad1=hAEleXm?hMP!h? z3X37@6fseHTIpg@5M4Zj6`U^=?6i)R5^N$$cUpNd3H4W_b~iaIPT|@fuH8LB zH1g^xvi&`ks{Q)YQTtKCAb1l&pQVh=`rm>#^Dm2Z^glblOH|!rhO{ z2%0IiSuZXvpf7bS@3Uj5*-q<1k_R))#1_W>6R{zTeU;F|d5hS%%dnBgZhbo*Pj)f- zJ$b^_8?07w2$z=p^+YN5Pps?Et1J?O*3yK!(jT>?LC8H=wBR{fDY$jG?C@ft;7;pR zDWN}0czY2EmJ;Sk36^x%7nsb2yINVoMJ%CFN_avzyweJ55{jgRTcw1Dl!O^9;VhPL zvXsy%qN>xHs!2FQN?1=>AitFdrKMxgN8N*Il;Zj~RExS>WX%77P1K!=ffIE zE-6YvJ4^7ggymAgy{y9%nuGyT!nKqY@~oz7BQ&6^Sb~!!%#jj)6Eo6IYoR7#EnOlC zxj&_>kmnjD;RKfOU8c0dP$|L9!!k>g5ReiMl>_lKCE>fF(hjRx!d6-zhTIcHjP10( zDv#UYbSWWQ#@O#T?-0FcV+nV$gjOlxcJ9T)nuI^)#CEyt#mh><0+vw05@tvV{}55U z(<;#96c`%4L*iRo*nH6kWKOpO}|hdigK+W$FN+F&@>epfCb z9UPCH3zZGT)VNz(@ON=_2wrUC+Pz0hAGFHao7o2s$7*X+BMq_cn@mey&n+T~+t6h_D znw0PcWraNQ`WH;rz!FYo33H`{YsG@8)2h-W9494|QdY>*bTnxR2`90HES7MXlrTUH z&Q9wDO~N5kLbuf6OeNvR17$CUvV@Om(FOx-k&Cy%C&A3Stcl+EO81N7g*keK-95h_ z#j3Qipf8V-vstTLL!OW5QVX&#*TJ4gza249M0oV54rEMbO}FkHkZ;=hbE zlU@@mu8{jr@&)2w>5$1f+ye>JiTy=qc3K0Zq{Rp^rOO=Xq8xmh)a6|ck2yjY*-(!- z(C@U?ip84ycoEH=*8B6R0jX|2H5PKG%lPdc$@W;DE)6?D=(5uakOb(|D3^UtVDQ7R z-(h{G4iRr3Cj{Llr-iT*bT$hb%w{=73J9Z^b-Wl9QjbSOb$g9tpbg88+|3v)g}7#) zEv~rJcQ{?*R@S7OFa zAr6M_A4pNU%KbEo&}ERbkd1@s$#4foXr~K3#8ns1OLW>9N;{VPi2HU3Ve3(03~AzH zNNBLFnWi*cP{KW{+#S}rPz$#ZG1cPGNH3rgf;xqB^t4QmTRR<%z)On2oB|f6|(v}BB0Q-ziFLc zi@Ma-%i`SS2M(mDbG0ZV`*H)%CU=T5o!0HRC$3~aB--A9Yg$C42jdHkn?d0k&ydAG1_q>%{^H9VG0hUJ=t^xq{V$_ zy|^M3b>@i7CAf=$dvLj1R~>G{+izmnM$2hei4s(l-0cgXBKnu$X0kz(3J?HbO01KCmMcl(n{ z(zq{+3Z81r{MJ|zKy=U0(G)zAoQga7A@_FSa5(PEG?F@$?(X9TtfT1)QRX9Sk64De z7pc~sgjFz;qFBQbQRhWNsFr6sa;**uDUsu7@`>7z7IH60r2Qjwq(N>|mwCV6kJk z>@U%4>9TB8C6|36mPpWgn_Mdmq9}fcf{w?)5YdKknOj^Ggv+juj{z~te#fMO@U`v| zGTh&&V4XyUi@9u@9mAF1t>u8ISO<#S#>q-!9jp-yh2^3khrQRLk)M10Rh&IG1i{eU^aM>^sZNg;2WmkzZA6X{~8Sam8c~{IYpOextm$eEzcwRxS zH9%{jP}CMKds;dBG0|P+6dGmc%Gx1v_y!SPDi`=-WlTJ&1FY!RxG%QmSRtHq8xj7xUn<`P1Ey^R;XqM1&ME=pqo?7`)x+^uvS3D+gC z@*RzfvRFDCLp57GH{m4RdPFP~<+_H(GqQ(|Ai;RF3xXH1;Qmr@A>MnEox9zd0QvO5 z-3PgwaR`33KbCOfhCCj1rYDZyK)bX~&cpL9Yw4-GY)jmh;PsOjthl~Jr9vJr=|<;} zJ7H#;R@ySiq@C7Be9H44wvcXZ6x(mD)x<-dZ2}4X3NP;^7;trTDby<%c!nTtNWg;>&9h2F*E#0w7z8LflZSf@O@YpkG zxS+_sYZuQy;`t|(!JKyv%rE9V3zsV}=Zz-~L+&#vNLoB~I7hag5uKH%y`PCW&;ArH z*r3$mB9y*Eho7X{!O1mv&=T+0irR%IN8*|US;-@t`T>J-tP%ANoULEtqT+s{%Qz|!gC^yyX5>34#?183oWK-A6rq06(pzsMAlSs`@o;FS8Fif$kWSYQ*%^PZ%We-lT8hm zy`uAIE2K4boNTIDHua-ez*AE<=}nF0rpmdgLuFGxqmnS-1+pm~XA@{4(&EXYrd(Q6 zAJSAAvX7Qc4Wm+`SBL9OZTv&_%E3)NOP4h8d=k{R9@V@N7Q)*k@c25p)SAe!szY}3#IID2(j)t zG>-*85i7chat16FwH(cx9MUGINrf_%LRZ0)7$5JDCL#Bmu>BADW1s9wi0Syp5U{Nx_S8?r2%G-r_m(R4Mpru?CWYpZirt zNgfLhO2IcM!JEY;gS11X;Nzv>UvP$F-KGidIZ$XkUrfGIa4`$saey>Mjuf1$1k3Aj zX=`K*ucgRs@mxiMPu2wAF9h3965VruAQn;y7XR@VssCNv%w{^MhSIj8f-uY=ss9DC znNr!zFF4h+#Nvz%GePQqwU96MU(SLHSa6LLe7zFfE-uQXrAWbJS$`6IxmXFw*!oUH zjQa&K@kqgEu;9IE(lB&o0UGBh!RJZAZ6q<|-a@g~;`tJ%!`28*@Ny~mCz_LjQt*F% zmZo@t1+T(^6oNZp0bz>0;!;A|*-~)16kI`q*FyyrBU7Z{SEyesxP=9mv*0o*_*NzO zaVdBgNyK@P6x@r`2Wycg_!o*WJg*~$vebAS3mzc_i_<1+KS-zV0DMNzJkx2ui%*=e z_Wzbno2p=`LOyL;Cr_JR5X)9+@;hZaK9s_AH;8nj)25X?g6KH`nk&LM5Yy?>aA+mFi$aBJa#(BR80rwkf)%d3vOH1Odvr!5<3QdQj zFs4WsS`rI|Q|JUGlvXbK?>>ZLUNuOh|p{11kK z70_Jg7u@|9*?=a;ap;J;Au@x2OJ_@BR=_fUny@i=Dn;F|EVK%_V)CG6R@&3xX>$o3W)EO;(RQR!tI%AkS!wHk^h= zouBfMIu!F8g2Y-ciaDLYh`1wU=_n!{^EwyphoVvEX~F{ZT3JWaKruNwUDAd5V)8{_ z16<)ROcAj5bFdw({XB#TYX`+;jI=${V~=7uT9;GL_~7=5m{>eNQ*l`QGz2`t0bP}` znn8gd^3d}TmP3RS$M9g{?pw%*Wbk!DPkF@KpYjmEomgcM3lp+JqB2!EAiwpi_ z@cXb(WrIIUt8y~<$wK&KzgP|md%t)QiCjkJE(|_S)-H(RYX#R(jgb3YvFP`#7S{uC zbFPX`AN&>LgbMpnh0Xg^5cqju zRv@7cu&w*InQ) z-}tV+@il$p1%2bQ_raJDY~6W%HeE0gVs$%hk@cOZ$cq06Gnkf3j= zZI#K(^}GsEPiD*&`%=4A$55MRDI${-5|g77lSd#)ZHk%)A|cxp$$om?uUH}FZkBC! zi+yhMSZeblMOKL zuqMeBMgNI}Y*QrvuIJq=>d7`+#J+q)C6k)GS_3B#Sfl|Fpcepe$m_wIM}_HOO`)MW ze6K1de5{EP)>l%-0cHk0!7a|!e?fMFq*%@;W{#||E&)sSEHiolr$3tNeozA^5NOdr zH9*gG)F_pw-w5uxOr_{uC_SYrwV6`0RjQLxQ&oyys?jrErDjv=c$F%n)CiTLe)c#h zCGEIs5k>%(hO`t+_u&F|Dm{|&GOaO}?Ffy-?LN9^hwq7|iwDLWO;5f_mtnB#*2~{S z<*AS;E=rx-^>q+^fJV;;73UlK2|AEnQYr&B3?W;{KJ(qrRk zajZTno)$-zgW_p14fl(u#Vq?1teCr<9`CSq)9=z_9~TmA-Ji&PTwlR-FZW%vPvMR- zBWeF7xqlSxKZ$)A+hN)hG5lY&CxZ7DQ4&30HI@orqmmR|ClL|hPH&_jf=AVC-RJ9N zP9`!{C#Ml{gK!-Y@L76^bEw3@IuWs-qLZ7c%uf6lb3&NNXF8#1?tWV*6!YD$;6H9# zjGQNsmeKwY?TIkIoAxNa#SaUJ*zUfbn275uSBZeGTO}g7a+L_-vQ;8>FJ2{r_B=75 zdWvG|1>nA(d@>}R%=Vl@d(Y6`Xt_Ct00nf<;jua*nHEbz9Vm_n{v>yE_c;1yY2ugf zPG9?tw+49DEVmA_5&qdF_C<|Dvo1%aNbCARf2@A{6EF{@Xy(mpZ5>L=^ zIEJ%yOp}rW|H`~RorLNjwUFHyL3#GiNu?AOf!qb&kM|xjYJPIBC+L|XCw{A z=q@q)NLr_=(+nh$UmyzcI4cCB_hr$WY!cp=^+G2uj$FS!16+HH6Rzvt+=DObXTAP8 zvRgcV(Iu1?`!3py-(8QNh_YWmIrvg~zi1bJWXiK$lyHB54J}e_zEOL9Yxd&jy?TB3 z`hNQzPf1c?s(9I#@rv}bW&zKGsAOx%o{g6uJcUdw6u!Yb6+)imq7B7iL zqZ{m(qg=||b?c~BPiVo3jw74U5?&f}B$fqJb8x43okB=^6VvvGyU?yEGKrQEQ+=e+ zev%+3L~!@0-YvURdVQsvMCnjrYU=nc*LDUsj^BIrm*d}ZJcJ)3+nUm`Zh_-Sv=2o^ z{rr$GH8-MVGlzbDL%%P`Q=0z8M*f*o`qz^lvg%Y(hJMRURE{fv z_NV6Q^=CrUqoFDNI34tkI!kdiz!#h-3Xy;d*Tri)$ls!K-*~BWr=YB!Oa5INO+mmm zOe86L@Z(nVXs^Zn{ZwomlQzNMDKH7%yMgcYXFUUzbpc+Rdb3wS@K5|$9$sX&^!x1j zK7M@}JsAaS{fg^`+aY7=ZoEEXHCdB?p$?DM(<@J6)Lp^nfw91;TV!| z+(hy49G*CfI!8l4kdM*b2=2u6-948?I7`r~ZcgEk@9{RIRipzRkUtRLw_1vyE{qq# z4b?5=58Or#jg2}zQtv@g=fSAb)6pt)>v;=}HIY?p^ecX=#$X5UIU?%?J9Bqk810JZ zN1dZ+f)ZD=>j%+G+Yq~6bk}~q^n29llZ||Z?-^jPXM0>5^#3%^6KL6SR|I>jk&Pb{ zOkLZMfz|yjW-3Thxqetoa*JRkGDmi9}Lnog9*<9bhAc|KRp5>no_hTQI znI?(}Lkz~?#BzG64)*)`f-`IA#BAflMyiVE{y!$O!CY~3(0FU{95|V}@fFzu>8PWA zh*l(;^;1Is0;@$|XcDpeQ3WGd+5a-~7m|tcX})qFu!EYgs65_(c$hEv6Wu-7OW)4( z+_0DOR-m%*BfVa2H%+E89x$IY>hlSjeU94^@hN{vl7Ie@e*KZ&&x5e|F#2!ABVNF9 zRfZt=%8VdqfOr$gXb>DSP)n6L3?v)6fu&yvh!@M@w853p~v_~-zbh?$c9mKebffaLF#WjoMBnA)@iU_)fzHJmU z82kNvPu1Ps1MWW0`(D56`tb+Tl~0{ir%s)!`@o6@G6tqE=uIu-5&jNV?Sbi`bvjZ} za1Z>jzH4++oL7>lGDKAx=3PBTfBC1bhVkFkV@Yt{@*beFEVTZvndXo6k^8JjVdSB_ z=3Oe+3}~0=kni!jk+C1Z@=eoxv=cn{UF3xFp%+?z?eaZ7rRQRE$y4j~9rO{7Xy3-f zZ%{kuOJQy=QQS#NZ|~g`<&4Z z3_*GZ+~nS-U*26%xiwmK{E5M4=u@Y+22`oP&|cAc`Ptso4A;xu-%;WKtMn)9rF#hV z-TI?=byKqN8wmVSs~VpY#r49=ocs8fIf)N$Y}x0H#`Hd1$!VfjMm@A4!^5V6x@T^r z;j=OQGcp{{&x-d98q#H*8ZragH8jsdtfnV+YOKkP+$EmrZHwEEnjE)~SZ6+JpXqPVI zJxR?0EW923>ko}=9nGXTF*qMRh`;iabdDrDVALC;GO8X)jv?Dd>e!I!?+2NlIG_3Z z7goVnGx!2mk))n?#jhe4Ow01~BdL$@mq4jY-=b}iQpd51dP?Q#KX~5NI>Krx zBDN)Vjm#Qr;f$L1RBt@>c!zPZipqNw`fQ0+TW#5Y(SNGqnN%#SCx5zLboA>*B=rnP z0PlmO`#bveAd-?(idQu(RE}mgs1yu7pPplfLdMSfmqeM6_b?R1K1B-poP zef|HxzY=?K_##+g9ec58PagI^lvn=`F*2le+y+-uP1=r1lUC6m9>kqoXr(xZKbRV&$kv+Xt-9oNl@eDq@BRIzT1a#Tnl_NmHd zv7>0j7GH@VysSIBo!&DC2K6IF!MnALStwwMz@B`WMMbajxXMGvTRJzTuztw2>KxCU zjJ95y*hJsChmqX2%G)c`tbg8gl-DJ@k6UdMOPuF~hPegK?&}@^W$xvo>b3S^|4iwB z)&GYqzpUoP{)ZL%Pybo}e!s%o`EZecK3^JM<96fzvoIo)Lc1>_%Bq)od^Kc_Tt>!6 zI=j>N;>+k9X~#D=tD)w@rWLk}!HuvwA8jjv%MWbBK94PgL`-k0^Ic@k8#%x^QypJ6Q`~r5~OD!|5p|(!l+_e6)=Kfiuq4-XZ^bV!H-RK5nK5 z3SH-7&Nnh$V2qY7#aX?y!2g(G#s{_q$Wsp{=nMJCWY3Uq(@?Xl zX(=1GodHqyQ}purY-{ryS0=ibV7W-d>gg(M`nOHMI=zYpYw^Q>!7q6IwjsU9*cY*^ zlGp%G`DQ``(wWu^7kBkimu3;(`Kt0eu-`J?)R)59Pb@$F#C(s97GZsT%j0&>qtIFioejjstW>J0D%`AwShN4O%Psy2U)xTa6GImaRaJOqp?y z**K*`Vl&SX4*$|q9hz1a7TZj29|)f`9kX?D3to#6HFD-topCAS{lfXvI<3dYlS*&m4K z=;MryB7HuX4ZsAPmp`nrTVm%pIP=j{NINLs7&_h-78|_3#0rDTh8^jL?VP}$Fp^aS zNj8&{p1MGJFXgMRbjsPo7{LihU0xp1=Y7Pfv+fz=->Y^{_mjIHq$nKl^Y-B z@h9VdH*2l&U(k3hu@9>GBe&D=|A+BMwimJ0vZ^9P5; z`44vE5B}5fzni)C{52l)?;Xznzm4zo*XQEqKhuYGrVc=RN3^8#av}hKEzy#9Fub%R z)}*v#Q9m9hxZXv6_4oOZKiqg1|G$s7(|;Q8%NcIGPxQAiUMu-J9QoQ*)JcEebTpFj z1;5?hgqGO)A-X2e9-bfJaE=}6d9GuLfYq@)T&8hycp_(r0VaobtBKFPbZk=FbUVXT z3FMa8@Lkn047q}qUQLW&2fm9$Ef3#-68L@%TmLfM;2Y-P!w&rq@O?l%gKyh);k%nG z!B=MRjn#}>VrPdV)Rn?lP)@D%!->9wiUfEZS>a%*D8N#x9}X8BrTSqDH{7-1aBpft zCHleZ;qq^l-x9kqtoN`wdbd=2psyYNY#+!HCyhB1Y&+4}-2&P0t^M6_I!|mmKzp4{ zY&fk-Qb&G0e`Ffn%Q<|h8~31a-0J@TUs_}pJx5SM5|EF6#4o<5qY18Fvc+@_(@Nom z_Q%Bn=+ESB$e+sFapW3uC507$jfoUV>|7#+QGnOeY-zM3cFHUxySe^yKZxE(%FDYY97kt2(Kw%8!kI5AKi}bS;jYZ^~T$-6gp#9 z(1SiuwM+T)$9l1iOqd?&KhxFp^5^7gLctzcXFfam`9zXeGQ9ahIR`13(*!})w|qOB z38#?VYrw5Lg=Bs1{uZgk76$4PA)PsG8bToZ!OiEZf?MGT#w&O?W{tNu29bkwAC-+K0covd{HUb7G=5ehbe!2393!bwf^8KlMR^Y zQnIE+lAj2E?+R8)9ce&|M3PHfNt{e~4D8#+3pM7t8fKuVZB?OUiYqZSt&(AdlBZmW zEift>Q7C!HmDqBxlEH-%#UlXYkP!MIg_4_H$yq9qmN?6oBsOs8@5kqRyz(OZC*+?$ z!KNU`>%FIx?p{n!QhL{7`bMQ|is`GAKA@PsQ0ali^r=c8Q%oPO^eJJwuphxL6CXBT z-lvVugOU6hFCZz+V*orgeMGfoT}@llatfH^eK{pz+j12yiZ}OdGn&mHO}96eUY`An z_T`y##YnubM}Ow$=-~Jd1HaA|8n{XO$rmWs`un5tgl()hAdB6{mNa1ZqtAJ$;*$(p z(2wG~=LCmc=S%FR04t5Qo$};W>8Qqqb;WN`XmpUkktWD}gx$+072gv)o*xH=6m<+H zuCthUzeb1)!aZsvIS6?NE4Cu2qypqPPCd|-{0SfK<4SsmGb6P)&=@&@{cfc^=`mgl;#q;odC{M$m6_+m0-p=`2K`1^{rr1>eco`?5J~j1ga&Zq;3hRqsS2(ZESa?jU zPf1qco3bFR&xP>xuQ)0>M}OYHsE~w2l2@pt<;cnky+YD0&cQD3`oBFxmCO;n(!Z)FE zcZO+wLhE{*1a~q^vsp5GGaoPp@EZpgLY{nd2|a}M(J$X{dg)aRvmG5@JDlxx;iq#U z@GQRw&v@b(0B^P6Xab>_B^nfICR-1GWcFBiM&9er5+2*0?=6fJ!{D0s1|wBQYmjUg zJB}jkD%Ag){SzU)no~Y{H+h;+?pgSb*%VnW+^=+#zhZwKk!Q-M8>10ts>mjt!gI0r zL%7vhiHSy2k!Zj+B0Cm>_d7d%O#G)cpO>3r`ng~@Z3zse4jo4yDOc}>5+}%iVEoT_ z&SLG}k@fwEMwW5`PX@7FK_od@`Jj&P@o+eeJyZbI#r3$)f?i&1@Vpwd z#3Ea0N~rqz%!5^8Gvbc$2X(-2<}|+GXOoEYx}`SPO_kYu9PyNalepOY>Whl&!QTI( z03^4|y@VVW9a(=3^L?)&UtT4AFc6~}DII_2qvsf&%72wlm=h@nN9FgsT)(-LbmAn~b}r!**Lpz~vGE{ZU*68&itzlOP(3N36e#!ElwM9{X0k!LNE z&c)NUO=3!(Z>s%oaS=(6JC779^ZglXRd(C;M4uv;*K0*}R$0jCUVlhmozx%6tJnKT z`e1DKbUtULbCpZvueZ2~nd-W4?e0w1#R<%9HWYyob5)r^iasdcLTspg+w)8(_qgXP zt?Lg?E^nh@KFIw&ln2f~$Q11&sms718&H!Q-#PKJ!W=fqZS;H%V>f0h`1Ont1>Mrm z5Q}?LFV*Cu%jitJsrVA&l>i_(L3Ak~RLj|kblIxsr? zZomyBVXMt7;>Gk1!UL)}U968=qf~`PQuk8?D>*e*A?fq3|umTXj~v6}s{ZP6~;$ z3JF}mF7c6o;R_W!J>j2%?Q|d%Y@^-6!V<8Jk3q-vH}P>zWCZ-IMJEh=^^8KW+=dn~ zt(Ant1`TO_PrC`!Zc1DM$bb@S5#j0r5lRj%$B+r)_Ngq$%e?-|B8-=-8T<*k62Co1 zzJ=r-tryLx+ge}e=)wE|Uc7jt{{B0}XFhtB(zEl?@Ax~^>%ZSZHZ6Y|+^@aB{}`{C znK(qBP&=K3^|OWA$yX%xo$18#pXeJA-n=`12=Fqt(~R>y?xV!k znWYNaKq%%U8uQUN7*(rVUE*+4v%8quZQb?XUDtQGu2*ioPS*{Tus^(tzN){n-Xf{b z=+p*co$+Igi6s9{_qNeKIvh8WY}Sxc@q63YBk{!b2}=_-jhXY?4XjxiNxo)Ho$p`} zc4A?7 zc&X=df$tGzdJ{}%Y3}piG8PYP0JNsMwF$kErU6}XqJ%Dwo(w!*pX*)n7`fNJynezKJsg~F-TM5oq40Qx0W`7i)X?s#rOwS1}H*Inw za|?DeF#6G#^xkM?-HHu?f5&@?t`G)Lp{WIA2ZvC-pw~37hRi??_CEoH+?ED{qW_+R z;eut<&qwd4x#>|SNUc^J>^;6ytO@8)uKcfJ;7o7cx26r6htF@eX7n!$sFDAPh*UGL zMZoOWzeqW|h02l1_9r3b%y>SLlhVIvHZ8IHJL^w$3?NGvjYQu){jf$iO=)q)#67XB z?69)wCf$GUv8d1ye@ua>X(l@iB> zR?!!hXBXAZGJH;@tA>0h-pWq=#ex&IlN2TD2I_;cS^^u>zXrSWcf3Wkta=cD-ZLOR z)z8JM9Z4y+$DEW4$qaT0Q!`ZM84GK0ZJs27(5kKS&q?9)JKHe9wNAMCtl6e|M$Z{7WgEqBtB*Waw*JuiG_tg~X-f51%|CBc z7rA>*W7|3Lo?mmlMPtOW4D}^bh&y@5Y06IAP@H{2=HLQ48>qKCLuu z6M5o(hJGp^-G(8H#CQ70hwCFmj=xQay2Nd#<>birv3#c-E|Mkm1%glQzR0F6Sxs9b zN1tgj;925zm`0lsu5an0-tA++%VbSVqRr%zHr;7s8_2Yg>W}+iXsKtjKiuXko|!1G zm~720wK$cEdCB^a{{5!`XSHkEfrHB-hT-+&ErW=}+cci%;qpxhD^M@F=^nnuOs|0B zEIU2GFK}v}_=^vh z0pc;nbr{0G3T^ogFlXW-ohjCu%ZgR$AJ=hyZ31At8rS!ga@`km_ENu0bUV`N zFHs!*((h(};?q|3H8UgQy30(sEk0vKSwq_y^?lE77fH#FIxw>>uN+{U=mrt*5{o;K z+?HM&Zlqs8`WPI7BL-fIB-hCDGjBHE1-hraO?`TMwNcnzzDw#QD+)`Zb1x{*?5x;2tYmXTNR>DiK1kmncIQ-hY+>l@NdOYMjJ z;k(`RsS8}1{QB$x;-~%2{VmIM8^TV?6y;l(603~W>`5kaYlt%qk{ke}V(^yOcy%v6 zf9xN|=P5mIqL|8-Skj8<>jqzRtQD=MXt+Vs1ys@2#;CP{QJE}>x62Qa{($cgX-HY~ z($FEkSpFi(uSILU>)uIyW;$*#&oj+4r2A!JU(YQt%}?1GybuvTZBc#AyOD8vEF^x~ z0^NviZ2OA%CRxVN{rbkH(S%DTl=qWok~>H}7qtw^H=M@G@tzn>dSLbP_>51=;xoP| zV@2!pO}y>A#hp8cXR{7$+b#U67Qb zQnlN$`;jl%POYSV@QrJfM00qmY@>GXE1UHl9*HRZxKFe2gg5qMn<()$u-bgA$p)hC+8v%_9b)$+bqeHq97T_w9&1wE307~Qd@o=YqRbyy${+a0JvtjGAV6F<|s!Hk<_4{SuLs&@t0)h-(-!OEr(lFgd zeB02nahKo(Fh;3f=HO0bKKiOEoou7kz_oVu5?M>lV@trhrz)MoPwQ}^QfFEBK!1Z$ zkCDnp|KMklms{!o>aWZN>P|_dUQZK|PUVY=gb8_o^;mfw1(STU=@e1FzaRQ#uCNtwN=bJRyoQ@f@s^3hS?K;}%&^U<4_8oruC@ufCh z$NIUQp_%nlrgU8}rAxy(^emaFjYH zE3#@GQHY79mfc^Y!0$rR#-BNaB z-X-=(;mocvbEbT_MV}uw{I7ypk4|Ak$bFvDiqMcbud-qwLS5Am-n(qzSQ_@s zg1Ld_(79HKJX-c<1mk+FF>70>Q$Nwk50}%v*8U_lQdAxB4n>``9E*t^66$y#(xT4gp8qnb95FG z{d2)@ifJ+(``s>n;Dfkg1t9=*zUiKoaNkEvJ#TFKHhke2H=+IekHBQklGAA~lFz0) z{1w#l@*rkC2rK_rvSiY?mcf)DDZ$RVGWh6+aHyEp_a`!+%=Emy%{hZW;NASA3i=>% z8Q+N!oTdxfe~m6Mzh_JBQGb-R$v*spUN8E}4pUkGk*Wy&*<6DvLzUzklktVzn3#qW{SmC?<5nBwZ65 z2i8|~3&uSkgGM~8y8&Qw@JB(8* zvD`n=iR!fWfOZ7&gBn3(lF&%Lrr>!h4Ug~T$e42LNAz9F!)sL*KHt%oALZI#ta4bE zX)m|(uNZ*-Q+iyE{&!J1YPeATx-XBq@=hu*D=B~6m;b1|O#dNM%Y9*HP-h$9I$z;! z@>xahCpmQkS4T^(z0G}=uk$4NK6C1Zu1-FBurItx8JXyPFVR6eS7-z5WaUklgbgSTZFBdrele>tsud*xDL4J5ekBU#40!60xL&~ zBvbiTQ}y%}OV>YtEz_57*L*9XG=;!H-*Wh0jo4W6^GN-CqNKfD#TYP%LuNEYUZ*9o z&M#^K{toyh5xumc;ZyMZnkm0s1ufB|84SK^-hh-_uZB@Dbx%>MrS@sEvws5+d_kq{ zJ%0%&@YkqYZ47tL4S6>~TQ zN#^j-(^?aJ8e%=djN{nz1z%=ac&Y2Eo=W(DiccW;1Z zzIrN*`JVQ(&G+$D|8c(Ui}TIjSe)-M&NN!BH%^#5Ziw&WSFXH``Idz0xcBlK((goi z_N%PZ;yH*4FkN@ij>(Tb86xXT3M4vGV zA-2dKLu1>h-F<^JuRWeWZhtXm^Y80Ll7}I`k?a4;|7QC>jL3=z&~SU^Wc2wF9idL^ z^u$u#!1RhZw*c|6vG@3G7LGL4kIe~PT6D=G)oA6I|8ogY1~9vE)a zmO&K*6yzsAhurnC&&Z57?~`l8rJ+puEnran(&coztbg8=U`xk#B#^ZqSMw*+=P2au z-t}P_l=%9Pv3_vJAp6c&vTtpj zNZPjxO57W>c(;+4;6yU7MM~~t8t^Ho6r${VL$UKFOd}gC6$DfW%tzm(Mrb`?b6AaV z4WLFGf0t@N_2ej5Y)BXS2gxLH{>#fD&BK6HMm(@;nNxG9&s;B(y2vv7L+-EQX&R|J z7C>)9#7_8^Jbx(Atq|)Fn&n~vc~S1Z-ih4TLRe_kQ29W|Kj!jStje}~sA6%5x4>-r zaN-;bL&vwc2`9vnuH|n%qyFdW>*&KYh2F-N*-A_$?Lrwkl6;S0oSW)p4Jf~HIa`FVYZ>uJR$bU#JY1*VSd4Wlu0P&=)XlcoAkj(LqdCM zy1^E)a%zj*+oH@3E{0UxPc}6NIXCdIV`SI#FHrRqz z7!o_Bq{nK8A->f}<9up6xMtm~eyoeRt)c2!RFN*>a~Yw-xTAVb&v2vT?5q*U`RNjW zu4<+~ae;gbStqGT+tkk1^&XUcXRE@IVpYgm5zpwupg5}gRkBFWkEc2N*bm0AuJe9A zf6&_S_?fyfJicljssnN8Jkd52`$H(?ZLUm@*^}i;;>>NnQJsTnZb+YLgS!3L!Gbsw ztF%eNq6brEL5dZk{1VU(<(<3m80aX@HE~Y`%ayjQ~zvj5Or4@y9Kx zISr<@+1Hm)DdeAztWtlK_X*37v2sWI?wG2Sl|2XsCCYs%D+t00Xbn1S0Z4YBrV&G5 z%`j}h{rf!0-3_OWm}pOgI(w=7mXZZ1j37ml!wiobMUuzz!-%uD&4|N>FSxIg(a1AP z=x*E7yxcEyr;! zJemIRB7DUk$<-M;`BueQv<;3SRkB}uLV4HY869e&IG|5VF%0XkCc^R6hKz9ePUPh}O|=>b#%rqWV!+i*@P&wt3;c zh5ei`BGN7-Tf{*J3Kc63|3sC4>iTp1 z>CLd}SIz;@4`A`PzAgj&>9WPP_?NfEjyqPCSnAfF;Mtz+pv_Ng7<>Q>)=v}mMgNyc zv8v7Bf1Ti#Gu^}v{dn=BrM3yPKl{+9P{uEP7edqEDE{@Pw#A6BoQb{*}5txC!_Ten=Smgs`p<9jAsqF>Uhs=vxd zJ8FdY#ovN2e>JHcJpIAPDy2L6H1I4}TFe8zLnt(HgX5;w{SyttJ6vk;6b;ZnH$r?9 zr{xlsOn*$TK@58onYco7X4PlWj{PCwH%hHDLbZ`ADXOg7!NHn3Q4y|#LF*#I9sGp) zBp-s$8qK(yu3lrT?OB3v@~t8tx_LZ=Vps_QF;{A6{ahM)Sv^(Ed+3X0oX*R zad~fpp7hN7Z@^+iEHffDR#r&M86mqE9VZsZfbaJUj%H8{p=@BECmHe_%LTmgq)Zd0 zI)@xMQWe%y%1oKoee30aM`CQWWh9))1zRvD{DDjdEN7p3T!WgCmAV6Z{#j2~l|otX zpkzJJ;JcHG;CGWetZEJcd{Ssr)`w&TlSrlYUI-bllA%pPg}z)d$L6t+xCB+Z9c)^i z2h|T&NH9u^2gXSSj3+xFAH9wu*o7>s&`V7+<%b9}EwOFBx3!)3rAXILyI$hHGj!k; z`>FaQ4$pJhDJLzC6k)_I2T&Dn4?(^U^NW2FXn|r)(=k`3-N$bQ1AwmYtzIO3JR{am z8?Ub4w6%OQ)?sA-`>WL9W|ct~n}u@G0L#MM@4&2dZWFJkl0S$1`e}kG$f%c0dEXGA zM}&%v4ae{0qjyp<_=3jTWrGGFNt4BUl-@3CNN-3uhH(HD_};x5Y)aZ$u=l{GJe%yt z+LEzc{@<04zTdo9xJHVrD1Xdp8~Vz9R2(_7?#O!>^fvOhS2A*?(%>^L(=W9JjAqz* zM`ayIG1J3@VWEDyKy86H3?)yg%3;<31l_09@nPy#Qn|;AfLu*_EfhQo^#0z@3QFt$ z%pcRdazu$U=Dfardd;VVw#+&maY8_Q2rEZctK9O{cF+ZoFA-Rm!Z>*fN8i3>4$7`!gq`&sCW z%4K&z+=upkTCon&503OZE50EUdkcRA@2i3pouHH1PlqWpWbn&eUQb6{$#<n1 z49c5Kp0G_4!CTp6wJ16)kGp-j62C^ja`U!{hH*XmiAkFbuf}C-;(enw+gEP^AhlG4FV& zl*zSQXL85eu9S(e1x4{YI$eGb>?j8bbiz%uGb*j%2C2)Yo(@ShBa-Z6$N}wd3!|CZ zML=dv{a0SqekEkr^amLZjOnv=VJBwAi;$6IV>sE}4Hm!!1DgxL4COj4jO&YLI$Lk# zByg};sLrtvVv~=aFgg^ML|pdk!I>j}qZuEXU2Vq?k5Mj~Bw*5p{Je(d{Q6Bx6@tj- z6r$X3(l!qzB!!DAJ5rJieBjZ17b1)KE?6??Kxgak^UDHT&obDRwTpgbV)MYEsor<3 zTj!8qZ)uZ(?K%#tD)M;xpr+9O}o3)y29O0P3Hq+Or1Myv5VZ816WszDP z?Z*a<#I1?@JkaeN&`m^av1VSWK@IZjS)RQe>~}=Y4|=98+iq9HiyHkZ&nj_u{;pA* zXOCF>?dqhcz|6{jR{yr2j$ZkR?Weo{Tl;CiMsIaIgFM#U4s1Ze{q&g-W$tHu?d81nE6EsFbK2 zeL12Yjj=!C2Uu3Dm}OtwySOQSEiBdzV_#h5Rr-@*S;>C7qNr|R`jGptI~g^S5(PV|^tG{`MXk(rDW8 ze!78v2d^~J?*DO-w9y+?{HwP=PuBQz7=`h{RaK*0fwCg{*sk5?BT3rJ;KXt%-S3%4!Y13z zASNBus*cSMy%pSTn+Gp1h53CsLi0n@1W!^soFDIZkRJ@SEb*_D*Ir^70s5@U#9syb z%OrfFvZrZG@CWLy_g!}j?kV)MF1jMA<>CcR>?C#YCMohmsWw@ww6~DNIerMA!?@kMM znA4l1PzHD)bI65e^$iDXr*7Xw6*`6 z(obnVXou8OFrIZYSlRcHk|xl4z+C!~r#UA6GF1>TofiW)ou}SnI#<(4k&id0a_&7t zlDrY@FUa7FAJ)|I107sS2cSnNxj=pFPaoV8B84Axqg}m6>J6xiu_{>Lw_2Fpd%Dw!`TVxkd0t73o2Vv#z=oMsZ@U$feX_oPN>aR1ZSkj3I_F#T_uRKpp| z`uHGy$WG>?L+EAoLVQ#0Rv?0tjyuhFij{X7eb}kiwURR5`T{Lv-pYH5BcFWqJe4{t zZ*GYR%YwB4Fl}P`c4|C*LS-K_q^g%T%J>$}EmF@+tbBB{l3D1~IMhdI;AN~Ugq*u~ zYEPh^RMI}`lov{yfA#j1d#m;+F+42AbR)?g)Y0}XxeGtcV(QBeCkMI)UOb5X2&^AWv$j=GkX8rq{HJ;d1($_rKr(Z+~?Dz!s^y_*1YyKEqyP{mOi1 zYt<3*=YPQ@y!}xmLfDn$8g*X(_;_lWI*dD_!y3M-Q1F_Yhcl-vZd%-Q)M4e zZq9(kmV+%mUoB>nir_Z_lLMw6Ay#OqJ(;oTAiL`us3@uLqJG5wQ>%@wmDW$Lc6XBj zRH5~}$|9)w9t(B!1fbwL++npzS9m@WD{18!h_cCzXI%VW{A6p8eQE+&^NM){YfW$g zXvBYv`{Hzd+3umM#y*-9--qC55v+o~U0Z+p_zxXfph7GC?X>$U9}@c0Z`;O6{|(ZA zL-NtB1t9`Bb|q%H)Z+K&IrY<0{xjRT_`GE0KWM6dPMenh18GKY&QNkuyu1!kQ(wcB zUZNgm(1TN~$;vUbQ{FQ!Z&svdvT{6my6J;|0*A}F_&nS>$f)fant$IQa?LAcB1&{e zmidF$@lRNl)B{xU#_Yd`sl7XKT&R|<{S$TEYqJ{8`|!B00o~DI%cU%dhnPqW{j4zk zmR22fMn!0gd(mKbc(HZm_F<>`uJ{vnHJJUL?}|rfSOfO;T~#rb3zc(rJc!@PDmo>; zx$DY>VW7l^37E5Z%;Ii{?mmU}G}Y}9x=89$)$Ut+kjj$hk;q36;kSr*5l5~B53fR% zvjlX*>mVqe)Q(F#{V!CU{)2l=@L;$GRN_sFr_r97*Z|HY@nfqHb*d$%=)|CTg=(t9 zY3{&utQ%(X%@Q>Hf^s@&nDbN*1ECv!9UBOjyPB2p-BL!WW)$_$IR;>>83D!=UvJF{ zr~HMT@?$nyOy?5DF|SxF-{*%kVm==03T}@i+v#8zmndVMDCfM6sb8Z8Wn)*GE8xh= z3JOQ45Ge-E$9?hZ6npo~;V@>ADYmCT;juVqs(;e*tWGCVg-%nu8-zMJrnlbQY{P$Q z5Y3c9&QPtx7A9Er!bB^=-QzZvzwU|Tw>BTeVXGr1?suEBlrI<8YHj{?(k%}c;m!GI zkMog1qGh1qW|fl66=23tjbzS_Bj_0*Kb z4Gqh#yvKl#Bu_C24e4DBw|VZScH!nm2;tGHAa>i{puh*S%B(5);^cEt+aF6$vi~dZ ziSG0E#KJdiksG*JiyTBl&vm?oJgtArY^|%e0D)TpSO!HMB|bi2Sgw2N!W!BKK2kt& zq!x&VRTXLalJk#qG^h(j`;>LZzSPW8cPGPS2XF?h)9p;s)`b$==oV4^%GvJ3dqper zC<(am%Cpmh2_^ear_~h8cN~*8d^E6Jd6juq7(7gzNLcJHx0`4U2{kP1P*`lvdZ#4^ z7rh<7YdS)|quSlSPpp3BQ`YewVUvPw;{ycsZtDFrc3py9Cti*dySf&7qds&)En7Z+0A^V#0muK?bsj7VSH`X`sReG<>ufJF&L>D?v)ORu{KZ%t=< zC59pvP7W~+lKN}4P!5%fW2y^eNw=Gko|MXl5b zP07Fb<=`<;MyUD}`n2&b1rfnOQs(uIV?DtLu_gC|QC^tMeQ{$3$UYV2z;Q@}{@C_6dq zy|D1xuu$S*Zsd5HcPng&+x!rHff~al9;4VJpLPIqsYjJMo0QeO zOQ{1$8RDBwH?O-U2$~{iZHM60PaQ2jI*^|f1lO9k6sixTKezl~uctPqIQXmNjG5bb zy{w#INtB{+J48oPH^Wpm&o_rKm!rUHYY{F` zCfJqfwZ?PmHc$v)t}ou9qYKjn-_dFHD=s^pCQ{~mW??fpH>}cL*e@sx3w{cHgT*1I zgw6Kw&64&iO_90PE;y6XN}y=x>K1z8j8Fax!-fGw)XB(?Sc+F<$Hzu;2iQ>9>ocG?Ilsp}TDQ=aFO5z@{pd z1qO669MHf=yi5}W7Xhm8s7f7$Qw=_%ppf#F?{X8*N240(3TVf>Z2aUsqSo;x;nSOg zTlvf5VSEYi3`z#k3}a`Y8RUuC^msBbmRia$9m6lcs1w(ib4P9+Z3cUreRCz*wk*s) zQB4%%K57_8eFSwKrRCf1_Ux=*T9FTsB^f^S+gtXuf<=iG&CV`Fimnb`zMuu?OVs(q<)v421@D#MjBh9@IgRPHBcxY?n>U$yIv0!`>(1E=uuE2bN{+ z1$IJ0056A)*@tfu-}ndfe~?0!&-!=!p~L+Rn2g|Q-$1!- zTUWq^A&^fC&zabdI2Vm3v#o5Mv;BdLVhe%B#S=7#3Hxh$SAmwWx2x$*wyA$kl`ZSr zl)@&d>#Sr$o;I=Fm5uehFB?Xgy|!e&$rs^AHsYG8c^ZVOWpL0eZdoufoAllMuuX|} za`F*ju(or%?o4ffZ{N5rd&!L^X+RfA9&b&!;xNfN(QODl^K5!}8-5huk!fqG!pkwb zz%ENaUb3B?D|9r^9=!H-?K&4G6Yi2WRJAbiC7@321@E(X-}(lN_ZH8aGS8*7AAgxq z7^eKl6QGthjV&EV&(zM2R>jG*4&v@ky^< z3YP-MGp1>*)Z^0dnDMBW)IIzT`WS>x+@ClW_$&s4^Ix>XM5TuryawSs<~Vg1H__(T z7-@sTME`BJ1=BfKZQdbOvR^xfJag!;&r)JY?r%A0fs~dUldj#=a3v|fuPgtV4CgP3 zZU3tI4!SeD0*9S3%{c4^{qeC9XTprQ4qi7{Al350bomEe%KwBKwL|C)iVNoDyxdKY^Z!#1ism)#nvSe>6FKW&UL&a6USj8g{FjuS%3WIgw<1 zX;;=>J-ViFNP~NAh#mc?*L1moyQ2s9u}JC(+ExFQn+KhY50)Rr$P&p)5FXE*$RP&0 z>L1jC-lqys-j!?Vc(x$pvGA7IWe!H2f&N=u%ky3-h0>Z79m_oYheGOH|D(hHFQSgV zIpp)t4D%J3lDpdQz}salvAI(;(yHvUE%3`4@r&LxYl+?A^Y2!^6dTu5IsT3v{8AYl z_YZaFKL2P8yC1#!M>gy`Ii+9B=6UPPfU}xcl*18;-FO_GGx~4vyXiWPFk#AHySTC9lR1dHSm!iROsdVo`Z1`a3)8s52I}^Y=(n z@AzVPTwxRcv>~&XzQE+)s}Ro%sd{&Y*95pH{az&Xr6po-jSyO}M7~sSrY8~?%G@US zkgL^YR;$$uyIm}cVO4H)O7p@q?w}F_U_9$AV!^B31-uKt5-fH%56X;vRe4p!Z%0CUu zdAFJRLi%DD6LO&gpd0thsAlXW66q@mHGd>J@!en;O11AZp>GB2x0dDc{j@J9t~J)} z61jJcuZ><1Pb9fgRivIy2bkbggNXUC^WMgI64E|Q6~bpG@yEd63+6R{u)Sa&e3yY* zfReK41eP&ygjrZaQShDCDnEY(ahn8~&*AjLnEg*CoMY$}xE3oXK`X1z_m7mWFQ%VT zI#a~gB&GHEm#=@L(q+`=o{2byN3yy`QqM93cd_SyTzlf_a7%l9m1mE_WoC?)J=lKj zQ<>eLANDF4@lSLa#y^G6HZ-rS@Sjg8Ik!K(k|(>~F8Q89e=&zX(s{`seXf(+b9r^3G7e}f$&$!EbB1U>m8 zzsop@35S;y|4K#gw%?1&;a1{TH7Wgy*tHZQQYRI63gbbN^bu=uVlV6=z8|S|MK2q9 zi0wlz4e6~bgE}LO)&=zH=7Ug7Zy6m-QEjO7R7+PcRgX=RbDujtu<}bhtBXhU_V?8N zj04sj>ZY>@0CLHYZ^|#FH?-m@&-it=fpqwU{PUuB@Gs+nF?0evpAfZ_{pvQd74jPD z3#QZ5!GJx7QDkq8&|K{{lNEI`o}GSOW|Prmo_>KlTFJ3z^)kUg)unm z_$Yfd!x)ZsWGGuzx8(;*f%`^Y{t*AYnGWQ#UXjc_&U*zwfZ?dOzRHaBws>GV&~Ny? zhU?%{o$HrXHs{+mZ6Q`^S6~&QC0XiVk2+{Iw|a5*?i*}Dc^|z%-^y>bJ`hz^GE%&n zuN|!Y0TB0Cn0){QUj=@N2A)Rda>^N~xbcXAglC|hZ}`HVsd|~INd3qj)58DzU7G(u zJy{w_R)|$gJ{TgjZeH?P9O>&%2YNW0|Hvmg+2;zR^0G%N3=;Q*#Xc=B_*=4D{~fV$ z9}3YyUpGv+L`1Cnd3s)U;&^SjK9!m*-Bm7iiwe8S(i75JtgZzwadC~&<~=BT7A1h)R2D#pOUk9i3DD6~Z(=as4```{3B9gL)B4|Z@O zJiy?7{n9wg8&O${;SD=~z5$fL=a)WZXDDW}pF~#BgLc?cvj3@{d(g|-=XN6cv)Lu9 zvKxy5Js|etu-99y=n(p{M3Anf1Yw;#g1*r=#Ir+MegCOj_BP!6hHMd}Gqxhw&fatj zjLH4=PZOJI3)uwi*i}WXb-%)7)vU9*pw0v^N2gWU)#H%LBiwv-Hn99)rl%KrZT=r? zU~NrzN^7n8!66e$#iqh@HuP^Z}5HeVwG|B{iN-pFA znXUg`H*#8Nq}*u=hwLMEtDt9|l;d2E?-l}xBeC9Yo1Hk4U5<>ZilO7VZ}K~ohx~Tw zA*FJqT#sv7U7f za-S#5y3H*Ld8w1lY;$Jj>3q}+_(uFka@|I&cPpc?LaPz}Fh1=S8!;J8TF`kRQw*w} z-q?cgypdWWHs_j5|F~nJ1opOFGC>E~)}FKCJu0)>?zLXRn)FRQY&hQY$7uaGaacg^ zOv2je>qC)t?1gx%H{|eKBI_8ckXpP#uWd3S=p=z;p9!}qF6J{;A%mG`>Jyw|#PJ6bbAEXP)&apk-| zx}Oj!=k*>Og%`xCmGio@nKjaeW)pN6peE+LzQ|lb$tqLddYCFND#}8gt1MPY?QTk3 z*Uy7$|H#1}7m6uaq`m7}H+{I?Qi%%bWIwTH`Te_wMMt&E4f1r8mpnC;{=H9Ncktlg zVIPESY2_<~ENar5P$3Lx{6nnjTx0F*ofpk?mekDK7@u*I0-hbJSrtjyy?SlWnL_Ac zeehgx-V?FQMn?iZu10xSU+}X|wllYwnR@N51kA;yIj-3qXjs)Ai9w}I*Mid23l%yd`Q?v zFO9`4GHztK$zDzZCwNl5BAJ=;z5VbF>1<>ATPXbSb2jb>H?9kIdWJ3=G8>rFeS?!u zHoV(=gSIH^k~nOjSJhxdcV%2&ElIC zantZH#rvK7Eb3xsFNgZhZS?GZ%atqVGg`?$@4iY!-1+!y7n&`(9maPRJm-yVBr;Db z@S^=h6SRwkv7;Ivj;*{M zUEXX}{s)z1idCB!&99e6lA~l)1#$j_Xz!`m$Cl{5a>JEeiNQ{@@>EyKy}RoGP!g)M z{nV_W?CiqJAii5ljZh=n>r&J}{Kaarr3MoxyuWJ5$dG*gY+w&LaN9S0w(39v}1-dr##+(Z+QZ!GF?M>|+&2`HFq?#k4{3md7f` zsDZ0Jg0sB)&t$fG=QPvnoHGDg=XvuwNy8vVoso=iH~lG@tkp*mHDxUJgRN|4A@N$8 z7YvIh8ljL(L3yPO9#ec)yyhbg$ShrcT%FPfpds}hoDXS*E%%0MLRytIo@(ROmIEKK zy>YsS?Trw&gpF@5%;eXqOB4)iy>85>Icj7bR|V}B=?-RyB)?QGg%H00RlQ^2FJLR2 zVb01+J}*9;LaCAAVvfR%>5Gi|*jaX9IFiX~W6ymRP21_nO<0cJSY%s9@l)V=jBBD=nb@#+0O1jH7??w0jUzFN(^8;U;~lvaZGDz5pkjbyX-hTm|y;yn^M8Xj}`~IOaa$RL^=* zkYdN&KO55BdHueIsn}FIGh$_1Rzi>nWe)t?>Dp85F|=0bikjGwfl6Ibc?w0b9jI?; zFi~qupArlxCPo`eq0w%*0QM9+)w*Kwk@NxeiKmHs5|tG~DGhnHNE##(r;j zjNNEOypD*B|Kuh(c8NprJUd!=-!>Gi+}Y7)v}%h*?`x6g^a7_gdJscqC{VCR0rs`p z{vk|>v=_b z#TAn*cYU0v-Ux)>UiW2Jt4z*pFFmjCD|q`=RydwnCtsf;5D+Th6oLP3Tz5<84Z#GSHz>|$k9;{KbjF{ii`Y>E&#Df5@J&Su2c-;5eU6%j(FjgBvEbzwSqNKT|f z!32)$Ja5HAjiW0+PNW>u)rAFD_yXWFRaBtLQN95DwAN9(P+HACtgo<669I82U zi+2q7){tU&@%9NeASv_X3{0;I;0cZo>T@@)NF{M0=tE~sjh!y;>J@n(CLTu{aj!O3tw;4Yp zDYHn0Tyw8glrr7eez8B2;eH$meJiW2OwiCj$@iDVh-?ipAcygy5Y~7te+qXaQg>^+ z5Zg%>y1)B*4U;U~uPrgWa_z@AG|%H+?eB?g8Z!II{aCpFvKQdFvL?I#a+#>mQu`CV zX9wWqsa~qS2d&o?YqxVCQ{KI{%L?+%Og(IQ_w*c_k};(Gvt|$XWVK0(cvLuo%I+iWS!`?Bto7!0;F?a_%n8d z)^F$m3=~US+@slfgoaYv*mrm7bzuUKS zvjV`fEAfkI>)OF2;3tZ!mlhtmyi97Vf;B9$mbH`^WOBAmu1_m;u%Gfg97!I+L_Cj& z_e0j~forXBKjaJ6O=bA|A@YO2r}X^>pG{&O>40O%lKGpD>lsiQ$>!Re;Q<7w(bAyx?o*%!O=cBU?W z7KLO|rdIJwbqu+O`#ScnCHg{_UaWuC(MNP%rSv7m^m3&SDW(@H-NVub(ln({2DhHxPbl5r(n4D@_Os2Bq zw_R2HN@^Q)+bVSqDbuZ+Ds`DsCG-qU)YSQcLMT{SO|_Fr5&tWsNs+!JuP*bc(0oi@ zVV6)3nCL1-|0Rf(k5+mpw+2f8-Ne+IZ}7iQb^P4AA8TCbDj4A@-*kgbU@CCbvow$c$wxW~PgH|stz`P-KTNheUu*wiH7?cU)gN`fC zWu@lwgwDgfRFu30I$3zKe0!HQy!mu{?-B@#0vL4B`HXNrf(pS85>chjQR;P4hJzE7 zdLS%2M5%G4bX@KpM(ayf=@j^GEKK(dXW^WaG6AXH*~5+%!`Z$v^$-l_-(Q%i#&bi+o>uChko6u=YCBTcTT`2jYrYC@ zW4>m>k5#F}s(?hPpwRkUDA#a7S3#_GwN;R&t9-Oh{R~w<%#odBZ_>q?Tq!&}{US9h>4m{6_m}&?>ZYr@2}vAW2@F%O5_Ya%quQ_9=->C!4B5qn zq#%g%Kp{%|N8;Kk4)!E%Tsc>%ztF4M!OttT2_TvIZoS=4mO&kS8&2p()zU+!`RFAe zDdY@^b7}(tk||#;jEYP{fjX=Z1UlxHdw!65_+0(juB>TUK3Ypw?j8J)G=R6V_aChp zxhrMem}l;Vf}f|jym?k@x(iTqFAYq87TnJG`REEd0i481Q)QzD!x>jBu!MdJz`O?v zl(Q|(x6)b5+U0^b*ih#eG(A23dD^;AT(>Ury;Tv6aeA=RxmtiJya*t_ zWAbFb!Mi)6wTGVrYr#>l|Je6fo8=*y6lRv~dKjP<1Gx60DLdeZxN@nK3=Gi<=F8juHD^4T(jeRcM?Lp6td_6Pn3e^b3o`IFRge*c!( zk*ox$BE|R~#`r;_t8zb8nBzF@ousHvRL4R=cIm);9y0X>gzQ9hx}|dGSZ-5$^Ri}l z0A!Vqw!v3tFHt?kU}ASw5rmM>mQy1)rJxTiD&xwP@^{J%BEqaBPHY4bX_*0o;(cS+ z2=nOo!G>Xe405Q(;E(9wMb!Bhb%-2`*BrGqDXjzXlZS&6EdON&L zmPrGJAGAKu%CPYLaSKZRRlw0`?2{yRktA?Sw=D(J_JmLOZ$XuR!slIJg<-@`_{WtH z!;B?apPna<>Y<5BCD~zph@$@T4bD_`XJ^Qw6Ytq@~5CJ(Xd&LP_iue|g2H`u)yfeor4LVo4 z$A0Jn*d_e3Z>8&dQ4RUF8kWeaKOFWmwO=%V$FAjla4I+A>#DQ1U z&j$0oA?pGJ_J?6Rn=E`9Nv;Aqf>xn~%{0Ef$C>htdx@U`XCmRv>LA3z!1V9J+a;Lm zb~$HP5D+{@O8ZeP%59WZ)VNPaNIObq+6HyX-=%y{~P1wrh7jN>64Xy$=MGQrD|YmE+Mk6vq~iEi2mX{g4!@v1Fx2+9t8;!j5@>1 z=9HLV1UHdy{n>n;Lmo;(VJggQ`MrM1&oE>VFs%~&WXeAl1GYpvUTc1{f3ZNw_i0PS zE?{J;TCs;%pglyd(P;KRz+8x5lPBB#T>Do~gkZPy_pf zP@9h)BMh2aPaH3gQ|u#oJ>*J%2CBm87$uy~1Gij#eHt2V*< z@CL4`7t?Pd4ls$Gq{vgVK}4YcJRjy9e;@$Wi>V*-zm{i{-bVmes=l2#nc4BnK)$h% ze=qrD(U`at<)%MSwBi_nV;0PrWCowGeird-`G=Bk_X%H6na6Ya47eMG&0{CWhwb;Hz3pobg#Y8|wJ77Srn>pM#zx;@E825EN=%%dYY$lx z54*H}%I})~3==x$^Gl&g@TJYt=!5z@3|IiNy#umu5y&bE#5}``$h^;b13yeG=*zI7 zK2W_QVX~&T3{y>i0kiXsUp}BUr#*n`3348z3oq%J9)HJ^VffpRRzce^RjodfRVCUzsm5vNXhH0RT~_E&%RhSXB=(|3j;_xB!u=&VYbt!?s73PQg6_;py3{)7c$VJ_ z^qVL)ywB(a(Dr5a3Hc0k&fcst?F_!s$gB@eWLFDLma2BaJLEgLvUt;v3snBi@(r!a;YH?s6mn4+1wTwqW{*&@@^-!-;|>0Q?dzOrPAiv zb>Y%DD~to(S)IFMp<|j$f)OWPB~givB@d}bX!?%x!H5$Oj>0{8-H&tga&e%1E3>_Z zl7-};$pOt&(VBH&LwGuS&IpB32Us#NZHO!ov0$qZS^JgnbMfeZf{-c0eG7Fa9H41E z5=Vt)itkl{ZR9yRT~fS{Zsdo3EClpPrk8DVpr?G{K6(`+i)**zbZr}83P4yS> z+lcBZdr3w9hj9pgFq;3QpQQg_>0m?p^7?9((pgtd{HG>r=c}>Lud_q4WmlG9z6S{~ z-$?}U_s4fY+_*okO=*$2CP;3Kxys28<=;3oxPlzwLa9->59F_5v#|GQ1I^j-ZEfOd zFGcH;0D@Nm_Dlk+!XGAzjWt8r+Z`^nOZy(X1q0)=5S!CTH$MTG*4kEZHe%S;dHu2tIOs;q=DpQ{Ot0CAvn_^02ERo{a9^Ay%k~|q!^sqC zY@MG6%!V4pN}G0kh8+76VhO0<7eKw5C5n4K(1&>i?u9%UbPSDh*V(k2)V?#dxOdCX zb>8O*zsIee11r|fe#JVka)f`P$DSR;gH1WuM<= z?8MiPwR13&YbiC@LKq~wZfdnhfZ!L|;n4(atp~OgaweYqOII>&(c4T_`*!SzaG5u! z<92}Ry*W#?toH5rf^w3tDv{u}PaY((CR!GOJl~(W@S5zitt&>7?|_c_m$f?g z*KT5Zf3}qVim8q_&Gi-vzeN`%nKDo(Hfm6;Q9n}Euk^2eWuT(`8>CzBwF=XfA_nOl zOD$FkPta;oikjd)0FApacCo9iNcF>^-cnmXmNoahVHlkSKi$+W0&uC!g{?)$rcE39 za6xCI^NR>eqi*#4AJ*Oj%*x{W<40i?3tlXXXi!#z2}V#bTmzDgtaZ^PE|y5FXcA+G zB#WX^LD{RU*H!FYtTA@1vF(Zl6&rR@RP5Z>1+jPC|L6OidEa|iO#Z+B^Zb2$*!xa7 zbLN~gXU?2CGt)p|l`ny0-pDS2>@9hbyJ#msNC|=oYtu1&d6A@GfHi+~Z{;Xwj#L;@ zILhyLUE}Mp?{^&Q_z~it)`IGupL<=vUEYktGmh~zy#;^LyYKUx6w34S$&i1~KZg0D zJQOP4HyW#JL>orDGwFkNtwJHjFjiHi{U+#0Oq^%BdNh{rN3qnSQCfE1>a4zS4Yb@f zxjRcqJ!&wW|I;zcdS41kgXCbeUpg+M?;Rz%Q=09lhG0&O3R0y>eo&gNYiMHa;Zf!E zPV;i*Je;_h4roajEjB7!bXb*TsBNyDAZF>*-=f)>)<^wuU%T&KLerzux^rLear5f z)Y4B|yL`}3KM0of)9os!(Q#3z&=4EPzQ2G9sa6>zHO4(?b`sP0amzG5gc51vGXtzy z_%CAPbHtjc9Cr~cH-28)`0=5_l(2)`S-rl&%SRuU7YBvr`=jvO_a6W!)Qa2jjWuW0 zhL5|Ta`+l8U+3kF^O@jmug+ZKPzHKK0J`O{2=rR#3!0?!AlDA?Ydom8LrZ@v?iceX zY2ynP^|cSQv-*eL`sT1I_$pMCMmiruQ%`@@2rXxbPg7UgyHhhpF@Gj=jkWhswW}td z*Cd3*7i<3o7aWZ(y99k0Hah5OqhOb&Y$sDlbA_9W8b|C;wa<M`tT>xC@*h{z@fE6RR-m;vn6x!_qjJ~A?BME@vR|uf10gtfvCmfQ91XjdU06jftKuSseLTqE&aH$5)FJJ zFicE|?Dp!FCf;{aYJMc-iuv2wM0At8h9=`u_bp(y1!fb=cO+OtqXw&OW z_^P%U@%fjnQdtkH-rwC9)l;Sh7lz}$6_~EXmKc~SSOy=Js%+&d8YLCzx`!)M&&|z^ z&DHoKccJ?rQ&}9Qg7NE!t_Np^ZeK~Cy1S_v21fLidyA-l#ik;ys(!U<+Eenyx^~ls zM(|xz@-cSDIQQ`5Qs+ksVhp<|(Vh7*E_zKx(VhZ$cv_Sq*9Em3n%*uWvYLuk_H0|( z;qb(hntuba@YM<1HK-C)3QHfVh|YMBAoAhVL-Po-1h;2t?ID^MLMNsP5URGbdZi3I zTkEc$n|>$9D%dm=OM8~y*i04k3kQot$n~XJm4K$3dy930ievb)4qyc4_ZuW+X_@zr zS4nAF*~r++Mve}R{5@@C#7{M{?=p>iVv4wtt$wnR#Xj*6d$Lw&q!rh+d-6h7rJ^UZ zz3Qp#$v*ONhn~E;@=x{T&_O{MiDo&WLqiZ9K22~TO^ zVE3owDzJZMhFt~GUXDY$%>KKy5fg}Z^-4cQG#%y3Wb7C>avZWUE-MUpO))jO<~C$(D1hn4(7LK{*dL1b$Zlle%ZPnE-RA^ooTzy;wv%)8Ms#?ER?QzA9`UJnGv^q|)GD&Y^;ia#d(zW^}GbEs^X(QMCbDz$9xpbYn?!WTD6JLRog=rH!~i{RE^2UOmC&8%1UyA~M1^Un^eSQ(O~{#PB3yXgP^?9HLgPG(k1-b4sXGp`0B7&YByre8~TOCv|jtPn9<=CsKYSkW{;r9 z;gEXo(w{8tG-JuUi-|*8+jy0BNb?$6`lT+KPeDt@3InAOk=`DFl=@s!A^SJ+4xepOXYKX zyPNv2+?UC9Jk30k{Kb9|IE~Uq$Z#tieb#%#CD(pn{sfmFkgU;IM?ib=HTnqaTb?3L zmM$gVcW9i+FqtUudw!(PK?Cd$T!0g>!lV9mUE3LQOGOW%{a|(+Y>K-?7s837+YOy7 zj?LEiDI@?-zEumU7tz@qDk^&!>)Q1AY4Q%GD*5wu=8>cdcxXe~B{NVdjN|~SX8SbA z*)^R#IHn*utKc_XS1d`9yawoyoFh7A`B``WOB-r5#A~dKGfVq*l7F?cN0j$Cel{UZ zbWXPD(tZG2*`?$xA&~mxjN8&5fVXRe2mFQlZt4pE3DOK-=`1AGmY-yY@-qM#JDyKmA^oP)awN;Q9N3uE2%hKUO3GKz z|0jW}PN4rOcrioihL)!)QQQ>LP% zek#zbYcp<}t3Gti=up>o2{>C>rFD~!-;WGhQ(z~VK{QgOuh-lGxvAbyNh>Sj8TQqP zde(r^mW&=@>*=v0G$bgo{lg4e+{OWX`!|u>D}uQt;tEod<^9DR1_!mY&=gU_`(G|y zp5J(|W+JEsz@gdXA$i=(B#7P0Bt=IdlFdNjf0Q{-WmZWku(}Ys$9+b&y6fvbzG!ZA zO9x#;$5fC~VY(^kKdUf`EJcO9jtM}p5$KcN;-uLf>EXnJ#xeLktA4r-! zb1CD_Tk*{Qva<7cLgS%G4Q*p+)U(QDbkNTEV4)5r7pi&81)Cx4wKS7UdXRX)rbWQ# z!?)>hvFbv^roKh$6N#!axv>(~MEUC+MXH`NOv;1Z%})V{)PXyN7GU`r5xbro_TfaM zuy{fw{`G|@CS!R8;=WQ+)V1B<{!_t8@%s?r2VybpdX@P@mKJw~>)M?D)mtiymB(OZ z`V9~uVDcHq@7N#vTJ3r;5H-iT5?D5}S^KZNp2#3ObCj_|8A;nomD-Mm1H5+|vm}LK zea_lYPxHkhn9j@psE8=Ww2PsfYd)VzjFQ~9@_CPLaf|cO(leVOO~vTI=$!4co+_Fe zq6H5d*BVedsGrKo$J-3e1VApPS5I44qxqrcs8ND4bD( z=@Ib&mFn6QOhJQM3WNr~{251dHe5Gt)t_An<4U^-wj-PN>)*_F&R zWJ+}FxGIQmax-yfK~8z$%jif*B^*7Ii4>G8K<{KHsyfm0 zap}`kdV7;z7Pr^y+HNv&k;w(gi5zJ(4MJ*iC9tJ{QsMmEL&>AnifMcARu65a-;WG&1bhrp%P}klM-ICDCs{X?`D(MN^L(m>MRj55V4MW|*Z;8}C_4 z0Z>JYZNC8>&ziJcW{rePUzJXnFEIK-Mw5%s;X`Mez;$i^7VCpwcVHaGD)6WKepR z_@f@F+#qyIUKiGp@~Q5+Mrb`x z4jfW{>)Nhzg^E#ghw7!IxYCVTO&g)}ooV)7@uRHc+@7ZZ4?sv;*A@y58<6ZruHw50 z2QS~*KUpW)8j8I>$K^-V#qU|3|G6^q@gO1}8;Vuu;-#rC_F9C)6ld67-YF$^spmvM251X!wKP2mI|&e&L3HIAf-8f#?dnD?2iHNgT6J;M&=(x>!n1976Qlm zkYWFr^FB5~gQqPoI_q(YCUB`ZXLX5CK%{FF*RxjKK^)~>c-&w!ovV=3VmyV_OKd6T ze}I$tml*(QU-ni8v36SAb)#XNjgCV(8xU^zBI5h-Fy@*a?^>+=N44BFgTJ$1mHp*U zb$(74_Ps44(j`!W4b9YdP$YI6VAF`aTAkLbyz*{U2toP6*)(JKZoI&3RiJ@mI8}BH z!EQF%;_hqc=yIILCd239KBXHCBWu?O8sTpI8b+hJvmfaBK(4ScphfxtA0{`+2L|vvq@XK4q~hr#_arAW9f(imS9JbUIz+rDA&BE z`UsSjgRgQ+lins2%8;vIk48{TW1kMSa4G@_Z`j@gYIt7kd#NzQT&_lr5Br>5;XG2Y zcc?12G>U9}MEOzr;AaT7_|Q~rz8wug{3N9u{ng>7H8eSv?PG0Eh)%li*%AIy|Gkq( z7$}*4#*5IMm#}8}4;GvJoiw`@-|AXn3Ron~{8LdL!RfE^zjJxs-4aqFYn@w92h*Y8 z9|jXcr?YxhFb<<9cJNNB=lbj1P~USbdql4(V#PQbTl)=R2v@h)4&I;GsUf3d)NJ$n z^xF>~paLtl)BU3Mh2-gkEg9HO3d`gDW?!ooZ`ql|HPb9T_FUXU?_p%u`2Jnmw#>$V z=o7XaRB_C%TAU`WC$ZF%yTqi?A`A8v0hx}{T;UJ&F!_tSIf}kxzAoy3Zo85Kx6+Oi zMh~Sj`r6-ozsh~eI`zOADt0dP(eWwNf+jt#U)6b=xs3kNEh{u_jY^obpP$o%p2TZ` z1lW{5SxXFvcPx)4n9KXp;H|CkLY;ny(jR?5cYe(m_?Zq1l`zizvm%%rQv%(QvYN7DG(0HKg^f|FhL&FcbrsXT}X?Nz~NRQ|$ zd#60ev$~HMl~LqZeJts0&A+{;{#0MtD0CdY{}>s_LA&HESLg>oOW_C*791rfO_?0S z(Ej8kP2U85z^|OXck;KDn$=rYbpxta$T#|BVTtn7T%LEnB|XULD915eA>D;zVc-)vwn4ys`YrZTlF+dKZw9KxaS@GejqV zH2!;c<4B1ooi6iDdI}}&SlXwgCdKGp0C3}y=o-x0ri~?IHKa1lEg8BbtMY~{`Siu^%0yhwf=KCs zqo;+eRwX)+Sz1o#@(9S}g!RTYC@U-%zoItn;UQh0!$|eQ&QPM`$?$wi+7;{zguqiD z(dHNJC|b>iZijR$J=QCBE1no78Y~O4B>p2XJof(B^`i?|h=@iu1H$=;a z5zN2hV;@sIa=ca?kJVT8rX^jy{uK@CKP^6#^-TTXZrIl8!v_wq5uhOeq88SNlHRNz ztb;yO^3w{X`oY?8QKebHQu(i5r#yIm6ktE3yxB2tF?m$=>k7}rv^PWA9F=>MG_6NB z^U(Rjo9cqrCC9JNmAt65}53v#GYx1 z{nHYhIBAEjA$w$+y>&TzVmq`A+5OV&pO>=_YG-j7vcHEQ?m~}p_W1Jcw{N7`@5$ky z5sP;u+9;au)9gpe*^PD(xNn!G*?tEi)FvomsU8V!R$h$4o*rv671g_mQCJO%fFhx> zTdw&l1W>=n@mm*4>-Ttm&x*ef;5Jo%EQ-@3gPB$~8YsTJ-bm?=GN0#T*Bra%~)Y6fMHQCpefta?Lk^ zZR|=glENiDJqWgR)$2^}74cR*<`9!(wFE7ImOL_#O0#`sc|kkbHPU>!INlm=B}cNh z#-|xwG%-!?EzWh8X0PG3guOLiITDbai0BI#V&54qrDw@7U3@|ba@E+o)l4Vkj|!&0 zP`2OcCbg{&UkXKVi|y{{qrrdpAvjE$-&4LGv4xEf!2MK8eMp5(BCaChofXkMj@iGO z8%+qlNO$}KNkt%O$>OUE4PGN`F4BA-L{3#f%SbO&_0HL{4R{Zn8xyue7XM8la4ehx zj&`rvFuTs|Vr&K<+c}QK+m70gsa80M~*ITL--opeDyQEb$y=-*q0EFARw3b8)q!=lh9XjPl}QG+$&|Oyzgf7`$;Qs zFVd@mfx&1WZu4&t7|y}R?hLf4W1c9e-|HoxGL?&*$@DU5DE@0`xxo`*eaqPc{>`^0 z!n^oO+`8n|L~k0W^~#V2`NVMqdj2Zz_C`-k2Gp(Zvu~iVXnTi7gzp0HK8f3ksO6!i zEmz3$JG1GLFi6Kh&p`9MX>P}gP2x-lS93<$nKjT{!Lz%FX1wm)2Enqn!bT}UsZ>hd zGcoCQen;pX_95$OUE{{*u0CSigtO1DnyBkiQ{v|3CHKb23R}R!*=kN7&8`*caG=ATV|941>>VnP!0&p!C)o z{LE0tdKGuim;EKv9^yI6*PHs+hvUYK(%dANcI-&QYkqy!99qU457G4y#HcdXzpTW% zyt2srJ^uy&`(EsdfBRVJEY3~SVCk2eYkTosKfGQxqmNdX*(qqY2>jTD-Yewhn&qj9 zC1kyoP3RG62{{I0iK!|96Brf@x3$v}>!&5Un9yGdX9TvnQ_HMir&gHIucX;;ma{8N z=zG%a2g=zMCiF#V_7&yq3KRO+G<#Y(yTXLtC(YKaeG#?#xT3C0^Xkiaqqwbw`4rYa zF;eR0t@_s6J(c(nHV3+wD?P|HblT-_OdpO|N!6J*>(P<5+6&>g%q42sxkwuYU8v$He-_U zu{`Okm(#~5zb&V4P);A0^ev~4E~hsppW!Tt{aLA;UY|T;CknDY@;PXtHwY*1-jWb82ssUkHpAXsUg=0`Ep!hTeEiuL6b-N``;=%OzcuNa4?`(xr%|Rz~ zs`*Z5I26_MQ);BXg2@93@z=CZgeZ)Ce52axZms<}O_us>3gpyXqaQV<9Y4^~h(>=1 zJBTw$VCH+Wkig#EnD6klC7bY%U5cZhrB{c2p)d7cU)$1S-a~$YUbJwvN3a&<*SkbU zeehKx)WVu+v$w%)NyRXGXnNPtv3s;wl+&_*mn;@Pgh{1&-7E4~^5vReq6ybZo~ej= zdX3#OLuW^|X&3J^eQcHiemVt{cl3qleYn^H2>FMO`wba~Gd!_J;m9Ysy{pzbO!mdO zYE-j&awpsj@*orBN7K-D=H@V_Cm%x3*tI$imN11*QV9{}X3+w=J4m4}jcJw@WjKpp*huLj?WyzV;@W)0{fnVX zgjjqTX#$x{>q(DtzP;spsM5vwZ_D$Nfo-MqeU#3AFtV_jzW4Tb;G@1j4f`ExJg4tm zEDw=8pXU3ma{f|%vk?QTG6=L4`Wi{<5T?|!bmb^w7)CSIJ(0BvWk!6W>8W6nzR9)j z3*6KB2bSN34~ch6?RavSx7s)oHjnmEmLk>veaJnsvFDY z8k2b;?Qi9@`sC)2_PG!ax>ZU)=@me(pB9ZOc@d?}xk*pa>)q&^rC|+IYJbu)eH`gLt~3}=K1hRcCBU-gNd7>?HqM65Nvn5OUrm~9 z8eXB;P(O>+pYq2S)YImFgpt{I5p|F|aA2)l`ttK1IJRTAQDLq^mkDUo6omdnX(rVQ z0M;&={+kM(Po!XW15EDpIyvLD;#fx_8#eT|{WWD;d;MB}!iL_f>RoI8Hil|>L+?0x z6bQ2`oC&^cx9cVNA{t6Ax8oV?U(weo4#ni_34QfRzuNS*4_{%~&`%hlGyUTj zSST(#S*#GZC~HFD@-c{Hrr4vkDr@6pKXIV~X8YeLpD{^4Ja?dtW^ax*x=q1btbJ1D zm@ZKZXBsGKN}Ets!uv#0yh4}-+UBS#Q;F-dX$?@GJ2GXGpaFBT~`COWLK3yfEB`QeI@$7l|TlKayg} z3L3ovQDXWC^lz=*WoSmIt$sm1#Rc80&zjMX(8Bvt3_-0jrZ9x& zI-XAB0jM~TD&3NA(GgUvGX&wAY{kqc?@wRk9~_3xjl0v}^!cOUv^uIZbht0#V7>gh z(tUqsg*zb~Qq2d(5$uk-okULu1wr}?ne9h`34`hvo58_#6qE)YUcFnyl4l`oa9{+B zB|yf&)IF>XI-;tBkY$dA&Ll@t&6DNtgx=O_QW7*oUqhsogPhT?^+*bXA?I{W!X&TY zWG3Mym{X+CMrZZMk6^!93#6RPxR6}xflnJxQYh&!lbSa0w4e*_CP{4!NiIiWyJPK> zBG(S2o?ARy^{$gbmv!n#qjrb&T=aj2i0B8SpWniP+> zsAQMLdw0){E5hwm%+8VoX?9#58U$oL#x)MD{6Cljrjj;)y{4~!Kw%e+`rszZ;s_BD zSscn^L#Zr2K=gFSwYKAJK|$*afe=`5wTKuT{RM&5Jh6OXm@#%)XB? zs`sX;s83c>ucDp&z5pXL!A_<(!BB46$!4Z*7`<2PgRXXb;To?XP@mgBOm{BetL{F~ zAVv+{P$?eC4oV0^eO=1N+mZfC4Tapin`~+cMxMWW2uL=0p=nSY3kWs$Eb}IL9?OM8 zprezXQt`db{w)Q!Shc{?KcusIN4_;j$Qa?>DG~fN%_^GtF^vn)FhM1G!PcE9Hhe&;n_@#*I%8hLk1Ez;8T5^e?U7f-)m2AMXhk1Uae zGkq#x^q;)TkJS(Uh{YT3V^*rn&yw=*VQwyxs$c2 zjSsCAmsYlCOiuTvjh$b3lVw2pKEDe^H4&n(ss&d;>Hu2US^ZCCV+)3`^v|fOje&4K z2D|aG0^Qt&g6X!*Q!3W!y~Bm7T+e+!&JJ5JH-+r5qu+X1coSrl;IdJ`4wKROfI_%S z@JvsZzdMY>ITBAHdxO`;s1x#^kt11l?===)7R;h93p&M?z01S4j6LpjbiHPGApbfZ zH(x2sz3Rw;cci@f)2mC~kvdcjsHHQF2Y%V3{R3@S%%97?pNXHR#TZ)Lyt`^}FC4x~ zW3!I)!Y1oJCs`hjSu`8iP1G1+lLvQp}&6f;gfA#DoCi`T4PnyF?IdAw!KLL+)SRi@C#MZrE=< zoLp@$zM+5SAgshf@Z<~oSqQ1R65{kv4@8(vN4?_!>joemz@OgaEWMRk%+H8?Co-xk zX73)eYslW8En|rV+3y2hwYLa>Z)PLVIk@&atLMf{u7oAk@BQQlr(0jxVKMs~nVZ3C z$Zz4@HG?k3Y-G&Y!)dv{$QxQdEN0&qvr&-wS>D)i?J+U?5@*}>Uwb+J@32+GWjQZ= zhV`eNAzcWywzq8cY|7^*v&qoabH5u!gk{Z-eJP5cu!JoiOR%HTwd%7GX1dY{I-DJg zKe$Gd#!^>5%tp$Po8WwxsMAJ$M_W8h@;F_~751_>$#W;#`4Lo<=T264yvO&Vs>!yI zN0{vWvh1*F$u9OeE)uStWq+@tfSpw%VzwqW{9I|ahFl!q?3!NgLScNrNhfWP-^-7< zBQ#aj;thp62wxNpKD87tt1z~O=BCh*q{5ztgG$gj=(oK;gnp?kG2A5xe5JrQ-X-Fk zbY+3HT|nF{@yi>sWq*)aH3g~Q8VuvhOl*H**lr2;$gU`<@kU0+B%VnRPKb(~mMhiq z6CTzi)X?%(Mc_Q~T&=wt2gp^&xpm8Ze%ChLkKz7OhKS7m zW?HAL zy?d^CFTQu2_S<*D``B~nv0G^E_0a|?yJ7Thw1Ek5l>Rs*@C9tlz|hShvqA!s&A~eJ zR|S8_AxtfnO!-~w+GMO%xI3rbqsETq9SxnDSw=arKO$pw&seI)QM*5(sV)a zz!=<%y7ES6v@Ch}nqtBHRP=AzL6WJhgH-^V)MruBebTJD=oIdUJ{oZ@HT2Q_(C;>_ z9Q?{-$n`Wo6=R)+rQQ>^ohRME!M>(&I}Tpd)Fw$L%I}&5&{`fR+>N~bjWvMf_ZIOY z%2)C`trhH`_&FmmH2S1`1aguxP~II3Qva#W{ykZ;qNK>Cep^=z?z_MJz6M#HmjEX^nG>wrXM@&`)tu|M!QksyolC1_pgO%?c+IF z{}`c@I0L;X;Es3@|E}62fEMU@0DWqgB8GbZ5|pC_B|LOA3JNQPVt2AFzq>MFm=dax ze8vJG6!?$orz?lLHZz0I8mS~#oG#sz(lR4q@&)n{AlwFoy0+PFNV>g^3c9+kCIg$* z%HSkVXVp*aih$sBoD?8G%x}f*)zr1=$V$gdvt^b4K!rolO`(tuD%G_;$iGR06c&CM znlYz%Gc+U5wvN`NruuD+92^8UiP@NQk3=tlgW zl69gCU6!UDLmH&YI@hJUUXkSr>rqANH4ulk%r!oT=+nK*1H`uZ4ai!2X?ZF4MjN)s zy0RGvB4SbU>l6ijbyk0Q$Nw7&S>w6FNLuJP#n$@$)JwKPqTC(Po_7=fUt#goD^p6c zt*L`lA1x>|!%98iXK_71$*0hmo7zoZy5`DFiC>)m`fp9~P^?-|gmxT{45l?G9meCQ zUi`A?GURV=Pt%`ux@|88>)ToS+OWDjt{>0R-|tfX)+~Kam-Gv>^s`Af`jVB->J!MQ zWPGmhCi8PLD8<@Q*?VWTAL;^i+bsP|K}Es#u50sqO3MzmolHdB201Dvzo9pl(dG12 z^2#3F^XYATt)ZT#02uEUUCmm_JD?Wt0MmEa+xi45GcG0z7wNs!iMlpZXLNe3#UL`( zrAAdVK-KYoOh$Z>$&CP+ayR;F@@w*~2u|q-j>foF2Qffas4#FW7zPG*a~J;1d4&k_ z-Q=%8F>Tcb`$3cqH^KV=)yd2$$@3aSf@Zzlk&1)E6vNtUYvaEmWKKBwmn&>?({oi{UQIzAFRhF()r7{hgwl^T_r9yWkcK)q8dsU(YFo^rMu=lQ zZA%hmBl0j83tP@R@~>6uXpA^5xE4Zpx}wILaRpHkg)H;5W^_wQCMi<`r&30F4G`Z_ z*txGoq*S{g1mO(H%+qc_ut~Z`@(hlm%pQG+kFq_QSA!w8Yy8?3_UOO+kltGT5oumo zu*%pP+f)mTD-c${`-ROsJhMk**jZQyosQv@E;Zh7_q(~gTgjTGG-*|D8p!_YdZhRY zEsdrdO7B*jF+0Cd7OwjYu#f2t3*{-OmUNehCtGBa=<H~%l@j2Vt&3h zjpaPPpW&n?gHP`0ko(;8G52!kvUC-qr;;gW%nKoKHM$Q+@lFSvN;SdG#xy?!hp+D1 zmMiUSvL&^{LYDR){aBXfznHa-vwS=@Uq$1d*!PZ^-yxl;H>C!=ow-%aTu#|}B(utd6 zXw-92&yPJKFOzPoPv=nrt3k#_d{89Lj}Mt?y^Z#6X1QPS z&?brQEzlhb0ay!56Lw4%3!eCPl!tzZw%^)LNfHlmVvvAO(voAG7`VShT5>pvnP%RE z$H&>s*Y*tl8P$sc=Y>(iR?R&F^2z3W<@$qA)df`dSZ~cgvOZLA?bWts#SpFHgCRO* zE&im7{}t%nzWX_T$1pseHr%D`Y@2pq|d>kO`BxW z(2AY`y`cu6_{L+VfdXOjIdEd-z2u87{VXen|hozdYC{u5{=%J$|n=$zH{iFpmCDT_y zpPb8Vnd$`WJ#|n5b-zrcV2BTqEev~5&KsoJmzA>zCR<||m|ylEPBM+;OB*K*F0s?; zq&_64gZEfxfO&)rWxs?RsViQSbQ;5qAJ#cO=TP5bhqosfj2>{>E?}#-yaE-r<5%>d z{Z@#eaxj8|RKDb~v!Y_Zc{v-6aSA2qY~eX5>@df0Rk0=Uh?sY$^Ej>4@F#uz)GMEOau_X zSjP|8>}!{BXumE7b|*O49? zjSPChI-DM2hOI-q7{ADw0E<0NxIk(L4ETV|Rw?jB{vqIB^9uv5ZGj-qW*i3oF1&{B z4uf;iUolVLIv1~R)WrSz{uIDbUT)U+TEuCNg(c|BO_LL%fzT6^qa4 zg;W-E0o+&7Lg%?E`7C)hL!x?@+RHr?0P?ENM26 zVOcl!f)lO1F4mtAmbDFdVYT&JgFo3l3-6n6(h5aVp%Ca=to?-AZJ>(sR#4R8v|_3L zEl4ESfw{jn)z^-gJE54XCUt4q-pbvTTu&Fvmuu3Q&#or#Yf(VWHna>I;L5ZWS3?Cw z`z4=2UbpnH%3lL3mZ8t-6v?P@qS#TUV8s3=r53A3fkC=teAjev+|64IvM}ElxmMXS zfI8e&4X%JHi1TvOUo#|i6F|>oCGg|j4T{yZL45?Dwaagae-fd+X+PGK1f|iiJzNf4-=nr-ds7JFeE$xHWwV^qnuHidE04o#GJW5)>GQ z7vXoLgB`_oi+F48!Rw%aTD~i-z8r+SpGxhTz|kCyWR$+`M(P6)lqqmqoIHEPy>UO- z?5CQwHX5*zJVIK6u{L^vxI;B6yYd#2wHkW&GWAxs30(0ozmV|p6bRzg|?HF{Zd z56Sie482lSJPVz6HHp4fpxGNy)4pXn^hb7EeCNPa?e(4WwawGL>loz9}Dv7~p9!oOsCp;+hbwgdczAc^N%Dmh9 zNUr$@DB$CFlc=lZ$-~&eLRHq%>go-qMh*9=dF(b`A=YppiU~K&lwb&IT@avlMsS}s<ja45;XF?Y=bWbczlNRS&V=3HdkKr!}T^MU;2DDb0? z2+T$^9u|k#a6KKgcoCzsdJD^LSi8I>T#NZXQOH~ia{X{-+ISFOn09De@59y}Zpis9 zQphX72S3yNnxuh8iq!dG76|Pm@g71kzYhBX>|>~aH^SqqEYo!COc(m-Ja=TlNg}UB zNpSiIjxWt)0tVQt+>=ZJvI@0w7r=)a1%+S*D2xlv6Uy`-S@oUdsre;7 zc*lm8qddYsu*Nb43c@m*W0pbI3FGsixC&tDQe#JQop?HlWwKwBCQl|gn*EQK4n-ZX zer34BH!U|Nt?IfzqY(OwF}%Tp;&83vv;r$6dQIY?1`KhGpqct(CTam(%>V8ob&aul z33+V!k1l$wh9OEE!>?6Luvmr5#LY*WvCGd860R5h6fYyuOw@oD@m`<*M#yO6ZvbojrW$@W-%bc;&QftD^_tP zKP;mf1`^DHR@e+ijwPH8Qml6`3KHr5p6k)VEI8pX^r+@_Pd$jrdBiFhKyG8b)6@4k z?Xd$7u35Q%4Put#BMqV_5jR%J2+XnSS$33uI{9%dZ*xg#I{4bIcf}q9G`+qJZ`2w~ zVrE_9q+JsCliKVp`rTmYd^EK1TvG^g@g>Tg)q5{fcnXF6+WeLL2ugY*x5h{x$B!|* zz@l+c)<@Z1_x%i8`ju{OV^RT0>m;_*$Y9uv!MQC@S7BRwxiKVeyAbCzLDOEeF7p)CcjL_F*#HrJfvU*>so)GfLMVjl$zx z-||Xoeb__XvPgdVMosdqz1~uDq9xZLJ;0u>4}i+cHZHv9Tew)JCw`lpIwr3Vv)e}( z*z1#P-j(LvyB+yqGwDULlHc-`+H0({qYTxs#K8!=kf}}Fs}U=)*B^o&R(fD=8|9E# z0OmdFUb8-oWfa9GY-@7OSD8gz^AR?!0JNu?uEj78>uDjngOZ*Bo67b7LgHVP{+ZHe zNK=hzc{8~Qj>zA}{fTcTV==n3_!pYnCc9wIR41PCc-WA zxCQ}I-m^6BE$H4_z5e$W#Gmm;Bq~<*7Hsz4!m*tzkRHv5YOUv_wN02l?i1e`e2(T- zw4N-n1Y1tARu`R3KW}0rmigblW?;aRh`+rU@0Lb$1}AwDuY<;GyTl6y-B8ZoSZ8!- zq{iKN!Yxpj%k5Du9w$?1$F>KS4fh~XLT|kmX7I!BjqOK%6ujMlTYC8;T0D{51KBUw zoL*aycG1Z%ZIq0bXG-%_VJrO-GuKm3hWhJe`0p?EOZVw=9S9iT8Z1RqESH*a?e!Vcuzq?C5beG)^gMe9Or0g-=QPQA6u!%B8)iD9`Tp7sy#}O3sM-eGzhcrrLug$w;f%fIs{8 z5DRFNs*$jLMQa^Mc?#sL_uH!jzwcYo0}{xk5jqExVwWsP$N4c`kv7JvoLox@;x0rU zZbj_4w|s1^igOwrm$;p5HGF7ApF-EOwonMk-T;$eVe8SSU(hEB7D0gO*eejQvwFGE zpZGkmi5WaXTZcNmuV*PRn zVuY!~yN+E;d_qS>h2dJ+23RiECv7D{qeOC@rE1jye&s{bA{E=TZRUqxsp(J%Td%V? z`^aC(fGO<8kL0)f!&3{XfQ@PSOp`g=8jS708KIzV2nD+7RnJ*7)E9mVg<$V@Tv*mG z=AG6Cq4ZzU(&l3F4~UN#=F|o)xW!@a64|Wx_{zyc>E7*D4KB6T_m~bWGPBL zK-8lDvMhZ9By-VL)m}g;_B+Ko**)QU*{U!O8Dj^7MzRV>i+rpDMn@ip6~j}Sq zK55mIZMlL@{ac_mQ47E4E6~A0xVF+Jg9G;vny`2nO2^!V410`(WoY4O3G!8$eaJ9c zc$%=a`<$<5_4NW!XujNV@UB~A zglE{pWBs1V4U}u|OC2VaJ-SD}mtOoJEWxBq*ZmB zQ@4)kCh%!g>X;T^jX|W2=i5;oNq^9U5*i=gMEH&zO=S~||I_Nqp8SN=G{8NyWd8`y zExHtp%%otorTK$Mjq^Y)M8!A7@y z#-7Isi>E`oE+Ju))5CzB)z^xH;5&VN0z|a;G4*7zbPjtTN6g|EsEnt&_dcG%W#WT= z?0sMU^AF7_DEu~%k~y2--1G$~pm z8oNT#^#0_f!K=b@-wS8S@hIXwC=u5P%}W5wo}o5|>hX%&YM3@#uV7z^OBvOol+Nmx zkRxvo$c;1~T0xd@EBzpOOSHE1)RNm+n;*s6mu^&LUsG9AS_k`HqsPN2*ZjD8Wv|Gr z*uS3iZjEbUIdlxO zu}?{4p-pF#;Si>O8htr^_UD(SW-JI>YHl{=m$`JaULDc^dX!OPx5-P>g?|X}I1xmh zc#An}0|?LNigpLD=wo63QC|e$_hx5)k1J#M*JrqEGedcw$j>*j>Ioz_Y+bz7qF)d8 ze31A%N!Q51M=7uQ6@6$CFqzM~mPa&HszEWVRCT^>I~g~4g+=N$Q#Rb{&V{x{vme9m z&1QJOMi-A~I=B%~*D`qUJU*s8y(OmmZ{4L3h_xllw))PVSmCq~+DZa9XQkZS*-eCP zj`xEUJSl&nmXp5@%~x!5FkUZSGZN-M01tj3ZIIw^Zf zD0f!h0FhGRdRrKB-jT{_c;4q^i#~HS4Dfq9i# zfSGS#^epT#p+esNm>M%!O>{j{v~$cD^5cy4EgN2qFsmjC@e6zM#i~D@q^{Y^^ht-k zOeZgvm&tzT)?V{S!v>us3$-|WcR87!We{;1@~C6PP&rebb%yPw*Nrg{5{q4))0$`CH2y>AAut+VMQ$Va+oQEgw}J`OEA;2GGmR zOuw68JC&!bNOctTbuiELQ=Bj=S{&d+TbS?Dyur#NW0XRl8b`OFdlQvS9eE5S&nOE& z0OQ^_$GIfr^17>ikVfINeXxJJGtI2mu&?cJU0`bopPhFzGYPO*SBsl zjPY7Ieaiu*e9CuD<68l8%BL$!^*ylsy-?r7{f%vMEw#lt9D^@_X2!C9eBhQDpg%qv zch~3LyP0!qBXo6p?Ufv6ET=+a@C2`u1^2ivCV=sop!73h`wYGP^nFxlUxwq(`rg;y z_;Wu>Hm56*Pnaf*+uvWQ5kLz|BxM?q>2L`**5xN%taQ}Old-@MrnmUqisfAzaS20| zV*_UDv0@y{sv)S{8V%ECy}n9QJF($lNGA%C6tiCgqfO?N{OA9Qxql{CYa?x42G6DK z$&*kf>HhHLI0ECgOJ4iz9B(eG8pJU|Xo8lxDrSKzqBh z-RO>g29BvB+==ZO37HJPG>~9`Hl;waB9Netg-{j=;4pyef$nLEE%TH4?cJpBt#_ukfi!ayTDH7t(1n#IRs{|Sp3(?&DK01;kS zws!XqQWm>)crrz^9usz|YBJ??GDUTl2O0U_1jIV4KSWehDr}(nZDiF&5Y+Q!{+1K< z%k$-(OzjOL^E)WdVgIImeW1POgKymF)i^(e9GKwsBDg1?(d=HB=2P8TnEjqgX9>?h z_h1NscJ1-7RkIP&W^)Akmma?}nj=IqoRxO`SbkVQ9*}?(w^z*cEr16v&lGJ_0926W zg#CL0?R%0q6dFt8Fb6b{n9BUo@V`7eY_8&BnT2(2s8XIC`ncBYib)rF{!*NiU{C%L z?K5L(hnSI03|U5>n88r!YF_DG0c}&^9gzXVb9S1jgM@;SiNq?f_BbYB%Zl>nm~{Fa zUpiZMwv0IN(gmaz&1cOeiKgnolPH>t;B+RMr3%pu*3DfY6Pm6R&9@m!rNK0l4O@xk zAS`o>=3O-EW$@*09nsv?t*;Pl;lWxoSYOb=zUBEsX^@FMgt7K(^saX>`=p$8$dSh@ z3aLMOTzd&C2dn875A9$#=-%LE>heAunruteol)L#@QFxTgN#3}k!#*aFtexR{>qov z*M;|3t$7Mqd>ktFWxl%1e@dLk^0M5Yuq^+V#G7?iyp~9z^hfhc!3)22}=WT#1!ZeKb44nqn##j@L1qm3S8tNyt|OoMp(K(#QgtNasZ}4Ca2b} z1Q1|#a{kYa+0jaRqRR#XJdfc{`on!+P+$735Du7B-9jC_qF=q$o%kSZ&=cObK_e6N z_l&W2pIT|HUHPN#a*337b))$h@QB!dUwUk?sfdRkGsX>o$EI9DIkwrRr-Xdo?AP zGRe*)$#Rj@!!|Firl{0g_6-8zZ~A&X^@RROU$^nqek2GaE7PwiV-(#!gSEd~qz%u0 zo085X7Mj`8S!l?<0yWl+x*)<>l>rz+x(tiH>Z_VcQ-m+?`nzOb+GCa!&23vl2p?Jh#!_NRkd7aq)mKohj+7%0TXSui4Hhdxl{FNe&O#mcR`7}XIi&r3gK3< zeb5x~4!I^`vj!ilGDP1d3+#%9w(HV*$9oo!Ttwuj$Af&5=40tdx^N_2u-v|?ul@8T zb=W@HA_6CqqfEwdciwJnkDrwE!0( z56IFli0OmI$UAcg ztNSo_QpI>kIuIWf@?^@=q;Lr3I$qLP?Q485q__q_-=w>xB27OrOMi|@x?KK{EdBB{ z-OcWjrB5W?CfHS&j2ZsNcE!KH`qtX(SFa(@T#Y+vMLvG14}xHeRdWD_v|svWrs5Bk z{0q%^^dhrmH-dx=CiT&BqqRm-u-2$L9x%biZ_RJ`b_T1z#|{=Dfu1a(o&rr(*EH(q zM~(cKd}YW>sw#+o09w^~?dp|h-J~Z9A$K|md(vvDk;x&w6;14PK~!i|M$0_M7Omf; zZ2}wIDgIsp1kF>dUY`MhrQ_!oPob=={k0$*@pSYoStK+%SK(GEwVDb_S8E{IP(wr0 z=)zP${{0W?J}cd(D(xyCy0D!`QPj0IslxIg!~M!si~I!;Lc4cTG^N$gcq)HW;X-e$ zN=>t@Yih2-2#Pj#)0!9?@^%$IrTs+zgm@S7QPSW1J&eEJ9rG<`AMl+*H25x)=3~^( zoxU7OUVWb4M?YE~EsZ%By{d;5RHLuqoB{N6^mO-EjJa>nEoa~lgINCTEi41s^-WoKJ=zCji%ZD<@0(ftEb z#onDfU(69oV^FH9ntZM6A0-IkWEM%-c_suRCBkIPdRvOos&FdC7t%Sb>ffv8`M_T--C!sKtBnORI$u`JyR@?Ff4)q5f<|Y zjWAhO!e~s>wOW!Z_rVgry7Hq8s)wUUwh;&w zeUPHwg3JV>ck%|K!@}&5br~f>YkgC}XGbvObkL@{hzk1lPDVI(0Kf+eqmjnQWCQO% z7?Mgg0;#kWqpftv*}8Osy%Hoi=$O{pBi_Zvx#bBKg%WhPWY#CU%dAvdD!>(avrQro zoZh8(&jEA}(Bhtgj+-CD>ia20+dPeoK!D7i2#uW!z|utm^vGEOM+Gg|R=kZE1IuRf z5#>>0T#{E2l+s^RYeuYfCJm%3&$Hj5XD>g_?(`QCb@WVfyupE}xjO`yMmvnt3apUE z`9;SqGll|wsA`%#x^MQh+xQ@ZDI zkzZmaENud=$r~1ai-fscQ)-5^rJK*J7(6v1@)MEBv{&gcYTCUE(@;PaeA_6{((+as zB)EG-xaQmQfOI(BkthwXOncLbT=M#?6!P$Sdh~|ijGt1;c+u6WhfPzz}`O4 z#*wO}Jt&nDz=$!?By&*e27-D-+sdYNx!$;n+Htg zr!Lo>!C(E?S^Z0frKXDMYvBvi4*dEDk>DNpVR(gA_^wbk96;m|*q++J(SVKJ6hA!+!imG?F|0Q`vkt$@<4FmQB=UiO?UFq3xG|DYG^k z6>B_??rcf4PuY6kfT@Djdb?ZHP6k^pE#H(bXUx?XFLuA`_TAHmXx0+2Y1xZKKj^>- zJ1|pzPU2#L>6UBOf)Gq_;ZbmUNLxi|#qtBAN+Ax=nhZiox>1HH?&81Ycju! zIITtO(d5~ktA9#{0IP$mb&|?DSYTK08P*=#O0CF>d(hx`dxIpDZk-7`;x>JsxWR}o z(`q3#6q}de0k_OF889a56EY500SsmWeE$W4pN4d_u^p_HthgN>jGas_*c4_-$n=ip`=0)f29Bs5ui7|8G&8C1 z66<8X&omD;O^Bm?z0d5UYkz#a)}X}|}CwVD`2;pBF{qF<0z-}z5xo0Zx`JzZfOi218(GHhp7QGy-J z_xvaS^?ch~-of0R{_D!7Yyh=}NB%|^w?e#{s(8h(sbTcAM>(GG{iF}tZ$^-D;+_ql z(yt!!zO%H!V5n1lkDByH zefk4&42659KN|f*qIb6T!?dRnMDj1*9@9ByHX$~VSi$UZ4m9XK>1U{>@pN3mG_JFH z|Gzl;eY~V;9L}C5F0bNv+pY3Ux7H4M3K~E10MfvIc)0RrZ|!*)Vq<`qYtGZ2wnkPP zy1@RBbErI;S5m3dJKm>?$j8tgfPxeH>X4vY$&j`)Kp5k2Z+d?M!5x=0n9?TZE4rievJVjYjU!*{` z;R^jMq|UiFR&BK7#i-VZJKDwGOR7p!5i&f|Kx=Q1;x4W?>12sE``gdE$Q#__AyJMY zP&-Hg7W4mRZ{3QvlW`*59v^=5#XCfc{8_~WTk&({Ic#-9k_D)|iwvuJTXnpczeE9B z%yu>0kK0?a4M3{y$>`9I%|eDh1;lvAhT>_&)ri_mw$Fe4N{ut=LoM1p?1? z7g~K<5(tI0+!RNp!=w@VD=Zm+^H0BQQ4~Fwj`Vj(9nm;#DYQGVy zit9a8;Ey;qT&T3bv4bl*dbbnZ952@9k7vIb{L&r@har{^-NR_nP zBqD{7#TJTiF_PxTaL3v>GS$^rBfE#_m17VY7ex@cqYIl`{X1ZwD=&Yk4Ek2nE!TV^ zefuQWyZVmr6e7<%m|b+?#8l5&b7uPTlicdN4LFEudk;8>J0;c|M`c|nu>yLLJ?&>D zuEoI@Hb+7o?=E7Rj52!VlnBQlr`pE=5z|~I3=+H!{Bwl~yb*0KUcVo>Ir?KHt!v<8QvROA6sbK)jtZKb zVJaR6&hLO86*M{PIwv&_H&n|Oh;ES(%uwYyXrd=pf}?F)!r#Wo+TqSX*zdLZNw==j zk7Dft5xBVCRVVOA>R~o$c~tHgXkiI@O^L<)%a(d@+LXN14(=y&)fg%GlU0cQCk?J0 z#>^HrXsb_9M|jWuMD-MTsB;m8I!TQBsR@bvBkmXH*{!clwymIXN}SIE>G{^fDe(@# z<`byYS^d{YssM3HX!b(2SIqAkTX{p6nCDdfkl}ll{*lljw|Xgn%*p`3~v_p?X(*K&|PS z-keeXkzJA1dC9PKRXa1_q*vxm{iToBPG*E|PG*j^lD zX?5rhPio4?LpLywlLzrjEB=G?uV9qiq-}xz+eZJzHA*^>q%`RDh`pd=SZiGHK(-ob z?e#q$EIbZl`4U1Wk9#tPPQHdn*6m%lPjU)wQTCI)xY=27t8jb8_|C2L{TlwJ17|2Y zin*Mz^D7d$%Yo12Y_igIP_cS{(N%rL2s_)}4)uAQABvk{vvw&yl;jF}7U3_{_pJDh z**j0)Z{Y@3{ygq~(|6yP&-cyx{zdtFroM;y8`Hkgb&8}(ZzRJ7r{cUep5F;7zYpo= zPhd{V{B|An^1vA`!&gi%Y^q-{VxYWTlZP(QL3phy#2fP=EF~CQUP|-{jgI$HBKapI z?Yh+XVqC>iBWWPtYJVZgNgH4Em-|!1#Nc3>0Y*s&&xvL66Ra~w%ob-^dUi`L5s#ug zFow?)9PQS2{E)_5R9^H^lPc9Y4mM>OGjuMm2Hv7>r^~a<$mn8-455h2)TBR_U6eJZ zSzetb2jZMYp0HD)i8bQ^T02WKb|`j@1`UIS;OLgu+h@fF2BuI(r9b}1%CNV}Bzw?O znLfY`$$BbHMuKkaWbfsppfniQn??Ua?+H3Jl z0JZen+vr8w7PL$DO6hzG{WP6lN8bgew$}cgYNejk>3BTIi90;u56H=`^3yWD7|Q$U zdrNbTxEbBJ;~l5}JzsX3{!J)KSj=nXD=t zWOE~iNL)>!4ffw%ZL?-bE_8=bFux}$xm#c0)YyJ&Z0bkCi4y4jf59Lbizup~*_?bS zxG65MFzZq#1wU%%zjrd(D?$z;fB0fyT-8^Spum=s)r}T*;LP=-cjGHO?MD|6)tAmo zMnWJ4<46jGm=IB{5s{O@)>9D3hQj79wOuSZ+(Z(?T9&u;5m!hSx}~Az^UTfT4rTou zC8+-w!l{gVmXRyTA*FONFCkSIuTnQw!?R$ef9|e)jQ}MbRi6ghoz?#kcV(FMme%?I zgPk~qes(Xz>J}fL*iFtL+eE<`#1%DPNxLvkILA~agi3sK4q0?-Sy(#c*s>m)3Hy@2 zl3UhaQb_Z5q1J4afNyVjKwnSjONQGBdDt{)uOqo@fBwJAkLI!7$tD76lhyv^N{Ro! zgEXWkEr8Y#s|ag9nJUOcdj(__Z(AdF29Zcd*8dQRfI>Rf8dKS+(T`*`H7Jr@JeKAf zMI<%1N!naCbpP)i0XM@AwD~xFq;jMh*v34exxxC{#9y$YzrK#-%L8O}eeKH^ujwA+ z0Y-)I8cAG{9YTb676sBx_uWv?2(p4d$9iA|9hiLSaFmP{rtW-g#DkvulC*0i$Vqs) zKo9oT95%pN`s$xHTX3^{c`cE)L19ym5NJMKUxTC@Kxm@PyrFa3?~0uQiq>qV?5sqsKSKvJ^F21XJoC-B zzG=ckO2du8RHWWOZEsBujt7iev>%S10Ge{FFI1BFX;BqT{7Gak zcDw}>(__B}|5{Xp>+9k&6ZUR(05XQ5ApEgP<>ovFRuU`OxpLF$cx*Y;Qi5`C@DKJ$ zutR-W1-`>0fQ)fG-gasS-Ya{|AldF@gejoSY;}+zYuwtH-ZMGoedvj8Y@Bk1yot>i z_?eL9A#?a95!RUOnE|s@DCzStl={7=Uplx*U%&Ae5MI&OCz{aIO}4nTp{j+G0tp)F zK7q*#0(1&g(9X{xNnDh?9T(q(N-qB+3TwYR^85uhxfzTdVv1&xJ=K8)+QV0M&O0DI z=GKR@r%d$L+6{@|DcyA~@*y09@N_H^Al=*aBkxlU`(2=;Sd^B}J^QJ7ojuTB3`?#D z(LWfL+O6jw3`;5k}%3! zFj!x!xj}|qe|>$CmRwz5^ZZ3#cYVpWbW^$0CrCA8Aoj#}QaXMDXnA$LTBfm0X?N}{ z=`=9|XS4f^a0jw?sLwB&{NcKV#$;vi@2u`cYtR=tkvn-JK#BJ@4SZ~>aG{!k9#u4~ zXNP8|ri!U+9tEQXVl&1$SFe9q!rSA3&sM+c^$*4n=47}B9Hii(%W1cSjEO?jYG9Op zF&6yjx8;PSU{DVkM zn*uXc;pb4ivwBq(qk}z~GKLpcHcwGThUdD0tY8MV=&NLVbk4m1?v}8dsA2Jfh^Aq& z%}&799rzW98-#JM=-mFQC?&kQu<4g_JXsUa)J5pyu#~QB^vYAcFqmWq>pc2?ANZ%9 z#S>+YppWmGNDzvSNG~0&r5pix;Yj{&dJa5YjR?PyWgJ2{M5Uyf{%=4(uhG9%z!ApUeFXuXZcK~h_vW;{A=O&STz z#|TDTiLk^ph81x%6+7(=kLmfxw#@fJEPnjCM4x&M^h6|3Inx9g2ny?q?a zB$1YowBJidjd;>eHjEnn6%8kUv;76%`swR+f6c>huP@!n?mnjuFgsY11-4W?Sb|@y zy-ienI3W5N!sClc{saikm45(AXLVjUd4LqFMx==TTdjPoR-$CJ!Am5D`MA`4gyO$A zePjoS3}@Yhjx>erDvnP$C;7L~N$ZQB9qo}r56UIbF-xj_R7eWrB~JWk|0cF3rLK}k zM0!oR)8DcdJ(xct9JAIB=`3ckm-wg#nheS4o$OrEdH}Vqhs!eL`7xEdKAQs zy9RVIixR~ITf|O`K0$>5xX&Vja{ROAS%rY_6~N>53EUSv7GJ{~TN^YwpSG_XZN6EBTXU#lDdEk1Tc1adR zP+GX})JO+Sv}3G?h4PUu+LUX1T{|>H=mpvPN21!}g1b zm;{Y;j|7aufEW4E((xGOa>pG#ytJYMEMM0AUCWAm_w*9yP_0wb8)Ua|j~hKHZF>Kj zlz4}33Ba{g>{8mW)y9g_VcqEGkV zRkdTaEyHxG)ecql7V%wdEqXhvpiNi#2d!Z^y0i5&l}#|8JNKq@tEeQq6%+Y*q=56^ znoXcrdwOrAyFH9LFp)8tPgZSOj9(qA+%>ara<52ht7Lt9KzKDjzb|`*mf_W*ih9s7 zhB1GveCjH5oXVpK-VuiaxEX&>m8k zvCiUpZl^-}pZ2;7`6pS*H)4H3tmC0@ZX3EyzLiQjb7Haom2ny+iObiro!|oR{~%Dp zJGEiXmhYVs=f}hj!;DGXGNjibw7|J}zD^)Do||t{)kAval-9P55n*)c9jW|tK$YD6 z$pA>od29hyj!RFZ?0U?szux4E)-b`_N&hiPDAq zcr8$Bx9=+&_XXO>xh^-EiATP&*cpVt_0(nFal|fOhLC>%vX^T2X{LH{8LFA)XHm{H z7m)(NpP-W(gqu;J)dYXk;0A)97r^~p$~)E|g=-K_7c4_+YE8qL+&S<)DvH$HSj`N{ zKd6|tb=)T7_(N)GwgmcThKKWA-u zETp$5nHr_+Rt$|p4++kjv+1k6QPCHXh;Eq}&BgV987`-+?)fz?JWm7$A|Ufg?p>%G zTm}GqQ||oPeC`Z+5um1?#a#P(0n-;0)wWu~^hJUJ(^HA^zS}%LbV7VRssqzsvI%NT zMZcsFeZ?ts))jCyIs2NB#Uh0 zCWldHVZa{RF_UiH&~%mmtJ?@yJ-ned*l%X%)-|3$ni~(fB~XR@T1h_lBee?`Zl+F4 z*<#v^8^xOdl!jsGY--Lljgwmsj~qy?A44X9Zr_b^@gW1W_HhtVw|MB>?+jz%ju6QrZ<`%Dzxj}Z6n-u(N#E=2csJXUd*=W_gP?xuylhjayQ3*t@^PY5m zws*ljAn6(^(aGaeRLm<08;xC`Dk0qJ*LJXEM=ee@cez&Ngut=QQbTjeohCJME&z!A z-4OcZCf5|)zfNb1+2q^9nQC4bBO26nLzdjzOwqYy(g0Uyz)Y(nR0jiGoiz&wy1Yy7 zL9mct*ZW_<+#GWS{e$pcm74p)Xkoat>JGN~?vNfsSzq5VRPD?0%k?iW7&OCfPXcWf zHl*>g@0+=;LmKaF)R%8Rk+2gpTxo5(!rvs^jiCC(<3t$g1$;=}g4@m7TZiGY?M+l0Tc5*g!Us#t9DnBEs(2bE2 z_o<7W(5sWiF|2+pF3H&FCXR+fZ;0o&ykiCQm2UQ6u1zDNq_+KbZw+YnZjwFtlzvOD0jY9riRv zyobPSZ#ASMcFx>n(Z)p8^=o+eA4H;$M*CT_&R!kA(|$Eeo-*pYpW2J#MZRFLLyw^6XjrA2d(zL&XE1wz8oeIW^%73%j;v>1n8+w;V~EG*=v_ z10fZkxBC3O~_M)Ve+pCIN;LGv^e6pL^$%Q&$K~!bT3?besrub7c=o; zX0grutePL~m6ClAK}fEeA8nhGwOkTQSIv)VQ}Use!j*l%DTwx~Hws(*0j%-Z70*3wgU>!?h38i_T=5Uavmn!k3D%bY0SR3b4 zTR=s9Yd+O8evjq*ZRbH8nTDS9eiJdXC7>L$SykC}h32h_pv$(X2h{0ntiCvu&3;PR zzd~Bp`fT0p!Bw-2>;UbA_iLj#6<7;PNdCTEO5e6iItJ~cl+;pKJ%81m#Ihf`qV$QCtU81MHicJee?r* z7Dn=PS~i>Il+X`qo)UwiyadG0V(Tc$A@?U}ZHp)p&z*2Lc8V~WKvxZ9iX_fj$ zW~;_{uVF39gW^^!qeXv&`3h@cN8uNkA1OT3;pXYJmHw4ouDG}_RI@>K{a;gC#ABsO z{Mf7~auVb3(*l2j|LsctFGbb_|4ibWr>|Yr=H_a%>`#QhC+LPHjc^f)`+oEEwJ4J7 zM~B9&`PPorSQ_hCTPMLj(^ zE!OcI>MHvYnV~ncU8;?v$*>4wowfav$4Gxp3*@Lvda<*zJm6t&-IUdxz@w(F2-INH z{+T|=&I}xJ|9G2(_d>-N^1FJmnbmdnaV0zf=eC0Ss0=G#g*RkCPbkAQP_c!YZ7N*a zEL#EmYzbXJ)!C;|CiOq#;pxe*Nir7Mc9Q71>hC59wE7UP|SL zC=z>K3QJ|S7ttPK4>w7#kR5GiV=mscH98(EmRWA8_BsOIlQ!-bDKu0WSy9=ndHTAb zV|Hh&1~}@(p&;0sWzV=qO&+A24xnrxPLn$3J;m&={JPqmRjszOLybwaHu5?!5N+sm zTCgy#rO<)o2JfkK+aQmo)|Vu)(X^QU(>#5>GH}13hpAFz8lei*&2CNg%^FC3D{7~b*Wz^7xrZZy}FyXS-K>xAGzYC;|_;-cyo zY@+-s0F`ZH#ehr(VJ9le`{oo2qD~jClf1Y0CU3SfOS;X|zgs0sU$9T(CWoNK;Yjv? zyQ8uM{v2hJtnVVG0vmBBYJ3+e4>bT@Pf=8%y9jC8mSssIu2TBt4l$cQU!lztYG=5t zJ4fR5aYO~m?3Lopxc!J%#UX9;N*ao4r*fIi91qvGP|f2BMf0%cd&sugylx`B`om+G zeY~IUsG1f8V0Z~%7J!Yc6VBO-c(9gg_Y^(Z?b&S~tpSAXI{BbBPw!Vn%bT6|a_7|o z&4kwxv`uN-vZI^^q7(3twNuFLmc&*iW=E-CYaQq3TYv)V!sIbanv7>891=W$$9Kh#1Egi-&}{2YM{m=DW2p^7_yYD)Xb_ zuTMj(dv#Iw3N}ygTZP?|*pQOKGBVk~+%EkA#>R?K1CbZ$pWRiCLW8s6p>&mfnQPf>0! zJmxQ9*U;$f02PzHHrx&7cN(b%;m7(;n<-kh^&<_|!?G}PDb_JEM|UrwTDHAYEkTTuxRtB^mP9ajir zJlV%p1_`Zcuz>C*X{{sQy3`?tsY|o|k$Rajs{^32b8Y96pB`rcFLoE4h5VUt)AIEo zMO?M^4qtaY`g)Mv!&%y$?CmDM?Qev4hKGX|!S_IC=6H;ljxB>%YLN0B^r zG+sQHyrxxga{Q_*p2C+ca2b2Ra`^6o(k$~DVo*W&*6xav*ov<;oM zo_S|Z)D@$3P+GgwZ)`+_cf3E>iYPnYGPU(5ah%8HA?(pscDx64!-i3Hx5XUZ_MW9m z222AiU6Ap*lHw-#Oup63%j6)=o8SwG(#8%Ax=D+j`d1vh+ zmcPoI;Bj6X(zTzs%=8&vSJOWDnVSYY+d7n4dN6F|S9Z$BrW{99a!doV8RgCLT~dx= zl^j!*16@dkv{IjPY*fiHSvk-rA;)qlNB2sOiOK=3LXOwL-+g^i&j_h~r55P~_$;Nx z^Mf;EGV3wN6G@L}-9|gI+=HSTyK##|3>bm=xXI~T4FN0$ou?vfH(Z&404G`zIDA14{D2-O`YRa}g*BK}C5 zh3w(*-m_XMFAQkZz){GrzpF53XYF|};)h2qZg7FH+qgZ)&En?!>6VhPtM|Uw+k0rl zjzu_C(%-tfMMH*f9`>1>Bi<;$0x zOre?K;W+61NH4-Vkx}qcrRiYz|8ZiK|eM>;#Hg6hixcv>0VPGtnt@ToZWNSm1N_sd)_^lgU$M)godYt-YQ;AVj;2L2i187SVNG6T7) ztCG`&?$wV#av8V%5z?OTPCC6;bqP^x$JN#ryk~9f18;8+RsWimY*eM$_%6v(O^0ip zJ?@g9OS+qWBqk15VrS4l41YK7qVz1xL&BRmV~WE@Ysyi6GiLxBI)S&f`eKO2+u1kU zj1`qTcz@_auiER~ndh~)K_AnzI+t=NI~?ci>4F2=X%?1Y7pq*w^e1k-Tsm1x%)zkqCjlZN7s8R9`EFj*Z ztP-Jj>Qz4Z=IpVya;rZe6t_uW`IA1rSHC1MjcBW%83Qc}%!`513M?SNxg@$^a&^2% z|_8njee#WA`-*!Hm%+hf%#9K*>vz~_xWjHy0J`ITPqm5nC(Y<8us%JF$1pv=jvWq!Dk@hz_d(CUpzNM@d zww*>1kQ!-!*s8i_`Sn30Y+CNvPEu!n^C|qq-O4inmIrBa{VH}wOX0iqx+Ld%>RYm5 z)y7`cr}DGE*E0CEf7rjg|GR3>X<`5JO6p<%@{hn(+!O~ltnIL`(N_NjNmcuox2sc} zHcKXS*QbXnw&U)7sa^eM1k)B%cWK*ki+$v zdn{ALR%B0AY{xk%$LvauiONy79j{I~exGt+J4T%`Ii>xklE(7fsQPid&>n8*Yw1`E zF5G3&7W?4r$&-3?JFtRi@1e<@tyrE9$Dk1C#uh~k z3S)wY#o)9M+%5*M48au@WUFx{tH?))OlE2JOQuzEf9kX*$VHDxZAu*;pKJHTt59=X zCDkB^Arq-7*ZviAI;Mu3S27qVWl+vsdloX>Cvt`Q4W=?EXRiH)kYOg;EwV`&vYABV z6mbL548>ZcxKhy%6U}6$jc?E@)MV>Y%v~ej=Pd8%uYFqTN$f!$Lx8!=3a7ifg!kQl zjO_gM!0bhqT2ud%T{-tV%)1YUB9;9%uT|fw_$I}(AH`sCg~E#*w&gTM;W;7QUA!|4 z!*T7laf+9ZadqLP7n%E2rkiduybU~x=k0+!U_8Wg?p4s7)wLFfQJcn=XhGVS?JiZNYUS8=9|0StmolM45wB_@V{aDvKD8tC)abRJ zn$-C4D{&5}f+z4%_T=DvIs?`KZSjaCqsSsVX|~3VkBtJ8(J-4B;{wL3F5z{DL{i2T zZMV>%&8xCOb;j;8s7AQax?J0@VrCrAeBVxaU>Qk5un|sH7J5z{xIH373j+q*K=1pg zm!L4nt`->4l)PrW%GewHe;QW~+0S!!u)j29=l)0XYUGzDSt8ptY%D%+*1x(oiCEIu zI2fPNUZ=4eW$q?>{S^TxpNv^Xr16SI73w=xTNonrY}X2*SE~Z+St8@m{@yx*APnti zdg{o$Bn<7qRbnj6BY^{-W?2{`bfEzoqF$j?#`GCwGF>VFWaI9sY9b;wuGcIh5=Ya6 z%QpSn3H&Dve$B@Mr%;>uhgy=jGWK0Yju9R2dmTUSlgodGQwY~0qG zb?ULfmSBkXWF*K9=HeVO$@OI|++yVYvXZ;`yjmt}jM7v;C{~Y;v8yi+?n6~Q21Okf zPx)@Va=qV=sjOx$Beg-P75|%o3YJzGKR(#DCxfMG?j3;*DxmxLlbJ+}Z|X9fuU*kk zag5Hj9jD_a!3Qb%=X|kN#XrX@qVFl$MwjX#IR(#In3XkkvUG1y847_FcAu z4ElJ5mUoD>!xehXdnNC2|A9iYwO4{M-o(9e3g=k%H79mZXt8%vD7gh8@5Aokogre@ zRr+8;*sln#IgnO1G_93I{yM!yubjBcpMs{B6BCmxim#~(6}lZ9#khwFiab1_Z z@36Oty|9l4P3#cNk1I*f-eg(0+MXC(Nw*nt=ThmPsIgF9=1bPLRQd*$^0I%jy_ZVw zUrC>+^i7sZukr^vKKnaXh5E~k-;ou)w*3j=m8PqYX7^wQ2$gEPC**l)$pSfutm>d; zQLR%%S(Rq5S;S!X3%wDcJ9U=Kn)e2zMg1D#b`=m?UA@AAq>QsmEOxzN7K*djbBAEM zz<~B!+0a<>r%Hc9!DinOhavXKuVj@m<~gk|EAWR==Ub`jf2ZmtH-`dWtAOMN`M;{-yy zLk~n)hQ%e@2TN4Ku_l5L#+&~livb^{5@QI(@g@LV=mK!|mNu2pkz52+ul#SOQ=okm z8jj`-#eCxvnk7uQ5#JldWN@v}Et~7Q$TRSj>@uN?-w?H=!>Zd_#(Y1?rRMmH&#J?`#f)^2q;zLWijzYTR9< zkkpbxPbsvqLzH`%P-u50*N@adNK4x_ih!DRP?bEAr>@Fan$XRiqAGjRoUt3HP-CLQ z!3vE>a7(qj0 zR*E*x!`hF>4#PPCeF17*wL zXSXR)S1{a2>FfxL7okg4SGlXXqXo56)zwB(6n`H9FMaf?re)9mxS<JANL*QrKi3G5WT8U0Y!Ac>yVHDLRIJ}xRPZFY{VR;p>@3p?h|nifdLkP2 zbpBH9c;#2;k~=l9el03WJN+D>vsZ1cy(svh|AK)P`mZ7S>kgPS?V8GajxOvNmM*#H=hWGsL}Ijz5Ta?z;cQg%?82s3U58RZO`Ive2O=W{CJ{;L|WzKV2_yN+Lfg#LEEs#~TO?#k3l$=B>7 z4%wSXdysRls`=FjFH(ft?$-3cp;co`;U8(7kFwTi(_4GIn^B2wF=H2k4)Kv5qu#FOBt`qua@tF_h?3T4|e z0#B_--#waq6>9dggwsJERV8z64kE($FHh*+Fku>$vRtPuqrA{ivr&pXSCPHcI}0_d zrO1;N`K-kZ{qPG_wjRx+<*o!2a(5*;imeJfxKajF5H0FY% zuKE|7DJU-M-)C$`CH-t62{KbQ^s`rNc+pv&>j7kE(RE6-I|HP9?}LhCq_tXs>QLhr zqP&fionixys7sXVa49*I5_4oU%H(pc6?AEp;?16MDZT=A6k-n?(jUJP%!Qi6#k~Ua zYQd$hKi3NLI??Y;wNoTV_ITi7>Vjzaf? zo8|Ncg`P+(e}qufLIzaw7J62sA^2pEFevNtfwe(eVQ#E z#c8YJg`4WRu<`qMrR15xE#Ar%W09D ztmxQ2$&jr|NiUTyd1fhpuHhYjyboeIr!;M%iRmg?>{}HMTOoZX(hWGzt#~&@|k8=bfa)s zb2|98D~aoLQaCI(yiOVX+FCkZVg^0*XHva*bOv`Y z?J}uF?}R`aMxuv~>{h(=d+33}%|>pYpL%uX5LL(~kMYg5ovD4yNneFGpk7rI*ij7u zn(zjc;3sZv#o>XZa@s#qv}A-eQqBixhQNGPDCs?@uXqpY`rdJ`&GzHI-6KNJ6CDv! zRo-iJjzQ#zp7?D#%TFdb{JbZks;i~)Y5Tt{AC4+dqd)V zTCB`#rTsGDUcLRI45Srm)>9`XWhQm#Pv7&xr@t3eeZLsLhY#MB1;O`~Bu7i-n5o_=BRG?!;bN4P|(W`S~3KaVOS08?~aCd>Xj^}&# zdJJx6)zzj42Z6V(&$Vl#ym$!58oZngMeTF8xpv33q5hH< z_K_Mv)zW#sF|MYGM0%e7ds(?e1LYF_ikvyTu&cZ)R-sEM{3hExkMVDo{VZMs)?E8# zI2d@TfXQI4KcL~CT++Sezu-Hp8DQ4dQ$mFN1OWdY_YRbeRCP4y!6Cj4+c zt=yGLOtsHIp*0Hp4-0F(JG?ZD`(TGp`nqPqGxoW8&i)w5=cU({_0XxBxoo@|eQl^A z!fX&kOsiz0wXpG=4McjDl$0(Cbdd@Ynv@{uC3fLgzJ+4pmEa}^Vl7~AXUPtS?x#f- zs=9dno(^!o#cm4s$&pc1o$dD}^;HC6(ZhV`kn=L04$n}xpE+%}D@WrB!0FMnwS#4O z$pUz&0sSRiRBX^ph6!sF3+mZY#Y-zGw}97Qu5Ben5|gCgI&4)z?N!1Z++?p;HiR^V z0aw@YBXkcmT1YInN$hGp7tk$5bOUjcnC9PSdkX(|GRpJOiQfAVvbJ>s{JFO8xM9S0 zXZu_9IwZ8ah1#tG+b}%fwmvk;A4XP^H`5>dP*>_T`EG0%Sm9hDd7`=C3BCro!aCCY zbpi$M4J1k1aAUqv_OJ%tyRR}=zhZU=sT#7*wHFMFRT}Le#vODN0b=6$y*RC8$z?BK zy`mtf^Y+z>xwfGw*%5mAW<8)`ecerxp7i3^R>HO42>n9-9xwdkpV^B>G+@0JlFv}F zLjF2r${pv!0NdmlB*#6)^LWGsWQG@_r`(qP#Ne4yxNkBykOv*-Rmdcq9*6e$v3upu zNWDgd0?A0NCTUbX!SRkwYkM>4lv*{1!cJQ6v{849GjWaS($`qtt^^7u`L*_1g5r*v z=LB%IvYGs450uT$8wxfIxMRKoBl~ro$n$GLgvhlNX%^Fm+=IcV?Hag8vWFhdhyGo8 zf-?d(c+%7i7o89#Y3gATu0pT3>;p95EN!n!?%xvKbW;PY-oxAqa(`5v;$xcykH_p9 z4*cK&)+&si25bE(layQwnVMQVZmyT(j3Q-XD3ZnLOY1j_ky49_9H|`IP~^S`fgiRc zXCi1^wNodk=X;-Tcwy9s3=jCg2T>)ND72hAV_{ zV?viWM4DQoN2@;AAsy3&M_ghhIuv@%VhBVnbjo8u_lO0|Lt?Etw>}BW9IB4vIz2;l@6KNm#pH1 z_!HaVY|jRwg60E-+MNS5q1PAke`S>!KT1l5>S;sHYLnlme!u<(n>8Rcbi zfi7aw&W3iY8jvmXsP<)BbcHL(BooFGzk@E#3-rm5DD>`A z=qs9qML*tA){@}e7}aIq~uTSBDd^vB(2b*iY>RT7QDfS;!h^e59MNQmG_ zY(K^EfryC6Mwmuc+KYu&WZo0x3G!L*7Z)K?AXnA!#rxy%E_D!S#x|rODfdZJOcpk- zfbXZgqSr*zYkpMZSt7nzH!cw8GBqnHI71(Fi*X=&Jk|47OMc`zJy1g&Vv$J$MAIOH z{#rUd)qR>s*HQHiJmeA{Zly$UaN>!r#!sh)C$^4dKa+&8Q_24EXTm)=g52T`$54W& zIQ}=EDy6M{qUu-ox_Bc&#+pf;Agg#CtVJ>W)4!{EOku!m1`v<$;{q2vO_?l2V=Kiv z!5ccH^iIPv^_Nu^mXKQ~cUhmQXq6rdW}WJ(Q;L;ZS7r7!cxZ`5C^Q4pzz%m;>PIg2v&o zr(4M)raUR8=)pdz81BJ!yDVM>W=vOVWwH8Eb5Ky;!I$V?J^1s~W$am_%`&M}{oz{; zK`{-+uVjONKU40mptl$pM(dfUpZq0QDH5h{oZ-@Neg^OUwe4vaF5j_k!`W^X;Z*3` z&BPe+h>R<-eYDvg1nVepN%HxrSc({%o`w8rXmavu8h0sZtyRphOajKEkqt z2k#JAY2NPR!b6*z;*sbKO^31=G99ld=16m+B<`8P- zJz)G2Bug77i5*ubG~tow$}3mZce_AiLhsS1gS(%;WnC^7-$!WzW+RG&TGE=M^B=Qa zOhirijp~#~vgYK@SV&$uj!N}v8Dt{AGCD?U`Fw1qOO=Cuk;B1H zH5LZW{1_4i&+Dhi!OF`mKPIL#f5Soi6b9`jXM`GfGa9<{n7h+ zkJ9y`i_Q_j^`6%-MDu(vH)*MGQ1%163vqBKb-D9BiBA*A*1}nFmaGXRftdm-E&n&q zI4cGR@$2}}>0@m82;*0Z9G4;`jNuz=IDCY;LW=C2K8{ZxP3fa0eT>wHHI-gX7~b&# zD?#z1E$vj&&R4Rb@sQ@z;&7PkFT$*e#}mG ztzUJWLh4Xf2s#@}qmZ~U!;!d2JJxp_zrOZfc(RO|H;y$kQ?EEymTUHl zd+BNTWxdO}f{Sx3NtmRUg?lHpub$RYI6r8es@6jW@Y>WFbkT2B>me1qbd8T5rk@Ch zt5FLXIQ|l>BOXs(X6qNL7$oK7Q3dgG(-v9;V33;b-E}u){GL+N<9F1`|1ver8f8tB z-N=TD`~*t1Z!Shpyqo;zJqpZM)P14b(h zQTR{nD#Y|t6@Dy+sqYsGzZAo4lpLt=;!1cAh0kLzLFK7$CxtJFVcOeD;orwF_4QNu z_86wVoWc)O@|QBgPgL@Mr0^@1{EHNR-{IDdv+A!D2e=H8PmL4cPr9^;6ZlnZwh#L+ zhfh_01+8Zi3hQEdmB%1DP~p8}I`HqI@F5{ws5xhe^dBvR zrS|N=A_Xh_DuKW9_r)~?da?65QYx0N&5j`3L18@O{t zAg#Hg&DC7>nk(=82#z=nsOKnvwO21byh00`7EqnXkq=j9R9*IR?DJ;mwd9QF!siw* z+Az9_4q$R4tJrIAb>5^o*Z-3d9}NDHag{V z`2$toy{^yWsOpPL7wvcJ85WQ+l3>pR?+g|R&E^?}{~)re_V`4-ru5Nu%qp8CYeAUlIS#4S&OQfir=YNs~N>u267qn_mWG00_LA_E!iIbTSyC*Isug}V&62^ zPklB!!TvAkr$uigf451kfX|sAZDB?Nv!~ge4|<;p%vbU85#F~+70UUEu~JA!!8Fbl z^J=u3RrdcaT(jHp`$+n+RQqe;g9pU1T+u0|CP?FYQTror;|IY3(~3OgrfgJ0dX@X} z%ezs&v)3c~3GT<^AQxuq@ICk`yC1J9F-S!EC&Hh&ZVD;$|2}OxqW`$Zo%h~^?;D|D zSd+?{;6L|Y2scS{AxiTCv5!B2Yq*DZybq(BXLQEM|2PhHYA)N}u93mAr^%}3tF@nj zK*csF{XZpO0e}naQ@G<>r~uyP*>;s6Jt9Y3DsJCh((^XbLw_p6NB{WWAkR96t`E?e zTQ~I#!*F8K|D(}RSO)4$lMjh(zu&)(3=PG<#S(RaLaW=`1v}<93N<^#D0zZHZ=+DS zckB(|<_f8WD+Q{)2vt*`e2>S9vIcTl@8EZdkQ&GJIV@65=Ktq7>asdDI0ontf-ke~ zaV)M=1dL9KPdYGBo(qcpqn1ea7EUzWrvmXrv738Vv{+mjZyyZB%IyQze-;4M+*=6i zqfQ^$ujSWMs2RJcN4GzrEu{=sZ3VvIe7cgf$|v&mVylEHijQcfd0qQnU}JyFBNviw z7$KWH`z!PZI+P8p-4(i4o?&6v1siz?QC_sq+7(}@xkEA}PtpwlBg2!0NOq5S|4W5G zvYeellBo8}6-70`mmsyvWiBlelppB~=)q`u2yEw>7|5f8- z1j?%)R239sc?G1cej=#qPwk8gA7P6pMUF|4B1-tKl7iz?OjG)3(ML9jr5|(i>{nsI zJ5mue(4e$9A|jpH2`t-qCoA&nAToPPDw`($b6@Ri$Q3hm(daJGD9F|AqG_tHwc~@O z%uDReD#;(DMwR>jkeezpCX`*qqE5D(mz)qJOndzBUlDL@GG(g(xdzdd^zaro;AB<7 zUp9|~+>}iv^oYac9re-K>!h72m>juJP{5AdYeNZe{&*KvYhjo!Szb|v@P7_6QmSnb zb;nrXWR zbV-BkuNN`MS`}-v5+D8lJq&)TQ%8lGzq;?Bz7GcctjR97y9#2F^nQ~xGOa>JDWm^O zGS*R)gJR6FRe=>^_OZkX`Jgj1z`XoIBx5#y~O*%Vdf z8WyMq%Nx^-1%g$$+`)k0=NAkjLmkf;OxVWy3qHfNc(SUYSCdO!X z=@5+UL6z0e_V}|pSBxjnrIzF@L*PrbTf!Zwluf?s`oZbSBf%d; z^LS``SXS$0FKzbu=z^`3SL+Il(|>i@4`|(8Wp`T73ea8d5^pE;5)#@g=Xf}n=x!`7G6b zA65z9?Y;^4hQ8;$&h~G?cPS3yK2zZ!oB2llLU8QD#DtC_VV-{KvhN67v3`V{u8xv2 z#~GwlyR9G)HJ2ANXSNF4Dw2o^1}a*K%`?{sGp z;N5{s^Uk#;{JLP~P5@U;1e%Nux`9J&fe;y)^&2&X$tB%isZ3X-agOX3B<)+I$}U!> z%vkWXVYB4iDs=HCLD>l70F<1vBvoSPz?q<*#zVyjSrNgSqD%xtFZGBD7@|l)8mUm5 z0}LEVS_)g2YEOL1yYX!uSnK$mi3P2E>bcyNZjiG(Ss<}WIbi{H{}#Q+I95haQ)kd?&?;gORXJ*cZ=$pI zE=6qiyK?P&v8w@4*%B-0mz0tBsYNQBmL(A3&F!dkyptv(Ws993@%wZ>Fw9>Rh4DRw zPA9}VwMx4x>QCHo{mnB%J#t?a53-Y}%;v%MDt;m3ZmG5wDoV(DeHj#mBp|wlw0}Yl zp;y&Fmx=*U%C{lg$m%F%bDmP|HmX?);0^WBFv$r3NnfvSSkPDbzeI#HB!*h1#9AN*I{7QTv+^ zicPv#pe2lpYp0d2TEW%2f$Sc{&m+wHPf*Q%aK>6`p+esyXw(Qr$X%9Uy6PTQkgvl6FS+*q^C2<_#5xZOh_2(fVWHz3y9fu+y zU$7+zW$vXTSxO;JJ>-bPLZz#BRpbA9Ot=#9mr{`)p;GS8KU^K+v(!ne0fPk1GcEyV z4Y9E7BoH`MFv()L_;IMFH@BA(ETja)LOIJ;80+)Kr9z)~vv#q#Q1deEHs6Pf4J(^I zyoA8Jjb-1-mIQT5uL;BF@6hYYv(XUx{Qa8yZEsHc-vMg9rly2r$puU!+FY~erSEe(M|Y3 z$X@YulUU|T%5eTS=Ed;?-Nb@~^Ny6GTFR(_nfE%$I6NE_Z@XLBXt^`oaVKXe5jV|Y zq!t8`V8FG4dK-a3%84E_P9%YLf5WJ%o^`8oLsOH4C{>D1QVlGAw2_CVUmwf~&sJlr2Af%Dmk4Z+>+ho#yVBLjLGslz}$ ziUtyTKWWJi@`t1Zcj(`;`l)->a9-k!_jANEdrrPd_bOYV?^Pel3d-N<6;p`49S!=} z5;(3_g}}Kw!X*z%Lt_~Hn~+w1XE{0D~VtjycmyDIc;am^b)rG;X#u|KH! z1Qs>lWw8u5TYW%$^uFvg8o}@JMxwhO=~+Z7V%C00Z)g&ZN3hHBhG@mf8Q(~JAut$O zKXj=B?cd5#Z^(ci*QQOZZtRh3c2>x zXLPi zX7jyh2Ikw?Uaj)f8Ct(isdgQ5wld_d<6fLKhtYCRt*1-fNvSZyk%q~xW0XaH(LsI|9DI3;Zp5vnpCI7Ja;#1znVtv zmqI0VDkf`)8#m5^AYn2r!GTKxbnJ+ZC(8F*oTQHKQ!T;Si&HI2wBv;rSa`s59lUC) zx=*8nGkMLU)N{gSQbG)Yb7e`cL;bzE|HoKKp|Ci(j`m`5>{H@4Ms=(X45U0P`X1C& z;oilAHh@oLZ4qd_m+9KJvjDP(;O0_bs2cGO5AATDVgMW$xSM+_o(wG=FqS$|85KXh za<CCT;?=@VGhc^-mbPkdTPCR_9u`EgBJCers z0v*A|`d1HQO`J?<28s}#!S)wtnZ4ZNPqalONJnKvyeH-OO0pEj%quCLhD6>wOF3Su zzi>OvA9@=9t`L6nwNsWJHjRP4U@Hc*QeIWKT^ffIf z&LjH+CJAHVZGwrv-0Hzkg8L(AF5Lk5EuAKvzraH=-s8@b58UHED}dFmC(FY5iyjkR zk*G79Lt#%x7OfWlz5)7i@LasMl~KrDPpuM>-r5`M&pD*FwM3!eh)>VqlV*9aX?I6= zzvMsU96}uYVBp@A-%8tC1s_IdHzGRhPFgaKCoHRrzoS1`V-$-`+Lg{!5UepQ7!% zK2^^C?e$>>^#yB3K6cGf^tZK+q?;uE45Q+a>-L$9*m$#QZKiNM<4OKn5?cm;KEBq) zcz?W{nd=%RI1+Y(<@?Z}RC~nCs=8QE$hA$-<@7^p7DBCD+i(T+e&*(UxUjbDWSn$1 z-o?mXs{OFK0>q4CN=yQRHu#$34I?-iRj6(98rajh_C0JG3}_&nHL1@cHiKG*^tw*X zoj;SW=};n$t?RL1M$BFYWi#gm$nU_a0z1^J*&S%-fY-Lq)0ixK&%KS4+D6$sV7T4KD z+=1WKxF5g2)VHjL8&~I}kpEPBe(FH=P%7F42P?@9uTI0wY%b^8djup_NJu;fk_m~Q zhz*7O!LAAJ)F=^?{;WVXbxH*jvlK}{S#t0%qVq!Oej|5#oVt}ueuV4qx^6?B^PsLc49Q7xw zL_9b7ILCilqn9|s!@W!(p4@AH;?i6k59uD&>a>J!Fd`tj>_B2PR~H%-SsvpDcQsYF zr8Y9Rk5)|`JlezPfvuXS4k2f1Zb@2e$2&%FkXt;fexg7Oqxskbs?#Kt1H@SRTvPP` zUC!3SRWv^RCh!*eo~S;fD>hzJA>A6@?6!l+eXMKJ)%maRq@{ms@C=(E+3z3{B(`BVm)q*Rk2l_)Xbv zkkG#OXB5f)tajP}@+!u&MA`nyc4RTF5`TX={)aI>T+4WMjPIH4oZ?;2S>^Z^$761s zKvdS+rPjmCwO;GHs`l48ZgiTLNVG?zJCrfyz8~|Aw8o1sGmJ^ zk62!zU`;Gor-FC@kl-?Rr7|prsm1CtPr(n7VCgbbVi^pJ`JwjfV$M+Kt)yEQOeH!y zPR>)DtkkPMW6@4JV8sxBl;$Vz$Z%P*y7(}hxxUAgPU0|;Yd;NkF&-~3#5z7<=sk8r1g$gw*2WS$J55ZUPW$_qt%&?`g63FXQ^Y#y z-|i!{A0fR)`VE84(A+(*XBRn{Qxi-FyqLr~=ly{S2%ha&o`~{GFFM5DCM{j)^*VKF z+F<{J(M&}^zqNi$RwIX?xSHL{c7V(o)dKgzDv|;$^;NBQWPRB01+8negAnXY88KNS z;-Xbk*wG*_NX;s=elXJ$3LO&xWY77Y@PtCjXZ)sG9E9}iFrD{1eOxlrejoJ69_K#_ z$N7kaW@HqAe-OFHI6F*09mV+ixui?)IF79F{HF0D&Y1`qnD;c zTFqpYWmc(nZ%dHp2QyJ}<2Qo_$G}>fDz6&^5~XByHB71Y4<@5FU;}d2NlykRJJ8ZPF_=B#xrzf<8%Y;O24tn=UkVtE;LPafw+dnyhEi)h(I+N;z^bOEQ8dPs;!Mq5(yCB43W;Qg@;d02 zvd$>P9L`_K+Mlc_+@O#a;UH>HDVtuij*?(V4Az z%e2T&X5z%XduoJR&)0a(hP|31PEG3mk(2`0DgKzM;4m?86KU*ooV}lt)rodKeTcOalOM%@ur~3M%_b%N7=8 zTuN9*$_A1Ne(ddVuCRiitu{gj5s}@`Cc2aNQs~PR8m3SK(r%Try+S%i=$!o(((CZ% z>3RzFatI>zQs@n8sUSob&E{yDC?bAv8|jytr1M$-RH&ENVQTh+&E9@{lq%eLGF>`Z zT~C=&Q>q!Y2{NC0jdKt0m}%;0(l6?rNA9c}x$ys2-SnA-FID=?Sa1I&aacy5IY;GZ zBDKMOUrIbzK@ci^eVX-mRbO}E3n^^UeRwMf(_gF5T1JDHs=+;6hQ6EhkhMn;s2i1G zXJav-r z94(}^f5b;j{$3^drAln)E#*QF6Ki4bPR{JVP_}?z0MoWa^Zl?1gP`a5qou83{v3)+ zdc}Oq@m%|AGVnTkJ-#M7i-o2MD-w8w0D^ra)w-C^G~|b@qgbo>o))1|acbiFQs>Eb zu^OZW_A2oIx;eI&orrX!p}K&G1Y|!YzOr93@DU7w8SZx5K&iC9s&|&zQGpOSRiW0vWgsER!+ec>Q&aHeuCo5!9l5@zn+2U|whuN_|0Y z16pxnv`wC`_8Pb}tV6{`zv6Ees-i{AsEU_Tp4`Rr`Sn^R8v#J`QE`$Y3XS)(=vDmH zGnIzl60HmQHsV2}2L7uiZ|%!kD*m~Ly!D|B>ur;i7j3`2>tgweZaJQDW^Qp~Vs!0w zX&A6ZheH;~1UvVefp+4YFxT`=Gqj0b*@pTbkwJ3tJ15>%KhY?E5=a2-*D*9g9B5U% zf4)HfsCbutB_f`DVN)}8im+Uyq(bAFkAZ3D)8%ogt;Ul>CPjEW$XD$1bSVatQIR<9 ze05pmyR_>fU*7-;gL83fn(-RnL?(tJ`345NkYG$dO z1@XH04fZRwiau+oVuWR7eod#(o$blY6}ahSeTDq9ZF#9YrX1&W4Pj2*8xJ{t&jfo8Lkoj+2AAGQn4FH0!Y zys5mlL9a46kkKxJ<6NICjKa3Rs-A>l4E7b0EIoyAndy|_-0?Mm_?IBvX$H4`mx;=< zW^k_HBr5m^v3gAPmDdVn8FdjY7yO9|7HSqCFkYbC37~D>K-0E57*?uX)zx6%WV5xR zU%0e>BHhp!CG(+r=`y-POz5k%*al`0TD!*(8}WP9Oq4-F9IlW!^rC%{zPeVkO167b z)x_jV<-XyyNZW2ymc52xmTHf-5G*Pl_IQPA<4H+XQhOkqDojvghY7r~sUyr#_2y+Z zP;HdKvCxD?Y83#F38s*yY7)D>0Rj4b0gc@Aj)++H&W1Q8^@MCD>(sV$t%IAcDjT&+ zP&7-MiCzWA>B$x!FG^hYs#`fXwbI?K$i~|I+X}Q@gm*;8t9JA|hzusRv|DzoHQ{^Q z|HD9;Z7FAe^@7_Knng(V=^c(;#QP75{gXrUIsc>3M=5k_Ijy{4pDo7tEY-e7N(IrM z5W+`eBr8JE^50hyCsLXhGHh9gh0OS&Cal8ZEQ9fmQGIG@%Sz_@SArui*kLMY<;;T$ z)~#H3n=pG!vg~iz$FSuf@e1)n3`eO!RO1{2q$mLIz2tIo4Uq&X?MBi(QOsUpodLn= zLQ#u{l!0F1Gc{KL8mXB&4=zVtsnUe94=tupc^{&(;n2((eyGqE-g2r^r4@w$@m2lr zB{sZl5mDVMAM16>d%-*W{({n-;f7J-?q zgy9RlE!H#{29?z0b;flnT2E2arb^MPw_>!gzC=zJR1Zs&K^J@JB^9gEp5W>nMpy;4 zHg+euV9E9L53^)#Xl8|x4MMo&YQfGCWU)@QGO@PT5`%c$bH?ul;ypgFliy7X6_W4a zmzT}Q_I7Y}Eum{0gh1(zhX7t2a2@@D#B4jC!rAsN^%wS6gp|rl_*^a&GVOJ(_>l7W!rMrOSj8`(;YoP&-SSRO7SWPmBz#zuZHf@hoH8Keq(4en{Y9y_<9 z{5GMMfRMV?vP8!f40qE)CJ6^djpm~A>&tc`)vG_hy$rxM!M>nx8KNX1Qip*6LWlyF-5;xX5;EUF<^*)CY^k*=*E#rwxPH|9lNnplXPST9ym#{`KdmxP z<6Xy&^|;f2H@efu#}x{Fw`1MUcIO3`>MCS?F3`x(_Gz68;Y|O&g)i9KBR9~usq;^Fcbc#HS_&9bloRw zr$I!%nzTx}=P4Iz-_f<_U-O=%{B2KkCBcg!ym2tBcWa^7*It<8;j6}dHGRd)8ash0 zJln(@ctth82K}pe*~1dOxyJdy0Ky#x0RwFVgAk^t`HkXyL~bH>tG$yCyV9JiS|MER z&maY}dh9AZ1WC2gzas^q*?=;Q0l-vgw1Qdh4zg*NCo$6*cx zFm~Tq@yxE+7pK-=P%C~6WKcKI4A2f_E#$IOW;kAkU7MqzfYeR`SA1>k|zEHomzkrv=NOy=ZyyI1bD2EWSmC9T^ zJz%udvVQw7}hsoOUwfXucccIeyF}iV-3kFTaxnG8c+muSf!wY{$DR9c1buzM0s{KP(N*!@y8sAImq+1M&8J-}6^nUQV+?8Gi zww~Co8R;1>%%4>!(6IuR_Bp++gT?(DQcoO?uStr?8~s+Lj@csPV^pyM$-suXyb>r?ZQ__`dt)A%u3 zM`b1wC?2nwt^^-{!LREi_@Cw4&Y?NCbL@qIRxeYvcKB(!-$eoB-tvm*jR!5eTnub0G_J*VADrA6;L7~Fm&r%s-(7%b{@tDU zcgF>RT=z?q1OE<$r4ZQ^?j)Z@r${<{0oNpPJ6INLZ~wChkzXvet7V$*f&P=%BRR6} zT35)+9>Zu{&p-*w(C4_N91T5;sy~T>)ah!iuV5ZGP>a4kBLp{Qli20e>GKsK(LOE} zi#@CR@iiX?G+MvDK9W#C~5KXk+u&>^O)AAOzb=` zb;W!F>h&Q3_rssB8trB{lfjZ!l}~3Dey);}b^^#o6Jv{dtp_jCD)680Lw^u>*D{Dg zS(#DjPb+l8-<#McyfECS*JbyDA$sIW;&s{SM1CpF-T)aMSIksmihUl{S{iybc%*6c zl-|^<;`L?+{N3Cih`{oq35unO)LR9qL0{@b#LCK4$X_5M+r-)i;vz&I4DO^92&Mpxfx=gDNX-p=zK(?`Uh(C0pZtVH<~wA5yJg!(w4HSslEQ8C*)G=@zK; zNTg?RuD@oW>Ls0+#MS{zqBvj$*i)^+I)DQ*vq)fyf0A5PYMTCtr1lVMQlFrE-OWNb zoji?@p3bbrq9yxrDd{>Wwli|+gdIq*hI`K_s820bbY*h*wYvOE5)xT})98QdG;@XD z7YV+0otax*B^ym ze!TY%WoWMf6vxha)qgKwsg_>U5?%2}3xzpQ^GD#t5VSRR zc~@u~fEJD-<;CYX7|v($34T4yZ0QO=Dqec`H>J3Xwpxt3fjq-xa-3+YH~t7R6wkj; zhJEPHM{H|oZ?O5Vc?;r&{R7OY2Ux3J8?ya{^=u=xK~;u?T&`_Ta)BAwa1|w5?p*DjHx&1!af24`7@7#Dv^h4J z-%{AE8fMI7=JUrR<&;qQk{)=(O-)fN-#}wX}>#335WFy z`NOogqWSeufJ!7iR2jm7x4PnfZX$oEcVpD=*ERU9R;8}gBx`VU`Cgh_d;I)sB#bn! zvT^m|TiatXve9^y+}Uq70d?j}+xv<{CQ z`BkpXkNy2ii$8sFntNMVgIUh7*7oXD9r+*M%#S)`XRPMBSj`1gL;5|bioL6MwXQ*}i%>st>6&TC5@ygj+FlVyTSTmqr!6PRQ5}=#8^IxRJMBR%)s}+i z*q2g>_s~d&JWf1ZiE$7Wnc3M&x-rfv=TtifX_-J&SM6hp*UZp3GD73LRxSliuFrV> z>p#A}A=maG>kqDT>DlvTN?>Fg*)7*L2FOKPkMj*SMH%eZD~OVe^WlluLxJ04tw6nA z?H6k1-O@t?)?oOSMpmU>NoubD{lP*V&+`T*M6_Fify#t&)d)cy5NyW;Lj!Q#(gScm z!>_fI{9EiJcohMzUIAZJY42pI&k^y5)a(k(;e6czXX?vyh9R1=4(at*#k6hd`75%_ zIVK|7k+7R+oZq%jBdvND$K7fnIVZ{^?>Lm(Q^tKvFRUz}(!K~viv2XQBr9OpW)hdr zi<^adK0z1A$V6gKnH0ZzPY+pC6j%jf(-fc)@M50Yb-HB`>MV zU(B#1RJ=ZQ01Sf1lW&Uk9!4dx=f2FQ1>?W52^IWxb6Qf#LVh}lRA455C)RNk9b15G z;5zc_T2v5%H##bvf4IzD{A6CcsSJOAqEu`#C>ega8AG3y**z&fCy|omCnT=5y=>Le zomI?I?Idb9KdfB#t|Y(Ax*q=6Zamn?-71OSIB{1ehBf0&u_8Sd4}<`)HywYA6A~cQ z07efCW}F5C*=`yPrtw=`~%4FZ)N`& ze3)1kHzKE1sCjf4dGTZZO$0arbvBtL2G8FhF_^9LJG*?T_|}aQ0}e~~Q=UT2AtFMF z9yO=65SA4_3=0ER+)@$)Zy<+y7DDp}+`le*Hu^ zR#p`cGDU!{f=&Ipcn}b%)9%Bs=V)U+Uy?T1MMN0drWwx*KfMbmc^etF?Y1-v}M8UCvK5N8Eup z*YP-9N6zs3Zd2! z9$Ac3LjSK&BM|ddC>V#z#uhe2lERfCr{Pi540D+Gi+U8@Kl<)JFUcH%Y&#fY?svW#l~`Wc6XLCwoLaMSaD3DjchDin|j{} zWpS#)_r&lb-hWc~8Fqd3eh%|lXWG|*?T;tlB2rR)a?oyp@A&t!;~LJ(p+Oa96C7{f z^3^hIi7RuR67?}MeKhHVh|zf|WjZ;EY1qLoW$ z71s{AtBc|>S4y-87&?@?}y z%Pr1uBKGXEz&yc;y6$ipU~ZvA4CC?J$yNVeC|h-vPqCK7(`L;hwzcE+s+)W&^5Grr zU!1~~J`ec(f%vjDb$Y8GH_>!HGVnI=JMv#w!HThFzdm}4vHybSO6sXRsDkk;hvmr~ zBXX#w%Ij)lEZs2Sr=)sz`y38(TET07oDU66=|5W@-!$`B(yBBnk|2oOGV!Eojve=U{ zTKzR!(a20p*<*kDAL-LBji>`>SN%QU2OXyT8vOQ;_(}z7m7`R9JkjbdP1*KJbN}Z) z78r*QgH46+uM`maPe3T_w-I0~39uypg8SdCJt>_3PS2EEI=@0^>@}Foa(eOaSCywm z?PtD*&(chkHse+*WecIqf5dGhx=$n9+a4R`A+}>Z`89WC(NALwnR;ehbCl%psj6jr zuq;;)&zDm`Ct`fQ{NI+G?9D)`q0-;*$>Z`v$ICvGR`F<3;Q9odF#m0OBD?VoTR^Q# zBG^@8g~WDZ)x@gyu^V=!>Ffl2ohto_^Ph^`mq^QxZP0#-+EV%GPc<8e@bXaXeS!_S zwi}Tu{GSQ6c6@~`oLz;7XuR*q{c+K+D8Fc-%LB{5Cm)ie{|=wCIdB&B!+)w?F+1C? zQm-~_`U(Ee48QToDSS-~zgMa){gUu%$ev)fGzam>^|M{H163w2Rph8l2g^`H;@m$$ zIlJx)(G)tLE_spNKWD{%U2T9tApLihlf^=w?Mx$qo&!;<#lromXbq!fpRdlt3jlm1^Ia0A=1KoaEW#?R>?4@=B10Aic|?3kdwX&=0nB zIbk;WK?(E2dXcN%vCi0XPQI^o5X$bJdJt* z{lz=nU>t^=Kf2E+y(T^!my&LAQkx_^r6WL(mebp-(i8Rn8$kahYt-Me3lIkS%fF^K zqd*sayYK!tj5i%tcJ1hK?!OlaSY|kumITX$}bnGv;Ny*(?1cMgI%F|658Rn?$wNkBb4GfwlPN z#o~t-1>2v+ftc+-KS+{VZ0%T;VIN~bv!afZ#2Zg{`D~EyF5F<>O8+%wn+RshJ$>r` zBkoM#?4Hj5pF}1?#U0BfN@`S)AWYPhlwk&mJ4|YjRwy#ohEl~K}U;q98{&_L?d-i8L&w0*s zw(B4Wtb=pvRqN4QQVn$nW)&;-FY8sJR*gD^Kr&ORokQrM9gRD;je!sQNp}_5=X9N` z6u%O-eFfEu0qD$&l7@{bLv5!c^p0sQsy7|%R;Ip7(FT$q1hbXim zA?fV#7Hc|gJL0{LyER5y{tc4&v4wc7s`q~$^N$FXUCwUqVDJI-Go)+K^mT4e9)#*3 z#K`37enGK=274~hdQ*x28McV@?!>QUbEyZQLeeQdHpGt_eTbE2PgYVN&SKUL&jjjO z^fKN%2LaO;@8U!m+)>JQF)NdJmI(0Vh8!pQiyz=qzr^c-Z&>C-a7uXyKVTSXY zXF!$*2z?a>U(vAyi1p98+@fPOPEn2Tsz&^Y`E-kdPg!&5h4U4fr$l)zPE#mnS<9A- zDN#HjBx4Y1mVDa%x(QzCyI_zRXe+<47Mg!OuIWU@W`D?^23AYvpMm3J*7)e^Z? zy0V5mHP+xiekM5BCgo11RReQ2QSLH>!RsBhQ~<+3G6>v7a859gI8t?6)9xn5w4(f~ zLqT6;7)4A#k5wy27@@3F*Aw;~a8DxtEip}lnbqA*bsyjfeG!6XgkGV@wV(U>sEM;& zV+fNMcO!0n7O+Ym`@Vxb`%PF30P@x~V=#@@cc%HxwF7D5%`$749ioNkku4=s8l02j?0?b)CVP z5?zeUSJ)jVWo-zuk^Q2GBrfA`asDp`rG9ad3=M48%85}X)v_BvD6t z?WMIU!>f$^nA5H8O!mBx9Ok(wDTA_KtIOWW1tEE9w60ka*6yaG$V$lD|9s> z&Z|Hi%RfzVyAfx@&NT|Hul#ZvWOP7bZf@*VoI#&x^gl=G|1ye;Gbbr15`)+IlOkSe z=oJ^f|EhUpw(7oLsyV!qpMtY+tB9+7J-HQD7H&C>*iu)~>i3B3dRqM+%Hmn+>i74U ze$nL_fOCtlw9ni^er?sLjuxeTZ)i)F*IwD!N8LppTUXn)m!PVC8IW_oy*e?in-Am~ zexSYn3Xh7devg7u;!+RfU7h6^c%;rFT@d)>6}QZNFe@2!$_-byw**NtxyMf-Si5v# zwrUt?c|mvsK~lzKN95X#433Lf?J}y(2^kWq-9iRY?M0C6OttS^Zd6MlXQfnI%OoOD z?Iz0cnfo2TMzy|H;i}weS0q$h^DR%c^T=aVJKuO&y>Tm4J7F>_9DvN4yEl$j_coBv zPNX~48L6ANwF9(gjSon@Ya(c(;I|G8BLhecXT7cmZAt`dAT300n{L~C9@aivz}EF1 z6YMj-LE`sHYTez|*>A=?rzXkA3=k5g_ws9)4)=iGD~Y5V+QzC2VT*Wt8|JWhTqho{ z_RsHiWXzU_*BU#p*wK=x6nL%6Lm8goaU8APVRl;${j2U27(MfOb+z579E~uRmD93^ z=`f~B2A;~QWv~X0@V#E-r0&>|Ns{Sp21eSdaBEqFGf~3>iR$hMlRhf|j!gP&(5Y|T z6|4YBe;R~NEe*I?lrC5x(u1MFf*|`zBba#$qzEx@hMdh|b1(RIB$2UB9(Gexv=6`r zl$0wQ`GD9aISBxbl=f;)jr)2G1X0$6sif;vD6PTu7T8kZs%J!`l+CCjrTqA2E!tbO zzL6u>ZNyK(k}m4*;=H7!tilh42EC1fzGe-He&p=giJ;<``#Gg~hu~z5WuN30B42{I z0#>J5WOz$Mm^3B)l__cr?rLmqaQ&zd_QRz}GcC`ALD__lEvHgB8kAWn*PjOW77v4w zSVSI^3zG+%lLo=1fEQf%kjaq-|A?_+s=?lq?kFQ2L@#(p6O4e(Jq69 zy<%>0LE&hby0FFF-Uev~F(b3e~tlu1<()M^-wrZ+$G5R8({ytq>RiOI(uAraVedbk9 z+nNDmTsmY(wDlHx*$5fgb<(=pdQ7uv>-SkeFV)tE{Wj6oA6@2k*gO214*Qr}^;9e57k5;jxFb7QTq$5P}u6!X9UGE4{IivHoDp%agO^RqH z$S)1Ke=Q}?eBVD3U0_|r?tRcLNsE1-cTwiZOu%d(ZQe(v=z9UKMjdQpmTb4!hzCV&sX ztvKvrJ`-DY1nVPaDO^XI>PbwAW-{3L*CN@ocMg)n6(1qf*jHm&(Jz&~=cXj%=Qzqq zcE|8*viB)OlI-o@oXFk_A*!A{CVM}9P9RsmBiY*vp%+9+cR7dLfP65mdVH3jP{3y! zpZGgl9iT7GCoSOPjfA=01Q-qkOMn1PBQpUA<8E;?5{M2qgEo^-rc69fk=O|1uSxpX z6e<#qSMX~%E>MAN)fKFH3PiIJjvD3r$i!#8ARP*%ZqX+afyhyr4FWc(Y_A2;PF{#g zn5w&1yzHo+b%kzSQ?kN!_u^y16H0~Fe5X_Zi8I?I*bJu1+&oP%l7U4sDO z;;|)*^IW2Oh;UuOdVq!uJe@I40$PMD%bO8d5iME(?jWl1D5^BJfsqKeH1HDd6@)h# zV$H7H%0Rhwj2#=MuXQM3h>DffJqdDQ^+}s1drabHC75R>)ZKX?3R)vai&tl;V zg5jdo6I@3Ep%Y`}M5EP+LJzUg5{651tu?nBVo+<(x~krds5iIQC3drV^I<^mMNkd+ zy688>oyKiLm!!EBvz5h0-xG0OD{z7U`jI@@Hb5!(+?j(cs7N6o#a#{hRfX1#7n)%)P69{(IdKkl8}_kXcAzhb$P zMyu5dl8~vOmrf^2tgva3zy@B0Fy8j;?|z0S!zifI$_kL4jDdsJ;f;>oAaR(P1v5r%wY4Q-NDO{HF*5B9Kz9wZR( ztRxFHuCIxe-NhxmIhVP4n3<}eP$Rph+Wcv7Z%Yz9p+Vb}fy|f{PkG#=FtG(73}>m7 zLAHS=*`92}3>0wj7MHQj%o+hC+R=)p+0C?KiKZ9Tj>)z!$WW&2iAGeV?g*n2!rv6P ze$g_u^@Qjv#WCeFWYnPmjjSxuyKf60NYW8-N2{!O)YHuaix^rGWQbtLZs#eo*a%%r zKk5(>SF}K=;9nR@>p^qUn5Su?Ig1d_n&kK_MaG*+`nvX;NMHt)s&|K3*_VWkVXVla zK|vyDV*;XSV}ihkLgMNkiLj`UXQg3npqg-ZR=2+3qG!Bjk*(wQ;;v6mCKFbK;8^u3 zGeHpWPPRniFtf5(QW5l}DNlU)68v^P5ks)USgV|xlJRLIr6i4Bm&jS%1(8)JJlxX@ znCovXsaA=F#&Okdy&n!!dkLN0mUPErz%*O`dcbBalmJ&RW(_HKGb-O`9jB2d4B4tD z%{$Mu>j=6z-cz%a-uHG=?&s&rC(FrKa8@@e`v-d!m&?0hc;KLI#5oOKc}L89-ducPm^3yQnCbwumyT^p{Z!nOC@9Y;Bnhm~qZ zQC`4<5;sm3B+l(db}v~1^2;UM`Z&I@9+Ir!G7crILj-X)m1xsHSS!`V^vgZ*bN~r4 zMp<`!L;0^4I#*Iwh*(d47ZTb~VNL3fnL1LX9a?jhh6Q)ETu|}G9{p)>LyOkA%3hXHk}!Qp2!!74I{)**tKs3HOehbZv?)Rx;Kb2ieUHv(8s zul-S`^%HKs%d~!cB=3XneR6%azukJLOCASs#bG|}8f3Zh*>e(DGnPMG>w~}j*sr?C8uBBR<$iV*DIWRA`=Eam(I=&yLj5J})iT|hb+`qb_}q zIa-)B?~TzbinUy*k8Igusta$o_PM_YZ%5NESoJydJ}ld|^rh6rf(oYYTO8jxoi!EK zVGrZ-{E@Xsv+dw*b}AP3HyM2Q9Et_AO!3-pd_kz53T~wWpu3HVlUA1h*;?7!w{j%i z?A^pFDhcRksMqNa=Pqcc(6rIL_NY@+t2!iecH?4Q>qmC!VqZ`~ z^mYxRcUS-3MDU`4j>~ljTkg|Y$glq8(?0S~G1^JO*vktwk}?`Xr2B(4*?%q%F6R*uj`9A$kERsU(W*4Xbr zj(8SgE;+0NPxttfse|eg5V02^1n?OZA628Amu6^2B+tvJCI75I^L&!n2N?S&n&dJT z%y}`44Fy%=Lbm!!isjR5B*@g*S8pDK*ABVn<^{{Wo;5R^x(wTQtObAHO(hCVkRmn` z1^p9B%lPG5=ShqLxj}zYgA#2jRU20*AXG`_O};LA8QXy5LeB<~8%ok0O-!L z4$_6PI3Og>RAaif$6x1ppo!GucHi1<5^*EPSn*UZf{ft9PQ3lmc*Dz$tVa$Nnx41K z272|{GX(mecLlnr^ml878z0ZG>izote5wzJY=@e7csHU=nrko=W22XIakX zqA35U`5#Pi%=WNd0!Rk#aRQS4YR$a_w}#+M>px8apEpe4D59kUa;2K53LfF}q#?Fp zs(HFTvegF};Qgv1;IA0qu=jpz(nELvm%IkRuLzn@nyG$c%a-PF_sAmt&9KUN3B_7RipLc)JgG#woyJ7D7exReC2 zT?eyeB%7MVTbK0YoyXD_>)yI z-P8vn^XhTT9o9pY6b8F1Oqu2K7no{M^A*@*CSe6MY9bnILjq0oQr;xtpGpwPXXzu{ z0dkMEE<9wY%TSe^TMx_=Qb9!K z81J|^@rXcj2!khr_jg3B(8b44nZ1{Sh%BKF$zgWA;pzdi)Q*_Lnc*LMefi;Na&Wyd zc!6KP=`?L{J{jRWhAJef9t@Q58Qc>RvRCyvUhTrrJ!390bTOdlHiZs&>eWtn-7R8L z^sqJSnPV%AkZC6xwHl)tk~?LbECDsz`iLFGK2^m;>Ie9+m??_U>%9|16uIAwcLScVJn-BTTyGSBf)5!Swp9lU_2XLM;hFJ)Wud7bnr@+RKD~og>g%y< zyRKDn8m-azC-(Z8CnT)u&Uyp(5G6bYG+zVpC!I)<&@WdX;K8a1I6@?LyK;|U+UV3F zV${$-)k!%hzSPjeUn?#P8x>QXE#D0wj;wFx!8kguiPpBEZGfw1(Z*OS+WlTC0yQ8B zpt0j9Y@{5fS~QLCEZ`ff0CHW4`umMUZtmP$F=V-K!sx}(TkCL@q8Qe~y>v3A>w6mC z`ls*7{*!Nx68lJ=5z>clX_{fb{(diAk8(R<$oTLnLRL)-;cBwd|l1PZUDbe!eIrS!Q4<3y=U~^K(YQsuRurgGdh8 zBfjI6ruHUUozsJ`Ab|%0Uqt@}fC*H&UIGG&-jZwDFN}0ttw+PU1$YG+M41nec^mVM zGAm7b9<`=UvZiE>y>2~4HsEUODzXC1;1D`1MJ%r8PsX&f_w{4i>o%r=0oreQYT(KA zWT83U@>i`8IkIK9klBlkUPfzv20ZEC)~k?VhUp)Wozcx+p$OX2k70M&gbi8TfJL3u zKtGGh?Rjo8l#S#zbgJ{b{ksuRfKQL4{4agbsYenyz<~0-6)6294?UB#!_yC zlPCdC4e*?xx|p;{V4=>3fGY?pg^u2#i#b>Jy7^Oi4slP6W zgqR>n@r1e11lVr>p=sXH+J|aGFMHOY@WN)@={H5yKcGasM(3QU-7`aJs(L(4Kg&JMW}TfYE9l%(_9o82;|6C=Z_c1 zo4xUJ07L{on#{d*ftRr2sr7A7tq)DjtjgW2 zGK>M`MziHVC@88s$w6f9QgYx^lgbt=b*JSre)H+xR3AI+nW`?Eu2xgos@3?6jR3>R z0-BS4XvvH;@#;mmm+O6&fiL1QR5j-M1~keAlG637KH-eBj3J3=tZej9Gwzzzie50t zJ#JSU8yISm{C^{VeU>h1x3<5Qn53=Bjkng074%;0 zb}K5qr2)rS8B3oQO3x3ht+mp4Pqn5qP7l|N5iL#BnO;wWmYKXCMAZfERe0i>pQM@x z8yYh$CZGO65rU(FWy;W0s)DOF7lU|9FAk{g&NcqLP+OlGo_ngDA=#22C3TfNiL$qc zKnXcx+S0vwUI)L;tvphN6YNIb=ft0er;BqJ^pcUssJC~hJnZ6$5r?R5w8tC=6mrZ1CbvIlYW_-P zBEY4}1OYs4gg;NC;8rX*GNeD$kGT~m^LUt1V->6zRXfssigz#EKVaHu)L!@#|M+h3 zC*CN+7N8Q*%3TGiI&Yg#UrzD|sbkAtkGsGV7@PvXq#!lQ1BMJr1TvKq@yo{{lmbo{7{ALa3* zB7QX3hlc29I18y|Agzw*0wue-d>b8*<^*`WOfp@VoNvaR|+$dNmRoqRHW`xf8v)EEul zxn#y?)RY?hk{=8nC!(%(362xN0-%psj=VzL2(SFAt)aL!#(i%_KNM0cx=hu5Qo^dd z_<|x|7L@+WQngY@)0>B0?C+vtVy*YM)h24y2hp+7_yV_oQDON|!ULj_gBD z2~JNAnn)6BBudEU;FoG=?yqWy8>6^HaP^VMVj`W1yn0zAPem+Mt`Dc%pLlnvN?mJJ zZpd-k`D~VLOFw{d=aU-!!TIz}-vh`WSkyr@t^1y?Qq%@SX+6W=bd`i z^m_D}LYb`3;5MgGpI_1TJo3ThQ@SGDCMD_C&Q8VYn}+lS`E*L{mxnOcPJR!<8yC`7 zDZGn?ZS-EM@U9`uIn4zM4+>!@F{_Z@jv(Em@Q^}%Hz<5?2n&COe-y&hH(p_kGQ$t} z&Qch2#KPnsrSSMd{=*dJ_)g5fzrw!{VgEz}Rzij=F((=OawYkH9r8oJS){wU9KaHPu!rtZ_)j5B`V9(C31QzXdR@cH1eyYW zt3M<}c)I)gkv@}0TU^yn0m{zNzudN#zQiuh5k4|kj(lmh)B&AR;z z63AGS0P)?g0YW5G+y6H}EdE5we@%F4yI|*tvf?qL4jjloXGOWka zV00X`e22zOMh+c>`TDDT`maKsNzMH~*5tJhw&ZnJb8gVA$xRfx zKq2616kwfY3p5HiBoNmqtI8yNO3%@+1*^v?e-AFK7AT%qo6HJfT|^`d&n3szTeu z(B%q!Y)CJba?P|pmoTJ&K>}t1c!J8m!3J$g$)~#oRGNR$tB9esGgY%d_>WL+7EPHk zaMRA21#FaTw$@=V{wJy(%WnOAdMg+$tT#DQc4CKcXxUd-?`3$sNV4W@doV{p zen7Zr5z3v1q}x)4N!O1DhD88(4JTcTApXz5`!ts}@ocCFkkp+BM4^eANW4TQ6Dh5X zNuI7vRH#)-rl>Wn>kd$tVfDgRDcr@N5Edp@={9JVMb0CKtwlfrBHZ@EQcE$WG)9K< zm2O0cuYoE?oqT$q(#i)~j-{-#6Yt)I5vZTv*kRl<^+W5r>qAbrKZbw_>Zdyq8bUd) zRu8e#$!-K zH$6ubq??|8n3R((-L=f%Y_I^b$_woO=2bsrRbQp5+0QVYabs&_&V=uBP*`yj^FHkV z9YF96RD!YcY(hz+UKvHX`{oU=N5kqltkzi%q5Ey6dJ&P4MmW~(+<|J+mT#L{umMc( zSySvCg3e7iM)`wl(Y79I#fqvoYz&6#hlDF zV0db3z&!1!J2kc2ywv4G0Xx;QKY!hgy5Qy|*G=M=EgNdx4@9PesyiM;a67C@UH(@p}$)Qy^tYf>~sHO?r-F)QiiK2%tqm2q_ioy6sd!| zM(S@XR1*|n$AhR5D=8v~CWT*8`b3q^mhFXnnV4EfzcB&xCAbwUVl2=WcYNxN5IHte z;94hQ?_f3il^cO(UQrIm|Jyn~!60QS{Wj|VW+N|T+ixSq1n0mI6kS-m)DV|B3{ zU0AuM8H?0y-(fPEPcPg~-F8)OUY#_wEf%(HhWy6j5_+NIb|tsaY<)8(neTYpA`rE( zDE6{ztkF{nE_9-x?=8Q!iEt^U=R4lB0iyj3qNTa-15sG9YPnmN46KX|n;03FQHp<| zkc^6&n3_*FsRowGYDC1A^%zZO0^4KG+L?96IoR)Jkj{FgLAolpai+kzt<)ZvGaLow1N(eIFLaIt(1f?x z|Efbnjc!7SO~w*xYJZxFbwPHw35ypo9H7_hr_q%-e^$`aTu@qI?|xQ`*GE9GRG*4qDp+7A`y(?_Zf z$;J?BL^fVBkw7*M5u5t^$j6C{U74iaNs1Jbj#;N4_M!>ux+>Q7ML+7gUG$Q4+Tgch z8`Xhey7_1==;7;+fVp|N3u7Bv6G{}46kF`bMGeP-zEjD}R_SR7N=zvf;su?sMlH}? z6PZn&+AQD*05h#mhZ?1M8+#_CLVb5ebJxy1lv;_26|4J=aj)A*?dw(Eq71b&yB^|n zaoLyF1YZT4TsJUfWUUPh2gq(=5XNG z!8@7<^4Ok@VQ!nwh2F4fO3W0BCDnM`-(o~8C7r|__fD z2l=`qjl9{?Xjm4q@uq}VAs*XLqtUU`w-M{}5NoqSw<44X7K_YXv80;j3eMP~uehG$ z&sX@v6&&hWOU*}ST0hKO`c4Lp7oG08rT^X%hSuj(1O4K*eiwq5ewXpf`^@TMbnQuv zW&W7O+_W}6%;nrqnXLew*{J;;^D<>qHFB}>t%54`kL@0hC~0A4kRG2=mG3E9dnI*V z<2zf(ay?_V61q`Fahv+MIf^SMPVd7EHY;=QzG_w%4P8=EH!$d_oQ#?}HgH#`ec8wNn zl_9KOFD8^vk0Ec|{zq=^Yc76X2rM87lPynpG9lShAuKMht$9EMLoA+<$!Df@4W&ASK zsyZ1=-1o4ho`%xsyD*d8Tn{S=YhL4CU#pRzT+X(Y+rF=A7G+u+SoG|nJ^SeOt%+0a zp8ZqJqsdHji&)RB%U;YG=;6p}eYR)+J7|Q;9#T3vQGjd}VLYXTAQq`@8)_elv4YOix3+hsPc;qI zWovqCDmfrCWS+eZSA!%mSK662qm!U6%j-gqDA-qZ*R}eg`W-HqP~;dzvU)MR^{II8 zs?M`EN_ADr+{}dC&Mn*6-W1M(LDD*HWox;d7~Z)>M!_~U$+n&8Fjr>C;?$Mf!5Bs# zvwpUNW>JiOvc3qy&O}nlTL&Y0vv2cPbTCA|X=BZUg-@#GfSpwRDX`JMZ?}Zz!V#q2 zM8*ra4uu|t{U7f_fnb3)KTL|>mN`Y(W;ZH%2dW{i>QBIHS$JGZAq3+*Ig!;}hMIKy z-H{&|>8qYa7;Ge#Tt~bn?x4n47XO3RxU*G*b`2LXSVz7JuxeZ9icCu_<3`BVWV*so zHh{KV%ZIL1sB2y7+E9wN4%Lppco5!(HllFz1jYFMB{@FZ=?Xr_JfEZK#E`m-1h;`r z^tG?0_9E>Y0WqnD^~U!hY6pw53bJKqtGM3~)aPQ`5OnQ@wjpTpuWTnw?NQnhv;v}Q zM^I_cTu~nP!}vWwP1}Z@L95s#FqU^~_uX8T`~5+0q_*wW{xfNSw(8#lLGHFO+9I@C z%3n&kXp7Kzb`r5gNV>be^}V7OsiMB;qHFpr_}e_%s}1)Wwoim7TegXW!PCnq@&_%X z#_|RFUM>hl-wN4mUD0=R%<+YWtU`?itvW2`c)5^6Iy9!+PLB+i~r3oo)CH}_+njLKxE z*m!sRC_8pnuj-;Y=75mEAt(v!#u-5VN@_0YyW*5ni-z6Fb@{o(_iQ@skcs>LtJ~Q3 zuv!NSLX)FDk6j=EO1J;Q#Az6z+8HKoZB_elD;aYrFI2xl^o}{&&0|85@U6MOC|A!6 zSJ=m6f_}_GPz0E9-F<{NC*fxz4?z?ThMD%xLAGoI5w^fJ*N>#h(%ROGf4_-W+3q;} z&DL96iE$^&xX$kIx4o2F{U;?%SW}12hD%G|kqd z!sa61GTWBU8YtfGaNPHezP-K|==%tGMf%Q{JcY9w#~Hq6ys|xO7COZ2E{&7=r*U87 zXNIv?!wMiKY#tTq-{k!?cxjcxP(R%K0u`UhbM)jSKJ4CuhjtZpQ)4%< zHT!`nm5}%`0Nch2bDeKWv^xixwoE-^DD(@PVy)VkEbT05YCnrG#Vz*|aWXmF65_Sx zwNg-KhPOI@@;Z$BkLgN~XEo*z5W$$!)V5zBRZL8!V)T)T9~JSVF@B7W9}W6Ab#mdA z#hZ}n!h4J_Tj*JBsN*o7yw74kTgC`6t0ffo_0dU;a3x#!YT~er3C=#h)r=HppVtF$ zSLc3lx^!3RD4y)iTWih6eSCRB;t8U+?i-A{gHW3SH}n(2b0sQF9}$jqUw%B*5=Urb z-nuV8>aq^C(%4liy0JjjR&-VE{-N4TSJmzjs;%s*+8si*15|Cwx-){LrGj2fO`19M zk_FJwlcmH;+`K->MD4Mwcb)=Oo%$;-%}MTH3k||Pk4U?wdY@8G+EhNFdiS) z`K|pTc!I9t`V!z7Cx!8EsjGEha7UY$tn56I19)mY&TN9;SGJ08N{-%sMlUi5C{+_E z1i|nF+0_;X<9`S)o8sMwA)>ir%T!wdzryY{w;86t5=Zy#NV+6SwvdMW{-d|#NnwP_ z(fHZG@aW3$_fZVp69~Q>vv_hu)z8 zGv!a}h75y`9mM3*_d!p!FzIcbtH!iiSlubs7y?YC(7eF`@=j-0x)q+k5tR=p+uN7ECq2{8H`Y1HjZ=y6I7{9MLwh=R2juk)1 z4B0Mn7|K~Ya}d-(nP?8*mmI)b2rQ<>E)Z%gE7^2qz}9M(iS{gk%JHz48_kaBxAo5C z%3g?%<__`)|4goeOlH*ao|@?ISErf}QM_dET)YawD8I930g64h6CKidyeuN6e_#Ak zC_L2~;LIf9XLt`ZU2C1q zJ_BV6S6}P`0gOBsP>o^wEn+Bej(kfjTJ$(pYc&{a(Ki16_DbhJeBhb32F?+0BI}@E ziFE+oCI5xzs8JTw(8DC-G4VfJ)fb4>!nB_xt3l1bkCn@Ow#qk?U9weCO*&%ipkugt zq;);3^Vx)v|1|goaJFjf05zctjyV4b)=?=u2WdEmWzwySOeC-6^bF|yOGRd@_OT^B zwk%Dtv!T2PMZCI`+c7y5dRdvVP>*1l-Q7--9Sr5d4MeHV4u(EUCb6-vfi;50I8v6e zY19I1-yg{`($~|sRGa2fpVJRgTlmviswp*aU%WWKLLN1cQwxN*%Oo(ypvWjo;PRv} z=klg1bFLGWfV#LB&4J>(8qB4+&BWwn2qv2dAd`-1QuB9}>L2W8mS__n_FyrSLv_8U z8u%AyI;l;j+bk%bzNAQ&MFbRDm`5Cv9kH^v=^LB~%yS+kr>LDUwee3GnpHg3t zm)U^Y$f-a^UyoZulJ$Y=Klxt%q69%!eG)UE*kW!!YfG~UiZa2oLx71youcz};q-nV z>xkMH)G1SST1a{a#VYBZY)!e{2Z86>2KZx;1g+os0iLmSc?Bg%8xV_S&=20Pv0IWC z0x%cpsB5LbnaEH*vu+K9*r#^658$HTx~U*JWt~(C^Y>aI`BPgo;iwqs2UPAz zu@Q+m^iy2fQm4uEU3?fI0vGJ6eg_gBnrSe}Rvts81E41g+#DeK^Toq>oq_0Gdd^+_ zC+Is{JqL9P`N7@;K$>q{y-Djik@%^BcbPvyz-fIZ_h(*Mk6;@=%m_Ntj%Y?j(CnKD zC&va_+6Ymyw0rjm_lfAN*R?(^Yhl3f)_=%I@r;FoiAV-CQ} zdek}Zo5W%1m%EAKP`;_~!cz8X&(8r1tn@ z58w`vC9HfVA#8sv&Fnxvhs$!J6GEUW4k}W#}jpPM) z$Sq!{G=H{(fGN8Mr7~QlyE7xeT(|L<`@5iO*j?OwpV@jyeYnJ6k+tBvT&lSrsiI)K zH%gK@K`{IN`EAfJeG^Zh(N>F%a2!?h`C$HB>27M|-WlO%{W+XOGZnQ6G)!I}6g~oX zr9NZ}U1b=C1%7c?s}yGtDIcuVXVe3eL<940?noO5qSaGv!*$tn;8ZtcwtA6(;x>-@ zebTSspGi%b-FtSbWiwT{Pr8Y0_=gk_59)P#WK1MDU`<*~k`ewf$jgkR9^xM+10`EF zK=TSAY2?;=SApD9pi(6F4rW1t*==$*?o-yy+Poe1L`>Q>uox!CS~-u&N3^IxSMY<1 zM`7y%3h!=bDEwJ5&95qupl~;FQH&;CYYfHlwWPvOs6*{sfm+XPy94qc$hHS~8ZxM~ zpOT0{NVeg)|L}hl*Y+V$L8jbm+iBb>+edk`)!Ud^WFo{}A~&is*@5|V7G!0)ip8f{ zG`io`{k=A9^R|LChrFaHopNn?gcIJd5Chjh0FkOv8brEJk>*<^vPJ=&;ZD}>2}^OR z1b&g`{sRc)Hrrj`Qn6O-WVoLV9=f@#Wp{0NWL~dj6q{bFd7PAPCVT4ODENQcqno=) zJGI4ab9cT<z)huFUqZo9y5UdEVj)x&0N78enKSxqs#G)(`wnn?~mEsDufiRNFpY za|Y}TOa=deO!$w=_>qYp75Z=k45qj8>7NOveKm8|`rvU2J)y1FAYCCvxiBcnmJ025 zfESGhho3mgGn-HM{a3&tXd~uOWqW?E-i;!ow>uUqic7 z2*vd*?h8;2-0HrY{J*Ti&PlcXUN`UADl9H+_UTczUv_PMRC3XBu{M(xyNnAyVWUj& z#ApKy#4;KM1MN%5q->3%mp(?vj|P3XC)lrNBgsI){$1l9o`|g#`W_)X*1>bV++a#w zRc9kZ$GCl&`gPZJ1*3q!t$J%>OE^4q?Bu(u?V(u+>@Hen}9te}i5RvM26KYlaQx6Z`jF_^Nu0=aBcy zxuG=JnF;Q1cu&6q3OT`wMWW!P%S7&1#E-`KQ7Rbg0t)GR(lb+lmBpBhK*{C-^kh zp;Iu9HMI+6=G(fV+^P2zW#mdBUoHX@Qa&dwnQY^I4A#D0ve0YpnW5Qd@A! zAvKUw4qW+!pTql){H$?6^!fdm8LgR%yJ%`_fM9KU$rRzURhxl{H=(u)P!St|kp$9s zs`&=o1Dc6F(rG$&23B(Q5QtrvnFS+)2thW`8zY4|*i1hM8#F+3FoPhpCAQc^ah3e9 znlUcc2LmuufztW%pOp~i%Lkj|LgJI{lS6)O^2OkiY^qxE9#&qQglP z;)00j=FPF$m!DvU3D`79PVbfZB%0X->~6&wPvZ3J?s82xu7Ou@CN=3Pf;RnnzONL3 zpMJeecZ}1o-8P_xPSdX^HWZ_J${qU&SJcUpBdt+PN1zk~x?Ucr3N)bAlmxegA3v=F>ZUATgX`MNIho46H`dnW&{ZA#^mI zo8L{T-1+Z^C{s-rV|3X(A-4+EbQYo1wv@*vTcn5?*oj4|dJQ88+FE9|6m+LSgVD2K z(-f3+CE%Lv^3An%owT(~!6O93&;Z2n*4Jp)Xr(hQMS$vAbAYMlG`e0t!C$uEfi0!bj-p7CD2+=rLbH zL5sYZ$adD(Ntv7b4c*Y(^0&!-m___(X*9~Cu2m~Umn{Z8Z2t!C4W*bnUtuQajW&v5 zntK8TvpjXxc_xbmgKx_p0YF=yUi@fVVl?<}7hG*smmbYeV(=XrWkqVC(GxC?EA%7V z@{o{LA74jNx7AWXi?Ka!C9wCGm7sad@Yc7rcN#x~=EW1J*}BBwXKUNea>22MJN?xIf*Da%fqx4hrkcVN6!KMyL_sy1CnI+qL-8`iai-!i`(sQO6<* zHA{qB^OE`wVOSipOzf29Z)CAW`qN2pZ8jbHR9%bbAM&op5>;RuVe{!qdP02`VF-Rf z`6snsD4RZ&vI4a)I8&R3)BHSlDzDzyd@rS{)sTg{2M8J{>wX^~L|hT-H&=N08{DRf zFQ%TH%xXcX8yO=7jZU@g6U3uH#IK;5k}9kYuyQ+to*{oG4Z8<)T1s7hltSy9kz?*{ zOjbnt49Un_v5mUcITDwXHHpTzgOnHq5k$4~bsS7!ald+5w1EK2-=^ia?8pIdEK+E$ zg|OV_D>O)FGeno+t^eu_l0gHg9u$G47K~yg#8T|n_LA;^luuXFMdDhH?yWaJ-ecdA z&cJtg77$4@G@1@NmUN3ANpu|3ZYmFv2NId+m+$uv`sG|~Ia_IHIW8U|c+G+4VT7!Y zKCjSKFDk@Jm1(L+h?05O;C`<7Y}pv9wuz&6v$s{HxB!d2h?*~M1Onc#@TB|=tghTE z?(@%m0AbO^?vtqLN2{$0VhxL96w>JrYqVaWyVfWqvrFn@2vK6i0JpDAf%!6!x3hSi zgSEshED@8&3cX_zE(1rMXm+akBdxZx#*|H~oQZ_*L{q$*mwq&aBTOZnEZ*@|+kV+s z&qdu(sKou4G)$Z0`qyzCZ(F0eVr7Eh?B#qYO-KJmcX|Q3(3=2Khru!kIx%QJ&i>ckPne>i#O;qJw`vamKhV&Cuczy9N0i&>!C}`VTyOcTi;v%7m-O*2V*hM7oad~ad1C65TAJk7vojGKw6ATyFfiCAoel0I zkuqC$3i4_vLq`BKp1WS0!{>{21==^Q_nG&r+`4spR9R21BQH*W*0F|cpwZU zYnh3p_gfl3QEAJ^hn$gv@#%7)kQQkKl$#(ELpymaqn+-`}A$c^6!XM-eMPTE_aF~EkmerUIOimwRxMgcC9U|AP_ z51&9ZH$DRvQf8W{AhVbt@K1jb8>B^lM!UhZJ(+t~L*qTHaevQ7tB8SMHUyIa1Ls2{ zLne!@C(B;#*S23IvQya@*I}a=8q(WoGz21RL{Hi4cd^|$9jpUt8}Hd1lxdkVPIq(fV=LC#TYgV?C6kyGzn z^4tK^VXCcdzn-cL3;pq0#;smZ#6FY~TWb~sOCAIDUCBlnx`cvr! zkja+TOxY|~B-w&mf?qc7h|VkrAs7@fDZ+zg3o=9?0%#TeY1E(5`qSVx1W9(Z;8nG9 zn3%Qgf1qhqf?ekBeM;@}pd2V0vf#~LE#KoxH~|yPYt7!fOiziUh7#CO+ukBn0xJ^c zj5gMJAkMXG7kIrk;FAn<{(W{kyfP26>cl`r=+Z|nDc03CjLl88tdIwb<9G+40Vl5Q zK6ZTqhZDdq``{%F?r$?N+ra}>Q-c@luft@O8Ik-<^q2HAQI=#`g@Mi-P4ILb5b3L= zu4&r%cl7{PQzJ(BAdEwr#qN$o7#>Uj0xDBq^dm9^mUh}gIgm5Pm7sD>0UK?+b`@zhJlQf6=jYuJ+&4Bd#63NQc_g|e zaj?ZX)HygCAmv%2J-is_%>YkIZP$NV^=8F*(Q7q=1twT2CQI@+nbBcZt_&AQso@Yo zqx)#9rXP+m_C?$=(r`wUr}BqngKX{ zUkMtOd57KGs7C3GSRMx8wTlIy05EIm}*@sEj%jPB?gto@MROjgUK#m`i8{1i}1l%N9svK?g})% z=7|YTQKx#!YH6!W*$p?sHMk$ov;ML_bW?w!k8*xa9p#UPhh{m%x|M7s(d42-T#Umy z&IDNq5|B#Qhl(_1RXRY38kjfq8=uJ?h?-t^47ou(qWl2o<`yZ50sjn2Vh6Bg>U9!m zs)zM4-MnBp5g_mo@MDi)(dub z@@aIt56FtB`mDr+9jo;`ygss@q{3Fs2Bn_pCYk!rI?_&`xT2JHdA@w3)-2>b^c4SCg(my zGSJsuMl77EZJ!=0HipA4cP1&koA^9bY&L>3iL2wVv4#h0Cysh38;#?>m$(hkwSzmn zG8x|bdKd#37DE3jQ7c}3xxRSi^63sEJNi5K;96wgcZ-$_A-&rO0P^WAMNiFb*NSb~ zvKvGyk!NGEI!9#bc#r5dmNe(SgB!}54Sv>Ox?O;OET(pUTy}sQA$J; zh{s+60MykH3m|_oMpxpOf?5TIjYEfRTh8JV9eKcKR^-B1~7h|K2DmcL?T-u6|1@5`h<%T-ep8ER++}whkbRdyl;TZ+8n9V zJUOLtrlN6D&EK{RV!#8RO8Hc8{1KJhK_$t)<*+pK9QlzEdQ+y&ZwMSb-`0+0b-qWU zDqRzPr}3LRaD8orm>K3SQfG%-8~*%L?jQoD9EWpa_5@qqt#4)WS@mlzZ)dBU%qzAd ze70OTns?Bq#y%8tr^WxgTqq%yr{9m;oHx0RJTOr_}J z91Jge309j79|GJf<`+)B`u#JV-hbxtXS;aXRp zUs92oxVCrdvWLElM75=FIFwdS>Un3;{Y5_gcpaK(OW(Y1dOOg9-ct4<@jQ%mgA0_| z-|L`lsO^}RKF5rh;v!IglCO$`LWg`*v1= zNZ(W1A)e1s8FMTsZ+o6=VL0p~ zNO@;hqBet1{gX$;s|}1-&ACi>j`>>~l(5jp zTSB7}1f>!dCkbBT(fu|@!xc2-emkfM6rf$vFo73`;^O2lwG|p5I;dinIF(NyZdA4% zvCa2Uu;l6BTS(MMHDD(t^y1ycaOMv)Wl~7nh&1WYH*MwSa(K#C3ct(ZTBJwomf9jD z8gb%K@&pb7K>zF!=fl-(c9@QRT=;j?Uh5}z^5ZA~PqjSDy+fS8cp3yJuHpIeKZ1hJ z2;dL;!uq_gEMj;%&;%IC@v`MWr&^c!q0)r4mF}=KrgG3jOt38b8KOLm^rH5$0cd2c zodJ7*NLYERZRn}GOkTheT;AXrZKQ*>9sGgpKQmf*(q2r(NlSXD5(@SLg4)){rN*+> zu8tgRCGn!xC>OO8zv!N7nJBuo-eus}tB-6nEYENb&!ApQDsXKKTs%d&iZ`R|x|ST3 z(h!^aIR9D1=F2z`AXtQ(wuqG*G#N}%uD~GrKU06voOB+|Jy97!<|0I-w z&dvY5J(1bXx!ZwP_344F@4+RR7$VKml7~9 z5(Yssfhv?HYN%{+j~=H4!LJ1U>YoZt;+JdSmd04%x7*#Q%0!HM1k;kw=71+ga?^z*M=t_|H`xLb& z#@^fhTj&UaL;vhR)MQk&KXbX(PK1?xdzJ7Q^g6p`JmlhX#-NRK7>^(o(hfn~gq|m0 z)y`U>gbp>_;}P;PI}SWkU5^ILYXasTKHcFXU79VsPTR3~|5X5#uu^1H1^cT(wP5}5 z14$wz_Dnf{HxJAV@I#^ovBVIV@-cPt(wjtn+sv7qO8;0u(5x!Zzi_nbqWNmY zKM#2^WlNO$0ulkN<+dGSfVl^tJ z_FIle^%=-!xZ6XQXlo$kp5qb#q$`b7=Smx~Hzgc*Jb)lOHj9OU7q2Z(;b3Y_l=2oe zSEL*4I)}GVx;uL#c%W<6gmVVEhvs9!3b#f2th& z_pXE{;#Vb`FLkFv17+>7-0S4k3#u1epFIP63Mh3BOaC%xP7R?Z%=}6%;irIv>hB%o zh&IGw21|O>+k&*JuNJ1{Z#j#slF&*^uAaxHhr;`=ujJNfA{aFXvZ1$`LEa;x*OiYq zFo&0@iBz-I2ABds|Ey0w!%y(1G zn|@zHH9|`?#;QinQOxnIk_dQeBqF$INZ{ImdkWSwL`Mv^YE13OPM5s*+H}3^p)12wO@yMg$Aw$aFaq3f zC-OyusfX17>YV{N(0WeQb5=~6PtUw>W|5```&{~n7z`u)gYR!@L=YWpD9xvjnJoe; z*%OeS<@u0mt~HL8^))$Ej_jb9mwUAQcIQ1z2y6iW^*-*g(wZ`<=0`+%>eJ}qVaQfp zie3%~4(n8+A=P|}@u~|c`GB5pRhT{&OX85kx@`##blAJ3li^B@mC$r=l}%;23}g=z z7_gBpzBG*E+%{*N8T4pGA?n`uP2p%yNHR>>0GX(dtu;Dnm^#+lEPGo*kR5bCgNpd? z33Y)e2@e{DI8~wWfdKuQvF!IawuU6qA`kC__mLQ)o( zEl}S-V-)o4C?Vr*k`xmK{-{HtuQ;z@k|$XL=8QD|DqmK<0SNkPNhwivR1h({!wZUG2`7&ZUE^>%tijKkh3?H}Rcc9n>xw$A=uPe@{KW3==nY~*=NWN0 z-ce}u(S8!RxB{uM6=@wJVK`h>ObOD_3ib-_6Q)Q^N7#E3!T9r*Rw78hRIbiy@JANe zS*7nptPPvxO6I6d268@Vow4k630`*4lP~a7tha#1520^|PV0xzIlwGPecGj@1$*ar zOy8r0XHZDVmGq<>IYghM&GcYQ4xK0m-R(58n7ol7M2W(}>3*KliP=jKb(^GbY&pB= z`FEQd8nm5e!}vcYz-;E%CCJ&xdq)3}`SkaM4^TCWM%L%C#26%b2WV!LZYjE8pOZwF zd5RYF4!dMY^~MpMeW~DB(2ia)TCX@f^fH9E>bERE+5rBim>U2l?QS`$cD6+B$61A4 zQJkK#^y*{qE*FpTn{uh0ZxPs#pA7`-LU2Z#8im+#En`qfMT_tS`Uw|R(5oV1-0~3O ztbB)+-%Vpxkd{sPHsN%Z4~glnxj|@)0qna>^3{k}U{_gBjGA6}L|f(#RZ1~60WA*2 z`Z8QkCr^aN81lSzJkJf?JT4;VnqJddth8dKJodgCKgrYE@V<}Q81yYMyOrkcB{9ph!T z>M;47wW-Npr^C87&LppJ!VNnVQ9T_7gLE_f71bk~s4_Qz=5!){oOz#ien@4B4`n7( zh673z;6RC*5dHN!l{Ztf);nYcvnxt@DP~jY3lX{qQ9XCMv6PXm`XdW&rbO9?8@pA! z%~7&H%nHR9hpTq9>};r^VVcONTROLDDzh}Rza=Y*gcRj|fcNvLN%@0_|X8nUyIPv`#b=N7&tJfPFbE^@KsN-Zj%VfaW z!UhG_LnM!@9xkJ?L^VKq4K2zBk*A08rrA6~a<@#i%(sLAs=0qgvU&DOHL^-KutgEL zWT}AVLJ5ZsfLpmUiBP)@CY1NgSXb1hT23mGsO@LjtIq-*Y2@i1n*m@`%<&GOQInqY zJ5zzSU3tc981;<52D!FUMU00gspi?0!j$D5_+17AO~d`Yb8azis^#3ArSGb3EF-G! z=B_fHWf>uFU@&(Wxq@tA0p$*Q$B3ml$9qK-)AdDTQUja7{eV|Qs*A|GH(!IFg^p43 zba|PO#%E7MTK7tm1=j?yh!othdKOh62y0(tt~+qLkswzCgP?oljwkU;OVo^P4B2*B z8K0Uw#+q!dqxlaN;kTA|>v3HM4UoYf^){HmTB%8RAh2?mQ70FBS+%L=y<}O+3^cnY zpB^Z#`xem)kIRB5wK3CbE(LRI&~wfummeO;+6eVqn#gH7;O#KaZdfPF;Wiyek5U5D zaifNAC);tIoI6=gm|jp=5&X_pnz!=s61!|KXujIlYG?-l)uui1_F zb7Uqy);lv~Mbl21?8P*gZ+cgk>pJ{D52!&)9Q%4<)v$ez0b6|~z~;vDhJ3s}HR3^U z9t{pfcjiA~{=lC7xi^0tDJ7TYLskZpd#1CzUY*nZv8IA=P`EGQ!s^;Z0tc=&Z_To3 zm#b^X#2lZpJvrpi!c1XxZSR<4Q6WcfCm8-l_Keb6Ta zMFfJcY~VACY6R~IL6Mo@gb?iOgNG~FvU2POrm;68GA`k{A9F~^uRoi~bI*P7dpt+g z#DA7wZcz9*3u9ls%4$<|5vgj|m(q#+X3PGJm%NDI?zz{k@@8OClV$U@i^H$S3T}5x zr}R4t=|aHq34B8&v@M zpzl`1x21ReHb2?D>G4yy@6qjaEF#WbAtJR$*B;}(`?*MQknl98MS8k~XGjCLyZ)n` zSdaERBSe#Yxz)dB=_{Z9SlLWg)Tb6Ht2u1^9HYYQ;~q`NtJZQE_Nqbuq|;{TS3We( zIc)}$tbOC#Tld1Z7sT7r_vsfX{$t`T*CPt;@+MNK%eC$&wBoniS1&36(P-bx)3j0C zZdj}t-nvRVa_ztcK-=aCOb#vY8dw_TH9uvua)XlfF*1H+;zvdNsEHqA{D)uUiIL-C zbdlU`ghX$~$Y-0j zwDBQcZ^jA>6Zr>~A-R!$u@#PY*S~Fr>){I-xR|qaM)NYMvctHRa>bUY=$F5xZ82<1 zDb8IU=ReYXkk4L5Xxb)|-4j#9yfi)sPTsr7QQyj`9`118(67fm6aauz1ptyN|Jzdi zY*W|00%2*5zq1VN8Wr;KVo_fl%&)N2D{Qf?%liLn8T8a_SC!u#DzE9X@*6Cb<%}+C zzB<&5$D<3dw+}Tl-|qtKbf~$Z%bFLVR&1I2X~q%1G@;#a@`3bTv2*dTT82o6nXmTeG!J_CqrIC0gguPIhGc z2gJE5>y((CyDHR!P(Hl@J<@DBb@qkSX+83OdZfwus1&UrV&+6rr_(!o0WOzE|tMJpe-pGYpbenNPU{rF!s*PJ@V$~{!)j#HvyD_RMoX2 zr^j%Xzu2?kmM;ZQ2wZOZf<0F1yp@6#9r8cc59KPTUcZ!Iw})xn35v4=FRT6=;%&`n zt^4n<=zlx$Ag9^SH2d@?ZKJ`?`CszuG8)UsujOKU@>JyxGgfymn|OVFz7i&@o$EP2 z)YE18OFEUu`PjMqUSCyycv9ZL(z^n2dY!-1!(RgLE+zSG7k|vZpsW1bSbm$=8WHa# zlg+1GIVo{`v`xoXk>q-Z`tcWzS9ps;_$-C@4E0GfY7fdWRv#g^Z%KXF7yB#!kV5(0 z6+SqGDY~t~BSV-mDy8tLAxvk<-$8gkgh2KRJ!X}{{Vi-wFI9L!q5J}cmxM6z&r*1= z5T?C*6dqd0e}lqD7V=-E@CiPgEqjK=xiGMsIW%=OfJAy>@7#!gyVxE&tyB6#+Obn) z5B;E1`gMhLvxmObDgDMm`Wgh*z06M0;`SdYq`#;1yE~;{P)N@y{gRS&M(`Rl6MlEQ zpRm=qEjZd2@#DM~%rGs{SN3J>)P-K|=ZsX$$o7WPt?&Mid;A#HAdNCfAN*4d{>QFxZ#ViGogJSys0k5#?E2!LYwnzGUQN8u8 z+?0j#CnO#-5xnJO?Ude+AtJRcO7vA7rIdn|J`LtsP_qrHP&JR#M~QJ(kD8koQZq`G z9$XwEDiooUa2@=rd=0<$@jvE9V7q9&ggV>^gji=x*0MQ1b=9eOr$A}k9^nSZVSSLP zwmwz*@s~Hge5+!r9@vDR#qL9h9# zP1(29L}3*+VkFKyYki46B^V4;GsKEJ&Hn?S)tC{8U*B5}2MfhkiXH}-^>n2#Bc^x) zR)Cb$uLI7l`9M~gH!A}RZ7HxEmXyrfAQv9>Fsq9-7t`TC$Fp_O-w7!5>8s(OUgK_k z(o5wGFpp9>>YqsE0a$#TdpSi1A~coF-3ZGk+R+ieWS79p@sG;XRa1l385Xq8!rl^l zO-I`LJj{1cJty3x=wq3!w^f-&O7u_u7E(A0Q=_h25tXm_WBovi&icXs-mvF3zczlUJa!n__jBy@nXs!H>g5s3QBrU1%fy&alPos3VH)C{|Pr zE zHre~M!}{nS_76XACgH3<6!!JpAge0dQ~QPMTYLNc!er6`ErjD*at6om+}tFdG1JVV z#{8e>SlwJHdpk$GZF*5jX7@WnjNfkdBK7@iZ;)`U%C*f^-)CSD@CzlwGK7B2QGUB^ zK)w@kQ73XMA)Tk1&I&c4-So@yJp!aZkbudEB)};2F83o~M@3~Qx|6BWU4l}vnep%b z3#fi=7i)_$>Q$E!Wpr{U8I(U2lycyG*Txiz10njlh=c!Q_AR3ZcR0WWw$c5{lV+bo z?Rkym*G{4Ihu3?UDvZMJdUB}avO5I)>B^emk?rqfQ`hDe0>VLmb$2HyyC_(&O00JZ zY(JP3nTKD|4-@G#@UP*HiG2DQz!neZKjwJ|4ZT1b55;dcPjmL*KP_{@L?GMRCCX~j z28xg(_8Myf^j;cSk4C6OgQl7~!WvNh`T?U8 z$%*+2QjhUk= z2O{6^cVZ!YiuSVLUPd`pU_^B586OH+3Qp%vwkRdO!Y;DPV(sp3Cz;yv_g->SbBeT& z%ny^?Gwo^^7K=Q5I%3)o7|$oWlSZib(aUt|)D(^YcNbGN{v<7y+cI!IJ>fd3Q~$Qa zx3thB1*9}ea;e@6>JQ#a-Jv8Z^#Y7Dk|D$P_4YF@+@vm2y1Q?+Y#oGeAx-O_D>v1F z^JDf@^jaOg4?(+K~k?GQW`Y)gu z$2oQdq*~q;`P%yY?ThZL0EKHg9#$Y*_7mE&Vwu*r(M7wiXF5fTKc6C-Rts|GZo?~N zb`GSdVUW$IPYe*%xH-5W5`2Oncb3xscT=Htx|}F#u911H{nXB6r9_jCH5F?HMDz`-U$G6>oiz)3*NW14WzZn`-qbjQF* z*B3iLJVF%E8SYxomrD0XFWrqM(J1Eys_(kh>e|xDtd}q}AR#J-tG+88R3oY+0-~yy5#jct z>OyrIU`R3wsye={_O7d}pn@){e1nCB)Kxvg{AW`bYNDO{;S5=3m^ZSfR_ldM^r_Sq zo7zmJt&C6^CKu^I9PO7HRuyJlxe2sUI}_usoBJb6+;aBZXFA7QpZWA)>loh3OiY2+ zN17&@rMa_KaNuQ)Iir6xMKTogih_PS%0jA7H6OW=^3vCK>y)j6cXwopDQ#2I!mfb1 zxiWb+RG$=TMIP4wHn{n7Nb%t8@Tz9+JrAB5%v5J6v<}Iv?y~rKnIZcdo>oYX@`QJ52{O8ODO(QN) z=pTf1Q-`j;5o(^*=uyvTah-uF%DwIPW#5o2>jHGwvvgkQFA-=H@zPF%5QUz@c*xM@ z?{m$TJq1=a+UyHG-TaS)itP*aqfMkypvY?hG3!6&1WdHQMEqSJT{$XldH>JVo?(@4 zhFujUEy2**kWW97q)Z~EumExg@iyMNeFOjL`gRMC_#X;!6%-_MWtM{}6Ab`Ez4B3W$t1N5TFo(4f^SJFO`^Qwt5$qlh$slwf<8@mfhQQb9exdtz& zi3CI_CzV#Wsi1@!7(X5L(X{WhNxHc=JPW2ow4e(@Mz2sO@s<>bNub_>%P1Qu_;rM+ zpWR%4fxv+9ez^VcDvx80Yu9*^E$b1{JDYsM>_WrrK#+C&@ky5Pq&zH5#lW?_#xFm= zsGy`rex=+Z>L9*vNcjaMB8Z)kNW?u81`2of(k`_?EJwv%sDL+s$&H|730ZvQN!O&K zD~6WrrX77-54FNuQaD&kFI)-6A8|{S>3}B{x`&W4l`axQ?|$MXwn0YvOGZ1a8yNxW zTG5RNd4UjwM(P%oq+Rt=_sds=?n+yljkJpMoP_ZdwZSzK)&|FjOj4gD!1bp-L4kUt z>*Uj)!{#9LM51SvJ(Ftwmxhhb0%q;R;S9*7+eX?5R;nZ>LCBwMnJ1$?h6@x)6 znU*0kYoeGK-X6hsL**>xz)OB`dVFyJ6h6!fx(`RIYtKNV!$(_WeI! z?{m)Q`BWM&%jhW z3EHGp=bcTkn_`g4_!{QC9(BD%VY<}g;n1Z;db6JRBB|G}|Fo!YGqgh?dnQ#mDkKCL zX)_R~zS{=nw}28VH{1jnk_?2!Cf}G5$#Dr-bEq>)2MlzcE;v3JrY=bkB;ZeA*I>I4 z65b5>Xu($}z@t08Cvc+pz4#uln`5yPO zF%v{wt+%Yb0m>zM`#?GAWPQunC(Yb}>KL+wu48P-j7*3g(chL7M#VFL=udsz7eBrq z3#8a|H48tLRNyRW!(BjIyt;Cuau`2SK0t4_f^4|QYH3+&;p|N_y((ugV?Nx3R1_0GI)*JrrAt2n~FSFbxw{mX1|%Sm7cN> zT0dYdkqP=x8NbOm?0Es=lr#kal*<0-c?Pqyhe{U0JVDs^+x^oUE99HXie= zAzjmQG9<(Ou{0h_%1()5P_*vFZ1U$ScTBfZ0zqM;O~7&@36}X2%Pi4K zn76M9TQVQ{RCP`yn~9m_+DChaY|E2lAvHbMsEG{{-(XcjW%a<56LA3!k7fo_hqhwr zPt-^+3WE5t;vP9uHv(y}7RSF@Ev6$}5e>l26e+T^%tT+S;VJNL+|gBf1eGchYy_nO zRUf}Z6i(dqp)w&zW`e1J7J?C42$csxiSw^|V%wbK_{P9n-C-xs1n9*5lJ6P57qZ*Z zKRA2PjsVm`c{pWfW`nWB$HGoeYXjjgrJ8spY5-R`7}Id|IUhfI#K_J8vhZg-=$~qv zW~b%I|1^V`Q6%^)bvv{)Kp+bYtZo@0p2eNv0U}un*f=lX-W!^h^@^p>dT}wU@nRw` zbJV?KmFkp~Pd!NR8CzS1o@8LZJpGhNpM!`8F7QE)jn&pi7yjYc*>G>wNxVaKLZ@wk zjpyMZYQbUZr*nCLeTJkW`C%~O$4GGx#nK_7HSKyF+T)NO2lqHg2e*A)d*R2@ZN$uP zhTE*g`E629y_>#xjJ-4J2IJ(#@VNGObC08pn0L#SP+z9aLxm2yvaPQBW;fAkyJmQ^ zanRD=lzbR-D$@2+TCPqnirL?rSLzvZ(q_6-IFtJ&3A%Z!uIYVUx@Bz~uFUyu+Wi4k zYUgRb(=$YVu(KzVdxc`|N?6VpLOir(P1Ss}x%yMJjf)T|Wa})=ouAT&Gz&@HlX^MF zWZGTJxlOpjU@7ZXz^n;kDK*)Z-rH_LzQS_qHXe?nNT!L#*H^@R1M4$PhK>=P3#-t6 zCifgEE{5wBo@@`~e1oU@TULFv*NS89+*z@2wO16Gb?xYC9^kd-n$Y zT$KI5_Qkv=O!}3Ac3V?K2*ywa(5r42pnqzO>b}aw#htlx)OtSK6TG+s2pnw&T||wZ zHinTMtU#d6GbD>P9Vu-`m>C!o;aS%$i1VNfe?`-424J-L28azOjxzb`LqTF7Om{8b zdGBq4r}LSTIGQ}crg`cyb}F?B*}Zl+Fo_;^8>S5BeAQ5#?}hB&07QmuneDfeJ}DKM zo=8sln5^D-@=U(1HF;L_Ga;P^}tn!cmK#6tMT<~!v>HF&zDRP znH4h!0?13!=5AS!OaqKiFSq zoCsn^SE#CN6BJHJS60aWxxtZ6MT~Ukb|GIPRx4lVNO$Wd9uT7+^B7t}s@$STiNxK= z?;JKs{QoPoX~gWMN`=8d%*()hAm)aM-y+0(U|b+3dPDUXG4Hhs`Em&rI$}~(M+WAr z9!E{)nw<0Tk!6$yYB>yaM^k5=N?`ZPfuqsmN|7-Pj~l zlXtg8BcbU$!!L+_U8G`Ld1*T~TA`S|=s!W{(9b|+1pOT;s#V-~95gfC)yrUJWHB1h zyXD2IlDEsZ6qU)Yvs3d`({XyUug!PSWq*=gl4`C145cUl8=`R1ko^pLR>;nV!tygF zwcm+kS?ymA-{Z5TIA%dzsve8iJg5n_=3m zL5w6Nud@y;MgC;h(+Y$8*8vcbW>!KP-Hz)H@9W`DJt;>G9yPkPoZbAOsG@#Q>p<&3 zPT1rVRIyXD62?2wFaiR1Q4Xjw5UOlfrQCIFHfcdaKh<1#4ueY-#Twc}DL95j~6 zeR`aw2yff~vS*S^>CTkacdqB%XdhpGb223RG}gmW;hIryVs6Z3oyqN1BdE}2!+Fp= zaG-*9`iT1m$ImjO(mE#RZAHYM4^kj(dpIK6>2ak+;yJfpvF7N zZ)QmUv#~j^9X%tv*rG@gZl8{*N02}VL{`S5ok{gD>wv^j;O_%Ocu{f&?7y~e+T{`-B=vUq_N z?dj3_d*xdJUvSapGisWn`s}7*S>NzG!_S$=Ov>PdY z4|LB|vPliR;4{E$Fx#fBG7Qe-UN+G|nH+5<12pwwzQFYB$a6(SXSQ@kE2vs2vytdI zQ)YveA_pRvXc)3R)GAk-0B9B|^=rV}RtSkI0|foIUz(VEMa1VAvSo%+_1$jtj`-yS%)0`A+1) zAIF~SqEf!gccK@p%Z(;c!h?hffg4CJQ^>EYL5VCxX7GIvDub&zEDaR0$J+~O^m)jq zW-x)I-OSdgI`Mktv=yc;sNFDR$k8D*9=hYus=b@`T(^*2-m*BNJZJqXIl<^5Ws%?P z;2Y94%%lcYJ-}>=$#6iCTwwnYB?EG2H{^`eI;%Qd$ljDNi&q>L-FFa5+xmKnaf21q z;8TyM)5fAg_E;+@&7Bmap%>K?4RY&JP)*R{--IXO3w!@8512+`DIN_(xjGFIVx~?M zvSzpD!A7K!aEF+M!2mg z_wZnScc^&HxZygJ)Ie-8Zmx!W2FtT(Xo$mE5quYE*xHxL>1?06e8&PFsJeW~G;<+* z#g@*?nf-7f_(ry7V)%+~xY4ol0HgJ7RHv#Kum&>&+F|f=?fwAV<(bAa=(J1eUNRg+ zVKOkdsrTevOz&s2#%qTQ``+(|I}2`Y-TPaFVV(BSX=ffh@A{#z>KxdT`vuNu#WN3q z0HaDfLD9WrdqC=ux%z1yd!MPPW^>QdS((Oas^-%SeacnpMT}*N>j}>uX=fu z{z_0V#M7@Z#5WtcUjeI(*Xy#y*0jlWr#nk^e+o!DqF{OnPMW}(jt7{d#X+S8@lUWg zo-w=hwLMjP$#fXQ;Z2dvDHZdzR+zn)DBAEI5Qg9kRDd$o_KPN5&)~>bhjIMcyl+qH zQ)BJbow1{o?Ik5MuM$p~#klmB2_mlz%~yq zmvTXC?Yp-s#RlS^=~yKYQHzmu7rnrRz)3;Ao*k^7(xe{Yp&Ld}KHDGgI4QC5PyjL7 zw;;y~*R~+Xez?37a_oG!RKk<3gN(LDKfjt4&OH=>C!2(3zX5b_V|k(BZH z?r-UXm$DAPij)l|HIth!ffU1-lnn|kdnx;SP+U)t&7|s3h_0EaR-O_)!djTLD4cwQ zt^SR1>T|Wbq(J66)_vgjX_h_am&Io3d#|W{P7mD5m#NURNs>iIAh1N&D$h3$ATs;$2iM=Ko z&is6y+N^(cY2j6^CmK84>8X&&`776&kVen*E4D9-p5)0%yin-)`ZZR2IscLN1ED^b z0vGndK|A$IHrt^Fpgua&Ti|7KhnWCRj80Hf-K+irt}?l+u%jvZz6}}pY&W225VAXV zE!J)EM5_C1_@KpTzOUu7(2}yKV*vjzvZSc^6*N&Hd&t0+beV0$n;6Zw=9_{s#j1ee z`}i3Qz&f6qpPNNag7y^iB!lj>+YOhFYtEqwDbUmPE2GiQ zN81m0GTII}L{)L5U-Ysi_N?fpHtRJ_lve8JHp2MEZU!~UG*Q-UeHb|s?K1r~ zwZ%#CP(Qjr4JS%|3s}WZ5oerCFO>zEwFBJ$BxYzlfgJd2PVvOjgaCfZG+tl_xslz^ z3HD2JIR5I48m$)r!mOZ6$RJc|0%(4pXAX6F+{9qz)_DxsncQz(E}OVSk6z`erX`UE zV=0iOw9e5jN@MHkNPa!8pSN|@Q#5UO+K)uhms5E9oBkN zAC~m>z-QE=)IDHcxhi+bz`f2O0;$ngzXH3S5FlP&gby>!J={1(V_J}TbeVa zk0UK1*9%wr&XRi&9^V1h@sL=W*pYLNvhY*8CrC7Ls=#lF?LcQx`di!4rET{ zvlm6juj7CsVV3)E5e7Lr%Z!c6Xg>jftnA6JvFDLC7PEjBZOS|v%n8s}#kw@_YNkg47t{T{6&_V;@FO?*7SGzKxS zhMq&!sCDS*#G$;8YFkh@%!LC*Z_tp|(@ORSom#@X+GuF^@XmHr_T-I*Gk5XQQW@PU zq%hO2WE8uJPWy|sU~>`a8Lv32F9x*`X*!<4K%}~++bf!3m+1bRs3Mpb2T-4SxtD$u zrMV6@3%9)s0PS%2XB^Y)V>-!eNwsE107qLst${+0U}pr36`s8A{v1Iu#tBeFUDdjV zdP7h2(&euGXZf|yQL~=tp`2K|dN@Gsi>$^HZ%g|@$^FyXshWq6FX5T1FrBO$LF76M zM@6RB04()dWVpeuRs1WHM+ss{jKv^VkqPjEoAlIe11n%qGPz|x%Gp6C^kX-@Ew z$*oL2>6|sF*R!+Mi`h?Qd1W|B|D$E^-9wLEM)KW)iQlhvL98zXC}9Y z6`EoeSoFtX!VSzMJ{f9!5=MXGwdqLFM5eu0F!w`yyU3%>1^_Qoh3rX|+mty?N}1nb z*_qc7h7c|fBl1W!bdJ^{UFo2R%mT76V#GJ1HZulX%+lY+r#(d6voq8mo8F{G%Ka*_)8 zLAl|_D0a;84lCvA;@M^bE{Kk!KJi$2)R!kuwXO^~oa5&zw5o`*Ew*>Kwf7Bu5|Yb} zs92Tr%)~~1t3D-zH97CNRFh9x`qb$2yn3@B`iNiOU_bb^kiCZ*gYwY%@ILV)Q;EY! zwC?RoO6Xo^%7yOb(rs;EZ7ql{r484;^NOwg1z%txyNj#Pcke|riEIJ&9BZ#r>+TIk zUAv3l&X(6vGO&8O$$c$-YP6Q`-m1k0PqPM}1OK6WE0fuGZ&hpVk0e_6UYAS6Q*S5A zh3?&PYzmdXH-E;0=PvCXMOTUso#d2r`ZjreQ@60DhacPcK-<72jV$S8 z$>HLmrZ_F@6|#=)(O|0I27Z%4b#(|0wc{cj~#^tZ!o z75ie_S;_>zf-jnhuqqIkLmUe+3lp`&g*7}d#sl+A_W*~vhnnzEA0GOJhuZKkAUq5X z4+Fykqo%8;R1dUJJ`-$mo?NpIi7RDKuTBU{&VW0}-Z%r!7S+$>4b9|Fo*QCs;c&U@ zd9yKUSoKC6JQlt2sEC=IM3*O7o4y*~9F$S;l~&L%&(l+Y)A!dYoZJ=UiVY%^8opGi*+PM@si%C3;fO}13|+*9YtB{l!mm#uBH?0vp$ zzc$O>Y^l2Rgo8~vYHme|q^o(wOzsL_b4{ByU+in{)@IFTSgMU}#na$i&G?}15@}J# z%#_+_cci5b(l}Z?XD-1;Ua1fVLPMEh_BLk_+t2oCH)uBwksGv)%=T$~PaUyZQbC~$ zpN{xi*EB12!s-Y+pK8A&iP4(m_Bm^*YFE8KbLZhTcn#loSIHQ+^4f1_&DF=djAeR?$`VA z_HOvSS??$Lcknk{?-vx`FVH)~1Mo|6L@*;NizvC2LX&!%j6w@a%th$^2&&8-tQOWs z+3yQ7ZA{Fr2HF6p4D_Lb02ZsS2;ThOO_77QQW=!eEj-kOhx+i)FFgEvx;6%7@d#E{ zK~sDJyBY$#iv{pUhwd|5A0}=FV#5{Da*fHPtnotvlx@3GxjNzqugIRRlL1p&ofmA> zzKRX*D;JawG2jpWC9W*ipIZGHpg)84XQ2M{(Vx<;Z^mcYf^vgU?84vfLA^r{Yt33% zGN%=HjQ(&`j9+5GUh<1Poq9O(Z~$8v&^Jq9FgL=J!5B@eqI+ zIcNo0Y=e$9N9_hgRVWCgaZQWZ7*#PECS$rO-vZHyE5_ihn z1yt+W=mx&W&&>DZh4lH|d;zbjax{;{%?a+1-Qaq}Z|JL50ab0e86VVysvcp#e!Qq= zykovy$hN0cycIadPX-N4x9!)_#4yEu+Uc5BZy4!ug8KhB<3ZE%k5C2i?->;>j`fH` zfwGn{LN-sCu~{vj%!Lq-6vqs|cMZDDDR{f!7-my_wuTrGcGPdnkMoVVqwrp&7#kJu zc~Tn{cP0!}hY$=x!GY2K4l9%#V1FEg;Ra5vB{_B`Bcb`5W?lM8P72rZQ#|0 z@*;2bZu(dtm`wk$o%>K6wiP@D{SToVc-KzGEb@`TjUN!5?gHn_l~a^pcMc9C23ZHQ z`Cfomn@=&G^{1Qu)aVb(00&j{)1O-X8K6Id^=F{|^wFQvc+A(1-VQDC2e7*t%C8eB zEBvcr8Za&pGCWVTVG9`oe_*7=-(q5T0hInfFwp*RZ4N1dw}>tDW3sGKHTP)(C@OA4 z0~E@|v)KI63edDoiFZvCXXW@|P#I_%KZZ?G#N>Gg1WcZ?D1b%LaE$lEL8qD%(KkHq z!m$plj|zWC$G+#tX0uhs#tYdW-?gCrNKwl?$CZe;*gOxm%SsbQ?QYT^Y&JWGN0V2c zu-Uk*OnKFvvoUFpN1K_UMSdFaJl_UWK`T3R>4&4$9QtOf?Hzzfv09B^ z`GH=8tb&ZccT~Qmk7(p>;p%pyy{=maj!YA;+L4uJZwRnAU(cuQ{&zo0iQ7->uUvwX7UocJ31&ZkF`PbcUT9zq8F1>FC_cjBqy z-%_2egq!)=#8Tz@n_RvDK(vF9izo_7!XTt{0G*3pNJ#QU=c;^ zIdBmP@}2)r4VVL^a@F6KSg`YPQzU3PH2u%@KUJ51s*VoTJw&O7+8Aomq#G6{aLzK+(xZcE?Sf2pJDjUjZEPrkPiRa_Zx z@jpam!ZwD=$2bG7I7z7A!|B-0Zod7Tj-N^taQ9-O<~e7OSe&G9NMf;&4Y;fDDgK+P zSTY9x<<1#Hbr#bWtn$?6z7KXLKK^MX>=< z{RT<&w~OO0Y>N&^M}IGuX}ndZd&zFNvL}eYT5tK1J$eyzgD+bCs1F}V4$hjrXCT)p zOEhW!GkW7o;qM?F_O=8%{o756LSLwb&seW6WLKrfnn^DI8^s8O_%3$5_yEUy;ln;NHNusOt2k*Z{mlA=hCuWjtH;IQA*V_x(^=T=zkjbqANti6A>en{j z{=t`{$IkkL52wF;IQ`|r=`SBnfBA6wbEHXEYF9gDCO^;ZCK}1$IccIg_E+BHb^pHD zPM~!)S*83^b!AAaDZ_u9pN;Cj<^Z_=Dbm-c4j;)e^(aMh{7#6MyKhPs#umafp=FA% zO#t5Xmu;z4(0{FJ}9a&_4rN|E}?s#Jx!I#Mldv3fYgrbclTYZuJyB z@U{q){(!kSv5ZK3KDbe95E7D&J<893yBY&*GmmO^xCw zvTb^sSWiM)p-V#0s=Lj1%RH+fWV#R|0{^a27KpaqaUzeR4-Y-gAby8N;g zmyENlxRXFubR4y4Y$=O&>F>F~ht}>*HZU9Yw07uJk?Y;2up!zw-?Rcuux{7+(Qk6! z6ijLq1v<@8t0>U0Q($%5YKfphf;YgujYUDSh`9WYKneA?nIS6Lcu>;Me$mswB|Sbt z@F8UV+GTPVYpW+v5036sD%kGVLW)PA9#Z1=I?Do~t?22~lgi7Y<5j5}9N2|7ojv-V zr_Z#tW0YZ08x^g2UBX|&J*1|WWnt;Y#DDDQoS zIDs`5md8O*poqGaK?tnXwSnm{L^DUq;29lB&m+Y^DM#Ib~%#@Y5)-xR_#2%Xn(6 zNB=w(T8wVWRii)7#}glbFVx|G-4sT=UReyUsYmtt(=T3=;v&A9a|522k$=JNjjx;; zU?^5&SWDz>Nj6119OsE6>c$BaBHtq7>WCU2Nq#T0<*q3sHfWa zQYvWKIyWo*j^#$j934_X8FLtSe{Zx-TuHS~vBo=n5g2um9#R>&6(F7cY_FBQ;RMD( zddu|1)?)~@YV>Cbb&SO4zM)vP%Ys9vIXa1L{BRp`aW z;|nn2mwgKEhIaA6;7{4~Qk1Uv{#2gS=j;4ud_3*q^?gyj6!Um#{{@4%>h+1K<`439 z;MO5thoDSl(@U|AxH6R|^?5x$dnNCdD$r_R8Sdva@Sym+6g6bSYf^-cwk)zTei-jTn%G+&q!YH$oT}N3=ql}*ksvVUzYP=M zs4HY^$q?*pYt}Ya&o&HOer^EPQDSo54I>0B4l*ZX-(KKN&^r*6(=-ZE{~v(G!Ts@ap#bL5xf^R|6; zG`_l$88T%RrOl4+Cr#5HIj@JTY^~o;q=)=1m7LF!ekJmzgo~Yupiiun#YCK-(UV$t!9tpuOl3%zmIa0KVcLtF1&A zXX_^?EpX_#9k-+-dE7}0Cs9QUUwCdW%4w>Wc)*|R>lso0`su1`mf#!#oK!PCv*oCY z2A-q61RDVF#;>|p7Iiad-DW{Esy8nYMcfC^MdzaOSm!Zf_-%!WD7>+}nmBcg)t}kY zoo!XfUdZH3ydemTH`q--l&lFy$vStQ_6@D}@xFk-gvvvXB(s+OD#6wl@)2w4<*HVh zcD78m1W|qH9?JCTU&NpR{%B<*3_eE3kh}Z#E2_2^Az?e7gqEM{*E^N$?6^s+ zulr+#F2x&V#|a$=9x{zHOr*KG58maTNjzds3x#8awx^^eO6Q@c7H$@DNCv@%7KunP zrssZ;RC1tPCa1Z3*!-isPWbM#yk5p&ACF_>J`?XISGAkI9=f;sc6)^otK%hVAjhCm zP#;xW%7UnhUr*@+dWzCtFbNMz_gSHsPS!w&lNr-Y>Ap+`bysy2p*_dwJ285HFJX~2 zKBPZieY~kqe|bG$-O-XP<%F4DRKf(?OHWO7w-u)9z&%EX`5qDKD#u*f+?<^fh3w=_ z1&KCI_$^AtY&cSGv=Zh>sfiAx(uC}L@Z!6B43h-zak1Xu<*>47ziKP%cU6T2p;Nv8 znnpi{6|DQ=>IpIIdxrEW(d^z%v}&Tac=8Q>#T22C9R-)r2D`1v8<4t=)eDE5Z#+a- z3=BpM5JzXHM%Snw)SBr42{@OqR5!rxtY*ImNsQ$aRq%+W$nKD=n&@zfYDhRhzap4n z^J!+v9fqybdy~@c5bGL(U3HJz~@p%P5X7;`ZN{Vb)_ZW|A5Vx=@8P z&}-reOUzTW-)rJS6w9^P+Pw8y6Q8u03URK|cSrM0@DR3DRXWdic*qx@#~Z3OaWnpc zC1qn#!FYrVqf4sI<++SJt!eId^~Ad-Ui~6NIBs!V5pPI_R%NwxDNg7> zlH-6o>R{Yubc|l@ zDZNnjFv`|!j@pZ#EkyH<^rG!ubR(?9#OQ7^+gV?o=Zjobqh+Hy8~9hL26iXA8JDh! zCs}@XDxxse_XW*&|7|Do|~W7ujH$wKy$5Msuk{ zA-i)i(-}tztj^Jb-F?$iqn+c^z6|v3+7^9{9lm(#`|~`VI41Dnd;O#7dGG?n_fv@{ zvCq+x#FOJ;mcth8QaJ*BModjNB&pk_+7GEmFDX?FxO&pXHj2Z4ad}e1 z;_>wSlL5lE^TcodIb`UvD3GFV=Xkubn1W7c@#0kUI>aNAs+dp;-)L*{OwLNxI&y>SY^=p&hgOAU94uSAqJcExh(!NX_9GE%RaRM;O@$8NKfZB zq+9M5zMeQsZrjx}4#%~>Y8<0^E{76uZXn;}5g`bI^7?~E4L6bgbc^>&z``7A305l? zV0`~0iM%8f4l0rDU3xTMUAMTAoQ@biBT7@KGr`b9nh)xilsTZr-y7F0F2Ta_DmMj0 ze@!mQOSYm*JANG#04~vx;#s$C2YdYL!%KiSfMDzs-=nNHcBG}jYZa*%x`w|YzKDD_ zd$GC8@;~#cF<7QAGD{{U`udmXKAl+g3zj`XT*rNu$j46h(VYeQsLiXvp=IwtidkP& z80Kb~-0Gp=d+Vf@EvGVXn|~hq&j7JRCJ+*8;yV)g?6?&9 zO%!TWGVOalYVmcnz_`k_UBgC8tih{?rSO8^pvah|3zslhyp?AiiciGe`L_%IYMcto z6z8Ho*~em4CJ3Ah=yAXdzooQnWko_hS4w#htyWos-RI!^?4hFVwuq0jsKxbU*tTdA zffA3Wr0XFQgx1W_s?GQa?46~}tgGh|d{?zKv0R0)PKLhorPy7d&5yp6F*|(9#@5a}NQCwJvFHY=^bOEp2 z7bCjy=}^f|thPC1VD*f#x_7QMbRS+xA`pLqR`b zQBB8hjZL6p^iT*vGA)(>E|F2Js=nYVP=>48q4(7vQs_M|Pq?GFjMsFjg` z$y~2_$vQiJbxbm3`10u?V~J{@pHge%tEhos=&(Q$J=GPRjV|y}Fv4e8r|?_=aB(** znBw7GnT^`@IQY2CT%cXh;~=hAm*>Cend`CFWe~4z`Xsuv3EXi;<+(a~r|~tFf`dzK zh<{fABH^X6-25X9s>Tm^)S>_u@amu#$h!2>v`JH36o9^+|U z=UrX>TU@8ZvVR|B9#nP~R-WI!-N8EKYB*y~kNO^m*?p)NQ7h-m6;?4!WOB=?6`iZ9 zqdB=hm&zW~5w2X*bk~KPyLvR+vzYWBiKM_M9zjs>$yEY^dXg0SUdUcA#7U^vQzdSN zmMtlUwDUvSw*pycGSc>LnpVrHV&n}phN?#7c626chtjC!ZqM=_hxa(b2)rFFiet`L zReMlG+V{TWONz8(E;Z6-8aGygZsxs-hj=)D{CS*op#a~;8S2vco|tuW^*)a*yyr{) ztPX-_F!=%gbkP0QX(@DX#tZ2FH6%cv7@oIaaQXF-@uO-oVWjIN9L7j%SmQamPUi({ zoa0L&JC7Wx`;RaDc$)YL>#n?(`?>}QjcCvso&V;B8eGSGl*kX{w|{MZdE*#O$0ku! zr;6k%D)IPsW-U_XG>O{hmT)FW;y;j%Qewh=R4)fR~=tW z-N1w?S0U)bLjTY6IJ z#CSRi!=DSiSN@=POYK_Xx#pc5MNw*N?AcM?ou_+W{7r{5-mJ@4uyQ2b*YpXN2BGiNkfVX|Ips8Ja@lHap+>h4w>9j#9$z-gSMf{ z{5Cg=V^Td(R!%QQ8}0vd<+BOYCxz_ajZ!kNl=c9-00TTwxgXOD&ro;xd{{aTb(a6g zN=Pn@aDJQsMK_V*8G$BEb9xok6`IxAH|!dR4vcr?6MffO8@Aw7dOHdWKqd%B2}L)z z&In|7kz1|4m)}}c2^)x7lF*K}PA(doq)Zp@Qqh89u!&ukvT8+b_m0;B1(#*^xoK;`dQLcdQx^Q|66dOuo?keQI}l!NM0F?;ru&`XryN z>m1F*3POgaj9XV|vebE>rl}@V*iLT=7%J?;>Dj$^+LOz~=4>LSy>ta|Ey{kk4>;Rt zR_5}%PZaV#uv4~Q1i!(unMZ!LPq7c<3A+2I#@;Ks1GJA3(hCDV5$R=#3$D7khhe(8~TgUgEfl7Zn_7 zQC)rEE+!A_)aJLVZ9>fqI}@vq5QzDi+zf1jeRTMJZ&~>x>}|5%xW4rOnG$N%Za}E8 zH`449(K|CrEkNIPi?_h zXXyvYb+RaM8(HFn3UO##z|A%K<2!E)vL`KZR7C`fwFTLgmOidRV$l|4M_c;U6%wJg zfcu4|PpFW%wFTUAmOj)(vn}{u631~YrNp=`_-?iIaTT+y{Y5GJTT4gVEe5{bEPa9t zv}}X2YgqbFcQINUocB(NgRj}@UzD;BTKc$((U!g_d>2{z)fG~GZQ<_#OP^p@Pqc-< zO)Pz=snoXc_ZgvbG6T3GWKrOru|(|_ZbK$IGY%BPRu^Tvg`$X$aBK^*NtQm;hKRNx zyUx;e{(T#eon(nxV`&4jUs|FfHrtSf)s+^ zn$FfW%}ZV9q5C;5`nr9)kDd+Vr<*aH!ne2!drX**Pa&>DuUmbY%+L4J`e2O3B&Cl1|{XhEH&if0n0v^}<+sH@%*Wyh|5VR{bAUbeHe*!2 z4K1HuHE%B~1* zAuB)79&?sYehKBPYubRSZm_C`n#V%SZ#iKVYurOrm*1cwetseSPVN)1%TKHlLbH7- zOgRT~y8iA9h>zqO!k_#w@b>OW^`>px{N^}`ZNs{dz8 zTYtM&^~1k27l=jK6eE6wf2ZiZoxS7#)62_WrTO=MeHzUt&%Zb8eV~7*zTtYW@$b}k zf!@pPy^#H_UfzYZit=!zK8@v*uWvuSH~4qz+g0y<{5$n+tM_ty=l&nPd=Alz^=0&_ zS$yE+tH6mV@d*D;eRK8R&%aaOOubjydm;OhURL0xSl{FN^s?~g>bqa>clvkgyIJpN z`giIZuJ=9c9r@SGdb||tJ5`@PAU?v^cck7Q_V1M6Pw$r$-*?sfA;tG?^}c2CeIvbp zgH|->(f;BD=FkY=EE88P)?7^cT*`)*^>A&QkOijs&yL&a?u5DAJ8XrX!i__|^?o5) zz}zfkm)Cdu_zfmp?XX=sMC(}vxe7TC{bAv`ncJ$wE)`k|SZE4H>jf9cnU^ma$TByt z9ow-Ytqe0+D`1MBtLR4!JU^#(y*@l=wj5ef!*3yb9z7BSxYvKH$6*sJ;W5VScG0?9 zYZh;2d9&K84NjX(?x-#fjyi6JDT@j}lS7$WqAz*k!f!l-f?B`wk1@et71*Mw8>UdQ z**2=8>LD$Dn0u?qP=j+-10qmILaI$3w|0$1zqfV(gt;Gw*D$nO-u$?V5#;>~|3NZN zTx&WwA`4N?mh__usB+E%WtoIW0T%V5M%Ihv=Wxy8etCE+HRr6=s3Pf*@5l{wELzPv z(vmb+Y)LU2O-6u8sbGK)ZL;H|vp%|70iSV#`71+0O|1uC>fNvKweEuRvqpnEC;f0Z zD)!?%w(ALt(I6gthl~R9CvCBX>yQdX2a>^2$am;67Vx6#PAST)u(|SAoo19VU-Bp7 zjRbuu(#)+;ueQfi;(FGVlWAJ?%6cR|5K(YaBu-;$8!QUkwuSGMbtcf>h;#RP>Pxeg za&1P}@Cj>-3(z)A_2~k>`pDMpzi^PMg5a?}eG}z%gPj&m7T7AvlZEVAWQM^SkJ-4G z!7scdc@Fe>b|p{mysoo%o`y=02~IqN<3#9Y9}1k-)61L+ee9h%{Ukl`@4v?bk!gH< zp4Y>s^k&aPZ{E(Qv^|0sYl^;~sPE`|G^NJGzw%AiRot^heyitZ<$p9%e$M~Y%k{jN zzBm8Z1^RTfrJD~pu~iqwtW~Wi!#CKo_+vTmR9bC->6j179f7F9{>d#=uP5(!(tDYE z*WQQXO;)%J5$9frRKf#1{1+2nc&HVo#P29Q`={rc)N{Agb7ktePwKfg^<1AkFV_7; zv*q#(#+S~~e1`@XU#M#V|0)N;OQ)$B{fhF&3VnWwdyx#ieFnkQBE#)H`M|hXQ#;J9 zM%l>2Aa|-Qs<9-Us~Dm}_^km$YEJ(WA9i_#l&xzKUvn!@OJ9!hG=KZdUTUU#Iry}9 zez($E+^=}97Y^!K+r6X&*amf1%o0(g%yfPO^hIZ^7PD@lbZ>k_`Hr`!9}@{e*Q`df zp2DP$){rxnWOuQiF?R2!<*fVd;Y0sm@ZL;nS`o0)r^;Ja2AI1r*}L6V8Daif z^Ns(LJB7J_c`mJ^WQUxhYnOLgn7RCu1J$ox@F#y)$d03#pr>Ep#7=XLo6(~7d*}Bk zrMK&ROz)Z&3|dWdG-{ueX*_LjRX$%`vlX%4BARr2Av@C3O>XqCdU!?;zZzya&hj~I z1av_Yxw1WIuCN+g%~)wo_g|A0^;RANu0XXVqDotCXs_EuP+6sbrxI#V|8%!mM)Th@ zR~6_^p)uin>yc-864BMCRM~Zu&=UQ+wl)kF*}akS`jgyCg3QzE=FbKRc8Z z#6xAZreQg$uwEYpei~tFX<#iuF+>Y;?4^teDT|&!L#&#`)XECb((ORSu62t#J*Hjb zncO7@QGNb)YsReSnFk2}!RtIiaHc4ORnwgXLZiygP(^&X|KaW0anISHjY<3m;96oQ zpE%+uOUyL>(|TNWjjdmT?dd5d3yX7`_VeUpXd5GJCe(02D`y@p76UmqF+8*cYl3s^ zHnD=a8%oDYpW1_FtNNW{qvGK#1jC);~z}fwW zVLZd}t%WY=Y=WO&YN>?o#5-VK+ZD)W)5zEk>ni}_K>zPEYW_FJwXq0He9H$Z`$fqhK?G|sLYk)Cj5>-#ofCtR`})LEOOyqMpqP@8NH5eHs`PkFbeL`PW|AFEFaM@s zQgMB6ucxQ;kk&o%9xyvu3)#UGj9OIo{`IzW42EmEiRE|IE922gkpjLF^Z&h|46RCQr@4jwFXMmN z^0T>C9E1EAj35Ga4$TeFgQv6kU2GwVRpfEb5nsS?*>2Fe7O#E;EYX|Thejy^SvRuO z*}!F|aqzfg?{6n!NM#UOA-vZODzPLl_Q$gvpQ@$ntooUCXuA>C=+$nTfb+@f;rl@Q z?$!r%Wo8^CV0(QUV*C@s#sV81_hI?o9H#NJL zRnA-d%3FdpCuD*KOUGlmRg!)$>G)aS0~i@jJ79wM-s$Pgu)jL96&D+EErslQ!jZq+ zaBYfc-Xnu@pQf+snu_5h^2kW(dy%tX4sW686hiK*1_Ie0&0eI&MDBO1>&spoE~=gQP`AO8#r%O93D-2BBv zF4>zKjcqSaiewOrOfn={Y~1d}lzNpcddigvT_{&`lL&v6?n6ovmzgY%rGDUvfz1aX zfRnz4SFv-8@h^O@cZ6w8Ihi^wCv-)hiVdjCRHsu6KcedV6MIobNzL{B1ff~7|y zb8_WhM!Fx1bi%d?VEj84Zf#~c?CB|I_c6)NqbF*6^yZa0JmWZb*TEEGr%TtUjMu(YS!$9 ze@8moP4=rdr|a#;Nu0YESdDL&=g<#$K#hk|BxGIzBikxr6J5P~CtgVNG zHid6?g-2{_*B`Aq7E!cdqczw<_MCqxO{O*bQYdUIkuH;D&Rt$zTOfqe-oCYhG8EH@vBg!utpdk^hk3vw22>-AVBbKh}yQgbO54OKg){ zNz|QSBvABZol!p((OL|iWQ}5i3z|ITyRQ*d@ZM8Fxy3NhGp+4ipjoq48Pq~_G~bw; zDlk^STJ&U1sTxH(bcFIZ?qXA7g%uyHI8F9*Kj#px65;skZ&p;HbJZe!QQ&jcuaWAy zrmr|R8XSu^MZZ^+Ps!QgAeLM&fIIk~DnphB$fCH{Ap$60J%wgCchF)*qob{F>{4)k zZMqlTJXib!Pw1mWHyY-@fC9%A(K&n((>Xqq2P_(3nUq7_u#W$81vNau1e^H7XVps| zjNN;_U~z#M#3d=o7M#24d;4i(h|8CMN!qjOEY^%YZC^1&85w-&4f%5S%~M@{D{8fj zF*BO^39xnVRB6qPG51_1cljrQ9SypC^-8RpMB^kozL&;>$IqcEjI1uO|bjNVnf^05}l+r^HtAtri=%5ODmOdu1w6(QYN>~M^Y{mY!%P3AsKySvI}p6 z_rx2pdBTRXzxHeh2c}RE&7I?D;n~nA_9ow8LoEiWWwE2+HmZz?K?Po~32wQr$)Sk- z1CvCboLe~4S%*83kxtFzJQd%mgAAuFHSpV5(&T#G*6K_NcJaA9rVO!nDwlCGXQ&fy zaM|C)p9y*dG{Je9T+?hp3qLZbDMmY5-S;jk<-vjqoK~^!(1+_(l0!UL)|+KL)wbsi zCaU&?Wa3W-3{GnLK(((`p%`=s_c!iaH#m}!hQ2jXPko9y+6R+=Pl)F{tvucg#oN8(QJk+Dipbcl$Tp;P@qKhaZuqu zeuqj`qT%|BS)ye1BOoEVUJRYcGR*Ml%%t`msNE{=1r(_mWn?4(Cb{XJ3L2k z+NXqAqJc$u{+wPYaB*twup+-i+hnx$!ZSfiv@*FvrW>*_-=iT^S(_(S0e0%Dp{Jdo zFIkI$70jK7f|d>%<18MX9^^tfqP@k%X>?9|Qxz;P)8nog9-Z@zPJC;nXkL87&}n^L z&Y-AXla`|SutiFSgwjmzBFoG^5o$ix)vSVr>~+5O7JE!!$k(lMleIfybrD5ss-3L` zZeV1h;_Z`BrrWht-hwFmEHI+z1m8qAMD_X4vc915$*ia%lbp zOGp7hVUQJq#I5P0G)6ic*)bq2#S2j1)u;>A6GfTHb>#4Hz(4aTehNs;pY%X3#Ak*Aa`*TN2c*9 z951YV_bzl0D@vV@rnuB^J-e*Nn8n5eR+P~sv-TJp*)nT$f(IFO0Zg;~j;k1}c3=O% zl!6V4gt~&(jh=K&BT%I%CK+-@*;a48kKkRu4fb0{WGvCT1NG%@p90@nju-szX#d;H zujn*OzZXw1$RVVnw7VIXB~jWRz&V`1@dPB0@ph;&lD6U#WqtY2?F||<{iBdw$SRXPK?E$|lhs0$ee~>O z`XZ1L7%_xz--Xb?RC^*tenSyfPz;saB=E2563v`NW!}^kN=4tHU>=z`16v?%jqGFc zlc)xRczVVf`B27%CT#x{PUw=fSU6SbQ1Y1k8`xnS*%e5X(+xN7q@L$jQ*BON$)IXw zL~)Xr-vD(hQ#QXl&9Uq=(f#kKAI}=^(w`mbf0?R!;uy1PwoXT_sN<0caK~i)q#(L8; zVw?}*c>s<+f7f7_dR0s6fS}RQgO?gNbz13N8!KiUT~+9TDIFFHH`hW+ZNMtj;PL#o=e6BV047yGaji`0bDrBvc^6LHH<=Ftr$eyE`|*&xC99V=6|IBCNhZ3DKk3-lhGp zO9Y1GRn?J;Q;9Q;PXJMEJ`vc?KvBr9^%x(8_xWomRq?Dly^y*5(rZwW}kKN5Cao!4M=9~ zxkjQ51mZ9cKK&9>Bzr1u?vY%@G#;ZtB~AjRkX60e1F{^pwzlU+FV8a0jGp7y>nhcu zJtLf7H#>TW?mTF_GI|iHZW3-58JyP7 zaOBjTIIqFKH_$P?2V4!|y^uWsMhP2VKDfwQI@Nmkp>^^GlEwGWxuoY=lHgc4+qBW( zlg7HF-%$$Zge4v8ldiEOr66e=rOBgQI!;ZD;$D!w^qBZg!v+ zlH^MDf>@;5hh6h&5$e*EqM3C`hZgQM$+~qa1=vlS%A#;G9jL|(bc}8L;RDOGxvj;@M=4OvqE4Z%S0pA z6K-^ej`m3h2>ybK5&=8lEp>i^1<7&_WFgxgVko@nlf3AdWBfJ&~kA(|AdfQ_wetBx~8MH;zJ*j8?U77Pr;lVRyA&8m>}Oxr~8WDVSNP} zLODkiPqw9sJ@8?a-2(i50{oNoz(2t=!adq^L-PDz5s9Vl*Ch1KS%{o4pzoEb?|o9w zwW(*xjLT1$R(R+f9tP+k{?smV(+v?OT%$q|daGmG&d<7LCAIn|#i*tn>BW3Tcs-OU z-Bdu%q*h$=2*uiJ4)at}7MxosxSO7_&cq z&?%pJv=|oRR^S?wun-qdnM!5sPvmIi@#~UzSjW5clj->^CepqtJ*;YrPW!&+bYtywpkZL~Iu@49 zxcKj8_4ot=CK6I8l)hESCqtwkG?dHG34z)qhs2|ZUQdHSl49I%P%LQ*G>CWkr#1$M zhk@?l|6r)+zp7xw=;LAZcq*68$>@+e2%@o1(`Nyd38U*$1Ld2A;1*YBgB8Io5SigG zYCk)cLsKsfHdOtLvO#CM4ASeoYoEV^7#L4fQ<2F`sc_L-PE8)^JOZ z{!4C>Wnw=34x85WTT4Dr+tHsVLbZp!`Y}U+BxBsMJQOYyii|GuX89RP5S39jxeOB+ zHT74ScKPBArc%X=gUPahR^da;T<5XZ@8o8VL5B^N#6@k#gC7;~#Pal7d-kzl!9= zjJew$)ArO7(H9Bh$SAjTB4X#NI^n#~*;&t&N|3mcSZ&Cqp?~J$-ryD$^vAsTD}Da4 zu}>_Fc8RuF;yti~%6;NHBqqney!yu1?iiTAoB@B~e`XooPUPz5PUOnuu3ps*;0t~0 z@h;Y|6!+Oy+J|mzsW6sJ0Dlx?b!lnzCmFPvQ4%zcb8=@7NG?pMYzin!x&wCX6oOzx z#XDUuU#B8W2YQhngMgSw`^3PH1FloM|fG0CNH)Jnzp zm8+sl9NN z0(-6v+vK;|maM%eK8?Xph#$OKwcT!97Qcye)vA8=Ix0I_l_?fuqTYT+L#)z!OXA>_ z9aG9A&_DKf&^s-X%epLIm(+{DW>KW%wgQh$Z-9y6dKy->{_=*9NtmgE!*kXREjq?M76{R^i-E7IYq> zP%w1D%KQhL0GXZSIDP}3khRb)EkxJSX*&zG7I1CL!Ix%FaZu#%efF?66)$J_AL{*P zA82CA<#%R};g3cOYBuUl&n&7&kW4^d(0tOAZjp^x1{~O~BVm^0CZ-b931D6-pi<~h z^rs&BxG(>e`jYN1IxD)A^q789VkUcRFFWBKcUvR zQBvqA73# zS;JuX-Y4}ekqzJLljqh;(ITA9osNG%iVht*<0>@DuRqsJ>SaB?akrS^AdQ)wUQ!qe z?Jo@VaUOHN8f-b$?+dUW z#pl)nZHPb5NZX(htcI{{a+2Ngc-uNksygKX)p4#Oo^=<^)N3`wZxFTzI8fY(kjbrr z(zAOGh}DsTvkd@ltDyqv2Ag_udnpW++GB{>rT+O~_2|-xgxO#?l*zVZ+nEoiYk4!- z9L5~3g%j$6kY#euY9Qih>RLmoI;nq|+!^KS$H{Db<9>{1GHd5d`xf`Ty?V7nqDmwI zvDQdT6|l3oLFO8Ev0lV)#)Iy7YB4%s!zyoW549eq#k&e=TGX zwv%;GE9;BF9>{It%Ru4g-{Q+j)FRW@(F`q9G_cV^(i5ili>sAhg%npSmyH6D9i|fo z^)J4WtLrllzY+gNo?}j7oJ9gwL2-fGWE(+Rpgka6!RA~GlAxT)hftoNn|GmGX9zUdFOw3LfJ512;!_-l zPDpmDjP~D~{jcLte*-Dy9EVP*nB~(QhfeSu>TgmdpX1O8=I>B@ksepnwy$tI%HwvFyA_r97c9r9 ziqZbJ+5bA+x-EYy=Wxp|YoG3LJIdpBl-o~AK8IU0lSw;!b9{a${e8t&4v+DNx3?JP zKpZFn`^;3~K6AvHB>VBr+ay6Po7oSO$(^Umsg+MIpQ_L0+mgfS*&#UFxNOGq+L;2|P~NsR?@bARh0ZHE zwr1o$TZt-|Z*qsu3z^(|dQ*kw?b?cZc+deZ+m6u|2@>{^j&iY(R^izPt9*N%ci*h8 zI45LbQvB}77IN9U>64-bEV;DX+C3%|Qm;igS}w|E;*<&uC(Rb*(s5kC+y4={Jm8k1 zV-%!!oiAkuldz)crfJS(!RSDzd5on72D3zhS~CF-gMh=FM6rmepM;?z0?WXNcO0#m z>`TUG__-uCnBR6zXR}xiJ?~a(wdP=`(dt7t{pq7Avh|%`sUW>K*zZBwKg|t7`f|5V zndX0A@V}$|Z?pd$?|;Yo-+BIbmj9J{R(&$g^xMw=F7)YA&-xzucd2Iqf#h6m#+iO= ze5P*xx6=Ri@xQhHx1L|&$c}8kr9l$sIfVr=*$rl`ItA`{riCdXk%OCpfO(#AvL&9u zvJEUG(ff%q(34`IHEt4eN`_x76ubNeY5*^RIrOTUr3-b(QF)k8DbDseUEu`fae^|8J~Zz{C=p;O1fdZg3(yi{3DR z%7c#+2=A|S8l$?|uEEpbW}{Eb4kZ=chCfG~XJW~(I;?kfSc&L1j_%f%yM2n&ZEkz5 zzK{0boBglTZ8?A11m08seU|@qx-I8*8@^Y-Ry|I)xe!^sM?QbKrOWTg$IiUObI*Y# z{LCiUjYR?RW+UlBh|WmRdcK_DB70GR)pwoara9Q(KRv38rA5W~d`zU)$Ouzw>vqUl z9JS$v_%sWJz@L2UIq0d*v4m^`j6KIwg>0VB^1;UoBcG(htj-8u_vCA^*n%l1rZlD^ zW-8utgo@4P-Z_ex(HA%47~>qO^Zh$EWjvoxwp6=;pxBv(C|kx|O>al&Z821i*Qcsv zm~tm?Get_~yG1G|GhWB|QsavqshEldHnJ&M5o15Cso8$N7gqf|ZC|656alz3*8nJS zgNq4-{K$!wtkpi}z+!lj1!NcI1bf-f;k>;aBv1U+Y-sh82Os<-MJis02nFHI3?mjx ziCl<#X~P3tsHJkJOAKp)G23J`<$#l%3ABg}ZGM%2s-M(I6Nb_F6AQjz0gV%i*w25q zR0VI$C~KQ^No+Y|faat1NGaGWIrA(TKnxYq-s>pfB*CbLZP?ESWEd$Ktq3~sH&#fC zdyHP~4l-dxsth6g;xcoRdhQ`mtixZ-At>A!<~8a({MChc%@JTgGiDXV6^fj=BmU#U}^Ico1^gF zP4D24`G_C;!%UxJFZ?)S!q}#7`M=xQ><3)^VvrC3D3mXgv3VnBt600-BG&xW#NF}a}s%JwLq(!2xSc)NH&G%^idM=IKas7TtrhLP$PJaN^jFCKX@hx z6L>}lwO*|u=oE@G&JY|eXYZWUH^FSr=(DSZHBKEmYkPHPHiwDL`rW{LbOc@$N~p&`Dk|yMAnr%= z!jqZ;zjoyELN2|H_9Q_A084fx0pW~GIK;K9LFOV`Pb3?Nd#y1c#k&Bfn$tv`-qmuA zFXnobT%lJ7TWZgW8V*5ZR~SS8djZ8DTpbyq)~VAvME{$~C4kjYeOCvCmudE$Qy2aB zA^yAYrF^4#j}Ev+y@im-M5}YD553B8q$UM^v?uR?5bdg8off$(wu+W#2O?QIxpHDu zLDFZLvXbd5YJ1zSf8#nYbSZR1j=hoFwrj^Zdt$vuEZJdhO+M=wFMRs2dB;J@q*HmWdW90T!>aFK!X7nPw;AgV{-?HZea7e{5N*J~+Cnet9y^2{ z^)9RsZF;3}wjlZ$ze3I6)Twj{mcF|}iPaf^H~tS2eE`Sa(D;h-!>TuT`i`fW=l!k7 z0}=jWb@;dm#J(1Ml09(IZp!8*Q?kKXZC+->5wMPbq62O=B5NJ%c&c=)5cRdkaAF`A z5bU^_>N{7SwGX0CkaQ6w4cE06)IB@egpzh3WcQNcCkX9x2NCJ(*U%d0QVsg)B`8e~Q5BF7%;vNbh|r!s4o%!dI(P-WB=f}k)ZFP`V4e*lLq zDE3^_;c7v&%KeT6Qc^)}zfvY37eqIc9X6`RZ|^(#tCNNBmJ+l&xeM7fjT9}(cAJb@+)0#IsO@~!3?PQ# z3fbTIUP)sF>>ScjxD#2YP$l3YbZV7Do{3@z#Zgd&7`LNvT zYpGJo>P+eimc|U_%U5+UqEpva)a7ovfJt8fiN|G5eo{>8zq13VLbJ=ACreXd`jy~5h}ks$f%&$XOi=n%aO-vkiXav=5- zU#q*9qF+peWaDcH*UK~n2T-4C0qPqp@e9;OwdUn-5l{!vWCH5FHz;Qa`gtnao05{P z-3?yE{!FT@ZJGgU3)x=+NEqMtweSCry>o%Hx~%j64-h5M8Mc@f)9O?ZU`WGdU{FX# zZi5a&h>DjQhM5CQ&ds^VU~FLwCOe>1ZdvR8V_UmyYpvV5W#!tGrdF18*>cmAS~t(h zQZ!TJ;`zTn-{*OLzu!4Cpl$6&``USNc+T(ldoJJm_xpUG=l7f^bFWfGxcG8Pf1EK~ z^cEQb7eifSa;rJ=+&74GjW}Kwx8IrjVZUxYmirE+69IA7T<-!6!(QbM#wb)AYI3q< zkG*glG%0-~_dXiqDSu|-S#<{dFql8K!8J*%$TzGBuEM4lzsg;p@c~&Ps$DQXwgLwF zxY<_q4C3HYZgiLwERaRNyo$i?6ATk{|0bvC2mex-xr0KD{nyx53%6bqTk9WEOH7c0 zF%Jxf>eg;6bdSt^(LaOocpge5Z=trRbPL1cojJ#N zZNl21JJlog@Uh(1ROQ?ic5x}&`^(#Jwo}*LZ%*JfJq`~M6X}@g7=G*(K1r#>x5vaOSPVj@^s&!d^pH4;aLb-( z8pk(t_lj>d>>eovFb~)@HS&8uUMSSuo*9AIl0872pC!D7L|dql+j5Pgm;92p0XRqF zKs+(Kwgk&9>teds?8FQph|C7^6-K^_(8dMk% z9rd`p?*qEO{i(X`zd#ng0tIj$g^HWZK)CaWFQ`DnFI3zMggRJTA{mu$`^Z5}`|C)V_P3Du5ObNE|5}xHR;;Iz886_i zV`+3})u$0Jzv=ln>X06JR$9w$Ez2woh!S;Vi|7#n#mI#hr`hT(j=7%|(BobS9tnDv zt(TOzpBm6J#FG$QJt4gsSm_sCcDOTbC%}mOb-XI6rzCp`lb$yC%@dFpFH~Iqb~|7} z6>?lBX9t=<~+x}D86^I*T(dQoh?g|>wS1M~~=*ef>IK3|w zOyMX>Cy;s|m4D8dV9f$Z@6$e!aN1qGl(5YmyY2wX{rX)b* z0IZ}h4pfuDprH9nfeHs!bNg#0jB|dgH?EyS^S9o}EotSakdSE)I-i&SGrP&Y+PG!m zc~#S$2jhE>bI`keNw{13S)7bfc?pu)Tae||gu9EoT6R43oG`exGrREJL~tXm^v z);SQ`)S1<}k#!q*}Iv|5bwb&;#-U=Du@S1X5ppISAq`~ zC+1(JLFFXd$+dS*UOp6T4Jp~O!JwNG>(FNcNJ_HR9l9Eb=EeI`?>Y6fHh)u>tSO}M z;$+N?T@V`Y?7wl=%!X-v?BV64iujgz_QOzSl?+KN<8Vc^iIp%v7I?hHyyO{)xk-sOUC-X)qY!yW${A2Z*j znSt}ZVX8U9rD^iE2t}G^?}f>nb+b#vu*kFjN_m8Nqv=n*$=|4y9nC%b7fI6R3zitD z`n6^B=7_c`s&DMY#V(^trs)l!cs|7%&kvjoy& z`r;?aXrRo|US_dmj$HcrT4wnK1Ih=3XQ|GX1Cl)v1ZK>656gL0E4|G{|o1qP*SBS4>bfV$M@>r^`h=*KpR zu7?41+Z8E5@AY$2g$_!|ZJ?!KU85c}{hNWqw~Q_+u1f$StS$6w>R@YsxtXe~#f99d ze2ag!>k&b~nhecv_F1mmU2f<_AIY+-uP~?{$z4ekIknn9 zavX|hl(WfAGSHt)=Q^sa6J`>$+F=OgUe7J^MBT5KeZN;0UTJT$Gd7G|h?WMY7=1RN`=h|)}$E5rKK`!a4iLbln*+Et;LA#AW-a$SuaKi zqQWx{v~YISfC`Z$UNvUjRqs$70)4y@@G%Qb9pwN;Dzw4^6GyKE3R6Z?%akGx6^fLA zCg@|(5IF%$80n`0Mz4IcXQ7{zh=U$`_z56#|G?#?I!F|7)1ShUH1X8GnT;UkKH?5y z4tS}sEs$vtOy>hrJT-CT5e$q;f5tNl;sUK4Ocn?DiJtBEE+SP4TsATAEW|h^3KvKO z^9C|wdnmOvCjT2mkOVu8PLY&PJSl%y<^ z6W4@cnlpJ(GXYQ00x>eSrDotU^cF^&6(5>o37wFlG)#ZDzL-Q3nm{3E&bfqN=H1Lv z#v0Zl_vS!?=z$~YH1Fa;y2Dhh{`6#h6OzYG*VW~jQf2>I?^~M|@C~G8X zb98%9#xUL#Rih?pY-z|g)2z1a)ySTe&@+J z$bpqoH5gpiy9D8-~02y_=Il);x=r6XGtgFh50Zd@Bnfnz-O z!*ha6E&!Nt0)?UsLI-aXh5aBI7)l_MWL1!Y*svHYPGNjWIaUl&z)vY=2oMDF)6`Ez z1VWMINsqY$4;}A9MO@p@478bi{m{zdDHi-}0%!=PXeurB{cNu3} zA@qywmC3cqL7=oUbA+8@|z!H z+d!ad9UK~?#?aZjSMFr^iCFrzWk)Q8GaiBfcWg@JFaR?}5CLM*aI;*9*(wFqe5=jB z@b)y!m`RSaJsXKlG=?E!KY~f~UIgxVUYeeo{^0upm`;Tf5*mSDlD@PGAni;8bz9li zt`=<|WE{EH4JP^SUGUuMCXo-PYKTjq?UfcOp3`GItE(C-t?NMo*5d4{`WA8IdiXER z(4W3dgb=};syr)Vr($X&hv;bGAxr%XI!!ZrN_9h^kX9#)jbhvaF+@vakTyk#LFQQ9Af>FhAV6b#*20#DEoW-yhHtU6 z>UB4pnE1U8C!dAA{2vDMA1{%_DCA&W&3+u(q|8KPs1;Mk{=lh0b}ksnATFg;nI8{_ zM0f{gf`NL<%%#n$S6r-kGMvQE#5K`WY-uu@MVe_-e*eV*zyA?azJ}p6vkdN9`&L9< zGqBEc2!4C9IbbD>VttF%KCwL|dhSKu9Mw}7#n`EHyrOk=IPRI{`~B$oZX412Do83d zjuDh)F*X{GX3pVPYCr&x$Qa8U2TQy#lLU#-2zlYL8j79}O-8Zc)QxKf%G|zB#>y6; z$Sx3)N-O*0l+$}5E>;9B)&R#aK#-dJKdcthV&O|WeUFh@QO+}U0bdb9WLZtw&1a`AV4FX$Y<%oY0ZYSgr z*!joLkByE7V{j!O0_rG^lr(0EVV`D*fnpMTn6Zmk;U&!m?zDkTaWt^v9fo$83!5-* zjHKzPkwEE>*n7Bf#dSk7SO$kdg0?pfHuQ6=v^i##D2DEoU-t%rBAcv!!6MBd{W4H) zt=OgXy#Mf`FUJ1{z+@tbilyoFGs~0A_gu zb~eN)hMY|p(qv5kStL`NpD26?9JLEa!2;>fLhjUyiM?SRE*UgJQ^`+igP@7FB-u=! zNsu~mh6IwvL)>+q?83-Hv$PuQMhGLimt1yoPM^Z`YVAI~b`I74U}M)Zwk$YA#nr(! zHajFL#LOfA1v^5?tbM2u#KuXm2n(yN3({;ndlg0jS*u(T{;#$yKA(%dsUwg5U$9>6}<4K`GWa?4=2s#RB?H_g=hztM12H z_lag{)6+}q9y{m786!4G2!agdzwp*#_~ppc1B7(^m_hKH`T{=$i@Q&gM+%i+P4@|H zY-bB=CP7_Id}WXzi~}}J9V1O*i_H)Q^(iLRGaBkwE5u^f+;6WM7Cl|QdgR#qwFCKs zGnJ9}dj7WFVnp2rmqCyO{y2zCrw$8(5jLomC~9zIfx|};&KOEy<8cNVe9t7PdDwBF zaAN$@B)0K>vs~ld6;nAD5z{kZbhZw4Lu*Q85Fv5q0Nxz?#>I<|IOnEa7`LV??B|2ZE`fWHDDijB-|D@=5#VL_L6$XLbFL& z4sp+nhJSN~z2=s$r`$sCdf2P~I>KvKD&4ymf5d}&#SuFw?2A+7z1?<_AS?NAe=ea2 zFD0;xMgQIC&z9jh8ktcOS9e^34w*!G{5E1z2&QZn)^JDJrSl_(v&<2Su}zwM zWMTFmP($WlseUjOt%{OYUk`LzqagO zWdwQrHfV(r%zxT;>4q6KvCWIi5GQ4n_uYSppFI04{}D@WVko~WMDn4Z%YAr?UWtK< zX0Lh0&z=4ekN_unM?H3yJ1w;FY)GnL8XHe=O`;{L^nA41Itk6alHDt6MIA@lrQ07C zg|K8q@tz8D0@Y|ZT4jfbI@wztRCSuIlPM+-7R;!b&@7PW=p}_?H|3v}M|S zyX6@<3Nuzi%)2cBSnws1pb4goGKi7}m9pO|w^&I!SvBx-Zmy`(dAVEtD~h*{-)%K- z9Y5ep*>Ba8{Z=Xat#Yp~WxsVT`>j&;Tczx`O4)CfvfnCYzXb&7x`V1D249yLe1Bqs zw%HwoI6uK&zVP!?JJeXlDx)5Jd}G#xg{y(!8TIT>iV~uL`T6g@F`(E09EQBawC@EIEJ?tYq@^F(%0Ii%W|WDqp+moXg`EQc=jfK4d!Uf(tV?^l zuro?01hSW@yzd|3q;&KfVMrNcEhIRYyfO2-YjAjX7^ZFcW`IdUG5|2FOR@bL=aD4* zpg>Zq)OnbDG*r_g>Bb8EXH!pe9S0XcRGrRKbl9*<9T>!g+*3=HIPkkpQ;7rf>LzLm zE!H5pJ`;t2$@*xmN{<;)zWx1-lmP6I?jJe#R2<08ijQ4O-JMl0e9(nE>ddDO&YMgH zZ|JdnqN-wkF$57e=9;e!CKAf)84!fbk6HUL=hL%PEJvgifX_d5mXj|x;UZ$B`vhRo zv2-Ai5aEd%-B_{d4WsGl5YsLx_ip4w$oyK$eT5BeUhI+FPtUPM(*CL~XX6kVlwS}r zdfYx<<|g;lI$pu$D30rUqo_Nh_sz}vXdfkyb!Ngx=|Se)uJPMuZFsJF)4o@zcx=49 zwm(VBpH6Wer!O({%`G_lK%r*)T^e9Rm2N%4`(C+a^r%^f09nKlSAQXLhheRIcG^$U zu>Dm(Wl>)1hM7Xe&nFHZ=s&M?1N|7W@&hfgTaV-(W9-ne@o|Sg7qib$VBqq;Hwn)E zs?EtDR}C@9t2s?b*z_cWT&Dwr95(M}oD??YeV-QL`m4%oV#ucq(dj_7)q1K{NZpfb z#t?+L+XOvg3;P7az%k15U?edM6&pz?meRXxwuJbx+^>O9Ex%P8ljA2k^NU*#@JKS~ zIVJSBEqCbug{|%xjop8zF2rsd+^MV>tA;x6KqSe(hut!@{d32AUq(=q z`vDkfH^P`;GlG5~u4~@n`NeB4{Qik4wYJ!4F7w&R>bL6r`7ui`w&%y_$0y7C{@fnV z9iLmZI8f}`Nov8Z1{>0=H_mT`4mp~`Q+o@e-xzZbM>p|C=$AMPEBCj&)=<0McYG#y ztX`wlyVKPhc%%B>Jbpu=;vC(##%Jl~&bcFUYperDi?BWDt_co)^2@fl9r6?^mb{iL zuMOcRl+Ut?Lc9Of1@%2=^{Db~pB+#00^;>ma}-cwG(DLg791-I6$f6!HPcikt#}fM zqKXK6*$j#omKOgq-qz}<&$snQntemXVW`Hw@5-X zn`9pq_*?GjS$zR+4ifm0MqSPCEQ>av#_5C)_^-71wtcA-k@ht0-L5ppm0 zcUI>{*|&MqpiVdqP^E^<{Su+mHbn{NIE^lW>aY6x>Ebx~*c)Fbj86zZooWto``63+ zKJhxq+x>MrZyH~#er{SQh``8V12ZX@V7=81a`UMnB(3JfDLsBAKQ$1Axh9GJNBbl##fI1Flx6pCRbUH0&A%oZDh zkFqji2!1&u1i7bQFZwD+Yfz_7#^sptx%(G5q&6tzg9cbU>&ry_gEGqn!^>_8A1F6N z9Sh{T?I-Zlvvt;eOg}R_qTeVp>b_cToeea1yyB{ab{_JWfHyk=p7d5vKsz;%nA%BC z?sah|x@A&Prdu*27n~}xFdU&%?)kGMNVmI#ulnZ=Lql?pN=AIMU<;;Ks8Q7>XlbO{ zC2|{@R5VEt#s7`t)(}gZ5a#}du4_5EyHcx8PBi5)eyH2pUgh6v7jZiUMgJ+|C5q~7 znc$pdo$2NyjQmM#2k)OTZ2arJ5V^eXr<}&7Ul(w-8m!i@&90mh1l1Ax&hoyu+R1Hl z%5QZ*2s;md?ui=7-1j&d#X)ktk*&P%6dT~V+;?~`bCik(a$mAG-_ZFm8HwV~aD2)R zN6?+O`vZ->agroq-pkK~yxXK6p1k4Z$-f#S^6I=vW{__24pPiFU3tWm$7zf_&pu3u z+OObgZrt)BYJyO10zf(S5aM=Z-7LC?FS+9l2M3gLuO3W0km-r}!jGS5pphcp>)nYk z_UwE9nUItZRtl;!792L8WVeL0B>-e;J80@`co%g&S_jUB&jVEdir*X%x7X#Xhp z3iW7UOSmLkuY#%YqZ4s)4@9cm<0chOF2fH@fBEGG!#J%V2nHF0LdE;QsaOtAFH=3p zfFLG{tH_b`t3aMFWS9_`;cHkHv(1@Nl%N&ZHN==)qsPL5CL_0O+xN=*ww-9`)NLO- zK9_k*8qs+t*b^!AM78zdm@xgS8NsT(Gh!P4+sT7zcq(1vyuXRbyo2BoK(T^i-YDWl z>F*Pjjy@Vx1CHw;F=hlz)C}ABfi6ZN;!Y&N6<* zNkXb>9=a-Pvh(`!s%bsctnmhlS+;IU5BEY@-<(Pzv5$*3X5BPSO@R((eE>9^>0n;$ zbS_svH_gB*eyd!P+Dy%qfq{YBc4K)he}QZP-F1mFobW2gNC}8vx)w|_%fJBdA7;JE zV1Ncsp5ZWXnz7kE$^8~6FnR)Cy>Osbi-dSS%zPNOIZK39GvSTT%H*9~#!+CT`?+J7 zgqecdNt5a)_qX(GuP^_Gfh5%PbJyBX7@d~!^8*za=G|nRbDa`>6FDD^%OXq~rKYEh zH}T7TR6VBM#@BOmt;c~lgxBlR|L9&B&t+5{gPOsT^jEFLD#>FDHuKZ*grQJzHxe15 zo_e+Jue!5X*>5tLjs3P17TZ(a_YAL5$g>msaFCae51$(=LFA?cQNiYb$*uF>`tf!n zUEfw~d%wM~?s;Zflv@vc_g4raFsQ-uINfw$8lD zc5JElHJ~gozE%Fpy7BYNC+{$x5e@IKbW!;$cZ}a+%-mrPrBHG8D}?}~(78oH_4HW> zM1~-SR`j;P`>U=r{oh}x_@XtkNZvh!f!DmzfSLENaJbIPP~CQSo^suGzqJwa<;J_| zw-$2g+T^F;&43rBTa+7pRf^Y*9OIUde5XyR0 zJOYG4#7qn%V&9iMAY#Mq74Hm#i`Hp> zRlOEz?EFt7#n|zsyeGabev;OH^P5nC_ktwX_0@1_j| z4Ga9ueZ*$BUR4PBJhf)fi4F~TlS6^qF3iOQhl!jsUfsrN@V)AWL z6zugHN+uNo@#j9UW^|_yYGaQ1USeMZN$?~T{_gD9PO58z#Z51O($(ZqNa$vkueXk|PXKR@BCp zZIQ?vG z?e?dcP7+bYr|-T|LgbI-et;Sh3WS!(y-;!b2`TGH2eM38ySE}nEZ#;582gIe|0*gta z5Ol4iWZxoi<@Z0K<0t8OCW8HA%RPVdID!X1pHV4NskGRHDQbr6u#HF5O7}YLSA~lG zrWFHD663ARHfJ!23o;Q@Q;N@SmawE6+sm&VEB%Cuidw)r_xF$}*mJ*9EZGXOm{z7@ zEzuS)rh29x-9_rLe|%!*Uc8_DskV`+R6ptcaQf+#Gu8l4lc0F$=cXe75GXO&GUjix zBa({&2~ZrN8D}oV6cig4nrbRy3XKPkMKs}5R~$^t@br;MSAlZQz#P7-{0g?Z68iUM zoJNpy`}oWB)x9CCvEwYWy%%gD_WdTcm^DqLK0XCWFVvp#>SvJBFzYVw`?j>Qf8H0! z;N{+f)Q7pogPP_m5bCcw*{y38DyB1}W*Vh)DD>CQp*GNpsfNv=W-_1xY@0;Ma?Cey z=AAOp&!oaUDtEC>58Qe~I=p}SO-|*1LFv;W@eFE?b%u=R?z5+H3I}9{v!3VEH8zL( zw8Y;}Ka4Op%D(ki{aA=46RGn?2|b@pV*y~A)nWq0tk9=_nWLB$8H-xs(?TxT%~E7V zYy$NvCUs%`B#qDOg^!X5C-EgV44Odo2W(iBJ$R~W%{yc{RezRX?lkr2eh%ohRyRzX zi18RItVk%oW@HW%r|UE!(^5{!O2mgWh(`XPe1L34u8&)OzBFf~M8wTw!hDGtI~7NM zo<}k(vZarh_h%-wNjLqh$-RPp_*v7kRNa3>_%w4;NXyhINTv4RRPu=E!q1_;G@Loq zfj>(WM>^OLbdUhqIo{%^G)$z#s$e94m9NPpz2Jn^M4hd*&iuZ2)QLsF&^|QI_YO;% zs!f(Qp<1Y9W*|Q-Wo3|D4Wh(oYy_-UXzJp4*O{~B`LfhVDIl9(0+8Ql8*i}nayBL) z*nnUO0up{K#}CWR}zk z;u)gYA;5RdU59Zu_Z40!d@oF{Y04%P5ADqEez*3RD$V@0?62x0Uuh|^zosf^UZYp}_*sNtLp1#AnKDqU7zQg~h^-Y+O7{8{ z?Uh{1A1vGUjqZ7v{ag(<@=xRv0YreXm*VkZCocKrzg8ecj?Fn`RbFPo7OQoM=(wa( ze#bsdTUn`pJbpRHxltFVpG_YnGVhIq&Oz|Xou6?^0&K7%;h~9|gI=A{xx!|JK?r4# z$NW<#Cp{$Ss=<)`<<~r&)DJaiS2XD3+XFR1jiSf-Ga(ta_#>R>!kWx`8Vxwx7QSA$ zJSE*3A2v1fL1^erQ!m*#)zqXh-TUhNanB|YiW{|u!zF26tbFQwb$;VhNjE8LkiZa6 z{zE@53*v@L;=-XK+|92_^<84*5Q?NRW;|_aWaab!bl`==LNXtvy)#sfuZXx3SC)`) z5+fq0W#~Bcng7j62^fy|PWBd1IfzIRp%ck78ZkE*Erd&?vFr zbdUx+7CxDGcG)>&=>ZaY9C3hzqeG72DORlN`5(S=ND}>i0~sYt25LwYj`$C0CccXvff$(EQE_$sz>g|3zD5B0HRPOQD$Qg4X4y?%U`q6)l z;&V+|Q>>LH-=fgKNp7MFD}sSjdeaNk6Jt}O@}|Bl17VqxBI?7eU6H_gi@}bH;r+ zO=^mZz=`d4#EAH6hcbGxGf^V0bAck}p3vShe?+u1)zWMn85N(0jn71_AJ|FtJm@TX&Aqj||p$mBS|An}Q!#IdPW zX)R>AC_9-DmQun6+Kv{*Jxv9sKa!n!lf)upi{n$q=Wt%|kgW&L`yff-T=O`= z7LqECJ`WjE&?nwj8dC_0@pg^2`FDtjfkY$TFo;BBDs(Ged@Ao_1t=la(_<5o=ELdz5U9=i25mh{E$@82T{whTUrmx#}4oW zW-!Vx(*bMVY*}j2M{!5M+oHH2rlyle&v8RohZy-|i&m~3@qF^F1MXZ^^@8m5$y+alAx}f%$i^-ff#KnNr<=Vizi&`I-1SHY_`HZjM8* zd$E>|EtW@U%m!$=?ws^WC@U`Pkd#(PLVjWr66hf(_tTV-w@uR+K`qnRwn~?{pqeMH zZGQ@qrHg9)w?Z4`r9~?*0s8qnBQUQxf8AFv)lz?-7(<3Qk=uEv~S>($DX3n7zU;oLdNQ~$E9!}vY zqwl#{f~S+8;JBGb1d%{_WM7YB?;V?e$#Q<)L6pVMT!I@&ut9QlQw!swgyz+7H8Fr_ zi(9>L3o=KqQ#U&(CO;&kYguUyNQWJy`4>{rYU#rwiiAmH{->!H>ia?Zwp6B*j?i<_ zbTRZ4II-X?&ye-V!ZoXTuixQ&xoU1@I<127x~Y4Fwrq)Ly*iVS!yzu7QEtf zHjQ9H4$xv}}tY}PPZ5k9zN~~l@anLNy&tN5DJu|!) z{(A~-R2$V>lVkZ}L0|cR@SnHr5Xs)k5iW6RVTRuNJH}oF zX1g8x<9;j3ae&E#58-TxG zE81}9PHFoQTk@_^wf?F(zgC^m={kED#!k4`uEPGRKR+n=d8PN~3>A#Rc$@H?yAFnh+d@SAn1r znu{xBRH=|rp#B>Xbr}b&xA{6n}cwNdjzGUjB^~ zmZ^D7QTSerWl^H)sLoKOrPr|CdT)a5|2pXn`F*_`o&WGX38v;-|92VTps9xIY3XI_ zmu7@r5~XC;DRsFUSos&C*o_vWLqZdK8f~Q{v##Y z$*W6Y_Ta*Q3o?#ux00E}(HK&ty|3id*1jG7tbK<`w%!_1UV&-!5cmhzt7$?YUn1U2 zvJ(<8*-j>CNADhh)TBE98n+A z@?dGFL>O#}5r_~Bp_^PEy(!6Jy*Mkiq@76n5Nme<>mdDs;rV}gGCnHpQ5ld-$Xk-j zRc1QF998c$j8RKv-&JX~#=296>G3yf)o-DG$Hyh-AOA||zy-(bdemXDt|v3r%6Nre zxn?0H$r+n#66F;oAI%(agb)qv7mHr^6(@{)p^oAXrUZ}-tnp5UxLi~kYnvBZrW`#q zmvr<_`-=1~M){i$rS#8x;r^-(UlrfL4*oK&CFfN#FA$Rb}ABE)hVW0xa7yG){40X?f}&;R0hb@* z_gZLTGtLxYIlchuy5yJNx*?T?>Z~dM_suj>b|o*=JER{j6S zm%#m!_RnRzHhx)Pzxtbxzz_CW+2&{7+CBR}v{H7XUFQc%-l4~W3H?WDUo>5eWybG= zW!n&Q#y^@xBX-K)@TG(+hg*B_2O|W%Bs}_~twH!T1yMHtlP@Nq7YS4m&0VPLV3#0~ z1YRZKzuu==uJ>sce#j=0{`}AVZmE|t+hhJ`;Nss$e7v@Q?)cm<_B#2}9=H4}Kb+b% zV}Wh*?qVvc4?b0I1>4>@7SgmN?#wLfi9VS)5bR%&M;|7KD5ogoh2r`D{Glj4mxG7z zyd5>rdbZ`JSW92Mbk05HJ8SH?#}`y*X@TYaRbLV*c`AqRQ1B|U8+ZzP!flmWcvhF& zPM}JlL80QObfMLBEjW`)Wc-mYd|5ikPr9`7+oZbR4{-_=XHqlItez@vlfI^VIzctO zI{k+s5#AugMcx5~C{TLzwSP;5(SE7bui=HD+ho$bUEq=rX>76)@?^Gh<7CyX_A&QJ zxI*}Jqfs;PFJG4)^+A5;8I$VJCT2LykZSxZXdWQ5s3VaLbIplhSk^g!prHESe}Jpx zIM3$Ki$6}l_%U$f(+9-L{sp7-%K6T4pR>6o*({93V|liAqGP^kDU0^rU) z>gLx8xb5IwTDZ%8a$})7-S(^QQ94TU{Xfy3huiH4YR;rARMc=3lJIbwBpe=}REzC* z+b=gg#dAsL2kag{ob#L9x%46SxJG$?t&T3i!?smCntL;k!;Xr0+*jGSed7lNcmK_9 z6K*(>^3X%tW>Ix4TTyEJPrK)vcJi+M`hyO4lL`a+(!#L;Gk&k>Ur=in51uUS2`_J6 zudOrvC%*1S>ZIcJ-x7T`u&Z(2MEYCGp?o?7oZp2yZT5H6pT*k~wtiRStukIZUHb%h z)?gohyKMVj9W?Z+1BLT-r4BOvxC}>tGTG=V&nZ9(Z|0oD#xy$ z|1NoL^k( z?}(m4tn+t&7v0y!qzPV@+;%2!yMO|ITzo4`*m_?fe|&0vm!DB~!JCKHvgrXJgVO16 z3{#jBNQd_^^dPX3se*L%GyqE@&siF2tEiCN2jKp#Zi{&RtE2Itj*>$8uw)P{`LFB| z83_G!YJm_-kLBo0|0z1_j9D|KE(s%ArV)yF=x6bST@c2G+q zI8?MKpL6d0@;SCU3vpbw{W%Am_ZW5C50!xEgCH2|ObRW7GcppRl$sf2a;*=zZC{!E zh344l-SZN6kmtS0*wxm#x00E^J1H3~!8Uy|f|)F1>tn$}!z5KC+e(z{*6{-(kd{0} zmZu?0zJXO@v-S_%!qxl5NjmGQh$$7PB4Ccc z4q~X5K%9SBdQqC!?H{*%L=rk_{;SsE2euRHn6Us}%aE0D5ab2f6XM(_?+bR}!6Lf= zz>H<)4wQr3BOT5z0H&k7I!RMLg_#-S{9*YY=ZM1{u~Kft==5$z@jo6U3Mh*8gCJDS5r_|g0g_ZnUrFB~ z#xKDNh6EcW#wY;Hm!;7{;5eQn*lc(cqm>NkPVa+RVN4OvV%B6->13?WNM0CKSrW|z zG`g}G`CVE@rgb>X0MYZZFPSi@^H4xn!4Sj(Ye`xxh*vULiZ%un9%Bk)xZmkSw=>SNvW=52{<>|OG52d?j^>Wj z{z1;YyQNTZ9JTTv)??u??Z0N692$xBi_r)o`1h&xW>jntse<k1cHSq6sw1gnT=bGl8W}+9+?Q^fv`GCVgg>6WnLKp!p|M9zJ z*@}-^@SYz>b@B*2qkb7E(_KyFsR6%HscyOUVbaH2?gz?=rgJdzN|R{&42 zC?Q#(%#Z?!A(92o*pv!vksUWB3`3(}$+)pb?*4jeP+OH#+W+?%)C_SL6v0mhMK~Pg z-^8Hnrk2094_fFw2mht!!gb|O4%A#wbN*6AiOX$cAt*Nem{Det- zQJ8cM<Sx4ou_%XAQ*ZiFn^Xs)cM_zFcKbP3w zx<>7K)lTng+*^BE1|IM`zhBkmp4ySSxm0KKb^So?Y4iChFLiW}b;LWN)cu+&tkB&& zce!z=Zme0xkFU?*N3i)Fg^ye84WfPXSbv4+4xrUT={M+~PL1%h-FB`z zH6TQ&F|JTC&T8B(8ufK+L~2lk8q7tW{Y2uFR;q@bvhL<)qY4#2;&GU&@XL+rpmyu# z@sqfD4DszQZrPd0wcG!LQ*`e!|lmcJH@*=GXKRQsl5Od`s+9Rj=B ztL~DV)NS8;$=hl!t>K3tYwGV*zjweofnTV2y?_?VSLu#^F$USWgA|2(JiUbhR<7y%wHXNZOBQuzO5F#b2i&kX-NJ|k>*&g**>Q;NqT z{UpJo`Nx2?{Iy$v4C!7rW@%xVGAot&Ym)m!6ITgChxerXr94V#bF4rYZL$hH2GQm* z0inl>lgE=1nY=eV<~LzN>r9Z!LdD;Q$2LuKosSD5S*ZBS@Hh`he(W(p9t#zhg~tR= z;qfR*A}n1Vo_#hv!z75X-TX@B)?bc758oj^JO>|^ZQobBJZk_vh)UywIeo@wdQILc4kLT;o zsz>yz#5+&?A-`)`bDK%U&Wd+R20Zg8!hwt4o*%(@daG)beo|{pU4PT~akUuwjOk4N z`%LWD?cxUs#so&>yP&J*uf`SDfsZSARH*pQ$He*Pkt9D02XSS`|Zgp?q zx~pfcAHFNw(Al`5zNNjfL1TACS7bZ8_)_28wyr(u-qexpiWamtWmoYnYPP@S_Sek+ zMK_k~&hn@$+uf91*U;0_9kn&IW-}8foIf$s+?8o-@6Pa`xh>lS9C`#C6Q)kDtUPbh z*JD4K3^I zv%TF@J2pl2>$BbKIst0Z>dbbuG&E+Ds?pR+8^5=sGYVb7 zONV?H*ohJKEe)Hpoz&~DzkFl;hW7T$qHJ$NV|U9YI&QmST2uYH_RftBolTL3Yv_zG zVL)>?ECi^oh&rte-BEYLWm!=&)6luTrxlKN`CGorOnX~4eioh8(3ELxXlco;YiU^D zm7$N!f=!Eqki~snmff_my|XE92hkI*MBN)Y+c!p2Gckt1+6Hy&+uNW;YuEbt!R1Yt z*SGer>xk&E3o&R}7jY)+0^GRp{I+LE9CM=v`0^u-!#{T#Lu+I%dX~zENv$ zaU&rP??cxcI~zKHrG70Mc3J%u)8hxexsBBo-!(L);jTW?S^NkJM?G!6(`e&{b~L`Z z4dSAvE$v-h(clhvj*di)o4Plk)}1|V-OWfd*2L==z;0|ns zEU#a_V%5@ROD|ruP#5Pey0C8ff||PXba6q=%9@o+!q;;aU3B5{l?&~%=Ddr}T~NPd z(YcFO)~s5-Qk9D?7A#-6{QOl*&s`KP%K}rAnHDL|+Me|QQ(td-gR#p>iKGS@Pfcf0 z+SdVQHWRBpEx@|Po0Rp<^`^+tVySaxP-UJ&1Br0N*GS@ekHw;vNWkwtckDJJT%dDGGclN{Gq7t2$HaLr4 zzrLk?Z9_{Jcl|dywz?Xzr&DA4Z}9^Mr@#%jg4Ln&WgEkVL1?Da*>+twcY!A64-1)% z7MM(&-?mofaDn4SEN}RaO}()>i&`35*ETgot=aB|#+HVzt_HmsU6gQX_VoRk}( z-s{PX`f2quTbf&&F&S;`xUGg3)G~_B+kh)=!jMXvGV+fZGnZY#$2GW{-aj3o{sxpz za=fv#y={F)ZhcCoyK_^fGuznS+R=(`n@`|N+zZwy)6v15P$wRayjb00JsVuR1dPb>&O|hc?xvRX zvauPFSESR})2Vu0Q?>(s~`@jjDMk>A17&5YAMsk@hp7dqR_wV zL4lpxW}4ktwb5aylHjWVQO`kIh_th6t^Kx2*%9?rDrkfA;2*>E}L2!{7y|z z5<t>@_Brx_`DYnUdjR9LX6w|lY8K9Gs2ejY--9v3uZ@Y#fL z&If8DC;!|f=?hd55%{a|GZtK}d7O#JD?YQ0U<8MUfs-dqnf&uZkUn`r7m<1-h4;q8 znbIb6nVF^@c`4$ASYq9H6D4tqEGK$%7yPr;M3h~%XmCBjr72cyO@MetW!FU4;Bb72 zgYu~*(;Yv~;o7BVL#i6;y##r&oX%Y7ycm8 zM!APgnTa;V%4m)?aZ2Jnwf4cFOTSWP}IZ8S9B&&5^1r zb6Le6i;&j-EN?Lht8&Q{s$Vjtd+poaW@EWFiQmP6`~ik@(?jeZ*tijv1PUswkS}g- zO3hgVm@mc$KN|^A6jS4RXK@2xUWAWK_F7w+_RG9>scD10(KzU#o8_6~tS1`oAxksU zIm4l|5JS|TLGmotkt6gw{Uz3$R-aPRBlPD@#*5p6K&y1wJo-Rk8K0?q%K7X&{y^bv zuQ*Vs;q!Vv$MN~)%MTRZe9D2sEBHKf@`1v?@%cQT5Ao^cbKdd;h1q<@@%in!2MRyt z^JP9a^7;F&1BIP@+W0KzQ^}|4pEwbc&tyKw^LhN11BLtee1^}peA@Xeb9wW@!ufn=@fpkK=?w=9d-!~o&kjD< ztUp-z?b{C)e$3}KJ|E=M&1WT_N}l20=1i}gK5hE+=`*I!oL)73*7VuatEbPIQ8{DUjOjCG z%$PZ&YR0S?vu9M#m@~6-=Cqm9XU>>8b7s}dSuB+#2e)_Cov z`t@YKI_i~cIZU(o_F(uAPru|zI)ab88uH8F{vCZ}u;u87Y?Qj$)NU&QOtD;ykRjH~ z_)dKc(UvJ;;*<{HjHMRRM&d(z@k0wlN=z>12*~!eOC$(g+$XWv5uC$J+D06bx z={#!%A679Z$0;uBxKzGM=ewoPOXtm{&mBI=Jov@tzgih+Xl>}#dR;xa7?yLh&Q3Wv zJF~6rS7dF$kM)T5*7|tK)jbzH*-kPJ9o62vu`KD37!tqId7{Zruxt%1h}CcO%bJev z$uj3u3~7S}fK$o(v(R9F>pL5onzcaI(Ad~Rj$FnT6VMT;JY@T}D_Gt;LjSh>=bo3+ zH?|+Xed%+xtgCl*S$;{mLz@8m0bIIHxn7$L#+`-nQ2>$@^`t0U z>qQoCI>X~Z{yEIALxte~l-o*tV0b!&e|HK{A8N$ODc`YMx(-jlFRlPlSY_=ksSqRN zrMs9qY5J#^;gkN)JAcKB_bULd zVSPLHy)zLmDh?&T>GskUtvj2UX8{ram3|z#1^A+vs_6Mp{vln#!*3fYh5(;@MN10~ zuzqc}E8fMBZa+wWioqLV9Xs7RO6{$f>IJa)dFvHngN<3=^&LIM&l_cHp>BPg*)Mr6 zx5`d}crIMT{UZ8%QWv+!B)2s-w@-~1TTAe3XlioKfgxPlrntT5kI9dvrHdbve~ptv znI=D{Pgf!OWpSgvv4QxY-gac9pGFaDZr#l|R<{*~kfr!BdH;>|jU7Ft3|i}Z)nMxVozXYkIHk^xHWTPb=@euMeYewC6xEI)K*pNI6Lm7N78e}hth zCC|P7N%jqtlE-X*YH4&{eZ2)WrO#9LBNY`SwFnDXm{Tl0RhyOu;aAhbg3rS2720`H zt6fbcf3d%JLLz>+RHjQs;U61XJJ7-P&cY4qpEag>g&RH@W&Yf`RGZgDO`Gs2&5h=H z);DxS<|9+uV%I75m-zE&aozHoRn_&2W-gmizpQ4pyPjFUX!^2gcJ1}gyV1z@SrO;4 zRL|xOxOusE@Z=epX|hgMynBo767bcSt8hAsn%jkOmepC2jO#YPh9>O~*Y#{(YHZK0 zTc>roZd`0*vsUUQ-8Qp~*QlZ>=$BJIu8TL5MX_Lbj?wgYd_Kev62>!Phj(8H~u1$0U`c}2zBnxQ@)UgT?^NWTZo17~R z!szgd$z?l#n!Kfyu%I$-D~@2+wR5C#0Iy9m_&k{@7|_br7x(AvNfIr2=i#_X6RTFrqTo z*<^W5*Uq8FXm~rK(9vzhNNt`|^+TtEr7wya7mZi0w|r z7pS9KiMZ1F1Sx+#`%XaLbkyxpipfRZTbmZ~678Kv59e@Vv53ya#G_CvRxCYtiQrAg z^t$eD?`~+RmyS3S;B-9kXzto81@$cwGSBJi8@`Sy>Ms5(*?)q+>#b)Ypq_1RRwqRl zyEeSTc1!M&Jy!@`;v0^etjz3w*>+1Vmvh~eAUK%uSW%DOyK-+`u z&-mv|dU73%4tMN%A`ZwaX(SuewNKkL-4Wl?;$U%#)i?1c?q@jY{bAwprI8 z=C5zBYuSJ>nQ-=knY(`;$0ZqeVsG|<_CVi9=#|V9K za|mDG+u4>-pX)R`*nbr7;xn5oy-TqRd(`8iF5jQ|$wZtZcHh{{H-y{HJ|*#^@jq4H z@jn(n@xQKp{rVUmixAt}L)yddq&Amq5Uguy*M{Pl9_*FwMrYy;N$7nCwt>Cy?l0{d zbjRY1M4ckD11b1YA%Jz@jDYj>b) z9xV=gHNy3Z>N*Qe{B=BU_SfFNT<$NO{E-I=*Y>&rA{4IcE$geaxvu4Vt1-jAnS@viakTsK5if9>Od7``@(8-ume{yt}&f`gYlDrw@Io83=e zUzW{wK>g4?@=Qq5guEOIIyr&vm%=@kVq-Gl~h7h{Kd9im)o0 z@I{V1oy1$tsEV9?PqxeZjxKj`H}qq3DdC1^X9VxGZ=N?s$ZLUCkiNE_*7|HqYt+{6 zA~;9&uHaXhFRtgMll3a=*R^&>E~DGd%K%1i=Otlk?hz;48iLoGBWEHBy!j~#H}PMbtmLgQy^6pq1voY&49;P$+ainD+VvIE(QF5ie`L~U(R+d2e-z(6l2&^}tvTN4|i`smDvHK^00H%C)v zt%D!PY;Ux&KDr|6jxLWnBF2q)wI`~J7Dr)iZQq%kyb#Uzw2Y#CU$L+Auk*L|p83wP zpI!3PEBnrzeCc&x`^}{1&-7L2KegdMuKAbeAAQT|J1T#6?WRR<8FuoBGiHvAqK{Ky z%eei86@1@C*-N>ba@Vn(40qE0!b8VJ(FK&JjEbU@Pe+`Jp-c3o}PY(aX-*U$}it6g^9M*UO{mi}UsuszK@gzWs&0 zlv}njp2nxVN#j%Mb^BW=@1xv9xtDUq)$~i*K{*Qec2S-}c?)GFL zpxjKki}F6oJ(PPXGyLS~Lh$OKTtm5wax>)~${Q%h{N?__&6Jgt1C)CypP}4GISM?- z^zSc><4l10lv5~IP|l~^Lb-}^H{}M(%#Qtq-70rNAIde98R*eLxrK5c<;|39t_3d2 z-INC@_q-20P5`g>Q;#zG0Q8_-LAj4|H|3-gqiBF~A?04mHI&iy;6a(8yn%8)<*k&v zDSxTwf3?3bzKroHFQwc^d9$uR$hefZP>wC$W#x_FN4bUa82G=3auQ|cZ>UGPo3f9x^8f8G zjClokQBI+p|Iz)0)w-tKq3hl7L)Vng==yKzXDo12)=_3Yw!hFpIY4lycq1BF{C z_bxh6h~B{cr3VU|DRH_B{p``A+_LvjVapWSUGPF-59OANUMMU)P5dYnZllzn z#7Td{u3Q-n>m4)fM*Ezy~;I^)zCtSANTfh4^v@(s&@mQhq#9r*q`p*%t!r&U|#nI z_^jGeT<-_mTT^l`$GsNr1$`0wU^mA}7+`-pcmh5Pq% ze}?YAwQS7R;SD?icRsZ|`z6mX3-+fzFXi5-m+vopTzAeY8*}aOv&zQp9I>b@v*VbW zvPoButSPJ9dhGD`mrbfE%kYRQXQ@NOpSHKt-*oE@d?;_`UXFV;l^)vv&u3% zk2$Ms(vFc!$||ouwx+Cl>v0Rq)(l^8d|5RkFcLN5?w5=nelriKTJoT7v~V0VJc@pB z)&9Z~zDEno#=Q0TvQg*27{i}uqu#T>Akz@l2>(@vzn<0d>;#_8jGwKf<)YETrHN;i z;ThMu*UP<2xhFHEKlQPLdmFg-ce-Ky5C2;YAYOfnXAOVm>C3a_JWxLa+<%ldatHd; zJ^i%w-c;X{xR>MJblNXfC1|%}_`M+QgrbUl4i|qhLH4J68SaheUeH6)XD0W=&mPrEXlZy3zwr37aZ8Mvi${Zg zAZ#sFTWHryyWjYB*9l)Qzl$Wl(DmwL7fODYl&u*4Rm7A#C1Sd0w8_J5^fhIxm$ysH z#;imheo4Q3xc@M8IUD?(j+BgnM))xYTW{e?#StaRpT$=ucv zOUm{hGvdONjQ%y!A@TB;stf(Ov_J7AB7VGN>i$A!u}#57?L5YKV)XJhWyOdU!-fXM zV5y_89CFsBehro-f(5y_2%*530Lfx(NhObasXG@~TH?9}H+9#i>b@g1Gy8BeZ6rUX z_E&h^%d;DKHZkVA*~SEqM7E@gyN9%m3r9QsKMr3>jQ$hBRw~~Ev3xH|%eVBRj&_rX z*%uAbt|4w#mu_a`_0ewrf1%y&v|IfK%&(0r$W?eDO&K^Xw+h}+5f1%wz+Wmlb*&)Uoel7z#gH^=aI_ge( z8TOI+mdSRBOdwhv$CqVdYqxkbMliWtG#aU15PGIB_18;(bLsD$#c(Wxa1iJoj%O;{F)sxsP&xq5A1|{mkdDOwS7y4cIAh!bQ|{W)%i`}#MlX%OFBlzVXx2g>8|dS$zK^Z=;LM8S%f>7$8?^+x zpgOy#bJG#(bW`V6>g=V?SJe-^@P4E=wppg@!DbC#HKeXD8eKo+{Uva#dch#Kvzno% z0An?C>c8>h`nUj|#c{!WWLD7}vH)O&6g8vUOYWS*0FxG^szh_??;84Ebn5=XuYBJ= z79eulp_s$RigJthl~r;h9WhFt?xp=)VEce?zhgMIH;z3jJJa&CbaY$#a&f7A3fFNb z5RcK{zxw{tF%YqdVxalMFCBy$G%Z4Z5VDfbZu;Iw-+k&k?I$WPcM6D~s2RPG@6Klg z*|?c@wd5>T_;y=|qb8$jN7wLwsI!MU-7iw-8S3mlLLI?4j)3w$>R4=MFnYh58NMi% z>&2tbj=!Hh+W5GFc4NtxY>#nU>hz>?IAF@UfZUSNZ;!v%Lj9mVwAn@bQz!2)+*$08 zlNdjVUuw$ckND)_{ITr(L-aKcSl%O8P_+x7ll<=_E}!Sw4xYVB&x-YVNemm6<*Sur z*-PETuLob<6Qf@<`m(Zdiw!$#vzj(j$QS)CZFbP6_jhbFK%2XMhc+4Td4@J)$W?9N zyKvt+d^mP%)LB80RA(G{pi7TXM>L#EoljBcqkJ!+VQox9;#Jk%K;2WwhrL)`$=>zU z-9_E^#r+ORZ-#IL7f)qF?xWrFw7V&8XEqx9gueT_OGY=w-xrT=4iag$_XL8(4cC#| z@$I1tl}8bn z-L=2)qoTH#xLS+jwky;Yh}E`6ZN;Zg(e{-0?JvAedU1Byn4OyY`Z*ahgsqzU4u4OH z^;sYvRAi58M!$_a3-84I-i?XA4;%e$!99F_*{D13zVF*chp|lJ_cGQyHI|c)r=b8b zfulnux2vf$_XGP2*YVx)KDH0U0$$JM`MnJjUt4H%18p|PZ9IP}6?iad0^xH;=klWP1pNSjIIMyrJ< z?rIQCl|}e$2?ft`@?1@Ra|(IXyW{aJ)?b2GcxOBy@wDW!iMo5Jo7hCd8!tV4eq47^ z5#m&EAw?bSZ=!vM-0W1(k9dw#Iebg1{qW`S#S$~j4%MZj2>?6=&K`XV{XIi}5jkFq z(~ZBd3_8{^QPOy0UxA$S{D;MKLC~*O-p0-UKMY;cUi_@l!|&(T;*?{TUdj$P(cb_$ z8kGM@&vDia|Jso8 z4caKb`#gQsk*7Y#&zC&!(>Sgej%pTZ4|;M=$*m=$M|2>IlW2&*xtM3kXy{qeu({;U zQfQ+XbIVxhy?cLQb}?^-zx=Ed+y$eh+Fp~Ejvl@^z7UCxHp+{iK;C@eOQFqta#Ph1 zYjA2InooaYEAS5=+h2If_jT>?^OTpdSd1n<7GoMYq6*a2OF9}`JX(BRO&|A>uODph z&yRtJt)_>4)SXW*f3qKN2tBMkuY|^g8;17)ZTraoKh50U#lj^y!DRlv1b{CA;A(D_ zV1D*!$=3-aT7|^FU}v)qrL`Hak2Han!YxFhFo6pe7q!%@iBVG zh>M2qYvJfAfN~Rk?PV?E=bk=3*R@o0r4a+Pl$cnojgO%I52(NUbKbvW1mwh)j^3y= zNTmLr;rTwEKhAgIneK1+m*ehCwp4#S6Xjd}`K8t0Mg3LO@3@sUKt}wQclWiR;%1aP0dEo5#hex4 z=+?OR)%hUl25B40X0Un>ySOtON>@k?Ofd7!7;M`6_+)vN88Bhr&T7*JY*Ts5=11ym zi+5nts~a0wZQ%&~nq_q*lw$@22)IWL@l!aa7ZB=#WZ zwO7q6@HHM`rcEqZVMzXmyp3;6mam>mzVY4fN1BY)W(x97!e)2xTX@bCzsR}GjQpQ* z{h8?>7MVG}6Ebc&h;wG#n>qilkb_LVH+gm+aCzW_9lGEdcJGPg+;MhDj13RMhLI!Kmqq@L97ADVmGgtZ^_)01(YvvU-iERn zBh)-qM0m12?yal=$wrWF4)@(b+CscgY5J}a=gcSJym*QDp?VE=biZ6|@ZGl~;|wuk z#=tF*RjivTw_`ucwkK-74RgW<JAr2wlmI?%=Y&^ zi9Q@MAi4B41N!OAC~ig{^>u@!J<-y>J7hvkZEFj%g*UJ_H2 zt!fSX?~)|eYd1}mC+0HO7HYiP7ewk_i!G&M&Gzcm%|+0S{wpC6?NSK_6fsSg5T~}n z%(c%zzkgt=yc~O6v*!sJSHm^#6IigcB5W?JTEO^#w+L)zortv25%;ECko17GvKm_C zp~f5|UV+jaE5d{W_{*-u`P<-B`6V+sgzK-Ub4i*1VblF!-ztL5qH5o4CM;bD$}Ui5 zM4|WJWjfa{HWxa&d< zmO{XQBsvkSi+eA`L4s9Ng;Z>)Jq7dQL44k)GH%`__l(zg`Ndf6bycquu_X}^ELf~x zSwjm&Z-uErmJJt~X6b1Ca2IUIybr(MG@Bo)pC9tBclV;iD4bA0TSnoCyzAZ>X+v|| z^J+lS2GWaBwt&=YF*QA?LGlcl?ejw2sW?wo-cn$Jz0dEKFM$DhukpM3CJ%mME9 zs%Ffh4*f7-NKK24yNnOaTpWY17k?4IxwTpKh50h-d36Ii%yUnUbg}uUOt@d!33-pc zdZ@fha(?ysNw~h9k?yfVoVJUyc22q8%$JWrSN>Or%4^S3+bL$N`>J5ZO%bO>IS3 z&^T>AI(&Oohr2j6ix@L)ac?!&W!QKb@Gj9Px*Rt>RlHDXY#4iBis1OG2Qu;f>^Sxzys93BHr?W5l28u=I~ef27G?pW2rs{||Lp{)Fh;Li&n3EIzLGki1^3-&;#&ouGhf`nwMOBKr}H}kFBg1rv&DZ%U|;0_iNGn*U#BqPOTw@6a$?Wf zLLX54j$dK*EffEKq|)EX(C&JIPZQV^`cnwMvI6@d|AfTTJkdW&{?5_(icvfbQva32 z-o+xXm)et|{_7`xpXi$?p3=lWLiReBSbx1w^iS-vu;!P)rtz90dF>Q`2gyJ6WY1cn zccj115&xIAO}D3x_+tbQaeFG`#rAhi<59zaq8wZsIRe{`1Ly z<3g|FDM$VsCHXgzJxvmiI^XmPUj6Hfy_%m#$)14p4Uqlaq^~6LbdtnFBaMd)jYmh~ zNAus`hnmJob$W&X1GkCVQ?B>98n-#;VzWTii?ygGu{ z5Pd(%TR`>=OT1}33=v#Q^7}|$jPO}$kNPJ|^eZaJ24|4)Qp^Gzr5`!qic(s;?! zeA!6jFGum5Bzz;qb5`O<=l@QMrxD6mJE%Vcny)$upQiSuNq$-UqxsXRtOu?CwvoIc zvS&5LLz>o0b(Q|G@l+)LZzlN@vR=}7sU`n81h)}?N??tTCTjnH^pCFRo5&w|^JO1g zr$~Mul=kX+`wVJtJ<0DU|2#wOT}k}o5)b!G6P)A2V-_H~kdqh#L* z!5Lb=dSuU2)SqdQug}wYYOgQt)%}VT$$yOO^=ZACp#DBA^QW#4Tc|(ZA^(ih_-G{k zL)8A?lKg`tFHZKnLHHQqN5~(q5WPd|uO{lRVd8(2?3+*eUM2juslQ$({e#s0mx;fh z@bxqwbkcaMBYdjTpElpb2%o0$&_wXRk^M>Pzk2dlisE62{Ffv6>m+}W@M&saO7dmB z_6!G!J+omlRw9VUhPfMenLt14|P8_S&1h*pQUI$>d5odN?D&c z(qA7DxFq{?9}_s&X4~5$urK)40(XkP?Kc_m`4(CK>3(mX>~m>6mT0^cslCsUe}^a@ zM<||>(%+g-^J32jwLN5Cj_ms>>Z);`d#v0K=I?#`e=~kJw^5pk$t0r*YWx2-^}r)EUWN(&Ch6-Vc|NswT;^vTZx>R29;WHZ9f0V^Pp5%`h(SL*b^M0~ttkOSreovAAVl>{G$i8BQ-{$i)^?#nm z%h$-Byo^^pA8}}Yn2_~`&VQ*&{91d*2w$T9{w(!plJZ$n^e>n7zy%Z^UnGAGk^L!Z z@A));{HyejEB(_%^rPgzPm#SNgb!%HuAcg%j^KWZmt@6%w!d-||MyUPhpGRP6dyUl z`()p_-KzPNZ#Mdptt55LwXnuGpexATMun(_a zA1PmNZp`mXn9F?B$6Q4bWVPUXaDtb@c}fg5pQ|&M`S`54JX<)ye_75G1Ww^IGUie{ zMz&dap)D%>Do3iFsj{_C{dPp)T9H>K{J6kh!DqD0^^U;*Bki@d@7@35QT5P!C-bAHk2`L@>BayQBQw7|n}O{aUWq1!}{wk9nKbUrPJ{dW?b`OLAo zl+Hrq;b@sJm|P4LNQEdD%!$7hLC zZNKwtOK7zS(;SL|_)p^`DLlWcoY_>psQn}3yKp3$GA?mlI0oIA$a8*U<@k~ZSgPig zW6^0|NornM5Z&^(MDKvu=ftDw4$YBn{&}{48$~bMukf-t(w!`Hsbk3d=p5e$adn2&{CKQpQa%OMa-({hl|si(du~TLJofsp5{| zEhTdrblg^I>`nef+s>e9OF|zLRQ(s-YDx7mv+K*pWDN-d@xMOz)}-tVQWASK{}()~ zN%MPV(#qHTUMqR6S=8pI=B9sG^e2T}_506Rf2jVFtcz5CN#v`(+${QvBEK^KOZ)O9 zKeKpx`*Me@K`K9(MZVK&?PU9tKb~%XM#iVwpAz}%zx+I_U-kL3=@UO`Q7`(r|8k^1 zDe_f+j`}Y{{g;}f{`+Knu>R!p)7#%m`o~HC0O_xl^@X-`w( zX#7Juf1PLXyuNK}wtgS~jJ2HY|7WqUbX&B2XG{D2$!Px13;)2*X#R%EC4a6WZCZcI^epdb~CFs$Hw` z?y;Ud$(}2(OrCX4!Ujvr z!iz`CX{f~pRmFZipU~2Lt=nAMe$}Jp*}$2z4~6yoL(9gHd#3$T?KI=Yv`zW-JVr}B zk5T>H{toaO6K$5jO@Kdh1>t{Zg)J)ojjrm;eRJf$AH2qXg`x~h~5dJf$UfdD#7}S&aJE59pnT3XgzgUgKz4}qBt9_?+rVPXnFI89K JUiEAB{{gC`Ta5q! diff --git a/auto_round/compressors/base.py b/auto_round/compressors/base.py index fc1ffd343..fe3bf1421 100644 --- a/auto_round/compressors/base.py +++ b/auto_round/compressors/base.py @@ -271,9 +271,6 @@ def __init__( self.inner_supported_types = INNER_SUPPORTED_LAYER_TYPES self.scale_dtype = convert_dtype_str2torch(scale_dtype) - # for alg_ext, will remove later - self.low_cpu_mem_usage = False - if kwargs: logger.warning(f"unrecognized keys {list(kwargs.keys())} were passed. Please check them.") if "CUBLAS_WORKSPACE_CONFIG" not in os.environ: diff --git a/auto_round/utils.py b/auto_round/utils.py index 32e582f93..f84b4b255 100644 --- a/auto_round/utils.py +++ b/auto_round/utils.py @@ -277,7 +277,7 @@ def to_device(input, device=torch.device("cpu")): return input -def mv_module_from_gpu(module, *args, **kwargs): +def mv_module_from_gpu(module): """Moves module from gpu to cpu. Args: From 4cd931fd2e1ba8f586392c9d0889602a9e5ed47d Mon Sep 17 00:00:00 2001 From: n1ck-guo Date: Fri, 24 Oct 2025 01:40:45 -0400 Subject: [PATCH 5/5] fix hpu Signed-off-by: n1ck-guo --- auto_round/compressors/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/auto_round/compressors/base.py b/auto_round/compressors/base.py index f72e3e9bf..d6df02bc1 100644 --- a/auto_round/compressors/base.py +++ b/auto_round/compressors/base.py @@ -2826,6 +2826,7 @@ def _quantize_blocks( modules = [get_module(model, n) for n in names] m = WrapperMultiblock(modules) + m = m.to(device) q_input, input_ids = quantize_block( m, input_ids,