From a864a92c8169b06f9b5481f0eeb52c699b320341 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 24 Jun 2024 09:13:28 -0400 Subject: [PATCH 01/66] update changelog --- CHANGELOG.md | 18 +++++++++++------- wiki | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2b10a416..dabe7b159 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log for SD.Next +## Update for 2024-06-24 + +- enable `florence` VLM for all platforms, thanks @lshqqytiger! + ## Update for 2024-06-23 ### Highlights for 2024-06-23 @@ -17,7 +21,7 @@ But there's more than SD3: - additional efficiencies for users with low VRAM GPUs - over 20 overall fixes -### Model Improvements +### Model Improvements for 2024-06-23 - **SD3**: enable tiny-VAE (TAESD) preview and non-full quality mode - SD3: enable base LoRA support @@ -43,7 +47,7 @@ But there's more than SD3: - **MS Florence**: integration of Microsoft Florence VLM/VQA Base and Large models simply select in *process -> visual query*! -### General Improvements +### General Improvements for 2024-06-23 - support FP4 quantized T5 text encoder, in addtion to existing FP8 and FP16 - support for T5 text-encoder loader in **all** models that use T5 @@ -67,7 +71,7 @@ But there's more than SD3: - Lora support without reloading the model - ControlNet compression support -### Fixes +### Fixes for 2024-06-23 - fix unsaturated outputs, force apply vae config on model load - fix hidiffusion handling of non-square aspect ratios, thanks @ShenZhang-Shin! @@ -105,7 +109,7 @@ Plus tons of minor features such as optimized initial install experience, **T-Ga ### Full Changelog for 2024-06-13 -#### New Models +#### New Models for 2024-06-23 - [StabilityAI Stable Diffusion 3 Medium](https://stability.ai/news/stable-diffusion-3-medium) yup, supported! @@ -116,7 +120,7 @@ Plus tons of minor features such as optimized initial install experience, **T-Ga note: this is a very large model at ~17GB, but can be used with less VRAM using model offloading simply select from networks -> models -> reference, model will be auto-downloaded on first use -#### New Functionality +#### New Functionality for 2024-06-23 - [MuLan](https://github.com/mulanai/MuLan) Multi-language prompts write your prompts in ~110 auto-detected languages! @@ -153,7 +157,7 @@ Plus tons of minor features such as optimized initial install experience, **T-Ga typical differences are not large and its disabled by default as it does have some performance impact - new sampler: **Euler FlowMatch** -#### Improvements +#### Improvements Fixes 2024-06-13 - additional modernui themes - reintroduce prompt attention normalization, disabled by default, enable in settings -> execution @@ -173,7 +177,7 @@ Plus tons of minor features such as optimized initial install experience, **T-Ga - auto-synchronize modernui and core branches - add option to pad prompt with zeros, thanks @Disty -#### Fixes +#### Fixes 2024-06-13 - cumulative fixes since the last release - fix apply/unapply hidiffusion for sd15 diff --git a/wiki b/wiki index c5c9e8998..12211be1a 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit c5c9e89981c8bd35b51823315418a4a4864bb5e1 +Subproject commit 12211be1a363f915f3e564933f065f1c86bbc397 From 7c6c849bd6ff333ab57b6108e4a9bfd7d88bac42 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 25 Jun 2024 12:29:07 -0400 Subject: [PATCH 02/66] fix zero params extensions --- CHANGELOG.md | 6 +++-- modules/scripts.py | 63 ++++++++++++++++++++-------------------------- wiki | 2 +- 3 files changed, 32 insertions(+), 39 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dabe7b159..a5422c9e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,10 @@ # Change Log for SD.Next -## Update for 2024-06-24 +## Update for 2024-06-25 -- enable `florence` VLM for all platforms, thanks @lshqqytiger! +- enable `florence` VLM for all platforms, thanks @lshqqytiger! +- fix executing extensions with zero params +- fix nncf for lora, thanks @Disty0! ## Update for 2024-06-23 diff --git a/modules/scripts.py b/modules/scripts.py index 87a25a56b..3dbeffb3f 100644 --- a/modules/scripts.py +++ b/modules/scripts.py @@ -489,10 +489,9 @@ class ScriptRunner: s = ScriptSummary('before-process') for script in self.alwayson_scripts: try: - args = p.script_args[script.args_from:script.args_to] - if len(args) == 0: - continue - script.before_process(p, *args, **kwargs) + if (script.args_to > 0) and (script.args_to >= script.args_from): + args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) + script.before_process(p, *args, **kwargs) except Exception as e: errors.display(e, f"Error running before process: {script.filename}") s.record(script.title()) @@ -502,10 +501,9 @@ class ScriptRunner: s = ScriptSummary('process') for script in self.alwayson_scripts: try: - args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) - if len(args) == 0: - continue - script.process(p, *args, **kwargs) + if (script.args_to > 0) and (script.args_to >= script.args_from): + args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) + script.process(p, *args, **kwargs) except Exception as e: errors.display(e, f'Running script process: {script.filename}') s.record(script.title()) @@ -516,10 +514,9 @@ class ScriptRunner: processed = None for script in self.alwayson_scripts: try: - args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) - if len(args) == 0: - continue - processed = script.process_images(p, *args, **kwargs) + if (script.args_to > 0) and (script.args_to >= script.args_from): + args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) + processed = script.process_images(p, *args, **kwargs) except Exception as e: errors.display(e, f'Running script process images: {script.filename}') s.record(script.title()) @@ -530,10 +527,9 @@ class ScriptRunner: s = ScriptSummary('before-process-batch') for script in self.alwayson_scripts: try: - args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) - if len(args) == 0: - continue - script.before_process_batch(p, *args, **kwargs) + if (script.args_to > 0) and (script.args_to >= script.args_from): + args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) + script.before_process_batch(p, *args, **kwargs) except Exception as e: errors.display(e, f'Running script before process batch: {script.filename}') s.record(script.title()) @@ -543,10 +539,9 @@ class ScriptRunner: s = ScriptSummary('process-batch') for script in self.alwayson_scripts: try: - args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) - if len(args) == 0: - continue - script.process_batch(p, *args, **kwargs) + if (script.args_to > 0) and (script.args_to >= script.args_from): + args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) + script.process_batch(p, *args, **kwargs) except Exception as e: errors.display(e, f'Running script process batch: {script.filename}') s.record(script.title()) @@ -556,10 +551,9 @@ class ScriptRunner: s = ScriptSummary('postprocess') for script in self.alwayson_scripts: try: - args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) - if len(args) == 0: - continue - script.postprocess(p, processed, *args) + if (script.args_to > 0) and (script.args_to >= script.args_from): + args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) + script.postprocess(p, processed, *args) except Exception as e: errors.display(e, f'Running script postprocess: {script.filename}') s.record(script.title()) @@ -569,10 +563,9 @@ class ScriptRunner: s = ScriptSummary('postprocess-batch') for script in self.alwayson_scripts: try: - args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) - if len(args) == 0: - continue - script.postprocess_batch(p, *args, images=images, **kwargs) + if (script.args_to > 0) and (script.args_to >= script.args_from): + args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) + script.postprocess_batch(p, *args, images=images, **kwargs) except Exception as e: errors.display(e, f'Running script before postprocess batch: {script.filename}') s.record(script.title()) @@ -582,10 +575,9 @@ class ScriptRunner: s = ScriptSummary('postprocess-batch-list') for script in self.alwayson_scripts: try: - args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) - if len(args) == 0: - continue - script.postprocess_batch_list(p, pp, *args, **kwargs) + if (script.args_to > 0) and (script.args_to >= script.args_from): + args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) + script.postprocess_batch_list(p, pp, *args, **kwargs) except Exception as e: errors.display(e, f'Running script before postprocess batch list: {script.filename}') s.record(script.title()) @@ -595,10 +587,9 @@ class ScriptRunner: s = ScriptSummary('postprocess-image') for script in self.alwayson_scripts: try: - args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) - if len(args) == 0: - continue - script.postprocess_image(p, pp, *args) + if (script.args_to > 0) and (script.args_to >= script.args_from): + args = p.per_script_args.get(script.title(), p.script_args[script.args_from:script.args_to]) + script.postprocess_image(p, pp, *args) except Exception as e: errors.display(e, f'Running script postprocess image: {script.filename}') s.record(script.title()) diff --git a/wiki b/wiki index 12211be1a..bfa10111e 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 12211be1a363f915f3e564933f065f1c86bbc397 +Subproject commit bfa10111e792140bca54c1480d6547b54752e761 From bff3c18bf804ee761cdabe74cd53c60b76ed043c Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 25 Jun 2024 12:33:53 -0400 Subject: [PATCH 03/66] add update as alias to upgrade --- installer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer.py b/installer.py index 2bffe8276..4aeecd7e6 100644 --- a/installer.py +++ b/installer.py @@ -1165,7 +1165,7 @@ def check_timestamp(): def add_args(parser): group = parser.add_argument_group('Setup options') group.add_argument('--reset', default = os.environ.get("SD_RESET",False), action='store_true', help = "Reset main repository to latest version, default: %(default)s") - group.add_argument('--upgrade', default = os.environ.get("SD_UPGRADE",False), action='store_true', help = "Upgrade main repository to latest version, default: %(default)s") + group.add_argument('--upgrade', '--update', default = os.environ.get("SD_UPGRADE",False), action='store_true', help = "Upgrade main repository to latest version, default: %(default)s") group.add_argument('--requirements', default = os.environ.get("SD_REQUIREMENTS",False), action='store_true', help = "Force re-check of requirements, default: %(default)s") group.add_argument('--quick', default = os.environ.get("SD_QUICK",False), action='store_true', help = "Bypass version checks, default: %(default)s") group.add_argument('--use-directml', default = os.environ.get("SD_USEDIRECTML",False), action='store_true', help = "Use DirectML if no compatible GPU is detected, default: %(default)s") From b429a6bb2f9799820064d2c032aca163213e1d67 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 25 Jun 2024 15:08:10 -0400 Subject: [PATCH 04/66] fix control inpaint --- modules/control/run.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/control/run.py b/modules/control/run.py index 5e0749d81..7048827c9 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -351,6 +351,7 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini output_filename = None index = 0 frames = 0 + blended_image = None # set pipeline if pipe.__class__.__name__ != shared.sd_model.__class__.__name__: @@ -477,7 +478,6 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini process.model = None debug(f'Control processed: {len(processed_images)}') - blended_image = None if len(processed_images) > 0: try: if len(p.extra_generation_params["Control process"]) == 0: From 9e421e5b99178cb56f2a8c68485fb2061d0d3732 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 26 Jun 2024 08:38:42 -0400 Subject: [PATCH 05/66] update openpose-xl controlnet --- modules/control/units/controlnet.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/control/units/controlnet.py b/modules/control/units/controlnet.py index b57005f3c..138c5fba9 100644 --- a/modules/control/units/controlnet.py +++ b/modules/control/units/controlnet.py @@ -49,7 +49,8 @@ predefined_sdxl = { 'Canny XL': 'diffusers/controlnet-canny-sdxl-1.0', 'Depth Zoe XL': 'diffusers/controlnet-zoe-depth-sdxl-1.0', 'Depth Mid XL': 'diffusers/controlnet-depth-sdxl-1.0-mid', - 'OpenPose XL': 'thibaud/controlnet-openpose-sdxl-1.0', + 'OpenPose XL': 'thibaud/controlnet-openpose-sdxl-1.0/bin', + # 'OpenPose XL': 'thibaud/controlnet-openpose-sdxl-1.0/OpenPoseXL2.safetensors', 'Xinsir OpenPose XL': 'xinsir/controlnet-openpose-sdxl-1.0', 'Xinsir Canny XL': 'xinsir/controlnet-canny-sdxl-1.0', 'Xinsir Scribble XL': 'xinsir/controlnet-scribble-sdxl-1.0', @@ -171,6 +172,9 @@ class ControlNet(): if model_path.endswith('.safetensors'): self.load_safetensors(model_path) else: + if '/bin' in model_path: + model_path = model_path.replace('/bin', '') + self.load_config['use_safetensors'] = False self.model = ControlNetModel.from_pretrained(model_path, **self.load_config) if self.dtype is not None: self.model.to(self.dtype) From 16ab1a0af79547ee9ca7124b10c0cb22d4c61119 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 26 Jun 2024 08:58:22 -0400 Subject: [PATCH 06/66] lint updates --- modules/api/script.py | 4 ++-- modules/control/run.py | 3 +-- modules/devices.py | 4 ++-- modules/loader.py | 4 ++-- modules/model_t5.py | 1 + modules/processing_diffusers.py | 2 +- modules/sd_models.py | 2 +- modules/sd_samplers.py | 2 +- modules/sd_samplers_cfg_denoiser.py | 6 +++--- modules/sd_samplers_timesteps.py | 2 +- modules/sd_samplers_timesteps_impl.py | 2 +- modules/textual_inversion/textual_inversion.py | 6 +++--- modules/ui_extensions.py | 2 +- 13 files changed, 20 insertions(+), 20 deletions(-) diff --git a/modules/api/script.py b/modules/api/script.py index 6f9e5a3f6..cae59791e 100644 --- a/modules/api/script.py +++ b/modules/api/script.py @@ -39,10 +39,10 @@ def get_script(script_name, script_runner): return script_runner.scripts[script_idx] def init_default_script_args(script_runner): - #find max idx from the scripts in runner and generate a none array to init script_args + # find max idx from the scripts in runner and generate a none array to init script_args last_arg_index = 1 for script in script_runner.scripts: - if last_arg_index < script.args_to: + if last_arg_index < script.args_to: # pylint disable=consider-using-max-builtin last_arg_index = script.args_to # None everywhere except position 0 to initialize script args script_args = [None]*last_arg_index diff --git a/modules/control/run.py b/modules/control/run.py index 7048827c9..cb4c121ca 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -692,5 +692,4 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini if is_generator: yield (output_images, blended_image, html_txt, output_filename) else: - yield (output_images, blended_image, html_txt, output_filename) - return + return (output_images, blended_image, html_txt, output_filename) diff --git a/modules/devices.py b/modules/devices.py index d72555192..056e3a7a8 100644 --- a/modules/devices.py +++ b/modules/devices.py @@ -46,7 +46,7 @@ def get_gpu_info(): try: if shared.cmd_opts.use_openvino: return { - 'device': get_openvino_device(), + 'device': get_openvino_device(), # pylint: disable=used-before-assignment 'openvino': get_package_version("openvino"), } elif shared.cmd_opts.use_directml: @@ -311,7 +311,7 @@ def set_cuda_params(): inference_context = contextlib.nullcontext else: inference_context = torch.no_grad - log_device_name = get_raw_openvino_device() if shared.cmd_opts.use_openvino else torch.device(get_optimal_device_name()) + log_device_name = get_raw_openvino_device() if shared.cmd_opts.use_openvino else torch.device(get_optimal_device_name()) # pylint: disable=used-before-assignment log.debug(f'Desired Torch parameters: dtype={shared.opts.cuda_dtype} no-half={shared.opts.no_half} no-half-vae={shared.opts.no_half_vae} upscast={shared.opts.upcast_sampling}') log.info(f'Setting Torch parameters: device={log_device_name} dtype={dtype} vae={dtype_vae} unet={dtype_unet} context={inference_context.__name__} fp16={fp16_ok} bf16={bf16_ok} optimization={shared.opts.cross_attention_optimization}') diff --git a/modules/loader.py b/modules/loader.py index 1fe3ba81e..e7cb03339 100644 --- a/modules/loader.py +++ b/modules/loader.py @@ -35,7 +35,7 @@ timer.startup.record("torch") import transformers # pylint: disable=W0611,C0411 timer.startup.record("transformers") -import onnxruntime +import onnxruntime # pylint: disable=W0611,C0411 onnxruntime.set_default_logger_severity(3) timer.startup.record("onnx") @@ -50,7 +50,7 @@ timer.startup.record("pydantic") import diffusers # pylint: disable=W0611,C0411 import diffusers.loaders.single_file # pylint: disable=W0611,C0411 logging.getLogger("diffusers.loaders.single_file").setLevel(logging.ERROR) -from tqdm.rich import tqdm +from tqdm.rich import tqdm # pylint: disable=W0611,C0411 diffusers.loaders.single_file.logging.tqdm = partial(tqdm, unit='C') timer.startup.record("diffusers") diff --git a/modules/model_t5.py b/modules/model_t5.py index 7b735794c..1a1e40382 100644 --- a/modules/model_t5.py +++ b/modules/model_t5.py @@ -75,3 +75,4 @@ def set_t5(pipe, module, t5=None, cache_dir=None): else: pipe.maybe_free_model_hooks() devices.torch_gc() + return pipe diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index dca8e0a71..b4be9940b 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -85,7 +85,7 @@ def process_diffusers(p: processing.StableDiffusionProcessing): shared.sd_model = update_pipeline(shared.sd_model, p) shared.log.info(f'Base: class={shared.sd_model.__class__.__name__}') - update_sampler(p, shared.sd_model) # TODO SD3 + update_sampler(p, shared.sd_model) base_args = set_pipeline_args( p=p, model=shared.sd_model, diff --git a/modules/sd_models.py b/modules/sd_models.py index f039ea316..5b1870c4e 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -547,7 +547,7 @@ def change_backend(): shared.native = shared.backend == shared.Backend.DIFFUSERS checkpoints_loaded.clear() from modules.sd_samplers import list_samplers - list_samplers(shared.backend) + list_samplers() list_models() from modules.sd_vae import refresh_vae_list refresh_vae_list() diff --git a/modules/sd_samplers.py b/modules/sd_samplers.py index 886b49ce3..5be3526ae 100644 --- a/modules/sd_samplers.py +++ b/modules/sd_samplers.py @@ -14,7 +14,7 @@ samplers_map = {} loaded_config = None -def list_samplers(backend_name = shared.backend): +def list_samplers(): global all_samplers # pylint: disable=global-statement global all_samplers_map # pylint: disable=global-statement global samplers # pylint: disable=global-statement diff --git a/modules/sd_samplers_cfg_denoiser.py b/modules/sd_samplers_cfg_denoiser.py index 6685a4d38..4b42d4918 100644 --- a/modules/sd_samplers_cfg_denoiser.py +++ b/modules/sd_samplers_cfg_denoiser.py @@ -1,5 +1,5 @@ -# TODO a1111 compatibility module -# TODO cfg_denoiser implementation missing +# a1111 compatibility module +# cfg_denoiser implementation missing import torch from modules import prompt_parser, devices, sd_samplers_common @@ -95,7 +95,7 @@ class CFGDenoiser(torch.nn.Module): if state.interrupted or state.skipped: raise sd_samplers_common.InterruptedException - # TODO cfg_scale implementation missing + # cfg_scale implementation missing for original backend # if sd_samplers_common.apply_refiner(self): # cond = self.sampler.sampler_extra_args['cond'] # uncond = self.sampler.sampler_extra_args['uncond'] diff --git a/modules/sd_samplers_timesteps.py b/modules/sd_samplers_timesteps.py index 0e8e01909..aa9e0bbe2 100644 --- a/modules/sd_samplers_timesteps.py +++ b/modules/sd_samplers_timesteps.py @@ -1,4 +1,4 @@ -# TODO a1111 compatibility module +# a1111 compatibility module import torch from modules import sd_samplers_common, sd_samplers_timesteps_impl, sd_samplers_compvis diff --git a/modules/sd_samplers_timesteps_impl.py b/modules/sd_samplers_timesteps_impl.py index 03716ee08..5784a760b 100644 --- a/modules/sd_samplers_timesteps_impl.py +++ b/modules/sd_samplers_timesteps_impl.py @@ -1,4 +1,4 @@ -# TODO a1111 compatibility module +# a1111 compatibility module import torch import tqdm diff --git a/modules/textual_inversion/textual_inversion.py b/modules/textual_inversion/textual_inversion.py index b0779716b..1d1e5057e 100644 --- a/modules/textual_inversion/textual_inversion.py +++ b/modules/textual_inversion/textual_inversion.py @@ -259,14 +259,14 @@ class EmbeddingDatabase: if ext in ['.PNG', '.WEBP', '.JXL', '.AVIF']: if '.preview' in filename.lower(): - return + return None embed_image = Image.open(path) if hasattr(embed_image, 'text') and 'sd-ti-embedding' in embed_image.text: data = embedding_from_b64(embed_image.text['sd-ti-embedding']) else: data = extract_image_data_embed(embed_image) if not data: # if data is None, means this is not an embeding, just a preview image - return + return None elif ext in ['.BIN', '.PT']: data = torch.load(path, map_location="cpu") elif ext in ['.SAFETENSORS']: @@ -284,7 +284,7 @@ class EmbeddingDatabase: elif type(data) == dict and type(next(iter(data.values()))) == torch.Tensor: if len(data.keys()) != 1: self.skipped_embeddings[name] = Embedding(None, name=name, filename=path) - return + return None emb = next(iter(data.values())) if len(emb.shape) == 1: emb = emb.unsqueeze(0) diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index 8a08fc322..4e3fd3588 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -206,7 +206,7 @@ def uninstall_extension(extension_path, search_text, sort_column): if len(found) > 0 and os.path.isdir(extension_path): found = found[0] try: - shutil.rmtree(found.path, ignore_errors=False, onerror=errorRemoveReadonly) + shutil.rmtree(found.path, ignore_errors=False, onerror=errorRemoveReadonly) # pylint: disable=deprecated-argument # extensions.extensions = [extension for extension in extensions.extensions if os.path.abspath(found.path) != os.path.abspath(extension_path)] except Exception as e: shared.log.warning(f'Extension uninstall failed: {found.path} {e}') From e9c86a7617b7af119a281a8145a8201f855e7192 Mon Sep 17 00:00:00 2001 From: AI-Casanova <54461896+AI-Casanova@users.noreply.github.com> Date: Thu, 27 Jun 2024 22:36:20 -0500 Subject: [PATCH 07/66] Refactor diffusers embeddings load. Enable Bundled Embeddings. --- extensions-builtin/Lora/network.py | 1 + extensions-builtin/Lora/networks.py | 1017 +++++++++-------- .../textual_inversion/textual_inversion.py | 288 +++-- 3 files changed, 684 insertions(+), 622 deletions(-) diff --git a/extensions-builtin/Lora/network.py b/extensions-builtin/Lora/network.py index a6579ae90..bc60389fd 100644 --- a/extensions-builtin/Lora/network.py +++ b/extensions-builtin/Lora/network.py @@ -65,6 +65,7 @@ class Network: # LoraModule self.unet_multiplier = [1.0] * 3 self.dyn_dim = None self.modules = {} + self.bundle_embeddings = {} self.mtime = None self.mentioned_name = None """the text that was used to add the network to prompt - can be either name or an alias""" diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index 71b5b29dc..4c6162677 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -1,504 +1,513 @@ -from typing import Union, List -import os -import re -import time -import concurrent -import lora_patches -import network -import network_lora -import network_hada -import network_ia3 -import network_oft -import network_lokr -import network_full -import network_norm -import network_glora -import network_overrides -import lora_convert -import torch -import diffusers.models.lora -from modules import shared, devices, sd_models, sd_models_compile, errors, scripts, files_cache - - -debug = os.environ.get('SD_LORA_DEBUG', None) is not None -originals: lora_patches.LoraPatches = None -extra_network_lora = None -available_networks = {} -available_network_aliases = {} -loaded_networks: List[network.Network] = [] -timer = { 'load': 0, 'apply': 0, 'restore': 0 } -# networks_in_memory = {} -lora_cache = {} -available_network_hash_lookup = {} -forbidden_network_aliases = {} -re_network_name = re.compile(r"(.*)\s*\([0-9a-fA-F]+\)") -module_types = [ - network_lora.ModuleTypeLora(), - network_hada.ModuleTypeHada(), - network_ia3.ModuleTypeIa3(), - network_oft.ModuleTypeOFT(), - network_lokr.ModuleTypeLokr(), - network_full.ModuleTypeFull(), - network_norm.ModuleTypeNorm(), - network_glora.ModuleTypeGLora(), -] -convert_diffusers_name_to_compvis = lora_convert.convert_diffusers_name_to_compvis # supermerger compatibility item - - -def assign_network_names_to_compvis_modules(sd_model): - network_layer_mapping = {} - if shared.native: - if not hasattr(shared.sd_model, 'text_encoder') or not hasattr(shared.sd_model, 'unet'): - sd_model.network_layer_mapping = {} - return - for name, module in shared.sd_model.text_encoder.named_modules(): - prefix = "lora_te1_" if shared.sd_model_type == "sdxl" else "lora_te_" - network_name = prefix + name.replace(".", "_") - network_layer_mapping[network_name] = module - module.network_layer_name = network_name - if shared.sd_model_type == "sdxl": - for name, module in shared.sd_model.text_encoder_2.named_modules(): - network_name = "lora_te2_" + name.replace(".", "_") - network_layer_mapping[network_name] = module - module.network_layer_name = network_name - for name, module in shared.sd_model.unet.named_modules(): - network_name = "lora_unet_" + name.replace(".", "_") - network_layer_mapping[network_name] = module - module.network_layer_name = network_name - else: - if not hasattr(shared.sd_model, 'cond_stage_model'): - sd_model.network_layer_mapping = {} - return - for name, module in shared.sd_model.cond_stage_model.wrapped.named_modules(): - network_name = name.replace(".", "_") - network_layer_mapping[network_name] = module - module.network_layer_name = network_name - for name, module in shared.sd_model.model.named_modules(): - network_name = name.replace(".", "_") - network_layer_mapping[network_name] = module - module.network_layer_name = network_name - sd_model.network_layer_mapping = network_layer_mapping - - -def load_diffusers(name, network_on_disk, lora_scale=1.0) -> network.Network: - t0 = time.time() - cached = lora_cache.get(name, None) - # if debug: - shared.log.debug(f'LoRA load: name="{name}" file="{network_on_disk.filename}" type=diffusers {"cached" if cached else ""} fuse={shared.opts.lora_fuse_diffusers}') - if cached is not None: - return cached - if not shared.native: - return None - if not hasattr(shared.sd_model, 'load_lora_weights'): - shared.log.error(f"LoRA load failed: class={shared.sd_model.__class__} does not implement load lora") - return None - try: - shared.sd_model.load_lora_weights(network_on_disk.filename) - except Exception as e: - errors.display(e, "LoRA") - return None - if shared.opts.lora_fuse_diffusers: - shared.sd_model.fuse_lora(lora_scale=lora_scale) - net = network.Network(name, network_on_disk) - net.mtime = os.path.getmtime(network_on_disk.filename) - lora_cache[name] = net - t1 = time.time() - timer['load'] += t1 - t0 - return net - - -def load_network(name, network_on_disk) -> network.Network: - t0 = time.time() - cached = lora_cache.get(name, None) - if debug: - shared.log.debug(f'LoRA load: name="{name}" file="{network_on_disk.filename}" type=lora {"cached" if cached else ""}') - if cached is not None: - return cached - net = network.Network(name, network_on_disk) - net.mtime = os.path.getmtime(network_on_disk.filename) - sd = sd_models.read_state_dict(network_on_disk.filename) - assign_network_names_to_compvis_modules(shared.sd_model) # this should not be needed but is here as an emergency fix for an unknown error people are experiencing in 1.2.0 - keys_failed_to_match = {} - matched_networks = {} - convert = lora_convert.KeyConvert() - for key_network, weight in sd.items(): - parts = key_network.split('.') - if len(parts) > 5: # messy handler for diffusers peft lora - key_network_without_network_parts = '_'.join(parts[:-2]) - if not key_network_without_network_parts.startswith('lora_'): - key_network_without_network_parts = 'lora_' + key_network_without_network_parts - network_part = '.'.join(parts[-2:]).replace('lora_A', 'lora_down').replace('lora_B', 'lora_up') - else: - key_network_without_network_parts, network_part = key_network.split(".", 1) - # if debug: - # shared.log.debug(f'LoRA load: name="{name}" full={key_network} network={network_part} key={key_network_without_network_parts}') - key, sd_module = convert(key_network_without_network_parts) # Now returns lists - if sd_module[0] is None: - keys_failed_to_match[key_network] = key - continue - for k, module in zip(key, sd_module): - if k not in matched_networks: - matched_networks[k] = network.NetworkWeights(network_key=key_network, sd_key=k, w={}, sd_module=module) - matched_networks[k].w[network_part] = weight - for key, weights in matched_networks.items(): - net_module = None - for nettype in module_types: - net_module = nettype.create_module(net, weights) - if net_module is not None: - break - if net_module is None: - shared.log.error(f'LoRA unhandled: name={name} key={key} weights={weights.w.keys()}') - else: - net.modules[key] = net_module - if len(keys_failed_to_match) > 0: - shared.log.warning(f"LoRA file={network_on_disk.filename} unmatched={len(keys_failed_to_match)} matched={len(matched_networks)}") - if debug: - shared.log.debug(f"LoRA file={network_on_disk.filename} unmatched={keys_failed_to_match}") - elif debug: - shared.log.debug(f"LoRA file={network_on_disk.filename} unmatched={len(keys_failed_to_match)} matched={len(matched_networks)}") - lora_cache[name] = net - t1 = time.time() - timer['load'] += t1 - t0 - return net - - -def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=None): - networks_on_disk = [available_network_aliases.get(name, None) for name in names] - if any(x is None for x in networks_on_disk): - list_available_networks() - networks_on_disk = [available_network_aliases.get(name, None) for name in names] - failed_to_load_networks = [] - recompile_model = False - if shared.compiled_model_state is not None and shared.compiled_model_state.is_compiled: - if len(names) == len(shared.compiled_model_state.lora_model): - for i, name in enumerate(names): - if shared.compiled_model_state.lora_model[i] != f"{name}:{te_multipliers[i] if te_multipliers else 1.0}": - recompile_model = True - shared.compiled_model_state.lora_model = [] - break - if not recompile_model: - if len(loaded_networks) > 0 and debug: - shared.log.debug('Model Compile: Skipping LoRa loading') - return - else: - recompile_model = True - shared.compiled_model_state.lora_model = [] - if recompile_model: - backup_cuda_compile = shared.opts.cuda_compile - sd_models.unload_model_weights(op='model') - shared.opts.cuda_compile = False - sd_models.reload_model_weights(op='model') - shared.opts.cuda_compile = backup_cuda_compile - - loaded_networks.clear() - for i, (network_on_disk, name) in enumerate(zip(networks_on_disk, names)): - net = None - if network_on_disk is not None: - shorthash = getattr(network_on_disk, 'shorthash', '').lower() - if debug: - shared.log.debug(f'LoRA load: name="{name}" file="{network_on_disk.filename}" hash="{shorthash}"') - try: - if recompile_model: - shared.compiled_model_state.lora_model.append(f"{name}:{te_multipliers[i] if te_multipliers else 1.0}") - if shared.native and shared.opts.lora_force_diffusers: # OpenVINO only works with Diffusers LoRa loading - net = load_diffusers(name, network_on_disk, lora_scale=te_multipliers[i] if te_multipliers else 1.0) - elif shared.native and network_overrides.check_override(shorthash): - net = load_diffusers(name, network_on_disk, lora_scale=te_multipliers[i] if te_multipliers else 1.0) - else: - net = load_network(name, network_on_disk) - except Exception as e: - shared.log.error(f"LoRA load failed: file={network_on_disk.filename} {e}") - if debug: - errors.display(e, f"LoRA load failed file={network_on_disk.filename}") - continue - net.mentioned_name = name - network_on_disk.read_hash() - if net is None: - failed_to_load_networks.append(name) - shared.log.error(f"LoRA unknown type: network={name}") - continue - net.te_multiplier = te_multipliers[i] if te_multipliers else 1.0 - net.unet_multiplier = unet_multipliers[i] if unet_multipliers else 1.0 - net.dyn_dim = dyn_dims[i] if dyn_dims else 1.0 - loaded_networks.append(net) - - while len(lora_cache) > shared.opts.lora_in_memory_limit: - name = next(iter(lora_cache)) - lora_cache.pop(name, None) - if len(loaded_networks) > 0 and debug: - shared.log.debug(f'LoRA loaded={len(loaded_networks)} cache={list(lora_cache)}') - devices.torch_gc() - - if recompile_model: - shared.log.info("LoRA recompiling model") - backup_lora_model = shared.compiled_model_state.lora_model - if shared.opts.cuda_compile: - shared.sd_model = sd_models_compile.compile_diffusers(shared.sd_model) - - shared.compiled_model_state.lora_model = backup_lora_model - - -def network_restore_weights_from_backup(self: Union[torch.nn.Conv2d, torch.nn.Linear, torch.nn.GroupNorm, torch.nn.LayerNorm, torch.nn.MultiheadAttention, diffusers.models.lora.LoRACompatibleLinear, diffusers.models.lora.LoRACompatibleConv]): - t0 = time.time() - weights_backup = getattr(self, "network_weights_backup", None) - bias_backup = getattr(self, "network_bias_backup", None) - if weights_backup is None and bias_backup is None: - return - # if debug: - # shared.log.debug('LoRA restore weights') - if weights_backup is not None: - if isinstance(self, torch.nn.MultiheadAttention): - self.in_proj_weight.copy_(weights_backup[0]) - self.out_proj.weight.copy_(weights_backup[1]) - else: - self.weight.copy_(weights_backup) - if bias_backup is not None: - if isinstance(self, torch.nn.MultiheadAttention): - self.out_proj.bias.copy_(bias_backup) - else: - self.bias.copy_(bias_backup) - else: - if isinstance(self, torch.nn.MultiheadAttention): - self.out_proj.bias = None - else: - self.bias = None - t1 = time.time() - timer['restore'] += t1 - t0 - - -def network_apply_weights(self: Union[torch.nn.Conv2d, torch.nn.Linear, torch.nn.GroupNorm, torch.nn.LayerNorm, torch.nn.MultiheadAttention, diffusers.models.lora.LoRACompatibleLinear, diffusers.models.lora.LoRACompatibleConv]): - """ - Applies the currently selected set of networks to the weights of torch layer self. - If weights already have this particular set of networks applied, does nothing. - If not, restores orginal weights from backup and alters weights according to networks. - """ - network_layer_name = getattr(self, 'network_layer_name', None) - if network_layer_name is None: - return - t0 = time.time() - current_names = getattr(self, "network_current_names", ()) - wanted_names = tuple((x.name, x.te_multiplier, x.unet_multiplier, x.dyn_dim) for x in loaded_networks) - weights_backup = getattr(self, "network_weights_backup", None) - if weights_backup is None and wanted_names != (): # pylint: disable=C1803 - if current_names != (): - raise RuntimeError("no backup weights found and current weights are not unchanged") - if isinstance(self, torch.nn.MultiheadAttention): - weights_backup = (self.in_proj_weight.to(devices.cpu, copy=True), self.out_proj.weight.to(devices.cpu, copy=True)) - else: - weights_backup = self.weight.to(devices.cpu, copy=True) - self.network_weights_backup = weights_backup - bias_backup = getattr(self, "network_bias_backup", None) - if bias_backup is None: - if isinstance(self, torch.nn.MultiheadAttention) and self.out_proj.bias is not None: - bias_backup = self.out_proj.bias.to(devices.cpu, copy=True) - elif getattr(self, 'bias', None) is not None: - bias_backup = self.bias.to(devices.cpu, copy=True) - else: - bias_backup = None - self.network_bias_backup = bias_backup - - if current_names != wanted_names: - network_restore_weights_from_backup(self) - for net in loaded_networks: - # default workflow where module is known and has weights - module = net.modules.get(network_layer_name, None) - if module is not None and hasattr(self, 'weight'): - try: - with devices.inference_context(): - updown, ex_bias = module.calc_updown(self.weight) - if len(self.weight.shape) == 4 and self.weight.shape[1] == 9: - # inpainting model. zero pad updown to make channel[1] 4 to 9 - updown = torch.nn.functional.pad(updown, (0, 0, 0, 0, 0, 5)) # pylint: disable=not-callable - self.weight = torch.nn.Parameter(self.weight + updown) - if ex_bias is not None and hasattr(self, 'bias'): - if self.bias is None: - self.bias = torch.nn.Parameter(ex_bias) - else: - self.bias += ex_bias - except RuntimeError as e: - extra_network_lora.errors[net.name] = extra_network_lora.errors.get(net.name, 0) + 1 - if debug: - module_name = net.modules.get(network_layer_name, None) - shared.log.error(f"LoRA apply weight name={net.name} module={module_name} layer={network_layer_name} {e}") - errors.display(e, 'LoRA apply weight') - raise RuntimeError('LoRA apply weight') from e - continue - # alternative workflow looking at _*_proj layers - module_q = net.modules.get(network_layer_name + "_q_proj", None) - module_k = net.modules.get(network_layer_name + "_k_proj", None) - module_v = net.modules.get(network_layer_name + "_v_proj", None) - module_out = net.modules.get(network_layer_name + "_out_proj", None) - if isinstance(self, torch.nn.MultiheadAttention) and module_q and module_k and module_v and module_out: - try: - with devices.inference_context(): - updown_q, _ = module_q.calc_updown(self.in_proj_weight) - updown_k, _ = module_k.calc_updown(self.in_proj_weight) - updown_v, _ = module_v.calc_updown(self.in_proj_weight) - updown_qkv = torch.vstack([updown_q, updown_k, updown_v]) - updown_out, ex_bias = module_out.calc_updown(self.out_proj.weight) - self.in_proj_weight += updown_qkv - self.out_proj.weight += updown_out - if ex_bias is not None: - if self.out_proj.bias is None: - self.out_proj.bias = torch.nn.Parameter(ex_bias) - else: - self.out_proj.bias += ex_bias - except RuntimeError as e: - if debug: - shared.log.debug(f"LoRA network={net.name} layer={network_layer_name} {e}") - extra_network_lora.errors[net.name] = extra_network_lora.errors.get(net.name, 0) + 1 - continue - if module is None: - continue - shared.log.warning(f"LoRA network={net.name} layer={network_layer_name} unsupported operation") - extra_network_lora.errors[net.name] = extra_network_lora.errors.get(net.name, 0) + 1 - self.network_current_names = wanted_names - t1 = time.time() - timer['apply'] += t1 - t0 - - -def network_forward(module, input, original_forward): # pylint: disable=W0622 - """ - Old way of applying Lora by executing operations during layer's forward. - Stacking many loras this way results in big performance degradation. - """ - if len(loaded_networks) == 0: - return original_forward(module, input) - input = devices.cond_cast_unet(input) - network_restore_weights_from_backup(module) - network_reset_cached_weight(module) - y = original_forward(module, input) - network_layer_name = getattr(module, 'network_layer_name', None) - for lora in loaded_networks: - module = lora.modules.get(network_layer_name, None) - if module is None: - continue - y = module.forward(input, y) - return y - - -def network_reset_cached_weight(self: Union[torch.nn.Conv2d, torch.nn.Linear]): - self.network_current_names = () - self.network_weights_backup = None - - -def network_Linear_forward(self, input): # pylint: disable=W0622 - if shared.opts.lora_functional: - return network_forward(self, input, originals.Linear_forward) - network_apply_weights(self) - return originals.Linear_forward(self, input) - - -def network_Linear_load_state_dict(self, *args, **kwargs): - network_reset_cached_weight(self) - return originals.Linear_load_state_dict(self, *args, **kwargs) - - -def network_Conv2d_forward(self, input): # pylint: disable=W0622 - if shared.opts.lora_functional: - return network_forward(self, input, originals.Conv2d_forward) - network_apply_weights(self) - return originals.Conv2d_forward(self, input) - - -def network_Conv2d_load_state_dict(self, *args, **kwargs): - network_reset_cached_weight(self) - return originals.Conv2d_load_state_dict(self, *args, **kwargs) - - -def network_GroupNorm_forward(self, input): # pylint: disable=W0622 - if shared.opts.lora_functional: - return network_forward(self, input, originals.GroupNorm_forward) - network_apply_weights(self) - return originals.GroupNorm_forward(self, input) - - -def network_GroupNorm_load_state_dict(self, *args, **kwargs): - network_reset_cached_weight(self) - return originals.GroupNorm_load_state_dict(self, *args, **kwargs) - - -def network_LayerNorm_forward(self, input): # pylint: disable=W0622 - if shared.opts.lora_functional: - return network_forward(self, input, originals.LayerNorm_forward) - network_apply_weights(self) - return originals.LayerNorm_forward(self, input) - - -def network_LayerNorm_load_state_dict(self, *args, **kwargs): - network_reset_cached_weight(self) - return originals.LayerNorm_load_state_dict(self, *args, **kwargs) - - -def network_MultiheadAttention_forward(self, *args, **kwargs): - network_apply_weights(self) - return originals.MultiheadAttention_forward(self, *args, **kwargs) - - -def network_MultiheadAttention_load_state_dict(self, *args, **kwargs): - network_reset_cached_weight(self) - return originals.MultiheadAttention_load_state_dict(self, *args, **kwargs) - - -def list_available_networks(): - available_networks.clear() - available_network_aliases.clear() - forbidden_network_aliases.clear() - available_network_hash_lookup.clear() - forbidden_network_aliases.update({"none": 1, "Addams": 1}) - directories = [] - if os.path.exists(shared.cmd_opts.lora_dir): - directories.append(shared.cmd_opts.lora_dir) - else: - shared.log.warning(f'LoRA directory not found: path="{shared.cmd_opts.lora_dir}"') - if os.path.exists(shared.cmd_opts.lyco_dir) and shared.cmd_opts.lyco_dir != shared.cmd_opts.lora_dir: - directories.append(shared.cmd_opts.lyco_dir) - - def add_network(filename): - if not os.path.isfile(filename): - return - name = os.path.splitext(os.path.basename(filename))[0] - try: - entry = network.NetworkOnDisk(name, filename) - available_networks[entry.name] = entry - if entry.alias in available_network_aliases: - forbidden_network_aliases[entry.alias.lower()] = 1 - if shared.opts.lora_preferred_name == 'filename': - available_network_aliases[entry.name] = entry - else: - available_network_aliases[entry.alias] = entry - if entry.shorthash: - available_network_hash_lookup[entry.shorthash] = entry - except OSError as e: # should catch FileNotFoundError and PermissionError etc. - shared.log.error(f"Failed to load network {name} from {filename} {e}") - - candidates = list(files_cache.list_files(*directories, ext_filter=[".pt", ".ckpt", ".safetensors"])) - with concurrent.futures.ThreadPoolExecutor(max_workers=shared.max_workers) as executor: - for fn in candidates: - executor.submit(add_network, fn) - shared.log.info(f'LoRA networks: available={len(available_networks)} folders={len(forbidden_network_aliases)}') - - -def infotext_pasted(infotext, params): # pylint: disable=W0613 - if "AddNet Module 1" in [x[1] for x in scripts.scripts_txt2img.infotext_fields]: - return # if the other extension is active, it will handle those fields, no need to do anything - added = [] - for k in params: - if not k.startswith("AddNet Model "): - continue - num = k[13:] - if params.get("AddNet Module " + num) != "LoRA": - continue - name = params.get("AddNet Model " + num) - if name is None: - continue - m = re_network_name.match(name) - if m: - name = m.group(1) - multiplier = params.get("AddNet Weight A " + num, "1.0") - added.append(f"") - if added: - params["Prompt"] += "\n" + "".join(added) - - -list_available_networks() +from typing import Union, List +import os +import re +import time +import concurrent +import lora_patches +import network +import network_lora +import network_hada +import network_ia3 +import network_oft +import network_lokr +import network_full +import network_norm +import network_glora +import network_overrides +import lora_convert +import torch +import diffusers.models.lora +from modules import shared, devices, sd_models, sd_models_compile, errors, scripts, files_cache + + +debug = os.environ.get('SD_LORA_DEBUG', None) is not None +originals: lora_patches.LoraPatches = None +extra_network_lora = None +available_networks = {} +available_network_aliases = {} +loaded_networks: List[network.Network] = [] +timer = { 'load': 0, 'apply': 0, 'restore': 0 } +# networks_in_memory = {} +lora_cache = {} +available_network_hash_lookup = {} +forbidden_network_aliases = {} +re_network_name = re.compile(r"(.*)\s*\([0-9a-fA-F]+\)") +module_types = [ + network_lora.ModuleTypeLora(), + network_hada.ModuleTypeHada(), + network_ia3.ModuleTypeIa3(), + network_oft.ModuleTypeOFT(), + network_lokr.ModuleTypeLokr(), + network_full.ModuleTypeFull(), + network_norm.ModuleTypeNorm(), + network_glora.ModuleTypeGLora(), +] +convert_diffusers_name_to_compvis = lora_convert.convert_diffusers_name_to_compvis # supermerger compatibility item + + +def assign_network_names_to_compvis_modules(sd_model): + network_layer_mapping = {} + if shared.native: + if not hasattr(shared.sd_model, 'text_encoder') or not hasattr(shared.sd_model, 'unet'): + sd_model.network_layer_mapping = {} + return + for name, module in shared.sd_model.text_encoder.named_modules(): + prefix = "lora_te1_" if shared.sd_model_type == "sdxl" else "lora_te_" + network_name = prefix + name.replace(".", "_") + network_layer_mapping[network_name] = module + module.network_layer_name = network_name + if shared.sd_model_type == "sdxl": + for name, module in shared.sd_model.text_encoder_2.named_modules(): + network_name = "lora_te2_" + name.replace(".", "_") + network_layer_mapping[network_name] = module + module.network_layer_name = network_name + for name, module in shared.sd_model.unet.named_modules(): + network_name = "lora_unet_" + name.replace(".", "_") + network_layer_mapping[network_name] = module + module.network_layer_name = network_name + else: + if not hasattr(shared.sd_model, 'cond_stage_model'): + sd_model.network_layer_mapping = {} + return + for name, module in shared.sd_model.cond_stage_model.wrapped.named_modules(): + network_name = name.replace(".", "_") + network_layer_mapping[network_name] = module + module.network_layer_name = network_name + for name, module in shared.sd_model.model.named_modules(): + network_name = name.replace(".", "_") + network_layer_mapping[network_name] = module + module.network_layer_name = network_name + sd_model.network_layer_mapping = network_layer_mapping + + +def load_diffusers(name, network_on_disk, lora_scale=1.0) -> network.Network: + t0 = time.time() + cached = lora_cache.get(name, None) + # if debug: + shared.log.debug(f'LoRA load: name="{name}" file="{network_on_disk.filename}" type=diffusers {"cached" if cached else ""} fuse={shared.opts.lora_fuse_diffusers}') + if cached is not None: + return cached + if not shared.native: + return None + if not hasattr(shared.sd_model, 'load_lora_weights'): + shared.log.error(f"LoRA load failed: class={shared.sd_model.__class__} does not implement load lora") + return None + try: + shared.sd_model.load_lora_weights(network_on_disk.filename) + except Exception as e: + errors.display(e, "LoRA") + return None + if shared.opts.lora_fuse_diffusers: + shared.sd_model.fuse_lora(lora_scale=lora_scale) + net = network.Network(name, network_on_disk) + net.mtime = os.path.getmtime(network_on_disk.filename) + lora_cache[name] = net + t1 = time.time() + timer['load'] += t1 - t0 + return net + + +def load_network(name, network_on_disk) -> network.Network: + t0 = time.time() + cached = lora_cache.get(name, None) + if debug: + shared.log.debug(f'LoRA load: name="{name}" file="{network_on_disk.filename}" type=lora {"cached" if cached else ""}') + if cached is not None: + return cached + net = network.Network(name, network_on_disk) + net.mtime = os.path.getmtime(network_on_disk.filename) + sd = sd_models.read_state_dict(network_on_disk.filename) + assign_network_names_to_compvis_modules(shared.sd_model) # this should not be needed but is here as an emergency fix for an unknown error people are experiencing in 1.2.0 + keys_failed_to_match = {} + matched_networks = {} + bundle_embeddings = {} + convert = lora_convert.KeyConvert() + for key_network, weight in sd.items(): + parts = key_network.split('.') + if parts[0] == "bundle_emb": + emb_name, vec_name = parts[1], key_network.split(".", 2)[-1] + emb_dict = bundle_embeddings.get(emb_name, {}) + emb_dict[vec_name] = weight + bundle_embeddings[emb_name] = emb_dict + if len(parts) > 5: # messy handler for diffusers peft lora + key_network_without_network_parts = '_'.join(parts[:-2]) + if not key_network_without_network_parts.startswith('lora_'): + key_network_without_network_parts = 'lora_' + key_network_without_network_parts + network_part = '.'.join(parts[-2:]).replace('lora_A', 'lora_down').replace('lora_B', 'lora_up') + else: + key_network_without_network_parts, network_part = key_network.split(".", 1) + # if debug: + # shared.log.debug(f'LoRA load: name="{name}" full={key_network} network={network_part} key={key_network_without_network_parts}') + key, sd_module = convert(key_network_without_network_parts) # Now returns lists + if sd_module[0] is None: + if "bundle_emb" not in key_network: + keys_failed_to_match[key_network] = key + continue + for k, module in zip(key, sd_module): + if k not in matched_networks: + matched_networks[k] = network.NetworkWeights(network_key=key_network, sd_key=k, w={}, sd_module=module) + matched_networks[k].w[network_part] = weight + for key, weights in matched_networks.items(): + net_module = None + for nettype in module_types: + net_module = nettype.create_module(net, weights) + if net_module is not None: + break + if net_module is None: + shared.log.error(f'LoRA unhandled: name={name} key={key} weights={weights.w.keys()}') + else: + net.modules[key] = net_module + if len(keys_failed_to_match) > 0: + shared.log.warning(f"LoRA file={network_on_disk.filename} unmatched={len(keys_failed_to_match)} matched={len(matched_networks)}") + if debug: + shared.log.debug(f"LoRA file={network_on_disk.filename} unmatched={keys_failed_to_match}") + elif debug: + shared.log.debug(f"LoRA file={network_on_disk.filename} unmatched={len(keys_failed_to_match)} matched={len(matched_networks)}") + lora_cache[name] = net + t1 = time.time() + net.bundle_embeddings = bundle_embeddings + timer['load'] += t1 - t0 + return net + + +def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=None): + networks_on_disk = [available_network_aliases.get(name, None) for name in names] + if any(x is None for x in networks_on_disk): + list_available_networks() + networks_on_disk = [available_network_aliases.get(name, None) for name in names] + failed_to_load_networks = [] + recompile_model = False + if shared.compiled_model_state is not None and shared.compiled_model_state.is_compiled: + if len(names) == len(shared.compiled_model_state.lora_model): + for i, name in enumerate(names): + if shared.compiled_model_state.lora_model[i] != f"{name}:{te_multipliers[i] if te_multipliers else 1.0}": + recompile_model = True + shared.compiled_model_state.lora_model = [] + break + if not recompile_model: + if len(loaded_networks) > 0 and debug: + shared.log.debug('Model Compile: Skipping LoRa loading') + return + else: + recompile_model = True + shared.compiled_model_state.lora_model = [] + if recompile_model: + backup_cuda_compile = shared.opts.cuda_compile + sd_models.unload_model_weights(op='model') + shared.opts.cuda_compile = False + sd_models.reload_model_weights(op='model') + shared.opts.cuda_compile = backup_cuda_compile + + loaded_networks.clear() + for i, (network_on_disk, name) in enumerate(zip(networks_on_disk, names)): + net = None + if network_on_disk is not None: + shorthash = getattr(network_on_disk, 'shorthash', '').lower() + if debug: + shared.log.debug(f'LoRA load: name="{name}" file="{network_on_disk.filename}" hash="{shorthash}"') + try: + if recompile_model: + shared.compiled_model_state.lora_model.append(f"{name}:{te_multipliers[i] if te_multipliers else 1.0}") + if shared.native and shared.opts.lora_force_diffusers: # OpenVINO only works with Diffusers LoRa loading + net = load_diffusers(name, network_on_disk, lora_scale=te_multipliers[i] if te_multipliers else 1.0) + elif shared.native and network_overrides.check_override(shorthash): + net = load_diffusers(name, network_on_disk, lora_scale=te_multipliers[i] if te_multipliers else 1.0) + else: + net = load_network(name, network_on_disk) + except Exception as e: + shared.log.error(f"LoRA load failed: file={network_on_disk.filename} {e}") + if debug: + errors.display(e, f"LoRA load failed file={network_on_disk.filename}") + continue + net.mentioned_name = name + network_on_disk.read_hash() + if net is None: + failed_to_load_networks.append(name) + shared.log.error(f"LoRA unknown type: network={name}") + continue + shared.sd_model.embedding_db.load_diffusers_embedding(None, net.bundle_embeddings) + net.te_multiplier = te_multipliers[i] if te_multipliers else 1.0 + net.unet_multiplier = unet_multipliers[i] if unet_multipliers else 1.0 + net.dyn_dim = dyn_dims[i] if dyn_dims else 1.0 + loaded_networks.append(net) + + while len(lora_cache) > shared.opts.lora_in_memory_limit: + name = next(iter(lora_cache)) + lora_cache.pop(name, None) + if len(loaded_networks) > 0 and debug: + shared.log.debug(f'LoRA loaded={len(loaded_networks)} cache={list(lora_cache)}') + devices.torch_gc() + + if recompile_model: + shared.log.info("LoRA recompiling model") + backup_lora_model = shared.compiled_model_state.lora_model + if shared.opts.cuda_compile: + shared.sd_model = sd_models_compile.compile_diffusers(shared.sd_model) + + shared.compiled_model_state.lora_model = backup_lora_model + + +def network_restore_weights_from_backup(self: Union[torch.nn.Conv2d, torch.nn.Linear, torch.nn.GroupNorm, torch.nn.LayerNorm, torch.nn.MultiheadAttention, diffusers.models.lora.LoRACompatibleLinear, diffusers.models.lora.LoRACompatibleConv]): + t0 = time.time() + weights_backup = getattr(self, "network_weights_backup", None) + bias_backup = getattr(self, "network_bias_backup", None) + if weights_backup is None and bias_backup is None: + return + # if debug: + # shared.log.debug('LoRA restore weights') + if weights_backup is not None: + if isinstance(self, torch.nn.MultiheadAttention): + self.in_proj_weight.copy_(weights_backup[0]) + self.out_proj.weight.copy_(weights_backup[1]) + else: + self.weight.copy_(weights_backup) + if bias_backup is not None: + if isinstance(self, torch.nn.MultiheadAttention): + self.out_proj.bias.copy_(bias_backup) + else: + self.bias.copy_(bias_backup) + else: + if isinstance(self, torch.nn.MultiheadAttention): + self.out_proj.bias = None + else: + self.bias = None + t1 = time.time() + timer['restore'] += t1 - t0 + + +def network_apply_weights(self: Union[torch.nn.Conv2d, torch.nn.Linear, torch.nn.GroupNorm, torch.nn.LayerNorm, torch.nn.MultiheadAttention, diffusers.models.lora.LoRACompatibleLinear, diffusers.models.lora.LoRACompatibleConv]): + """ + Applies the currently selected set of networks to the weights of torch layer self. + If weights already have this particular set of networks applied, does nothing. + If not, restores orginal weights from backup and alters weights according to networks. + """ + network_layer_name = getattr(self, 'network_layer_name', None) + if network_layer_name is None: + return + t0 = time.time() + current_names = getattr(self, "network_current_names", ()) + wanted_names = tuple((x.name, x.te_multiplier, x.unet_multiplier, x.dyn_dim) for x in loaded_networks) + weights_backup = getattr(self, "network_weights_backup", None) + if weights_backup is None and wanted_names != (): # pylint: disable=C1803 + if current_names != (): + raise RuntimeError("no backup weights found and current weights are not unchanged") + if isinstance(self, torch.nn.MultiheadAttention): + weights_backup = (self.in_proj_weight.to(devices.cpu, copy=True), self.out_proj.weight.to(devices.cpu, copy=True)) + else: + weights_backup = self.weight.to(devices.cpu, copy=True) + self.network_weights_backup = weights_backup + bias_backup = getattr(self, "network_bias_backup", None) + if bias_backup is None: + if isinstance(self, torch.nn.MultiheadAttention) and self.out_proj.bias is not None: + bias_backup = self.out_proj.bias.to(devices.cpu, copy=True) + elif getattr(self, 'bias', None) is not None: + bias_backup = self.bias.to(devices.cpu, copy=True) + else: + bias_backup = None + self.network_bias_backup = bias_backup + + if current_names != wanted_names: + network_restore_weights_from_backup(self) + for net in loaded_networks: + # default workflow where module is known and has weights + module = net.modules.get(network_layer_name, None) + if module is not None and hasattr(self, 'weight'): + try: + with devices.inference_context(): + updown, ex_bias = module.calc_updown(self.weight) + if len(self.weight.shape) == 4 and self.weight.shape[1] == 9: + # inpainting model. zero pad updown to make channel[1] 4 to 9 + updown = torch.nn.functional.pad(updown, (0, 0, 0, 0, 0, 5)) # pylint: disable=not-callable + self.weight = torch.nn.Parameter(self.weight + updown) + if ex_bias is not None and hasattr(self, 'bias'): + if self.bias is None: + self.bias = torch.nn.Parameter(ex_bias) + else: + self.bias += ex_bias + except RuntimeError as e: + extra_network_lora.errors[net.name] = extra_network_lora.errors.get(net.name, 0) + 1 + if debug: + module_name = net.modules.get(network_layer_name, None) + shared.log.error(f"LoRA apply weight name={net.name} module={module_name} layer={network_layer_name} {e}") + errors.display(e, 'LoRA apply weight') + raise RuntimeError('LoRA apply weight') from e + continue + # alternative workflow looking at _*_proj layers + module_q = net.modules.get(network_layer_name + "_q_proj", None) + module_k = net.modules.get(network_layer_name + "_k_proj", None) + module_v = net.modules.get(network_layer_name + "_v_proj", None) + module_out = net.modules.get(network_layer_name + "_out_proj", None) + if isinstance(self, torch.nn.MultiheadAttention) and module_q and module_k and module_v and module_out: + try: + with devices.inference_context(): + updown_q, _ = module_q.calc_updown(self.in_proj_weight) + updown_k, _ = module_k.calc_updown(self.in_proj_weight) + updown_v, _ = module_v.calc_updown(self.in_proj_weight) + updown_qkv = torch.vstack([updown_q, updown_k, updown_v]) + updown_out, ex_bias = module_out.calc_updown(self.out_proj.weight) + self.in_proj_weight += updown_qkv + self.out_proj.weight += updown_out + if ex_bias is not None: + if self.out_proj.bias is None: + self.out_proj.bias = torch.nn.Parameter(ex_bias) + else: + self.out_proj.bias += ex_bias + except RuntimeError as e: + if debug: + shared.log.debug(f"LoRA network={net.name} layer={network_layer_name} {e}") + extra_network_lora.errors[net.name] = extra_network_lora.errors.get(net.name, 0) + 1 + continue + if module is None: + continue + shared.log.warning(f"LoRA network={net.name} layer={network_layer_name} unsupported operation") + extra_network_lora.errors[net.name] = extra_network_lora.errors.get(net.name, 0) + 1 + self.network_current_names = wanted_names + t1 = time.time() + timer['apply'] += t1 - t0 + + +def network_forward(module, input, original_forward): # pylint: disable=W0622 + """ + Old way of applying Lora by executing operations during layer's forward. + Stacking many loras this way results in big performance degradation. + """ + if len(loaded_networks) == 0: + return original_forward(module, input) + input = devices.cond_cast_unet(input) + network_restore_weights_from_backup(module) + network_reset_cached_weight(module) + y = original_forward(module, input) + network_layer_name = getattr(module, 'network_layer_name', None) + for lora in loaded_networks: + module = lora.modules.get(network_layer_name, None) + if module is None: + continue + y = module.forward(input, y) + return y + + +def network_reset_cached_weight(self: Union[torch.nn.Conv2d, torch.nn.Linear]): + self.network_current_names = () + self.network_weights_backup = None + + +def network_Linear_forward(self, input): # pylint: disable=W0622 + if shared.opts.lora_functional: + return network_forward(self, input, originals.Linear_forward) + network_apply_weights(self) + return originals.Linear_forward(self, input) + + +def network_Linear_load_state_dict(self, *args, **kwargs): + network_reset_cached_weight(self) + return originals.Linear_load_state_dict(self, *args, **kwargs) + + +def network_Conv2d_forward(self, input): # pylint: disable=W0622 + if shared.opts.lora_functional: + return network_forward(self, input, originals.Conv2d_forward) + network_apply_weights(self) + return originals.Conv2d_forward(self, input) + + +def network_Conv2d_load_state_dict(self, *args, **kwargs): + network_reset_cached_weight(self) + return originals.Conv2d_load_state_dict(self, *args, **kwargs) + + +def network_GroupNorm_forward(self, input): # pylint: disable=W0622 + if shared.opts.lora_functional: + return network_forward(self, input, originals.GroupNorm_forward) + network_apply_weights(self) + return originals.GroupNorm_forward(self, input) + + +def network_GroupNorm_load_state_dict(self, *args, **kwargs): + network_reset_cached_weight(self) + return originals.GroupNorm_load_state_dict(self, *args, **kwargs) + + +def network_LayerNorm_forward(self, input): # pylint: disable=W0622 + if shared.opts.lora_functional: + return network_forward(self, input, originals.LayerNorm_forward) + network_apply_weights(self) + return originals.LayerNorm_forward(self, input) + + +def network_LayerNorm_load_state_dict(self, *args, **kwargs): + network_reset_cached_weight(self) + return originals.LayerNorm_load_state_dict(self, *args, **kwargs) + + +def network_MultiheadAttention_forward(self, *args, **kwargs): + network_apply_weights(self) + return originals.MultiheadAttention_forward(self, *args, **kwargs) + + +def network_MultiheadAttention_load_state_dict(self, *args, **kwargs): + network_reset_cached_weight(self) + return originals.MultiheadAttention_load_state_dict(self, *args, **kwargs) + + +def list_available_networks(): + available_networks.clear() + available_network_aliases.clear() + forbidden_network_aliases.clear() + available_network_hash_lookup.clear() + forbidden_network_aliases.update({"none": 1, "Addams": 1}) + directories = [] + if os.path.exists(shared.cmd_opts.lora_dir): + directories.append(shared.cmd_opts.lora_dir) + else: + shared.log.warning(f'LoRA directory not found: path="{shared.cmd_opts.lora_dir}"') + if os.path.exists(shared.cmd_opts.lyco_dir) and shared.cmd_opts.lyco_dir != shared.cmd_opts.lora_dir: + directories.append(shared.cmd_opts.lyco_dir) + + def add_network(filename): + if not os.path.isfile(filename): + return + name = os.path.splitext(os.path.basename(filename))[0] + try: + entry = network.NetworkOnDisk(name, filename) + available_networks[entry.name] = entry + if entry.alias in available_network_aliases: + forbidden_network_aliases[entry.alias.lower()] = 1 + if shared.opts.lora_preferred_name == 'filename': + available_network_aliases[entry.name] = entry + else: + available_network_aliases[entry.alias] = entry + if entry.shorthash: + available_network_hash_lookup[entry.shorthash] = entry + except OSError as e: # should catch FileNotFoundError and PermissionError etc. + shared.log.error(f"Failed to load network {name} from {filename} {e}") + + candidates = list(files_cache.list_files(*directories, ext_filter=[".pt", ".ckpt", ".safetensors"])) + with concurrent.futures.ThreadPoolExecutor(max_workers=shared.max_workers) as executor: + for fn in candidates: + executor.submit(add_network, fn) + shared.log.info(f'LoRA networks: available={len(available_networks)} folders={len(forbidden_network_aliases)}') + + +def infotext_pasted(infotext, params): # pylint: disable=W0613 + if "AddNet Module 1" in [x[1] for x in scripts.scripts_txt2img.infotext_fields]: + return # if the other extension is active, it will handle those fields, no need to do anything + added = [] + for k in params: + if not k.startswith("AddNet Model "): + continue + num = k[13:] + if params.get("AddNet Module " + num) != "LoRA": + continue + name = params.get("AddNet Model " + num) + if name is None: + continue + m = re_network_name.match(name) + if m: + name = m.group(1) + multiplier = params.get("AddNet Weight A " + num, "1.0") + added.append(f"") + if added: + params["Prompt"] += "\n" + "".join(added) + + +list_available_networks() diff --git a/modules/textual_inversion/textual_inversion.py b/modules/textual_inversion/textual_inversion.py index b0779716b..c32285c6e 100644 --- a/modules/textual_inversion/textual_inversion.py +++ b/modules/textual_inversion/textual_inversion.py @@ -1,7 +1,6 @@ from typing import List, Union import os import time -from collections import namedtuple import torch import safetensors.torch from PIL import Image @@ -12,8 +11,6 @@ from modules.files_cache import directory_files, directory_mtime, extension_filt debug = shared.log.trace if os.environ.get('SD_TI_DEBUG', None) is not None else lambda *args, **kwargs: None debug('Trace: TEXTUAL INVERSION') -TokenToAdd = namedtuple("TokenToAdd", ["clip_l", "clip_g"]) - def list_embeddings(*dirs): is_ext = extension_filter(['.SAFETENSORS', '.PT' ] + ( ['.PNG', '.WEBP', '.JXL', '.AVIF', '.BIN' ] if not shared.native else [] )) @@ -21,6 +18,138 @@ def list_embeddings(*dirs): return list(filter(lambda fp: is_ext(fp) and is_not_preview(fp) and os.stat(fp).st_size > 0, directory_files(*dirs))) +def open_embeddings(filename): + """ + Load Embedding files from drive. Image embeddings not currently supported. + """ + if filename is None: + return + filenames = list(filename) + exts = [".SAFETENSORS", '.BIN', '.PT'] + embeddings = [] + skipped = [] + for _filename in filenames: + # debug(f'Embedding check: {filename}') + fullname = _filename + _filename = os.path.basename(fullname) + fn, ext = os.path.splitext(_filename) + name = os.path.basename(fn) + embedding = Embedding(vec=[], name=name, filename=fullname) + try: + if ext.upper() not in exts: + debug(f'extension `{ext}` is invalid, expected one of: {exts}') + skipped.append(name) + continue + if ext.upper() in ['.SAFETENSORS']: + with safetensors.torch.safe_open(embedding.filename, framework="pt") as f: # type: ignore + for k in f.keys(): + embedding.vec.append(f.get_tensor(k)) + else: # fallback for sd1.5 pt embeddings + vectors = torch.load(fullname, map_location=devices.device)["string_to_param"]["*"] + embedding.vec.append(vectors) + embedding.tokens = [embedding.name if i == 0 else f"{embedding.name}_{i}" for i in range(len(embedding.vec[0]))] + except: + debug(f"Could not load embedding file {fullname}") + if embedding.vec: + embeddings.append(embedding) + else: + skipped.append(name) + return embeddings, skipped + + +def convert_bundled(data): + """ + Bundled embeddings are passed as a dict from lora loading, convert to Embedding objects and pass back as list. + """ + embeddings = [] + for key in data.keys(): + embedding = Embedding(vec=[], name=key, filename=None) + for vector in data[key].values(): + embedding.vec.append(vector) + embedding.tokens = [embedding.name if i == 0 else f"{embedding.name}_{i}" for i in range(len(embedding.vec[0]))] + embeddings.append(embedding) + return embeddings, [] + + +def get_text_encoders(): + """ + Select all text encoder and tokenizer pairs from known pipelines, and index them based on the dimensionality of + their embedding layers. + """ + pipe = shared.sd_model + te_names = ["text_encoder", "text_encoder_2", "text_encoder_3"] + tokenizers_names = ["tokenizer", "tokenizer_2", "tokenizer_3"] + text_encoders = [] + tokenizers = [] + hidden_sizes = [] + for te, tok in zip(te_names, tokenizers_names): + text_encoder = getattr(pipe, te, None) + if text_encoder is None: + continue + tokenizer = getattr(pipe, tok, None) + hidden_size = text_encoder.get_input_embeddings().weight.data.shape[-1] or None + if all([text_encoder, tokenizer, hidden_size]): + text_encoders.append(text_encoder) + tokenizers.append(tokenizer) + hidden_sizes.append(hidden_size) + return text_encoders, tokenizers, hidden_sizes + + +def deref_tokenizers(tokens, tokenizers): + """ + Bundled embeddings may have the same name as a seperately loaded embedding, or there may be multiple LoRA with + differing numbers of vectors. By editing the AddedToken objects, and deleting the dict keys pointing to them, + we can ensure that a smaller embedding will not get tokenized as itself, plus the remaining vectors of the previous. + """ + for tokenizer in tokenizers: + # if tokens[0] in tokenizer.get_vocab(): + # idx = tokenizer.convert_tokens_to_ids(tokens[0]) + # debug(f"deref idx: {idx}") + # tokenizer._added_tokens_decoder[idx].content = str(time.time()) + # del tokenizer._added_tokens_encoder[tokens[0]] + + if len(tokens) > 1: + last_token = tokens[-1] + suffix = int(last_token.split("_")[-1]) + newsuffix = suffix + 1 + while last_token.replace(str(suffix), str(newsuffix)) in tokenizer.get_vocab(): + idx = tokenizer.convert_tokens_to_ids(last_token.replace(str(suffix), str(newsuffix))) + debug(f"Textual inversion: deref idx={idx}") + del tokenizer._added_tokens_encoder[last_token.replace(str(suffix), str(newsuffix))] + tokenizer._added_tokens_decoder[idx].content = str(time.time()) + newsuffix += 1 + + +def insert_tokens(embeddings: list, tokenizers: list): + """ + Add all tokens to each tokenizer in the list, with one call to each. + """ + tokens = [] + for embedding in embeddings: + tokens += embedding.tokens + for tokenizer in tokenizers: + tokenizer.add_tokens(tokens) + + +def insert_vectors(embedding, tokenizers, text_encoders, hiddensizes): + """ + Insert embeddings into the input embedding layer of a list of text encoders, matched based on embedding size, + not by name. + Future warning, if another text encoder becomes available with embedding dimensions in [768,1280,4096] + this may cause collisions. + """ + for vector, size in zip(embedding.vec, embedding.vector_sizes): + idx = hiddensizes.index(size) + unk_token_id = tokenizers[idx].convert_tokens_to_ids(tokenizers[idx].unk_token) + if text_encoders[idx].get_input_embeddings().weight.data.shape[0] != len(tokenizers[idx]): + text_encoders[idx].resize_token_embeddings(len(tokenizers[idx])) + for token, v in zip(embedding.tokens, vector.unbind()): + token_id = tokenizers[idx].convert_tokens_to_ids(token) + if token_id > unk_token_id: + text_encoders[idx].get_input_embeddings().weight.data[token_id] = v + + + class Embedding: def __init__(self, vec, name, filename=None, step=None): self.vec = vec @@ -35,6 +164,7 @@ class Embedding: self.sd_checkpoint = None self.sd_checkpoint_name = None self.optimizer_state_dict = None + self.tokens = None def save(self, filename): embedding_data = { @@ -82,6 +212,10 @@ class DirWithTextualInversionEmbeddings: def convert_embedding(tensor, text_encoder, text_encoder_2): + """ + Given a tensor of shape (b, embed_dim) and two text encoders whose tokenizers match, return a tensor with + approximately mathcing meaning, or padding if the input tensor is dissimilar to any frozen text embed + """ with torch.no_grad(): vectors = [] clip_l_embeds = text_encoder.get_input_embeddings().weight.data.clone().to(device=devices.device) @@ -91,7 +225,7 @@ def convert_embedding(tensor, text_encoder, text_encoder_2): if values < 0.707: # Arbitrary similarity to cutoff, here 45 degrees indices *= 0 # Use SDXL padding vector 0 vectors.append(indices) - vectors = torch.stack(vectors) + vectors = torch.stack(vectors).to(text_encoder_2.device) output = text_encoder_2.get_input_embeddings().weight.data[vectors] return output @@ -135,123 +269,41 @@ class EmbeddingDatabase: vec = shared.sd_model.cond_stage_model.encode_embedding_init_text(",", 1) return vec.shape[1] - def load_diffusers_embedding(self, filename: Union[str, List[str]]): - _loaded_pre = len(self.word_embeddings) - embeddings_to_load = [] - loaded_embeddings = {} - skipped_embeddings = [] + def load_diffusers_embedding(self, filename: Union[str, List[str]] = None, data: dict = None): + """ + File names take precidence over bundled embeddings passed as a dict. + Bundled embeddings are automatically set to overwrite previous embeddings. + """ + overwrite = bool(data) if not shared.sd_loaded: return 0 - tokenizer = getattr(shared.sd_model, 'tokenizer', None) - tokenizer_2 = getattr(shared.sd_model, 'tokenizer_2', None) - clip_l = getattr(shared.sd_model, 'text_encoder', None) - clip_g = getattr(shared.sd_model, 'text_encoder_2', None) - if clip_g and tokenizer_2: - model_type = 'SDXL' - elif clip_l and tokenizer: - model_type = 'SD' - else: + embeddings, skipped = open_embeddings(filename) or convert_bundled(data) + if not embeddings: return 0 - filenames = list(filename) - exts = [".SAFETENSORS", '.BIN', '.PT', '.PNG', '.WEBP', '.JXL', '.AVIF'] - for _filename in filenames: - # debug(f'Embedding check: {filename}') - fullname = _filename - _filename = os.path.basename(fullname) - fn, ext = os.path.splitext(_filename) - name = os.path.basename(fn) - embedding = Embedding(vec=None, name=name, filename=fullname) - tokenizer_vocab = tokenizer.get_vocab() - try: - if ext.upper() not in exts: - raise ValueError(f'extension `{ext}` is invalid, expected one of: {exts}') - if name in tokenizer.get_vocab() or f"{name}_1" in tokenizer.get_vocab(): - loaded_embeddings[name] = embedding - debug(f'Embedding already loaded: {name}') - embeddings_to_load.append(embedding) - except Exception as e: - skipped_embeddings.append(embedding) - debug(f'Embedding skipped: "{name}" {e}') - continue - embeddings_to_load = sorted(embeddings_to_load, key=lambda e: exts.index(os.path.splitext(e.filename)[1].upper())) - - tokens_to_add = {} - for embedding in embeddings_to_load: - try: - if embedding.name in tokens_to_add or embedding.name in loaded_embeddings: - raise ValueError('duplicate token') - embeddings_dict = {} - _, ext = os.path.splitext(embedding.filename) - if ext.upper() in ['.SAFETENSORS']: - with safetensors.torch.safe_open(embedding.filename, framework="pt") as f: # type: ignore - for k in f.keys(): - embeddings_dict[k] = f.get_tensor(k) - else: # fallback for sd1.5 pt embeddings - embeddings_dict["clip_l"] = self.load_from_file(embedding.filename, embedding.filename) - if 'emb_params' in embeddings_dict and 'clip_l' not in embeddings_dict: - embeddings_dict["clip_l"] = embeddings_dict["emb_params"] - if 'clip_l' not in embeddings_dict: - raise ValueError('Invalid Embedding, dict missing required key `clip_l`') - if 'clip_g' not in embeddings_dict and model_type == "SDXL" and shared.opts.diffusers_convert_embed: - embeddings_dict["clip_g"] = convert_embedding(embeddings_dict["clip_l"], clip_l, clip_g) - if 'clip_g' in embeddings_dict: - embedding_type = 'SDXL' - else: - embedding_type = 'SD' - if embedding_type != model_type: - raise ValueError(f'Unable to load {embedding_type} Embedding "{embedding.name}" into {model_type} Model') - _tokens_to_add = {} - for i in range(len(embeddings_dict["clip_l"])): - if len(clip_l.get_input_embeddings().weight.data[0]) == len(embeddings_dict["clip_l"][i]): - token = embedding.name if i == 0 else f"{embedding.name}_{i}" - if token in tokenizer_vocab: - raise RuntimeError(f'Multi-Vector Embedding would add pre-existing Token in Vocabulary: {token}') - if token in tokens_to_add: - raise RuntimeError(f'Multi-Vector Embedding would add duplicate Token to Add: {token}') - _tokens_to_add[token] = TokenToAdd( - embeddings_dict["clip_l"][i], - embeddings_dict["clip_g"][i] if 'clip_g' in embeddings_dict else None - ) - if not _tokens_to_add: - raise ValueError('no valid tokens to add') - tokens_to_add.update(_tokens_to_add) - loaded_embeddings[embedding.name] = embedding - except Exception as e: - debug(f"Embedding loading: {embedding.filename} {e}") - continue - if len(tokens_to_add) > 0: - tokenizer.add_tokens(list(tokens_to_add.keys())) - clip_l.resize_token_embeddings(len(tokenizer)) - if model_type == 'SDXL': - tokenizer_2.add_tokens(list(tokens_to_add.keys())) # type: ignore - clip_g.resize_token_embeddings(len(tokenizer_2)) # type: ignore - unk_token_id = tokenizer.convert_tokens_to_ids(tokenizer.unk_token) - for token, data in tokens_to_add.items(): - token_id = tokenizer.convert_tokens_to_ids(token) - if token_id > unk_token_id: - clip_l.get_input_embeddings().weight.data[token_id] = data.clip_l - if model_type == 'SDXL': - clip_g.get_input_embeddings().weight.data[token_id] = data.clip_g # type: ignore - - for embedding in loaded_embeddings.values(): - if not embedding: - continue - self.register_embedding(embedding, shared.sd_model) - if embedding in embeddings_to_load: - embeddings_to_load.remove(embedding) - skipped_embeddings.extend(embeddings_to_load) - for embedding in skipped_embeddings: - if loaded_embeddings.get(embedding.name, None) == embedding: - continue - self.skipped_embeddings[embedding.name] = embedding - try: - if model_type == 'SD': - debug(f"Embeddings loaded: text-encoder={shared.sd_model.text_encoder.get_input_embeddings().weight.data.shape[0]}") - if model_type == 'SDXL': - debug(f"Embeddings loaded: text-encoder-1={shared.sd_model.text_encoder.get_input_embeddings().weight.data.shape[0]} text-encoder-2={shared.sd_model.text_encoder_2.get_input_embeddings().weight.data.shape[0]}") - except Exception: - pass - return len(self.word_embeddings) - _loaded_pre + text_encoders, tokenizers, hiddensizes = get_text_encoders() + if not all([text_encoders, tokenizers, hiddensizes]): + return 0 + for embedding in embeddings: + embedding.vector_sizes = [v.shape[-1] for v in embedding.vec] + if shared.opts.diffusers_convert_embed and 768 in hiddensizes and 1280 in hiddensizes and 1280 not in embedding.vector_sizes and 768 in embedding.vector_sizes: + embedding.vec.append( + convert_embedding(embedding.vec[embedding.vector_sizes.index(768)], text_encoders[hiddensizes.index(768)], + text_encoders[hiddensizes.index(1280)])) + embedding.vector_sizes.append(1280) + if len(embedding.vector_sizes) > len(hiddensizes): + embedding.tokens = [] + self.skipped_embeddings[embedding.name] = embedding + if overwrite: + shared.log.info(f"Loading Bundled embeddings: {list(data.keys())}") + for embedding in embeddings: + if embedding.name not in self.skipped_embeddings: + deref_tokenizers(embedding.tokens, tokenizers) + insert_tokens(embeddings, tokenizers) + for embedding in embeddings: + if embedding.name not in self.skipped_embeddings: + insert_vectors(embedding, tokenizers, text_encoders, hiddensizes) + self.register_embedding(embedding, shared.sd_model) + return def load_from_file(self, path, filename): name, ext = os.path.splitext(filename) From 6fb7cee82cfcff3e3c783d637bfc6fe6d2d71a08 Mon Sep 17 00:00:00 2001 From: Seunghoon Lee Date: Fri, 28 Jun 2024 13:53:19 +0900 Subject: [PATCH 08/66] zluda installer use requests instead of urllib.request --- modules/zluda_installer.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/zluda_installer.py b/modules/zluda_installer.py index 06c019a09..fb7d94780 100644 --- a/modules/zluda_installer.py +++ b/modules/zluda_installer.py @@ -3,7 +3,7 @@ import ctypes import shutil import zipfile import platform -import urllib.request +import requests from typing import Union @@ -36,7 +36,10 @@ def install(zluda_path: os.PathLike) -> None: if platform.system() != 'Windows': # TODO return - urllib.request.urlretrieve(f'https://github.com/lshqqytiger/ZLUDA/releases/download/{RELEASE}/ZLUDA-windows-amd64.zip', '_zluda') + with open('_zluda', 'wb') as file: + res = requests.get(f'https://github.com/lshqqytiger/ZLUDA/releases/download/{RELEASE}/ZLUDA-windows-amd64.zip', timeout=30) + file.write(res.content) + with zipfile.ZipFile('_zluda', 'r') as archive: infos = archive.infolist() for info in infos: From a5a7d65dfe68a9eebe4a01f6080969797a5e0848 Mon Sep 17 00:00:00 2001 From: Seunghoon Lee Date: Fri, 28 Jun 2024 16:39:54 +0900 Subject: [PATCH 09/66] wsl rocm preload hsa runtime library --- installer.py | 14 ++++++++++++++ modules/zluda_installer.py | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/installer.py b/installer.py index 4aeecd7e6..fefee8d55 100644 --- a/installer.py +++ b/installer.py @@ -680,6 +680,20 @@ def check_torch(): install('onnxruntime-gpu', 'onnxruntime-gpu', ignore=True, quiet=True) elif is_rocm_available(allow_rocm): torch_command = install_rocm_zluda(torch_command) + + # WSL ROCm + if os.environ.get('WSL_DISTRO_NAME', None) is not None: + import ctypes + try: + # Preload stdc++ library. This will ignore Anaconda stdc++ library. + ctypes.CDLL("/lib/x86_64-linux-gnu/libstdc++.so.6", mode=ctypes.RTLD_GLOBAL) + except OSError: + pass + try: + # Preload HSA Runtime library. + ctypes.CDLL("/opt/rocm/lib/libhsa-runtime64.so", mode=ctypes.RTLD_GLOBAL) + except OSError: + log.error("Failed to preload HSA Runtime library.") elif is_ipex_available(allow_ipex): torch_command = install_ipex(torch_command) elif allow_openvino and args.use_openvino: diff --git a/modules/zluda_installer.py b/modules/zluda_installer.py index fb7d94780..17956d439 100644 --- a/modules/zluda_installer.py +++ b/modules/zluda_installer.py @@ -33,7 +33,7 @@ def install(zluda_path: os.PathLike) -> None: if os.path.exists(zluda_path): return - if platform.system() != 'Windows': # TODO + if platform.system() != 'Windows': # Windows-only. (PyTorch should be rebuilt on Linux) return with open('_zluda', 'wb') as file: From 39af66c7201fbb3dd102ab2c38fcb87a9dde5efb Mon Sep 17 00:00:00 2001 From: Seunghoon Lee Date: Fri, 28 Jun 2024 21:29:54 +0900 Subject: [PATCH 10/66] hipBLASLt auto detect --- installer.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/installer.py b/installer.py index fefee8d55..b835659ff 100644 --- a/installer.py +++ b/installer.py @@ -540,6 +540,27 @@ def install_rocm_zluda(torch_command): ort_version = os.environ.get('ONNXRUNTIME_VERSION', None) ort_package = os.environ.get('ONNXRUNTIME_PACKAGE', f"--pre onnxruntime-training{'' if ort_version is None else ('==' + ort_version)} --index-url https://pypi.lsh.sh/{rocm_ver[0]}{rocm_ver[2]} --extra-index-url https://pypi.org/simple") install(ort_package, 'onnxruntime-training') + + if bool(int(os.environ.get("TORCH_BLAS_PREFER_HIPBLASLT", "1"))): + supported_archs = [] + hipblaslt_available = True + libpath = os.environ.get("HIPBLASLT_TENSILE_LIBPATH", "/opt/rocm/lib/hipblaslt/library") + for file in os.listdir(libpath): + if not file.startswith('extop_'): + continue + supported_archs.append(file[6:-3]) + for gpu in amd_gpus: + if gpu not in supported_archs: + hipblaslt_available = False + break + log.info(f'hipBLASLt supported_archs={supported_archs}, available={hipblaslt_available}') + if hipblaslt_available: + import ctypes + # Preload hipBLASLt. + ctypes.CDLL("/opt/rocm/lib/libhipblaslt.so", mode=ctypes.RTLD_GLOBAL) + os.environ["HIPBLASLT_TENSILE_LIBPATH"] = libpath + else: + os.environ["TORCH_BLAS_PREFER_HIPBLASLT"] = "0" return torch_command From 3fc0072911ced8817bc01796d55f95717050dffe Mon Sep 17 00:00:00 2001 From: Seunghoon Lee Date: Fri, 28 Jun 2024 21:39:01 +0900 Subject: [PATCH 11/66] revert zluda installer --- modules/zluda_installer.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/modules/zluda_installer.py b/modules/zluda_installer.py index 17956d439..d1e12f011 100644 --- a/modules/zluda_installer.py +++ b/modules/zluda_installer.py @@ -3,7 +3,7 @@ import ctypes import shutil import zipfile import platform -import requests +import urllib.request from typing import Union @@ -36,10 +36,7 @@ def install(zluda_path: os.PathLike) -> None: if platform.system() != 'Windows': # Windows-only. (PyTorch should be rebuilt on Linux) return - with open('_zluda', 'wb') as file: - res = requests.get(f'https://github.com/lshqqytiger/ZLUDA/releases/download/{RELEASE}/ZLUDA-windows-amd64.zip', timeout=30) - file.write(res.content) - + urllib.request.urlretrieve(f'https://github.com/lshqqytiger/ZLUDA/releases/download/{RELEASE}/ZLUDA-windows-amd64.zip', '_zluda') with zipfile.ZipFile('_zluda', 'r') as archive: infos = archive.infolist() for info in infos: From 8474787caa07a911d489000e511d99733e0be2e6 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 28 Jun 2024 09:02:48 -0400 Subject: [PATCH 12/66] fix diffuser version detection for sd3 --- extensions-builtin/sdnext-modernui | 2 +- modules/model_sd3.py | 4 ++-- wiki | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/extensions-builtin/sdnext-modernui b/extensions-builtin/sdnext-modernui index dae2c67d8..6a570df7a 160000 --- a/extensions-builtin/sdnext-modernui +++ b/extensions-builtin/sdnext-modernui @@ -1 +1 @@ -Subproject commit dae2c67d826b631dcc343c028c60f478b0437877 +Subproject commit 6a570df7ada9a048f3ce273851ade9cede9d5c26 diff --git a/modules/model_sd3.py b/modules/model_sd3.py index 81470a97e..8fc2de233 100644 --- a/modules/model_sd3.py +++ b/modules/model_sd3.py @@ -13,9 +13,9 @@ def load_sd3(fn=None, cache_dir=None, config=None): if fn is not None and fn.endswith('.safetensors') and os.path.exists(fn): model_id = fn loader = diffusers.StableDiffusion3Pipeline.from_single_file - diffusers_minor = int(diffusers.__version__.split('.')[1]) + _diffusers_major, diffusers_minor, diffusers_micro = int(diffusers.__version__.split('.')[0]), int(diffusers.__version__.split('.')[1]), int(diffusers.__version__.split('.')[2]) fn_size = os.path.getsize(fn) - if diffusers_minor < 30 or fn_size < 5e9: # te1/te2 do not get loaded correctly in diffusers 0.29.0 or model is without te1/te2 + if (diffusers_minor <= 29 and diffusers_micro < 1) or fn_size < 5e9: # te1/te2 do not get loaded correctly in diffusers 0.29.0 if model is without te1/te2 kwargs = { 'text_encoder': transformers.CLIPTextModelWithProjection.from_pretrained( repo_id, diff --git a/wiki b/wiki index bfa10111e..8c44b3055 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit bfa10111e792140bca54c1480d6547b54752e761 +Subproject commit 8c44b305543f8b612b3b0fbc935ac40997360588 From 576d9aae7357e774445584edb33607c5f5810a5f Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 28 Jun 2024 09:05:46 -0400 Subject: [PATCH 13/66] autodetect sd3-t5-fp16 --- CHANGELOG.md | 5 ++++- modules/sd_models.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5422c9e7..9f5aba7d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,13 @@ # Change Log for SD.Next -## Update for 2024-06-25 +## Update for 2024-06-28 - enable `florence` VLM for all platforms, thanks @lshqqytiger! - fix executing extensions with zero params - fix nncf for lora, thanks @Disty0! +- fix diffusers version detection for SD3 +- add SD3 with FP16 T5 to list of detected models +- multiple ModernUI fixes ## Update for 2024-06-23 diff --git a/modules/sd_models.py b/modules/sd_models.py index 5b1870c4e..d45ec8dd3 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -586,7 +586,7 @@ def detect_pipeline(f: str, op: str = 'model', warning=True, quiet=False): guess = 'Stable Diffusion XL Instruct' elif (size > 3138 and size < 3142): #3140 guess = 'Stable Diffusion XL' - elif (size > 5692 and size < 5698) or (size > 4134 and size < 4138) or (size > 10362 and size < 10366): + elif (size > 5692 and size < 5698) or (size > 4134 and size < 4138) or (size > 10362 and size < 10366) or (size > 15028 and size < 15228): guess = 'Stable Diffusion 3' # guess by name """ From 7bb0a90b947b29001fcb37006cc22ad781c6b50c Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 28 Jun 2024 09:19:33 -0400 Subject: [PATCH 14/66] update issue template --- .github/ISSUE_TEMPLATE/bug_report.yml | 38 ++++++++++++++++++--------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 98a27b4ce..d56e113ba 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -26,14 +26,15 @@ body: Easiest is to include top part of console log, for example: ```log Starting SD.Next - Python 3.10.6 on Linux - Version: abd7d160 Sat Jun 10 07:37:42 2023 -0400 - nVidia CUDA toolkit detected - Torch 2.1.0.dev20230519+cu121 - Torch backend: nVidia CUDA 12.1 cuDNN 8801 - Torch detected GPU: NVIDIA GeForce RTX 3060 VRAM 12288 Arch (8, 6) Cores 28 - Enabled extensions-builtin: [...] - Enabled extensions: [...] + Version: app=sd.next updated=2024-06-28 hash=1fc20e72 branch=dev url=https://github.com/vladmandic/automatic/tree/dev ui=dev + Branch sync failed: sdnext=dev ui=dev + Platform: arch=x86_64 cpu=x86_64 system=Linux release=5.15.153.1-microsoft-standard-WSL2 python=3.12.3 + Torch allocator: "garbage_collection_threshold:0.80,max_split_size_mb:512" + Load packages: {'torch': '2.3.1+cu121', 'diffusers': '0.29.1', 'gradio': '3.43.2'} + Engine: backend=Backend.DIFFUSERS compute=cuda device=cuda attention="Scaled-Dot-Product" mode=no_grad + Device: device=NVIDIA GeForce RTX 4090 n=1 arch=sm_90 cap=(8, 9) cuda=12.1 cudnn=8902 driver=555.99 + Extensions: enabled=['sd-webui-agent-scheduler', 'sd-extension-chainner', 'sd-extension-system-info', 'sdnext-modernui', 'Lora'] extensions-builtin + Extensions: enabled=[] extensions ``` - type: markdown attributes: @@ -73,6 +74,18 @@ body: default: 0 validations: required: true + - type: dropdown + id: ui + attributes: + label: UI + description: Which UI are you're using? + options: + - None + - Standard + - ModernUI + default: 1 + validations: + required: true - type: dropdown id: branch attributes: @@ -90,11 +103,12 @@ body: label: Model description: What is the model type you're using? options: - - SD 1.5 - - SD 2.1 - - SD-XL + - StableDiffusion 1.5 + - StableDiffusion 2.1 + - StableDiffusion XL + - StableDiffusion 3 - PixArt - - Stable Cascade + - StableCascade - Kandinsky - Other default: 0 From 61ab51b6da149f88a8512279c078ada8750e902b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 28 Jun 2024 10:29:09 -0400 Subject: [PATCH 15/66] calculate actual step for samplers with higher order --- modules/processing_callbacks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/processing_callbacks.py b/modules/processing_callbacks.py index 824a79007..d6b81b21c 100644 --- a/modules/processing_callbacks.py +++ b/modules/processing_callbacks.py @@ -38,7 +38,8 @@ def diffusers_callback(pipe, step: int, timestep: int, kwargs: dict): return kwargs latents = kwargs.get('latents', None) debug_callback(f'Callback: step={step} timestep={timestep} latents={latents.shape if latents is not None else None} kwargs={list(kwargs)}') - shared.state.sampling_step = step + order = getattr(pipe.scheduler, "order", 1) if hasattr(pipe, 'scheduler') else 1 + shared.state.sampling_step = step // order if shared.state.interrupted or shared.state.skipped: raise AssertionError('Interrupted...') if shared.state.paused: From f185576daddfc8d6827d0a7b0c1ada0664c2108b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 28 Jun 2024 10:33:15 -0400 Subject: [PATCH 16/66] update changelog --- CHANGELOG.md | 1 + installer.py | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f5aba7d1..8bffa9703 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - fix executing extensions with zero params - fix nncf for lora, thanks @Disty0! - fix diffusers version detection for SD3 +- fix current step for higher order samplers - add SD3 with FP16 T5 to list of detected models - multiple ModernUI fixes diff --git a/installer.py b/installer.py index b835659ff..a00a12624 100644 --- a/installer.py +++ b/installer.py @@ -1087,20 +1087,20 @@ def check_ui(ver): if not same(ver): log.debug(f'Branch mismatch: sdnext={ver["branch"]} ui={ver["ui"]}') - cwd = os.getcwd() - try: - os.chdir('extensions-builtin/sdnext-modernui') - target = 'dev' if 'dev' in ver['branch'] else 'main' - git('checkout ' + target, ignore=True, optional=True) + cwd = os.getcwd() + try: + os.chdir('extensions-builtin/sdnext-modernui') + target = 'dev' if 'dev' in ver['branch'] else 'main' + git('checkout ' + target, ignore=True, optional=True) + os.chdir(cwd) + ver = get_version(force=True) + if not same(ver): + log.debug(f'Branch synchronized: {ver["branch"]}') + else: + log.debug(f'Branch sync failed: sdnext={ver["branch"]} ui={ver["ui"]}') + except Exception as e: + log.debug(f'Branch switch: {e}') os.chdir(cwd) - ver = get_version(force=True) - if not same(ver): - log.debug(f'Branch synchronized: {ver["branch"]}') - else: - log.debug(f'Branch sync failed: sdnext={ver["branch"]} ui={ver["ui"]}') - except Exception as e: - log.debug(f'Branch switch: {e}') - os.chdir(cwd) # check version of the main repo and optionally upgrade it From 7a163a34f2842c4398893a394de0c48056d3d30f Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 28 Jun 2024 10:37:43 -0400 Subject: [PATCH 17/66] check deepcache --- modules/sd_models_compile.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/sd_models_compile.py b/modules/sd_models_compile.py index ed3109869..fd7f189f6 100644 --- a/modules/sd_models_compile.py +++ b/modules/sd_models_compile.py @@ -309,6 +309,9 @@ def check_deepcache(enable: bool): def compile_deepcache(sd_model): global deepcache_worker # pylint: disable=global-statement + if not hasattr(sd_model, 'unet'): + shared.log.warning(f'Model compile using deep-cache: {sd_model.__class__} not supported') + return sd_model try: from DeepCache import DeepCacheSDHelper except Exception as e: From 4dea04e26215af36408b10817c9f2b99de32e76c Mon Sep 17 00:00:00 2001 From: Yoink3000 Date: Sun, 30 Jun 2024 05:02:23 +0800 Subject: [PATCH 18/66] setup uv --- installer.py | 7 ++++--- launch.py | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/installer.py b/installer.py index a00a12624..0d0d74e2a 100644 --- a/installer.py +++ b/installer.py @@ -235,13 +235,14 @@ def uninstall(package, quiet = False): @lru_cache() -def pip(arg: str, ignore: bool = False, quiet: bool = False): +def pip(arg: str, ignore: bool = False, quiet: bool = False, uv=True): arg = arg.replace('>=', '==') if not quiet and '-r ' not in arg: log.info(f'Install: package="{arg.replace("install", "").replace("--upgrade", "").replace("--no-deps", "").replace("--force", "").replace(" ", " ").strip()}"') env_args = os.environ.get("PIP_EXTRA_ARGS", "") log.debug(f'Running: pip="{pip_log}{arg} {env_args}"') - result = subprocess.run(f'"{sys.executable}" -m pip {pip_log}{arg} {env_args}', shell=True, check=False, env=os.environ, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + pipCmd = "uv pip" if uv else "pip" + result = subprocess.run(f'"{sys.executable}" -m {pipCmd} {pip_log}{arg} {env_args}', shell=True, check=False, env=os.environ, stdout=subprocess.PIPE, stderr=subprocess.PIPE) txt = result.stdout.decode(encoding="utf8", errors="ignore") if len(result.stderr) > 0: txt += ('\n' if len(txt) > 0 else '') + result.stderr.decode(encoding="utf8", errors="ignore") @@ -264,7 +265,7 @@ def install(package, friendly: str = None, ignore: bool = False, reinstall: bool quick_allowed = False if args.reinstall or reinstall or not installed(package, friendly, quiet=quiet): deps = '' if not no_deps else '--no-deps ' - res = pip(f"install --upgrade {deps}{package}", ignore=ignore) + res = pip(f"install {deps}{package}", ignore=ignore) try: import imp # pylint: disable=deprecated-module imp.reload(pkg_resources) diff --git a/launch.py b/launch.py index f1d8b7ec5..5e1e8075f 100755 --- a/launch.py +++ b/launch.py @@ -183,6 +183,7 @@ def start_server(immediate=True, server=None): def main(): global args # pylint: disable=global-statement installer.ensure_base_requirements() + installer.pip("install uv", uv=False) init_args() # setup argparser and default folders installer.args = args installer.setup_logging() From 00ddc02971e062b39fca55616ad0c2da06db900a Mon Sep 17 00:00:00 2001 From: Yoink3000 Date: Sun, 30 Jun 2024 05:03:56 +0800 Subject: [PATCH 19/66] install uv before base requirements --- launch.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/launch.py b/launch.py index 5e1e8075f..ed62bc8b8 100755 --- a/launch.py +++ b/launch.py @@ -182,8 +182,8 @@ def start_server(immediate=True, server=None): def main(): global args # pylint: disable=global-statement - installer.ensure_base_requirements() installer.pip("install uv", uv=False) + installer.ensure_base_requirements() init_args() # setup argparser and default folders installer.args = args installer.setup_logging() From 4c9b2391a5c23356efdd47d92863f4142bc7b5a9 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 30 Jun 2024 11:09:55 -0400 Subject: [PATCH 20/66] fix steps progress count --- modules/processing_diffusers.py | 6 +++--- wiki | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index b4be9940b..ef1eb9d69 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -104,7 +104,7 @@ def process_diffusers(p: processing.StableDiffusionProcessing): clip_skip=p.clip_skip, desc='Base', ) - shared.state.sampling_steps = base_args.get('prior_num_inference_steps', None) or base_args.get('num_inference_steps', None) or p.steps + shared.state.sampling_steps = base_args.get('prior_num_inference_steps', None) or p.steps or base_args.get('num_inference_steps', None) if shared.opts.scheduler_eta is not None and shared.opts.scheduler_eta > 0 and shared.opts.scheduler_eta < 1: p.extra_generation_params["Sampler Eta"] = shared.opts.scheduler_eta output = None @@ -215,7 +215,7 @@ def process_diffusers(p: processing.StableDiffusionProcessing): desc='Hires', ) shared.state.job = 'HiRes' - shared.state.sampling_steps = hires_args.get('prior_num_inference_steps', None) or hires_args.get('num_inference_steps', None) or p.steps + shared.state.sampling_steps = hires_args.get('prior_num_inference_steps', None) or p.steps or hires_args.get('num_inference_steps', None) try: sd_models_compile.check_deepcache(enable=True) output = shared.sd_model(**hires_args) # pylint: disable=not-callable @@ -280,7 +280,7 @@ def process_diffusers(p: processing.StableDiffusionProcessing): clip_skip=p.clip_skip, desc='Refiner', ) - shared.state.sampling_steps = refiner_args.get('prior_num_inference_steps', None) or refiner_args.get('num_inference_steps', None) or p.steps + shared.state.sampling_steps = refiner_args.get('prior_num_inference_steps', None) or p.steps or refiner_args.get('num_inference_steps', None) try: if 'requires_aesthetics_score' in shared.sd_refiner.config: # sdxl-model needs false and sdxl-refiner needs true shared.sd_refiner.register_to_config(requires_aesthetics_score = getattr(shared.sd_refiner, 'tokenizer', None) is None) diff --git a/wiki b/wiki index 8c44b3055..dc683a6e3 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 8c44b305543f8b612b3b0fbc935ac40997360588 +Subproject commit dc683a6e3fd64160489e2d3eb856b6f5fd92a5c1 From 4bcf5e346b479254aae8c66fea69d6c8f04ef16a Mon Sep 17 00:00:00 2001 From: Yoink3000 Date: Mon, 1 Jul 2024 00:20:16 +0800 Subject: [PATCH 21/66] makes uv an apt-in features, add uv testing to GH actions --- .github/workflows/on_pull_request.yaml | 4 ++++ installer.py | 18 +++++++++++------- launch.py | 4 +++- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/on_pull_request.yaml b/.github/workflows/on_pull_request.yaml index 7abade093..de0486b54 100644 --- a/.github/workflows/on_pull_request.yaml +++ b/.github/workflows/on_pull_request.yaml @@ -29,3 +29,7 @@ jobs: run: | export COMMANDLINE_ARGS="--debug --test" python launch.py + - name: test-startup-with-uv + run: | + export COMMANDLINE_ARGS="--debug --test --uv" + python launch.py diff --git a/installer.py b/installer.py index 0d0d74e2a..a209643ae 100644 --- a/installer.py +++ b/installer.py @@ -52,6 +52,7 @@ args = Dot({ 'reinstall': False, 'version': False, 'ignore': False, + 'uv': False, }) git_commit = "unknown" submodules_commit = { @@ -235,23 +236,25 @@ def uninstall(package, quiet = False): @lru_cache() -def pip(arg: str, ignore: bool = False, quiet: bool = False, uv=True): +def pip(arg: str, ignore: bool = False, quiet: bool = False, forcePip = False): + uv = args.uv and not forcePip + pipCmd = "uv pip" if uv else "pip" + uvMode = "[uv] " if uv else "" arg = arg.replace('>=', '==') if not quiet and '-r ' not in arg: - log.info(f'Install: package="{arg.replace("install", "").replace("--upgrade", "").replace("--no-deps", "").replace("--force", "").replace(" ", " ").strip()}"') + log.info(f'{uvMode}Install: package="{arg.replace("install", "").replace("--upgrade", "").replace("--no-deps", "").replace("--force", "").replace(" ", " ").strip()}"') env_args = os.environ.get("PIP_EXTRA_ARGS", "") - log.debug(f'Running: pip="{pip_log}{arg} {env_args}"') - pipCmd = "uv pip" if uv else "pip" + log.debug(f'Running: {pipCmd}="{pip_log}{arg} {env_args}"') result = subprocess.run(f'"{sys.executable}" -m {pipCmd} {pip_log}{arg} {env_args}', shell=True, check=False, env=os.environ, stdout=subprocess.PIPE, stderr=subprocess.PIPE) txt = result.stdout.decode(encoding="utf8", errors="ignore") if len(result.stderr) > 0: txt += ('\n' if len(txt) > 0 else '') + result.stderr.decode(encoding="utf8", errors="ignore") txt = txt.strip() - debug(f'Install pip: {txt}') + debug(f'Install {pipCmd}: {txt}') if result.returncode != 0 and not ignore: global errors # pylint: disable=global-statement errors += 1 - log.error(f'Error running pip: {arg}') + log.error(f'Error running {pipCmd}: {arg}') log.debug(f'Pip output: {txt}') return txt @@ -265,7 +268,7 @@ def install(package, friendly: str = None, ignore: bool = False, reinstall: bool quick_allowed = False if args.reinstall or reinstall or not installed(package, friendly, quiet=quiet): deps = '' if not no_deps else '--no-deps ' - res = pip(f"install {deps}{package}", ignore=ignore) + res = pip(f"install{' --upgrade' if not args.uv else ''} {deps}{package}", ignore=ignore, forcePip=(package == "uv")) try: import imp # pylint: disable=deprecated-module imp.reload(pkg_resources) @@ -1224,6 +1227,7 @@ def add_args(parser): group.add_argument('--version', default = False, action='store_true', help = "Print version information") group.add_argument('--ignore', default = os.environ.get("SD_IGNORE",False), action='store_true', help = "Ignore any errors and attempt to continue") group.add_argument('--safe', default = os.environ.get("SD_SAFE",False), action='store_true', help = "Run in safe mode with no user extensions") + group.add_argument('--uv', default = os.environ.get("SD_UV",False), action='store_true', help = "Use uv instead of pip to install the packages") group = parser.add_argument_group('Logging options') group.add_argument("--log", type=str, default=os.environ.get("SD_LOG", None), help="Set log file, default: %(default)s") diff --git a/launch.py b/launch.py index ed62bc8b8..c7cc71d09 100755 --- a/launch.py +++ b/launch.py @@ -182,7 +182,6 @@ def start_server(immediate=True, server=None): def main(): global args # pylint: disable=global-statement - installer.pip("install uv", uv=False) installer.ensure_base_requirements() init_args() # setup argparser and default folders installer.args = args @@ -205,6 +204,9 @@ def main(): installer.log.info(f'Platform: {installer.print_dict(installer.get_platform())}') if not args.skip_env: installer.set_environment() + if args.uv: + installer.install("uv", "uv") + installer.log.info('Using "uv pip" instead of "pip" for packages installation') installer.check_torch() installer.check_onnx() installer.check_diffusers() From 7562bde0fdb16c88593d3adda1fda19cfaae7ab4 Mon Sep 17 00:00:00 2001 From: Yoink3000 Date: Mon, 1 Jul 2024 00:25:56 +0800 Subject: [PATCH 22/66] delete venv before testing uv --- .github/workflows/on_pull_request.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/on_pull_request.yaml b/.github/workflows/on_pull_request.yaml index de0486b54..938713ac7 100644 --- a/.github/workflows/on_pull_request.yaml +++ b/.github/workflows/on_pull_request.yaml @@ -31,5 +31,6 @@ jobs: python launch.py - name: test-startup-with-uv run: | + rm -rf venv export COMMANDLINE_ARGS="--debug --test --uv" python launch.py From 07381bd3d3b63dfd74cc7f1903d3848f591bc748 Mon Sep 17 00:00:00 2001 From: Yoink3000 Date: Mon, 1 Jul 2024 00:36:57 +0800 Subject: [PATCH 23/66] use matrix to test installation w/wo uv --- .github/workflows/on_pull_request.yaml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/on_pull_request.yaml b/.github/workflows/on_pull_request.yaml index 938713ac7..5b00eec65 100644 --- a/.github/workflows/on_pull_request.yaml +++ b/.github/workflows/on_pull_request.yaml @@ -7,6 +7,12 @@ on: jobs: lint: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + flags: + - --debug --test --uv + - --debug --test steps: - name: checkout-code uses: actions/checkout@main @@ -27,10 +33,5 @@ jobs: msg: apply code formatting and linting auto-fixes - name: test-startup run: | - export COMMANDLINE_ARGS="--debug --test" - python launch.py - - name: test-startup-with-uv - run: | - rm -rf venv - export COMMANDLINE_ARGS="--debug --test --uv" + export COMMANDLINE_ARGS="${{ matrix.flags }}" python launch.py From f03a0b2a486539bb4a3c2422e6983e336d595f77 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 30 Jun 2024 13:17:24 -0400 Subject: [PATCH 24/66] fix control input type video --- modules/control/run.py | 129 ++++++++++++++++++++++------------------- wiki | 2 +- 2 files changed, 70 insertions(+), 61 deletions(-) diff --git a/modules/control/run.py b/modules/control/run.py index cb4c121ca..0f5647b73 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -282,67 +282,72 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini else: pass - debug(f'Control: run type={unit_type} models={has_models}') - if has_models: - p.ops.append('control') - p.extra_generation_params["Control mode"] = unit_type # overriden later with pretty-print - p.extra_generation_params["Control conditioning"] = control_conditioning if isinstance(control_conditioning, list) else [control_conditioning] - p.extra_generation_params['Control start'] = control_guidance_start if isinstance(control_guidance_start, list) else [control_guidance_start] - p.extra_generation_params['Control end'] = control_guidance_end if isinstance(control_guidance_end, list) else [control_guidance_end] - p.extra_generation_params["Control model"] = ';'.join([(m.model_id or '') for m in active_model if m.model is not None]) - p.extra_generation_params["Control conditioning"] = ';'.join([str(c) for c in p.extra_generation_params["Control conditioning"]]) - p.extra_generation_params['Control start'] = ';'.join([str(c) for c in p.extra_generation_params['Control start']]) - p.extra_generation_params['Control end'] = ';'.join([str(c) for c in p.extra_generation_params['Control end']]) - if unit_type == 't2i adapter' and has_models: - p.extra_generation_params["Control mode"] = 'T2I-Adapter' - p.task_args['adapter_conditioning_scale'] = control_conditioning - instance = t2iadapter.AdapterPipeline(selected_models, shared.sd_model) - pipe = instance.pipeline - if inits is not None: - shared.log.warning('Control: T2I-Adapter does not support separate init image') - elif unit_type == 'controlnet' and has_models: - p.extra_generation_params["Control mode"] = 'ControlNet' - p.task_args['controlnet_conditioning_scale'] = control_conditioning - p.task_args['control_guidance_start'] = control_guidance_start - p.task_args['control_guidance_end'] = control_guidance_end - p.task_args['guess_mode'] = p.guess_mode - instance = controlnet.ControlNetPipeline(selected_models, shared.sd_model) - pipe = instance.pipeline - elif unit_type == 'xs' and has_models: - p.extra_generation_params["Control mode"] = 'ControlNet-XS' - p.controlnet_conditioning_scale = control_conditioning - p.control_guidance_start = control_guidance_start - p.control_guidance_end = control_guidance_end - instance = xs.ControlNetXSPipeline(selected_models, shared.sd_model) - pipe = instance.pipeline - if inits is not None: - shared.log.warning('Control: ControlNet-XS does not support separate init image') - elif unit_type == 'lite' and has_models: - p.extra_generation_params["Control mode"] = 'ControlLLLite' - p.controlnet_conditioning_scale = control_conditioning - instance = lite.ControlLLitePipeline(shared.sd_model) - pipe = instance.pipeline - if inits is not None: - shared.log.warning('Control: ControlLLLite does not support separate init image') - elif unit_type == 'reference' and has_models: - p.extra_generation_params["Control mode"] = 'Reference' - p.extra_generation_params["Control attention"] = p.attention - p.task_args['reference_attn'] = 'Attention' in p.attention - p.task_args['reference_adain'] = 'Adain' in p.attention - p.task_args['attention_auto_machine_weight'] = p.query_weight - p.task_args['gn_auto_machine_weight'] = p.adain_weight - p.task_args['style_fidelity'] = p.fidelity - instance = reference.ReferencePipeline(shared.sd_model) - pipe = instance.pipeline - if inits is not None: - shared.log.warning('Control: ControlNet-XS does not support separate init image') - else: # run in txt2img/img2img mode - if len(active_strength) > 0: - p.strength = active_strength[0] - pipe = shared.sd_model - instance = None + def set_pipe(): + global pipe, instance # pylint: disable=global-statement + pipe = None + if has_models: + p.ops.append('control') + p.extra_generation_params["Control mode"] = unit_type # overriden later with pretty-print + p.extra_generation_params["Control conditioning"] = control_conditioning if isinstance(control_conditioning, list) else [control_conditioning] + p.extra_generation_params['Control start'] = control_guidance_start if isinstance(control_guidance_start, list) else [control_guidance_start] + p.extra_generation_params['Control end'] = control_guidance_end if isinstance(control_guidance_end, list) else [control_guidance_end] + p.extra_generation_params["Control model"] = ';'.join([(m.model_id or '') for m in active_model if m.model is not None]) + p.extra_generation_params["Control conditioning"] = ';'.join([str(c) for c in p.extra_generation_params["Control conditioning"]]) + p.extra_generation_params['Control start'] = ';'.join([str(c) for c in p.extra_generation_params['Control start']]) + p.extra_generation_params['Control end'] = ';'.join([str(c) for c in p.extra_generation_params['Control end']]) + if unit_type == 't2i adapter' and has_models: + p.extra_generation_params["Control mode"] = 'T2I-Adapter' + p.task_args['adapter_conditioning_scale'] = control_conditioning + instance = t2iadapter.AdapterPipeline(selected_models, shared.sd_model) + pipe = instance.pipeline + if inits is not None: + shared.log.warning('Control: T2I-Adapter does not support separate init image') + elif unit_type == 'controlnet' and has_models: + p.extra_generation_params["Control mode"] = 'ControlNet' + p.task_args['controlnet_conditioning_scale'] = control_conditioning + p.task_args['control_guidance_start'] = control_guidance_start + p.task_args['control_guidance_end'] = control_guidance_end + p.task_args['guess_mode'] = p.guess_mode + instance = controlnet.ControlNetPipeline(selected_models, shared.sd_model) + pipe = instance.pipeline + elif unit_type == 'xs' and has_models: + p.extra_generation_params["Control mode"] = 'ControlNet-XS' + p.controlnet_conditioning_scale = control_conditioning + p.control_guidance_start = control_guidance_start + p.control_guidance_end = control_guidance_end + instance = xs.ControlNetXSPipeline(selected_models, shared.sd_model) + pipe = instance.pipeline + if inits is not None: + shared.log.warning('Control: ControlNet-XS does not support separate init image') + elif unit_type == 'lite' and has_models: + p.extra_generation_params["Control mode"] = 'ControlLLLite' + p.controlnet_conditioning_scale = control_conditioning + instance = lite.ControlLLitePipeline(shared.sd_model) + pipe = instance.pipeline + if inits is not None: + shared.log.warning('Control: ControlLLLite does not support separate init image') + elif unit_type == 'reference' and has_models: + p.extra_generation_params["Control mode"] = 'Reference' + p.extra_generation_params["Control attention"] = p.attention + p.task_args['reference_attn'] = 'Attention' in p.attention + p.task_args['reference_adain'] = 'Adain' in p.attention + p.task_args['attention_auto_machine_weight'] = p.query_weight + p.task_args['gn_auto_machine_weight'] = p.adain_weight + p.task_args['style_fidelity'] = p.fidelity + instance = reference.ReferencePipeline(shared.sd_model) + pipe = instance.pipeline + if inits is not None: + shared.log.warning('Control: ControlNet-XS does not support separate init image') + else: # run in txt2img/img2img mode + if len(active_strength) > 0: + p.strength = active_strength[0] + pipe = shared.sd_model + instance = None + debug(f'Control: run type={unit_type} models={has_models} pipe={pipe.__class__.__name__ if pipe is not None else None}') + return pipe + pipe = set_pipe() debug(f'Control pipeline: class={pipe.__class__.__name__} args={vars(p)}') t1, t2, t3 = time.time(), 0, 0 status = True @@ -390,6 +395,9 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini return [], '', '', 'Error: video open failed' while status: + if pipe is None: # pipe may have been reset externally + pipe = set_pipe() + debug(f'Control pipeline reinit: class={pipe.__class__.__name__} args={vars(p)}') processed_image = None if frame is not None: inputs = [Image.fromarray(frame)] # cv2 to pil @@ -426,9 +434,10 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini else: debug(f'Control Init image: {i % len(inits) + 1} of {len(inits)}') init_image = inits[i % len(inits)] - index += 1 if video is not None and index % (video_skip_frames + 1) != 0: + index += 1 continue + index += 1 # resize before if resize_mode_before != 0 and resize_name_before != 'None': diff --git a/wiki b/wiki index dc683a6e3..04ecf1fe4 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit dc683a6e3fd64160489e2d3eb856b6f5fd92a5c1 +Subproject commit 04ecf1fe4b254616ecafac2b716f58a2add7d21a From d38900956502a1fc19583c0092431bec337ce05e Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 30 Jun 2024 13:17:54 -0400 Subject: [PATCH 25/66] update changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bffa9703..1a273c788 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,13 @@ # Change Log for SD.Next -## Update for 2024-06-28 +## Update for 2024-06-30 - enable `florence` VLM for all platforms, thanks @lshqqytiger! - fix executing extensions with zero params - fix nncf for lora, thanks @Disty0! - fix diffusers version detection for SD3 - fix current step for higher order samplers +- fix control input type video - add SD3 with FP16 T5 to list of detected models - multiple ModernUI fixes From fee84fe6b51df2744685afda3342ad785313cca5 Mon Sep 17 00:00:00 2001 From: Yoink3000 Date: Mon, 1 Jul 2024 01:58:24 +0800 Subject: [PATCH 26/66] add --uv to CLI Arguments page --- wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wiki b/wiki index 8c44b3055..349c11b66 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 8c44b305543f8b612b3b0fbc935ac40997360588 +Subproject commit 349c11b669053b0e50d5e8b88806f9a12cc3be0c From f1a872cb85866fb33b0b1fc12d5d9ddd72cfc2f4 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 30 Jun 2024 14:02:55 -0400 Subject: [PATCH 27/66] fix control video input --- modules/control/run.py | 9 +++++---- modules/processing.py | 1 + 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/control/run.py b/modules/control/run.py index 0f5647b73..1c043725c 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -397,7 +397,7 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini while status: if pipe is None: # pipe may have been reset externally pipe = set_pipe() - debug(f'Control pipeline reinit: class={pipe.__class__.__name__} args={vars(p)}') + debug(f'Control pipeline reinit: class={pipe.__class__.__name__}') processed_image = None if frame is not None: inputs = [Image.fromarray(frame)] # cv2 to pil @@ -602,10 +602,11 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini output = None script_run = False if pipe is not None: # run new pipeline - pipe.restore_pipeline = restore_pipeline + if not hasattr(pipe, 'restore_pipeline') and video is None: + pipe.restore_pipeline = restore_pipeline debug(f'Control exec pipeline: task={sd_models.get_diffusers_task(pipe)} class={pipe.__class__}') - debug(f'Control exec pipeline: p={vars(p)}') - debug(f'Control exec pipeline: args={p.task_args} image={p.task_args.get("image", None)} control={p.task_args.get("control_image", None)} mask={p.task_args.get("mask_image", None) or p.image_mask} ref={p.task_args.get("ref_image", None)}') + # debug(f'Control exec pipeline: p={vars(p)}') + # debug(f'Control exec pipeline: args={p.task_args} image={p.task_args.get("image", None)} control={p.task_args.get("control_image", None)} mask={p.task_args.get("mask_image", None) or p.image_mask} ref={p.task_args.get("ref_image", None)}') if sd_models.get_diffusers_task(pipe) != sd_models.DiffusersTaskType.TEXT_2_IMAGE: # force vae back to gpu if not in txt2img mode sd_models.move_model(pipe.vae, devices.device) diff --git a/modules/processing.py b/modules/processing.py index d453e0b15..34a34a0e3 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -388,6 +388,7 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed: devices.torch_gc() if hasattr(shared.sd_model, 'restore_pipeline') and shared.sd_model.restore_pipeline is not None: + print('HERE RESTORE') shared.sd_model.restore_pipeline() t1 = time.time() From 3fa0c6bce56c6400483af5064a8ce95b17d8604d Mon Sep 17 00:00:00 2001 From: Yoink3000 Date: Mon, 1 Jul 2024 02:06:20 +0800 Subject: [PATCH 28/66] Revert "add --uv to CLI Arguments page" This reverts commit fee84fe6b51df2744685afda3342ad785313cca5. --- wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wiki b/wiki index 349c11b66..8c44b3055 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 349c11b669053b0e50d5e8b88806f9a12cc3be0c +Subproject commit 8c44b305543f8b612b3b0fbc935ac40997360588 From 5af36d21823add99985a695348f04b1d9f5dd4ce Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 30 Jun 2024 14:09:48 -0400 Subject: [PATCH 29/66] track video processing total job count --- modules/control/run.py | 1 + modules/progress.py | 2 +- modules/shared_state.py | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/control/run.py b/modules/control/run.py index 1c043725c..ba736a4a8 100644 --- a/modules/control/run.py +++ b/modules/control/run.py @@ -388,6 +388,7 @@ def control_run(units: List[unit.Unit] = [], inputs: List[Image.Image] = [], ini codec = util.decode_fourcc(video.get(cv2.CAP_PROP_FOURCC)) status, frame = video.read() if status: + shared.state.frame_count = 1 + frames // (video_skip_frames + 1) frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) shared.log.debug(f'Control: input video: path={inputs} frames={frames} fps={fps} size={w}x{h} codec={codec}') except Exception as e: diff --git a/modules/progress.py b/modules/progress.py index f5573374b..aeef195b4 100644 --- a/modules/progress.py +++ b/modules/progress.py @@ -62,7 +62,7 @@ def progressapi(req: ProgressRequest): paused = shared.state.paused if not active: return InternalProgressResponse(job=shared.state.job, active=active, queued=queued, paused=paused, completed=completed, id_live_preview=-1, textinfo="Queued..." if queued else "Waiting...") - shared.state.job_count = max(shared.state.job_count, shared.state.job_no) + shared.state.job_count = max(shared.state.frame_count, shared.state.job_count, shared.state.job_no) batch_x = max(shared.state.job_no, 0) batch_y = max(shared.state.job_count, 1) step_x = max(shared.state.sampling_step, 0) diff --git a/modules/shared_state.py b/modules/shared_state.py index 79ee20f19..82f8d21dc 100644 --- a/modules/shared_state.py +++ b/modules/shared_state.py @@ -12,6 +12,7 @@ class State: job = "" job_no = 0 job_count = 0 + frame_count = 0 total_jobs = 0 job_timestamp = '0' sampling_step = 0 @@ -71,6 +72,7 @@ class State: self.interrupted = False self.job = title self.job_count = -1 + self.frame_count = -1 self.job_no = 0 self.job_timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S") self.paused = False @@ -93,6 +95,7 @@ class State: self.job = "" self.job_count = 0 self.job_no = 0 + self.frame_count = 0 self.paused = False self.interrupted = False self.skipped = False From 47d865acc1794033579dca8fd9ef776b018bb91b Mon Sep 17 00:00:00 2001 From: Yoink3000 Date: Mon, 1 Jul 2024 02:13:59 +0800 Subject: [PATCH 30/66] inline with SD Next logging style --- installer.py | 2 +- launch.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/installer.py b/installer.py index a209643ae..913da981e 100644 --- a/installer.py +++ b/installer.py @@ -242,7 +242,7 @@ def pip(arg: str, ignore: bool = False, quiet: bool = False, forcePip = False): uvMode = "[uv] " if uv else "" arg = arg.replace('>=', '==') if not quiet and '-r ' not in arg: - log.info(f'{uvMode}Install: package="{arg.replace("install", "").replace("--upgrade", "").replace("--no-deps", "").replace("--force", "").replace(" ", " ").strip()}"') + log.info(f'Install: package="{arg.replace("install", "").replace("--upgrade", "").replace("--no-deps", "").replace("--force", "").replace(" ", " ").strip()}" mode={"uv" if uv else "pip"}') env_args = os.environ.get("PIP_EXTRA_ARGS", "") log.debug(f'Running: {pipCmd}="{pip_log}{arg} {env_args}"') result = subprocess.run(f'"{sys.executable}" -m {pipCmd} {pip_log}{arg} {env_args}', shell=True, check=False, env=os.environ, stdout=subprocess.PIPE, stderr=subprocess.PIPE) diff --git a/launch.py b/launch.py index c7cc71d09..1db8a81f6 100755 --- a/launch.py +++ b/launch.py @@ -206,7 +206,6 @@ def main(): installer.set_environment() if args.uv: installer.install("uv", "uv") - installer.log.info('Using "uv pip" instead of "pip" for packages installation') installer.check_torch() installer.check_onnx() installer.check_diffusers() From 45b0781281e56ee74642eafd05a7321b1e32e84b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 30 Jun 2024 14:27:01 -0400 Subject: [PATCH 31/66] add uv to changelog and readme --- CHANGELOG.md | 2 ++ README.md | 1 + installer.py | 12 ++++++------ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a273c788..2335d6313 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Update for 2024-06-30 +- add support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! + to use, simply add `--uv` to your command line params - enable `florence` VLM for all platforms, thanks @lshqqytiger! - fix executing extensions with zero params - fix nncf for lora, thanks @Disty0! diff --git a/README.md b/README.md index 6b7733b98..6ad95b6af 100644 --- a/README.md +++ b/README.md @@ -226,6 +226,7 @@ List of available parameters, run `webui --help` for the full & up-to-date list: --version Print version information --ignore Ignore any errors and attempt to continue --safe Run in safe mode with no user extensions + --uv Use uv as installer, default: False Logging options: --log LOG Set log file, default: None diff --git a/installer.py b/installer.py index 913da981e..707af8a7a 100644 --- a/installer.py +++ b/installer.py @@ -236,16 +236,16 @@ def uninstall(package, quiet = False): @lru_cache() -def pip(arg: str, ignore: bool = False, quiet: bool = False, forcePip = False): - uv = args.uv and not forcePip +def pip(arg: str, ignore: bool = False, quiet: bool = False, uv = True): + uv = uv and args.uv pipCmd = "uv pip" if uv else "pip" - uvMode = "[uv] " if uv else "" arg = arg.replace('>=', '==') if not quiet and '-r ' not in arg: log.info(f'Install: package="{arg.replace("install", "").replace("--upgrade", "").replace("--no-deps", "").replace("--force", "").replace(" ", " ").strip()}" mode={"uv" if uv else "pip"}') env_args = os.environ.get("PIP_EXTRA_ARGS", "") - log.debug(f'Running: {pipCmd}="{pip_log}{arg} {env_args}"') - result = subprocess.run(f'"{sys.executable}" -m {pipCmd} {pip_log}{arg} {env_args}', shell=True, check=False, env=os.environ, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + all_args = f'{pip_log}{arg} {env_args}'.strip() + log.debug(f'Running: {pipCmd}="{all_args}"') + result = subprocess.run(f'"{sys.executable}" -m {pipCmd} {all_args}', shell=True, check=False, env=os.environ, stdout=subprocess.PIPE, stderr=subprocess.PIPE) txt = result.stdout.decode(encoding="utf8", errors="ignore") if len(result.stderr) > 0: txt += ('\n' if len(txt) > 0 else '') + result.stderr.decode(encoding="utf8", errors="ignore") @@ -268,7 +268,7 @@ def install(package, friendly: str = None, ignore: bool = False, reinstall: bool quick_allowed = False if args.reinstall or reinstall or not installed(package, friendly, quiet=quiet): deps = '' if not no_deps else '--no-deps ' - res = pip(f"install{' --upgrade' if not args.uv else ''} {deps}{package}", ignore=ignore, forcePip=(package == "uv")) + res = pip(f"install{' --upgrade' if not args.uv else ''} {deps}{package}", ignore=ignore, uv=package != "uv") try: import imp # pylint: disable=deprecated-module imp.reload(pkg_resources) From cdc2e66cff92585e937d298c7a4cbdc116edb9a7 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 30 Jun 2024 14:36:15 -0400 Subject: [PATCH 32/66] update readme --- README.md | 30 +++++++++++++++--------------- wiki | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 6ad95b6af..cdbd0fa7e 100644 --- a/README.md +++ b/README.md @@ -64,31 +64,31 @@ For screenshots and informations on other available themes, see [Themes Wiki](ht Additional models will be added as they become available and there is public interest in them -- [RunwayML Stable Diffusion](https://github.com/Stability-AI/stablediffusion/) 1.x and 2.x *(all variants)* -- [StabilityAI Stable Diffusion XL](https://github.com/Stability-AI/generative-models) -- [StabilityAI Stable Diffusion 3 Medium](https://stability.ai/news/stable-diffusion-3-medium) +- [RunwayML Stable Diffusion](https://github.com/Stability-AI/stablediffusion/) 1.x and 2.x *(all variants)* +- [StabilityAI Stable Diffusion XL](https://github.com/Stability-AI/generative-models) +- [StabilityAI Stable Diffusion 3 Medium](https://stability.ai/news/stable-diffusion-3-medium) - [StabilityAI Stable Video Diffusion](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid) Base, XT 1.0, XT 1.1 -- [LCM: Latent Consistency Models](https://github.com/openai/consistency_models) -- [Playground](https://huggingface.co/playgroundai/playground-v2-256px-base) *v1, v2 256, v2 512, v2 1024 and latest v2.5* +- [LCM: Latent Consistency Models](https://github.com/openai/consistency_models) +- [Playground](https://huggingface.co/playgroundai/playground-v2-256px-base) *v1, v2 256, v2 512, v2 1024 and latest v2.5* - [Stable Cascade](https://github.com/Stability-AI/StableCascade) *Full* and *Lite* - [aMUSEd 256](https://huggingface.co/amused/amused-256) 256 and 512 -- [Segmind Vega](https://huggingface.co/segmind/Segmind-Vega) -- [Segmind SSD-1B](https://huggingface.co/segmind/SSD-1B) -- [Segmind SegMoE](https://github.com/segmind/segmoe) *SD and SD-XL* -- [Kandinsky](https://github.com/ai-forever/Kandinsky-2) *2.1 and 2.2 and latest 3.0* -- [PixArt-α XL 2](https://github.com/PixArt-alpha/PixArt-alpha) *Medium and Large* -- [PixArt-Σ](https://github.com/PixArt-alpha/PixArt-sigma) -- [Warp Wuerstchen](https://huggingface.co/blog/wuertschen) +- [Segmind Vega](https://huggingface.co/segmind/Segmind-Vega) +- [Segmind SSD-1B](https://huggingface.co/segmind/SSD-1B) +- [Segmind SegMoE](https://github.com/segmind/segmoe) *SD and SD-XL* +- [Kandinsky](https://github.com/ai-forever/Kandinsky-2) *2.1 and 2.2 and latest 3.0* +- [PixArt-α XL 2](https://github.com/PixArt-alpha/PixArt-alpha) *Medium and Large* +- [PixArt-Σ](https://github.com/PixArt-alpha/PixArt-sigma) +- [Warp Wuerstchen](https://huggingface.co/blog/wuertschen) - [Tenecent HunyuanDiT](https://github.com/Tencent/HunyuanDiT) - [Tsinghua UniDiffusion](https://github.com/thu-ml/unidiffuser) - [DeepFloyd IF](https://github.com/deep-floyd/IF) *Medium and Large* - [ModelScope T2V](https://huggingface.co/damo-vilab/text-to-video-ms-1.7b) - [Segmind SD Distilled](https://huggingface.co/blog/sd_distillation) *(all variants)* -- [BLIP-Diffusion](https://dxli94.github.io/BLIP-Diffusion-website/) +- [BLIP-Diffusion](https://dxli94.github.io/BLIP-Diffusion-website/) - [KOALA 700M](https://github.com/youngwanLEE/sdxl-koala) -- [VGen](https://huggingface.co/ali-vilab/i2vgen-xl) +- [VGen](https://huggingface.co/ali-vilab/i2vgen-xl) - [SDXS](https://github.com/IDKiro/sdxs) -- [Hyper-SD](https://huggingface.co/ByteDance/Hyper-SD) +- [Hyper-SD](https://huggingface.co/ByteDance/Hyper-SD) Also supported are modifiers such as: diff --git a/wiki b/wiki index 04ecf1fe4..597b7ac10 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 04ecf1fe4b254616ecafac2b716f58a2add7d21a +Subproject commit 597b7ac107384d6fb0f9352cb079910719a77551 From c376566fb68033e2db0743b375d35f68b9f00e17 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 1 Jul 2024 11:51:46 -0400 Subject: [PATCH 33/66] fix compatibility with latest diffusers --- CHANGELOG.md | 7 ++++++- html/reference.json | 13 ++++++++++--- .../Alpha-VLLM-Lumina-Next-SFT-diffusers.jpg | Bin 0 -> 126764 bytes modules/control/units/xs_pipe.py | 6 ++---- modules/pag/pipe_sdxl.py | 5 ----- modules/xadapter/pipeline_sd_xl_adapter.py | 6 ++---- .../pipeline_sd_xl_adapter_controlnet.py | 6 ++---- ...ipeline_sd_xl_adapter_controlnet_img2img.py | 6 ++---- scripts/demofusion.py | 5 ++--- scripts/differential_diffusion.py | 6 ++---- wiki | 2 +- 11 files changed, 29 insertions(+), 33 deletions(-) create mode 100644 models/Reference/Alpha-VLLM-Lumina-Next-SFT-diffusers.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index 2335d6313..32dd6b5d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,12 @@ # Change Log for SD.Next -## Update for 2024-06-30 +TODO: +- Requires `diffusers==0.30.0` +- Alpha Lumina +## Update for 2024-07-01 + +- support for **HunyuanDiT 1.2** - add support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! to use, simply add `--uv` to your command line params - enable `florence` VLM for all platforms, thanks @lshqqytiger! diff --git a/html/reference.json b/html/reference.json index a3f62e7e1..c8eaee3f0 100644 --- a/html/reference.json +++ b/html/reference.json @@ -182,13 +182,20 @@ "extras": "width: 1024, height: 1024, sampler: Default, cfg_scale: 2.0" }, - "Tencent HunyuanDiT 1.1": { - "path": "Tencent-Hunyuan/HunyuanDiT-v1.1-Diffusers", + "Tencent HunyuanDiT 1.2": { + "path": "Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers", "desc": "Hunyuan-DiT : A Powerful Multi-Resolution Diffusion Transformer with Fine-Grained Chinese Understanding.", "preview": "Tencent-Hunyuan-HunyuanDiT.jpg", "extras": "width: 1024, height: 1024, sampler: Default, cfg_scale: 2.0" }, - + + "AlphaVLLM Lumina Next SFT": { + "path": "Alpha-VLLM/Lumina-Next-SFT-diffusers", + "desc": "The Lumina-Next-SFT is a Next-DiT model containing 2B parameters and utilizes Gemma-2B as the text encoder, enhanced through high-quality supervised fine-tuning (SFT).", + "preview": "Alpha-VLLM-Lumina-Next-SFT-diffusers.jpg", + "extras": "width: 1024, height: 1024, sampler: Default, cfg_scale: 2.0" + }, + "Kandinsky 2.1": { "path": "kandinsky-community/kandinsky-2-1", "desc": "Kandinsky 2.1 is a text-conditional diffusion model based on unCLIP and latent diffusion, composed of a transformer-based image prior model, a unet diffusion model, and a decoder. Kandinsky 2.1 inherits best practices from Dall-E 2 and Latent diffusion while introducing some new ideas. It uses the CLIP model as a text and image encoder, and diffusion image prior (mapping) between latent spaces of CLIP modalities. This approach increases the visual performance of the model and unveils new horizons in blending images and text-guided image manipulation.", diff --git a/models/Reference/Alpha-VLLM-Lumina-Next-SFT-diffusers.jpg b/models/Reference/Alpha-VLLM-Lumina-Next-SFT-diffusers.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e252bff5b62993b1d6ddc759f1f4a6df47d2cfee GIT binary patch literal 126764 zcmbTdbyOTp^fov^fCLBxf@>0-L4rFZ5Zr?63<)m5-9xb80Wvs4a2*ITxC9+s2X}XO z8$RCO?tXjD{QgJk9~60T}4$|Lsrm>}kh*j*0o~872-kHr8`I96UT+99-O& z_(ZQ>;uGTI;=Uq%MfjSSgoFf-fQ+1!n4E~1g!sQm&@i6DJi~l}iTQ%~CGJb&|IhOH z4?y@F{VDAjXhZ;XLNp9Qw8u^W-BZdjpYr6tZ23P04gD#NSlG{B;NU(z0DlEQN5jBC ze}?g2s-K?rd$I$b5n>X(<^G8ETKy~bJ11hEz__gE^imaVBpRc~47?`JKVIOFl95wT zGBPoPGbR_Kl4rCnl$+XJ%Jc*VZ>S zx3+h7PfpLyFD|dHZ*Kp?h4zH=|C0X$*#83;;S(#+p1|kCQgK-oZ7=9~HI7M4oJVm;8TeKhPyU1UKgj;y0sHa)3)%k$_J8A= z1>j+zJ$*b3LVzUTe$vpw0>CAy*i_jQgf5G*XROfY)j+}kkCUa!>@JmGv|L=jy(&@n zQ*htbxD(!sVLOU1?eE6o?lNY)jh~V0KZmLP&9mKSkQ3oeV#B8PUM+{k-NwSyDwDpR zac+3d5PX(vwo=T>(K2-X&@8{6SyZ$hzd+(P3R$j=SsPg5=_C>`pU*w|Ix36(>=w#4 zD;00XPNnw0y<+w>^`&R)XH^?hH7#a6XHa0XB1su ziN?36?VNbh_A^ ze+9}UduD7uBS=_<4HexwhXt+f6$IJJ*bg^K*nScu+}Y92CLHEWKJ|?i`{S;W8!?s! zYKdEDnRpi}JPZ4G>#Z@uK9E1U9wuRxLgH@

N^w6D~2ffy^hmTiE0B5~+x0=>=NI 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

NjGMDcjxw32YM#&*2ON>c4 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%0DyC7!yurmUr_@ zAy}~v;fw-vi)<`S7_@KT5_0t&Fc5};C7ti_@XLLMbpDI_wxktRS)BzAd&BIk`!j$6 z>t#Tn6rnpfuNQru*o6FeC9iZ_3R=rC1@>74;;BIQ56IVYfyE{amtr<1Y0wsn z1H@>K@%{o9si(p<319BZy=E@`B^jZ3bn}=`K0_7nutAfHHU5a_2_3e&d;Y>+FANKe z*lCcH{+gU4pK<}}uKY`K>4Hf|vt6m8c4D5P!lNwa3sJ{0#fxf>ZyFYjhMw)K6$1hu zoW$~QTOI}PP~{n38p1qI2}tPPAM+4Ay@_e1)hg!agSko5O5Bt1b*)d%W+v#g9t$na z3AXnfjZHMEI%g9>eZ+TQ(la(T%Sne|{(k_4t&?y<|47ycoz$bc-VqKYs|!4GNhnw_ zRZn07&ni1I+Zc@AGy9@Klw?%~t99!<3GE=oJ!HV~f9cv#ZAT21nJ$$tr436ioqh4M z$xVJQD0!!8-=?6>XvJF(F>=5i+}FKAPS|{|I0H;)`QLpYW01|glwXVDTjS@BG^($T zBkJG2+$mgdo!jM~>!r9e4{4I+_1Iv3K=Gu7*n(3-iMp9DKrq$JSF2FOJh9s_@rWRq z6JT_ey_(4fAzCjAm#4$%y+f^ro&T*{X4H%tfH%bbip|fuuvUE@$C0SvL%oe<2wEDk zxLVHUc^unc8612s%|>n+@vVFFyU(6cm7g`MVKiGKMA}^7+x(S!!qb z5VJswCeu-tXX~3f`^|n|WDSZSiQ7_smbXc|k^9E|YxnL$wWYl)6aQ>|$07cc6@1bw z;U( zp*hTurJEAQa89o7t$jy#oMaQ;2gGp2eO*O@qGT0{A%wG~R=T3r$7{2vu!nOt(J=n^ zbyl~JH-0RQ(0NTbKn35a#21(auag2g8Rxlt+bXx~d!38$ zmC6?OCPku`#pU=?g=vN_mCj6Y~CC5Ks^Cba$80h!+k|83^I0B`KfRd7ou&qhDs z)=`$9{8~MhvlTjldbf&FJt13u!H;G%CutDv2VqKX?}XYIU|T0|>hIQRJdf_y#}r%x zi3lwb;%wCI&U`qIFWBX+4xglj@FN0$;q%-sb8}a~mR7wwVgj$jGh=xw4@kn3GOlmO zB;jcc8x!CL7CcKtqp-FSXlQS|P_Id-!y&g|jpLCMOz8S@6{X@vW@WNSkW!-(>xsR~ z1DITs8lvGk!QxYH7~1v0F|EP8AREn_XIRIDIgl&`?#aWh#IAT?#KLipEUdd?^&cRr za(pKCuFHxE*Ma)qDbv3Nx^C*Z|Gg%>@mEwd0r}5tH2v(XoM*E0WMP0$v`@ovMnE*n?;yB;$YNK zS!WW`zD|YMt6-6U*dzS;;NcHj*D0UMXBae`LXVvI)2}By2$#Z8%iUvqxlihUXmR16 zyTi~vH=O+I`vw`M^SWvS4;M6A8lVtDLzXxM)y-Fy`{bgp&+V`Uh8O5iWLRgjO1%p_ z(GPqf$EOe06xiE`YGI~2Pf%{A?I^Jr96WV_sl(Q6KAs~9KxF$lUjE8y=C-KbhU@l<|mVJCw$pQj4~ zBr5{5+vF@O30YW{7o>l;rPUTX^U_8RY{{-_n{4#cNgbIr*EjQz%iEQge4g~G^ElQL zORgIq)Spub!;j?b8xH)X(6e~Hyh(HR0zAaU-$@xyDABh=dTf5O^jPVoG>+TB8=6AX zwKAIYvVssea6w~3ESe-uV5|3Ko@Z`XZEzyDo{pjNH%unT`BZgC>4&%slb6MI@mh

>LdgYAT0% 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 literal 0 HcmV?d00001 diff --git a/modules/control/units/xs_pipe.py b/modules/control/units/xs_pipe.py index 7e717b542..30cd8cef0 100644 --- a/modules/control/units/xs_pipe.py +++ b/modules/control/units/xs_pipe.py @@ -26,8 +26,7 @@ from diffusers.loaders import FromSingleFileMixin, LoraLoaderMixin, StableDiffus from diffusers.models import AutoencoderKL, UNet2DConditionModel from diffusers.models.attention_processor import ( AttnProcessor2_0, - LoRAAttnProcessor2_0, - LoRAXFormersAttnProcessor, + FusedAttnProcessor2_0, XFormersAttnProcessor, ) from diffusers.models.lora import adjust_lora_scale_text_encoder @@ -652,8 +651,7 @@ class StableDiffusionXLControlNetXSPipeline( ( AttnProcessor2_0, XFormersAttnProcessor, - LoRAXFormersAttnProcessor, - LoRAAttnProcessor2_0, + FusedAttnProcessor2_0, ), ) # if xformers or torch_2_0 is used attention block does not need diff --git a/modules/pag/pipe_sdxl.py b/modules/pag/pipe_sdxl.py index 429384ea3..82ae06c07 100644 --- a/modules/pag/pipe_sdxl.py +++ b/modules/pag/pipe_sdxl.py @@ -5,7 +5,6 @@ from typing import Any, Callable, Dict, List, Optional, Tuple, Union import torch import torch.nn.functional as F -from packaging import version from transformers import ( CLIPImageProcessor, @@ -26,8 +25,6 @@ from diffusers.models import AutoencoderKL, ImageProjection, UNet2DConditionMode from diffusers.models.attention_processor import ( AttnProcessor2_0, FusedAttnProcessor2_0, - LoRAAttnProcessor2_0, - LoRAXFormersAttnProcessor, XFormersAttnProcessor, ) from diffusers.models.lora import adjust_lora_scale_text_encoder @@ -943,8 +940,6 @@ class StableDiffusionXLPAGPipeline( ( AttnProcessor2_0, XFormersAttnProcessor, - LoRAXFormersAttnProcessor, - LoRAAttnProcessor2_0, FusedAttnProcessor2_0, ), ) diff --git a/modules/xadapter/pipeline_sd_xl_adapter.py b/modules/xadapter/pipeline_sd_xl_adapter.py index 65e04ecab..757681972 100644 --- a/modules/xadapter/pipeline_sd_xl_adapter.py +++ b/modules/xadapter/pipeline_sd_xl_adapter.py @@ -24,8 +24,7 @@ from diffusers.loaders import FromSingleFileMixin, LoraLoaderMixin, TextualInver from diffusers.models import AutoencoderKL from diffusers.models.attention_processor import ( AttnProcessor2_0, - LoRAAttnProcessor2_0, - LoRAXFormersAttnProcessor, + FusedAttnProcessor2_0, XFormersAttnProcessor, ) from diffusers.schedulers import KarrasDiffusionSchedulers @@ -558,8 +557,7 @@ class StableDiffusionXLAdapterPipeline(DiffusionPipeline, FromSingleFileMixin, L ( AttnProcessor2_0, XFormersAttnProcessor, - LoRAXFormersAttnProcessor, - LoRAAttnProcessor2_0, + FusedAttnProcessor2_0, ), ) # if xformers or torch_2_0 is used attention block does not need diff --git a/modules/xadapter/pipeline_sd_xl_adapter_controlnet.py b/modules/xadapter/pipeline_sd_xl_adapter_controlnet.py index ddb334568..f0f27fa69 100644 --- a/modules/xadapter/pipeline_sd_xl_adapter_controlnet.py +++ b/modules/xadapter/pipeline_sd_xl_adapter_controlnet.py @@ -30,8 +30,7 @@ from diffusers.models import AutoencoderKL, ControlNetModel from diffusers.models.attention_processor import ( AttnProcessor2_0, - LoRAAttnProcessor2_0, - LoRAXFormersAttnProcessor, + FusedAttnProcessor2_0, XFormersAttnProcessor, ) from diffusers.schedulers import KarrasDiffusionSchedulers @@ -572,8 +571,7 @@ class StableDiffusionXLAdapterControlnetPipeline(DiffusionPipeline, FromSingleFi ( AttnProcessor2_0, XFormersAttnProcessor, - LoRAXFormersAttnProcessor, - LoRAAttnProcessor2_0, + FusedAttnProcessor2_0, ), ) # if xformers or torch_2_0 is used attention block does not need diff --git a/modules/xadapter/pipeline_sd_xl_adapter_controlnet_img2img.py b/modules/xadapter/pipeline_sd_xl_adapter_controlnet_img2img.py index d1cf59033..c2dadfbfc 100644 --- a/modules/xadapter/pipeline_sd_xl_adapter_controlnet_img2img.py +++ b/modules/xadapter/pipeline_sd_xl_adapter_controlnet_img2img.py @@ -31,8 +31,7 @@ from diffusers.models import AutoencoderKL, ControlNetModel from diffusers.models.attention_processor import ( AttnProcessor2_0, - LoRAAttnProcessor2_0, - LoRAXFormersAttnProcessor, + FusedAttnProcessor2_0, XFormersAttnProcessor, ) from diffusers.schedulers import KarrasDiffusionSchedulers @@ -571,8 +570,7 @@ class StableDiffusionXLAdapterControlnetI2IPipeline(DiffusionPipeline, FromSingl ( AttnProcessor2_0, XFormersAttnProcessor, - LoRAXFormersAttnProcessor, - LoRAAttnProcessor2_0, + FusedAttnProcessor2_0, ), ) # if xformers or torch_2_0 is used attention block does not need diff --git a/scripts/demofusion.py b/scripts/demofusion.py index 95e58a74e..f7cdfe543 100644 --- a/scripts/demofusion.py +++ b/scripts/demofusion.py @@ -8,7 +8,7 @@ from transformers import CLIPTextModel, CLIPTextModelWithProjection, CLIPTokeniz from diffusers.image_processor import VaeImageProcessor from diffusers.loaders import FromSingleFileMixin, LoraLoaderMixin, TextualInversionLoaderMixin from diffusers.models import AutoencoderKL, UNet2DConditionModel -from diffusers.models.attention_processor import AttnProcessor2_0, LoRAAttnProcessor2_0, LoRAXFormersAttnProcessor, XFormersAttnProcessor +from diffusers.models.attention_processor import AttnProcessor2_0, FusedAttnProcessor2_0, XFormersAttnProcessor from diffusers.models.lora import adjust_lora_scale_text_encoder from diffusers.schedulers import KarrasDiffusionSchedulers from diffusers.utils import is_accelerate_available, is_accelerate_version @@ -484,8 +484,7 @@ class DemoFusionSDXLPipeline(DiffusionPipeline, FromSingleFileMixin, LoraLoaderM ( AttnProcessor2_0, XFormersAttnProcessor, - LoRAXFormersAttnProcessor, - LoRAAttnProcessor2_0, + FusedAttnProcessor2_0, ), ) # if xformers or torch_2_0 is used attention block does not need diff --git a/scripts/differential_diffusion.py b/scripts/differential_diffusion.py index b48e0f6e6..36aa17eca 100644 --- a/scripts/differential_diffusion.py +++ b/scripts/differential_diffusion.py @@ -22,8 +22,7 @@ from diffusers.loaders import FromSingleFileMixin, LoraLoaderMixin, TextualInver from diffusers.models import AutoencoderKL, UNet2DConditionModel from diffusers.models.attention_processor import ( AttnProcessor2_0, - LoRAAttnProcessor2_0, - LoRAXFormersAttnProcessor, + FusedAttnProcessor2_0, XFormersAttnProcessor, ) from diffusers.configuration_utils import FrozenDict @@ -631,8 +630,7 @@ class StableDiffusionXLDiffImg2ImgPipeline(DiffusionPipeline, FromSingleFileMixi ( AttnProcessor2_0, XFormersAttnProcessor, - LoRAXFormersAttnProcessor, - LoRAAttnProcessor2_0, + FusedAttnProcessor2_0, ), ) # if xformers or torch_2_0 is used attention block does not need diff --git a/wiki b/wiki index 597b7ac10..2df16d6c3 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 597b7ac107384d6fb0f9352cb079910719a77551 +Subproject commit 2df16d6c3b9cc11f4803acc8ec21ed3b5c1a4e33 From 3d130e0f42983ba5d8314af37218eb5f5137aa51 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 2 Jul 2024 09:36:22 -0400 Subject: [PATCH 34/66] move optimum to try/except block --- CHANGELOG.md | 1 + TODO.md | 1 - modules/onnx_impl/__init__.py | 5 ++--- modules/onnx_impl/pipelines/__init__.py | 5 +---- wiki | 2 +- 5 files changed, 5 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32dd6b5d5..2ded1b665 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Change Log for SD.Next TODO: +- - Requires `diffusers==0.30.0` - Alpha Lumina diff --git a/TODO.md b/TODO.md index 0647494dc..fd704b838 100644 --- a/TODO.md +++ b/TODO.md @@ -11,7 +11,6 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma - diffusers public callbacks - include reference styles - lora: sc lora, dora, etc -- sd3 controlnet: ## Experimental diff --git a/modules/onnx_impl/__init__.py b/modules/onnx_impl/__init__.py index 7e23e72e6..8ca39defa 100644 --- a/modules/onnx_impl/__init__.py +++ b/modules/onnx_impl/__init__.py @@ -3,7 +3,6 @@ import numpy as np import torch import diffusers import onnxruntime as ort -import optimum.onnxruntime initialized = False @@ -201,6 +200,8 @@ def initialize_onnx(): return try: # may fail on onnx import import onnx # pylint: disable=unused-import + import optimum.onnxruntime + optimum.onnxruntime.modeling_diffusion._ORTDiffusionModelPart.to = ORTDiffusionModelPart_to # pylint: disable=protected-access from .execution_providers import ExecutionProvider, TORCH_DEVICE_TO_EP, available_execution_providers if devices.backend == "rocm": TORCH_DEVICE_TO_EP["cuda"] = ExecutionProvider.ROCm @@ -234,8 +235,6 @@ def initialize_onnx(): diffusers.ORTStableDiffusionXLPipeline = diffusers.OnnxStableDiffusionXLPipeline # Huggingface model compatibility diffusers.ORTStableDiffusionXLImg2ImgPipeline = diffusers.OnnxStableDiffusionXLImg2ImgPipeline - optimum.onnxruntime.modeling_diffusion._ORTDiffusionModelPart.to = ORTDiffusionModelPart_to # pylint: disable=protected-access - log.debug(f'ONNX: version={ort.__version__} provider={opts.onnx_execution_provider}, available={available_execution_providers}') except Exception as e: log.error(f'ONNX failed to initialize: {e}') diff --git a/modules/onnx_impl/pipelines/__init__.py b/modules/onnx_impl/pipelines/__init__.py index bb0d9b010..a257ab695 100644 --- a/modules/onnx_impl/pipelines/__init__.py +++ b/modules/onnx_impl/pipelines/__init__.py @@ -4,11 +4,8 @@ import shutil import tempfile from abc import ABCMeta from typing import Type, Tuple, List, Any, Dict -from packaging import version import torch import diffusers -import onnxruntime as ort -import optimum.onnxruntime from installer import log, install from modules import shared from modules.paths import sd_configs_path, models_path @@ -23,7 +20,6 @@ from modules.onnx_impl.execution_providers import ExecutionProvider, EP_TO_NAME, SUBMODELS_SD = ("text_encoder", "unet", "vae_encoder", "vae_decoder",) SUBMODELS_SDXL = ("text_encoder", "text_encoder_2", "unet", "vae_encoder", "vae_decoder",) SUBMODELS_SDXL_REFINER = ("text_encoder_2", "unet", "vae_encoder", "vae_decoder",) - SUBMODELS_LARGE = ("text_encoder_2", "unet",) @@ -37,6 +33,7 @@ class PipelineBase(TorchCompatibleModule, diffusers.DiffusionPipeline, metaclass self.model_type = self.__class__.__name__ def to(self, *args, **kwargs): + import optimum.onnxruntime if self.__class__ == OnnxRawPipeline: # cannot move pipeline which is not preprocessed. return self diff --git a/wiki b/wiki index 2df16d6c3..a9fd0bcb7 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 2df16d6c3b9cc11f4803acc8ec21ed3b5c1a4e33 +Subproject commit a9fd0bcb711184e5df032c99158945e3cbcee72e From cbd8b57c7c6233afb8ee5a98f9e2d8d22cfb8925 Mon Sep 17 00:00:00 2001 From: Seunghoon Lee Date: Tue, 2 Jul 2024 22:38:56 +0900 Subject: [PATCH 35/66] add checks --- modules/onnx_impl/pipelines/__init__.py | 13 ++++++++----- modules/shared_items.py | 6 +++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/modules/onnx_impl/pipelines/__init__.py b/modules/onnx_impl/pipelines/__init__.py index a257ab695..bff4e500a 100644 --- a/modules/onnx_impl/pipelines/__init__.py +++ b/modules/onnx_impl/pipelines/__init__.py @@ -1,4 +1,5 @@ import os +import sys import json import shutil import tempfile @@ -45,11 +46,13 @@ class PipelineBase(TorchCompatibleModule, diffusers.DiffusionPipeline, metaclass module = getattr(self, name) - if isinstance(module, optimum.onnxruntime.modeling_diffusion._ORTDiffusionModelPart): # pylint: disable=protected-access - device = extract_device(args, kwargs) - if device is None: - return self - module.session = move_inference_session(module.session, device) + if "optimum.onnxruntime" in sys.modules: + import optimum.onnxruntime + if isinstance(module, optimum.onnxruntime.modeling_diffusion._ORTDiffusionModelPart): # pylint: disable=protected-access + device = extract_device(args, kwargs) + if device is None: + return self + module.session = move_inference_session(module.session, device) if not isinstance(module, diffusers.OnnxRuntimeModel): continue diff --git a/modules/shared_items.py b/modules/shared_items.py index 40785da85..cc352f14f 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -74,12 +74,16 @@ def get_pipelines(): 'InstaFlow': getattr(diffusers, 'StableDiffusionPipeline', None), # dynamically redefined and loaded in sd_models.load_diffuser 'SegMoE': getattr(diffusers, 'StableDiffusionPipeline', None), # dynamically redefined and loaded in sd_models.load_diffuser } - if hasattr(diffusers, 'OnnxStableDiffusionXLPipeline'): + if hasattr(diffusers, 'OnnxStableDiffusionPipeline'): onnx_pipelines = { 'ONNX Stable Diffusion': getattr(diffusers, 'OnnxStableDiffusionPipeline', None), 'ONNX Stable Diffusion Img2Img': getattr(diffusers, 'OnnxStableDiffusionImg2ImgPipeline', None), 'ONNX Stable Diffusion Inpaint': getattr(diffusers, 'OnnxStableDiffusionInpaintPipeline', None), 'ONNX Stable Diffusion Upscale': getattr(diffusers, 'OnnxStableDiffusionUpscalePipeline', None), + } + pipelines.update(onnx_pipelines) + if hasattr(diffusers, 'OnnxStableDiffusionXLPipeline'): + onnx_pipelines = { 'ONNX Stable Diffusion XL': getattr(diffusers, 'OnnxStableDiffusionXLPipeline', None), 'ONNX Stable Diffusion XL Img2Img': getattr(diffusers, 'OnnxStableDiffusionXLImg2ImgPipeline', None), } From 803558991d39efb77603e12903bec7a712631340 Mon Sep 17 00:00:00 2001 From: Seunghoon Lee Date: Tue, 2 Jul 2024 22:40:08 +0900 Subject: [PATCH 36/66] remove duplicate imports --- modules/onnx_impl/pipelines/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/onnx_impl/pipelines/__init__.py b/modules/onnx_impl/pipelines/__init__.py index bff4e500a..ca1ddd2f7 100644 --- a/modules/onnx_impl/pipelines/__init__.py +++ b/modules/onnx_impl/pipelines/__init__.py @@ -34,7 +34,6 @@ class PipelineBase(TorchCompatibleModule, diffusers.DiffusionPipeline, metaclass self.model_type = self.__class__.__name__ def to(self, *args, **kwargs): - import optimum.onnxruntime if self.__class__ == OnnxRawPipeline: # cannot move pipeline which is not preprocessed. return self From 55ea00736982fee7b62b9ea91718cb1e4a506f79 Mon Sep 17 00:00:00 2001 From: Seunghoon Lee Date: Tue, 2 Jul 2024 22:46:13 +0900 Subject: [PATCH 37/66] split onnx init into two passes --- modules/onnx_impl/__init__.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/modules/onnx_impl/__init__.py b/modules/onnx_impl/__init__.py index 8ca39defa..013387d8f 100644 --- a/modules/onnx_impl/__init__.py +++ b/modules/onnx_impl/__init__.py @@ -200,8 +200,6 @@ def initialize_onnx(): return try: # may fail on onnx import import onnx # pylint: disable=unused-import - import optimum.onnxruntime - optimum.onnxruntime.modeling_diffusion._ORTDiffusionModelPart.to = ORTDiffusionModelPart_to # pylint: disable=protected-access from .execution_providers import ExecutionProvider, TORCH_DEVICE_TO_EP, available_execution_providers if devices.backend == "rocm": TORCH_DEVICE_TO_EP["cuda"] = ExecutionProvider.ROCm @@ -209,8 +207,6 @@ def initialize_onnx(): from .pipelines.onnx_stable_diffusion_img2img_pipeline import OnnxStableDiffusionImg2ImgPipeline from .pipelines.onnx_stable_diffusion_inpaint_pipeline import OnnxStableDiffusionInpaintPipeline from .pipelines.onnx_stable_diffusion_upscale_pipeline import OnnxStableDiffusionUpscalePipeline - from .pipelines.onnx_stable_diffusion_xl_pipeline import OnnxStableDiffusionXLPipeline - from .pipelines.onnx_stable_diffusion_xl_img2img_pipeline import OnnxStableDiffusionXLImg2ImgPipeline OnnxRuntimeModel.__module__ = 'diffusers' # OnnxRuntimeModel Hijack. diffusers.OnnxRuntimeModel = OnnxRuntimeModel @@ -226,6 +222,16 @@ def initialize_onnx(): diffusers.OnnxStableDiffusionUpscalePipeline = OnnxStableDiffusionUpscalePipeline + log.debug(f'ONNX: version={ort.__version__} provider={opts.onnx_execution_provider}, available={available_execution_providers}') + except Exception as e: + log.error(f'ONNX failed to initialize: {e}') + + try: + # load xl pipelines. may fail if the user has the latest diffusers (0.30.x) + import optimum.onnxruntime + from .pipelines.onnx_stable_diffusion_xl_pipeline import OnnxStableDiffusionXLPipeline + from .pipelines.onnx_stable_diffusion_xl_img2img_pipeline import OnnxStableDiffusionXLImg2ImgPipeline + diffusers.OnnxStableDiffusionXLPipeline = OnnxStableDiffusionXLPipeline diffusers.pipelines.auto_pipeline.AUTO_TEXT2IMAGE_PIPELINES_MAPPING["onnx-stable-diffusion-xl"] = diffusers.OnnxStableDiffusionXLPipeline @@ -235,9 +241,10 @@ def initialize_onnx(): diffusers.ORTStableDiffusionXLPipeline = diffusers.OnnxStableDiffusionXLPipeline # Huggingface model compatibility diffusers.ORTStableDiffusionXLImg2ImgPipeline = diffusers.OnnxStableDiffusionXLImg2ImgPipeline - log.debug(f'ONNX: version={ort.__version__} provider={opts.onnx_execution_provider}, available={available_execution_providers}') - except Exception as e: - log.error(f'ONNX failed to initialize: {e}') + optimum.onnxruntime.modeling_diffusion._ORTDiffusionModelPart.to = ORTDiffusionModelPart_to # pylint: disable=protected-access + except Exception: + pass + initialized = True From 3a9bfee7fba00cba940c24a44a9a07157fdbe8f2 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 2 Jul 2024 10:54:31 -0400 Subject: [PATCH 38/66] update --- CHANGELOG.md | 4 +++- modules/textual_inversion/textual_inversion.py | 18 +++++++++++------- wiki | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ded1b665..9cc3d7ad8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,15 @@ TODO: - Requires `diffusers==0.30.0` - Alpha Lumina -## Update for 2024-07-01 +## Update for 2024-07-02 - support for **HunyuanDiT 1.2** - add support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! to use, simply add `--uv` to your command line params - enable `florence` VLM for all platforms, thanks @lshqqytiger! - fix executing extensions with zero params +- add support for embeddings bundled in LoRA, thanks @AI-Casanova! +- fix executing extensions with zero params - fix nncf for lora, thanks @Disty0! - fix diffusers version detection for SD3 - fix current step for higher order samplers diff --git a/modules/textual_inversion/textual_inversion.py b/modules/textual_inversion/textual_inversion.py index 292699f2d..29cd5ad21 100644 --- a/modules/textual_inversion/textual_inversion.py +++ b/modules/textual_inversion/textual_inversion.py @@ -12,6 +12,7 @@ from modules.files_cache import directory_files, directory_mtime, extension_filt debug = shared.log.trace if os.environ.get('SD_TI_DEBUG', None) is not None else lambda *args, **kwargs: None debug('Trace: TEXTUAL INVERSION') + def list_embeddings(*dirs): is_ext = extension_filter(['.SAFETENSORS', '.PT' ] + ( ['.PNG', '.WEBP', '.JXL', '.AVIF', '.BIN' ] if not shared.native else [] )) is_not_preview = lambda fp: not next(iter(os.path.splitext(fp))).upper().endswith('.PREVIEW') # pylint: disable=unnecessary-lambda-assignment @@ -48,8 +49,8 @@ def open_embeddings(filename): vectors = torch.load(fullname, map_location=devices.device)["string_to_param"]["*"] embedding.vec.append(vectors) embedding.tokens = [embedding.name if i == 0 else f"{embedding.name}_{i}" for i in range(len(embedding.vec[0]))] - except: - debug(f"Could not load embedding file {fullname}") + except Exception as e: + debug(f"Could not load embedding file {fullname} {e}") if embedding.vec: embeddings.append(embedding) else: @@ -115,8 +116,8 @@ def deref_tokenizers(tokens, tokenizers): while last_token.replace(str(suffix), str(newsuffix)) in tokenizer.get_vocab(): idx = tokenizer.convert_tokens_to_ids(last_token.replace(str(suffix), str(newsuffix))) debug(f"Textual inversion: deref idx={idx}") - del tokenizer._added_tokens_encoder[last_token.replace(str(suffix), str(newsuffix))] - tokenizer._added_tokens_decoder[idx].content = str(time.time()) + del tokenizer._added_tokens_encoder[last_token.replace(str(suffix), str(newsuffix))] # pylint: disable=protected-access + tokenizer._added_tokens_decoder[idx].content = str(time.time()) # pylint: disable=protected-access newsuffix += 1 @@ -277,7 +278,7 @@ class EmbeddingDatabase: overwrite = bool(data) if not shared.sd_loaded: return 0 - embeddings, skipped = open_embeddings(filename) or convert_bundled(data) + embeddings, _skipped = open_embeddings(filename) or convert_bundled(data) if not embeddings: return 0 text_encoders, tokenizers, hiddensizes = get_text_encoders() @@ -301,8 +302,11 @@ class EmbeddingDatabase: insert_tokens(embeddings, tokenizers) for embedding in embeddings: if embedding.name not in self.skipped_embeddings: - insert_vectors(embedding, tokenizers, text_encoders, hiddensizes) - self.register_embedding(embedding, shared.sd_model) + try: + insert_vectors(embedding, tokenizers, text_encoders, hiddensizes) + self.register_embedding(embedding, shared.sd_model) + except Exception as e: + shared.log.error(e, f'Embedding load: name={embedding.name} fn={embedding.filename} {e}') return def load_from_file(self, path, filename): diff --git a/wiki b/wiki index a9fd0bcb7..33f41e4ce 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit a9fd0bcb711184e5df032c99158945e3cbcee72e +Subproject commit 33f41e4ceb3e03271d6f1edc7ce8cef467e7ce4b From 35f74fa0fe735c1121afa4369fed3021a8361c3f Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 2 Jul 2024 11:03:04 -0400 Subject: [PATCH 39/66] update --- modules/textual_inversion/textual_inversion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/textual_inversion/textual_inversion.py b/modules/textual_inversion/textual_inversion.py index 29cd5ad21..0a067ef03 100644 --- a/modules/textual_inversion/textual_inversion.py +++ b/modules/textual_inversion/textual_inversion.py @@ -306,7 +306,7 @@ class EmbeddingDatabase: insert_vectors(embedding, tokenizers, text_encoders, hiddensizes) self.register_embedding(embedding, shared.sd_model) except Exception as e: - shared.log.error(e, f'Embedding load: name={embedding.name} fn={embedding.filename} {e}') + shared.log.error(f'Embedding load: name={embedding.name} fn={embedding.filename} {e}') return def load_from_file(self, path, filename): From 2cac5f365d68210fa6939e4ce7bec01c6a870f28 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 2 Jul 2024 11:28:14 -0400 Subject: [PATCH 40/66] update --- modules/prompt_parser_diffusers.py | 2 +- modules/textual_inversion/textual_inversion.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/prompt_parser_diffusers.py b/modules/prompt_parser_diffusers.py index b212d08a6..167d33b53 100644 --- a/modules/prompt_parser_diffusers.py +++ b/modules/prompt_parser_diffusers.py @@ -389,7 +389,7 @@ def get_weighted_text_embeddings(pipe, prompt: str = "", neg_prompt: str = "", c except Exception: pooled_prompt_embeds = None negative_pooled_prompt_embeds = None - debug(f'Prompt: pooled shape={pooled_prompt_embeds[0].shape} time={(time.time() - t0):.3f}') + debug(f'Prompt: pooled shape={pooled_prompt_embeds[0].shape if pooled_prompt_embeds is not None else None} time={(time.time() - t0):.3f}') prompt_embeds = torch.cat(prompt_embeds, dim=-1) if len(prompt_embeds) > 1 else prompt_embeds[0] negative_prompt_embeds = torch.cat(negative_prompt_embeds, dim=-1) if len(negative_prompt_embeds) > 1 else \ diff --git a/modules/textual_inversion/textual_inversion.py b/modules/textual_inversion/textual_inversion.py index 0a067ef03..21e472ec2 100644 --- a/modules/textual_inversion/textual_inversion.py +++ b/modules/textual_inversion/textual_inversion.py @@ -140,6 +140,8 @@ def insert_vectors(embedding, tokenizers, text_encoders, hiddensizes): this may cause collisions. """ for vector, size in zip(embedding.vec, embedding.vector_sizes): + if size not in hiddensizes: + continue idx = hiddensizes.index(size) unk_token_id = tokenizers[idx].convert_tokens_to_ids(tokenizers[idx].unk_token) if text_encoders[idx].get_input_embeddings().weight.data.shape[0] != len(tokenizers[idx]): From 37a95ca4387abc1153e1a15fe9e393a8c7a664af Mon Sep 17 00:00:00 2001 From: AI-Casanova <54461896+AI-Casanova@users.noreply.github.com> Date: Tue, 2 Jul 2024 10:46:07 -0500 Subject: [PATCH 41/66] Update textual inversion skip logic --- modules/textual_inversion/textual_inversion.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/modules/textual_inversion/textual_inversion.py b/modules/textual_inversion/textual_inversion.py index 21e472ec2..d28801ffb 100644 --- a/modules/textual_inversion/textual_inversion.py +++ b/modules/textual_inversion/textual_inversion.py @@ -103,12 +103,6 @@ def deref_tokenizers(tokens, tokenizers): we can ensure that a smaller embedding will not get tokenized as itself, plus the remaining vectors of the previous. """ for tokenizer in tokenizers: - # if tokens[0] in tokenizer.get_vocab(): - # idx = tokenizer.convert_tokens_to_ids(tokens[0]) - # debug(f"deref idx: {idx}") - # tokenizer._added_tokens_decoder[idx].content = str(time.time()) - # del tokenizer._added_tokens_encoder[tokens[0]] - if len(tokens) > 1: last_token = tokens[-1] suffix = int(last_token.split("_")[-1]) @@ -280,7 +274,9 @@ class EmbeddingDatabase: overwrite = bool(data) if not shared.sd_loaded: return 0 - embeddings, _skipped = open_embeddings(filename) or convert_bundled(data) + embeddings, skipped = open_embeddings(filename) or convert_bundled(data) + for skip in skipped: + self.skipped_embeddings[skip.name] = skipped if not embeddings: return 0 text_encoders, tokenizers, hiddensizes = get_text_encoders() @@ -293,7 +289,9 @@ class EmbeddingDatabase: convert_embedding(embedding.vec[embedding.vector_sizes.index(768)], text_encoders[hiddensizes.index(768)], text_encoders[hiddensizes.index(1280)])) embedding.vector_sizes.append(1280) - if len(embedding.vector_sizes) > len(hiddensizes): + if (not all(vs in hiddensizes for vs in embedding.vector_sizes) or # Skip SD2.1 in SD1.5/SDXL/SD3 vis versa + len(embedding.vector_sizes) > len(hiddensizes) or # Skip SDXL/SD3 in SD1.5 + (len(embedding.vector_sizes) < len(hiddensizes) and len(embedding.vector_sizes) != 2)): # SD3 no T5 embedding.tokens = [] self.skipped_embeddings[embedding.name] = embedding if overwrite: From 5ac5073dd62b0e97019de93db637527776284d6f Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 2 Jul 2024 12:02:17 -0400 Subject: [PATCH 42/66] update wiki --- wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wiki b/wiki index 33f41e4ce..e6fc44ac6 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 33f41e4ceb3e03271d6f1edc7ce8cef467e7ce4b +Subproject commit e6fc44ac6c59d9f64e324ade5d8033dd9e3b494c From 1f7c23ba0db33cf6635ecbcef5e7006736c9df5e Mon Sep 17 00:00:00 2001 From: AI-Casanova <54461896+AI-Casanova@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:22:18 -0500 Subject: [PATCH 43/66] fix ti load error --- modules/textual_inversion/textual_inversion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/textual_inversion/textual_inversion.py b/modules/textual_inversion/textual_inversion.py index d28801ffb..efd8575f2 100644 --- a/modules/textual_inversion/textual_inversion.py +++ b/modules/textual_inversion/textual_inversion.py @@ -54,7 +54,7 @@ def open_embeddings(filename): if embedding.vec: embeddings.append(embedding) else: - skipped.append(name) + skipped.append(embedding) return embeddings, skipped From 34ec4e39cb066fb8680d3bb8752c8f2a3e51601c Mon Sep 17 00:00:00 2001 From: AI-Casanova <54461896+AI-Casanova@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:35:01 -0500 Subject: [PATCH 44/66] Add Dora, fix NTC key names --- extensions-builtin/Lora/lora_convert.py | 2 ++ extensions-builtin/Lora/network.py | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/extensions-builtin/Lora/lora_convert.py b/extensions-builtin/Lora/lora_convert.py index 827f97e3d..8432d8208 100644 --- a/extensions-builtin/Lora/lora_convert.py +++ b/extensions-builtin/Lora/lora_convert.py @@ -164,6 +164,8 @@ class KeyConvert: def diffusers(self, key): if self.is_sdxl: + if "diffusion_model" in key: # Fix NTC Slider naming error + key = key.replace("diffusion_model", "lora_unet") map_keys = list(self.UNET_CONVERSION_MAP.keys()) # prefix of U-Net modules map_keys.sort() search_key = key.replace(self.LORA_PREFIX_UNET, "").replace(self.OFT_PREFIX_UNET, "").replace(self.LORA_PREFIX_TEXT_ENCODER1, "").replace(self.LORA_PREFIX_TEXT_ENCODER2, "") diff --git a/extensions-builtin/Lora/network.py b/extensions-builtin/Lora/network.py index bc60389fd..dc9ec4c8a 100644 --- a/extensions-builtin/Lora/network.py +++ b/extensions-builtin/Lora/network.py @@ -88,6 +88,8 @@ class NetworkModule: self.bias = weights.w.get("bias") self.alpha = weights.w["alpha"].item() if "alpha" in weights.w else None self.scale = weights.w["scale"].item() if "scale" in weights.w else None + self.dora_scale = weights.w.get("dora_scale", None) + self.dora_norm_dims = len(self.shape) - 1 def multiplier(self): unet_multiplier = 3 * [self.network.unet_multiplier] if not isinstance(self.network.unet_multiplier, list) else self.network.unet_multiplier @@ -109,6 +111,27 @@ class NetworkModule: return self.alpha / self.dim return 1.0 + def apply_weight_decompose(self, updown, orig_weight): + # Match the device/dtype + orig_weight = orig_weight.to(updown.dtype) + dora_scale = self.dora_scale.to(device=orig_weight.device, dtype=updown.dtype) + updown = updown.to(orig_weight.device) + + merged_scale1 = updown + orig_weight + merged_scale1_norm = ( + merged_scale1.transpose(0, 1) + .reshape(merged_scale1.shape[1], -1) + .norm(dim=1, keepdim=True) + .reshape(merged_scale1.shape[1], *[1] * self.dora_norm_dims) + .transpose(0, 1) + ) + + dora_merged = ( + merged_scale1 * (dora_scale / merged_scale1_norm) + ) + final_updown = dora_merged - orig_weight + return final_updown + def finalize_updown(self, updown, orig_weight, output_shape, ex_bias=None): if self.bias is not None: updown = updown.reshape(self.bias.shape) @@ -120,6 +143,8 @@ class NetworkModule: updown = updown.reshape(orig_weight.shape) if ex_bias is not None: ex_bias = ex_bias * self.multiplier() + if self.dora_scale is not None: + updown = self.apply_weight_decompose(updown, orig_weight) return updown * self.calc_scale() * self.multiplier(), ex_bias def calc_updown(self, target): From e5bd949b936c56f3b785edab6938990e440a97c0 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Wed, 3 Jul 2024 19:00:50 +0300 Subject: [PATCH 45/66] Don't force vae config on huggingface models --- modules/sd_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/sd_models.py b/modules/sd_models.py index d45ec8dd3..236cd821d 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -1150,7 +1150,7 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No timer.record("options") set_diffuser_offload(sd_model, op) - if op == 'model': + if op == 'model' and not (os.path.isdir(checkpoint_info.path) or checkpoint_info.type == 'huggingface'): sd_vae.apply_vae_config(shared.sd_model.sd_checkpoint_info.filename, vae_file, sd_model) if op == 'refiner' and shared.opts.diffusers_move_refiner: shared.log.debug('Moving refiner model to CPU') From ef1c7a6eb82375fc34d9666dea4cdcd53bc67f65 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 3 Jul 2024 12:57:10 -0400 Subject: [PATCH 46/66] update changelog --- CHANGELOG.md | 6 +++++- wiki | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cc3d7ad8..8567165be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,13 @@ TODO: - Requires `diffusers==0.30.0` - Alpha Lumina -## Update for 2024-07-02 +## Update for 2024-07-03 +- massive updates to [Wiki](https://github.com/vladmandic/automatic/wiki) + with over 20 new pages and articles, now includes guides for nearly all major features + thanks @GenesisArtemis! - support for **HunyuanDiT 1.2** +- add support for DoRA networks, thanks @AI-Casanova! - add support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! to use, simply add `--uv` to your command line params - enable `florence` VLM for all platforms, thanks @lshqqytiger! diff --git a/wiki b/wiki index e6fc44ac6..4e1697044 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit e6fc44ac6c59d9f64e324ade5d8033dd9e3b494c +Subproject commit 4e169704404f569e2dc1e8fa46a38660b5cbea19 From 809444eb5c61c32ce8718df07bddd6e3e3b561f9 Mon Sep 17 00:00:00 2001 From: xedis Date: Wed, 3 Jul 2024 23:11:08 -0700 Subject: [PATCH 47/66] fix typo --- modules/devices.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/devices.py b/modules/devices.py index 056e3a7a8..e703a0b50 100644 --- a/modules/devices.py +++ b/modules/devices.py @@ -166,7 +166,7 @@ def torch_gc(force=False): after = { 'gpu': mem.get('gpu', {}).get('used', 0), 'ram': mem.get('ram', {}).get('used', 0), 'retries': mem.get('retries', 0), 'oom': mem.get('oom', 0) } utilization = { 'gpu': used_gpu, 'ram': used_ram, 'threshold': threshold } results = { 'collected': collected, 'saved': saved } - log.debug(f'GC: utilization={utilization} gc={results} beofre={before} after={after} device={torch.device(get_optimal_device_name())} fn={sys._getframe(1).f_code.co_name} time={round(t1 - t0, 2)}') # pylint: disable=protected-access + log.debug(f'GC: utilization={utilization} gc={results} before={before} after={after} device={torch.device(get_optimal_device_name())} fn={sys._getframe(1).f_code.co_name} time={round(t1 - t0, 2)}') # pylint: disable=protected-access def set_cuda_sync_mode(mode): From 9e905f3cd14e26f51a36538b0b6f83ee94553cc6 Mon Sep 17 00:00:00 2001 From: xedis Date: Wed, 3 Jul 2024 23:12:47 -0700 Subject: [PATCH 48/66] Delete html/logo-bg-6.jpg --- html/logo-bg-6.jpg | Bin 49736 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 html/logo-bg-6.jpg diff --git a/html/logo-bg-6.jpg b/html/logo-bg-6.jpg deleted file mode 100644 index 88c7cb44676ad50236310b4a99b5df837060663b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49736 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 From aeb90d31b7268e9e39f9be5908ecf40d19683939 Mon Sep 17 00:00:00 2001 From: xedis Date: Wed, 3 Jul 2024 23:13:59 -0700 Subject: [PATCH 49/66] replace image --- html/logo-bg-6.jpg | Bin 0 -> 75430 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 html/logo-bg-6.jpg diff --git a/html/logo-bg-6.jpg b/html/logo-bg-6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..50184d3c23514779df131bf8b960756138130644 GIT binary patch literal 75430 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 Date: Wed, 3 Jul 2024 23:25:32 -0700 Subject: [PATCH 50/66] proper size... --- html/logo-bg-6.jpg | Bin 75430 -> 322473 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/html/logo-bg-6.jpg b/html/logo-bg-6.jpg index 50184d3c23514779df131bf8b960756138130644..5e001eb2b37f55eca4b762f38638bdbe612a5876 100644 GIT binary patch literal 322473 zcmeFa1z1$w+AzF_P7#n!0qGoaNKqO|>2w%|?hXk-QAuefRZ3dAK|x9cq@}yN8~#C` z=RA++Jm-7Qd*1i|{_p!=_gu5*p0)0Mue(<4d+oLM<+sZz;JSj0ybJ&W0RRZ`0WPPB zUPyabngM{kJS%_!000_*4Ily65Rew)3xH6r&;Udd;-WubTo4j~k4QE}e0dP?6}}td zYx(pC&SM1p7V$N;G`CcQ+HweS@^W$mHumQB946)*0>*AUoK_Czf1i&8Aie&h4CFt- z2vPttfDA(Z&J7yk9|-9O<`)Ev^c!4r;|dQU)t@B=0S^!#;BpkW3t*t3p`)Q zVq#$7+`z@b#>OEdAjG>tMNUIaMNUac%fQJ*OUF)6Ny#k8!p_aZ$Hzy*1Q8Pgi*oYv zfv<>wFflQ4uyIInaY?~9DQ|-R)5qlp03QSJ06dUEbN~`Q2pJ!A`3aywh=dCIetee! zaRMPBqoAUpV_;%oBM{2214tlbWF!=1R8$lcM6M4aA3(uJCAi5WiAJafMW=JT0e%$u z27~@i(MKZno-GDm6Q=-7EMgK;GV)uDOw25-eEb4}LJ;A*QqnTAa`FoIH8i!fb#(P$ zrf@TJ3rj0!7gslT4^OYa$4`QuK6@S<6&({B7yt5A!rQd;jLfWe**V1}rDf$6l~vV^ zO`n=uTHD$`_xAM<3=Vx89+{q*ots}+Tv}e)-r3#TKR7%(KDm+$gfQFh#}CQ=PA+_e zTu3M=$SCMna)FTCuLQ?OLA}X?Mj)w%4s|4?13$vJaVPRk(ML>rUiB>^6Q>?5Vg|nH zTiaKneV6QC6D;80lI(AS{UO%~fP)M|7!MgAkN}MF3~YjRUYa7|9iQbEf8B3$>3>B{ z;xmUI>Q;cRB*G=I7(~>opDRSlSj}f)tDEvP%^3F%W(H=(VOHR`2U>9>3!)4QkOEq! zoToHTFM)z;#l$D2JhhcNhUL5|!7Ah3MWQ}(c?@fx)oh1xb=4N5aAq_>vKRR=iz-f3bp~_}OkzxI8+6;$L1&oOZ^~La%;!X~fUbILMc!P}0XSjk%4&qV_>qa zKS^KdXzP)=p7rHW7~B3?J!^Sl=S82T=lm^cxI`As6EE{XUwXZxVCkazF!p`ILqMYD zP8Ldzb-IJ<-u)g37|$c8p;{ zY&Kt@=vtd^_6#SV<*$`?%4)_$6pio%^G;|RVbE-G#drtmQe$l$pwC^iNMUsy;GPxfdG&8C4dLr=bF7sJMq?$#i9O$=&MbDtwtwGbYhUv)U!IU6rFp=xhdf3 zc0r2=T~$RCW{(lejoe(E06aAV&2;4D@*16Y^INhYoUY+jiIiG{hGLbvuDO+Y`Jv?Mk9CrX$4iHC0pyeLdQsy zqFVT~wid~c)HAh<%_9aRhu8I1g)uDC6Zpw9s{Mo67dEi8vU zf)=_?L|%N+hPaT5KUmRb8q8azX0E9#k*X*^Wp+1@6B_jr!0Y(99PV4zxr1>s_!zec z=I~K@%AK00x1x~Cs-Vkd9`$o_STe!KHz}VD752UvbkNG#(XemhILM*TBS$!<#Evi5 za~wrvli9E{2s(aP$E*wLm%DZiOhYRE>0oXsk)mv%Oz;WjDEV51C~@ok{X*L#*o<}C zo@4qrUKvOAixB+tJq0n1S*LSM`b=SMoHv5<{6!@(^la~T^{ddHOjqSGd7o=dZyIp>Y7yA^DkxrO?c_ax8t~Df7Y4#%&k{dIrU}#Pm;TsS?~s^;d$bbgc!j$(=|(L4Q8Ev*6)JHtn0>ygrS9#KNQ{Hkc0qsS5pY;s~aBfRVxbedXI z5%Fl%6eQ;}2i-)S`aE&-#`f%zvpf7>n+Wd^?M9|p!`bN3DM|`@TE=Avd@g}l*T8(I z5qeC{DL+-eSXb;6XI-)ONYt_W#h!6_Z(YzW?5i(Y&%Ct>XX^BgEBi*ePYD!VUSXBK z+C|&=M*nEJ+lj3n^08H~anO!m%QUE4iI6?en#@#FbzJu0>=`OlPuNhP?piICRAzLr zZ^7W1?O`h4JzY_0hF(D3ownk^a5qi9+xtnqXES9{Y^D(?@h0H8OF%ffxgOhAQ1LFM zlcEFBd~(b@(Thd4)^Si#s z=kVNjJFgH=CrsO@;=OJZeMC#Yq4hehK{hflxYn@lr3%L_z-!siH@k_a&O8MJQ+m))9k zHK{MWtLNr^k#|ZN_o{F;zMOl~NMDlSo?AN~1k5NT5*_Y5MB`r&FdgN?VI)W(bE<1V zO-j9QcJk?NfeO1d`SX@#DcHREEbe~m{mI~bkC1DT><)z(Uwn$?MZKLhx&@p<%M@B~ z7EI<(q|wP_q-hI@x?Tcw!G#PQ1hQ<*NV2r}>k->;OT!<7C!!KLNnr(Y{9pCwr*2j) z5`{bv=*l`z7%Tp0V4j_C)Iz1?!)aFG(S3*~p|Bnk02U^nff-PX1RB~to^TCSnIx4^ z(~TCNug>sxG{=d|SZLNh&1V`HT2nbbXI-#nGYXio6;J~R2_GGpX|gWTSAC?evohVg z!9G`@ma5ikUSCz*kiu-LBV{JwK*v+=F?lfvp`?}&C0%pr#%O`nR+f5`H0mqYD7L%;9V6bH}sNCTsWT>W%Q>&zy5 zL=S|9DpcMMOuZ*Hk>Oo#Lw9v{hFA?|^TbylUIP9mM`y!hNBJWk2Vh}Rcaul& zgd(YAQ=V$mA&-o)1?@DJ&xyR35eeQCLvA9^!4BDzbF>fWs1|FTM+u;y^!E^TPAJM= zav@&9MFBd4Sk8TO*=hSwJr{BtM-TrRL*~{I z4h#&jZ?!dhE%we*5XQI?ImzQG!|{Bp^e&Eeyx>l}M}z2rd24pHToxrqko0i5 z&+T4Bx4_pGk~W&clSzbTYD8R0LL>!FJh4$wWayDm9fY}8@CK`HnOaipL2{onSYyk0 zkl(Colc9H@;WBVcwPNjh-LTXX1s1nomew%rWWN=f_(~4ttTNvs!<6<3t8-+^{;SN) z_V^`hjmXOEDOdEbgWa&y>>88+X<4Jk+V?Y1$scCe^NfIIv3u9rqY6+=vI5aph#;e}wzqpOatzV= zwjsoICN*as-Cd@+ZJQZAtskQErbs_z27*q8{We3- zir+SmBu7lBdrSL^R}vn0#tTAw1vN62;T@7%I*(P+9f>7TqaB;B%aT!^^BBnuHMi(K z7cU!HI{9)^@YLR%r!{Uu2RgxzjDDh>A^A==mQuHrUft^LYL&D4wqLB@4XZr0QA=7! zrNLXLZqdxTC=ar27mwuTXu5K&cJy2M6IgMJ+G}5kF9AC~B@tbj{ahTK$$612Mvx(A zTZ6E4$CFr^u>1DvXFN_qK8&{%}L> zNLy@MnIbXbX}zh!m-2XvF4?VY6!TqLU;eKnp|3w~8eU7aL|xAx&-kLqU)n}2H)hIB z|H7JuZOOn&*h$?GFT5Z@>9lGwxR5}})gf*hr}im;br?bXkf^vM$h(6IYCFY*-{eR= zTe+wDVYj=?qdbh_W8rN9JDb?izISvv1P#@~?TUxbC+2I;#a9No!QED&nhfIKx_lrK z`Knqrvtn!}7j8Ah9&;i{sW0qSP@Vm_FX$x5U#<)fs8u_LOf1zc2yTNPtth!%5LeQ* z$hL!YB32`I*9{)?Ai3Ae9TrL*LDQOYJ%W2bZ_N3;O6}x+clrrwRQ`myQ{Y(h%V^BL zxwhY1frzaQCB1bXM^8R>_iM1H9v{w}qmQ)F{k*o9+8~4qI1JGy%u( zyRNP8$b=RvsNx?VwoY?!3N&&1BTZzXGiKBUi3HHcy0`9{`lalDp0^~=*NkA>8ed3r zw_@Kkmltn5!Us?Lw^Mmf&AIHoeVu^(#^XrlmS6Gs#)!dO5Yro`=+FD&rP@-O`-bvy z2eP_W3YB*-4V-+~^m@c~C6_Bs2F23z;$cFx<-H;^6@$|c!UALD+>%OQ#{(5GzA$V0 zat5rAb54~<}>&mK=n^t^AL zWcM78fPLG{l3?x9l5#S`X=T#XzN+Sj`&b5 z3>wiLBkqivC8HxHG3c@B@F@q@(Nvz~_R~+%YI&jrJfSC-fWioC+hCqS!rGGnUeTJ{ zQ?7+jW8BUuMLcYe0F^iuA)kC;8rcbb$ZqX)DB;LJUvh>5v(Uu7EPUEXRhUQ}lNv$d zM6gvWyTC)?fWmE8@kwO`PgrvsP#|6#(egg0U^qH4BqDi3Zz%t5WiRIdoZ$I-7Yzj6 zL5O~@@a0T(jHLgm5z@5S?hyZKJ>d|v{Jj#g_9Wc>nx>Y6s$BY<>t>e(yLPC!^gyFu zpUj2Jvf>0ROGR1B2Q)43zZL%CYjt&^Vo2uj0!43^dREG< zDn@J?R@YPhwe#IRS>sxyO_?F5>csJF`fQ+B2OAT z9i85nCm~*EP+y_<_C0xThY8JE(;c1d)W%>oT^l%6XE)CB_EMa{0Y2)nXXMlEq7}bx ztDeEK<-I4tL-$lfbn3(n^X?`Q4s^diywH6c+~viA6;NBo$Kg^#gW|!s;dzVDXzZqU zVkX2g!``BH(+!?V?o8puo66ZON-r&vI&BcVo^uPfjx2 zp^5fdS$4+b-H&h_QvCK-HEE(rs-9RXvvXV#O!X0wXGY)T)=-|w1KCEksWwBIM--pX zXi6*vckBYD-E|Di1G~r0E&(HvVCFowT-~!Uwq|Dqv4IP(M6XNWY3aJXx_(I6i?Ui} zLYQqAgzU^O`Qd?Q~qmc zkUgQ+SwkWOp}a30o=Axzu{Yy%u1$WqR;qSiTOME2srz<=mW5y}tNdcp;i?tY?j*=?vU3(`uEgvTzCpQNoK+kzyK}npa@sqYbMZhR5H4;o7Z}Wez~FH9v~z)aaM(H1|4u;)?hJFX zba1h>x1+tH2sN>HbrGXOl>ePE7fZ80=>DXFtDNsT_#G9Fh+O}Tg`ZHba(+VnEfD=T z>??+^(yXDj-?_GP{s|qStG}WCMEG|z(9vFTBP?$VHHT|knz~qs(ed+u|D1XcZfE{; z@_l7bO1E+O$Mflne1c)G%+k}^g9|{+Q@k0d6z=He&LVQp&Zb36sApw{vpP-0sb3BdnbfV?4UM(!N8xHP=z`{ZJlYa z_)&)1{(do-8_dTo$c>n3fPe+L`8mL*X1pdsLOd`NQyxBk9ym9zsTq{tgx^fi3@#uj zCM2J@qak+pHr-PmOZ!BJwqzXlt^T&TKS7#?K zXA6Waxg0EE&Rka|b8riCxxhVKxc+pB9Mt*uOa4V&TorWR((7*`@d)wo^ZaHyT9^|Y zdR1+tpe}zy_)#(kH?IaaL>Me6%+0U&8;}2BKCUa`|B#AEbb&iv=@RktCvCboLG7H) z?44|do#4(0j{Xn}fhT3@>|g`+{1dwRKO$-U?14WKxQh_M{K{c}q&mSJoa{|qVU{Kc z4!=7rtqG!h*zekNadQ1F{U`o^_X&sZ{_qc3KV{R}{oyGVa7%Lwm){CC_5EJ10&2axn>#8U{3Z9zwz;d#y^_r z?%$*QmyGlik3VVK`5&@=%Kksf82^+rkH0YLKQ-w;rQ-RYq4MA97{B#z!s=Iz#y=ST zAALj8*#Qo7q5Y0d`w#g42Rq9DqN4p%tNa_4_Mg)FzuZs$XzBld)`0x-i|+%y-~INg z|3~y7Kef#NBRiH~e(_)Oi{JYdc{{{ChKtM(r}{By`)9+BAE>m_W@d;U=BFXb|6AS4 z&ttBCXI%A5%wN_-`1dcT{p}u&=cju6AKt+I)Xn_f1^u|?`BgW63&H%Z7DPq+DX=2I z1G$Q<2$}JMg?LTOxcOl)UWgf#2g=K12Id39|FvMkUs~X*sQ*3TldFe3|G$r*@C$;u z1t33M_pkl#FGC_fnZtw+p?-)U4+JJ)D#$Bn#tjoN;pT$~@R;y{p{7DYP;OH}Gcd0i zoX->rHWlC#;1%G8@d%jlm=>C2_LT@f^pM774)YtlpsGJ?_b{d{@$`DZt%{|j2*t?{3aD*fc^{QO`zOaS2%{3bANgg*-j3Gl)Z;Zc4l zl!pf_2>;g{=->7A|L!*9U*qZp#o4dsDK$n zz!c1F3gZ{#Gcn~80`r-fnVFjKaKm{JjR_wQpCG@W2@KJ`AR^`h2uwbHUWmyLfBCQI z@xQa#_}94odp+_&_ym6o^8ZIo?{~%iHXHFbq3LLUn&Z&4vvhQY%S$2VPXu_u+-7iY zJ}|^gNWc_^P#rH1Hw7M>k9na?3wtF8vE<~O9Q_&@Jj=~H1JCU zzclbaN&|m9e*?EeJaprZc)I3thJsT5?p4gKg!(|`|cAU;+KD<*~b8Y&<0|K?2A9r7?J@1FAxCA>;FhI$pC02Y7;+yKY`YJeVK1~>pPAP9&6w*hHD0Z;)n0A0WcfB_bOE#L&W0}p{m zKoAfDyZ~Z>1Rxbi2eN?zpctqCYJrbH3(x_41qOgoU<#NAR)H#5(0^Xq(S#U>L6Xv1CTk$4&(}Y2nqy+fTBPNpf{jwP!XsK^byn!>H!Ud zra{Y~9nc99G7=8b4J0ZgMkFpIAtXs8MI;R*LnLz~M2^-Sr6F^*$LSfIT$$(`7Lq*ay4=*av$;(@*46n z3K|L_3M~o;iU^7viY5vS#Sz69B@`tA=ql(?bQkm>^jGM4=nd$-==11D7}yvz7+?$;3_T1xi~x){j2w)5j9!dIj8n|( zn71&6F;y^4F+DLOFw-%sF}pG6F;B7Zv6!&Lur#o&upVK(#45mQ#u~%g#m2^_!-in1 zVOwJRW52|HkKKknjeU$mfWwM&7smj{6(<}g3+DsQFwQP6E-oYPZCpKE7u;~%Y}_W? z3EZP=gx5H)$zL}i@Z#`F@VfEVu47(jyngpO^t$i$ z#OqbphpzAA6XNsWtKi$>hvMhpx8pAnpc60>NE4V6JSIpZXd;*;L?)ysyh{ip3?xh^ zY$lw)fp&xGhWrhy8zDFHZ*<+*A|fE-Bhn)BAW9^vBbp*cCT1j-C$=GuATA~zBt9Xb zB9SD4lRPIWAn7GJB&8s|O$sLsCM_f#AUz?YC6gwzCW|DiAR8w~A!j95BX=iHA#WyM zqqspKLII-)rYNQup+ur&rBtW%rc9&!Lb*>xO(jd^K=q2MiE53SnEE!g6?F`CJ@qmT zA&oeVB~1)X1I-F85v?Sx4ed+XPqbTz#olr^U2nd**>&@jj)_i_E`Y9(Zk!&AUWnd| zK8C)Lev5&IL5blZLoUO}EzDa&w=8bO-)g;e$jHQ~&G?kDf^mt7lu4e+iz%0Bj2V|% zg4vPzEptB$8jBE%HA^zfS5_oeepU_ z<(1*}Fvzhi;^soR+4#=8+W+xINd3`b9h(yuFu^MQpi%WQo&MP(gf0)(h1TN zGITQLGPyEavi!2%vLED7>dm3O)*-6mb;qD<&w;++)4xbgxay* zL}-j^GHbeOHfrH%8E9o|9coKyM`=&#aOwEybm)@nTIyEnq3dbsW$NwgOY6t#&l~U? z1Q`q(G8uXpwi}Tf*%;Ls;~7JZOCF#;(0-8f;0&q)eGA<;kvB;)*@E4L#lu!jZ=1%L zF2lv(QSe1GF|#PMC37+JX!B(Y35z(3HOsq}36|Sda#pEUht?|AS=N^}+BSu@7`6{= ztLzButnEJ8Q`>vk_c*XQ1UXDO3OmL+ZaFDBWjceL4V^1pZXi18FRsk4Ph6+n#N86z zj@-4}OFZyB>^#1BvU)!ET=bIh%J4?aqXh*(b73a)Yh~IRy3^#-*X9xuq?nYo)hl2xVkvl4piwo@d!*O}$fp_bFR2J3EIm zCn6Uq*EM%J&miw>zEpl?0Y|}`LgK=Z_rQDC_bWvYiUx}niyKRXN(xGEl_r%DmIarC z%00`sDl96dDs?M+suZdkt3|5IYB+1MYH!vi))Cc3)MM2@uD@*XYS{na@L}zv`N!Et zXzYM;8A6`R{yWLlb9C0iTX#M)}xh1;t>3w^HW5a=lX!vCeLlfSd9OQ5T~ zTd=$GE97f+k7!SQuSD<1KB>Nze);~60p)?7LCwK$Lk2@r-%P(P4ciQFkGPGTj{1+G zjs=fjACH@$oOnCQGFdn!FjY4#HT`Ag{>x%x${Hnw1=~~b_{(8~|^G50B?aeP+I$QJGPTQ9|p}S&%**kb5R_|K4u+zFa!)eW&;BXsH#JmD-@idx6UKQ#$K-BWDweI@lD^`CwPMmsvDQC004?LTqo}W^I()@obeI@AfN1*Hc%Et|^}PUiZ$WtlXTI_Umgtk}+QJjry2= zyv9JghVqWq;kFr5y@#mxiK8KPFU^;TYo)hX7^AIYxtgPmblx)GJ0Ck(Z}B)>kw_)W zQQ~*a@lkr6@c4dDy0bRT_Ab-$21|@p3#Lw8=KUkHm`mV^{zaYQ?lZ1ni5cT)2@eS~ zI=m(-Y?|F>zdiM#g>MnF8kYdcQiP999sV9!SUUr!Bok$XalQ$78YKW|r`gE}Sd)62Kdj!T4r}R|U9q>utWdSf^nw{CwL-HL`~J!HSel2wX9;?d6MeYS3;HmECzHhw!8u@edX+zE>5C+@~ z`@m2DthQYO!+5XHAxf|Ov4$B6fY~OB-`stT~d@KuuI`DZvYyKyx?y`Vl6SZ=o0&IVXFE!?vY5xHEIgu$@k;#&_8ou z&}JjO1nS@2ROVD>d)01n-ac9%5!XF8%%^p)m_;L|T=^>$-u|%-CH%GN3&;oYJwaQg z3}wgpTD=9g2(8hjs2c9FOMuKnrLlb7bw+}~B7q$X)2!c>P0?(M;C8UQRNe<9w;bZx z42x`yDD_YZ6{&%W^{S;Qr+cH|)RGVLM@dr0p7~g|oErW1o#Hwp>l}yXUyL};>m^Jj zQ03Xh>5j&ybLF9^>ERRI+I6l#aq7hA@ET>{PPVv%vC0adw^kLaDMQ-pxgW6 zW-D=jaJDvGi?mH*9F4{~YeoLL`GtAH@+GjPDRIP9kl}is%Cs&x)xnk_a!W^X2>M z)_tSBR(Hi;AK9MX@$F6}>mI%!d}w>5zfFGh4wil-(rQFGwBPoq9nA+@rQd9jV}~f5 zlO1-f`Fx5%bW97K?2)a>`vHq#!(HhHj#=0Gl=6)T&U$nbtot!bO42gx%chBnE)x~r z_Jf0B4~JXQ7j)Y2=Hs-UM|ZY7Oyx0nlS+Afv-T@Ugd3A`Z{<#OoxBr^MN&-c#6gK+ zbzKCVmBz8bEc332%ywL%w?%U4rb$_ILo975AGCbq=3KDAToR5*Hd8pdx<|81PU%Q> zf_0lyXqt7dp`mTgXjWFXMnHOymb!2*ix!RQ2mHvk*~kDPe#^{)vU`y&f0n|E3;$aT-zS!pPY=6A8m zvC9qA7~HYtYCQB~z{>mNe{G&UFKgb#l$P7Y227cP4Ct5^+-5A`kY|ye;4&+}*`g+2 z+UqSoUx{B-Lck?5m6h&gz4ui<#`+Y|S!d zP9^)|Gkv)W#Y8UI9XFU!$L+OX{C`MF(j&1 zFFHiUmO8}m(EUKs!zn6@QU%+KR|ZBa0>vT0ACF7!u2uxxyb5ceAPt zn_on_Ju`k*c8zd$)Gxqz>%PP==V^<32z)w>tHoWIF`vyq8Vj-0->GDL<CCYm%q0s_Jv<@1)OjYH|?tO)Hi=Ai8k5wAoJ z^?hibRd2n(q)xeW82{-KkdQuiAKS=Kco=zT)Oo%+f2hABD$-Pq)sgr4S;i|2bKtrL zPKxthtC3GGYb?tt#Jj`3GnYCB#v(7ny5lZySrE~kc_?-;IOFM>iq#4lW#GLNif(!> zFl#{8S6O(k0BiY_M8vybFkZGUe$ifrMY_4NT{nMd>=MxMYF$5kZM5o(b!1D~rD;My zb`2Agg58g2@r{WLI)o;*OFhP9#V}*@BIIPrOV_VHOIf(<>@3$;U++9WZT0I}#(8=z z1#?KrB3S9`r$+ylqRqrw7sKN-_s<$s@ zbVy*bPzKyG3$Yz|oKfAW-^X*`qHR6B_u zjCmUa0VbKyv6C0xJx#65={u!~Du=eND+6W6wquJ~n#zvBN><6krwyl^H>0P0gCtc^ z9>8C+2t5bU5@1s9x5A9$XI7X^Sf#Ukt(WbUSBv(n;Y$(eZ=R&ikCRVD# zTdL}6MHDxT7kGMdHdPJXDZ|p@An30tQ?7YwXylSfwsdWbrVp-m7w(TeQ%O+^2#t;| z8|kt1uJ9h6KeBp=zTMrdI`YtZ%T&4RIgIr#8-YJB?>h=fn^5PZCseX^UPr9T<>UtW zoC*&&6HZ3Qi;I0WojrRU8C*2xa{)1UL_*Y>=3Ngz$vLWkgzA08B9yMlNPR8N z6`a7xn`7>{o}*0URRntilAN2HLbB+~RT$UNQ<)CUvhCL#F&rQHYTeSNf!{$VK{@Lc z1k8&1J2Vxwr74F=+`dRypKHaC2j*}>rveiIn-^4JyVp{J{Mls5?#R>5siKsEz>PY{ zl}^09{v>S@6Eu;pQLp38HeH+4Lu`$I#GO{}V*wHkJfA)$2YRkMx1+d|@&Rwh zT9L6nrC_#@Fui}Rt_fjcb;;0DHR!^R6>85N9Y2T)h$-vku~Tu$OEluzj+mWnmh>>Jam@>!ALutOLd2%u_ zYImYs$ESnllAUJ~X1E>W@->3%#${aVMw7^AY_^#mfz1grxig6`ZzZZ-bOjkwG;JF( zD`iTs&Mer|vpX+}m2+cCd{pF2WA_ftR)06JzBZzuw3=?q!eqN|eReV0WPEMsVK-55 z7f+>Czrzh%Q4Uc(<@B`#-(H?W!XbM@7HuBzH$xo(q%O9o3Vap_@#3* zc^fKd{v*Y@Y-jU$A;|G=DA|WiG6~)hC4q|wdkZ!24?bFXJ3jJ^2kf7F7 zug;So>{ebb0q%58h_%|` zvlKd88$F}Wn!E&%B&KqVE6~>toh?b43P*UGFIc|Xd~%eXN(~-zHxlll?xM@9wo$jP zs2~w|u^`lA^1l9wI{T9dWd0q`1|(C@;8=x9)srBd8}pc zc1B#7KZ7mBrK;k>AZ*QS!%i!G75cn~qX(LoKw$I*xkvfzy)E;=Vsfvq8U#c^i zBl~UV#u4qXdeWorrh3t>@bbjcLIMwSt+Ii=koN1yx854-cd$DeH-8YeZIbm(!?F$H zF;4E(XzWj+AyUYs&S2``vdF8`Omy2Vnu0mRat|_b!;pH)4xXjKqbF~r=pgs zN8AuGwPsBYj#3gDKD0lJh!7XK_)18;pLkXC?Uq; zcfj+Hb7fNb<@q_K-Y{e^Cit1PqNpx@-W7O3holW|dq0}fYS%kPDb~N69i{j*@_xHd zkre!nf%o3q0*r*%TtxXM2;WT)tgOjdC0^OyHaV*yiG$po+;>aQc$zho7fpJsHH|Hdo{DAgF{6AGNCfmjykyM zt9GH5=0bL}v_%y?n}Tgw2SsW6oti#i)Sn#;DrAme{?C6v#W#N@6Q$Q9b z^nGQXp+e3z-cWkh$S|RHadRcf;TjoyONAZtbD47*5AP?UL|gYCdkEq^{k&ak9%nk- z=|yVAzbZp|)+e5(oFS?uK$xYh-6WagYKz&)7jvWMxMpUON>5KWUAQ3E7Mf$_E=Xvl zmww33&ta^ZJPY=;d(O}^#{PsvS)izc?#oiolSGqL`=?GgtwiA=pSSk2?qbYrb>N|6 zY4lUg^i?bAC%)pVa9^mg&TXc-?xFZt$f}+sbaySDK09%mht#Gq)2x40{fUk@YgDXI zV_Mx@6-2+JL}gr}67PsXcD>`&?@V)xBtV?Tw`a0Qwk1seqn=qRJaeg`Oy-Sk#u3U< zu0m;fMR8gGL&Yf?nn@3DqvW){*^;|6D!5^mu2Ab6y~BCYubv)6V40LyRbqMA3_dN1 z#gO4!sS=KI)KYt#K1(uC!)g6)S71EixNSR^d212W%&+~_K%Wl3iibks|we-~*gO2WMZD zh-q!3TvxLv&rd80DVEuWMBKYD=SU{~v0>86ZYlx<7<9-@vb_hsnpRXunxIzsi@pBsFkSzxd1srUB(^_?Dw?dwYhxYhLc5e7$i+Rd?>v(t?s4#2UK!ckk!L%%_bXtmdqE z@m*k?P~V?2nByEGafa~vH1W81jXsFcO^B!1||&N_^LNKMP1`o$X4g) zc9iGqQ=ZU@x7R%9U?U1jXr5WFAY$jR_?qB8(8X!ls$>$Q=U!45Tb+9EVk9(ViUx!B z_O47#d1Tc9IjJdfxWC<+5N&wU(C3C=;~Bpw5pXp@hMwzaNCZ$0jbd!o*5;FbBvQ+*x$O#ZbuP+9$`iL`qb^-8?}EsZV|j@qq}H$TB}O}^hG(^P z5*dYyw_ZP&L<0^BwCJ-Djqc0Go9Pc z2t#+&*Ar7q<1s6aJn0v@B<>BFglN9GpKj|quyU|GRP{>eLB&CSI}QlB;j@GDv3AMR zLahAz3i9c(pm5qCo{vh44+U`T{}bb8%Dj5cj6YV`DrH&UG!9A8#7z6}o5n_ul5KThk*cYVpe zKEt_^a~;S0QD}G-B2Y=VZlL*o-zWW;Zp=QdZ1e4|;luD?erDyETk2_{^Aw+12bDLa zecUz=6Hf-qGRJh9d~Th&3ogDYI-KhQ16`7f^qa^>j=NQ8yhPgEg?GxxnlQ0N`Ss-$ zl)Dw8+yf281}K(%S_z@x5nXC*io3))up*9D!n+CAlKJvBl^8Nps&|zYhKjwDgtiSF z6|0%YY9ACoX<1veQ=XCmAhS`9qjdEn=|pl01a;|oBjd(pea3+jkjG=UzT~_1oE-Dl zHDvm1gbOJ_x?G}O0RV<+s?0%3aU9`Wr$9dWG0@-01O$5qK2lhNfvlf#HmWkBF$HLLy- zhFd7|LN+Yv5^zTzLZ^9}m3omsxG7QPwcct3DqM94T$RHaDl&CI70&*`Ce!Yvy=ou zgrHS%3?e}@pSGH!R3L@V@=>t{)a`XA_1z4kxW!mYkiI@aciS9uC*8{;p6Sysn4-Sp zRk0w^Saz_xPE&OWyu9A_2m@I({OH18ZGCY>!ub;5W{}g2A<$=Vqd#N*9gEP@$_YY- z{=##~$4NrromNbGv|5P|Ap)7lH5WTKgozxExNXQH^gQud3RQk#@F}m&tek>;feheL z#1eHP9ZwL{QneQK5#DVah@*1W%pg(cE}i6$);i>0opYPwiP>`P&zW9<-PDdt+S2j7 zlfsLy)Wwew-Q{i%__XRBGeGzOih>_wMdwH(17L`c(RDI&50C~7E~DE z($CuaX?M3pXpK=Ig$eI@1_?^6P#2GawwU4Tn4&LmQc5r}j@nb4#1A9WI@hUuwE=J_ zzOgJB%Pock73Fm}3&x^sbyZ7-^7@L6Q~qygq%=$xx4a35j#nhT;}Xca8n0KgoO=X2A99tOM|wj z7&n4A40YW|xWDiq%$Q8t6ABrZcQzW^*7F{$OI+GN9zEe|>c(&&c!F~p!rfc2^qK#? z5Np(d%Ns+!SuIQNT`S7%c_+2fvJkh5U9<`Q^Nfb6HxoA)2K0K(kO+Y1%r=03te^ z`8mpx%WZpMWV!sfT*7fioGm+cZlgM!1TTKNVK{sGeGI)qPK-&ChNpd36`XXuMcsb9 z#*!ZK8lI0M6>E`~0LrH$wHbS)Gofw7o9Yk^s}HTxHq!J%?FSbkgZm&-5^{K0?RBf6 z!4n3%Pb15Wx1MMmhZl>6F3uFiE`B0?IoR6XgzAhrqi`IK)0DZ(|Z_~?&&PFQcYsa=9PSwWUKa=}lMKd9&A}Y{* z_#wB#;Am!f|2bi>Mg)7akP*g_wI!J(ZJFAluL zvq{0iXSq!4`cAQ9o{7anhMU8lF>%98r~|N2B#lQY%AoEq6Z?lkqPUnc{2ZTWGorM7 z?G?{EX(&PqwYY|Nt5^!G+spfE^lriJ<9+AbY}23Nfangi$W+D9dap?kF82lRSUcI-zqH_sokz1=hg~ofU;sae0KFAx- z3NT4A#H@#sG}4$`lJu?G8KV8T;(f%;+2i^2YP44>^bjur2+~M3PtgjtxM!wP-6oJL zr=pE=J&;V~Eyjmgod1WYua0W^jsC|(5Jg0!OS+{SR0JG+02w7M0>bFgF+fRa84RQ) z$EZn;9*wl*q`PzEfDOOV`>&nn{XF+R_Z9cvV#AJ*0UZ{4`Y*;5Yi?XE z2d3C{5>Z2ZAZNq$+S*jSC|Se@%0#zC(AU@e)f--M+V{J}T%1E0Ln^JBI4L%jT*Mz* z2umb0gyj!ngwC3b=Fd?h+PQMz3_YXpcSW$b>6u103(+&XE)|>OtW}u(jBC}P?jXUW zZp-S;gfnHzSqJJj3mivYc&I}wDb~E%w5u+g{iu8VAIax=q2KP%`A(X;JSqd=zQHSG z?1--(?+C9tWlX19+&jx0s>oO?6ZZgZVCLrr=%_?W_^{GcGT)?2L0-C-tt&{rj>u}5 zo164GmmdU!bB?qQaRNESTseEFVfk?A8SBGVC6M>~Imdq_4{MoUi`++$lbQ}$w;7E; zG{j0}mesdbTJq=}UH{03c@-p&(4M3|J&I6{z|K{L?Jk)T7P!<1H?pekg>`jt2Y#?4 z19ojMjL8E-kPnj^So&s{o307yRibnOkiXiU*b%u}KG{sp+g<734kJV&Am znFQ2xj_o?@{UiB`RvA8jawyUge9UD<(mPb|(aSMA6Yb%l)nqOYni*)a+GAg^Bu;PO zXbW~wo}q2CtV(S|vqC&@q4La(?T!CcgRY#6p0xX|SU%CZ)0>a8{_kms&4kEdbJcLk z0L@Qte!9{G#&6Yow2#)k#F@;--fyhO)@UtUG=jEEs!W;!2J}vY$(yA{@P@0IF<c`L?bqJ*Iy-T+mLO$%npABu|99P&>wYU1-qNc*^iveHsqoqx9 zwI|EL5A79%U+5>BE6hf5CUa%1I;dP2cqrTMzgSn3$Q=N>CNAur2hnANo=X4+FI5d> ztT}FTw6U$LEN8lD+$UFgqQ14TVA+qRzT^m$L)q>Uf;%s6e1n&kb!Nt{+gPioa;`Zb zl9=*xC3bw^=%IqnYALMAR8gff=kBR|@f5Z@{kQO;OS5Cis~N6XssY+mM^{8OXN+eY zYZtcSb8bk={c__`xJjzQ1eYCegT~_v9WR=el+>v{kzLk2%LsZTy)P{FvuMY#uTwmH zid|+Ln6IECXoJAGhn*HOYAD1%-N?FxYALTupMwa{8~LCKWm<^nkIK2AJ5MV5x^;d+`t) zpqI}(GIt?M4R(>Lf>of=XdKT4{wejjH6c_%#I{&{d0%{$wzsr+DYaXf2?G8(Gv_E& z+EvyVmlNVy{<@at$R~nkE)Y7_Z;;jVJOEJ{eG}1FMS*(J(fRO8F5R0)N+3014}d(M zOb>rwE5_T%RS)lsCGBPr!^+E)XM(+*zYRJ}X(>qTOr|hAYC=8G&jN4-=B=$VUL#l$ zn5WbY=WmM)^>|V#z&3f`GZbp|9_YpjnyNDk%wU?$Xe44h~C2&krw+ z7DfgZalACJ=1TkO0fs)&2>qvG6=(M*;~(6~))r4(q?x?G{%m32Qz?=k(k~VW9EW#{ z94qs9HW^AYl7~EtU-;X1#@x0#Tj(=^4axVO?lnJ#W$EW^T>VFoL$Djl6 zYLY9~?UO^=+#k?wkwPA~$YBPC@nfwQfoQGAGe+lNwB3dI?2(c@)-GxZ7r1oD>bpFW zazz^IwGR|$?{fBdlne);on1*Va9u zUhMaR{Xl-g@EsNgw<75n-;fE0zJOJf`|8L*O{sn ztUl;3(Tk3TwPa-#9L%=t)p%n*k7TVxd-8(Sp8#|D2w@R+I?B>I@+}Z|)^TLqrSmi}E*I33HG2W9<%5B{v^7|C}TJ_AeJvmYp|`BS+pS zjOk*G#y$EKbo@3=)g4TgZK+GHV4d#4Ox8>v)3-adI^03rb0$-VW!{tCJha*`;m3R#6}UU#hcusFlFQAt<)vWo$kiWQnG@Tth!^DHxZyt%)49{- zXX&w{9dvuWeA)6Jk38ZjAwjU&Ax_k|bE-~aKh#9%>DbKdffTJebS^ykz`DuB&FvKr zW}I2wB5QXz#ZiUw4NyPX>Y-HmV{;Re+6vU+#osgDbsDhO)~LHXXaIVkJ(5^AVSBKs z)=JEhqFRkjq_Gm;F7GBK64R1rd|K~+Ecoc%e1lJXYR#UpHJVy1$f`i)a*+*wkGv9K z$y|wE$?D+6y4j3(>&Ok$RJHv&XPDV-b!{9edfAi@;IvN&ZljJ4Ko0Kgy|ReTXI9d^ z!7$6Y$>e97;~Sm-nkDYz&?j<^B#i6q8g*ji@gAWVde(4TiDb?(K;bka&{;n&V-a1E zovoG|rGJNEt#mt^%e1NIJcg z-IZ-eo|^fFF30~E7fJc}_0zYH)M4>#mTVMI0BN0i5Rutlao*pVy<9xI2sYPoDbx28 zEcfNc&(9MtH>|o34BnKIeBfWZg5KKi^>6zP{X$LxGI06HW zMH$+=YG0Cz*EfV^(VIt-xI0E#K8B5B0Izju zP2R##chNZ5We9#rWNGd_IvVLx4v}so-Cw;{p6L`xP8A^Ts$F(rTl6&M@ZJxY zy7f;qfa<}LI<_I*y2Ws9oQX@OwP9(}^~iY;?&Rq3{0B~DSviJSs-Afi`&xE2LflKt zU|QB{+45d;5s{_Swy`F|aj4%Jn=g!?4Ack|v*x*BsFr+lgxfdh1Ke|C3rh8}Q=8Z3 z^6<;tE7`;IUdlh3HIK%l@wBUDi=C~K1Bj0&3K@(FG{&lZ-P8QZJKb=Bo)+1jJR@fh zMJYv>)^9jb@`#;VSAXt6YHqfEl71m+TOub>eM`#zitVW~hu;4lP&VeI{Y%QD3LTL0 z#>aQ{9N*=xC|w;=d3d}J&L{3>?>v0Ka&TZNydVfZKIsXFCjv!R^#xuZe;J6ALkl&u z#UhpBV``JaXe`Vvz5v>m9K>|+ zX3f5ff6*c7$C=1(%~?M7}Syj zcPy{%=$CS?bJ^E2s^vN8IxlAL%u_cy;3Yc(tWw`+X}%P@=aK_X{d~!No27$XCi886f8Hh3y%y74<6OVL zs8*-^3YobAmYjdKaa7~zUV^W)=;jmF>>z zqYo&ekCitXilk+S99OnK@ihxGWOM801Nx5pp|Lh_(*E_*RDtI5gVNpB>FkH$0+SsZ zG$*{19i!*IAC}FDWO$NG0T>AP<1^IFk{R2GwW8~8YH&dFD)9%mQwBSTkgJzCS_t6E zkM#7XoVk1}taZL&XjAjtHut6FnrC1wg*TC|65X4Qgf|Z)dO&1E=!)vJD)T;<+SBvI z{g!(5Wy&8dX*J#s#Y(?P@Bk3lO!9 z)k#yt*Kg#wix3HK2Icvpha&o1JhQy}6?W1e7qTW6o09A@4ySCU2~K%`=_%UtDKPI>J5;*;}^D{=bN~b4EM`C zjWo4)2xo=)@BXIs_vXOb1RAh6WwEibA2*YRf?#2VTKe#NlwJjMh6r?kxkZL?d0F#8 zGyZL6QHBqs^yG6TB^hr_116MeE32(B z$KHvQVIYTtm6S~~YtFW;!g876cdZjlVl8fe@K4MPoMavw*Yw*(yUJHA1lQ!8DDSRc zBz;zVBew7%;v;z<$###}^ipWOb$oy!)9`HT^-a-)EuU0Iqvk-sl_mC)K7r~zhew0j zo6x_HMQ?OYEB;e0ltGoQFZQ8`oX~h~1Nn5~3HuBs8;Q0u6DG+>7-j-ZU#rQQoNev% zd`$@4Kt*`P8FgIsq^=}T?xd$iDro++=q|DMpNjF3j3_VKN!eprI2gX-G0v@5C*ch5 zFaE4<7*(K#6Xr~LtiPJHq0cu)4BtLFq^{mBI{**qeTmwOQ|~_)NA zYjQfdYO`ubYrVY24n3}Qi3s&uVjXDbX*r|xi1pl`P~;WB{BTt=Q`35xl|c)9ZZ5JC z<~@p>>6$u-mN=yAvQF4{yS-i3hB67SGA+#S`A0IG>DmE17W5RISX)m0q?fNr0b3@o zBCOdI9CA+Z4ROwnE)E`vD@0VaK*T+ZyLX_Y1sS`+BhKf_`BD4%iTTH04DHRrlD?dn z5faNj#eLmm8y=JP{d@JfRZ5bETpY z2GtsxRysJ$Q^$gd0qQd$x7m{TO+!GnJ`d_Z-#MdATHXx1;WELIuN)5Sdaes@h5z+HAo_~uL5)=H1FU9!A~mpLj#|AmMy>5$uJQyvkZ@Z=PKwNR&& zMjK!o+{TCY{oB~R`zM+E_!Ie&}im-x8dgf zhHliwRJa8dFm#-le_Jxfh>U_;ygj-hw@5q3kv2~DL+@r0GBv+(QsqzdZ z>CvUgXm$IZ`twi8qVy5ckAQ^$nQrY5sIa0e)4u+pX#ph3ym?*~DY ziJyUZvawdiEvZJAa;#}rioZ4rTe?D36Cppsg!==a5bFf_d-xEs5Q;?|2t?M-gEK_H zue;q+%E+6r8hPBTr1G^evRxPc#w_uCEQ}fk*!2Spq|MLo?YpG2uA!n9UTiAyfxX3} ztINE37&fC3dO~pXivMW1bG16+WQyC>fbhZOv(Z7|T#VK?yI^b^vK_-Bb{m*}?lI@OWK`N#R^*j8y; zImwKtZ^&pOU7LRl%Wk=W_qWY!h4h2jz|Bq4$eMP^ zQQ$4kui5H|-n-r-%JB|6`Z=5}o0W@qGgq<^Rf|zI4MJ6ItLtpmb?Q85s{|xXCtttD z(7fyTpS@TP=1*nkyH{7w6lgwaSKEGnd>zIU4;L6&{rVMyV5x17&&<~VNF~LzpcQj$ z3HDo8IxFQ#%mO;!RtJvn(=xe}s_dVw!u>DlCvp^8&Iy|YNSz`?fo*Htg%8E5w1*ES zpcTxr>2c~sxaWhCb(L6Y6I1DM^i)yY@=>Z>T#x8Trt7H;v+sN15eNf5p@-$gRklv5 zt-fs^q1+^%^-12?`JeNN&#T;*Sy{E~>)zE<2a8+5duL1U?6TRgl;7f?q!=&vKK_KQ zJvuSckzEnw7NF|HZPi`EoEl-|qj|NVKnONNW3d!Xf>#h?N2M%Ro-0!7)XukcRd$6y zJ|>(+$n@<=QGgRIi$^Z>5kUCCc%k}3a|k##$tUJ?KJ_Yj|E{SRx_zeT=u z<}_sz9!O@9yVd0IPgw@kq0>h0FQrE|W;AIwobdDzDBq#0s?d|RIzkeEXGx^y#1M3A z;Bhoh>}vW>d#O>n#!PvwC1yais23RKFrH8oos#9+ia5U>NmgL}xt%^VjB>PP`bFow zsE9d0nH`g|j_)1}T|*sf$MFeIvt&Ga=S_2D@o$ghwxT50bTY|QkYXr5&XgB>37XA?s6}kirXPD7Se#iOigNgh$`V9huEoOc9*7lzVLM zM3GptvP3SGGoQKAnwo|tJ*xA#Sy=IL3kpSP9KeA@xpsE1(A(s-l)fC59jbXjh0dLH$uPJ>GKTqE2Kwq=I&Ql*jt)YVJzt#*$0zZUd;bg@bsJoq8NLvMB` zaaR79>~@j`i|LQgmNPWGlb!l;%V ziWi^-HiHHzAG`SSXcRQePu74nJ&`X8Gaae@98a8Ak=wh&>c950wF1Mn-G~{`kvH4Bie+n9{u!-ZAV^rR zKKyGj>=U!@tz(WB*{vJOsX+fi$4F{fcA`uqyQo@V(T7i)D3jJ+(SqbFzdTr4RX9UN z4&|+WiyJqBdoEfAX$ybZno=2(tIbWiP( zpWP$Qi5KbBQ@b0T*8V~HczZ!9Y50zE50Th(Vv(Qd2glT8WnW8Qas$H(t6WVXeX(Mp zA@v+}MtFz7a^(#?>m^xHR(2fO{~6BG5%2S$-Ur>_&B9@wyBH<@=q@YlGnT*U79Eb)6&JxV zrdwXNxW-EtdCH8Xk^qWcK4e7ilEcBgKTX3bU3q5SN?~~l#_l-oh;b!23cZv_w1OOV ziAA_B zj`?!4=?>V_`J6Z6`Es+k)IvVk*?r)Se!pOrs8yNHN0r7b^}9@WG~=o#%fSEvL~4Mu z7>?Hqfx_6#@&NUUnfZd|k)s8-EV=4@;L~sujWf`&usFQD!9fimqy3NM6F?`}NA17< z->NkK|Y7`C-OZ)3*-RPwcxusM@GmQWN%Jw&OS}~ zP4_>N>Zu0K1^Oe^p+md~GAi9;VR2gulm0o^)v6rlu;9$au(7EAM}$FMGJ=C;HGzqWX1ag>mzy;qO*uC~YuXZy?M@URlzZ?BX zlvJJDU`(=Za((=)=fm289eNm|OWLEP%CN1(0 z8cez&@Tjs1LJ=eB*PazDjO*SbjyEZ+GqO@^mz?>}@=28&gB^lrLX=6iT7{0dL(6Bj zmH3Z*qEF|Qm%Zy}AY!v1IZU`GY^;WnZ10Ks+Lqixnw@l{WR|4I8pveusPtXpmxX<% z^j2r>WNQtNqMd>gknP?4l1XD@V|bv%WKzmn8nlhr`Ai3?Cah2x@>>l1 z{?*UdmDCk>G?{g--5>WvHEdpOMo8>`T6q}7k>y%urUiGD^USfE5}b>e6*G@bqoVsN zNNS(vBkVWi{mD1rRzjRy?Wa~WS;-HEbLWqu0D$0slNBpJH+3|dCQS2JE60Gv>$IM0 zdl++R#fKdXXG2|^oeLcAh8w?AgAhIcF$6~~X~)*d*o>b^utQB>b3}ENcZe$tmY$`t z$hFWg-M2H=K-HYPch^jS-PfZHIGP)PkjCi+5iK3=T89az?auTpB==a=)R3iGS^4PU zvAjg&K>ao6Uia^z+Ro50i>=;DHLeFvPxP_b0;lvJcg9>Y+1BZ1VWq}JNsZU%m-c=% zj%r?9d;mUa@8*5yn4TVPc2*GO_Xaxp9{o-4`{NOKfm&U62XQUctwkHZeVL+#D3`+< zb>?zYKtZ=64p0!zVK>2zvOG;=SE*kxxf5dY;&$UwliDDa@h^d%t|i+y29CvjPTF$Pr8(q4}FfHAR-=VC>O`taa}X zXntwQuWsMTl5r>;C?1;&9F0wCbZ@#aZ>236Gn_j^sP+i&V0=vAUdMrl4TaVeAx5G- z7i@H4Q}$(J@|uZsB#(Vo@6h)Ky+U$GcQ02t30wcz@X8HoxAhIKu*OQ7=SFtQ&y+Rz z74mMK!s!PZ6)7H*(x!bvEd6@M6Wwiq4C~a()gCU`T`lCbvU)bNab6XhDh8?9_lJgn zpgSW@$aDMrL0y^H|KRRrKREf=+}z}s-28ap8_gmbMPeV~`FmfFA+ppiSu7RpIxZO| z*XSZ@V0I#QN)FELybkB+t+au*^@(4Z;$M;EqXV4F>8n;ldopO{=%87-Xz)h-9f4>V z3!}j^2SG)DJho^r)8F0Ud8%RKLaK+Kb?G)r3X>x3A2{;&aBri!Uh^B$=^%3G(NIBR zc^A9-p@k?FquH-T$ zAT>U65Ih0jyCmWX*w%z|PF&8>$%^e-!nK~Sb;r2{J?=H~on7?e%H12b_-oaeZle&H zL2v0G^6w_Q*)NQ_9u&>~*SHupoqzKR8}rb#^S`_zNBTD{3O$8p)wiTpka|fu(5yuT z2USDuZGn?%z;yn8GwYEi)k<&-gfUUhBU_!KgFfep_RHAZuy(5rIQidrkgA-4E!o(N zGjCu0uE$^W(meWa#mO~gPcSODJMQVuZdVXbzz8{>s(vaLFr)m)+z(|Ti`_@gd>;_H zh!M&1tml%^D^T^Fo%Q^9!?*1EXrjZmR{TFL*|E|zi$>sjQww1JkQ+7$yVwgFI97aAFii+EOvdKU+$>lM(!2>$j;MCYrj)`sK@8c5Rk@Vybvf@)qmNZUC& zlm)-S2_#Pzs)(;pJhHS+-|!n|6l&K8RcJ`A8qKWGWLL(5rppQI`6kGrVB8DCjAi6g zV&c;cwzjvv`g8cpj9WILtbthjKP<7s|Xw$xOc2OfP}fWB}@t9L$~Tu2^%jX$e0I z2t~p6NM;Bx4#4S-XC&m<)l}ieu}_D$Sy<`t+7snd*Y9we%cf0U_6JKxwast~>_!Vy zlDaF`dBSoVNgYThMui27>-T)Acm9EbbFRT)&cS{x8cu&5{da#?+sDxlyz~= z=**z*mSBeD3ud@=*(SeO<%ubM zjpySyj;%nchlHsFoaGISV}tU}_O{}2Ufi^sm<(w|ZxC)jadE17?`^)uQv-%jl+lLw zIBs?KDu`9Q7#Er+L8aX9ZnYU}1xd9tJns;y zwUd?>$sUL+xGo1MYX5ai$CrkC8Nc=MudXiH5APQ}AxGQ*N5E%z)zv{Jd!%z{$I2Gk z86eH_ZXymKHQ$2S+xI@7xneyOx#gy9dTM<20?Wm8LZx%3n<&_QXeS#V@U3eA`k@R% zojTb*+V)0*ke>yb>{b&<>}S~JOeBc;Do8~xYXtxWu}+mw-~BcsIP|)&_c2GNjacOW zdVwyi47w4nHN7tJ^_M6dD`3|E)bHlSL>q$4cM@-?ZMBh=KqRSlx!GgjPLD~yWbtTM zPm6S^Q6YaNuy%5$TKPT%T;UMJiOcmJn^Q>aL()X6-z+uo+#zJTqkzMl$NYe25 z%)UFsAjU0MEtf4blu~fm<$-TC|41H36+MpBiBNq#!5$~OJFc*H+K2bs7|%@iF`9P( zX}iS|dv#RJ)|DNJgw1egJSoKnl|A{1vkak&;9o?UYbPwPkcR3^mgVdZ+&;s zOqC|$_abucD%d25R)KOgI9frV*kpcsYfAh_wq>?Q4*#p%(E&z*6=U2Z1%dPE^Z zLatNS!i!UzIfhS@Q~6zWQVyGLYUD-2o2+pmh>-#3>{|-94Rk~}!?FjZC6PX<81J9x z3EL6YziJ5=@(1SuVdT7h4$36}ea{GY@wmN+~FHV%4dttRL8OQUBXVT95!a_Y72W*?`YZrUqT{HY>LW{(l!2zt| zuqbuh!z)s&5U7*1?+z01tldMM%(nLGItC&hq)5hfuymcRPA7n8k=m1+!_QjEO7vpP z`WMcS&eFBl!f+>t2{;Y8mqR`Gj9!4_s6csh>U>>!o`uWZo@pNCKWlb>0|@frJxxC6 z@j#!^t<(MT=JVF;^f&#x!+!6QU1V>m-}#~l{tLd*2A0#+rNb~b=)naspoXU1;=#6u z3nTp+`&Wp+=+aT(b+FtTeUq!J)S7u@gy8(k*LST?*fLkY*b6`LaOQ@=&Xf)b(Rfva zeXFzA@Qk4s;Edb0XvhTNCS$sR85H()oGnUQEP@oB1AJKa8S@sV3< zu-8tS0w#gVVJlFyMFM;ws6Tc!DJNKW_7s`nmH&Jk*yuerg&*x4_&sM{$ zj6Q_k>QQvyk-VE>R8MCifMsHNFv^A1y1qB&8F_8kAZp%$0Z_U!4_#WEU->4_Ednx4 zXTNfIz4xs&$k)zv>{HVA(l&I!nn+7!wM-O_?N3jOPxQMb4T^fYJ%ej!ncPfwc$w;t z!!@(iwE4A#^Uc0HyPrU`1gcA4b9SHSi-&nFo5K!jR3*~vsqp$WevN1yC#SykdZM;e*kAb{Go;!}h6;y&rB zKoWuc+0L5Q^_!101>8jy$d=kmZ`XR(FX$u7#p!hj=vo=aaUL@2Ii(Ga&o|3c z`P8(vIwj$;rJ7Xa`kQjmVR~UnK=TVc703B7YYlBXnGz`uZKRnKrF=(lPw=$iKsaPa z4%1owy0tUkqGJzQJ2%5Iqa0b`Q?yeoulB+H8a0^ zd=vd5+R?e%;Tpm%ABy`de9RJcqpk*4U6~xwluxe>F`l#-$RlU*p}-1X?J>tVqs~$) zGR_%HB!~1PF#Js%C(0x{)z3$=u^8%j7j*&;J#YNc|3gNj{DVI7F0@uani(ko=r;9g zIUF0&Ik{k8?q^arkqt76f~zQ(k_8%(rG4UEI`Yf1u%Epb-eUmmw88?75SqKyow~)j za=InE8Zf!6*2uE0R<2QEzu8eSa!27LWuVKY9GVVoyTm}0iGUbbWSsWUwqk8)viW3swZACje_ILsXcz(Y;yV8Q*h4}W`3w8X7R-b!ms(|43SlLsuU zN9R?NGSza!IVY#09M=wUaO~_-bmor>d2mE)!d;@lJS1QneY=^gWVbOp z&AHe&=`F^oyjGI{oUSOqB74d3F{axhA`#}El;Nnxew^OBF>8jxnyXgiN?g$4wf6D2 zroBRDB$>|Rd<&0KJ*xXzvZXQ}$FmDfjQ~Is*W{T=unAZ@Kt*uSZJOJ>FEXA(u=}$N z;*D9%!;mztQ?aRBEt`(EwLY==0 zBN=I(GkS|^$z^BTqvj51s-y9j-Je7o4jg~HPydOXC@JRi(57CYNRaNZDp614mD7id zECBkH?F4$nQyYWXSZf!1wA8zm>4HRezVDpuJV)KgH)ECJ+{c`t3nRd)%844yQv1pD zmm`ku89hsRFU!gX-?9E-l7|7aAKu;8TW{e-cnFzQ9HO*RwlD1iS!wLNUeY;Sy4C>^ zDP_+Y3UWo}Cp}-%`8EJI)-z($9fUQ6`-g;dz9_u*MqP~UNL60ynscVodRJ!tO2^WO z;45O98yUa7{&*K!`Kd)`XWH;-q0+m825S}ro9l(Cg?}VmjmqRB)fzu4oIGv4zST@} zV`?M$buVfi4lst!4#+7lf^ywbK@8 zZIjC=)?z`i5Eq>0-}Auwh2Tpywwm~6_KWsqS;dn~@b=EKns7UdpC!njikNSUF1!+2i+GRKMj0Bt=QS>`ctXjci*j$Po@q>p=H{=M z?WDOQv^&BLr;{F_v|k=l(>RYE2g%x}SJz?YR!R+N`06cTO?bn)=9Y{=hEe!VJi0?J zc?Q=wTFd?f%ku40lhoFO1k-U&!90R7%)G$I(6M-uGD$#Gncc|ME)pwQ`X<{vHdRPfb+^%SR{tN=kAt8=8fo+na)+v$?xeI3^YM;_JBb zvt*yT$FJu-Zs~0{zr~kK#RKKTKO5fbX#sE8F>kn4JWPBq_^ix?7lmlmGUx4q&}8$ZXkw2CH=JusPH6Vy4GVTTPXtz) zPK8Q^7g&W*XHQ|sVlc2N;q8~SjlEh+t=~B z6_qT-bWOR#OsWuk+9yQae1Cd$%M8Hu?dX*{)^P>dx%k!cv4R!xCpyY=krc0Zq!b!Z zflIZRT9c}C10B5@oLYMMbO>A=@%;SxQT|9EXGtA`18gBtDPcvgQ35SWa`zV+uRClh zpToM<`==%6s@%KYnJhqbWa@1sxtjX9&o8bwz57SPi=I6>C!U#zVM29~=*{HJ9PK}n zX`ictbmjI%3Qc*_dC(2>pZ)w%JjZ4ylTo1;W0vqRGw>gYR?X9vRzxs^LI$UZnX%OE zuxxp$;TM~c^p>X0@cBuS&s^tp$$z`u9x~b+#yk9aTb(%aFo_`|Jt%-wNaO zVqyx(UdsXuHlQU1mr&jFpxx0~{eL9L92}c6o=U(RM-I7j?R7KJn1X^sz%64ulQ#^I z7gZl5W?dt*=`p7br_*PLO#h7yc$DCpEXFHrppO)n<1v~l6r(zdligilU;5{o;RCkx zd}?0XdRa1h2|cTFNyTthZ@zJDv&L4(UT10rk*9dGk^0?TS#y8SEnEKg2)RkK2HU7` zULZ7~YIC!c7YOI!n>TNAFU=ty&vq9g><6C;u9EI3MScx_fY)~ZM`Aw`x9ens2~Lr*{2 zx$1T)FPvZ<5k?1fFpV1c zWhAX#(3BM($_EZ5)+51|Y7nxl5;BXi^^d?YLbmxAFTwt{pbwk7uUKP(YZAUT8{3vG z?559`^$e{gt139X;r&!#^ZUutZSk)Y;O}bw944Z%dOE5VixKFxKq=GfnPe}-3{E^jW26khhqL#p@0lfDuo0kSREL}AQ3wbMD(uo<5K3@7uD9&BY*oV8r@ zP3NUxaLR`!!IxRQLW(o5rrw3EMF& z8%=?gj&}GchJo6ieXhJro`b@9E8ZS7*fbf0@Xm>Mz%)UEq!Bo*iHjc-C><#`&rz35Lm)7rgDMN$7q$l$ROyC5Zg z-|U(B1MB9moJy4A2hs|1N;y0-^{qUEQ_OG5fSpfgB|Dzmo3%&Y~IIJ;Nef>_8B_ zH2Pwn&vahLPrxJg>2E9CO4h5(o&|!+PkqtqnqtWrO+|YDypQh2h zhEI)`$SwiABVORdZZ?Mr`7`I5`*wGCN|cLDI~_?^?Lcdx`-^P;G723jFJ8V6 zn_S6S6sq;!7IL1#T-VA}D+n&Zq8FwY7pWyEIH_&z^y*fx$xi#waFw&kkO}4lA3Wr> zn80|CK^%Y%Z*jWn)k-A>&)Hm_w3>m8cX2Dc+q?y^bZfXx(f+^cYcCRW= zT!@`DGyGB0e!-@YID4%Djpz?w0QCGXWt7hP_^Y6x;(}|Q;O=Vck}6bMYFhF~8&4kO z1Q-XEVHP#M)#M_4=j#T0k8JT0crOF8asm|FES7$&(>zlI$zUd;{^ zH=f7{(K6YewU`P_m(Fz@7(Y`)Em?l!{zK$@{BM@3-(Kjxp%QQMkfCQ|a%PMF>5=W& zGq^dTRab7`I*ntgM%s55xo`4IYe7^o)?!ylBPC>V0wG#Ajzs^dLA^BNwqNT@SJw4 z+E|A|Pu0Uw;Wh?{vPmSbGBcg;u!*ax%J7AKeg8VW24v7~6q5-vK6xV=WBD+;843=% zXx^IznYvssX|~I(e9YV^83h8&$HQey5)ls_{WP%IyNMt>Z-~k@AH-xrB7qj7Mflzv z>}k5f(`H;Iq9EYmeXJ=G+e*F*)mETh36uj=7_QuC-IupJ%84ScZkTvc)%-bT7{+xO z#Lz3d>gcv1Z1$sBV7=X-TtJf=fZ~!%1xP=(d)S$R)wJ`tuzX(6Vj$xfivPSE{j#+E zhTWjs)@${Rz~8k@$3$R3bv8>`-gw6Va|DdS#nO_Rhs?12Tg-W7NNmuSuYvw|Q#KzC zyukKId;jSz32-TbGrIts@Op=`97GNcsnQJC4Hh2qzSBVz_bx_0&!IuvS;i5CCkOju z$3&Z}BsM;SNYHS8BVKxL6D0a3`c|sKKY*ibhZnOQR1QbXz17}8*j<4n=A^s znKC&k`Z*`7*X)^+4o9b>wt^mGKijrt3*&sc8v+e9iuAgtxj$Z3ASU81qYL?em^8;z zU$qLu0G&^BWhOii`(z}7iLZ1o@*3caJeMI9D6!z}|Ex9#h&5=3q;_O1P2iSK9%R$%9OG)qn-{tS{?k4 z0PZM0KES{NE)!b$kHmOUgYusH2x~LLDkbINeq~xXL&Gp2CX;spk&1mxrP0dB_*%yO zL?*!GX*Afq&`>uvpNC%L)ab}3#*^}!(zB!9_-4N14-P?eSnZf1-;B=m_)MC8FCh-g zI@4?UttjF0d;3YVW_j-{-i7~;%WQVixsna*SqAI7)i*Q7^E`~|K=d1kxcJrA(iPXw zD4-fs#T)0H(5r`veWGbn;4~ZA)~9uplFRr3sxN~tClCE)<`mYo#dK?|C6XOv8q@&V zqNQ5hJwgyF>|%$70wKw@7CFOl?r}uejKWiIXjb683E8KY&*hne0Z{`Bz9-9B#g+n{ z3zC0U?3$V@Ya<**o~SEU8$s#S^kClAEw^(k|IqQNo}!7t42#uyLO9+t!8YsYuBzBiB&r>gU~zQ-|v2K{{f!JbzbLnzR%-z zyx>3DXi4_O5W*pLG%{3#Bt;%*3**zGch(vv_OM3W3yOCo-FND~4$6Y()^mkZC3N+2 z_#2?%$-RW42O+6inXhDrPz)JsDat>*k)tZ|+yoP+Vc`*Zrf4Gw#6a59FmcAuPm^KA zjS`nj@1LfIm3-V^Whv<1^*hpN~MY{I_@cmV@HEowO?PCj`seYBj3_T@LlpE*%Vz85baG2gvoP5}7p&(pc)S@xCq$6Byj?iY$(elC>jqPl2&)!LY& z{w=woW!zgU;RScteCmb=ogkAm+>y zyQX~CULxLRAh<*&LM~k3E=2pZ!LVR??2AH+udj%xUXu6KOkW+)vD%%%#gUKWhXLqv zKJ_+x+(Ux`QEgM7tl|b82?mDD;RsB8LadQhtZj?l#+BzS%JoCS>jVa+^(vy zTNr$ltG2}>O3=RC?JiUNHAw$vk(v=>Ktsix=q6&h)ZgEg!8MxNUptRp@hc^rL^@l? zdfPJ*^Y2(rPjvhb9T{tQ}d_ETc$8~wtcS)MTP*)HD{c31DarZk^OR;!)ZMm)sesThq1mg z-_oiNwaI~~dUK{I^T%o)xxf{m=s8MhLdgsV;B%-MsC2SjiYAd#&hj*tij>W>rR6hA zmkd9ZO67__^_cXSrSTK)8hgeB$38upEEf{o`|f&-)+zJ>Xn}g9zgtT2Pi4xn8B& z^T>nlu61h9XQsRliZ00% zmc7DAj=GHSz}fpBubH%8t4J?b$ULECQ(ke~?^^151u@IC$!aM%Mc9?gl^q8{>zZys zYEcY}gXyRtQleo{K;7iFxE#2G|AJPJZ$Z26X3_UN#=BfRCO9Sw#D?nW`-N-vz>l3% zxqEALl4a!B9WeNUS1Pu*2&G)du0xK+=^@J(=Uo?T6MZLM_k9XwCuWOF1e-5!dulXe zwI^Y}mMJ@i%cQ&ILpXNtmZ4ea$^iFGbah|cyOEy=t&zjpxCy3+kKPalm4ApA2bVvz z+HJ?ojeD72Foo6C?qdzrx<*g^QPe)TImGg=h^^{kf4`#Nn2&CC_G@0oV9l`>V{AWv zL)C$`=w!@`e0zQrrJj&Urod2ftop`gs0 zbjdeFj~@r@tS!=3so0Qjz9AMrxhG#dEfe6*d0Yr=7YKFj3kD=^ka%;P2V7ooh%?@oDDyt>H0GvID9VE(Xpn{t3qn^!(4 zA(>0oX}h6t?c~5X-SMwBCeqW1x){~m>ySvSPqwRe`P9hASBJW6Nffl`&Z&aN#5-aC z9R?trW%6{$9Q93)h~U9nI3U-yG&woqXixb+)8yKo7deTL<%39GRO-Q`_gysc{{C|% zi3@J;YS9dD*s8d%aUX}-J(e^}<+~;-SFqWCs5D4N)o7m}qNq4@q`RO=f5qj$v2r{6 z5{Yl_nA=B`^GC7KA!p@BQd~uN`Pl;N|JIg56HV5CLGBH9xIcEKAj_R`HR9ajbZUm= zL)D~VhNxbp3@xOSGQpozWQ458coxltROr2UIWSH6Ko*tFFQNK;$?;*N(0__QASC0s zV4cB(;L6A6+4kVCuSHBdU*-pmr|8$Nw)=lu(Xc=cH9GNzh%LH=en`egIz^Uiv2-^& zy}NC-m7GZdFgNfE+q-{^R@5>3}O;%>Fppgk)jEu+=T5v^*haV`Ws58MFo)W zE|F(0dWm$IsTc>OLmIh~V#`aLlG>qvR@;|Rym*WKxf@s1@fCmV=~mv8G>9TtUF&#; zVE!?A&Q`mB6x|$?9^o9ASV@U5@prdb!MsVRk?FtUH^=3h#H5`_&|3**opnkMP8?gt z(H8oN(dD+yZ5H7BOIxSlzuEP29TWZja5}q+TcKBs8>r94{i3yt$E#rBO5aVFDU3mT zI)+}VOoK9%ypz|o$F{rdQ*J5p(g)KJXs|PJE#_FL*n{)7?^s)!?hL!Cik=g(E+(6; zjM#ESXpo(JL-qqB{_jt81`!Q#)d7Of<39^@HqG>#y*?tHke6Pbb{Bfq>3yYO%j5c7 z)lc1hs>shhUH3q(xJ}V&PconkN^8l(P1Nt|42UgRYwpmTgp&o(Rg!ID$kF$juX8`h z_}?&|1UYKktKQ6}UdCCf%Ie<*VbxK&nOd>;Q%gT{gM42SqAF?2}MV3V}? zH9h>@MITBzC4Ugc_k5t4=F5Ga8q-nHeCFZFKCkjqe2uB7_>Dr|A> zo8-$90?t8Hc|@XC|ux#|r)wT`)OHt{q9*U)B-{35!R`PN^&naa$+ zzrl`S7RroNL}sP|E1{O^$GVdqeYDP5_Sp_HHt~|(E6}Mdo=4>S8ISKez~22-$%&RX zQ}aOUMdvlc9X+f)Tj-)D@0CdCLM|&wj4iT77F@b{!b?w*9B{h6^5jS3xKHz_`{CmcLW{62ZrD-*@e4;`&;?L?xTxT75?U=ECA7N-A%>?XK<90zShxEIOWzE%lvQ zj2-OifgeV^bF>M%Q=Bh}7_v|%zN_1q9_=VX?FplKb^Oay5PLkL%-st8OWxk!q~*iI zP3tGxVvqM&uH>&+&T9TjeUimMJoNnJyo6gK2YP2-y{1f**WnA@|N8FC!!rx7%d#fX z=6(pD2|dsJAIuqGzN_u$o=5cVuw$w3fZA$sHh$r`nI!7=>*ej+^y2|n1U0j-_Dhlh zwsJ@M)7wpcp-ty7=@gdxXurGz40-g`R_e)UHmZ04BDDc6T+`=EG$;;kT zohHdaRf`l}tW*Y&QrbebjWbd5O0#uiyEE(PMczcR4|I3W$9>MwcE%^2KYEPhSgc0h zK+T74b{D7nuEX$P+2_Xh?c>JVJfe|22T65ub#k?2Cn~6v0_7DhCvU`KdCpcQ<|{*M<0imI7CGb27Qbb5tRH%K zJXY>F?oju{)H#ybPuwMYD?_whZt-XAus-mfZPnDv+pY@hb5BwCMJEz42m)gHX!)p8 zm4#A2d?7DWZyvsv6MJ9B$hF|OzU|XhcqseUI5ECs?$*Wo#6_#0LoH4wl{7y$KkOL* zgKd5C&GPj70ng$U?Di8yc#XE6R6dxu-NGVq3bzQK%_`!g5Ox@I5Dg+C?7)gsZaHqW!5PB^;Td%I3kBmtZSqh_s|a#=|a2XZZD zRadkK2(%dFO)X-+gwqgM&3k4A)DESJum%+g-%-ti^LnkArm2cFnHsbI9k(4N{N3)9N_&*qG}I49*J{;L~F-WfaH3% z+K7ZyC4&dXg3+;hB6BC>yYucB4}Llvwv!-no zzg_tTAxobg_>drwk`?q-mo+h=uU_tn{a>k%XJv$7h3cln)@8yT8%dk`}x2hek@*DD{>FW0?Qy%(jFeiZwYO zBzX^!nC!$B!u2L&YiAb**CMJQn3Bb`t;*TGLD`G>0)qnNF15p_MxgLHZjTvuZNL7oFA6%PyaZh+2rl%#rr5HdUlcHV0~qqP?wTPe+7thxfd$ zQ}r?w-(>jp1x|hGI^t^CUpxB0j=bX#*)9&V%1THQjjL*xis@cCT=^n~4#D8*$+x%F zIV->z7YRyVo~-|_Ul(B6M+clvwwpk_Ns6gk%~65-%sWJ^z^bqBoHtbE z?Wcbfk}G}=`Ieg*t_MZbQcNLV`-P}2K5N}lb9EMo>NavqQFPwfDyn1GHK-8X-J7ha ztvb1X&Z1Nrf3U86MW^n;}3-_^^v!&zIXZ}%0dxJ~0``(kE zoA1G(u`Bv5P0AL~+=n0Vo%mSaE$qo7s5xs63zVsEN@m_bdEwekZ@YCG`l>$*3M>_5 zelK2Z)>gUUlvo+!*H(0*5$o@dlZjI@715E2yYaE4Lp>n0PTWk9QQi+#Uy*I8n3qQ0 zqcy|#=kiw~Ho8Mz_9=T_7GpzhD_nm{D4R1~9Bz4{clP=57P?zOPfRt;a1ed2710oA zVddlWrcv2O0>xk1)YfbZ4RRYhzT)?M<7p~Jwkv|-*r>4rY{(VizKj`o$kF6kCNLFf zpma1?%s#6&R=~zjT5!0V`fgP_cgqKsXPLgSNDl*cJzCA%x7$wQ zt4sA+9^NFYBPD!lz{#$_FE1PBC{jB!1OoA3FsS_v#JBn-Pe&tW~x6QvMXxmEAo z%Wo>3BORrVhi-e7h?Xsn*BQWlf$e?^?IC6tr)pW9kcc_6FarV*lAPw-d^#JDv;B>v znADT>cfYWEl&Acj9y@}ow~MNnzM(g3h@FZnQP#fDDZn}-IRg}&fzE?$m(;gw0@Dwb zBmHQ(8NfGjYmz{LpbAU<(dH%q(5?;jn}>^NjUp=cFdoo$!Trbnw z6ZYCEEBErmDEz~sI zkct5s*XginmY1_7=?#=94>ill43zmt5mQmt#zQ>beFp<@66F^4mpZwvmQ0|w<}Vt& z=2-J#j&&`qGhyno7P09yH$M%Swn66U%DbWMS5`g{Q?0L<=dF#88 zSS}z$x+@4`vWo8?n9O|yv=zG;x7piUI<$6albe*kf#1h1HR3M@UDN~!D%&Om=MTFT zQ?#MHgimMyobfM^>K0v2Gqdlhg8nRzQ*rL#VU8Xr?#I_ZYc_6VTDZhPDMl#SgPG^c z_h|Fny6CtHn__bA)yJ)G?5T9`^5dz$6*dO+p2g8+ZK4V8spEzK!HF^V)zC=t#ln@M zmCF~hdq}9Lz}*w8x^2%*)M1(*TH+yqU0^h-Ul;Bc_8He}QL#UC^8ATwr(B_Z+Tkgv zdhN5_cs0tHksaXQVS;ddQ{JlWx;Sn-I@_Qsg8Ev<&!R+TkLd=jw=P|qH(gZ z4tIF7#9@*j*5SyXlHy_sDQkRn0ulaJodkw5%vu9beFB6DD~pw6(b{*M{9NW6measg!YzG^raETN$&->qL@^q6 z!etKF_A6~ByHxLcs17$y^6^5|_&wzLzwZxH&nQ;ALh=?0_6e5r8Pgh5c=x!6QP1N$ zLfOZB;5Ym^dZonwYH(E5kNX61GHFgo@lEXHg-z|b?mnw7?@o|gMlrpb!ZoI{dLjy1 zlLbUW41@=vRR?^{CVBjcVxcYU3a)=oJu!lg; zVVwCr&WEdfR5&Q*&3c-e>E(#E`ef7G{=t$8fx~NfON;KK|AJVjI2S%e6gYu`d?_j= zQxn1iY2vWix%14cYlOY*WvQEU3^hzq_T|dP&P6cyT zX)C1~kzB=L4|u?bQ+5WXm&-gH-*puWQL#Nz(5P=mpcwsR$b56Qvd-XHp!yZPQm`)L z>ySd05IZWJ3dz=eQ8&?%)Z*T;!o1_Z`|AN8nu+BXI>eO=nlAmc^`Lp^bIJ0^Z_{%o ziMd&Sdc)^ChvPGRjAUOWJQ(Hu;yL=6Swz_J&KO*Rv~ZP>_WoUy0r}z z-lB?YXY`)M&(MvTR+B3khP79JdJg~MkWpbC?#zCOq|#9NMqfx{IB2Z`F%dOCs%IEyam2&-8>q- zcr@+uW!|8uj%khmWMX;bT08%8Ub5+Gmi&ZSou(TOlRp!sta;rzeaW`B?$Bmis;3D8 zTh8yA-BkvpygIl;ReWKRSt_JF3CWU}-amB5-HCP&29(rSksAycp*#<#U-+H`#x7OA zNrjeXJ|Avft4;a^2=I;6jxh3#WO7%A(Q4KlLcW%Hbvo7{I@=!A3X6IalPl|rS@SNF z492D;`12Mg%>VwQh{h-5iPZirl{5x&E*D?}q|$(aOdW1Ad2cFn!j^3*NOz}ynE{c@ zr6C1wXK1?_tVrPP9_92;X&WsdYW+-AM9(3HX?sts2hX(h98sH|!@dU#z|dDUF{cR5 z#QcL1<)4!{ggh6D<|8URUSiwaJh=qqmFQ+OJ|^JjKeumQkxPg9bnlrfyJT6#(W66&gj6YY4o0!O z#~N(ZctQJ4rb_WjmR+&e#l5LAxsMEt;?-I+TMA}cK_FLazw%7LZ^A!{O~oGj=Ul9J zZgiii4s1FlW&L2tx#|erlXEh_hee;5fM;DRF_#8$?H}QM_He_M_+nDq6U_zQeTG$N zEp_d+U&L+ws!28VP;{8G@vkMO=Tr6Q8xQOEcwZ#!ZVoCB8|djFgSh>fv%&U*_<9UH z%_KCG81$lkeD7FmRY&1DqlUYPk@cFm^_S~!6dPgaGXjoLg4wXLn_WCU*jfWY;e3%-oLr0;#`@GF_F1Ya}Dy* z(O*#(H}uS989&zPKrTWHyk7zy@a`Tcm#=Y!-U1oI^2c%q_oFq0L&tdWMhx*htdko2 zknI4R>+1uFdp~)o$FzGYKU{GTb)X3+{YMh~zaB;$1u>O+mYjh@N(Ulw$H_m?G5D+t zwIQVmwMe7zQWYg?(|nFY1F4i=uT#miE&%}%iCq@wNwVyiq`vHS_gs=_8cksPgblCE zb-)||)Tm2Qn2f?JbaI-ZBm^_UdS;U(T$$3=JKzr#{M!_(yTOT#W(S z{cIvw)sZaK8f5z3oI^P)DNm*Qu%I<_DCb2|i_&7lwfH~y1{KS<9PFVS=HKUw8p2n4|8rl;Wx635>LXFN^Ka!QJ3gG}WI`LgayxA{x zJMH=GP%~w_5^H3d|BIVaMl`2!=lPZC5ln+BkXO(@cNdOxS;L2>6;|>I+1G(EDX7Rq zqpZo_f&n!-DeUHM(!OAC^%J0k#P*d{ZizkqMG(6NQ?UGHzM5@0fSIin>%xa#xc-YA z=l`0eU`X>=^}jnQo6~JtpCDcLtnau4rRkL)Z!B6(*X_pT(P6n>xlu{mA!W$(Lx)rQG0?r0VfoF(Xr zvil7*vcDD3EqYWmP-~NyXdc{uMLXngnDvHYAM{?z>t;mF-~UG78rpX>YjO{2_S_?6 zB~CuP;};{ZX3-mAEnlAe^?D2+5&P3+K%e!XAS<8SoQx-m6Xrywd+2%g9^X?sh zt{cX_rEb`6C!0j{sVIRx`p&%OT)BQB2Dg0?LY5t;WYaate5ZZvjbRyp{r~@i-yICO z?xKDN)pv?V4J(oVcceF=6%ZJT$}X?z3J{KMX&i?oP#uG$!>C3mc`MZK}Ul}pW&$>)@b?5=K<{(>FzxlI&Yyn~0mE?4c9+um`dt$KmTQ~vl>-IEU! zp%P@)oVER3f2b&lZNi}VLXqUzoMr;Q*%)L`Z>t5B=_~b@0e{h>YeQpe{Jj0JuBQ2B z4fV|#cad)r($0iFEjcac-q%$aa1hsJcw4>J-8pRB4Kng8+#SN@E0alhs1%HMpEvwZ z10MiRtkYBeCsuyXmuFY<;+~HWfh}nlF!4he>KwL0#u#= zC2JNM&c>W%69E@i!7>w9!ohqq<;OIf-`!c8$z;NZU_C6i5mr(T&ItacJ;}y+O>wi3OI=>m!Yv%_*zg>{f!{-Z>{7^v;&@TPW;z6?-LZfB}C z`894vC&LeD%VSOWxV+Id8kci(rj4E4UOCAlfj9p&y$G`v4A?+3wU)Y7CkRxv)hA!3 zJ{{`#(WmB9si`m^vv4TU?POU__1fc4I@v9B5|T0xoSQjlLOX6L@y0gfcIAk668vtx zosHA(VGn7qsR@)Zh-0xl)P6c(mS$%j@@_FFx6hr#0==T5!NF%`JIH!3%@14_r-0$xAU5_@O<4}kx~DqINtXyc3quOtR~qi0dE6R z4U>e1OA0nb<&&|adIG?@(LvTT+x_o{LL^4>lP2;L%yI!HJ_Xw0a8lPvPGN&sscvcf*@@}J(%a;DnYzh)LpmLjvIBOiUgyeup%i7Hu*^Dhd=@C{EtjI>P&FFq7 z*prxPPKEk#Gs83x4uT2}PUbb+)cK zOVW*)#d-C6HR7D0SDSVc?jrh3!RYArE)4z&W?t5ctYCQ)tA#~%7gx-z@a~|CHZgQ0 zm!|yBFrZdf8Y}v=?e{h3#2_sQPqP2Uo3IK0V{`O6D7%!VNZ1MvN!$ zkUu36j0_Pc+Z5(`F!2lb=xGSNyc}{19_g{cy^$PsY1QSQf107VLR5@_JxwgoCqV6k zMqoqZV%@pKh3VFI(O+IV4F=HybS}4s;9onADcAc>^BqlG1med&z$3=0^1UN#sU2&? zkB6`nC$nomw??4)0Mk7E3$G@Pq`u!Kg!|h(wd}?= z;vLMlY783QCQlY?s&{18C+5t`5vSZ)A!O^-s1YbWlXHSY$?Iuwh4 z>a}dq%(v0TUAigSH?eN$;t%H*-(SzIr~B~3EcdQbA5GZc<`iPrDkgIuh!zl0=dPsw zymOWhD04_`5uQAsL`RW#XYY6T(u`$AM+2=&qnz9p3Y;O>f_6c8bI_G z_&r4qHQX1*eUPA&7AH>I1rh^!sJKpg7Sl%#m8kjArxiKd5G@Hd+f6o4rn2P#xwS+; z`%fQh-)|SWBsEp68^PRD24`mRu_9fczO(o0!yr}}?v_E-zD>TZsbo^Ry;IrMfEx?1 z97z6FHOtg#lAJn~V&%PB?Yd|kWOZsDl-pN^24NPoJUu$rKiT|Qy-t~EV!ZaaU$kfG z?hOiqiYo4ODUbGuD316OQe#8DXU3E1S?{l7;{n`q#P%v(wHsczsvQ5;Koxft&@+Po`0G`B6yl=Zz5nJl7X**LVp&>;N4NMqYP4$a#eWrLSt(zB9 zpEUfu+@~Kn$rkB?A6s0|y$^QXAUCy{4!B(E7Az(@4M!xmuiXkELnvZb? zVi{ep`Sd4Buz?=YNm&`m_O3gbR!cLGeqN7Y8oYBC!$%Bzu-`Y*e=QSxaxQA>uDDA{ zrvxVq7P8A7tD}Y~;_JP#z`VZ>fthcJ0>l@CkOY4@R z_pfU)UH*$?w6TWFWJE@J(swW`p7_Z;H_~T{SWDM?&B^&^h41E7gg#5rS~3_{(rdZ` zIE?{xkmD$e_T>}R=H><);~u?+_6*VImnz0?NP#G_UoNh~;M8v}gtb*sQyIp4chNuG z5`t!%U{IIz$+o1TK=g6Aze|XC3%b^aQ_0OPwu?TQ*ocl`mp3~4csNmUZgWW=N9`l> zG(}1OWms@^{i&N_rSC|P4W2EwO&t=-foJ`onY%))yRhb#ec4FISkpE!r`jB1h0iXB zLTM=vY}gU+s@xFq(kToZOAp6j2OKb$*Q`ACmMTgJIkL$QhZTL{5B9W5S+aE)kvaU3%okkhF;-Tc&YasA*)cAr~=QV%1XZNofy# z_oszw2AM8^C;UW!KZ)lXClMHGp0mz7MiEVz$p9 z`~EJn-Y~;ZV}8(H@+Dxe$&5OuAu~0}Jogkzr$vDQqW;_W57A}@7pH+Yhnf^KyWsiN17Cn+SMXDT-uQp4Sy+=TP z)zvY9?SWfTl^g9b8tf#kNs>UR|JJ(C54`WEQihYBwfGZQ9I9CP3(yryC$d=3SVbF` zdcJU=mQh{Yx>WiI2^U{qa84T447e>=Cf)MHEU)J^xGTrh<7KhS(`@tmN~mErqlg(3547@QT_>7pbqC{WUTXAAj4(B1=Jvb8kYtwk~51mKu~c zqXvMrge%tb-0iqAEd7sy|MGz}35?@qG{s-M_waA3q%&idRU3$4S79z0NMYB_K^i)8 z>d2UTkc%VzAk**`qH9NEADzE)Sf|`8?gMsyJ)ju?N@QUHa<`bc8L@TPEohB2%a%!lZ072mQ zv#V)>{bz*dpr^m-?Jo&mAA!49XO7TeJaljD?!6Lo+$P7ZBS?Yqb%o;_T?1wIy!{Z{@#?Er1l4YvlDHcz*i&k~x1RYKqC~_71A8As`pdPkmneZ@O7eprUj8d@ zZ+$+A^pyx(hBF0g6V#(3Ywz=uF@?n?OE<-k7=tQtju5SvusDy@`VBgMHzqwlQJq1) zhm{x^go4zkL#0=bYZ6gr!F5otHdD@m{YBftl;gUJaun9WMndm(u?fO{IytK#!@enI zDc@SDOv@iZQ9yLO&4>aBaSsrf*h&hjnA2X=9{{;4NSW&^o2G zRBq{HTBK1TDDTr%)bZ_RAtfa}5y3gen`G?(yhSsi;y*D*YK!G-?`iHflPe@|2Jj6f zHO8rrT)SCx^PZ#;P`lNx*mC>y;X!{-zm9=4F(U>XIIC)p3JKzJ?pDn&{L3^zu1e!n z{5ABnzz7j~;H=3neefg^^ojDpj|bEK1CuF~+9M*Rn?g{R8EXklXfw=i$&hNgnA+sK zN(!WJA^f58fZc_?lj^(5(3oFWj&OHFqF7}|?yL-VPzQ$2-Nz8o&b9xoC5&6NlW6M? z=yY9k{b)+|k0ARcT6=~B$Sca>uYQ$k-WmEf1-Uc%tqt(QPt#)E8&4+5Y=GO#xlE&= zX3OT?w@Xdi#g`7)z7MneY$kE4s;1Ry$jL%{JloAwNtqOsL6##qXv#)h;b}Eo^TVBX z=iVjR61sv72>Y>>p%1sO_&LlG!N4;AyfMD$Y21LwDfryBAW=Ux&@73&%X*X5chvoj z2ilKPFiZ`u@s_<;Q>8c__8k-_#G<_H(wY6dctqB<0mbHK>D304PyvU)XZGpU#Fi`R z4_e}aRnt~es;EXmyZT7Zh+wd;VCU-;4Q?!H zyjFA$l+EC3Fs!EP5#wX4NVzDOJela$pW6~j5&fJ*R}v}kO9^bK$NeHq*Wk)p$&oeS zU|`kxQR{gEf}H2_(+8rK$Ph=SW*ihaS!(7csWv6_hCFc6D{9XI`5w*~Z{T9oce<2y znkmq3vGJ8k6%(4<=T~HOOcOf%Uw_eNhMRvF6V{7C6zL&-)h~2IU6UHaz$VfxHb+ia zw}&O0-tlvS2G$MFZC>#_Cptcj*dS>Cn0o<*xeI&f$Z(ra`q>+VMz(!q1o4^?Qxm{{ zNiDUDkO2A3(K*F|on!mY`}Vblv2JpiyNpI&31Cl2@89B{fwad$=uLaoe$kq=8k_T@ zi>9-j*qc)v;8JZs-)g&-)| zsiw7=OE>y;j47Pfy7Skzve%Wd8}-ZUE8L+rt6APTDl^T=#wL@FoOR4~p{{2Vnwo>X zLs#r@^2%{l=j@#e3aKAX&~mST_`JX4*Y++VN9GP%|6%~n6=L{VZ5--{PO<#-F1tX| zi*nTFJ;m~AMdR=jTTBr6aBt?--Je&^U!PNV#WnU-8g4)Pe|&JDV7kV*HwsexAHqvk zZoa#bBi*db9lFQx)Z11mumrJ?;kJ!LW6INxD^O|apk(Y&7O35NiB!LHDfjp4A4RQP z5ud`=*EN+RiY(9gq4U7ktyEK>m}sEl()40zj+JK1S+0X*g=YL2U)xw->?7%v4bIOL zufjaH=)KR*Pn0+&3YX_yRZH*A??hi|Q>+ZpdZ@qWzPwX;xGb;EY2fsyCGKM-iH78I z!{WNZ9sb`A9Fj5yo3m%xJXr`Owd>zPbl_}Bui68DUmM5@Y33TIe-%^yAV zDWiUIzzsd-@lGyst+x<%h?m(Zr5e$ht@yE2Zz2|8&!}%`F_N8^Y%dc%ZclgoH#7k& z6m0`rZs&fp5cD%W`-P=+LT@#L_Rc*3;CJ#^fEffJnf*@BKl7-P(Hf5x_zqB|j`Gc{C!=)A%}PsDVw{YZZ`9V}HcyH!uOwr9zh zF>dZJXr_aq>-KzJM(H#HJ!fD@cluMt*N3h8^G=7Q0wVwT@Z_M9MsSY%R9PpM9+ zr?3(#hdB%A;Zp8yVaPE1MI4Rtj=Mkn;}~L8{$b>?>5nM~P-bl&YEabJeC}nj@Vsvw z+PVa6)>N1c&)*94;i!l&vw(1z?qvtF?8pNp*ZClGz^SqXfU7+6xMkdWsA9e#V!?IJ zntOmcbTyw{2cp*tZs@mM)Ho&W_(NclD4o_9l7iuzQz)~f)pDJ3k&>M8%+?75g|?jS zz{Sn0KzlsMo_r1mkS96suBPpT@dA-(IF?+jReKuc)}oDP>v1o(`SW*)w*{Z}sdn-0 zX(!tkT?bFP;nA=<>r2UtE~9kUmQQXz7|BgOMICY;vpKxP;V|Xvntel5t$V6ok8!b> zqLEjx{%DFo&~|xw5LuG6bUlP$m=I6>rom0RV=Z9avx~*k;sxs+UOS{3|KFJb&vdKq z*UaF_6sy|e6|T)rAEe=&CEC9iGaW@@#9UD`ehXc~R4*kIZKX8@+jEEBGjzpcR-B{0 zPcp5q5~K7#h#$q@?{#+BNPAA`&4pf~prOC}ATZ%$v0Dxj4Gb3=y0I2RO;Kty^-%Iy6O&Pf_Oe~WsQ93%*U3^}TY0JZ8%5I1(zkkBAP4?NYUIpc2 zkvx`4i>lTpdv$vIYeBrdeVv%OAZ+Ch`6zPh>y#QF%qNEikLu&SOVYZ`))3W_(RC~= zM3NWFO&)n7-3n)BTB5L1rinWfgom>sl^`*a2l3MF!-1DA4BQ%Uc>MVU9HAFZMt9M9!{zm zgIA!c0Y7y-w5RG~lRqs-GR`(XzV_`0gjEG2f_@{HCQfTW=o> zbv%%y?iT|59KGwUFDfs#!M<*u+(ZECB#WAvcbU0KCl-~CM*y^eUdC>uIgR`k&F*YP z!^^xYI&heyL~ayGkr3a@^o&Pl@E--`N!0R%s^dq&8@g=KZjWAf)3RKP^R&PT7&CsI z&(Lg!PyyT*Mf%n6*+a}WHySrRq$nqQiH<#{E863gIfOemJk~i-;z{9a85{bwC3?F0 zGO4!8c4~*0G!m7D5wZ)xYwQN{_c{fJw!996rbVCvW353o=kDUzGIUgn z;*i(*kr_`t{Cz+{nkXP;qv2g(cv`c7@t;>~G{Ox*dfFmhOMnB_lR4s)6X6EVxu-HJ zBL@j}aw0tHoC9itGEVNv$01in8T{?d>qLvi9>9ruWpY6@X_Ag;e+Q3Vg_QhD`;P~k zE7fY1ieV-Mk0PY4X;V%Wbf;JU>hR3nJ2&oo>at5&ML0K?jIl}a@Ds1uMQ>qrEoe&h z6j1p;LPQf?@Vh;uO>9EQa=+Y8AvRd+M4QnbV^#Lmsd3_knIPJU?HNDL!4sJL2 z-}Ib36p5T~tG7PYHdvtBVIV!F!U=^$x`p#~^i9 z))kW^k$o~Ko9wRG5&wpQ)ho2Obd6ty>1HGv|qNIdPM24OzwQdjnI zbE3cXoS1v+>^8FGLOVkl5VvCF%(Y%wMEx81zPPQVar(w&md$Lfj%rqe_!xWvH z=!C$`G$7Dk4A9yXY54zod#Abp;z2L7o0UZxN(K?3$JU!O=kh%UI4Yw*VewCx=F&%& zBoJXL%Yd{V^$x17{xQsn$-svfC@g8hk$$a# zs#S~0p}zOq$e2_vx%rkanc~)wh-Ob*n<6UI+PL7KZew_Ik8!WCY{fgr5g}Z}U|nF; zTi;k|w^M3~*vUC;n?Q9QKkn!tE+8x1<>iexcEK=vw}*CIx=Zs$6RL8rU1mAzwI80D zpDHI`Z>*{F;`Kdmo(AeNzNAYyF-)u>5Beg7h2{O%*)esk$??7kfvC$PZBN!{sdG~| z9i}-Uz2+7%?Nq&X8#8P@(AHyTG|-T=RuXZL(3)l4sbF>pS}MC^$B&Gq)kk3qptMfU6E+B<_lSOWA_CHvT_NzlE6O-&5_BM zBZ(u*28vxX#k_92DMchKU8!gdmATbvc5GWTPxVf|E;JInL+GR-g(e2U?k4?MlJcl1 zmA`ch9ftsDE}e5kc*rc}M8vnv9-|4r$5D|ca)wwGI{0LlcB?1mr|IIj4K)JmP zB*FS9%w)~7%iB{j25}uSQ@ck=auSSgw~!m>r6mCiCLr&YXjCcEfyEY{N*NEn{`#|2 zrpVI>hYX)R9@cM$gNJuu(%owoSvzSbL6Hu$!|f;YU_(t%vBWBhvdu?$Bggwt_pVip zq#WjRd4-v=9^Wj)qM_N^TDh^IF?J6G-`V|6Zq>)k_Tk#}ShCA(<_#R3_$QV4vR)G& zZN29J@BYXdyf2Zb)cdsWCYmNQvT#(YO;&hr;*u#1)TvoZ3(b) zzlbsH%T6}bF{v^2xrcf+TQ+H(#TU>}vNt1s5_r(r-O2Hn=G{J{d%^unr{w~gt$@r4 zKwfsj818SYe;6?_X@%WLY%#bvJAH+H$8Il zwssyM`;$Mn-r9QZsQ>}h_07AKvwN;{)bPSj7c!oJOKi=z~p$>@ufT$5;+tFqtND6R|R z4(w4}kQNwr-n?*YsF@OW$_{66F=tHz{>+n`GvWA@OHH48s?H-X&(fSH4=+!}hWwzO ztYU+;752_}m>8k>Q>wu_Z9UR$4CfY^c+QeST<^L+ z!q{yeGY(YZ{tD**)CCq3e9;hUAzm#gAe(sWQ8X&4sX1sl(Wz$8V9|~>$THh|%EO+W z#J53E=!{#pYV@qU065g0`{^^)5Kl6e4NamI$^jSRCZ)~RwO2exY3Ew2myTJ6#N2MO zXnpsa>~}R2m4ei`C83n%-g@r~hb?oMsLGbs5YF^-foMU!L1bds3(}L)@tldhwdEeG z9Gr!hLB&%p0Q(@}x0MazMYGy#_Jr>$Lj0@`tNVZ?)-*aiH&c&+|!} zEk$`jK}CSx%s`2t%Lhp6CAP=z=~~lVa{j}IbVfQ*p`YG8Q;AH^x{Tnid>QujiJnDi zo>z~?N{@JE?zr*Xmf>Olvpq@`H~`IJLY#9?aC9Fur8n_Zl1kyUHIW`N|KYU~6s*85hm+mnSgNT^5=9smv z0_FBS5grX#gYRmbWF8H&ND;0&w!#KT5ud91OGEgM-G>>%-NwA-Rf}q*0C%f`_$T(1 zom?zN0snStEpaiJb}NPz8p$l>>QDEMsy9K?^|YkWsCAG)XFyuK=jNaD+w5S4{?h=9 zScFazkiTSaq7_tjWTyN3h@K~2ssGb)5@+x8yvVK&zTe1QFwgC#yZ)E$p=)C#hDQO8;Z8-9(_CJwyP3nDBD(&#bhSRWI59Q$S$|PWUknv}fq_ zY-c&_qwplo;4CA4^DsCxh6h}~$am=}_~%A6nC<<4m3~Nah++AhPMz{bYVGaLu}j^r z4hQ9v`NqlA(O1ZhNvNg3^0STCkojpCbfDD|ueL+0tjKowags;ek@ zW+DEqwDu!cO7`U~>Ilwx^|3>MtkK`M@ZhRC;+pQ#mCl^5ms&lEUW3?IRQ;c$mq0AR z8X;n3nJO<`R`Zxv1^Y{wXwSKlVyT+8xBHtM{2{x|tuK9u#5ECMkTrjCv2kQiTnH_r zhNR4?ywIF;gZPFqS~vSf_>Y^HnpFug7_ld$-lWy4pMQ2E*>U)s6J~>eS#2`vc{Et-cRqOJI2Cr+TI8k& zSRN=W|6laoV78r$`=7hb^Et(POsQ8Eg9f(_w(wfB1CDW;e6qv4)vS4PI0a8;Yq#$lu*0|Z};*S2#$m+lSJW0-BhB-dB zO^Whv8>Z_34u2F$l6f3RR0iIbYmoeU4GY#z?D9PAs{0LN!vUV$LAQAcd1ER*e6*kvHp&pBAlbzs8WbZdp#JqmWy$a|R*eZbI6S3j;b)T#{wo!1#X zfoQE@0z>$bUKMRD|B`u)Uf@$V)Xvr^=ckt;*lgqFEaYZ+x1t|lz~kcFdYJf-$$QMF zU%>FO!nJEaUg*`%g`>hcwgI3hleu#_as@-hOof30xetC0$|bHt^Z$obeXj2}wrOht zDAU&~-RGp5Cj*k?@2GGB7iR4n(4EI;`S+JNC9mN0buq!7%Qw5p|2Zjmq!|BpK?R!T zl*g8Tz)V^GrI~G1-2VTVpvI(AjVbWe`w32EMfiP-q6ZZL)CfZ2gXfHPA;(8ZLB@m_ zZfe3*$g(pw3+7do6}jzLmn5WKl?jiPJ}%nh6;~5kZq95s;ZR~kQBK0@Ba!~{(EG? z-7&S}WKz7dhcef-6%%L?qg>1%PaaY?5AA-X)j64nT~s>=eT2I3dRrgbnybP4;5yp( z*7cM9sE@~7KK3pw1dLhBel1BbbqpTEsvpSC+vJG8=6PcYbDhe_cR@4zl?zqMpgXb- z_we4*9~zpnuNTt1vMnxC_@zjB6&Y8=%uo9v^K_bGo3rDuk?5pRVzwI8m}XXAmw?qh z-V4G0RDIDf67Wo4?hR9|V~i2~9q|deH3rq7>N5Ff<*Ilud+EXcNZJre?1p%DG}>If zFT%_7e~zT>>2}_AhQBm#?tf-T1UTJ((SJ>?TQxi)y4ZKVx(w~g%SV4{o<_O( zFU!n&g#tZ?TEa)`2DMby*{^LV9gY2d3*33KU>`#L2X8^%K^J^TF>ajaa^pgz^l>k<<);Jb{N)OT+E+XaDEXT*C_o4o;S>pb88(s10R`~B~|peOMV zr*}h%pAy-?*Bu}KdvoQ3ae^VRsSjvB580V-pvr4h1Lxff^Q>elF%aS3#&B^n!W?X0 zL&rPK$0yAj>ZmY-Bbm3fL~vfbpo|pIMYvNj$M&Ns*a)(Ewa&YS|E{ zmc)_R8!cxHnD)*ZFTL;^i|(gVidF~GZ7CuI8=1PxWqN~$T5U*{J)HKt#R?;qlOCFuR^Xb5bML!IIl`B?{$Q(n&fKi4b6y zmM~JdK5S5UOGl^yfAuV!nF48MoPdc?rU&yp&`D%%F?bvy|8`JGOz$+rRX0m*K*V^p z+=?4#R45!2_dYzgTV9r5o_RHb>8eOYlNi}2rzUX)JsvSw6exkcfZN!0FU}iT?@HKD zPfxq#pPFLCbJk`J$7Qd_3$%=TP5XdE^zMCq9X&R@LV2=tfAL4{sxyKI{s^9n?e@Xn9Vo$PpDG~t#cz-tW1A+@5{0Y8 z;M?JtSU)?J}V z!WkKkF2eN9mM@o#D~ZTDGt_6~6YgB1j>=f_;(TjIjzdHR-? zx_Dr3Wh11ZrLkT;U*$xZ)(fRFf-=@(PVY*Icv>RtWJE*GaJ>f z-eAA0x0J$g={&_veQWCfpV~w1MXJsu*j(+|gbM4@jLa;^a5#Bi3_ml{X0D*j-k+1o ztI|tZ7wIt@_Isly+~CNDDJtuGYh*K>!Qs2+J3YSX+2Rp~z2{`9^>S(2y}RjVxGkZ6 zM-FIB$IRorcdb~N%usrmuXetdddx~%mN8VaxqBgG?gLK7`6e_+^B!}t;cYn$!i56L0+H#vf zAi|JCsEu&5knYUy?y^xSQ+{Le%2jcs`)y7+HlMalLGYUVo73cmKgG?AH}=g($@5TLq+ zz4ZbD5A&jT+v{>FH7(>ds-^h(Y5^Qq?^Avs_{xok4(&^S2*HW_I z*U4r*;GHOTEOBq+txnQY*dIiH*88oCQ)+)%PpE1&2?Dd^51I|kaJ=GqT4F$}Wm2xG z-pr$oo^WW} zqdj}VG&?tuzc-z|GoH?6_>YU@)R2**`!82EtWR?U&Q7s)xG`$Hhlmx$kt@!v-J_-1 z@T2je-ieEvqK_%0fBX&sJbhAC7oDU`#1+p<~tP(-ew9<4pTrSQ9i%S6&{ zRNNbtZnupF`=5)qkGh@qU;|F!HZ|c$QNx$PH!L078sD5{4#)j66VZ6_Nn!9~m-mW! zRE{&=93uXt%YNIGucKW!utSb(t_@O@w~`(<9V@bC)h>%0$7jk%GF9zMkd(Jic?&zI ziaHx?>-K9VMOO~*Ne((o-I4PB@BMH|&?xIypY$U(==$C46}C;I${QpFix-;8Q*b-k zC#Jr5r#*mMuK9TB-kT-%N=t3)1*O1!Feu(qsJaiyM8g=DlT%MtVmTgkqz0ayUDHQz9!ar^cFn##gQ zgg-#-ZiXf`O=X61mR;X-cD@>?%TNtukh(>&JZ0W}?<3<9;#)P5urb{NZl6A%2?@^p z(AbD+EOGfZg?yJ{93$2mo5w!VeRs9s){kq7D=Yc1Wqzwn@%A^@vYL&BGL^IW)^{II zUgh}eh025ced|I><3Aat8947A)E*V=$oi=8pzOOl+5cE+-|dTq1?5u+2iI?k(v0tc z%#P}L=7S9shO6)`Vrz`8_Ic~%u)8)xv4>e7yB)Urn1u-yZxg76SUf)_9a4?+Jhv6G zI8SE(F^**qfMec_hd0VnI)N{3&Sk`DoWh>ctQd8=JUVvz0_CB zq@y=rjxQfBBMAGo_`^KyEEV)cvH>~<*2O0ac)cDjOUS!g(;D*4sh%l=Q{VIi7*qSK zSq78pMJZmyN)_2TWM9*H$r5QrG*4=CDWptt^R$r)VkiPZ3+sJ#LH*s&N95zegeq-- zW;hikch^w35zq&`q3LPlN1=7p6a9MxA*7bAAq67*_UZ(;hgn^N-h^xkH>X@ho6WY;^2 zT$m&|ow$7xNsR4gWZ8&NB;tD+?{6l^7G)K@L z$m64};^+7BT7sKFn1=>Z<&Z`1Z#fE0@7;97{rN|jGPp3EGMSB=ftW%}k3|b3ZI;94 zvz94=sZc=2>w|d(_i3D;9HP3#n#ia-bu@NogT*Sj5_I=?E!(To)hghNR1-b2_zP1O zIz}MglK0b%>|HbYl+%y8*{qK*10FJKixn!NHYUzTgj)RhWhLgOZAMH#wVX~Q7D20_ zHVvRn67w>T%WdgstJ)reKl-;ft<8gdizm$`wAu~(Y?8E%vc-EzrnHqyd6-=XbXh^BgNLOm*kzeSy`=*g!LLvSzmoTEUu%| zjN>jYSKRpTnp)nSmMZmlh%k%Yh^BJ!0%BlZX8xSp87v!L)KLYiK-VUQ|B?0ItqeE_ z4D3KUomXBck_p?UM75;v+vkZarxdPw6y~xtO;8M8d-wYsKxF8;k!)RM52%Jgs5_ppPM)BPtVJu3{l_dICWb3jZc#r%&pdBrmR1m+%f!9DyUTQ~( z9?dIOJAFyBwk~&6vf%g3Urdz>Bq+dR)q`V@JGHV)EN4Ou^DOOHQ_Fev`bxKheZNiE zr*d7|`2IFEk*y=4feSm+opmE|v0k-TM+shf4Xq*U>J0{$4>2c{tLS4t0%HQc?lh%M zkC>y13_E{>!p5ucif7KwkEEnrK4R!(i5Bi|bd|V~OLyrY-9Y*{{($a_-1vl1XmXp-wbp-BcZZNFucm20dFn)R} zyG!b6^J8yJzf*96r^)8hx)5N{#4Awb_#_z!0wKcp!d1BlrQ&LRh}T^&EHCK$k`l{dkTLni=qOku*n2Lwgrc88~` zPwVaK7pV(T_XR!_riufk4oEu(?p1Ni=I?Ah_>zB(iNnV5dh|aD9!3Ix!fJ|p>_aFBNE%Q=#(#o2D;DWKVUD=PFs25G{3o4yA#cBfYtT?IFS*6;V3NY-_m z7gOC_8qpp)<@{O)zB*aznq&TX$AN*3`SU#8B6yljDRP$SqaBk3eYp7p6w zPrvHu53w6RN*rCk*yPVKuFdhp$@sA66hfSc2o2P#PBB&LBs|_wL?{W?vZ~~tUO&GN zC0|oXk9Nr+(J?PRpGkfcaT0BDF*nhcR&ll*{7hl1>%Zcl&IJ`>+QBzHD zBogg+DX)6l_awu6%GhK}HdLS_SZBf~ZPf=@Jhp;lrDQ5Z-c^V|#ze486~>OPYn9xY zmH)oBtnJTrSQms!qP`qFQ`KgWHg};GAD;tgjwg_Z-J)#yK|IGH& zW)?WoSnTeKJvHr-BYvM{5)Kd`{I_DhBN;nYZUko?<1jQS_v34aFg3uLX_*JBP{4K; z_*raxAHnC(r6(}4QpHUDIYNnCr58L17S{Lm%|z_XwztJ`8rTXNPCfarZOL0Q@qv~; z&A{^Prsb%o=iaQfK|#O;^e{KKwQ(A=KHst45oB^Rj5WesP*~}r{D`@Wy5B4p{N$cM zn}pcislRT4SWSh*-90FzM^k8%VF$f|T|xlC`tZB1z4}#8Pdvvu#z5SiyrgXccPXy( z3pn)n-L8+%)2~v7ruNso6nB);@&C3I>b+>p4K$mkzW7$2s!jow8i zcLf|%T#FHb?x3?^iYhtR*yP2(R>5w%&!L5LzB`iXeF{6O+m<6ErMpFq1sGK&o;&T4 zuZ+pUW|0ZR+H0pF;FWl7+JvXa{cOvPjP~6d2T8niSJRYD^#he*ZBj*K!jbldX918Y zh2t~3T-v(>pXj4?JSyChBpBP$2j;x+{ohBC%VX2HhQlN zp-?V9e07sJVKWCjaR%n-5%)( z&%4+k1(&!7Ud&$3K-hKk=Fv{)|9cCgc?T}_6r*9HS#`Eq=2}*yNsNLhJYFoPDd+n1 z&-MFSo7G8{SEt9;o>jl{6vnc$<%h&wsqM7994ej2vi%WeC)l8mdNnU#=yZ*Yp*$hm zlN>b~ND`mh03Op=7V~RP^N3-$T?S+cK1O@uIDrnrU(=p6Z3&eT@4ffz;Ls*lbWG|} z-#pha`pw-CBSY{*&phX}wa>F_i5Vs!L}$xb)uN{YVgGJZEAO)Ytr4GW@xX5KuQj$X ztsAgXQd&ZM(499=mpRB*@j0eKCdQwPy&!V4l*j6>)Fy#>kJrrlNi&gWXVwd$=eMMu zydXc}FY&qaVRgg6-LExMvKENy(dO&Ye`$){?O5tsjmtMldOSEsh-bG@(=Q4iA?4;F z7c5yJ@NpT;SYYIk|Bisb+qLs)b|s)O1m~k;oWW@@Z?aRJqrS2KQv&YAKyE(rSl(yy z`3BA)VPk?tsp7`PbJGl0-TSO|ifSBr+ImXixwWM~~ul8+6uE+0r+(BSVRj^!9xu8}xyI=#YfG{;>Go*2S@?BV*0rtPFvZHP#%VN*8t0@H zPeX8y3YLQb?scy%?uE>~%J7WZZ}AqIAIpvO5kkIGfMV#bLThj7QO6gBy$*hNipb|* zbt;~b3^Knq4B?-U$q+Z@@69>25iw!>7NV(U?|RmrqpxyVnQA2uDxmKFiTV;>aE+-SsF&(&bvJxGg`>8>yot0P zuXbB+vC{r-P}DNGI=j>@XFaCvUJC^KCHFPeM`mp_&PQxt|I#Mw2YNJ8U15-s9G4pW zP0<;u{!RB<^sq>z^LwXYLw(^qJ(Sx-TD|W$z@H~EcuwI|xNE&ld#TTyYyFl+PGR<- z>{48me|foen*V0woU!NIEWJSV08edXxBaciF6zB)v5cZj4D2sp-d4W}_F@X+B?!ia zJt<8%(z6=t&*#D*jNf3q)+fzan+gC_CWoH2&F?}q>q9=YVR33tlL7kI0W|`mCiUP` z2I&y&BNaMbk)9=8e}tV!RYA~~l}Y4N_8(1Q`Rr;pq<%V)l9X)FC@z%>jk_-fr6TWQ z^x6fQ(QnSyslEiSlunni*{G$zG`*W3!FnD>s;1NULgmt?ndJaC3BX4G)+Rx7Rnb?kRbk0oE`PR*5G$jRK8rIlVt|Ywhu$I=umTp%7HyYb z_UA7P=7Eg#eW=TE{DQu50IGF+-80v|nv55*niTBj!hqeCm`QHp*%+pSdpM?3_{x-9~ zre1f?q|5WaG*$%#Cf!%>86IWH=k0=6t?l;&bc>oTjXhFpldu7Dbu?`6((wi5gpQ%R z*@6H|`*GB`wG;U-P3mE%Nz$!RF~MLzk?qo1{J<K9N1_C{qy+S$EOTE(jY-^ zKF7p6*aTx{6>h0&ZYlR$nt~i03gYgX`@zcP)`2sRB1Q`iki8MFSa9jUbQO<(FcNIC zKmXO$6r_Ux6?+l}Yc5LV{m=@$V|^z1#);?C9Qv7eC&0qv37!vpGr$cQh;X#df|e{bihA>?H>nyln9DXvfr-vw2u%$#31iN zX_FxIbF*v%7T(z!E`RZ@TtmtrThIl*w0`BjW*u{xfD&90e4N~^%Bc1|YBJ!__9n4; zcx#zRq&kTo>P;GG3I@73xmyB3;#fT7RmMstwoX%MKMi+2W-NvRiE|pXCHm`zzoG2X z6@5}`3*S1k32-+S?s?nal4cm=uF_aU@wmQ8_4zu7sQVS9{-u#`brMT$f2|?u7vDhT zeRR~>OOONSrt3-a32hRkS4%$?&%d1sH+aJ+lG|5K%~b#@KQdS#zrR zH&nPD02qW8mpt2QY3iM)##uJ~gR!3|+*|q2CO=F}6X<2yT3h3lE2D7~51l$)ni*6o z-rG6uQ8wrzP*V0x{$>y`*Czn<%_*YyEj&7r6qGZEPLFTLqyrJW6)n^Z;{H-ug})?& zkR4c1P()AwFMi;5C1+)~hXv)Q6R|Ie)WejWw(OsAS%loc?h!(N3;Qc)-<$&~HHX^_ zfeeXf!QF0^bVX#!pMOSp-pTAm==1rVjm6KXaz%;74?H)im8m(%-nNFx zfTRT)P7mE@Av5+tv;4aD`H zc|X(NZ4zZ<=htm7m3i*CVdxWf)lIaTLjSC?jCViKR5@&`)8_K&Z~pIgA(KS6H*J`i zVd^T|r72+9=PklXv2j&MC%3dApfO#4TJLhC?M?UUSHhh8pf3~?^BnciLItJ-Bsdy2 z;%fu+x1>PL_PY4iL*>mjKzP~qL-HrK=#i7WKqQdF-xPnnDMm_fzVU`m)s1(vLpMOp zbTlcjK5CVwpjs6CtVCG4&tajwFKql13W4O;cHaw=<*8a)A2CAA!T4{Y*wtKT8Z*x& z%t3iOA7+N9&HmDOO}gZ0K^t=Pij;-*cV1lREgIcy)PJJas!xXUL~w}$oq}XjdUa<_ zJWa|S@+SiHOw!E)JBvz8#^g3V;g=;FxJOBQuyWzFkJ;}(a?^8Ozw>=7BqOs?N8th8bu2BF zD0JUY82m7)I*)nCEfmGphzO|K7bu#Y+6q?#bVDkqAu5h1Cg~0C_IPNp6VURaT&{$z zahY>t-|<|DD0ul$deMBxzBov`r=Ss@Y)|OyZ{6j8O6=T8C1#muVh}6M!sB`*$9^+& zDSc{#cI}zdgn#Z6&y9(wGP!>XJ`xxo)MgvVUAwbx&Z7lI>QG-Z;Q}yVhwcTss1=O^?7I#vsQQwAiFfYbQ5ml>z?(Hxh>y2zw`1t#bmJ%20u<6_Fg2KX_DD z0)_t)K*V?N%7FyC7HG-(Cym^kM4tcg+CKb2VZ*vO8H1MQ)eYq8M|@zT63&fnyv9B(Y+ z@+R5qM;+XncL}N-`(W)}V(_8LZm+S)wvgX|?|6A!z~`bY$BSy}@BbvS3m_9YYrpvL z@+r9>(xEIYfD9+j64z_u!jM#~>)f-;y$;aMV|Z*vd9yayr6OQe53lWxKMYjY zB&LY>u3JEvJ+L<`osOhkmnuywa2AQm@t#tsJfuv9abkgRxHz?>qrzIundD+T;ei|} z{UVSQCVpvLR-R=%v4;7kfR66`L;++f4E4R;{rWLAhpaC?T6^S8wlU)$49eoC{5Xmc z$tzRPD=ukk#^||oW7Qik1($BF1$O|mmP8J`Pab47j8b)*>Xw79FLO*Pjj7+%W_9q` z)&w0{rxg#^Kr?%Hv9e|3=ET`o(^gcR7ILq;-Z}Xc^yHvOh}TBCLw|Di>n&vVsCRRc zD63MX3bW2Pud2yt)nHehfrE0}#*$~}GwzdDm7klko($FFd`F2U(n{=RPmH>pAOx7M zLb*{<_iu!m$)uZLNPLJ6)=Mkmi{-X?hw2oCy{pu!15S{*w%|(PLDdtJ^SnBZGB5kR z+)IGFj$TZ-sqW^3-6wU)?o&;N#Z7nbq~=iEf2^EMGv3c}SQdH@boo|+D%XMeLY-uF zlA(1#fN%h?!`5kv_v(7jI`r08?>-*&J|#;&vKmx6`C0c;R`X8fM7yZ8pRXI!GTYEx zeXGrYCHf+Yh@{*^E?dtgF)pj`x}AGQe{UzaWp@5s<Wj>_0>R`Pw{b+5EK zS3|3hr~~DP=Sl=+fjVCKzUCeEkoC^fEYp@?u%3qLdlqx8Yu5@>KdvKrH@9v2jtbcYaIFSoL)7UlRxRo`UFu?JGbhAf ztN(i!_Z9hwx%dBqf*UT>DT}Wv%OH)CN}}skP_YgyU9h!e*Q@IAu+W2fI7MuIYCF1Y z9tjk{w2Z?VAqv7@-IU6`0!#BdF_V{=sRrwBo=yyDz0xW%w&dFb9ZJqd{i zjC6GDs_OUWjTf^DyQn{4RBEE}vGPg7#B$^e&(dIn+naz!dTzgiv(!v)<)!#?)!;tK z5ub8}9o&(Mj{Nxwqzd{0-HA&sAdZ!u7bN2!w26yR$*cZx@piNPpAP)^py~PW73eYv!gbt9#yT%T#q!C);ucin(o*sSQ@P1Xww~A{pBK32{nzw#=4){jrEeYX^ z?iy953Az+PGCW;lE#Yu>9i} z*Sg}e;y}N*s>oE#4RJ|7Pbr{0r(1qCo*3DF8f0%bbE8V89WK%x6ru9pqxy1EV4 zLA>$m-&XeeZYU^F?61P!M}6L{GW-Nh{6Hi1-@4#JMlq}^FAH`>gRFQ(0x<3UF*O|y z*QHs>{3V#k%uk;A}H+Kf)gz%-$3xdFC=kO~wr*BXOj(qNv`o4KkXo|i_eYNDEf?d5>C|qebr5tBq+2Q zEF$QQ;w3}^3Sw+l5(G*Bs;x!ZddF4ArT-jae<< zhV;E||8H~h^crRw4SUwBvnyt{_=K(cGsfJilosIpRVTGiUaOyBF_A`bR65@$8Pc;P zQ%#uo56E-;IIocX68&~O4-89`9)y@1-)960+K^c0F1au#E^Y zBVA2`bF)WzMRT>aPH|oEd$Wf)C7-qAr*BUR%qxH4`8K<=2diKlMyvJdnba#3HCv`j zU87_b{HwlL!gJdoS_NFvzhobu&)wKYtpf&EzE+qNSs9WQ3bWO|GVAdS?XOu`B z0X;1fn*BiN>4(-h)!wS$m0>CJGI2a{sy$CXNLi%0Nk>?z^3Yuj*GSQ>{}~os;4SA6 zlW89x1VwUkF8h)PkX1{jI-bS6g50mSidHKOAi=Yj?Hx*C|B&HS*Sif?jWx`i=(Lwg zK;8)Y1X4C6j>T1>==G#~YB$V1*py65KL`bnRC%HScFoN-Su(}9hX&8y9D z7vA2{KZ#H4a!U~MdKfp*0s~+hhDw>+k5ebUMgDW?dIf1Fi@zT$7tjyTJ841vQF@qKGL05=cS^Vs(m!%<^=LaSWt1>USY zru`p|r1l;Uk=UYDx@RPuzI1ozFsnywm0^4{tPRsn8s_y)Lt*D=kwu%zxbS3U&YX9? z98h4)dCZG6mj{*BpA@2`{Gn=Jmv>i-~jZ17yyDJ6qU0b{U zF(H;`+A`p&2*dUSRJc!873##1ng@4oHs=i_J435rC9SYCX}Lw=;P@+dqqi^VELBmy|FS*sQ zGusp7kB{FHyL`c#C}Foecpq;Ul(BW*)SU5Z3`}^WagQEw=>F}UyJ<4xBYkK|TuEG# zzRA?eoSUk(yJ-=&v{50*Dk&_cgO}fEWgxGX%>>)ZrQri-)6_N%F)o`3&&wa~x zG1GS=8>4~E#w})RiTrf!sClRz?;5y9Ve6=@YwY4>jO*{{oYS0P$!b9G!KnBi&UL;j z!Yo)9LC(@eQOS`wrE2IV$Hz1-p&w&!h{63fjx|@TaR|}Is)uds`e~mi?uKxdR@cd_ zq4Kj*d!0N{=UXqW{GS-)Sk0(epka*@zSf@A;n^4OF9ou?a4!D?hrZ_56&Ycfa`O}(9le+&EXqoQVYk`JioX%txpp3URzmk}v1Y15 zv)o~2)ljAx2D92~z&eHRoMINeAg1$keN54oZ=*zg6I-I`=)@W-y=gRj2G)=6$T?VL z%vLh%DKz!A&mmczoKFGU+tu)OwmFU@vrRjYt zuU}lqH23}}{K&vS%>SWb^F0~)ajvoZET<2ybI8=ZcNc1De<0rlG* zU$$34hM0Zpq3nnuCNnGxH9TA6*T@>@&CM_jXMgO3ewb?izCP}~Pi6_DOL8G)H!A&f zr8pzU82D0amYjLA@oGas|7~nL+s=ue)m5mxSE|O*Emp%9X&*j*es?VsObZEd0KB6S z`#9qG4FfIA8PIH+D!R%wJDqd;8DRemZyi$l-j;a0Q;)>4-9Pz;SoTXzI%!URk=(5D zgIjU_;~WCIE8)>)qY8Qn}Le= z#MxtD7h?`&?ZDE4q|6hJ1{U*{w&z<$LC#cN2WHJeVia9yyY*mWzd{;FUp-W6Id2Jc zw6<&*Q|4dR2T%;p4V;@%DiXEp8Qx9JCXiR@5hEzJYNzW9DYg&C+nL9xXc6&2zXcTp zWQ}P`Y04K8+pUzOX1&N;@dFvNk%hY1}5of)(lfWYYZo`#xxXTWoFW7Gxg|t zsu^rmVFb@(}OF@rV z7+LU#mD5y@f!~8y;9Uc~3Ak$;LQXkWH`LYcS?$TZCLfv)4dFg=@%rhPt#5H@j!J+Z zJ7ch!lNgY^OZ^O@6B2kq;aIw(>Lyb$nI(cS4OP}eO9ZHN-kohfHfq7VYUtdh+J%*Z z)E5O~!4flvCk({oghltAyslDKLqK+wS$nhsM>9;mY`+?p-AjeyQmqX z#EMb1#h&>*`Tm~&^U7a$uH4sozTd~;QLQ1cFnFuz^}|Osf^GG9_qtGDPVU{_TsON} zASt${4SBz}0#XgtuRC@ zr-ZG@@70kKJ?mQP#6f!X?33U!yUOHbk5Iwjng+Mxe>9hVqS#eUjr0`ZSEZN?Ifad= zd%(7dqzJ(&e0H6v$HaWtqtI$IHcMiUQ2*v$$*j#wohfKM;YX?kyOQwaG~=bu8HrCI zXDW0Y^E<~%guoOr@3vj+MS4t{JQh2Tn>q2LGQ-y16vUN(U0f^EUGTosIi_!GA|hTr zGCqQ|gp|$b*R(j7C$_Mv)17PW)O2n~WQjNIAUgCf&3z9y{Xp8>D4Un={HulGSOS7H zb!zeEq_KS){olAziE+6&9kD9D0l{u3e;H-uZ_C5vzspa{g9hAh;~pTBn$EG@>l?Jvr*+_FlY6D!tvLSr<=_PN%E*munc=)yis;&0^~yP$_+cLTs8b_~pVq%6 z4spvrLxT~9=;+zm1~(zD9IJqK#xtS$u2u(XIvZ17Nlc@O#qMm?>}IR?B~<03#k9Xu zv;X#s(OnK=Z^BAU6UT-6xqPfKf}^I`{G?YPJE|DD0JT$d#gYFHXK1i-a#ExTwtQGRLcK+-mW3ny|KcPQi8>~MA}PG-ChKs=TuH5$O597n+? zM(7(WNAZxao^XEBiSdKThN^HIfk&9j>ODwyMv_Q$XZ?0oq-zoWKN=0zZD?POjVZd1 zx-ZsM-AZ6!djIQ3Rh}Kaq=zs-S4c0@9$}Q;_ zco@7B7)zX1np_VBJgu zMlAnvMHD%WydK5hLq7h4?^BI>Sn_qa-z5@R9+h9zc3tqq!O+AQXth0GOxmF+g_Y0=?j!9L6iGQsfAk9C1T99a0^tvzBF~%US zsj_U6pK}}yDo`q_E-TBLsCj;x)$dU$Co1+w^||yPFXJ_ng4`U#(_v(ip^w4a4DZgK_Bv5cN=jM^><|^J zTq_lgCO!a`ctYV#Rd_=FwPCLCEXuWKJ8ltw%MC2?FG+bYOVwaUexk$Dea^Dui(YY; zCRf}pw-_%dQuAkieCm&g*~gk50-xAbWS(?|?J+NDwBw(1nWqP?bBD>O)fEb`Br9Gq*XdC!YvolldLDnKteYAI!7%29 z?sLellDEIZ4H=Mv-vywudYw!dEIuW?(Bv~0ozkJXiTLDzy1Cf0Zubm6nqMFyR6v~T z(;V_UbKw}E_qqrVp;C+vE>y|9ez#do1QTYI=I^e@{I3w&(IRYp@9&f;fm)q;-Z2WV z8`8nYviww}2Jt$w2~9qkxQD-^D28;x--%r3yuzmMW(9m2!kg)egmh^(Ik``Vf+ z$CjPE8MX8}pO^r;K~DI!Qbu3F;}v=v(}Ri4G22j+W-3M5c5QsB-Xeqh8jc9d6J0K3 zP*UQT=H%d5&;IF>NdKVE#Y^YvjLLsBA=#;>HLfjLD^(pq_(wJ`+8I6? zyY&Mk9g|Bl0;!Kac)fYf+nu9V?9S63+PKs7)9d|Dg}2KgVOV~tYf9BAxNXF+tZ_$z zOgr+u&fa;;AfVsS-4hVXia!V~^CN_RaKmkF=LMV_K8B~()JiV~EPlaxzq_@guHir1_ zP&(z_)hltdkrdRha<756!PpV;?dAFJwm#R?XQbE7FY(gYCepDd9qHH;6D?<1jo;)s zZz4LY>3>t{ndlFVK}E;X@Q|GZaR+h;DYSng4u03sB2Hb5=J4*`a z^2sba{3-3JVInh0%JlrOXuf(U#m&%Y8HRiGVb#*@~JSyh)Kd zmKj+%df9RuRn)(*eeL}Dg#8Cu-h?K!Wlx^SM<{2CA+aO)W~N$aaRnq^!BExg{U;JC ztC1x%^M$T(rXv!g(hTXrxIu78C{Vm9kyvZD%Gs^NcYo-&xDIEk&aH|+!G3GH6F(gs z_)Lthb776*xMIBY@`Xg@r`)A$c3sY%!U&73vc{%Dj%aID#E;AoG6!^GU|n^N^)O0_^ZFr#n8!WS|%K?q=E_4QDJusYK+?6T5jTbFei;4Y;7z(kV4ru6L2|Jn|P9 zD!&IFiHdXCnXPepEtJXpDXaZe+Kc*{cAY?$yY2TPBHwB}X?3<9b?eP7O2Z$zXIR!f ztQp8ivZm@0rUFBRLf``;3^)G7k?gbOcC81ptSqI1zs4k&O#ICsBPI$du%UYdN0wtj z#J#Eoskp{a%$lWq=3?Y%4q4=*oM%X@WgFyy*7yf&>--wF`kZ8j@IX%()WIp!xb!L= z_dCT4qbO-Tfau-`=B8ujoMgX_XF&bhct5da8TGmXhO*_tI@T4m z%M`0`c67M?arH;An_b2#BIEZ?%zZG>`!tH2E6zhS^wV)SE|?X|xkh(J9XLhD3QK3| zOo*0i2MwE^b4JTM%tz%wx1*4rxs~NP-y`7SQG0`a43*Y+fVg=gRv*EJ@EBg1V#FXk zzJD@)_rl`C*F_psgXCtOAna?Y;m^gQH?A1%c&fzoMz5zz+wepRZYc{ZF0yy_l9%0% zSy`ep1X$8AMKvW%DhzvMHOWn!OpMEA^vmytFr4{9f*e#2)1-l4Wb_$QkfOI3uf~7m zSlZRT&NK1Hpz};e+pxI!nfHo*`lkE{t}LxF_nj5HbxN_Ju%;)fsMc4y~k#CpCD9^`42#6N0@;%MlVlrbl-=BsVSo zzHh^Qr<0kgV#N7;_lohw6_S21k}BydG-VPbjOC*@;~TwrLbfUHI=D=^ovzB-Z{JgiH!BBUVl$>>nEXA`7?57>4R;vH+;cF^q{5EU-Vs+n2^ z5bGq-?-}pD<9PZor8hep;%QKG@8&hZr3480ep2=rq<5=Sh?Tu5Hv_5f=|vp2vQxY9 z_AN*rA2@Q6781a-=Ji~DQy_nB!3tQQh|>Of_s;v>%24yyD>M_v>y1vL!x<@zAa(QM z&Zqg^kei65nL3u0^6Seko!%SGFWcZ#k$J?x3S>h07|?_@_b z2k1iSRE?9j?b7{F&S;K?YLs9~U1=6pA#k=k%jNh@Kn!KKS2H=rVkwq>**M+UgJ+RG z;Ry%tCB=SNBloA%EJ$>labN_M7kv@{oYEFmnHs?zR6;<9vKV^BNkAB6eQK~W^gkM- zDjZa#qq>*Mt*oqzG=JOdXxOUyB<7R47{G%hl#_CT z5pmi*7nr*134mBME=s+rb1a){LT9E~LGsQ43UH^qKWk~Hod+`oM6JB0!s^PYyNpBK z95ta}3#Xf9Z?tOTQr`VKVM?Lh4s%+#ur5Cnmx9;VJ*PDq-lRq>V zUv1!pi5ZlCwU@3eF}t?o9X3$Lv^#+`Y+4a-JH<+f6x94Vm}7;RwU6r;uFkSH#~SY} z=YK{xyYJ+W=NS^PkEcS9@va@MPkNWWf$Ln_spjFF40n_#NR<0Sn2!U+q@t;KQ+jiV1Sb+tVl9@4v z4k2PL)JQG7&R;i93vCiF#^@e)-6{N!W)dS<-WTYc1ai%5nr%YJw?LrW?#hX==eOr= zc7-zwi4e;|jI+fPz6WIeq);AqVC{R!%zR#TwzzZB*06)=lYtfk()d%LaO?N^7={qp1&kjQ$| zWy6N$dYosd#UAB7DMMFoKlM~eq?-M%m9>@SK=s7cp=`;uDb6MBThq$Yj{Y=shCnGA z${Ax!vjWX5lh$a=N>xh(E4N#3wuMklY9<1;`UXQNxse1SM3gJKo&Cb*rfi0+mk_KJ zDtgzlMC!6TEdwL)n~#p6?K0>;aCJ|~*|k1{57%uxzmG!UB?x&?!^@HSlX&Xm?wZ0u z31uv6zAKM5iWVJ6y=>QzW2oCGSAx;)LQRi^4e#k_u_3GLA*-a?fo7M)kHDDrKH8Lr zqC+JSl^x2{BXJIvAc9_uL9Dl75{L?lmOY>jMKaI4&R<@44zzB+?M?--xt|L<{wW)?gbgZ8iOcy&S-!$gQmAsz@pY$l(HWc=_1GdyH?F<-R{NqG zexpG5VNsjGU+eSg)CzaKp6#5ql{z8DGbTnpr6KR{Sa36^LdaS^D%s}5CLhZ(Gme?2 z;-||$Wb-!jhYf4ogv*i@NYxb%#mBy#r@Yypa1ABTmTdkV4PSp<2XwytSN6I+6v5pg zNPwo`&c;5Fxo#gvNoX13#c(Uyeuh5rTFzUWTT@5dSe!;i)uTMtlm#~a+kK+C#H?)D z7-EvR5E`5e@(w}>J4jh>x1t9NB80gXuzDLWOZmMs_AqSZsou!KrEN4>s1 z9>y%Q93g%9{KVG~`Xt?E8&k!+M+`DJiSzrd^YThv*9R`GBo?wBCYGGP+c>xKgocvp z9s$fX>m#XL^4-6=~f2e z*HmQCP@0^JxIg+(Xk^na0M~+)QB_+Ai5+CJc2j<*S!7^GNrj zRhE2t&atHd-BRht=8)AbaSMq}$J6|V%?ZuQCX0bAe$I_;9%rTbao$r}-qLsIBqyJJ7ZLJJS@FIalVs$UKb|@Y_S3VT2bFuoT_=JM56u@YlYz8+>g*7RahyyDGlwBEnH8 zZexXzPfPQiU(u6}b!#Zwv_d?8eZ1AGHGsYAWFjJYjaZxgb)Fm-ut>oAlSbYejqmEM zqY-v3zgGm0jcM2ZnKN#5U+g}XUbStuJ2#;So$_!{3u(Y}CW<&UAofwcm0%KZliqt! zZSI^d^wM6*0U|?WI+}wv5jt9t@s4F)ox0wFVrfZj^kV6LI(^fA0 z1cCP^V%WW3(X8-(&H5QUA-Xzr>_m~u>O-v8Zt8<~B@I0rXm@X3RsYB1O$iP$WBuP4 z!sbS0j>yA&A_a1!U(moi8*?SKk-W@Urh@u15Y|*-8>*3@j@A}AYCgw#gL{=FLS`=} zC!W0@yCiriynBLwyrz5yeX-rIvHLiO47ixp6wTU6=Hzm z3Xczh*-qeYaQtX6VAz&;KDRojnW&J*F;lp2C0|bVr^czudmyLb95xXjg3IRood)z5 zX!zs3vsIPf-Jp3$^ZoKW$?hZe)hAbGEn-0P5jTK*wG4Y+G>psMpUoJhQ|`Y5)QmgP zb1L+)D*7tIt;=-v#M9SCKwV~b3;|VDO5#Jg|3>4%E@1Ds81C|5R<#}-QoT=HI>z`8uF1}HlHvN{I>e4X2aa{>HZhiL2n#>}#j$>q> z?&tyAnAAZF!)$1_f>8k_EntG*6?Y4v?A?9X5`l7~)GR;7nnlQ#+9>@E3ghw=V`bsh z)k}G3Zv6|#XVKPlg zQy`t|5gqjhd3FlzP7*_C(@41rmK|eC1=nZ4l}!Xxm5#jKYKO~i)ulW-XCmKB!ZvaV z9inr({kEC@MlUdUN(SYPG=dyhh6mBV)4ZqJF~k?cKcbhA^hR>vmTISSP#Rg-NL{1{ z&Deg)itdpI#;9CRvED>Lx20q(GCw)#Lu0jfvPV)K#mPG=lE<55_UWrWGhDw%x{ghr zGv$%I2Inj7me=^8$AdrjZ!#`xUaq2LGe^k=-iA?*#2A{}Yshgpc)tLR~@~% zhK88_E2AetxzvN~Kbqr*fcUcPGflY7xL;4|8K~hn8oO>8+QX4x!)-pgB_%P#ruL-> zXyI`CQybbRKPh{vfMd9Q`MB3zENprf?E;3E()u4X|FC7a7x#YvWb~5+!)C%%@LTNbW?ti(R0={%rm1mwNbba!7 z1zy1J5}#$jA$3o?9kBfycZO3JVE*uZkIQ&0DTdCcmsdtCFKCjO(#f@$>>?vv&k^%DALa_DQK zx@e&i>VA&y)UEC$^vwKRiQsjh8zuq+6JAB>jxNQmSJx=}r5d^&Rc-M@k;2on#sm*` zn)tIB3k&00-n~^i&+=N$(v9;(3^UCFtukx7lfuldW=<^|f~DPcB|@q;aurc>(th7h zMwT#O=|&c7tHV^=BN^{_A_Ul^p#IQ!xBY(NvZ)ibf{4uFe1AhGGP#n`@v@9%%Zv6m zYlg{g`2}42qfnI@@g868k!q}bJ*0YNDJb<4z(8AJ*-OCtdc+T}(LE8OJ&rjPgIw}@JM z>cLr8MI~JxHuv_F&AE(BZ9sYgowq>!C2lo_l3eEI_=aDI<Fs z>NJ{%w;i3IY0|g83G`&7w?$86^i3t$iyC^4bm*1`*`?Hp+RE#C`X#jtYNjg&M^kns zrK=OhCvwM{)Bc%%&g+(Ww`_Mqb5X!`CWV8qX>Yda<>2i{FWt4h<4oD|^XR!}^+W;v z0TWY!%P)pW^T?z8t;QNc&yi3MLK&R`b9F8haIs<_@D&~JZC zw~KNlzbe&X`~O*$k3#WYBPR9FKWqV}S>LPtYVGj2#;LLCbrS5~A4u{Z!amExx|%J+ zKY#qaJA5Grc znc(1zv`y*TYJH}Z$>dgAZ?Eq$2UQ-x))gf$`=}(05pyiOqG^8*GgNTR_@Yv1V5%>7$IP zF|5Yr2&Pz$A{&XJV}JSTjbg-7R>%GZf@Y24+~qf2LK=ke%hhLDspdtRypaXA`J@O8 z|6zK?^5JJV@oA5u1lve#@LZ@}4pGO=^CGjrqEn(dlQpUO+oixSn;xwf{rQAnmTqj* zJkJGvTUFlwEZgGyY23T}GMvev*E}XjHpNNBEl7L&Io`8j-6a$dXv10H@u&*!@k5TJ zdG&h=oqjr1$0j6C1o!1u4cpc4*|Ax~HfeMOJgJab^~Jeg<1VN{D&;)Vx$giQH^PPQ z`d@B5-)sak%jD%^#5C$4l(1)5QFIAW#}AL+*m^6n*))L``%7iZ3vY)A&Vitwe(JRs z8GymNuwoSk3CUUUKCERgw+3rBrWA_qkVC`pYJp}!?D7F0C*L%rFaL=xOzVqy{wnFj zg%#}IT#$&p7Gf5K*1UuCl1@?5r49#YI=d`;*3K-XCR9~Ar~F+W26Eg;*&o9g#+n6>M^^2As?#E=ESV{5^af_3KR}n~&!0a;)Q@oE*FCRG zK7WZsg3jKTM|IAR!L8lLJYTOqEEbc;o7bYZ_e9vmtDA_f)pcjWBC$VE8p#V4wSl^C zR>XUae84h#J({To!TH$VGjqSr-FB!MrR-RZTjws`<+FnIbFl{&ss=7^Eniiij^Wo| zej(C-IkeJ+EUj*HOFx+E9ThJTP`NN;C?2C!g&)2;?F6t#qFFWv(1Ct4bC0ATfRpUL zu|3_zDn@Pj<_9Jv3rMg`;0L!l1*Uv#E-ruH41b`WxRXzm3e;ujb}I$FtqCBA$)$tQ zUh7O9pxw>e(@>Wh53k!LPSdEwSs5L%#}T4E`Kv`^!FJg*jVeC>vds_@yQRx!De|N~ z@v|mRf0vM>5Px7r%>wgf*XH|#!kxcWG(aWbMb?7U3_h;!?3YW;XQtk>j7Q-4pO<0| z_e%5VQS(`}kI|d1Jt3BNtc(4~AfMvT0d4?S0Ia2Vz-L8o_!TlyO4X~NiO_Va((-Kp zM%xvr!3@`OqqfhYk5jLoH-H#A6Q$YGo4+aTPJl;!xD_53y^7Diev6 zRSx3wXVh{^m)i-7w6W*%9ua31V&(J0IJrev7Cvb5|AL1-a%fc(dzvpHwCVQCcB#6*0&_SvBi*%?>g64j{hHNlnK!T{KO zIz6{`C|x=mh9OA=sHKHT?d(6{^je@02>nguFNG&tvZNjd3{bWAL_}14kXd`Se=V&R zpER?raw=GQoP943MaZ<4ao2Ut;phjNI0fJ!+694L<8>D^=l72L=I7$-nX0QuO+fud zNTzb1rMVwSd(Nz4RIbS&&>R-^r16uOyDit~XTfT&IHA~Idz04fZvJo96_#T1OqM@l z^a@m;KUjX)=Vd$+VA>GqKD9A7xHCN{-u>D=M0p4=q#}j{>7JW5V?4(POyb)4_l?t8CO1agd$(kFDF&1V3(vrRb{+%02FqWmNf}ZWA$9xn}fAw{T{19BzaZCU~BIFzI-5tI=`kpj%D( zU9f|ixTM{zcELeHAKGqDM*SI?Dx02!-(7&dtG^@DR}3R|bIpE|cq1^7s7(!4n_0LO z`th9HviS^w^-BUX=h|Y}VYJ=PQ#IFmp_5|iG zvbNSjnB%HmmKAb`x@?p-Ol-KQ-|OXcFU%(-R-IN0jk?QYHXYapd#CLR+$j%}I)j&+ zzZFzHB@NOIc)@l26t0!SwH;t``plCpR*4(pE_F5*28nJHHp^c1u2cc!?_;V!s-s^IWMoX( z@Zzv+OlYJ!}x2RZ61gW?|tn?))2!Zi7dr<;jOH@8{6Nbl^Zt^Rf zlvwW}!qZE|$TRl%hysmrIMtrw@$N0HBkQU9sN*|SSF5Y`M zKGA5odF-#_dG?&x?RzEwGgpqoXQ9I1zmF7A4POnP2p_4!P_3zgTbt#1R9<&3%H*YE zxxeFV`b-TU#WFbibC$^P<_Nc0o%Gk`n&rJV$s?PlpZ6F)`^F_G73C=??|2G%nV^p| zwy0>OY<$GVDzGW}z?hfv$o@*G+pC})+*`DM@w}GBPnT`ub+#dW% zlP-O}gt|Y-v$QDa{SH=MT5_%gZ`sd>YuSCU%`UE6&%P~Sa~e0#2#UVMSD>%f!2i-E zTW>Y4fQx0yQ>9?H3OZqD^yzOiD`?r>)`2JTiZ5}w=a3gN-kZOyX60#YQ(buhW<=~1 zQ0QyQ=cv`>zo91f*zYuqmyl{fR}L0)&QFxq?eySl7j|C%(M)8Aq5Yi}U=@UQ0s##U z4hgxbxF;r`BaDNbPaK^5ldZ0t@N{~w`#}B*Z#!o3itiUH)0_~qgOgG|G3obZXuKxOU`wJ z%UcB;jM|4@+2MaeDVf)FAw`>>Ri6++4P$ zmk+Ya6MJwc;>{LP-yzI(X!6;a_HLcToD$DyvSo-Va!8N)H~TeMZ{n{bUj0>T6LqEF zOkDFdV$It2arTpQx*;hIl2m1#GCbQc$^j_uvSd_y^;c`x3*KOFTWy8u^f*6D8^0MT zwXo2zb7=~Nue4xWS4aEQ)_~H&lsNj2^6$_*IfN-Hain(e8~+nJDz)ep-6sPJ-FtUy z6Ng^Wy`$max%A}5Rei#j1G}$b&uJ5)T3FHzK>)v_moeE_nxytXfFs#=$0<8=t#+*E z%;j)ZG9?@hOKMXWCd}!L`Gx8+NBMVGrBMPn~c;;#l8`)?2h*lW@KMSm3 zo;j}hp3V6U@~)j*60E9yX!d0m|M0TI{hg!4#g7)(8l>OzWiC|XqXE}q=)c&C7@WIx zsB?Kkqm%}uWJoCR1Gq$DWT2&-*g&Q-Yl$(+>7ySJ6=cFOoE{ufiLJf3qP)#54{3o2k(4Lg*Iw3E&m_~w)bmG(07`pFYgKFuD>GqkB-A70^z$? z++576=+dqNt`zUR?dE!;=o1hB1`e|7wCTI8ZI(Qv+Y2@{Q9{B;yw(F-G&R`Nqf`~T zEFxgdg(0frsYaak%{d)A&H5j|7r;nAs7}uun;`?>Or|bwD^C!oj)*-(jZ+k0w1+=N z;a2%Jmg|&9$9Ksx5Qg=@j%uNzobu%V}518YUJ?~-*zu#|B3Cs#dbkyI#ccUb>x<) z-#P;!M=tw#f9>n)ReW`ej$@%EC%IT-WBKAT+6tx4W=}xcImX(&XCsQp6`{KObEsI+Sx=HMiM{2sK zI`QnLg`k(Z%P6j-@5A)1-5+P)Z(OwBxTrRxGn-qoU7l+jb%0nBZH|HuiK7cBxjogK z@v@8jx(aU}Ce8c z(n%K^C>K^vtb4XmyO~kgI5n{}R?e-bYX$Th#^Z77{8CgK-lIaW=%`<|>J~9M#X`I} zRv(;EwNKEzz{BYs7=z)5!71|*d#Y@^xA~rO-oF&4&o3&%QGOGBXDE)EsLc&&K83i< zY!iX}Hu{onMkr@;70xMiv1TSTRO2^3gnUG5NnETO8L{%SF;(*1@`R#eFCK75JXSTd zT6@4M3I92K0(QD1mSWQob39g&B4&(^MJrq@jw1=Xy-p9SB=)w5@=!}#Mi+;ykt-m8vK{s$CFf61Y&<}EptgttQ6Ir6 z!@yZkod<4q+!p=W#v&B+Mm${ZUhXg1&$N8nFtzAGv_s74Z-l%I%YC+S5hi+8tId*z z5($Ca-4H*QzutW=2BK$Wn@zT5{Us`HBNx~s4)((dMd&;={Nt(k`s~G{Yl7h^Ors98 z317>UY+=fH?y&LeU>Wd;HP)`LKG?r`B|f&Vn9x3o66#Ux)CH8-9yZK)&bWESBrqf4y;6-@|L%LqsWu=50;JC*UdX=#)%BF@;?V7Wcq|lq9 zuPay|@1&{t)K?+#V;TQSPYdVtGbC-mX$D%}JmNG+R+YP-U-VY__@=(rhkJL1a{s=c z@Kci=IAgL}r#rWhfuFPSKvM9<79Pu-^5coX?c#=Quj`iu&tp5?bI3rX9=8lxo08{wjc zuv|%5-0oWQ26fIsBsQxj{yC2p7l1UP^Q*TSTX-qED4E{+rANH)9dV4IdR@J~#2k(6 zkwz3FYA+ZJs`K?apSBycYLSfM(_q+;j$v<7cnVAc`quD5n>PKY277ovqA3_1rxrp? z;xiY)#Whf{wXPBY6ZtkN_H;iWbfIDH#BAF4Oc5cb))nF^JT%+uiZnmq&S4q;B~$qf z>Ul|sg-d|sg&q<*9x$;FX4>}jz%MlnAPO%g>0r}~z1|7NF z(UUf?)bgOFb;|b?`|a~=w9RLLo&F9*t#Z=TkZ-!uqcR0Si^V|BH%iyIukh(~FH+f6 zQskB%R!+qpi>Xr$HQe0kR${G&Gmwd2FM-$26km(07?V4LZ9&;q?eSyf_lC=OCi~pt zrmX}YPs!#d-mkU3lnF(ZNQqPPu|$9`~mQ13SQ({Y0Of=20IDX}&M z?bOR&srJ`&5xB7cBx)-|?{>1y!ae~6IHA{sY+qdqwu_cidfixy&n)vh>tOusZmQ{{ zf6H`Q=W9e)JKa#tmB+u1cA%`t1^cX5VEBk_SCX4ZK;FYS^L0*@)nQlo_$5^nKy;oH zmu?Mqf3l>k-0!ftY(~S-kC)-uaX2ZI+L>m9Rz1c1(G<=p{GpP*D`Z^P=a?Rs3Rsc#a6wb~zdIlh$1_0|3q6%^qYe`lN!va4*y7n(d@ z8~dosX%g%I%zr71`)(f}OeaNWCar#fV8fsNZ6>k+j0am*ti-1zL0f=w<7s1_%f6@T z7a1+{$^X$%YaT2*B(`j_)S=|@Fl5JJk^SSotB1M*)mn4g@2s2+CPwHAVfwH>%QUtj z`G(9Mc@8MEot(3tnw_#-s}`5hTB=UC^ilushDq3i`A4B1HJqH|k!r4l4De%W65YC7 zJ7a7{V5q!vGV0oB;$fB3L{O{Q}g*K&cLTBkKH+#zKuUhW5)=3 zEZB5$M(ufBX@oBFzt7@prV!FVJ59UC6TqFe`?Bs~0{_!6e1%HM**vbiC_ZY<5*i+i zDz{H3QGFauuG>iiU8BEbrx50uTJL}7UKHpOK)w0$ezW9d-(<%rpmDZMX!OMVfNUGd z{(WbsGwZtOAcKm?L%oz2xFnXqPh*CC2K?=gzA#! zkfO*!@(hpf?+kX%mi?$lw>t)X9+VkqOGVGN0Pj}xX|bChL%hpC%+uyf5@ z+`ik5F@*0P&HhId5ZkxE?{O-oB+MO!DI%wOrr6Jj^gJpNN9>eGLhM{(S1=F75+pz& z749--z`%|*uB&x!p)6CBLjR^WuJSXp1sDSL5P46(F$GTet1D4@^m;qhLP$_-yG*q0 z#vON2xj2#;)2BrFo5^lQiJcrXSd9*%O-&0a%*8azMtIe0Eb!Au?~B=|zs{em646TC zqF^zr5~5MNx<=SYGwrbfDTB$k+j5jmDqy5AB~SZsyLjE~lD5RA1hC|*podUbUf{C% zs=MmNUSlFpSeQ#Ru1Jx-XyfUBG>pC$6UXewX-k9hE$0m_dz852s0EP^PD22t z!VE@XXa6gHS9N#}RB!p{hxuwTzo!l!DF&ekea*?Z0*+2C95w_#m-YoZpO6~0U>3#s zP7*-Z{(9wDUzOVR7*rfkirUGcuwNi-BNj5^uYue|6@vVOf#)r>YY6I!uS7U{K22n6 zW`%t9vBsSs_4D-KWFKq;l!|&)&)C`|ZaGJFcL!-WBCb6*-^u`2+<+~-e8-KpspG9* z!Tw)-;evBg^QEVqPC-kPeq{g!J4tx~ThU3?XV77v$`WOeK`K|jIH~jr>gl@16YNjb zK)}$;a}As21^aaeWn!=59Lw2xji_XScewv(Wl)BnqAWTE9+Y1t4#%oO+s=jiDoMSr%eiK#OE~(nANn~ z@K%FsQ!phD+5!6Dvw#t^U`gs6;Q+I9YgfpgZ8vVTXW6fUnDDRD0kKk*EX>Z$E!>0ZJXjT{gqZvWWXURi% zq;`M@>lOQvDV33?pEm@3ZU&zo9V$`d9~uW22+M3%4J!Q%k)3uhXH<&ExB z)os-Ov9*@pYj8Ek!?YJ2TRKi2iStUd_A6yHs==od-#*30<@rOpR~o3OX@>vl-V*Jb z?oGAjA=$sop(d0n{;ZCd@TSZA=m<~`PW6im$e?6)H@{KXL->3&WypT+b1emjN;V-@ z5{+=<7t_)~R$ZGvzYO@k(?ApOzNX2JgjjH&UE|H{wpSp8Kg5B>^8v1P=??>y&T}td zJ?lT3-p2a)5MAoPH0>l0V;rgM?Td_Yp9s8Q9@me`V*fGh7Xpm@4|o%?G`@Tf z#_m&duF9E2`VjzU?vGKSx9}#(H63Wx^vhnfCw`0M2?J{cGQw2T_bO^noJ<}%@FlP7 z+Vf;o8hRZzW#ZC(pt&~RWo6YH6ICa*1cms z$r`Tn;7X>26Eov*qmJW`U+-9;je)m>aZX})D(k^^5)aNBJj3Ev^3lq}@k;do0r%u} z@kwK_bp^qgU{*i1O65-;QXk$AoMHX^c&0+k!gfTeC3It*oMm2ES3!n`?^7c#*TSk0 zUmhWLQmHKxpdzYI)Wy^6Y1W{T(9-WHhK6~?jCPOk=pAzD;(kI0kO`)StxFq9ZWfe->a?@=4~RU9uTKWQLp_h&(qx`@T?6|0>#>>Re$eJti29?Su4Y zuQ`yNzm!6JVcNYCh6@i5SL=m-ysmUsq-b1kH~*a>)&H0>C6js^oFJBLJF+w)-;{*2 z&MXiL3@LE@kETePqVN`ahulqPLW;4d8Heq~!3300V!OQ`x*P}0RomjtSdgjAw-fTT zEd`eqYkhtC%g3oN?#8{Y6Hj!F;@pNo*f|oS*&`Snw+Du=k+_ zRtjq1Xc!RMebeDJ6@eJYY$i-Px-pD$NHazYm*+29rdJJn2B~48NOhfem8GW4@yD}; z-VvDh*yu$`_TLXfT+0!3;R98t=4(UVK5;qE@E!mq+}5&Ueug3B*!nnAE?7NhL5;mf z)~)$Ac`!O1!0WPO)=?zU_%z4*;oxbk5*`@)8Ejsfw`}^0zjoQ=zL8M-LtWi^QNe~Y zYA&!0?Houwb2GfX_@vVgBNW5sQ#@p=FpR=t4IM+Jr#@7CvvGVzn)sNAUs%ZOKdO1@ zhbzV2*QF$u@A38Ol%DD&&h9kjB@BJSak+q6_h|dlpJE^DVy5kK?X47iW!2f~<_@Qq z8Ib*}V=b5OU*kQ58(Wg+P)3aZ9fFp^!}T%GrVC9{RC{!Jv!H9eLd@irT+ebYID84J?Bv%T{ z4u6NZD^76Cx$<4BOWB_u$wyp&Ef!;DL5?qMmBJIh+;H)|L3w>@Og`c`Hv1Wb=H2Py zzn!tLtM6nAd-)*4D;~Y+qWm^)<^{pPaCzAcmr1C&@cqehu1qSsK^9Qz-nmK}Tg7~t*T=udUAYIs`~)GdRh(=$gi)9un%f&#CQ^{I?F z*PQ^`+iCV_(@a%uhPzG0x=Hvb*hYV+DKBbn#c_jlULEBtdx3Y-or%6=}vf4)7tJ-n_!*RwSTu}Yc2 zHpqw3rXTAog}BX=-OXL~R?9zfiR5}(j`&!L1IGKTk1kN>A*u?}v#YBP-k!G~7f0Lb z{y&z^`mM?LZ{wH<3MkU4(v0p#K|w%<)QAz%3>e+1AfTkQk}8Y=112$QgtWA@Y%myI zqhsXf+4ne}KjFH6xv%T}KF`mF!R?0YqVkLmge4Y2jf;*jb%+jJXEuEf1hyVCX7 z%UwTS*VP$=*>WOz3x7{8WGCfLc-3z8;|TnHIDc22{(<2ktY*cCR3p)BkzJvG2QVkI zriZTfPXP2Np>yn7vR?|4;O(Yd_)l&exh4p8DY&*C1xw0#E00zA$=kFLvm%23ImA9q z$vjuw@Ig_AfWSe+j2UJ~@$ePO!Ic-)at_E9Zq1N-ILICM{L#1j>9(-G-=4ht?!x2i})}+=R~(4->p%o_yHNwNnZc(c#ymNd8&W_(PVF9Yf;1fQ`OCJN1^($}8rA?bNiPA*xft>+ zgKS8O>CJN<7_P$YLXzoSNl#Hw@f4zMJ%K*bCs?HDa|U-qt?69MEpGicm6{P*6uIX~ zKuK%KnC|}KAPqlJ7VW0EG;Be*5h|cw)^!H$67+Aj2_{JBpoO9UqGzYD6~xr=0J`Zw z8b$FCQ^&-4geBiSHF#@!w5~XfSxYsZqBjV=Z1|@Q8XMJ?4aPPdDm_s1N;gW=%RC9I zoL(RKar;xff^p1()wEvZHC}R1W9x04PT19_O#T6pG2rBrg)cPYj?$26Qi6e5;6m_i zqLp>^c72mMg7m&STJeeW_tyG3gq6~PeNhRFUbmU0PnEGbro8X9VLn{}Ot*(iGmMXe zPc|Zmd=z<=v%LQe8%Nn$9kBIT(l+ixF%P>zkMKu(NF4)|5qpy4JK~ z{lGw(#WU<|pf_v!t3Rlk5BnUq?q)dl&LP)kd(g<_?uop@5s*P_O920Th+>Oh8+i5t zNVlkDB`LiyD`K9{VN_H0PwVgI*5ckoDL&1A1y~awhpzStsD`w~B|P3_G)dEyoU@+M z63FPgQz>i~Un4@XH0X~_LqnL!j+XTO1YY$V!1+sMGR_L2gpfH>ylB^bWKm4JRhBui zdn$aIHKxbT#$g|%-#wjB5dt`T1#hiKO@0gLG+|_ML~vxcgMn@NiXk~cOrNr~fL-7A zDDI=lQvMxU?Y#OLX3eNaV=hw6QJX6$x|*16zS~mXWac+|(0k*mz)A|jyP-1&N~$2S zunVzkr(vTP%Aqf}c!4R2!sU>qMd4Sa+JAJCCRvD2vuUDtpyIn;}!VTn9YA zrf_cB36g2UGasQ($15LFq$qVdNg=oc9#P-U9A=e3JYXX;&5w^;81j@#^IV;jDawYx zT{kPB%}p($ZR0CRf!T*%$x?Gj`lbNAG801KmIqG&UbCB%RI98Z-80Hn_(ExkpBMFF z!)0pYHUX-Sh*k$WA=nUbCM}i1_0)DtW{neDJbD}RUI)T@^SRNN2${ue`i^~Gu%1ZL zGpXwehIOMFVr?5#s30q^GCV$Y^!H?^9?iD}$f}%qoLI&CGQxwGmMt@iir#2lW!9B( zWB4(YG_)DJYHV|`#{Te)h~lhwjPryQD|wVoj+6$ocl}6Ar?`+1L`_ zkT@6s{g;W8h9;kGJll$Pj+VA~$&x~nMKg}D z#LQ=32oLZ(XojSFAt}qw3T`h7EO-kT8gz~Qv13}?OE-uGbT^jy0Y>5c2W17#rOZYq zK&3Hj$-q4*Cwovw^Z5=Au!}nm=bZye-mH5-W%h z-wVWjqI(e^A;LAZj9X$R^V7F*hO!PdAXDH0WLFcBhw;C*l$s;d%w8fX7HK%fd)}?+ zDRTy*<;Re9Zi?JKXaC18rp@Av?|LlNAl%;D!#-&%Q^~vBJL9?tt1SlvsOCV` zq;wG)3N?!;XJhYFdJ(gnToYL77niX_Hy1LVZuxS2rp;d*xAs0TXCdH{jx?z~fr})= zu5t4ZT6w`-ZX`GG!`9oy-%4r(R-BTxCPH647GUPSAI+>k0?+G9-1w@#n>7MQOkGum zfy@es4xf|jyFEE1BxA}R^$Oiy3E6nyz+(_d^1gt{8$jC zoq%3g)_3fFU;v$eHh#ic<ig$k9v5^?x2#gNboHGJ?xz%xhG`m55#|RLs&|TUQf~q_Og6hBGY8L zS0;eDukE!QNwnQ=G+9{<*VGy=bTI}!t4W6`q>N`9q@@L8TUt%9hGV`huYBhzxMkhY zFtOj&kCSnhN~6zzcPQ_LlOvqAwLhp-6s?4;DN#t`c=0`ho06usX+s`MvajC@GRC#m4N^?L1gTp8Wk zfT-W@IY%B%j8$tG#N`?$hg*!cX4G7;h=Fe-gUF~ ziu0OOKI2*^(Yrx2p{n?MANtbXdVlxhdc-05;orrCt}HVTqHcb=P_DY{i;K8{?%W3Q zKs9B}nyER!)%8M!$kkc@6l$??GCZa|EAf)<%gv~DinV%`jIK0qPitBeug%PytF1j{ zH+K1Q2dxGaBZb)$dRoNu3Ls&eSNpL3^Dbkxo7XGx53wx0;kV9pA^ zzi<_^5M;#P^9M$F`4=79S}*uq*T;ihvUJ0pVmDt}66c<%G24zO1X+caj7Tf5X=Tp;u6*tlBQC;pJ{0kw2+#3Eq8- zRuv_^ZC%Oh?ox$0=-~%OuVdTsOMSXy9=OaAD@%ramusE+9OWGFgz#!@!_&H*Xiugj znM(O~xjrS36l3%JDfAR|t|9vo)WkVu&*qM^-J_p&?l&BnmGYY(WB((Yv^Ihbre|!A z&4wLrY0Bb;)E1j z^O*=}+R3iyh+XpTjL{LWbzu#zr+yy1zs9Jylw3Lve)cf>E@f_&ay!%SUXok`z(P`= zlN9Ec-!Kx3cO@8R#pcMB8!F$bq+I0*yTSIA9?d?l5r6BwK#$M$l_zWiV&MBctJsTl zle6m^@&Azpz_&<~fHu96KUWGhk2G(@Nk5amc>ke&=XKxd#@1hx?9emi|3y`9U%$BC zyG$h0VsoJ2j!Jn>=a=`a*LnNB`MrvI4CCZ(aSW#K}ZTN zpdps)qBXImpMYdZ$3%ewCRGy7M1Rk-!iheM7xR&vj~yEtCVb7xm-a?JcTg~b{_f`W zd>ubaWbf2v>Ms1cm@4(~<^h>^1Y4inNvLR!og7!Z{rWKdq);rUXe@g)#K_oaQ;zi3 zby)oJ=}2aixOtJBAEbb(V<eU1ZOM+Q{?F;PR(YlG}W(ynk?ks4&p+6gUg*vp_i!aq8m4il-7~WHf!q%Rdo+)KVo2q#*7;?@|A(IUebnQY#0uQVXTB+p zS06;v^S>&5LtfHvgqF6N)ti&E?BsVn8G+#}(lA6ilsN+H1btp=)c$G#YwL zKdJ4ySTv3a_pk9^zcSby5>R3gX;FyVk1t*_plI@=*Y?WxYyx6X{+U%_Lh~#CkrC{( zd%HMi#!uQNn^h`=;{(a9{|VB_NvwT_kn0HGc zo%~!$;FCUw7rNSdDWfnoWPJiyKd+I`5ELP+TD8^{;6Z=sNaQP@E2_%`sZxdmHl`|n zxN9WugBQZ%@uKu!Q#F`llnpys*cXzN;23G!Vf9qNQgz>jMVs&d2|}$Voet-@s9SNV z*R=wzz@WA*s}*w*{!7)?b_s)r3SWadT2+dl5>e!2hiKpv{PRgUB+}T=@5_r0*EVWD@I2M7r)Sxg2X$88Gs`To)WR>S zKjmD!5Ge})jad@bEi=m^%`>1Lv^a0cqN122=JR_W=aroMLy$R>kxF1ZDhp+7%rxd6 zI;!uQ`3O}shvuZT>XvZPpB+xf%J!QX-%WWhRAKk@_1vF7hg^ORK7{vOURD8&W9bK> z>QM=~Fo>p=bI(-3*tB_zNM@D_AlCV9$3C^SetW-^eB)%s+?qg0{n+_N+3PDVkLXMl z(Y?@c?$PiOhZ17In{m`9yBjq=@TQbsQqIeLkD(%PN@_76RRrr^Ou$!sVAi7#6_$sB zsqx<4`Ubk)8zJ)*7!%ElS4(`c@^^#qyEnZwEVJ;X#+my2h9v1lxpSXFl6d$oz*Psm z;VL;FPB%9?K2#R zAYu1w{JabcQ0P)NDLd_G0r@uX+-GAesDc)HVgIqUdCr@v@9rlP-*WI1k1PKXP~*)y zFi5sqpL>dMca@22DXlDrnI=;^ErTtEVB>FMdG^DChlX%9iDi!Kd1`h}#}2~fE24YKRTOeES@d0Kv*U9L zl>D+JQH?<;beK@+kCN+lmW<*pJ>&&OJWFF7t=GUIQ%YAf^6g<7=7icIG z9R$qX?9nGW4Ds0KgqZnxz>w2EC+4BLX~uAk)M!S^i6!~D7a|ZVVMUqD&k*8vcu1)0 zRgzM`Pht~T_x{Vsc|A)7GBQbtZ$JF~1r6?!E50|JmLH}D;07cIHEC?N@Kr}%(py0D z{$%cqQ=rwDXVauh+HTdr=Y?jGu(-mc4%h#?|kEmCt=M2L8ezdeb)-IwF77AG65+UaUuS2NkO{3yc?Tvjd$4Q?>Z5 z&T&dZP^c)P9`xzACpnG7Xkac>^K%BPmRh{Q>eT$ferKCWJusH%LOXmUbN;@e0fSJr z8PVg-=##cDF@p+~jsAVEjB~dJADZh4H9q+?!z@ zM*M1ojIT^j=kFJX%*dNRnv%(=@S8+92cmu*B$`z^qm?JOkHD6E9w~oav*hcAA3nu{ zHzd49a=*P5(|aN?>?slWXSHq!@Tzb9$Yf*mJh#eXhzBj`nsS!U+$14^7ReJv5LCTi zL({z6-m6vRdG&;Y{xFeU4m(%@Zhg*!x%kfJ_q9xBqPP6YW{y#(^;OYUP$PVQ1#V+2 zOvZAAm()3WZMRS9tiL{WURm7A^H<5bu=%vKxHcf4uH_}#v{H-LAqO}ia*8RzZKph} zIHbJx8ZOgFt{ue7cNi`4zf$z(#~H?@wwcKePK~0Fd&nPqJ&6_|MX}$1i^^=*P1^T4 ztQIf`p3Y;-(4J_~^9b;LtJKbJbJ|?{GGKOXZobgoEuzbo{snd7qG^Scywn9YPxGyq za=Fa;vh9{$%&y)|#dxpJy3JoR0|$R8l0S)C>ht+JS*ZE=bJyQg1nb2E#WYWScNrJ` z1n@XIxF`%s?gfw79eTO36RTeF1h4&~wy@!{anocc{)2p{H zrUy;mi*f~)$9nQ(?Ht`?*!GhO%n~|m4nyy9ly&LRfT`1Wna#ajs1>9zb@er_M%m^F z@5KX*-&1NMBy*{yhdZdY`U={#t%?um<@{VgJ$TNMu?RRFT~2c^#9z645cH@wAAMTV zjkoiCyj`zb!|76=GjhKwwE2nS*(^DSm&v`wS+T%P(lA=^vn`*1+SZ(w|Cme@4$GXWGkcGE*w!LPub#U9ETC6=8gOfNXLzY%-haW2j`j6w> zEvRe zh5OUe*iOdE^vG{~)64YkzZ<6VADQTq71N-BuTQ8D_cfDIs$s_XDE}b&mWqAUB6ZOe&tHxt!)Z)irLc3z09}qw996N)T7$4 z!e(oA5Q7jOx{}o5z%#t$y{V7uLO_lp`yYn0o(3V>vKeQM;2IQRrsk*|Ezs4I>tv82 zUk1qeH>o>Xc?`^ZHNd+tky8(tgjPq4a$Y_r!NGMFk&(gF(HAn;|4bNFp6m(7sTT!u zEsRSBxOTO3lqp@*2AHI%aJoHAqJShu7yW#~EYM?aNhx#WI`h3?+7RFYj7@ zehmWyD2Y?>Fb;&)JleHc6qYpG3#&vHZq}I(XOz!$mqN_*v%Kh!Gp_SUXeySEl31xP z@mfZa+#-~@h0!VOCd{|BdZWxdK0FUzE#sIDDhG!iQ5+^VDdKyt!^= z23+`WL8>bS&fg~RAb??*^4x1giL)b0;fs$JZ$^Q&`i~gJz)Gb)CaTK&P6>N(K)!NS zerpsxsn9L8q6H5s-l>54)=XU>)*ZG5eJ8YENWy%H%trA z<94#sFi)@sdVb&I@Ahw-%@8v*)OG!`ZJ=(quDE6}ySB-)sM@W1uVuL@aYoZ1OQHNE zQdyzf%(VO`4kGH99<}oRkDW+YbT78&KeGFmqG#9eR}RN+Y>*LLKG&SKLX&%6y}?QK zIMB-Vj2)U$uInWGfc=vjX^kzRz_v4@hrcy1?O9Tc(Lw-7mqIWJ44~AN$J%cW|5+2> zGzUK13@zR7kV{4((^Ty%cM12Q|V;FW8ejDb1ust&HfKk+N0~7UV;1> zf%N&Ka$i09vw~FT4Tdenpt<*6N85VlBlJ90;ve0!b*;d@1Rn%L+f3=@Jf1rw_LA(c-|vxih?}r`Rvo~qTJ&F1K{dm4W|j9HaI1@xrU%K?>ANxg8Z@fW7qDrnCu)u6+u)O+iC zFNTAVwz+Iv6)mgF6=AiO2Ge?fc24#PqKy&X`XF_OeM>okGf`T?Rf^Zp#y@PiPUBU` z5TWpc!^F(`3oQ~C=}4*UzyKkGbUfd!*0jX4Mp0J}2w>?k0tQ9zSyemp#rv*L*|)Yg zLurpxmErrn(??E_h`{Nr0FbA4@4!uIvV;EDE3t2mHfE z^!xEhrRivfJ-z}f{Lp^my^WMwSAV( zuIoWJ*<|K=eySWwv$uAwdWGVA-YM3WM8VaLWl5=Bwqqw=qn7HHu`WaPRhVFzyo2K5 z9}RqMHxh%o$B9dues$}QBq+G|hZXHGRmeTjebK(WA|y*I1z*Dw2k!g%v;a!M1yYBZ znvW#qS=Wk!BHlWarQCdYH;8@zitPKH`y6-8YLYxn zIFV8}-2Vr0xwXuRnLlxECZ6GkI1TqaK8u7h@2j?t>&iwS|G_zzA9FWQtT_jNiFpmn zoaqOU$2jwRtP+1+lxF=kumC@&qTIhR-BI#(q&gj+xj4R@ZpSw`xs45|Zk-#ex^Vh{ zlfsAcE?QXK|Lnc)#75usPY!=b;sPpEcMeOq$Tdr>oxJUOA+u|cyEs7#%b1+);*o?a zymf58_+H!ZWQ>Zi4nC_3jduM+FzGt+QI5_weVw9nJA3vSKvxeqp##{!WHdi4fBL+E zHu5zwiFx1dRwq5g(}{Dc$Fmg@UGlvus3^QDs!LwrVE&P|ROx~4tAk<5dg+Y0#e&UT z{UeJ-5%E8VBXpshF*FGcdgP#g3B0eD9{4FpM5Q|%n@!}s1|>|$;{{zd`g#P4r`LO9 zlx&Iv3(clTd1bDa@mef9?b?M#UpN+yqq4WuViR+hx60-v$op=W5`>vJ7 zXlr-GJ8`2jLxh?U52Z)8@l#zH*#7`E1Rn0Zg701Bw;r?Z;66m&;?i6}D}}tLj0j99 zU$|BO#OcY>c$Q#RqrOpM#)LhLZs$~|q9WwzVuT$i+1Awv24&_SYBh>>4DZ@46kyU$ zVo2W4xKrHIeg9_PwtJzV%r(8*hWbb|k5JAfR##JDL-Y7I@0AXmO-{1Btu`?^jmg?A z;{?78rOz0FaL#yQmdHXmyLpDVkpO5Ij9^lWXobmXi1|nP$Dy*D&Gis9nmahEKya6p ztYg|AIiEY925Tyrf3WpFCeR5upd_r^10qk3p9ZZa{mgoH(mFH>6%;hdjgX9RZo^*S zO=7NZT~ZMJ_R8=|p!wQ>M1n{&wCL+@xx4RfEXifW`ymLnc^^=L(L-3m>Jm!EM2_n7 zjjv`uA&5zeT?uhYq8+o!U*ty~cS!_g2A3%|2|ips@tu>Vne%~rxNK_o3lc7RPpo6D zHK;|0mDKhPG(_FpN{`DUi7?Hqvr(NJ5K z8#3FAS=_b$(pz7dp-m@7wD1)i$&{vZ>F)FHp`^$2{T#))Ob27_BTU}~M$l)k&KiE` z0UB+s5Lc2r3|s_&7V01Wi2wVl;@sDOcO6UjbfJw;RML1l>F2=TaP53Op&(M!G>n$i z^9Zsl3M?>fYiRq|u3GCCKO+?~q;ul~117T`ud62T(XCjq;b}&JeKh#|{`;yFWcq0P zi$k>p9w8}=yCIx!B&c?*P10+W$JMWqi2VG`K|548yZNQyXeO<1iI!AqXl)??Q2|0a zZTze{o35C<@9~i8#e{Scf=g)~8=sj)tHT}p-d#uW8&Kw(EcBJdjg3{Q6+wC%Qj)zb z$M~s(v!ZI0e=FU*^l<>{NcCCgqDpBF-iwM)19oPCEJN#9GIsmbFZmoH7pyzblsd$gh|M@%v(*OSeEh-x+HBv4CoS&Q0CWR3T&XwNdH{sKy7{ z&C@2F(WJN@fxf1;<0s}E1rB)k({I>%orzfdN|FlO%q`PTw?E6BSA465=1zx_d~P~> z$#3FxzD;`m;ZAm(^^6O**b6#q zUaxtET|ChgVo-b>gVZ>7UR)z*uAqHeRykI)IyPcy7+``{`S;hC_$+mjXC&?7B%Qr^ zH)-x+K8-=*mE5q(k~rLiJ~q`P!RAF@!<_4`^LUf1Q}I-U=!yrTBSyM+Mvc;-CF2vMl%Aele+a20d_n@X(^{vRETR zJjo>JPdidHvJ?+bgqt^KS7=Es<_3XRgB1}ijA7?IKhDC!DSGk5*mxpVJkflz>_Ul; zrpXo8v9P2e+#eT8(4Fw!{8{0T^1s~PXMjV6+RG~!1dH;pH6Id=Z`;9Fj*wI9PU4+> zeR9K7V-^_fDB|?Gb`jBu@{$CWv)KiN8=cexod>M4i<@HtBMc%BWF?w(xSej3Q9iuK zy!<#fe<*j6q-jk~ zb1O4WMk_?>NIprq3O)5P5uAKwxzL*U1O8MDFKa}TmTuSMv}u*4`hrjGqg@DN-TIIL zO#y4P>p|7&SEU{)8)ieKoR6k9r1f<`9C&xG#od#G9}K;vow*`xY-^m#?`A_bQZiJ# zi2Ex#dnj2al%IU^rVVqOGgm-d%|(fE8q2GK}rkB0uF*1ujBFhO41tPoXD$i%l8u5AI4ZLA%$W zmzm69figTR)RA4Z>F@aw3Qn8JfbRRIlq~ zRAs4?Sl>P!K*U87*5wr_^rnpa=h?3b&xta8T5VYE3c>ibcaN%Rs8jvqr9+8Jz(Edz z=5gTl`3Y1{Hz-w67dWDYP6a6Q>81m}^w_+!2c^pXbGY{%%1lh6LdN_Uip>-J7bizg z4=Nv9T`lEwnVc~4fS4=rId839i7vHKJIWF5#Dl^W68O3wb*~)#GK3hm%_H_SHJSIew*eF{q)%7 zi+H3@YT$KI-&Lkh%Cu3svMO&!wrUGGtDPEAE zS4Go9)$Di2%}1rh;gCArQtX_%kCM#ayN|y|Lgtrb1K-8C%+U=Bb_IT2lxXPpJBX zM)Q*-5V26YzbLh}EU`QKQ|7!`9FzNknI@)OW|74t0mo#!uMRiN zOaW0c$mrqfe~Sm3M?8TIGkx;7S%UUZ2=1VzZoCo>x)pOM)J9t+Er#OP6--CiR6X)4 z)fz__2ugtB6EOPjo49PAbFF=vlV_GDCqa9$1fL5T+$?c=VFzAp4*8FaJ`}*<(QLUV z+M5Zgt2-Y`j<>C|^TyFkpvbd#)%K+_t6otReDm-h@4J!L_86I~cPlaQffb85a`4R6 z(9mj1P#n@0ROz_!*@w__}8gIsg8hX+X25nO;lHF4U1;?lx4-AEZu&ba`dpl`}jehX7a&GQ&{A|vcIMIOVXw9MOzI+h_W4SNaZCJ>VtsT-(Uxk=1AYYD6p>8eaVR8p9^JOHEgy&YsubK zxH#(vw%G}_py|>RQ^6n=kJ~Wyf5uTK?yece)fQ7g{Zvnj(=m~umfHHw`E8O{<&NZ4 zS(_dI_L0%w@>Y?{yUpnMw`m>0Nn^{6s5!s81m28>>EEZZ( zhK|N?-C|SnGK^Y*8v7I)&;qsA3+aoe(Ge}yG^CtPaa&acfz#C{>__N}8luhO)}IVN z(Ho&!2S=;};88Ob zrsfNA^LsRdo69rZl*u%o`y}0X0s;LnH({-}8L7aB%f&@-|7>*XN?9m8yVH(MyV0>J=CsQ)>J6^4}rLHcIKs{b#*6@C&uN`dL;O|vR zS!FCx%CBQuip|Elx(ZLv`Z^LRErcl%vYpc%j#Z&ZVL#`|QZWhZBk6J;ErBGMML+RLZdWMl*4;~6W2&kqVzh|fmAxX0qWb)^ILDgrDc zs4gzi`+1Cnu9Q>MemkBOiZX{csq5L!O& zNTtx5INLLOf!hzsnJ>Oy><{+R$Hp71Va{dH;J=}&cRqczIGVcNoIAi)oZwD3;C^R0 z`IxHbTB#rF*!lj^;Sf+})-xAA)VNwND%hi3X8`K;Lb&k+&J^Ly8&cLg71P&9JSNp@&mAc1cr(8o2OIHk- zENlISs%%vWM?R&i(Uh|rqywX@Bw(+B;tAP6g$kvMxub&!;nUyv5+Jn!oRNPs$K%X* zGi`eMP?=FXZ-+3Zr(8%CmC`Qv2cvZ>DNoNzuH3obz~fsz?D)DVcQQ2*(hcCo#Sdg% z&WxWu6na|JAkkH#})J z41E7$tlEAYake{{URu6;2)!x&n{&5dU-jEDlB0PQVWh3gBdoG)mwZim9FcPFO3PoT zMs}NnX3;hGtljvVPwkS*@BhfeoNuaa?o0d{{Fqls{^Z@e2k-nw^q>39ubh7YV-y-g zqE-P;H-6nEALj(}-_rQs%k^&3b!ifqk8rjdykiNsNjE>yxC?lAw#<4|4$(6Hq{@ zh#$4_kbuUBd+ct3CQXsv<1o&K%D{52F2_s0uCExW26*fm=${Y+L+AufA>Fp9D2OshnwCy{GW8T@iw>D8iW3{Gm#v5+^p(z$NhFi)cYpnbJ23z(yp zw={k|xH6!wSjMg)>-xz``V%4|o35dzi<8L0q6&$|0tvZw)+~ zCBv7WySndR0uwR+5>>d}f^!NAzmpSoBUGirDleQ9X)Qj06QuWf5c@a^p{F=h7;>c< zLyTl9)o-_bQaJPp{`vP*DvW(t&P5=PI_Uus&0)QSz^o+k2u!YFBJ5Ky&@;6Y zzno7)31fz_u_gmNS3X)y6z=y`faWn~vXQw0_^fEv86`lc>4SXJvi+X%-|xH(x~4jo zAdTbyLt~fp*@~M+|3nHH`5GJZmqB=q#+IkARj()7sE~wRLbEJaAK(eZ~5nzPYYwU zI7dPi^YJz1K)qhGB9j01my+LaHi2$=qq8&HDqtmrhCqG)ipj0K6*>Ft+QO)xsjI82 zXEclX6?VKigyur$K zY58pFDrCAC({{EWN@Z5pXm5qMB@gO-4yS3}ySm!RJiU1)#GP%a3VI*$!zDANF$sXx z?=#Ay=jN33?#;d$my7;oRJK8IVw44J&d-D~;I<&n<>-QeZ!wno`mp}(4c?NI#GKI9 z#G?SGU)O^;!HJ4v)qcaW99L`lCV zRi)Cef|FfEI1T1NTk_IEn;@mvF=1qZhs+uK!fuJSq>ibb<2NXyo~REn!4(IYFp0{^ zM9Y`#pi~X6DO%=GtCbZG4+V4f$DQU@5+=MN2+3-^xe1M~OcBD62oh{`1 zgR$B+g4x%ikVE5_$&dDXyJ#4kF>!e!hW?e5K@xBN{X?7b%HQw?zbCiK+d7=ZKDK^3 zgg3cw;LAVl4tzL+0BmvNDz7Flx06x$>_&G*VWhf3#dfK|N&+9xkRJl82eA5&Ov>My zTC+=(!$qs)Ke7(Pk_~?^wPywDjrFyUl;FgHQi+5c1z%2Xu}#nIoiIuak9l<))r9?= zN}T_x8}VCJb}8xUpFneZv2;&5FA*=-ErZpypW{{swdvMQe)g!UQ_+vUyno#oaNy5K z5qo2ZdjYHDhbHNsyFO7z))nDZSu11hhDKW<$8-kXnFNG25`;W27-*cQ?Um^2>-}a( zQjsQ(=^5osi)u{mT;v(m-{k+}t|h;GzF>DiqMw=9BY|uKbJjFxXaA8|IWgRSxMiI1 zb2&9N9_;};pKk(V`_}{_O5S~uyTwKJ{;pT@s?UF9TS$eU+TJ?$BS?5MsYm{?a@IJ% zzO~8E>S|ol4lZ(XrWO6z|i_Wk#Tu;sn>$z*!kJ{$2 zhtqJo^}?^?Q3eT6o*DzJM$`Pk!Is~idlkNR@)8`jcx5ngg{puaVNGFoUyVwU7!M3s zY)Z-epDnMl#sR5O%}Dy^9Je>Mjn~L|7t$bRW{SuHFyIJX)&0%RI8@k)N>D?@MSB{9 zHJ_e7QWc4Sw%A+5BXr)SzPi&gRbb~qGIhN~o4lQ$Vuf|y>{ZWclmFO=I=*IB2(eN-Ynkyzam{*&cWz~s;5vgaGao!t z?AWvc2c~>&FNREg`tfN%x$6i?1#aMpZx1=)Jotb7O8*;tt@wgiliMLB2q4rathY zf9dBTt`}O)m=pRnXm&liGHdJaxd=z6Lb7B}1z*O>K~G1>ftE?3mX^pCCfso?>Qc6R zQ}&v6KRLEG&*+6uz+=~BC%82Uh}vqY;A)(ImQQgX_Hohf^FZ`tsU>I1JK?fjOrH$< z5qJQPeouM{Xf=Y(X1Am^72Jn%%n7M0&)TwLboe$b8&5R+bYQBD64IpIgRwc#r6p1( zi+6{-2_u9DXm~{<|4hoYg6rlh0^{+!@zOetnY<~r1i|y`-8b2Cl_-V6?+jS^y-SP72Dpl_zM4d_iau&S^}@`) z;Hj!<4R~1v{%YzIBHZ;gl98NKQbfZ4SROgwz^7c8(*71HVxfc~HPaj2jwWTc2^ANi zZRrgNzM(4lgsnvZe!Gp3e}lfZg$6|)4ns^OB>8~iEAEPe6Z^g6IkagYyc2R&k}VHL z*w>^2rj2J~HYf836`8CihMJq+efciV?X)g;@zHbEt|KV<1o}$pRj@>$Gpt;Nhs8=`tPTG72+0T*^UXDv8fE`5pfyPNz9eUyvC9l`vY#AL z+n?^RRP4eSk=CsJA~|6tSmExTEa@L{xWnNj0p4hkG05a?N{Mraca%G)e?%0~DM9l3 ze$OO+_JUlH=q4gq%!rxDJ<5Ryw3cEm=dyHnui-@Gf-GeqJl$lUJaXU9VJPI`5;HjT{qLWEGqkAF;OB;we!TITlRcCm!v>A697k-`kk(8RK=fsLHCIowC zBY1Ni%{bbB^pLkGL3#P6YHYP`nyw2e{EMz2KM1&ZS$rU#eA>({5V)*)Cx>~O{e$y_}KikoLAUnIJ9vCq6ycHxr)f5DsN+((s415&+?QgD`k{F4a& zgKl&&N*Cq8fq~Ym;|35b@*K~yY8NkyKiZzbtt8$C&peVYT5Wm-OjV?&3~}(|C!0ti*XDeD_XNy6Ei{c5p85nL!iQKW|KBhWDA#$t$St@g8=u*alewe)Tb%5{B8;Lb?r zUM9o2;+#Mj0$Q%TQyC*2{?u9WlvxD)WfGzHaMR8%sc7P<4m)6?lvUnGGb>Ys+Q4fD z4G-InkRq;h<3t@A*j|xjWob4-jZkL$i$tWmzJdh1%=JL zD>CEeKU}IZz3mb-#^wcZH~}kyGXO@-#j~?;kas#Z?>Hx|TKhzcefQJRUX%9lccC9T zQX!f__a%E|IhG^EwAKSpIA&QWs=Zh1nxfNU5!of z{_m}6W#xKt(&X_@F#2lbeBI-EwtzKMb%CJyqOmUZewQnS{p*^@vGDDiH1eu4__PtY zz7t&7oksN9JQ;b@Yt1v%Ne9ru4korgEuefanF?$A=ST6?v(y-RJu zt%{>`&nMUQ ze!pH4F^ok8m2%x%m7;#olfw@5X4t<0^EfD~y>!VMZ4ozo#OTEwvha-kEe<)!@d+7B z7Y!8w1ftW$2h%Klxv~ZZrrJZ^k{eOJ3D=taL9b;6czmp6d8)iq6O+H9LW$V+wnnUFX!=?G3Hh0a zv-y1~B>I!R>*XCA=F0TAASQH>MXHx z5>29QtUn&TV_IO>@?bSWCRX#K3tu1B_5vUWREbmbI!98h#L%`|9eCXWuY zi%>XKzGA(oxNYg(Gm-cXmTo=Kk$ZGleb_|QlZ&qfyV7b;Y+g^3Y^TS^dl0%Gc0|&I z-2wb8?@w1xHdJB)rTHF2O<@--wQ@3&+#Y+Eq;|(p(1T&C&Y$ws&LankRtu^YGtk*H zx_tu0CtKr|%gFVh$E+slhX3$cy;3{t`qht#Xga$RFf=sN+i}R78#}jM@Xh6NdGGtW zs2p{7CHa{`cHhr={v9Ri9!~dZGdG2fomJ!r5tg=t@q+ zDRGZibjhsHwuLKTSrak_PX+XEHQlruT?tBtdC&ft6%9`cj}CjkUC6{-M=oQ9M<_X9 zOe@fy@pXk;3KuZ{4Hn$h8B!9_FK+bO_OeYmJcDH2;k>Pvu>-cR$vB^tV_zjq<_!}P zFYLdc|FcN(_=cZKQ>QjX=>L@PZv00d=#~8G6Ts1mn__{UnLY6zeGYK)v7ol{F-K8- za>MM@s2+VnV*BcJcEe6XgRN}C#cqf$VS{w<3{QO;MW~$ZrDNKl#4G@6Od~Pr1=l zZ*Wl8%`g1F0LSBELU=bPTME^OD(4J9E_0TB$@qw5U$zF+LcI?K<2TH!@sMeogt!7K zmFUv0{K<#yo9k?Vb)j-z0kIW37KOa}krC89ONMvR2Z|N_xHQeIK!08P_^NNPE7a|& z$j@7s8#r*ddLA_*I!A;C&@YP88kj`JB*|)14M9g_{lz@oEBDd+o7X*LqLIr%GP`V+ z!EmieUZh-A1k3?=gFRlJQ^*H-(47I&sM}EYYIGyxf%pY^=2fIR_{rhYd*L7sKJmxE z5IJHVe!f3Lp)&p1mMHSijtvdrU8#HU<628ic1brhw<>Q_6Mbm8al??F%vG!_$@gn0 zgExDX&O-=61iZDy>YHyU&07DhG|)>>QB@{;oWFdE)PzYv`(vs?KV$k)xm@5(ns8?a z_~#Kjs1w!Dx=F0%6Ewgm)v1fw)dpMQf-S_{ng+LuQ+7HT<&Y5}VHe5) zv9JKo-e#xpjEyWBtHy`yEiJkHcL@xe-u47$*1;H=2SYd(2iMEj0Cyc4!?CR1ywg!4 zB^eYwbc!H45cJT(Q3R$vrb{^@0;MdSy|-u_u+x{eq>dG4h@?qqm$=fa)-#JHO(dzF z!;pI&|E~JVx$*xx-0b!U+!Hc+mtEgp?_ySh^moEB4~_7bO>@Ouv&!|v078aB{u_Wt z>fiVYbIe%H(n)CJ?^%$K9mu1`au4SZ>Hk>^A%j67hKUleniR>}D_25h*KaQvI=PYDMJWI#?L?DwOq%US5H5!fAN#Wqv&aT#PkJu+ap^3X)Sy= z+_VS9&@o(8$}46KY$4}mmaRp=U>P9oQ_NME_nkG7S&rl}2fces@_MoiCXP+5bC$Wn z)KtEup-m{A?1w>IDgm09uf)zvrGOpV`a~_PXQV9VWJF;>q|p{1@87X#s%>J2o(KB(5IqsL<1# zisOt-9n)+eqNO4CaAJly-<3J5e1i}Qy-xqE)S2^mKoTb0J&I@C$YuWVByr_Yq7O0U zAu)U>fb}a#P~`FE$lG!R6V-^Ryb{Z7A0mruL&$ZF2Yl|4?4If! zx72>Tu)xbN==m5SsHixnL^tbsgZOJp)UL|X{&dK=E}7$n!04^hDu>im9lCErP{tP; zn!ogIgozv6BN717Tr&^lkr&!YHlgw^mnOok!u!zH-SAd+Q1={DLdZjfCRcE-Fw2V! zMZvxvlh|QK+DbX&q;uO=s%g+beOVBfJ;*=8U1sKRM!l)JB~b??^=?-n2qk&bBdJkX zY}!NiM$Dbg<^ZGkAI-@(Z-0izAq=0x8R3jG?d|~x1Z0L3M;6-wUaf>U(>Tp#=qE*M ztuuqB&C6<1gpdZ>;L~c|hRH;3w&K&E_6(;|Z}@-^+l+Zcsgu8=hNOl*%g=tbu}0}r zW>^@9wn^D^)Z>%Z*3HbboZ}M}nm|7x(ULc?f(|Cf`U`8sTG>&JqO}Sxyoc+CDwwvg z3a#p09O&s=jB;Q3Ch2USo~_Q4Yju0E8+J6i{p`y3%iB^t&s5`>>UeK2kJHHv@z%== z^K+5;uBvBaLK9U#h9K^TqvU!??0WcU=@hJ@vL?a5QO#rQ6hjmZz9~m|JRqXx@UlTx zR?YyWTHo-M>np8lKM&`3v)^wB+yeb?qJ?~#7wB^!xu3;=JGZZf%EQ5gKL>^V>~_UF znm1!hS%y*pG_ovnRqxif^@LNsTH7Z-Z26hjUc;}Xv3vUZlUEXsSQ;nc#(#t3u9V7w zbLe8dIe14dwRzgCiwHP|^fYPq(VIT85M^7#B8UBEKFIpg(uMBkiCfET{{QTHzbXFO z9PRM5B@?R$|kIwBw7hH`^Az)EgM$9LRl<-Q>dzTYR@fF8F+UP-i=`DyR%reu@218O*AX7>I~ zf*aHeJZRhL+mb*JB#dlnhY6e1x|5pXML$u{|916K|1o%-3I6|5egum(J|VGQPV zTl8$)YIqq zD34tDpo-wBo61%O@)?s6KU>&vmHw^w zALfC-BW`db^`O#@_g)xmXzzsQTy;KwnT}-Kg|i4>^cCb3e*%@5Z-sH@OuuVuZp=x? zow;JNndB8;d40I!od%J}CIu3>lzff=O6GO=^AJ+CX<2KMRH2Z~DQpO51`26Z`F_Q> z!YaRU--#u}7@jb^T-!rlJ!e9`W!C8l)(eO7kgpUNo~FIdSeTK7A3?04E_tOxEh zNe#)VNS~%9s~Q$_El1@GF$0)HgRaIQX2uR?Xs!NlT2(eqp+@;zsas@diqGrUW~Y(n z_0B&*Yb{CYzgfD5UCVkKo}->mbY?f@!mZ}n*!3ER;0lt7@0Z1;_`U^;0?}i-qCVl} zx%3z^7^1CH1+&Gkm-pb^SDPn83)j;LBd+7x8T1(~dOk|&Q-}d-UA{?E8_=rzB%B#Jg0`fPm92yzxEeG}tQmk6Cl?g1)WLSWTJKYH16LXLY5_-mY8l zXAO|(yJnHy?CG7d&eaaa0R2z64q6;w>=BE8p0qLOg+ymVCBul2)*{c8$)sOW+N=)y zMSx$Zu%YH;z2f!59G**w+9sKwzwWXfHXm`bN3!(uuoG+x-(3ag*!@T^``ss$=_*;5 zT~mMH)FPD!olPZ@>{dqqJF3vLHf?w=nurrJ-ocz3!%g&L5GtX;4Q+Lo2D(-kX{SNN zrP#tXe=PM@6Il!niz*0b}d?akA$1f8+zug!lmKWG?O48wNu73_s zA9<>Uo4euYhb#&SP8qYupWvJQTuUd~wasJ2-Ix~}3VjNHA=?jz7c;}Zj^MHaWTP@1 zjd}t7yaP*;xwcfqueyfNAXwS6>*YF#hh$VB%s9NgD0PGL--!?hctC>j?+`c4t=}QG zg|;Kb+u5R|tddRElZO2Jl^!#V*&*NfZFr?Zy<2eX0K*g^%R@zPuep|+O9 zAIx9--Sh3rhMfWZG<`4^fL`RTK~|`U=2<0?l5&XXV6l! z2sH`Oc;06XN!mUTtMc@W7UY3ALwjts^5}>u5`{fPg%Dje8a?Gv`4~GU4SeKUj^(s- zkO4@pAx95*ApGho7_Sl)CLAI_P`uJ7np9d7g|V4koevT!^}Cq7mR!Q=+r)#NJ9OIB zL&O8Abb}Gpz~D+1%euJG8s4PhX%Ub2>CA0bV$UDmf4OjAXhz(fa&~Lotqe6eZe4zv zG9eeAteL|LF(SW(!RP9%^|h3y8N41KKmT=-FMxOJ^6AM#|lD zc!*|A%={}t)hDISSY>{q6LoY}UCQIirl#az0rFzEa2p?+y$Daz`FeUys0;f9T~8g} z9IRU{;4Sp&pb$G*R^14v=*px>0tg! z%fT(&-5XQ_nn71aZQHj_?yuCgMr{9k$1Y=nB>#T@At5%|N5G87>voXMM1o}*4o{HR4^fF8&KURtHbKS-9yb%F$3Mao{PzW6{Cmc*h)v`LZ zU#eUg)wC)=Gx9Ovbk>Ln-$m1fZ%Ha6jri+bvut&&wI{d5_{2>_jMnY8L-uO{W8!N{5ku+p{`m_b1nXT^_5HAumrnauwY-c zl%aE=06!5rtX-Hn)r+fW%83-gCr2%^NlL3P}ve;*6GIe^~}o4hOsko)SS zGR-DOFQX?9e`wa>pQj}Utp_58{!%bMd}Qz@_DQpRKlr2O`{Qf3;+TmO+tf)lP!RIh zQD@8{Z(>W^=w@l)y%;}xisUEecL2wL(=mo-7)Dl}j9+wK*WXja5^!{EdZGyE@t)kb z;CH_S9_Q*fQ!+F6BeB9E9P&oRI4SH&{oedW#}e|_DgG>p1!XDg#=l&dlJQMva`pZQ zm^uC3?%0phuH%!cZApW)RxP0acHKYe3Sf|4AFna)i66(I%GhM5CV9g2MCwYyr4#?{ zPt#)kYj8DMk5etm2o?AQ7eV9qmY>dbR?@n%IMZ~V#D4f($a}RVq1I#B-*IheEZEjG z)VB=uMi<{P>UVQkLf$^`7w%7x|5ab8y2&nrS;tIxuCmT==JZ=*z@JTJj95i~C9f6^u>Yd_n78j{Y^1y|l$kYo7Vyo)bSMzZ~VQ)L+Md zlkceZd)}fB`17+cTYUe7EltAG=3ypublQ3l0a%Nnz$J2i<fdW)?ileAsvvGSz}~@Tk%G*3%bB+H`%Z&J$hl@Z{@~jsMe;6m_W}=tZ-{%I~=X= zScN213xL5txo%ujtO;cS}(VZPE==ir;JZ-IbKsc#h8$jty@q(#SufN636m?r(Op3e<>EXw#dmhzP}V2tvmS_fw#c(KYySk5?5Co@_KV&_mi&! zN|gU254`?&^mXI@WRctw^Zr)d&1Lr0_)%Z(J8AkRp`yzpRl`kWS2CzlaryW)^wrzD zo1w1Qb4cj)00iu=G;6=Dom{ajx#E1E>{Yv!a&$Z-&&|sRXr^bnmT8@UP}mCHf|UX72%&LS_?Cw6jbHeD>|TV7j?5}cc0iAWl@=N zWMU0iaB_$(UP?aKQhRjQu-1K0(&&w@EdK23@l8xp3QGL;)xX3yPpe~l zNz&w4xeR`$9gMKpHVb2Gzz-w(I(VlmMGv^V;*PCZ_M9QY>GWA9tkcyGJR=DDB5>H6 zyr0p1zS~abOZ*6pT*-Fj0E3BQ?j3D#)OL&hpG&1Dd3BJQwKTUg&w?{%2Y>>$N(pBY zpUWgPAV(=fnvVkeF34p{^xKs=eifm4En6GIm@Xkrs4k5uA5n-WOCPODJA1>4qFiy} zVjWMyx=F0W{34~!UQgN`lI+CEh>?EuJ~>T{q;fS3;CMSzS3Vnmo6>MfBtKbK(palf ztdS?a%;ejlI3t)jTdFCTAIoBg%X#b8?Nd6wp1u(kO;y)kO!oT#Z6VcqFD?MwD%9|uZd zj`%W5TxDhNJPwxd?ThOV1|aSM=@G2PWdfxgX1AJ+>)Q%zT@MPNCx1vIfqc>(Pkwp9 z+Gh;&qX#6n=}n=m7QU=N!+>B)N_R#4qADK_D3Y<{d{rByT_hRP7%{q?T@fLVNcO}@$C>FG+dQvp-epZM$;JPW_0N1WHWw6n#I!a~x~7MUZb{Uy=Cy{~+X z`Dy%q11!S$spqs~T=$qL;$sQ?bGK=m%b@fNgwTuG7nU`zY%6#tV^>qrF(T_*m-hYc@(Wa7J z)3VJ{@+{txZOAa&{7V7Ak}on6q``Ko04o{+Sss`PoCze#nv|K*0ty$elKSk27XSLr z-|*RRrYN6G>D_nV3}Ckhcs@N~Ppjq6Yal!GwwmR-nKA}X{H|xqVhz{00=kV+BECB&Qv3dmba0L4jh>P3JKH;0q&|WgRN0->)KLwCAsF} ziymUZDCqL=~0I@tZ@wPIU$5C=`dq4eR-lpUJG@JIv zY!D|Q{gh=gN1bQ7l0{Kb@w%vfZhlhj_Yi&pX$gac_K6xTSt>DZU-~NFBz6+$g>CEW zyd$5N_py4Iy7!sKP`7=#%RF$iO2S67F$JUo6d$@cQqGolm$y9w$7`Q~I)y5sApyn1bkU_;Bumk4uovUR6c%?|3u@KK`&4-b%;yZ6mXRs{UWsqLi-GN)qiKur zWIjg6`!2K(Sma$NT{Em zmP=U9aTJCeBF1qtjU2My7Lk2~d&WGrSHVC9P7(l2KKS8Nt`FItf=8EaBWOJ|nQrqJ z94PZz#CDGF)yW+CQV)UZN-+G)xv#K?0}uBdwm67a$Kp% zOLS>(t1*)?cTqOi{WF!yHkY3>T|<$Q$@Dq*2&T>vgI)`KTy&%D+bpL4Kwmr5$XB8Zat-QT4E56l`fSyewTlaT-s5>TWHl zrQxx&P`!~W@%vsYr@_NG9?5<_wtEy~U)Ly(c<$bVW=MNiGnYXmY{A`G>27cH_58ik zPF)pb$J`dn7c~Z!_uL%to{xx@KHef4{B*jV4wmK{Ht9GjACMc1aivf)&17tyUP!!G z{bEiPY5Y2oyw^+N2=7u3ceTBJ^=A5*!|c^;8+AoP9!{Lv7CxE@t_UzQG=DPVgW>zL zZ>Z0GcDlZx$D8%9MTWrCt58?w3LERM-Q>}+6h@$I2RJCW2rtvynv5A%ivXFa+_Coizb!HR}89OY|Lxo*bNAt)vKEW{@ym-fpNe znnEWxD|I14$ao$_oc~7mUMWAiA>@%h3&>B3miB|@ z$c(KUC^L|z{!-vyi=z{|AB7m<;b$KK-U$5eScL&nzJ{$3fp6{zFM z@A}X8LFEb18ac2<30POKIGM+MxVpfd(S76$b9RxxpN4xXVt1p zIJCpU=tewf=;4sb&c0%^tf*aOZqe13U|&RyKC-{BAg@w>5Ix~008ZhDcw)00}% zz?AeJ?-dE-l1uq+SkcrXw868zaWA;)GH;>HAZ<qRB^Idoo6VPnp8r{3o{*S6O-H6~-JOPthF z_^?asOTm7j9YL>9qNsbl;XqxKgo#*DQFEZ__Qm3HLq^cab~wYRv;bBjz)D>ZQ!S@` zm~R;EI3(}YkYmmpzPM<)KhbJ)@LmnfbKgefJYKC^V-0=2n)UEZK!^f!Z_N9*&x??) zdU#GfIhP>&mx9JSx4s#=VJM^X%5uKl*Uk1&v#S$t@R#CGkM?yHiF%0~8u_YjBGEn$i|=wg+f8q<8aC86AVM|u*)lWooC zB8yXg%K7A(okNJ*RJcpZpF)gnVw)vY&;-pSGBWa#V)59Gge<2sMseqT~z~JlHqb%~bLH1Ai%4 z{{x=*zWAqh)dBK4QEsDw($+@!e`i;uSk&@^HdSwo`2B7FXI20+S(lfbKnISXwNF3C z-Uc66j{X`?hk#IHt>LR-u5R{ja~_89#e9DsPbJ z!0(5ib|-F;G{-H2?lfq~4~&8*&rM(Cx3x2^TYX@ZxjEU1v8pFYlNioxi_XO7u;V<0 zL|Tha?#(xuaokO(|1V|rjlg-~G4k&+~pidK2<9g}3ZMrC7gc zqWqhCPgZVx^oIHHC(if^8x%TQT9xT%D8K_fGFmtD7Mm-D49ivvzOAJ^Z*+qrGg^~< zsp}%Y^gKCL5}MTCnc>-~RJRMuEN@wfs71u2NWQ z5^m}``X*^2STrYk0s}P2NF#pA=2BryaI0cDx^YuxC@L2-3DHZAXI?+v}GLlx@iF zwCHB?52i|pU~AK7u{vZ--W`BJ0kGEIZBfP>7bopaRgGRBJw4N>HTaP070dHO`lyK< zuh)A%awsrTwiCUDU8#aK=V+JB1bKlN>)KB`5L;GS-G6=sh<5?(^y!Q)B@qt^qx$i^ zD9&wEKTU>76t`4mxbv;-w4nNiUZ%-;V(aO5U&xk9jf(SF)T|{cKlqudCtW;AV!5)t zaN)I;kSzHy#-ABCed+zJe@mG+bv+fA!Juy=nV*C`v3@qG{GTZz@;a$*OAKXZv}zPyy|{KOUl;$2yyA*-lqVeOdjH$D6pCirAz8 z|M(ixzoX>_=|5Of*vkT5PsC1@cNrn%@%z*_5(dGvAIhCmkVDb|UVkZg6xQn3%gdD` z3tjrv@w3qY)e@H_R{Ut5$n2RyaR*u6HvhVk3w z^2{84{39G4SjX|>OPBs5Rr?+L4<`g#V^Y4BEVJRaoUni~G9}D!2|i^2j&t%~=2ANj1{ILvEJ9GrOYSF5W#zjq z-S=y_ilc2*XZ=|;R6N9DB}aMeCl_nSF#KRG1GO|duQTJxw2_*zuz*V9wzG1rttq?P z#Z~p8%3GwLuV`&|iJyjdkDG~~d4AE|Mo+7C(XDc+a%p+6LkiE+WYl}#4`|7pE$`$R zo9y_-7(wMW|CZ;v$lAhd@DWtLZ#=EI)PgVFWGZFIb1tU}OW-R#W$WpX>a*LP z%vr_QW@)rf7Zn#W;y|{#CTE@vTR~~`2{4rbRC@-eEIuk}T0>%v`%a6`4aJBY~{ba>2_FI=mVD0Jwq{x;gy1iyxf zQF#y$1iImvy#DwV3gPlkXIkkNL6ZYr3aYG|VBjI8tf)NrA-9Q$&tcV-g5T4&I&7a# z^Qx^Kugh+~N;zyr(NW4Zev&ZxaGrdp>fh*BS{U%$d$t}Wqyi+fUYkQ%uC?B2-x80A zeVc5~5d|!|{}Y9E`6~QfMVTVzzy3S-Bv%=q{y?ZqwMi!r5vKA@zqMHzSvAy72f39W zlKB{TP1Z@&?@G%^6O7!TdrN{Yd`{GF4?ed8vC#Ynawv5Bbt3z_#6<GPy^E%@Rc3^qIFaP(dT)TbSGx(8|j3b%J+S~y27B2f;N+PR!{8yswjK;70>xbv)f z>G>D|h`rF4%E*?G^%qIJJ?J4**83@gMI?aoX1JB#oervE1%_?)vd;r5eu{{&GylnH zcQW_=H8QH)&V|elM<{q9n1p$m`-`*twvfJM%IfX)E$vNB9aAh-8((TYpa~TBM*9pt zH7=LjL|QK8XzA8Xpf7A&_Lsd=*zOv6M;X?*2etxr_8MBme;uaKTk^Qc4#a$oPLep> zH|6;>-SRe1`_wB$)XKvlx=`H)T!P?rLo;c0lKVP}XIC4t6`Mwtaz$%GUeQIl=%pDq z>!5~K(SsbJ(quWi^LN?Ob#cznulMUJ6GLDt4>X&VI=?>`D8ZDf-CZa{JxoMat})N; z7R(^W8odwY-=s+8EY)}-%)*wZ4<^RG5!^Ta9B=Mc`ekw6-M#9k=@1~s-MVX*Dc)Q| z_v9_DH+G{25rr^J=CqkG0SyWo&ua0rSgWhKG|XJu%=}Ii5uEBZh&BoG$~LsV6o*xW zKEG64+6;S`VpTu8uRP=^mgN}eN~m)^%QXG?!reVV_;zbch8?TKZB=_~7B5OXf6}?> zbNT*v$2D+;a>_U;Rc&(BV@H-zZz#06Io*NjU45(OCCxD>u7d?X7DGf_d-Y*{n5*of zn-{4V>;!d~;^2l!Q~{PBTD%MqHom-Vo&N8Roo&l4=G=mGh!Jz|oTg4Lm9$^2zM)AB z^7*d$F20Py^SPIG!`;-w@w=a%gxJtYmPYkX4LYkVz8O3h>e{n(^$k65Egwqlv*xLQ zj$i7@Mo8}Su55?#uk2ic!2a~t;nbE%%GyNs7Dx{&7pQJ*R8I$@sz+x^o$rhw%5-X{ zeVRpm7Zv-M{@b5+7kdH(_spxY7AAe`n&*DbmB(`LqeNofmu?4_sX>W9_a&pu>OK5| z5W{F4>k5ef%xvx6rG_G3|6939ejLo29T3)<_NLqM%i6aLpmvU&p|6XEk*nNiJz6s8 zlL>TKUO*G*IJEeZh0oN2Z&&QWGtLj&A-{pQA{#*}Vu45%VaQtDi6z|M1BhB^sWe$! zYAs*(2?khXV4X7DGndg*Gd?qQkc0$x0kkcZzen(1enRPB_DF*Msya81liMs%*#qboZtE(=6!R_ZA4aK4 zR+B#VuGUpI0i?}K26JU1dSCb$TNS_qyc&h89Ebe(w?faHiOred*|;zo=ksE99X8A2 zn<8TpQ(*Z!ZbJ3Xju4i$l~l)Y?Me}2ZZc9*i`QDc4AgWav)oI*j&(4GcfIIbNn8@{ zoDE~1vms3{*OqaV31#+1Kk zOmQmR=LB~{$(ycVD;wL-Andc}5J*olD4Uy;bEMR_|ZD!-{ zOEHPMCA!>CR0=TOVjQ^pO0Fh2A!%MlWFk}m`*v@H#n4qEdOrS=Ue{VYXojRR)}+{% zQi!Bq35d_Nj_dm!^RGB%-?_;44EaN*|D^!4>fekmDVr>4uPrs0so2xi?JDIN>$8nv z{U0&n3S^nJLpVV8G>+)*OTeAljr%U&7XJ(YW6I?*#3X!*9^t>4N@eyd7cFwwmEWSN_?fJ>HO=9Ji6Hm!dC@f{BO^U%G>;wkEftzgZt!$ z6F6;6tC8c|S!e$9Y@!NVQ+UjgK3zZ>T`JhaEfUpjrDy{ad^6@(y{=uL1+J5R}^620Vk(n(}|9!%y>osrn z!$S7l6Jc$&FmJs)XJygxw5g^udvsfttD`pmS_5-HJHsTjgf-|6WZTQ z*Zd&Ul|G?$?nv7{E~0?#?&PI-*qB%;zJb->wIie$ktPW$KU)>K9$v{3C_oNmY6sOxd26CAsCx9UtwAAlWF{-r zl^0~IS2J__%iFU5R=SKKNW)0~#3yL?%aKx5Yxw?2=)()j_`ophY|Vdhi3K@wZ)@Aw zx3JgQHv9JI@?DH)^?-J{Ysh4q3EXY@M0vD-^y9Ct$g0g%<}CnE|1*Qxx2ZrUFTYd> zsy)v5gQ=Ec>&|A_Bl+fmMRC6&-O6%J9gJI+yQ9y`|NI?mm|=&nMt7q>P}sq^JfIAD z4Jjf}=t1!%u=47Hep+69$uL@@gGDDxTRB-YOl8gUYxqh|IBgoH|4K$B;+Rc;mkhA) zy0i`XuLBQ{l92pk@n?bP*(IBK;am2RGWGU;t;icm`dbZ+_G;X8nX4ZX<{TuZu;<@b z$SHw0t@;b-nXT|_6$1iLBH1yXTw!G~%Dj9L!X$t*2D%ot!`VzTpQkU{d~UWJ*{Yn~ zX&0Tas_p!*Yr}t$Z$ZT*cx1H=*n>+33qAW#~ zIZjSI4=+;;^SZdy)>@OOW-Lr4z&At!?wf&ZI%W0bc0+|H*yj_0K={koZVJ}}yWd7~p0e0k-iCg$437yUh(KL>lwRKcM)6+SY-+;1H!zrRTC zNN1y7@uTdY_`b$Fj`*5;S-|o}(OoflH$vZDxbfzdC**1r5SCtW*4nwU94=0DGcUyG z)7z*P@r8}kTtJ7)KGt!dQRYiV7+*z!KwrNpnH&#XzD?K0L1 zRVgOXWtLh9t&OL1nIhl9qqXk;H|jl~7LWSo?XJJ1#h144mz!2>Q+XP5gXIgK?4z_V zg_M&=T!Y1R#+F(@9nus3@VooyF=J|ph3ARvZ`b~O`bf#OdNJebtv#sA12!hEZHL|q zEk>Mv{Zb-^cv=nP3_LzaTp_VP+#P-JCe1*r2uz;S#e2ES_-BMM%QAuoO+J{vh2j+T z^Vu(bt|d0ih)l%H)zN|sc=2BfXDM*Qy$|dU6d8q+wf1Sea*UNJN&M&BYFeCDW3|GQ z`6?UjUZdVd5JQj+s=tZ&@5PEOYE1Y6Gd(TEW#u2LZHZDncF37&|70K@;jYBP$t~Cd0WQ)bkuFQlrS`f z?GLA1C&#eD;(9-y!>=8!h&+$ajn)`1+|btGc8tMdA+*;OgoWR zBVapVTiFa?Qm#*T*BETj>n*H^{tXMA^;98xZ%gWzYe;VxroSU0J)9@3#-TGUN+RTR z>G&~mjgc|Ihx+xG?@kVoepg61efX&G)-ysWl~kdrp1Z17qi4*4F8xmUSn1K9_%G#_ zMc*r$vm3Lo!mh7HY$$Gg`pHloNA5q~Ca1!_RhajcZe?aXe?{OS2prj4A8GRN0O)~L z8awH}wzXAZfqvX~42>~yg+f0vYeS&fXJq3{!DOrJh0Uz?^#yH?IYtPeU0ghAGXWSC z0((M_r2XIJ$&9&Yp#rF}QVRQ>6#;C$OwY`TJKZycp%Rz3d9sER3Aa*u(STvIOEv8& ztq6GwZd6t%&B(W3V?w(yPGOqlocA?F3uG30Fla=s^L-&NC1c&$yA2j)pfs<$X?d$0 z=Hict442~1!GN|%)^;c$WCbH4rm!@=vccfXBJ`n>Xa9g%(4u_axtqk>SUqzh{*S9W zLvA?&aax@EzHOkK=(XCS>i>?~Sz<}u-}Ns=NZK6@9g`JDRUD^LeEF_KbwRb9rG#J7 zdp1}ps;Zn6Hd#vPl$(>0`puDHYmHg&>CibLD^&C3eRmtgF#jt`$QvQ73>0Dz7_klW z$mWXtOVP-W(tk)A?Zg{#QG{6G7uznPbXWALiJrYJx3hnVwW+UMJ7I%E)m}I9v~Xzo zGFR-^p$&^@|G`q6vgJdrY<&-x~$z%{9R&9}#kWzpT4^>)*(p9Qu)Dk7Gmn8Kj8nlxjlN zy_Su-lx4%a-uR5gX7~4p-wNPT^JFA$^mB2x8HV_S!+n*Z#USMe_@sJdG(a4a4q>(l z-1i9o5$V>%?%SG3R($!oXR-yvg&X>ztOHH$9&>NGd|KvQN!z{KNW*IPlu2!sYc z5kA72nr~35E#a4amIfsqbaj3|RqRdX!s9+SB}m0+bvIK+ljm|_kDpQJkWnJZg01D!?Sn5cR+dTUn_>>dySECBZTxa z9B2UjJfFc=TO$6{2cyeV$lNVBpVc=2BEbSc7|nYh9+P#vm@*3!D^0q$+i!mMvoTLc z*>9S5+Y_h^wd<V0Y`m(lb*MhXdRaNjWRpu^F0|_ag>ba7ap5iOe$UPeP zj<-wpK}?7voFk9UmqtbyWOLNhU~xhK=B860<>3p`NHTW1%uAc)ZnXT8V|EMj8)i1z7hGIIS^$H{~-Z zyGvh~kWtLsl_!B<5pL54P9MTF$OvIF(LJ4Sbd$;;k7skjD6?(B6mi9PhP~ZUNnks5 zCEh65d>GIPY?&a5hNu!WASDn0Cub`@XC|^x-T$enweY3o;g|tySiS({hBD0mCF+SV z0<}BRb{Xq+#Vc*bl-V7Ka?l%4T^m2+j)EAhC3^bpfn2{WZDd_45S5w3=m^N(-2*lN zLJaW@&vk!o65+EX8L(g-)D#;CH<&~)^T1h(Hh9qPdBez`q5itWFlFv5nHhSO2VrBj zY{%ASJ=tMM@S(X&u6&Z1wD^5kfQHA`rY;K93!?rNk05Z{O!4A>Ax`M^HJ@MN?rOyfdJ=wQ6$Qgtr+3Z^cEh>;g{Y<=#&$GdqF~z$H-+yH_ zGUxCaJ}x-kND=Q<-~tXxR26LaAPwYs(5q2}1>v^5e^L(6_E=csQoaWb* zu>%XqlML?@!~>s^@SY%VTBj-~SAEyI!t0stndX~GjNpJzHNeWmgfRmQsLP%r-AgLg zmj)#3fI1^ipB(S{Setj4@Rv-kEW?>OLmxpA)%zR4Q@oYp7wPs^@^M*AmqTHhprhcF z{_A=!m=mtBS}vEQZ4~OGhw05Tzsa3VEDp#F2GFSf8Ox)ke`MW4O>2Rf`^euuqE%7< zsf2leqEjf(aKi&;SyS<$F;@}L$}~j$H-mot%TJ87N|^Aj3}2d0RrY(0^CY9V1pW|! zSvC?#${X_P78PCqr-R$_F|B$W8o<_^K7(qm?F=7DI*rD(UyUO!NxtOsj-K(Y&CbiS z4u!03e2EaVd_}ENzV$}i@&i$N&|rw7!1iQNd5XCz`^>WeNW55%Wu`L$8uqY7kyo3R z)7d-FZOJ4)nde=j3!6_W>5IR`-Os;V+);o$hOK2spLA%!XXC# zh5snbYczOL$=%E;6NE3-yH=Pv?ah+NW&HBB7~_jFp%YsGV^9ZQqcLm>Hg0bI`Y)Lz z6ne>V<7H907Qra2^m7JnoSDularTY!kS-N@ZSp=HxP@_t3>do6oaG0?Z@GPeT16fd3dz%)g#15d_)mX{kAiqFYx{+HMFGqPY zE1?mi|M|EyoyfP8YcXIUmVsLA@$=m|PUSd6Q5=JiFZE6huJi}t5%#ezISP)|p3^zD zpE|E7zd&nEc=3RO!;94I>A2~Wy{n^pp=`(0Suyya$rBY$*H{>wkueJbl-smv2s~hi zi)Ak^cmd7a&(yT1paP!cDYVb;2$AhfsHCPS93A|`wwqwCvE^ct0YX4i@%IB}O&_Lq z-j!Fh{#ig@aIrZXbfSxW3<|Ip7!n%Pdik)wxmhRB+m7{0|Jd>SA)f^%iHZbT?7N@- zTV}tD=UrN2wElCzorIa~29o!60(J_m|6qj*Z#F$q&pL6N$d4`hA0+bqU$T&_uq$D; z-K`Nj?y1rMwk%6ez9j7YeY2bI!3^JiPzJ;Q%}>tVn>n>3|EXsgSy{6p;x=Kj@ve0K z{Bj%73aW7RJ8rowbzd?D7_Yna$hur)>f3rv0PI0wK@tu1=96C9=?M*=^rD=2)^GhJ ztMl>E_gtmCag2*%7O{PYqMU&t3u9}VkRZ zD1eHPD_(n#iSSyqTS1vRCC z20Kn>XB($4Q~xy#K7ojcg?vnbWCo>G61bere2Q-(v){0TW%7^@O*SiBQdO-x?W^=- ziNe-lzle+kbM&@STjiA|r2M=yI6P(@hMDwdYbS5}N@7yWs0jjYFTUTTgD@S;(B2WL zQWAO;&mFG%PVr$-@@TbwDX%p{ViW`;$XA!@PG{4s38-b5(%j9SBPN0Wk|nh~?NXuA z5$JMm7)p*&k;sK@HkP|tWr&=x-+Q+>Pg>Eq8>4}!n)TMgwX#x#^p!DjbcI2U>RPj& zpozEcoC&*+Z;KNXDTpuwto>;IsRL3spEz}U7CmsKJK6GICxpU`yz*B?7Ano9g*&;= z0TOXXNGi%>7&%Z}<__rh(^*2X^k|mw(_f^xA!?nMpZH`XF3NUYn`4q6ZG2CnlK43> z=tD30IJG2dh_$^2Q3bY}QV*B_g9@_DRi2G7wp&64u@*C$c)1*+X5v(z#1f+sBSm{; z{>>COzn^$57+WmF!2NBbA1g%)IT^&cjTyFXxMVfy*!9a7mR`aUk^w)YFhj)V!INux z@56a}%PoLH^Nv76-OX}^_Da-Li(m!B!vMzG`<^dOo~bExKH*2koza+tQeBoO5{gCx zhF8hxf$9WKDa2HXNew^qmF&AIfcNdbF(n zO^ul}uvmw%Fd17%eP!xw?y^?x*8^ArtcI zN7|QLZS8L@f@R8>brv)&i&JJYca-OLrWf2{qsJKhgWwW1qA&(b)-?k1B9CR7f**&DqI;v){-nSwv1CV3qwkfTEe)_$citQ}iTE5Ey|{Sn{1K7)=c$ zC;qaNC(R~-$x)ApW1RAYJzRZXdsThBY%)E;<1FI$KJl4*FxMxjB0i++1FQK*rx`EV zP%&NLsO_YR1NOyPqF0~6yZSNLTegRs&VA%xr*nd0J6Zy4%sAT&Ny!q~d=|~I%MngJ z;o_R{IB<3C83cx`n4EX733IrG4mCEsS#AKRggBxmheLc` z!8}Bsz4o8oYE9Z4?PbbPGOI3JsvR<1w3@r0S9>h_HGvV|!Nh0ZHP>b;;^|vzcZVhl znE+?BPe?dW6fpKOgbp9O=X<$K<}JbYFHaC`5dCBYr)Y?Fj~)~Dp1J4%deX)_BAvC+ znMtT2*)_6E-2pJ=n_wGYmX~c=d?@6Ly1%enrcAP5e}e59ERxI$bQSH+q+dq^D(HtALP6z!W>vV_p1)+#dAL~Lf2`P69=kUseP?%d@8bM=yOaJ2 zRRxdWrkF%r97Jp0*1iT=e$;+id1i{I%!p=b;{-J+hSNIaX1r)FuX9-1) z9-8eR^x&&an!q$R;N@I%t9RQCljhwIZCo`BxhdTQa5;D7{xA=3zRNi zJUUz|udvHD%|Q*RKU)8?t5@2Mv~wmgc-^>-EeBk=-|>Py*TXGA=LSn z2Jc+cU|Wh$j=__m9>tk@V11Jn12j(O_d(4b=*@PD&7v}hx|yZ1D+k4Y1HVl6f|b4R z6_iPt*{bX zRcriHA@zR=(%`iJ6Gi{6i_QP_f`=Q7hys7jvhEzFdWf45(?$J(c=s)kR=Uy;Z(FX-7(O+?a7 zdo0cW`!AUi_J2C)MsKHAoV(~!bI|ta?^UWtWc{l5UYtBA$O`6d*i8I=d*HdsL&SJh z8IwQ(Y(*+Og5H%yS##;A+CEc5;Qyz*2{dyp+9TcXY?J+Wo75EG%Ps}~`su!6FSGCe zP~>d)+UG{ek+)ObMT<_9We1m3xmK5wDF|ygn$C7sks9UrtQ)7!99djJMur*{A!4<8 zYfQy@^+sz~?#i?`D==2nyHsr5V*Us?neV~zQbxi?%QrHpvD`3v#AkBb6!D`6vwPzt z+-KRof9;-tVb{?yXV43HGJc+wUDG;Rys9TR3VB?vl*2`n;`&|AS<`S>A^dYygNvn^ zTXfpaB*c9O$h^qDCgcO|btXA?FaxE3G{un;HWl3NOA|->WJ$ja@#{ zXv6n)gg@G`dr~_Ia?q@uESy#m#2bx2kT(F3!_R{`WA6?>eZO!HELNd5Ge*n|I)5Am z&uRH-$+G1q^h}`j40`*l0{)wkfypxHwwW>wZIqBuG9Va!G-giDkNqgJK_|I^pW$-> znq+2+Nvf*rlm{PPYkQa;$<^{~h3crPgT*fYtr zCtRK%yuf9y^(=E7|0Tn)Own{5(YZ4PKd7xal7lw|O$V@T$p?#Vu==Nr9C7~>RA9!h z9^*o!B*D+X4{1K*+5J9Q_S!Z2LY)O>&R7E2mg(1+evQY~q!^AL2YM2J^%FD0wN;Y4 zY!3Mcm{=MsbXDjDo2k9TFl!;OyJvlaLmsE{QpbZ3sF52i#H zp2-03N?NhLKl)$srcz*c_~&5R-l)|*{_*mF`X6|^qKwR(3iOhW>PW(6;$r)JdXp!R z5VyhmnEs38F~N2F=F^BD`ygBQ_hIT#_I4&}PAS?*II)sJcpQ2lvmp#PMlr%FaxeMg zxN4GRG3+Hm7<~$e@U1lYjusB%2idL$(ei8=^&c~2-^e|du<*3OJaiXTN;xBe(S1|2 z_vO373H&kp*|>W1G1(g?jBR9n8&f2Ij5D71W-C^thC-{e{_F#5K?SNWM7fu*IopuO z@{^Eq^s{#FUr@1CJGKfPhKPQjxu`d)$oq~N%>b0M73UG2;UWYncQi@-XN?A_p9CkB z3@LKD^|lR)jOOxY8Vnq(s2Q5GX%*xfL4XZ$46aI(`Lax;$bY9%To#~*`_s)2sA56b zsM6BWK^aE5RsBW7Z<%4GzP0p!-$m%FKfab_-&avB+iAQntN)pkKKsbH>w_js?E;6^ zRad8l8K{d?^GpaNN+&R|t8o~gK?L7QB=(r5+3ddb5)}(>sf8)`0Dl8`Cchs+o_-D! zd}}^-@)Q3mRH5F;FW2&)i_#r@@n<;;||bCr0_$@7&5w zv3JyMdB$s{#T9OtrjgjfeJKD5Ohk#XV3>MX^xS$X&jNfFHL&IkK3k8RgX%&f&|1QK zie8qVyMGV-u*l|(>l*LEI_9!8RBZeuI}5t`MwAJgQD<&bCWNngWuerPNrSQW+Fvqu zh`x!KihL=-wstV9mF=f*sbbQEO=EMT9FcYE-Nhf+_+d*?4wq!#S`G{5q-D3w`Qw0x zf`gCA5~(H|j}X?^E&v^pFt%&?OX8j#n(HAX!)y|yHW&~P zfNHEBFPNI(o$3C-SXq}*W(yc8$PCL?rvFOqbZYa^Nn528n`>@0`P7^|4qXKgh3D=s z?H_Ip%pfzIFOs+gD!SNpNS8`~ZI)h=IK@5J`(|B^+e%X=hq(;8W*dH+z%uOWW_|!M z0)cx$!vxXjv&ZSRN6)vVt|vd9+iU7gUOQ;`x{jBN@lXFe7Q>U>ht4EJ_i+Y*#*QG?xj*YKGSZPxo;dd?Ky z;%}>{GCHvBldkboO<-)uk6jo+33jIZ=Bcu4)XK_|0Ovks9gqKz0yK(IN^mS5?rC!k zUvY=b^o0Ys@*X<;oU;S(D_nJ`bW!zKZr+ZAd4_Z1mMDF@-hl_U$3LOXP!FbamA)10 z8N*wV{FJ2oQeDLlgjsofZ9(`(d{D0|-wD9BKVI2p4G~tT#VwVii~94lj3n6a|H=9$ zng@yiN4ClRBYa(-HQk8;8sZIbf!2JOoGZXV(6#F@Gl zA9Oy#dcJY)K9$mA|LJNOxr)R0uK6e^#k1)a$A&156%|~#x?0NbbLiM?v;;By!1JM8 zbB~Cl6Z`%P#?o9;*71MIs(CWvpT0RvVN8E|yiOmwS|$8-{T)7Aq?|z#=u=|Pq}XIC z`hL9D&a5CS&d6O?%wq}pZn<5vlQ2)Jjpj>w`cfA8Iq4Z~;*6@&3iD5SL z$&DIkYubByS)i%7GdE43&xRhdU>RNsHmjXc3LIOAiIuznL7Qo#dNuaGspyfjus;6e zds!#tziWiDpKCaotd7%@G_T>8lQ)?$8g-MRL|*={uR zFkY7Dms;#9$#?5go&x4)g2Ur$%Ji*jqO8H=vV*I%1ww4qOkH-p5Kftn!98Y(qlbf^ zVox2ep(sT8>eV=`ATtreqV`^RdtAN$i1PYXe$=qaOI((cf3XvRO92gYu<`aZRU)|0 z^>WIj#3y~D%vq;jNI~*c7%CvXW{!4quo0Q$(74Vs7SD2~H`NW***vC6IzO2?1kgLm z)c+Q&`6%|@s@U0&r`SJc7xRuXDp7fp0(Yzh>}FZXdbCbmaSbne_tInfE>Ki0JVi}( zkN`y>`*Si6rc zr%SzieNGiJ)!Cc2WmHP%0}FevJ;(2Hq9vX60i?_u;6IccO=N^aUM_E$zD}7MOTgVv zkaACX`BE&M>=z{8RA+95H*5;*bL+|N@FEC#%!W!~KqdW>3RB(XhSIUyOPx96PgVL^ z`?hn!E2bbKUy?FyOy}>*NsM9>&?v-rskvuCr#=vQ3Y!W1We@pGi0GZRdYJuCRHl-5 z>2#c93=nv`SLN%(%`0W@HFZChy#&d|Zs{bxPNS}Vv#z&UNTo6FbY;=Z__oYBYp1O} z7r$XYcmKDIXonS%g1W>5(d_K;{e#B473}s4^`0>|Ldpcu4eDZ1)Fcb1i^x*G3Ge6q zhf>cOaBx7-Tf7kEvA<`A^+{oqwPtyfb%n;kF~B$xs8^+zRxDuBJod666rRcgJ|2>YoXgGJzGPxqdL?BegIDgitgT)U`0p(~AxNt9w)?y>o zOH6Y*H54TRXf3z4w6>Vq`0nK0^#j_-=WQ&5)(Q}I6l_s(D{Rac1j>33ml3Iy?E?ZA z{&>^*Uc$kcC6O$FxZF%1F`;y6-a>3a<(#dj95;oXf5D<#t(HZcUf6MZNje*%dvX0JMDa_FkZt~HpFNP?#5eUZ!+Qo4b9uviz*^nCo!Y`t7;@sf@t z{-5ZvnlE{E1xIxkdGRNl@))QW9cM!cU%pvdald)@xY_2}7(!kdHdS_y4LDq4ZOd}= z;*Z6pj?c_vpG9Jlnz$qGTNCY|kaG~%qe)ZlXp{y6&?LuLz}Msqmirk^^2zeE`kB(X z$sC=LcX-bao_Ukz$acH1?rBan94b1X;`1^Mo~iqaE0OC#?SgX9a6<+rVOXpcr9eAC zWS=_vv+%%7xyR^-tx9_NEBupioqOM$ul=keeZFT?nD;s01B9J+it2}{v@+po`A6DI z=N0)2rf9+pJ&vC}^if7a!!rGdYud*5X!0m9l(sv_>gMK+7hAmGrb5C!ts@Gv+$cDn zL99{8z#suB1jpOq@!`Y=dpEJfr&jj-QRQvi*Ah)lZhY1C<0=~DasG*72mcer|%T9cp33SS1ef4g0;hvjI*3OBm&T_)E5dHJWDh*2?tu6XUwc zC#wFAsm2Dg3-|tk=N~x3eMXqXhg|R1EOf2?I0bW=Wu@qU*YfHwFJDOtuhG6{JGgQp zkON?Cj|uf1f5~d}V90{;_x&Dzek3y%mM_ce`>~@%t@-4iy|cN`oXZ?`_ff7t4H|_n za^ySStcmpLaKJWe@L^L$q|L2FN_GvDydQS|2D!|P7rR51j^Cof zYm>XGjFB!usmn>{G>78j<14EH_NlOn{^0;pH?6rf*J#WE1&#@eA~nxFl8Yia!MI7D ziH;>}=yabco+k28Mx5Hd86gyqwD)fQZTkAFugK}FVjcFXSIz?E-H5&fJ);xO>b#4D#id5>$Gf7=sJm6~>MIsvlcU21flA~M-Ak!DCGUw$_>zt{;tZ4Bcy)>shm)q1tr6eL%4{aMqoRq^=X|ANnN$PA zh_r&m#vm_PCb140aOFZAB{C6QQP=uoP;;)HY#O^C=_Ju$UcbXyxjim;D=t!*>cxNW za~{Tl&KE(|oX%?1 z-w;7`jR=kSz0m>yVJaC6(O&7w9B@Y;2&JO4V%V-l(|FHx-iBU$O2(CnhslRl1wj59 z%^ZK1daY~E3hVXzo7^ydsQP5v9YX4wb6<>#YF;092Xt!Ba4kdNU;TEf47$^)^f1xA za)`)>=RGS4#U=*YP4OiyPh*dJr#yKY#ziw*5{lcDWzPu3vn(6>wCcr^*&cGZl$%|H zI4=NtA}%$x4b77Yy4m_XzG_F;>4Ug~JM)NHqb4WE2#v}Q{dipb!$z~GHq%2f`dO)B zSVdH)N%!g+Ky!GY6dC-*SLZaQD~DqO`ZUjKJJZu;MSlXTY~{uY;B}NA4G8d4mN{pt zm-23C$qaOJ&R!y7tj^I6J`FP4Z+DK3qK^tTrh%8cH8bUdPPi65VY+XQdsy(}Ewq)p zL1Nkd&YYG+Tff%G%$(P9X>IB5bg*XXvTogrjlMGv7jMy1syVC;5ejJVD zLRF^4d<`Z7=B6i-^SQv{t6z!}j}Ssel1HXED5eh||9{&OB?_&dQn z|7s8DET$y1&Z(yE?TjI+)-B?`sRX#DV%<0Xxce5FAj934j;@dafgVRF;gD@;Cz z<;L`wKU(E!9s%sih_mf4n6sEYiXP)hq)nO8uU4~`j-h-PaF2ff7xhD8_{;^DYxZVP zwB+y0O>okXK&Nnej-WWH@1ks!4XBTR4XBo`|Cy~qcvyOwt@y+}iBS0UlPC28{Bv(_ zJYrL*9|%DC=Vgo>U5}!mY$5NPZZ$Q`k6UXMk3bfE^n%vG2fx8dwLQjb8R)GMI=@sy zkQ_7!tJ4qFSPRKwBd743`D~`S0bKvG_;F`3klpMA&d!qtJ3xIukV|PEz*%z zYhI6kDfMk2C;JL#KN$-pu&>W>r^GdXuy)t~U-QGyFn+hVCV0|+Fb8hB-|x~nyC42T z^WwswprAZ^x`&huKm}A@1mf+xDwjP{1|qB3VpftQAmruhlD4y4*mlhe(zlvp@_&J2 zMZdg`jea)Y=WH34p7sS4o7 zUov-FJF00%@=H|4MlyOtgPcP_Pt#AZ*CG=w8=}gX?KDw%rpQ5}b$EPtM|uQIvw0Jg z-4?GK@S6CVhKJwY#m>uue`jy}VrJQ0T=yG&)z`%KAtt5-kPQe80bLXZa8aCY zs;MVwyG;bf9Da$q%3Z`TDeTUkaTWv~qV%9&&+U4>3h3MhhQ0Iul5r0Oe9Mp1F@vmA z`7}>ukX5K2Yb)-3(zbW74;5(CM9%0SC@2K_0n3ARS2Dp`5kP+8>ShX2Iu3cI`J zwwCmlEZv<16UqGKCJ(ZkU)lQY2Y2fj(d)O@YZ8}hXA4GnLKSfgIoT|YO;J``@A)@) zUnp|3r3G*#6S+iMGq*=aR zWA5(#uOfyIa$odwb4Y>v>N!e+hqd4fb7C=w7^18?J}hA;FRHD(1UC5gVFQOg5;_G@ z3pCmto?i;k**FWQTSm!J$W6Ev)|~49QDu5lsgwPrgZqh^<(&^PJej*GqxKH296!8L?8 z0YBmWe72^zH(Gzu;~+oGH)B2tH?E}&t6#BI7DH`ENW6Od&)uAeHt??_LqP!)|A!3F z=+{UmL4kgG#{K>MU*j%czJNatzY-#i6slR%OEWH4nWji!rXD4r-Ze0kLRjPRemFQR zjf|A={y)`Mfb9MB>umdb>#e^jD<<*l&#UGSxT4;Kvp>ju45YOmq2_D$64@&V&Uer=Y`L||26 zK4zmag>R~CjqO>JwZX~!AfiT--7{&~j83K_BxoZ5?~is#^Fm`v{EX72gqMxGOwh~| zXoi2%veK;FN64e3`^2G2r*MurT9il zGCUon(CleOs6ghoy6vmm69d}gtn8yt_35sk;)i?Ek$4T@Z;;)&4Nk5ZX*v2fM{&%5 z_ErP_A6Utbz5`QSndrkmTbic2TIPrhMvT#s2mTBrZ)zPuBS*yj=6jhd7$^>_-HVK|kRwVGgVMa(1*3 zB8}0|#3JYxgT6HP^4Hgg|Je3Iz7B$F1{PY+59KMYC%GiDU>frID_9(*=1+#VVq)sh zksU@wdrIaTXUPjfCKvRJ&yIwb-R1|dB<>IQ#;FUT;z>ydi>eU3Veve6SL5Et{7Bz8 z$dIg(Z&_mB?+mFk-=CP05X}OwdHoa|3BShz1>t*>@!@9$@mi2;;iA6MYhD7IYrstj zhU>OFWo{YN7@Pg7Grdg=zaVHD7!u?UqI_-Yk5SnST1bg`=vcitofObLk%nX^8a=)MVLOxGBkutE?V{j5UDz@G`-toK;b5k5{*L{2k*-lLZP8JD!@jfo7|h}= zF348EtQ#w=+i`4M!ZM%cxIrmIiI9qm50fOV#{F(mMZ;a~=d|_lX03O%v53BHnWN8Y zstuBwZh{kHWt$m4iJU2~EUoT)%80(intgo!Ah3AZ%jm8?KUXBXa1@4(g%yEA}FI0a}u2d4-EvA8J!Kr$>e^k5K%H7VS*eo+CI55oZ9dBF4lWr%$7okdkjr z#rnlmdd?Tnw`bCtJ>|^LL$Y(Wgu`eEqWb%drD21JI{VL1OH87is5YkW;Er=Sr0+#- z)|*6sMgEr76BR%nZ_V31ZQTlr% z*_@RQDx8=boMaU32b&m@l-&hPq!l~lLfYe`!#lXzSO4RDcJl=qfL)2nc~m_~YL{NX zR(zH@Fyp$H&mvnve*LOCN%$UO|M+#v-v3%=3aZCthhI+dxBbRUl$ML`dud39dp}(Z z-&bhp6f5Mc)wDy32hIbbl?h0$Fu`6RZJc@QMfQQyrb_6g8m7f;;D=?B6zt7Ik+FJ`QQFuoJlWR9OC2=rr z>3<)--tGJp>gqOLN&I#x}-C z)#5H-G^ZEn^cF3Ti*iNGu#ZBM<&aSL`?uh>eifB$6;)G8;}(o@N?zI$ zj71Btcm0=)iL{#==h|`pj*FR~`6LMy?rV{aTlISIAHgXe5_s#I+2ugDYf$t*g&wSn zvjPA1I7&cD#W+@-wHX979-MxgD$z0{#c7^}JGIYV?wx(X=b+J0t=4HM1C9yf9UY+m zIh+|9-le$7p}-I(CVDiGE3=x-b77bESbcx=+S5AjCU23 z`sa3RMI`*&ns7R&zXbFCd^zv$?vh4~$C6B%;sl)C$uQ&$Bp&3xaxvBu^o~G_xz^78 z96@jxH#2H9 zwne+t4uJKz+AG-!kd)7W)a%XFG}c4n9kC*nvqP29${H}OsR%#%LOmFAt`!h_SlMXh_+BpXr_aN z0t0Ie&)R{JZjn)Zg4KtFIuL(-*4WB%sTQXKg$X(#rF*i($|&mf)hQipA%IuSlmz>e zYb^8N2|@H6F{2_{)E#nnQeMwTO*KsXc?~mk`4L5>&4-o=>7o#OCnfCjT5{`ag#GVD z54aI#D3vPJ8IK0GDEgeltplfZvNZvNBx;6x);@%J2;_#kyNvc-c~@&5e6*gPD@Rs9e%qo4@1+0v)^eg<}uYghlyYQ+pb%7}Pb`OGx)A0X2$& z_@Jz*y8Y0oUyHAQZMND84d&|Kibw1DqZk0kK+$8M4c;t%!)xHGwlK$an>ol3M(MwZ zRB%KNvKR&T6rG5LZy@uuTWwP9*00-@tjo}?nNKs=X=OdD!`88}% zNi84CQtIEHY)|7aD&C3Ugpxz|WG93FeAq*2W4ArUo_$2(MiW>CW#u)<=TbuAvw5?f zDlOmb4W6*8dFVR0O?C|kA!H$@pb@EggAegdZlX)&OXK4!p9qN^itRB$)qUp3*umrd z(C{+nxioGgxWM#Tl0;sy=8Ikuf`zhXi>e5%10$eo7F3{lnq=zm7iSw?8{8wD>feV-J2|PMVy-=N9*qZx)A7MivhI7A z`wP2hCLLQkUNEE@4oY9R2JtEkKwJf!BvOfPqE1?Zz70SM`|llR=2hYC4k~ZD@%0h( zD(ZOsSn2zYe*0J!`@7i5_mf3M6QAJK)S*^WJJTlIR`ov;b~;NBVVHr&j3e!z;qw}# zd4mnJQ`=5HT>M_?EQW{CPJs}x=D|hKB0hsEPZw%Ck3roqA&t6+sR7~{{IgzQx$niL zz5wKkZFj=je!d|ogkafGa5Fatm@5;h09|gM>7DCbL?{h_RTS;$@hvc)DfOjlcHsb= zLamsG62odHsZI%?iFBDRCe}iReZxi^0?dDX=ldl8GCo1LbgU_5IGVDV!c>HZxuf%u zUz6EHdqqm9p5SC65DYg4gXTkI4-Yd!{k^8ELq+gVqfw?Nr{oHgHTyxZ?eeStg&O1SjpJZ((*iUtSd|%67%I{Hv0$u2R#sXH!Wu9NluCm zsnR7VCdxd_6|XR;xrOSrCl6o!LRvf66Zq{ai+0<8938~qT(Mjqy=xg-r-*b=ld;+( zifyZnr6T8=R__Ok+E@^s=42)dUsOd6M~HSS!gnyd$eoQrIQ{_)dpuYC&FWk5j|i{X za<9PF@<#rFsiT4>-=!QBBLRUK{md-F!6}LH>|}|$R~{Z+qLrvQk|A9pq6!%(Fg`cd z`F>Rez7jsQ$IKk$l2lYF-2q$NTKhveu$& zPr5zJp7MJwp09D->c0eAj<{3ERRlUMWV_csHinH)f!dZ*XN+fwTo4xT8n(fbUoV0j zFR1>xc&+K3wXrkuP¥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

1*6 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

` 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 RI?-^eIJb7CYxn$*|JhwUHm(2w delta 67030 zcmb4qbyOTp*XQ64!QCB#ySuv$P6+Pq1R4n%+=9DnfWaY<;O;KL9fF47%k#Y7ySr!q z+c~FB-KnbX>8`r+yD}Av*rnsJ33$+WphN;1*&t{T2nq@o1O)c40!G`+vrvLD2dC=iV^? zr4!po(Xifr5gPhGlY8|$KG49LW3*nng$4Qby{>hEeZo-%r!ec|5VaF?@T}_Scuu;m zf>ZUTXKgGIG1$7mX0ca2#8xu(`DpXO6r8rQ|A}T_pq6F$xL|N=@U}K-d&?2knH3M; zG3KDK{;};3eS8J(=bQ|UFHS>dBe5ss%+IL!0@k8-HOIG#BIKBffeJ%A1xg&u#G_;{e$zvfBGcr43kwXumw*z)%o!gFrXj-v4jolk9&*V=W zhPv|(HzK@-k4Ml_1WyX5aK3qw-x)rv82GvvbTy3)GK?dk5P98ah0`yY&+;tzEZFN& z5~W^X*jj`YM!te@szm|t6M|Yr9b96qr~iIxi{cd-!iW6YF&=ubiEK1`nOerV2k$S; zPdbil8PBCNA#R%5V66w&zq%!V`L=n=B6pRD4`(Jdgeeg2-17doPd$>4Eyf!jjodL> z(*zq|4-q$SS|gAjTvdMkqw6R0t;07Ng#rEPm=MU_}tQ9izHecE_4zz%ne+R z|Z^ zkj$La|5)#t9tw4SFZeKRm}D?0WTeC@9?ofY5Kd7(c&q~87F$_utKrD7C6v>nqQiNr z$KamnrF|w&brT%mx~(~M*>ybbjGh-^HNC5EDHz^8p30p-CLicP+KS#sqR7CLFV?J$ z;Upj{Y^{=Cucg97Z8ZgV6wK7;R{QH0#dJUxZz?i>61&zMHV*U-wYt#A3^KOf?vw^_ z3>sYDTs{Ny@!>DMd!4$O#`lK0?dmbq$giM|1nck>#mi$s-PWNHy%o+r3v(tHxz;*? zORulafUC28^&wPglFyu7+6X97;=U!fh$3M2Tw=SegiIylP_yc6y*Tydhar|Z#DsbO_1!utmD+H(v0)Kj`nY;2c(!uKa0gc8Pd1rp&g z(gjn8Z>t0cqn&;`%n12AH$-^(n#bN1Z9a99r9aze?a4nZ#GuuiyZn%+I2SfAaW*lT zHwLngMo?0Ph>2)Jr9@KNQ;%lPEfZ+?Fw%T!-}#8M4b)S@$%VM**PO~tP-7m5yl(Ty5%|RMio}^$>g7Lidb1#mzRlr zd7ve$bZra#oH$F$9Il>K;#uFALd{%$Z3wh|khoa;gWdH~b4wN&GWB>hKz?Fk*_#dO}5XF{_MfnU(8uqoKxdUtWMq zpOb!fuQAJZ-PO@|K2Nb8@A{_BKJ8j(&MOZ67&tw-ac$A~oCoX~Te`JVBe8Bes{^T? z)cgmy$$rT+65cqcxsFu~IZ!L)=iT+MAhKU2uAkx)!p^9EeZ)$N*!aw9j0|K zv$?yv0TcWudVc)_)%uhTv#_HKD+7Q&u8v{3i2Ez(7;A$SJFCv*&gjN%&{&gmRc`LAbneYTWblLB_)nRuFVPE9Vok&grPu1& zHh7Y^PB1G^{yg|8Cl0gjMz+X)B4L}mA=}mcWbdw(vQ@t|Uu0KbrnB0eC~telGXR}1 z!wzFgPycPuq-pMG#j1sDbR8hA&E1EmQgX$Pw*V(Azff|Vo50{Eb3V}Ok*B0j?Mma^ zl=@>U_&2z&TAJweYM{P6+bKmZr~2vR_ts*9Pq{KpiTvEhu zZg?3P&rKoaU=EV;yVjxZAes;llQ4D-F~%{M?-kV4lK5li`T*Ezm=&hPR2n{`ssF?R zIe~Qg!nze-x%kCgCkJQtwOw>-EM>76FJl(}dR$-~WhSi;vvhz(c9BEKT_)W2d^TA( zk6Tm@Su=JJ?kU4trXazCL6skH&31!YH|m@)XsS5T3`>r&Jnwo1Z4!JJvlq(46Vl_X z*2s@EJzv2w#RA;t;sUyncZ2*5!(4vg8oH4#QLpJ1*pLy-s~de7NZ9^mYl%j-a}^?i z7AMY+5T{T@lp8_!?ftoG2~$|1> z3WjJl;8H3kxN&VXa?dR@J)_yB5l6SE=06ZEp91c;e5MJCZ@j zq}}LwCiY+3|Hje?erjCiPUsr_?ZAsf00qcxiq*I@+J9|n8TS?$h13M0p9gtBw-wuBt^ci#8q8JuzlSOw@xwKS%`=_BX&?7xYEL!X&v^5>{W;sBBr z%nBY2&$YG+pYDcG^W2RNoj#y4>YiXfAf2ntIO%q1d(4TRetI(?|%bw^yUnoKyjsZNYiGB4! z7AMg&kem(m59fD0t5XNfWl|3C{p4Zpzi_tN+Wz|QOIMHD`o#Qw!KH|Ku?X~>GKk6l z@!J?L#}@9aX1!!giKlZ2PkzmUojOrp;e+Is#%xmN;U{;G8E3RfVI7|&`>M|^kxsto zpgP}6>mN$Q{MMcI3wRsQt|R~-=DAS33@V23qwW`*=}w{>7_0qZBadUm%Fng;a{7#c zmm;IO4*~PlAKfPHVsvOkmnH%PgahnC8m$SB4Dqj<){_S*mvEj!z178P-1FGQeBuX6 z1)Dv!ow7|I3y%`Jqf#(5?aMEkemtVaCqdVfFOnauwEi`N{rxF%mFE!XM!AXfbjDoK zH(m>MnA}g-4%o(No(cRi&c|x3yqa=rty6AOQ}iU14DL`iGEqSx?M>g>U>76VeZl?t zVMExD6yjy=Puok-oGV;nCNHMUwiSIx9Jpaou>E_|fv?ZH`5^h=!&XLc#;lh9){H5t7U1;=c=(#$HX&J zSNzHiy*TtGwNEAjVh3Z`bXBHH)6fJdzjX8)mju7yP6{s;|J9P2<&N4>V%95Q#1!xO zG{{d+UokO#4|Z&+2gm5_*1A7Lgm-Gy9kuwCMLKJ)*z=e8D=~je-N4z3dKSv|#=V|n zbj$1%m9#o=RmP6b%6!o6f1z)ib7B>y-J191p(l27LO^l`$l)3`TKS&>eCqOe$_-|9 zl*-i}dT1oOd^TT%i6*dOtSvkSxGH3>KPBe*QVr6Lm$_LQigZ;8XbX>1v%v&0?c{Of zOoC}LV?S;t##lf8nrV)1;Hkpr?VvP`nPi>5lQZ~(d$G0w^X;M~lIGsxT5e?u{T&}g zfS1!`mv31Z5C$Qm{FeEE@2_``y9ZOCLy`FVrmpCdw_WDJ=emzA<{Swu{cSN$tm1I4 zx4VHnVLD!8YimZj{%b9DhBB_j#+4(q*sIz60tjx|m=C&Ru0|siJppx2M)cqP_PgAF z`knGFAm!U_oz`xRR8Alx;bg~k-4E_XUw$2GYyI$G1N@rEVe}tkoSjX5Q}$a5u3My( zg`S?gJ1z(X=c0u*!=j@JzDx=`3!Q^MuTKP7W67#4ssc(!^F)^o_haf{cj|kNg*k1rWwwh9}`Zlhwz80bWFh{0D=?pakA@)<9};3I&Di=Q)$1BEQRi`9{4Ej zz|S3FvcRn;_rI5G8ZsY^4JLPOO_(z^4(DI|vNB&m5s))yO{FhQ2~7}HY;(s60m3IB z=hF>Xft3tQh`yWacYPv*%l$%U9$_>xb|y?+qfojIn6Gm?n+uWgQwTxD1)y{MU6cd1 zPNXAS!^wX5yk!4QTl&~q398%r zSUTuS+d5i0x!XEB{kx=b0$&?DIftD!S&&)05rsn?G1*s}AHYCCMMFi#Ktn~te20OB zPe+K4i;K@jMMFZz&mknp$HB`ZBBQ4yBB3qG!>eMes%>auZecF0=-}aC>aO?E{KM-i zNDAs5CMG@(J_{is%Lg%Du@Cj22Q`Z63_$^taZQ9&9Qsf=P)&qu zL9;YI2C%T|9Az~ihI|w-`ANTWc_rc$Y8VfH`fv8h*weIff#do@#nmDQo{@Q z($qS4Bg^~u@%oyCxGB4s3HDQ>`eE#h$JD&z;@j>P?#lHH@BR*`&_Pk`f96nE?~yY| zO#S&ZhuY9di30?6lwpTz_Kdd2G@S(4FqHXap))09h(}vQ9*e^VQ3a;-xI98A;DqN9 zA)Q1;oXVS_;^Y1bQu$;lSO!D+@R_FUxA|~5PI6|9NldDX8dwwiEgKgMma}a=vKL?n??@#qenu zAM>7Xu)NmPw|+P##}0zKmCY|qv1xy{E2s-JqSyA%Z~ZIWlf>}G4Wd*>%{i4Sh<{_= z>y&4-B_ip$p|G{`cyT&3!B>@w1MYxe@KPJ~m9VCZaGtYb;v2oOZ%c6s} z94=3k|ApRq%*^qnOU_jsjWhp+Qe3YL;N7ew?k!IBvAh^NVj;-iT zHQIA>&WQq5kSh}{%U}bHDWs#>*Z1?~>20XPRr2BeWOLK+Ka@Yo=zON9KF<}Y&|{^f zc;5OO4Tj#&tNdUa-#+7p-D#aF7ABpa{-JHfmW%=NeHC|tr51z0{EFj`NH@_>?KSD? zZv9BcNX38n*;1CMbj+dX%?o&wQ=8jtMLepW3>MYz#^nWJ`#X zbjLPHINGFP=5455iwZHkg0P>ei0YK6JK%69Cmu*R67z^BKqR_+^sIxB$~NbEKxz8- zZ8+UDv}9RE@fLt#FoRQ9#eYe#NA887W4>918009a+Xm|^s|KP((0kr^w?DCS`c z65AX4^GoyA1MfBBqKl#%p~31S5=YADfJTrUUfz6*WX4ofr-IN} z?l&CAmsX+SxbgTYO&JA)fz*Vb*k=k!>TQ}%-u^QTV{?Jen%E5G!=>`4o9y|>b#pq1 ziXgG*OiXu@`2?XRkX~azU9_21nr#B(C(U|Y(*4+0pkMM!*Eq={OXMig)R2xB0>u>U zs5`?8wbqC(`)`OM5IH?U@?(Dph@9CYXU|%?4Z%2fhiX;7g(w1ET=_(wDjFlLZ=v4>i9nKQc%YNT z8ayaL?Il=h?w~^m8@7rCc;hdmc^&4~;uVB>rZ)8nKt&_F$4_uC^OeYw`W7i!X5y5GE(ioU19a z#)GbB_u=9VwitpFjEvyp`qi9JBc}ZQXUpJkt$Dey>V{#awxju}^a^C+xCwMLg5aEd z&C8(}-l@a0R=qT2*o*-%ndW42I6>x`ggmYH73?&v1QmqZE^dD4DsZ#`n1-t6?=dJ} z1PHqgCbHVwX1~PK-22lwgkKd@S~DtIuZ>E`8sD+n7I0RZ?^n{qX@zs6);`N{ihGtq zmyf0NH2cjbu-S>L*uONSXB47oKnEv_qpwEml71E@!fxfUA}j?ce+H2-K>Z9NmAClg z0CtVL#bP9dzJe1+|G&-p8<)XkbSB=Q=^5qI4II8)B3!hTzj%(*pOys1{9%+ax49CF z6Y?Xa5>z4@CWeOl-pHc&{&oHj(d3?@bnU~39f!0$p7 z!d01#j-oT4V$|NqmEa0N&x^2w%HO0o#vO|;9X@SGDQNdA6FFA?B{AVON$Hf;P# zn}ke0sG(994koQ~tm5W`O#f9rdSW$G{&Gn05EpuK1WtI)v~p2Ufq*_B8X zjvE}lkNs~(Zo<;HQ>soDU2UPd89AN z=PgvP^PKIgaf~^TC|fUGfCBa$#) z+Ww?p)l|#!(fK9=9#|vm{-CC)TR)eZCTkK~WTE8h)=?b$77L*i>+kCDE>5&{TPB73 zj8sP3=NjCF3mYG&pOyUA1x}sTpKqV{Q48<7dN?FDELG0v?MW~Kf2Hyef3uY#nZF$! z=aMII10o9UYSa7mM%+(zfa@$L4C-5Q#qV15bh16{2m1&Mm5Y=y%Ds1P(|0C2M+&UQ z%`^?{BgomIQwyUSMhIdCX81ULJYU}qOd+3$xZ>tmgb|eyRb$X3B?#QJT_4|h-|oR{ zpXzpd@*?G$%d`w%8dWt~Vst>8Z+=~NiyN~Qpw8o7a0#v_$#h@`42C<-D1_em(Z7P; zo|b8=hM85X4odObJpf6VxHPf`y@cuIkL%~5$BI|bVwozhtWWzy@!8Z-l~&B;BAcPw z469Qz@w7{~R!{MIqIx`cl5i<=loPAL_SWbbY|PL)=E(FjngR(T>yUW5uZ^sdp&qDXwQB$Z&5mbqV?cI^8DDMFvULzM z&s1M*QR|?soERgM02aSoTd1#eC|FFNxzXPS7N0-nqrig0&E*V0I$QnhY_h#L!xn|< zVK_mFhB%pwykRVv(A%NnAi5yZWO+Co&>la<6oP~~TL$8v>VZ*h#DDEI2s242S_&`t zji-U0H~WoF-wy^X=fL|MVR`#Qr@eJIwW!jLtQG-e`noHc9>3Iv4sTe*?Rb&LfB^DQ z`tI%>V{Yq7?4g0J=P*N-+=0-c#GNrAiF3a|&zcG8tR>I?>ReC*rCt`hFGoLs=yvw0D(d5aI7axeAWbc#8~fxPQP&`3)T%gE8R6|C>e>P=zN3p zh(U^iz>kw>du{h-f+`BoQ^gX3S5F4Jl^~big5L&70PAcvkr!_N z>KqwFPnR;27iKIzja07uraar^uy|-b7;0`$?MOZ6Rt5_m*`MrhHM8Q&_OY|9(D-RL z2iM7jy>v}M)*M%~vZ*2UbAgs?VF173Z~!cyoCW&Mn82ZkXht3HMD<#{qWeP^t4`bT zW$M+>!Z2hGh*!-dVO%~sz_*Q_U%xC>Rxp;-{D&-BFtB^1&^Wfd#>wTguidxcw$*YI z1(7hupW~$JzpsSw<@A1@Wa5YmIO^9YNi8j7E>bg?r=D>z@PaB9 zdvE)^|Ax$IX>nbO6m={|V&1+O4lTIZ=_;G-U$$_OpT~h7G{YAG%WWdf-MFER8g!R@ z#4^YFWN`xQqzM(yp`AC_X~>*XPN*_Cu59tAcfYu&u6hGS9!cwQU`uSEp+ZzICtZxhA^i8#`bh=HuM?!E`Oq|oPINIW5s=&59&Xk zOl4R=DJS~mn*}j~HsL`0P~s@T@@6sW(3j%q1o>9q)9zul*|{sFS>A#I2IAn(u{qj#I)1t~n z@7TuMbj!I*F&yW+b( zm0clp5P%HAD4~q}#jzxa(e;9ZW?M1zH@&&4dgX{CTL$B|wP@Z;!PBv2RsDKI^k-7J zD{hB;J%`=)RY>bS{$n}6#fn>>8b~X%M1z zU|&Jsi(y{GVjXcSsv#-_wW~oq?Q+671G#>8Re*f>Im531e4$Lg5NK0~ELC3e?CEGp z7mIqYHTL_?^Dpxw1^?QgmOtTp)&~*Rz@-+N0b7T*90ftC4n$H6YgQ`(J%PunMKf)7 zf#bG5FwkzVW{QxE9rEC6~dk3~WvHJ6>)RNk!y8u(@ z;$d^u(ITK0`Mj~2(IGD9O8q>;`|tPAR~Wus5o2H?otk{O^*sw z$GONiF?lm2NmRqcvO7#YAtEvu8l|)CoZS9t;l3VU(w@({9}0mu(O;?72-YJLV=6oh zm6yxEcgHiQwz2;85TmzX(`E+z1aY7G8JP=@zU!Czx);Dc5?$3zJp%S?=bxC%0~%GY zECkYiAqOnhzvPAa;aHCole48y{n2r1wmNh09iXd#efTt}{f+Pylo#pGfBUe&rOK8` zAAlqa35ZooKHIg^UzhTC`1+1lV{jXzpvIh**27J^jLFS4ZFgSQELxmX4zq8D@8kWH zwl3GVtgx;|C60k9<4NGU=ws73v-CdX#8$M|y!cVy$PZhkisJ)UVl- zc^Slxojj8fCf~VnzC(xF1?xETnEPnOPM9hAI$E=jCX9~c4z!t{k7{twG#)xF+j@Iz zAb4EqE~p|sAOj}{V5~0|g0Y4A1V8dz1tv#h0-I7Q^`(;x^pvD+c%P*5!i7j8aXL<$1*Y~ zTt)gcXEwNp>~5fll6J?X*->xS+ecKIW8rXGD_s5sZwrtR5Is23TdH9zm*f8GWYwO! zpZW@lU8OTHvDh2voB5-0G?YcrzuYxEg1Pdf zx-r6lKA??g>qAeY)ae^qTdEDBGYU zKb5_K4U7Ix?XS*kW@cMBJ=%NWdy{pPTWfapw}4Q4?8u6qn#-@A2(p7Fk#-LE%xlZr^mKFvQBuU^jsOww-PlEK1gRg zy3I$v%HuufM_8BG=er@#6APp7ilqk5e~f+)3$Qh?*KU-QXiJclKkYKS!6|8qWuHtl z`dwO78}i)n6Ar}G=71ri^}@Yzs2+G)^6Ug&+|@h7oV*xLz9&NI{q%u4eBK!~UKCyS zDf%!*<$#%)5Y=0VT+5KgZTMLDQ?JONK~n*$kxrzG(L5!m%`B5{`kL|@@* zSiYq4+imuWNw266T2t4Liki}roWyR})J)2kRf3^S zkrPY?${CWoKdrrXr|5}E7MhiT%;Y}NLl`k5)CD`?nfe@sBXb^@njvh~!^Q3<#nQPL z-_^C$bH#z+K#llLzsxqB!|UDFtq`8DVj?^OZ2t>#)X#;{VR7c zv@jowxvd#`Gt+FOJgH=3X=<@}2(3im6cqRh`MY!t(w;L{rXb+_>l6CL)s@EV)3_&I z@=RUQLVcuj*w2B-tUzFm{%q{}^6Z!DioqmO)nWWQp0=IT$&E^=vA>bej8I`5qu45_ zN~X$1ILovd+V@2wm5PkUR{E+!T2S98i6fdg&>n^GaB77};hsW7=m>tCM2EGK>~8*s zZ<21XBA|j$*q(?Z+PtGjWq^?t)wU{6lZUr?cL4!i@E3FJlmO5qaO@i+U#r zR!CC$KFm+lDbMB4o%Mao=6^i&tEeqkQ86Z?qs9=#+Dr7RK0t=o?P?5pSo`5tl8}8N zzhA1M3ARe9905|=@^AUO+_|#Q(V(iqGm&$1Y|m4=y`;6~y5?CV$zG4 zuhENIY5)z|&(P9X^c1&$c$75o@YV;2Nnjp;Y;e@OU8A%)>1p{j**<2nY_f>!!2|7I zTC_rkwrhx6EwHBi{2vcxFdZB4N^y7Md90*P?Ut*-X-xIB?H50b>yxqH%X~=U=i$@^ zqv*}dRFA9#TWyyqj zP&8ny2SJ(n-*Tra9XE5GShv|Na30o54Az+&(7Ox9js0BU?)c)&yAN%BjlR#n8%UP2 z*q#$7u-=jWR?w8~2vgNkmrvFdQ@jxx;U=J|UXY_0ew16a>Kd}%Q9O|EuCT&}loM+D#B-0jU~=@L-(0!H z^V~agd&^(iXl`oGQ|ZVa8Pyfk>Efq&^YQGdKQ|51lwy4!@l>UotJuL)g41{+Ky*qlEhCYr}wM$Lf_}7hhjm zi{cmWFTRFxY9nfkEjz|8b%ZvP*qC3nOIO3o*I?fvQiQI753*Sqpb%kkO%a9P`A;Ea z`((+z41d=*RcE1dDD|T}?^ZmhK(UMefE2ZF)UdXAQCpZ`$7MU&gym)eyh9gvIu=9r z$de**a4Hg7zZD`{yOs>%_h)J6i!!(55BDWnkyzq&>mCbiisAMWI)1srKWSU~ps=Sm z^32I`pA8tycQ9vr?2L0q-u!4(Zg~aOn&u5=rXPN(sgad)q%%2J-8b$|fO)c|Rv6qe zk;Pc$`&%RTk(mA{v#!w{C`y{EInWNLF>098u$f@ za9+s*2n7WVr(C{2Om<4t5>C~e9LK6y#)e6#;ewAhdbG7Oqp@Vy1Y=W2_k}*wKbD0) zEFhKDH&~2OCxnqCuVl&AJEA?p42>ZoMtma_%Q0uNQye?gskT65HML!2X%S$~#prUc zWFf8?bo-O#D@-E?xL~BL6J(#&P!+eZR}qZroeSRef$`d6)mDgGRYNZ;59D{;WO*Rd z>l>5q?$9(G*Wbus-YQ!Rw)@7Pn7zC{GFI>jIK-TsB(iLpw&@Ju+?A>3y?30O#EjHo zqHC6XyUYb;oP%D>!-c6pk$o9k3zM#esit#QZvTvy%g_yIu5~L3(0eqLZKVm0T&(Nj zm&!=B&+OP)!L|{H=U8b^O$+6PIKNxBH8lIQ_Eyp2l9wU2F7}2LgpR`)*3Lbi6(_a6 zj5TI_Aoum-e3toGpRD3!*bj{rgsKi_zxt?z_%zx!LwlAy{Dx?XjXpA-#tFSu^e8I( zIT-4`_zeL9PjHrue}s-c3J&enmbJDePqZZ#dmZY{`8HNgo17|8e{s-vg4$g`*YzX4 zC@n%6I)oUD)FiA;wB|~LX+5F5(6twkY5TNhZY-F{&crdrX>PuPwB%)!-E4zRZtL+F zh&T<(-@-@ej2!QbuPF;qqu}8{HhL5`yEGm+h~q$(sO`fnRNYmOyS$m?zQQ+uusW%yuu=ybd@6==)(Qu(()k5dZhi#Qg{TXyITG9&wG65{*G5ED6ce045S z!scegdP^SuBk<5c49A%kg4s}SC156+67wq7nwgo6g6w}Y)KeGMHGcfkS1X$^?Tja1 z2VAGWryfjX=TDXuM27iXOC&9u9P?@wgEh0+hhp2b{t|gq4m((zgdx|vm4CNZvEH^( zdM_9QSS4KOk(7(Rq%I;K8;D@wHGg2JwR1ZBC8zLC*nw1yGG&+OQ23xgO?P%yYt|a# zI$Adbw6Dh>C{(2)@sAu{@piODOUEu%0}H>ez8x2X!Sx$^W7U(I7w1i6jixj-EI(bD z&*0P?$M zb#p#(gh=8FM{_C^991#Y*)o05FFuCS z=ZZH)8VES1I>uPreY<1vR|1o#<<(%DX5i%ST5G>;zG_={RSR zLHKFzbN3$g-L5>S*m8ATU#5?3Kh!gw#>V;Y2g`3jEO`^*#CqcgTH*#0m)t2(235Ni zt8jFEk+bFb*y{XLnp%J8WGE+KX?qUxKg?W9Nt+o)T4IZzkwgu7&|vD1{C2S=ZrawkuV#HvPI4k)R*6%)!wWoE*whwrskk(M zWak)5e#;+mck#ioI_bi?6OnBkY*eO-8k-#8ap6y%OPL#|+}2D2{63F`316h1btsr} zAw30w>u_*X!6(WncsmCLkz}}5G;=9ZOiVE_$}(p>fGg#nQaTIew$$&Cp0MkwOeqw~ z$LpIa>90c*Op(;C5&7_#;~+R!@#Xgj7|Lljb&3}8TH@#;3{Y?|WDHQ-!RT-D8O}w{ zLzU>S>e6r~a;yh%nI%$9LH|>H^iOUK%H(ALO>#NERXKF(PV1P-5|`G>Ru*zNnu)sE zL@aRAQH0w=tHwz2Liv^k9j{RMk*5(}hbqlR`cPPq-ezUqS}#D~W%b)XM>vYvgS_k* z|3SOw=n6mbYT?|i?C8i?`=qIDZ~Gf&Qm5*U%q3jhH=x7JnQ1fN@WXG6vKp__jLnIx z&_;d{@Q6^3zgBYunY*$HoBNa0{fkaYPR>NTU%ydF(XYvp4>T7^q&}V^B;N2vnG=V{ z9ynVgcOu|Xji#;!!`5PGu0_{@*+csR?)gbNmlWEON#VEUWTsY#$W{z%W6&Rc5+ zaS)5A7>HsbBTf>rtx+M~^A>`lVibu%VK4idNiVt5ZdE#>VpZILEU zkJ}26WH+RrdxwrFWF82G~sp!Pj6@MjP_z zLP_l4+Q26#PR^9xi8JvLW0=epG28T@n1&vy09{TnE#Rmir=fm)sE%)=zx!ow#VKDX z6>bUZSqs|(iq-2T8PqwJ0_+KuQuXFXQ}y~fI@{U>a={;${hC5X`R*i)`XfahZ549_dJ9{dcGB<`XJNBr`ExV#Dd_61IKip?u}VHXjd@|lDx1SQ zb-{7u`1C$`{yT%o^i-NLns#vPTuALYpm|pAq z;!pTQvOkKmJ5+L#;54KQ+&&nOhF^V3u{81 zh-2hSPH{xkP$lwoIHan`6AuAy`7<=0Z`1#+k$^IJ7(scoYH2kd@gqA9kWnryt{!L9 z$su&_bq{r<(({ajEJs1hf#iki%4^9j=A|=k@{D3G&a1sYWXu@-l~YTiVA-&tfr&sj z6jKKt<`<46YT}Xkk1xI5+J4$+io7Ixe>e3?PRSMC%&Rk30OXRT6ts16rc?I?+)hu8 za#o`bL?O@ydQ(J^DZ&2GYxu9Aw4k#D@;YGPD-)xlhJDJ)tU07LNx*SzU>lc?e=TgS z$I@LrHT`(P(ayq9@#}Z$=9g(GjXfPtVW>EEd%Ys2BwHJ!OT6sn%KBnH{(xJBX3R);+lPm_qLu94m?;@nM(=$=$jU+?C>7OUZa4h;`2S0%0erplKgiLU(K{N7{_awm2KdIHAtx6*q)mvJ+2QY*z z&?Qa+rh)-#c3GLSA``VN_^LCM3Ou^_x+36pjL|&6VB$>$sxWa@H1~^GYh>!Bl6*$H zGdF=|QN~X05Uk>#iFogA=}4~rRkb5-AA5uZ_f*c+xVc^UPhG(Yp0~>{1KK`RA_0WG zQ~R7l_a;XS#!K9$rn<=Uq;aplnvp-SapF&aouQyjS&@|+%zpWoJ;EP<%F|YIw71u4 zpvEvsK2NM&*y*fv@P2)7TvTtjV*I&ztH}qZt(r;lffT~@Jk)J&FS0%zw?K6z&vkPr zn#zQ3fDi6u^q;JlG4%0cM$kV$=((#%ak5n{3R{$G6UKr>T^A_ehijdj`bXQYMKOy&ZzDPt_&8C& z{lPP&niCCLrAA|4l;PrN`au7q*+MebyWDc1-JZAFOS9sP+dqTI^QQsuOXmHM5#tU4 z4Y@(oU?#8Z#hs;9T$bkdkgLH72*-2f|6=PcgW77pw(sClT#CE9Q{3GxIF#aEoE8cj zDIVNYoFGAqTWL#ihd{9c#T{CT6}_JP<-VWynR!1YGx@S7bDn$FI@a$v76}!rVOv}^ zOPil@ucSqJnW%MU`)75b>a}ObnSKt$BY%ax4y?MaCxcm%a>f;Jg6FK&J$SVK=wgl0 zb)Oz#ZTRc^d5xSU-|krO7QOlSeDfKRtdIZ0L7YQ?zdrjh4`2Yq6ad@@smj?su*4Fl z`OvwXuN|TS8_VdPQbh7nhFnLG6~vwwE;bfc=_7Z8h93cUj2$Li2rXdRSIg$B$j=3+ z9SfmeD=fm~9Yk=76LKeXCeXP9epwy;xB3XpZ=4!Jld38kJ*%ycx<;|R9v9Hu&3Itx3TOYP={w#%qhkkLbgY{X}h z$kzz7@)!i!@a->^wDu}Ll;$_F%~5VY9UKAQTEq>+r%LHyFC7r}=Kp{`Z2-1=Erlwr z>Q1z>kB8(D-^A83rGMX0Mp75GtlwbDPj33^Zgrh)vWbgv0y@MdMw9|rq7f+; znBjINAw|W77@R-t6fbbmt$?e5_lghfk=an9+pRou+ofm))B!VjEzCrhM{iClnVIbO z;!-m#>RJp3^@_YBzE2s*?irWM`tgoPh_4gy^H5s8l{1d{SDlyY@EBAQc_IFE1NYfs&2xk1f3;OnaGH$wo1AU9k*Ju34MhO|&Q@l;8C) z&5xUy1dCE{Rxz(UAHMk@HgPp`9HnilP0Qev#wBU`%R=k9)TVJB9FWg_{V_26{4Z{e z;lkdVM5tdmpV=N`a04tAka+`E{H%sTNIA_q-(jEK@v0YQOF;UgmyO=b!g|rtGq8wY z-pi98qxJU?`tZ&NG#|P5cg9(~4Um1BlaS|%R9MU{k^{(wpL!qHm0FmeCLlJwjG7dJ zprY|rAb?zpMkLRud@Z>RZLC6MC-&ZOIO9_??ogwv$(@44g(g7&YdO@OB@Km?T3JmB z?h$!aX$TLa{~>f)5~a)YBx@Pj!fea`@>pTk=v5|^2tWQ+vL$f{zt(rEl!AAcC{}-y z1^E=@EMeNbC^{+;Mo5nJdD;M)D4v3#8$PLkmcnqNJ(&?@D`?eU!|4as5B8syIy&FU z5}qSZ>c3?QTmXb*QbCn0A9@Ne>8z$eA81-~4Il7VQ}?YA;bUe8)0W9%kn-{C?Z4$^ z$=gt|9Ckd2aGiAGfv#A3ExmIjngE4Rf<8Q@Z3aQfP0 z9poJ|6zH%XnkApW!Yli_I329<0ZD4zzt)Jr20uS7dCXHsB9RtMvgnX#1KUjZLRkP(=YJGLAvcHN?$BriS+?ne7$ukZ9$t|PO zEiXE9U#On{^+~AyLl4lhD)fSwFps|B%R2p2+xzmd2^Z1|bU{1<#U1KQCRbvNAthP^ zBVm03jb^n?H@t?oWGKAa*)VjYB3~sGG>ljDZ|uy&>3~9Za6{u#0E8vJ>Ga3^odFwA zODy-q2`Wa*R7f-vj;5b+S!b(?M#NM0 ztwD8Vika>_e=ARA%O^F#=&`%d#x~z?<*-|)rZaoN%kz(5w_c#0su#YlDp!!XtXHY9 zxy^V(2WYLs7TLC@c?i`EYc>r-pyI(i{@xjpZHZB1q0|e2u#uUh`&_`zmdg=!7Ks)w zGo~`r$^;?WgNLMv?jM%Q9C~-T?}rW|-`vji0kB=O!L+laeS!ebWGxnH?l*L);X3! zE-|HP<>6SsylHx{NJbN#k%+6aps%(UI=|MX=-kJMjTANRMqhJGU+@eFVaIi7ii(!% zt0|59bq#Bw5{W1t)aok|K(>s}xYV~$)ukQG(AYG@#K^ZqPtG*_(~sBTJgkvDJ;@oF z#0)$VX+fak3gz`}v3duT7sdIhxSxymnnOg&1QdbSRaP`cWP5HBSaa*yb)-dc@}#Hv zR_g@;F0zxTA2eTX%E~5tXSY&u|LK%fb&bG{H9}T)&p$_)nTEbV%ZV?Nt$kj=kT%y; zig%V#KiHC$O`s+ft*^%YP+!@dFhZ>rjy1=bHf_EsW?j^A;TS%)s@eTKiZf|UtxB`q z{D6!sBYmR=mNyw*h=Gu`5sHBk6=Mm8Z7T?A59FdXqT=No9KvA7{1!H=5jp?=7?zMy z5_W0Lp^v+d7mx$K&p;XZ2Xt&2$OW$zslrbvqBl!fOF?~l)+-MDavVDsF3yhJxR18B zoidm$R>qyL9XjVzuD8{Yf#Xh4+PUn?=hYY=Ot8g7-ISL=olY97zdE8}sw!Zi_!ngz zJ}3?_|ML;r8dWa{;I$^t9q4QBXY{@~Kr7D_op{!c+ zS5Z8UXZ~a2M3A|V%vZ1=Q6_VWN zOi0*D+s8PLyV*`%3rgs^CHC{3(OmWlBUv-}C;P$I3t?4kZgqjNDlnH6xEl$n=U zByF1W5mQ9R!Gb*30}l>ExKFqq2aN0T3<$FNN58Hf5Jaf?IHG;|a?xO++86DYQu`{m zh-98`Rkj7-`)Zta5Tqerb*xnES8gicr~Q)1#?APxRI4zTta-zW(DdUoZc7`Kxjjpo zroXwGor*iFx&8<-HNIQ>k{C5dr?UpD03Vuwr^_#)zYQOCnR}Pc&X|&1{3b$L0!49e zh~vm2?EDBg(S+|!QrKO$>=41S3P@jK5Pd8QU{COKDpS{!JYs&WVya*lC1r;M6xLlxdOrvz{IAOAXl@TGBy;x)atRYQ zKg0vlt5J?5U}!ODWVpz&304&=uCkb2vQl)SN^=PM|A;am2N?r2!)C4GPrblUMi}Oz z;pG7GH`E!Xj6vE12dG#&P0hy<(Y!ei6TiET_YOXDZZ2b)jakFH^2#gCg=E*VxDvO+ znnw^>w!mje2X*VKG0lZGfBU(30jWn!cZcW6wI(qInQJuNjDIeB2C%Y=6p*E&y0a5_ z9Tu)GzxA%}d`hZB?aASRd$Y^Wc7I~uJ3`K#&}RIy-l8B^DSedZmoY~vmrW^{a)dZx zP$`%v{lWrTIf?OkS1~;*JX^Ro1?rRheNy5<=8xiQU!1RLe~de5&2q2K01JuFajIbT z!a*MMq0aaDuqgej^o$n{^&tT@{;Ha^ZCuCpRq2eZUhLguQ^C3sF+Y-Fp>tl|2|Erl z%?uuRqo9AWk9>`^Exh#Qr z)##h^!^Emil>72y9fh}sfYDda;AiN+a}H-7dANEpp*osX8L!)DH}F8Rm>$fxg)qaR z@YlAjR1F(-hMkA&&>-?U%TzArPoCt%jPzGEvuk)i+5X%3#RGd~BmFCrS0ZitxNc^g^|Wd$214EZB3E== z6@-7)uR>Lkw9Z0aqf_>qr`BXy*vml@3OTlj%}LnPqx`p=3IWGH=fzdK9~MDAdL?&@f5Wb7!sVEc0O*dPnnbw;sc4Zbs2*YUEk7Z!x?^>CYG4`t6AR@93xsSOFpKp>3eT`gstbpsyGu^^kj7%C4tp1ev-yk z!$jS=W9Dn0UQI3moGcv1W+G4qD{Po!}}{TJh=NWWb3=;}F%6-_i(1D^ZY~=Ep0T zq0q4g&hs<^GQ2<}RKsr(cBe4Oq>=9WpG1OxJ8e)S1kY#>JEDJKukLCvRQT#j8O=G& zR`!09nQb9U;>I!tieI`PL$b1`E07xfU~(^%@XbSY^TNphT>gm!?@n;!37jD-u`)jQ zhi$={(rZ_LGc8TF1%)g2hMFdxQE--nJ13iEXv3(>7Q}F$jYdSGOv4vQnT=>pV8%l$b99D=^^i zop;&qC?^L4D%oRyyQR%6#?WMxRlrQFl&R5KXjFC6%RI~3^B_AAe}gUeN=aU31z{<} zG1>t$-&h`ih?X$_b5wP#zaKoq4fk@@Elww%jB3*pAd)}0rCb$Ir);nLZ+{=yJpDiX2ecq5wNu`pF5uY5fr%~nR6 zbF@`otCfQZjRdvfT}^4wVcH9p-WS#8o`yYz)fK5g$+3AaKFh~T-Z;)d{We@(>ZRt~ z7J>Et)Np*)TFqzK&q=PI-}j|G*|&l-S1as&nJF*&hmRzG=&uZXw#pSfRSJ^=gmKW+ z!v6?u#&G#fJFCFgEDC#bD!i&y@C4fKhgON7#NL-}T}e7&5w|emPin+t??uq9L{PsZ zi?bI7wj~`R6%cGj{+$q7A6YJ(YgRp1BF!6JAu2?QE(Sp>(iX>wX*GY_QKC`%ir04_ znBLW)sqo!5%_Oc;yjmU10r_|CX%Rk(wIXamhZ^>g>k(|q2&iMTkB73**Si_C7^aj5 zR}_OyxNs60R6&CabgnRnRGG(v-f3#+Am{)t5ChWVATisvm{r>p<<6PCfZA$TA7%8Yb}#!#{&c7MFfPe zL-uOH9F8I8o+4SVja6r+=C9mRGWe*_{W|&B3BAiN>ewtgIScdN@rJcjw`n`z9<(BC zteQr1)+H&9N*H#bE4+Tmbq`CU&M&af8M<32=kHwP7s_JPZ)$8A4WaVR4%DGg>mWJ6Q1IpP@;uIb@y=S`f zx;{4;P=*>=5+yBm$9HuK6ldX~=;0N+jMFf;Xw{qfy;ZACUNzRqXZHL~wW_S)mMlu) z_kxkoc*%%v;=X@Zk%ito1t@{xO?I>`)4%*hugfCtYy**eX*y`83~;5`mbI%y9x9{6 z{o=f?4vnP!O0iZH+nm|My<(j+18RQgQ(Kqyz`2zAea96-GTjEl9ftUP4Je~%8*3=r zwdc&L6&5^3bi4Hwr10}k(91**YZ)bIKHKdcYP?BH39H30otiidU|@zWu>?msLYcwY z(P(GfyUtGI4ncS8z_4M9RPqN_k;wcF8OIwQbN9mJS7G_FX5_(q13G9rrnHcA@g0e$ zR%V7NUATtDE_qoxeupITR%k>FAoleAlZhl+w!ZnG7da z3?=Vtg-=3)j1wlxvD#jY5iGb;!!EcIjp8wwTtmlI2Am(^IfGF#G^R`m3EqN|@ipmlIZfL9^W1=duyjf9o(L`Q?toM>`c!40adNe-Ee?WC`Qqf^8oPVixGBY5| ze`$69sYFmRm1)mKjjA1AMd7n&W#?^kU`^6Z$=xAzrS?bdEk!0gLsQQix!XAOOb@~^ zaBDtEc3&~4Y`qcL(HfCXDgRTqZDhC%)ye`m&Y2wNEzR>O^XC5n;W<_V)ir@G%`@?v zSx$kCjmpC8Yd+H)xV1CBLm|cq-;KnR(`=;m=5)+6Ze8jIgM5A z+X;5K1J|tN4ab}<6YtkFG_Qf*I>WIV0S7OfEL|>8uBTrjD&DEfQkC z1IU?>#x$}#?zX$5^;dJOR#QY$)9IPYr{)P{(b0&mBhP?MC$~!X%3yedyWej5$zrM~ zzw3~1-?7cPOOhcW2Qs|^2HE^?qm+FV8UPV9Se-r|f8A!*DPx4j#)7|#9(~~leGgo( zr9XbYGm+YbEa14T@*vd{go;3)K?~16Eq{wG)qk`2@o-96JoaqTESZpCxf~ zz}W4AWxmg3cFuvL13Q>QZ>x-)exl}YK<`0HbH3LZi6*l}8P*=M_OPUF4{DZ<-drOz zZ?Q_2X_bz{pplS!PhHC&$5LxVfRNO+>hHL7c>ZSM<8_Wu`rkXFrFBxswQz)7R0ibvI|)BJ(!LH;0-0Osm9L8!Y=@15?OSy; z1a?w3#OCcC=^S3?-WqH2M|riCH!Yj5{jjx)c2xi$(+isYt_OG1dufabtn*^*Md8HX zx{(MoEkqzSh=3Uk94V*+TQkF_)ev0t;iFvKY8bV?;lNkuX#p^&;pERkZAX)LQ-Y|kbta-bq1{azbMY`gDP#(VjOCtKZ)pbY4VDkKWYD77|Ykn2b zpGI2TIw1=h{%gu$61n(TZrsdm{nzH{s%?f9z)MPFiC*IbN@nqi< z$wzauP_s{|^zY|s-EMmR0kKg3QGg-mJx|~mbQGq}Hp$mH7r{D1 zK;DzfpZc;X_w;#==!q8X^qGgcFnsTdFsjUi0+i%q$%d%t-C(gzKv?j5ADeR+Iaf`Z zPA^%J-Sjy@+jp&CnG;=lv&w<4hOB8h4L1-Jn*&mlQev7=&ZXK6?u!3S3+4jK=(vK& zri$0e{F&cUQLnNz;eJg&aPw!rrCv3fCsEnwD00I~m}C?=E9d}i1dCeZGUIIvmesOU9B#rR{>2Z3HCgJJHchG(OFLM~1Z;dC@*E2=qNR2mS|*S^Rt0Aq zwADCPYQM*IRBVe?*;FuT4>QG4V1>ADqBlH zyd)8;f2UjLO4!<`O;T{*$}0e53?25cZNyt5Ckf zpZrEG5f14B<57moh9b_rbSP`?^(__|mK}Rk(&8@M*gQDHSOu z*LN{<8j#_E1UXr0-&IC%YR=D5{*^G2btV2#J=%30{k4=Vk;Y#KohQ)_smgql57i|Z zujz^tQ(?}3nKvV}ktU>oT0o6%t)%t6%zQ%^B+VW{pR5tYN;Uv+ZXoQEdL zA`>)l>T?64(nP>&80gRbEzP(7zrrReE=a*|f5|{D*1N58#l})sv?(T==wtdD8N!9; zT0P+;&!cbl+{RFdZEC3&xy2_D*;=^fd$xQlIID{o*~-qYIJ}Zg*ULYtu&IjBf(E!H zeCl=5S6-++4-uG%MPL>okbbEiMXblV-}1!JId~SL8J{e{G?Xg*Bq{q^e*YF+X}{&D zPopf-&w=+oaWT-@?$RkqQmL@2^pPi{j?fs(f{&`C&M;cQ&|GzS_0k1HVmTL_qjA%? zCCk%5+O-WX+c+6@pJu<8w4R^Hm@Y)GKGm-@-tH;konmdr`6p5~9UyOvka!8`Y}nB?Vf+&k*o zg7cH9pWlpstXpVS*fML7<*51=L@$yX1kY>_8E3K9s7#%+M?gKEC5f-0(Hj&X`8Z;g z>~;bCmn&|36CPA6>t|eB0HbjG+k-GT7tMSnbmpw2V@~YNbARs-_u01=R!7`7GW%R} zK|1ptQD;QYrIAx-^fAh(chqhEI1;@xa>e8$uTRk_Fgo|oB2T2lLS{YA_=7&<6UbZt zK0buA-o2|hwfZ&iaC&zidJXq&`mWU>p0PUq`|;OxczLr!Gu3C)QD7s4T3gxu<6cUf z`!bPC*ka==&w|ao}57uvn-*vEh_)oP)sok7?SXRu7#^Y|;@@T1e|v12^|WDQq5z~_3psy{B)0k(loyTA30E-E_uH$> zEyb*s84u{7b4hoQ*Q>h3tgNhAn-sj$oNn%-ZvjAIvI|1(_Tp-0(bJT7Mzyej)jHlU zZwlJiiUL^)**s-g#w{%z=WNv^!*7WmSH}p#{sBFLn}gNKwq2YZRPL=w5tZ%- zHGs%YhI6xnEB70*Z#VOI*eff9>aIWhil2HVMoUd9E9=J7w|xJEZGI13RB^Yy;GXeu zuy`}*SvX}{r^X_AtoV4iS`v}E-kQ^{7bb|^4HE-KM65jRqMcX1Ip3bRS{#@U%+ zS5aqfpvfP9wI+}I!+}ZY&*NLs2#s*JK3PB{aj&*T>UYf*`6Lx)-G8@gZFpr1xvx#`Tn}Dg92|U zF1`4~#JVA$M_Is5vfW4{fYvfk`E!%~6Q$TWTRL9x0>9dpyEabL|4Yx6h zB@2Y-)hpmN%S&)e_uAv@WM>xiRMib!_9}tJ2bOTk9dgP zvY)}XL^ke3s*F(UW;ipOZCz*w0tq-3i`-HpN+tQtAN~Q2Y+kWV+~7Qm)tB~JdDGXR z=lG%N7b3|g$-|1o4azrF&S;(mWBH}kpZe4*<&(A6Pn-x;#U&R#COl}C4ZG~BV(!t~ zo)mRq6(3rT$)t?z_HWrT^Bb@4dWhL*t7nWMM*|S#)5`q=nyUG5V9Nd6-2*;O?z+>D zM=tYy+yN@3wO8X)(x|-BS#(!)DQc!1!=jytgHEKuQc4yHyL4JQGgWvVPSYCwW%0qo z+@yUU!xIoNC*=Bg@w4>AqnWg8*Cbk{7GkF4!kPy8ic7;jXiN)=4JJSh(Q=~^+Qj~CEJ(S){dLpR?8lt-{)z#fuzit0Eb@zJ}??*VPq_@54I6ognk@ge}CtEa5|-WL-ERPA-N zJdJC1*mu-7OY_UzqWv};rv4RjeRnO&8InG7MC$72=;fB zJu-i;`K&Tl!NM(~%Se!uXu?1!A1SxJerkKln#mhksy?<95tWR63lpmLng5!73y?+R ztZvLO_Y=6km!%Mmm3CsJT8~VzRM0APi}VvwNWce?MRYjbz;U2tBrJH*n#sgUFd;D^ zRn5%rY5zN(GeA)wUpI8$81a2p-1|89>%{%_m}RQeoS&OA*~Gh#$b1#CrM#89Br-TR zaz+7Yk?PvuBK2Mu7GFRnr-(7*O|!X%;>%xXE1#BizqPpDz~_>!xgkBz-qz(ge@P*F zcj&Z&WD0R3Fy(qZEVH}3b55X?@@|w`R&0Nfdom_vB4G|0f--((AmQGYvXu67d05y6@5Jy0i-I#_D!O3AQJH+)$qTbn5b zrW}$YUly_&ESOVqLdHR9B&vZKNk^$_)V#7UelBz*HUq-;kF%4uL!Jp;&UH((Rpotj zXRtKAT_$G}``$2~qH;ZrqspC9_GIZ~^22%=iKCN*x!?YC-cjC0-k7S~?S+`F%t0gTX}sdtjD>Yo;~7 z&Y8e5o~?|0@q0MC9uI}gr@+Qts)>_M_56At;=etWLqo1OpbXCPZy@bCBa9Jc1f3ii zVR~=bbE0o5YK5T~>yxJV>` zVqQls=M!l|pJy&OecN3(qOn)(ISSjmC7MKn-)4jhiUa1*=skal&Wv0`K>_ZXl}y7( zA!6zhFJmbj`L>uz{JPaD!iy)2prWD_MPZbrEWu%s5JmA-Q#E9*<^pXllEtbWM{C&Q zV#?}*EMuyP?F^WZUs~?x-%sM=Ao)9FSm*z$djAslh-V$u)D6b^(doA$bgKef_$p36 z*bg~o5X?;Jk6*r8Y1z#Rr%Q=5D%9WNkvo2fKeO*m%eQZi@%D{4mSiYK6NSO9w2cnO zpf^q&;|EUcxphe`0rqi|Q^6EiSPNaf*|y%^RqvY2&GeVomg)hQQrmTHuEHF_=8w+D znMJ;u23bg-`0!i>Sy^Lg2VopL+5*ag^B0+hdpFinxkL0tRCQmM1>|ss1S~ORGE-sln znnPvzJ&w=3U9thT+{f%yi3hl!-_Rfa3MbQ=Dt$-jOW)y|Np{%tk?=oeOcYI6P1l33 zFn>9QT)hSJOqVf!g24Rxm`^yDaYM?38I-N6W($&S{F(Lfn*mQN)fdDgKP)q&va-Jg zvQZ1~%Ia;QcSdfeInf0{4>F8QU7~S1H8s6cJXBgzhRuQQ)^4f{l>x^~r(aLuZR2XV zBEIRz+dNvx`yM+E7-x2y+Q_ zcs+j;L%CwX*eA@_os&&{XI0TADb`3v`?SmX)Ysn^&6k(JFs`xmL6zUuf;OP0Cao)* zx4PpQF(AP!(a>4X?`HxvY9il>!lr7upr<&tR5vcF>jFxLIgd|Ba|BfuaRzsc~GTIx&F= z1vHY@bwv%Ee)n9h(Z|a<^OOD~^lk&Xrb2EbhTUU=WEG3W6Y4hb~M7iGt#V| z0^%f0Y>&HnD!~J3Bg$MOEK&IGZIW!2alqy;67`T;k9XsAGaEu1n#lCU>-wz5uDylQ z@wy->BLylM-15Br*KM4Ed}=h$?46=0Nc0T6SJhP+QZ3_H*HSu-vLz(PgPS@?w0WaE zA}ARA1pPZ!@1V6WP5s3)TD8eWh~o`3fdfuEr!~6%{T+HARmJAn1D8CnzL6M|sW*m- zjiU9Py)BBUa7i-k&dwiDB~HDcpBRlfp=?Z&Ftk-CPE<&Av;tK|)ub+-^NKycTlYSS zp#v#I*tf-*Fd;JKB<)2D0_ILhwG)O?hSZl+Eq|SkUXPzL1$I9qwK=0x1pBP0?rE*P z0n_HlMHppeftP^_DZlDd5{S64?JD0M>`U;Y?iWLbt}8KIetoEm$}zX$bwK#*FApdy z8;-MQ;a+1DUu;{!2t0FbsdK>xrmEXaxeDgO+N^j6+xT!9xRuOl)8Wj~lDt!`1A z#4qgokKA`?siVI+YHiuh1@vHf7%E&Q$hw9jB^*w zb`ekW<_dF$_k#%cO|u~`$h{_F&HVn5n4>V=03#rIZFGshf?H7TB0M{gZ6;@=Vp`l2~6#>!^IgsMa3jzehlAq;@|CQN3@vJSx9^3KSv_SV8`S z)T#}QuXm?9eQ#LlkVs4nNn$#g$5_%QJu?-o{=3_jc_$hwakY(yk|y*pk;JKIIhKWa z388?y^{je;hr=Whf{Lt3Rf-JCnojt;JBky1W$D|O-{JXzxg9^a9vgCFX(NU3e=tGRFz4v(k~JTPJI`nt2`R%sCtj4i}$|BE&e+~?igY3?1c=h)&S~-$}$BcD*?3A zzd@n{VvD=vj`+qa5gbDbFyRT}8_`+5oOwGiayTvNu0`AHhQjVY$do39EDN(xL^&|i zp3l!P4OgJ@T6`p&1WnSOE23!F&k_BPjre~hQ3dyU?nxm8qw7dME1#1= z)8xA0_b<8HT|84=;w?+mmrT-?q!b?U0|@$m*BWZB4uPH6##(KX*rFg!pwPK)tNfLF zN_x&B_2xtbhIE4?wlt}^Y4-Q@gAK;4HO;UrPjjnh(g3H|B1o;oclAcB6`Y+y-Ey7j zAErgmq*63~l1!sA8&8`&Z(Pt!#iu>l*Xo7CxU+=dd${{?6MAy*>}?9bxIze z+WHA1ezGn+rB{Q)a)~*-K0d7@VssxoVhXAr+BlTkQ!Hn-1-X&!i>rU9WcR zCsF<6n~rF>G2@ah`{-F9BWYwPOc*x2>JMvywP!`{bPfXoLw4z*AzyFCb z2{3A5_IrLt{-wF< zXYfq2DSe~A9t~lV%n>?$+&o<<`qo`^C%jvK+IE!FktOu+EDm);MSgzi9ED1ah~xo+ z@_LX|1ST%hqG1Lv@nicbV}2;{UKI^HZt6Rrk^bIy z(gOWWzk%>r09iyA1qe(u>aU|Df^bk8T19Xch9FS->lulM)Lg0P&}a*&LG4wEN~}km zMDc@GiJ0zR?`No0gx&4`r8)i2aQweB^8bDyGuH(P4OJuhEI$8e_)yHR$ye8>!r6r} zZESsb0qB1ylf`0iQqH)}YP+TO3S+_=ZSG3DuQt3}NO@f*2`0aWX)B^!x8U~%O56xQ~+XR+vRxPa61HG3rSkl76 zl3iL}cod1dR3BKLwzs_Q7HJM-_!M8H-g!k{6D+fmwaSoQ?UtW)*80P$okWT(FCa&x zZFq~zyn;PGXU;I*Gs)0`vLAy1^{+QJ}ed(h$W`Z~aK1R-5Gbvj>ssAS64lL;6T zwStWPwUGon#0X7zV|U8kqK5m$#8QbgJwCH8&e9SAtKCMJeqJ|)#&WDZ3I$TBY7B;N6F z3HGYNP^5$y3vUHTCKv|#6vaseAiKs`?nKbXxI}cF%1C@!SE^F`2m5s19-XxRpL&n_ zgxD{{s1wn7ggo$sXcChkk*TCH;e0YROl{Jy6@eb9*&X&t*1fla%Op(|?mOy|VW}e#km@eW}JPh4hlIs7OHbZ8*Y<2q zd3N6#-T8p=z;H&0P>$Kh^>xwB44SIGH&*d`lKWUq@>Av6FZ|sk)rwm}Dq4=aT_^4XMs5=2hR&Q9^ zA?oO_h{CHD*WcHFtm5E!D7=WwbK%_GtO@p{ejhm#-PqS0`Wf01V0 z3%VYHAu?Q@);g&d!&qrjhLiSX7I>-sK4E`hCzD%uLOEh7m}e4+E72`o?SK z)1P6Il(Vmd3z6j{7emx+aF$c{Ai7eUpN(3oel0vtr1M3u2#R6Wt6c{r7q@tGAE8Z+ z9@WP;lpIPa81fej`&fTaBdIm{fS;&)%cQc~nLZ5G5pF_d$)j?w;G!zNDSob0o&hjs z$y-YlGVGF4qU2$8TAwg@G~duR8Htt#w=Sd5Ye%-R#AhnRRkSmp4O~~1AZYZYw3S<_ zqwiC*!p{JN&Y&+2o$(;r?V!otGob!VAO4VWSnQwr^(O%z2y(bQ25Kq14+4?hK2 zcGRdePYSEavKvuL&1YGpL=w^+f|AxFV!+cAG}Mdn55GUdSOD4k(y_oY|?98P0gx8d^Gexc4oeniM2 zVS&YUd&Q9K@OEylbaqs)y=iqW2^<+kC8zL6Bgs(cMm>7=idQCQC3l#G@v1(>k3D)) z{eQ(OK4$a#GD%MDOeL8QmO0VixVeMjC0{)iMmh*KiKVHAxE4$QG`?Xl_ftz{a z_q~5M1iDZp#z+jfchPOVKJW;4`A$n(k~85nosxiVVeY?N0UXE=6^@wXn%b}ZEw=8O zzB7o_cLmHC8ZG(9b`uZ$Z~P~vy`gWN0W*7`P&E2O(`$u~ap3RF&B&Rn+UQz}6$)l zx z4mJ;-t-;CU1;bdYfsN)K&yPZ7n=E+tcI(T}Ya*w^#+t3|_>O^hj)E&c;`wG+J$@{% z-UAC>*&bAju(tkCV^yM}c~BFrr07gOYhld@t=SG4D7pe<@vo~nQmK)wnH5XW#=<+S zKtgaC%Y0LUVW@#I2;xLKO#?s=2B`2p7-k(7Cs*32>%SWzVLh)f?~(d zUbm`OYqGXaeGw?80L!+VS^y@xa*hGBA3E3?B>5i>>sN3xHct2c4^wXy73KTB@eZv> zcS?6C-7PV6HzFxRH%CY%Dg6aKz2yX~a2x$!^HlM?9FE|9U72{d zSjT}%FN*b!_DgvPt?``Z|hmj#Ss3z?66SxRuAdiA$hpRLDiO)*Msk#4>k2 zl@X6?6VJ}MVH425qQ}Rg>>|)T4xjt53I#tA(e|)cSxas~*C?sxrhfw#^`xPAi5DdC zd2H={DLURC#tiRW{%~kM4|SXYX?~`~hw{q}0DhyD_m2iO)t2i&$5xa6Zd4;BgLj!Q z%8uIvA1~L8IHT468H>!+!S7d1&bRP@=R=FmQBE2SD{lWF0U4L)cXpN}vhPcheN+mo z+l;L~KO>B;GqdiVI0-1WPsxy*qK!`4C#<`8nM@;{s5F-Zn@dazu&1;j$4sxwWeiyv z0A5O(D7yd7W<~nOGm+{DmO0`QPEjuO8+Hi7Gab75t%!Fbwm2WpEPa%?nBl4q3Lf;Z z$kuF*!8P?7ml?0ugP-u*NdHoGWG{|9By3at2a#S&#>h{&iT?-rn*Zl$R$`?%1lX|o zHCO7>tUM&~SKzA3DRr&I>4I;$zBkl@3@ButG&(i4GA3i-CH@B)NPz{5C+|KwL?!)k zSEi5UUd$PBulk)mIirgA=pV!}9Ay(I)v9ldy+*G6W8Ch#LG5#19$HG4X#ma28tv@d z1SQ|viC9O4UpuP#AEal9aH1wn;%zq>qJ6eUDEHxRe=N==%(fznZfSU|&!(|H8*r&k zSJgUd1SENTGQ$Q(ldcs;j#RthAVgq)?BIt=g&2c}KqpV#4>wG&Ai%5Z?}sl&lVo%w%3E*iw$VE&^~vN03kk;z)?f8< zo_#j{yeFSbPpj^xa^XVqPIW3tF6~x?#Gi|&s6~}dpi#F}4P|5K-#Gn5G*k;RLFp`g zSRLM|j6o&)qdHo1vqAB3{KIVJqtteYSyYv<1~1$`*;%tv*soG>$TvJKpcJqrxPly1 zV$`C6k8F)OByAQwpcG%qc*-^%uUYdy|Kb1f_`=OWXN&)`4@O+bBfLki9?2+FV^cJI znS_tY zA+}8P)JBpQRrVA5WU7YoT!eLc#J=*RXQo648^hFf^czr6^R>c})`pjZ$SrP5HFA4y z?7eUv2ckrEF4J&JEmql(UUI?!s?DoWbFd8R9#v=;d){W46$J^gwB&s@G*9iT?Tv!W#Y1KerocuMdm0OXBM4-N(XCLRT9? z`En8*Z#sCl0a%vJm}`bi^L&e!5ly#c{nqa*RcYp)0_rsRxWeXd*Vjk`_$-@xWA=@T zPo41^8jCcYA2L(ifg-=tg;u6mLs07P1&mJY!%|C5oT2;dx&>@QT37Xc<4cuHe~eSb zbX{UDf6Omw8G-;SDYenJB5$AhP)t9%Dj=h?PzkFL0gM%U+5gV8u`oC$GMvM)d}Qwx z+63CtOBf>xzaCWC3(q*M=h)UN?d*`#!%PEMqg0Cn2EHCo%PN>IrVe^VKlP37Y?n2} zqPJF$oM7{{%MpL_4LZzZI(j)H=!}tt$-nKVEu%v=Z{MavlJ|Lw?^M#D*=x2CePa*N zPUPM70HjD6Rcejf5Tzm<9Wa^}r}d%k8XjdL!z0B;SbaXCZ(a@7-Be8zJHPG~jGUx( zyRKVwu}PO2X>8$6dlEnNi z8ygL&q6Q1I9_h zx+5+Le~z5{f~8`rxpEBAX|C(^@xP{Zhjs@ld2_zeI(OLXVFFRgD`wQ4G}>9GUN#U0 z;Iv6Do6_z;0l$wT{myufS4~^(N1}{l z?Y}>kQz%dK6r$0P#TADj?ct)fl4eRwVG8lb&Sm+S2 z|Juy^)6v3Wh=iS&56O$>HLSa;q7v#G$hFLP&Ey=hc0>DCg~+!_4J!&x-Z(_LJb9kI z1ja>h#GNCMJ#Va%bv$GAOh|69$IyUU1WT7G*}p|AmLO>7b!n~EYUk`$pPg1M->Q!V zii9e#1kZrD-Vi!}>C5z5iWBK>Fmxmvb?bPtbwQPHRbiR8(r(Z97QfQfX zv)TkU6r=RI%CR^$MK`0@oFM9SL6bSAK;~UH>pcN*SU+!(cW>^YmR8Ws7|5Ik{BXZbv~AOQ+~zT>K1;D#_!zP~J(nez=H15nOsrbvM9Mxf6iPbIKV(9a zjBI8q@gb;>694^MZz?MNT8KYHIjUocakN`{H+r2E8ko17yBv`BbCO5`Pl)K=?q4aHr*{6FUTk3&Bq(chLovD+d1qi+nTMkV@Y{u2;IGFjAf0S&Gyrm0m99fMD;;6B}<%0^dD zh*}!(UL#^NsYza3sx_BxOnE}iT||YOf(SBq)-}}TwbVk(y#?)Nh(r6oi7{tLQdOj2 zuHwOH06#Lc--bD=9OkbS0%0D2`>UQL$*0Bjp$ccp1N+zs?5W80O*NzlT=qi11ds|9 zBea9JoyR**oswq{IJ}w&#H5QdLr^g7MqmxC=wmTuJ)Raw`><7tNruMPJxBwo3HaMn zheib+NOmgrIt*6#@-`t3k88y=;+xXPWyhfOnnzO}6&o7>4ibFB-+YrF@D)a5PT_)_ zK)mR5F{EZOC&J7jZV=Os&=y<(b6Vb8Na26xqyIx7t6~19EXBr2hhrMKNsh0y3A8d>-{t+P`!u##gUp26g>0P@ujc%_65lupQ*SB1RgU8mECT8b;y|BLLjZ-l4s) zRh?}|Hf^HLhps`-%Oem zQ-4|Dvv(SjhcYQeTK=>WFsJ)&vfSNTI?Z>oVri{b{?qQ!0mJ1S+JVJG*;4Z6Y-J(y z-fXIMjtql&oL)SD#(QEk$geO8yj9QNR6m-JOgiow%b2uoiN$%})2ZPXux7s=#S%== z^|ZQ>A)Op1QZ>Bd0Sh5$CS(3 zEb~pYkTSmys2^#Vb4uW_aFKY44nKVxvlb|uUoO3%rZtl9<~yx&?8TelLFu$yNLcf0 z`320v2kuwEZjHZQa=kFku?zXrpp2PRxc*dH%2x8R+(mr@b6{R_>A(li%v029RNiz? z>=RWkR!{fa!}>Y;2@|SQs z7_>g~29rOSv-U6)cmLdJ{Y{ve%5h=o?fxQXXSeLhvzoY97zrB;uedG)V@5v2<@wNm z%KSTTaNuO34DRW<4=7zV)OCHJ#{Dk6BR2)#7fHQMCS2}DvGx*Bu#C0 zwta~ct3dZ&*i<0dqO!|lq?&_Z&QuDOzeH`oi7_}>-}kG;{O#}NCk0yxNuOv83r9i8 zQmuia&i_o023jboswlOLjYLYv%58++lDq{yioH~r3HCmPbX@!qLXrV>6-@Ne@8c*x%Bau|4uGOl>l0$@c*U9AnOed zNe?>%h2Ml{^6>>o47SuN2u_qdZX6yy#O2d^1$HFWZ_NL_s9>H9*1P|!bg{r@GSSP4 zSu-8((EViigV(TTQT9aSVTLM(Y#n(_xw*N;lYG5I4Jlv#up2yq_6UtQAlSlG>417%C`=)Kb3LGp~ucYLRcscy4rJ#CV&{UhJZ zMN;$DqQ50(h(@dyP+?cYhA9;*yjxUaGi&(zC{8GEz0eJbXLJmV9(61TH5m9UrhEwH z(J#3dJeY?r+(rO0k8Y7xRb_<|$M;7Ef1s6{C+6A6qDuAJ^b8eGxX`j(cwNke3+<-2 zk0{LiP0-S$YF8}B&&oVon8FU)3>KGjQw&YA7LOVEZpQrfpl0XN$y~#EG7fD)=iOD~ z@yw4_$&*hnH-p7y_Z$fWy>BIxdNm67J{+tV7cR{+*7^a(@##%xZe=`ljCfwfjbUw^ z6FT|_=Go+B*=$okKTM96*CJ8O>0fn-^}Ty$R~N4Cdy{2fJ2*TZ5AiN<$!dI9XhOJi zi#&a68xgUQx2PC#yHbpULab}hg(SD?k6iNb0IlmPKgYDKDhz&xiNvV+xX&QGlPKW( z8Jh`lzg2)tkhhDQA$osRSEHq{DOhjhW9+2i7G_~OD|!o)DlQCw4)rBPPdRmF+i=ha5q>kMXW);f$`C3{gIVTM#N{8b z0IX5JjC=%~VQcT(?Oq{bdZ%(4)izQGWcS*&7B+$^v=@eN`*<&hwk|oqO(dgnoPD}! zTG96$&H0g*#H2u=g*Rw2^ruczr=knBY+%b}n=d`a1||9jA$iW+3`0(nc5{QS8)4TN zY>5~8=&*l~#aULzb}aJk3j;J9bqE63gpOB^81ypq*DF$~J;_wF7o@wYkI(0*a&pw( zK8b-S%aaajJ6Vr1)x&oTH z@v!#y>b@c32>l0dkf_6Fc{UEXc8dKGdM5S`{;!>bRC3uGTP9s-1nZbz(3(D78SN+F zUKWl~FC1rgJeoa`1hNplPqIT?S@P?qos_`c%NOn{AxmjOolSe|->azktFMnx&bM7X{iqy4 zX95kX7tV^LANPM;9h<2JkiHq=&vIC_oc`X?>*o_7b`$ea^iZ(U4)=W?LzU|pFnF2`irbEZ!Z)L zNI_OmZxL~fMsWSua`?DI>3CvXc8Sy^=_q|%m5$7n@;wJ-pnH6uNU3t&;LZ9mjoKhl zGsftim8du?a8|df1aotaV2lLCAb#@I8G_y*Zch@|R$`mPlhgtRtkq?}z?ut?ArILG7ZV!Ky889;_Qev(LY_;}w!sB|GeyH4-F zw2zf{NAg=t=}MTLgH)Gj;D1sRrbm?mZFtlQWWbQ33Kv=QG;{PcBM|~uz^?&KlDfjW z&<~?u1G`C1)5+cSQ?}KS=(}P4W-*~_83_re5t#-q=A~+!oXKZ7Z@wZj_+HyJe?O~w zSZwRK$yCOFXQ}R>b+UQ{b`Z>Ca}JYNO&v-is_zZ{L7cS9H^YvjFF}N$ddNsfW9PHT zHsDYkzI#B}jsJkfZ*xgL8htIr@zZx&%jd{D`XA)EbN78>HZozsbV;}o-*I64(a!W! zxf+Iv?97#h_tot=6|h?TrB)mn)c3*fb+GbGVI~F{wei>Yu@Nj1wVaI)up|W#4xI22 zJrg~9`}ag8Gdr~|CpAVS)gm&%ez08+6FB?ZsEg@~CTuvHFD5+1&IPHLs1&r3N25Q+ zL&){Ylf2!mM2AD(9LwW@98_lCQY;XGu?Fe353}WZoO=vP(DfmuHuC>jpPIiS3s;BO zXEbVbN2ULr$oXrC&yyT`zU32NqhhnDKEJ9X|UR9Y$T>OUor@=o3g%I zq+ZccIMWylbF}PaJ_H1c>{=q;n|Rzg?RC))oPpL(fRfW-wnd--_4zeKe_ZzSSPb%^Go1-*2J6=Y?-f(BYxpT^m5Inrt(uASe)R;Is@ENNei zp;Dxt$jn))EVzAyuPQvXdwRBwj_|0h!YYp)mUsy(vgMr`_>=RUfbtI@XRba@pkooH zs#-1kF1;-%`pJzM%Fh8<&s|@4qCV~3TjJiZUy3JhfWm7{PzoY?w2TJUfeDI zgESByttqeRa4lSHEoNO-x*MD-`!3XPf$D5wCVbml(P~sXy{ODuQKOHF+yS!H=T{vv zQ}fFK(?3Xb4yEO2&GvIZ?h3?Uyfv{g9a{>4O6Pob&(XI?z@EQM@j6qEO;0YdqHWP9^w@#tuW0q6>c*Fxh0keGK5f*yao;-2p zG;hg+f?{{ULN?XWOP>E%>VB&bNveTgk59Z@q%ek?L{u=z1Wg9R-}*VY`FC~2nBKT2 z$;Q=|HDptZpE^inj2d)An$eh=(Xn(-`W|WdOm61X=(inrv;|R;>a}Sour8EyiPM7F zbPdvwCd=J{+grayC3LCwcerSe=PQQDd+(uufwOB?!|s|&Ef(d$t$hDws1Xm_IyJQl zIrNL_-RX1gJ%Yv=qn;O9N|wzF6_aZH;*g!NrypXS3(q>rW2iNJvP*_O*N@$Nw+!Tf zab3O=l^F3c)5&jWZ7F2JDSzH})%W2CJR_ClDAhV;!g7lh&k;~ETSt1IW%R;rfIrq3 zsprE2s4ut)Cwd4PZA<<9ZOUp6tz};``Q)8?fJKz%XvQf zedJ2`SgE_UzEknxFW(Ki-h^7K;hL#9Ef3C}*M*UxgzW^&vol2;;$gS?!^tPk>ShJE zlecOAAOcobfv$n#2<^hYLM@yLsHJ74-ASJCL6UisXEE?geI(Ej@2c(iaKa zm6VYwAGF#mq&UCm%?OU7ZjmG{&og`Z;r5C0kF+4d2qh}>h;%7^F5<>6;U)v6{GZzU zD@h1teD-uDXeEZ}tRQkjLz<5^c$i z7EF3fY*xtIe9j2Gv0w5gvC{f7U+Lg)T^x~_+N*{uRI;V3Pb1@mo)z|VUPCxz?XKz6 zG}kszE?L%5E8Rxeid`Uk0oi&U4z>#=^1REC9+AVfK{7<8WjdTU3F#y(l1KU078tq%Q?B#Y>1u5`SBZJJK&{)9-NxWLEEtaa(4mFPk z-Ax-IXv6D#vTvJ~Fbt7u|6k4*`GBj8x* z|K)sOfre$VsW>w%W@X752G`*L71M5flhJH)F;u|M6O*9Ge~_}{pLwGjwxy&O-CYc^ zE}|P9Dkp`oKl(i8N59ANv|r9FXQ(lbjh^UO&!nhKWIG$T7w~j6u37$svRDXZ#@bVn zpq;IMZ_Gku9*FuH?sOL=ecJ?#P-qn24n}mgZ6baV{+PDz`^%V2rD}(N>X_pg+)V?0 ze4-8b7&SXT3TzHGG1Ci_x407FhaQR1@>G;9l$$D@5Xc5*sgmri*#Cp*e0rDFm`oN} z!hLP$&Y_a;_9}dH^C<(NIzz6&{~u&1n6Spi z@^b6Krz81mxp4x56?P~v6u__>Hh8RPB2{R};xDKXk1TL~!xnUp2&Mr?k4-Z{F0mQM z)pj`?B2qfR$>5~v&VB&l0^5Y3jDs)!obXm(LpQ7A*XY~Wt7oXJ{h@c!~P5R2BC4|dJ4Tq{SL9ODebBz}TKec!9=BXURsYcQ!a!sBP zjc)nOsTx3=3yU@kRE4A~@VSHaq^N>1JyYb9*v%KDG9K zdQjc8W_sn*II9X5Xz<@;&xuZr*^~@Iy}#rXw8p}PK59x?2QV~so1fsSzdUKp6E&rX z-Ec0gNg6wDb%|0tT~g(NW{kW`A$ZQPtyF6txzQb5xHsmx=eSa zN;Ke}AgGB^Ahr2e>eyyaj-8GdD)8T<@c(-sW)?*n@VQji93H+f@IogUK7pfUT<_u$ zU!QM1qXH_zz@*Y2x2YtVeh^wQwuCyqXy8+-IW~6*%zTd6xz4cbAHM;eYxT}Yy?l)7 z%Kw`>$1}GY*}*)O=(ExSeBK7DU^y8XP>W|u`;8Q>D z=T&d@7{8yLg#9*+ZuQ&bNddRmStFKGy^&wn7(DuFB(){+7-yIHOlIx zJ1L1TI`y(IR;gX|lsA;n`san^g^4YPtdTbqdG1I1w)J>Gl?1=o!)bXPHAmIms;n=} zwH5qf_#Y&F4kjs6or%3dDai1FC-hKcrMx_q8woSY2J7UeL3^{W)siLO$+Hf(;yvN! zV?dSfam|3(mn!L)Qyz)nM5`Hup5HN=4vB`42um>DmuV z&-a&>TUvyCi=aO>?3m3GK8uJ-c5n$CB3_Iqm{;1aBsov*kGq~%wsxECN~iY8^~rF9 zx*Bst9j#Dj2STdXx0of{tE8sgz34NE9^mEgsFT2=bGo}9axw@z$Jb?H9@JlKf0ES! zjf}W0WE^|i)`ZXMC%y(57e9xk2_vwLmR<=ceT& zRq#rasLn(1S9aHTQ?TJ1GOdmug!bn2qs`7Kc-=ck;Wp3wV8sX0wN`b%qN(wIY z=#dna%3SXsFceFt8QDiC<%uaqlrb3HwVlu(ld^}?HJ^d>VOr+Qr+u@Je7Sn$3ANk# za%T}=ph@LPj`1z}g1ehfceH$gp?vbO3v(j%x7ouG=__#ioVq%}zSoH;uhcd|4QpMk zY{E;PuoU7~`b1aGS&`QpKHDo-$Za9iJD4(1R0QR}@l@&l-F`YCKM&*y7e zBbl`PHo)_%CpEvx#@>g^GBcj>Y%#I(VM>l4SjeGI+Zt^dmpg@aa-6s91p#C*@rLnL z68@4V?e5^-U`8MkbNtWmziph&l3DlGs4~AV7M+`nsHBYGYN20q6Xrt}_U7MXN?X97 z$aEXXYsf@}W6R;%8v~h{Dns+v=yfc@N%wj4Z`LFX1&d1;SE|^H=0?pvA>W+T92hgw ze9egqy^`D%UA>?jONj4CjY|WFugJ5&-GWw{c5<1ZBG%`l9z-duj}m8bPoQk}ftQ&D zeVy1?zs`=KCy!TD*GVYo+Buw<8pckv>+`h!-I1JbqDOI zCwJxbD%U@VYTB0%tFrB0{^HHT-HS{6?^)kN4=mmksjH4NUW?Ry9X2ibG{@MI)L zW>{jga5t}*bGQx|utv;qk-=xK*(!}Q)U~qG_02+0EV!7X7Ys%96a#gv)zdfp3h(Hh z6uKMmvYm1)RO`DElnjWH%HlZ+^}z-h*9nVXA=pv#oyTdOcs@WzO|#@3;Vu@0k}z9Y zzuHsA0OIW$H5%ye+h+!A{tH#cG$5U6^Y`ipzBc#Yya0<@Z!_Q#~##4JPW%11QpnC5S#o(a7`JC{dM|# z-rD=F<&UnyZKix0ZjYj10MaQ3k>GR{@H(IjI3{ws(IDXzdOnr$v=R7J$3yqCMCwwQ z`Z&`TC!+|?)jX6m*e^xyRn@9JVDO>j^u|Z)0mT{$>nGZ6I`vt@ibf>uV%pZ-R(q|6 z%2szH1MFJ-$i+9Vg5NNAL@>pmt3*L?S6R~!CbYFrGvCf958+Kj@p^K)sTw~PYt}jk zDsto#XYhR{LZ*%ktH}Ld{fZx$IXJg?&iRb$NN6_H*}h!{kF1LP`vq#x-9bonr_AIX zeM6c2h0hURe`6*?me)56m7*zbV?Ex_)qUKL89~{8cFLPw!+gDRTxU90*Lq8sg8IiP zVUX3bNHp?puej)>(Q(pTG%fd1gKdx=NKflk0P#76MxP}=^zspuFU|8jA4kVjk>Hke zY#NmcUWSDH&XJlD?jHj&{X;{ZH==~z`gQmWLo8wfCWwx;OXha zI@`%@V<^)=eeOmd*OGnYq>mlzA@Q+6vw&a{t449gv?{Lp!Nv&u+~Qh4L}#_1)WFkp*Fv&0H{3L}KTL++`Ou zbo1(b)eNa4(SApjZHQ^lIIjRws?d%Y zIZ4sXnyC@F7eNh0ksI6KJN}9TYXc)nxA;0`l>d>Z_vWPZC7{8QF)!fwwXP|CWMt!k zV(5op*8b8Dwhk@)t2F$EBxAV0V37!)nL|5+h-WDGL)BC^tzbhJd#mdvQ%t?PQEaCA z9+eg)b`(I>pgEzo@cm#c<)Mt@ARqVvUK2~xhA(R<*j{oKDH#>A@;lLR&1^cG!Ki)4 z#~WAc8F4M=0cv+zPYDqy(JGIMfcDVF$-40oEeYnyKy^Z3Ktt#A`QV;2@D zaeUS2&|PUJ|0~$kXd~@0PPsUHcH*Im<|MDau#d_d&{GJK1vu%?RdX4H-4(9tHI2#L z9X?v~S;$5q8p>F=hR+D~wFG~C7Iw%^D_che|IMmwiVn!hP1{;eKyC<@%(plXKK0QT zi17}rbA`NZcVxyfxNhiz&p-RTKsGza){>KzzLsz*xb-~DdH4?Z(C>@le(k6S(pSGn zk+V1w=!s|5m7j*FgBo-V4{*>BBdF?Mij7dBc?0%A?U{1Y#`ZP!sZg$T2I!&P)MVkl zuMQ(9upl@{2qN zv!g3lm$eJ+8U&tAQE0GDFL;=aXaZX@5x{RyKNH<}EoCPGHJ1$h2eDq9LKC8%KHCDh z+1fy~KROb>GCQM%ns0q#XN-V5VWnxF$P<>aO5A5Ebm;x)zJIJ9+QP<~xMmWMm|5I) zqSkHZ+$*_1@+v{Pjm=BY_VSic5j}UE>}-9d+s0M}j?iBB^@dwosiZX|Rl1A=qje(w z%m)kdL}T~LP$*Tp<4xY)CgwT|&q5*eDt zjxl4*=ylAryb~;*!Er>3vB|W$L?M0Q`nIUuXN{>;7HkJSe9|TaGR4Z>I32f#m zu8F#?6tJhGQIbeRU0zhu=Q&2d=9{?~#QDp058Q&TN{S*$x7<>+OMm#CRVIEHXTPpj zP0Sh!w{dt$1;kfBUbl-`Y|}srbc$UtavWp_g~`T7E_COl*k#*euxWdJQ?i^GUMQ#$ zVViB|8T6HpWNrcD0?3l6`=g`u-o2PDIB|? zc}4y8vbGSVRi|5Ia$cVKt=TskFDTRW-hI^2Q}A9{!cRYtFH`@}gN{ji&rlpo<uJkL3 z-5u7kP(%4fa54@$M&k!gE|$NO_i$z&JV?s8L9Pk0E=ajj!aGfZvgtJX%+o2F=ZSWt7Gxj7ACuyjACzGqqYpmA8Z386q#D zk*;y9D34*LQMtXE>1rT3hN*%@CrxgRhym#4`jf1n*7m?jJ$>T-^g8@61dH`Wr&KCF z|0epn%p}8~H%s~(wWl6~x7_l9;1r0sa<0$2*4HLhUz|ByygztQ#~EbNQ^wV4SIG?- z@JSU81jOnwlQeQSRyKYT%$D#`&ar>&TjFGrY%eVwN{BK}t8!X>-e9sencqOTPy=+e zb(`^3UlzO%B0f?LYS+?GaR{dUotkJY&SLSxxa8O5v&mn0OM(^TsF3{*gI|%CtX=tM zXFFj==F%Cm*_lbi8uz_6>k%BGilJPrhTY&V_YalT9pdpJHWbZXnSTi z+Mvh2W>2y`A#Yl$mgbB9lVSM}kLkc+omD?E6`%Bb`x$$m&17H2$8;G54hQY<7gN#9 z5lfv1Dg>GhvMBkqEzQCE%0k2T)nu_n@@B?ko-jX((8;d+EMQU*CY2LocA!{b&sekh z%G2b?MKqbBy8KtBt|`2P4|t%ClY0mP8@7I25ASzR6mIgVJJSSa(NI6kv^tWRGephp zBUOwf6a{Nmmg$@P{YU~^uyt(y0!0p}YfhCpE{$jXmUcc+^`xX=3HqpwSIoD)=|fTs1IO^rub;2~ z%VIzf!F^V^@qHU4y%0QTW?$JYb)~4xFXGCI#d_Lw-!9Jj%I+qvbhTZ*ek@5FoU0gU z5M?o9rOA$DPfTuJm{y$#7xYRA z+STOPI1_yy+i8wXa!HYvkRg=RJp7u=R4b9Umu2j}e_GRMsQvlZG#%fmB1ls$4`Vv) z-nfz^6&x-RJ*+`;wh(MN$^uV7yek(T4D{qzT}u0yfG;#Z|}B0DYNBzC@HkQ6W+R-C!c2yZb=)1 zP}?LGm$xN}NVpgo3)y+mpoe?NSoHfp1Eb$PZmbqV09>FmC#&56L7 z=DFcl<|v^V8O^)DHx{&P`fA7^l5PtXgf`iyx=Ar-&6~Vn_FAenbewii|Eg|+x4^s` zr3w2l$P`LR$!L@WfP*t%-&>uQZq?B-|XzlO>$zqk2Iw)YK~ucKQ+t)_qH z>M)93!@q1Tj*3ucPA?_kQG~Sf#Kf=G;k{*bN;a?{*6f-BTEZY_-d7@A^T(E)y zs7Al3Drh+e1Zg+Gf=SG4&a0CZ>jmxy@H~T;ute-^1RLO(nESdIpTgVFRKCcEz?GRY zHmj=Ia!CqVT}s||?ise*zRuZFTc*@kQ{^8{MIlyKos_h7YysYueQ&fAE-rr@N>nEq zEmABskK*Hv%m=w24d(EXe~?%aLf#@tyQIP)owr_QhN=4HziH1OIgia|i0}@|)Z1U7 zuNZyYQ1fkx8A8)Dc`xSzirn zAIR+s)uJ|s3xup~r+r>uQDP5X&|_Qd#*5CfC3J4{UR)G4GL{&iMxF*14#h+Qjjjv| z6=W}Sw7Ep}f>uMi!Y@#Z$VWjfZm4sns#|dYU>F&->o5J5q2OtQ;s|8QtQZ@HGkh=2 zNg4G}{7;{$_*4k4$n|-=v;xCq;Tm5#+S)1hiID`vK1a5?4$3I>5AubO)!rKTv-M*K zkPP{_Y*37H!kS1^Ra!~ag_TV%?dw5VEwZ81_meA2&4LbH6XOX)XX$~v_2Uss z#{oaK>y??-eNykgfeHr8pK<)Pb3%HfIieBMuLj<7+1Ahz9M;&ZeCqb$%|8_^C6_Qyn4viA$q;9gkr$DAQW(^7 znkMEaUgu(Hp5X<%;qqX#k+lxHZax%Saf0}4<%=?OEp$bBUDtS$0tkrJLTG;C2GIZLG0KjarI^8b!x>sc<|2O_H4C{Z-W!_^t}0XN!lmv z?nZW*<`uE}U0LIl!dPGqS$YuF(iug}F_qsB~IGy`ee zpVX*3UbCt+_e(NPw|gWZwmpDqL5+1=Ehyi}f|NwV%x2ELQg9uIkuJG?~^or49cZVFWQ*WV)K+0W69U z)yRYb&dk@`seEW}4YZ^l{VW(`Z|!mkL^Y-tf*QJfe1eV~k&rQh1yoAget}5>^6^J8 zngYS;qAP*TvRojGHX{yCX0%`GmTB!G>q7rfs=y(GC(j*6ftil<`sK*GLdi1a{M%*K zNdW>L)^@)9+NwOXtu~U4e&=4ZlU-6eZ7*{mKcl3J3$g{KnPAu0-hkD!5(2^| zOh{x}anRamDn(pZPG~l&P`xdy7hh|2Qg_N>cTT|D1KEq?l>$QGeWd0jss9uh1bv~o z?E?`At++Lkz{)S^M3ukykd}5{m9H!E_Azh1nY9@@y!IYMWTkZSluO$GX9|xVu6P&` z>jas`0Ap_O|3VCXM+>t9SL`XFFz%jZ21G^~vt{Vn{yJXh*CQ@JnmHEzMd{k`^FR@` z95a0_feZppq9x&26Tts7Iet$1!Y>`|kq1Si`wzT<*XPa@J@AUo9^YfZ`o5HpMrf?X z14dMBf!rEBKepR41Ri{}X^TjWBSp%QNqC`N0&g1S5)_2<@_X%`BQ|V0$@XO5$JW~4 zl@dtlXH5b;dl>#WU-Vz|jjnA8Q(V5NIJC=_Ep9{4&W=0IIRrwrhbZ0m3{!7hDmBp`6fRs z7nDZAu~~{UDo=_lFC`2P+x#Hd;SeVb^{GE?L^Fh=M0xFsUYBEKA0G%W8_nBhPK5e- z{3S4!+KF@-t1%)8cDbax9>cqe*Yz}aOTm^=>Ggt>2PD}m1VuRmuW|nHH*Cf{dn8M z!C%9C!)*mG1=|RDTvf719zochxY(SfSi_W%VM;V`?u~gEPR7L^K}ei)Uy-hSO5vJN z!1%SUH1>+M726^k&zsCKFXwRP54ql?zyKMUr4g_ua~w{pX3xLKmz6GCV8`~b?>Qo2 zw>%pll2x>sUWGDRJ^J+M%yoW?DLUDcd#$B;tib&gjvr&Gj+PYFC8ilL&1%>oUH-6R zrT*nC64}+|77^t3nd%SM@cpRL->21$su3222lPp&p1e^v|ky%7=hC1WBPvo)ZtNO57c)jHUBPlrtZrw zPd{>(5J^k70{zH(;`CF>X0MH@vBL%4_KCfg%x!01(@~fx8EnVUJb3HMf672fOy6G= zXz*+HgG%}H}IxLOLX~zYXaaSF+Tde6ZnjD z!PZRAe6o*ece#|}&VAJ5X^_jqdwhCBljOrSKu3Cn&&RED#G!6j1EZH6e=I1l0qA&{ zv5KCXbhXBQ>1@f$3SA}o61S&Cw5;#q`HjeoZfr1e$WFvbGd*^)`;pCj?_R{)jS`hA8%q$48{9`!egZ-P*9NS-eI%1N# zJqo#<5+1iY*2j8msQIMEvkh?njP4L2Mv@19sVIItjM;*Nr7iU|wvGzweZAAR1c z<}ZiilIf$ZmZC?*Vxd#QA)G`9;wXsN$7P0=P=G~W3FjFVnh4FlJl80Bc-^K2XFk--wo>B&tfEoXPmnNWi8uaFlOCBmgX;KM%6FVFZr zoL2n3vsTx&(sWTj2S&h-mNzp01rq%+`CP0~1kRB&vA1-lUWbK6L$6Iyv-*%T|R0|a^{y!z1g7E$ z9PdL>EYsCcDN5$=74+*LmIYwN`d))$M|1X|Keg6lviy8gS@o=R9`t3+cTKPBB=6Nx z#dGE8%^KKq{`{6qp&kG=krid;hlKP`1%~p-I|Bz@LD;( zsoH2_-hXNVWR~q1rzN1>fj*n42k!ph=6W6;MW7g&+{pZZ7-E{uNzCqXn@XffeY-2wsnz6_<`0f`$>5lyx_J7acV*n9K zJT84e6-*p5M~^9t1(;(t$=qyQN_<$rYcLf8V2cYR>2}$SvhkkfPASh&=ZvCb*^V;i zTn?xK6>I6c;tsua|MoC$+O$aTFNhf<_zX;N48_G!*kU0jJdNe-&d!QgpIa{cd7m=h zktCZuWyH9eX7r)3Ot}5L_rSdXU0BlSeI-KYaHBawp15*c2Q9un@~%os2&HTi_9=By z)M=;lty|36S^;+P*rE1YG3^t3Dba9peX=g49|F)1XOwPe456W&1qhq&&PAy^2lK3deusg{uk zqcG>o{PpmWwgIVSSn_Yc?plO0NxP{e$|tCsE4slti%pwyf!egIu<>cF^f#toW~ z`(-znFdIvP$&8wtBpjCDFuW82Fh;Xs@YaMV?0b}i1x6jK*^FSpATwn=0B-7FD*o*V zE{v3V0e&jwu2doADVgL;wq&#e;^)vTK4r<-QRRieOMS{_{LtTo_bIp z2HbQBW+0(zK;>-vI?`3m;So?&OFMIs4xQ*dT%gteot{#hWB74$kx5@Te?c3-gm7-Q z`K}L3c14$^WmezcNxi*M&ugZR5tK#C`Q)#PUR2UI-NYW>L2{?EhKc_Gtv>v4pUIB% zuQz6giCk2VuEH_Uq=~!*C`>w&GRLW%ZU9QM%~t2*vS z;1Od{9p|)rcS>45dLk7ifFb+8MREGl)IU#}KzBi1u}z38?u<~DlN+UKgSgaZucgpW zRb11b+cawWc2xffWQ~P8%&!+pHRV-%O0UJh_N|4?$Uhyf5*(A-Tja~Ro42QP)gHd; z+;7R;x736b#w^6IPt?>TCFFVJlHfsgLG_cDkmRaKmMXK3m$(5+{E{3&Z13dF{`YH5 zoNHkV4POILMR3_VL9Z{svC};`Bo8xK??b?H#vqacRTOUBJ=`5@bOzH>%ErUYhZTzRky?j{zZH2#cT$AZ-MNLJfU^n$zi_VbY$EWNe zw>Nd#ifeWmOz`$+Ia=hVs26Sv^X#SW^yTHs-#(IG*03%inS!NJCI^o61ZY!d;Yc~0 z2!UsN96ggi(tlGhg|wH{uflFLwx0yeZ&MWM(yxEF?K8Y)&R&369-4fHF@N=GoL(?P zWomWQ=ynJ58?wyXX|DgMGtNd-9}oi!OxOmoKR88vaDqpW_eCa6;sA(BC_(N7!m9O9 z$Fu8Da=j-M5m?F#F*h23h$<;J0g-Rt?O$jlaB)_Knk#TxkM>Y1`|LejdRX|8tX>1ZQUBEBy9E?i6@-;l2@S{A}O@y(ojPGD1~!f zUc%C&;8K@U$i?>1GNAd_9Km$3SIHq>WFmnNXH{a)665AinBqJDA%y#?#z90G5@HH9 z3Hz-*EP{RWcGddtKD}Z+xiHlG79D#hNAV2b`BlhP&8g?>kkUElR zFrC$B%DHph*XnCu{z4|6ndyc zjQff9YHaycyal(ZdC{YyQ;pgHe4Ogt$et7_kDaXdUeG!(_*+x&$P~X?S(bYNWN!Zr zpolE0Rl?Jba0g3;p^OVeGEb>U0u9VCA_S2#wpp33_+173 zG5^@;go1ip-=}dcy)?6~JTkwnt?$i(WXx=rZfzSIH0Nnyc1l z+2*MIJ5A4IvF(<)c&SibcL*m<(}C2Bk_JR&HT< zf&?JchxoMoSDL+DdcsDv3CuvcKmo-&S)-+V!WmOe^>)3uK@kTki zv;HkFR96abB1A}>i;@d2F0!B+fkBD6ziRu|&GZ+6MHmfagSx7)mqtmVo{KX}rW{+T z*iNkMNd40id=SJFek{Nl1&*&%Mi}oHmK~|Q$)62hTVm%j=`hUmK73QBMP-`=i~AA- zZ{yEwmmjQjxBT*4p4~@fuk_$hWdzl?Ea#BSTsExG^lMJ?3d8|#e^5rhWVL`%q&*x$ zLV=3~M^~)*%lu_Db{zQ<1YWw}QU9Duoy1A@^e^8_h^!yaBP6Fq-1(ZZFpc8kQ>wTa zzwldboChxuG9egH+9$0PS#zEUPPgNKk09VRXS!ZMDQw;9~LVn>4i2kE0>NN z`t&@gl3TobqZU3f+I%&Gan3RTFrlIn0;h0L9RDIq==x}!WV8T^n}Y@Ish+dN!YnCJ|9aA&Obkf2)hE!tQa z3QGsV303DJ)Mms=aHk!YqI`7fQhVG%$)RZ_Gr=AJwb$F}eRO|UXBDWY=aLFWpQ}5r zLL`g<#F=;MpgHbDDxo~rud?T!40#4iIYmA`M=~6u6l)wZ=d+(a{mB$FbTeGjv`9H> zo>5pfJwU(`_^^AvZdc?{RaXmLUr^YDXALyKx5DypCJ5GV|9KSN>sMR?`_4eylU#^k zgmbrs5emz;{GHzEJAM3ii+4PmQ1*mjMKkKyR;?Q!W}1avv5`s%E)HGP+x}h5zW4z` zpAra2vrbOyW+(kMqyOwOa9KVlI>eq0!|{zZXcN$evt8KlsPTeuI63dLN#3&x<0ivR zlV>EJswm-bz3c=dUWDBM^@ec}xYDBeMKh5FdG)xvW(+Ii%ic>ndN9I$&W><}IY_gn z-=@&Mi1&_#8DpG~_;8z`2PT~FKJ|%{(eLB;_zR7vTAS)Ig^}+j*U-oHPy*LL%AZxr zt>RKp0^2g8_zjf!sDXMD7#}0o5WtE5w^C2&1w}xUrEs{lM+ULEl4o%1bckXBq9K4l zY$i+qVt0;Gs`1Yl783aX4YC+O3TI~rVu=9hN}M3!;lfQ5Bs(~{$`Tr0qhEhQK|2zo zgN>=GT9)+QXr4=vGLqIrhY96oHU}~b(tUZuO!4ffk23mMlq^pxy#V|#0=|a1i)Wcl z@sge+H3-Uz9+hgu(Kd7H_o{bw>aIMf;A7m>1huSRmi{3*Gz(e3%$EqPR7ISLsX%nS zzk9y*7+7qqevuLKN_gfL=HGi}%f}^Wm7OrHS58p#Bo&sgOIqnFm5L|fd>VVE3Vy{$ z9mJS9{6tkA;~p>b{sW(rP8L#*8pME1NfnETar|_+DMsw0UMZM%lCGw@A%EYAjzyz+ z7Bt;toE|g3yQBuO<rV3lcehEKb2Ue|;Ir&Y6%2NWDLB*~2zeAs4lktEEA^bVNB0LwZW z0Dih(LZpM|3)jJqOwFDt$nh&YPlbKlwpyfiEqGO4JOaM2|F*J5>2r5Fh3V#W@#g=L z|4vEESY@jFh40ApE6B_29RjwQd-3C-yX${tWAyP>CdSJ>Mnfm&3Oy3K<&Mb=>Re0= zxQYRl*iMmnIJ6No?$`^U2(NM^z8I4U?x8#OfEy^r0M3UMI>WvI_=!OWV8n)I&-+7a z5I-i?oE;~hpWxDw%H`^cWmU%#)to&iAm+8DsETf@kjWw9*dS*;3tb{@JD=9dkurRf z9q@{*3O@wfc$bvl%WkC^ZJZN0jbBN*umPja4x}Gx7NC}YqnWY9VtBf9Ww{Bq_?VFb9>acszqpVM&+VjQ&B!oqN(agKlc*kGe=OzNFbR?kS_ms$<#5 zoJE3wH?0<^*|%D~wd}xMKSO#w{lyIaJE*=APOi(9Wxu8ODX>x}8h1wA7(0@L04<*L{$h^qbjt)cwATZWV+12q z6Gy&qc4!tFD8ZeXbo8kRgza`bQSOCz`<3`359$Kav=C{6dve}-Z+JS~H*lQ*9Oldb z*6lZqdYC8s>qQ#WtP$PY*;kyr^t?#3AP#}kLs0mUCwI&H5Z;}2)+-Mmdy5uOL@mWn zQUK=dBBH<$AfNv~bfUlv9%jFjnd*)$fN%KJ7Vx1QKRq$n1ZQDCf)z~84CkZRyos}E zeYn9Cyp52xU@;F4&}Pv4a9Pg;g9`P1heV7<4$eOr6M~^y{Y)GOx%bLB(*o$j)Q%tM z&e&}wOWmL~!3e;3tfJdov(cZzK4STzU$r2SqnL{A4rZFPM|qf1#PovCM7+D=J(_>G z`q;RPk9fV8Sv7I^GN>{EUi6aIoN2p7)>MeJ&GZl^k(<1>uqS?Wm~>y!_sD!0N}BC# z(zF{wJjmFJF}7K?Ut5Z$q?e>kEO|)hq*kc-j*4;s6A|Z%#O+)ypeoJQAW$*`N?#XW z)AXsjzKK56cmt!2I9sT^&a!19-B=Is{IUY^nxohk0svnSXVt*DS}?7t=`kg0Om`)@ ze00D9UE+>o42XI!DpFyrKif#Tvbk`sA93FRJDMq+)Y=>p@7#C%!rE7?`?nU#*tGCo zfYfzi%_Ep1Bcj3g=FFzm4eG9s=o`rp z*E&~znki$w%s9A2(X|fBC@H2SSG`3NsKgkp#<+4_Hv>(GUi1?bfKz@GjTuUdqgnAs zd8zWPnkTrIR*$*nK#hXZmZIpX=!I>9gLWA-xt(_NbfvmqZ0%&IVmb>4(&4QF7`fL> zINqCF+qlPmH%agZERiJgW5^u7-l7_vF@9u@ok9(XC0rKR8?QKnmtTlb<8~sR!Dl|8 zM!IG&GVE(A4MJ@~tDZ4fdNYMz@h2!=y9MXUmZtv#{Grx2FZHeMpkz&5)6#6|>)8mth;FyFlPHnpu$Pfb(tN3(GryDEm1LQm=+sD+SCJ4|Zqk`SE z<^TY*fYCyIeY|T_1IEii6=|>L&a(}{>RtFat4Qf~;Dfm@x)`*SG*jKUP=dKZQ^p?N zf(`{W3aiZj0U`t5H}^}Ii}C1w)`0WQ1ga!HT9}5|_th=+y=OFcy&HmllVErzcMdK> z^)DYivUg~Bxrg0)VeU(4D2(+V==p)3v1(76c1q|HVVrsZ86N{%0%o+ZrrLcm-zm); znLJNv6F;d_%8*ZKf_qs+oIx)9wG!WDAvC|eM$2G7yd_Jb9Zcz%^4oXz6|EG0)ym5}jaGdQtS0kM2I z=-si5@i8cA+6W=LIjpN09Lop{!VjR2Ny84908BpgI(^=bp!2r)eACVvGog}E*1r$s zn%AgR+t?g34(xb&qMrk-bW-1bvcd5uRAKlbfb#Qt=kG7_qiqGvF>vRsmG;0L*~R!3 zp~p%il^lKV%o@>_sbG^O(N0dmHsottyVLvY*^cKE z7$8~`RSn(w@MQUOI}eH#V+xx}Hg*EG>t#?8^QpOq=5RrP61DD}FsK?E95JRn&Ce>y z`tuIGLqi=E$h27*3pd5kRWAQ|tPBS75d3L(pWb@i@LEBJdM>v{XY9zXAP$zgYu2zz z{spvso*FW{mqC5gdtp9d<8Eivg#J2?+pFAHacb{_bQyW2weQrq1zrBT-?<+=Yvqi+ zb)FIVFnm*IGRvUV(}_F=4>V1>XH4=-5A7FVN9zRBMhMD$hrdKat2qU5p zOMcoUxM!sCL;svrxT;o{lPRoM(WUZ&=BHG4zc-W_o0T7b*@bBc&KHg z;_Wc@sezZVWy2oIh+d&PuLY|x{tn_ve+tt%G&^75)Uvip^{2LcSt*ihy!1 zWVYGN`3*U-x=)gS4O_1NNWxXk?X6UcBiwsRKBsVw*IX8W6(NshO9$MY-_A2nGD&aB zq#NV7qd$Jzf<}))JQOR&oMYK&^I3wopSLipGos*QgbVeR}DfQ%~1vYQY=)EHMSr$vjQVWfrq@bLk6$UAk@b`fX zcHATO+Y)MzisbWBQ@2R%u&2T@q9`<-bVU(|(%P}KX$u^12;7$R-)?k*MG)UoaP;HWt*|EQ{eEE^lqcSwp?mX4*XvJcD zBaz}B6~Y>Q8uXQ?T;T6@SknU=9ODK2TQirEGa)V|S232Fy%aB22bP@tWaWA1-~+*@ zeZEOP+<1aKK(-Wo*RqNdPt(h?4B8}K#7&njmJGYxE1M2HS0UakJoL3nc`qSfB}-E- zrb(YRY13>j`+mbjqypS4rRyfMT``_}n+&%dsv1h2Q0bdu?tnUYLg|I!+Cy(@DP8P< zLnI4$2`;;kC$u+-iggR{^C-C9R4CbSDJ(c+)3!dLx5(ejlTHWuHhUn!qDiNY>|q1n z!wy^~mW6ORzH+yC`&D)N7yo ztr>i#6Wqcm8|RhMv1J9<53%0YJDvae*T^~7D=fnM4|2?_OJ|(`I}_xxH|XKS)iH=e zmyPAEdHX%zc?SxKB3!us}@B`6IQ5Q8D5R6{Z*xMRdc z5Q_f$n&cdE4>dkd+rA@T!XE<5X)}S8X=WE^kiC`ap@$-kEyY}jWY@<_4H@71m)`u{oab5+Cf21)D`PLt`E)hO=LEk64dVzA2+#d$)-sZMhk_j2lVP#wS)kk8SPm()>Ao z05Y5seAw`II%}f69r6;AU;Kv79R7$twY==@F%QGQbINR+`3~cKMk-^*$G|7H1#rYK z&S)L{lKp(zZC?b~fb1L(hruLT?}wB5?=&e1mqA*M*#=}WZUbDNEJoy{5cSRd|B(h3?PLT?^SNlr1hG3oR5OxUwC8FhGd**V*Y=6d z`T<-#G9%hm_U8JU{$<5QnSvhV`x}yE(d|`X=BAd3^L92NG_f8|^8afB!3CjlJ2GO& zufHK(rSFHmCpqox4d9e>kv0gr)D}`{g=p|SopDK}J~jO@jCkNHJ(N5d|L6j8D@>k( zBRj1+`WRK(&9TGSV|4x1GW49~Z1_)W-#=r_hNBtP$TOIjQ&zryW~_H8Yj6@L%tu3x zA?pOO$Ixhb4PTn8g;Tx4w^fw=ORiGs;Z`e!I^&#-tS4LGfxq%M=Lz^s;Uf8rilCtN zRd^@H$7-R`S2NedQ$69jkHO%%K4EdE&)EhJcCkXO7dMz?-8y^6A3rP`NYfZ6(AGy; zfJkidr8;Y%+|9DZN>c(ZAL6>4VkT@s0S*ucX`izvO!DyOXa#$1Z_)uPU!fUUXO*g^ z8h7<0KwJbJX8(xFn8e{gx^E>`6!dZ2@ty`1vGIlmwjNjScW)&eC^^yZewcK~-_-BM zsovlA#p8=)$C#Q-xLqr68TV&5|Ddh6m(3<)nttN8aBWA4)BZ^F0$h5~fRc4In3`Y* zp)T}I+BOTtaM{I59lRqP6V>y$_ zeLGb>$AW(aW;p;x?1yQvV=l3}PLYd50^*=y!n^0TxiIEHxfvNIvK*cyGk>*N!-vFu zJZ}^DqXerS)#u$Qn0xA`lsPz|)Itk@1Hg=sJ=K&HDpCOV)qiWwA7=n2Iw|0cA{BS<9XFIyMI~?#R zJGEif0)ZiNv(X#oNzzrS2M+BVE+OqFy{1P;rjA28AKDs$Db(rK(sSAd`_0)YKbXl) ze@=FNMK!EbP3dxeOFJ@3>-W#1xR88tgEk z5-cx$wZgI$ty`DyPVGt4^DZMzHA$#x8`IYR$R<@zww-T>{@BSWe$yUNc?;*cu-tw( z@Vs*g)|Jy%_P)#eW8}5ghW4)|Z|f(?geV+BIh1&^0)&pwKK+Iu@Yc%`5=z|rt!w?vqC?NEvPT}rkZX@AyRE_5MbxTUz$$KU&=cOBV4*2tB2{VHY!M)yRz( zG{F4^j>p3?NF8VL99Jm9`ZY%%UFUhmWEb$a>uW-qyq$C*Z2A%0a>j85ScrU z*7Es0d+z`GmN5UFk~O58zZ0Wxrc3%3Yt>TIU0w)dsIcM`>p;lSLIa8AgypL2e}K0i zF|gL`nk!LB;*6R`xOZij`?AdSaO^A2q*o_dqpUd!HukaH{MDrs-`-7a{RbG=ApUM5 zZn{C^NiQ=4Z+NAGXpd>r(50`lOOGF=TTR~mplJTxbOEu~?)QY>AUM7KML(hzap}HO z%FB@9TrWQCkzd?=ic?|A#)m76LxI3^#3J@HXN7`W)NPWw;o`^Pc(}sWxV$SSR(ws&l@q2I8a3sB}~Ul)0r$N zc8!R2E(=^d>oH}+RX|gyBK_vV#!!$M^v&(fR@Dl->vXz`KizduEj{gB{CfS>FE>CgJg8Wk(lB<5oJ+?}M%A2)$$YiB> z+JVV41llE@o(#e%*KaRSe(>Ox2MbO)?OJ(AF(F&@OmwYd7Fy*r6# z=S{Ap4aYD`F&V~`LpdVQ3{oi)eU1Q-NX{Aj~!k)fpR3W91Zsz zLwoUwRq>SHMc=dD4{x&WKz3Gy0&u-e zt5~j|U+A?t3hirDRIY3p_?C6{ajNe)@ZX(8-M{aTJy8B@@1{nMw3<4Fj1HuGoLg3= zp%{mfr-r`B_*WX8Tp3J>=C>x5;qh3}Hme(%w5!9RtD^Gg%i?>62l^ynEbQ-wvJ4}22%M{rvs zEJ%|Cih1g^LPuXCYSmd&c9d4VPT|*fG?DU;pohqwsnc|Qm_Z|nNrw{ng6~jZLbnT! zz~#db2Aje0jXV)T;5|DaQC>Vp0rm{ON@Ae#>7?)~;q~5cPJ&x0>L9Ha$4Sn~^9!Fw zLK(^K$XVU3aJ(0(4_sc>rJ`-?x93=$c zyzXUHH?uj6kAD717L_Nh8TwWF$IT?%#oK5NF@gL;d8b>*l>3;i`7ofA>K@q8Pt$?f z&gmJtFF_ZbY|(BHu)v z0kW1s*iBroT81xbMe7(U7^4j{TT7B2Z8<}ukv`JL=1vKAIG;W6Ph(ENapG_#0zD!x zPkxf_xAz_-2aF!_=D8H6S)LSh4+tTbVDBewp;WKkrWxZriH?y9B{|s{<(#@z$3vd3 z0wWI#|K8M>3sdtC7udWjto*KBV?FHulretd%ZAcmAa9`mco7r#*pR^&Wtc>I!}sn% zfR*J}l<6dfAk)?Pu{DyxMy(l6W11Bm`A@*51}!Wy_12IRk`mmLToQ^|ED01!{4N`_ z?tigMxxlgz?{)z~1@C%1W3k1%QtuFg-2dTQi9ptI^;VbIkySrZ z<^Ff{UVXtFz1_FJ6OQcWS8BggQlLo^@x)7Sl5isAm}VGAn8T-4RpA7lKVVOeUOov# z7|;9%$TAfksji=ll^s!xUSPf#MaqURZooe ze9YO)WgX4)>up+I%e=iTCja>nGnFi~Coad=kjIra;Wq|*N4VO|mrw=%JvMLb5@}}&_R&=1^JLkxLdn7=5$uy}ESUbyI73RT&dSK#_*My% z+pTMxky(tdgoe*6F=QzwXTLf3n&bRvNn}?2DsA8vMA*L^kYq>agj}>y^{#*7*2-fZ zERLt^(xW`3e}ZaH`XaQE9SlPIwmS#6wawamtN8RJ=J~{XGg~jGjd2f6eXNypeiD;# z*t!t6gf{!v68ICM`&ewy(~?SX!wG}r$X5$3U8Pto&%-p4OZ@7!wz9e81hc*5(2!-t z;*DuFirtjthFhL^*pHWFZMzGi^MJ5f4Gfc+MGD2fSkzhzR0cZ#2}+@o$t*hjlukOm zToz1qk!6$X61|76PqK*5I6HWyinvhq-HAi+TQV8-Fnm`$mBi9%hSjpj@R+}jVE%~ zGp8j`*cAN(ZS^31Kc4etwvtWefwu|GKQ+1#Y|!<2$;DI8UoN|8Hi=<AfRL@qg5mZ&ixk#dbgiZ_?(#2IVaU70#zSnRwHaDQ~y_z z=>vEFCQ-Q$IKlTf(mQ{nXR_N<7B0-OimN7dky>@^Vb|eB8VM$~3EJgHiGP$nO&7=z zs?`Se#@yC%=eeGlCvr^jC;0WSvFL(Gu;eN^2K=GX;Kcib3VnVmeq4VOlL~DQ6c3-C zlUSGypEY{xT-X1X?>`S4Q@L!&%2wuU07RI1DXB`N*aIiREvtaMsuhCqp9h1INandR zFpUNvKvjhxfcOR92{>^_5doM@%K=hM$qX^hdq+{yy)nlq*;E3DXY`n+IzxF(J*!R=d#Zb5ak#3|XQ6xh#GrcyicLLlXr)AB9l7 zV$_=k541l^C7vxy6))VA4RNXLu&Mx8=G$OgSXqetG$~ffG%U!i(ULRe-d(gec2*qU z6W9-x^AWS4E#SKT)Kn%uH5(D$BfyFGG{8c)lMC_hM7`)$iMuVn2pD4Qfxo7A8b{r; zks|Fs7dGeT+>#oJv08G)N8sV1lwK=I8nk$RD|82~qF&hk_zX9_MbGOgyP84#^-Ht0 z{jC|T#d9V(&=n)AewESuT8AfPg4`_-@@+6&Z;?q$tKvmQ``Ql&RQOMM$`e!B4I0C% zv7IEJ7KBm7TdhavpGS*f)8}TN85AflZD<2Ovo0DAaEt{_G^M4#-+pe~*B;YYE?WoL z3maLHDoxmIiNN?jwj*%B$*eSXi2<`>tRNw>@HB!y5ZCmOA{X82Vm=(G;hTBA4(VEw z`d_0;_=3cr+U}2EeGL31sEmM_UYj+c>_?E}hWmZcZx>U6)Ju#RM=qvAw0E{EKyIN}^9O+kt^2rOd4=~1TX%MTX5qu$xz1TeGUN#jCTfH&$8JOl z;m)8QgqtLg+m`8H2i0n%ONkS=V2Qj&iO)XFVGU|~II+@m#7Xp-i)SL->HfYq0qkbJ z29C;xyZ(IcA3H;gGjZz{S3tl3$qXS&9@Zy9GBL#Jsaf(cmd^}5?}bnEw0zrx@@O;bJ{iQz z!LeInvgAFuZc{6Z@ZK)h*rokG2!l7rb?_zly z)hDx4u#6zkH%gZ6uE8}mWwbnFJHt5z(Zv*{0I?-PEf%aFSzR6nm8nJwTyliKS)W$~ z3|@0i)esOk9VH{2?S0nNf&3+E)Chc&MYE~-1}GqNwg_u|Myhk-NS?k^RqFiL&LfbC z7Gp%AmGYA*|2dT-@S^V+{)tPjQawvcxz)7`$fEhF{>RnUhh4Yiw>in%6`){8w}(!h zUF&9X-Y>Stwwy%L8$)?GRXo-3ROh$@-hI$$&pl79_o%Xe2i+DQ0qCi-J_(N{2YZu3 zcZi8YH|f=aIH3%*v!nuu3$59Ya9?O!5=H;eK==WJUJ(BClqr|nV>XJ`Sm0TBkw0Y? z=0z~pv6c28z(Jp538Vw?*C9SH=ejE)EL@9BKER}oKh1l;#FD67Rrw76#QN9+I^}%# zdG6dR((z$M11E~PPjz5;!@tm2(g9nt8}Gi|$;63?y|+i1z0WIo9g z^F*)2<-M04D1A01ffx;sm}hyIJA+HfP@GC&j*bOmpcOUB#^TtW^Xb>yO^_?wZj!%2 z4H?pnmXMj*EmgkL6)J^m#c?||zW=nMQi1{{CqUm+=s@X%UzCI*HJQ&^yKL69eTpgk z!j1hclkZs=kuMAgT~IhC=?hqa%4h6k|2tF|9`3j9k$PdSuA;xyvdk-Y*m0+z!XWKp z2M5E@K<>qUS8cgFoEa;HUnOG?qZ4#ni z=&*q^hQw+WtW*y$erPVtDj3+x&h@jko}_k4+0`e)lE(QF7+~TX(}QZ$CI~Hi*8fQq zSzi@}I&(a+|2(UC9I96#&{gI7!alr|4kOEIJ9(BVHkxZ{@*TofCsbOcGbTRNOmC_5 zHD}%{y9qDDr4S*zp{|zb>K?*^TtR<@)H79ea$AxWV*GgGCmMbOvMyWHBR924a&?$H zFJb$)^DtVDgRfg}Fbd0lfjM`^bOcCBMh67OH-Z?-Zj+;)UXz>7wMI7;>s-5Q`b*jy zI72f%c+MwbgPJxZre;u8!mp*oI>@oZHG3jCzVC3sw3oK1Q$LH?*|z1}K7wKwOHHOT zsnU@bcJ?jzl9I0++S6Wo43#Y%XtCH0%yvIlmg-g=-L?;U`FyCeva47u=w7b`IWp5; z^cV+Moq#*rp6SJlBi?0%Qqi?!v)$^M|T(WsIqT@v|U-sVr7nB zeN@ofE5zZI#lh}^d~AwA?Vf)%Q-Vb$ie{ELzvBb#>cCdy{lU_?ef4vqgagDl1vgx( z{;~?HY=HvuCJ;Zzy{*9gjIi?T$J74+A3dDmP!P=B>I-xM08OZ5Wc)Vs7|3IAqRS}< zi~;YyyNQcK03hNz_%qnjLGzRbtMwB9$|e$Al)w+@Uy$rKIR&i(pVAym>^9H+X-4~_ z7w-Nn@pmXley$+2NNXv-f68T+D(E~dUWWfrFEGmuovYReR1=ZgvY^r`7dFsD*{Z`i zbKZJTkYXH}HN$#__OO*~DkGSdv;bs3n8!3jl`A+H28D5BCVax*+I2xdtgp?WkDye) zbA9n!o(wI_1?Y{N2XW~5?ZjyHZwCXsd< zWw~R$wZO}dHIdLg!~?wQdaMr=grl1>g`K$A9xoqnUHI*ftH>;BieKWko1rM!-*72d zXu5fJGfI~=OdHPzjI@Me5&x)oiPV0)hQ|hQkEJR5`v-#-cFoxAuffC`Dai1; zQuL&*fsf=cT2eZRcFp=zyIa(A5f@n(B~pmuag%R`1NxvjA5~2=%ohFik12P6ywSwU z+=b=l4`&y0+-R?a(3%tLkYfKdPyp{zKsl6S66?F0%p`T{=FkUt(Hpg#XMt{=IS?-o zciU!Io`N&iH=Vb>N9O`R1nDfRCR)}n@Rz}dUvuJAnF-OURB}Y7Iw*@*c1U#&5DDx= z$2GR;w3`@QzOL16<~I_5>+0MD3}W$le9abE zX=c&K|cjmD3GPJ-%DyWNC*f(19pjDfpJ1f@7%Fjw@Zl3{RaVh zcx*&I=rhi15pL_{?=^pj0lR_Wrmgh7U`yPG+R*oA5L>DjH6 zPTVu{AyT+FDRdG52(H9Mtj}T3F(K5rp0xmeO1R@>Uh*{WH(T4voPQl?P)Ybh?vbdo zStQ?Fs0m}@;CC_tFzepbr^bY+#I;urX3t6ld|NyS!xeqAsJ~@R{Pj9724tYMiH_fpeBC-jzBBuR zpLUq|=;9*9@vzln@z||@FdnHfZIq2_^22{4IiX2J)eL=9~dL zfpE?;zBf~Hf2%=26Odk}eE5*yO|4NsOd{yJFOQ!?)Lsg#6WOAsW6u^|MI)kQXuf!= zrcG0*6)n$zYxA*FI*)zyH{%}sveszg0Bu}A<#|uoCtL0{T09UvW1(b(oq|eBPnJG^ z_?%*+$7{jx-le!I?j?IqdzSWR#&X~MYxv3^;*=YwMuMkj9MBU6`!$PIgfUWjU*_>A zCJxtUx+h&_YG^+x#S?G*!{Pb3W0ix<$nd>ED68HY)uEqd)m_HIH0!wK>{NkHri6e# zhmt$pj0B9Nn{uthL|-nAE?E%*50NPUiDCRD3Y#v*2PJ6(%aMm_O^&$G3+i7M@IzYz zh#4LLRtx6X>XZW_X%;>|92mwEGwm%CIzXsVU$6np^ zzTB+-Fm{zJWs6l72jS6BAOgkk32M5mjM3XwgRs37O4FWbiLnYOpBr Date: Fri, 5 Jul 2024 08:20:02 -0400 Subject: [PATCH 51/66] reset pipeline on each iteration --- modules/processing.py | 3 ++- wiki | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/processing.py b/modules/processing.py index 34a34a0e3..173d85564 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -388,8 +388,9 @@ def process_images_inner(p: StableDiffusionProcessing) -> Processed: devices.torch_gc() if hasattr(shared.sd_model, 'restore_pipeline') and shared.sd_model.restore_pipeline is not None: - print('HERE RESTORE') shared.sd_model.restore_pipeline() + if shared.native: # reset pipeline for each iteration + shared.sd_model = sd_models.set_diffuser_pipe(shared.sd_model, sd_models.DiffusersTaskType.TEXT_2_IMAGE) t1 = time.time() shared.log.info(f'Processed: images={len(output_images)} time={t1 - t0:.2f} its={(p.steps * len(output_images)) / (t1 - t0):.2f} memory={memstats.memory_stats()}') diff --git a/wiki b/wiki index 4e1697044..90e4cab15 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 4e169704404f569e2dc1e8fa46a38660b5cbea19 +Subproject commit 90e4cab150630f78f5cf12f7218b1e2697dd5de5 From ed7ad1dcac3eddd84b9d17304f91cb9c672d3408 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 5 Jul 2024 08:32:52 -0400 Subject: [PATCH 52/66] add cogflorence --- CHANGELOG.md | 10 ++++++---- modules/vqa.py | 7 +++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8567165be..40c437b74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,11 +10,13 @@ TODO: - massive updates to [Wiki](https://github.com/vladmandic/automatic/wiki) with over 20 new pages and articles, now includes guides for nearly all major features thanks @GenesisArtemis! -- support for **HunyuanDiT 1.2** -- add support for DoRA networks, thanks @AI-Casanova! -- add support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! +- support for [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) +- support for DoRA networks, thanks @AI-Casanova! +- support for [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model +- support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! to use, simply add `--uv` to your command line params - enable `florence` VLM for all platforms, thanks @lshqqytiger! +- add SD3 with FP16 T5 to list of detected models - fix executing extensions with zero params - add support for embeddings bundled in LoRA, thanks @AI-Casanova! - fix executing extensions with zero params @@ -22,7 +24,7 @@ TODO: - fix diffusers version detection for SD3 - fix current step for higher order samplers - fix control input type video -- add SD3 with FP16 T5 to list of detected models +- fix reset pipeline at the end of each iteration - multiple ModernUI fixes ## Update for 2024-06-23 diff --git a/modules/vqa.py b/modules/vqa.py index fd994ccd2..87ea8431c 100644 --- a/modules/vqa.py +++ b/modules/vqa.py @@ -1,3 +1,4 @@ +import json import torch import transformers import transformers.dynamic_module_utils @@ -11,6 +12,7 @@ loaded: str = None MODELS = { "MS Florence 2 Base": "microsoft/Florence-2-base", # 0.5GB "MS Florence 2 Large": "microsoft/Florence-2-large", # 1.5GB + "CogFlorence 2 Large": "thwri/CogFlorence-2-Large-Freeze", # 1.6GB "Moondream 2": "vikhyatk/moondream2", # 3.7GB "GIT TextCaps Base": "microsoft/git-base-textcaps", # 0.7GB "GIT VQA Base": "microsoft/git-base-vqav2", # 0.7GB @@ -166,6 +168,11 @@ def florence(question: str, image: Image.Image, repo: str = None): if 'task' in response: response = response['task'] + if 'answer' in response: + response = response['answer'] + if isinstance(response, dict): + response = json.dumps(response) + response = response.replace('\n', '').replace('\r', '').replace('\t', '').strip() shared.log.debug(f'VQA: task={task} response="{response}"') return response From d3710bd8980b8b01af553bbc94dfe96558afa392 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 5 Jul 2024 09:29:16 -0400 Subject: [PATCH 53/66] add aurasr upscaler --- CHANGELOG.md | 8 +- modules/postprocess/aurasr_arch.py | 833 ++++++++++++++++++++++++++++ modules/postprocess/aurasr_model.py | 37 ++ 3 files changed, 875 insertions(+), 3 deletions(-) create mode 100644 modules/postprocess/aurasr_arch.py create mode 100644 modules/postprocess/aurasr_model.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 40c437b74..9e440784b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,17 +5,19 @@ TODO: - Requires `diffusers==0.30.0` - Alpha Lumina -## Update for 2024-07-03 +## Update for 2024-07-05 - massive updates to [Wiki](https://github.com/vladmandic/automatic/wiki) with over 20 new pages and articles, now includes guides for nearly all major features thanks @GenesisArtemis! -- support for [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) - support for DoRA networks, thanks @AI-Casanova! +- support for [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) - support for [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model +- support for [AuraSR](https://huggingface.co/fal/AuraSR) high-quality 4x GAN-style upscaling model + note: this is a large upscaler at 2.5GB - support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! to use, simply add `--uv` to your command line params -- enable `florence` VLM for all platforms, thanks @lshqqytiger! +- enable `Florence` VLM for all platforms, thanks @lshqqytiger! - add SD3 with FP16 T5 to list of detected models - fix executing extensions with zero params - add support for embeddings bundled in LoRA, thanks @AI-Casanova! diff --git a/modules/postprocess/aurasr_arch.py b/modules/postprocess/aurasr_arch.py new file mode 100644 index 000000000..2e5eb0ea6 --- /dev/null +++ b/modules/postprocess/aurasr_arch.py @@ -0,0 +1,833 @@ +# AuraSR: GAN-based Super-Resolution for real-world, a reproduction of the GigaGAN* paper. Implementation is +# based on the unofficial lucidrains/gigagan-pytorch repository. Heavily modified from there. +# +# https://mingukkang.github.io/GigaGAN/ +from math import log2, ceil +from functools import partial +from typing import Any, Optional, List, Iterable + +import torch +from torchvision import transforms +from PIL import Image +from torch import nn, einsum, Tensor +import torch.nn.functional as F + +from einops import rearrange, repeat, reduce +from einops.layers.torch import Rearrange + + +def get_same_padding(size, kernel, dilation, stride): + return ((size - 1) * (stride - 1) + dilation * (kernel - 1)) // 2 + + +class AdaptiveConv2DMod(nn.Module): + def __init__( + self, + dim, + dim_out, + kernel, + *, + demod=True, + stride=1, + dilation=1, + eps=1e-8, + num_conv_kernels=1, # set this to be greater than 1 for adaptive + ): + super().__init__() + self.eps = eps + + self.dim_out = dim_out + + self.kernel = kernel + self.stride = stride + self.dilation = dilation + self.adaptive = num_conv_kernels > 1 + + self.weights = nn.Parameter( + torch.randn((num_conv_kernels, dim_out, dim, kernel, kernel)) + ) + + self.demod = demod + + nn.init.kaiming_normal_( + self.weights, a=0, mode="fan_in", nonlinearity="leaky_relu" + ) + + def forward( + self, fmap, mod: Optional[Tensor] = None, kernel_mod: Optional[Tensor] = None + ): + """ + notation + + b - batch + n - convs + o - output + i - input + k - kernel + """ + + b, h = fmap.shape[0], fmap.shape[-2] + + # account for feature map that has been expanded by the scale in the first dimension + # due to multiscale inputs and outputs + + if mod.shape[0] != b: + mod = repeat(mod, "b ... -> (s b) ...", s=b // mod.shape[0]) + + if exists(kernel_mod): + kernel_mod_has_el = kernel_mod.numel() > 0 + + assert self.adaptive or not kernel_mod_has_el + + if kernel_mod_has_el and kernel_mod.shape[0] != b: + kernel_mod = repeat( + kernel_mod, "b ... -> (s b) ...", s=b // kernel_mod.shape[0] + ) + + # prepare weights for modulation + + weights = self.weights + + if self.adaptive: + weights = repeat(weights, "... -> b ...", b=b) + + # determine an adaptive weight and 'select' the kernel to use with softmax + + assert exists(kernel_mod) and kernel_mod.numel() > 0 + + kernel_attn = kernel_mod.softmax(dim=-1) + kernel_attn = rearrange(kernel_attn, "b n -> b n 1 1 1 1") + + weights = reduce(weights * kernel_attn, "b n ... -> b ...", "sum") + + # do the modulation, demodulation, as done in stylegan2 + + mod = rearrange(mod, "b i -> b 1 i 1 1") + + weights = weights * (mod + 1) + + if self.demod: + inv_norm = ( + reduce(weights**2, "b o i k1 k2 -> b o 1 1 1", "sum") + .clamp(min=self.eps) + .rsqrt() + ) + weights = weights * inv_norm + + fmap = rearrange(fmap, "b c h w -> 1 (b c) h w") + + weights = rearrange(weights, "b o ... -> (b o) ...") + + padding = get_same_padding(h, self.kernel, self.dilation, self.stride) + fmap = F.conv2d(fmap, weights, padding=padding, groups=b) + + return rearrange(fmap, "1 (b o) ... -> b o ...", b=b) + + +class Attend(nn.Module): + def __init__(self, dropout=0.0, flash=False): + super().__init__() + self.dropout = dropout + self.attn_dropout = nn.Dropout(dropout) + self.scale = nn.Parameter(torch.randn(1)) + self.flash = flash + + def flash_attn(self, q, k, v): + q, k, v = map(lambda t: t.contiguous(), (q, k, v)) + out = F.scaled_dot_product_attention( + q, k, v, dropout_p=self.dropout if self.training else 0.0 + ) + return out + + def forward(self, q, k, v): + if self.flash: + return self.flash_attn(q, k, v) + + scale = q.shape[-1] ** -0.5 + + # similarity + sim = einsum("b h i d, b h j d -> b h i j", q, k) * scale + + # attention + attn = sim.softmax(dim=-1) + attn = self.attn_dropout(attn) + + # aggregate values + out = einsum("b h i j, b h j d -> b h i d", attn, v) + + return out + + +def exists(x): + return x is not None + + +def default(val, d): + if exists(val): + return val + return d() if callable(d) else d + + +def cast_tuple(t, length=1): + if isinstance(t, tuple): + return t + return (t,) * length + + +def identity(t, *args, **kwargs): + return t + + +def is_power_of_two(n): + return log2(n).is_integer() + + +def null_iterator(): + while True: + yield None + +def Downsample(dim, dim_out=None): + return nn.Sequential( + Rearrange("b c (h p1) (w p2) -> b (c p1 p2) h w", p1=2, p2=2), + nn.Conv2d(dim * 4, default(dim_out, dim), 1), + ) + + +class RMSNorm(nn.Module): + def __init__(self, dim): + super().__init__() + self.g = nn.Parameter(torch.ones(1, dim, 1, 1)) + self.eps = 1e-4 + + def forward(self, x): + return F.normalize(x, dim=1) * self.g * (x.shape[1] ** 0.5) + + +# building block modules + + +class Block(nn.Module): + def __init__(self, dim, dim_out, groups=8, num_conv_kernels=0): + super().__init__() + self.proj = AdaptiveConv2DMod( + dim, dim_out, kernel=3, num_conv_kernels=num_conv_kernels + ) + self.kernel = 3 + self.dilation = 1 + self.stride = 1 + + self.act = nn.SiLU() + + def forward(self, x, conv_mods_iter: Optional[Iterable] = None): + conv_mods_iter = default(conv_mods_iter, null_iterator()) + + x = self.proj(x, mod=next(conv_mods_iter), kernel_mod=next(conv_mods_iter)) + + x = self.act(x) + return x + + +class ResnetBlock(nn.Module): + def __init__( + self, dim, dim_out, *, groups=8, num_conv_kernels=0, style_dims: List = [] + ): + super().__init__() + style_dims.extend([dim, num_conv_kernels, dim_out, num_conv_kernels]) + + self.block1 = Block( + dim, dim_out, groups=groups, num_conv_kernels=num_conv_kernels + ) + self.block2 = Block( + dim_out, dim_out, groups=groups, num_conv_kernels=num_conv_kernels + ) + self.res_conv = nn.Conv2d(dim, dim_out, 1) if dim != dim_out else nn.Identity() + + def forward(self, x, conv_mods_iter: Optional[Iterable] = None): + h = self.block1(x, conv_mods_iter=conv_mods_iter) + h = self.block2(h, conv_mods_iter=conv_mods_iter) + + return h + self.res_conv(x) + + +class LinearAttention(nn.Module): + def __init__(self, dim, heads=4, dim_head=32): + super().__init__() + self.scale = dim_head**-0.5 + self.heads = heads + hidden_dim = dim_head * heads + + self.norm = RMSNorm(dim) + self.to_qkv = nn.Conv2d(dim, hidden_dim * 3, 1, bias=False) + + self.to_out = nn.Sequential(nn.Conv2d(hidden_dim, dim, 1), RMSNorm(dim)) + + def forward(self, x): + b, c, h, w = x.shape + + x = self.norm(x) + + qkv = self.to_qkv(x).chunk(3, dim=1) + q, k, v = map( + lambda t: rearrange(t, "b (h c) x y -> b h c (x y)", h=self.heads), qkv + ) + + q = q.softmax(dim=-2) + k = k.softmax(dim=-1) + + q = q * self.scale + + context = torch.einsum("b h d n, b h e n -> b h d e", k, v) + + out = torch.einsum("b h d e, b h d n -> b h e n", context, q) + out = rearrange(out, "b h c (x y) -> b (h c) x y", h=self.heads, x=h, y=w) + return self.to_out(out) + + +class Attention(nn.Module): + def __init__(self, dim, heads=4, dim_head=32, flash=False): + super().__init__() + self.heads = heads + hidden_dim = dim_head * heads + + self.norm = RMSNorm(dim) + + self.attend = Attend(flash=flash) + self.to_qkv = nn.Conv2d(dim, hidden_dim * 3, 1, bias=False) + self.to_out = nn.Conv2d(hidden_dim, dim, 1) + + def forward(self, x): + b, c, h, w = x.shape + x = self.norm(x) + qkv = self.to_qkv(x).chunk(3, dim=1) + + q, k, v = map( + lambda t: rearrange(t, "b (h c) x y -> b h (x y) c", h=self.heads), qkv + ) + + out = self.attend(q, k, v) + out = rearrange(out, "b h (x y) d -> b (h d) x y", x=h, y=w) + + return self.to_out(out) + + +# feedforward +def FeedForward(dim, mult=4): + return nn.Sequential( + RMSNorm(dim), + nn.Conv2d(dim, dim * mult, 1), + nn.GELU(), + nn.Conv2d(dim * mult, dim, 1), + ) + + +# transformers +class Transformer(nn.Module): + def __init__(self, dim, dim_head=64, heads=8, depth=1, flash_attn=True, ff_mult=4): + super().__init__() + self.layers = nn.ModuleList([]) + + for _ in range(depth): + self.layers.append( + nn.ModuleList( + [ + Attention( + dim=dim, dim_head=dim_head, heads=heads, flash=flash_attn + ), + FeedForward(dim=dim, mult=ff_mult), + ] + ) + ) + + def forward(self, x): + for attn, ff in self.layers: + x = attn(x) + x + x = ff(x) + x + + return x + + +class LinearTransformer(nn.Module): + def __init__(self, dim, dim_head=64, heads=8, depth=1, ff_mult=4): + super().__init__() + self.layers = nn.ModuleList([]) + + for _ in range(depth): + self.layers.append( + nn.ModuleList( + [ + LinearAttention(dim=dim, dim_head=dim_head, heads=heads), + FeedForward(dim=dim, mult=ff_mult), + ] + ) + ) + + def forward(self, x): + for attn, ff in self.layers: + x = attn(x) + x + x = ff(x) + x + + return x + + +class NearestNeighborhoodUpsample(nn.Module): + def __init__(self, dim, dim_out=None): + super().__init__() + dim_out = default(dim_out, dim) + self.conv = nn.Conv2d(dim, dim_out, kernel_size=3, stride=1, padding=1) + + def forward(self, x): + + if x.shape[0] >= 64: + x = x.contiguous() + + x = F.interpolate(x, scale_factor=2.0, mode="nearest") + x = self.conv(x) + + return x + +class EqualLinear(nn.Module): + def __init__(self, dim, dim_out, lr_mul=1, bias=True): + super().__init__() + self.weight = nn.Parameter(torch.randn(dim_out, dim)) + if bias: + self.bias = nn.Parameter(torch.zeros(dim_out)) + + self.lr_mul = lr_mul + + def forward(self, input): + return F.linear(input, self.weight * self.lr_mul, bias=self.bias * self.lr_mul) + + +class StyleGanNetwork(nn.Module): + def __init__(self, dim_in=128, dim_out=512, depth=8, lr_mul=0.1, dim_text_latent=0): + super().__init__() + self.dim_in = dim_in + self.dim_out = dim_out + self.dim_text_latent = dim_text_latent + + layers = [] + for i in range(depth): + is_first = i == 0 + + if is_first: + dim_in_layer = dim_in + dim_text_latent + else: + dim_in_layer = dim_out + + dim_out_layer = dim_out + + layers.extend( + [EqualLinear(dim_in_layer, dim_out_layer, lr_mul), nn.LeakyReLU(0.2)] + ) + + self.net = nn.Sequential(*layers) + + def forward(self, x, text_latent=None): + x = F.normalize(x, dim=1) + if self.dim_text_latent > 0: + assert exists(text_latent) + x = torch.cat((x, text_latent), dim=-1) + return self.net(x) + + +class UnetUpsampler(torch.nn.Module): + + def __init__( + self, + dim: int, + *, + image_size: int, + input_image_size: int, + init_dim: Optional[int] = None, + out_dim: Optional[int] = None, + style_network: Optional[dict] = None, + up_dim_mults: tuple = (1, 2, 4, 8, 16), + down_dim_mults: tuple = (4, 8, 16), + channels: int = 3, + resnet_block_groups: int = 8, + full_attn: tuple = (False, False, False, True, True), + flash_attn: bool = True, + self_attn_dim_head: int = 64, + self_attn_heads: int = 8, + attn_depths: tuple = (2, 2, 2, 2, 4), + mid_attn_depth: int = 4, + num_conv_kernels: int = 4, + resize_mode: str = "bilinear", + unconditional: bool = True, + skip_connect_scale: Optional[float] = None, + ): + super().__init__() + self.style_network = style_network = StyleGanNetwork(**style_network) + self.unconditional = unconditional + assert not ( + unconditional + and exists(style_network) + and style_network.dim_text_latent > 0 + ) + + assert is_power_of_two(image_size) and is_power_of_two( + input_image_size + ), "both output image size and input image size must be power of 2" + assert ( + input_image_size < image_size + ), "input image size must be smaller than the output image size, thus upsampling" + + self.image_size = image_size + self.input_image_size = input_image_size + + style_embed_split_dims = [] + + self.channels = channels + input_channels = channels + + init_dim = default(init_dim, dim) + + up_dims = [init_dim, *map(lambda m: dim * m, up_dim_mults)] + init_down_dim = up_dims[len(up_dim_mults) - len(down_dim_mults)] + down_dims = [init_down_dim, *map(lambda m: dim * m, down_dim_mults)] + self.init_conv = nn.Conv2d(input_channels, init_down_dim, 7, padding=3) + + up_in_out = list(zip(up_dims[:-1], up_dims[1:])) + down_in_out = list(zip(down_dims[:-1], down_dims[1:])) + + block_klass = partial( + ResnetBlock, + groups=resnet_block_groups, + num_conv_kernels=num_conv_kernels, + style_dims=style_embed_split_dims, + ) + + FullAttention = partial(Transformer, flash_attn=flash_attn) + *_, mid_dim = up_dims + + self.skip_connect_scale = default(skip_connect_scale, 2**-0.5) + + self.downs = nn.ModuleList([]) + self.ups = nn.ModuleList([]) + + block_count = 6 + + for ind, ( + (dim_in, dim_out), + layer_full_attn, + layer_attn_depth, + ) in enumerate(zip(down_in_out, full_attn, attn_depths)): + attn_klass = FullAttention if layer_full_attn else LinearTransformer + + blocks = [] + for i in range(block_count): + blocks.append(block_klass(dim_in, dim_in)) + + self.downs.append( + nn.ModuleList( + [ + nn.ModuleList(blocks), + nn.ModuleList( + [ + ( + attn_klass( + dim_in, + dim_head=self_attn_dim_head, + heads=self_attn_heads, + depth=layer_attn_depth, + ) + if layer_full_attn + else None + ), + nn.Conv2d( + dim_in, dim_out, kernel_size=3, stride=2, padding=1 + ), + ] + ), + ] + ) + ) + + self.mid_block1 = block_klass(mid_dim, mid_dim) + self.mid_attn = FullAttention( + mid_dim, + dim_head=self_attn_dim_head, + heads=self_attn_heads, + depth=mid_attn_depth, + ) + self.mid_block2 = block_klass(mid_dim, mid_dim) + + *_, last_dim = up_dims + + for ind, ( + (dim_in, dim_out), + layer_full_attn, + layer_attn_depth, + ) in enumerate( + zip( + reversed(up_in_out), + reversed(full_attn), + reversed(attn_depths), + ) + ): + attn_klass = FullAttention if layer_full_attn else LinearTransformer + + blocks = [] + input_dim = dim_in * 2 if ind < len(down_in_out) else dim_in + for i in range(block_count): + blocks.append(block_klass(input_dim, dim_in)) + + self.ups.append( + nn.ModuleList( + [ + nn.ModuleList(blocks), + nn.ModuleList( + [ + NearestNeighborhoodUpsample( + last_dim if ind == 0 else dim_out, + dim_in, + ), + ( + attn_klass( + dim_in, + dim_head=self_attn_dim_head, + heads=self_attn_heads, + depth=layer_attn_depth, + ) + if layer_full_attn + else None + ), + ] + ), + ] + ) + ) + + self.out_dim = default(out_dim, channels) + self.final_res_block = block_klass(dim, dim) + self.final_to_rgb = nn.Conv2d(dim, channels, 1) + self.resize_mode = resize_mode + self.style_to_conv_modulations = nn.Linear( + style_network.dim_out, sum(style_embed_split_dims) + ) + self.style_embed_split_dims = style_embed_split_dims + + @property + def allowable_rgb_resolutions(self): + input_res_base = int(log2(self.input_image_size)) + output_res_base = int(log2(self.image_size)) + allowed_rgb_res_base = list(range(input_res_base, output_res_base)) + return [*map(lambda p: 2**p, allowed_rgb_res_base)] + + @property + def device(self): + return next(self.parameters()).device + + @property + def total_params(self): + return sum([p.numel() for p in self.parameters()]) + + def resize_image_to(self, x, size): + return F.interpolate(x, (size, size), mode=self.resize_mode) + + def forward( + self, + lowres_image: torch.Tensor, + styles: Optional[torch.Tensor] = None, + noise: Optional[torch.Tensor] = None, + global_text_tokens: Optional[torch.Tensor] = None, + return_all_rgbs: bool = False, + ): + x = lowres_image + + noise_scale = 0.001 # Adjust the scale of the noise as needed + noise_aug = torch.randn_like(x) * noise_scale + x = x + noise_aug + x = x.clamp(0, 1) + + shape = x.shape + batch_size = shape[0] + + assert shape[-2:] == ((self.input_image_size,) * 2) + + # styles + if not exists(styles): + assert exists(self.style_network) + + noise = default( + noise, + torch.randn( + (batch_size, self.style_network.dim_in), device=self.device + ), + ) + styles = self.style_network(noise, global_text_tokens) + + # project styles to conv modulations + conv_mods = self.style_to_conv_modulations(styles) + conv_mods = conv_mods.split(self.style_embed_split_dims, dim=-1) + conv_mods = iter(conv_mods) + + x = self.init_conv(x) + + h = [] + for blocks, (attn, downsample) in self.downs: + for block in blocks: + x = block(x, conv_mods_iter=conv_mods) + h.append(x) + + if attn is not None: + x = attn(x) + + x = downsample(x) + + x = self.mid_block1(x, conv_mods_iter=conv_mods) + x = self.mid_attn(x) + x = self.mid_block2(x, conv_mods_iter=conv_mods) + + for ( + blocks, + ( + upsample, + attn, + ), + ) in self.ups: + x = upsample(x) + for block in blocks: + if h != []: + res = h.pop() + res = res * self.skip_connect_scale + x = torch.cat((x, res), dim=1) + + x = block(x, conv_mods_iter=conv_mods) + + if attn is not None: + x = attn(x) + + x = self.final_res_block(x, conv_mods_iter=conv_mods) + rgb = self.final_to_rgb(x) + + if not return_all_rgbs: + return rgb + + return rgb, [] + + +def tile_image(image, chunk_size=64): + c, h, w = image.shape + h_chunks = ceil(h / chunk_size) + w_chunks = ceil(w / chunk_size) + tiles = [] + for i in range(h_chunks): + for j in range(w_chunks): + tile = image[:, i * chunk_size:(i + 1) * chunk_size, j * chunk_size:(j + 1) * chunk_size] + tiles.append(tile) + return tiles, h_chunks, w_chunks + + +def merge_tiles(tiles, h_chunks, w_chunks, chunk_size=64): + # Determine the shape of the output tensor + c = tiles[0].shape[0] + h = h_chunks * chunk_size + w = w_chunks * chunk_size + + # Create an empty tensor to hold the merged image + merged = torch.zeros((c, h, w), dtype=tiles[0].dtype) + + # Iterate over the tiles and place them in the correct position + for idx, tile in enumerate(tiles): + i = idx // w_chunks + j = idx % w_chunks + + h_start = i * chunk_size + w_start = j * chunk_size + + tile_h, tile_w = tile.shape[1:] + merged[:, h_start:h_start+tile_h, w_start:w_start+tile_w] = tile + + return merged + + +class AuraSR: + def __init__(self, config: dict[str, Any], device: str = "cuda"): + self.upsampler = UnetUpsampler(**config).to(device) + self.input_image_size = config["input_image_size"] + + @classmethod + def from_pretrained(cls, model_id: str = "fal-ai/AuraSR", use_safetensors: bool = True): + import json + import torch + from pathlib import Path + from huggingface_hub import snapshot_download + + # Check if model_id is a local file + if Path(model_id).is_file(): + local_file = Path(model_id) + if local_file.suffix == '.safetensors': + use_safetensors = True + elif local_file.suffix == '.ckpt': + use_safetensors = False + else: + raise ValueError(f"Unsupported file format: {local_file.suffix}. Please use .safetensors or .ckpt files.") + + # For local files, we need to provide the config separately + config_path = local_file.with_name('config.json') + if not config_path.exists(): + raise FileNotFoundError( + f"Config file not found: {config_path}. " + f"When loading from a local file, ensure that 'config.json' " + f"is present in the same directory as '{local_file.name}'. " + f"If you're trying to load a model from Hugging Face, " + f"please provide the model ID instead of a file path." + ) + + config = json.loads(config_path.read_text()) + hf_model_path = local_file.parent + else: + hf_model_path = Path(snapshot_download(model_id)) + config = json.loads((hf_model_path / "config.json").read_text()) + + model = cls(config) + + if use_safetensors: + try: + from safetensors.torch import load_file + checkpoint = load_file(hf_model_path / "model.safetensors" if not Path(model_id).is_file() else model_id) + except ImportError: + raise ImportError( + "The safetensors library is not installed. " + "Please install it with `pip install safetensors` " + "or use `use_safetensors=False` to load the model with PyTorch." + ) + else: + checkpoint = torch.load(hf_model_path / "model.ckpt" if not Path(model_id).is_file() else model_id) + + model.upsampler.load_state_dict(checkpoint, strict=True) + return model + + @torch.no_grad() + def upscale_4x(self, image: Image.Image, max_batch_size=8) -> Image.Image: + tensor_transform = transforms.ToTensor() + device = self.upsampler.device + + image_tensor = tensor_transform(image).unsqueeze(0) + _, _, h, w = image_tensor.shape + pad_h = (self.input_image_size - h % self.input_image_size) % self.input_image_size + pad_w = (self.input_image_size - w % self.input_image_size) % self.input_image_size + + # Pad the image + image_tensor = torch.nn.functional.pad(image_tensor, (0, pad_w, 0, pad_h), mode='reflect').squeeze(0) + tiles, h_chunks, w_chunks = tile_image(image_tensor, self.input_image_size) + + # Batch processing of tiles + num_tiles = len(tiles) + batches = [tiles[i:i + max_batch_size] for i in range(0, num_tiles, max_batch_size)] + reconstructed_tiles = [] + + for batch in batches: + model_input = torch.stack(batch).to(device) + generator_output = self.upsampler( + lowres_image=model_input, + noise=torch.randn(model_input.shape[0], 128, device=device) + ) + reconstructed_tiles.extend(list(generator_output.clamp_(0, 1).detach().cpu())) + + merged_tensor = merge_tiles(reconstructed_tiles, h_chunks, w_chunks, self.input_image_size * 4) + unpadded = merged_tensor[:, :h * 4, :w * 4] + + to_pil = transforms.ToPILImage() + return to_pil(unpadded) diff --git a/modules/postprocess/aurasr_model.py b/modules/postprocess/aurasr_model.py new file mode 100644 index 000000000..d1e69455e --- /dev/null +++ b/modules/postprocess/aurasr_model.py @@ -0,0 +1,37 @@ +import torch +import diffusers +from PIL import Image +from modules import shared, devices +from modules.upscaler import Upscaler, UpscalerData +from installer import install + +class UpscalerAuraSR(Upscaler): + def __init__(self, dirname): # pylint: disable=super-init-not-called + self.name = "AuraSR" + self.user_path = dirname + self.model = None + if not shared.native: + super().__init__() + return + self.scalers = [ + UpscalerData(name="Aura SR 4x", path="stabilityai/sd-x2-latent-upscaler", upscaler=self, model=None, scale=4), + ] + + def callback(self, _step: int, _timestep: int, _latents: torch.FloatTensor): + pass + + def do_upscale(self, img: Image.Image, selected_model): + from modules.postprocess.aurasr_arch import AuraSR + if self.model is None: + self.model = AuraSR.from_pretrained("vladmandic/aurasr", use_safetensors=False) + devices.torch_gc() + + self.model.upsampler.to(devices.device) + image = self.model.upscale_4x(img) + self.model.upsampler.to(devices.cpu) + + if shared.opts.upscaler_unload and selected_model in self.models: + self.model = None + shared.log.debug(f"Upscaler unloaded: type={self.name} model={selected_model}") + devices.torch_gc(force=True) + return image From 173ec9d79f3810d0059acb38a4bf918524a22239 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 5 Jul 2024 09:36:05 -0400 Subject: [PATCH 54/66] update changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e440784b..7f1ccb53a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ # Change Log for SD.Next TODO: -- - Requires `diffusers==0.30.0` -- Alpha Lumina +- Alpha Lumina: https://github.com/huggingface/diffusers/pull/8652 +- LavenderFlow: https://github.com/huggingface/diffusers/pull/8796 ## Update for 2024-07-05 From 32dc4b3ab495894435cc129a8259f5f4db977158 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 5 Jul 2024 20:06:06 -0400 Subject: [PATCH 55/66] draft lumina work --- CHANGELOG.md | 10 +++++++--- html/reference.json | 1 + modules/model_lumina.py | 25 +++++++++++++++++++++++++ modules/sd_models.py | 11 +++++++++++ modules/sd_samplers_diffusers.py | 3 +++ modules/shared_items.py | 2 ++ requirements.txt | 2 +- 7 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 modules/model_lumina.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f1ccb53a..e04990523 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,22 +2,26 @@ TODO: - Requires `diffusers==0.30.0` -- Alpha Lumina: https://github.com/huggingface/diffusers/pull/8652 +- AlphaVLLM Lumina-Next: https://github.com/huggingface/diffusers/pull/8652 - LavenderFlow: https://github.com/huggingface/diffusers/pull/8796 +- FlowMatchHeunDiscreteScheduler ## Update for 2024-07-05 - massive updates to [Wiki](https://github.com/vladmandic/automatic/wiki) with over 20 new pages and articles, now includes guides for nearly all major features thanks @GenesisArtemis! -- support for DoRA networks, thanks @AI-Casanova! +- support for [AlphaVLLM Lumina-Next-SFT](https://huggingface.co/Alpha-VLLM/Lumina-Next-SFT-diffusers) + note: this is a large model at 8.6GB and uses T5 XXL variation of text encoder + (previous version of Lumina used Gemma 2B as text encoder) - support for [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) - support for [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model - support for [AuraSR](https://huggingface.co/fal/AuraSR) high-quality 4x GAN-style upscaling model note: this is a large upscaler at 2.5GB - support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! to use, simply add `--uv` to your command line params -- enable `Florence` VLM for all platforms, thanks @lshqqytiger! +- support for **DoRA** networks, thanks @AI-Casanova! +- enable **Florence VLM** for all platforms, thanks @lshqqytiger! - add SD3 with FP16 T5 to list of detected models - fix executing extensions with zero params - add support for embeddings bundled in LoRA, thanks @AI-Casanova! diff --git a/html/reference.json b/html/reference.json index c8eaee3f0..7c5101841 100644 --- a/html/reference.json +++ b/html/reference.json @@ -193,6 +193,7 @@ "path": "Alpha-VLLM/Lumina-Next-SFT-diffusers", "desc": "The Lumina-Next-SFT is a Next-DiT model containing 2B parameters and utilizes Gemma-2B as the text encoder, enhanced through high-quality supervised fine-tuning (SFT).", "preview": "Alpha-VLLM-Lumina-Next-SFT-diffusers.jpg", + "skip": true, "extras": "width: 1024, height: 1024, sampler: Default, cfg_scale: 2.0" }, diff --git a/modules/model_lumina.py b/modules/model_lumina.py new file mode 100644 index 000000000..72bf04e2a --- /dev/null +++ b/modules/model_lumina.py @@ -0,0 +1,25 @@ +import diffusers + + +def load_lumina(_checkpoint_info, diffusers_load_config={}): + from modules import shared, devices, modelloader + modelloader.hf_login() + # {'low_cpu_mem_usage': True, 'torch_dtype': torch.float16, 'load_connected_pipeline': True, 'safety_checker': None, 'requires_safety_checker': False} + if 'torch_dtype' not in diffusers_load_config: + diffusers_load_config['torch_dtype'] = 'torch.float16' + if 'low_cpu_mem_usage' in diffusers_load_config: + del diffusers_load_config['low_cpu_mem_usage'] + if 'load_connected_pipeline' in diffusers_load_config: + del diffusers_load_config['load_connected_pipeline'] + if 'safety_checker' in diffusers_load_config: + del diffusers_load_config['safety_checker'] + if 'requires_safety_checker' in diffusers_load_config: + del diffusers_load_config['requires_safety_checker'] + pipe = diffusers.LuminaText2ImgPipeline.from_pretrained( + 'Alpha-VLLM/Lumina-Next-SFT-diffusers', + cache_dir = shared.opts.diffusers_dir, + **diffusers_load_config, + ) + print('HERE2', diffusers_load_config) + devices.torch_gc() + return pipe diff --git a/modules/sd_models.py b/modules/sd_models.py index 236cd821d..4f433b90a 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -611,6 +611,8 @@ def detect_pipeline(f: str, op: str = 'model', warning=True, quiet=False): guess = 'Stable Cascade' if 'pixart-sigma' in f.lower(): guess = 'PixArt-Sigma' + if 'lumina-next' in f.lower(): + guess = 'Lumina-Next' # switch for specific variant if guess == 'Stable Diffusion' and 'inpaint' in f.lower(): guess = 'Stable Diffusion Inpaint' @@ -992,6 +994,15 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No if debug_load: errors.display(e, 'Load') return + elif model_type in ['Lumina-Next']: # forced pipeline + try: + from modules.model_lumina import load_lumina + sd_model = load_lumina(checkpoint_info, diffusers_load_config) + except Exception as e: + shared.log.error(f'Diffusers Failed loading {op}: {checkpoint_info.path} {e}') + if debug_load: + errors.display(e, 'Load') + return elif model_type in ['Stable Diffusion 3']: try: from modules.model_sd3 import load_sd3 diff --git a/modules/sd_samplers_diffusers.py b/modules/sd_samplers_diffusers.py index 997ca5c3a..fa0c7aebb 100644 --- a/modules/sd_samplers_diffusers.py +++ b/modules/sd_samplers_diffusers.py @@ -33,6 +33,7 @@ try: PNDMScheduler, SASolverScheduler, FlowMatchEulerDiscreteScheduler, + # FlowMatchHeunDiscreteScheduler, ) except Exception as e: import diffusers @@ -67,6 +68,7 @@ config = { 'DPM++ 2M EDM': { 'solver_order': 2, 'solver_type': 'midpoint', 'final_sigmas_type': 'zero', 'algorithm_type': 'dpmsolver++' }, 'CMSI': { }, #{ 'sigma_min': 0.002, 'sigma_max': 80.0, 'sigma_data': 0.5, 's_noise': 1.0, 'rho': 7.0, 'clip_denoised': True }, 'Euler FlowMatch': { 'shift': 1, }, + # 'Heun FlowMatch': { 'shift': 1, }, 'IPNDM': { }, } @@ -99,6 +101,7 @@ samplers_data_diffusers = [ sd_samplers_common.SamplerData('TCD', lambda model: DiffusionSampler('TCD', TCDScheduler, model), [], {}), sd_samplers_common.SamplerData('CMSI', lambda model: DiffusionSampler('CMSI', CMStochasticIterativeScheduler, model), [], {}), sd_samplers_common.SamplerData('Euler FlowMatch', lambda model: DiffusionSampler('Euler FlowMatch', FlowMatchEulerDiscreteScheduler, model), [], {}), + # sd_samplers_common.SamplerData('Heun FlowMatch', lambda model: DiffusionSampler('Heun FlowMatch', FlowMatchHeunDiscreteScheduler, model), [], {}), sd_samplers_common.SamplerData('Same as primary', None, [], {}), ] diff --git a/modules/shared_items.py b/modules/shared_items.py index cc352f14f..cfeea03c6 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -99,6 +99,8 @@ def get_pipelines(): if hasattr(diffusers, 'StableDiffusion3Pipeline'): pipelines['Stable Diffusion 3'] = getattr(diffusers, 'StableDiffusion3Pipeline', None) pipelines['Stable Diffusion 3 Img2Img'] = getattr(diffusers, 'StableDiffusion3Img2ImgPipeline', None) + if hasattr(diffusers, 'LuminaText2ImgPipeline'): + pipelines['Lumina-Next'] = getattr(diffusers, 'LuminaText2ImgPipeline', None) for k, v in pipelines.items(): if k != 'Autodetect' and v is None: diff --git a/requirements.txt b/requirements.txt index 555d99e65..69a74cac8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -53,7 +53,7 @@ pandas protobuf==4.25.3 pytorch_lightning==1.9.4 tokenizers==0.19.1 -transformers==4.41.2 +transformers==4.42.3 urllib3==1.26.19 Pillow==10.3.0 timm==0.9.16 From 6211c353aaf7ce6ad2bdb8bb59ef4589ecb9a324 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 6 Jul 2024 08:54:02 -0400 Subject: [PATCH 56/66] faceswap handle no faces found --- CHANGELOG.md | 1 + modules/face/faceswap.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e04990523..2d0cb6b41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ TODO: - fix current step for higher order samplers - fix control input type video - fix reset pipeline at the end of each iteration +- fix faceswap when no faces detected - multiple ModernUI fixes ## Update for 2024-06-23 diff --git a/modules/face/faceswap.py b/modules/face/faceswap.py index 2d03a5232..2868d6c78 100644 --- a/modules/face/faceswap.py +++ b/modules/face/faceswap.py @@ -22,6 +22,9 @@ def face_swap(p: processing.StableDiffusionProcessing, app, input_images: List[I np_image = cv2.cvtColor(np.array(source_image), cv2.COLOR_RGB2BGR) faces = app.get(np_image) + if faces is None or len(faces) == 0: + shared.log.warning('FaceSwap: No faces detected') + return source_face = faces[0] processed_images = [] for image in input_images: From a6cf31b873ee6395c352ea91c0a12b5435cb4750 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 6 Jul 2024 09:33:45 -0400 Subject: [PATCH 57/66] zero token counter when using large encoder models --- CHANGELOG.md | 8 ++++++-- modules/model_lumina.py | 1 - modules/ui_common.py | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d0cb6b41..65a7e9ba0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,8 @@ TODO: - Requires `diffusers==0.30.0` -- AlphaVLLM Lumina-Next: https://github.com/huggingface/diffusers/pull/8652 - LavenderFlow: https://github.com/huggingface/diffusers/pull/8796 +- - FlowMatchHeunDiscreteScheduler ## Update for 2024-07-05 @@ -12,10 +12,14 @@ TODO: with over 20 new pages and articles, now includes guides for nearly all major features thanks @GenesisArtemis! - support for [AlphaVLLM Lumina-Next-SFT](https://huggingface.co/Alpha-VLLM/Lumina-Next-SFT-diffusers) - note: this is a large model at 8.6GB and uses T5 XXL variation of text encoder + to use, simply select from *networks -> reference + use scheduler: default or euler flowmatch or heun flowmatch + note: this model uses T5 XXL variation of text encoder (previous version of Lumina used Gemma 2B as text encoder) - support for [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) + to use, simply select from *networks -> reference - support for [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model + to use, simply select in process -> visual query - support for [AuraSR](https://huggingface.co/fal/AuraSR) high-quality 4x GAN-style upscaling model note: this is a large upscaler at 2.5GB - support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! diff --git a/modules/model_lumina.py b/modules/model_lumina.py index 72bf04e2a..ca5f2e7b8 100644 --- a/modules/model_lumina.py +++ b/modules/model_lumina.py @@ -20,6 +20,5 @@ def load_lumina(_checkpoint_info, diffusers_load_config={}): cache_dir = shared.opts.diffusers_dir, **diffusers_load_config, ) - print('HERE2', diffusers_load_config) devices.torch_gc() return pipe diff --git a/modules/ui_common.py b/modules/ui_common.py index 1b8c5aade..f83e8594f 100644 --- a/modules/ui_common.py +++ b/modules/ui_common.py @@ -407,4 +407,6 @@ def update_token_counter(text, steps): ids = getattr(ids, 'input_ids', []) token_count = len(ids) - int(has_bos_token) - int(has_eos_token) max_length = shared.sd_model.tokenizer.model_max_length - int(has_bos_token) - int(has_eos_token) + if max_length is None or max_length < 0 or max_length > 10000: + max_length = 0 return f"{token_count}/{max_length}" From f3a327106fe0d0e09c7c386628a86f506265645a Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 6 Jul 2024 09:35:21 -0400 Subject: [PATCH 58/66] update wiki --- wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wiki b/wiki index 90e4cab15..68fa996e9 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 90e4cab150630f78f5cf12f7218b1e2697dd5de5 +Subproject commit 68fa996e9231572c244548ef2690adbce018d70b From f0a3e614a910aedb8faef2a652c50cef2555aae3 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 6 Jul 2024 10:02:05 -0400 Subject: [PATCH 59/66] update changelog --- CHANGELOG.md | 2 +- html/reference.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65a7e9ba0..c6ecd9020 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ TODO: - Requires `diffusers==0.30.0` - LavenderFlow: https://github.com/huggingface/diffusers/pull/8796 -- +- Kolors: https://github.com/huggingface/diffusers/issues/8801 - FlowMatchHeunDiscreteScheduler ## Update for 2024-07-05 diff --git a/html/reference.json b/html/reference.json index 7c5101841..ccdcffa84 100644 --- a/html/reference.json +++ b/html/reference.json @@ -194,7 +194,7 @@ "desc": "The Lumina-Next-SFT is a Next-DiT model containing 2B parameters and utilizes Gemma-2B as the text encoder, enhanced through high-quality supervised fine-tuning (SFT).", "preview": "Alpha-VLLM-Lumina-Next-SFT-diffusers.jpg", "skip": true, - "extras": "width: 1024, height: 1024, sampler: Default, cfg_scale: 2.0" + "extras": "width: 1024, height: 1024, sampler: Default" }, "Kandinsky 2.1": { From 2d5c6f2d171725c0947c01115e498609540b0af7 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 7 Jul 2024 02:52:28 +0300 Subject: [PATCH 60/66] Make ROCm 6.0 the default for 6.1 if --experimental is none --- installer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/installer.py b/installer.py index 707af8a7a..9bfef9a77 100644 --- a/installer.py +++ b/installer.py @@ -533,7 +533,10 @@ def install_rocm_zluda(torch_command): if rocm_ver is None: # assume the latest if version check fails torch_command = os.environ.get('TORCH_COMMAND', 'torch torchvision --index-url https://download.pytorch.org/whl/rocm6.0') elif rocm_ver == "6.1": # need nightlies - torch_command = os.environ.get('TORCH_COMMAND', 'torch torchvision --pre --index-url https://download.pytorch.org/whl/nightly/rocm6.1') + if args.experimental: + torch_command = os.environ.get('TORCH_COMMAND', 'torch torchvision --pre --index-url https://download.pytorch.org/whl/nightly/rocm6.1') + else: + torch_command = os.environ.get('TORCH_COMMAND', 'torch torchvision --index-url https://download.pytorch.org/whl/rocm6.0') elif float(rocm_ver) < 5.5: # oldest supported version is 5.5 log.warning(f"Unsupported ROCm version detected: {rocm_ver}") log.warning("Minimum supported ROCm version is 5.5") From a1e6a35e8afe9b2aa0cf16559010c99da540e52a Mon Sep 17 00:00:00 2001 From: Seunghoon Lee Date: Sun, 7 Jul 2024 17:05:30 +0900 Subject: [PATCH 61/66] rocm wsl fix arch detection --- installer.py | 4 ++++ modules/onnx_impl/execution_providers.py | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/installer.py b/installer.py index 9bfef9a77..e1e84be76 100644 --- a/installer.py +++ b/installer.py @@ -458,6 +458,10 @@ def install_rocm_zluda(torch_command): command = subprocess.run('hipinfo', shell=True, check=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) amd_gpus = command.stdout.decode(encoding="utf8", errors="ignore").split('\n') amd_gpus = [x.split(' ')[-1].strip() for x in amd_gpus if x.startswith('gcnArchName:')] + elif os.environ.get('WSL_DISTRO_NAME', None) is not None: # WSL does not have 'rocm_agent_enumerator' + command = subprocess.run('rocminfo', shell=True, check=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + amd_gpus = command.stdout.decode(encoding="utf8", errors="ignore").split('\n') + amd_gpus = [x.strip().split(" ")[-1] for x in amd_gpus if x.startswith(' Name:') and "CPU" not in x] else: command = subprocess.run('rocm_agent_enumerator', shell=True, check=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) amd_gpus = command.stdout.decode(encoding="utf8", errors="ignore").split('\n') diff --git a/modules/onnx_impl/execution_providers.py b/modules/onnx_impl/execution_providers.py index aa1e7346c..641bf8720 100644 --- a/modules/onnx_impl/execution_providers.py +++ b/modules/onnx_impl/execution_providers.py @@ -52,8 +52,8 @@ def get_execution_provider_options(): execution_provider_options = { "device_id": int(cmd_opts.device_id or 0) } if opts.onnx_execution_provider == ExecutionProvider.ROCm: if ExecutionProvider.ROCm in available_execution_providers: - execution_provider_options["tunable_op_enable"] = 1 - execution_provider_options["tunable_op_tuning_enable"] = 1 + execution_provider_options["tunable_op_enable"] = True + execution_provider_options["tunable_op_tuning_enable"] = True elif opts.onnx_execution_provider == ExecutionProvider.OpenVINO: from modules.intel.openvino import get_device as get_raw_openvino_device device = get_raw_openvino_device() From dddf0f2aebecc9f05bcd492c940f49efb863705b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 7 Jul 2024 12:44:36 -0400 Subject: [PATCH 62/66] draft kwai kolors --- CHANGELOG.md | 41 ++++++++++++++++++++++++------- html/reference.json | 8 ++++++ models/Reference/Kwai-Kolors.jpg | Bin 0 -> 102931 bytes modules/model_kolors.py | 28 +++++++++++++++++++++ modules/sd_models.py | 11 +++++++++ modules/shared_items.py | 1 + 6 files changed, 80 insertions(+), 9 deletions(-) create mode 100644 models/Reference/Kwai-Kolors.jpg create mode 100644 modules/model_kolors.py diff --git a/CHANGELOG.md b/CHANGELOG.md index c6ecd9020..f3a2dfde6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,30 +2,53 @@ TODO: - Requires `diffusers==0.30.0` -- LavenderFlow: https://github.com/huggingface/diffusers/pull/8796 +- AuraFlow/LavenderFlow: https://github.com/huggingface/diffusers/pull/8796 - Kolors: https://github.com/huggingface/diffusers/issues/8801 - FlowMatchHeunDiscreteScheduler -## Update for 2024-07-05 +## Update for 2024-07-07 -- massive updates to [Wiki](https://github.com/vladmandic/automatic/wiki) - with over 20 new pages and articles, now includes guides for nearly all major features - thanks @GenesisArtemis! -- support for [AlphaVLLM Lumina-Next-SFT](https://huggingface.co/Alpha-VLLM/Lumina-Next-SFT-diffusers) +### Highlights + +Massive update to WiKi with over 20 new pages and articles, now includes guides for nearly all major features +Support for new models: +- [AlphaVLLM Lumina-Next-SFT](https://huggingface.co/Alpha-VLLM/Lumina-Next-SFT-diffusers) +- [Kwai Kolors](https://huggingface.co/Kwai-Kolors/Kolors) +- [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) + +New fast-install mode, support for DoRA networks, additional VLM models, new AuraSR upscaler, and more... + +### New Models + +- [AlphaVLLM Lumina-Next-SFT](https://huggingface.co/Alpha-VLLM/Lumina-Next-SFT-diffusers) to use, simply select from *networks -> reference use scheduler: default or euler flowmatch or heun flowmatch note: this model uses T5 XXL variation of text encoder (previous version of Lumina used Gemma 2B as text encoder) -- support for [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) +- [Kwai Kolors](https://huggingface.co/Kwai-Kolors/Kolors) + to use, simply select from *networks -> reference + note: this is an SDXL style model that replaces standard CLiP-L and CLiP-G text encoders with a massive `chatglm3-6b` encoder + however, this new encoder does support both English and Chinese prompting +- [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) to use, simply select from *networks -> reference -- support for [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model +- [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model to use, simply select in process -> visual query -- support for [AuraSR](https://huggingface.co/fal/AuraSR) high-quality 4x GAN-style upscaling model +- [AuraSR](https://huggingface.co/fal/AuraSR) high-quality 4x GAN-style upscaling model note: this is a large upscaler at 2.5GB + +### New Features + +- massive updates to [Wiki](https://github.com/vladmandic/automatic/wiki) + with over 20 new pages and articles, now includes guides for nearly all major features + thanks @GenesisArtemis! - support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! to use, simply add `--uv` to your command line params - support for **DoRA** networks, thanks @AI-Casanova! + +### Other + - enable **Florence VLM** for all platforms, thanks @lshqqytiger! +- improve ROCm detection under WSL2, thanks @lshqqytiger! - add SD3 with FP16 T5 to list of detected models - fix executing extensions with zero params - add support for embeddings bundled in LoRA, thanks @AI-Casanova! diff --git a/html/reference.json b/html/reference.json index ccdcffa84..dfc0a59df 100644 --- a/html/reference.json +++ b/html/reference.json @@ -197,6 +197,14 @@ "extras": "width: 1024, height: 1024, sampler: Default" }, + "Kwai Kolors": { + "path": "Kwai-Kolors/Kolors", + "desc": "Kolors is a large-scale text-to-image generation model based on latent diffusion, developed by the Kuaishou Kolors team. Trained on billions of text-image pairs, Kolors exhibits significant advantages over both open-source and proprietary models in visual quality, complex semantic accuracy, and text rendering for both Chinese and English characters. Furthermore, Kolors supports both Chinese and English inputs", + "preview": "Kwai-Kolors.jpg", + "skip": true, + "extras": "width: 1024, height: 1024" + }, + "Kandinsky 2.1": { "path": "kandinsky-community/kandinsky-2-1", "desc": "Kandinsky 2.1 is a text-conditional diffusion model based on unCLIP and latent diffusion, composed of a transformer-based image prior model, a unet diffusion model, and a decoder. Kandinsky 2.1 inherits best practices from Dall-E 2 and Latent diffusion while introducing some new ideas. It uses the CLIP model as a text and image encoder, and diffusion image prior (mapping) between latent spaces of CLIP modalities. This approach increases the visual performance of the model and unveils new horizons in blending images and text-guided image manipulation.", diff --git a/models/Reference/Kwai-Kolors.jpg b/models/Reference/Kwai-Kolors.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ed14d7cec8e91769eebaa63ee7dbb1ba433dd28 GIT binary patch literal 102931 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≦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%0DbVA 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 literal 0 HcmV?d00001 diff --git a/modules/model_kolors.py b/modules/model_kolors.py new file mode 100644 index 000000000..dcf7c1f26 --- /dev/null +++ b/modules/model_kolors.py @@ -0,0 +1,28 @@ +import torch +import transformers +import diffusers + + +repo_id = 'Kwai-Kolors/Kolors' +encoder_id = 'THUDM/chatglm3-6b' + + +def load_kolors(_checkpoint_info, diffusers_load_config={}): + from modules import shared, devices, modelloader + modelloader.hf_login() + diffusers_load_config['variant'] = "fp16" + if 'torch_dtype' not in diffusers_load_config: + diffusers_load_config['torch_dtype'] = 'torch.float16' + + text_encoder = transformers.AutoModel.from_pretrained(encoder_id, torch_dtype=torch.float16, trust_remote_code=True, cache_dir=shared.opts.diffusers_dir) + # text_encoder = transformers.AutoModel.from_pretrained("THUDM/chatglm3-6b", torch_dtype=torch.float16, trust_remote_code=True).quantize(4).cuda() + tokenizer = transformers.AutoTokenizer.from_pretrained(encoder_id, trust_remote_code=True, cache_dir=shared.opts.diffusers_dir) + pipe = diffusers.StableDiffusionXLPipeline.from_pretrained( + repo_id, + tokenizer=tokenizer, + text_encoder=text_encoder, + cache_dir = shared.opts.diffusers_dir, + **diffusers_load_config, + ) + devices.torch_gc() + return pipe diff --git a/modules/sd_models.py b/modules/sd_models.py index 4f433b90a..47cc8538f 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -613,6 +613,8 @@ def detect_pipeline(f: str, op: str = 'model', warning=True, quiet=False): guess = 'PixArt-Sigma' if 'lumina-next' in f.lower(): guess = 'Lumina-Next' + if 'kolors' in f.lower(): + guess = 'Kolors' # switch for specific variant if guess == 'Stable Diffusion' and 'inpaint' in f.lower(): guess = 'Stable Diffusion Inpaint' @@ -1003,6 +1005,15 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No if debug_load: errors.display(e, 'Load') return + elif model_type in ['Kolors']: # forced pipeline + try: + from modules.model_kolors import load_kolors + sd_model = load_kolors(checkpoint_info, diffusers_load_config) + except Exception as e: + shared.log.error(f'Diffusers Failed loading {op}: {checkpoint_info.path} {e}') + if debug_load: + errors.display(e, 'Load') + return elif model_type in ['Stable Diffusion 3']: try: from modules.model_sd3 import load_sd3 diff --git a/modules/shared_items.py b/modules/shared_items.py index cfeea03c6..e30bb16aa 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -71,6 +71,7 @@ def get_pipelines(): 'Kandinsky 3': getattr(diffusers, 'Kandinsky3Pipeline', None), 'DeepFloyd IF': getattr(diffusers, 'IFPipeline', None), 'Custom Diffusers Pipeline': getattr(diffusers, 'DiffusionPipeline', None), + 'Kolors': getattr(diffusers, 'StableDiffusionXLPipeline', None), 'InstaFlow': getattr(diffusers, 'StableDiffusionPipeline', None), # dynamically redefined and loaded in sd_models.load_diffuser 'SegMoE': getattr(diffusers, 'StableDiffusionPipeline', None), # dynamically redefined and loaded in sd_models.load_diffuser } From 55c5c720484e7af47005ff662d1dd0355796466e Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 7 Jul 2024 12:58:13 -0400 Subject: [PATCH 63/66] add xinsir union and depth models --- CHANGELOG.md | 6 +++++- TODO.md | 2 +- modules/control/units/controlnet.py | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f3a2dfde6..bf5e6331c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ TODO: - AuraFlow/LavenderFlow: https://github.com/huggingface/diffusers/pull/8796 - Kolors: https://github.com/huggingface/diffusers/issues/8801 - FlowMatchHeunDiscreteScheduler +- ControlNet Union: https://huggingface.co/xinsir/controlnet-union-sdxl-1.0 ## Update for 2024-07-07 @@ -16,7 +17,8 @@ Support for new models: - [Kwai Kolors](https://huggingface.co/Kwai-Kolors/Kolors) - [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) -New fast-install mode, support for DoRA networks, additional VLM models, new AuraSR upscaler, and more... +What else? Just a bit... ;) +New **fast-install** mode, new **controlnet-union** *all-in-one* model, support for **DoRA** networks, additional **VLM** models, new **AuraSR** upscaler, and more... ### New Models @@ -31,6 +33,8 @@ New fast-install mode, support for DoRA networks, additional VLM models, new Aur however, this new encoder does support both English and Chinese prompting - [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) to use, simply select from *networks -> reference +- [Xinsir ControlNet++ Union](https://huggingface.co/xinsir/controlnet-union-sdxl-1.0 + new SDXL all-in-one controlnet that can process any kind of preprocessors! - [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model to use, simply select in process -> visual query - [AuraSR](https://huggingface.co/fal/AuraSR) high-quality 4x GAN-style upscaling model diff --git a/TODO.md b/TODO.md index fd704b838..1a63122ec 100644 --- a/TODO.md +++ b/TODO.md @@ -10,7 +10,7 @@ Main ToDo list can be found at [GitHub projects](https://github.com/users/vladma - init latents: variations, img2img - diffusers public callbacks - include reference styles -- lora: sc lora, dora, etc +- lora: sc lora, etc ## Experimental diff --git a/modules/control/units/controlnet.py b/modules/control/units/controlnet.py index 138c5fba9..ec99b7bd6 100644 --- a/modules/control/units/controlnet.py +++ b/modules/control/units/controlnet.py @@ -51,8 +51,10 @@ predefined_sdxl = { 'Depth Mid XL': 'diffusers/controlnet-depth-sdxl-1.0-mid', 'OpenPose XL': 'thibaud/controlnet-openpose-sdxl-1.0/bin', # 'OpenPose XL': 'thibaud/controlnet-openpose-sdxl-1.0/OpenPoseXL2.safetensors', + 'Xinsir Union XL': 'xinsir/controlnet-union-sdxl-1.0', 'Xinsir OpenPose XL': 'xinsir/controlnet-openpose-sdxl-1.0', 'Xinsir Canny XL': 'xinsir/controlnet-canny-sdxl-1.0', + 'Xinsir Depth XL': 'xinsir/controlnet-depth-sdxl-1.0', 'Xinsir Scribble XL': 'xinsir/controlnet-scribble-sdxl-1.0', 'Xinsir Anime Painter XL': 'xinsir/anime-painter', # 'StabilityAI Canny R128': 'stabilityai/control-lora/control-LoRAs-rank128/control-lora-canny-rank128.safetensors', From 8dc4fa4728e3af71691d73d0f49e94a3a53a3cd5 Mon Sep 17 00:00:00 2001 From: JetVarimax <140423365+JetVarimax@users.noreply.github.com> Date: Mon, 8 Jul 2024 14:48:40 +0100 Subject: [PATCH 64/66] CHANGELOG.md fixes --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf5e6331c..6e9b533c2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,10 +69,10 @@ New **fast-install** mode, new **controlnet-union** *all-in-one* model, support ### Highlights for 2024-06-23 -Following zero-day **SD3** release, a 10 days later here's a refresh with 10+ improvements +Following zero-day **SD3** release, a 10 days later heres a refresh with 10+ improvements including full prompt attention, support for compressed weights, additional text-encoder quantization modes. -But there's more than SD3: +But theres more than SD3: - support for quantized **T5** text encoder *FP16/FP8/FP4/INT8* in all models that use T5: SD3, PixArt-Σ, etc. - support for **PixArt-Sigma** in small/medium/large variants - support for **HunyuanDiT 1.1** @@ -110,7 +110,7 @@ But there's more than SD3: ### General Improvements for 2024-06-23 -- support FP4 quantized T5 text encoder, in addtion to existing FP8 and FP16 +- support FP4 quantized T5 text encoder, in addition to existing FP8 and FP16 - support for T5 text-encoder loader in **all** models that use T5 *example*: load FP4 or FP8 quantized T5 text-encoder into PixArt Sigma! - support for `torch-directml` **0.2.2**, thanks @lshqqytiger! From 93a8361f962b40a04c8f0b99ae2af8d92e4af07b Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 9 Jul 2024 09:31:14 -0400 Subject: [PATCH 65/66] update changelog --- CHANGELOG.md | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e9b533c2..dbfe4d4e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,14 @@ # Change Log for SD.Next -TODO: -- Requires `diffusers==0.30.0` -- AuraFlow/LavenderFlow: https://github.com/huggingface/diffusers/pull/8796 -- Kolors: https://github.com/huggingface/diffusers/issues/8801 -- FlowMatchHeunDiscreteScheduler -- ControlNet Union: https://huggingface.co/xinsir/controlnet-union-sdxl-1.0 +## Update for 2024-07-09: WiP -## Update for 2024-07-07 +### Pending + +- Requires `diffusers==0.30.0` +- [AuraFlow/LavenderFlow](https://github.com/huggingface/diffusers/pull/8796) (previously known as LavenderFlow) +- [Kolors](https://github.com/huggingface/diffusers/pull/8812) +- [ControlNet Union](https://huggingface.co/xinsir/controlnet-union-sdxl-1.0) pipeline +- FlowMatchHeunDiscreteScheduler enable ### Highlights @@ -33,23 +34,23 @@ New **fast-install** mode, new **controlnet-union** *all-in-one* model, support however, this new encoder does support both English and Chinese prompting - [HunyuanDiT 1.2](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT-v1.2-Diffusers) to use, simply select from *networks -> reference -- [Xinsir ControlNet++ Union](https://huggingface.co/xinsir/controlnet-union-sdxl-1.0 - new SDXL all-in-one controlnet that can process any kind of preprocessors! -- [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model - to use, simply select in process -> visual query -- [AuraSR](https://huggingface.co/fal/AuraSR) high-quality 4x GAN-style upscaling model - note: this is a large upscaler at 2.5GB -### New Features +## Update for 2024-07-08 - massive updates to [Wiki](https://github.com/vladmandic/automatic/wiki) with over 20 new pages and articles, now includes guides for nearly all major features + *note*: this is work-in-progress, if you have any feedback or suggestions, please let us know! thanks @GenesisArtemis! +- support for **DoRA** networks, thanks @AI-Casanova! - support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! to use, simply add `--uv` to your command line params -- support for **DoRA** networks, thanks @AI-Casanova! -### Other +- [Xinsir ControlNet++ Union](https://huggingface.co/xinsir/controlnet-union-sdxl-1.0) + new SDXL *all-in-one* controlnet that can process any kind of preprocessors! +- [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model + to use, simply select in process -> visual query +- [AuraSR](https://huggingface.co/fal/AuraSR) high-quality 4x GAN-style upscaling model + note: this is a large upscaler at 2.5GB - enable **Florence VLM** for all platforms, thanks @lshqqytiger! - improve ROCm detection under WSL2, thanks @lshqqytiger! From a806b230c678635bd07638119355f47abe3e8f26 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 9 Jul 2024 15:48:32 -0400 Subject: [PATCH 66/66] update changelog --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dbfe4d4e9..5729e62b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,9 @@ New **fast-install** mode, new **controlnet-union** *all-in-one* model, support ## Update for 2024-07-08 +This release is primary service release with cumulative fixes and several improvements, but no breaking changes. + +**New features...** - massive updates to [Wiki](https://github.com/vladmandic/automatic/wiki) with over 20 new pages and articles, now includes guides for nearly all major features *note*: this is work-in-progress, if you have any feedback or suggestions, please let us know! @@ -44,7 +47,6 @@ New **fast-install** mode, new **controlnet-union** *all-in-one* model, support - support for **DoRA** networks, thanks @AI-Casanova! - support for [uv](https://pypi.org/project/uv/), extremely fast installer, thanks @Yoinky3000! to use, simply add `--uv` to your command line params - - [Xinsir ControlNet++ Union](https://huggingface.co/xinsir/controlnet-union-sdxl-1.0) new SDXL *all-in-one* controlnet that can process any kind of preprocessors! - [CogFlorence 2 Large](https://huggingface.co/thwri/CogFlorence-2-Large-Freeze) VLM model @@ -52,6 +54,7 @@ New **fast-install** mode, new **controlnet-union** *all-in-one* model, support - [AuraSR](https://huggingface.co/fal/AuraSR) high-quality 4x GAN-style upscaling model note: this is a large upscaler at 2.5GB +**And fixes...** - enable **Florence VLM** for all platforms, thanks @lshqqytiger! - improve ROCm detection under WSL2, thanks @lshqqytiger! - add SD3 with FP16 T5 to list of detected models